Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef Analysis_Observables_Scaled_Observables_H
0002 #define Analysis_Observables_Scaled_Observables_H
0003 
0004 #include "AddOns/Analysis/Observables/Primitive_Observable_Base.H"
0005 
0006 namespace ANALYSIS {
0007   class Scaled_Observable_Base : public Primitive_Observable_Base {  
0008   protected:
0009     double m_ecms;
0010     void virtual Evaluate(const ATOOLS::Vec4D & mom, double weight, double ncount) = 0; 
0011     void virtual Evaluate(double value, double weight, double ncount); 
0012   public:
0013     Scaled_Observable_Base(int type, double xmin, double xmax, int nbins, 
0014                const std::string & listname,
0015                const std::string & name, double ecms);
0016     void virtual Evaluate(int nout, const ATOOLS::Vec4D * moms,
0017               double weight, double ncount);
0018     void virtual Evaluate(const ATOOLS::Particle_List & plist, 
0019               double weight, double ncount);
0020   };
0021 
0022   class Scaled_Momentum : public Scaled_Observable_Base {  
0023     void Evaluate(const ATOOLS::Vec4D & mom, double weight, double ncount); 
0024   public:
0025     Scaled_Momentum(int type,double xmin,double xmax,int nbins,
0026             const std::string & listname, double ecms);
0027     Primitive_Observable_Base * Copy() const;
0028   };
0029 
0030   class Log_Scaled_Momentum : public Scaled_Observable_Base {  
0031     void Evaluate(const ATOOLS::Vec4D & mom, double weight, double ncount); 
0032   public:
0033     Log_Scaled_Momentum(int type,double xmin,double xmax,int nbins,
0034             const std::string & listname, double ecms);
0035     Primitive_Observable_Base * Copy() const;
0036   };
0037 
0038   class Scaled_Energy : public Scaled_Observable_Base {  
0039     void Evaluate(const ATOOLS::Vec4D & mom, double weight, double ncount); 
0040   public:
0041     Scaled_Energy(int type,double xmin,double xmax,int nbins,
0042           const std::string & listname, double ecms);
0043     Primitive_Observable_Base * Copy() const;
0044   };
0045 
0046  class EtaTracks : public Scaled_Observable_Base {  
0047     void Evaluate(const ATOOLS::Vec4D & mom, double weight, double ncount); 
0048   public:
0049     EtaTracks(int type,double xmin,double xmax,int nbins,
0050           const std::string & listname, double ecms);
0051     Primitive_Observable_Base * Copy() const;
0052   };
0053 
0054  class EtaTracksAsym : public Scaled_Observable_Base {  
0055     void Evaluate(const ATOOLS::Vec4D & mom, double weight, double ncount); 
0056   public:
0057     EtaTracksAsym(int type,double xmin,double xmax,int nbins,
0058           const std::string & listname, double ecms);
0059     Primitive_Observable_Base * Copy() const;
0060   };
0061 
0062 }
0063 
0064 #endif