CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/GeneratorInterface/ExhumeInterface/interface/TwoSpace.h

Go to the documentation of this file.
00001 //-*-c++-*-
00002 //-*-TwoSpace.h-*-
00003 //   Written by James Monk and Andrew Pilkington - 20/08/05
00004 
00005 #ifndef TWOSPACE_HH
00006 #define TWOSPACE_HH
00007 
00008 #include "GeneratorInterface/ExhumeInterface/interface/CrossSection.h"
00009 #include "GeneratorInterface/ExhumeInterface/interface/Weight.h"
00010 
00011 namespace Exhume{
00012 
00013   class TwoSpace : public CrossSection,Weight{
00014 
00015   public:
00016     TwoSpace(const edm::ParameterSet&);
00017     ~TwoSpace();
00018     double SubParameterRange();
00019     void MaximiseSubParameters();
00020     void SetSubParameters();
00021     void SetPartons();
00022     void SetMassAtThetaScan(double _M1){
00023       MassAtThetaScan=_M1;
00024       return;
00025     }
00026     virtual double SubProcess()=0;
00027     double SubParameterWeight();
00028     void SetThetaMin(const double &);
00029     int GetNumberOfSubParameters();
00030     //allows user to define an amplitude (Msq) and use all our pre defined funcs
00031     //virtual double AmplitudeSq()=0;
00032     virtual void Amp2LIPS()=0;
00033     virtual void LIPS2Amp()=0;
00034     double WeightFunc(const double&);
00035 
00036     
00037     
00038 
00039   protected:
00040 
00041     
00042     double CosTheta,Phi;//lips parameters
00043     double ThetaMin,ThetaMax;
00044     double MaximumSubProcessValue,MaximumSubProcessCosTheta;
00045     double PhiMax,CosThetaMax,CosThetaMin; 
00046     double PartonMass;
00047     bool dirty_weighting;
00048     double MassAtThetaScan;
00049     double Fudge;
00050 
00051     
00052 
00053 
00054   };
00055 }
00056 
00057 #endif