1 #ifndef __fastNLOCoeffAddFlex__ 2 #define __fastNLOCoeffAddFlex__ 4 #include "fastNLOCoeffAddBase.h" 5 #include "fastNLOConstants.h" 20 static bool CheckCoeffConstants(
const fastNLOCoeffBase* c,
bool quiet =
false) ;
21 virtual void Read(std::istream& table);
22 void ReadRest(std::istream& table);
23 virtual void Write(std::ostream& table,
int ITabVersionWrite);
24 virtual void Print(
int iprint)
const;
25 virtual void Add(
const fastNLOCoeffAddBase& other, fastNLO::EMerge moption = fastNLO::kMerge);
32 virtual void MultiplyBin(
unsigned int iObsIdx,
double fact);
33 virtual void MultiplyBinProc(
unsigned int iObsIdx,
unsigned int iProc,
double fact);
34 virtual void EraseBin(
unsigned int iObsIdx);
37 unsigned int GetNScaleNode1(
int iObsBin)
const {
return ScaleNode1[iObsBin].size(); };
38 unsigned int GetNScaleNode2(
int iObsBin)
const {
return ScaleNode2[iObsBin].size(); };
39 double GetScaleNode1(
int iObsBin,
int iNode)
const {
return ScaleNode1[iObsBin][iNode]; };
40 double GetScaleNode2(
int iObsBin,
int iNode)
const {
return ScaleNode2[iObsBin][iNode]; };
41 std::vector < double > GetScaleNodes1(
int iObsBin)
const {
return ScaleNode1[iObsBin]; };
42 std::vector < double > GetScaleNodes2(
int iObsBin)
const {
return ScaleNode2[iObsBin]; };
45 std::vector<fastNLO::v5d*> AccessSigmaTildes() {
46 return {&SigmaTildeMuIndep,&SigmaTildeMuRDep,&SigmaTildeMuFDep,&SigmaTildeMuRRDep,&SigmaTildeMuFFDep,&SigmaTildeMuRFDep};
49 return {&SigmaTildeMuIndep,&SigmaTildeMuRDep,&SigmaTildeMuFDep,&SigmaTildeMuRRDep,&SigmaTildeMuFFDep,&SigmaTildeMuRFDep};
57 int fSTildeDISFormat = 1;
60 fastNLO::v5d SigmaTildeMuIndep;
61 fastNLO::v5d SigmaTildeMuFDep;
62 fastNLO::v5d SigmaTildeMuRDep;
63 fastNLO::v5d SigmaTildeMuRRDep;
64 fastNLO::v5d SigmaTildeMuFFDep;
65 fastNLO::v5d SigmaTildeMuRFDep;
67 fastNLO::v2d SigmaRefMixed;
68 fastNLO::v2d SigmaRef_s1;
69 fastNLO::v2d SigmaRef_s2;
73 fastNLO::v2d ScaleNode1;
74 fastNLO::v2d ScaleNode2;
77 fastNLO::v3d AlphasTwoPi;
78 fastNLO::v5d PdfLcMuVar;
void ReadCoeffAddFlex(std::istream &table)
Get access to sigma tilde.
Definition: fastNLOCoeffAddFlex.cc:65
bool IsCompatible(const fastNLOCoeffAddFlex &other) const
check for compatibilty for adding/merging of two tables
Definition: fastNLOCoeffAddFlex.cc:361
virtual void MultiplyBinProc(unsigned int iObsIdx, unsigned int iProc, double fact)
Multiply coefficients of one bin and subprocess a factor.
Definition: fastNLOCoeffAddFlex.cc:448
virtual void NormalizeCoefficients(double wgt=1)
Set number of events to given wgt and re-normalize coefficients accordingly.
Definition: fastNLOCoeffAddFlex.cc:401
Definition: fastNLOCoeffBase.h:15
bool IsCatenable(const fastNLOCoeffAddFlex &other) const
Check for compatibility of two contributions for merging/adding.
Definition: fastNLOCoeffAddFlex.cc:391
Definition: fastNLOCreate.h:22
std::vector< const fastNLO::v5d * > GetSigmaTildes() const
Get access to sigma tilde.
Definition: fastNLOCoeffAddFlex.h:48
virtual void MultiplyCoefficientsByConstant(double fact)
Multiply all coefficients of all bins by a constant factor.
Definition: fastNLOCoeffAddFlex.cc:432
virtual void CatBin(const fastNLOCoeffAddFlex &other, unsigned int iObsIdx)
Catenate observable to table.
Definition: fastNLOCoeffAddFlex.cc:527
Definition: fastNLOReader.h:17
virtual void Clear()
Clear all coefficients and event counters.
Definition: fastNLOCoeffAddFlex.cc:345
virtual void MultiplyBin(unsigned int iObsIdx, double fact)
Multiply coefficients of one bin a factor (iObsIdx starting with index 0)
Definition: fastNLOCoeffAddFlex.cc:440
Definition: fastNLOCoeffAddFlex.h:8
Definition: fastNLOCoeffAddBase.h:57
virtual void Read(std::istream &table)
_____________________________________________________________________________________________________...
Definition: fastNLOCoeffAddFlex.cc:49
Definition: fastNLOTable.h:20
virtual fastNLOCoeffAddFlex * Clone() const
returns 'new' copy of this instance.
Definition: fastNLOCoeffAddFlex.cc:42
virtual void EraseBin(unsigned int iObsIdx)
Erase observable bin from table.
Definition: fastNLOCoeffAddFlex.cc:509