File indexing completed on 2025-04-19 09:09:41
0001 #ifndef Analysis_Observables_Jet_Mass_and_Broadening_H
0002 #define Analysis_Observables_Jet_Mass_and_Broadening_H
0003
0004 #include "AddOns/Analysis/Observables/Primitive_Observable_Base.H"
0005 #include "AddOns/Analysis/Observables/Momentum_Tensor.H"
0006
0007 namespace ANALYSIS {
0008
0009 struct JetMass_Broadening_Data {
0010 friend std::ostream& operator<<( std::ostream&, const JetMass_Broadening_Data &);
0011 double heavyjetmass, lightjetmass;
0012 double widejetbroadening, narrowjetbroadening;
0013 JetMass_Broadening_Data(double mh, double ml,
0014 double bw, double bn);
0015 };
0016
0017
0018 class JetMass_Broadening_Calculator : public Analysis_Object {
0019 std::string m_inkey, m_listname;
0020 std::string m_outkey;
0021 public:
0022 JetMass_Broadening_Calculator(const std::string & listname);
0023 void Evaluate(const ATOOLS::Blob_List & ,double weight, double ncount);
0024 Analysis_Object * GetCopy() const;
0025 };
0026
0027 class Heavy_Jet_Mass : public Primitive_Observable_Base {
0028 std::string m_key;
0029 public:
0030 Heavy_Jet_Mass(int type, double xmin, double xmax, int nbin, std::string listname);
0031 void Evaluate(const ATOOLS::Blob_List & ,double weight, double ncount);
0032 Primitive_Observable_Base * Copy() const;
0033 };
0034
0035 class Light_Jet_Mass : public Primitive_Observable_Base {
0036 std::string m_key;
0037 public:
0038 Light_Jet_Mass(int type, double xmin, double xmax, int nbin, std::string listname);
0039 void Evaluate(const ATOOLS::Blob_List & ,double weight, double ncount);
0040 Primitive_Observable_Base * Copy() const;
0041 };
0042
0043 class Jet_Mass_Difference : public Primitive_Observable_Base {
0044 std::string m_key;
0045 public:
0046 Jet_Mass_Difference(int type, double xmin, double xmax, int nbin, std::string listname);
0047 void Evaluate(const ATOOLS::Blob_List & ,double weight, double ncount);
0048 Primitive_Observable_Base * Copy() const;
0049 };
0050
0051 class Single_Inclusive_Jet_Mass : public Primitive_Observable_Base {
0052 std::string m_key;
0053 public:
0054 Single_Inclusive_Jet_Mass(int type, double xmin, double xmax, int nbin, std::string listname);
0055 void Evaluate(const ATOOLS::Blob_List & ,double weight, double ncount);
0056 Primitive_Observable_Base * Copy() const;
0057 };
0058
0059 class Wide_Jet_Broadening : public Primitive_Observable_Base {
0060 std::string m_key;
0061 public:
0062 Wide_Jet_Broadening(int type, double xmin, double xmax, int nbin, std::string listname);
0063 void Evaluate(const ATOOLS::Blob_List & ,double weight, double ncount);
0064 Primitive_Observable_Base * Copy() const;
0065 };
0066
0067 class Narrow_Jet_Broadening : public Primitive_Observable_Base {
0068 std::string m_key;
0069 public:
0070 Narrow_Jet_Broadening(int type, double xmin, double xmax, int nbin, std::string listname);
0071 void Evaluate(const ATOOLS::Blob_List & ,double weight, double ncount);
0072 Primitive_Observable_Base * Copy() const;
0073 };
0074
0075 class Total_Jet_Broadening : public Primitive_Observable_Base {
0076 std::string m_key;
0077 public:
0078 Total_Jet_Broadening(int type, double xmin, double xmax, int nbin, std::string listname);
0079 void Evaluate(const ATOOLS::Blob_List & ,double weight, double ncount);
0080 Primitive_Observable_Base * Copy() const;
0081 };
0082
0083 class Jet_Broadening_Difference : public Primitive_Observable_Base {
0084 std::string m_key;
0085 public:
0086 Jet_Broadening_Difference(int type, double xmin, double xmax, int nbin, std::string listname);
0087 void Evaluate(const ATOOLS::Blob_List & ,double weight, double ncount);
0088 Primitive_Observable_Base * Copy() const;
0089 };
0090
0091 class Single_Inclusive_Jet_Broadening : public Primitive_Observable_Base {
0092 std::string m_key;
0093 public:
0094 Single_Inclusive_Jet_Broadening(int type, double xmin, double xmax, int nbin, std::string listname);
0095 void Evaluate(const ATOOLS::Blob_List & ,double weight, double ncount);
0096 Primitive_Observable_Base * Copy() const;
0097 };
0098
0099 inline JetMass_Broadening_Data::JetMass_Broadening_Data(double mh, double ml,
0100 double bw, double bn)
0101 : heavyjetmass(mh), lightjetmass(ml), widejetbroadening(bw), narrowjetbroadening(bn)
0102 {
0103 }
0104
0105 }
0106 #endif