1 #ifndef LArPandoraShowerAlg_hxx
2 #define LArPandoraShowerAlg_hxx
7 class DetectorClocksData;
8 class DetectorPropertiesData;
21 #include "art_root_io/TFileService.h"
22 namespace art {
class Event; }
23 #include "art/Framework/Services/Registry/ServiceHandle.h"
24 #include "canvas/Persistency/Common/FindManyP.h"
25 #include "canvas/Persistency/Common/Ptr.h"
26 #include "canvas/Utilities/InputTag.h"
44 TVector3
const& ShowerDirection,
45 TVector3
const& ShowerPosition)
const;
49 TVector3
const& direction)
const;
52 TVector3
const& vertex,
53 TVector3
const& direction)
const;
56 TVector3
const& vertex)
const;
62 std::vector<art::Ptr<recob::SpacePoint>>
const& showersps,
63 art::FindManyP<recob::Hit>
const& fmh,
64 float& totalCharge)
const;
68 std::vector<art::Ptr<recob::SpacePoint>>
const& showerspcs,
69 art::FindManyP<recob::Hit>
const& fmh)
const;
74 art::Ptr<recob::SpacePoint>
const& sp_b)
const;
77 art::FindManyP<recob::Hit>
const& fmh)
const;
80 art::FindManyP<recob::Hit>
const& fmh)
const;
83 art::Ptr<recob::Hit>
const&
hit)
const;
86 TVector3
const& vertex,
87 TVector3
const& direction)
const;
90 TVector3
const& vertex,
91 TVector3
const& direction)
const;
94 TVector3
const& vertex,
95 TVector3
const& direction,
99 const TVector3& ShowerCentre,
100 const TVector3& Direction,
101 const unsigned int nSegments)
const;
103 double CalculateRMS(
const std::vector<float>& perps)
const;
109 unsigned int const&
TPC)
const;
113 unsigned int const& TPC)
const;
118 void DebugEVD(art::Ptr<recob::PFParticle>
const& pfparticle,
119 art::Event
const& Event,
121 std::string
const& evd_disp_name_append =
"")
const;
129 art::ServiceHandle<geo::Geometry const>
fGeom;
130 art::ServiceHandle<art::TFileService>
tfs;
void OrderShowerSpacePointsPerpendicular(std::vector< art::Ptr< recob::SpacePoint >> &showersps, TVector3 const &vertex, TVector3 const &direction) const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
double SCECorrectPitch(double const &pitch, TVector3 const &pos, TVector3 const &dir, unsigned int const &TPC) const
double DistanceBetweenSpacePoints(art::Ptr< recob::SpacePoint > const &sp_a, art::Ptr< recob::SpacePoint > const &sp_b) const
void DebugEVD(art::Ptr< recob::PFParticle > const &pfparticle, art::Event const &Event, const reco::shower::ShowerElementHolder &ShowerEleHolder, std::string const &evd_disp_name_append="") const
double CalculateRMS(const std::vector< float > &perps) const
void OrderShowerSpacePoints(std::vector< art::Ptr< recob::SpacePoint >> &showersps, TVector3 const &vertex, TVector3 const &direction) const
art::InputTag fPFParticleLabel
art::ServiceHandle< geo::Geometry const > fGeom
const std::string fInitialTrackInputLabel
double RMSShowerGradient(std::vector< art::Ptr< recob::SpacePoint >> &sps, const TVector3 &ShowerCentre, const TVector3 &Direction, const unsigned int nSegments) const
double SpacePointTime(art::Ptr< recob::SpacePoint > const &sp, art::FindManyP< recob::Hit > const &fmh) const
double SCECorrectEField(double const &EField, TVector3 const &pos) const
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
LArPandoraShowerAlg(const fhicl::ParameterSet &pset)
const std::string fInitialTrackSpacePointsInputLabel
const std::string fShowerDirectionInputLabel
double SpacePointProjection(art::Ptr< recob::SpacePoint > const &sp, TVector3 const &vertex, TVector3 const &direction) const
const std::string fShowerStartPositionInputLabel
double SpacePointCharge(art::Ptr< recob::SpacePoint > const &sp, art::FindManyP< recob::Hit > const &fmh) const
art::ServiceHandle< art::TFileService > tfs
Contains all timing reference information for the detector.
TVector2 HitCoordinates(detinfo::DetectorPropertiesData const &detProp, art::Ptr< recob::Hit > const &hit) const
TVector3 ShowerCentre(std::vector< art::Ptr< recob::SpacePoint >> const &showersps) const
double SpacePointPerpendicular(art::Ptr< recob::SpacePoint > const &sp, TVector3 const &vertex, TVector3 const &direction) const
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
spacecharge::SpaceCharge const * fSCE
art framework interface to geometry description
TVector3 SpacePointPosition(art::Ptr< recob::SpacePoint > const &sp) const
void OrderShowerHits(detinfo::DetectorPropertiesData const &detProp, std::vector< art::Ptr< recob::Hit >> &hits, TVector3 const &ShowerDirection, TVector3 const &ShowerPosition) const