Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:13:29

0001 //-*-c++-*-
0002 //-*-TwoSpace.h-*-
0003 //   Written by James Monk and Andrew Pilkington - 20/08/05
0004 
0005 #ifndef TWOSPACE_HH
0006 #define TWOSPACE_HH
0007 
0008 #include "GeneratorInterface/ExhumeInterface/interface/CrossSection.h"
0009 #include "GeneratorInterface/ExhumeInterface/interface/Weight.h"
0010 
0011 namespace Exhume {
0012 
0013   class TwoSpace : public CrossSection, Weight {
0014   public:
0015     TwoSpace(const edm::ParameterSet &);
0016     ~TwoSpace() override;
0017     double SubParameterRange() override;
0018     void MaximiseSubParameters() override;
0019     void SetSubParameters() override;
0020     void SetPartons() override;
0021     void SetMassAtThetaScan(double _M1) {
0022       MassAtThetaScan = _M1;
0023       return;
0024     }
0025     double SubProcess() override = 0;
0026     double SubParameterWeight() override;
0027     void SetThetaMin(const double &);
0028     int GetNumberOfSubParameters();
0029     //allows user to define an amplitude (Msq) and use all our pre defined funcs
0030     //virtual double AmplitudeSq()=0;
0031     virtual void Amp2LIPS() = 0;
0032     virtual void LIPS2Amp() = 0;
0033     double WeightFunc(const double &) override;
0034 
0035   protected:
0036     double CosTheta, Phi;  //lips parameters
0037     double ThetaMin, ThetaMax;
0038     double MaximumSubProcessValue, MaximumSubProcessCosTheta;
0039     double PhiMax, CosThetaMax, CosThetaMin;
0040     double PartonMass;
0041     bool dirty_weighting;
0042     double MassAtThetaScan;
0043     double Fudge;
0044   };
0045 }  // namespace Exhume
0046 
0047 #endif