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

Public Types

using ModuleType = EDAnalyzer
 

Public Member Functions

 LEDCalibrationAna (const fhicl::ParameterSet &)
 
void endJob ()
 
void analyze (const art::Event &)
 
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

uint32_t ShaperToChannel (uint32_t Shaper)
 

Private Attributes

std::string fInputModule
 
uint32_t fTriggerChannel
 
float fCoincThreshold
 
float fMaxTimeMean
 
float fMaxTimeThresh
 
float fAreaDivs
 
float fAreaMin
 
float fAreaMax
 
float fTriggerDelay
 
pmtana::PulseRecoManager fPulseRecoMgr
 
pmtana::AlgoThreshold fThreshAlg
 
pmtana::PedAlgoEdges fPedAlg
 
TTree * fPulseTree
 
TTree * fPulseTreeNonCoinc
 
Float_t fPeak
 
Float_t fPedRMS
 
Float_t fPedMean
 
Float_t fArea
 
Float_t fTBegin
 
Float_t fTEnd
 
Float_t fTMax
 
Float_t fOffset
 
Int_t fEventID
 
Int_t fRunID
 
Int_t fChannel
 
Int_t fShaper
 
bool fMakeNonCoincTree
 
std::map< uint32_t, std::vector< double > > fAreas
 

Detailed Description

Definition at line 42 of file LEDCalibrationAna_module.cc.

Member Typedef Documentation

Definition at line 22 of file EDAnalyzer.h.

Constructor & Destructor Documentation

opdet::LEDCalibrationAna::LEDCalibrationAna ( const fhicl::ParameterSet )

Definition at line 95 of file LEDCalibrationAna_module.cc.

References pmtana::PulseRecoManager::AddRecoAlgo(), fArea, fAreaDivs, fAreaMax, fAreaMin, fChannel, fCoincThreshold, fEventID, fInputModule, fMakeNonCoincTree, fMaxTimeMean, fMaxTimeThresh, fOffset, fPeak, fPedAlg, fPedMean, fPedRMS, fPulseRecoMgr, fPulseTree, fPulseTreeNonCoinc, fRunID, fShaper, fTBegin, fTEnd, fThreshAlg, fTMax, fTriggerChannel, fTriggerDelay, fhicl::ParameterSet::get(), and pmtana::PulseRecoManager::SetDefaultPedAlgo().

97  {
98  // Indicate that the Input Module comes from .fcl
99  fInputModule = pset.get<std::string>("InputModule");
100  fTriggerChannel = pset.get<uint32_t>("TriggerChannel");
101  fTriggerDelay = pset.get<uint32_t>("TriggerDelay");
102  fCoincThreshold = pset.get<float>("CoincThreshold");
103  fMaxTimeThresh = pset.get<float>("MaxTimeThresh");
104  fMaxTimeMean = pset.get<float>("MaxTimeMean");
105  fAreaMin = pset.get<float>("AreaMin");
106  fAreaMax = pset.get<float>("AreaMax");
107  fAreaDivs = pset.get<float>("AreaDivs");
108  fMakeNonCoincTree = pset.get<bool>("MakeNonCoincTree");
109 
112 
114 
115  fPulseTree = tfs->make<TTree>("fPulseTree", "fPulseTree");
116  fPulseTree->Branch("Area", &fArea, "Area/F");
117  fPulseTree->Branch("Peak", &fPeak, "Peak/F");
118  fPulseTree->Branch("TBegin", &fTBegin, "TBegin/F");
119  fPulseTree->Branch("TEnd", &fTEnd, "TEnd/F");
120  fPulseTree->Branch("TMax", &fTMax, "TMax/F");
121  fPulseTree->Branch("Channel", &fChannel, "Channel/I");
122  fPulseTree->Branch("Shaper", &fShaper, "Shaper/I");
123  fPulseTree->Branch("PedMean", &fPedMean, "PedMean/F");
124  fPulseTree->Branch("PedRMS", &fPedRMS, "PedRMS/F");
125  fPulseTree->Branch("Offset", &fOffset, "Offset/F");
126  fPulseTree->Branch("EventID", &fEventID, "EventID/I");
127  fPulseTree->Branch("RunID", &fRunID, "RunID/I");
128 
129  fPulseTreeNonCoinc = tfs->make<TTree>("fPulseTreeNonCoinc", "fPulseTreeNonCoinc");
130  fPulseTreeNonCoinc->Branch("Area", &fArea, "Area/F");
131  fPulseTreeNonCoinc->Branch("Peak", &fPeak, "Peak/F");
132  fPulseTreeNonCoinc->Branch("TBegin", &fTBegin, "TBegin/F");
133  fPulseTreeNonCoinc->Branch("TEnd", &fTEnd, "TEnd/F");
134  fPulseTreeNonCoinc->Branch("TMax", &fTMax, "TMax/F");
135  fPulseTreeNonCoinc->Branch("Channel", &fChannel, "Channel/I");
136  fPulseTreeNonCoinc->Branch("Shaper", &fShaper, "Shaper/I");
137  fPulseTreeNonCoinc->Branch("PedMean", &fPedMean, "PedMean/F");
138  fPulseTreeNonCoinc->Branch("PedRMS", &fPedRMS, "PedRMS/F");
139  fPulseTreeNonCoinc->Branch("EventID", &fEventID, "EventID/I");
140  fPulseTreeNonCoinc->Branch("RunID", &fRunID, "RunID/I");
141  }
pmtana::AlgoThreshold fThreshAlg
EDAnalyzer(fhicl::ParameterSet const &pset)
Definition: EDAnalyzer.cc:6
void AddRecoAlgo(pmtana::PMTPulseRecoBase *algo, PMTPedestalBase *ped_algo=nullptr)
A method to set pulse reconstruction algorithm.
pmtana::PulseRecoManager fPulseRecoMgr
void SetDefaultPedAlgo(pmtana::PMTPedestalBase *algo)
A method to set a choice of pedestal estimation method.

Member Function Documentation

void opdet::LEDCalibrationAna::analyze ( const art::Event evt)

Definition at line 213 of file LEDCalibrationAna_module.cc.

References pmtana::pulse_param::area, art::Event::event(), fArea, fAreas, fChannel, fCoincThreshold, fEventID, fInputModule, fMakeNonCoincTree, fMaxTimeMean, fMaxTimeThresh, fOffset, fPeak, fPedMean, fPedRMS, fPulseRecoMgr, fPulseTree, fPulseTreeNonCoinc, fRunID, fShaper, fTBegin, fTEnd, fThreshAlg, fTMax, fTriggerChannel, fTriggerDelay, art::ProductRetriever::getByLabel(), pmtana::PMTPulseRecoBase::GetNPulse(), pmtana::PMTPulseRecoBase::GetPulse(), pmtana::pulse_param::peak, pmtana::pulse_param::ped_mean, pmtana::pulse_param::ped_sigma, pmtana::PulseRecoManager::Reconstruct(), art::Event::run(), ShaperToChannel(), pmtana::pulse_param::t_end, pmtana::pulse_param::t_max, and pmtana::pulse_param::t_start.

214  {
215  auto const clock_data =
217 
218  fRunID = evt.run();
219  fEventID = evt.event();
220 
221  // Create a handle for our vector of pulses
222  art::Handle<std::vector<raw::OpDetWaveform>> OpDetWaveformHandle;
223 
224  // Read in WaveformHandle
225  evt.getByLabel(fInputModule, OpDetWaveformHandle);
226 
227  std::map<uint32_t, std::vector<int>> OrgOpDigitByChannel;
228 
229  for (size_t i = 0; i != OpDetWaveformHandle->size(); ++i) {
230  OrgOpDigitByChannel[ShaperToChannel(OpDetWaveformHandle->at(i).ChannelNumber())].push_back(i);
231  }
232 
233  std::vector<uint32_t> FrameNumbersForTrig;
234  std::vector<uint32_t> TimeSlicesForTrig;
235 
236  for (size_t i = 0; i != OrgOpDigitByChannel[fTriggerChannel].size(); ++i) {
237  double TimeStamp =
238  OpDetWaveformHandle->at(OrgOpDigitByChannel[fTriggerChannel][i]).TimeStamp();
239  uint32_t Frame = clock_data.OpticalClock().Frame(TimeStamp);
240  uint32_t TimeSlice = clock_data.OpticalClock().Sample(TimeStamp);
241  FrameNumbersForTrig.push_back(Frame);
242  TimeSlicesForTrig.push_back(TimeSlice);
243  }
244 
245  for (size_t i = 0; i != OpDetWaveformHandle->size(); ++i) {
246  double TimeStamp = OpDetWaveformHandle->at(i).TimeStamp();
247  uint32_t Frame = clock_data.OpticalClock().Frame(TimeStamp);
248  uint32_t TimeSlice = clock_data.OpticalClock().Sample(TimeStamp);
249  fShaper = OpDetWaveformHandle->at(i).ChannelNumber();
251 
252  if (uint32_t(fChannel) != fTriggerChannel) {
253  for (size_t j = 0; j != FrameNumbersForTrig.size(); ++j) {
254  if ((Frame == FrameNumbersForTrig.at(j)) &&
255  (fabs(TimeSlice - TimeSlicesForTrig.at(j) - fTriggerDelay) < fCoincThreshold)) {
256 
257  const raw::OpDetWaveform& wf = OpDetWaveformHandle->at(i);
258 
259  //fPulseRecoMgr.RecoPulse(wf);
261 
262  size_t NPulses = fThreshAlg.GetNPulse();
263 
264  fOffset = TimeSlice - TimeSlicesForTrig.at(j);
265  //fPedMean = fThreshAlg.PedMean();
266  //fPedRMS = fThreshAlg.PedRms();
267 
268  for (size_t k = 0; k != NPulses; ++k) {
270 
278 
279  fPulseTree->Fill();
280 
281  fAreas[fChannel].push_back(fArea);
282  }
283  else if (fMakeNonCoincTree) {
289 
290  fPulseTreeNonCoinc->Fill();
291  }
292  }
293  }
294  }
295  }
296  }
297  }
pmtana::AlgoThreshold fThreshAlg
size_t GetNPulse() const
A getter for the number of reconstructed pulses from the input waveform.
pmtana::PulseRecoManager fPulseRecoMgr
bool Reconstruct(const pmtana::Waveform_t &) const
Implementation of ana_base::analyze method.
EventNumber_t event() const
Definition: Event.cc:41
bool getByLabel(std::string const &label, std::string const &instance, Handle< PROD > &result) const
std::map< uint32_t, std::vector< double > > fAreas
uint32_t ShaperToChannel(uint32_t Shaper)
RunNumber_t run() const
Definition: Event.cc:29
const pulse_param & GetPulse(size_t index=0) const
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 opdet::LEDCalibrationAna::endJob ( )
virtual

Reimplemented from art::EDAnalyzer.

Definition at line 144 of file LEDCalibrationAna_module.cc.

References fAreaDivs, fAreaMax, fAreaMin, and fAreas.

145  {
147 
148  for (auto it = fAreas.begin(); it != fAreas.end(); ++it) {
149  uint32_t Channel = it->first;
150 
151  std::stringstream histname;
152  histname.flush();
153  histname << "ch" << Channel << "area";
154 
155  TH1D* HistArea = tfs->make<TH1D>(
156  histname.str().c_str(), histname.str().c_str(), fAreaDivs, fAreaMin, fAreaMax);
157 
158  for (size_t j = 0; j != it->second.size(); ++j) {
159  HistArea->Fill(it->second.at(j));
160  }
161 
162  std::stringstream fitname;
163  fitname.flush();
164  fitname << "ch" << Channel << "fit";
165 
166  double Max = HistArea->GetMaximum();
167  double Mid = HistArea->GetBinContent(fAreaDivs / 2.);
168 
169  TF1* GausFit = new TF1(fitname.str().c_str(), "gaus(0)+gaus(3)+gaus(6)", fAreaMin, fAreaMax);
170 
171  GausFit->SetParameters(Mid,
172  (fAreaMin + fAreaMax) / 2.,
173  (fAreaMax - fAreaMin) / 2.,
174  Max,
175  0,
176  (fAreaMin + fAreaMax) / 8.,
177  Max / 5.,
178  0,
179  (fAreaMin + fAreaMax) / 4.);
180 
181  GausFit->SetParLimits(0, 0, 1.1 * Max);
182  GausFit->SetParLimits(1, 0, fAreaMax);
183  GausFit->SetParLimits(2, 0, fAreaMax);
184 
185  GausFit->SetParLimits(3, 0, 1.1 * Max);
186  GausFit->FixParameter(4, 0);
187  GausFit->SetParLimits(5, 0, (fAreaMin + fAreaMax) / 2.);
188 
189  GausFit->SetParLimits(6, 0, 1.1 * Max);
190  GausFit->FixParameter(7, 0);
191  GausFit->SetParLimits(8, 0, (fAreaMin + fAreaMax) / 2.);
192 
193  HistArea->Fit(GausFit);
194 
195  double Mean = GausFit->GetParameter(1);
196  double Width = GausFit->GetParameter(2);
197 
198  double MeanErr = GausFit->GetParError(1);
199  double WidthErr = GausFit->GetParError(2);
200 
201  double NPE = pow(Mean, 2) / pow(Width, 2);
202  double SPEScale = Mean / NPE;
203 
204  double NPEError = NPE * pow(2. * (pow(MeanErr / Mean, 2) + pow(WidthErr / Width, 2)), 0.5);
205  double SPEError = SPEScale * pow(2. * pow(WidthErr / Width, 2) + pow(MeanErr / Mean, 2), 0.5);
206 
207  std::cout << "Channel " << Channel << ":\tSPE Scale \t" << SPEScale << "\t +/- \t" << SPEError
208  << ",\t NPE \t" << NPE << "\t +/- \t" << NPEError << std::endl;
209  }
210  }
std::map< uint32_t, std::vector< double > > fAreas
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
uint32_t opdet::LEDCalibrationAna::ShaperToChannel ( uint32_t  Shaper)
private

Definition at line 300 of file LEDCalibrationAna_module.cc.

References DEFINE_ART_MODULE.

Referenced by analyze().

301  {
302  static std::map<uint32_t, uint32_t> ShaperToChannelMap;
303  if (ShaperToChannelMap.size() == 0) {
304 
305  // temporary
306  for (size_t i = 0; i != 40; ++i) {
307  ShaperToChannelMap[i] = i;
308  }
309  }
310 
311  return ShaperToChannelMap[Shaper];
312  }
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

Float_t opdet::LEDCalibrationAna::fArea
private

Definition at line 72 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

float opdet::LEDCalibrationAna::fAreaDivs
private

Definition at line 59 of file LEDCalibrationAna_module.cc.

Referenced by endJob(), and LEDCalibrationAna().

float opdet::LEDCalibrationAna::fAreaMax
private

Definition at line 61 of file LEDCalibrationAna_module.cc.

Referenced by endJob(), and LEDCalibrationAna().

float opdet::LEDCalibrationAna::fAreaMin
private

Definition at line 60 of file LEDCalibrationAna_module.cc.

Referenced by endJob(), and LEDCalibrationAna().

std::map<uint32_t, std::vector<double> > opdet::LEDCalibrationAna::fAreas
private

Definition at line 86 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and endJob().

Int_t opdet::LEDCalibrationAna::fChannel
private

Definition at line 79 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

float opdet::LEDCalibrationAna::fCoincThreshold
private

Definition at line 56 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

Int_t opdet::LEDCalibrationAna::fEventID
private

Definition at line 77 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

std::string opdet::LEDCalibrationAna::fInputModule
private

Definition at line 54 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

bool opdet::LEDCalibrationAna::fMakeNonCoincTree
private

Definition at line 84 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

float opdet::LEDCalibrationAna::fMaxTimeMean
private

Definition at line 57 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

float opdet::LEDCalibrationAna::fMaxTimeThresh
private

Definition at line 58 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

Float_t opdet::LEDCalibrationAna::fOffset
private

Definition at line 76 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

Float_t opdet::LEDCalibrationAna::fPeak
private

Definition at line 69 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

pmtana::PedAlgoEdges opdet::LEDCalibrationAna::fPedAlg
private

Definition at line 66 of file LEDCalibrationAna_module.cc.

Referenced by LEDCalibrationAna().

Float_t opdet::LEDCalibrationAna::fPedMean
private

Definition at line 71 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

Float_t opdet::LEDCalibrationAna::fPedRMS
private

Definition at line 70 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

pmtana::PulseRecoManager opdet::LEDCalibrationAna::fPulseRecoMgr
private

Definition at line 64 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

TTree* opdet::LEDCalibrationAna::fPulseTree
private

Definition at line 67 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

TTree* opdet::LEDCalibrationAna::fPulseTreeNonCoinc
private

Definition at line 68 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

Int_t opdet::LEDCalibrationAna::fRunID
private

Definition at line 78 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

Int_t opdet::LEDCalibrationAna::fShaper
private

Definition at line 80 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

Float_t opdet::LEDCalibrationAna::fTBegin
private

Definition at line 73 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

Float_t opdet::LEDCalibrationAna::fTEnd
private

Definition at line 74 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

pmtana::AlgoThreshold opdet::LEDCalibrationAna::fThreshAlg
private

Definition at line 65 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

Float_t opdet::LEDCalibrationAna::fTMax
private

Definition at line 75 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

uint32_t opdet::LEDCalibrationAna::fTriggerChannel
private

Definition at line 55 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().

float opdet::LEDCalibrationAna::fTriggerDelay
private

Definition at line 62 of file LEDCalibrationAna_module.cc.

Referenced by analyze(), and LEDCalibrationAna().


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