fast pQCD calculations for hadron-induced processes
fastNLOCoeffMult.h
1 #ifndef __fastNLOCoeffMult__
2 #define __fastNLOCoeffMult__
3 
4 #include "fastNLOCoeffBase.h"
5 #include "fastNLOConstants.h"
6 
7 
9 
10  friend class fastNLOTable;
11  friend class fastNLOCreate;
12 
13 public:
14  fastNLOCoeffMult() = delete;
15  fastNLOCoeffMult(int NObsBin);
16  explicit fastNLOCoeffMult(const fastNLOCoeffBase&);
17  virtual ~fastNLOCoeffMult(){;};
18  virtual fastNLOCoeffMult* Clone() const;
19  static bool CheckCoeffConstants(const fastNLOCoeffBase* c, bool quiet = false);
20  virtual void Read(std::istream& table);
21  virtual void Write(std::ostream& table, int ITabVersionWrite);
22  virtual void Print(int iprint) const;
23 
24  double GetMultFactor(int iObs) const { return fact[iObs]; }
25  std::vector<double > GetMultFactor() const { return fact; }
26  std::vector<std::string> GetUncDescription() const { return UncDescr; }
27  std::vector<std::string> GetCorDescription() const { return CorDescr; }
28  fastNLO::v2d GetUncorLo() const { return UncorHi; };
29  fastNLO::v2d GetUncorHi() const { return UncorLo; };
30  fastNLO::v2d GetCorrLo() const { return CorrLo; };
31  fastNLO::v2d GetCorrHi() const { return CorrHi; };
32 
33  // Erase observable bin; iObsIdx is the C++ array index to be removed and
34  // not the observable bin no. running from 1 to fNObsBins
35  virtual void EraseBin(unsigned int iObsIdx);
36  virtual void MultiplyBin(unsigned int iObsIdx, double fact);
37  bool IsCatenable(const fastNLOCoeffMult& other) const;
38  // Catenate observable to table
39  virtual void CatBin(const fastNLOCoeffMult& other, unsigned int iObsIdx);
40 
41  // getter/setter
42  int GetNuncorrel() const {return Nuncorrel;}
43  void SetNuncorrel(int n){Nuncorrel = n;}
44  int GetNcorrel() const {return Ncorrel;}
45  void SetNcorrel(int n){Ncorrel = n;}
46 
47 protected:
48  void ReadCoeffMult(std::istream& table);
49  void ReadRest(std::istream& table);
50 
51  int Nuncorrel;
52  std::vector < std::string > UncDescr;
53  int Ncorrel;
54  std::vector < std::string > CorDescr;
55  fastNLO::v2d UncorLo;
56  fastNLO::v2d UncorHi;
57  fastNLO::v2d CorrLo;
58  fastNLO::v2d CorrHi;
59  fastNLO::v1d fact;
60 
61 };
62 
63 #endif
bool IsCatenable(const fastNLOCoeffMult &other) const
Definition: fastNLOCoeffMult.cc:234
virtual void Read(std::istream &table)
_____________________________________________________________________________________________________...
Definition: fastNLOCoeffMult.cc:57
Definition: fastNLOCoeffBase.h:15
Definition: fastNLOCreate.h:22
Definition: fastNLOCoeffMult.h:8
virtual fastNLOCoeffMult * Clone() const
returns &#39;new&#39; copy of this instance.
Definition: fastNLOCoeffMult.cc:50
Definition: fastNLOTable.h:20