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