19 #include "art/Framework/Principal/Event.h"
20 #include "art/Framework/Services/Registry/ActivityRegistry.h"
21 #include "messagefacility/MessageLogger/MessageLogger.h"
22 #include "fhiclcpp/ParameterSet.h"
28 art::ActivityRegistry& reg)
84 throw cet::exception(
"BackTrackerService")
85 <<
"The called Prep Function failed. This is most likely due "
86 <<
"to a BackTracker function being used on a file that is real data.";
99 mf::LogWarning(
"BackTrackerService")
100 <<
"Rebuild failed to get the SimChannels. This is expected when running on a generation "
101 "or simulation step.";
124 const std::vector<art::Ptr<sim::SimChannel>>&
133 std::vector<const sim::IDE*>
142 std::vector<const sim::IDE*>
151 art::Ptr<sim::SimChannel>
160 std::vector<sim::TrackIDE>
163 const double hit_start_time,
164 const double hit_end_time)
const
172 std::vector<sim::TrackIDE>
182 std::vector<sim::TrackIDE>
184 art::Ptr<recob::Hit>
const&
hit)
const
202 std::vector<sim::TrackIDE>
212 std::vector<sim::TrackIDE>
214 art::Ptr<recob::Hit>
const&
hit)
const
222 std::vector<art::Ptr<recob::Hit>>
225 std::vector<art::Ptr<recob::Hit>>
const& hitsIn)
const
242 std::vector<std::vector<art::Ptr<recob::Hit>>>
244 std::vector<int>
const& tkIds,
245 std::vector<art::Ptr<recob::Hit>>
const& hitsIn)
const
253 std::vector<sim::IDE>
263 std::vector<sim::IDE>
265 art::Ptr<recob::Hit>
hit)
const
273 std::vector<const sim::IDE*>
283 std::vector<const sim::IDE*>
285 art::Ptr<recob::Hit>
const&
hit)
const
323 art::Ptr<recob::Hit>
const&
hit)
const
333 std::set<int>
const& trackIds,
334 std::vector<art::Ptr<recob::Hit>>
const& hits)
const
344 std::set<int>
const& trackIds,
345 std::vector<art::Ptr<recob::Hit>>
const& hits)
const
355 std::set<int>
const& trackIds,
369 std::set<int>
const& trackIds,
400 std::vector<art::Ptr<recob::Hit>>
const& hits)
const
410 std::vector<art::Ptr<recob::Hit>>
const& hits)
const
421 std::vector<art::Ptr<recob::Hit>>
const& hits)
const
428 std::vector<art::Ptr<recob::Hit>>
435 throw cet::exception(
"BackTrackerService")
436 <<
"This function is not yet implimented pending the implimentation of "
437 "backtracker lazy loading.";
445 art::Ptr<recob::SpacePoint>
const& spt)
const
449 throw cet::exception(
"BackTrackerService")
450 <<
"This function is not yet implimented pending the implimentation of "
451 "backtracker lazy loading.";
Utilities related to art service access.
void PrepSimChannels(const Evt &evt)
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< sim::TrackIDE > HitToTrackIDEs(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) 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
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
T::provider_type const * providerFrom()
Returns a constant pointer to the provider of specified service.
std::vector< art::Ptr< recob::Hit > > SpacePointToHits_Ps(art::Ptr< recob::SpacePoint > const &spt) const
double HitChargeCollectionPurity(detinfo::DetectorClocksData const &clockData, std::set< int > const &trackIds, std::vector< art::Ptr< recob::Hit >> const &hits) const
std::vector< sim::TrackIDE > HitToEveTrackIDEs(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
std::vector< double > SpacePointToXYZ(detinfo::DetectorClocksData const &clockData, art::Ptr< recob::SpacePoint > const &spt, const Evt &evt) 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
std::vector< const sim::IDE * > TrackIdToSimIDEs_Ps(int const &id) const
std::vector< double > HitToXYZ(detinfo::DetectorClocksData const &clockData, const recob::Hit &hit) const
std::vector< sim::TrackIDE > HitToTrackIDEs(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
std::vector< int > HitToTrackIds(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
std::vector< art::Ptr< recob::Hit > > SpacePointToHits_Ps(art::Ptr< recob::SpacePoint > const &spt, const Evt &evt) const
bool CanRun(const Evt &evt)
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
art::Ptr< sim::SimChannel > FindSimChannel(raw::ChannelID_t channel) const
void Rebuild(const art::Event &evt)
std::set< int > GetSetOfTrackIds() const
std::vector< double > HitToXYZ(detinfo::DetectorClocksData const &clockData, const recob::Hit &hit) const
BackTrackerService(const fhicl::ParameterSet &pSet, art::ActivityRegistry ®)
art::Ptr< sim::SimChannel > FindSimChannel(raw::ChannelID_t channel) const
Returns the cached sim::SimChannel on the specified channel.
double HitCollectionPurity(detinfo::DetectorClocksData const &clockData, std::set< int > const &trackIds, std::vector< art::Ptr< recob::Hit >> const &hits) const
std::vector< art::Ptr< recob::Hit > > TrackIdToHits_Ps(detinfo::DetectorClocksData const &clockData, int tkId, std::vector< art::Ptr< recob::Hit >> const &hitsIn) const
void priv_PrepSimChannels(const art::Event &evt)
std::set< int > GetSetOfTrackIds() const
double HitCollectionPurity(detinfo::DetectorClocksData const &clockData, std::set< int > const &trackIds, std::vector< art::Ptr< recob::Hit >> const &hits) 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
void priv_PrepEvent(const art::Event &evt, art::ScheduleContext)
const std::vector< art::Ptr< sim::SimChannel > > & SimChannels() const
std::set< int > GetSetOfEveIds() const
bool priv_CanRun(const art::Event &evt)
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::vector< sim::TrackIDE > ChannelToTrackIDEs(detinfo::DetectorClocksData const &clockData, raw::ChannelID_t channel, const double hit_start_time, const double hit_end_time) const
std::set< int > GetSetOfEveIds() const
double HitChargeCollectionPurity(detinfo::DetectorClocksData const &clockData, std::set< int > const &trackIds, std::vector< art::Ptr< recob::Hit >> const &hits) const
Contains all timing reference information for the detector.
std::vector< int > HitToTrackIds(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
std::vector< sim::IDE > HitToAvgSimIDEs(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
std::vector< double > SpacePointHitsToWeightedXYZ(detinfo::DetectorClocksData const &clockData, std::vector< art::Ptr< recob::Hit >> const &hits) const
std::vector< sim::TrackIDE > HitToEveTrackIDEs(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
bool priv_SimChannelsReady()
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
std::vector< const sim::IDE * > TrackIdToSimIDEs_Ps(int const &id) const
std::vector< double > SimIDEsToXYZ(std::vector< sim::IDE > const &ides) const
const std::vector< art::Ptr< sim::SimChannel > > & SimChannels() const
std::vector< const sim::IDE * > HitToSimIDEs_Ps(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
2D representation of charge deposited in the TDC/wire plane
unsigned int ChannelID_t
Type representing the ID of a readout channel.
std::vector< sim::IDE > HitToAvgSimIDEs(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
std::vector< double > SpacePointToXYZ(detinfo::DetectorClocksData const &clockData, art::Ptr< recob::SpacePoint > const &spt) const
std::vector< double > SimIDEsToXYZ(std::vector< sim::IDE > const &ides) 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
art framework interface to geometry description
std::vector< sim::TrackIDE > ChannelToTrackIDEs(detinfo::DetectorClocksData const &clockData, raw::ChannelID_t channel, const double hit_start_time, const double hit_end_time) const
std::vector< const sim::IDE * > HitToSimIDEs_Ps(detinfo::DetectorClocksData const &clockData, recob::Hit const &hit) const
std::vector< double > SpacePointHitsToWeightedXYZ(detinfo::DetectorClocksData const &clockData, std::vector< art::Ptr< recob::Hit >> const &hits) const