LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
sim::DumpMCParticles Class Reference
Inheritance diagram for sim::DumpMCParticles:
art::EDAnalyzer art::detail::Analyzer art::detail::LegacyModule art::Observer art::ModuleBase

Public Types

using Parameters = art::EDAnalyzer::Table< Config >
 
using ModuleType = EDAnalyzer
 

Public Member Functions

 DumpMCParticles (Parameters const &config)
 Configuration-checking constructor. More...
 
 DumpMCParticles (DumpMCParticles const &)=delete
 
 DumpMCParticles (DumpMCParticles &&)=delete
 
DumpMCParticlesoperator= (DumpMCParticles const &)=delete
 
DumpMCParticlesoperator= (DumpMCParticles &&)=delete
 
void analyze (art::Event const &event) override
 
void endJob () override
 May print some warnings. More...
 
template<typename Stream >
void DumpMCParticle (Stream &&out, simb::MCParticle const &particle, art::InputTag const &truthTag, sim::GeneratedParticleInfo const &truthInfo, std::string indent="", bool bIndentFirst=true) const
 Dumps the content of the specified particle in the output stream. More...
 
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

art::InputTag fInputParticles
 name of MCParticle's data product More...
 
art::InputTag fParticleTruthInfo
 name of MCParticle assns data product More...
 
std::string fOutputCategory
 name of the stream for output More...
 
unsigned int fPointsPerLine
 trajectory points per output line More...
 
unsigned int fNEvents = 0U
 
unsigned int fNMissingTruth = 0U
 Count of events without truth association. More...
 
unsigned int fNMissingTruthIndex = 0U
 Count of events without truth index. More...
 

Detailed Description

Definition at line 69 of file DumpMCParticles_module.cc.

Member Typedef Documentation

Definition at line 22 of file EDAnalyzer.h.

Constructor & Destructor Documentation

sim::DumpMCParticles::DumpMCParticles ( Parameters const &  config)
explicit

Configuration-checking constructor.

Definition at line 193 of file DumpMCParticles_module.cc.

References fInputParticles, and fParticleTruthInfo.

194  : EDAnalyzer(config)
195  , fInputParticles(config().InputParticles())
196  , fOutputCategory(config().OutputCategory())
197  , fPointsPerLine(config().PointsPerLine())
198 {
199  if (!config().ParticleTruthInfo(fParticleTruthInfo)) fParticleTruthInfo = fInputParticles;
200 }
std::string fOutputCategory
name of the stream for output
EDAnalyzer(fhicl::ParameterSet const &pset)
Definition: EDAnalyzer.cc:6
unsigned int fPointsPerLine
trajectory points per output line
art::InputTag fParticleTruthInfo
name of MCParticle assns data product
art::InputTag fInputParticles
name of MCParticle&#39;s data product
sim::DumpMCParticles::DumpMCParticles ( DumpMCParticles const &  )
delete
sim::DumpMCParticles::DumpMCParticles ( DumpMCParticles &&  )
delete

Member Function Documentation

void sim::DumpMCParticles::analyze ( art::Event const &  event)
overridevirtual

Implements art::EDAnalyzer.

Definition at line 237 of file DumpMCParticles_module.cc.

References DumpMCParticle(), art::InputTag::encode(), fInputParticles, fNEvents, fNMissingTruth, fNMissingTruthIndex, fOutputCategory, fParticleTruthInfo, and sim::GeneratedParticleInfo::NoGeneratedParticleIndex.

238 {
239 
240  ++fNEvents;
241 
242  ProductNameCache namesRegistry(event);
243 
244  // get the particles from the event
245  auto const& particleHandle = event.getValidHandle<std::vector<simb::MCParticle>>(fInputParticles);
246  auto const& Particles = *particleHandle;
247 
248  // get the association to MCTruth
249  // - try first the more complete one, with true particle indices
250  // - as a fallback, go without true particle indices
251  auto particleToTruth = makeFindOneP<simb::MCTruth, sim::GeneratedParticleInfo>(
252  particleHandle, event, fParticleTruthInfo);
253  std::unique_ptr<art::FindOneP<simb::MCTruth>> particleToTruthLight;
254  if (!particleToTruth) {
256  particleToTruthLight =
257  makeFindOneP<simb::MCTruth, void>(particleHandle, event, fParticleTruthInfo);
258  if (!particleToTruthLight) ++fNMissingTruth;
259  }
260 
262  << "Event " << event.id() << ": data product '" << fInputParticles.encode() << "' contains "
263  << Particles.size() << " MCParticle's";
264 
265  unsigned int iParticle = 0;
266  for (simb::MCParticle const& particle : Particles) {
267  // flush on every particle,
268  // since the output buffer might grow too large otherwise
270 
271  // fetch the input tag of the truth information (if any)
272  art::Ptr<simb::MCTruth> const& truth = particleToTruth ? particleToTruth->at(iParticle) :
273  particleToTruthLight ?
274  particleToTruthLight->at(iParticle) :
276  art::InputTag const& truthTag = truth ? namesRegistry[truth] : art::InputTag{};
277 
278  // fetch the index of the true particle in the truth record (if any)
279  sim::GeneratedParticleInfo truthInfo = particleToTruth ?
280  particleToTruth->data(iParticle).ref() :
282 
283  // a bit of a header
284  log << "\n[#" << (iParticle++) << "] ";
285  DumpMCParticle(log, particle, truthTag, truthInfo, " ", false);
286  } // for
287 
289 
290 } // sim::DumpMCParticles::analyze()
MaybeLogger_< ELseverityLevel::ELsev_info, true > LogVerbatim
static constexpr GeneratedParticleIndex_t NoGeneratedParticleIndex
Constant representing the absence of generator truth information.
std::string fOutputCategory
name of the stream for output
std::string encode() const
Definition: InputTag.cc:97
unsigned int fNMissingTruthIndex
Count of events without truth index.
void DumpMCParticle(Stream &&out, simb::MCParticle const &particle, art::InputTag const &truthTag, sim::GeneratedParticleInfo const &truthInfo, std::string indent="", bool bIndentFirst=true) const
Dumps the content of the specified particle in the output stream.
unsigned int fNMissingTruth
Count of events without truth association.
Contains information about a generated particle.
art::InputTag fParticleTruthInfo
name of MCParticle assns data product
art::InputTag fInputParticles
name of MCParticle&#39;s data product
Event finding and building.
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")
template<typename Stream >
void sim::DumpMCParticles::DumpMCParticle ( Stream &&  out,
simb::MCParticle const &  particle,
art::InputTag const &  truthTag,
sim::GeneratedParticleInfo const &  truthInfo,
std::string  indent = "",
bool  bIndentFirst = true 
) const

Dumps the content of the specified particle in the output stream.

Template Parameters
Streamthe type of output stream
Parameters
outthe output stream
particlethe particle to be dumped
truthTaginput tag of the truth record the particle derived from
truthIndexindex of particle in the truth record this derived from
indentbase indentation string (default: none)
bIndentFirstif first output line should be indented (default: yes)

The indent string is prepended to every line of output, with the possible exception of the first one, in case bIndentFirst is true.

If truthTag module label is empty, it is assumed that this information could not be retrieved, and it will be silently omitted. If truthIndex is sim::NoGeneratorIndex, it is assumed that this information could not be retrieved, and it will be silently omitted.

The output starts on the current line, and the last line is NOT broken.

Definition at line 204 of file DumpMCParticles_module.cc.

References sim::dump::DumpMCParticle(), sim::dump::DumpMCParticleTrajectory(), art::InputTag::encode(), fPointsPerLine, sim::GeneratedParticleInfo::generatedParticleIndex(), sim::GeneratedParticleInfo::hasGeneratedParticleIndex(), art::InputTag::label(), simb::MCParticle::NumberTrajectoryPoints(), and simb::MCParticle::Trajectory().

Referenced by analyze().

211 {
212 
213  if (!truthTag.label().empty() || truthInfo.hasGeneratedParticleIndex()) {
214  out << "(from ";
215  if (truthTag.label().empty())
216  out << "unknown truth record";
217  else
218  out << "'" << truthTag.encode() << "'";
219  if (truthInfo.hasGeneratedParticleIndex())
220  out << " particle #" << truthInfo.generatedParticleIndex();
221  out << ") ";
222  }
223 
225  std::forward<Stream>(out), particle, indent, bIndentFirst ? indent : "");
226 
227  const unsigned int nPoints = particle.NumberTrajectoryPoints();
228  if ((nPoints > 0) && (fPointsPerLine > 0)) {
229  out << ":";
231  std::forward<Stream>(out), particle.Trajectory(), fPointsPerLine, indent + " ");
232  } // if has points
233 
234 } // sim::DumpMCParticles::DumpMCParticle()
void DumpMCParticleTrajectory(Stream &&out, simb::MCTrajectory const &trajectory, unsigned int pointsPerLine, std::string indent)
Dumps the specified particle trajectory into the output stream.
Definition: MCDumpers.h:288
std::string indent(std::size_t const i)
unsigned int fPointsPerLine
trajectory points per output line
void DumpMCParticle(Stream &&out, simb::MCParticle const &particle, std::string indent, std::string firstIndent)
Dumps the content of the specified particle in the output stream.
Definition: MCDumpers.h:226
void sim::DumpMCParticles::endJob ( )
overridevirtual

May print some warnings.

Reimplemented from art::EDAnalyzer.

Definition at line 293 of file DumpMCParticles_module.cc.

References DEFINE_ART_MODULE, fNEvents, fNMissingTruth, fNMissingTruthIndex, fOutputCategory, and fParticleTruthInfo.

294 {
295 
296  if (fNMissingTruth > 0) {
298  << "Warning: " << fNMissingTruth << "/" << fNEvents
299  << " events lacked event generator information for '" << fParticleTruthInfo << "'.";
300  }
301  else if (fNMissingTruthIndex > 0) {
302  mf::LogProblem(fOutputCategory) << "Warning: " << fNMissingTruthIndex << "/" << fNEvents
303  << " events lacked information of which particles of '"
304  << fParticleTruthInfo << "' are generator particles.";
305  }
306 
307 } // sim::DumpMCParticles::endJob()
std::string fOutputCategory
name of the stream for output
MaybeLogger_< ELseverityLevel::ELsev_error, true > LogProblem
unsigned int fNMissingTruthIndex
Count of events without truth index.
unsigned int fNMissingTruth
Count of events without truth association.
art::InputTag fParticleTruthInfo
name of MCParticle assns data product
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
DumpMCParticles& sim::DumpMCParticles::operator= ( DumpMCParticles const &  )
delete
DumpMCParticles& sim::DumpMCParticles::operator= ( DumpMCParticles &&  )
delete
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 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

art::InputTag sim::DumpMCParticles::fInputParticles
private

name of MCParticle's data product

Definition at line 118 of file DumpMCParticles_module.cc.

Referenced by analyze(), and DumpMCParticles().

unsigned int sim::DumpMCParticles::fNEvents = 0U
private

Count of processed events.

Definition at line 123 of file DumpMCParticles_module.cc.

Referenced by analyze(), and endJob().

unsigned int sim::DumpMCParticles::fNMissingTruth = 0U
private

Count of events without truth association.

Definition at line 125 of file DumpMCParticles_module.cc.

Referenced by analyze(), and endJob().

unsigned int sim::DumpMCParticles::fNMissingTruthIndex = 0U
private

Count of events without truth index.

Definition at line 127 of file DumpMCParticles_module.cc.

Referenced by analyze(), and endJob().

std::string sim::DumpMCParticles::fOutputCategory
private

name of the stream for output

Definition at line 120 of file DumpMCParticles_module.cc.

Referenced by analyze(), and endJob().

art::InputTag sim::DumpMCParticles::fParticleTruthInfo
private

name of MCParticle assns data product

Definition at line 119 of file DumpMCParticles_module.cc.

Referenced by analyze(), DumpMCParticles(), and endJob().

unsigned int sim::DumpMCParticles::fPointsPerLine
private

trajectory points per output line

Definition at line 121 of file DumpMCParticles_module.cc.

Referenced by DumpMCParticle().


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