Back to home page

EIC code displayed by LXR

 
 

    


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 } // namespace ANALYSIS
0106 #endif