LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
hit::TTHitFinder Class Reference
Inheritance diagram for hit::TTHitFinder:
art::EDProducer art::detail::Producer art::detail::LegacyModule art::Modifier art::ModuleBase art::ProductRegistryHelper

Public Types

using ModuleType = EDProducer
 
template<typename UserConfig , typename KeysToIgnore = void>
using Table = Modifier::Table< UserConfig, KeysToIgnore >
 

Public Member Functions

 TTHitFinder (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)
 
void fillProductDescriptions ()
 
void registerProducts (ProductDescriptions &productsToRegister)
 
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

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 produce (art::Event &evt) override
 
float getTotalCharge (const float *, int, float)
 Collection wire hit width (in time ticks) More...
 

Private Attributes

std::string fCalDataModuleLabel
 
float fMinSigPeakInd
 Input caldata module name. More...
 
float fMinSigPeakCol
 Induction wire signal height threshold at peak. More...
 
float fMinSigTailInd
 Collection wire signal height threshold at peak. More...
 
float fMinSigTailCol
 Induction wire signal height threshold outside peak. More...
 
int fIndWidth
 Collection wire signal height threshold outside peak. More...
 
int fColWidth
 Induction wire hit width (in time ticks) More...
 

Detailed Description

Definition at line 33 of file TTHitFinder_module.cc.

Member Typedef Documentation

Definition at line 17 of file EDProducer.h.

template<typename UserConfig , typename KeysToIgnore = void>
using art::detail::Producer::Table = Modifier::Table<UserConfig, KeysToIgnore>
inherited

Definition at line 26 of file Producer.h.

Constructor & Destructor Documentation

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

Definition at line 54 of file TTHitFinder_module.cc.

References recob::HitAndAssociationsWriterBase::declare_products(), fCalDataModuleLabel, fColWidth, fIndWidth, fMinSigPeakCol, fMinSigPeakInd, fMinSigTailCol, fMinSigTailInd, and art::ProductRegistryHelper::producesCollector().

54  : EDProducer{pset}
55  {
56  fCalDataModuleLabel = pset.get<std::string>("CalDataModuleLabel");
57  fMinSigPeakInd = pset.get<float>("MinSigPeakInd");
58  fMinSigPeakCol = pset.get<float>("MinSigPeakCol");
59  fMinSigTailInd = pset.get<float>("MinSigTailInd", -99); //defaulting to well-below zero
60  fMinSigTailCol = pset.get<float>("MinSigTailCol", -99); //defaulting to well-below zero
61  fIndWidth = pset.get<int>("IndWidth", 3); //defaulting to 3
62  fColWidth = pset.get<int>("ColWidth", 3); //defaulting to 3
63 
64  //enforce a minimum width
65  if (fIndWidth < 1) {
66  mf::LogWarning("TTHitFinder")
67  << "IndWidth must be 1 at minimum. Resetting width to one time tick";
68  fIndWidth = 1;
69  }
70  if (fColWidth < 1) {
71  mf::LogWarning("TTHitFinder")
72  << "ColWidth must be 1 at minimum. Resetting width to one time tick";
73  fColWidth = 1;
74  }
75 
76  // let HitCollectionCreator declare that we are going to produce
77  // hits and associations with wires and raw digits
81  }
int fColWidth
Induction wire hit width (in time ticks)
float fMinSigTailInd
Collection wire signal height threshold at peak.
float fMinSigPeakCol
Induction wire signal height threshold at peak.
EDProducer(fhicl::ParameterSet const &pset)
Definition: EDProducer.cc:6
static void declare_products(art::ProducesCollector &collector, std::string instance_name="", bool doWireAssns=true, bool doRawDigitAssns=true)
Declares the hit products we are going to fill.
Definition: HitCreator.cxx:248
float fMinSigTailCol
Induction wire signal height threshold outside peak.
ProducesCollector & producesCollector() noexcept
std::string fCalDataModuleLabel
float fMinSigPeakInd
Input caldata module name.
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
int fIndWidth
Collection wire signal height threshold outside peak.

Member Function Documentation

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::Producer::doBeginJob ( SharedResources const &  resources)
inherited

Definition at line 22 of file Producer.cc.

References art::detail::Producer::beginJobWithFrame(), and art::detail::Producer::setupQueues().

23  {
24  setupQueues(resources);
25  ProcessingFrame const frame{ScheduleID{}};
26  beginJobWithFrame(frame);
27  }
virtual void setupQueues(SharedResources const &)=0
virtual void beginJobWithFrame(ProcessingFrame const &)=0
bool art::detail::Producer::doBeginRun ( RunPrincipal rp,
ModuleContext const &  mc 
)
inherited

Definition at line 65 of file Producer.cc.

References art::detail::Producer::beginRunWithFrame(), art::RangeSet::forRun(), art::RunPrincipal::makeRun(), r, art::RunPrincipal::runID(), and art::ModuleContext::scheduleID().

66  {
67  auto r = rp.makeRun(mc, RangeSet::forRun(rp.runID()));
68  ProcessingFrame const frame{mc.scheduleID()};
69  beginRunWithFrame(r, frame);
70  r.commitProducts();
71  return true;
72  }
TRandom r
Definition: spectrum.C:23
virtual void beginRunWithFrame(Run &, ProcessingFrame const &)=0
static RangeSet forRun(RunID)
Definition: RangeSet.cc:51
bool art::detail::Producer::doBeginSubRun ( SubRunPrincipal srp,
ModuleContext const &  mc 
)
inherited

Definition at line 85 of file Producer.cc.

References art::detail::Producer::beginSubRunWithFrame(), art::RangeSet::forSubRun(), art::SubRunPrincipal::makeSubRun(), art::ModuleContext::scheduleID(), and art::SubRunPrincipal::subRunID().

86  {
87  auto sr = srp.makeSubRun(mc, RangeSet::forSubRun(srp.subRunID()));
88  ProcessingFrame const frame{mc.scheduleID()};
89  beginSubRunWithFrame(sr, frame);
90  sr.commitProducts();
91  return true;
92  }
virtual void beginSubRunWithFrame(SubRun &, ProcessingFrame const &)=0
static RangeSet forSubRun(SubRunID)
Definition: RangeSet.cc:57
void art::detail::Producer::doEndJob ( )
inherited

Definition at line 30 of file Producer.cc.

References art::detail::Producer::endJobWithFrame().

31  {
32  ProcessingFrame const frame{ScheduleID{}};
33  endJobWithFrame(frame);
34  }
virtual void endJobWithFrame(ProcessingFrame const &)=0
bool art::detail::Producer::doEndRun ( RunPrincipal rp,
ModuleContext const &  mc 
)
inherited

Definition at line 75 of file Producer.cc.

References art::detail::Producer::endRunWithFrame(), art::RunPrincipal::makeRun(), r, art::ModuleContext::scheduleID(), and art::Principal::seenRanges().

76  {
77  auto r = rp.makeRun(mc, rp.seenRanges());
78  ProcessingFrame const frame{mc.scheduleID()};
79  endRunWithFrame(r, frame);
80  r.commitProducts();
81  return true;
82  }
TRandom r
Definition: spectrum.C:23
virtual void endRunWithFrame(Run &, ProcessingFrame const &)=0
bool art::detail::Producer::doEndSubRun ( SubRunPrincipal srp,
ModuleContext const &  mc 
)
inherited

Definition at line 95 of file Producer.cc.

References art::detail::Producer::endSubRunWithFrame(), art::SubRunPrincipal::makeSubRun(), art::ModuleContext::scheduleID(), and art::Principal::seenRanges().

96  {
97  auto sr = srp.makeSubRun(mc, srp.seenRanges());
98  ProcessingFrame const frame{mc.scheduleID()};
99  endSubRunWithFrame(sr, frame);
100  sr.commitProducts();
101  return true;
102  }
virtual void endSubRunWithFrame(SubRun &, ProcessingFrame const &)=0
bool art::detail::Producer::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 105 of file Producer.cc.

References art::detail::Producer::checkPutProducts_, e, art::EventPrincipal::makeEvent(), art::detail::Producer::produceWithFrame(), and art::ModuleContext::scheduleID().

110  {
111  auto e = ep.makeEvent(mc);
112  ++counts_run;
113  ProcessingFrame const frame{mc.scheduleID()};
114  produceWithFrame(e, frame);
115  e.commitProducts(checkPutProducts_, &expectedProducts<InEvent>());
116  ++counts_passed;
117  return true;
118  }
bool const checkPutProducts_
Definition: Producer.h:70
Float_t e
Definition: plot.C:35
virtual void produceWithFrame(Event &, ProcessingFrame const &)=0
void art::detail::Producer::doRespondToCloseInputFile ( FileBlock const &  fb)
inherited

Definition at line 44 of file Producer.cc.

References art::detail::Producer::respondToCloseInputFileWithFrame().

45  {
46  ProcessingFrame const frame{ScheduleID{}};
48  }
virtual void respondToCloseInputFileWithFrame(FileBlock const &, ProcessingFrame const &)=0
TFile fb("Li6.root")
void art::detail::Producer::doRespondToCloseOutputFiles ( FileBlock const &  fb)
inherited

Definition at line 58 of file Producer.cc.

References art::detail::Producer::respondToCloseOutputFilesWithFrame().

59  {
60  ProcessingFrame const frame{ScheduleID{}};
62  }
virtual void respondToCloseOutputFilesWithFrame(FileBlock const &, ProcessingFrame const &)=0
TFile fb("Li6.root")
void art::detail::Producer::doRespondToOpenInputFile ( FileBlock const &  fb)
inherited

Definition at line 37 of file Producer.cc.

References art::detail::Producer::respondToOpenInputFileWithFrame().

38  {
39  ProcessingFrame const frame{ScheduleID{}};
41  }
virtual void respondToOpenInputFileWithFrame(FileBlock const &, ProcessingFrame const &)=0
TFile fb("Li6.root")
void art::detail::Producer::doRespondToOpenOutputFiles ( FileBlock const &  fb)
inherited

Definition at line 51 of file Producer.cc.

References art::detail::Producer::respondToOpenOutputFilesWithFrame().

52  {
53  ProcessingFrame const frame{ScheduleID{}};
55  }
virtual void respondToOpenOutputFilesWithFrame(FileBlock const &, ProcessingFrame const &)=0
TFile fb("Li6.root")
void art::Modifier::fillProductDescriptions ( )
inherited

Definition at line 10 of file Modifier.cc.

References art::ProductRegistryHelper::fillDescriptions(), and art::ModuleBase::moduleDescription().

11  {
13  }
void fillDescriptions(ModuleDescription const &md)
ModuleDescription const & moduleDescription() const
Definition: ModuleBase.cc:13
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
float hit::TTHitFinder::getTotalCharge ( const float *  signal_vector,
int  width = 3,
float  threshold = -99 
)
private

Collection wire hit width (in time ticks)

Definition at line 220 of file TTHitFinder_module.cc.

References DEFINE_ART_MODULE.

Referenced by produce().

223  {
224 
225  float totalCharge = 0;
226  for (int tick = 0; tick < width; tick++) {
227  if (signal_vector[tick] < threshold) {
228  totalCharge = -999; //special value for being below threshold
229  break;
230  }
231  totalCharge += signal_vector[tick];
232  }
233  return totalCharge;
234 
235  } //end getTotalCharge method
tick_as<> tick
Tick number, represented by std::ptrdiff_t.
Definition: electronics.h:73
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
void hit::TTHitFinder::produce ( art::Event evt)
overrideprivatevirtual

Implements art::EDProducer.

Definition at line 84 of file TTHitFinder_module.cc.

References recob::Wire::Channel(), geo::GeometryCore::ChannelToWire(), recob::HitCollectionCreator::emplace_back(), fCalDataModuleLabel, fColWidth, fIndWidth, fMinSigPeakCol, fMinSigPeakInd, fMinSigTailCol, fMinSigTailInd, art::ProductRetriever::getByLabel(), getTotalCharge(), geo::kCollection, geo::kInduction, MF_LOG_DEBUG, recob::HitCreator::move(), geo::PlaneID::Plane, recob::HitCollectionCreator::put_into(), recob::Wire::Signal(), geo::GeometryCore::SignalType(), recob::HitCollectionCreator::size(), and geo::WireID::Wire.

85  {
86 
87  // these objects contain the hit collections
88  // and their associations to wires and raw digits:
89  recob::HitCollectionCreator hitCollection_U(evt, "uhits");
90  recob::HitCollectionCreator hitCollection_V(evt, "vhits");
91  recob::HitCollectionCreator hitCollection_Y(evt, "yhits");
92 
93  // Read in the wire List object(s).
95  evt.getByLabel(fCalDataModuleLabel, wireVecHandle);
96  std::vector<recob::Wire> const& wireVec(*wireVecHandle);
97 
98  // also get the raw digits associated with wires
99  art::FindOneP<raw::RawDigit> WireToRawDigits(wireVecHandle, evt, fCalDataModuleLabel);
100 
102 
103  //initialize some variables that will be in the loop.
104  float threshold_peak = 0;
105  float threshold_tail = -99;
106  int width = 3;
107 
108  //Loop over wires
109  for (unsigned int wireIter = 0; wireIter < wireVec.size(); wireIter++) {
110 
111  //get our wire
112  art::Ptr<recob::Wire> wire(wireVecHandle, wireIter);
113  art::Ptr<raw::RawDigit> const& rawdigits = WireToRawDigits.at(wireIter);
114 
115  std::vector<float> signal(wire->Signal());
116  std::vector<float>::iterator timeIter; // iterator for time bins
117  geo::WireID wire_id =
118  (geom->ChannelToWire(wire->Channel())).at(0); //just grabbing the first one
119 
120  //set the thresholds and widths based on wire type
121  geo::SigType_t sigType = geom->SignalType(wire->Channel());
122  if (sigType == geo::kInduction) {
123  threshold_peak = fMinSigPeakInd;
124  threshold_tail = fMinSigTailInd;
125  width = fIndWidth;
126  }
127  else if (sigType == geo::kCollection) {
128  threshold_peak = fMinSigPeakCol;
129  threshold_tail = fMinSigTailCol;
130  width = fColWidth;
131  }
132 
133  //make a half_width variable to be the search window around each time tick.
134  float half_width = ((float)width - 1) / 2.;
135 
136  //now do the loop over the time ticks on the wire
137  int time_bin = -1;
138  float peak_val = 0;
139  for (timeIter = signal.begin(); timeIter < signal.end(); timeIter++) {
140  time_bin++;
141 
142  //set the peak value, taking average between ticks if desired total width is even
143  if (width % 2 == 1)
144  peak_val = *timeIter;
145  else if (width % 2 == 0)
146  peak_val = 0.5 * (*timeIter + *(timeIter + 1));
147 
148  //continue immediately if we are not above the threshold
149  if (peak_val < threshold_peak) continue;
150 
151  //continue if we are too close to the edge
152  if (time_bin - half_width < 0) continue;
153  if (time_bin + half_width > signal.size()) continue;
154 
155  //if necessary, do loop over hit width, and check tail thresholds
156  int begin_tail_tick = std::floor(time_bin - half_width);
157  float totalCharge = getTotalCharge(&signal[begin_tail_tick], width, threshold_tail);
158  if (totalCharge == -999) {
159  MF_LOG_DEBUG("TTHitFinder")
160  << "Rejecting would be hit at (plane,wire,time_bin,first_bin,last_bin)=("
161  << wire_id.Plane << "," << wire_id.Wire << "," << time_bin << "," << begin_tail_tick
162  << "," << begin_tail_tick + width - 1 << "): " << signal.at(time_bin - 1) << " "
163  << signal.at(time_bin) << " " << signal.at(time_bin + 1);
164  continue;
165  }
166 
167  //OK, if we've passed all tests up to this point, we have a hit!
168 
169  float hit_time = time_bin;
170  if (width % 2 == 0) hit_time = time_bin + 0.5;
171 
172  // hit time region is 2 widths (4 RMS) wide
173  const raw::TDCtick_t start_tick = hit_time - width, end_tick = hit_time + width;
174 
175  // make the hit
176  recob::HitCreator hit(*wire, // wire
177  wire_id, // wireID
178  start_tick, // start_tick
179  end_tick, // end_tick
180  width / 2., // rms
181  hit_time, // peak_time
182  0., // sigma_peak_time
183  peak_val, // peak_amplitude
184  0., // sigma_peak_amplitude
185  totalCharge, // hit_integral
186  0., // hit_sigma_integral
187  totalCharge, // summedADC
188  1, // multiplicity (dummy value)
189  0, // local_index (dummy value)
190  1., // goodness_of_fit (dummy value)
191  0 // dof
192  );
193  if (wire_id.Plane == 0)
194  hitCollection_U.emplace_back(hit.move(), wire, rawdigits);
195  else if (wire_id.Plane == 1)
196  hitCollection_V.emplace_back(hit.move(), wire, rawdigits);
197  else if (wire_id.Plane == 2)
198  hitCollection_Y.emplace_back(hit.move(), wire, rawdigits);
199 
200  } //End loop over time ticks on wire
201 
202  MF_LOG_DEBUG("TTHitFinder") << "Finished wire " << wire_id.Wire << " (plane " << wire_id.Plane
203  << ")"
204  << "\tTotal hits (U,V,Y)= (" << hitCollection_U.size() << ","
205  << hitCollection_V.size() << "," << hitCollection_Y.size() << ")";
206 
207  } //End loop over all wires
208 
209  // put the hit collection and associations into the event
210  mf::LogInfo("TTHitFinder") << "Total TTHitFinder hits (U,V,Y)=(" << hitCollection_U.size()
211  << "," << hitCollection_V.size() << "," << hitCollection_Y.size()
212  << ")";
213  hitCollection_U.put_into(evt); // reminder: instance name was "uhits"
214  hitCollection_V.put_into(evt); // reminder: instance name was "vhits"
215  hitCollection_Y.put_into(evt); // reminder: instance name was "yhits"
216 
217  } // End of produce()
intermediate_table::iterator iterator
int fColWidth
Induction wire hit width (in time ticks)
float fMinSigTailInd
Collection wire signal height threshold at peak.
std::vector< WireID > ChannelToWire(raw::ChannelID_t const channel) const
Returns a list of wires connected to the specified TPC channel.
float fMinSigPeakCol
Induction wire signal height threshold at peak.
MaybeLogger_< ELseverityLevel::ELsev_info, false > LogInfo
WireID_t Wire
Index of the wire within its plane.
Definition: geo_types.h:563
int TDCtick_t
Type representing a TDC tick.
Definition: RawTypes.h:25
Class managing the creation of a new recob::Hit object.
Definition: HitCreator.h:87
A class handling a collection of hits and its associations.
Definition: HitCreator.h:481
Signal from induction planes.
Definition: geo_types.h:151
enum geo::_plane_sigtype SigType_t
Enumerate the possible plane projections.
PlaneID_t Plane
Index of the plane within its TPC.
Definition: geo_types.h:481
float fMinSigTailCol
Induction wire signal height threshold outside peak.
Detector simulation of raw signals on wires.
std::string fCalDataModuleLabel
SigType_t SignalType(PlaneID const &pid) const
Returns the type of signal on the channels of specified TPC plane.
bool getByLabel(std::string const &label, std::string const &instance, Handle< PROD > &result) const
float fMinSigPeakInd
Input caldata module name.
#define MF_LOG_DEBUG(id)
int fIndWidth
Collection wire signal height threshold outside peak.
Definition: fwd.h:26
float getTotalCharge(const float *, int, float)
Collection wire hit width (in time ticks)
Signal from collection planes.
Definition: geo_types.h:152
void art::Modifier::registerProducts ( ProductDescriptions productsToRegister)
inherited

Definition at line 16 of file Modifier.cc.

References art::ModuleBase::moduleDescription(), and art::ProductRegistryHelper::registerProducts().

17  {
18  ProductRegistryHelper::registerProducts(productsToRegister,
20  }
void registerProducts(ProductDescriptions &productsToRegister, ModuleDescription const &md)
ModuleDescription const & moduleDescription() const
Definition: ModuleBase.cc:13
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)

Member Data Documentation

std::string hit::TTHitFinder::fCalDataModuleLabel
private

Definition at line 41 of file TTHitFinder_module.cc.

Referenced by produce(), and TTHitFinder().

int hit::TTHitFinder::fColWidth
private

Induction wire hit width (in time ticks)

Definition at line 47 of file TTHitFinder_module.cc.

Referenced by produce(), and TTHitFinder().

int hit::TTHitFinder::fIndWidth
private

Collection wire signal height threshold outside peak.

Definition at line 46 of file TTHitFinder_module.cc.

Referenced by produce(), and TTHitFinder().

float hit::TTHitFinder::fMinSigPeakCol
private

Induction wire signal height threshold at peak.

Definition at line 43 of file TTHitFinder_module.cc.

Referenced by produce(), and TTHitFinder().

float hit::TTHitFinder::fMinSigPeakInd
private

Input caldata module name.

Definition at line 42 of file TTHitFinder_module.cc.

Referenced by produce(), and TTHitFinder().

float hit::TTHitFinder::fMinSigTailCol
private

Induction wire signal height threshold outside peak.

Definition at line 45 of file TTHitFinder_module.cc.

Referenced by produce(), and TTHitFinder().

float hit::TTHitFinder::fMinSigTailInd
private

Collection wire signal height threshold at peak.

Definition at line 44 of file TTHitFinder_module.cc.

Referenced by produce(), and TTHitFinder().


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