11 #ifndef CHEAT_BACKTRACKER_H 12 #define CHEAT_BACKTRACKER_H 28 class DetectorClocksData;
45 fhicl::Comment(
"The label of the LArG4 module used to produce the " 46 "art file we will be using."),
50 fhicl::Comment(
"The label of the module containing the sim::SimChannel product."),
55 fhicl::Comment(
"The label of the module used to produce the hits in the art file " 56 "we will default to when no hitlist is provided."),
61 "make to a Hit to be considered part of that hit."),
65 fhicl::Comment(
"Option when overlaying simulation on real data, to tell the " 66 "backtracker to continue even if event looks like data."),
70 "from a Hit peak time for searching IDE."),
84 template <
typename Evt>
85 void PrepEvent(
const Evt&
evt);
87 template <
typename Evt>
88 void PrepSimChannels(
const Evt&
evt);
91 template <
typename Evt>
94 return !evt.isRealData() || fOverrideRealData;
98 template <
typename Evt>
100 const Evt&
evt)
const;
103 template <
typename Evt>
106 const Evt& evt)
const;
113 const std::vector<art::Ptr<sim::SimChannel>>&
SimChannels()
const {
return fSimChannels; }
120 std::vector<const sim::IDE*> TrackIdToSimIDEs_Ps(
int const&
id)
const;
121 std::vector<const sim::IDE*> TrackIdToSimIDEs_Ps(
int const&
id,
const geo::View_t view)
const;
143 const double hit_start_time,
144 const double hit_end_time)
const;
153 return this->HitToTrackIDEs(clockData, *hit);
166 return this->HitToEveTrackIDEs(clockData, *hit);
171 std::vector<art::Ptr<recob::Hit>> TrackIdToHits_Ps(
176 std::vector<std::vector<art::Ptr<recob::Hit>>> TrackIdsToHits_Ps(
178 std::vector<int>
const& tkIds,
186 return this->HitToAvgSimIDEs(clockData, *hit);
194 return this->HitToSimIDEs_Ps(clockData, *hit);
197 std::vector<double> SimIDEsToXYZ(std::vector<sim::IDE>
const& ides)
const;
198 std::vector<double> SimIDEsToXYZ(std::vector<const sim::IDE*>
const& ide_Ps)
const;
205 return this->HitToXYZ(clockData, *hit);
209 std::set<int>
const& trackIds,
212 std::set<int>
const& trackIds,
216 std::set<int>
const& trackIds,
222 std::set<int>
const& trackIds,
235 std::vector<double> SpacePointHitsToWeightedXYZ(
257 #endif // CHEAT_BACKTRACKER_H
const art::InputTag fHitLabel
const geo::GeometryCore * fGeom
Reconstruction base classes.
std::vector< art::Ptr< sim::SimChannel > > fSimChannels
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
Declaration of signal hit object.
const art::InputTag fSimChannelModuleLabel
const double fMinHitEnergyFraction
std::vector< double > HitToXYZ(detinfo::DetectorClocksData const &clockData, art::Ptr< recob::Hit > const &hit) const
std::vector< sim::TrackIDE > HitToTrackIDEs(detinfo::DetectorClocksData const &clockData, art::Ptr< recob::Hit > const &hit) const
bool CanRun(const Evt &evt)
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
bool SimChannelsReady() const
std::set< int > GetSetOfTrackIds() const
const cheat::ParticleInventory * fPartInv
General LArSoft Utilities.
Description of geometry of one entire detector.
std::vector< sim::TrackIDE > HitToEveTrackIDEs(detinfo::DetectorClocksData const &clockData, art::Ptr< recob::Hit > const &hit) const
Definition of data types for geometry description.
Detector simulation of raw signals on wires.
const std::vector< art::Ptr< sim::SimChannel > > & SimChannels() const
std::set< int > GetSetOfEveIds() const
std::vector< const sim::IDE * > HitToSimIDEs_Ps(detinfo::DetectorClocksData const &clockData, art::Ptr< recob::Hit > const &hit) const
code to link reconstructed objects back to the MC truth information
const bool fOverrideRealData
Contains all timing reference information for the detector.
object containing MC truth information necessary for making RawDigits and doing back tracking ...
Header for the ParticleInvenotry Service Provider.
const art::InputTag fG4ModuleLabel
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, art::Ptr< recob::Hit > const &hit) const
Namespace collecting geometry-related classes utilities.