All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
sbnd::NuAna Class Reference

A module to extract the info from the Monte Carlo generator GENIE. More...

Inheritance diagram for sbnd::NuAna:

Public Member Functions

 NuAna (fhicl::ParameterSet const &pset)
 
virtual ~NuAna ()
 
void beginJob ()
 
void analyze (const art::Event &evt)
 
void beginSubRun (const art::SubRun &subrun)
 
void reset ()
 

Private Attributes

NuAnaAlg fNuAnaAlg
 
std::string fMode
 
double fBaseline
 
bool fFullOscTrue
 
std::string fGenieModuleLabel
 
std::string fLarg4ModuleLabel
 
bool fFluxReweight
 
bool fXSecReweight
 
std::vector< std::string > fWeights
 
std::vector< float > fWeightRangeSigma
 
unsigned int fRandSeed
 
int fNWeights
 
unsigned int FinalRandSeed
 
std::vector< std::vector< float > > reweightingSigmas
 
TTree * fTreeTot
 
std::vector< std::vector< float > > eventWeights
 
std::vector< float > neutMom
 
std::vector< std::vector< float > > leptonPos
 
std::vector< std::vector< float > > leptonMom
 
double Elep
 
double thetaLep
 
double phiLep
 
int NPi0FinalState
 
int NGamma
 
int NChargedPions
 
bool foundAllPhotons
 
std::vector< std::vector< float > > p1PhotonConversionPos
 
std::vector< std::vector< float > > p1PhotonConversionMom
 
std::vector< std::vector< float > > p2PhotonConversionPos
 
std::vector< std::vector< float > > p2PhotonConversionMom
 
std::vector< std::vector< float > > miscPhotonConversionPos
 
std::vector< std::vector< float > > miscPhotonConversionMom
 
std::vector< std::vector
< std::vector< float > > > 
chargedPionPos
 
std::vector< std::vector
< std::vector< float > > > 
chargedPionMom
 
std::vector< int > chargedPionSign
 
std::vector< std::vector< float > > pionPos
 
std::vector< std::vector< float > > pionMom
 
std::vector< int > GeniePDG
 
std::vector< std::vector< float > > GenieMomentum
 
std::vector< std::string > GenieProc
 
std::vector< std::vector< float > > genieReweights
 
int iflux
 
int nuchan
 
int inno
 
int parid
 
int ndecay
 
int isCC
 
int mode
 
double enugen
 
double nuleng
 
std::vector< float > vertex
 
std::vector< float > neutVertexInWindow
 
std::vector< float > ParentVertex
 
std::vector< float > nuParentMomAtDecay
 
std::vector< float > nuParentMomAtProd
 
std::vector< float > nuParentMomTargetExit
 
int ptype
 
int tptype
 
double POT
 

Detailed Description

A module to extract the info from the Monte Carlo generator GENIE.

Definition at line 50 of file NuAna_module.cc.

Constructor & Destructor Documentation

sbnd::NuAna::NuAna ( fhicl::ParameterSet const &  pset)
explicit

Definition at line 180 of file NuAna_module.cc.

181  : EDAnalyzer(pset)
182  , fMode (pset.get< std::string > ("Mode"))
183  , fBaseline (pset.get< double > ("Baseline"))
184  , fFullOscTrue (pset.get< bool > ("FullOsc"))
185  , fGenieModuleLabel (pset.get< std::string > ("GenieModuleLabel"))
186  , fLarg4ModuleLabel (pset.get< std::string > ("LArG4ModuleLabel"))
187  , fFluxReweight (pset.get< bool > ("FluxReweight"))
188  , fXSecReweight (pset.get< bool > ("XSecReweight"))
189  , fWeights (pset.get< std::vector<std::string> > ("Weights"))
190  , fRandSeed (pset.get< unsigned int > ("RandSeed"))
191  , fNWeights (pset.get< int > ("NWeights"))
192  {
193 
194  // This function sets up the ttrees
195  // get access to the TFile service
196  art::ServiceHandle<art::TFileService> tfs;
197 
198  // PoTTree = tfs->make<TTree>("POT", "POT");
199 
200  std::ofstream libraryFile;
201  libraryFile.open("loadLibs.C");
202  libraryFile << "#include <vector>\n";
203  libraryFile << "#ifdef __MAKECINT__\n";
204  libraryFile << "#pragma link C++ class std::vector<std::vector<float> >+;\n";
205  libraryFile << "#pragma link C++ class std::vector<std::vector<std::vector<float> > >+;\n";
206  libraryFile << "#endif\n";
207  libraryFile.close();
208  gROOT -> ProcessLine(".L loadLibs.C+");
209 
210  fTreeTot = tfs->make<TTree>("EventsTot", "Event info for ALL types");
211 
212  fTreeTot->Branch("POT",&POT,"POT/D");
213 
214  // Neutrino/event variables:
215  fTreeTot->Branch("iflux", &iflux, "iflux/I");
216  fTreeTot->Branch("nuchan", &nuchan, "nuchan/I");
217  fTreeTot->Branch("inno", &inno, "inno/I");
218  fTreeTot->Branch("enugen", &enugen, "enugen/D");
219  fTreeTot->Branch("nuleng", &nuleng, "nuleng/D");
220  fTreeTot->Branch("isCC", &isCC, "isCC/I");
221  fTreeTot->Branch("mode", &mode, "mode/I");
222  fTreeTot->Branch("ThetaLep", &thetaLep, "ThetaLep/D");
223  fTreeTot->Branch("PhiLep", &phiLep, "PhiLep/D");
224  fTreeTot->Branch("Elep", &Elep, "Elep/D");
225  fTreeTot->Branch("neutMom", "neutMom", &neutMom, 32000, 0);
226  fTreeTot->Branch("vertex", "vertex", &vertex, 32000, 0);
227 
228  // Genie Variables
229  fTreeTot->Branch("GeniePDG", &GeniePDG);
230  fTreeTot->Branch("GenieMomentum", "std::vector<std::vector<float> >", &GenieMomentum);
231  fTreeTot->Branch("GenieProc", &GenieProc);
232  // "var","std::vector<std::vector<float> >",&vec
233 
234  // Flux variables:
235  fTreeTot->Branch("ptype", &ptype, "ptype/I");
236  fTreeTot->Branch("tptype",&tptype,"tptype/I");
237  fTreeTot->Branch("ndecay",&ndecay,"ndecay/I");
238  fTreeTot->Branch("neutVertexInWindow", "neutVertexInWindow", &neutVertexInWindow, 32000, 0);
239  fTreeTot->Branch("ParentVertex", "ParentVertex", &ParentVertex, 32000, 0);
240  fTreeTot->Branch("nuParentMomAtDecay", "nuParentMomAtDecay", &nuParentMomAtDecay, 32000, 0);
241  fTreeTot->Branch("nuParentMomAtProd", "nuParentMomAtProd", &nuParentMomAtProd, 32000, 0);
242  fTreeTot->Branch("nuParentMomTargetExit", "nuParentMomTargetExit", &nuParentMomTargetExit, 32000, 0);
243 
244  // larg4 info
245  fTreeTot->Branch("leptonPos","std::vector< std::vector<float> > ", &leptonPos, 32000, 0);
246  fTreeTot->Branch("leptonMom","std::vector< std::vector<float> > ", &leptonMom, 32000, 0);
247  fTreeTot->Branch("NPi0FinalState", &NPi0FinalState, "NPi0FinalState/I");
248  fTreeTot->Branch("NGamma", &NGamma, "NGamma/I");
249  fTreeTot->Branch("FoundPhotons", &foundAllPhotons,"FoundAllPhotons/B");
250  fTreeTot->Branch("p1PhotonConversionPos","std::vector< std::vector<float> > ", &p1PhotonConversionPos, 32000, 0);
251  fTreeTot->Branch("p1PhotonConversionMom","std::vector< std::vector<float> > ", &p1PhotonConversionMom, 32000, 0);
252  fTreeTot->Branch("p2PhotonConversionPos","std::vector< std::vector<float> > ", &p2PhotonConversionPos, 32000, 0);
253  fTreeTot->Branch("p2PhotonConversionMom","std::vector< std::vector<float> > ", &p2PhotonConversionMom, 32000, 0);
254  fTreeTot->Branch("miscPhotonConversionPos","std::vector< std::vector<float> > ", &miscPhotonConversionPos, 32000, 0);
255  fTreeTot->Branch("miscPhotonConversionMom","std::vector< std::vector<float> > ", &miscPhotonConversionMom, 32000, 0);
256  fTreeTot->Branch("PionPos","std::vector< std::vector<float> >", &pionPos, 32000, 0);
257  fTreeTot->Branch("PionMom","std::vector< std::vector<float> >", &pionMom, 32000, 0);
258  fTreeTot->Branch("ChargedPionPos","std::vector<std::vector< std::vector<float> > >",&chargedPionPos, 32000,0);
259  fTreeTot->Branch("ChargedPionMom","std::vector<std::vector< std::vector<float> > >",&chargedPionMom, 32000,0);
260  fTreeTot->Branch("ChargedPionSign","ChargedPionSign",&chargedPionSign, 32000,0);
261 
262 
263  if (fXSecReweight){
264  fTreeTot->Branch("MultiWeight","MultiWeight",&eventWeights,32000,0);
265  fTreeTot->Branch("FinalRandSeed", &FinalRandSeed, "FinalRandSeed/I");
266  }
267  if (fFluxReweight){
268  fTreeTot->Branch("MultiWeight","MultiWeight",&eventWeights,32000,0);
269  }
270 
271  }
std::string fLarg4ModuleLabel
Definition: NuAna_module.cc:76
std::vector< std::vector< float > > p1PhotonConversionMom
std::vector< std::string > GenieProc
bool fXSecReweight
Definition: NuAna_module.cc:81
std::vector< float > ParentVertex
std::vector< std::vector< float > > GenieMomentum
std::vector< float > nuParentMomTargetExit
std::vector< float > vertex
std::vector< std::vector< float > > p2PhotonConversionMom
bool fFluxReweight
Definition: NuAna_module.cc:79
unsigned int FinalRandSeed
Definition: NuAna_module.cc:87
bool fFullOscTrue
Definition: NuAna_module.cc:72
std::vector< std::vector< float > > miscPhotonConversionPos
double thetaLep
std::string fGenieModuleLabel
Definition: NuAna_module.cc:75
std::vector< std::vector< std::vector< float > > > chargedPionPos
TTree * fTreeTot
Definition: NuAna_module.cc:95
std::vector< float > nuParentMomAtProd
double fBaseline
Definition: NuAna_module.cc:71
std::vector< std::string > fWeights
Definition: NuAna_module.cc:82
std::vector< std::vector< float > > eventWeights
Definition: NuAna_module.cc:98
std::vector< std::vector< std::vector< float > > > chargedPionMom
unsigned int fRandSeed
Definition: NuAna_module.cc:84
std::vector< std::vector< float > > pionPos
std::vector< int > chargedPionSign
std::vector< std::vector< float > > pionMom
std::vector< float > neutMom
std::string fMode
Definition: NuAna_module.cc:70
std::vector< int > GeniePDG
std::vector< std::vector< float > > leptonMom
bool foundAllPhotons
std::vector< std::vector< float > > leptonPos
std::vector< std::vector< float > > p1PhotonConversionPos
std::vector< std::vector< float > > p2PhotonConversionPos
art::ServiceHandle< art::TFileService > tfs
std::vector< float > nuParentMomAtDecay
std::vector< std::vector< float > > miscPhotonConversionMom
std::vector< float > neutVertexInWindow
virtual sbnd::NuAna::~NuAna ( )
inlinevirtual

Definition at line 53 of file NuAna_module.cc.

53 {};

Member Function Documentation

void sbnd::NuAna::analyze ( const art::Event &  evt)

Definition at line 379 of file NuAna_module.cc.

379  {
380 
381  this -> reset();
382 
383  //get the MC generator information out of the event
384  //these are all handles to mc information.
385  art::Handle< std::vector<simb::MCTruth> > mclistGENIE;
386  art::Handle< std::vector<simb::MCParticle> > mclistLARG4;
387  art::Handle< std::vector<simb::MCFlux> > mcflux;
388  art::Handle< std::vector<simb::GTruth> > mcgtruth;
389 
390  // Start by getting the POT for this neutrino's file:
391  // art::Handle< sumdata::POTSummary > potHandle;
392  // evt.getByLabel(fGenieModuleLabel, potHandle);
393  // POT = potHandle->totpot;
394 
395 
396  //actually go and get the stuff
397  evt.getByLabel(fGenieModuleLabel,mclistGENIE);
398  evt.getByLabel(fGenieModuleLabel,mcflux);
399  evt.getByLabel(fGenieModuleLabel,mcgtruth);
400  if (!fFullOscTrue)
401  evt.getByLabel(fLarg4ModuleLabel,mclistLARG4);
402 
403  // contains the mctruth object from genie
404  art::Ptr<simb::MCTruth> mc(mclistGENIE,0);
405 
406  // contains the mcflux object
407  art::Ptr<simb::MCFlux > flux(mcflux,0);
408 
409  // contains the gtruth object
410  art::Ptr<simb::GTruth > gtruth(mcgtruth,0);
411 
412 
413 
414  // Contains the neutrino info
415  simb::MCNeutrino neutrino = mc -> GetNeutrino();
416 
417  // std::cout << "The interaction info is: \n"
418  // << " gtruth->ftgtPDG................." << gtruth->ftgtPDG << "\n"
419  // << " gtruth->ftgtZ..................." << gtruth->ftgtZ << "\n"
420  // << " gtruth->ftgtA..................." << gtruth->ftgtA << "\n"
421  // << " gtruth->fGint..................." << gtruth->fGint << "\n"
422  // << " gtruth->fGscatter..............." << gtruth->fGscatter << "\n"
423  // << " gtruth->fweight................." << gtruth->fweight << "\n"
424  // << " neutrino.Mode()................." << neutrino.Mode() << "\n"
425  // << " neutrino.InteractionType()......" << neutrino.InteractionType() << "\n"
426  // << " neutrino.CCNC()................." << neutrino.CCNC() << "\n"
427  // << " neutrino.Target()..............." << neutrino.Target() << "\n"
428  // << std::endl;
429 
430  // Now start packing up the variables to fill the tree
431  // In general, have the algorithm do this:
432 
433 
434  // get the basic neutrino info:
435  fNuAnaAlg.packNeutrinoInfo( &neutrino,
436  nuchan,
437  inno,
438  enugen,
439  isCC,
440  mode,
441  thetaLep,
442  phiLep,
443  Elep,
444  neutMom,
445  vertex);
446 
447 
448  // Pack up the flux info:
449  fNuAnaAlg.packFluxInfo( flux,
450  ptype, tptype, ndecay,
452  ParentVertex,
456 
457  // nuleng needs special attention:
458  TVector3 length(vertex[0] - ParentVertex[0],
459  vertex[1] - ParentVertex[1],
460  100*fBaseline + vertex[2] - ParentVertex[2]);
461  nuleng = length.Mag();
462 
463  // Pack up the genie info:
465  GeniePDG,
467  GenieProc,
469  NGamma,
470  NChargedPions);
471 
472 
473  // pack up the larg4 photon info:
474  if(!fFullOscTrue)
477  leptonPos,
478  leptonMom,
485  pionPos,
486  pionMom,
490 
491 
492 
493 
494 
495 
496  // If needed, set up the weights.
497 
498  if (fFluxReweight){
500  }
501 
502  // Find a new weight for this event:
503  // std::vector<std::vector<float> > weights;
504  if (fXSecReweight){
505  fNuAnaAlg.calcWeight(mc, gtruth,eventWeights);
506  // std::cout << "Printing weights for this event:\n";
507  // for (auto s : fWeights) std::cout << s << "\t";
508  // std::cout << "Total\n";
509  // for (unsigned int row = 0; row < eventWeights.front().size(); row ++){
510  // for (unsigned int column = 0; column < eventWeights.size(); column ++){
511  // std::cout << eventWeights[column][row] << "\t";
512  // }
513  // std::cout << std::endl;
514  // }
515 
516  }
517 
518  // Fill the ttree:
519  fTreeTot->Fill();
520 
521 
522  return;
523  }
std::string fLarg4ModuleLabel
Definition: NuAna_module.cc:76
std::vector< std::vector< float > > p1PhotonConversionMom
std::vector< std::string > GenieProc
bool fXSecReweight
Definition: NuAna_module.cc:81
std::vector< float > ParentVertex
std::vector< std::vector< float > > GenieMomentum
std::vector< float > nuParentMomTargetExit
std::vector< float > vertex
std::vector< std::vector< float > > p2PhotonConversionMom
bool fFluxReweight
Definition: NuAna_module.cc:79
bool fFullOscTrue
Definition: NuAna_module.cc:72
std::vector< std::vector< float > > miscPhotonConversionPos
double thetaLep
std::string fGenieModuleLabel
Definition: NuAna_module.cc:75
std::vector< std::vector< std::vector< float > > > chargedPionPos
TTree * fTreeTot
Definition: NuAna_module.cc:95
void packFluxWeight(art::Ptr< simb::MCFlux > flux, std::vector< std::vector< float >> &)
Definition: NuAnaAlg.cxx:712
std::vector< float > nuParentMomAtProd
double fBaseline
Definition: NuAna_module.cc:71
std::vector< std::vector< float > > eventWeights
Definition: NuAna_module.cc:98
std::vector< std::vector< std::vector< float > > > chargedPionMom
NuAnaAlg fNuAnaAlg
Definition: NuAna_module.cc:65
void packGenieInfo(art::Ptr< simb::MCTruth > truth, std::vector< int > &GeniePDG, std::vector< std::vector< float >> &GenieMomentum, std::vector< std::string > &GenieProc, int &NPi0FinalState, int &NGamma, int &NChargedPions)
Definition: NuAnaAlg.cxx:371
void packFluxInfo(art::Ptr< simb::MCFlux > flux, int &ptype, int &tptype, int &ndecay, std::vector< float > &neutVertexInWindow, std::vector< float > &ParentVertex, std::vector< float > &nuParentMomAtDecay, std::vector< float > &nuParentMomAtProd, std::vector< float > &nuParentMomTargetExit)
Definition: NuAnaAlg.cxx:333
std::vector< std::vector< float > > pionPos
std::vector< int > chargedPionSign
std::vector< std::vector< float > > pionMom
std::vector< float > neutMom
void packLarg4Info(art::Handle< std::vector< simb::MCParticle > > mclarg4, int, int, int, int, std::vector< std::vector< float > > &leptonPos, std::vector< std::vector< float > > &leptonMom, std::vector< std::vector< float > > &p1PhotonConversionPos, std::vector< std::vector< float > > &p1PhotonConversionMom, std::vector< std::vector< float > > &p2PhotonConversionPos, std::vector< std::vector< float > > &p2PhotonConversionMom, std::vector< std::vector< float > > &miscPhotonConversionPos, std::vector< std::vector< float > > &miscPhotonConversionMom, std::vector< std::vector< float > > &pionPos, std::vector< std::vector< float > > &pionMom, std::vector< std::vector< std::vector< float > > > &chargedPionPos, std::vector< std::vector< std::vector< float > > > &chargedPionMom, std::vector< int > &chargePionSign)
Definition: NuAnaAlg.cxx:493
std::vector< int > GeniePDG
std::vector< std::vector< float > > leptonMom
std::vector< std::vector< float > > leptonPos
std::vector< std::vector< float > > p1PhotonConversionPos
std::vector< std::vector< float > > p2PhotonConversionPos
TCEvent evt
Definition: DataStructs.cxx:8
void packNeutrinoInfo(simb::MCNeutrino *neutrino, int &nuchan, int &inno, double &enugen, int &isCC, int &mode, double &thetaLep, double &phiLep, double &Elep, std::vector< float > &neutMom, std::vector< float > &vertex)
Definition: NuAnaAlg.cxx:287
std::vector< float > nuParentMomAtDecay
void calcWeight(art::Ptr< simb::MCTruth >, art::Ptr< simb::GTruth >, std::vector< std::vector< float >> &)
Definition: NuAnaAlg.cxx:257
std::vector< std::vector< float > > miscPhotonConversionMom
std::vector< float > neutVertexInWindow
void sbnd::NuAna::beginJob ( )

Definition at line 274 of file NuAna_module.cc.

274  {
275 
276  std::cout << "\nThe mode is " << fMode << std::endl;
277  std::cout << "This set of events is ";
278  if (fFullOscTrue) std::cout << "fullosc" << std::endl;
279  else std::cout << "not fullosc" << std::endl;
280  std::cout << "The baseline for this detector is "
281  << fBaseline << "m." << std::endl << std::endl;
282 
283  reset();
284  // gROOT->ProcessLine(".L loadDictionaries.C+");
285 
286  art::ServiceHandle<geo::Geometry> geom;
287  // configure the geometry in the worker function:
289 
290  if (fXSecReweight){
291  std::vector<reweight> reweights;
292  fNuAnaAlg.parseWeights(fWeights, reweights);
296  }
297 
298  return;
299  }
bool fXSecReweight
Definition: NuAna_module.cc:81
unsigned int FinalRandSeed
Definition: NuAna_module.cc:87
bool fFullOscTrue
Definition: NuAna_module.cc:72
std::vector< std::vector< float > > reweightingSigmas
Definition: NuAna_module.cc:89
double fBaseline
Definition: NuAna_module.cc:71
std::vector< std::string > fWeights
Definition: NuAna_module.cc:82
unsigned int fRandSeed
Definition: NuAna_module.cc:84
NuAnaAlg fNuAnaAlg
Definition: NuAna_module.cc:65
void configureReWeight(const std::vector< reweight > &, const std::vector< std::vector< float >> &)
Definition: NuAnaAlg.cxx:44
std::string fMode
Definition: NuAna_module.cc:70
void configureGeometry(art::ServiceHandle< geo::Geometry >)
Definition: NuAnaAlg.cxx:14
void parseWeights(const std::vector< std::string > &, std::vector< reweight > &)
Definition: NuAnaAlg.cxx:229
unsigned int prepareSigmas(int, unsigned int, std::vector< std::vector< float > > &)
Definition: NuAnaAlg.cxx:211
BEGIN_PROLOG could also be cout
void sbnd::NuAna::beginSubRun ( const art::SubRun &  subrun)

Definition at line 302 of file NuAna_module.cc.

302  {
303 
304  // Go through POTSummary objects
305  art::Handle< sumdata::POTSummary > potHandle;
306  subrun.getByLabel(fGenieModuleLabel, potHandle);
307  const sumdata::POTSummary& potSum = (*potHandle);
308  POT = potSum.totpot;
309  // PoTTree->Fill();
310  return;
311  }
std::string fGenieModuleLabel
Definition: NuAna_module.cc:75
void sbnd::NuAna::reset ( )

Definition at line 312 of file NuAna_module.cc.

312  {
313 
314  // This method takes ANYTHING that goes into the ntuple and sets it to default.
315 
316  // Start by making sure the appropriate vectors are cleared and emptied:
317  eventWeights.clear();
318  leptonPos.clear();
319  leptonMom.clear();
320  p1PhotonConversionPos.clear();
321  p1PhotonConversionMom.clear();
322  p2PhotonConversionPos.clear();
323  p2PhotonConversionMom.clear();
324  miscPhotonConversionPos.clear();
325  miscPhotonConversionMom.clear();
326  pionPos.clear();
327  pionMom.clear();
328  chargedPionPos.clear();
329  chargedPionMom.clear();
330  chargedPionSign.clear();
331 
332  GeniePDG.clear();
333  GenieMomentum.clear();
334  GenieProc.clear();
335 
336  NPi0FinalState = 0;
337  NChargedPions = 0;
338  NGamma = 0;
339  foundAllPhotons = true;
340 
341  ptype = 0;
342  tptype = 0;
343 
344  // POT = 0;
345 
346  // Clear out the root vectors
347  vertex.clear();
348  ParentVertex.clear();
349  nuParentMomAtDecay.clear();
350  nuParentMomAtProd.clear();
351  nuParentMomTargetExit.clear();
352  neutMom.clear();
353 
354  // iflux = -999; // represents the sample, 0 = nu, 1 = nu_fosc, 2 = nubar, 3 = nubar_fosc
355  nuchan = -999; // Type of neutrino interaction
356  inno = -999; // Type of neutrino, PDG code. Not sure why it's inno...
357  parid = -999; // ID of the parent, for flux reweighing
358  ndecay = -999; // Type of decay, for flux reweighing
359  isCC = -999; // isCC event? isCC == 1 means CC, isCC == 0 means NC
360  mode = -999; // beam mode
361  enugen = -999; // Energy of the neutrino (both)
362  nuleng = -999; // Length the neutrino traveled.
363  Elep = -999;
364  thetaLep = -999;
365  phiLep = -999;
366  // POT = -999; //POT of the whole file.
367 
368  // eventReweight.clear();
369  // eventReweight.resize(7);
370  // for (auto & weight : eventReweight)
371  // {
372  // weight.clear();
373  // weight.resize(1000);
374  // }
375 
376  return;
377  }
std::vector< std::vector< float > > p1PhotonConversionMom
std::vector< std::string > GenieProc
std::vector< float > ParentVertex
std::vector< std::vector< float > > GenieMomentum
std::vector< float > nuParentMomTargetExit
std::vector< float > vertex
std::vector< std::vector< float > > p2PhotonConversionMom
std::vector< std::vector< float > > miscPhotonConversionPos
double thetaLep
std::vector< std::vector< std::vector< float > > > chargedPionPos
std::vector< float > nuParentMomAtProd
std::vector< std::vector< float > > eventWeights
Definition: NuAna_module.cc:98
std::vector< std::vector< std::vector< float > > > chargedPionMom
std::vector< std::vector< float > > pionPos
std::vector< int > chargedPionSign
std::vector< std::vector< float > > pionMom
std::vector< float > neutMom
std::vector< int > GeniePDG
std::vector< std::vector< float > > leptonMom
bool foundAllPhotons
std::vector< std::vector< float > > leptonPos
std::vector< std::vector< float > > p1PhotonConversionPos
std::vector< std::vector< float > > p2PhotonConversionPos
std::vector< float > nuParentMomAtDecay
std::vector< std::vector< float > > miscPhotonConversionMom

Member Data Documentation

std::vector< std::vector < std::vector<float> > > sbnd::NuAna::chargedPionMom
private

Definition at line 132 of file NuAna_module.cc.

std::vector< std::vector < std::vector<float> > > sbnd::NuAna::chargedPionPos
private

Definition at line 131 of file NuAna_module.cc.

std::vector< int > sbnd::NuAna::chargedPionSign
private

Definition at line 133 of file NuAna_module.cc.

double sbnd::NuAna::Elep
private

Definition at line 107 of file NuAna_module.cc.

double sbnd::NuAna::enugen
private

Definition at line 154 of file NuAna_module.cc.

std::vector<std::vector<float> > sbnd::NuAna::eventWeights
private

Definition at line 98 of file NuAna_module.cc.

double sbnd::NuAna::fBaseline
private

Definition at line 71 of file NuAna_module.cc.

bool sbnd::NuAna::fFluxReweight
private

Definition at line 79 of file NuAna_module.cc.

bool sbnd::NuAna::fFullOscTrue
private

Definition at line 72 of file NuAna_module.cc.

std::string sbnd::NuAna::fGenieModuleLabel
private

Definition at line 75 of file NuAna_module.cc.

unsigned int sbnd::NuAna::FinalRandSeed
private

Definition at line 87 of file NuAna_module.cc.

std::string sbnd::NuAna::fLarg4ModuleLabel
private

Definition at line 76 of file NuAna_module.cc.

std::string sbnd::NuAna::fMode
private

Definition at line 70 of file NuAna_module.cc.

NuAnaAlg sbnd::NuAna::fNuAnaAlg
private

Definition at line 65 of file NuAna_module.cc.

int sbnd::NuAna::fNWeights
private

Definition at line 85 of file NuAna_module.cc.

bool sbnd::NuAna::foundAllPhotons
private

Definition at line 115 of file NuAna_module.cc.

unsigned int sbnd::NuAna::fRandSeed
private

Definition at line 84 of file NuAna_module.cc.

TTree* sbnd::NuAna::fTreeTot
private

Definition at line 95 of file NuAna_module.cc.

std::vector<float> sbnd::NuAna::fWeightRangeSigma
private

Definition at line 83 of file NuAna_module.cc.

std::vector<std::string> sbnd::NuAna::fWeights
private

Definition at line 82 of file NuAna_module.cc.

bool sbnd::NuAna::fXSecReweight
private

Definition at line 81 of file NuAna_module.cc.

std::vector<std::vector<float> > sbnd::NuAna::GenieMomentum
private

Definition at line 142 of file NuAna_module.cc.

std::vector<int> sbnd::NuAna::GeniePDG
private

Definition at line 141 of file NuAna_module.cc.

std::vector<std::string> sbnd::NuAna::GenieProc
private

Definition at line 143 of file NuAna_module.cc.

std::vector< std::vector< float > > sbnd::NuAna::genieReweights
private

Definition at line 145 of file NuAna_module.cc.

int sbnd::NuAna::iflux
private

Definition at line 147 of file NuAna_module.cc.

int sbnd::NuAna::inno
private

Definition at line 149 of file NuAna_module.cc.

int sbnd::NuAna::isCC
private

Definition at line 152 of file NuAna_module.cc.

std::vector< std::vector<float> > sbnd::NuAna::leptonMom
private

Definition at line 106 of file NuAna_module.cc.

std::vector< std::vector<float> > sbnd::NuAna::leptonPos
private

Definition at line 105 of file NuAna_module.cc.

std::vector< std::vector<float> > sbnd::NuAna::miscPhotonConversionMom
private

Definition at line 129 of file NuAna_module.cc.

std::vector< std::vector<float> > sbnd::NuAna::miscPhotonConversionPos
private

Definition at line 128 of file NuAna_module.cc.

int sbnd::NuAna::mode
private

Definition at line 153 of file NuAna_module.cc.

int sbnd::NuAna::NChargedPions
private

Definition at line 113 of file NuAna_module.cc.

int sbnd::NuAna::ndecay
private

Definition at line 151 of file NuAna_module.cc.

std::vector<float> sbnd::NuAna::neutMom
private

Definition at line 100 of file NuAna_module.cc.

std::vector<float> sbnd::NuAna::neutVertexInWindow
private

Definition at line 157 of file NuAna_module.cc.

int sbnd::NuAna::NGamma
private

Definition at line 112 of file NuAna_module.cc.

int sbnd::NuAna::NPi0FinalState
private

Definition at line 111 of file NuAna_module.cc.

int sbnd::NuAna::nuchan
private

Definition at line 148 of file NuAna_module.cc.

double sbnd::NuAna::nuleng
private

Definition at line 155 of file NuAna_module.cc.

std::vector<float> sbnd::NuAna::nuParentMomAtDecay
private

Definition at line 159 of file NuAna_module.cc.

std::vector<float> sbnd::NuAna::nuParentMomAtProd
private

Definition at line 160 of file NuAna_module.cc.

std::vector<float> sbnd::NuAna::nuParentMomTargetExit
private

Definition at line 161 of file NuAna_module.cc.

std::vector< std::vector<float> > sbnd::NuAna::p1PhotonConversionMom
private

Definition at line 123 of file NuAna_module.cc.

std::vector< std::vector<float> > sbnd::NuAna::p1PhotonConversionPos
private

Definition at line 122 of file NuAna_module.cc.

std::vector< std::vector<float> > sbnd::NuAna::p2PhotonConversionMom
private

Definition at line 125 of file NuAna_module.cc.

std::vector< std::vector<float> > sbnd::NuAna::p2PhotonConversionPos
private

Definition at line 124 of file NuAna_module.cc.

std::vector<float> sbnd::NuAna::ParentVertex
private

Definition at line 158 of file NuAna_module.cc.

int sbnd::NuAna::parid
private

Definition at line 150 of file NuAna_module.cc.

double sbnd::NuAna::phiLep
private

Definition at line 108 of file NuAna_module.cc.

std::vector< std::vector<float> > sbnd::NuAna::pionMom
private

Definition at line 138 of file NuAna_module.cc.

std::vector< std::vector<float> > sbnd::NuAna::pionPos
private

Definition at line 137 of file NuAna_module.cc.

double sbnd::NuAna::POT
private

Definition at line 163 of file NuAna_module.cc.

int sbnd::NuAna::ptype
private

Definition at line 162 of file NuAna_module.cc.

std::vector< std::vector<float> > sbnd::NuAna::reweightingSigmas
private

Definition at line 89 of file NuAna_module.cc.

double sbnd::NuAna::thetaLep
private

Definition at line 108 of file NuAna_module.cc.

int sbnd::NuAna::tptype
private

Definition at line 162 of file NuAna_module.cc.

std::vector<float> sbnd::NuAna::vertex
private

Definition at line 156 of file NuAna_module.cc.


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