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;
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