File indexing completed on 2025-04-19 09:09:41
0001 #ifndef Analysis_Observables_CD_Parameters_H
0002 #define Analysis_Observables_CD_Parameters_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 CD_Parameter_Data {
0010 friend std::ostream& operator<<( std::ostream&, const CD_Parameter_Data &);
0011 double cparameter, dparameter;
0012 CD_Parameter_Data(double cpara,double dpara);
0013 };
0014
0015
0016 class CD_Parameter_Calculator : public Analysis_Object {
0017 Momentum_Tensor m_tensor;
0018 std::string m_key, m_listname;
0019 public:
0020 CD_Parameter_Calculator(const std::string & listname);
0021 void Evaluate(const ATOOLS::Blob_List & ,double weight, double ncount);
0022 void EvaluateNLOcontrib(double value, double ncount);
0023 void EvaluateNLOevt();
0024 Analysis_Object * GetCopy() const;
0025 };
0026
0027 class C_Parameter : public Primitive_Observable_Base {
0028 std::string m_key;
0029 public:
0030 C_Parameter(int type, double xmin, double xmax, int nbin, std::string listname);
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 D_Parameter : public Primitive_Observable_Base {
0038 std::string m_key;
0039 public:
0040 D_Parameter(int type, double xmin, double xmax, int nbin, std::string listname);
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
0048 inline CD_Parameter_Data::CD_Parameter_Data(double cpara,double dpara)
0049 : cparameter(cpara), dparameter(dpara)
0050 {
0051 }
0052
0053 }
0054 #endif