EnergySysts2017.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "CAFAna/Core/ISyst.h"
4 
5 namespace ana
6 {
7  //----------------------------------------------------------------------
8  /// Absolute fit muon energy scale systematic
9  class MuEScaleSyst2017: public ISyst
10  {
11  public:
13  const std::string& latexName,
14  double scale, double scalemc)
15  : ISyst(shortName, latexName), fScale(scale), fScaleMC(scalemc)
16  {
17  }
18 
19  MuEScaleSyst2017(double scale, double scalemc)
20  : ISyst("AbsMuEScale2017", "Absolute Muon Energy Scale 2017"),
21  fScale(scale), fScaleMC(scalemc)
22  {
23  }
24 
25  void Shift(double sigma, caf::SRProxy* sr, double& weight) const override;
26 
27  private:
28  const double fScale;
29  const double fScaleMC;
30  };
31 
33 
34  //----------------------------------------------------------------------
35  // Relative fit muon energy scale systematic. While this is named 2017, I
36  // have modified it from the 2017 version to use a shift in cm for the muon
37  // catcher rather than a fractional scaling.
38  class RelMuEScaleSyst2017: public ISyst
39  {
40  public:
42  const std::string& latexName,
43  double scale, double shiftmucat)
44  : ISyst(shortName, latexName), fScale(scale), fShiftMuCat(shiftmucat) {}
45 
46  RelMuEScaleSyst2017(double scale, double shiftmucat)
47  : ISyst("RelMuEScale2017", "Rel Muon Energy Scale 2017"),
48  fScale(scale), fShiftMuCat(shiftmucat) {}
49 
50  void Shift(double sigma, caf::SRProxy* sr, double& weight) const override;
51 
52  private:
53  const double fScale;
54  const double fShiftMuCat;
55  };
56 
58 
59  //----------------------------------------------------------------------
60  /// Absolute fit hadronic energy scale systematic
62  {
63  public:
65  const std::string& latexName,
66  double scale)
67  : ISyst(shortName, latexName), fScale(scale)
68  {
69  }
70 
72  : ISyst("AbsHadEScale2017", "Absolute Hadronic Energy Scale 2017"),
73  fScale(scale)
74  {
75  }
76 
77  void Shift(double sigma, caf::SRProxy* sr, double& weight) const override;
78 
79  private:
80  const double fScale;
81  };
82 
84 
85  //----------------------------------------------------------------------
86  /// Relative fit hadronic energy scale systematic
88  {
89  public:
91  const std::string& latexName,
92  double scale)
93  : ISyst(shortName, latexName), fScale(scale)
94  {
95  }
96 
98  : ISyst("RelHadEScale2017", "Relative Hadronic Energy Scale 2017"),
99  fScale(scale)
100  {
101  }
102 
103  void Shift(double sigma, caf::SRProxy* sr, double& weight) const override;
104 
105  private:
106  const double fScale;
107  };
108 
110 }
DirectRelHadEScaleSyst2017(const std::string &shortName, const std::string &latexName, double scale)
Cuts and Vars for the 2020 FD DiF Study.
Definition: vars.h:6
void Shift(double sigma, caf::SRProxy *sr, double &weight) const override
Perform the systematic shift.
const Var weight
Proxy for caf::StandardRecord.
Definition: SRProxy.h:2126
Encapsulate code to systematically shift a caf::SRProxy.
Definition: ISyst.h:14
RelMuEScaleSyst2017(double scale, double shiftmucat)
const MuEScaleSyst2017 kMuEScaleSyst2017(0.0074, 0.0012)
Relative fit hadronic energy scale systematic.
Absolute fit muon energy scale systematic.
Double_t scale
Definition: plot.C:25
const RelMuEScaleSyst2017 kRelMuEScaleSyst2017(0.0045, 10.5)
caf::StandardRecord * sr
const DirectHadEScaleSyst2017 kDirectHadEScaleSyst2017(0.05)
RelMuEScaleSyst2017(const std::string &shortName, const std::string &latexName, double scale, double shiftmucat)
double sigma(TH1F *hist, double percentile)
MuEScaleSyst2017(double scale, double scalemc)
const DirectRelHadEScaleSyst2017 kDirectRelHadEScaleSyst2017(0.05)
DirectHadEScaleSyst2017(const std::string &shortName, const std::string &latexName, double scale)
string shortName
THUMBNAIL BLOCK: We need to make a thumbnail for each.
DirectRelHadEScaleSyst2017(const double scale)
DirectHadEScaleSyst2017(double scale)
Absolute fit hadronic energy scale systematic.
MuEScaleSyst2017(const std::string &shortName, const std::string &latexName, double scale, double scalemc)
enum BeamMode string