LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
lar_pandora::PFParticleAnalysis Class Reference

PFParticleAnalysis class. More...

Inheritance diagram for lar_pandora::PFParticleAnalysis:
art::EDAnalyzer art::detail::Analyzer art::detail::LegacyModule art::Observer art::ModuleBase

Public Types

using ModuleType = EDAnalyzer
 

Public Member Functions

 PFParticleAnalysis (fhicl::ParameterSet const &pset)
 Constructor. More...
 
virtual ~PFParticleAnalysis ()
 Destructor. More...
 
void beginJob ()
 
void endJob ()
 
void analyze (const art::Event &evt)
 
void reconfigure (fhicl::ParameterSet const &pset)
 
void doBeginJob (SharedResources const &resources)
 
void doEndJob ()
 
void doRespondToOpenInputFile (FileBlock const &fb)
 
void doRespondToCloseInputFile (FileBlock const &fb)
 
void doRespondToOpenOutputFiles (FileBlock const &fb)
 
void doRespondToCloseOutputFiles (FileBlock const &fb)
 
bool doBeginRun (RunPrincipal &rp, ModuleContext const &mc)
 
bool doEndRun (RunPrincipal &rp, ModuleContext const &mc)
 
bool doBeginSubRun (SubRunPrincipal &srp, ModuleContext const &mc)
 
bool doEndSubRun (SubRunPrincipal &srp, ModuleContext const &mc)
 
bool doEvent (EventPrincipal &ep, ModuleContext const &mc, std::atomic< std::size_t > &counts_run, std::atomic< std::size_t > &counts_passed, std::atomic< std::size_t > &counts_failed)
 
ModuleDescription const & moduleDescription () const
 
void setModuleDescription (ModuleDescription const &)
 
std::array< std::vector< ProductInfo >, NumBranchTypes > const & getConsumables () const
 
void sortConsumables (std::string const &current_process_name)
 
std::unique_ptr< Worker > makeWorker (WorkerParams const &wp)
 
template<typename T , BranchType BT>
ViewToken< T > consumesView (InputTag const &tag)
 
template<typename T , BranchType BT>
ViewToken< T > mayConsumeView (InputTag const &tag)
 

Protected Member Functions

std::string const & processName () const
 
bool wantAllEvents () const noexcept
 
bool wantEvent (ScheduleID id, Event const &e) const
 
Handle< TriggerResults > getTriggerResults (Event const &e) const
 
ConsumesCollector & consumesCollector ()
 
template<typename T , BranchType = InEvent>
ProductToken< T > consumes (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename T , BranchType = InEvent>
ProductToken< T > mayConsume (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 

Private Attributes

TTree * m_pRecoTree
 
int m_run
 
int m_event
 
int m_index
 
int m_self
 
int m_pdgcode
 
int m_primary
 
int m_parent
 
int m_daughters
 
int m_generation
 
int m_neutrino
 
int m_finalstate
 
int m_vertex
 
int m_track
 
int m_trackid
 
int m_shower
 
int m_showerid
 
int m_clusters
 
int m_spacepoints
 
int m_hits
 
int m_trajectorypoints
 
int m_trackhits
 
int m_showerhits
 
double m_pfovtxx
 
double m_pfovtxy
 
double m_pfovtxz
 
double m_trkvtxx
 
double m_trkvtxy
 
double m_trkvtxz
 
double m_trkvtxdirx
 
double m_trkvtxdiry
 
double m_trkvtxdirz
 
double m_trkendx
 
double m_trkendy
 
double m_trkendz
 
double m_trkenddirx
 
double m_trkenddiry
 
double m_trkenddirz
 
double m_trklength
 
double m_trkstraightlength
 
double m_shwvtxx
 
double m_shwvtxy
 
double m_shwvtxz
 
double m_shwvtxdirx
 
double m_shwvtxdiry
 
double m_shwvtxdirz
 
double m_shwlength
 
double m_shwopenangle
 
double m_shwbestplane
 
double m_t0
 
std::string m_particleLabel
 
std::string m_trackLabel
 
std::string m_showerLabel
 
bool m_printDebug
 switch for print statements (TODO: use message service!) More...
 

Detailed Description

PFParticleAnalysis class.

Definition at line 24 of file PFParticleAnalysis_module.cc.

Member Typedef Documentation

Definition at line 22 of file EDAnalyzer.h.

Constructor & Destructor Documentation

lar_pandora::PFParticleAnalysis::PFParticleAnalysis ( fhicl::ParameterSet const &  pset)

Constructor.

Parameters
pset

Definition at line 135 of file PFParticleAnalysis_module.cc.

References reconfigure().

135  : art::EDAnalyzer(pset)
136  {
137  this->reconfigure(pset);
138  }
void reconfigure(fhicl::ParameterSet const &pset)
lar_pandora::PFParticleAnalysis::~PFParticleAnalysis ( )
virtual

Destructor.

Definition at line 142 of file PFParticleAnalysis_module.cc.

142 {}

Member Function Documentation

void lar_pandora::PFParticleAnalysis::analyze ( const art::Event evt)

Definition at line 221 of file PFParticleAnalysis_module.cc.

References recob::Shower::best_plane(), lar_pandora::LArPandoraHelper::BuildPFParticleHitMaps(), lar_pandora::LArPandoraHelper::BuildPFParticleMap(), lar_pandora::LArPandoraHelper::CollectPFParticles(), lar_pandora::LArPandoraHelper::CollectShowers(), lar_pandora::LArPandoraHelper::CollectT0s(), lar_pandora::LArPandoraHelper::CollectTracks(), lar_pandora::LArPandoraHelper::CollectVertices(), recob::Shower::Direction(), recob::Track::End(), recob::Track::EndDirection(), art::EventID::event(), lar_pandora::LArPandoraHelper::GetGeneration(), lar_pandora::LArPandoraHelper::GetParentNeutrino(), art::Event::id(), recob::Shower::ID(), recob::Track::ID(), lar_pandora::LArPandoraHelper::IsFinalState(), recob::PFParticle::IsPrimary(), recob::Shower::Length(), recob::Track::Length(), m_clusters, m_daughters, m_event, m_finalstate, m_generation, m_hits, m_index, m_neutrino, m_parent, m_particleLabel, m_pdgcode, m_pfovtxx, m_pfovtxy, m_pfovtxz, m_pRecoTree, m_primary, m_printDebug, m_run, m_self, m_shower, m_showerhits, m_showerid, m_showerLabel, m_shwbestplane, m_shwlength, m_shwopenangle, m_shwvtxdirx, m_shwvtxdiry, m_shwvtxdirz, m_shwvtxx, m_shwvtxy, m_shwvtxz, m_spacepoints, m_t0, m_track, m_trackhits, m_trackid, m_trackLabel, m_trajectorypoints, m_trkenddirx, m_trkenddiry, m_trkenddirz, m_trkendx, m_trkendy, m_trkendz, m_trklength, m_trkstraightlength, m_trkvtxdirx, m_trkvtxdiry, m_trkvtxdirz, m_trkvtxx, m_trkvtxy, m_trkvtxz, m_vertex, n, recob::Track::NumberTrajectoryPoints(), recob::PFParticle::NumDaughters(), recob::Shower::OpenAngle(), recob::PFParticle::Parent(), recob::PFParticle::PdgCode(), art::Event::run(), recob::PFParticle::Self(), recob::Shower::ShowerStart(), anab::T0::Time(), track, recob::Track::Vertex(), recob::Track::VertexDirection(), and recob::Vertex::XYZ().

222  {
223  if (m_printDebug) std::cout << " *** PFParticleAnalysis::analyze(...) *** " << std::endl;
224 
225  m_run = evt.run();
226  m_event = evt.id().event();
227  m_index = 0;
228 
229  m_self = 0;
230  m_pdgcode = 0;
231  m_primary = 0;
232  m_parent = 0;
233  m_daughters = 0;
234  m_generation = 0;
235  m_neutrino = 0;
236  m_finalstate = 0;
237  m_vertex = 0;
238  m_track = 0;
239  m_trackid = -999;
240  m_shower = 0;
241  m_showerid = -999;
242 
243  m_clusters = 0;
244  m_spacepoints = 0;
245  m_hits = 0;
246  m_trajectorypoints = 0;
247  m_trackhits = 0;
248  m_showerhits = 0;
249 
250  m_pfovtxx = 0.0;
251  m_pfovtxy = 0.0;
252  m_pfovtxz = 0.0;
253 
254  m_trkvtxx = 0.0;
255  m_trkvtxy = 0.0;
256  m_trkvtxz = 0.0;
257  m_trkvtxdirx = 0.0;
258  m_trkvtxdiry = 0.0;
259  m_trkvtxdirz = 0.0;
260  m_trkendx = 0.0;
261  m_trkendy = 0.0;
262  m_trkendz = 0.0;
263  m_trkenddirx = 0.0;
264  m_trkenddiry = 0.0;
265  m_trkenddirz = 0.0;
266  m_trklength = 0.0;
267  m_trkstraightlength = 0.0;
268 
269  m_shwvtxx = 0.0;
270  m_shwvtxy = 0.0;
271  m_shwvtxz = 0.0;
272  m_shwvtxdirx = 0.0;
273  m_shwvtxdiry = 0.0;
274  m_shwvtxdirz = 0.0;
275  m_shwlength = 0.0;
276  m_shwopenangle = 0.0;
277  m_shwbestplane = 0.0;
278 
279  m_t0 = 0;
280 
281  if (m_printDebug) {
282  std::cout << " Run: " << m_run << std::endl;
283  std::cout << " Event: " << m_event << std::endl;
284  }
285 
286  // Get the reconstructed PFParticles
287  // =================================
288  PFParticleVector particleVector;
289  PFParticleVector particles1, particles2;
290  PFParticlesToClusters particlesToClusters;
291  PFParticlesToSpacePoints particlesToSpacePoints;
292  PFParticlesToHits particlesToHits;
293  HitsToPFParticles hitsToParticles;
294 
296  LArPandoraHelper::CollectPFParticles(evt, m_particleLabel, particles1, particlesToClusters);
297  LArPandoraHelper::CollectPFParticles(evt, m_particleLabel, particles2, particlesToSpacePoints);
299  evt, m_particleLabel, particlesToHits, hitsToParticles);
300 
301  if (m_printDebug) std::cout << " PFParticles: " << particleVector.size() << std::endl;
302 
303  if (particleVector.empty()) {
304  m_pRecoTree->Fill();
305  return;
306  }
307 
308  // Get the reconstructed vertices
309  // ==============================
310  VertexVector vertexVector;
311  PFParticlesToVertices particlesToVertices;
312  LArPandoraHelper::CollectVertices(evt, m_particleLabel, vertexVector, particlesToVertices);
313 
314  // Get the reconstructed tracks
315  // ============================
316  TrackVector trackVector, trackVector2;
317  PFParticlesToTracks particlesToTracks;
318  TracksToHits tracksToHits;
319  LArPandoraHelper::CollectTracks(evt, m_trackLabel, trackVector, particlesToTracks);
320  LArPandoraHelper::CollectTracks(evt, m_trackLabel, trackVector2, tracksToHits);
321 
322  // Get the reconstructed showers
323  // ============================
324  ShowerVector showerVector, showerVector2;
325  PFParticlesToShowers particlesToShowers;
326  ShowersToHits showersToHits;
327  LArPandoraHelper::CollectShowers(evt, m_showerLabel, showerVector, particlesToShowers);
328  LArPandoraHelper::CollectShowers(evt, m_showerLabel, showerVector2, showersToHits);
329 
330  // Get the reconstructed T0 objects
331  // ================================
332  T0Vector t0Vector;
333  PFParticlesToT0s particlesToT0s;
334  LArPandoraHelper::CollectT0s(evt, m_particleLabel, t0Vector, particlesToT0s);
335 
336  // Build an indexed map of the PFParticles
337  // =======================================
338  PFParticleMap particleMap;
339  LArPandoraHelper::BuildPFParticleMap(particleVector, particleMap);
340 
341  // Write PFParticle properties to ROOT file
342  // ========================================
343  for (unsigned int n = 0; n < particleVector.size(); ++n) {
344  const art::Ptr<recob::PFParticle> particle = particleVector.at(n);
345 
346  m_index = n;
347  m_self = particle->Self();
348  m_pdgcode = particle->PdgCode();
349  m_primary = particle->IsPrimary();
350  m_parent = (particle->IsPrimary() ? -1 : particle->Parent());
351  m_daughters = particle->NumDaughters();
352  m_generation = LArPandoraHelper::GetGeneration(particleMap, particle);
353  m_neutrino = LArPandoraHelper::GetParentNeutrino(particleMap, particle);
354  m_finalstate = LArPandoraHelper::IsFinalState(particleMap, particle);
355  m_vertex = 0;
356  m_track = 0;
357  m_trackid = -999;
358  m_shower = 0;
359  m_showerid = -999;
360 
361  m_clusters = 0;
362  m_spacepoints = 0;
363  m_hits = 0;
364  m_trajectorypoints = 0;
365  m_trackhits = 0;
366  m_showerhits = 0;
367 
368  m_pfovtxx = 0.0;
369  m_pfovtxy = 0.0;
370  m_pfovtxz = 0.0;
371 
372  m_trkvtxx = 0.0;
373  m_trkvtxy = 0.0;
374  m_trkvtxz = 0.0;
375  m_trkvtxdirx = 0.0;
376  m_trkvtxdiry = 0.0;
377  m_trkvtxdirz = 0.0;
378  m_trkendx = 0.0;
379  m_trkendy = 0.0;
380  m_trkendz = 0.0;
381  m_trkenddirx = 0.0;
382  m_trkenddiry = 0.0;
383  m_trkenddirz = 0.0;
384  m_trklength = 0.0;
385  m_trkstraightlength = 0.0;
386 
387  m_shwvtxx = 0.0;
388  m_shwvtxy = 0.0;
389  m_shwvtxz = 0.0;
390  m_shwvtxdirx = 0.0;
391  m_shwvtxdiry = 0.0;
392  m_shwvtxdirz = 0.0;
393  m_shwlength = 0.0;
394  m_shwopenangle = 0.0;
395  m_shwbestplane = 0.0;
396 
397  m_t0 = 0.0;
398 
399  // Particles <-> Clusters
400  PFParticlesToClusters::const_iterator cIter = particlesToClusters.find(particle);
401  if (particlesToClusters.end() != cIter) m_clusters = cIter->second.size();
402 
403  // Particles <-> SpacePoints
404  PFParticlesToSpacePoints::const_iterator pIter = particlesToSpacePoints.find(particle);
405  if (particlesToSpacePoints.end() != pIter) m_spacepoints = pIter->second.size();
406 
407  // Particles <-> Hits
408  PFParticlesToHits::const_iterator hIter = particlesToHits.find(particle);
409  if (particlesToHits.end() != hIter) m_hits = hIter->second.size();
410 
411  // Particles <-> Vertices
412  PFParticlesToVertices::const_iterator vIter = particlesToVertices.find(particle);
413  if (particlesToVertices.end() != vIter) {
414  const VertexVector& vertexVector = vIter->second;
415  if (!vertexVector.empty()) {
416  if (vertexVector.size() != 1 && m_printDebug)
417  std::cout << " Warning: Found particle with more than one associated vertex "
418  << std::endl;
419 
420  const art::Ptr<recob::Vertex> vertex = *(vertexVector.begin());
421  double xyz[3] = {0.0, 0.0, 0.0};
422  vertex->XYZ(xyz);
423 
424  m_vertex = 1;
425  m_pfovtxx = xyz[0];
426  m_pfovtxy = xyz[1];
427  m_pfovtxz = xyz[2];
428  }
429  }
430 
431  // Particles <-> T0s
432  PFParticlesToT0s::const_iterator t0Iter = particlesToT0s.find(particle);
433  if (particlesToT0s.end() != t0Iter) {
434  const T0Vector& t0Vector = t0Iter->second;
435  if (!t0Vector.empty()) {
436  if (t0Vector.size() != 1 && m_printDebug)
437  std::cout << " Warning: Found particle with more than one associated T0 " << std::endl;
438 
439  const art::Ptr<anab::T0> t0 = *(t0Vector.begin());
440  m_t0 = t0->Time();
441  }
442  }
443 
444  // Particles <-> Tracks <-> Hits, T0s
445  PFParticlesToTracks::const_iterator trkIter = particlesToTracks.find(particle);
446  if (particlesToTracks.end() != trkIter) {
447  const TrackVector& trackVector = trkIter->second;
448  if (!trackVector.empty()) {
449  if (trackVector.size() != 1 && m_printDebug)
450  std::cout << " Warning: Found particle with more than one associated track "
451  << std::endl;
452 
453  const art::Ptr<recob::Track> track = *(trackVector.begin());
454  const auto& trackVtxPosition = track->Vertex();
455  const auto& trackVtxDirection = track->VertexDirection();
456  const auto& trackEndPosition = track->End();
457  const auto& trackEndDirection = track->EndDirection();
458 
459  m_track = 1;
460  m_trackid = track->ID();
462  m_trkvtxx = trackVtxPosition.x();
463  m_trkvtxy = trackVtxPosition.y();
464  m_trkvtxz = trackVtxPosition.z();
465  m_trkvtxdirx = trackVtxDirection.x();
466  m_trkvtxdiry = trackVtxDirection.y();
467  m_trkvtxdirz = trackVtxDirection.z();
468  m_trkendx = trackEndPosition.x();
469  m_trkendy = trackEndPosition.y();
470  m_trkendz = trackEndPosition.z();
471  m_trkenddirx = trackEndDirection.x();
472  m_trkenddiry = trackEndDirection.y();
473  m_trkenddirz = trackEndDirection.z();
474  m_trklength = track->Length();
475  m_trkstraightlength = (trackEndPosition - trackVtxPosition).R();
476 
477  TracksToHits::const_iterator trkIter2 = tracksToHits.find(track);
478  if (tracksToHits.end() != trkIter2) m_trackhits = trkIter2->second.size();
479  }
480  }
481 
482  // Particles <-> Showers <-> Hits
483  PFParticlesToShowers::const_iterator shwIter = particlesToShowers.find(particle);
484  if (particlesToShowers.end() != shwIter) {
485  const ShowerVector& showerVector = shwIter->second;
486  if (!showerVector.empty()) {
487  if (showerVector.size() != 1 && m_printDebug)
488  std::cout << " Warning: Found particle with more than one associated shower "
489  << std::endl;
490 
491  const art::Ptr<recob::Shower> shower = *(showerVector.begin());
492  const TVector3& showerVtxPosition = shower->ShowerStart();
493  const TVector3& showerVtxDirection = shower->Direction();
494 
495  m_shower = 1;
496  m_showerid = shower->ID();
497 
498  m_shwvtxx = showerVtxPosition.x();
499  m_shwvtxy = showerVtxPosition.y();
500  m_shwvtxz = showerVtxPosition.z();
501  m_shwvtxdirx = showerVtxDirection.x();
502  m_shwvtxdiry = showerVtxDirection.y();
503  m_shwvtxdirz = showerVtxDirection.z();
504 
505  m_shwlength = shower->Length();
506  m_shwopenangle = shower->OpenAngle();
507  m_shwbestplane = shower->best_plane();
508 
509  ShowersToHits::const_iterator shwIter2 = showersToHits.find(shower);
510  if (showersToHits.end() != shwIter2) m_showerhits = shwIter2->second.size();
511  }
512  }
513 
514  if (m_printDebug)
515  std::cout << " PFParticle [" << n << "] Primary=" << m_primary
516  << " FinalState=" << m_finalstate << " Pdg=" << m_pdgcode
517  << " NuPdg=" << m_neutrino << " (Self=" << m_self << ", Parent=" << m_parent
518  << ")"
519  << " (Vertex=" << m_vertex << ", Track=" << m_track << ", Shower=" << m_shower
520  << ", Clusters=" << m_clusters << ", SpacePoints=" << m_spacepoints
521  << ", Hits=" << m_hits << ") " << std::endl;
522 
523  m_pRecoTree->Fill();
524  }
525  }
static void BuildPFParticleHitMaps(const PFParticleVector &particleVector, const PFParticlesToSpacePoints &particlesToSpacePoints, const SpacePointsToHits &spacePointsToHits, PFParticlesToHits &particlesToHits, HitsToPFParticles &hitsToParticles, const DaughterMode daughterMode=kUseDaughters)
Build mapping between PFParticles and Hits using PFParticle/SpacePoint/Hit maps.
int best_plane() const
Definition: Shower.h:223
code to link reconstructed objects back to the MC truth information
void XYZ(double *xyz) const
Legacy method to access vertex position, preserved to avoid breaking code. Please try to use Vertex::...
Definition: Vertex.cxx:34
const TVector3 & ShowerStart() const
Definition: Shower.h:197
bool m_printDebug
switch for print statements (TODO: use message service!)
static void BuildPFParticleMap(const PFParticleVector &particleVector, PFParticleMap &particleMap)
Build particle maps for reconstructed particles.
int NumDaughters() const
Returns the number of daughter particles flowing from this one.
Definition: PFParticle.h:85
static int GetParentNeutrino(const PFParticleMap &particleMap, const art::Ptr< recob::PFParticle > daughterParticle)
Return the parent neutrino PDG code (or zero for cosmics) for a given reconstructed particle...
size_t Self() const
Returns the index of this particle.
Definition: PFParticle.h:88
std::map< art::Ptr< recob::PFParticle >, ClusterVector > PFParticlesToClusters
double Length() const
Definition: Shower.h:227
const double & Time() const
Definition: T0.h:45
size_t NumberTrajectoryPoints() const
Various functions related to the presence and the number of (valid) points.
Definition: Track.h:136
Vector_t VertexDirection() const
Access to track direction at different points.
Definition: Track.h:166
int PdgCode() const
Return the type of particle as a PDG ID.
Definition: PFParticle.h:79
std::vector< art::Ptr< recob::Shower > > ShowerVector
intermediate_table::const_iterator const_iterator
std::map< art::Ptr< recob::PFParticle >, TrackVector > PFParticlesToTracks
std::map< art::Ptr< recob::PFParticle >, VertexVector > PFParticlesToVertices
std::map< int, art::Ptr< recob::PFParticle > > PFParticleMap
std::map< art::Ptr< recob::PFParticle >, T0Vector > PFParticlesToT0s
double Length(size_t p=0) const
Access to various track properties.
Definition: Track.h:207
std::map< art::Ptr< recob::PFParticle >, ShowerVector > PFParticlesToShowers
std::vector< art::Ptr< recob::PFParticle > > PFParticleVector
size_t Parent() const
Definition: PFParticle.h:92
std::map< art::Ptr< recob::Shower >, HitVector > ShowersToHits
static void CollectShowers(const art::Event &evt, const std::string &label, ShowerVector &showerVector, PFParticlesToShowers &particlesToShowers)
Collect the reconstructed PFParticles and associated Showers from the ART event record.
double OpenAngle() const
Definition: Shower.h:231
std::map< art::Ptr< recob::PFParticle >, HitVector > PFParticlesToHits
Point_t const & Vertex() const
Access to track position at different points.
Definition: Track.h:158
static void CollectVertices(const art::Event &evt, const std::string &label, VertexVector &vertexVector, PFParticlesToVertices &particlesToVertices)
Collect the reconstructed PFParticles and associated Vertices from the ART event record.
bool IsPrimary() const
Returns whether the particle is the root of the flow.
Definition: PFParticle.h:82
const TVector3 & Direction() const
Definition: Shower.h:188
std::vector< art::Ptr< recob::Track > > TrackVector
std::map< art::Ptr< recob::PFParticle >, SpacePointVector > PFParticlesToSpacePoints
std::map< art::Ptr< recob::Track >, HitVector > TracksToHits
static void CollectTracks(const art::Event &evt, const std::string &label, TrackVector &trackVector, PFParticlesToTracks &particlesToTracks)
Collect the reconstructed PFParticles and associated Tracks from the ART event record.
static void CollectPFParticles(const art::Event &evt, const std::string &label, PFParticleVector &particleVector)
Collect the reconstructed PFParticles from the ART event record.
int ID() const
Definition: Track.h:244
std::map< art::Ptr< recob::Hit >, art::Ptr< recob::PFParticle > > HitsToPFParticles
Vector_t EndDirection() const
Access to track direction at different points.
Definition: Track.h:167
std::vector< art::Ptr< recob::Vertex > > VertexVector
EventNumber_t event() const
Definition: EventID.h:116
Point_t const & End() const
Access to track position at different points.
Definition: Track.h:159
Char_t n[5]
static int GetGeneration(const PFParticleMap &particleMap, const art::Ptr< recob::PFParticle > daughterParticle)
Return the generation of this particle (first generation if primary)
std::vector< art::Ptr< anab::T0 > > T0Vector
RunNumber_t run() const
Definition: Event.cc:29
static void CollectT0s(const art::Event &evt, const std::string &label, T0Vector &t0Vector, PFParticlesToT0s &particlesToT0s)
Collect a vector of T0s from the ART event record.
Float_t track
Definition: plot.C:35
int ID() const
Definition: Shower.h:183
EventID id() const
Definition: Event.cc:23
static bool IsFinalState(const PFParticleMap &particleMap, const art::Ptr< recob::PFParticle > daughterParticle)
Determine whether a particle has been reconstructed as a final-state particle.
vertex reconstruction
void lar_pandora::PFParticleAnalysis::beginJob ( )
virtual

Reimplemented from art::EDAnalyzer.

Definition at line 156 of file PFParticleAnalysis_module.cc.

References m_clusters, m_daughters, m_event, m_finalstate, m_generation, m_hits, m_index, m_neutrino, m_parent, m_pdgcode, m_pfovtxx, m_pfovtxy, m_pfovtxz, m_pRecoTree, m_primary, m_run, m_self, m_shower, m_showerhits, m_showerid, m_shwbestplane, m_shwlength, m_shwopenangle, m_shwvtxdirx, m_shwvtxdiry, m_shwvtxdirz, m_shwvtxx, m_shwvtxy, m_shwvtxz, m_spacepoints, m_t0, m_track, m_trackhits, m_trackid, m_trajectorypoints, m_trkenddirx, m_trkenddiry, m_trkenddirz, m_trkendx, m_trkendy, m_trkendz, m_trklength, m_trkstraightlength, m_trkvtxdirx, m_trkvtxdiry, m_trkvtxdirz, m_trkvtxx, m_trkvtxy, m_trkvtxz, and m_vertex.

157  {
158  mf::LogDebug("LArPandora") << " *** PFParticleAnalysis::beginJob() *** " << std::endl;
159 
160  //
162 
163  m_pRecoTree = tfs->make<TTree>("pandora", "LAr PFParticles");
164  m_pRecoTree->Branch("run", &m_run, "run/I");
165  m_pRecoTree->Branch("event", &m_event, "event/I");
166  m_pRecoTree->Branch("index", &m_index, "index/I");
167  m_pRecoTree->Branch("self", &m_self, "self/I");
168  m_pRecoTree->Branch("pdgcode", &m_pdgcode, "pdgcode/I");
169  m_pRecoTree->Branch("primary", &m_primary, "primary/I");
170  m_pRecoTree->Branch("parent", &m_parent, "parent/I");
171  m_pRecoTree->Branch("daughters", &m_daughters, "daughters/I");
172  m_pRecoTree->Branch("generation", &m_generation, "generation/I");
173  m_pRecoTree->Branch("neutrino", &m_neutrino, "neutrino/I");
174  m_pRecoTree->Branch("finalstate", &m_finalstate, "finalstate/I");
175  m_pRecoTree->Branch("vertex", &m_vertex, "vertex/I");
176  m_pRecoTree->Branch("track", &m_track, "track/I");
177  m_pRecoTree->Branch("trackid", &m_trackid, "trackid/I");
178  m_pRecoTree->Branch("shower", &m_shower, "shower/I");
179  m_pRecoTree->Branch("showerid", &m_showerid, "showerid/I");
180  m_pRecoTree->Branch("clusters", &m_clusters, "clusters/I");
181  m_pRecoTree->Branch("spacepoints", &m_spacepoints, "spacepoints/I");
182  m_pRecoTree->Branch("hits", &m_hits, "hits/I");
183  m_pRecoTree->Branch("trackhits", &m_trackhits, "trackhits/I");
184  m_pRecoTree->Branch("trajectorypoints", &m_trajectorypoints, "trajectorypoints/I");
185  m_pRecoTree->Branch("showerhits", &m_showerhits, "showerhits/I");
186  m_pRecoTree->Branch("pfovtxx", &m_pfovtxx, "pfovtxx/D");
187  m_pRecoTree->Branch("pfovtxy", &m_pfovtxy, "pfovtxy/D");
188  m_pRecoTree->Branch("pfovtxz", &m_pfovtxz, "pfovtxz/D");
189  m_pRecoTree->Branch("trkvtxx", &m_trkvtxx, "trkvtxx/D");
190  m_pRecoTree->Branch("trkvtxy", &m_trkvtxy, "trkvtxy/D");
191  m_pRecoTree->Branch("trkvtxz", &m_trkvtxz, "trkvtxz/D");
192  m_pRecoTree->Branch("trkvtxdirx", &m_trkvtxdirx, "trkvtxdirx/D");
193  m_pRecoTree->Branch("trkvtxdiry", &m_trkvtxdiry, "trkvtxdiry/D");
194  m_pRecoTree->Branch("trkvtxdirz", &m_trkvtxdirz, "trkvtxdirz/D");
195  m_pRecoTree->Branch("trkendx", &m_trkendx, "trkendx/D");
196  m_pRecoTree->Branch("trkendy", &m_trkendy, "trkendy/D");
197  m_pRecoTree->Branch("trkendz", &m_trkendz, "trkendz/D");
198  m_pRecoTree->Branch("trkenddirx", &m_trkenddirx, "trkenddirx/D");
199  m_pRecoTree->Branch("trkenddiry", &m_trkenddiry, "trkenddiry/D");
200  m_pRecoTree->Branch("trkenddirz", &m_trkenddirz, "trkenddirz/D");
201  m_pRecoTree->Branch("trklength", &m_trklength, "trklength/D");
202  m_pRecoTree->Branch("trkstraightlength", &m_trkstraightlength, "trkstraightlength/D");
203  m_pRecoTree->Branch("shwvtxx", &m_shwvtxx, "shwvtxx/D");
204  m_pRecoTree->Branch("shwvtxy", &m_shwvtxy, "shwvtxy/D");
205  m_pRecoTree->Branch("shwvtxz", &m_shwvtxz, "shwvtxz/D");
206  m_pRecoTree->Branch("shwvtxdirx", &m_shwvtxdirx, "shwvtxdirx/D");
207  m_pRecoTree->Branch("shwvtxdiry", &m_shwvtxdiry, "shwvtxdiry/D");
208  m_pRecoTree->Branch("shwvtxdirz", &m_shwvtxdirz, "shwvtxdirz/D");
209  m_pRecoTree->Branch("shwlength", &m_shwlength, "shwlength/D");
210  m_pRecoTree->Branch("shwopenangle", &m_shwopenangle, "shwopenangle/D");
211  m_pRecoTree->Branch("shwbestplane", &m_shwbestplane, "shwbestplane/D");
212  m_pRecoTree->Branch("t0", &m_t0, "t0/D");
213  }
MaybeLogger_< ELseverityLevel::ELsev_success, false > LogDebug
template<typename T , BranchType BT>
ProductToken< T > art::ModuleBase::consumes ( InputTag const &  tag)
protectedinherited

Definition at line 61 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::consumes().

62  {
63  return collector_.consumes<T, BT>(tag);
64  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
ProductToken< T > consumes(InputTag const &)
ConsumesCollector & art::ModuleBase::consumesCollector ( )
protectedinherited

Definition at line 57 of file ModuleBase.cc.

References art::ModuleBase::collector_.

58  {
59  return collector_;
60  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
template<typename T , BranchType BT>
void art::ModuleBase::consumesMany ( )
protectedinherited

Definition at line 75 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::consumesMany().

76  {
77  collector_.consumesMany<T, BT>();
78  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::ModuleBase::consumesView ( InputTag const &  )
protectedinherited
template<typename T , BranchType BT>
ViewToken<T> art::ModuleBase::consumesView ( InputTag const &  tag)
inherited

Definition at line 68 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::consumesView().

69  {
70  return collector_.consumesView<T, BT>(tag);
71  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
ViewToken< Element > consumesView(InputTag const &)
void art::detail::Analyzer::doBeginJob ( SharedResources const &  resources)
inherited

Definition at line 25 of file Analyzer.cc.

Referenced by art::detail::Analyzer::Analyzer().

26  {
27  setupQueues(resources);
28  ProcessingFrame const frame{ScheduleID{}};
29  beginJobWithFrame(frame);
30  }
virtual void beginJobWithFrame(ProcessingFrame const &)=0
virtual void setupQueues(SharedResources const &)=0
bool art::detail::Analyzer::doBeginRun ( RunPrincipal rp,
ModuleContext const &  mc 
)
inherited

Definition at line 68 of file Analyzer.cc.

References art::ModuleContext::scheduleID().

Referenced by art::detail::Analyzer::Analyzer().

69  {
70  ProcessingFrame const frame{mc.scheduleID()};
71  beginRunWithFrame(std::as_const(rp).makeRun(mc), frame);
72  return true;
73  }
virtual void beginRunWithFrame(Run const &, ProcessingFrame const &)=0
bool art::detail::Analyzer::doBeginSubRun ( SubRunPrincipal srp,
ModuleContext const &  mc 
)
inherited

Definition at line 84 of file Analyzer.cc.

References art::ModuleContext::scheduleID().

Referenced by art::detail::Analyzer::Analyzer().

85  {
86  ProcessingFrame const frame{mc.scheduleID()};
87  beginSubRunWithFrame(std::as_const(srp).makeSubRun(mc), frame);
88  return true;
89  }
virtual void beginSubRunWithFrame(SubRun const &, ProcessingFrame const &)=0
void art::detail::Analyzer::doEndJob ( )
inherited

Definition at line 33 of file Analyzer.cc.

Referenced by art::detail::Analyzer::Analyzer().

34  {
35  ProcessingFrame const frame{ScheduleID{}};
36  endJobWithFrame(frame);
37  }
virtual void endJobWithFrame(ProcessingFrame const &)=0
bool art::detail::Analyzer::doEndRun ( RunPrincipal rp,
ModuleContext const &  mc 
)
inherited

Definition at line 76 of file Analyzer.cc.

References art::ModuleContext::scheduleID().

Referenced by art::detail::Analyzer::Analyzer().

77  {
78  ProcessingFrame const frame{mc.scheduleID()};
79  endRunWithFrame(std::as_const(rp).makeRun(mc), frame);
80  return true;
81  }
virtual void endRunWithFrame(Run const &, ProcessingFrame const &)=0
bool art::detail::Analyzer::doEndSubRun ( SubRunPrincipal srp,
ModuleContext const &  mc 
)
inherited

Definition at line 92 of file Analyzer.cc.

References art::ModuleContext::scheduleID().

Referenced by art::detail::Analyzer::Analyzer().

93  {
94  ProcessingFrame const frame{mc.scheduleID()};
95  endSubRunWithFrame(std::as_const(srp).makeSubRun(mc), frame);
96  return true;
97  }
virtual void endSubRunWithFrame(SubRun const &, ProcessingFrame const &)=0
bool art::detail::Analyzer::doEvent ( EventPrincipal ep,
ModuleContext const &  mc,
std::atomic< std::size_t > &  counts_run,
std::atomic< std::size_t > &  counts_passed,
std::atomic< std::size_t > &  counts_failed 
)
inherited

Definition at line 100 of file Analyzer.cc.

References e, and art::ModuleContext::scheduleID().

Referenced by art::detail::Analyzer::Analyzer().

105  {
106  auto const e = std::as_const(ep).makeEvent(mc);
107  if (wantEvent(mc.scheduleID(), e)) {
108  ++counts_run;
109  ProcessingFrame const frame{mc.scheduleID()};
110  analyzeWithFrame(e, frame);
111  ++counts_passed;
112  }
113  return true;
114  }
bool wantEvent(ScheduleID id, Event const &e) const
Definition: Observer.cc:63
Float_t e
Definition: plot.C:35
virtual void analyzeWithFrame(Event const &, ProcessingFrame const &)=0
void art::detail::Analyzer::doRespondToCloseInputFile ( FileBlock const &  fb)
inherited

Definition at line 47 of file Analyzer.cc.

Referenced by art::detail::Analyzer::Analyzer().

48  {
49  ProcessingFrame const frame{ScheduleID{}};
51  }
TFile fb("Li6.root")
virtual void respondToCloseInputFileWithFrame(FileBlock const &, ProcessingFrame const &)=0
void art::detail::Analyzer::doRespondToCloseOutputFiles ( FileBlock const &  fb)
inherited

Definition at line 61 of file Analyzer.cc.

Referenced by art::detail::Analyzer::Analyzer().

62  {
63  ProcessingFrame const frame{ScheduleID{}};
65  }
virtual void respondToCloseOutputFilesWithFrame(FileBlock const &, ProcessingFrame const &)=0
TFile fb("Li6.root")
void art::detail::Analyzer::doRespondToOpenInputFile ( FileBlock const &  fb)
inherited

Definition at line 40 of file Analyzer.cc.

Referenced by art::detail::Analyzer::Analyzer().

41  {
42  ProcessingFrame const frame{ScheduleID{}};
44  }
TFile fb("Li6.root")
virtual void respondToOpenInputFileWithFrame(FileBlock const &, ProcessingFrame const &)=0
void art::detail::Analyzer::doRespondToOpenOutputFiles ( FileBlock const &  fb)
inherited

Definition at line 54 of file Analyzer.cc.

Referenced by art::detail::Analyzer::Analyzer().

55  {
56  ProcessingFrame const frame{ScheduleID{}};
58  }
virtual void respondToOpenOutputFilesWithFrame(FileBlock const &, ProcessingFrame const &)=0
TFile fb("Li6.root")
void lar_pandora::PFParticleAnalysis::endJob ( )
virtual

Reimplemented from art::EDAnalyzer.

Definition at line 217 of file PFParticleAnalysis_module.cc.

217 {}
std::array< std::vector< ProductInfo >, NumBranchTypes > const & art::ModuleBase::getConsumables ( ) const
inherited

Definition at line 43 of file ModuleBase.cc.

References art::ModuleBase::collector_, and art::ConsumesCollector::getConsumables().

44  {
45  return collector_.getConsumables();
46  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
std::array< std::vector< ProductInfo >, NumBranchTypes > const & getConsumables() const
Handle< TriggerResults > art::Observer::getTriggerResults ( Event const &  e) const
protectedinherited

Definition at line 75 of file Observer.cc.

References art::ProductRetriever::get(), and art::Observer::selectors_.

Referenced by art::OutputModule::doWriteEvent(), and art::Observer::wantAllEvents().

76  {
77  if (selectors_) {
78  return selectors_->getOneTriggerResults(e);
79  }
80 
81  // The following applies for cases where no SelectEvents entries
82  // exist.
83  Handle<TriggerResults> h;
84  if (e.get(empty_process_name, h)) {
85  return h;
86  }
87  return Handle<TriggerResults>{};
88  }
Float_t e
Definition: plot.C:35
std::optional< detail::ProcessAndEventSelectors > selectors_
Definition: Observer.h:79
std::unique_ptr< Worker > art::ModuleBase::makeWorker ( WorkerParams const &  wp)
inherited

Definition at line 37 of file ModuleBase.cc.

References art::ModuleBase::doMakeWorker(), and art::NumBranchTypes.

38  {
39  return doMakeWorker(wp);
40  }
virtual std::unique_ptr< Worker > doMakeWorker(WorkerParams const &wp)=0
template<typename T , BranchType BT>
ProductToken< T > art::ModuleBase::mayConsume ( InputTag const &  tag)
protectedinherited

Definition at line 82 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsume().

83  {
84  return collector_.mayConsume<T, BT>(tag);
85  }
ProductToken< T > mayConsume(InputTag const &)
ConsumesCollector collector_
Definition: ModuleBase.h:56
template<typename T , BranchType BT>
void art::ModuleBase::mayConsumeMany ( )
protectedinherited

Definition at line 96 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsumeMany().

97  {
98  collector_.mayConsumeMany<T, BT>();
99  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::ModuleBase::mayConsumeView ( InputTag const &  )
protectedinherited
template<typename T , BranchType BT>
ViewToken<T> art::ModuleBase::mayConsumeView ( InputTag const &  tag)
inherited

Definition at line 89 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsumeView().

90  {
91  return collector_.mayConsumeView<T, BT>(tag);
92  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
ViewToken< Element > mayConsumeView(InputTag const &)
ModuleDescription const & art::ModuleBase::moduleDescription ( ) const
inherited

Definition at line 13 of file ModuleBase.cc.

References art::errors::LogicError.

Referenced by art::OutputModule::doRespondToOpenInputFile(), art::OutputModule::doWriteEvent(), art::Modifier::fillProductDescriptions(), art::OutputModule::makePlugins_(), art::OutputWorker::OutputWorker(), reco::shower::LArPandoraModularShowerCreation::produce(), art::Modifier::registerProducts(), and art::OutputModule::registerProducts().

14  {
15  if (md_.has_value()) {
16  return *md_;
17  }
18 
20  "There was an error while calling moduleDescription().\n"}
21  << "The moduleDescription() base-class member function cannot be called\n"
22  "during module construction. To determine which module is "
23  "responsible\n"
24  "for calling it, find the '<module type>:<module "
25  "label>@Construction'\n"
26  "tag in the message prefix above. Please contact artists@fnal.gov\n"
27  "for guidance.\n";
28  }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
std::optional< ModuleDescription > md_
Definition: ModuleBase.h:55
string const & art::Observer::processName ( ) const
protectedinherited

Definition at line 57 of file Observer.cc.

References art::Observer::process_name_.

Referenced by art::FileDumperOutput::printPrincipal().

58  {
59  return process_name_;
60  }
std::string process_name_
Definition: Observer.h:76
void lar_pandora::PFParticleAnalysis::reconfigure ( fhicl::ParameterSet const &  pset)

Definition at line 146 of file PFParticleAnalysis_module.cc.

References fhicl::ParameterSet::get(), m_particleLabel, m_printDebug, m_showerLabel, and m_trackLabel.

Referenced by PFParticleAnalysis().

147  {
148  m_particleLabel = pset.get<std::string>("PFParticleModule", "pandora");
149  m_trackLabel = pset.get<std::string>("TrackModule", "pandora");
150  m_showerLabel = pset.get<std::string>("ShowerModule", "pandora");
151  m_printDebug = pset.get<bool>("PrintDebug", false);
152  }
bool m_printDebug
switch for print statements (TODO: use message service!)
void art::ModuleBase::setModuleDescription ( ModuleDescription const &  md)
inherited

Definition at line 31 of file ModuleBase.cc.

References art::ModuleBase::md_.

32  {
33  md_ = md;
34  }
std::optional< ModuleDescription > md_
Definition: ModuleBase.h:55
void art::ModuleBase::sortConsumables ( std::string const &  current_process_name)
inherited

Definition at line 49 of file ModuleBase.cc.

References art::ModuleBase::collector_, and art::ConsumesCollector::sortConsumables().

50  {
51  // Now that we know we have seen all the consumes declarations,
52  // sort the results for fast lookup later.
53  collector_.sortConsumables(current_process_name);
54  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
void sortConsumables(std::string const &current_process_name)
bool art::Observer::wantAllEvents ( ) const
inlineprotectednoexceptinherited

Definition at line 31 of file Observer.h.

References e, art::Observer::getTriggerResults(), art::Observer::wantAllEvents_, and art::Observer::wantEvent().

32  {
33  return wantAllEvents_;
34  }
bool wantAllEvents_
Definition: Observer.h:75
bool art::Observer::wantEvent ( ScheduleID  id,
Event const &  e 
) const
protectedinherited

Definition at line 63 of file Observer.cc.

References art::Observer::rejectors_, art::Observer::selectors_, and art::Observer::wantAllEvents_.

Referenced by art::OutputModule::doEvent(), art::OutputModule::doWriteEvent(), and art::Observer::wantAllEvents().

64  {
65  if (wantAllEvents_) {
66  return true;
67  }
68  bool const select_event = selectors_ ? selectors_->matchEvent(id, e) : true;
69  bool const reject_event =
70  rejectors_ ? rejectors_->matchEvent(id, e) : false;
71  return select_event and not reject_event;
72  }
bool wantAllEvents_
Definition: Observer.h:75
std::optional< detail::ProcessAndEventSelectors > rejectors_
Definition: Observer.h:80
Float_t e
Definition: plot.C:35
std::optional< detail::ProcessAndEventSelectors > selectors_
Definition: Observer.h:79

Member Data Documentation

int lar_pandora::PFParticleAnalysis::m_clusters
private

Definition at line 64 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_daughters
private

Definition at line 54 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_event
private

Definition at line 47 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_finalstate
private

Definition at line 57 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_generation
private

Definition at line 55 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_hits
private

Definition at line 66 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_index
private

Definition at line 48 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_neutrino
private

Definition at line 56 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_parent
private

Definition at line 53 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

std::string lar_pandora::PFParticleAnalysis::m_particleLabel
private

Definition at line 102 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and reconfigure().

int lar_pandora::PFParticleAnalysis::m_pdgcode
private

Definition at line 51 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_pfovtxx
private

Definition at line 71 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_pfovtxy
private

Definition at line 72 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_pfovtxz
private

Definition at line 73 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

TTree* lar_pandora::PFParticleAnalysis::m_pRecoTree
private

Definition at line 44 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_primary
private

Definition at line 52 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

bool lar_pandora::PFParticleAnalysis::m_printDebug
private

switch for print statements (TODO: use message service!)

Definition at line 105 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and reconfigure().

int lar_pandora::PFParticleAnalysis::m_run
private

Definition at line 46 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_self
private

Definition at line 50 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_shower
private

Definition at line 61 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_showerhits
private

Definition at line 69 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_showerid
private

Definition at line 62 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

std::string lar_pandora::PFParticleAnalysis::m_showerLabel
private

Definition at line 104 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and reconfigure().

double lar_pandora::PFParticleAnalysis::m_shwbestplane
private

Definition at line 98 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_shwlength
private

Definition at line 96 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_shwopenangle
private

Definition at line 97 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_shwvtxdirx
private

Definition at line 93 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_shwvtxdiry
private

Definition at line 94 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_shwvtxdirz
private

Definition at line 95 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_shwvtxx
private

Definition at line 90 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_shwvtxy
private

Definition at line 91 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_shwvtxz
private

Definition at line 92 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_spacepoints
private

Definition at line 65 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_t0
private

Definition at line 100 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_track
private

Definition at line 59 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_trackhits
private

Definition at line 68 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_trackid
private

Definition at line 60 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

std::string lar_pandora::PFParticleAnalysis::m_trackLabel
private

Definition at line 103 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and reconfigure().

int lar_pandora::PFParticleAnalysis::m_trajectorypoints
private

Definition at line 67 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_trkenddirx
private

Definition at line 84 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_trkenddiry
private

Definition at line 85 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_trkenddirz
private

Definition at line 86 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_trkendx
private

Definition at line 81 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_trkendy
private

Definition at line 82 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_trkendz
private

Definition at line 83 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_trklength
private

Definition at line 87 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_trkstraightlength
private

Definition at line 88 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_trkvtxdirx
private

Definition at line 78 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_trkvtxdiry
private

Definition at line 79 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_trkvtxdirz
private

Definition at line 80 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_trkvtxx
private

Definition at line 75 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_trkvtxy
private

Definition at line 76 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

double lar_pandora::PFParticleAnalysis::m_trkvtxz
private

Definition at line 77 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().

int lar_pandora::PFParticleAnalysis::m_vertex
private

Definition at line 58 of file PFParticleAnalysis_module.cc.

Referenced by analyze(), and beginJob().


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