Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:09:42

0001 #ifndef ATOOLS_Phys_Durham_Algorithm_H
0002 #define ATOOLS_Phys_Durham_Algorithm_H
0003 
0004 #include "ATOOLS/Math/Vector.H"
0005 #include "ATOOLS/Phys/Particle_List.H"
0006 #include "AddOns/Analysis/Triggers/Kt_Algorithm.H"
0007 #include <vector>
0008 
0009 namespace ANALYSIS {
0010 
0011   class Durham_Algorithm : public Jet_Algorithm_Base {
0012     int    m_mode;
0013     int    m_durhamscheme;
0014     double m_ycut;//, m_r2min;
0015     double m_sprime;
0016 
0017     int    m_matrixsize;
0018     double ** p_yij;
0019     int    *  p_imap;
0020     int    m_vectorsize;
0021     Vec4D  *  p_moms;
0022     int    *  p_bflag;
0023 
0024     Particle_List       * p_jets;
0025     std::vector<double> * p_kts;
0026 
0027     double Y12(const Vec4D &,const Vec4D &) const;
0028     double DCos12(const Vec4D &,const Vec4D &) const;
0029 
0030     void AddToKtlist(double );
0031     void AddToJetlist(const Vec4D &, int);
0032   public:
0033     static double Kt2(const Vec4D & p);    
0034 
0035     Durham_Algorithm(ATOOLS::Particle_Qualifier_Base * const qualifier);
0036     ~Durham_Algorithm();
0037 
0038     void   Init(int);
0039     void   InitMoms(int);
0040     bool   ConstructJets(const Particle_List * ,Particle_List * ,std::vector<double> * ,double);
0041 
0042     void   Ymin(Vec4D *,int *,int);
0043   };
0044 
0045   inline double Durham_Algorithm::Kt2(const Vec4D & p)
0046   {
0047     return sqr(p[1])+sqr(p[2]);
0048   }
0049 
0050 
0051 
0052 }
0053 
0054 #endif
0055 
0056 
0057 
0058 
0059 
0060 
0061 
0062