ThinSliceSystematic.h
Go to the documentation of this file.
1 #ifndef THINSLICESYSTEMATIC_hh
2 #define THINSLICESYSTEMATIC_hh
4 namespace protoana {
6  public:
8  : fType(pset.get<std::string>("Name")),
9  fVal(pset.get<double>("Central")),
10  fCentral(pset.get<double>("Central")),
11  fUpperLimit(pset.get<double>("UpperLimit")),
12  fLowerLimit(pset.get<double>("LowerLimit")),
13  fThrowLimit(pset.get<double>("ThrowLimit")),
14  fThrowLimitUp(pset.get<double>("ThrowLimitUp")),
15  fGenThrowLimit(pset.get<double>("GenThrowLimit")),
16  fGenThrowLimitUp(pset.get<double>("GenThrowLimitUp")),
17  fSigma(pset.get<double>("Sigma", 1.)),
18  fOptions(pset.get<fhicl::ParameterSet>("Options")) {
19  fName = "par_" + fType + "_syst";
20  };
21 
23 
25 
26  const double GetValue() const {
27  return fVal;
28  };
29 
30  const double GetCentral() const {
31  return fCentral;
32  };
33 
34  const double GetUpperLimit() const {
35  return fUpperLimit;
36  };
37 
38  const double GetThrowLimit() const {
39  return fThrowLimit;
40  };
41  const double GetThrowLimitUp() const {
42  return fThrowLimitUp;
43  };
44 
45  const double GetGenThrowLimit() const {
46  return fGenThrowLimit;
47  };
48  const double GetGenThrowLimitUp() const {
49  return fGenThrowLimitUp;
50  };
51 
52  const double GetLowerLimit() const {
53  return fLowerLimit;
54  };
55 
56  const std::string GetName() const {
57  return fName;
58  };
59 
60  void SetValue(double v) {
61  fVal = v;
62  };
63 
64  void SetToNSigma(int n = 1) {
65  SetValue(n*fSigma);
66  }
67 
68  void SetToCentral() {
70  }
71 
72  template <typename T> const T GetOption(std::string name) const {
73  return fOptions.get<T>(name);
74  }
75 
76  private:
77 
79  double fVal;
80  double fCentral;
81  double fUpperLimit;
82  double fLowerLimit;
83  double fThrowLimit;
84  double fThrowLimitUp;
85  double fGenThrowLimit;
87  double fSigma;
88 
90 
92 };
93 }
94 #endif
static QCString name
Definition: declinfo.cpp:673
const double GetValue() const
std::string string
Definition: nybbler.cc:12
const T GetOption(std::string name) const
ThinSliceSystematic(const fhicl::ParameterSet &pset)
STL namespace.
const std::string GetName() const
const double GetGenThrowLimitUp() const
std::void_t< T > n
T get(std::string const &key) const
Definition: ParameterSet.h:271
const double GetUpperLimit() const
const double GetCentral() const
const double GetThrowLimit() const
const double GetLowerLimit() const
const double GetGenThrowLimit() const
auto const & get(AssnsNode< L, R, D > const &r)
Definition: AssnsNode.h:115
const double GetThrowLimitUp() const