LArSoft  v10_04_05
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:261
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 219 of file TTHitFinder_module.cc.

References DEFINE_ART_MODULE.

Referenced by produce().

222  {
223 
224  float totalCharge = 0;
225  for (int tick = 0; tick < width; tick++) {
226  if (signal_vector[tick] < threshold) {
227  totalCharge = -999; //special value for being below threshold
228  break;
229  }
230  totalCharge += signal_vector[tick];
231  }
232  return totalCharge;
233 
234  } //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(), recob::HitCollectionCreator::emplace_back(), fCalDataModuleLabel, fColWidth, fIndWidth, fMinSigPeakCol, fMinSigPeakInd, fMinSigTailCol, fMinSigTailInd, Get, art::ProductRetriever::getByLabel(), getTotalCharge(), geo::kCollection, geo::kInduction, MF_LOG_DEBUG, recob::HitCreator::move(), geo::PlaneID::Plane, recob::HitCollectionCreator::put_into(), recob::Wire::Signal(), 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 
101  //initialize some variables that will be in the loop.
102  float threshold_peak = 0;
103  float threshold_tail = -99;
104  int width = 3;
105 
106  //Loop over wires
107  auto const& wireReadoutGeom = art::ServiceHandle<geo::WireReadout const>()->Get();
108  for (unsigned int wireIter = 0; wireIter < wireVec.size(); wireIter++) {
109 
110  //get our wire
111  art::Ptr<recob::Wire> wire(wireVecHandle, wireIter);
112  art::Ptr<raw::RawDigit> const& rawdigits = WireToRawDigits.at(wireIter);
113 
114  std::vector<float> signal(wire->Signal());
115  std::vector<float>::iterator timeIter; // iterator for time bins
116  geo::WireID wire_id =
117  wireReadoutGeom.ChannelToWire(wire->Channel()).at(0); //just grabbing the first one
118 
119  //set the thresholds and widths based on wire type
120  geo::SigType_t sigType = wireReadoutGeom.SignalType(wire->Channel());
121  if (sigType == geo::kInduction) {
122  threshold_peak = fMinSigPeakInd;
123  threshold_tail = fMinSigTailInd;
124  width = fIndWidth;
125  }
126  else if (sigType == geo::kCollection) {
127  threshold_peak = fMinSigPeakCol;
128  threshold_tail = fMinSigTailCol;
129  width = fColWidth;
130  }
131 
132  //make a half_width variable to be the search window around each time tick.
133  float half_width = ((float)width - 1) / 2.;
134 
135  //now do the loop over the time ticks on the wire
136  int time_bin = -1;
137  float peak_val = 0;
138  for (timeIter = signal.begin(); timeIter < signal.end(); timeIter++) {
139  time_bin++;
140 
141  //set the peak value, taking average between ticks if desired total width is even
142  if (width % 2 == 1)
143  peak_val = *timeIter;
144  else if (width % 2 == 0)
145  peak_val = 0.5 * (*timeIter + *(timeIter + 1));
146 
147  //continue immediately if we are not above the threshold
148  if (peak_val < threshold_peak) continue;
149 
150  //continue if we are too close to the edge
151  if (time_bin - half_width < 0) continue;
152  if (time_bin + half_width > signal.size()) continue;
153 
154  //if necessary, do loop over hit width, and check tail thresholds
155  int begin_tail_tick = std::floor(time_bin - half_width);
156  float totalCharge = getTotalCharge(&signal[begin_tail_tick], width, threshold_tail);
157  if (totalCharge == -999) {
158  MF_LOG_DEBUG("TTHitFinder")
159  << "Rejecting would be hit at (plane,wire,time_bin,first_bin,last_bin)=("
160  << wire_id.Plane << "," << wire_id.Wire << "," << time_bin << "," << begin_tail_tick
161  << "," << begin_tail_tick + width - 1 << "): " << signal.at(time_bin - 1) << " "
162  << signal.at(time_bin) << " " << signal.at(time_bin + 1);
163  continue;
164  }
165 
166  //OK, if we've passed all tests up to this point, we have a hit!
167 
168  float hit_time = time_bin;
169  if (width % 2 == 0) hit_time = time_bin + 0.5;
170 
171  // hit time region is 2 widths (4 RMS) wide
172  const raw::TDCtick_t start_tick = hit_time - width, end_tick = hit_time + width;
173 
174  // make the hit
175  recob::HitCreator hit(*wire, // wire
176  wire_id, // wireID
177  start_tick, // start_tick
178  end_tick, // end_tick
179  width / 2., // rms
180  hit_time, // peak_time
181  0., // sigma_peak_time
182  peak_val, // peak_amplitude
183  0., // sigma_peak_amplitude
184  totalCharge, // hit_integral
185  0., // hit_sigma_integral
186  totalCharge, // summedADC
187  1, // multiplicity (dummy value)
188  0, // local_index (dummy value)
189  1., // goodness_of_fit (dummy value)
190  0 // dof
191  );
192  if (wire_id.Plane == 0)
193  hitCollection_U.emplace_back(hit.move(), wire, rawdigits);
194  else if (wire_id.Plane == 1)
195  hitCollection_V.emplace_back(hit.move(), wire, rawdigits);
196  else if (wire_id.Plane == 2)
197  hitCollection_Y.emplace_back(hit.move(), wire, rawdigits);
198 
199  } //End loop over time ticks on wire
200 
201  MF_LOG_DEBUG("TTHitFinder") << "Finished wire " << wire_id.Wire << " (plane " << wire_id.Plane
202  << ")"
203  << "\tTotal hits (U,V,Y)= (" << hitCollection_U.size() << ","
204  << hitCollection_V.size() << "," << hitCollection_Y.size() << ")";
205 
206  } //End loop over all wires
207 
208  // put the hit collection and associations into the event
209  mf::LogInfo("TTHitFinder") << "Total TTHitFinder hits (U,V,Y)=(" << hitCollection_U.size()
210  << "," << hitCollection_V.size() << "," << hitCollection_Y.size()
211  << ")";
212  hitCollection_U.put_into(evt); // reminder: instance name was "uhits"
213  hitCollection_V.put_into(evt); // reminder: instance name was "vhits"
214  hitCollection_Y.put_into(evt); // reminder: instance name was "yhits"
215 
216  } // 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.
float fMinSigPeakCol
Induction wire signal height threshold at peak.
MaybeLogger_< ELseverityLevel::ELsev_info, false > LogInfo
cout<< "Opened file "<< fin<< " ixs= "<< ixs<< endl;if(ixs==0) hhh=(TH1F *) fff-> Get("h1")
Definition: AddMC.C:8
WireID_t Wire
Index of the wire within its plane.
Definition: geo_types.h:430
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:489
Signal from induction planes.
Definition: geo_types.h:147
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:373
float fMinSigTailCol
Induction wire signal height threshold outside peak.
Detector simulation of raw signals on wires.
std::string fCalDataModuleLabel
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:148
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: