Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef SHRiMPS_Soft_Jet_Criterion_H
0002 #define SHRiMPS_Soft_Jet_Criterion_H
0003 
0004 #include "PHASIC++/Selectors/Jet_Finder.H"
0005 #include "PDF/Main/Jet_Criterion.H"
0006 #include <map>
0007 
0008 namespace SHRIMPS {
0009   class Soft_Jet_Criterion : public PDF::Jet_Criterion {
0010     ATOOLS::Cluster_Amplitude * p_refampl;
0011     ATOOLS::ClusterLeg_Vector   m_reflegs; 
0012     std::map<ATOOLS::Cluster_Leg *,double> m_kt2veto;
0013 
0014     size_t m_orig;
0015     double m_pt2;
0016     
0017     size_t FindCombination(ATOOLS::Cluster_Amplitude *ampl);
0018     double PTij2(ATOOLS::Vec4D pi,ATOOLS::Vec4D pj);
0019   public:
0020     Soft_Jet_Criterion(): p_refampl(NULL) {}
0021     ~Soft_Jet_Criterion() {}
0022 
0023     inline void SetClusterAmplitude(ATOOLS::Cluster_Amplitude * ampl) {
0024       p_refampl = ampl;
0025       m_reflegs = p_refampl->Legs();
0026     } 
0027     inline void Reset() {
0028       m_kt2veto.clear();
0029       m_reflegs.clear();
0030       p_refampl = NULL;
0031     }
0032     inline void SetKT2Veto(ATOOLS::Cluster_Leg * leg,double kt2veto) {
0033       m_kt2veto[leg] = kt2veto;
0034     }
0035 
0036     double Value(ATOOLS::Cluster_Amplitude *ampl,int mode=0);
0037     void Output();
0038   };
0039 
0040 
0041   class JF : public PHASIC::Jet_Finder {
0042   private:
0043     double m_ycut;
0044   public:
0045     JF();
0046     ~JF() {}
0047 
0048     double Ycut()             { return m_ycut; }
0049     void   SetJetCriterion(PDF::Jet_Criterion * jc) { p_jc = jc; }
0050   };
0051 }
0052 
0053 #endif