Prod3Loaders.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "CAFAna/Core/Loaders.h"
4 
5 #include <map>
6 #include <string>
7 
8 namespace ana
9 {
10 
12 
13  class Prod3LoadersBase: public Loaders
14  {
15  protected:
16  // Provide this function to base classes
17  void SetLoaderPaths(const std::string& fdmc_nonswap,
18  const std::string& fdmc_fluxswap,
19  const std::string& fdmc_tauswap = "",
20  const std::string& ndmc = "",
21  const std::string& nddata = "");
22 
23  // Will set prefix_[nonswap|fluxswap|tau]_suffix
25  const std::string& suffix);
26 
27  void SetLoaderNDMCPath(const std::string& ndmc);
28  };
29 
30  /// Provide the data loaders only, base class for other loaders
32  {
33  public:
34  Prod3DataLoaders(ECAFType type, std::string WhichPeriod = "full",
35  std::string WhichNDPeriod = "full", FluxType flux = kFHC);
36  virtual std::string GetSystString() const {return "Data";}
37  };
38 
39  /// For nominal spectra and reweighting systs (xsec/flux)
41  {
42  public:
43  Prod3NomLoaders(ECAFType type, std::string WhichPeriod = "full",
44  std::string WhichNDPeriod = "full", FluxType flux = kFHC);
45  virtual std::string GetSystString() const {return "Nominal";}
46  };
47 
49  {
50  public:
51  /// \a sign should be +1 (scale energies up) or -1 (scale energies down)
52  Prod3AbsCalibLoaders(ECAFType type, int sign, std::string WhichPeriod="full",
53  std::string WhichNDPeriod="full");
54  virtual std::string GetSystString() const {return "Calibration";}
55  };
56 
58  {
59  public:
60  /// +1sigma is light levels up, calibration down. 0 is No shift photon rewriter
61  Prod3LightLevelLoaders(ECAFType type, int sign, std::string WhichPeriod="full",
62  std::string WhichNDPeriod="full");
63  virtual std::string GetSystString() const {return "Lightlevel";}
64  };
65 
67  {
68  public:
69  Prod3CherenkovLoaders(ECAFType type, std::string WhichPeriod="full",
70  std::string WhichNDPeriod="full");
71  virtual std::string GetSystString() const {return "Cherenkov";}
72  };
73 
75  {
76  public:
77  Prod3CalibShapeLoaders(ECAFType type, std::string WhichPeriod="full",
78  std::string WhichNDPeriod="full");
79  virtual std::string GetSystString() const {return "CalibShape";}
80  };
81 
82 
83 
84 } //namespace
virtual std::string GetSystString() const
Definition: Prod3Loaders.h:71
For nominal spectra and reweighting systs (xsec/flux)
Definition: Prod3Loaders.h:40
virtual std::string GetSystString() const
Definition: Prod3Loaders.h:63
Cuts and Vars for the 2020 FD DiF Study.
Definition: vars.h:6
Collection of SpectrumLoaders for many configurations.
Definition: Loaders.h:23
void SetLoaderNDMCPath(const std::string &ndmc)
virtual std::string GetSystString() const
Definition: Prod3Loaders.h:79
Loaders::FluxType flux
const std::string ECAFTypeToString(ECAFType type)
virtual std::string GetSystString() const
Definition: Prod3Loaders.h:45
const XML_Char * prefix
Definition: expat.h:380
virtual std::string GetSystString() const
Definition: Prod3Loaders.h:54
void SetLoaderPaths(const std::string &fdmc_nonswap, const std::string &fdmc_fluxswap, const std::string &fdmc_tauswap="", const std::string &ndmc="", const std::string &nddata="")
Definition: Prod3Loaders.cxx:8
Provide the data loaders only, base class for other loaders.
Definition: Prod3Loaders.h:31
void SetLoaderFDMCPaths(const std::string &prefix, const std::string &suffix)
virtual std::string GetSystString() const
Definition: Prod3Loaders.h:36
def sign(x)
Definition: canMan.py:197
ECAFType
Definition: Loaders.h:19
enum BeamMode string