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