LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "LArPandoraShowerAlg.h"
Public Member Functions | |
LArPandoraShowerAlg (const fhicl::ParameterSet &pset) | |
void | OrderShowerHits (detinfo::DetectorPropertiesData const &detProp, std::vector< art::Ptr< recob::Hit >> &hits, geo::Point_t const &ShowerPosition, geo::Vector_t const &ShowerDirection) const |
void | OrderShowerSpacePointsPerpendicular (std::vector< art::Ptr< recob::SpacePoint >> &showersps, geo::Point_t const &vertex, geo::Vector_t const &direction) const |
void | OrderShowerSpacePoints (std::vector< art::Ptr< recob::SpacePoint >> &showersps, geo::Point_t const &vertex, geo::Vector_t const &direction) const |
void | OrderShowerSpacePoints (std::vector< art::Ptr< recob::SpacePoint >> &showersps, geo::Point_t const &vertex) const |
geo::Point_t | ShowerCentre (std::vector< art::Ptr< recob::SpacePoint >> const &showersps) const |
geo::Point_t | ShowerCentre (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, std::vector< art::Ptr< recob::SpacePoint >> const &showersps, art::FindManyP< recob::Hit > const &fmh, float &totalCharge) const |
geo::Point_t | ShowerCentre (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, std::vector< art::Ptr< recob::SpacePoint >> const &showerspcs, art::FindManyP< recob::Hit > const &fmh) const |
double | DistanceBetweenSpacePoints (art::Ptr< recob::SpacePoint > const &sp_a, art::Ptr< recob::SpacePoint > const &sp_b) const |
double | SpacePointCharge (art::Ptr< recob::SpacePoint > const &sp, art::FindManyP< recob::Hit > const &fmh) const |
double | SpacePointTime (art::Ptr< recob::SpacePoint > const &sp, art::FindManyP< recob::Hit > const &fmh) const |
TVector2 | HitCoordinates (detinfo::DetectorPropertiesData const &detProp, art::Ptr< recob::Hit > const &hit) const |
double | SpacePointProjection (art::Ptr< recob::SpacePoint > const &sp, geo::Point_t const &vertex, geo::Vector_t const &direction) const |
double | SpacePointPerpendicular (art::Ptr< recob::SpacePoint > const &sp, geo::Point_t const &vertex, geo::Vector_t const &direction) const |
double | SpacePointPerpendicular (art::Ptr< recob::SpacePoint > const &sp, geo::Point_t const &vertex, geo::Vector_t const &direction, double proj) const |
double | RMSShowerGradient (std::vector< art::Ptr< recob::SpacePoint >> &sps, const geo::Point_t &ShowerCentre, const geo::Vector_t &Direction, const unsigned int nSegments) const |
double | CalculateRMS (const std::vector< float > &perps) const |
double | SCECorrectPitch (double const &pitch, geo::Point_t const &pos, geo::Vector_t const &dir, unsigned int const &TPC) const |
double | SCECorrectEField (double const &EField, geo::Point_t const &pos) const |
std::map< art::Ptr< recob::Hit >, std::vector< art::Ptr< recob::Hit > > > | OrganizeHits (const std::vector< art::Ptr< recob::Hit >> &hits) 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 |
Private Attributes | |
bool | fUseCollectionOnly |
art::InputTag | fPFParticleLabel |
bool | fSCEXFlip |
spacecharge::SpaceCharge const * | fSCE |
art::ServiceHandle< geo::Geometry const > | fGeom |
art::ServiceHandle< art::TFileService > | tfs |
const std::string | fInitialTrackInputLabel |
const std::string | fShowerStartPositionInputLabel |
const std::string | fShowerDirectionInputLabel |
const std::string | fInitialTrackSpacePointsInputLabel |
Definition at line 40 of file LArPandoraShowerAlg.h.
|
explicit |
Definition at line 25 of file LArPandoraShowerAlg.cxx.
double shower::LArPandoraShowerAlg::CalculateRMS | ( | const std::vector< float > & | perps | ) | const |
Definition at line 467 of file LArPandoraShowerAlg.cxx.
References sum.
Referenced by RMSShowerGradient().
void shower::LArPandoraShowerAlg::DebugEVD | ( | art::Ptr< recob::PFParticle > const & | pfparticle, |
art::Event const & | Event, | ||
const reco::shower::ShowerElementHolder & | ShowerEleHolder, | ||
std::string const & | evd_disp_name_append = "" |
||
) | const |
Definition at line 602 of file LArPandoraShowerAlg.cxx.
References util::abs(), reco::shower::ShowerElementHolder::CheckElement(), art::Event::event(), art::fill_ptr_vector(), fInitialTrackInputLabel, fInitialTrackSpacePointsInputLabel, recob::Track::FlagsAtPoint(), fPFParticleLabel, fShowerDirectionInputLabel, fShowerStartPositionInputLabel, reco::shower::ShowerElementHolder::GetElement(), art::ProductRetriever::getValidHandle(), art::Ptr< T >::key(), recob::Track::LocationAtPoint(), recob::TrajectoryPointFlagTraits::NoPoint, recob::Track::NumberTrajectoryPoints(), proj, art::Event::run(), recob::PFParticle::Self(), SpacePointProjection(), art::Event::subRun(), tfs, x, x_max, x_min, y, and z.
double shower::LArPandoraShowerAlg::DistanceBetweenSpacePoints | ( | art::Ptr< recob::SpacePoint > const & | sp_a, |
art::Ptr< recob::SpacePoint > const & | sp_b | ||
) | const |
Definition at line 310 of file LArPandoraShowerAlg.cxx.
References recob::SpacePoint::position().
Referenced by ShowerRecoTools::ShowerIncrementalTrackHitFinder::PruneFrontOfSPSPool(), and ShowerRecoTools::ShowerIncrementalTrackHitFinder::PruneTrack().
TVector2 shower::LArPandoraShowerAlg::HitCoordinates | ( | detinfo::DetectorPropertiesData const & | detProp, |
art::Ptr< recob::Hit > const & | hit | ||
) | const |
Definition at line 351 of file LArPandoraShowerAlg.cxx.
References geo::PlaneID::asPlaneID(), detinfo::DetectorPropertiesData::ConvertTicksToX(), fGeom, recob::Hit::PeakTime(), geo::WireID::Wire, recob::Hit::WireID(), and geo::GeometryCore::WirePitch().
Referenced by ShowerRecoTools::Shower2DLinearRegressionTrackHitFinder::FindInitialTrackHits(), and OrderShowerHits().
void shower::LArPandoraShowerAlg::OrderShowerHits | ( | detinfo::DetectorPropertiesData const & | detProp, |
std::vector< art::Ptr< recob::Hit >> & | hits, | ||
geo::Point_t const & | ShowerPosition, | ||
geo::Vector_t const & | ShowerDirection | ||
) | const |
Definition at line 39 of file LArPandoraShowerAlg.cxx.
References util::abs(), geo::PlaneID::asPlaneID(), fGeom, geo::PlaneGeo::GetIncreasingWireDirection(), HitCoordinates(), hits(), geo::GeometryCore::Plane(), geo::WireID::planeID(), geo::GeometryCore::WireCoordinate(), recob::Hit::WireID(), and geo::GeometryCore::WirePitch().
Referenced by ShowerRecoTools::Shower2DLinearRegressionTrackHitFinder::CalculateElement().
void shower::LArPandoraShowerAlg::OrderShowerSpacePoints | ( | std::vector< art::Ptr< recob::SpacePoint >> & | showersps, |
geo::Point_t const & | vertex, | ||
geo::Vector_t const & | direction | ||
) | const |
Definition at line 142 of file LArPandoraShowerAlg.cxx.
References SpacePointProjection().
Referenced by ShowerRecoTools::ShowerLengthPercentile::CalculateElement(), ShowerRecoTools::Shower3DCylinderTrackHitFinder::CalculateElement(), ShowerRecoTools::ShowerPFPVertexStartPosition::CalculateElement(), ShowerRecoTools::ShowerIncrementalTrackHitFinder::CalculateElement(), RMSShowerGradient(), and ShowerRecoTools::ShowerIncrementalTrackHitFinder::RunTestOfIncrementalSpacePointFinder().
void shower::LArPandoraShowerAlg::OrderShowerSpacePoints | ( | std::vector< art::Ptr< recob::SpacePoint >> & | showersps, |
geo::Point_t const & | vertex | ||
) | const |
Definition at line 167 of file LArPandoraShowerAlg.cxx.
void shower::LArPandoraShowerAlg::OrderShowerSpacePointsPerpendicular | ( | std::vector< art::Ptr< recob::SpacePoint >> & | showersps, |
geo::Point_t const & | vertex, | ||
geo::Vector_t const & | direction | ||
) | const |
Definition at line 115 of file LArPandoraShowerAlg.cxx.
References SpacePointPerpendicular().
Referenced by ShowerRecoTools::ShowerLengthPercentile::CalculateElement().
std::map< art::Ptr< recob::Hit >, std::vector< art::Ptr< recob::Hit > > > shower::LArPandoraShowerAlg::OrganizeHits | ( | const std::vector< art::Ptr< recob::Hit >> & | hits | ) | const |
Definition at line 529 of file LArPandoraShowerAlg.cxx.
References recob::Hit::EndTick(), hits(), recob::Hit::Integral(), util::details::operator==(), util::quantities::concepts::operator>(), recob::Hit::StartTick(), geo::WireID::Wire, and recob::Hit::WireID().
Referenced by ShowerRecoTools::ShowerUnidirectiondEdx::CalculateElement(), and ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement().
double shower::LArPandoraShowerAlg::RMSShowerGradient | ( | std::vector< art::Ptr< recob::SpacePoint >> & | sps, |
const geo::Point_t & | ShowerCentre, | ||
const geo::Vector_t & | Direction, | ||
const unsigned int | nSegments | ||
) | const |
Definition at line 400 of file LArPandoraShowerAlg.cxx.
References util::abs(), CalculateRMS(), util::counter(), OrderShowerSpacePoints(), ShowerCentre(), SpacePointPerpendicular(), and SpacePointProjection().
Referenced by ShowerRecoTools::ShowerDirectionCheater::CalculateElement(), and ShowerRecoTools::ShowerPCADirection::CalculateElement().
double shower::LArPandoraShowerAlg::SCECorrectEField | ( | double const & | EField, |
geo::Point_t const & | pos | ||
) | const |
Definition at line 509 of file LArPandoraShowerAlg.cxx.
References spacecharge::SpaceCharge::EnableSimEfieldSCE(), fSCE, and spacecharge::SpaceCharge::GetEfieldOffsets().
Referenced by ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement().
double shower::LArPandoraShowerAlg::SCECorrectPitch | ( | double const & | pitch, |
geo::Point_t const & | pos, | ||
geo::Vector_t const & | dir, | ||
unsigned int const & | TPC | ||
) | const |
Definition at line 480 of file LArPandoraShowerAlg.cxx.
References dir, spacecharge::SpaceCharge::EnableCalSpatialSCE(), fSCE, fSCEXFlip, spacecharge::SpaceCharge::GetCalPosOffsets(), and spacecharge::SpaceCharge::GetPosOffsets().
Referenced by ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement().
geo::Point_t shower::LArPandoraShowerAlg::ShowerCentre | ( | std::vector< art::Ptr< recob::SpacePoint >> const & | showersps | ) | const |
Definition at line 190 of file LArPandoraShowerAlg.cxx.
Referenced by ShowerRecoTools::ShowerPCAPropergationStartPosition::CalculateElement(), ShowerRecoTools::ShowerPFPVertexStartPosition::CalculateElement(), ShowerRecoTools::ShowerDirectionCheater::CalculateElement(), ShowerRecoTools::ShowerPCADirection::CalculateShowerPCA(), ShowerRecoTools::ShowerIncrementalTrackHitFinder::FitSegmentAndCalculateResidual(), RMSShowerGradient(), ShowerCentre(), and ShowerRecoTools::ShowerTrackPCADirection::ShowerPCAVector().
geo::Point_t shower::LArPandoraShowerAlg::ShowerCentre | ( | detinfo::DetectorClocksData const & | clockData, |
detinfo::DetectorPropertiesData const & | detProp, | ||
std::vector< art::Ptr< recob::SpacePoint >> const & | showersps, | ||
art::FindManyP< recob::Hit > const & | fmh, | ||
float & | totalCharge | ||
) | const |
Definition at line 221 of file LArPandoraShowerAlg.cxx.
References detinfo::DetectorPropertiesData::ElectronLifetime(), fUseCollectionOnly, hits(), geo::kCollection, pmtana::mean(), n, detinfo::sampling_rate(), x, y, and z.
geo::Point_t shower::LArPandoraShowerAlg::ShowerCentre | ( | detinfo::DetectorClocksData const & | clockData, |
detinfo::DetectorPropertiesData const & | detProp, | ||
std::vector< art::Ptr< recob::SpacePoint >> const & | showerspcs, | ||
art::FindManyP< recob::Hit > const & | fmh | ||
) | const |
Definition at line 209 of file LArPandoraShowerAlg.cxx.
References ShowerCentre().
double shower::LArPandoraShowerAlg::SpacePointCharge | ( | art::Ptr< recob::SpacePoint > const & | sp, |
art::FindManyP< recob::Hit > const & | fmh | ||
) | const |
Definition at line 318 of file LArPandoraShowerAlg.cxx.
References hits(), and art::Ptr< T >::key().
Referenced by ShowerRecoTools::ShowerPCADirection::CalculateShowerPCA(), ShowerRecoTools::ShowerTrackPCADirection::ShowerPCAVector(), and ShowerRecoTools::ShowerIncrementalTrackHitFinder::ShowerPCAVector().
double shower::LArPandoraShowerAlg::SpacePointPerpendicular | ( | art::Ptr< recob::SpacePoint > const & | sp, |
geo::Point_t const & | vertex, | ||
geo::Vector_t const & | direction | ||
) | const |
Definition at line 374 of file LArPandoraShowerAlg.cxx.
References proj, and SpacePointProjection().
Referenced by ShowerRecoTools::ShowerLengthPercentile::CalculateElement(), ShowerRecoTools::Shower3DCylinderTrackHitFinder::FindTrackSpacePoints(), OrderShowerSpacePointsPerpendicular(), and RMSShowerGradient().
double shower::LArPandoraShowerAlg::SpacePointPerpendicular | ( | art::Ptr< recob::SpacePoint > const & | sp, |
geo::Point_t const & | vertex, | ||
geo::Vector_t const & | direction, | ||
double | proj | ||
) | const |
Definition at line 384 of file LArPandoraShowerAlg.cxx.
References recob::SpacePoint::position().
double shower::LArPandoraShowerAlg::SpacePointProjection | ( | art::Ptr< recob::SpacePoint > const & | sp, |
geo::Point_t const & | vertex, | ||
geo::Vector_t const & | direction | ||
) | const |
Definition at line 363 of file LArPandoraShowerAlg.cxx.
References recob::SpacePoint::position().
Referenced by ShowerRecoTools::ShowerLengthPercentile::CalculateElement(), ShowerRecoTools::ShowerIncrementalTrackHitFinder::CalculateElement(), shower::LArPandoraShowerCheatingAlg::CheatDebugEVD(), DebugEVD(), ShowerRecoTools::Shower3DCylinderTrackHitFinder::FindTrackSpacePoints(), OrderShowerSpacePoints(), RMSShowerGradient(), and SpacePointPerpendicular().
double shower::LArPandoraShowerAlg::SpacePointTime | ( | art::Ptr< recob::SpacePoint > const & | sp, |
art::FindManyP< recob::Hit > const & | fmh | ||
) | const |
Definition at line 335 of file LArPandoraShowerAlg.cxx.
References hits(), and art::Ptr< T >::key().
Referenced by ShowerRecoTools::ShowerPCADirection::CalculateShowerPCA(), ShowerRecoTools::ShowerTrackPCADirection::ShowerPCAVector(), and ShowerRecoTools::ShowerIncrementalTrackHitFinder::ShowerPCAVector().
|
private |
Definition at line 127 of file LArPandoraShowerAlg.h.
Referenced by HitCoordinates(), and OrderShowerHits().
|
private |
Definition at line 130 of file LArPandoraShowerAlg.h.
Referenced by DebugEVD().
|
private |
Definition at line 133 of file LArPandoraShowerAlg.h.
Referenced by DebugEVD().
|
private |
Definition at line 123 of file LArPandoraShowerAlg.h.
Referenced by DebugEVD().
|
private |
Definition at line 126 of file LArPandoraShowerAlg.h.
Referenced by SCECorrectEField(), and SCECorrectPitch().
|
private |
Definition at line 124 of file LArPandoraShowerAlg.h.
Referenced by SCECorrectPitch().
|
private |
Definition at line 132 of file LArPandoraShowerAlg.h.
Referenced by DebugEVD().
|
private |
Definition at line 131 of file LArPandoraShowerAlg.h.
Referenced by DebugEVD().
|
private |
Definition at line 122 of file LArPandoraShowerAlg.h.
Referenced by ShowerCentre().
|
private |
Definition at line 128 of file LArPandoraShowerAlg.h.
Referenced by DebugEVD().