11 #ifndef CHEAT_BACKTRACKER_H 12 #define CHEAT_BACKTRACKER_H 27 class DetectorClocksData;
41 fhicl::Comment(
"The label of the LArG4 module used to produce the " 42 "art file we will be using."),
46 fhicl::Comment(
"The label of the module containing the sim::SimChannel product."),
51 fhicl::Comment(
"The label of the module used to produce the hits in the art file " 52 "we will default to when no hitlist is provided."),
57 "make to a Hit to be considered part of that hit."),
61 fhicl::Comment(
"Option when overlaying simulation on real data, to tell the " 62 "backtracker to continue even if event looks like data."),
66 "From a Hit peak time for searching IDE."),
82 template <
typename Evt>
83 void PrepEvent(
const Evt&
evt);
85 template <
typename Evt>
86 void PrepSimChannels(
const Evt&
evt);
89 template <
typename Evt>
92 return !evt.isRealData() || fOverrideRealData;
96 template <
typename Evt>
98 const Evt&
evt)
const;
101 template <
typename Evt>
104 const Evt& evt)
const;
111 const std::vector<art::Ptr<sim::SimChannel>>&
SimChannels()
const {
return fSimChannels; }
117 std::vector<const sim::IDE*> TrackIdToSimIDEs_Ps(
int const&
id)
const;
118 std::vector<const sim::IDE*> TrackIdToSimIDEs_Ps(
int const&
id,
const geo::View_t view)
const;
140 const double hit_start_time,
141 const double hit_end_time)
const;
150 return HitToTrackIDEs(clockData, *hit);
161 return HitToEveTrackIDEs(clockData, *hit);
165 std::vector<art::Ptr<recob::Hit>> TrackIdToHits_Ps(
170 std::vector<std::vector<art::Ptr<recob::Hit>>> TrackIdsToHits_Ps(
172 std::vector<int>
const& tkIds,
180 return HitToAvgSimIDEs(clockData, *hit);
188 return HitToSimIDEs_Ps(clockData, *hit);
191 std::vector<double> SimIDEsToXYZ(std::vector<sim::IDE>
const& ides)
const;
192 std::vector<double> SimIDEsToXYZ(std::vector<const sim::IDE*>
const& ide_Ps)
const;
199 return HitToXYZ(clockData, *hit);
203 std::set<int>
const& trackIds,
206 std::set<int>
const& trackIds,
210 std::set<int>
const& trackIds,
216 std::set<int>
const& trackIds,
229 std::vector<double> SpacePointHitsToWeightedXYZ(
252 #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.
const geo::WireReadoutGeom * fWireReadoutGeom
bool SimChannelsReady() const
Interface for a class providing readout channel mapping to geometry.
std::set< int > GetSetOfTrackIds() const
const cheat::ParticleInventory * fPartInv
General LArSoft Utilities.
Description of the physical 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