8 #ifndef CHEAT_PHOTONBACKTRACKERER_H
9 #define CHEAT_PHOTONBACKTRACKERER_H
11 #define DEPRECATED __attribute__((deprecated))
20 #include "fhiclcpp/ParameterSet.h"
21 #include "art/Framework/Principal/Run.h"
22 #include "art/Framework/Services/Registry/ActivityRegistry.h"
23 #include "art/Framework/Services/Registry/ServiceHandle.h"
26 #include "nusimdata/SimulationBase/MCParticle.h"
27 #include "nug4/ParticleNavigation/ParticleList.h"
29 #include "nug4/ParticleNavigation/EveIdCalculator.h"
30 #include "nusimdata/SimulationBase/MCTruth.h"
45 class PhotonBackTracker
51 art::ActivityRegistry& reg);
80 std::vector<const simb::MCParticle*>
MCTruthToParticles(art::Ptr<simb::MCTruth>
const& mct)
const;
91 std::vector<int>
const& tkIDs);
96 std::vector<sim::TrackSDP>
OpHitToEveID(art::Ptr<recob::OpHit>
const&
hit);
101 std::vector<sim::SDP>& sdps)
const;
103 std::vector<sim::SDP>& sdps)
const
106 std::vector<sim::SDP>& sdps)
const
109 std::vector<sim::SDP>& sdps)
const
114 std::vector<double>
SimSDPsToXYZ(std::vector<sim::SDP>
const& sdps);
117 std::vector<double>
OpHitToXYZ(art::Ptr<recob::OpHit>
const&
hit);
129 std::vector< art::Ptr<recob::OpHit> >
const& hits);
135 std::vector< art::Ptr<recob::OpHit> >
const& allhits);
138 std::vector< art::Ptr<recob::OpHit> >
const& allhits,
143 std::vector< art::Ptr<recob::OpHit> >
const& hits);
149 std::vector< art::Ptr<recob::OpHit> >
const& allhits);
152 std::vector< art::Ptr<recob::OpHit> >
const& allhits,
171 const double hit_start_time,
172 const double hit_end_time);
201 #endif // CHEAT_PHOTONBACKTRACKER_H
const simb::MCParticle * TrackIDToParticle(int const &id) const
const void shouldThisFail() const
std::vector< const simb::MCParticle * > MCTruthToParticles(art::Ptr< simb::MCTruth > const &mct) const
DEPRECATED void OpHitToSimSDPs(recob::OpHit const &hit, std::vector< sim::SDP > &sdps) const
std::vector< double > OpHitToXYZ(art::Ptr< recob::OpHit > const &hit)
void SetEveIdCalculator(sim::EveIdCalculator *ec)
std::map< int, int > fTrackIDToMCTruthIndex
map of track ids to MCTruthList entry
Container of LAr voxel information.
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
std::vector< sim::SDP > TrackIDToSimSDP(int const &id) const
std::vector< double > SimSDPsToXYZ(std::vector< sim::SDP > const &sdps)
double OpHitCollectionPurity(std::set< int > trackIDs, std::vector< art::Ptr< recob::OpHit > > const &hits)
const art::Ptr< simb::MCTruth > & ParticleToMCTruth(const simb::MCParticle *p) const
std::string fG4ModuleLabel
label for geant4 module
double OpHitChargeCollectionEfficiency(std::set< int > trackIDs, std::vector< art::Ptr< recob::OpHit > > const &hits, std::vector< art::Ptr< recob::OpHit > > const &allhits)
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
Access the description of detector geometry.
void OpHitToSDPs(recob::OpHit const &hit, std::vector< sim::SDP > &sdps) const
void reconfigure(fhicl::ParameterSet const &pset)
DEPRECATED void OpHitToSimSDPs(art::Ptr< recob::OpHit > const &hit, std::vector< sim::SDP > &sdps) const
std::vector< sim::TrackSDP > OpHitToEveSDPs(art::Ptr< recob::OpHit > const &hit)
void ChannelToTrackSDPs(std::vector< sim::TrackSDP > &trackSDPs, int channel, const double hit_start_time, const double hit_end_time)
double OpHitCollectionEfficiency(std::set< int > trackIDs, std::vector< art::Ptr< recob::OpHit > > const &hits, std::vector< art::Ptr< recob::OpHit > > const &allhits)
const simb::MCParticle * TrackIDToMotherParticle(int const &id) const
Description of geometry of one entire detector.
void Rebuild(const art::Event &evt)
Definition of data types for geometry description.
std::set< int > GetSetOfTrackIDs()
void OpHitToSDPs(art::Ptr< recob::OpHit > const &hit, std::vector< sim::SDP > &sdps) const
const sim::ParticleList & ParticleList() const
std::vector< sim::TrackSDP > OpHitToTrackSDPs(art::Ptr< recob::OpHit > const &hit)
std::vector< sim::TrackSDP > OpHitToEveID(art::Ptr< recob::OpHit > const &hit)
PhotonBackTracker(fhicl::ParameterSet const &pset, art::ActivityRegistry ®)
const art::Ptr< sim::OpDetBacktrackerRecord > FindOpDetBacktrackerRecord(int channel) const
geo::GeometryCore const * geom
double fMinOpHitEnergyFraction
minimum fraction of energy a track id has to
const std::vector< art::Ptr< simb::MCTruth > > & MCTruthVector() const
std::vector< art::Ptr< sim::OpDetBacktrackerRecord > > cOpDetBacktrackerRecords
all the OpDetBacktrackerRecords for the event
std::vector< art::Ptr< simb::MCTruth > > fMCTruthList
all the MCTruths for the event
double OpHitChargeCollectionPurity(std::set< int > trackIDs, std::vector< art::Ptr< recob::OpHit > > const &hits)
const std::vector< art::Ptr< sim::OpDetBacktrackerRecord > > & OpDetBacktrackerRecords() const
const std::vector< std::vector< art::Ptr< recob::OpHit > > > TrackIDsToOpHits(std::vector< art::Ptr< recob::OpHit >> const &allhits, std::vector< int > const &tkIDs)
sim::ParticleList fParticleList
ParticleList to map track ID to sim::Particle.
art framework interface to geometry description
DEPRECATED std::vector< sim::TrackSDP > OpHitToTrackID(art::Ptr< recob::OpHit > const &hit)
const art::Ptr< simb::MCTruth > & TrackIDToMCTruth(int const &id) const
sim::LArVoxelList fVoxelList
std::set< int > GetSetOfEveIDs()