Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef Analysis_Observables_Jet_Cone_Distribution_H
0002 #define Analysis_Observables_Jet_Cone_Distribution_H
0003 
0004 #include "AddOns/Analysis/Observables/Primitive_Observable_Base.H"
0005 #include "AddOns/Analysis/Triggers/Primitive_Calorimeter.H"
0006 #include "AddOns/Analysis/Triggers/Calorimeter_Cone.H"
0007 #include "ATOOLS/Math/Histogram.H"
0008 
0009 namespace ANALYSIS {
0010   class Primitive_Analysis;
0011 
0012   class Jet_Cone_Distribution : public Primitive_Observable_Base {
0013     double                           m_Etcut;
0014     double m_etamin, m_etamax;
0015     std::vector<Calorimeter_Cone *>  m_cones;
0016     std::vector<ATOOLS::Histogram *> m_histos;
0017 
0018     void   Fill(double weight=1.,double ncount=1);
0019   public:
0020     Jet_Cone_Distribution(const int linlog, const double Etcut, 
0021               const double etamin, const double etamax,  
0022               const double Rmin, const double Rmax, const int bins, 
0023               Primitive_Analysis * const ana=0);
0024     ~Jet_Cone_Distribution();
0025     Primitive_Observable_Base * Copy() const ;
0026     void   Reset();
0027     void   Output(const std::string & pname);
0028     void   EndEvaluation(double scale=1.0);
0029     void   Restore(double scale=1.0);
0030 
0031     void   Evaluate(const ATOOLS::Particle_List &,double=1., double=1.0);
0032     void   Evaluate(const ATOOLS::Blob_List & blobs,double value=1., double=1.0);
0033   };
0034 
0035   inline void Jet_Cone_Distribution::Evaluate(const ATOOLS::Particle_List &,
0036                           double weight, double ncount) { Fill(weight,ncount); }
0037   inline void Jet_Cone_Distribution::Evaluate(const ATOOLS::Blob_List &,
0038                           double weight, double ncount) { Fill(weight,ncount); }
0039 
0040 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0041 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0042 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0043 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0044 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0045 
0046   class Jet_Cone_Dependence : public Primitive_Observable_Base {
0047     double                           m_Etcut;
0048     double                           m_etamin, m_etamax;
0049     int                              m_njetmin,m_njetmax;
0050     std::vector<Calorimeter_Cone *>  m_cones;
0051     std::vector<ATOOLS::Histogram *> m_histos;
0052 
0053     void   Fill(double weight=1.,double ncount=1);
0054   public:
0055     Jet_Cone_Dependence(const int linlog, const double Etcut, 
0056             const double etamin, const double etamax,  
0057             const double Rmin, const double Rmax, 
0058             const int njetmin, const int njetmax, 
0059             const int bins, 
0060             Primitive_Analysis * const);
0061     ~Jet_Cone_Dependence();
0062     Primitive_Observable_Base * Copy() const ;
0063     void   Reset();
0064     void   Output(const std::string & pname);
0065     void   EndEvaluation(double scale=1.0);
0066     void   Restore(double scale=1.0);
0067 
0068     void   Evaluate(const ATOOLS::Particle_List &,double=1., double=1.0);
0069     void   Evaluate(const ATOOLS::Blob_List & blobs,double value=1., double=1.0);
0070   };
0071 
0072   inline void Jet_Cone_Dependence::Evaluate(const ATOOLS::Particle_List &,
0073                         double weight, double ncount) { Fill(weight,ncount); }
0074   inline void Jet_Cone_Dependence::Evaluate(const ATOOLS::Blob_List &,
0075                         double weight, double ncount) { Fill(weight,ncount); }
0076 
0077 
0078 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0079 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0080 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0081 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0082 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0083 
0084   class Jet_Cone_Shape : public Primitive_Observable_Base {
0085     double                           m_Etcut, m_R;
0086     double                           m_etamin, m_etamax;
0087     int  m_jetmin, m_jetmax;
0088     Calorimeter_Cone               * p_cone;
0089     std::vector<ATOOLS::Histogram *> m_histos;
0090     void Fill(int jetno,double weight=1.,double ncount=1);
0091     void Fill(double weight=1.,double ncount=1);
0092   public:
0093     Jet_Cone_Shape(const int type,const double Etcut, const double radius, 
0094            const double etamin, const double etamax,
0095            const double Rmin, const double Rmax,
0096            const int nbins, const int jetmin, const int jetmax, 
0097            Primitive_Analysis *);
0098     ~Jet_Cone_Shape();
0099     Primitive_Observable_Base * Copy() const ;
0100     void   Reset();
0101     void   Output(const std::string & pname);
0102     void   EndEvaluation(double scale=1.0);
0103     void   Restore(double scale=1.0);
0104 
0105     void   Evaluate(const ATOOLS::Particle_List &,double=1., double=1.0);
0106     void   Evaluate(const ATOOLS::Blob_List & blobs,double value=1., double=1.0);
0107   };
0108   inline void Jet_Cone_Shape::Evaluate(const ATOOLS::Particle_List &,
0109                        double weight, double ncount) { Fill(weight,ncount); }
0110   inline void Jet_Cone_Shape::Evaluate(const ATOOLS::Blob_List &,
0111                        double weight, double ncount) { Fill(weight,ncount); }
0112 }
0113 
0114 #endif