LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Public Member Functions | |
ShowerIncrementalTrackHitFinder (const fhicl::ParameterSet &pset) | |
int | CalculateElement (const art::Ptr< recob::PFParticle > &pfparticle, art::Event &Event, reco::shower::ShowerElementHolder &ShowerEleHolder) override |
int | RunShowerTool (const art::Ptr< recob::PFParticle > &pfparticle, art::Event &Event, reco::shower::ShowerElementHolder &ShowerEleHolder, std::string evd_display_name_append="") |
virtual void | InitialiseProducers () |
void | SetPtr (art::ProducesCollector *collector) |
void | InitaliseProducerPtr (reco::shower::ShowerProducedPtrsHolder &uniqueproducerPtrs) |
virtual int | AddAssociations (const art::Ptr< recob::PFParticle > &pfpPtr, art::Event &Event, reco::shower::ShowerElementHolder &ShowerEleHolder) |
Protected Member Functions | |
const shower::LArPandoraShowerAlg & | GetLArPandoraShowerAlg () const |
template<class T > | |
art::Ptr< T > | GetProducedElementPtr (std::string Name, reco::shower::ShowerElementHolder &ShowerEleHolder, int iter=-1) |
template<class T > | |
void | InitialiseProduct (std::string Name, std::string InstanceName="") |
template<class T , class A , class B > | |
void | AddSingle (A &a, B &b, std::string Name) |
int | GetVectorPtrSize (std::string Name) |
void | PrintPtrs () |
void | PrintPtr (std::string Name) |
Private Member Functions | |
std::vector< art::Ptr< recob::SpacePoint > > | RunIncrementalSpacePointFinder (const art::Event &Event, std::vector< art::Ptr< recob::SpacePoint >> const &sps, const art::FindManyP< recob::Hit > &fmh) |
void | PruneFrontOfSPSPool (std::vector< art::Ptr< recob::SpacePoint >> &sps_pool, std::vector< art::Ptr< recob::SpacePoint >> const &initial_track) |
void | PruneTrack (std::vector< art::Ptr< recob::SpacePoint >> &initial_track) |
void | AddSpacePointsToSegment (std::vector< art::Ptr< recob::SpacePoint >> &segment, std::vector< art::Ptr< recob::SpacePoint >> &sps_pool, size_t num_sps_to_take) |
bool | IsSegmentValid (std::vector< art::Ptr< recob::SpacePoint >> const &segment) |
bool | IncrementallyFitSegment (const detinfo::DetectorClocksData &clockData, const detinfo::DetectorPropertiesData &detProp, std::vector< art::Ptr< recob::SpacePoint >> &segment, std::vector< art::Ptr< recob::SpacePoint >> &sps_pool, const art::FindManyP< recob::Hit > &fmh, double current_residual) |
double | FitSegmentAndCalculateResidual (const detinfo::DetectorClocksData &clockData, const detinfo::DetectorPropertiesData &detProp, std::vector< art::Ptr< recob::SpacePoint >> &segment, const art::FindManyP< recob::Hit > &fmh) |
double | FitSegmentAndCalculateResidual (const detinfo::DetectorClocksData &clockData, const detinfo::DetectorPropertiesData &detProp, std::vector< art::Ptr< recob::SpacePoint >> &segment, const art::FindManyP< recob::Hit > &fmh, int &max_residual_point) |
bool | RecursivelyReplaceLastSpacePointAndRefit (const detinfo::DetectorClocksData &clockData, const detinfo::DetectorPropertiesData &detProp, std::vector< art::Ptr< recob::SpacePoint >> &segment, std::vector< art::Ptr< recob::SpacePoint >> &reduced_sps_pool, const art::FindManyP< recob::Hit > &fmh, double current_residual) |
bool | IsResidualOK (double new_residual, double current_residual) const |
bool | IsResidualOK (double residual, size_t no_sps) const |
bool | IsResidualOK (double new_residual, double current_residual, size_t no_sps) const |
double | CalculateResidual (std::vector< art::Ptr< recob::SpacePoint >> &sps, geo::Vector_t const &PCAEigenvector, geo::Point_t const &TrackPosition) const |
double | CalculateResidual (std::vector< art::Ptr< recob::SpacePoint >> &sps, geo::Vector_t const &PCAEigenvector, geo::Point_t const &TrackPosition, int &max_residual_point) const |
geo::Vector_t | ShowerPCAVector (std::vector< art::Ptr< recob::SpacePoint >> const &sps) const |
geo::Vector_t | ShowerPCAVector (const detinfo::DetectorClocksData &clockData, const detinfo::DetectorPropertiesData &detProp, const std::vector< art::Ptr< recob::SpacePoint >> &sps, const art::FindManyP< recob::Hit > &fmh) const |
std::vector< art::Ptr< recob::SpacePoint > > | CreateFakeShowerTrajectory (geo::Point_t const &start_position, geo::Vector_t const &start_direction) |
std::vector< art::Ptr< recob::SpacePoint > > | CreateFakeSPLine (geo::Point_t const &start_position, geo::Vector_t const &start_direction, int npoints) |
void | RunTestOfIncrementalSpacePointFinder (const art::Event &Event, const art::FindManyP< recob::Hit > &dud_fmh) |
void | MakeTrackSeed (const detinfo::DetectorClocksData &clockData, const detinfo::DetectorPropertiesData &detProp, std::vector< art::Ptr< recob::SpacePoint >> &segment, const art::FindManyP< recob::Hit > &fmh) |
Private Attributes | |
art::InputTag | fPFParticleLabel |
int | fVerbose |
bool | fUseShowerDirection |
bool | fChargeWeighted |
bool | fForwardHitsOnly |
float | fMaxResidualDiff |
float | fMaxAverageResidual |
int | fStartFitSize |
int | fNMissPoints |
float | fTrackMaxAdjacentSPDistance |
bool | fRunTest |
bool | fMakeTrackSeed |
float | fStartDistanceCut |
float | fDistanceCut |
std::string | fShowerStartPositionInputLabel |
std::string | fShowerDirectionInputLabel |
std::string | fInitialTrackHitsOutputLabel |
std::string | fInitialTrackSpacePointsOutputLabel |
Definition at line 31 of file ShowerIncrementalTrackHitFinder_tool.cc.
ShowerRecoTools::ShowerIncrementalTrackHitFinder::ShowerIncrementalTrackHitFinder | ( | const fhicl::ParameterSet & | pset | ) |
Definition at line 149 of file ShowerIncrementalTrackHitFinder_tool.cc.
References fStartFitSize.
|
inlinevirtualinherited |
Reimplemented in ShowerRecoTools::ShowerPCADirection, ShowerRecoTools::ShowerPandoraSlidingFitTrackFinder, ShowerRecoTools::ShowerExampleTool, and ShowerRecoTools::ShowerSkeletonTool.
Definition at line 74 of file IShowerTool.h.
|
inlineprotectedinherited |
Definition at line 152 of file IShowerTool.h.
References reco::shower::ShowerProducedPtrsHolder::AddSingle().
|
private |
Definition at line 512 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by IncrementallyFitSegment(), RecursivelyReplaceLastSpacePointAndRefit(), and RunIncrementalSpacePointFinder().
|
overridevirtual |
Implements ShowerRecoTools::IShowerTool.
Definition at line 180 of file ShowerIncrementalTrackHitFinder_tool.cc.
References reco::shower::ShowerElementHolder::CheckElement(), larg4::dist(), fDistanceCut, fForwardHitsOnly, fInitialTrackHitsOutputLabel, fInitialTrackSpacePointsOutputLabel, fPFParticleLabel, fRunTest, fShowerDirectionInputLabel, fShowerStartPositionInputLabel, fStartDistanceCut, fUseShowerDirection, fVerbose, reco::shower::ShowerElementHolder::GetElement(), reco::shower::ShowerElementHolder::GetFindManyP(), ShowerRecoTools::IShowerTool::GetLArPandoraShowerAlg(), art::ProductRetriever::getValidHandle(), hits(), art::Ptr< T >::key(), shower::LArPandoraShowerAlg::OrderShowerSpacePoints(), proj, RunIncrementalSpacePointFinder(), RunTestOfIncrementalSpacePointFinder(), reco::shower::ShowerElementHolder::SetElement(), and shower::LArPandoraShowerAlg::SpacePointProjection().
|
private |
Definition at line 670 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by FitSegmentAndCalculateResidual(), and IsResidualOK().
|
private |
Definition at line 691 of file ShowerIncrementalTrackHitFinder_tool.cc.
|
private |
Definition at line 720 of file ShowerIncrementalTrackHitFinder_tool.cc.
References util::begin(), CreateFakeSPLine(), and util::end().
Referenced by IsResidualOK(), and RunTestOfIncrementalSpacePointFinder().
|
private |
Definition at line 756 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by CreateFakeShowerTrajectory(), and IsResidualOK().
|
private |
Definition at line 600 of file ShowerIncrementalTrackHitFinder_tool.cc.
References CalculateResidual(), fChargeWeighted, ShowerRecoTools::IShowerTool::GetLArPandoraShowerAlg(), shower::LArPandoraShowerAlg::ShowerCentre(), and ShowerPCAVector().
Referenced by IncrementallyFitSegment(), MakeTrackSeed(), and RecursivelyReplaceLastSpacePointAndRefit().
|
private |
Definition at line 622 of file ShowerIncrementalTrackHitFinder_tool.cc.
References CalculateResidual(), fChargeWeighted, ShowerRecoTools::IShowerTool::GetLArPandoraShowerAlg(), shower::LArPandoraShowerAlg::ShowerCentre(), and ShowerPCAVector().
|
inlineprotectedinherited |
Definition at line 82 of file IShowerTool.h.
Referenced by ShowerRecoTools::ShowerLengthPercentile::CalculateElement(), ShowerRecoTools::ShowerUnidirectiondEdx::CalculateElement(), ShowerRecoTools::Shower3DCylinderTrackHitFinder::CalculateElement(), ShowerRecoTools::ShowerPCAPropergationStartPosition::CalculateElement(), ShowerRecoTools::Shower2DLinearRegressionTrackHitFinder::CalculateElement(), ShowerRecoTools::ShowerPFPVertexStartPosition::CalculateElement(), ShowerRecoTools::ShowerDirectionCheater::CalculateElement(), ShowerRecoTools::ShowerPCADirection::CalculateElement(), CalculateElement(), ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement(), ShowerRecoTools::ShowerPCADirection::CalculateShowerPCA(), ShowerRecoTools::Shower2DLinearRegressionTrackHitFinder::FindInitialTrackHits(), ShowerRecoTools::Shower3DCylinderTrackHitFinder::FindTrackSpacePoints(), FitSegmentAndCalculateResidual(), PruneFrontOfSPSPool(), PruneTrack(), RunTestOfIncrementalSpacePointFinder(), ShowerRecoTools::ShowerTrackPCADirection::ShowerPCAVector(), and ShowerPCAVector().
|
inlineprotectedinherited |
Definition at line 102 of file IShowerTool.h.
References reco::shower::ShowerElementHolder::CheckElement(), reco::shower::ShowerProducedPtrsHolder::CheckUniqueProduerPtr(), reco::shower::ShowerProducedPtrsHolder::GetArtPtr(), and reco::shower::ShowerElementHolder::GetShowerNumber().
|
inlineprotectedinherited |
Definition at line 158 of file IShowerTool.h.
References reco::shower::ShowerProducedPtrsHolder::GetVectorPtrSize().
Referenced by ShowerRecoTools::ShowerExampleTool::AddAssociations(), ShowerRecoTools::ShowerPandoraSlidingFitTrackFinder::AddAssociations(), and ShowerRecoTools::ShowerPCADirection::AddAssociations().
|
private |
Definition at line 534 of file ShowerIncrementalTrackHitFinder_tool.cc.
References AddSpacePointsToSegment(), FitSegmentAndCalculateResidual(), fNMissPoints, IsResidualOK(), and RecursivelyReplaceLastSpacePointAndRefit().
Referenced by RunIncrementalSpacePointFinder().
|
inlineinherited |
Definition at line 68 of file IShowerTool.h.
|
inlinevirtualinherited |
Reimplemented in ShowerRecoTools::ShowerPCADirection, ShowerRecoTools::ShowerPandoraSlidingFitTrackFinder, and ShowerRecoTools::ShowerExampleTool.
Definition at line 62 of file IShowerTool.h.
|
inlineprotectedinherited |
Definition at line 137 of file IShowerTool.h.
References art::ProducesCollector::produces(), and reco::shower::ShowerProducedPtrsHolder::SetShowerUniqueProduerPtr().
|
inlineprivate |
Definition at line 84 of file ShowerIncrementalTrackHitFinder_tool.cc.
References fMaxResidualDiff.
Referenced by IncrementallyFitSegment(), IsResidualOK(), MakeTrackSeed(), and RecursivelyReplaceLastSpacePointAndRefit().
|
inlineprivate |
Definition at line 88 of file ShowerIncrementalTrackHitFinder_tool.cc.
References fMaxAverageResidual.
|
inlineprivate |
Definition at line 92 of file ShowerIncrementalTrackHitFinder_tool.cc.
References CalculateResidual(), CreateFakeShowerTrajectory(), CreateFakeSPLine(), IsResidualOK(), MakeTrackSeed(), RunTestOfIncrementalSpacePointFinder(), ShowerPCAVector(), and lar::dump::vector().
|
private |
Definition at line 525 of file ShowerIncrementalTrackHitFinder_tool.cc.
References fStartFitSize.
Referenced by RunIncrementalSpacePointFinder().
|
private |
Definition at line 369 of file ShowerIncrementalTrackHitFinder_tool.cc.
References FitSegmentAndCalculateResidual(), and IsResidualOK().
Referenced by IsResidualOK(), and RunIncrementalSpacePointFinder().
|
inlineprotectedinherited |
Definition at line 162 of file IShowerTool.h.
References reco::shower::ShowerProducedPtrsHolder::PrintPtr().
Referenced by ShowerRecoTools::ShowerExampleTool::CalculateElement().
|
inlineprotectedinherited |
Definition at line 160 of file IShowerTool.h.
References reco::shower::ShowerProducedPtrsHolder::PrintPtrs().
Referenced by ShowerRecoTools::ShowerExampleTool::CalculateElement().
|
private |
Definition at line 477 of file ShowerIncrementalTrackHitFinder_tool.cc.
References shower::LArPandoraShowerAlg::DistanceBetweenSpacePoints(), and ShowerRecoTools::IShowerTool::GetLArPandoraShowerAlg().
|
private |
Definition at line 494 of file ShowerIncrementalTrackHitFinder_tool.cc.
References shower::LArPandoraShowerAlg::DistanceBetweenSpacePoints(), fTrackMaxAdjacentSPDistance, and ShowerRecoTools::IShowerTool::GetLArPandoraShowerAlg().
Referenced by RunIncrementalSpacePointFinder().
|
private |
Definition at line 645 of file ShowerIncrementalTrackHitFinder_tool.cc.
References AddSpacePointsToSegment(), FitSegmentAndCalculateResidual(), and IsResidualOK().
Referenced by IncrementallyFitSegment().
|
private |
Definition at line 408 of file ShowerIncrementalTrackHitFinder_tool.cc.
References AddSpacePointsToSegment(), fMakeTrackSeed, fStartFitSize, IncrementallyFitSegment(), IsSegmentValid(), MakeTrackSeed(), and PruneTrack().
Referenced by CalculateElement(), and RunTestOfIncrementalSpacePointFinder().
|
inlineinherited |
Definition at line 46 of file IShowerTool.h.
|
private |
Definition at line 776 of file ShowerIncrementalTrackHitFinder_tool.cc.
References CreateFakeShowerTrajectory(), DEFINE_ART_CLASS_TOOL, fRunTest, ShowerRecoTools::IShowerTool::GetLArPandoraShowerAlg(), shower::LArPandoraShowerAlg::OrderShowerSpacePoints(), and RunIncrementalSpacePointFinder().
Referenced by CalculateElement(), and IsResidualOK().
|
inlineinherited |
Definition at line 65 of file IShowerTool.h.
|
private |
Definition at line 304 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by FitSegmentAndCalculateResidual(), and IsResidualOK().
|
private |
Definition at line 327 of file ShowerIncrementalTrackHitFinder_tool.cc.
References detinfo::DetectorPropertiesData::ElectronLifetime(), fChargeWeighted, ShowerRecoTools::IShowerTool::GetLArPandoraShowerAlg(), detinfo::sampling_rate(), shower::LArPandoraShowerAlg::SpacePointCharge(), and shower::LArPandoraShowerAlg::SpacePointTime().
|
private |
Definition at line 132 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by FitSegmentAndCalculateResidual(), and ShowerPCAVector().
|
private |
Definition at line 142 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by CalculateElement().
|
private |
Definition at line 133 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by CalculateElement().
|
private |
Definition at line 145 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by CalculateElement().
|
private |
Definition at line 146 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by CalculateElement().
|
private |
Definition at line 140 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by RunIncrementalSpacePointFinder().
|
private |
Definition at line 135 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by IsResidualOK().
|
private |
Definition at line 134 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by IsResidualOK().
|
private |
Definition at line 137 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by IncrementallyFitSegment().
|
private |
Definition at line 129 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by CalculateElement().
|
private |
Definition at line 139 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by CalculateElement(), and RunTestOfIncrementalSpacePointFinder().
|
private |
Definition at line 144 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by CalculateElement().
|
private |
Definition at line 143 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by CalculateElement().
|
private |
Definition at line 141 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by CalculateElement().
|
private |
Definition at line 136 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by IsSegmentValid(), RunIncrementalSpacePointFinder(), and ShowerIncrementalTrackHitFinder().
|
private |
Definition at line 138 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by PruneTrack().
|
private |
Definition at line 131 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by CalculateElement().
|
private |
Definition at line 130 of file ShowerIncrementalTrackHitFinder_tool.cc.
Referenced by CalculateElement().