LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
sim::POTaccumulator Class Reference

Prints on console the total Protons On Target from the input subruns. More...

Inheritance diagram for sim::POTaccumulator:
art::EDAnalyzer art::detail::Analyzer art::detail::LegacyModule art::Observer art::ModuleBase

Classes

struct  Config
 Collection of configuration parameters for the module. More...
 

Public Types

using Parameters = art::EDAnalyzer::Table< Config >
 Type to enable module parameters description by art. More...
 
using ModuleType = EDAnalyzer
 

Public Member Functions

 POTaccumulator (Parameters const &config)
 Configuration-checking constructor. More...
 
 POTaccumulator (POTaccumulator const &)=delete
 
 POTaccumulator (POTaccumulator &&)=delete
 
POTaccumulatoroperator= (POTaccumulator const &)=delete
 
POTaccumulatoroperator= (POTaccumulator &&)=delete
 
virtual void analyze (art::Event const &event) override
 
virtual void endSubRun (art::SubRun const &subRun) override
 Collects information from each subrun. More...
 
virtual void endJob () override
 Prints the general summary. 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 Member Functions

void printMissingSubrunList () const
 Prints the list of subruns with partial or missing POT information. More...
 
void printRunSummary () const
 Prints the list of POT per run. More...
 
void printSummary (sumdata::POTSummary const &totalPOT) const
 Prints the total POT summary totalPOT. More...
 

Static Private Member Functions

static std::string to_string (sumdata::POTSummary const &POT)
 Converts the information from POT in a compact string. More...
 

Private Attributes

art::InputTag fPOTtag
 Name of sumdata::POTSummary data product. More...
 
std::string fSummaryOutputCategory
 Name of the main stream for output. More...
 
std::string fRunOutputCategory
 Name of the run stream for output. More...
 
std::map< art::SubRunID, unsigned int > fPresentSubrunFragments
 Count of subrun fragments with POT information. More...
 
std::map< art::SubRunID, unsigned int > fMissingSubrunFragments
 Count of subrun fragments without POT information. More...
 
std::map< art::RunID, art::SummedValue< sumdata::POTSummary > > fRunPOT
 Partial count of POT in the run, per run. More...
 

Detailed Description

Prints on console the total Protons On Target from the input subruns.

This module collects information from each of the subrun in the input files and prints the total of the protons on target. It also optionally prints the total for each observed run. If a subrun is met more than once, the information from all subrun fragments are added together (i.e. it is assumed that summary information is complementary rather than duplicate).

The output can be printed to the console or a file via the appropriate message facility configuration.

Two output streams are used: the one for the run summary and the one for the total summary. They may coincide.

Input

The module reads information from objects of type sumdata::POTSummary stored in each subrun.

Configuration

The output streams can be managed by configuring message facility to deal with the relevant category names. All messages are sent with the INFO level.

  • SummaryTag (input tag; default: generator): data product (subrun level) with the summary information;
  • SummaryCategory (string; default: POTaccumulator): the name of the output category the summary is sent to;
  • RunSummaryCategory (string; default: disabled): if specified, a summary POT is printed for each run; the summary is sent to the output stream specified by the value of this parameter.

Definition at line 71 of file POTaccumulator_module.cc.

Member Typedef Documentation

Definition at line 22 of file EDAnalyzer.h.

Type to enable module parameters description by art.

Definition at line 98 of file POTaccumulator_module.cc.

Constructor & Destructor Documentation

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

Configuration-checking constructor.

Definition at line 158 of file POTaccumulator_module.cc.

159  : EDAnalyzer(config)
160  , fPOTtag(config().SummaryTag())
161  , fSummaryOutputCategory(config().SummaryCategory())
162  , fRunOutputCategory(config().RunSummaryCategory())
163 {}
std::string fSummaryOutputCategory
Name of the main stream for output.
EDAnalyzer(fhicl::ParameterSet const &pset)
Definition: EDAnalyzer.cc:6
std::string fRunOutputCategory
Name of the run stream for output.
art::InputTag fPOTtag
Name of sumdata::POTSummary data product.
sim::POTaccumulator::POTaccumulator ( POTaccumulator const &  )
delete
sim::POTaccumulator::POTaccumulator ( POTaccumulator &&  )
delete

Member Function Documentation

virtual void sim::POTaccumulator::analyze ( art::Event const &  event)
inlineoverridevirtual

Implements art::EDAnalyzer.

Definition at line 110 of file POTaccumulator_module.cc.

References endJob(), and endSubRun().

110 {}
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 sim::POTaccumulator::endJob ( )
overridevirtual

Prints the general summary.

Reimplemented from art::EDAnalyzer.

Definition at line 197 of file POTaccumulator_module.cc.

References sumdata::POTSummary::aggregate(), fMissingSubrunFragments, fRunOutputCategory, fRunPOT, printMissingSubrunList(), printRunSummary(), printSummary(), and util::values().

Referenced by analyze().

198 {
199 
200  //
201  // print the run summary
202  //
203 
204  if (!fRunOutputCategory.empty()) {
205 
207 
208  printRunSummary();
209 
210  } // if
211 
212  //
213  // print the total summary
214  //
215 
216  // here we skip _art_ aggregation mechanism
217  // because it can't handle multiple runs
218  sumdata::POTSummary totalPOT;
219  for (auto const& POT : fRunPOT | ranges::views::values)
220  totalPOT.aggregate(POT.value());
221 
222  printSummary(totalPOT);
223 
224 } // sim::POTaccumulator::endJob()
std::map< art::RunID, art::SummedValue< sumdata::POTSummary > > fRunPOT
Partial count of POT in the run, per run.
decltype(auto) values(Coll &&coll)
Range-for loop helper iterating across the values of the specified collection.
void printRunSummary() const
Prints the list of POT per run.
std::string fRunOutputCategory
Name of the run stream for output.
void printMissingSubrunList() const
Prints the list of subruns with partial or missing POT information.
void aggregate(POTSummary const &other)
Definition: POTSummary.cxx:14
void printSummary(sumdata::POTSummary const &totalPOT) const
Prints the total POT summary totalPOT.
std::map< art::SubRunID, unsigned int > fMissingSubrunFragments
Count of subrun fragments without POT information.
void sim::POTaccumulator::endSubRun ( art::SubRun const &  subRun)
overridevirtual

Collects information from each subrun.

Reimplemented from art::EDAnalyzer.

Definition at line 166 of file POTaccumulator_module.cc.

References art::InputTag::encode(), fMissingSubrunFragments, fPOTtag, fPresentSubrunFragments, fRunPOT, fSummaryOutputCategory, art::ProductRetriever::getByLabel(), art::SubRun::id(), MF_LOG_TRACE, and to_string().

Referenced by analyze().

167 {
168 
169  auto const& ID = subRun.id();
170 
171  //
172  // get the information from the subrun and update the subrun counts
173  //
174  art::Handle<sumdata::POTSummary> summaryHandle;
175  if (!subRun.getByLabel(fPOTtag, summaryHandle)) {
178  << "Fragment of subrun " << ID << " has no '" << fPOTtag.encode() << "' POT summary.";
179  return;
180  }
181 
183 
184  //
185  // accumulate the information by run
186  //
187  sumdata::POTSummary const& subRunPOT = *summaryHandle;
188 
189  fRunPOT[ID.runID()].update(summaryHandle);
191  << "Fragment #" << fPresentSubrunFragments[ID] << " of subrun " << ID << ": "
192  << sim::POTaccumulator::to_string(subRunPOT);
193 
194 } // sim::POTaccumulator::endSubRun()
std::string fSummaryOutputCategory
Name of the main stream for output.
std::map< art::RunID, art::SummedValue< sumdata::POTSummary > > fRunPOT
Partial count of POT in the run, per run.
std::string encode() const
Definition: InputTag.cc:97
static std::string to_string(sumdata::POTSummary const &POT)
Converts the information from POT in a compact string.
#define MF_LOG_TRACE(id)
MaybeLogger_< ELseverityLevel::ELsev_success, false > LogDebug
std::map< art::SubRunID, unsigned int > fPresentSubrunFragments
Count of subrun fragments with POT information.
art::InputTag fPOTtag
Name of sumdata::POTSummary data product.
std::map< art::SubRunID, unsigned int > fMissingSubrunFragments
Count of subrun fragments without POT information.
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
POTaccumulator& sim::POTaccumulator::operator= ( POTaccumulator const &  )
delete
POTaccumulator& sim::POTaccumulator::operator= ( POTaccumulator &&  )
delete
void sim::POTaccumulator::printMissingSubrunList ( ) const
private

Prints the list of subruns with partial or missing POT information.

Definition at line 227 of file POTaccumulator_module.cc.

References fMissingSubrunFragments, fPresentSubrunFragments, fRunOutputCategory, and util::size().

Referenced by endJob().

228 {
229 
230  //
231  // missing fragments information
232  //
234  log << size(fMissingSubrunFragments) << " subruns lack POT information:";
235 
236  auto const fend = fPresentSubrunFragments.cend();
237 
238  for (auto const& [id, nMissing] : fMissingSubrunFragments) {
239 
240  // add to the count of fragments the ones which we have actually found
241  unsigned int nFragments = nMissing;
242  auto const iFound = fPresentSubrunFragments.find(id);
243  if (iFound != fend) nFragments += iFound->second;
244 
245  log << "\n" << id << ": " << nMissing << " / " << nFragments << " \"fragments\"";
246 
247  } // for
248 
249 } // sim::POTaccumulator::printMissingSubrunList()
decltype(auto) constexpr size(T &&obj)
ADL-aware version of std::size.
Definition: StdUtils.h:101
std::string fRunOutputCategory
Name of the run stream for output.
std::map< art::SubRunID, unsigned int > fPresentSubrunFragments
Count of subrun fragments with POT information.
std::map< art::SubRunID, unsigned int > fMissingSubrunFragments
Count of subrun fragments without POT information.
void sim::POTaccumulator::printRunSummary ( ) const
private

Prints the list of POT per run.

Definition at line 252 of file POTaccumulator_module.cc.

References fPresentSubrunFragments, fRunOutputCategory, fRunPOT, util::size(), and to_string().

Referenced by endJob().

253 {
254 
255  // count subruns in run
256  std::map<art::RunID, unsigned int> subrunCount;
257  for (art::SubRunID const& ID : fPresentSubrunFragments | ranges::views::keys)
258  ++subrunCount[ID.runID()];
259 
261  log << "POT from " << size(fRunPOT) << " runs:";
262  for (auto const& [id, POT] : fRunPOT) {
263  log << "\n " << id << " (" << subrunCount[id]
264  << " subruns): " << sim::POTaccumulator::to_string(POT.value());
265  } // for
266 
267 } // sim::POTaccumulator::printRunSummary()
std::map< art::RunID, art::SummedValue< sumdata::POTSummary > > fRunPOT
Partial count of POT in the run, per run.
decltype(auto) constexpr size(T &&obj)
ADL-aware version of std::size.
Definition: StdUtils.h:101
static std::string to_string(sumdata::POTSummary const &POT)
Converts the information from POT in a compact string.
std::string fRunOutputCategory
Name of the run stream for output.
std::map< art::SubRunID, unsigned int > fPresentSubrunFragments
Count of subrun fragments with POT information.
void sim::POTaccumulator::printSummary ( sumdata::POTSummary const &  totalPOT) const
private

Prints the total POT summary totalPOT.

Definition at line 270 of file POTaccumulator_module.cc.

References fPresentSubrunFragments, fRunPOT, fSummaryOutputCategory, and to_string().

Referenced by endJob().

271 {
272 
273  // aggregate all run summaries
275  << "Aggregated POT from " << fRunPOT.size() << " runs (" << fPresentSubrunFragments.size()
276  << " subruns): " << sim::POTaccumulator::to_string(totalPOT);
277 
278 } // sim::POTaccumulator::printSummary()
std::string fSummaryOutputCategory
Name of the main stream for output.
std::map< art::RunID, art::SummedValue< sumdata::POTSummary > > fRunPOT
Partial count of POT in the run, per run.
static std::string to_string(sumdata::POTSummary const &POT)
Converts the information from POT in a compact string.
std::map< art::SubRunID, unsigned int > fPresentSubrunFragments
Count of subrun fragments with POT information.
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)
std::string sim::POTaccumulator::to_string ( sumdata::POTSummary const &  POT)
staticprivate

Converts the information from POT in a compact string.

Definition at line 281 of file POTaccumulator_module.cc.

References DEFINE_ART_MODULE, sumdata::POTSummary::goodspills, util::to_string(), sumdata::POTSummary::totgoodpot, sumdata::POTSummary::totpot, and sumdata::POTSummary::totspills.

Referenced by endSubRun(), printRunSummary(), and printSummary().

282 {
283  using namespace std::string_literals;
284  return std::to_string(POT.totgoodpot) + " good POT ( "s + std::to_string(POT.goodspills) +
285  " spills); total: " + std::to_string(POT.totpot) + " POT ( "s +
286  std::to_string(POT.totspills) + " spills)";
287 } // sim::POTaccumulator::to_string(sumdata::POTSummary)
decltype(auto) constexpr to_string(T &&obj)
ADL-aware version of std::to_string.
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

std::map<art::SubRunID, unsigned int> sim::POTaccumulator::fMissingSubrunFragments
private

Count of subrun fragments without POT information.

Definition at line 133 of file POTaccumulator_module.cc.

Referenced by endJob(), endSubRun(), and printMissingSubrunList().

art::InputTag sim::POTaccumulator::fPOTtag
private

Name of sumdata::POTSummary data product.

Definition at line 121 of file POTaccumulator_module.cc.

Referenced by endSubRun().

std::map<art::SubRunID, unsigned int> sim::POTaccumulator::fPresentSubrunFragments
private

Count of subrun fragments with POT information.

Definition at line 130 of file POTaccumulator_module.cc.

Referenced by endSubRun(), printMissingSubrunList(), printRunSummary(), and printSummary().

std::string sim::POTaccumulator::fRunOutputCategory
private

Name of the run stream for output.

Definition at line 123 of file POTaccumulator_module.cc.

Referenced by endJob(), printMissingSubrunList(), and printRunSummary().

std::map<art::RunID, art::SummedValue<sumdata::POTSummary> > sim::POTaccumulator::fRunPOT
private

Partial count of POT in the run, per run.

Definition at line 136 of file POTaccumulator_module.cc.

Referenced by endJob(), endSubRun(), printRunSummary(), and printSummary().

std::string sim::POTaccumulator::fSummaryOutputCategory
private

Name of the main stream for output.

Definition at line 122 of file POTaccumulator_module.cc.

Referenced by endSubRun(), and printSummary().


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