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

Extrapolates component using truth-over-truth method. More...

#include "/cvmfs/nova-development.opensciencegrid.org/novasoft/releases/N20-12-03/CAFAna/Extrap/ModularExtrapComponent.h"

Inheritance diagram for ana::TruthReweight:
ana::ModularExtrapComponent

Public Member Functions

 TruthReweight (SpectrumLoaderBase &ndloader, const HistAxis &axisFD, const HistAxis &axisND, const Cut &fdcut, const SystShifts &shiftMC, const Var &weight, std::string label, std::string latex, const Cut &ndcut, const IDecomp &decomposition, const DecompResult dr, const Cut &ndflavor, SpectrumLoaderBase &fdloader, const Cut &fdflavors)
 
 ~TruthReweight ()
 
OscillatableSpectrum Eval () const override
 Core extrapolation math. More...
 
void SaveTo (TDirectory *dir, const std::string &name) const override
 
void SavePlots (TDirectory *dir, double potFD) const override
 
const IDecompGetDecomp () const override
 
const OscillatableSpectrumReturn () const
 Interface so that result of Eval() is called only once and cached. More...
 

Static Public Member Functions

static std::unique_ptr< TruthReweightLoadFrom (TDirectory *dir, const std::string &name)
 
static void SetQuiet (bool quiet=true)
 

Static Protected Member Functions

static Spectrum GetDecompResult (const IDecomp &, DecompResult)
 Helper function to pick out single Spectrum from a decomposition. More...
 
static std::string DRToString (DecompResult)
 Helper function to turn a DecompResult into a string (for storage). More...
 
static DecompResult StringToDR (std::string)
 Helper function to turn a string into a DecompResult (for loading). More...
 
static Ratio FormSmartRatio (const Spectrum &num, const Spectrum &denom, std::string component, std::string location, const Spectrum &mult)
 Form Ratio, but be aware of zero division. More...
 
static void ComparisonPlot (Spectrum mc, Spectrum notMC, double pot, std::string notMCLabel, int notMCColor, std::string latex, std::string title, std::string saveAs, bool restrictRange=false)
 

Private Member Functions

 TruthReweight (OscillatableSpectrum recoToTrueND, OscillatableSpectrum trueToRecoFD, const IDecomp &decomp, const DecompResult decompRes, std::string label, std::string latex)
 

Private Attributes

OscillatableSpectrum fRecoToTrueND
 
OscillatableSpectrum fTrueToRecoFD
 
const IDecompfDecomp
 
bool fOwnDecomp
 
const DecompResult fDecompRes
 
std::string fLabel
 
std::string fLatex
 

Detailed Description

Extrapolates component using truth-over-truth method.

Definition at line 126 of file ModularExtrapComponent.h.

Constructor & Destructor Documentation

ana::TruthReweight::TruthReweight ( SpectrumLoaderBase ndloader,
const HistAxis axisFD,
const HistAxis axisND,
const Cut fdcut,
const SystShifts shiftMC,
const Var weight,
std::string  label,
std::string  latex,
const Cut ndcut,
const IDecomp decomposition,
const DecompResult  dr,
const Cut ndflavor,
SpectrumLoaderBase fdloader,
const Cut fdflavors 
)

Definition at line 218 of file ModularExtrapComponent.cxx.

Referenced by LoadFrom().

234  : fRecoToTrueND(ndloader, axisND, ndcut && ndflavor, shiftMC, weight),
235  fTrueToRecoFD(fdloader, axisFD, fdcut && fdflavors, shiftMC, weight),
236  fDecomp(decomposition),
237  fOwnDecomp(false),
238  fDecompRes(dr),
239  fLabel(label),
240  fLatex(latex)
241  {}
void latex(double x, double y, std::string txt, double ang=0, int align=22, double size=0.042)
OscillatableSpectrum fTrueToRecoFD
const Var weight
OscillatableSpectrum fRecoToTrueND
const char * label
const DecompResult fDecompRes
ana::TruthReweight::~TruthReweight ( )

Definition at line 243 of file ModularExtrapComponent.cxx.

References fDecomp, and fOwnDecomp.

244  {
245  if(fOwnDecomp) delete &fDecomp;
246  }
ana::TruthReweight::TruthReweight ( OscillatableSpectrum  recoToTrueND,
OscillatableSpectrum  trueToRecoFD,
const IDecomp decomp,
const DecompResult  decompRes,
std::string  label,
std::string  latex 
)
inlineprivate

Definition at line 154 of file ModularExtrapComponent.h.

161  : fRecoToTrueND(recoToTrueND), fTrueToRecoFD(trueToRecoFD),
162  fDecomp(decomp), fDecompRes(decompRes),
163  fLabel(label), fLatex(latex) {}
void latex(double x, double y, std::string txt, double ang=0, int align=22, double size=0.042)
OscillatableSpectrum fTrueToRecoFD
OscillatableSpectrum fRecoToTrueND
const char * label
const DecompResult fDecompRes

Member Function Documentation

void ana::ModularExtrapComponent::ComparisonPlot ( Spectrum  mc,
Spectrum  notMC,
double  pot,
std::string  notMCLabel,
int  notMCColor,
std::string  latex,
std::string  title,
std::string  saveAs,
bool  restrictRange = false 
)
staticprotectedinherited

Definition at line 17 of file ModularExtrapComponentPlot.cxx.

References plot_validation_datamc::c, kRed, make_mec_shifts_plots::legend, and ana::Spectrum::ToTH1().

Referenced by ana::FluxReweight::SavePlots(), SavePlots(), and ana::RecoReweight::SavePlots().

27  {
28  TH1* histMC( mc.ToTH1(pot) );
29  TH1* histNotMC( notMC.ToTH1(pot) );
30  histMC->SetLineColor( kRed );
31  histNotMC->SetLineColor( notMCColor );
32  TCanvas c;
33  histMC->SetMaximum( 1.5 * histMC->GetMaximum() );
34  if (restrictRange) histMC->GetXaxis()->SetRangeUser( 0.5, 3.5);
35  histMC->SetTitle( (latex+" "+title).c_str() );
36  histMC->Draw("hist");
37  histNotMC->Draw("same");
38  TLegend legend( .15, .7, .4, .85 );
39  legend.SetTextSize(0.05);
40  legend.AddEntry( histNotMC, notMCLabel.c_str() );
41  legend.AddEntry( histMC, "MC" );
42  legend.SetFillStyle(0);
43  legend.Draw();
44  histMC->Write( (TString)"MC"+saveAs.c_str());
45  histNotMC->Write( (TString)notMCLabel.c_str() + saveAs.c_str());
46 
47  c.Write( saveAs.c_str() );
48  delete histMC;
49  delete histNotMC;
50  }
void latex(double x, double y, std::string txt, double ang=0, int align=22, double size=0.042)
enum BeamMode kRed
#define pot
std::string ana::ModularExtrapComponent::DRToString ( DecompResult  dr)
staticprotectedinherited

Helper function to turn a DecompResult into a string (for storage).

Definition at line 98 of file ModularExtrapComponent.cxx.

References ana::assert(), ana::NC, ana::NCbar, ana::NCtot, ana::nue, ana::nuebar, ana::numu, and ana::numubar.

Referenced by SaveTo(), and ana::RecoReweight::SaveTo().

100  {
101  switch (dr){
102  case DecompResult::nue : return "Nue";
103  case DecompResult::numu : return "Numu";
104  case DecompResult::nuebar : return "NueBar";
105  case DecompResult::numubar : return "NumuBar";
106  case DecompResult::NC : return "NC";
107  case DecompResult::NCbar : return "NCbar";
108  case DecompResult::NCtot : return "NCtot";
109  }
110  assert( 0 && "Bad DecompResult" );
111  }
assert(nhit_max >=nhit_nbins)
OscillatableSpectrum ana::TruthReweight::Eval ( ) const
overridevirtual

Core extrapolation math.

Implements ana::ModularExtrapComponent.

Definition at line 248 of file ModularExtrapComponent.cxx.

References fDecomp, fDecompRes, fLabel, ana::ModularExtrapComponent::FormSmartRatio(), fRecoToTrueND, fTrueToRecoFD, ana::ModularExtrapComponent::GetDecompResult(), ana::ReweightableSpectrum::ReweightToRecoSpectrum(), ana::ReweightableSpectrum::ReweightToTrueSpectrum(), ana::OscillatableSpectrum::TrueEnergy(), and ana::OscillatableSpectrum::Unoscillated().

249  {
250 
251  //Copy to local variables because reweighting is in-place
252  OscillatableSpectrum recoToTrueND(fRecoToTrueND);
253  OscillatableSpectrum trueToRecoFD(fTrueToRecoFD);
254 
255  //Get ND data from Decomp
257 
258  //Compute Data/MC Ratio in reco energy bins to get divide-by-zero warnings
260  decompresult, fRecoToTrueND.Unoscillated(),
261  fLabel, "MC ND Reco",
263 
264  //ND Reco->True
265  recoToTrueND.ReweightToRecoSpectrum( decompresult );
266 
267  //Compute Data/MC Ratio in true energy bins
268  Ratio dataMCtrue = FormSmartRatio(
269  recoToTrueND.TrueEnergy(), fRecoToTrueND.TrueEnergy(),
270  fLabel, "MC ND Truth",
272 
273  // Multiply by Data/MC Ratio and add in FD truth information
274  trueToRecoFD.ReweightToTrueSpectrum( fTrueToRecoFD.TrueEnergy()
275  * dataMCtrue );
276 
277  return trueToRecoFD;
278 
279  }
OscillatableSpectrum fTrueToRecoFD
OscillatableSpectrum fRecoToTrueND
std::vector< float > Spectrum
Definition: Constants.h:610
static Spectrum GetDecompResult(const IDecomp &, DecompResult)
Helper function to pick out single Spectrum from a decomposition.
static Ratio FormSmartRatio(const Spectrum &num, const Spectrum &denom, std::string component, std::string location, const Spectrum &mult)
Form Ratio, but be aware of zero division.
const DecompResult fDecompRes
Ratio ana::ModularExtrapComponent::FormSmartRatio ( const Spectrum num,
const Spectrum denom,
std::string  component,
std::string  location,
const Spectrum mult 
)
staticprotectedinherited

Form Ratio, but be aware of zero division.

Necessary because root thinks n/0==0, so we lose events when low stats cause empty bins. If zero division occurs, ratio is set to 1 and warning is issued. If numerator is 0 and ratio will be multiplied by 0 later, the warning is suppressed.

Definition at line 130 of file ModularExtrapComponent.cxx.

References ana::assert(), bin, hadd_many_files::counter, ana::ModularExtrapComponent::DivByZeroCounter::fBins, ana::ModularExtrapComponent::fQuiet, ana::Spectrum::GetBinnings(), ana::Spectrum::GetEigen(), and ana::Spectrum::GetLabels().

Referenced by ana::FluxReweight::Eval(), Eval(), and ana::RecoReweight::Eval().

136  {
137  const Eigen::ArrayXd numa = num.GetEigen(1e20);
138  const Eigen::ArrayXd denoma = denom.GetEigen(1e20);
139  const Eigen::ArrayXd multa = mult.GetEigen(1e20);
140 
141  Eigen::ArrayXd ratioa = numa;
142  ratioa.setZero();
143 
144  assert( (numa.size() == denoma.size()) && "Bin Mismatch" );
145  assert( (numa.size() == multa.size()) && "Bin Mismatch" );
146 
147  static DivByZeroCounter counter;
148  for (int bin = 0; bin < numa.size(); ++bin)
149  {
150  if ( denoma[bin] != 0 ){
151  ratioa[bin] = numa[bin] / denoma[bin];
152  } else {
153  ratioa[bin] = 1;
154  if ( numa[bin] != 0
155  || multa[bin] != 0 )
156  counter.fBins.insert(std::make_tuple(component, location, bin));
157  }
158  }
159 
160  return Ratio( std::move(ratioa), num.GetLabels(), num.GetBinnings() );
161  }
#define location
float bin[41]
Definition: plottest35.C:14
int num
Definition: f2_nu.C:119
assert(nhit_max >=nhit_nbins)
const IDecomp* ana::TruthReweight::GetDecomp ( ) const
inlineoverridevirtual

Implements ana::ModularExtrapComponent.

Definition at line 152 of file ModularExtrapComponent.h.

152 {return &fDecomp;}
Spectrum ana::ModularExtrapComponent::GetDecompResult ( const IDecomp decomp,
DecompResult  dr 
)
staticprotectedinherited

Helper function to pick out single Spectrum from a decomposition.

Definition at line 80 of file ModularExtrapComponent.cxx.

References ana::IDecomp::AntiNueComponent(), ana::IDecomp::AntiNumuComponent(), ana::assert(), ana::NC, ana::IDecomp::NCAntiComponent(), ana::NCbar, ana::IDecomp::NCComponent(), ana::NCtot, ana::IDecomp::NCTotalComponent(), ana::nue, ana::nuebar, ana::IDecomp::NueComponent(), ana::numu, ana::numubar, and ana::IDecomp::NumuComponent().

Referenced by Eval(), ana::RecoReweight::Eval(), SavePlots(), and ana::RecoReweight::SavePlots().

83  {
84  switch (dr){
85  case DecompResult::nue : return decomp.NueComponent();
86  case DecompResult::numu : return decomp.NumuComponent();
87  case DecompResult::nuebar : return decomp.AntiNueComponent();
88  case DecompResult::numubar : return decomp.AntiNumuComponent();
89  case DecompResult::NCtot : return decomp.NCTotalComponent();
90  case DecompResult::NCbar : return decomp.NCAntiComponent();
91  case DecompResult::NC : return decomp.NCComponent();
92  }
93  assert( 0 && "Bad DecompResult" );
94  }
assert(nhit_max >=nhit_nbins)
std::unique_ptr< TruthReweight > ana::TruthReweight::LoadFrom ( TDirectory *  dir,
const std::string name 
)
static

Definition at line 303 of file ModularExtrapComponent.cxx.

References ana::assert(), dir, fOwnDecomp, label, latex(), ana::OscillatableSpectrum::LoadFrom(), ana::LoadFrom< IDecomp >(), runNovaSAM::release, runNovaSAM::ret, ana::ModularExtrapComponent::StringToDR(), and TruthReweight().

Referenced by ana::LoadFrom< ModularExtrapComponent >().

304  {
305  dir = dir->GetDirectory(name.c_str()); // switch to subdir
306  assert(dir);
307 
308  TObjString* dr = (TObjString*)dir->Get("DecompRes");
309  assert(dr);
310  TObjString* label = (TObjString*)dir->Get("Label");
311  TObjString* latex = (TObjString*)dir->Get("Latex");
312  assert(label);
313  assert(latex);
314 
316  *(OscillatableSpectrum::LoadFrom(dir, "RecoToTrueND")),
317  *(OscillatableSpectrum::LoadFrom(dir, "TrueToRecoFD")),
318  *(ana::LoadFrom<IDecomp>(dir, "Decomp").release()),
319  StringToDR(dr->GetString().Data()),
320  label->GetString().Data(),
321  latex->GetString().Data()
322  );
323  // We know we have the only copy because we just loaded it
324  ret->fOwnDecomp = true;
325 
326  delete dir;
327 
328  delete label;
329  delete latex;
330  delete dr;
331  return std::unique_ptr<TruthReweight>(ret);
332  }
static std::unique_ptr< OscillatableSpectrum > LoadFrom(TDirectory *dir, const std::string &name)
const XML_Char * name
Definition: expat.h:151
void latex(double x, double y, std::string txt, double ang=0, int align=22, double size=0.042)
static DecompResult StringToDR(std::string)
Helper function to turn a string into a DecompResult (for loading).
const char * label
TDirectory * dir
Definition: macro.C:5
assert(nhit_max >=nhit_nbins)
TruthReweight(SpectrumLoaderBase &ndloader, const HistAxis &axisFD, const HistAxis &axisND, const Cut &fdcut, const SystShifts &shiftMC, const Var &weight, std::string label, std::string latex, const Cut &ndcut, const IDecomp &decomposition, const DecompResult dr, const Cut &ndflavor, SpectrumLoaderBase &fdloader, const Cut &fdflavors)
std::unique_ptr< IDecomp > LoadFrom< IDecomp >(TDirectory *dir, const std::string &label)
Definition: IDecomp.cxx:53
const OscillatableSpectrum & ana::ModularExtrapComponent::Return ( ) const
inherited

Interface so that result of Eval() is called only once and cached.

Definition at line 68 of file ModularExtrapComponent.cxx.

References ana::ModularExtrapComponent::Eval(), ana::ModularExtrapComponent::fCache, and ana::ModularExtrapComponent::fEvaluated.

Referenced by ana::FluxReweight::SavePlots(), SavePlots(), and ana::RecoReweight::SavePlots().

69  {
70  if (!fEvaluated)
71  {
72  fCache = Eval();
73  fEvaluated = true;
74  }
75  return fCache;
76  }
virtual OscillatableSpectrum Eval() const =0
Core extrapolation math.
void ana::TruthReweight::SavePlots ( TDirectory *  dir,
double  potFD 
) const
overridevirtual

Implements ana::ModularExtrapComponent.

Definition at line 73 of file ModularExtrapComponentPlot.cxx.

References ana::ModularExtrapComponent::ComparisonPlot(), ana::ModularExtrapComponent::GetDecompResult(), kBlue, ana::Spectrum::POT(), ana::ModularExtrapComponent::Return(), ana::ReweightableSpectrum::ReweightToRecoSpectrum(), ana::OscillatableSpectrum::SaveTo(), tmp, ana::Spectrum::ToTH1(), ana::OscillatableSpectrum::TrueEnergy(), and ana::OscillatableSpectrum::Unoscillated().

74  {
75  TDirectory* tmp = gDirectory;
76  dir->cd();
77 
78  Spectrum decompresult( GetDecompResult(fDecomp,fDecompRes) );
79  double potND( decompresult.POT() );
81  fRecoToTrueND.Unoscillated(), decompresult, potND,
82  "Data", kBlack, fLatex, "ND Reco Spectrum", "NDReco" );
83 
84  TH2* histNDrtt = fRecoToTrueND.ToTH2(potND);
85  histNDrtt->GetYaxis()->SetRangeUser(0, 5);
86  histNDrtt->GetXaxis()->SetRangeUser(0, 5);
87  histNDrtt->SetTitle( (fLatex+" ND Reco to True Spectrum (MC)").c_str() );
88  histNDrtt->Draw("colz");
89  histNDrtt->Write("NDRecoToTrue");
90 
91  OscillatableSpectrum recoToTrueND( fRecoToTrueND );
92  OscillatableSpectrum trueToRecoFD( fTrueToRecoFD );
93 
94  recoToTrueND.ReweightToRecoSpectrum( decompresult );
96  fRecoToTrueND.TrueEnergy(), recoToTrueND.TrueEnergy(), potND,
97  "Reweighted", kBlue, fLatex, "ND True Energy Spectrum", "NDTrue",
98  true );
99 
102  "Extrapolated", kBlue, fLatex, "FD True Energy Spectrum", "FDTrue",
103  true );
104 
105  TH2* histFDttr = fTrueToRecoFD.ToTH2(potFD);
106  histFDttr->SetTitle( (fLatex+" FD True To Reco Spectrum (MC)").c_str() );
107  histFDttr->Draw("colz");
108  histFDttr->Write("FDTrueToReco");
109 
112  "Extrapolated", kBlue, fLatex, "FD Reco Spectrum", "FDReco" );
113 
114  TH1* histNDDatReco = decompresult.ToTH1(potND);
115  TH1* histNDRwtTrue = recoToTrueND.TrueEnergy().ToTH1(potND);
116  TH1* histFDExtTrue = Return().TrueEnergy().ToTH1(potFD);
117  TH1* histFDExtReco = Return().Unoscillated().ToTH1(potFD);
118 
119  TH1* histNDMCReco = fRecoToTrueND.Unoscillated().ToTH1(potND);
120  TH1* histNDMCTrue = fRecoToTrueND.TrueEnergy().ToTH1(potND);
121  TH1* histFDMCTrue = fTrueToRecoFD.TrueEnergy().ToTH1(potFD);
122  TH1* histFDMCReco = fTrueToRecoFD.Unoscillated().ToTH1(potFD);
123 
124  fTrueToRecoFD.SaveTo(dir, "trueToRecoMC");
125  Return().SaveTo(dir, "trueToRecoExt");
126 
127  histNDDatReco->Write("NDDatReco");
128  histNDRwtTrue->Write("NDRwtTrue");
129  histFDExtTrue->Write("FDExtTrue");
130  histFDExtReco->Write("FDExtReco");
131 
132  histNDMCReco->Write("NDMCReco");
133  histNDMCTrue->Write("NDMCTrue");
134  histFDMCTrue->Write("FDMCTrue");
135  histFDMCReco->Write("FDMCReco");
136 
137  delete histNDDatReco;
138  delete histNDRwtTrue;
139  delete histFDExtTrue;
140  delete histFDExtReco;
141 
142  delete histNDMCReco;
143  delete histNDMCTrue;
144  delete histFDMCTrue;
145  delete histFDMCReco;
146 
147  tmp->cd();
148  }
OscillatableSpectrum fTrueToRecoFD
TH1D * ToTH1(double exposure, Color_t col=kBlack, Style_t style=kSolid, EExposureType expotype=kPOT, EBinType bintype=kBinContent) const
Histogram made from this Spectrum, scaled to some exposure.
Definition: Spectrum.cxx:148
OscillatableSpectrum fRecoToTrueND
const OscillatableSpectrum & Return() const
Interface so that result of Eval() is called only once and cached.
Float_t tmp
Definition: plot.C:36
std::vector< float > Spectrum
Definition: Constants.h:610
static Spectrum GetDecompResult(const IDecomp &, DecompResult)
Helper function to pick out single Spectrum from a decomposition.
TDirectory * dir
Definition: macro.C:5
const DecompResult fDecompRes
enum BeamMode kBlue
void SaveTo(TDirectory *dir, const std::string &name) const
static void ComparisonPlot(Spectrum mc, Spectrum notMC, double pot, std::string notMCLabel, int notMCColor, std::string latex, std::string title, std::string saveAs, bool restrictRange=false)
TH2D * ToTH2(double pot) const
void ana::TruthReweight::SaveTo ( TDirectory *  dir,
const std::string name 
) const
overridevirtual

Implements ana::ModularExtrapComponent.

Definition at line 281 of file ModularExtrapComponent.cxx.

References dir, ana::ModularExtrapComponent::DRToString(), fDecomp, fDecompRes, fLabel, fLatex, fRecoToTrueND, fTrueToRecoFD, ana::IDecomp::SaveTo(), ana::OscillatableSpectrum::SaveTo(), tmp, and Write().

282  {
283  TDirectory* tmp = gDirectory;
284 
285  dir = dir->mkdir(name.c_str()); // switch to subdir
286  dir->cd();
287 
288  TObjString("TruthReweight").Write("type");
289  fRecoToTrueND.SaveTo(dir, "RecoToTrueND");
290  fTrueToRecoFD.SaveTo(dir, "TrueToRecoFD");
291  fDecomp.SaveTo(dir, "Decomp");
292  TObjString(DRToString(fDecompRes).c_str()).Write("DecompRes");
293  TObjString(fLabel.c_str()).Write("Label");
294  TObjString(fLatex.c_str()).Write("Latex");
295 
296  dir->Write();
297  delete dir;
298 
299  tmp->cd();
300  }
const XML_Char * name
Definition: expat.h:151
OscillatableSpectrum fTrueToRecoFD
static std::string DRToString(DecompResult)
Helper function to turn a DecompResult into a string (for storage).
OscillatableSpectrum fRecoToTrueND
Float_t tmp
Definition: plot.C:36
TDirectory * dir
Definition: macro.C:5
virtual void SaveTo(TDirectory *dir, const std::string &name) const =0
const DecompResult fDecompRes
void SaveTo(TDirectory *dir, const std::string &name) const
gm Write()
static void ana::ModularExtrapComponent::SetQuiet ( bool  quiet = true)
inlinestaticinherited
DecompResult ana::ModularExtrapComponent::StringToDR ( std::string  str)
staticprotectedinherited

Helper function to turn a string into a DecompResult (for loading).

Definition at line 115 of file ModularExtrapComponent.cxx.

References ana::assert(), ana::NC, ana::NCbar, ana::NCtot, ana::nue, ana::nuebar, ana::numu, and ana::numubar.

Referenced by LoadFrom(), and ana::RecoReweight::LoadFrom().

117  {
118  if (str=="Nue") return DecompResult::nue;
119  else if (str=="Numu") return DecompResult::numu;
120  else if (str=="NueBar") return DecompResult::nuebar;
121  else if (str=="NumuBar") return DecompResult::numubar;
122  else if (str=="NC") return DecompResult::NC;
123  else if (str=="NCbar") return DecompResult::NCbar;
124  else if (str=="NCtot") return DecompResult::NCtot;
125  else assert( 0 && "Bad DecompResult String" );
126  }
assert(nhit_max >=nhit_nbins)

Member Data Documentation

const IDecomp& ana::TruthReweight::fDecomp
private

Definition at line 167 of file ModularExtrapComponent.h.

Referenced by Eval(), SaveTo(), and ~TruthReweight().

const DecompResult ana::TruthReweight::fDecompRes
private

Definition at line 169 of file ModularExtrapComponent.h.

Referenced by Eval(), and SaveTo().

std::string ana::TruthReweight::fLabel
private

Definition at line 170 of file ModularExtrapComponent.h.

Referenced by Eval(), and SaveTo().

std::string ana::TruthReweight::fLatex
private

Definition at line 171 of file ModularExtrapComponent.h.

Referenced by SaveTo().

bool ana::TruthReweight::fOwnDecomp
private

Definition at line 168 of file ModularExtrapComponent.h.

Referenced by LoadFrom(), and ~TruthReweight().

OscillatableSpectrum ana::TruthReweight::fRecoToTrueND
private

Definition at line 165 of file ModularExtrapComponent.h.

Referenced by Eval(), and SaveTo().

OscillatableSpectrum ana::TruthReweight::fTrueToRecoFD
private

Definition at line 166 of file ModularExtrapComponent.h.

Referenced by Eval(), and SaveTo().


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