GeniePCASyst.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "CAFAna/Core/ISyst.h"
5 #include "CAFAna/Core/Var.h"
6 
7 class TH1D;
8 
9 namespace ana
10 {
11  class GeniePCASyst : public ISyst
12  {
13  public:
15  const std::string& shortname,
16  const std::string& latexname);
17 
18  ~GeniePCASyst();
19 
20  void Shift(double sigma,
22  double& weight) const override;
23 
24  TH1D* getHist(int f,int d,int s, int fl,int p);
25 
26  protected:
28  enum{kND, kFD, kNumDets};
32 
33  void InitializeHistograms() const;
34 
35  double GetWeight(const caf::SRProxy* sr, ESign sign) const;
36 
39 
41 
42  };
43 
44  // GeniePCASyst* GetGeniePrincipals2020(int PCIdx);
46 
49 }
void InitializeHistograms() const
std::string fHistName
Definition: GeniePCASyst.h:38
Cuts and Vars for the 2020 FD DiF Study.
Definition: vars.h:6
const Var weight
GeniePCASyst * GetGeniePrincipals2018(int PCIdx)
const char * p
Definition: xmltok.h:285
Proxy for caf::StandardRecord.
Definition: SRProxy.h:2126
Encapsulate code to systematically shift a caf::SRProxy.
Definition: ISyst.h:14
const XML_Char * s
Definition: expat.h:262
TH1D * fHistos[kNumFluxType][kNumDets][kNumSels][kNumFlavors][kNumSigns]
Definition: GeniePCASyst.h:40
Float_t d
Definition: plot.C:236
caf::StandardRecord * sr
double GetWeight(const caf::SRProxy *sr, ESign sign) const
double sigma(TH1F *hist, double percentile)
GeniePCASyst * GetGeniePrincipals2018Small(int PCIdx)
std::string fFileName
Definition: GeniePCASyst.h:37
GeniePCASyst(const std::string &fname, const std::string &shortname, const std::string &latexname)
void Shift(double sigma, caf::SRProxy *sr, double &weight) const override
Perform the systematic shift.
def sign(x)
Definition: canMan.py:197
TH1D * getHist(int f, int d, int s, int fl, int p)
GeniePCASyst * GetGeniePrincipals2020Small(int PCIdx)
enum BeamMode string