LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
lbne::PhotonCounterT0Matching Class Reference
Inheritance diagram for lbne::PhotonCounterT0Matching:
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

 PhotonCounterT0Matching (fhicl::ParameterSet const &p)
 
 PhotonCounterT0Matching (PhotonCounterT0Matching const &)=delete
 
 PhotonCounterT0Matching (PhotonCounterT0Matching &&)=delete
 
PhotonCounterT0Matchingoperator= (PhotonCounterT0Matching const &)=delete
 
PhotonCounterT0Matchingoperator= (PhotonCounterT0Matching &&)=delete
 
void produce (art::Event &e) override
 
void beginJob () override
 
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 TrackProp (double TrackStart_X, double TrackEnd_X, double &TrackLength_X, double &TrackCentre_X, double TrackStart_Y, double TrackEnd_Y, double &TrackLength_Y, double &TrackCentre_Y, double TrackStart_Z, double TrackEnd_Z, double &TrackLength_Z, double &TrackCentre_Z, double trkTimeStart, double trkTimeEnd, double &trkTimeLengh, double &trkTimeCentre, double &TrackLength)
 
double DistFromPoint (double StartY, double EndY, double StartZ, double EndZ, double PointY, double PointZ)
 

Private Attributes

std::string fTrackModuleLabel
 
std::string fShowerModuleLabel
 
std::string fHitsModuleLabel
 
std::string fFlashModuleLabel
 
std::string fTruthT0ModuleLabel
 
double fPredictedXConstant
 
double fPredictedXPower = 1
 
double fPredictedExpConstant
 
double fPredictedExpGradient
 
double fDriftWindowSize
 
double fWeightOfDeltaYZ
 
double fMatchCriteria
 
double fPEThreshold
 
bool fVerbosity
 
double TrackLength_X
 
double TrackCentre_X
 
double BestTrackCentre_X
 
double TrackLength_Y
 
double TrackCentre_Y
 
double TrackLength_Z
 
double TrackCentre_Z
 
double trkTimeStart
 
double trkTimeEnd
 
double trkTimeLengh
 
double trkTimeCentre
 
double BesttrkTimeCentre
 
double TrackLength
 
double BestTrackLength
 
double PredictedX
 
double BestPredictedX
 
double TimeSepPredX
 
double BestTimeSepPredX
 
double DeltaPredX
 
double BestDeltaPredX
 
double minYZSep
 
double BestminYZSep
 
double FitParam
 
double BestFitParam
 
double FlashTime
 
double BestFlashTime
 
double TimeSep
 
double BestTimeSep
 
int BestFlash
 
int FlashTriggerType = 1
 
double YZSep
 
double MCTruthT0
 
TTree * fTree
 
TH2D * hPredX_T
 
TH2D * hPredX_PE
 
TH2D * hPredX_T_PE
 
TH2D * hdeltaX_deltaYZ
 
TH2D * hdeltaYZ_Length
 
TH2D * hFitParam_Length
 
TH2D * hPhotonT0_MCT0
 
TH1D * hT0_diff_full
 
TH1D * hT0_diff_zoom
 

Detailed Description

Definition at line 65 of file PhotonCounterT0Matching_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

lbne::PhotonCounterT0Matching::PhotonCounterT0Matching ( fhicl::ParameterSet const &  p)
explicit

Definition at line 157 of file PhotonCounterT0Matching_module.cc.

References fDriftWindowSize, fFlashModuleLabel, fHitsModuleLabel, fMatchCriteria, fPEThreshold, fPredictedExpConstant, fPredictedExpGradient, fPredictedXConstant, fShowerModuleLabel, fTrackModuleLabel, fTruthT0ModuleLabel, fVerbosity, and fWeightOfDeltaYZ.

157  : EDProducer{p}
158 {
159  // Call appropriate produces<>() functions here.
160  produces<std::vector<anab::T0>>();
161  produces<art::Assns<recob::Track, anab::T0>>();
162  produces<art::Assns<recob::Shower, anab::T0>>();
163 
164  fTrackModuleLabel = (p.get<std::string>("TrackModuleLabel"));
165  fShowerModuleLabel = (p.get<std::string>("ShowerModuleLabel"));
166  fHitsModuleLabel = (p.get<std::string>("HitsModuleLabel"));
167  fFlashModuleLabel = (p.get<std::string>("FlashModuleLabel"));
168  fTruthT0ModuleLabel = (p.get<std::string>("TruthT0ModuleLabel"));
169 
170  fPredictedXConstant = (p.get<double>("PredictedXConstant"));
171  fPredictedExpConstant = (p.get<double>("PredictedExpConstant"));
172  fPredictedExpGradient = (p.get<double>("PredictedExpGradient"));
173 
174  fDriftWindowSize = (p.get<double>("DriftWindowSize"));
175  fWeightOfDeltaYZ = (p.get<double>("WeightOfDeltaYZ"));
176  fMatchCriteria = (p.get<double>("MatchCriteria"));
177  fPEThreshold = (p.get<double>("PEThreshold"));
178 
179  fVerbosity = (p.get<bool>("Verbose", false));
180 }
EDProducer(fhicl::ParameterSet const &pset)
Definition: EDProducer.cc:6
lbne::PhotonCounterT0Matching::PhotonCounterT0Matching ( PhotonCounterT0Matching const &  )
delete
lbne::PhotonCounterT0Matching::PhotonCounterT0Matching ( PhotonCounterT0Matching &&  )
delete

Member Function Documentation

void lbne::PhotonCounterT0Matching::beginJob ( )
overridevirtual

Reimplemented from art::EDProducer.

Definition at line 182 of file PhotonCounterT0Matching_module.cc.

References BestFitParam, BestFlashTime, BestminYZSep, BestPredictedX, BestTimeSep, BestTimeSepPredX, BestTrackCentre_X, BesttrkTimeCentre, fTree, hdeltaX_deltaYZ, hdeltaYZ_Length, hFitParam_Length, hPhotonT0_MCT0, hPredX_PE, hPredX_T, hPredX_T_PE, hT0_diff_full, hT0_diff_zoom, and MCTruthT0.

183 {
184  // Implementation of optional member function here.
186  fTree = tfs->make<TTree>("PhotonCounterT0Matching", "PhotonCounterT0");
187  fTree->Branch("TrackCentre_X", &BestTrackCentre_X, "TrackCentre_X/D");
188  fTree->Branch("PredictedX", &BestPredictedX, "PredictedX/D");
189  fTree->Branch("TrackTimeCent", &BesttrkTimeCentre, "TimeSepPredX/D");
190  fTree->Branch("FlashTime", &BestFlashTime, "FlashTime/D");
191  fTree->Branch("TimeSep", &BestTimeSep, "TimeSep/D");
192  fTree->Branch("TimeSepPredX", &BestTimeSepPredX, "TimeSepPredX/D");
193  fTree->Branch("minYZSep", &BestminYZSep, "minYZSep/D");
194  fTree->Branch("FitParam", &BestFitParam, "FitParam/D");
195  fTree->Branch("MCTruthT0", &MCTruthT0, "MCTruthT0/D");
196 
197  hPredX_T = tfs->make<TH2D>("hPredX_T",
198  "Predicted X from timing information against reconstructed X; "
199  "Reconstructed X (cm); Predicted X (cm)",
200  30,
201  0,
202  300,
203  30,
204  0,
205  300);
206  hPredX_PE = tfs->make<TH2D>("hPredX_PE",
207  "Predicted X from PE information against reconstructed X; "
208  "Reconstructed X (cm); Predicted X (cm)",
209  30,
210  0,
211  300,
212  30,
213  0,
214  300);
215  hPredX_T_PE = tfs->make<TH2D>("hPredX_T_PE",
216  "Predicted X position from time and PE information; Predicted X "
217  "from timing information (cm); Predicted X from PE information",
218  60,
219  0,
220  300,
221  60,
222  0,
223  300);
224  hdeltaX_deltaYZ = tfs->make<TH2D>(
225  "hdeltaX_deltaYZ",
226  "Difference between X predicted from PE's and T agaisnt distance of flash from track in YZ; "
227  "Difference in X predicted from PE's and T (cm); Distance of flash from track in YZ (cm)",
228  40,
229  0,
230  200,
231  40,
232  0,
233  100);
234  hdeltaYZ_Length = tfs->make<TH2D>("hdeltaYZ_Length",
235  "Distance of flash from track against track length; Distance "
236  "from flash to track (cm); Track length (cm)",
237  20,
238  0,
239  100,
240  60,
241  0,
242  300);
244  tfs->make<TH2D>("hFitParam_Length",
245  "How fit correlates with track length; Fit correlation; Track Length (cm)",
246  50,
247  0,
248  250,
249  30,
250  0,
251  300);
252  hPhotonT0_MCT0 = tfs->make<TH2D>("hPhotonT0_MCT0",
253  "Comparing Photon Counter reconstructed T0 against MCTruth T0; "
254  "Photon Counter T0 (us); MCTruthT0 T0 (us)",
255  1760,
256  -1600,
257  16000,
258  1760,
259  -1600,
260  16000);
261  hT0_diff_full = tfs->make<TH1D>(
262  "hT0_diff_full",
263  "Difference between MCTruth T0 and photon detector T0; Time difference (us); Number",
264  500,
265  -2500,
266  2500);
267  hT0_diff_zoom = tfs->make<TH1D>(
268  "hT0_diff_zoom",
269  "Difference between MCTruth T0 and photon detector T0; Time difference (us); Number",
270  320,
271  -1.6,
272  1.6);
273 }
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 &)
double lbne::PhotonCounterT0Matching::DistFromPoint ( double  StartY,
double  EndY,
double  StartZ,
double  EndZ,
double  PointY,
double  PointZ 
)
private

Calculate the distance between the centre of the flash and the centre of a line connecting two adjacent space points.

Definition at line 522 of file PhotonCounterT0Matching_module.cc.

References DEFINE_ART_MODULE, and tca::Length().

Referenced by produce().

528 {
530  double Length = hypot(fabs(EndY - StartY), fabs(EndZ - StartZ));
531  double distance =
532  ((PointZ - StartZ) * (EndY - StartY) - (PointY - StartY) * (EndZ - StartZ)) / Length;
533  return fabs(distance);
534 }
float Length(const PFPStruct &pfp)
Definition: PFPUtils.cxx:3269
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
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
PhotonCounterT0Matching& lbne::PhotonCounterT0Matching::operator= ( PhotonCounterT0Matching const &  )
delete
PhotonCounterT0Matching& lbne::PhotonCounterT0Matching::operator= ( PhotonCounterT0Matching &&  )
delete
void lbne::PhotonCounterT0Matching::produce ( art::Event e)
overridevirtual

Implements art::EDProducer.

Definition at line 275 of file PhotonCounterT0Matching_module.cc.

References BestDeltaPredX, BestFitParam, BestFlash, BestFlashTime, BestminYZSep, BestPredictedX, BestTimeSep, BestTimeSepPredX, BestTrackCentre_X, BestTrackLength, BesttrkTimeCentre, util::CreateAssn(), DeltaPredX, DistFromPoint(), fDriftWindowSize, fFlashModuleLabel, fHitsModuleLabel, art::fill_ptr_vector(), FitParam, FlashTime, FlashTriggerType, fMatchCriteria, fPEThreshold, fPredictedExpConstant, fPredictedExpGradient, fPredictedXConstant, fPredictedXPower, fShowerModuleLabel, fTrackModuleLabel, fTree, fTruthT0ModuleLabel, fVerbosity, fWeightOfDeltaYZ, art::ProductRetriever::getByLabel(), hdeltaX_deltaYZ, hdeltaYZ_Length, hFitParam_Length, hPhotonT0_MCT0, hPredX_PE, hPredX_T, hPredX_T_PE, hT0_diff_full, hT0_diff_zoom, art::Handle< T >::isValid(), MCTruthT0, minYZSep, PredictedX, art::Event::put(), TimeSep, TimeSepPredX, TrackCentre_X, TrackCentre_Y, TrackCentre_Z, TrackLength, TrackLength_X, TrackLength_Y, TrackLength_Z, TrackProp(), trkTimeCentre, trkTimeEnd, trkTimeLengh, trkTimeStart, and YZSep.

276 {
277  // Access art services...
279  auto const clock_data = art::ServiceHandle<detinfo::DetectorClocksService const>()->DataFor(evt);
280  auto const detprop =
282 
283  //TrackList handle
284  art::Handle<std::vector<recob::Track>> trackListHandle;
285  std::vector<art::Ptr<recob::Track>> tracklist;
286  if (evt.getByLabel(fTrackModuleLabel, trackListHandle))
287  art::fill_ptr_vector(tracklist, trackListHandle);
288 
289  //ShowerList handle
290  art::Handle<std::vector<recob::Shower>> showerListHandle;
291  std::vector<art::Ptr<recob::Shower>> showerlist;
292  if (evt.getByLabel(fShowerModuleLabel, showerListHandle))
293  art::fill_ptr_vector(showerlist, showerListHandle);
294 
295  //HitList Handle
297  std::vector<art::Ptr<recob::Hit>> hitlist;
298  if (evt.getByLabel(fHitsModuleLabel, hitListHandle)) art::fill_ptr_vector(hitlist, hitListHandle);
299 
300  //FlashList Handle
302  std::vector<art::Ptr<recob::OpFlash>> flashlist;
303  if (evt.getByLabel(fFlashModuleLabel, flashListHandle))
304  art::fill_ptr_vector(flashlist, flashListHandle);
305 
306  // Create anab::T0 objects and make association with recob::Track
307 
308  std::unique_ptr<std::vector<anab::T0>> T0col(new std::vector<anab::T0>);
309  std::unique_ptr<art::Assns<recob::Track, anab::T0>> Trackassn(
311  std::unique_ptr<art::Assns<recob::Shower, anab::T0>> Showerassn(
313 
314  if (trackListHandle.isValid() && flashListHandle.isValid()) {
315  //Access tracks and hits
316  art::FindManyP<recob::Hit> fmtht(trackListHandle, evt, fTrackModuleLabel);
317  art::FindMany<anab::T0> fmtruth(trackListHandle, evt, fTruthT0ModuleLabel);
318 
319  size_t NTracks = tracklist.size();
320  size_t NFlashes = flashlist.size();
321 
322  if (fVerbosity)
323  std::cout << "There were " << NTracks << " tracks and " << NFlashes
324  << " flashes in this event." << std::endl;
325 
326  // Now to access PhotonCounter for each track...
327  for (size_t iTrk = 0; iTrk < NTracks; ++iTrk) {
328  if (fVerbosity) std::cout << "\n New Track " << (int)iTrk << std::endl;
329  // Reset Variables.
332  bool ValidTrack = false;
333 
334  // Work out Properties of the track.
335  recob::Track::Point_t trackStart, trackEnd;
336  std::tie(trackStart, trackEnd) = tracklist[iTrk]->Extent();
337  std::vector<art::Ptr<recob::Hit>> allHits = fmtht.at(iTrk);
338  size_t nHits = allHits.size();
339  trkTimeStart = allHits[nHits - 1]->PeakTime() /
340  clock_data.TPCClock().Frequency(); // Got in ticks, now in us!
341  trkTimeEnd =
342  allHits[0]->PeakTime() / clock_data.TPCClock().Frequency(); // Got in ticks, now in us!
343  TrackProp(trackStart.X(),
344  trackEnd.X(),
347  trackStart.Y(),
348  trackEnd.Y(),
351  trackStart.Z(),
352  trackEnd.Z(),
355  trkTimeStart,
356  trkTimeEnd,
357  trkTimeLengh,
358  trkTimeCentre, // times in us!
359  TrackLength);
360 
361  // Some cout statement about track properties.
362  if (fVerbosity) {
363  std::cout << trackStart.X() << " " << trackEnd.X() << " " << TrackLength_X << " "
364  << TrackCentre_X << "\n"
365  << trackStart.Y() << " " << trackEnd.Y() << " " << TrackLength_Y << " "
366  << TrackCentre_Y << "\n"
367  << trackStart.Z() << " " << trackEnd.Z() << " " << TrackLength_Z << " "
368  << TrackCentre_Z << "\n"
369  << trkTimeStart << " " << trkTimeEnd << " " << trkTimeLengh << " "
370  << trkTimeCentre << std::endl;
371  }
372  // ----- Loop over flashes ------
373  for (size_t iFlash = 0; iFlash < NFlashes; ++iFlash) {
374  //Reset some flash specific quantities
375  YZSep = minYZSep = 9999;
376  FlashTime = TimeSep = 9999;
378  // Check flash could be caused by track...
379  FlashTime = flashlist[iFlash]->Time(); // Got in us!
380  TimeSep = trkTimeCentre - FlashTime; // Time in us!
381  if (TimeSep < 0 || TimeSep > (fDriftWindowSize / clock_data.TPCClock().Frequency()))
382  continue; // Times compared in us!
383 
384  // Check flash has enough PE's to satisfy our threshold
385  if (flashlist[iFlash]->TotalPE() < fPEThreshold) continue;
386 
387  // Work out some quantities for this flash...
388  // PredictedX = ( A / x^n ) + exp ( B + Cx )
389  PredictedX =
390  (fPredictedXConstant / pow(flashlist[iFlash]->TotalPE(), fPredictedXPower)) +
391  (exp(fPredictedExpConstant + (fPredictedExpGradient * flashlist[iFlash]->TotalPE())));
392  TimeSepPredX = TimeSep * detprop.DriftVelocity(); // us * cm/us = cm!
394  // Dependant on each point...
395  for (size_t Point = 1; Point < tracklist[iTrk]->NumberTrajectoryPoints(); ++Point) {
396  auto NewPoint = tracklist[iTrk]->LocationAtPoint(Point);
397  auto PrevPoint = tracklist[iTrk]->LocationAtPoint(Point - 1);
398  YZSep = DistFromPoint(NewPoint.Y(),
399  PrevPoint.Y(),
400  NewPoint.Z(),
401  PrevPoint.Z(),
402  flashlist[iFlash]->YCenter(),
403  flashlist[iFlash]->ZCenter());
404  if (Point == 1) minYZSep = YZSep;
405  if (YZSep < minYZSep) minYZSep = YZSep;
406  }
407 
408  // Determine how well matched this track is......
409  if (fMatchCriteria == 0)
410  FitParam =
411  pow(((DeltaPredX * DeltaPredX) + (minYZSep * minYZSep * fWeightOfDeltaYZ)), 0.5);
412  else if (fMatchCriteria == 1)
413  FitParam = minYZSep;
414  else if (fMatchCriteria == 2)
416 
417  //----FLASH INFO-----
418  if (fVerbosity) {
419  std::cout << "\nFlash " << (int)iFlash << " " << TrackCentre_X << ", " << TimeSepPredX
420  << " - " << PredictedX << " = " << DeltaPredX << ", " << minYZSep << " -> "
421  << FitParam << std::endl;
422  }
423  //----Select best flash------
424  if (FitParam < BestFitParam) {
425  ValidTrack = true;
426  BestFlash = (int)iFlash;
435  BestFlashTime = FlashTime;
437  } // Find best Flash
438  } // Loop over Flashes
439 
440  // ---- Now Make association and fill TTree/Histos with the best matched flash.....
441  if (ValidTrack) {
442 
443  // -- Fill Histos --
450  // ------ Compare Photon Matched to MCTruth Matched -------
451  if (fmtruth.isValid()) {
452  std::vector<const anab::T0*> T0s = fmtruth.at((int)iTrk);
453  for (size_t i = 0; i < T0s.size(); ++i) {
454  MCTruthT0 = T0s[i]->Time() / 1e3; // Got in ns, now in us!!
455  hPhotonT0_MCT0->Fill(BestFlashTime, MCTruthT0);
456  hT0_diff_full->Fill(MCTruthT0 - BestFlashTime);
457  hT0_diff_zoom->Fill(MCTruthT0 - BestFlashTime);
458  }
459  }
460  // -- Fill TTree --
461  fTree->Fill();
462  //Make Association
463  T0col->push_back(anab::T0(
464  BestFlashTime * 1e3, FlashTriggerType, (int)BestFlash, (*T0col).size(), BestFitParam));
465  util::CreateAssn(evt, *T0col, tracklist[iTrk], *Trackassn);
466  } // Valid Track
467  } // Loop over tracks
468  }
469  evt.put(std::move(T0col));
470  evt.put(std::move(Trackassn));
471  evt.put(std::move(Showerassn));
472 
473 } // Produce
Definition: T0.h:16
double DistFromPoint(double StartY, double EndY, double StartZ, double EndZ, double PointY, double PointZ)
bool isValid() const noexcept
Definition: Handle.h:203
void TrackProp(double TrackStart_X, double TrackEnd_X, double &TrackLength_X, double &TrackCentre_X, double TrackStart_Y, double TrackEnd_Y, double &TrackLength_Y, double &TrackCentre_Y, double TrackStart_Z, double TrackEnd_Z, double &TrackLength_Z, double &TrackCentre_Z, double trkTimeStart, double trkTimeEnd, double &trkTimeLengh, double &trkTimeCentre, double &TrackLength)
bool CreateAssn(art::Event &evt, std::vector< T > const &a, art::Ptr< U > const &b, art::Assns< U, T > &assn, std::string a_instance, size_t index=UINT_MAX)
Creates a single one-to-one association.
std::tuple< double, double, const reco::ClusterHit3D * > Point
Definitions used by the VoronoiDiagram algorithm.
Definition: DCEL.h:42
tracking::Point_t Point_t
Definition: Track.h:52
TCEvent evt
Definition: DataStructs.cxx:8
void fill_ptr_vector(std::vector< Ptr< T >> &ptrs, H const &h)
Definition: Ptr.h:306
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)
void lbne::PhotonCounterT0Matching::TrackProp ( double  TrackStart_X,
double  TrackEnd_X,
double &  TrackLength_X,
double &  TrackCentre_X,
double  TrackStart_Y,
double  TrackEnd_Y,
double &  TrackLength_Y,
double &  TrackCentre_Y,
double  TrackStart_Z,
double  TrackEnd_Z,
double &  TrackLength_Z,
double &  TrackCentre_Z,
double  trkTimeStart,
double  trkTimeEnd,
double &  trkTimeLengh,
double &  trkTimeCentre,
double &  TrackLength 
)
private

Calculate central values for track X, Y, Z and time, as well as lengths and overall track length.

Definition at line 475 of file PhotonCounterT0Matching_module.cc.

References TrackLength_X, TrackLength_Y, TrackLength_Z, trkTimeLengh, and trkTimeStart.

Referenced by produce().

492 {
494  TrackLength_X = fabs(TrackEnd_X - TrackStart_X);
495  if (TrackStart_X < TrackEnd_X)
496  TrackCentre_X = TrackStart_X + 0.5 * TrackLength_X;
497  else
498  TrackCentre_X = TrackStart_X - 0.5 * TrackLength_X;
499 
500  TrackLength_Y = fabs(TrackEnd_Y - TrackStart_Y);
501  if (TrackStart_Y < TrackEnd_Y)
502  TrackCentre_Y = TrackStart_Y + 0.5 * TrackLength_Y;
503  else
504  TrackCentre_Y = TrackStart_Y - 0.5 * TrackLength_Y;
505 
506  TrackLength_Z = fabs(TrackEnd_Z - TrackStart_Z);
507  if (TrackStart_Z < TrackEnd_Z)
508  TrackCentre_Z = TrackStart_Z + 0.5 * TrackLength_Z;
509  else
510  TrackCentre_Z = TrackStart_Z - 0.5 * TrackLength_Z;
511 
513  trkTimeCentre = trkTimeStart + 0.5 * trkTimeLengh;
514 
515  TrackLength = pow(pow((TrackEnd_X - TrackStart_X), 2) + pow((TrackEnd_Y - TrackStart_Y), 2) +
516  pow((TrackEnd_Z - TrackStart_Z), 2),
517  0.5);
518 
519  return;
520 }

Member Data Documentation

double lbne::PhotonCounterT0Matching::BestDeltaPredX
private

Definition at line 135 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

double lbne::PhotonCounterT0Matching::BestFitParam
private

Definition at line 137 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

int lbne::PhotonCounterT0Matching::BestFlash
private

Definition at line 140 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

double lbne::PhotonCounterT0Matching::BestFlashTime
private

Definition at line 138 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

double lbne::PhotonCounterT0Matching::BestminYZSep
private

Definition at line 136 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

double lbne::PhotonCounterT0Matching::BestPredictedX
private

Definition at line 133 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

double lbne::PhotonCounterT0Matching::BestTimeSep
private

Definition at line 139 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

double lbne::PhotonCounterT0Matching::BestTimeSepPredX
private

Definition at line 134 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

double lbne::PhotonCounterT0Matching::BestTrackCentre_X
private

Definition at line 126 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

double lbne::PhotonCounterT0Matching::BestTrackLength
private

Definition at line 132 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

double lbne::PhotonCounterT0Matching::BesttrkTimeCentre
private

Definition at line 131 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

double lbne::PhotonCounterT0Matching::DeltaPredX
private

Definition at line 135 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

double lbne::PhotonCounterT0Matching::fDriftWindowSize
private

Definition at line 119 of file PhotonCounterT0Matching_module.cc.

Referenced by PhotonCounterT0Matching(), and produce().

std::string lbne::PhotonCounterT0Matching::fFlashModuleLabel
private

Definition at line 113 of file PhotonCounterT0Matching_module.cc.

Referenced by PhotonCounterT0Matching(), and produce().

std::string lbne::PhotonCounterT0Matching::fHitsModuleLabel
private

Definition at line 112 of file PhotonCounterT0Matching_module.cc.

Referenced by PhotonCounterT0Matching(), and produce().

double lbne::PhotonCounterT0Matching::FitParam
private

Definition at line 137 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

double lbne::PhotonCounterT0Matching::FlashTime
private

Definition at line 138 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

int lbne::PhotonCounterT0Matching::FlashTriggerType = 1
private

Definition at line 141 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

double lbne::PhotonCounterT0Matching::fMatchCriteria
private

Definition at line 121 of file PhotonCounterT0Matching_module.cc.

Referenced by PhotonCounterT0Matching(), and produce().

double lbne::PhotonCounterT0Matching::fPEThreshold
private

Definition at line 122 of file PhotonCounterT0Matching_module.cc.

Referenced by PhotonCounterT0Matching(), and produce().

double lbne::PhotonCounterT0Matching::fPredictedExpConstant
private

Definition at line 117 of file PhotonCounterT0Matching_module.cc.

Referenced by PhotonCounterT0Matching(), and produce().

double lbne::PhotonCounterT0Matching::fPredictedExpGradient
private

Definition at line 118 of file PhotonCounterT0Matching_module.cc.

Referenced by PhotonCounterT0Matching(), and produce().

double lbne::PhotonCounterT0Matching::fPredictedXConstant
private

Definition at line 115 of file PhotonCounterT0Matching_module.cc.

Referenced by PhotonCounterT0Matching(), and produce().

double lbne::PhotonCounterT0Matching::fPredictedXPower = 1
private

Definition at line 116 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

std::string lbne::PhotonCounterT0Matching::fShowerModuleLabel
private

Definition at line 111 of file PhotonCounterT0Matching_module.cc.

Referenced by PhotonCounterT0Matching(), and produce().

std::string lbne::PhotonCounterT0Matching::fTrackModuleLabel
private

Definition at line 110 of file PhotonCounterT0Matching_module.cc.

Referenced by PhotonCounterT0Matching(), and produce().

TTree* lbne::PhotonCounterT0Matching::fTree
private

Definition at line 145 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

std::string lbne::PhotonCounterT0Matching::fTruthT0ModuleLabel
private

Definition at line 114 of file PhotonCounterT0Matching_module.cc.

Referenced by PhotonCounterT0Matching(), and produce().

bool lbne::PhotonCounterT0Matching::fVerbosity
private

Definition at line 123 of file PhotonCounterT0Matching_module.cc.

Referenced by PhotonCounterT0Matching(), and produce().

double lbne::PhotonCounterT0Matching::fWeightOfDeltaYZ
private

Definition at line 120 of file PhotonCounterT0Matching_module.cc.

Referenced by PhotonCounterT0Matching(), and produce().

TH2D* lbne::PhotonCounterT0Matching::hdeltaX_deltaYZ
private

Definition at line 149 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

TH2D* lbne::PhotonCounterT0Matching::hdeltaYZ_Length
private

Definition at line 150 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

TH2D* lbne::PhotonCounterT0Matching::hFitParam_Length
private

Definition at line 151 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

TH2D* lbne::PhotonCounterT0Matching::hPhotonT0_MCT0
private

Definition at line 152 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

TH2D* lbne::PhotonCounterT0Matching::hPredX_PE
private

Definition at line 147 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

TH2D* lbne::PhotonCounterT0Matching::hPredX_T
private

Definition at line 146 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

TH2D* lbne::PhotonCounterT0Matching::hPredX_T_PE
private

Definition at line 148 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

TH1D* lbne::PhotonCounterT0Matching::hT0_diff_full
private

Definition at line 153 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

TH1D* lbne::PhotonCounterT0Matching::hT0_diff_zoom
private

Definition at line 154 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

double lbne::PhotonCounterT0Matching::MCTruthT0
private

Definition at line 143 of file PhotonCounterT0Matching_module.cc.

Referenced by beginJob(), and produce().

double lbne::PhotonCounterT0Matching::minYZSep
private

Definition at line 136 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

double lbne::PhotonCounterT0Matching::PredictedX
private

Definition at line 133 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

double lbne::PhotonCounterT0Matching::TimeSep
private

Definition at line 139 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

double lbne::PhotonCounterT0Matching::TimeSepPredX
private

Definition at line 134 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

double lbne::PhotonCounterT0Matching::TrackCentre_X
private

Definition at line 126 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

double lbne::PhotonCounterT0Matching::TrackCentre_Y
private

Definition at line 127 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

double lbne::PhotonCounterT0Matching::TrackCentre_Z
private

Definition at line 128 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

double lbne::PhotonCounterT0Matching::TrackLength
private

Definition at line 132 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

double lbne::PhotonCounterT0Matching::TrackLength_X
private

Definition at line 126 of file PhotonCounterT0Matching_module.cc.

Referenced by produce(), and TrackProp().

double lbne::PhotonCounterT0Matching::TrackLength_Y
private

Definition at line 127 of file PhotonCounterT0Matching_module.cc.

Referenced by produce(), and TrackProp().

double lbne::PhotonCounterT0Matching::TrackLength_Z
private

Definition at line 128 of file PhotonCounterT0Matching_module.cc.

Referenced by produce(), and TrackProp().

double lbne::PhotonCounterT0Matching::trkTimeCentre
private

Definition at line 131 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

double lbne::PhotonCounterT0Matching::trkTimeEnd
private

Definition at line 129 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().

double lbne::PhotonCounterT0Matching::trkTimeLengh
private

Definition at line 129 of file PhotonCounterT0Matching_module.cc.

Referenced by produce(), and TrackProp().

double lbne::PhotonCounterT0Matching::trkTimeStart
private

Definition at line 129 of file PhotonCounterT0Matching_module.cc.

Referenced by produce(), and TrackProp().

double lbne::PhotonCounterT0Matching::YZSep
private

Definition at line 143 of file PhotonCounterT0Matching_module.cc.

Referenced by produce().


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