LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
detsim::WienerFilterAna Class Reference

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

Inheritance diagram for detsim::WienerFilterAna:
art::EDAnalyzer art::detail::Analyzer art::detail::LegacyModule art::Observer art::ModuleBase

Public Types

using ModuleType = EDAnalyzer
 

Public Member Functions

 WienerFilterAna (fhicl::ParameterSet const &pset)
 
void analyze (const art::Event &evt)
 read/write access to event More...
 
void beginJob ()
 
void endJob ()
 
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

std::string fDetSimModuleLabel
 
TH1F * fCnoise [10][10][5]
 
TH1F * fCsignal [10][10][5]
 
TH1F * fCnoise_av [10][10][5]
 
TH1F * fCsignal_av [10][10][5]
 
TH1F * fFilter_av [10][10][5]
 
TH1 * ff
 
TH1F * hh
 
int fNBins
 

Detailed Description

Base class for creation of raw signals on wires.

Definition at line 37 of file WienerFilterAna_module.cc.

Member Typedef Documentation

Definition at line 22 of file EDAnalyzer.h.

Constructor & Destructor Documentation

detsim::WienerFilterAna::WienerFilterAna ( fhicl::ParameterSet const &  pset)
explicit

Definition at line 68 of file WienerFilterAna_module.cc.

69  : EDAnalyzer(pset), fDetSimModuleLabel(pset.get<std::string>("DetSimModuleLabel"))
70  {}
EDAnalyzer(fhicl::ParameterSet const &pset)
Definition: EDAnalyzer.cc:6

Member Function Documentation

void detsim::WienerFilterAna::analyze ( const art::Event evt)

read/write access to event

Todo:
Need to change hardcoded values to an automatic determination of noise vs. signal

Definition at line 178 of file WienerFilterAna_module.cc.

References geo::GeometryCore::ChannelToWire(), geo::CryostatID::Cryostat, DEFINE_ART_MODULE, fCnoise, fCnoise_av, fCsignal, fCsignal_av, fDetSimModuleLabel, ff, util::LArFFT::FFTSize(), fNBins, art::ProductRetriever::getByLabel(), hh, geo::PlaneID::Plane, art::PtrVector< T >::push_back(), r, art::PtrVector< T >::size(), geo::TPCID::TPC, and geo::WireID::Wire.

179  {
180 
181  // loop over the raw digits and get the adc vector for each, then compress it and uncompress it
182 
184  evt.getByLabel(fDetSimModuleLabel, rdHandle);
185  mf::LogInfo("WienerFilterMicroBooNE") << " readout Wiener " << rdHandle->size() << std::endl;
186  // return;
187  if (!rdHandle->size()) return;
188  mf::LogInfo("WienerFilterMicroBooNE")
189  << "WienerFilterMicroBooNE:: rdHandle size is " << rdHandle->size();
190 
191  // Read in the digit List object(s).
192 
193  // Use the handle to get a particular (0th) element of collection.
195  for (unsigned int i = 0; i < rdHandle->size(); ++i) {
196  art::Ptr<raw::RawDigit> r(rdHandle, i);
197  rdvec.push_back(r);
198  // std::cout << " i, rdvec: "<<i <<" " << r->ADC(0) << " "<< rdvec[i]->ADC(0)<< std::endl;
199  }
200 
203 
204  for (unsigned int rd = 0; rd < rdvec.size(); ++rd) {
205 
206  std::vector<double> adc(fft->FFTSize());
207 
208  for (unsigned int t = 1; t < rdvec[rd]->Samples(); t++) {
209  adc[t - 1] = rdvec[rd]->ADC(t - 1);
210  hh->SetBinContent(t, rdvec[rd]->ADC(t));
211  }
212 
213  geo::WireID wireid = geom->ChannelToWire(rdvec[rd]->Channel())[0];
214 
215  // this is hardcoded for the time being. Should be automatized.
216  unsigned int plane = wireid.Plane;
217  unsigned int wire = wireid.Wire;
219  unsigned int cstat = wireid.Cryostat;
220  unsigned int tpc = wireid.TPC;
221  ff = hh->FFT(NULL, "MAG M");
222  if (wire >= 50 && wire < 250) {
223  for (int ii = 0; ii < fNBins; ii++) {
224  fCnoise_av[cstat][tpc][plane]->AddBinContent(ii, ff->GetBinContent(ii));
225  if (wire == 150) fCnoise[cstat][tpc][plane]->SetBinContent(ii, ff->GetBinContent(ii));
226  }
227  }
228  else if (wire >= 700 && wire < 900) {
229  for (int ii = 0; ii < fNBins; ii++) {
230  fCsignal_av[cstat][tpc][plane]->AddBinContent(ii, ff->GetBinContent(ii));
231  if (wire == 800) fCsignal[cstat][tpc][plane]->SetBinContent(ii, ff->GetBinContent(ii));
232  }
233  }
234 
235  //
236  } //end loop over rawDigits
237 
238  return;
239  } //end analyze method
TRandom r
Definition: spectrum.C:23
std::vector< WireID > ChannelToWire(raw::ChannelID_t const channel) const
Returns a list of wires connected to the specified TPC channel.
MaybeLogger_< ELseverityLevel::ELsev_info, false > LogInfo
CryostatID_t Cryostat
Index of cryostat.
Definition: geo_types.h:211
WireID_t Wire
Index of the wire within its plane.
Definition: geo_types.h:563
int FFTSize() const
Definition: LArFFT.h:66
void push_back(Ptr< U > const &p)
Definition: PtrVector.h:435
PlaneID_t Plane
Index of the plane within its TPC.
Definition: geo_types.h:481
size_type size() const
Definition: PtrVector.h:302
bool getByLabel(std::string const &label, std::string const &instance, Handle< PROD > &result) const
TPCID_t TPC
Index of the TPC within its cryostat.
Definition: geo_types.h:399
void detsim::WienerFilterAna::beginJob ( )
virtual

Reimplemented from art::EDAnalyzer.

Definition at line 73 of file WienerFilterAna_module.cc.

References fCnoise, fCnoise_av, fCsignal, fCsignal_av, fFilter_av, util::LArFFT::FFTSize(), fNBins, hh, geo::GeometryCore::Ncryostats(), geo::GeometryCore::Nplanes(), geo::GeometryCore::NTPC(), and detinfo::sampling_rate().

74  {
75  // get access to the TFile service
77 
79  int fNTicks = fFFT->FFTSize();
80  fNBins = fNTicks / 2 + 1;
81  auto const clock_data =
83  double samprate = sampling_rate(clock_data);
84  double sampfreq = 1. / samprate * 1e6; // in kHz
86  unsigned int fNPlanes = geo->Nplanes();
87  unsigned int fNCryostats = geo->Ncryostats();
88  unsigned int fNTPC = geo->NTPC();
89 
90  for (unsigned int icstat = 0; icstat < fNCryostats; icstat++) {
91  for (unsigned int itpc = 0; itpc < fNTPC; itpc++) {
92  for (unsigned int iplane = 0; iplane < fNPlanes; iplane++) {
93  fCnoise[icstat][itpc][iplane] =
94  tfs->make<TH1F>(Form("fft_noise_%d_%d_%d", icstat, itpc, iplane),
95  Form("fft_of_unfiltered_noise_%d_%d_%d", icstat, itpc, iplane),
96  fNBins,
97  0,
98  sampfreq / 2);
99 
100  fCsignal[icstat][itpc][iplane] = tfs->make<TH1F>(
101  Form("fft_signal_%d_%d_%d", icstat, itpc, iplane),
102  Form("fft_of_unfiltered_noise_and_signal_%d_%d_%d", icstat, itpc, iplane),
103  fNBins,
104  0,
105  sampfreq / 2);
106 
107  fCnoise_av[icstat][itpc][iplane] =
108  tfs->make<TH1F>(Form("fft_noise_%d_%d_%d_av", icstat, itpc, iplane),
109  Form("fft_of_unfiltered_noise_%d_%d_%d_av", icstat, itpc, iplane),
110  fNBins,
111  0,
112  sampfreq / 2);
113  fCsignal_av[icstat][itpc][iplane] = tfs->make<TH1F>(
114  Form("fft_signal_%d_%d_%d_av", icstat, itpc, iplane),
115  Form("fft_of_unfiltered_noise_and_signal_%d_%d_%d_av", icstat, itpc, iplane),
116  fNBins,
117  0,
118  sampfreq / 2);
119 
120  fFilter_av[icstat][itpc][iplane] =
121  tfs->make<TH1F>(Form("fft_filter_%d_%d_%d_av", icstat, itpc, iplane),
122  Form("fft_filter_%d_%d_%d_av", icstat, itpc, iplane),
123  fNBins,
124  0,
125  sampfreq / 2);
126  }
127  }
128  }
129 
130  //ff=tfs->make<TH1>(Form("fftwaveform"),Form("fftwaveform"),4096,0,4096);
131  hh = tfs->make<TH1F>(Form("waveform"), Form("waveform"), fNTicks, 0, fNTicks);
132 
133  return;
134  }
unsigned int NTPC(CryostatID const &cryoid=cryostat_zero) const
Returns the total number of TPCs in the specified cryostat.
Definition: GeometryCore.h:686
unsigned int Ncryostats() const
Returns the number of cryostats in the detector.
Definition: GeometryCore.h:430
int FFTSize() const
Definition: LArFFT.h:66
unsigned int Nplanes(TPCID const &tpcid=tpc_zero) const
Returns the total number of planes in the specified TPC.
Definition: GeometryCore.h:977
double sampling_rate(DetectorClocksData const &data)
Returns the period of the TPC readout electronics clock.
Namespace collecting geometry-related classes utilities.
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 detsim::WienerFilterAna::endJob ( )
virtual

Reimplemented from art::EDAnalyzer.

Definition at line 137 of file WienerFilterAna_module.cc.

References fCnoise_av, fCsignal_av, fFilter_av, geo::GeometryCore::Ncryostats(), geo::GeometryCore::Nplanes(), and geo::GeometryCore::NTPC().

138  {
139 
141  unsigned int nplanes = geom->Nplanes();
142  unsigned int fNCryostats = geom->Ncryostats();
143  unsigned int fNTPC = geom->NTPC();
144 
145  // calculate filters
146 
147  for (unsigned int icstat = 0; icstat < fNCryostats; icstat++) {
148  for (unsigned int itpc = 0; itpc < fNTPC; itpc++) {
149  for (unsigned int pp = 0; pp < nplanes; pp++) {
150 
151  for (int ii = 1; ii < fCsignal_av[icstat][itpc][pp]->GetNbinsX(); ii++) {
152 
153  double diff = ((fCsignal_av[icstat][itpc][pp]->GetBinContent(ii) *
154  fCsignal_av[icstat][itpc][pp]->GetBinContent(ii) -
155  fCnoise_av[icstat][itpc][pp]->GetBinContent(ii) *
156  fCnoise_av[icstat][itpc][pp]->GetBinContent(ii)) >= 0) ?
157  fCsignal_av[icstat][itpc][pp]->GetBinContent(ii) *
158  fCsignal_av[icstat][itpc][pp]->GetBinContent(ii) -
159  fCnoise_av[icstat][itpc][pp]->GetBinContent(ii) *
160  fCnoise_av[icstat][itpc][pp]->GetBinContent(ii) :
161  0;
162 
163  if (fCsignal_av[icstat][itpc][pp]->GetBinContent(ii) > 0)
164  fFilter_av[icstat][itpc][pp]->SetBinContent(
165  ii,
166  (double)((diff) / (fCsignal_av[icstat][itpc][pp]->GetBinContent(ii) *
167  fCsignal_av[icstat][itpc][pp]->GetBinContent(ii))));
168  else
169  fFilter_av[icstat][itpc][pp]->SetBinContent(ii, 0);
170 
171  } // end loop on Csignal
172  } // end loop on planes
173  } // end loop on TPCs
174  } // end loop on cryostats
175  }
unsigned int NTPC(CryostatID const &cryoid=cryostat_zero) const
Returns the total number of TPCs in the specified cryostat.
Definition: GeometryCore.h:686
unsigned int Ncryostats() const
Returns the number of cryostats in the detector.
Definition: GeometryCore.h:430
unsigned int Nplanes(TPCID const &tpcid=tpc_zero) const
Returns the total number of planes in the specified TPC.
Definition: GeometryCore.h:977
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

TH1F* detsim::WienerFilterAna::fCnoise[10][10][5]
private

Definition at line 50 of file WienerFilterAna_module.cc.

Referenced by analyze(), and beginJob().

TH1F* detsim::WienerFilterAna::fCnoise_av[10][10][5]
private

Definition at line 53 of file WienerFilterAna_module.cc.

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

TH1F* detsim::WienerFilterAna::fCsignal[10][10][5]
private

Definition at line 51 of file WienerFilterAna_module.cc.

Referenced by analyze(), and beginJob().

TH1F* detsim::WienerFilterAna::fCsignal_av[10][10][5]
private

Definition at line 54 of file WienerFilterAna_module.cc.

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

std::string detsim::WienerFilterAna::fDetSimModuleLabel
private

Definition at line 48 of file WienerFilterAna_module.cc.

Referenced by analyze().

TH1* detsim::WienerFilterAna::ff
private

Definition at line 58 of file WienerFilterAna_module.cc.

Referenced by analyze().

TH1F* detsim::WienerFilterAna::fFilter_av[10][10][5]
private

Definition at line 56 of file WienerFilterAna_module.cc.

Referenced by beginJob(), and endJob().

int detsim::WienerFilterAna::fNBins
private

Definition at line 60 of file WienerFilterAna_module.cc.

Referenced by analyze(), and beginJob().

TH1F* detsim::WienerFilterAna::hh
private

Definition at line 59 of file WienerFilterAna_module.cc.

Referenced by analyze(), and beginJob().


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