Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

NuMMHelperPRL Class Reference

#include <NuMMHelperPRL.h>

Inheritance diagram for NuMMHelperPRL:

NuMMHelper NuMMHelperNoChargeCut List of all members.

Public Member Functions

 NuMMHelperPRL ()
 NuMMHelperPRL (const std::string &helperFilename, const std::string &xSecFilename)
virtual ~NuMMHelperPRL ()
virtual const TH1D * NDPurity ()
virtual const TH2D * NDRecoVsTrue ()
virtual const TH1D * NDEfficiency ()
virtual const TGraph * XSecGraph ()
virtual const TH2D * BeamMatrix ()
virtual const TH2D * BeamMatrixNuMuCCXSec ()
virtual const TGraph * XSecGraphTaus ()
virtual const TH1D * FDTauEfficiency ()
virtual const TH1D * FDEfficiency ()
virtual const TH2D * FDRecoVsTrue ()
virtual const TH2D * NDRecoVsTrueNC ()
virtual const TH2D * FDRecoVsTrueNC ()
virtual const TH2D * RecoVsTrueNC (int truth, int det)
virtual const TH1D * FDPurity ()
virtual const TH2D * FDTauRecoVsTrue ()
virtual void OverrideBeamMatrix (const TH2D *beamMatrix)

Private Attributes

TH1D * fPurity_ND
TH2D * fRecoVsTrueEnergy_ND
TH1D * fEfficiency_ND
TGraph * fXSec_CC_Graph
TGraph * fTau_XSec_CC_Graph
TH2D * fFDVsNDMatrixRW
TH2D * fFDVsNDMatrixXSecRW
TH1D * fEfficiency_FD
TH2D * fRecoVsTrueEnergy_FD
TH2D * fRecoVsTrueEnergy_ND_NC
TH2D * fRecoVsTrueEnergy_FD_NC
TH2D * fRecoVsTrueEnergy_NC_truly [ENCTruth::kNumTruths][2]
TH1D * fPurity_FD
TH2D * fRecoToTrueCCContamination_FD
TH2D * fTrueToRecoCCContamination_FD
TH1D * fSuppliedTrueUnoscCCBackground_FD
TH1D * fOtherEfficiency_FD
TH1D * fEfficiencyTau_FD
TH2D * fRecoVsTrueEnergyTau_FD

Constructor & Destructor Documentation

NuMMHelperPRL::NuMMHelperPRL  ) 
 

Definition at line 16 of file NuMMHelperPRL.cxx.

00017 {
00018 }

NuMMHelperPRL::NuMMHelperPRL const std::string &  helperFilename,
const std::string &  xSecFilename
[explicit]
 

Definition at line 21 of file NuMMHelperPRL.cxx.

References det, fEfficiency_FD, fEfficiency_ND, fEfficiencyTau_FD, fFDVsNDMatrixRW, fFDVsNDMatrixXSecRW, fPurity_FD, fPurity_ND, fRecoVsTrueEnergy_FD, fRecoVsTrueEnergy_FD_NC, fRecoVsTrueEnergy_NC_truly, fRecoVsTrueEnergy_ND, fRecoVsTrueEnergy_ND_NC, fRecoVsTrueEnergyTau_FD, fTau_XSec_CC_Graph, fXSec_CC_Graph, and MSG.

00023 {
00024   TFile helperFile(helperFilename.c_str(),"READ");
00025 
00026   fRecoVsTrueEnergy_ND = (TH2D*) helperFile.Get("RecoVsTrueEnergy_ND");
00027   fRecoVsTrueEnergy_ND->SetDirectory(0);
00028   fRecoVsTrueEnergy_FD = (TH2D*) helperFile.Get("RecoVsTrueEnergy_FD");
00029   fRecoVsTrueEnergy_FD->SetDirectory(0);
00030 
00031   fRecoVsTrueEnergy_ND_NC = (TH2D*) helperFile.Get("RecoVsTrueEnergy_ND_NC");
00032   if(fRecoVsTrueEnergy_ND_NC){
00033     fRecoVsTrueEnergy_ND_NC->SetDirectory(0);
00034     fRecoVsTrueEnergy_FD_NC = (TH2D*) helperFile.Get("RecoVsTrueEnergy_FD_NC");
00035     fRecoVsTrueEnergy_FD_NC->SetDirectory(0);
00036 
00037     for(int truth = 0; truth < ENCTruth::kNumTruths; ++truth){
00038       for(int det = 0; det <= 1; ++det){
00039         const TString detStr = det ? "FD" : "ND";
00040         fRecoVsTrueEnergy_NC_truly[truth][det] = (TH2D*)helperFile.Get("RecoVsTrueEnergy_truly"+ENCTruth::truthNames[truth]+"_"+detStr+"_NC");
00041         fRecoVsTrueEnergy_NC_truly[truth][det]->SetDirectory(0);
00042       }
00043     } // end for truth
00044   }
00045   else{ // We didn't get any NC plots, warn and null them out
00046     MSG("NuMMHelperPRL", Msg::kWarning) << "No NC plots found in helper file" << endl;
00047     fRecoVsTrueEnergy_FD_NC = 0;
00048     for(int truth = 0; truth < ENCTruth::kNumTruths; ++truth)
00049       for(int det = 0; det <= 1; ++det)
00050         fRecoVsTrueEnergy_NC_truly[truth][det] = 0;
00051   }
00052   
00053   fFDVsNDMatrixRW = (TH2D*) helperFile.Get("FDVsNDMatrixRW");
00054   if(fFDVsNDMatrixRW) fFDVsNDMatrixRW->SetDirectory(0);  
00055   fFDVsNDMatrixXSecRW = (TH2D*) helperFile.Get("FDVsNDMatrixXSecRW");
00056   if(fFDVsNDMatrixXSecRW) fFDVsNDMatrixXSecRW->SetDirectory(0);
00057   
00058   fEfficiency_ND = (TH1D*) helperFile.Get("Efficiency_ND");
00059   fEfficiency_ND->SetDirectory(0);
00060   fEfficiency_FD = (TH1D*) helperFile.Get("Efficiency_FD");
00061   fEfficiency_FD->SetDirectory(0);
00062 
00063   //The purity histograms in the helper file remove both the ND
00064   //background and the wrong sign CCs: the PRL analysis doesn't
00065   //remove the latter.
00066   fPurity_FD = (TH1D*) helperFile.Get("NCContamination_FD");
00067   fPurity_FD->SetDirectory(0);
00068   fPurity_ND = (TH1D*) helperFile.Get("NCContamination_ND");
00069   fPurity_ND->SetDirectory(0);
00070   for (int i=1; i<=fPurity_ND->GetNbinsX(); ++i){
00071     fPurity_ND->SetBinContent(i, 1.0 -
00072                               fPurity_ND->GetBinContent(i));
00073     fPurity_FD->SetBinContent(i, 1.0 -
00074                               fPurity_FD->GetBinContent(i));
00075   }
00076 
00077   //Tau helpers
00078   fEfficiencyTau_FD = (TH1D*) helperFile.Get("EfficiencyTau_FD");
00079   fEfficiencyTau_FD->SetDirectory(0);
00080   fRecoVsTrueEnergyTau_FD = (TH2D*)
00081     helperFile.Get("RecoVsTrueEnergyTau_FD");
00082   fRecoVsTrueEnergyTau_FD->SetDirectory(0);
00083   
00084   helperFile.Close();
00085   
00086   //Get cross-sections (numu)
00087   TFile *xsecfile = new TFile(xSecFilename.c_str(),"READ");
00088   TH1F* XSec_CC = (TH1F*) xsecfile->Get("h_numu_cc_tot");
00089   XSec_CC->SetDirectory(0);
00090   xsecfile->Close();
00091   if (xsecfile){delete xsecfile; xsecfile = 0;}
00092   Float_t *x = new Float_t[XSec_CC->GetNbinsX()];
00093   Float_t *y = new Float_t[XSec_CC->GetNbinsX()];
00094   for(int i=0;i<XSec_CC->GetNbinsX();i++) {
00095     x[i] = XSec_CC->GetBinCenter(i+1);
00096     y[i] = XSec_CC->GetBinContent(i+1);
00097   }
00098   fXSec_CC_Graph = new TGraph(XSec_CC->GetNbinsX(),x,y);
00099   if (x) {delete[] x; x = 0;}
00100   if (y) {delete[] y; y = 0;}
00101   
00102   //Get cross-sections (tau)
00103   xsecfile = new TFile(xSecFilename.c_str(),"READ");
00104   TH1F* tau_XSec_CC = (TH1F*) xsecfile->Get("h_nutau_cc_tot");
00105   tau_XSec_CC->SetDirectory(0);
00106   xsecfile->Close();
00107   if (xsecfile){delete xsecfile; xsecfile = 0;}
00108   x = new Float_t[tau_XSec_CC->GetNbinsX()];
00109   y = new Float_t[tau_XSec_CC->GetNbinsX()];
00110   for(int i=0;i<tau_XSec_CC->GetNbinsX();i++) {
00111     x[i] = tau_XSec_CC->GetBinCenter(i+1);
00112     y[i] = tau_XSec_CC->GetBinContent(i+1);
00113   }
00114   fTau_XSec_CC_Graph = new TGraph(tau_XSec_CC->GetNbinsX(),x,y);
00115   if (x) {delete[] x; x = 0;}
00116   if (y) {delete[] y; y = 0;}
00117 }

virtual NuMMHelperPRL::~NuMMHelperPRL  )  [inline, virtual]
 

Definition at line 17 of file NuMMHelperPRL.h.

00017 {};


Member Function Documentation

virtual const TH2D* NuMMHelperPRL::BeamMatrix void   )  [inline, virtual]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 23 of file NuMMHelperPRL.h.

Referenced by NuMMRunCC2010::CalculateFDFlux(), NuMMRunPRL::MakeFDPred(), and NuMMRunCCTutorial::MakeFDPred().

00023 {return fFDVsNDMatrixRW;}

virtual const TH2D* NuMMHelperPRL::BeamMatrixNuMuCCXSec  )  [inline, virtual]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 24 of file NuMMHelperPRL.h.

00024 {return fFDVsNDMatrixXSecRW;}

virtual const TH1D* NuMMHelperPRL::FDEfficiency void   )  [inline, virtual]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 27 of file NuMMHelperPRL.h.

Referenced by NuMMRunPRL::MakeFDPred(), NuMMRunCCTutorial::MakeFDPred(), and NuMMRunCC2010::MakeFDPred().

00027 {return fEfficiency_FD;}

virtual const TH1D* NuMMHelperPRL::FDPurity void   )  [inline, virtual]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 35 of file NuMMHelperPRL.h.

Referenced by NuMMRunPRL::MakeFDPred(), NuMMRunCCTutorial::MakeFDPred(), and NuMMRunCC2010::MakeFDPred().

00035 {return fPurity_FD;}

virtual const TH2D* NuMMHelperPRL::FDRecoVsTrue void   )  [inline, virtual]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 28 of file NuMMHelperPRL.h.

Referenced by NuMMRunPRL::MakeFDPred(), NuMMRunCCTutorial::MakeFDPred(), and NuMMRunCC2010::MakeFDPred().

00028 {return fRecoVsTrueEnergy_FD;}

virtual const TH2D* NuMMHelperPRL::FDRecoVsTrueNC  )  [inline, virtual]
 

Definition at line 30 of file NuMMHelperPRL.h.

00030 {return fRecoVsTrueEnergy_FD_NC;}

virtual const TH1D* NuMMHelperPRL::FDTauEfficiency void   )  [inline, virtual]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 26 of file NuMMHelperPRL.h.

Referenced by NuMMRunPRL::MakeFDPred(), NuMMRunCCTutorial::MakeFDPred(), and NuMMRunCC2010::MakeFDPred().

00026 {return fEfficiencyTau_FD;}

virtual const TH2D* NuMMHelperPRL::FDTauRecoVsTrue void   )  [inline, virtual]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 36 of file NuMMHelperPRL.h.

Referenced by NuMMRunPRL::MakeFDPred(), NuMMRunCCTutorial::MakeFDPred(), and NuMMRunCC2010::MakeFDPred().

00036 {return fRecoVsTrueEnergyTau_FD;}

virtual const TH1D* NuMMHelperPRL::NDEfficiency void   )  [inline, virtual]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 21 of file NuMMHelperPRL.h.

Referenced by NuMMRunCC2010::CalculateFDFlux(), NuMMRunPRL::MakeFDPred(), and NuMMRunCCTutorial::MakeFDPred().

00021 {return fEfficiency_ND;}

virtual const TH1D* NuMMHelperPRL::NDPurity void   )  [inline, virtual]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 19 of file NuMMHelperPRL.h.

Referenced by NuMMRunCC2010::CalculateFDFlux(), NuMMRunPRL::MakeFDPred(), and NuMMRunCCTutorial::MakeFDPred().

00019 {return fPurity_ND;}

virtual const TH2D* NuMMHelperPRL::NDRecoVsTrue void   )  [inline, virtual]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 20 of file NuMMHelperPRL.h.

Referenced by NuMMRunCC2010::CalculateFDFlux(), NuMMRunPRL::MakeFDPred(), and NuMMRunCCTutorial::MakeFDPred().

00020 {return fRecoVsTrueEnergy_ND;}

virtual const TH2D* NuMMHelperPRL::NDRecoVsTrueNC  )  [inline, virtual]
 

Definition at line 29 of file NuMMHelperPRL.h.

00029 {return fRecoVsTrueEnergy_ND_NC;}

void NuMMHelperPRL::OverrideBeamMatrix const TH2D *  beamMatrix  )  [virtual]
 

Definition at line 120 of file NuMMHelperPRL.cxx.

References fFDVsNDMatrixRW.

00121 {
00122   if (fFDVsNDMatrixRW){delete fFDVsNDMatrixRW; fFDVsNDMatrixRW=0;}
00123   fFDVsNDMatrixRW = new TH2D(*beamMatrix);
00124 }

virtual const TH2D* NuMMHelperPRL::RecoVsTrueNC int  truth,
int  det
[inline, virtual]
 

Definition at line 31 of file NuMMHelperPRL.h.

References fRecoVsTrueEnergy_NC_truly.

Referenced by NuMMRunNC2010::MakeFDPred().

00032   {
00033     return fRecoVsTrueEnergy_NC_truly[truth][det];
00034   }

virtual const TGraph* NuMMHelperPRL::XSecGraph void   )  [inline, virtual]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 22 of file NuMMHelperPRL.h.

Referenced by NuMMRunCC2010::CalculateFDFlux(), NuMMRunPRL::MakeFDPred(), NuMMRunCCTutorial::MakeFDPred(), and NuMMRunCC2010::MakeFDPred().

00022 {return fXSec_CC_Graph;}

virtual const TGraph* NuMMHelperPRL::XSecGraphTaus void   )  [inline, virtual]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 25 of file NuMMHelperPRL.h.

Referenced by NuMMRunPRL::MakeFDPred(), NuMMRunCCTutorial::MakeFDPred(), and NuMMRunCC2010::MakeFDPred().

00025 {return fTau_XSec_CC_Graph;}


Member Data Documentation

TH1D* NuMMHelperPRL::fEfficiency_FD [private]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 49 of file NuMMHelperPRL.h.

Referenced by NuMMHelperPRL().

TH1D* NuMMHelperPRL::fEfficiency_ND [private]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 44 of file NuMMHelperPRL.h.

Referenced by NuMMHelperPRL().

TH1D* NuMMHelperPRL::fEfficiencyTau_FD [private]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 63 of file NuMMHelperPRL.h.

Referenced by NuMMHelperPRL().

TH2D* NuMMHelperPRL::fFDVsNDMatrixRW [private]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 47 of file NuMMHelperPRL.h.

Referenced by NuMMHelperPRL(), and OverrideBeamMatrix().

TH2D* NuMMHelperPRL::fFDVsNDMatrixXSecRW [private]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 48 of file NuMMHelperPRL.h.

Referenced by NuMMHelperPRL().

TH1D* NuMMHelperPRL::fOtherEfficiency_FD [private]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 61 of file NuMMHelperPRL.h.

TH1D* NuMMHelperPRL::fPurity_FD [private]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 57 of file NuMMHelperPRL.h.

Referenced by NuMMHelperPRL().

TH1D* NuMMHelperPRL::fPurity_ND [private]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 42 of file NuMMHelperPRL.h.

Referenced by NuMMHelperPRL().

TH2D* NuMMHelperPRL::fRecoToTrueCCContamination_FD [private]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 58 of file NuMMHelperPRL.h.

TH2D* NuMMHelperPRL::fRecoVsTrueEnergy_FD [private]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 50 of file NuMMHelperPRL.h.

Referenced by NuMMHelperPRL().

TH2D* NuMMHelperPRL::fRecoVsTrueEnergy_FD_NC [private]
 

Definition at line 54 of file NuMMHelperPRL.h.

Referenced by NuMMHelperPRL().

TH2D* NuMMHelperPRL::fRecoVsTrueEnergy_NC_truly[ENCTruth::kNumTruths][2] [private]
 

Definition at line 55 of file NuMMHelperPRL.h.

Referenced by NuMMHelperPRL(), and RecoVsTrueNC().

TH2D* NuMMHelperPRL::fRecoVsTrueEnergy_ND [private]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 43 of file NuMMHelperPRL.h.

Referenced by NuMMHelperPRL().

TH2D* NuMMHelperPRL::fRecoVsTrueEnergy_ND_NC [private]
 

Definition at line 53 of file NuMMHelperPRL.h.

Referenced by NuMMHelperPRL().

TH2D* NuMMHelperPRL::fRecoVsTrueEnergyTau_FD [private]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 64 of file NuMMHelperPRL.h.

Referenced by NuMMHelperPRL().

TH1D* NuMMHelperPRL::fSuppliedTrueUnoscCCBackground_FD [private]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 60 of file NuMMHelperPRL.h.

TGraph* NuMMHelperPRL::fTau_XSec_CC_Graph [private]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 46 of file NuMMHelperPRL.h.

Referenced by NuMMHelperPRL().

TH2D* NuMMHelperPRL::fTrueToRecoCCContamination_FD [private]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 59 of file NuMMHelperPRL.h.

TGraph* NuMMHelperPRL::fXSec_CC_Graph [private]
 

Reimplemented in NuMMHelperNoChargeCut.

Definition at line 45 of file NuMMHelperPRL.h.

Referenced by NuMMHelperPRL().


The documentation for this class was generated from the following files:
Generated on Mon Feb 15 11:09:54 2010 for loon by  doxygen 1.3.9.1