LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
cheat::BackTrackerService Class Reference

#include "BackTrackerService.h"

Inheritance diagram for cheat::BackTrackerService:
cheat::BackTracker

Classes

struct  fhiclConfig
 

Public Types

using provider_type = BackTracker
 

Public Member Functions

const provider_typeprovider () const
 
 BackTrackerService (const fhicl::ParameterSet &pSet, art::ActivityRegistry &reg)
 
 BackTrackerService (const fhiclConfig &config, art::ActivityRegistry &reg)
 
void Rebuild (const art::Event &evt)
 
const std::vector< art::Ptr< sim::SimChannel > > & SimChannels () const
 
std::vector< const sim::IDE * > TrackIdToSimIDEs_Ps (int const &id) const
 
std::vector< const sim::IDE * > TrackIdToSimIDEs_Ps (int const &id, const geo::View_t view) const
 
art::Ptr< sim::SimChannelFindSimChannel (raw::ChannelID_t channel) const
 
std::vector< sim::TrackIDEChannelToTrackIDEs (detinfo::DetectorClocksData const &clockData, raw::ChannelID_t channel, const double hit_start_time, const double hit_end_time) const
 
std::vector< sim::TrackIDEHitToTrackIDEs (detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
 
std::vector< sim::TrackIDEHitToTrackIDEs (detinfo::DetectorClocksData const &clockData, art::Ptr< recob::Hit > const &hit) const
 
std::vector< int > HitToTrackIds (detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
 
std::vector< sim::TrackIDEHitToEveTrackIDEs (detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
 
std::vector< sim::TrackIDEHitToEveTrackIDEs (detinfo::DetectorClocksData const &clockData, art::Ptr< recob::Hit > const &hit) const
 
std::vector< art::Ptr< recob::Hit > > TrackIdToHits_Ps (detinfo::DetectorClocksData const &clockData, int tkId, std::vector< art::Ptr< recob::Hit >> const &hitsIn) const
 
std::vector< std::vector< art::Ptr< recob::Hit > > > TrackIdsToHits_Ps (detinfo::DetectorClocksData const &clockData, std::vector< int > const &tkIds, std::vector< art::Ptr< recob::Hit >> const &hitsIn) const
 
std::vector< sim::IDEHitToAvgSimIDEs (detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
 
std::vector< sim::IDEHitToAvgSimIDEs (detinfo::DetectorClocksData const &clockData, art::Ptr< recob::Hit > hit) const
 
std::vector< const sim::IDE * > HitToSimIDEs_Ps (detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
 
std::vector< const sim::IDE * > HitToSimIDEs_Ps (detinfo::DetectorClocksData const &clockData, art::Ptr< recob::Hit > const &hit) const
 
std::vector< double > SimIDEsToXYZ (std::vector< sim::IDE > const &ides) const
 
std::vector< double > SimIDEsToXYZ (std::vector< const sim::IDE * > const &ide_Ps) const
 
std::vector< double > HitToXYZ (detinfo::DetectorClocksData const &clockData, const recob::Hit &hit) const
 
std::vector< double > HitToXYZ (detinfo::DetectorClocksData const &clockData, art::Ptr< recob::Hit > const &hit) const
 
double HitCollectionPurity (detinfo::DetectorClocksData const &clockData, std::set< int > const &trackIds, std::vector< art::Ptr< recob::Hit >> const &hits) const
 
double HitChargeCollectionPurity (detinfo::DetectorClocksData const &clockData, std::set< int > const &trackIds, std::vector< art::Ptr< recob::Hit >> const &hits) const
 
double HitCollectionEfficiency (detinfo::DetectorClocksData const &clockData, std::set< int > const &trackIds, std::vector< art::Ptr< recob::Hit >> const &hits, std::vector< art::Ptr< recob::Hit >> const &allhits, geo::View_t const &view) const
 
double HitChargeCollectionEfficiency (detinfo::DetectorClocksData const &clockData, std::set< int > const &trackIds, std::vector< art::Ptr< recob::Hit >> const &hits, std::vector< art::Ptr< recob::Hit >> const &allhits, geo::View_t const &view) const
 
std::set< int > GetSetOfTrackIds () const
 
std::set< int > GetSetOfEveIds () const
 
std::set< int > GetSetOfTrackIds (detinfo::DetectorClocksData const &clockData, std::vector< art::Ptr< recob::Hit >> const &hits) const
 
std::set< int > GetSetOfEveIds (detinfo::DetectorClocksData const &clockData, std::vector< art::Ptr< recob::Hit >> const &hits) const
 
std::vector< double > SpacePointHitsToWeightedXYZ (detinfo::DetectorClocksData const &clockData, std::vector< art::Ptr< recob::Hit >> const &hits) const
 
std::vector< art::Ptr< recob::Hit > > SpacePointToHits_Ps (art::Ptr< recob::SpacePoint > const &spt) const
 
std::vector< double > SpacePointToXYZ (detinfo::DetectorClocksData const &clockData, art::Ptr< recob::SpacePoint > const &spt) const
 

Private Member Functions

void priv_PrepEvent (const art::Event &evt, art::ScheduleContext)
 
void priv_PrepSimChannels (const art::Event &evt)
 
void priv_PrepFailed ()
 
bool priv_CanRun (const art::Event &evt)
 
bool priv_SimChannelsReady ()
 
template<typename Evt >
void PrepEvent (const Evt &evt)
 
template<typename Evt >
void PrepSimChannels (const Evt &evt)
 
template<typename Evt >
bool CanRun (const Evt &evt)
 
template<typename Evt >
std::vector< art::Ptr< recob::Hit > > SpacePointToHits_Ps (art::Ptr< recob::SpacePoint > const &spt, const Evt &evt) const
 
template<typename Evt >
std::vector< double > SpacePointToXYZ (detinfo::DetectorClocksData const &clockData, art::Ptr< recob::SpacePoint > const &spt, const Evt &evt) const
 
void ClearEvent ()
 
bool SimChannelsReady () const
 
art::Ptr< sim::SimChannelFindSimChannelPtr (raw::ChannelID_t channel) const
 Returns the cached sim::SimChannel on the specified channel. More...
 
std::vector< sim::IDEHitToAvgSimIDEs (detinfo::DetectorClocksData const &clockData, art::Ptr< recob::Hit > const &hit) const
 

Private Attributes

const art::EventfEvt = nullptr
 

Detailed Description

Definition at line 45 of file BackTrackerService.h.

Member Typedef Documentation

Constructor & Destructor Documentation

cheat::BackTrackerService::BackTrackerService ( const fhicl::ParameterSet pSet,
art::ActivityRegistry reg 
)

Definition at line 27 of file BackTrackerService.cc.

References priv_PrepEvent(), and art::ActivityRegistry::sPreProcessEvent.

29  : BackTracker(pSet.get<fhicl::ParameterSet>("BackTracker"),
30  lar::providerFrom<cheat::ParticleInventoryService>(),
31  lar::providerFrom<geo::Geometry>(),
33  {
35  }
T get(std::string const &key) const
Definition: ParameterSet.h:314
void priv_PrepEvent(const art::Event &evt, art::ScheduleContext)
GlobalSignal< detail::SignalResponseType::FIFO, void(Event const &, ScheduleContext)> sPreProcessEvent
BackTracker(const fhiclConfig &config, const cheat::ParticleInventory *partInv, geo::GeometryCore const *geom, geo::WireReadoutGeom const *wireReadoutGeom)
Definition: BackTracker.cc:27
cheat::BackTrackerService::BackTrackerService ( const fhiclConfig config,
art::ActivityRegistry reg 
)

Definition at line 38 of file BackTrackerService.cc.

References priv_PrepEvent(), and art::ActivityRegistry::sPreProcessEvent.

39  : BackTracker(config.BackTrackerTable(),
40  lar::providerFrom<cheat::ParticleInventoryService>(),
41  lar::providerFrom<geo::Geometry>(),
43  {
44  // This line is only to be included until art/LArSoft discussion about lazy rebuild
45  // can be completed.
47  }
cout<< "Opened file "<< fin<< " ixs= "<< ixs<< endl;if(ixs==0) hhh=(TH1F *) fff-> Get("h1")
Definition: AddMC.C:8
void priv_PrepEvent(const art::Event &evt, art::ScheduleContext)
GlobalSignal< detail::SignalResponseType::FIFO, void(Event const &, ScheduleContext)> sPreProcessEvent
BackTracker(const fhiclConfig &config, const cheat::ParticleInventory *partInv, geo::GeometryCore const *geom, geo::WireReadoutGeom const *wireReadoutGeom)
Definition: BackTracker.cc:27

Member Function Documentation

template<typename Evt >
bool cheat::BackTracker::CanRun ( const Evt &  evt)
inlineinherited

Definition at line 90 of file BackTracker.h.

References tca::evt.

Referenced by priv_CanRun().

91  {
92  return !evt.isRealData() || fOverrideRealData;
93  }
const bool fOverrideRealData
Definition: BackTracker.h:241
TCEvent evt
Definition: DataStructs.cxx:8
std::vector< sim::TrackIDE > cheat::BackTrackerService::ChannelToTrackIDEs ( detinfo::DetectorClocksData const &  clockData,
raw::ChannelID_t  channel,
const double  hit_start_time,
const double  hit_end_time 
) const

Definition at line 129 of file BackTrackerService.cc.

References cheat::BackTracker::ChannelToTrackIDEs().

Referenced by tca::GetOrigin().

134  {
135  return BackTracker::ChannelToTrackIDEs(clockData, channel, hit_start_time, hit_end_time);
136  }
std::vector< sim::TrackIDE > ChannelToTrackIDEs(detinfo::DetectorClocksData const &clockData, raw::ChannelID_t channel, const double hit_start_time, const double hit_end_time) const
Definition: BackTracker.cc:126
void cheat::BackTracker::ClearEvent ( )
inherited

Definition at line 58 of file BackTracker.cc.

References cheat::BackTracker::fSimChannels.

Referenced by priv_PrepEvent().

59  {
60  fSimChannels.clear();
61  // fAllHitList.clear();
62  }
std::vector< art::Ptr< sim::SimChannel > > fSimChannels
Definition: BackTracker.h:244
art::Ptr< sim::SimChannel > cheat::BackTrackerService::FindSimChannel ( raw::ChannelID_t  channel) const

Definition at line 123 of file BackTrackerService.cc.

References cheat::BackTracker::FindSimChannel().

124  {
125  return BackTracker::FindSimChannel(channel);
126  }
art::Ptr< sim::SimChannel > FindSimChannel(raw::ChannelID_t channel) const
Returns the cached sim::SimChannel on the specified channel.
Definition: BackTracker.cc:118
art::Ptr< sim::SimChannel > cheat::BackTracker::FindSimChannelPtr ( raw::ChannelID_t  channel) const
inherited

Returns the cached sim::SimChannel on the specified channel.

Parameters
channelID of the TPC channel to find
Returns
art pointer to sim::SimChannel, or an null pointer if none
See also
FindSimChannel()

Definition at line 104 of file BackTracker.cc.

References cheat::BackTracker::fSimChannels.

Referenced by cheat::BackTracker::ChannelToTrackIDEs(), and cheat::BackTracker::FindSimChannel().

105  {
106  auto ilb = std::lower_bound(fSimChannels.begin(),
107  fSimChannels.end(),
108  channel,
109  [](art::Ptr<sim::SimChannel> const& a, raw::ChannelID_t channel) {
110  return (a->Channel() < channel);
111  });
112  return ((ilb != fSimChannels.end()) && ((*ilb)->Channel() == channel)) ?
113  *ilb :
115  }
std::vector< art::Ptr< sim::SimChannel > > fSimChannels
Definition: BackTracker.h:244
unsigned int ChannelID_t
Type representing the ID of a readout channel.
Definition: RawTypes.h:28
std::set< int > cheat::BackTrackerService::GetSetOfEveIds ( ) const

Definition at line 301 of file BackTrackerService.cc.

References cheat::BackTracker::GetSetOfEveIds().

302  {
304  }
std::set< int > GetSetOfEveIds() const
Definition: BackTracker.h:222
std::set< int > cheat::BackTrackerService::GetSetOfEveIds ( detinfo::DetectorClocksData const &  clockData,
std::vector< art::Ptr< recob::Hit >> const &  hits 
) const

Definition at line 315 of file BackTrackerService.cc.

References cheat::BackTracker::GetSetOfEveIds(), and hits().

318  {
319  return BackTracker::GetSetOfEveIds(clockData, hits);
320  }
std::set< int > GetSetOfEveIds() const
Definition: BackTracker.h:222
std::set< int > cheat::BackTrackerService::GetSetOfTrackIds ( ) const

Definition at line 295 of file BackTrackerService.cc.

References cheat::BackTracker::GetSetOfTrackIds().

Referenced by cheat::RecoCheckAna::CheckReco(), and cheat::RecoCheckAna::FillResults().

296  {
298  }
std::set< int > GetSetOfTrackIds() const
Definition: BackTracker.h:221
std::set< int > cheat::BackTrackerService::GetSetOfTrackIds ( detinfo::DetectorClocksData const &  clockData,
std::vector< art::Ptr< recob::Hit >> const &  hits 
) const

Definition at line 307 of file BackTrackerService.cc.

References cheat::BackTracker::GetSetOfTrackIds(), and hits().

310  {
311  return BackTracker::GetSetOfTrackIds(clockData, hits);
312  }
std::set< int > GetSetOfTrackIds() const
Definition: BackTracker.h:221
double cheat::BackTrackerService::HitChargeCollectionEfficiency ( detinfo::DetectorClocksData const &  clockData,
std::set< int > const &  trackIds,
std::vector< art::Ptr< recob::Hit >> const &  hits,
std::vector< art::Ptr< recob::Hit >> const &  allhits,
geo::View_t const &  view 
) const

Definition at line 284 of file BackTrackerService.cc.

References cheat::BackTracker::HitChargeCollectionEfficiency(), and hits().

290  {
291  return BackTracker::HitChargeCollectionEfficiency(clockData, trackIds, hits, allhits, view);
292  }
double HitChargeCollectionEfficiency(detinfo::DetectorClocksData const &clockData, std::set< int > const &trackIds, std::vector< art::Ptr< recob::Hit >> const &hits, std::vector< art::Ptr< recob::Hit >> const &allhits, geo::View_t const &view) const
Definition: BackTracker.cc:483
double cheat::BackTrackerService::HitChargeCollectionPurity ( detinfo::DetectorClocksData const &  clockData,
std::set< int > const &  trackIds,
std::vector< art::Ptr< recob::Hit >> const &  hits 
) const

Definition at line 264 of file BackTrackerService.cc.

References cheat::BackTracker::HitChargeCollectionPurity(), and hits().

268  {
269  return BackTracker::HitChargeCollectionPurity(clockData, trackIds, hits);
270  }
double HitChargeCollectionPurity(detinfo::DetectorClocksData const &clockData, std::set< int > const &trackIds, std::vector< art::Ptr< recob::Hit >> const &hits) const
Definition: BackTracker.cc:425
double cheat::BackTrackerService::HitCollectionEfficiency ( detinfo::DetectorClocksData const &  clockData,
std::set< int > const &  trackIds,
std::vector< art::Ptr< recob::Hit >> const &  hits,
std::vector< art::Ptr< recob::Hit >> const &  allhits,
geo::View_t const &  view 
) const

Definition at line 273 of file BackTrackerService.cc.

References cheat::BackTracker::HitCollectionEfficiency(), and hits().

Referenced by cheat::CheckBackTracking::analyze(), trkf::TrackAna::analyze(), cheat::RecoCheckAna::CheckReco(), cheat::RecoCheckAna::CheckRecoEvents(), and cheat::RecoCheckAna::CheckRecoVertices().

279  {
280  return BackTracker::HitCollectionEfficiency(clockData, trackIds, hits, allhits, view);
281  }
double HitCollectionEfficiency(detinfo::DetectorClocksData const &clockData, std::set< int > const &trackIds, std::vector< art::Ptr< recob::Hit >> const &hits, std::vector< art::Ptr< recob::Hit >> const &allhits, geo::View_t const &view) const
Definition: BackTracker.cc:445
double cheat::BackTrackerService::HitCollectionPurity ( detinfo::DetectorClocksData const &  clockData,
std::set< int > const &  trackIds,
std::vector< art::Ptr< recob::Hit >> const &  hits 
) const

Definition at line 255 of file BackTrackerService.cc.

References cheat::BackTracker::HitCollectionPurity(), and hits().

Referenced by cheat::CheckBackTracking::analyze(), trkf::TrackAna::analyze(), cheat::RecoCheckAna::CheckReco(), cheat::RecoCheckAna::CheckRecoEvents(), and cheat::RecoCheckAna::CheckRecoVertices().

259  {
260  return BackTracker::HitCollectionPurity(clockData, trackIds, hits);
261  }
double HitCollectionPurity(detinfo::DetectorClocksData const &clockData, std::set< int > const &trackIds, std::vector< art::Ptr< recob::Hit >> const &hits) const
Definition: BackTracker.cc:406
std::vector< sim::IDE > cheat::BackTrackerService::HitToAvgSimIDEs ( detinfo::DetectorClocksData const &  clockData,
recob::Hit const &  hit 
) const

Definition at line 196 of file BackTrackerService.cc.

References cheat::BackTracker::HitToAvgSimIDEs().

Referenced by trkf::SpacePointAlg::makeSpacePoints().

199  {
200  return BackTracker::HitToAvgSimIDEs(clockData, hit);
201  }
Detector simulation of raw signals on wires.
std::vector< sim::IDE > HitToAvgSimIDEs(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
Definition: BackTracker.cc:301
std::vector< sim::IDE > cheat::BackTrackerService::HitToAvgSimIDEs ( detinfo::DetectorClocksData const &  clockData,
art::Ptr< recob::Hit hit 
) const

Definition at line 204 of file BackTrackerService.cc.

References cheat::BackTracker::HitToAvgSimIDEs().

207  {
208  return BackTracker::HitToAvgSimIDEs(clockData, hit);
209  }
std::vector< sim::IDE > HitToAvgSimIDEs(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
Definition: BackTracker.cc:301
std::vector<sim::IDE> cheat::BackTracker::HitToAvgSimIDEs ( detinfo::DetectorClocksData const &  clockData,
art::Ptr< recob::Hit > const &  hit 
) const
inlineinherited

Definition at line 177 of file BackTracker.h.

179  {
180  return HitToAvgSimIDEs(clockData, *hit);
181  }
std::vector< sim::IDE > HitToAvgSimIDEs(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
Definition: BackTracker.cc:301
std::vector< sim::TrackIDE > cheat::BackTrackerService::HitToEveTrackIDEs ( detinfo::DetectorClocksData const &  clockData,
recob::Hit const &  hit 
) const

Definition at line 162 of file BackTrackerService.cc.

References cheat::BackTracker::HitToEveTrackIDEs().

Referenced by cheat::CheckBackTracking::analyze(), cluster::DBclusterAna::analyze(), DUNE::NeutrinoShowerEff::checkCNNtrkshw(), cluster::ClusterCheater::produce(), shower::TCShowerTemplateMaker::showerProfileTrue(), shower::TCShowerAnalysis::truthMatcher(), and DUNE::NeutrinoShowerEff::truthMatcher().

165  {
166  return BackTracker::HitToEveTrackIDEs(clockData, hit);
167  }
std::vector< sim::TrackIDE > HitToEveTrackIDEs(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
Definition: BackTracker.cc:194
Detector simulation of raw signals on wires.
std::vector< sim::TrackIDE > cheat::BackTrackerService::HitToEveTrackIDEs ( detinfo::DetectorClocksData const &  clockData,
art::Ptr< recob::Hit > const &  hit 
) const

Definition at line 170 of file BackTrackerService.cc.

References cheat::BackTracker::HitToEveTrackIDEs().

173  {
174  return BackTracker::HitToEveTrackIDEs(clockData, hit);
175  }
std::vector< sim::TrackIDE > HitToEveTrackIDEs(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
Definition: BackTracker.cc:194
std::vector< const sim::IDE * > cheat::BackTrackerService::HitToSimIDEs_Ps ( detinfo::DetectorClocksData const &  clockData,
recob::Hit const &  hit 
) const

Definition at line 212 of file BackTrackerService.cc.

References cheat::BackTracker::HitToSimIDEs_Ps().

Referenced by hit::DisambigCheater::InitHitToWids().

215  {
216  return BackTracker::HitToSimIDEs_Ps(clockData, hit);
217  }
Detector simulation of raw signals on wires.
std::vector< const sim::IDE * > HitToSimIDEs_Ps(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
Definition: BackTracker.cc:313
std::vector< const sim::IDE * > cheat::BackTrackerService::HitToSimIDEs_Ps ( detinfo::DetectorClocksData const &  clockData,
art::Ptr< recob::Hit > const &  hit 
) const

Definition at line 220 of file BackTrackerService.cc.

References cheat::BackTracker::HitToSimIDEs_Ps().

223  {
224  return BackTracker::HitToSimIDEs_Ps(clockData, hit);
225  }
std::vector< const sim::IDE * > HitToSimIDEs_Ps(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
Definition: BackTracker.cc:313
std::vector< sim::TrackIDE > cheat::BackTrackerService::HitToTrackIDEs ( detinfo::DetectorClocksData const &  clockData,
art::Ptr< recob::Hit > const &  hit 
) const

Definition at line 147 of file BackTrackerService.cc.

References cheat::BackTracker::HitToTrackIDEs().

150  {
151  return BackTracker::HitToTrackIDEs(clockData, hit);
152  }
std::vector< sim::TrackIDE > HitToTrackIDEs(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
Definition: BackTracker.cc:172
std::vector< int > cheat::BackTrackerService::HitToTrackIds ( detinfo::DetectorClocksData const &  clockData,
recob::Hit const &  hit 
) const

Definition at line 155 of file BackTrackerService.cc.

References cheat::BackTracker::HitToTrackIds().

157  {
158  return BackTracker::HitToTrackIds(clockData, hit);
159  }
Detector simulation of raw signals on wires.
std::vector< int > HitToTrackIds(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
Definition: BackTracker.cc:182
std::vector< double > cheat::BackTrackerService::HitToXYZ ( detinfo::DetectorClocksData const &  clockData,
const recob::Hit hit 
) const
std::vector< double > cheat::BackTrackerService::HitToXYZ ( detinfo::DetectorClocksData const &  clockData,
art::Ptr< recob::Hit > const &  hit 
) const

Definition at line 248 of file BackTrackerService.cc.

References HitToXYZ().

250  {
251  return HitToXYZ(clockData, *hit);
252  }
std::vector< double > HitToXYZ(detinfo::DetectorClocksData const &clockData, const recob::Hit &hit) const
template<typename Evt >
void cheat::BackTracker::PrepEvent ( const Evt &  evt)
inherited
template<typename Evt >
void cheat::BackTracker::PrepSimChannels ( const Evt &  evt)
inherited

Referenced by priv_PrepSimChannels().

bool cheat::BackTrackerService::priv_CanRun ( const art::Event evt)
private

Definition at line 71 of file BackTrackerService.cc.

References cheat::BackTracker::CanRun().

Referenced by priv_PrepEvent(), and priv_PrepSimChannels().

72  {
73  return BackTracker::CanRun(evt);
74  }
bool CanRun(const Evt &evt)
Definition: BackTracker.h:90
void cheat::BackTrackerService::priv_PrepEvent ( const art::Event evt,
art::ScheduleContext   
)
private

Definition at line 60 of file BackTrackerService.cc.

References cheat::BackTracker::ClearEvent(), tca::evt, fEvt, priv_CanRun(), and priv_PrepSimChannels().

Referenced by BackTrackerService(), and Rebuild().

61  {
62  fEvt = &evt;
64  if (!this->priv_CanRun(evt)) { return; }
65  this->priv_PrepSimChannels(evt);
66  fEvt = nullptr; // don't save the pointer because it will be useless after this
67  // anyways. I want to make sure calls at the wrong time crash.
68  }
void priv_PrepSimChannels(const art::Event &evt)
bool priv_CanRun(const art::Event &evt)
TCEvent evt
Definition: DataStructs.cxx:8
void cheat::BackTrackerService::priv_PrepFailed ( )
private

Definition at line 77 of file BackTrackerService.cc.

Referenced by priv_PrepSimChannels().

78  {
79  throw cet::exception("BackTrackerService")
80  << "The called Prep Function failed. This is most likely due "
81  << "to a BackTracker function being used on a file that is real data.";
82  }
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
void cheat::BackTrackerService::priv_PrepSimChannels ( const art::Event evt)
private

Definition at line 85 of file BackTrackerService.cc.

References cheat::BackTracker::PrepSimChannels(), priv_CanRun(), priv_PrepFailed(), and priv_SimChannelsReady().

Referenced by priv_PrepEvent().

86  {
87  if (!this->priv_CanRun(evt)) { this->priv_PrepFailed(); }
88  if (this->priv_SimChannelsReady()) { return; }
89  try {
91  }
92  catch (...) {
93  mf::LogWarning("BackTrackerService")
94  << "Rebuild failed to get the SimChannels. This is expected when running on a generation "
95  "or simulation step.";
96  }
97  }
void PrepSimChannels(const Evt &evt)
bool priv_CanRun(const art::Event &evt)
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
bool cheat::BackTrackerService::priv_SimChannelsReady ( )
inlineprivate

Definition at line 163 of file BackTrackerService.h.

References DECLARE_ART_SERVICE.

Referenced by priv_PrepSimChannels().

163 { return BackTracker::SimChannelsReady(); }
bool SimChannelsReady() const
Definition: BackTracker.h:109
const provider_type* cheat::BackTrackerService::provider ( ) const
inline

Definition at line 54 of file BackTrackerService.h.

References tca::evt, hits(), and lar::dump::vector().

54 { return static_cast<provider_type const*>(this); }
void cheat::BackTrackerService::Rebuild ( const art::Event evt)

Definition at line 54 of file BackTrackerService.cc.

References art::ScheduleContext::invalid(), and priv_PrepEvent().

Referenced by cheat::BackTrackerLoader::produce().

55  {
57  }
void priv_PrepEvent(const art::Event &evt, art::ScheduleContext)
static ScheduleContext invalid()
const std::vector< art::Ptr< sim::SimChannel > > & cheat::BackTrackerService::SimChannels ( ) const

Definition at line 104 of file BackTrackerService.cc.

References cheat::BackTracker::SimChannels().

105  {
106  return BackTracker::SimChannels();
107  }
const std::vector< art::Ptr< sim::SimChannel > > & SimChannels() const
Definition: BackTracker.h:111
bool cheat::BackTracker::SimChannelsReady ( ) const
inlineinherited

Definition at line 109 of file BackTracker.h.

109 { return !fSimChannels.empty(); }
std::vector< art::Ptr< sim::SimChannel > > fSimChannels
Definition: BackTracker.h:244
std::vector< double > cheat::BackTrackerService::SimIDEsToXYZ ( std::vector< sim::IDE > const &  ides) const

Definition at line 228 of file BackTrackerService.cc.

References cheat::BackTracker::SimIDEsToXYZ().

Referenced by hit::DisambigCheater::InitHitToWids(), and trkf::SpacePointAlg::makeSpacePoints().

229  {
230  return BackTracker::SimIDEsToXYZ(ides);
231  }
std::vector< double > SimIDEsToXYZ(std::vector< sim::IDE > const &ides) const
Definition: BackTracker.cc:368
std::vector< double > cheat::BackTrackerService::SimIDEsToXYZ ( std::vector< const sim::IDE * > const &  ide_Ps) const

Definition at line 234 of file BackTrackerService.cc.

References cheat::BackTracker::SimIDEsToXYZ().

236  {
237  return BackTracker::SimIDEsToXYZ(ide_Ps);
238  }
std::vector< double > SimIDEsToXYZ(std::vector< sim::IDE > const &ides) const
Definition: BackTracker.cc:368
std::vector< double > cheat::BackTrackerService::SpacePointHitsToWeightedXYZ ( detinfo::DetectorClocksData const &  clockData,
std::vector< art::Ptr< recob::Hit >> const &  hits 
) const

Definition at line 323 of file BackTrackerService.cc.

References hits(), and cheat::BackTracker::SpacePointHitsToWeightedXYZ().

Referenced by trkf::SpacePointAna::analyze().

326  {
327  return BackTracker::SpacePointHitsToWeightedXYZ(clockData, hits);
328  }
std::vector< double > SpacePointHitsToWeightedXYZ(detinfo::DetectorClocksData const &clockData, std::vector< art::Ptr< recob::Hit >> const &hits) const
Definition: BackTracker.cc:551
template<typename Evt >
std::vector<art::Ptr<recob::Hit> > cheat::BackTracker::SpacePointToHits_Ps ( art::Ptr< recob::SpacePoint > const &  spt,
const Evt &  evt 
) const
inherited

Referenced by SpacePointToHits_Ps().

std::vector< art::Ptr< recob::Hit > > cheat::BackTrackerService::SpacePointToHits_Ps ( art::Ptr< recob::SpacePoint > const &  spt) const

Definition at line 331 of file BackTrackerService.cc.

References fEvt, and cheat::BackTracker::SpacePointToHits_Ps().

333  {
334  // Note, this function is goofy in that it doesn't use the hits prepared by
335  // the module. That should likely be changed to make things more uniform.
336  if (!fEvt) {
337  throw cet::exception("BackTrackerService")
338  << "This function is not yet implimented pending the implimentation of "
339  "backtracker lazy loading.";
340  }
342  }
std::vector< art::Ptr< recob::Hit > > SpacePointToHits_Ps(art::Ptr< recob::SpacePoint > const &spt, const Evt &evt) const
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
template<typename Evt >
std::vector<double> cheat::BackTracker::SpacePointToXYZ ( detinfo::DetectorClocksData const &  clockData,
art::Ptr< recob::SpacePoint > const &  spt,
const Evt &  evt 
) const
inherited

Referenced by SpacePointToXYZ().

std::vector< double > cheat::BackTrackerService::SpacePointToXYZ ( detinfo::DetectorClocksData const &  clockData,
art::Ptr< recob::SpacePoint > const &  spt 
) const

Definition at line 345 of file BackTrackerService.cc.

References fEvt, and cheat::BackTracker::SpacePointToXYZ().

348  {
349  // if( !this->priv_CanRun(*fEvt)) { this->priv_PrepFailed(); }
350  if (!fEvt) {
351  throw cet::exception("BackTrackerService")
352  << "This function is not yet implimented pending the implimentation of "
353  "backtracker lazy loading.";
354  }
355  return BackTracker::SpacePointToXYZ(clockData, spt, *fEvt);
356  }
std::vector< double > SpacePointToXYZ(detinfo::DetectorClocksData const &clockData, art::Ptr< recob::SpacePoint > const &spt, const Evt &evt) const
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
std::vector< std::vector< art::Ptr< recob::Hit > > > cheat::BackTrackerService::TrackIdsToHits_Ps ( detinfo::DetectorClocksData const &  clockData,
std::vector< int > const &  tkIds,
std::vector< art::Ptr< recob::Hit >> const &  hitsIn 
) const

Definition at line 187 of file BackTrackerService.cc.

References cheat::BackTracker::TrackIdsToHits_Ps().

Referenced by cluster::ClusterAna::analyze(), and pfpf::PFPAna::analyze().

191  {
192  return BackTracker::TrackIdsToHits_Ps(clockData, tkIds, hitsIn);
193  }
std::vector< std::vector< art::Ptr< recob::Hit > > > TrackIdsToHits_Ps(detinfo::DetectorClocksData const &clockData, std::vector< int > const &tkIds, std::vector< art::Ptr< recob::Hit >> const &hitsIn) const
Definition: BackTracker.cc:256
std::vector< art::Ptr< recob::Hit > > cheat::BackTrackerService::TrackIdToHits_Ps ( detinfo::DetectorClocksData const &  clockData,
int  tkId,
std::vector< art::Ptr< recob::Hit >> const &  hitsIn 
) const

Definition at line 178 of file BackTrackerService.cc.

References cheat::BackTracker::TrackIdToHits_Ps().

182  {
183  return BackTracker::TrackIdToHits_Ps(clockData, tkId, hitsIn);
184  }
std::vector< art::Ptr< recob::Hit > > TrackIdToHits_Ps(detinfo::DetectorClocksData const &clockData, int tkId, std::vector< art::Ptr< recob::Hit >> const &hitsIn) const
Definition: BackTracker.cc:226
std::vector< const sim::IDE * > cheat::BackTrackerService::TrackIdToSimIDEs_Ps ( int const &  id) const

Definition at line 110 of file BackTrackerService.cc.

References cheat::BackTracker::TrackIdToSimIDEs_Ps().

Referenced by cheat::RecoCheckAna::FillResults(), lcvn::AssignLabels::GetNeutralDaughterHitsRecursive(), and lcvn::AssignLabels::GetTopology().

111  {
113  }
std::vector< const sim::IDE * > TrackIdToSimIDEs_Ps(int const &id) const
Definition: BackTracker.cc:65
std::vector< const sim::IDE * > cheat::BackTrackerService::TrackIdToSimIDEs_Ps ( int const &  id,
const geo::View_t  view 
) const

Definition at line 116 of file BackTrackerService.cc.

References cheat::BackTracker::TrackIdToSimIDEs_Ps().

118  {
119  return BackTracker::TrackIdToSimIDEs_Ps(id, view);
120  }
std::vector< const sim::IDE * > TrackIdToSimIDEs_Ps(int const &id) const
Definition: BackTracker.cc:65

Member Data Documentation

const art::Event* cheat::BackTrackerService::fEvt = nullptr
private

Definition at line 153 of file BackTrackerService.h.

Referenced by priv_PrepEvent(), SpacePointToHits_Ps(), and SpacePointToXYZ().


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