LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
hit::GausHitFinderAna Class Reference

Base class for creation of raw signals on wires. More...

Inheritance diagram for hit::GausHitFinderAna:
art::EDAnalyzer art::detail::Analyzer art::detail::LegacyModule art::Observer art::ModuleBase

Public Types

using ModuleType = EDAnalyzer
 

Public Member Functions

 GausHitFinderAna (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 Member Functions

void analyze (const art::Event &evt) override
 
void beginJob () override
 

Private Attributes

std::string fHitFinderModuleLabel
 
std::string fLArG4ModuleLabel
 
std::string fCalDataModuleLabel
 
TH1F * fHitResidualAll
 
TH1F * fHitResidualAllAlt
 
TH1F * fNumberOfHitsPerEvent
 
TH2F * fPeakTimeVsWire
 
TTree * fHTree
 
Int_t fRun
 
Int_t fEvt
 
Float_t fWireTotalCharge
 
Int_t fnHits
 
Int_t fWire [kMaxHits]
 
Float_t fStartTime [kMaxHits]
 
Float_t fEndTime [kMaxHits]
 
Float_t fPeakTime [kMaxHits]
 
Float_t fPeakTimeUncert [kMaxHits]
 
Float_t fCharge [kMaxHits]
 
Float_t fChargeUncert [kMaxHits]
 
Int_t fMultiplicity [kMaxHits]
 
Float_t fGOF [kMaxHits]
 
Float_t fTotalHitChargePerEvent
 
Float_t fTruePeakPos [kMaxHits]
 

Detailed Description

Base class for creation of raw signals on wires.

Definition at line 46 of file GausHitFinderAna_module.cc.

Member Typedef Documentation

Definition at line 22 of file EDAnalyzer.h.

Constructor & Destructor Documentation

hit::GausHitFinderAna::GausHitFinderAna ( fhicl::ParameterSet const &  pset)
explicit

Definition at line 94 of file GausHitFinderAna_module.cc.

References fCalDataModuleLabel, fHitFinderModuleLabel, fLArG4ModuleLabel, and fhicl::ParameterSet::get().

94  : EDAnalyzer(pset)
95  {
96  fHitFinderModuleLabel = pset.get<std::string>("HitsModuleLabel");
97  fLArG4ModuleLabel = pset.get<std::string>("LArGeantModuleLabel");
98  fCalDataModuleLabel = pset.get<std::string>("CalDataModuleLabel");
99  }
EDAnalyzer(fhicl::ParameterSet const &pset)
Definition: EDAnalyzer.cc:6

Member Function Documentation

void hit::GausHitFinderAna::analyze ( const art::Event evt)
overrideprivate

Definition at line 137 of file GausHitFinderAna_module.cc.

References geo::PlaneID::asPlaneID(), DEFINE_ART_MODULE, art::EventID::event(), fCalDataModuleLabel, fCharge, fChargeUncert, fEndTime, fEvt, fGOF, fHitFinderModuleLabel, fHitResidualAll, fHitResidualAllAlt, fHTree, art::fill_ptr_vector(), fMultiplicity, fnHits, fNumberOfHitsPerEvent, fPeakTime, fPeakTimeUncert, fPeakTimeVsWire, fRun, fStartTime, fTotalHitChargePerEvent, fTruePeakPos, fWire, fWireTotalCharge, geo::PlaneGeo::GetBoxCenter(), art::ProductRetriever::getByLabel(), recob::Hit::GoodnessOfFit(), hits(), cheat::BackTrackerService::HitToTrackIDEs(), cheat::BackTrackerService::HitToXYZ(), art::Event::id(), recob::Hit::Integral(), recob::Hit::Multiplicity(), recob::Hit::PeakTime(), recob::Hit::PeakTimeMinusRMS(), recob::Hit::PeakTimePlusRMS(), geo::GeometryCore::Plane(), art::Event::run(), detinfo::sampling_rate(), recob::Hit::SigmaIntegral(), recob::Hit::SigmaPeakTime(), recob::Wire::Signal(), geo::WireID::Wire, and recob::Hit::WireID().

138  {
139  // ### TTree Run/Event ###
140  fEvt = evt.id().event();
141  fRun = evt.run();
142 
144  auto const clock_data =
146  auto const det_prop =
148 
150  evt.getByLabel(fCalDataModuleLabel, wireVecHandle);
151 
152  // Charge directly from wire info
153  float TotWireCharge = 0;
154 
155  for (size_t wireIter = 0; wireIter < wireVecHandle->size(); wireIter++) {
156  art::Ptr<recob::Wire> wire(wireVecHandle, wireIter);
157  std::vector<float> signal(wire->Signal());
158 
159  for (auto timeIter = signal.begin(); timeIter + 2 < signal.end(); timeIter++) {
160 
161  if (*timeIter < 2) { continue; }
162 
163  TotWireCharge += *timeIter;
164  }
165  }
166 
167  fWireTotalCharge = TotWireCharge;
168 
169  // Reconstructed hit information
171  evt.getByLabel(fHitFinderModuleLabel, hitHandle);
172 
173  std::vector<art::Ptr<recob::Hit>> hits;
174  art::fill_ptr_vector(hits, hitHandle);
175 
176  float TotCharge = 0;
177  int hitCount = 0;
178  fnHits = hitHandle->size();
179  fNumberOfHitsPerEvent->Fill(hitHandle->size());
180 
181  for (size_t numHit = 0; numHit < hitHandle->size(); ++numHit) {
182  // === Finding Channel associated with the hit ===
183  art::Ptr<recob::Hit> hit(hitHandle, numHit);
184 
185  fWire[hitCount] = hit->WireID().Wire;
186  fStartTime[hitCount] = hit->PeakTimeMinusRMS();
187  fEndTime[hitCount] = hit->PeakTimePlusRMS();
188  fPeakTime[hitCount] = hit->PeakTime();
189  fPeakTimeUncert[hitCount] = hit->SigmaPeakTime();
190  fCharge[hitCount] = hit->Integral();
191  fChargeUncert[hitCount] = hit->SigmaIntegral();
192  fMultiplicity[hitCount] = hit->Multiplicity();
193  fGOF[hitCount] = hit->GoodnessOfFit();
194 
195  hitCount++;
196  TotCharge += hit->Integral();
197 
198  fPeakTimeVsWire->Fill(hit->WireID().Wire, hit->PeakTime());
199  } //<---End numHit
200  fTotalHitChargePerEvent = TotCharge;
201 
202  // Truth hit info from BackTracker
203 
204  Float_t TruthHitTime = 0, TruthHitCalculated = 0;
205  int count = 0;
206 
207  double time_tick = sampling_rate(clock_data) / 1000.;
208  double drift_velocity = det_prop.DriftVelocity(det_prop.Efield(), det_prop.Temperature());
209 
210  for (size_t nh = 0; nh < hitHandle->size(); nh++) {
211  // === Finding Channel associated with the hit ===
212  art::Ptr<recob::Hit> hitPoint(hitHandle, nh);
213  auto const& planeID = hitPoint->WireID().asPlaneID();
214 
215  // ===================================================================
216  // Using Track IDE's to locate the XYZ location from truth information
217  // ===================================================================
218  std::vector<sim::TrackIDE> trackides;
219  std::vector<double> xyz;
220  try {
222  trackides = bt_serv->HitToTrackIDEs(clock_data, hitPoint);
223  xyz = bt_serv->HitToXYZ(clock_data, hitPoint);
224  }
225  catch (cet::exception const&) {
226  mf::LogWarning("GausHitFinderAna") << "BackTrackerService Failed";
227  continue;
228  }
229 
230  // ==============================================================
231  // Calculating the truth tick position of the hit using 2 methods
232  // Method 1: ConvertXtoTicks from the detector properties package
233  // Method 2: Actually do the calculation myself to double check things
234  // ==============================================================
235 
236  // ### Method 1 ###
237  TruthHitTime = det_prop.ConvertXToTicks(xyz[0], planeID);
238 
239  // ### Method 2 ###
240  // ================================================
241  // Establishing the x-position of the current plane
242  // ================================================
243  auto const pos = geom->Plane(planeID).GetBoxCenter();
244  double planePos_timeCorr = (pos.X() / drift_velocity) * (1. / time_tick) + 60;
245  //<---x position of plane / drift velocity + 60 (Trigger offset)
246 
247  TruthHitCalculated = ((xyz[0]) / (drift_velocity * time_tick)) + planePos_timeCorr;
248 
249  fTruePeakPos[count] = TruthHitTime;
250  count++;
251  double hitresid = ((TruthHitTime - hitPoint->PeakTime()) / hitPoint->SigmaPeakTime());
252  fHitResidualAll->Fill(hitresid);
253 
254  double hitresidAlt =
255  ((TruthHitCalculated - hitPoint->PeakTime()) / hitPoint->SigmaPeakTime());
256  fHitResidualAllAlt->Fill(hitresidAlt);
257 
258  } //<---End nh loop
259 
260  fHTree->Fill();
261  } // end analyze method
std::vector< sim::TrackIDE > HitToTrackIDEs(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
std::vector< double > HitToXYZ(detinfo::DetectorClocksData const &clockData, const recob::Hit &hit) const
Float_t fPeakTimeUncert[kMaxHits]
PlaneGeo const & Plane(PlaneID const &planeid) const
Returns the specified wire.
void hits()
Definition: readHits.C:15
Point_t GetBoxCenter() const
Returns the centre of the box representing the plane.
Definition: PlaneGeo.h:449
Detector simulation of raw signals on wires.
bool getByLabel(std::string const &label, std::string const &instance, Handle< PROD > &result) const
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
EventNumber_t event() const
Definition: EventID.h:116
void fill_ptr_vector(std::vector< Ptr< T >> &ptrs, H const &h)
Definition: Ptr.h:306
RunNumber_t run() const
Definition: Event.cc:29
double sampling_rate(DetectorClocksData const &data)
Returns the period of the TPC readout electronics clock.
Definition: fwd.h:26
EventID id() const
Definition: Event.cc:23
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
void hit::GausHitFinderAna::beginJob ( )
overrideprivatevirtual

Reimplemented from art::EDAnalyzer.

Definition at line 102 of file GausHitFinderAna_module.cc.

References fCharge, fChargeUncert, fEndTime, fEvt, fGOF, fHitResidualAll, fHitResidualAllAlt, fHTree, fMultiplicity, fnHits, fNumberOfHitsPerEvent, fPeakTime, fPeakTimeUncert, fPeakTimeVsWire, fRun, fStartTime, fTotalHitChargePerEvent, fTruePeakPos, fWire, and fWireTotalCharge.

103  {
105  fHitResidualAll = tfs->make<TH1F>("fHitResidualAll", "Hit Residual All", 1600, -400, 400);
106  fHitResidualAllAlt = tfs->make<TH1F>("fHitResidualAllAlt", "Hit Residual All", 1600, -400, 400);
108  tfs->make<TH1F>("fNumberOfHitsPerEvent", "Number of Hits in Each Event", 10000, 0, 10000);
110  tfs->make<TH2F>("fPeakTimeVsWire", "Peak Time vs Wire Number", 3200, 0, 3200, 9500, 0, 9500);
111 
112  fHTree = tfs->make<TTree>("HTree", "HTree");
113  fHTree->Branch("Evt", &fEvt, "Evt/I");
114  fHTree->Branch("Run", &fRun, "Run/I");
115  fHTree->Branch("WireTotalCharge", &fWireTotalCharge, "WireTotalCharge/F");
116 
117  // === Hit Info ===
118  fHTree->Branch("nHits", &fnHits, "nHits/I");
119  fHTree->Branch("Wire", &fWire, "Wire[nHits]/I");
120  fHTree->Branch("StartTime", &fStartTime, "fStartTime[nHits]/F");
121  fHTree->Branch("EndTime", &fEndTime, "fEndTime[nHits]/F");
122  fHTree->Branch("PeakTime", &fPeakTime, "fPeakTime[nHits]/F");
123  fHTree->Branch("PeakTimeUncert", &fPeakTimeUncert, "fPeakTimeUncert[nHits]/F");
124  fHTree->Branch("Charge", &fCharge, "fCharge[nHits]/F");
125  fHTree->Branch("ChargeUncert", &fChargeUncert, "fChargeUncert[nHits]/F");
126  fHTree->Branch("Multiplicity", &fMultiplicity, "fMultiplicity[nHits]/I");
127  fHTree->Branch("GOF", &fGOF, "fGOF[nHits]/F");
128 
129  // === Total Hit Information ===
130  fHTree->Branch("TotalHitChargePerEvent", &fTotalHitChargePerEvent, "TotalHitChargePerEvent/F");
131 
132  // === Truth Hit Information from BackTrackerService ===
133  fHTree->Branch("TruePeakPos", &fTruePeakPos, "fTruePeakPos[nHits]/F");
134  }
Float_t fPeakTimeUncert[kMaxHits]
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")
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 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

std::string hit::GausHitFinderAna::fCalDataModuleLabel
private

Definition at line 56 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and GausHitFinderAna().

Float_t hit::GausHitFinderAna::fCharge[kMaxHits]
private

Definition at line 80 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

Float_t hit::GausHitFinderAna::fChargeUncert[kMaxHits]
private

Definition at line 81 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

Float_t hit::GausHitFinderAna::fEndTime[kMaxHits]
private

Definition at line 77 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

Int_t hit::GausHitFinderAna::fEvt
private

Definition at line 68 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

Float_t hit::GausHitFinderAna::fGOF[kMaxHits]
private

Definition at line 83 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

std::string hit::GausHitFinderAna::fHitFinderModuleLabel
private

Definition at line 54 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and GausHitFinderAna().

TH1F* hit::GausHitFinderAna::fHitResidualAll
private

Definition at line 58 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

TH1F* hit::GausHitFinderAna::fHitResidualAllAlt
private

Definition at line 59 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

TTree* hit::GausHitFinderAna::fHTree
private

Definition at line 64 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

std::string hit::GausHitFinderAna::fLArG4ModuleLabel
private

Definition at line 55 of file GausHitFinderAna_module.cc.

Referenced by GausHitFinderAna().

Int_t hit::GausHitFinderAna::fMultiplicity[kMaxHits]
private

Definition at line 82 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

Int_t hit::GausHitFinderAna::fnHits
private

Definition at line 74 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

TH1F* hit::GausHitFinderAna::fNumberOfHitsPerEvent
private

Definition at line 60 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

Float_t hit::GausHitFinderAna::fPeakTime[kMaxHits]
private

Definition at line 78 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

Float_t hit::GausHitFinderAna::fPeakTimeUncert[kMaxHits]
private

Definition at line 79 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

TH2F* hit::GausHitFinderAna::fPeakTimeVsWire
private

Definition at line 61 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

Int_t hit::GausHitFinderAna::fRun
private

Definition at line 67 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

Float_t hit::GausHitFinderAna::fStartTime[kMaxHits]
private

Definition at line 76 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

Float_t hit::GausHitFinderAna::fTotalHitChargePerEvent
private

Definition at line 86 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

Float_t hit::GausHitFinderAna::fTruePeakPos[kMaxHits]
private

Definition at line 89 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

Int_t hit::GausHitFinderAna::fWire[kMaxHits]
private

Definition at line 75 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().

Float_t hit::GausHitFinderAna::fWireTotalCharge
private

Definition at line 71 of file GausHitFinderAna_module.cc.

Referenced by analyze(), and beginJob().


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