File indexing completed on 2025-04-19 09:09:42
0001 #ifndef Analysis_Observables_Six_Particle_Observables_H
0002 #define Analysis_Observables_Six_Particle_Observables_H
0003
0004 #include "AddOns/Analysis/Observables/Primitive_Observable_Base.H"
0005
0006 namespace ANALYSIS {
0007
0008 class Six_Particle_Observable_Base : public Primitive_Observable_Base {
0009 protected:
0010 bool f_special;
0011 std::vector<ATOOLS::Flavour> m_flavs;
0012 void virtual Evaluate(const ATOOLS::Vec4D &, const ATOOLS::Vec4D &,
0013 const ATOOLS::Vec4D &, const ATOOLS::Vec4D &,
0014 const ATOOLS::Vec4D &, const ATOOLS::Vec4D &,
0015 double=1.,double=1.) = 0;
0016 void virtual Evaluate(double,double=1.,double=1.);
0017 public:
0018 Six_Particle_Observable_Base(const std::vector<ATOOLS::Flavour> &,
0019 int,double,double,int,
0020 const std::string& listname,
0021 const std::string& name);
0022 void virtual Evaluate(int,const ATOOLS::Vec4D *,
0023 const ATOOLS::Flavour *,double=1.,double=1.);
0024 void virtual Evaluate(const ATOOLS::Particle_List &,
0025 double=1.,double=1.);
0026 };
0027
0028
0029
0030 class Six_Particle_PT : public Six_Particle_Observable_Base {
0031 void Evaluate(const ATOOLS::Vec4D &, const ATOOLS::Vec4D &,
0032 const ATOOLS::Vec4D &, const ATOOLS::Vec4D &,
0033 const ATOOLS::Vec4D &, const ATOOLS::Vec4D &,
0034 double=1.,double=1.);
0035 public:
0036 Six_Particle_PT(const std::vector<ATOOLS::Flavour>&,
0037 int,double,double,int,
0038 const std::string& listname);
0039 Primitive_Observable_Base* Copy() const;
0040 };
0041
0042 class Six_Particle_ET : public Six_Particle_Observable_Base {
0043 void Evaluate(const ATOOLS::Vec4D &, const ATOOLS::Vec4D &,
0044 const ATOOLS::Vec4D &, const ATOOLS::Vec4D &,
0045 const ATOOLS::Vec4D &, const ATOOLS::Vec4D &,
0046 double=1.,double=1.);
0047 public:
0048 Six_Particle_ET(const std::vector<ATOOLS::Flavour>&,
0049 int,double,double,int,
0050 const std::string& listname);
0051 Primitive_Observable_Base* Copy() const;
0052 };
0053
0054 class Six_Particle_Mass : public Six_Particle_Observable_Base {
0055 void Evaluate(const ATOOLS::Vec4D &, const ATOOLS::Vec4D &,
0056 const ATOOLS::Vec4D &, const ATOOLS::Vec4D &,
0057 const ATOOLS::Vec4D &, const ATOOLS::Vec4D &,
0058 double=1.,double=1.);
0059 public:
0060 Six_Particle_Mass(const std::vector<ATOOLS::Flavour>&,
0061 int,double,double,int,
0062 const std::string& listname);
0063 Primitive_Observable_Base* Copy() const;
0064 };
0065
0066 class Two_Partontriplett_DeltaPhi : public Six_Particle_Observable_Base {
0067 void Evaluate(const ATOOLS::Vec4D&, const ATOOLS::Vec4D&,
0068 const ATOOLS::Vec4D&, const ATOOLS::Vec4D&,
0069 const ATOOLS::Vec4D&, const ATOOLS::Vec4D&,
0070 double=1.,double=1.);
0071 public:
0072 Two_Partontriplett_DeltaPhi(const std::vector<ATOOLS::Flavour>&,
0073 int, double, double, int,
0074 const std::string& listname);
0075 Primitive_Observable_Base* Copy() const;
0076 };
0077
0078 class Two_Partontriplett_DeltaEta : public Six_Particle_Observable_Base {
0079 void Evaluate(const ATOOLS::Vec4D&, const ATOOLS::Vec4D&,
0080 const ATOOLS::Vec4D&, const ATOOLS::Vec4D&,
0081 const ATOOLS::Vec4D&, const ATOOLS::Vec4D&,
0082 double=1.,double=1.);
0083 public:
0084 Two_Partontriplett_DeltaEta(const std::vector<ATOOLS::Flavour>&,
0085 int, double, double, int,
0086 const std::string& listname);
0087 Primitive_Observable_Base* Copy() const;
0088 };
0089
0090 class Two_Partontriplett_DR : public Six_Particle_Observable_Base {
0091 void Evaluate(const ATOOLS::Vec4D&, const ATOOLS::Vec4D&,
0092 const ATOOLS::Vec4D&, const ATOOLS::Vec4D&,
0093 const ATOOLS::Vec4D&, const ATOOLS::Vec4D&,
0094 double=1.,double=1.);
0095 public:
0096 Two_Partontriplett_DR(const std::vector<ATOOLS::Flavour>&,
0097 int, double, double, int,
0098 const std::string& listname);
0099 Primitive_Observable_Base* Copy() const;
0100 };
0101
0102
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114
0115
0116
0117
0118
0119
0120
0121
0122
0123
0124
0125
0126
0127
0128
0129
0130
0131
0132
0133
0134
0135
0136
0137
0138
0139 }
0140
0141 #endif