Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef Analysis_Observables_Shape_Observables_EE_H
0002 #define Analysis_Observables_Shape_Observables_EE_H
0003 
0004 #include "AddOns/Analysis/Observables/Event_Shapes_EE.H"
0005 #include "AddOns/Analysis/Observables/Primitive_Observable_Base.H"
0006 #include "ATOOLS/Math/Vector.H"
0007 #include "ATOOLS/Math/Matrix.H"
0008 
0009 namespace ANALYSIS {
0010   class Event_Shapes_Observable_Base : public Primitive_Observable_Base {  
0011   protected:
0012     std::string m_key;
0013   public:
0014     Event_Shapes_Observable_Base(int,double,double,int,const std::string & ="");
0015   };
0016 
0017   class Thrust : public Event_Shapes_Observable_Base {
0018   public:
0019     Thrust(int type, double xmin, double xmax, int nbin, 
0020           const std::string & listname, const std::string & name ="Thrust");
0021     void Evaluate(const ATOOLS::Blob_List & ,double weight, double ncount);
0022     void EvaluateNLOcontrib(double weight, double ncount);
0023     void EvaluateNLOevt();
0024     Primitive_Observable_Base * Copy() const;
0025   };
0026 
0027   class Major : public Event_Shapes_Observable_Base {
0028   public:
0029     Major(int type, double xmin, double xmax, int nbin, 
0030           const std::string & listname, const std::string & name ="Major");
0031     void Evaluate(const ATOOLS::Blob_List & ,double weight, double ncount);
0032     void EvaluateNLOcontrib(double weight, double ncount);
0033     void EvaluateNLOevt();
0034     Primitive_Observable_Base * Copy() const;
0035   };
0036 
0037   class Minor : public Event_Shapes_Observable_Base {
0038   public:
0039     Minor(int type, double xmin, double xmax, int nbin, 
0040           const std::string & listname, const std::string & name ="Minor");
0041     void Evaluate(const ATOOLS::Blob_List & ,double weight, double ncount);
0042     void EvaluateNLOcontrib(double weight, double ncount);
0043     void EvaluateNLOevt();
0044     Primitive_Observable_Base * Copy() const;
0045   };
0046 
0047   class Oblateness : public Event_Shapes_Observable_Base {
0048   public:
0049     Oblateness(int type, double xmin, double xmax, int nbin, 
0050           const std::string & listname, const std::string & name ="Oblateness");
0051     void Evaluate(const ATOOLS::Blob_List & ,double weight, double ncount);
0052     void EvaluateNLOcontrib(double weight, double ncount);
0053     void EvaluateNLOevt();
0054     Primitive_Observable_Base * Copy() const;
0055   };
0056 
0057   class PT_In_Thrust : public Event_Shapes_Observable_Base {
0058   protected:
0059     void Evaluate(const ATOOLS::Particle_List & pl,double weight,double ncount);
0060   public:
0061     void EvaluateNLOcontrib(double weight, double ncount);
0062     void EvaluateNLOevt();
0063     PT_In_Thrust(int type, double xmin, double xmax, int nbin, 
0064           const std::string & listname, const std::string & name ="PT_In_Thrust");
0065     Primitive_Observable_Base * Copy() const;
0066   };
0067 
0068   class PT_Out_Thrust : public Event_Shapes_Observable_Base {
0069   protected:
0070     void Evaluate(const ATOOLS::Particle_List & pl,double weight,double ncount);
0071   public:
0072     void EvaluateNLOcontrib(double weight, double ncount);
0073     void EvaluateNLOevt();
0074     PT_Out_Thrust(int type, double xmin, double xmax, int nbin, 
0075           const std::string & listname, const std::string & name ="PT_Out_Thrust");
0076     Primitive_Observable_Base * Copy() const;
0077   };
0078 
0079   class Eta_Thrust : public Event_Shapes_Observable_Base {
0080   public:
0081     Eta_Thrust(int type, double xmin, double xmax, int nbin, 
0082           const std::string & listname, const std::string & name ="EtaThrust");
0083     void Evaluate(const ATOOLS::Blob_List & ,double weight, double ncount);
0084     Primitive_Observable_Base * Copy() const;
0085   };
0086 
0087 }
0088 
0089 #endif