9 #ifndef CHEAT_PHOTONBACKTRACKERSERVICESERVICE_H
10 #define CHEAT_PHOTONBACKTRACKERSERVICESERVICE_H
16 #include "art/Framework/Services/Registry/ServiceDeclarationMacros.h"
17 #include "art/Persistency/Provenance/ScheduleContext.h"
20 class ActivityRegistry;
24 #include "canvas/Persistency/Common/Ptr.h"
26 #include "fhiclcpp/types/Comment.h"
27 #include "fhiclcpp/types/Name.h"
28 #include "fhiclcpp/types/Table.h"
44 fhicl::Comment(
"This if the fhicl configuration of the PhotonBackTracker service provider.")
68 const std::vector< art::Ptr< sim::OpDetBacktrackerRecord >>&
OpDetBTRs() ;
72 art::Ptr< sim::OpDetBacktrackerRecord >
FindOpDetBTR(
int const& opDetNum);
74 double const& opHit_start_time,
double const& opHit_end_time);
75 std::vector<sim::TrackSDP>
OpHitToTrackSDPs(art::Ptr<recob::OpHit>
const& opHit_P );
78 const std::vector < int >
OpHitToTrackIds(art::Ptr<recob::OpHit>
const& opHit_P);
84 const std::vector<std::vector<art::Ptr<recob::OpHit>>>
TrackIdsToOpHits_Ps(std::vector<int>
const& tkIds,
std::vector<art::Ptr<recob::OpHit>>
const& hitsIn);
86 const std::vector< const sim::SDP* >
OpHitToSimSDPs_Ps(art::Ptr<recob::OpHit>
const& opHit_P) ;
89 const std::unordered_set< const sim::SDP* >
OpHitToEveSimSDPs_Ps(art::Ptr<recob::OpHit>& opHit_P) ;
90 const std::vector< double>
SimSDPsToXYZ(std::vector<sim::SDP>
const& sdps )
const& ;
91 const std::vector< double>
SimSDPsToXYZ(std::vector<const sim::SDP*>
const& sdps_Ps);
93 const std::vector< double>
OpHitToXYZ(art::Ptr<recob::OpHit>
const& opHit_P);
97 const std::set< int>
GetSetOfEveIds(
const std::vector< recob::OpHit >& opHits);
99 const std::set< int>
GetSetOfTrackIds(std::vector< recob::OpHit >
const& opHits);
101 std::vector< art::Ptr<recob::OpHit> >
const& opHits_Ps);
103 std::vector< art::Ptr<recob::OpHit> >
const& opHits_Ps);
105 std::vector< art::Ptr<recob::OpHit> >
const& opHits_Ps,
106 std::vector< art::Ptr<recob::OpHit> >
const& opHitsIn_Ps,
109 std::vector< art::Ptr<recob::OpHit> >
const& opHits_Ps,
110 std::vector< art::Ptr<recob::OpHit> >
const& opHitsIn_Ps);
112 std::vector< art::Ptr<recob::OpHit> >
const& opHits_Ps,
113 std::vector< art::Ptr<recob::OpHit> >
const& opHitsIn_Ps,
116 std::vector< art::Ptr<recob::OpHit> >
const& opHits_Ps,
117 std::vector< art::Ptr<recob::OpHit> >
const& opHitsIn_Ps);
119 std::vector< art::Ptr<recob::OpHit> >
const& opHits_Ps,
122 const std::vector < art::Ptr< recob::OpHit> >
OpFlashToOpHits_Ps ( art::Ptr < recob::OpFlash > & flash_P );
123 const std::vector < double >
OpFlashToXYZ ( art::Ptr < recob::OpFlash > & flash_P );
147 #endif //CHEAT_PHOTONBACKTRACKERSERVICESERVICE_H
const std::set< int > GetSetOfEveIds()
art::Ptr< sim::OpDetBacktrackerRecord > FindOpDetBTR(int const &opDetNum)
const std::vector< art::Ptr< recob::OpHit > > OpFlashToOpHits_Ps(art::Ptr< recob::OpFlash > &flash_P)
const double OpHitLightCollectionPurity(std::set< int > const &tkIds, std::vector< art::Ptr< recob::OpHit > > const &opHits_Ps)
const std::vector< const sim::SDP * > OpHitToSimSDPs_Ps(recob::OpHit const &opHit)
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
const std::unordered_set< const sim::SDP * > OpHitToEveSimSDPs_Ps(recob::OpHit const &opHit)
const std::vector< double > SimSDPsToXYZ(std::vector< sim::SDP > const &sdps) const &
const std::vector< art::Ptr< recob::OpHit > > TrackIdToOpHits_Ps(int const &tkId, std::vector< art::Ptr< recob::OpHit >> const &hitsIn)
const std::vector< int > OpHitToEveTrackIds(recob::OpHit const &opHit)
bool priv_CanRun(art::Event const &evt)
const std::vector< std::vector< art::Ptr< recob::OpHit > > > TrackIdsToOpHits_Ps(std::vector< int > const &tkIds, std::vector< art::Ptr< recob::OpHit >> const &hitsIn)
const double OpHitCollectionPurity(std::set< int > const &tkIds, std::vector< art::Ptr< recob::OpHit > > const &opHits_Ps)
void priv_PrepOpDetBTRs(art::Event const &evt)
const std::vector< double > OpHitToXYZ(recob::OpHit const &opHit)
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
const std::vector< art::Ptr< sim::OpDetBacktrackerRecord > > & OpDetBTRs()
const double OpHitChargeCollectionEfficiency(std::set< int > const &tkIds, std::vector< art::Ptr< recob::OpHit > > const &opHits_Ps, std::vector< art::Ptr< recob::OpHit > > const &opHitsIn_Ps)
bool priv_OpFlashToOpHitsReady()
void Rebuild(art::Event const &evt)
const double OpHitLightCollectionEfficiency(std::set< int > const &tkIds, std::vector< art::Ptr< recob::OpHit > > const &opHits, std::vector< art::Ptr< recob::OpHit > > const &opHitsIn)
std::vector< sim::TrackSDP > OpHitToTrackSDPs(art::Ptr< recob::OpHit > const &opHit_P)
BEGIN_PROLOG vertical distance to the surface Name
back track the reconstruction to the simulation
const std::vector< const sim::SDP * > TrackIdToSimSDPs_Ps(int const &id)
Definition of data types for geometry description.
const provider_type * provider() const
fhicl::Table< PhotonBackTracker::fhiclConfig > PhotonBackTrackerTable
const std::vector< sim::TrackSDP > OpDetToTrackSDPs(int const &OpDetNum, double const &opHit_start_time, double const &opHit_end_time)
const double OpHitLightCollectionEfficiency(std::set< int > const &tkIds, std::vector< art::Ptr< recob::OpHit > > const &opHits_Ps, std::vector< art::Ptr< recob::OpHit > > const &opHitsIn_Ps, geo::View_t const &view)
const std::vector< double > OpFlashToXYZ(art::Ptr< recob::OpFlash > &flash_P)
const double OpHitCollectionEfficiency(std::set< int > const &tkIds, std::vector< art::Ptr< recob::OpHit > > const &opHits_Ps, std::vector< art::Ptr< recob::OpHit > > const &opHitsIn_Ps, geo::View_t const &view)
PhotonBackTracker(fhicl::ParameterSet const &pset, art::ActivityRegistry ®)
PhotonBackTrackerService(fhicl::ParameterSet const &pSet, art::ActivityRegistry ®)
bool priv_OpDetBTRsReady()
void priv_PrepEvent(art::Event const &evt, art::ScheduleContext)
const std::vector< int > OpHitToTrackIds(recob::OpHit const &opHit)
const std::set< int > OpFlashToTrackIds(art::Ptr< recob::OpFlash > &flash_P) const
std::vector< sim::TrackSDP > OpHitToEveTrackSDPs(art::Ptr< recob::OpHit > const &opHit_P)
const std::set< int > GetSetOfTrackIds()
const bool OpFlashToOpHitsReady()
void priv_PrepOpFlashToOpHits(art::Event const &evt)