Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
numue::NumuEAna Class Reference
Inheritance diagram for numue::NumuEAna:
art::EDAnalyzer art::EventObserverBase art::Consumer art::EngineCreator

Public Types

using WorkerType = WorkerT< EDAnalyzer >
 
using ModuleType = EDAnalyzer
 

Public Member Functions

 NumuEAna (fhicl::ParameterSet const &p)
 
virtual ~NumuEAna ()
 
virtual void analyze (art::Event const &e)
 
virtual void reconfigure (fhicl::ParameterSet const &p)
 
virtual void beginJob ()
 
virtual void beginRun (art::Run const &r)
 
double TotalLengthInDetector (const sim::Particle *part, geo::View_t view)
 
std::string workerType () const
 
bool modifiesEvent () const
 
void registerProducts (MasterProductRegistry &, ProductDescriptions &, ModuleDescription const &)
 
std::string const & processName () const
 
bool wantAllEvents () const
 
bool wantEvent (Event const &e)
 
fhicl::ParameterSetID selectorConfig () const
 
art::Handle< art::TriggerResultsgetTriggerResults (Event const &e) const
 
template<typename T , BranchType = InEvent>
ProductToken< Tconsumes (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ProductToken< Tconsumes (InputTag const &it)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ViewToken< TconsumesView (InputTag const &it)
 
template<typename T , BranchType = InEvent>
ProductToken< TmayConsume (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ProductToken< TmayConsume (InputTag const &it)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ViewToken< TmayConsumeView (InputTag const &it)
 
base_engine_tcreateEngine (seed_t seed)
 
base_engine_tcreateEngine (seed_t seed, std::string const &kind_of_engine_to_make)
 
base_engine_tcreateEngine (seed_t seed, std::string const &kind_of_engine_to_make, label_t const &engine_label)
 
seed_t get_seed_value (fhicl::ParameterSet const &pset, char const key[]="seed", seed_t const implicit_seed=-1)
 

Static Public Member Functions

static cet::exempt_ptr< Consumernon_module_context ()
 

Protected Member Functions

CurrentProcessingContext const * currentContext () const
 
detail::CachedProducts & cachedProducts ()
 
void validateConsumedProduct (BranchType const bt, ProductInfo const &pi)
 
void prepareForJob (fhicl::ParameterSet const &pset)
 
void showMissingConsumes () const
 

Private Attributes

std::string fHitModuleLabel
 lable for module making the hits More...
 
std::string fTrackModuleLabel
 label for module making the tracks More...
 
std::string fCosmicTrackModuleLabel
 label for module making cosmic tracks More...
 
std::string fSlicerModuleLabel
 label for module making the slices More...
 
std::string fEnergyModuleLabel
 label for module writing energy objects More...
 
std::string fPIDModuleLabel
 label for module writing pid objects More...
 
std::string fCosRejLabel
 label for module writing cosmic rejection More...
 
std::string fQepidLabel
 label for module writing qe pid objects More...
 
art::ServiceHandle< nova::dbi::RunHistoryServicerh
 
TTree * fNumuETree
 n-tuple used for further analyses (pure population) More...
 
TH1D * fCalCCEnergy
 histogram of calorimetric neutrino energy for general CC population More...
 
TH1D * fTrkQEEnergy
 histogram of muon track length neutrino energy for QE super pure population More...
 
TH1D * fTrkNonQEEnergy
 histogram of muon track length neutrino energy for NonQE super pure population More...
 
TH1D * fAngleQEEnergy
 histogram of neutrino energy for QE population using angle formula More...
 
TH1D * fAngleQEError
 histogram of error on the neutrino energy for QE population using angle formula More...
 
TH1D * fCalCCEnergyDiff
 histogram of the diff. between calorimetric neutrino E and true neutrino E (for pure pop.) More...
 
TH1D * fTrkQEEnergyDiff
 histogram of the diff. between muon track length neutrino E and true neutrino E (for pure QE pop.) More...
 
TH1D * fTrkNonQEEnergyDiff
 histogram of the diff. between muon track length neutrino E and true neutrino E (for pure NonQE pop.) More...
 
TH1D * fAngleQEEnergyDiff
 histogram of the diff. between neutrino E using angle formula and true neutrino E (for pure QE pop.) More...
 
TH2D * fCalCCEnergy2D
 histogram of calorimetric neutrino E and true neutrino E (for pure pop.) More...
 
TH2D * fTrkQEEnergy2D
 histogram of muon track length neutrino E and true neutrino E (for pure QE pop.) More...
 
TH2D * fTrkNonQEEnergy2D
 histogram of muon track length neutrino E and true neutrino E (for pure NonQE pop.) More...
 
TH2D * fAngleQEEnergy2D
 histogram of neutrino E using angle formula and true neutrino E (for pure QE pop.) More...
 
TH1D * fHadronCalEnergy
 histogram of hadronic calorimetric energy NOT on the muon track More...
 
TH1D * fHadronTrkEnergy
 histogram of hadronic calorimetric energy on the muon track More...
 
TH1D * fNDTrkLenActive
 histogram of ND muon track length in the active region More...
 
TH1D * fNDTrkLenCatcher
 histogram of ND muon track length in the muon catcher region More...
 
TH1D * fNDTrkCalActive
 histogram of ND muon calorimetric energy in the active region More...
 
TH1D * fNDTrkCalTransition
 histogram of ND muon calorimetric energy in the transition region More...
 
TH1D * fNDTrkCalCatcher
 histogram of ND muon calorimetric energy in the muon catcher region More...
 
TH1D * fNDHadCalActive
 histogram of ND hadron calorimetric energy in the active region More...
 
TH1D * fNDHadCalTransition
 histogram of ND hadron calorimetric energy in the transition region More...
 
TH1D * fNDHadCalCatcher
 histogram of ND hadron calorimetric energy in the muon catcher region More...
 
float CalCCEnergy
 
float QEEnergy
 
float NonQEEnergy
 
float CCEnergy
 
float AngleQEEnergy
 
float AngleQEError
 
float HadCalEnergy
 
float HadTrkEnergy
 
float ndTrkLenAct
 
float ndTrkLenCat
 
float ndTrkCalAct
 
float ndTrkCalTran
 
float ndTrkCalCat
 
float ndHadCalAct
 
float ndHadCalTran
 
float ndHadCalCat
 
float ndHadTrkAct
 
float ndHadTrkTran
 
float ndHadTrkCat
 
float ndTrkTranX
 
float ndTrkTranY
 
bool fND
 is detector ND? More...
 
bool fFD
 is detector FD? More...
 
bool isCC
 is the interaction CC? More...
 
bool TrueQEInt
 is the interaction QE? More...
 
bool trackMatchesMuon
 track is muon-like More...
 
bool contained
 does it pass numu containment cuts? More...
 
int Run
 
int SubRun
 
int Evt
 
int SubEvt
 
int goodMuon
 
int bestTrack
 
int PDGCode
 
int nKalman
 
int nCosmic
 
int qepidntrk
 Number of tracks used by QePId. More...
 
int firstplane
 
int lastplane
 
int nplanestofront
 
int nplanestoback
 
unsigned int mincellsfromedge
 
int nslicehit
 
int nslicecontplanes
 
double NuPurity
 Neutrino selection purity. More...
 
double NuEfficiency
 Neutrino selection efficiency. More...
 
double trackLength
 Reconstructed tracklength. More...
 
double catcherE
 Energy before entering the muon catcher (ND) More...
 
double bestPID
 Highest RemID. More...
 
double qepidPID
 PID value of output kNN from QePId. More...
 
double cosrejanglekal
 Cosine of angle of best ReMId Kalman Track from CosRej. More...
 
double cosrejnumucontpid
 Cosmic rejection PID for contained events from CosRej. More...
 
double trackMuonEffHits
 
double trackMuonPurHits
 
double start_x_reco
 
double start_y_reco
 
double start_z_reco
 
double end_x_reco
 
double end_y_reco
 
double end_z_reco
 
double TrueMuonE
 True energy of the muon. More...
 
double RecoMuonE
 Reco energy of the muon. More...
 
double TrueNuE
 True energy of the neutrino. More...
 
double TrueTrackLength
 True tracklength of the muon. More...
 
double fMaxTrkLen
 length of detector from corner to corner More...
 

Detailed Description

Definition at line 42 of file NumuEAna_module.cc.

Member Typedef Documentation

Definition at line 39 of file EDAnalyzer.h.

Definition at line 38 of file EDAnalyzer.h.

Constructor & Destructor Documentation

numue::NumuEAna::NumuEAna ( fhicl::ParameterSet const &  p)
explicit

Definition at line 172 of file NumuEAna_module.cc.

References reconfigure().

172  :
173  EDAnalyzer(p),
174  fND(false),
175  fFD(false),
176  fMaxTrkLen(-1)
177  {
178  this->reconfigure(p);
179  }
bool fND
is detector ND?
const char * p
Definition: xmltok.h:285
bool fFD
is detector FD?
virtual void reconfigure(fhicl::ParameterSet const &p)
EDAnalyzer(Table< Config > const &config)
Definition: EDAnalyzer.h:100
double fMaxTrkLen
length of detector from corner to corner
numue::NumuEAna::~NumuEAna ( )
virtual

Definition at line 182 of file NumuEAna_module.cc.

183  {
184  }

Member Function Documentation

void numue::NumuEAna::analyze ( art::Event const &  e)
virtual

Implements art::EDAnalyzer.

Definition at line 187 of file NumuEAna_module.cc.

References std::abs(), cosrej::CosRejObj::AngleKal(), AngleQEEnergy, AngleQEError, art::PtrVector< T >::at(), bestPID, bestTrack, CalCCEnergy, catcherE, CCEnergy, simb::MCNeutrino::CCNC(), rb::CellHit::Cell(), cosrej::CosRejObj::ConCosPID(), contained, cosrej::CosRejObj::CosBakCell(), cosrej::CosRejObj::CosFwdCell(), cosrejanglekal, cosrejnumucontpid, simb::MCParticle::E(), end_x_reco, end_y_reco, end_z_reco, art::Event::event(), Evt, stan::math::fabs(), fAngleQEEnergy, fAngleQEEnergy2D, fAngleQEEnergyDiff, fAngleQEError, fCalCCEnergy, fCalCCEnergy2D, fCalCCEnergyDiff, fCosmicTrackModuleLabel, fCosRejLabel, fEnergyModuleLabel, fFD, fHadronCalEnergy, fHadronTrkEnergy, fHitModuleLabel, firstplane, fND, fNDHadCalActive, fNDHadCalCatcher, fNDHadCalTransition, fNDTrkCalActive, fNDTrkCalCatcher, fNDTrkCalTransition, fNDTrkLenActive, fNDTrkLenCatcher, fNumuETree, fPIDModuleLabel, fQepidLabel, fSlicerModuleLabel, fTrackModuleLabel, fTrkNonQEEnergy, fTrkNonQEEnergy2D, fTrkNonQEEnergyDiff, fTrkQEEnergy, fTrkQEEnergy2D, fTrkQEEnergyDiff, geom(), art::DataViewImpl::getByLabel(), nova::dbi::RunHistory::GetConfiguration(), nova::dbi::RunHistory::GoodDiBlockMask(), goodMuon, make_syst_table_plots::h, HadCalEnergy, HadTrkEnergy, cheat::BackTracker::HaveTruthInfo(), remid::HighestPIDTrack(), cheat::BackTracker::HitCollectionEfficiency(), cheat::BackTracker::HitCollectionPurity(), MECModelEnuComparisons::i, simb::MCNeutrino::InteractionType(), isCC, cosrej::CosRejObj::KalBakCell(), cosrej::CosRejObj::KalBakCellND(), cosrej::CosRejObj::KalFwdCell(), cosrej::CosRejObj::KalFwdCellND(), simb::kCC, simb::kCCQE, geo::kXorY, lastplane, cheat::BackTracker::MCTruthToParticles(), std::min(), mincellsfromedge, geo::PlaneGeo::Ncells(), nCosmic, ndHadCalAct, ndHadCalCat, ndHadCalTran, ndHadTrkAct, ndHadTrkCat, ndHadTrkTran, ndTrkCalAct, ndTrkCalCat, ndTrkCalTran, ndTrkLenAct, ndTrkLenCat, ndTrkTranX, ndTrkTranY, nKalman, NonQEEnergy, nplanestoback, nplanestofront, nslicecontplanes, nslicehit, qeef::QePId::Ntrk(), simb::MCNeutrino::Nu(), NuEfficiency, NuPurity, demo::particleList, cheat::BackTracker::ParticleToFLSHit(), cheat::BackTracker::PassMuonCuts(), simb::MCParticle::PdgCode(), PDGCode, rb::CellHit::Plane(), geo::GeometryBase::Plane(), art::PtrVector< T >::push_back(), QEEnergy, qepidntrk, qepidPID, RecoMuonE, rh, art::Event::run(), Run, art::PtrVector< T >::size(), cheat::BackTracker::SliceToNeutrinoInteractions(), start_x_reco, start_y_reco, start_z_reco, SubEvt, art::Event::subRun(), SubRun, TotalLengthInDetector(), simb::MCParticle::TrackId(), cheat::BackTracker::TrackIDToMotherParticle(), cheat::BackTracker::TrackIDToParticle(), trackLength, trackMatchesMuon, trackMuonEffHits, trackMuonPurHits, TrueMuonE, TrueNuE, TrueQEInt, TrueTrackLength, and rb::PID::Value().

188  {
189  if(!(fND || fFD)){
190  mf::LogWarning("NumuEAna") << "attempting to run on detector that is not "
191  << "nd or fd, bail";
192  return;
193  }
194 
196 
197  Run = e.run();
198  SubRun = e.subRun();
199  Evt = e.event();
200 
201 
202  // get all hits in the event
204  e.getByLabel(fHitModuleLabel, hithdl);
205 
206 
208  for(size_t h = 0; h < hithdl->size(); ++h){
209  art::Ptr<rb::CellHit> hit(hithdl, h);
210  allhits.push_back(hit);
211  }
212 
213  // get the tracks out of the eventpdg
215  e.getByLabel(fTrackModuleLabel,trkcol);
216 
217  //Load the slicer list from the event
219  e.getByLabel(fSlicerModuleLabel,slicecol);
220  if(slicecol->empty()){
221  mf::LogWarning ("No Slices")<<"No Slices in the input file";
222  return;
223  }
224 
225  art::PtrVector<rb::Cluster> slicelist;
226  for(unsigned int i = 0; i<slicecol->size();++i){
227  art::Ptr<rb::Cluster> clust(slicecol,i);
228  slicelist.push_back(clust);
229  }
230 
232  if(!bt->HaveTruthInfo()){
233  mf::LogWarning("NumuEAna") << "attempting to run MC truth check on "
234  << "things without truth, bail";
235  return;
236  }
237 
238  //Associating slices to tracks and energies
239  art::FindManyP<rb::Track> sliceToTracks(slicecol, e, fTrackModuleLabel);
240  art::FindManyP<rb::Track> sliceToCosmicTracks(slicecol, e, fCosmicTrackModuleLabel);
241  art::FindOneP<cosrej::CosRejObj> sliceToCosRej(slicecol, e, fCosRejLabel);
242  art::FindOneP<NumuE> sliceToEnergy(slicecol, e, fEnergyModuleLabel);
243  art::FindOneP<qeef::QePId> sliceToQepid(slicecol, e, fQepidLabel);
244 
245  //Loop over slices
246  for(size_t s = 0; s < slicelist.size(); ++s){
247 
248  SubEvt = s;
249 
250  const art::Ptr<NumuE> sliceEnergy = sliceToEnergy.at(s);
251  if (!sliceEnergy) continue;
252 
253  const art::Ptr<cosrej::CosRejObj> sliceCosrej = sliceToCosRej.at(s);
254  if (!sliceCosrej) continue;
255 
256  cosrejanglekal = sliceCosrej->AngleKal();
257  cosrejnumucontpid = sliceCosrej->ConCosPID();
258 
259  const art::Ptr<qeef::QePId> sliceQepid = sliceToQepid.at(s);
260  qepidPID = -5;
261  qepidntrk = -5;
262  if (sliceQepid){
263  qepidPID = sliceQepid->Value();
264  qepidntrk = sliceQepid->Ntrk();
265  }
266 
267  // A great exercise of copy and paste starts here
268  unsigned int dibmask = (rh->GoodDiBlockMask()&rh->GetConfiguration());
269  if(dibmask == ((1<<16)-1)) {
270  dibmask = rh->GetConfiguration();
271  }
272  if(dibmask == 0) {
273  dibmask = rh->GetConfiguration();
274  }
275 
276  unsigned int dibfirst = 0;
277  unsigned int diblast = 0;
278  if (dibmask) {
279  int iD;
280  iD=0; while (!((dibmask>>iD)&1)) iD++; dibfirst=iD+1;
281  iD=0; while (dibmask>>iD) iD++; diblast=iD;
282  }
283 
284  unsigned int cellsfromedge = 99999999;
285  mincellsfromedge = 99999999;
286 
287  nslicehit = slicelist.at(s)->NCell();
288  nslicecontplanes = slicelist.at(s)->MostContiguousPlanes(geo::kXorY);
289 
290  //Loop over slice in question here:
291  for(unsigned int hitIdx = 0; hitIdx < slicelist.at(s)->NCell(); ++hitIdx)
292  {
293  const art::Ptr<rb::CellHit>& chit = slicelist.at(s)->Cell(hitIdx);
294  const int planeNum = chit->Plane();
295  cellsfromedge = std::min((unsigned int)chit->Cell(), geom->Plane(planeNum)->Ncells() - 1 - chit->Cell());
296 
297  if(cellsfromedge < mincellsfromedge)
298  mincellsfromedge = cellsfromedge;
299 
300  } //END OF SLICE LOOP HERE
301 
302  // And ends here (lo and behold)
303 
304  //Pulling out all info from the energy object and plotting it - these plots are without any cuts
305  CalCCEnergy = sliceEnergy->CalCCE();
306  QEEnergy = sliceEnergy->TrkQEE();
307  NonQEEnergy = sliceEnergy->TrkNonQEE();
308  CCEnergy = sliceEnergy->TrkCCE();
309  AngleQEEnergy = sliceEnergy->AngleQEE();
310  AngleQEError = sliceEnergy->AngleQEError();
311  HadCalEnergy = sliceEnergy->HadCalE();
312  HadTrkEnergy = sliceEnergy->HadTrkE();
313  ndTrkLenAct = sliceEnergy->NDTrkLenAct();
314  ndTrkLenCat = sliceEnergy->NDTrkLenCat();
315  ndTrkCalAct = sliceEnergy->NDTrkCalAct();
316  ndTrkCalTran = sliceEnergy->NDTrkCalTran();
317  ndTrkCalCat = sliceEnergy->NDTrkCalCat();
318  ndHadCalAct = sliceEnergy->NDHadCalAct();
319  ndHadCalTran = sliceEnergy->NDHadCalTran();
320  ndHadCalCat = sliceEnergy->NDHadCalCat();
321  ndHadTrkAct = sliceEnergy->NDHadTrkAct();
322  ndHadTrkTran = sliceEnergy->NDHadTrkTran();
323  ndHadTrkCat = sliceEnergy->NDHadTrkCat();
324  ndTrkTranX = sliceEnergy->NDTrkTranX();
325  ndTrkTranY = sliceEnergy->NDTrkTranY();
326 
327  fCalCCEnergy->Fill(CalCCEnergy);
328  fTrkQEEnergy->Fill(QEEnergy);
342 
343  //Now start trying to make super pure samples with truth to fill resolution plots for neutrino energy
345  sliceHits = slicelist[s]->AllCells();
346 
347  std::vector<cheat::NeutrinoEffPur> funcReturn = bt->SliceToNeutrinoInteractions(sliceHits,allhits);
348  if (funcReturn.empty()) continue;
349 
350  NuPurity = funcReturn[0].purity;
351  NuEfficiency = funcReturn[0].efficiency;
352 
353  //Getting CC neutrinos
354  const simb::MCNeutrino& test_neutrino = funcReturn[0].neutrinoInt->GetNeutrino();
355  isCC = (test_neutrino.CCNC()==simb::kCC);
356  PDGCode = test_neutrino.Nu().PdgCode();
357 
358  //Checking if QE or not
359  TrueQEInt = false;
360  if ((test_neutrino.InteractionType()==simb::kCCQE)) TrueQEInt = true;
361 
362  //Determining information about the muon - does it have enough hits to make this a decent interaction?
363  std::vector<const sim::Particle*> particleList = bt->MCTruthToParticles(funcReturn[0].neutrinoInt);
364  std::set<int> neutrinoTrackIDs;
365  for (unsigned int i = 0; i < particleList.size(); ++i){
366  neutrinoTrackIDs.insert(particleList[i]->TrackId());
367  }
368 
369  std::set<int>::iterator itr = neutrinoTrackIDs.begin();
370 
371  goodMuon = -1;
372  bestTrack = -1;
373  trackLength = 0.0;
374  catcherE = 0.0;
375  TrueTrackLength = 0.0;
376  TrueMuonE = 0.0;
377 
378  while( itr != neutrinoTrackIDs.end() ){
379 
380  int id_int = *itr;
381  const sim::Particle* particle = bt->TrackIDToParticle(id_int);
382  int PDG = particle->PdgCode();
383 
384  if ((PDG != 13)&&(PDG != -13)){
385  ++itr;
386  continue;
387  }//End of loop over non-muons
388 
389  //Trying to find main muon for the event
390  const sim::Particle* mother = bt->TrackIDToMotherParticle(id_int);
391  if (mother->TrackId() != id_int){
392  ++itr;
393  continue;
394  }//End of loop over muons who don't come from the neutrino
395 
396  bool passCuts = bt->PassMuonCuts(id_int,sliceHits);
397 
398  if (!passCuts){
399  ++itr;
400  continue;
401  }//End of loop over muons who don't pass cuts
402 
403  goodMuon = id_int;
405  TrueMuonE = particle->E();
406 
407  double closeToCentre = 50.0;
408 
409  std::vector<sim::FLSHit> flshits = bt->ParticleToFLSHit(particle->TrackId());
410 
411  for(unsigned int q = 0; q < flshits.size(); ++q){
412  if((flshits[q].GetPlaneID() == 191) && (std::abs(flshits[q].GetPDG())==13)){
413  if(fabs(flshits[q].GetEntryY()) < closeToCentre){
414  catcherE = flshits[q].GetEntryEnergy() + 0.105658;
415  closeToCentre = fabs(flshits[q].GetEntryY());
416  }
417  if(fabs(flshits[q].GetExitY()) < closeToCentre){
418  catcherE = flshits[q].GetExitEnergy() + 0.105658;
419  closeToCentre = fabs(flshits[q].GetExitY());
420  }
421  } // End of loop over plane 191
422  } // End of loop over flshits
423 
424  break;
425  }//End of while loop over neutrino particles
426 
427  if (goodMuon == -1) continue;
428 
429  //Now we know we have an interaction of the correct type, passes muon cuts. We now loop over tracks.
430 
431 
432  // Get all of the tracks in the slice
433  const std::vector< art::Ptr<rb::Track> > sliceTracks = sliceToTracks.at(s);
434  if(sliceTracks.empty()) continue;
435 
436  // Get all of the cosmic tracks in the slice
437  const std::vector< art::Ptr<rb::Track> > sliceCosmicTracks = sliceToCosmicTracks.at(s);
438  nCosmic = sliceCosmicTracks.size();
439 
440  bestPID = 0.0;
441  RecoMuonE = -5.0;
442 
443  art::FindOneP<remid::ReMId> trackRemid(sliceTracks, e, fPIDModuleLabel);
444  art::FindOneP<rb::Energy> trackEnergy(sliceTracks, e, fEnergyModuleLabel);
445 
446  // Get Reco values for the best track
448 
449  if(bestTrack == -1) continue;
450  if(bestTrack == 999) continue;
451 
452  trackLength = sliceTracks[bestTrack]->TotalLength();
453  bestPID = trackRemid.at(bestTrack)->Value();
454 
455  if(trackEnergy.isValid()){
456  RecoMuonE = trackEnergy.at(bestTrack)->E();
457  }
458 
459  //Checking if reco muon track matches truth muon well enough
460  trackMatchesMuon = false;
461  std::set<int> muonTrackID;
462  muonTrackID.insert(goodMuon);
463  art::PtrVector< rb::CellHit > bestTrackHits;
464  bestTrackHits = sliceTracks[bestTrack]->AllCells();
465  trackMuonEffHits = bt->HitCollectionEfficiency(muonTrackID, bestTrackHits, allhits, geo::kXorY, 0, false);
466  trackMuonPurHits = bt->HitCollectionPurity(muonTrackID, bestTrackHits, 0, 0, false);
467 
468  if ((trackMuonEffHits > 0.8)&&(trackMuonPurHits > 0.8)) trackMatchesMuon = true;
469 
470  //Determining if track is contained enough
471  contained = false;
472 
473  firstplane = -1;
474  lastplane = -1;
475  nplanestofront = -1;
476  nplanestoback = -1;
477 
478  if (sliceTracks[bestTrack]->NCell()>0){
479 
480  firstplane = sliceTracks[bestTrack]->MinPlane();
481  lastplane = sliceTracks[bestTrack]->MaxPlane();
482  if(fFD)
483  {
484  nplanestofront = firstplane - (dibfirst-1)*64;
485  nplanestoback = (diblast*64) - 1 - lastplane;
486  }
487  if(fND)
488  {
490  nplanestoback = 214 - lastplane;
491  }
492  start_x_reco = sliceTracks[bestTrack]->Start().X();
493  start_y_reco = sliceTracks[bestTrack]->Start().Y();
494  start_z_reco = sliceTracks[bestTrack]->Start().Z();
495 
496  end_x_reco = sliceTracks[bestTrack]->Stop().X();
497  end_y_reco = sliceTracks[bestTrack]->Stop().Y();
498  end_z_reco = sliceTracks[bestTrack]->Stop().Z();
499 
500  if (fFD){
501  if(mincellsfromedge > 1){
502  if (sliceCosrej->CosFwdCell() > 0 && sliceCosrej->CosBakCell() > 0){
503  if (sliceCosrej->KalFwdCell() > 10 && sliceCosrej->KalBakCell() > 10){
504  if (nplanestofront > 1 && nplanestoback > 1){
505  contained = true;
506  }
507  }
508  }
509  }
510  }//End of FD containment logic chain
511 
512  if (fND){
513  if(mincellsfromedge > 1){
514  if(sliceCosrej->KalFwdCellND() > 4 && sliceCosrej->KalBakCellND() > 8){
515  if(firstplane > 1 && lastplane < 212){
516  if(start_z_reco < 1150 && (end_z_reco < 1275 || sliceCosrej->KalYPosAtTrans() < 55)){
517  if( (ndHadCalTran + ndHadCalCat) < 0.03){
518  contained = true;
519  }
520  }
521  }
522  }
523  }
524  }//End of ND containemnt logic chain
525  }//End of loop over best tracks to find start/stop
526 
527  //Filling remaining histograms with relevant super pure populations
528  TrueNuE = test_neutrino.Nu().E();
529 
532 
533  if (TrueQEInt){
538  }//End of pure QE slices
539  else{
542  }//End of pure NonQE slices
543 
544  nKalman = sliceTracks.size();
545 
546  fNumuETree->Fill(); // Fill the tree for the pure sample
547  }//End of loop over slices
548  return;
549  }//End of analyze
double E(const int i=0) const
Definition: MCParticle.h:232
std::string fPIDModuleLabel
label for module writing pid objects
std::string fCosmicTrackModuleLabel
label for module making cosmic tracks
int PdgCode() const
Definition: MCParticle.h:211
int CCNC() const
Definition: MCNeutrino.h:148
TH2D * fCalCCEnergy2D
histogram of calorimetric neutrino E and true neutrino E (for pure pop.)
TH1D * fNDHadCalCatcher
histogram of ND hadron calorimetric energy in the muon catcher region
TTree * fNumuETree
n-tuple used for further analyses (pure population)
fvar< T > fabs(const fvar< T > &x)
Definition: fabs.hpp:15
TH1D * fHadronCalEnergy
histogram of hadronic calorimetric energy NOT on the muon track
bool fND
is detector ND?
const sim::Particle * TrackIDToMotherParticle(int const &id) const
bool contained
does it pass numu containment cuts?
std::vector< NeutrinoEffPur > SliceToNeutrinoInteractions(const std::vector< const rb::CellHit * > &sliceHits, const std::vector< const rb::CellHit * > &allHits, bool sortPur=false) const
Given a collection of hits (often a slice), returns vector of structures of neutrino interactions...
X or Y views.
Definition: PlaneGeo.h:30
unsigned short Plane() const
Definition: CellHit.h:39
TH1D * fNDTrkLenActive
histogram of ND muon track length in the active region
std::string fEnergyModuleLabel
label for module writing energy objects
const simb::MCParticle & Nu() const
Definition: MCNeutrino.h:146
std::vector< sim::FLSHit > ParticleToFLSHit(const int &trackID) const
All the FLSHits that were created by the track id trackID, sorted from most to least light...
int qepidntrk
Number of tracks used by QePId.
std::string fTrackModuleLabel
label for module making the tracks
unsigned int Ncells() const
Number of cells in this plane.
Definition: PlaneGeo.h:43
art::ServiceHandle< nova::dbi::RunHistoryService > rh
TH1D * fHadronTrkEnergy
histogram of hadronic calorimetric energy on the muon track
double TrueMuonE
True energy of the muon.
TH1D * fNDTrkCalCatcher
histogram of ND muon calorimetric energy in the muon catcher region
int KalBakCellND() const
Definition: CosRejObj.cxx:670
TH1D * fCalCCEnergyDiff
histogram of the diff. between calorimetric neutrino E and true neutrino E (for pure pop...
bool trackMatchesMuon
track is muon-like
double cosrejnumucontpid
Cosmic rejection PID for contained events from CosRej.
charged current quasi-elastic
Definition: MCNeutrino.h:96
const PlaneGeo * Plane(unsigned int i) const
TH1D * fAngleQEError
histogram of error on the neutrino energy for QE population using angle formula
double RecoMuonE
Reco energy of the muon.
TH1D * fNDTrkCalTransition
histogram of ND muon calorimetric energy in the transition region
int KalFwdCell() const
Definition: CosRejObj.cxx:652
double bestPID
Highest RemID.
TH1D * fTrkNonQEEnergy
histogram of muon track length neutrino energy for NonQE super pure population
float abs(float number)
Definition: d0nt_math.hpp:39
double Value() const
Definition: PID.h:22
std::string fHitModuleLabel
lable for module making the hits
double HitCollectionEfficiency(const std::set< int > &trackIDs, const std::vector< rb::WeightedHit > &whits, const std::vector< const rb::CellHit * > &allhits, const geo::View_t &view, std::map< int, double > *effMap=0, bool energyEff=false, double *desiredEnergy=0, double *totalEnergy=0, int *desiredHits=0, int *totalHits=0) const
Returns the fraction of all energy in an event from a specific set of Geant4 track IDs that are repre...
int TrackId() const
Definition: MCParticle.h:209
double catcherE
Energy before entering the muon catcher (ND)
std::string fSlicerModuleLabel
label for module making the slices
unsigned short Cell() const
Definition: CellHit.h:40
TH1D * fNDHadCalActive
histogram of ND hadron calorimetric energy in the active region
const XML_Char * s
Definition: expat.h:262
int InteractionType() const
Definition: MCNeutrino.h:150
TH1D * fNDTrkLenCatcher
histogram of ND muon track length in the muon catcher region
bool fFD
is detector FD?
bool TrueQEInt
is the interaction QE?
TH2D * fTrkQEEnergy2D
histogram of muon track length neutrino E and true neutrino E (for pure QE pop.)
double cosrejanglekal
Cosine of angle of best ReMId Kalman Track from CosRej.
void push_back(Ptr< U > const &p)
Definition: PtrVector.h:441
double TrueNuE
True energy of the neutrino.
TH1D * fTrkQEEnergy
histogram of muon track length neutrino energy for QE super pure population
std::string fQepidLabel
label for module writing qe pid objects
double TrueTrackLength
True tracklength of the muon.
unsigned int mincellsfromedge
float ConCosPID() const
Definition: CosRejObj.cxx:465
int KalBakCell() const
Definition: CosRejObj.cxx:664
TH1D * fAngleQEEnergy
histogram of neutrino energy for QE population using angle formula
int CosBakCell() const
Definition: CosRejObj.cxx:640
int CosFwdCell() const
Definition: CosRejObj.cxx:628
TH1D * fTrkQEEnergyDiff
histogram of the diff. between muon track length neutrino E and true neutrino E (for pure QE pop...
reference at(size_type n)
Definition: PtrVector.h:365
size_type size() const
Definition: PtrVector.h:308
double HitCollectionPurity(const std::set< int > &trackIDs, const std::vector< rb::WeightedHit > &whits, std::map< int, double > *purMap=0, std::map< int, int > *parents=0, bool energyPur=false) const
Returns the fraction of hits in a collection that come from the specified Geant4 track ids...
const sim::Particle * TrackIDToParticle(int const &id) const
Returns a pointer to the sim::Particle object corresponding to the given TrackID. ...
TH2D * fTrkNonQEEnergy2D
histogram of muon track length neutrino E and true neutrino E (for pure NonQE pop.)
TH1D * fNDTrkCalActive
histogram of ND muon calorimetric energy in the active region
int Ntrk() const
Definition: QePId.cxx:75
double NuPurity
Neutrino selection purity.
bool isCC
is the interaction CC?
double qepidPID
PID value of output kNN from QePId.
Definition: structs.h:12
TH1D * fNDHadCalTransition
histogram of ND hadron calorimetric energy in the transition region
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
void geom(int which=0)
Definition: geom.C:163
bool HaveTruthInfo() const
Is this a file with truth info in? (Is BackTracker going to be any use to you?)
Definition: BackTracker.h:133
double trackLength
Reconstructed tracklength.
int KalFwdCellND() const
Definition: CosRejObj.cxx:658
particleList
Definition: demo.py:41
TH1D * fAngleQEEnergyDiff
histogram of the diff. between neutrino E using angle formula and true neutrino E (for pure QE pop...
bool PassMuonCuts(int trackID, art::PtrVector< rb::CellHit > const &hits) const
Tool for NumuEAna that allows one to see if primary muon (or any track ID you feed the function) cont...
T min(const caf::Proxy< T > &a, T b)
double NuEfficiency
Neutrino selection efficiency.
int GoodDiBlockMask(int subrun=-1, bool reload=false)
std::string fCosRejLabel
label for module writing cosmic rejection
Float_t e
Definition: plot.C:35
Event generator information.
Definition: MCNeutrino.h:18
double TotalLengthInDetector(const sim::Particle *part, geo::View_t view)
TH1D * fTrkNonQEEnergyDiff
histogram of the diff. between muon track length neutrino E and true neutrino E (for pure NonQE pop...
unsigned int HighestPIDTrack(const std::vector< art::Ptr< rb::Track > > &sliceTracks, const std::string &remidModuleLabel, const art::Event &e)
Definition: ReMId.cxx:249
TH1D * fCalCCEnergy
histogram of calorimetric neutrino energy for general CC population
TH2D * fAngleQEEnergy2D
histogram of neutrino E using angle formula and true neutrino E (for pure QE pop.) ...
std::vector< const sim::Particle * > MCTruthToParticles(art::Ptr< simb::MCTruth > const &mct) const
float AngleKal() const
Definition: CosRejObj.cxx:453
void numue::NumuEAna::beginJob ( )
virtual

Reimplemented from art::EDAnalyzer.

Definition at line 565 of file NumuEAna_module.cc.

References AngleQEEnergy, AngleQEError, bestPID, bestTrack, CalCCEnergy, catcherE, CCEnergy, contained, cosrejanglekal, cosrejnumucontpid, end_x_reco, end_y_reco, end_z_reco, Evt, fAngleQEEnergy, fAngleQEEnergy2D, fAngleQEEnergyDiff, fAngleQEError, fCalCCEnergy, fCalCCEnergy2D, fCalCCEnergyDiff, fFD, fHadronCalEnergy, fHadronTrkEnergy, firstplane, fND, fNDHadCalActive, fNDHadCalCatcher, fNDHadCalTransition, fNDTrkCalActive, fNDTrkCalCatcher, fNDTrkCalTransition, fNDTrkLenActive, fNDTrkLenCatcher, fNumuETree, fTrkNonQEEnergy, fTrkNonQEEnergy2D, fTrkNonQEEnergyDiff, fTrkQEEnergy, fTrkQEEnergy2D, fTrkQEEnergyDiff, goodMuon, HadCalEnergy, HadTrkEnergy, isCC, lastplane, art::TFileDirectory::make(), mincellsfromedge, nCosmic, ndHadCalAct, ndHadCalCat, ndHadCalTran, ndHadTrkAct, ndHadTrkCat, ndHadTrkTran, ndTrkCalAct, ndTrkCalCat, ndTrkCalTran, ndTrkLenAct, ndTrkLenCat, ndTrkTranX, ndTrkTranY, nKalman, NonQEEnergy, nplanestoback, nplanestofront, nslicecontplanes, nslicehit, NuEfficiency, NuPurity, PDGCode, QEEnergy, qepidntrk, qepidPID, RecoMuonE, Run, start_x_reco, start_y_reco, start_z_reco, SubEvt, SubRun, trackLength, trackMatchesMuon, trackMuonEffHits, trackMuonPurHits, TrueMuonE, TrueNuE, TrueQEInt, and TrueTrackLength.

566  {
568 
569  fNumuETree = tfs->make<TTree>("NumuETree","Numu analysis Energy tree"); // Output tree
570  fNumuETree->Branch("CalCCEnergy",&CalCCEnergy);
571  fNumuETree->Branch("QEEnergy",&QEEnergy);
572  fNumuETree->Branch("NonQEEnergy",&NonQEEnergy);
573  fNumuETree->Branch("CCEnergy",&CCEnergy);
574  fNumuETree->Branch("AngleQEEnergy",&AngleQEEnergy);
575  fNumuETree->Branch("AngleQEError",&AngleQEError);
576  fNumuETree->Branch("HadCalEnergy",&HadCalEnergy);
577  fNumuETree->Branch("HadTrkEnergy",&HadTrkEnergy);
578  fNumuETree->Branch("ndTrkLenAct",&ndTrkLenAct);
579  fNumuETree->Branch("ndTrkLenCat",&ndTrkLenCat);
580  fNumuETree->Branch("ndTrkCalAct",&ndTrkCalAct);
581  fNumuETree->Branch("ndTrkCalTran",&ndTrkCalTran);
582  fNumuETree->Branch("ndTrkCalCat",&ndTrkCalCat);
583  fNumuETree->Branch("ndHadCalAct",&ndHadCalAct);
584  fNumuETree->Branch("ndHadCalTran",&ndHadCalTran);
585  fNumuETree->Branch("ndHadCalCat",&ndHadCalCat);
586  fNumuETree->Branch("ndHadTrkAct",&ndHadTrkAct);
587  fNumuETree->Branch("ndHadTrkTran",&ndHadTrkTran);
588  fNumuETree->Branch("ndHadTrkCat",&ndHadTrkCat);
589  fNumuETree->Branch("ndTrkTranX",&ndTrkTranX);
590  fNumuETree->Branch("ndTrkTranY",&ndTrkTranY);
591  fNumuETree->Branch("ND",&fND);
592  fNumuETree->Branch("FD",&fFD);
593  // Booleans
594  fNumuETree->Branch("isCC",&isCC);
595  fNumuETree->Branch("TrueQEInt",&TrueQEInt);
596  fNumuETree->Branch("trackMatchesMuon",&trackMatchesMuon);
597  fNumuETree->Branch("contained",&contained);
598  // Integers
599  fNumuETree->Branch("Run",&Run);
600  fNumuETree->Branch("SubRun",&SubRun);
601  fNumuETree->Branch("Evt",&Evt);
602  fNumuETree->Branch("SubEvt",&SubEvt);
603  fNumuETree->Branch("PDGCode",&PDGCode);
604  fNumuETree->Branch("goodMuon",&goodMuon);
605  fNumuETree->Branch("bestTrack",&bestTrack);
606  fNumuETree->Branch("nKalman",&nKalman);
607  fNumuETree->Branch("nCosmic",&nCosmic);
608  // Containment integers
609  fNumuETree->Branch("firstplane",&firstplane);
610  fNumuETree->Branch("lastplane",&lastplane);
611  fNumuETree->Branch("nplanestofront",&nplanestofront);
612  fNumuETree->Branch("nplanestoback",&nplanestoback);
613  fNumuETree->Branch("mincellsfromedge",&mincellsfromedge);
614  fNumuETree->Branch("nslicehit",&nslicehit);
615  fNumuETree->Branch("nslicecontplanes",&nslicecontplanes);
616  // Doubles
617  fNumuETree->Branch("NuPurity",&NuPurity);
618  fNumuETree->Branch("NuEfficiency",&NuEfficiency);
619  fNumuETree->Branch("trackLength",&trackLength);
620  fNumuETree->Branch("catcherE",&catcherE);
621  fNumuETree->Branch("bestPID",&bestPID);
622  fNumuETree->Branch("qepidPID",&qepidPID);
623  fNumuETree->Branch("qepidntrk",&qepidntrk);
624  fNumuETree->Branch("cosrejanglekal",&cosrejanglekal);
625  fNumuETree->Branch("cosrejnumucontpid",&cosrejnumucontpid);
626  fNumuETree->Branch("trackMuonEffHits",&trackMuonEffHits);
627  fNumuETree->Branch("trackMuonPurHits",&trackMuonPurHits);
628  fNumuETree->Branch("start_x_reco",&start_x_reco);
629  fNumuETree->Branch("start_y_reco",&start_y_reco);
630  fNumuETree->Branch("start_z_reco",&start_z_reco);
631  fNumuETree->Branch("end_x_reco",&end_x_reco);
632  fNumuETree->Branch("end_y_reco",&end_y_reco);
633  fNumuETree->Branch("end_z_reco",&end_z_reco);
634  fNumuETree->Branch("TrueNuE",&TrueNuE);
635  fNumuETree->Branch("TrueMuonE",&TrueMuonE);
636  fNumuETree->Branch("RecoMuonE",&RecoMuonE);
637  fNumuETree->Branch("TrueTrackLength",&TrueTrackLength);
638 
639  // And finally the histograms
640  fCalCCEnergy = tfs->make<TH1D>("CalCCEnergy", ";Reco Neutrino Energy (GeV);Slices",200, -0.1, 10);
641  fTrkQEEnergy = tfs->make<TH1D>("TrkQEEnergy", ";Reco Neutrino Energy (GeV);Slices",200, -0.1, 10);
642  fTrkNonQEEnergy = tfs->make<TH1D>("TrkNonQEEnergy", ";Reco Neutrino Energy (GeV);Slices",200, -0.1, 10);
643  fAngleQEEnergy = tfs->make<TH1D>("AngleQEEnergy", ";Reco Neutrino Energy (GeV);Slices",200, -0.1, 10);
644 
645  fAngleQEError = tfs->make<TH1D>("AngleQEError", ";Error on Neutrino Energy;Slices",200, -0.1, 5.0);
646 
647  fCalCCEnergyDiff = tfs->make<TH1D>("CalCCEnergyDiff", ";(Reco - Neutrino Energy)/Neutrino Energy;Slices",500, -3.0, 3.0);
648  fTrkQEEnergyDiff = tfs->make<TH1D>("TrkQEEnergyDiff", ";(Reco - Neutrino Energy)/Neutrino Energy;Slices",500, -3.0, 3.0);
649  fTrkNonQEEnergyDiff = tfs->make<TH1D>("TrkNonQEEnergyDiff", ";(Reco - Neutrino Energy)/Neutrino Energy;Slices",500, -3.0, 3.0);
650  fAngleQEEnergyDiff = tfs->make<TH1D>("AngleQEEnergyDiff", ";(Reco - Neutrino Energy)/Neutrino Energy;Slices",500, -3.0, 3.0);
651 
652  fCalCCEnergy2D = tfs->make<TH2D>("CalCCEnergy2D", ";Reco Energy (GeV);Neutrino Energy (GeV)",200, 0., 20, 200, 0., 20);
653  fTrkQEEnergy2D = tfs->make<TH2D>("TrkQEEnergy2D", ";Reco Energy (GeV);Neutrino Energy (GeV)",200, 0., 20, 200, 0., 20);
654  fTrkNonQEEnergy2D = tfs->make<TH2D>("TrkNonQEEnergy2D", ";Reco Energy (GeV);Neutrino Energy (GeV)",200, 0., 20, 200, 0., 20);
655  fAngleQEEnergy2D = tfs->make<TH2D>("AngleQEEnergy2D", ";Reco Energy (GeV);Neutrino Energy (GeV)",200, 0., 20, 200, 0., 20);
656 
657  fHadronCalEnergy = tfs->make<TH1D>("HadronCalEnergy", ";Reco Hadron Energy (GeV);Slices",200, -0.1, 10);
658  fHadronTrkEnergy = tfs->make<TH1D>("HadronTrkEnergy", ";Track Hadron Energy (GeV);Slices",200, -0.1, 5);
659 
660  fNDTrkLenActive = tfs->make<TH1D>("NDTrkLenActive", ";Track Length (cm) in Active Region;Slices",200, 0., 1400);
661  fNDTrkLenCatcher = tfs->make<TH1D>("NDTrkLenCatcher", ";Track Length (cm) in Catcher Region;Slices",200, 0., 800);
662  fNDTrkCalActive = tfs->make<TH1D>("NDTrkCalActive", ";Track Energy (GeV) in Active Region;Slices",200, 0., 10);
663  fNDTrkCalTransition = tfs->make<TH1D>("NDTrkCalTransition", ";Track Energy (GeV) in Tran. Plane;Slices",200, 0., 0.5);
664  fNDTrkCalCatcher = tfs->make<TH1D>("NDTrkCalCatcher", ";Track Energy (GeV) in Catcher Region;Slices",200, 0., 2);
665  fNDHadCalActive = tfs->make<TH1D>("NDHadCalActive", ";Hadron Energy (GeV) in Active Region;Slices",200, 0., 10);
666  fNDHadCalTransition = tfs->make<TH1D>("NDHadCalTransition", ";Hadron Energy (GeV) in Tran. Plane;Slices",200, 0., 0.5);
667  fNDHadCalCatcher = tfs->make<TH1D>("NDHadCalCatcher", ";Hadron Energy (GeV) in Catcher Region;Slices",200, 0., 2);
668 
669  }//End of begin Run
TH2D * fCalCCEnergy2D
histogram of calorimetric neutrino E and true neutrino E (for pure pop.)
TH1D * fNDHadCalCatcher
histogram of ND hadron calorimetric energy in the muon catcher region
TTree * fNumuETree
n-tuple used for further analyses (pure population)
TH1D * fHadronCalEnergy
histogram of hadronic calorimetric energy NOT on the muon track
bool fND
is detector ND?
bool contained
does it pass numu containment cuts?
TH1D * fNDTrkLenActive
histogram of ND muon track length in the active region
int qepidntrk
Number of tracks used by QePId.
TH1D * fHadronTrkEnergy
histogram of hadronic calorimetric energy on the muon track
double TrueMuonE
True energy of the muon.
TH1D * fNDTrkCalCatcher
histogram of ND muon calorimetric energy in the muon catcher region
TH1D * fCalCCEnergyDiff
histogram of the diff. between calorimetric neutrino E and true neutrino E (for pure pop...
bool trackMatchesMuon
track is muon-like
double cosrejnumucontpid
Cosmic rejection PID for contained events from CosRej.
TH1D * fAngleQEError
histogram of error on the neutrino energy for QE population using angle formula
double RecoMuonE
Reco energy of the muon.
TH1D * fNDTrkCalTransition
histogram of ND muon calorimetric energy in the transition region
double bestPID
Highest RemID.
TH1D * fTrkNonQEEnergy
histogram of muon track length neutrino energy for NonQE super pure population
double catcherE
Energy before entering the muon catcher (ND)
TH1D * fNDHadCalActive
histogram of ND hadron calorimetric energy in the active region
TH1D * fNDTrkLenCatcher
histogram of ND muon track length in the muon catcher region
bool fFD
is detector FD?
bool TrueQEInt
is the interaction QE?
TH2D * fTrkQEEnergy2D
histogram of muon track length neutrino E and true neutrino E (for pure QE pop.)
double cosrejanglekal
Cosine of angle of best ReMId Kalman Track from CosRej.
double TrueNuE
True energy of the neutrino.
TH1D * fTrkQEEnergy
histogram of muon track length neutrino energy for QE super pure population
double TrueTrackLength
True tracklength of the muon.
unsigned int mincellsfromedge
TH1D * fAngleQEEnergy
histogram of neutrino energy for QE population using angle formula
TH1D * fTrkQEEnergyDiff
histogram of the diff. between muon track length neutrino E and true neutrino E (for pure QE pop...
TH2D * fTrkNonQEEnergy2D
histogram of muon track length neutrino E and true neutrino E (for pure NonQE pop.)
TH1D * fNDTrkCalActive
histogram of ND muon calorimetric energy in the active region
T * make(ARGS...args) const
double NuPurity
Neutrino selection purity.
bool isCC
is the interaction CC?
double qepidPID
PID value of output kNN from QePId.
TH1D * fNDHadCalTransition
histogram of ND hadron calorimetric energy in the transition region
double trackLength
Reconstructed tracklength.
TH1D * fAngleQEEnergyDiff
histogram of the diff. between neutrino E using angle formula and true neutrino E (for pure QE pop...
double NuEfficiency
Neutrino selection efficiency.
TH1D * fTrkNonQEEnergyDiff
histogram of the diff. between muon track length neutrino E and true neutrino E (for pure NonQE pop...
TH1D * fCalCCEnergy
histogram of calorimetric neutrino energy for general CC population
TH2D * fAngleQEEnergy2D
histogram of neutrino E using angle formula and true neutrino E (for pure QE pop.) ...
void numue::NumuEAna::beginRun ( art::Run const &  r)
virtual

Reimplemented from art::EDAnalyzer.

Definition at line 672 of file NumuEAna_module.cc.

References geo::GeometryBase::DetHalfHeight(), geo::GeometryBase::DetHalfWidth(), geo::GeometryBase::DetId(), geo::GeometryBase::DetLength(), fFD, fMaxTrkLen, fND, geom(), novadaq::cnv::kFARDET, novadaq::cnv::kNEARDET, and util::pythag().

673  {
675  double detHalfWidth = geom->DetHalfWidth();
676  double detHalfHeight = geom->DetHalfHeight();
677  double detLength = geom->DetLength();
678 
679  fMaxTrkLen = util::pythag(detHalfWidth*2, detHalfHeight*2, detLength);
680 
681  fND = false;
682  fFD = false;
683 
684  novadaq::cnv::DetId detID = geom->DetId();
685  if (detID == novadaq::cnv::kNEARDET) fND = true;
686  if (detID == novadaq::cnv::kFARDET) fFD = true;
687 
688  }//End of beginRun
bool fND
is detector ND?
double DetLength() const
bool fFD
is detector FD?
Far Detector at Ash River, MN.
novadaq::cnv::DetId DetId() const
Prefer ds::DetectorService::DetId() instead.
Definition: GeometryBase.h:243
Near Detector in the NuMI cavern.
double DetHalfHeight() const
double DetHalfWidth() const
double pythag(double x, double y)
2D Euclidean distance
Definition: MathUtil.h:29
double fMaxTrkLen
length of detector from corner to corner
void geom(int which=0)
Definition: geom.C:163
detail::CachedProducts& art::EventObserverBase::cachedProducts ( )
inlineprotectedinherited

Definition at line 79 of file EventObserverBase.h.

References art::EventObserverBase::selectors_.

80  {
81  return selectors_;
82  }
detail::CachedProducts selectors_
template<typename T , BranchType = InEvent>
ProductToken<T> art::Consumer::consumes ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ProductToken<T> art::Consumer::consumes ( InputTag const &  it)
inherited

Definition at line 146 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

147 {
148  if (!moduleContext_)
149  return ProductToken<T>::invalid();
150 
151  consumables_[BT].emplace_back(ConsumableType::Product,
152  TypeID{typeid(T)},
153  it.label(),
154  it.instance(),
155  it.process());
156  return ProductToken<T>{it};
157 }
set< int >::iterator it
static ProductToken< T > invalid()
Definition: ProductToken.h:47
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename T , art::BranchType BT>
void art::Consumer::consumesMany ( )
inherited

Definition at line 161 of file Consumer.h.

References T.

162 {
163  if (!moduleContext_)
164  return;
165 
166  consumables_[BT].emplace_back(ConsumableType::Many, TypeID{typeid(T)});
167 }
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::Consumer::consumesView ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ViewToken<T> art::Consumer::consumesView ( InputTag const &  it)
inherited

Definition at line 171 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

172 {
173  if (!moduleContext_)
174  return ViewToken<T>::invalid();
175 
176  consumables_[BT].emplace_back(ConsumableType::ViewElement,
177  TypeID{typeid(T)},
178  it.label(),
179  it.instance(),
180  it.process());
181  return ViewToken<T>{it};
182 }
set< int >::iterator it
static ViewToken< Element > invalid()
Definition: ProductToken.h:75
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed)
inherited
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed,
std::string const &  kind_of_engine_to_make 
)
inherited
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed,
std::string const &  kind_of_engine_to_make,
label_t const &  engine_label 
)
inherited
CurrentProcessingContext const* art::EDAnalyzer::currentContext ( ) const
protectedinherited
seed_t art::EngineCreator::get_seed_value ( fhicl::ParameterSet const &  pset,
char const  key[] = "seed",
seed_t const  implicit_seed = -1 
)
inherited
art::Handle<art::TriggerResults> art::EventObserverBase::getTriggerResults ( Event const &  e) const
inlineinherited

Definition at line 61 of file EventObserverBase.h.

References art::detail::CachedProducts::getOneTriggerResults(), and art::EventObserverBase::selectors_.

62  {
64  }
detail::CachedProducts selectors_
art::Handle< art::TriggerResults > getOneTriggerResults(Event const &) const
Float_t e
Definition: plot.C:35
template<typename T , BranchType = InEvent>
ProductToken<T> art::Consumer::mayConsume ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ProductToken<T> art::Consumer::mayConsume ( InputTag const &  it)
inherited

Definition at line 189 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

190 {
191  if (!moduleContext_)
192  return ProductToken<T>::invalid();
193 
194  consumables_[BT].emplace_back(ConsumableType::Product,
195  TypeID{typeid(T)},
196  it.label(),
197  it.instance(),
198  it.process());
199  return ProductToken<T>{it};
200 }
set< int >::iterator it
static ProductToken< T > invalid()
Definition: ProductToken.h:47
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename T , art::BranchType BT>
void art::Consumer::mayConsumeMany ( )
inherited

Definition at line 204 of file Consumer.h.

References T.

205 {
206  if (!moduleContext_)
207  return;
208 
209  consumables_[BT].emplace_back(ConsumableType::Many, TypeID{typeid(T)});
210 }
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::Consumer::mayConsumeView ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ViewToken<T> art::Consumer::mayConsumeView ( InputTag const &  it)
inherited

Definition at line 214 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

215 {
216  if (!moduleContext_)
217  return ViewToken<T>::invalid();
218 
219  consumables_[BT].emplace_back(ConsumableType::ViewElement,
220  TypeID{typeid(T)},
221  it.label(),
222  it.instance(),
223  it.process());
224  return ViewToken<T>{it};
225 }
set< int >::iterator it
static ViewToken< Element > invalid()
Definition: ProductToken.h:75
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
bool art::EventObserverBase::modifiesEvent ( ) const
inlineinherited

Definition at line 25 of file EventObserverBase.h.

26  {
27  return false;
28  }
static cet::exempt_ptr<Consumer> art::Consumer::non_module_context ( )
staticinherited
void art::Consumer::prepareForJob ( fhicl::ParameterSet const &  pset)
protectedinherited
std::string const& art::EventObserverBase::processName ( ) const
inlineinherited
void numue::NumuEAna::reconfigure ( fhicl::ParameterSet const &  p)
virtual

Definition at line 552 of file NumuEAna_module.cc.

References fCosmicTrackModuleLabel, fCosRejLabel, fEnergyModuleLabel, fHitModuleLabel, fPIDModuleLabel, fQepidLabel, fSlicerModuleLabel, fTrackModuleLabel, fhicl::ParameterSet::get(), and string.

Referenced by NumuEAna().

553  {
554  fHitModuleLabel = p.get< std::string >("HitModuleLabel" );
555  fTrackModuleLabel = p.get< std::string >("TrackModuleLabel" );
556  fCosmicTrackModuleLabel = p.get< std::string >("CosmicTrackModuleLabel");
557  fSlicerModuleLabel = p.get< std::string >("SlicerModuleLabel" );
558  fEnergyModuleLabel = p.get< std::string >("EnergyModuleLabel" );
559  fPIDModuleLabel = p.get< std::string >("PIDModuleLabel" );
560  fCosRejLabel = p.get< std::string >("CosRejLabel" );
561  fQepidLabel = p.get< std::string >("QepidLabel" );
562  }
std::string fPIDModuleLabel
label for module writing pid objects
std::string fCosmicTrackModuleLabel
label for module making cosmic tracks
std::string fEnergyModuleLabel
label for module writing energy objects
const char * p
Definition: xmltok.h:285
std::string fTrackModuleLabel
label for module making the tracks
std::string fHitModuleLabel
lable for module making the hits
std::string fSlicerModuleLabel
label for module making the slices
std::string fQepidLabel
label for module writing qe pid objects
std::string fCosRejLabel
label for module writing cosmic rejection
enum BeamMode string
void art::EventObserverBase::registerProducts ( MasterProductRegistry ,
ProductDescriptions ,
ModuleDescription const &   
)
inlineinherited

Definition at line 33 of file EventObserverBase.h.

References string.

36  {}
fhicl::ParameterSetID art::EventObserverBase::selectorConfig ( ) const
inlineinherited

Definition at line 56 of file EventObserverBase.h.

References art::EventObserverBase::selector_config_id_.

57  {
58  return selector_config_id_;
59  }
fhicl::ParameterSetID selector_config_id_
void art::Consumer::showMissingConsumes ( ) const
protectedinherited

Referenced by art::RootOutput::endJob().

double numue::NumuEAna::TotalLengthInDetector ( const sim::Particle part,
geo::View_t  view 
)

Definition at line 690 of file NumuEAna_module.cc.

References DEFINE_ART_MODULE(), geo::GeometryBase::DetHalfHeight(), geo::GeometryBase::DetHalfWidth(), geo::GeometryBase::DetLength(), dist, stan::math::fabs(), geom(), geo::kX, geo::kY, Mag(), getGoodRuns4SAM::n, simb::MCParticle::NumberTrajectoryPoints(), PandAna.Demos.pi0_spectra::p0, plot_validation_datamc::p1, and simb::MCParticle::Position().

Referenced by analyze().

691  {
692  const unsigned int N = p->NumberTrajectoryPoints();
693 
694  if(N < 2){
695  mf::LogWarning("RecoCheckAna") << "Particle has no trajectory points";
696  return 0;
697  }
698 
700 
701  double dist = 0;
702 
703  for(unsigned int n = 0; n < N-1; ++n){
704  TVector3 p0 = p->Position(n).Vect();
705  TVector3 p1 = p->Position(n+1).Vect();
706  if(p0.Z() < 0 || p1.Z() < 0 ||
707  p0.Z() > geom->DetLength() || p1.Z() > geom->DetLength() ||
708  fabs(p0.X()) > geom->DetHalfWidth() || fabs(p1.X()) > geom->DetHalfWidth() ||
709  fabs(p0.Y()) > geom->DetHalfHeight() || fabs(p1.Y()) > geom->DetHalfHeight()) continue;
710 
711  if(view == geo::kX){
712  p0.SetY(0);
713  p1.SetY(0);
714  }
715  if(view == geo::kY){
716  p0.SetX(0);
717  p1.SetX(0);
718  }
719  dist += (p1-p0).Mag();
720  }
721 
722  return dist;
723 } // end of TotalLengthInDetector
fvar< T > fabs(const fvar< T > &x)
Definition: fabs.hpp:15
const char * p
Definition: xmltok.h:285
Vertical planes which measure X.
Definition: PlaneGeo.h:28
double DetLength() const
Horizontal planes which measure Y.
Definition: PlaneGeo.h:29
double dist
Definition: runWimpSim.h:113
double DetHalfHeight() const
double DetHalfWidth() const
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
void geom(int which=0)
Definition: geom.C:163
float Mag() const
void art::Consumer::validateConsumedProduct ( BranchType const  bt,
ProductInfo const &  pi 
)
protectedinherited
bool art::EventObserverBase::wantAllEvents ( ) const
inlineinherited

Definition at line 46 of file EventObserverBase.h.

References art::EventObserverBase::wantAllEvents_.

Referenced by art::RootOutput::RootOutput().

47  {
48  return wantAllEvents_;
49  }
bool art::EventObserverBase::wantEvent ( Event const &  e)
inlineinherited

Definition at line 51 of file EventObserverBase.h.

References art::EventObserverBase::selectors_, and art::detail::CachedProducts::wantEvent().

52  {
53  return selectors_.wantEvent(e);
54  }
detail::CachedProducts selectors_
Float_t e
Definition: plot.C:35
bool wantEvent(Event const &)
std::string art::EDAnalyzer::workerType ( ) const
inlineinherited

Definition at line 109 of file EDAnalyzer.h.

References art::EDAnalyzer::currentContext().

110  {
111  return "WorkerT<EDAnalyzer>";
112  }

Member Data Documentation

float numue::NumuEAna::AngleQEEnergy
private

Definition at line 102 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::AngleQEError
private

Definition at line 103 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::bestPID
private

Highest RemID.

Definition at line 152 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

int numue::NumuEAna::bestTrack
private

Definition at line 133 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::CalCCEnergy
private

Definition at line 98 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::catcherE
private

Energy before entering the muon catcher (ND)

Definition at line 151 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::CCEnergy
private

Definition at line 101 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

bool numue::NumuEAna::contained
private

does it pass numu containment cuts?

Definition at line 126 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::cosrejanglekal
private

Cosine of angle of best ReMId Kalman Track from CosRej.

Definition at line 154 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::cosrejnumucontpid
private

Cosmic rejection PID for contained events from CosRej.

Definition at line 155 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::end_x_reco
private

Definition at line 161 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::end_y_reco
private

Definition at line 162 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::end_z_reco
private

Definition at line 163 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

int numue::NumuEAna::Evt
private

Definition at line 130 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* numue::NumuEAna::fAngleQEEnergy
private

histogram of neutrino energy for QE population using angle formula

Definition at line 71 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH2D* numue::NumuEAna::fAngleQEEnergy2D
private

histogram of neutrino E using angle formula and true neutrino E (for pure QE pop.)

Definition at line 83 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* numue::NumuEAna::fAngleQEEnergyDiff
private

histogram of the diff. between neutrino E using angle formula and true neutrino E (for pure QE pop.)

Definition at line 78 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* numue::NumuEAna::fAngleQEError
private

histogram of error on the neutrino energy for QE population using angle formula

Definition at line 73 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* numue::NumuEAna::fCalCCEnergy
private

histogram of calorimetric neutrino energy for general CC population

Definition at line 68 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH2D* numue::NumuEAna::fCalCCEnergy2D
private

histogram of calorimetric neutrino E and true neutrino E (for pure pop.)

Definition at line 80 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* numue::NumuEAna::fCalCCEnergyDiff
private

histogram of the diff. between calorimetric neutrino E and true neutrino E (for pure pop.)

Definition at line 75 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

std::string numue::NumuEAna::fCosmicTrackModuleLabel
private

label for module making cosmic tracks

Definition at line 58 of file NumuEAna_module.cc.

Referenced by analyze(), and reconfigure().

std::string numue::NumuEAna::fCosRejLabel
private

label for module writing cosmic rejection

Definition at line 62 of file NumuEAna_module.cc.

Referenced by analyze(), and reconfigure().

std::string numue::NumuEAna::fEnergyModuleLabel
private

label for module writing energy objects

Definition at line 60 of file NumuEAna_module.cc.

Referenced by analyze(), and reconfigure().

bool numue::NumuEAna::fFD
private

is detector FD?

Definition at line 121 of file NumuEAna_module.cc.

Referenced by analyze(), beginJob(), and beginRun().

TH1D* numue::NumuEAna::fHadronCalEnergy
private

histogram of hadronic calorimetric energy NOT on the muon track

Definition at line 85 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* numue::NumuEAna::fHadronTrkEnergy
private

histogram of hadronic calorimetric energy on the muon track

Definition at line 86 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

std::string numue::NumuEAna::fHitModuleLabel
private

lable for module making the hits

Definition at line 56 of file NumuEAna_module.cc.

Referenced by analyze(), and reconfigure().

int numue::NumuEAna::firstplane
private

Definition at line 140 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::fMaxTrkLen
private

length of detector from corner to corner

Definition at line 168 of file NumuEAna_module.cc.

Referenced by beginRun().

bool numue::NumuEAna::fND
private

is detector ND?

Definition at line 120 of file NumuEAna_module.cc.

Referenced by analyze(), beginJob(), and beginRun().

TH1D* numue::NumuEAna::fNDHadCalActive
private

histogram of ND hadron calorimetric energy in the active region

Definition at line 93 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* numue::NumuEAna::fNDHadCalCatcher
private

histogram of ND hadron calorimetric energy in the muon catcher region

Definition at line 95 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* numue::NumuEAna::fNDHadCalTransition
private

histogram of ND hadron calorimetric energy in the transition region

Definition at line 94 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* numue::NumuEAna::fNDTrkCalActive
private

histogram of ND muon calorimetric energy in the active region

Definition at line 90 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* numue::NumuEAna::fNDTrkCalCatcher
private

histogram of ND muon calorimetric energy in the muon catcher region

Definition at line 92 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* numue::NumuEAna::fNDTrkCalTransition
private

histogram of ND muon calorimetric energy in the transition region

Definition at line 91 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* numue::NumuEAna::fNDTrkLenActive
private

histogram of ND muon track length in the active region

Definition at line 88 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* numue::NumuEAna::fNDTrkLenCatcher
private

histogram of ND muon track length in the muon catcher region

Definition at line 89 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TTree* numue::NumuEAna::fNumuETree
private

n-tuple used for further analyses (pure population)

Definition at line 67 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

std::string numue::NumuEAna::fPIDModuleLabel
private

label for module writing pid objects

Definition at line 61 of file NumuEAna_module.cc.

Referenced by analyze(), and reconfigure().

std::string numue::NumuEAna::fQepidLabel
private

label for module writing qe pid objects

Definition at line 63 of file NumuEAna_module.cc.

Referenced by analyze(), and reconfigure().

std::string numue::NumuEAna::fSlicerModuleLabel
private

label for module making the slices

Definition at line 59 of file NumuEAna_module.cc.

Referenced by analyze(), and reconfigure().

std::string numue::NumuEAna::fTrackModuleLabel
private

label for module making the tracks

Definition at line 57 of file NumuEAna_module.cc.

Referenced by analyze(), and reconfigure().

TH1D* numue::NumuEAna::fTrkNonQEEnergy
private

histogram of muon track length neutrino energy for NonQE super pure population

Definition at line 70 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH2D* numue::NumuEAna::fTrkNonQEEnergy2D
private

histogram of muon track length neutrino E and true neutrino E (for pure NonQE pop.)

Definition at line 82 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* numue::NumuEAna::fTrkNonQEEnergyDiff
private

histogram of the diff. between muon track length neutrino E and true neutrino E (for pure NonQE pop.)

Definition at line 77 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* numue::NumuEAna::fTrkQEEnergy
private

histogram of muon track length neutrino energy for QE super pure population

Definition at line 69 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH2D* numue::NumuEAna::fTrkQEEnergy2D
private

histogram of muon track length neutrino E and true neutrino E (for pure QE pop.)

Definition at line 81 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* numue::NumuEAna::fTrkQEEnergyDiff
private

histogram of the diff. between muon track length neutrino E and true neutrino E (for pure QE pop.)

Definition at line 76 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

int numue::NumuEAna::goodMuon
private

Definition at line 132 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::HadCalEnergy
private

Definition at line 104 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::HadTrkEnergy
private

Definition at line 105 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

bool numue::NumuEAna::isCC
private

is the interaction CC?

Definition at line 123 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

int numue::NumuEAna::lastplane
private

Definition at line 141 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

unsigned int numue::NumuEAna::mincellsfromedge
private

Definition at line 144 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

int numue::NumuEAna::nCosmic
private

Definition at line 136 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::ndHadCalAct
private

Definition at line 111 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::ndHadCalCat
private

Definition at line 113 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::ndHadCalTran
private

Definition at line 112 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::ndHadTrkAct
private

Definition at line 114 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::ndHadTrkCat
private

Definition at line 116 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::ndHadTrkTran
private

Definition at line 115 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::ndTrkCalAct
private

Definition at line 108 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::ndTrkCalCat
private

Definition at line 110 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::ndTrkCalTran
private

Definition at line 109 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::ndTrkLenAct
private

Definition at line 106 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::ndTrkLenCat
private

Definition at line 107 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::ndTrkTranX
private

Definition at line 117 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::ndTrkTranY
private

Definition at line 118 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

int numue::NumuEAna::nKalman
private

Definition at line 135 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::NonQEEnergy
private

Definition at line 100 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

int numue::NumuEAna::nplanestoback
private

Definition at line 143 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

int numue::NumuEAna::nplanestofront
private

Definition at line 142 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

int numue::NumuEAna::nslicecontplanes
private

Definition at line 146 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

int numue::NumuEAna::nslicehit
private

Definition at line 145 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::NuEfficiency
private

Neutrino selection efficiency.

Definition at line 149 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::NuPurity
private

Neutrino selection purity.

Definition at line 148 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

int numue::NumuEAna::PDGCode
private

Definition at line 134 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

float numue::NumuEAna::QEEnergy
private

Definition at line 99 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

int numue::NumuEAna::qepidntrk
private

Number of tracks used by QePId.

Definition at line 137 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::qepidPID
private

PID value of output kNN from QePId.

Definition at line 153 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::RecoMuonE
private

Reco energy of the muon.

Definition at line 165 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

art::ServiceHandle<nova::dbi::RunHistoryService> numue::NumuEAna::rh
private

Definition at line 65 of file NumuEAna_module.cc.

Referenced by analyze().

int numue::NumuEAna::Run
private

Definition at line 128 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::start_x_reco
private

Definition at line 158 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::start_y_reco
private

Definition at line 159 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::start_z_reco
private

Definition at line 160 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

int numue::NumuEAna::SubEvt
private

Definition at line 131 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

int numue::NumuEAna::SubRun
private

Definition at line 129 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::trackLength
private

Reconstructed tracklength.

Definition at line 150 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

bool numue::NumuEAna::trackMatchesMuon
private

track is muon-like

Definition at line 125 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::trackMuonEffHits
private

Definition at line 156 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::trackMuonPurHits
private

Definition at line 157 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::TrueMuonE
private

True energy of the muon.

Definition at line 164 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::TrueNuE
private

True energy of the neutrino.

Definition at line 166 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

bool numue::NumuEAna::TrueQEInt
private

is the interaction QE?

Definition at line 124 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().

double numue::NumuEAna::TrueTrackLength
private

True tracklength of the muon.

Definition at line 167 of file NumuEAna_module.cc.

Referenced by analyze(), and beginJob().


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