Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
ana::ModularExtrap Class Reference

Extrapolate each component using a separate ModularExtrapComponent. More...

#include "/cvmfs/nova-development.opensciencegrid.org/novasoft/releases/N20-11-28/CAFAna/Extrap/ModularExtrap.h"

Inheritance diagram for ana::ModularExtrap:
ana::IExtrap ana::ModularExtrapSterile ana::NueBkgdOnlyExtrap ana::NueExtrap ana::NueRHCExtrap ana::NueSignalOnlyExtrap ana::NumuExtrap ana::NueFluxExtrap

Public Member Functions

 ModularExtrap (const ModularExtrap &)=delete
 
ModularExtrapoperator= (const ModularExtrap &)=delete
 
 ModularExtrap (ModularExtrap &&)=default
 
ModularExtrapoperator= (ModularExtrap &&)=default
 
virtual ~ModularExtrap ()=default
 
void SaveTo (TDirectory *dir, const std::string &name) const override
 
void SavePlotsNue (TDirectory *dir, double potFD) const
 
void SavePlotsNueRHC (TDirectory *dir, double potFD) const
 
void SavePlotsNumu (TDirectory *dir, double potFD) const
 
OscillatableSpectrum NueSurvComponent () override
 Charged current electron neutrino survival ( $\nu_e\to\nu_e$) More...
 
OscillatableSpectrum AntiNueSurvComponent () override
 Charged current electron antineutrino survival ( $\bar\nu_e\to\bar\nu_e$) More...
 
OscillatableSpectrum NumuSurvComponent () override
 Charged current muon neutrino survival ( $\nu_\mu\to\nu_\mu$) More...
 
OscillatableSpectrum AntiNumuSurvComponent () override
 Charged current muon antineutrino survival ( $\bar\nu_\mu\to\bar\nu_\mu$) More...
 
OscillatableSpectrum NueAppComponent () override
 Charged current electron neutrino appearance ( $\nu_\mu\to\nu_e$) More...
 
OscillatableSpectrum AntiNueAppComponent () override
 Charged current electron antineutrino appearance ( $\bar\nu_\mu\to\bar\nu_e$) More...
 
OscillatableSpectrum NumuAppComponent () override
 Charged current muon neutrino appearance ( $\nu_e\to\nu_\mu$) More...
 
OscillatableSpectrum AntiNumuAppComponent () override
 Charged current muon antineutrino appearance ( $\bar\nu_e\to\bar\nu_\mu$) More...
 
OscillatableSpectrum TauFromMuComponent () override
 Charged current tau neutrino appearance from muon neutrino ( $\nu_\mu\to\nu_\tau$) More...
 
OscillatableSpectrum AntiTauFromMuComponent () override
 Charged current tau antineutrino appearance from muon antineutrino ( $\bar\nu_\mu\to\bar\nu_\tau$) More...
 
OscillatableSpectrum TauFromEComponent () override
 Charged current tau neutrino appearance from electron neutrino ( $\nu_e\to\nu_\tau$) More...
 
OscillatableSpectrum AntiTauFromEComponent () override
 Charged current tau antineutrino appearance from electron antineutrino ( $\bar\nu_e\to\bar\nu_\tau$) More...
 
Spectrum NCTotalComponent () override
 Neutral currents. More...
 
Spectrum NCComponent () override
 
Spectrum NCAntiComponent () override
 
std::vector< ModularExtrapComponent * > GetModExtrapComponents () const
 

Static Public Member Functions

static std::unique_ptr< ModularExtrapLoadFrom (TDirectory *dir, const std::string &name)
 

Protected Member Functions

 ModularExtrap (SpectrumLoaderBase &farMCswapLoader, SpectrumLoaderBase &farMCnonswapLoader, SpectrumLoaderBase &farMCtauswapLoader, const HistAxis &axis, const Cut &fdcut, const SystShifts &shiftMC, const Var &weight)
 

Protected Attributes

std::unique_ptr< ModularExtrapComponentfEEextrap
 
std::unique_ptr< ModularExtrapComponentfEEAntiextrap
 
std::unique_ptr< ModularExtrapComponentfMMextrap
 
std::unique_ptr< ModularExtrapComponentfMMAntiextrap
 
std::unique_ptr< ModularExtrapComponentfMEextrap
 
std::unique_ptr< ModularExtrapComponentfMEAntiextrap
 
std::unique_ptr< ModularExtrapComponentfEMextrap
 
std::unique_ptr< ModularExtrapComponentfEMAntiextrap
 
std::unique_ptr< ModularExtrapComponentfNCTotalextrap
 
std::unique_ptr< ModularExtrapComponentfNCextrap
 
std::unique_ptr< ModularExtrapComponentfNCAntiextrap
 
std::unique_ptr< ModularExtrapComponentfMTextrap
 
std::unique_ptr< ModularExtrapComponentfMTAntiextrap
 
std::unique_ptr< ModularExtrapComponentfETextrap
 
std::unique_ptr< ModularExtrapComponentfETAntiextrap
 

Private Member Functions

 ModularExtrap ()
 

Detailed Description

Extrapolate each component using a separate ModularExtrapComponent.

This class is not constructable directly. Use one of its subclasses. N.b.: only extrapolates one sample.

Definition at line 23 of file ModularExtrap.h.

Constructor & Destructor Documentation

ana::ModularExtrap::ModularExtrap ( const ModularExtrap )
delete
ana::ModularExtrap::ModularExtrap ( ModularExtrap &&  )
default
virtual ana::ModularExtrap::~ModularExtrap ( )
virtualdefault
ana::ModularExtrap::ModularExtrap ( SpectrumLoaderBase farMCswapLoader,
SpectrumLoaderBase farMCnonswapLoader,
SpectrumLoaderBase farMCtauswapLoader,
const HistAxis axis,
const Cut fdcut,
const SystShifts shiftMC,
const Var weight 
)
protected

Sets up all components to use FD MC–internal use only. Use a derived class to create a ModularExtrap. This function is protected.

Definition at line 124 of file ModularExtrap.cxx.

132  :
133 
134  // e -> e ----
135  fEEextrap( new NoReweight(
136  farMCnonswap, axis, fdcut, shiftMC, weight, kIsBeamNue&&!kIsAntiNu)),
137  fEEAntiextrap( new NoReweight(
138  farMCnonswap, axis, fdcut, shiftMC, weight, kIsBeamNue&&kIsAntiNu)),
139 
140  // mu -> mu ----
141  fMMextrap( new NoReweight(
142  farMCnonswap, axis, fdcut, shiftMC, weight, kIsNumuCC&&!kIsAntiNu)),
143  fMMAntiextrap( new NoReweight(
144  farMCnonswap, axis, fdcut, shiftMC, weight, kIsNumuCC&&kIsAntiNu)),
145 
146  // mu -> e ----
147  fMEextrap( new NoReweight(
148  farMCswap, axis, fdcut, shiftMC, weight, kIsSig&&!kIsAntiNu)),
149  fMEAntiextrap( new NoReweight(
150  farMCswap, axis, fdcut, shiftMC, weight, kIsSig&&kIsAntiNu)),
151 
152  // e -> mu ----
153  fEMextrap( new NoReweight(
154  farMCswap, axis, fdcut, shiftMC, weight, kIsNumuApp&&!kIsAntiNu)),
155  fEMAntiextrap( new NoReweight(
156  farMCswap, axis, fdcut, shiftMC, weight, kIsNumuApp&&kIsAntiNu)),
157 
158  // NC -> NC ----
159  fNCTotalextrap( new NoReweight(
160  farMCnonswap, axis, fdcut, shiftMC, weight, kIsNC, farMCswap, farMCtauswap)),
161  fNCextrap( new NoReweight(
162  farMCnonswap, axis, fdcut, shiftMC, weight, kIsNC&&!kIsAntiNu, farMCswap, farMCtauswap)),
163  fNCAntiextrap( new NoReweight(
164  farMCnonswap, axis, fdcut, shiftMC, weight, kIsNC&&kIsAntiNu, farMCswap, farMCtauswap)),
165 
166  // mu -> tau ----
167  fMTextrap( new NoReweight(
168  farMCtauswap, axis, fdcut, shiftMC, weight, kIsTauFromMu&&!kIsAntiNu)),
169  fMTAntiextrap( new NoReweight(
170  farMCtauswap, axis, fdcut, shiftMC, weight, kIsTauFromMu&&kIsAntiNu)),
171 
172  // e -> tau ----
173  fETextrap( new NoReweight(
174  farMCtauswap, axis, fdcut, shiftMC, weight, kIsTauFromE&&!kIsAntiNu)),
175  fETAntiextrap( new NoReweight(
176  farMCtauswap, axis, fdcut, shiftMC, weight, kIsTauFromE&&kIsAntiNu))
177 
178  {}
const Cut kIsNumuCC(CCFlavSel(14, 14))
Select CC .
std::unique_ptr< ModularExtrapComponent > fMMextrap
Definition: ModularExtrap.h:92
const Var weight
std::unique_ptr< ModularExtrapComponent > fMEextrap
Definition: ModularExtrap.h:94
const Cut kIsAntiNu([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return sr->mc.nu[0].pdg< 0;})
Is this truly an antineutrino?
Definition: TruthCuts.h:53
const Cut kIsBeamNue(CCFlavSel(12, 12))
Select CC .
const Cut kIsNumuApp(CCFlavSel(14, 12))
Select CC .
std::unique_ptr< ModularExtrapComponent > fEMAntiextrap
Definition: ModularExtrap.h:97
std::unique_ptr< ModularExtrapComponent > fNCextrap
std::unique_ptr< ModularExtrapComponent > fMTAntiextrap
std::unique_ptr< ModularExtrapComponent > fNCTotalextrap
Definition: ModularExtrap.h:99
const Cut kIsTauFromE(CCFlavSel(16, 12))
Select CC .
std::unique_ptr< ModularExtrapComponent > fMEAntiextrap
Definition: ModularExtrap.h:95
const Cut kIsTauFromMu(CCFlavSel(16, 14))
Select CC .
const Cut kIsNC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return!sr->mc.nu[0].iscc;})
Is this a Neutral Current event?
Definition: TruthCuts.h:8
const Cut kIsSig(CCFlavSel(12, 14))
Select CC .
std::unique_ptr< ModularExtrapComponent > fEMextrap
Definition: ModularExtrap.h:96
std::unique_ptr< ModularExtrapComponent > fEEAntiextrap
Definition: ModularExtrap.h:91
std::unique_ptr< ModularExtrapComponent > fNCAntiextrap
std::unique_ptr< ModularExtrapComponent > fMMAntiextrap
Definition: ModularExtrap.h:93
std::unique_ptr< ModularExtrapComponent > fETAntiextrap
std::unique_ptr< ModularExtrapComponent > fEEextrap
Definition: ModularExtrap.h:90
std::unique_ptr< ModularExtrapComponent > fMTextrap
std::unique_ptr< ModularExtrapComponent > fETextrap
ana::ModularExtrap::ModularExtrap ( )
inlineprivate

Definition at line 110 of file ModularExtrap.h.

Referenced by GetModExtrapComponents().

110 {};

Member Function Documentation

OscillatableSpectrum ana::ModularExtrap::AntiNueAppComponent ( )
overridevirtual

Charged current electron antineutrino appearance ( $\bar\nu_\mu\to\bar\nu_e$)

Implements ana::IExtrap.

Definition at line 197 of file ModularExtrap.cxx.

References fMEAntiextrap.

198  {return fMEAntiextrap->Return();}
std::unique_ptr< ModularExtrapComponent > fMEAntiextrap
Definition: ModularExtrap.h:95
OscillatableSpectrum ana::ModularExtrap::AntiNueSurvComponent ( )
overridevirtual

Charged current electron antineutrino survival ( $\bar\nu_e\to\bar\nu_e$)

Implements ana::IExtrap.

Definition at line 185 of file ModularExtrap.cxx.

References fEEAntiextrap.

186  {return fEEAntiextrap->Return();}
std::unique_ptr< ModularExtrapComponent > fEEAntiextrap
Definition: ModularExtrap.h:91
OscillatableSpectrum ana::ModularExtrap::AntiNumuAppComponent ( )
overridevirtual

Charged current muon antineutrino appearance ( $\bar\nu_e\to\bar\nu_\mu$)

Implements ana::IExtrap.

Definition at line 203 of file ModularExtrap.cxx.

References fEMAntiextrap.

204  {return fEMAntiextrap->Return();}
std::unique_ptr< ModularExtrapComponent > fEMAntiextrap
Definition: ModularExtrap.h:97
OscillatableSpectrum ana::ModularExtrap::AntiNumuSurvComponent ( )
overridevirtual

Charged current muon antineutrino survival ( $\bar\nu_\mu\to\bar\nu_\mu$)

Implements ana::IExtrap.

Definition at line 191 of file ModularExtrap.cxx.

References fMMAntiextrap.

192  {return fMMAntiextrap->Return();}
std::unique_ptr< ModularExtrapComponent > fMMAntiextrap
Definition: ModularExtrap.h:93
OscillatableSpectrum ana::ModularExtrap::AntiTauFromEComponent ( )
overridevirtual

Charged current tau antineutrino appearance from electron antineutrino ( $\bar\nu_e\to\bar\nu_\tau$)

Implements ana::IExtrap.

Definition at line 224 of file ModularExtrap.cxx.

References fETAntiextrap.

225  {return fETAntiextrap->Return();}
std::unique_ptr< ModularExtrapComponent > fETAntiextrap
OscillatableSpectrum ana::ModularExtrap::AntiTauFromMuComponent ( )
overridevirtual

Charged current tau antineutrino appearance from muon antineutrino ( $\bar\nu_\mu\to\bar\nu_\tau$)

Implements ana::IExtrap.

Definition at line 218 of file ModularExtrap.cxx.

References fMTAntiextrap.

219  {return fMTAntiextrap->Return();}
std::unique_ptr< ModularExtrapComponent > fMTAntiextrap
std::vector<ModularExtrapComponent*> ana::ModularExtrap::GetModExtrapComponents ( ) const
inline

Definition at line 60 of file ModularExtrap.h.

References allInOneTrainingPlots::axis, fEEAntiextrap, fEEextrap, fEMAntiextrap, fEMextrap, fETAntiextrap, fETextrap, fMEAntiextrap, fMEextrap, fMMAntiextrap, fMMextrap, fMTAntiextrap, fMTextrap, fNCAntiextrap, fNCextrap, fNCTotalextrap, ModularExtrap(), and ana::weight.

Referenced by ana::GetDecomp(), and make_files_for_decomp_plots().

61  {
62  return {
63  fEEextrap.get(), fEEAntiextrap.get(),
64  fMMextrap.get(), fMMAntiextrap.get(),
65  fMEextrap.get(), fMEAntiextrap.get(),
66  fEMextrap.get(), fEMAntiextrap.get(),
67  //nc
68  fNCTotalextrap.get(), fNCextrap.get(), fNCAntiextrap.get(),
69  //end nc
70  fMTextrap.get(), fMTAntiextrap.get(),
71  fETextrap.get(), fETAntiextrap.get()
72  };
73  }
std::unique_ptr< ModularExtrapComponent > fMMextrap
Definition: ModularExtrap.h:92
std::unique_ptr< ModularExtrapComponent > fMEextrap
Definition: ModularExtrap.h:94
std::unique_ptr< ModularExtrapComponent > fEMAntiextrap
Definition: ModularExtrap.h:97
std::unique_ptr< ModularExtrapComponent > fNCextrap
std::unique_ptr< ModularExtrapComponent > fMTAntiextrap
std::unique_ptr< ModularExtrapComponent > fNCTotalextrap
Definition: ModularExtrap.h:99
std::unique_ptr< ModularExtrapComponent > fMEAntiextrap
Definition: ModularExtrap.h:95
std::unique_ptr< ModularExtrapComponent > fEMextrap
Definition: ModularExtrap.h:96
std::unique_ptr< ModularExtrapComponent > fEEAntiextrap
Definition: ModularExtrap.h:91
std::unique_ptr< ModularExtrapComponent > fNCAntiextrap
std::unique_ptr< ModularExtrapComponent > fMMAntiextrap
Definition: ModularExtrap.h:93
std::unique_ptr< ModularExtrapComponent > fETAntiextrap
std::unique_ptr< ModularExtrapComponent > fEEextrap
Definition: ModularExtrap.h:90
std::unique_ptr< ModularExtrapComponent > fMTextrap
std::unique_ptr< ModularExtrapComponent > fETextrap
std::unique_ptr< ModularExtrap > ana::ModularExtrap::LoadFrom ( TDirectory *  dir,
const std::string name 
)
static

Definition at line 94 of file ModularExtrap.cxx.

References ana::assert(), dir, ana::LoadFrom< ModularExtrapComponent >(), and runNovaSAM::ret.

Referenced by ana::ModularExtrapSterile::LoadFrom().

95  {
96  dir = dir->GetDirectory(name.c_str()); // switch to subdir
97  assert(dir);
98 
99  std::unique_ptr<ModularExtrap> ret(new ModularExtrap);
100 
101  ret->fEEextrap = ana::LoadFrom<ModularExtrapComponent>(dir, "EEextrap");
102  ret->fEMextrap = ana::LoadFrom<ModularExtrapComponent>(dir, "EMextrap");
103  ret->fMEextrap = ana::LoadFrom<ModularExtrapComponent>(dir, "MEextrap");
104  ret->fMMextrap = ana::LoadFrom<ModularExtrapComponent>(dir, "MMextrap");
105  ret->fEEAntiextrap = ana::LoadFrom<ModularExtrapComponent>(dir, "EEAntiextrap");
106  ret->fEMAntiextrap = ana::LoadFrom<ModularExtrapComponent>(dir, "EMAntiextrap");
107  ret->fMEAntiextrap = ana::LoadFrom<ModularExtrapComponent>(dir, "MEAntiextrap");
108  ret->fMMAntiextrap = ana::LoadFrom<ModularExtrapComponent>(dir, "MMAntiextrap");
109  ret->fNCTotalextrap = ana::LoadFrom<ModularExtrapComponent>(dir, "NCTotalextrap");
110  ret->fNCextrap = ana::LoadFrom<ModularExtrapComponent>(dir, "NCextrap");
111  ret->fNCAntiextrap = ana::LoadFrom<ModularExtrapComponent>(dir, "NCAntiextrap");
112  ret->fMTextrap = ana::LoadFrom<ModularExtrapComponent>(dir, "MTextrap");
113  ret->fETextrap = ana::LoadFrom<ModularExtrapComponent>(dir, "ETextrap");
114  ret->fMTAntiextrap = ana::LoadFrom<ModularExtrapComponent>(dir, "MTAntiextrap");
115  ret->fETAntiextrap = ana::LoadFrom<ModularExtrapComponent>(dir, "ETAntiextrap");
116 
117  delete dir;
118 
119  return ret;
120  }
const XML_Char * name
Definition: expat.h:151
std::unique_ptr< ModularExtrapComponent > LoadFrom< ModularExtrapComponent >(TDirectory *dir, const std::string &label)
TDirectory * dir
Definition: macro.C:5
assert(nhit_max >=nhit_nbins)
Spectrum ana::ModularExtrap::NCAntiComponent ( )
overridevirtual

Implements ana::IExtrap.

Definition at line 209 of file ModularExtrap.cxx.

References fNCAntiextrap.

Referenced by NCTotalComponent().

210  {return fNCAntiextrap->Return().Unoscillated();}
std::unique_ptr< ModularExtrapComponent > fNCAntiextrap
Spectrum ana::ModularExtrap::NCComponent ( )
overridevirtual

Implements ana::IExtrap.

Definition at line 206 of file ModularExtrap.cxx.

References fNCextrap.

Referenced by NCTotalComponent().

207  {return fNCextrap->Return().Unoscillated();}
std::unique_ptr< ModularExtrapComponent > fNCextrap
Spectrum ana::ModularExtrap::NCTotalComponent ( )
overridevirtual

Neutral currents.

Implements ana::IExtrap.

Reimplemented in ana::ModularExtrapSterile.

Definition at line 212 of file ModularExtrap.cxx.

References NCAntiComponent(), and NCComponent().

213  {return NCComponent() + NCAntiComponent() ;}
Spectrum NCAntiComponent() override
Spectrum NCComponent() override
OscillatableSpectrum ana::ModularExtrap::NueAppComponent ( )
overridevirtual

Charged current electron neutrino appearance ( $\nu_\mu\to\nu_e$)

Implements ana::IExtrap.

Definition at line 194 of file ModularExtrap.cxx.

References fMEextrap.

195  {return fMEextrap->Return();}
std::unique_ptr< ModularExtrapComponent > fMEextrap
Definition: ModularExtrap.h:94
OscillatableSpectrum ana::ModularExtrap::NueSurvComponent ( )
overridevirtual

Charged current electron neutrino survival ( $\nu_e\to\nu_e$)

Implements ana::IExtrap.

Definition at line 182 of file ModularExtrap.cxx.

References fEEextrap.

183  {return fEEextrap->Return();}
std::unique_ptr< ModularExtrapComponent > fEEextrap
Definition: ModularExtrap.h:90
OscillatableSpectrum ana::ModularExtrap::NumuAppComponent ( )
overridevirtual

Charged current muon neutrino appearance ( $\nu_e\to\nu_\mu$)

Implements ana::IExtrap.

Definition at line 200 of file ModularExtrap.cxx.

References fEMextrap.

201  {return fEMextrap->Return();}
std::unique_ptr< ModularExtrapComponent > fEMextrap
Definition: ModularExtrap.h:96
OscillatableSpectrum ana::ModularExtrap::NumuSurvComponent ( )
overridevirtual

Charged current muon neutrino survival ( $\nu_\mu\to\nu_\mu$)

Implements ana::IExtrap.

Definition at line 188 of file ModularExtrap.cxx.

References fMMextrap.

189  {return fMMextrap->Return();}
std::unique_ptr< ModularExtrapComponent > fMMextrap
Definition: ModularExtrap.h:92
ModularExtrap& ana::ModularExtrap::operator= ( const ModularExtrap )
delete
ModularExtrap& ana::ModularExtrap::operator= ( ModularExtrap &&  )
default
void ana::ModularExtrap::SavePlotsNue ( TDirectory *  dir,
double  potFD 
) const

Definition at line 52 of file ModularExtrap.cxx.

References fEEextrap, fMEAntiextrap, fMEextrap, fMMextrap, fNCTotalextrap, and tmp.

53  {
54  TDirectory* tmp = gDirectory;
55  dir->cd();
56  fMEextrap->SavePlots( dir->mkdir("MEextrap"), potFD );
57  fMEAntiextrap->SavePlots( dir->mkdir("MEAntiextrap"), potFD );
58  fEEextrap->SavePlots( dir->mkdir("EEextrap"), potFD );
59  fMMextrap->SavePlots( dir->mkdir("MMextrap"), potFD );
60  fNCTotalextrap->SavePlots( dir->mkdir("NCTotalextrap"), potFD );
61  tmp->cd();
62  }
std::unique_ptr< ModularExtrapComponent > fMMextrap
Definition: ModularExtrap.h:92
std::unique_ptr< ModularExtrapComponent > fMEextrap
Definition: ModularExtrap.h:94
Float_t tmp
Definition: plot.C:36
std::unique_ptr< ModularExtrapComponent > fNCTotalextrap
Definition: ModularExtrap.h:99
std::unique_ptr< ModularExtrapComponent > fMEAntiextrap
Definition: ModularExtrap.h:95
TDirectory * dir
Definition: macro.C:5
std::unique_ptr< ModularExtrapComponent > fEEextrap
Definition: ModularExtrap.h:90
void ana::ModularExtrap::SavePlotsNueRHC ( TDirectory *  dir,
double  potFD 
) const

Definition at line 66 of file ModularExtrap.cxx.

References fEEAntiextrap, fEEextrap, fMEAntiextrap, fMEextrap, fMMAntiextrap, fMMextrap, fNCAntiextrap, fNCextrap, and tmp.

67  {
68  TDirectory* tmp = gDirectory;
69  dir->cd();
70  fMEextrap->SavePlots( dir->mkdir("MEextrap"), potFD );
71  fMEAntiextrap->SavePlots( dir->mkdir("MEAntiextrap"), potFD );
72  fEEextrap->SavePlots( dir->mkdir("EEextrap"), potFD );
73  fEEAntiextrap->SavePlots( dir->mkdir("EEAntiextrap"), potFD );
74  fMMextrap->SavePlots( dir->mkdir("MMextrap"), potFD );
75  fMMAntiextrap->SavePlots( dir->mkdir("MMAntiextrap"), potFD );
76  fNCextrap->SavePlots( dir->mkdir("NCextrap"), potFD );
77  fNCAntiextrap->SavePlots( dir->mkdir("NCAntiextrap"), potFD );
78  tmp->cd();
79  }
std::unique_ptr< ModularExtrapComponent > fMMextrap
Definition: ModularExtrap.h:92
std::unique_ptr< ModularExtrapComponent > fMEextrap
Definition: ModularExtrap.h:94
Float_t tmp
Definition: plot.C:36
std::unique_ptr< ModularExtrapComponent > fNCextrap
std::unique_ptr< ModularExtrapComponent > fMEAntiextrap
Definition: ModularExtrap.h:95
std::unique_ptr< ModularExtrapComponent > fEEAntiextrap
Definition: ModularExtrap.h:91
std::unique_ptr< ModularExtrapComponent > fNCAntiextrap
std::unique_ptr< ModularExtrapComponent > fMMAntiextrap
Definition: ModularExtrap.h:93
TDirectory * dir
Definition: macro.C:5
std::unique_ptr< ModularExtrapComponent > fEEextrap
Definition: ModularExtrap.h:90
void ana::ModularExtrap::SavePlotsNumu ( TDirectory *  dir,
double  potFD 
) const

Definition at line 83 of file ModularExtrap.cxx.

References fMMAntiextrap, fMMextrap, and tmp.

Referenced by make_extrap_figure_hists(), and modularextrap_demo_numu().

84  {
85  TDirectory* tmp = gDirectory;
86  dir->cd();
87  fMMextrap->SavePlots( dir->mkdir("MMextrap"), potFD );
88  fMMAntiextrap->SavePlots( dir->mkdir("MMAntiextrap"), potFD );
89  tmp->cd();
90  }
std::unique_ptr< ModularExtrapComponent > fMMextrap
Definition: ModularExtrap.h:92
Float_t tmp
Definition: plot.C:36
std::unique_ptr< ModularExtrapComponent > fMMAntiextrap
Definition: ModularExtrap.h:93
TDirectory * dir
Definition: macro.C:5
void ana::ModularExtrap::SaveTo ( TDirectory *  dir,
const std::string name 
) const
overridevirtual

Reimplemented from ana::IExtrap.

Reimplemented in ana::ModularExtrapSterile.

Definition at line 17 of file ModularExtrap.cxx.

References dir, fEEAntiextrap, fEEextrap, fEMAntiextrap, fEMextrap, fETAntiextrap, fETextrap, fMEAntiextrap, fMEextrap, fMMAntiextrap, fMMextrap, fMTAntiextrap, fMTextrap, fNCAntiextrap, fNCextrap, fNCTotalextrap, and tmp.

Referenced by modularextrap_demo_numu(), and ana::ModularExtrapSterile::SaveTo().

18  {
19  TDirectory* tmp = gDirectory;
20 
21  dir = dir->mkdir(name.c_str()); // switch to subdir
22  dir->cd();
23 
24  TObjString("ModularExtrap").Write("type");
25 
26  fEEextrap->SaveTo(dir, "EEextrap");
27  fEMextrap->SaveTo(dir, "EMextrap");
28  fMEextrap->SaveTo(dir, "MEextrap");
29  fMMextrap->SaveTo(dir, "MMextrap");
30  fEEAntiextrap->SaveTo(dir, "EEAntiextrap");
31  fEMAntiextrap->SaveTo(dir, "EMAntiextrap");
32  fMEAntiextrap->SaveTo(dir, "MEAntiextrap");
33  fMMAntiextrap->SaveTo(dir, "MMAntiextrap");
34  fMTextrap->SaveTo(dir, "MTextrap");
35  fETextrap->SaveTo(dir, "ETextrap");
36  fMTAntiextrap->SaveTo(dir, "MTAntiextrap");
37  fETAntiextrap->SaveTo(dir, "ETAntiextrap");
38  //nc
39  fNCTotalextrap->SaveTo(dir, "NCTotalextrap");
40  fNCAntiextrap->SaveTo(dir, "NCAntiextrap");
41  fNCextrap->SaveTo(dir, "NCextrap");
42  //end nc
43 
44  dir->Write();
45  delete dir;
46 
47  tmp->cd();
48  }
const XML_Char * name
Definition: expat.h:151
std::unique_ptr< ModularExtrapComponent > fMMextrap
Definition: ModularExtrap.h:92
std::unique_ptr< ModularExtrapComponent > fMEextrap
Definition: ModularExtrap.h:94
std::unique_ptr< ModularExtrapComponent > fEMAntiextrap
Definition: ModularExtrap.h:97
Float_t tmp
Definition: plot.C:36
std::unique_ptr< ModularExtrapComponent > fNCextrap
std::unique_ptr< ModularExtrapComponent > fMTAntiextrap
std::unique_ptr< ModularExtrapComponent > fNCTotalextrap
Definition: ModularExtrap.h:99
std::unique_ptr< ModularExtrapComponent > fMEAntiextrap
Definition: ModularExtrap.h:95
std::unique_ptr< ModularExtrapComponent > fEMextrap
Definition: ModularExtrap.h:96
std::unique_ptr< ModularExtrapComponent > fEEAntiextrap
Definition: ModularExtrap.h:91
std::unique_ptr< ModularExtrapComponent > fNCAntiextrap
std::unique_ptr< ModularExtrapComponent > fMMAntiextrap
Definition: ModularExtrap.h:93
TDirectory * dir
Definition: macro.C:5
std::unique_ptr< ModularExtrapComponent > fETAntiextrap
std::unique_ptr< ModularExtrapComponent > fEEextrap
Definition: ModularExtrap.h:90
std::unique_ptr< ModularExtrapComponent > fMTextrap
std::unique_ptr< ModularExtrapComponent > fETextrap
OscillatableSpectrum ana::ModularExtrap::TauFromEComponent ( )
overridevirtual

Charged current tau neutrino appearance from electron neutrino ( $\nu_e\to\nu_\tau$)

Implements ana::IExtrap.

Definition at line 221 of file ModularExtrap.cxx.

References fETextrap.

222  {return fETextrap->Return();}
std::unique_ptr< ModularExtrapComponent > fETextrap
OscillatableSpectrum ana::ModularExtrap::TauFromMuComponent ( )
overridevirtual

Charged current tau neutrino appearance from muon neutrino ( $\nu_\mu\to\nu_\tau$)

Implements ana::IExtrap.

Definition at line 215 of file ModularExtrap.cxx.

References fMTextrap.

216  {return fMTextrap->Return();}
std::unique_ptr< ModularExtrapComponent > fMTextrap

Member Data Documentation

std::unique_ptr<ModularExtrapComponent> ana::ModularExtrap::fEEAntiextrap
protected
std::unique_ptr<ModularExtrapComponent> ana::ModularExtrap::fEEextrap
protected
std::unique_ptr<ModularExtrapComponent> ana::ModularExtrap::fEMAntiextrap
protected

Definition at line 97 of file ModularExtrap.h.

Referenced by AntiNumuAppComponent(), GetModExtrapComponents(), and SaveTo().

std::unique_ptr<ModularExtrapComponent> ana::ModularExtrap::fEMextrap
protected

Definition at line 96 of file ModularExtrap.h.

Referenced by GetModExtrapComponents(), NumuAppComponent(), and SaveTo().

std::unique_ptr<ModularExtrapComponent> ana::ModularExtrap::fETAntiextrap
protected

Definition at line 106 of file ModularExtrap.h.

Referenced by AntiTauFromEComponent(), GetModExtrapComponents(), and SaveTo().

std::unique_ptr<ModularExtrapComponent> ana::ModularExtrap::fETextrap
protected

Definition at line 105 of file ModularExtrap.h.

Referenced by GetModExtrapComponents(), SaveTo(), and TauFromEComponent().

std::unique_ptr<ModularExtrapComponent> ana::ModularExtrap::fMEAntiextrap
protected
std::unique_ptr<ModularExtrapComponent> ana::ModularExtrap::fMEextrap
protected
std::unique_ptr<ModularExtrapComponent> ana::ModularExtrap::fMMAntiextrap
protected
std::unique_ptr<ModularExtrapComponent> ana::ModularExtrap::fMMextrap
protected
std::unique_ptr<ModularExtrapComponent> ana::ModularExtrap::fMTAntiextrap
protected

Definition at line 104 of file ModularExtrap.h.

Referenced by AntiTauFromMuComponent(), GetModExtrapComponents(), and SaveTo().

std::unique_ptr<ModularExtrapComponent> ana::ModularExtrap::fMTextrap
protected

Definition at line 103 of file ModularExtrap.h.

Referenced by GetModExtrapComponents(), SaveTo(), and TauFromMuComponent().

std::unique_ptr<ModularExtrapComponent> ana::ModularExtrap::fNCAntiextrap
protected
std::unique_ptr<ModularExtrapComponent> ana::ModularExtrap::fNCextrap
protected
std::unique_ptr<ModularExtrapComponent> ana::ModularExtrap::fNCTotalextrap
protected

Definition at line 99 of file ModularExtrap.h.

Referenced by GetModExtrapComponents(), SavePlotsNue(), and SaveTo().


The documentation for this class was generated from the following files: