Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:10:05

0001 #ifndef MCATNLO_Main_CS_Shower_H
0002 #define MCATNLO_Main_CS_Shower_H
0003 
0004 #include "PDF/Main/NLOMC_Base.H"
0005 #include "MCATNLO/Main/CS_Cluster_Definitions.H"
0006 #include "MCATNLO/Showers/Shower.H"
0007 #include "ATOOLS/Phys/Blob_List.H"
0008 
0009 namespace MCATNLO {
0010 
0011   class Splitting_Function_Base;
0012   class CS_Gamma;
0013 
0014   typedef std::map<size_t,std::pair<double,double> > KT2X_Map;
0015 
0016   class CS_MCatNLO : public PDF::NLOMC_Base {
0017   
0018   private:
0019  
0020     PDF::ISR_Handler * p_isr;
0021     size_t m_maxem, m_nem, m_psmode;
0022     double m_maxweight;
0023     
0024     Shower          * p_mcatnlo;
0025     All_Singlets m_allsinglets;
0026     CS_Cluster_Definitions *p_cluster;
0027     CS_Gamma *p_gamma;
0028     All_Singlets *p_next;
0029 
0030     ATOOLS::Mass_Selector     *p_ms;
0031     ATOOLS::Cluster_Amplitude *p_rampl;
0032 
0033     Singlet *TranslateAmplitude(ATOOLS::Cluster_Amplitude *const ampl,
0034                 std::map<ATOOLS::Cluster_Leg*,Parton*> &pmap,
0035                 std::map<Parton*,ATOOLS::Cluster_Leg*> &lmap);
0036 
0037     int PerformMCatNLO(const size_t &maxem,size_t &nem,const double &qfac);
0038 
0039     bool PrepareMCatNLO(ATOOLS::Cluster_Amplitude *const ampl);
0040 
0041     void CleanUp();
0042 
0043   public:
0044 
0045     // constructor 
0046     CS_MCatNLO(PDF::ISR_Handler* const,
0047                MODEL::Model_Base* const);
0048 
0049     // destructor
0050     ~CS_MCatNLO();
0051 
0052     //member functions
0053     int GeneratePoint(ATOOLS::Cluster_Amplitude *const ampl);
0054 
0055     double KT2(const ATOOLS::NLO_subevt &sub,
0056            const double &x,const double &y,const double &Q2);
0057 
0058     void AddRBPoint(ATOOLS::Cluster_Amplitude *const ampl);
0059 
0060     ATOOLS::Cluster_Amplitude *GetRealEmissionAmplitude(const int mode=0);
0061 
0062     inline size_t PSMode() const { return m_psmode; }
0063 
0064   };
0065 
0066 }
0067 
0068 #endif