Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
ShowerRecoTools::ShowerIncrementalTrackHitFinder Class Reference
Inheritance diagram for ShowerRecoTools::ShowerIncrementalTrackHitFinder:
Collaboration diagram for ShowerRecoTools::ShowerIncrementalTrackHitFinder:

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::LArPandoraShowerAlgGetLArPandoraShowerAlg () 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
 
reco::shower::ShowerProducedPtrsHolderUniquePtrs
 
shower::LArPandoraShowerAlg fLArPandoraShowerAlg
 
bool fRunEventDisplay
 
art::ProducesCollector * collectorPtr
 

Detailed Description

Definition at line 31 of file ShowerIncrementalTrackHitFinder_tool.cc.

Constructor & Destructor Documentation

◆ ShowerIncrementalTrackHitFinder()

ShowerRecoTools::ShowerIncrementalTrackHitFinder::ShowerIncrementalTrackHitFinder ( const fhicl::ParameterSet &  pset)

Definition at line 149 of file ShowerIncrementalTrackHitFinder_tool.cc.

Member Function Documentation

◆ AddAssociations()

virtual int ShowerRecoTools::IShowerTool::AddAssociations ( const art::Ptr< recob::PFParticle > &  pfpPtr,
art::Event &  Event,
reco::shower::ShowerElementHolder ShowerEleHolder 
)
inlinevirtualinherited

◆ AddSingle()

template<class T , class A , class B >
void ShowerRecoTools::IShowerTool::AddSingle ( A &  a,
B &  b,
std::string  Name 
)
inlineprotectedinherited

Definition at line 152 of file IShowerTool.h.

Here is the call graph for this function:

◆ AddSpacePointsToSegment()

void ShowerRecoTools::ShowerIncrementalTrackHitFinder::AddSpacePointsToSegment ( std::vector< art::Ptr< recob::SpacePoint > > &  segment,
std::vector< art::Ptr< recob::SpacePoint > > &  sps_pool,
size_t  num_sps_to_take 
)
private

Definition at line 512 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the caller graph for this function:

◆ CalculateElement()

int ShowerRecoTools::ShowerIncrementalTrackHitFinder::CalculateElement ( const art::Ptr< recob::PFParticle > &  pfparticle,
art::Event &  Event,
reco::shower::ShowerElementHolder ShowerEleHolder 
)
overridevirtual

Implements ShowerRecoTools::IShowerTool.

Definition at line 180 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the call graph for this function:

◆ CalculateResidual() [1/2]

double ShowerRecoTools::ShowerIncrementalTrackHitFinder::CalculateResidual ( std::vector< art::Ptr< recob::SpacePoint > > &  sps,
geo::Vector_t const &  PCAEigenvector,
geo::Point_t const &  TrackPosition 
) const
private

Definition at line 670 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the caller graph for this function:

◆ CalculateResidual() [2/2]

double ShowerRecoTools::ShowerIncrementalTrackHitFinder::CalculateResidual ( std::vector< art::Ptr< recob::SpacePoint > > &  sps,
geo::Vector_t const &  PCAEigenvector,
geo::Point_t const &  TrackPosition,
int &  max_residual_point 
) const
private

Definition at line 691 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ CreateFakeShowerTrajectory()

std::vector< art::Ptr< recob::SpacePoint > > ShowerRecoTools::ShowerIncrementalTrackHitFinder::CreateFakeShowerTrajectory ( geo::Point_t const &  start_position,
geo::Vector_t const &  start_direction 
)
private

Definition at line 720 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateFakeSPLine()

std::vector< art::Ptr< recob::SpacePoint > > ShowerRecoTools::ShowerIncrementalTrackHitFinder::CreateFakeSPLine ( geo::Point_t const &  start_position,
geo::Vector_t const &  start_direction,
int  npoints 
)
private

Definition at line 756 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the caller graph for this function:

◆ FitSegmentAndCalculateResidual() [1/2]

double ShowerRecoTools::ShowerIncrementalTrackHitFinder::FitSegmentAndCalculateResidual ( const detinfo::DetectorClocksData &  clockData,
const detinfo::DetectorPropertiesData &  detProp,
std::vector< art::Ptr< recob::SpacePoint > > &  segment,
const art::FindManyP< recob::Hit > &  fmh 
)
private

Definition at line 600 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FitSegmentAndCalculateResidual() [2/2]

double ShowerRecoTools::ShowerIncrementalTrackHitFinder::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 
)
private

Definition at line 622 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the call graph for this function:

◆ GetLArPandoraShowerAlg()

const shower::LArPandoraShowerAlg & ShowerRecoTools::IShowerTool::GetLArPandoraShowerAlg ( ) const
inlineprotectedinherited

Definition at line 82 of file IShowerTool.h.

Here is the caller graph for this function:

◆ GetProducedElementPtr()

template<class T >
art::Ptr< T > ShowerRecoTools::IShowerTool::GetProducedElementPtr ( std::string  Name,
reco::shower::ShowerElementHolder ShowerEleHolder,
int  iter = -1 
)
inlineprotectedinherited

Definition at line 102 of file IShowerTool.h.

Here is the call graph for this function:

◆ GetVectorPtrSize()

int ShowerRecoTools::IShowerTool::GetVectorPtrSize ( std::string  Name)
inlineprotectedinherited

Definition at line 158 of file IShowerTool.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IncrementallyFitSegment()

bool ShowerRecoTools::ShowerIncrementalTrackHitFinder::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 
)
private

Definition at line 534 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitaliseProducerPtr()

void ShowerRecoTools::IShowerTool::InitaliseProducerPtr ( reco::shower::ShowerProducedPtrsHolder uniqueproducerPtrs)
inlineinherited

Definition at line 68 of file IShowerTool.h.

◆ InitialiseProducers()

virtual void ShowerRecoTools::IShowerTool::InitialiseProducers ( )
inlinevirtualinherited

◆ InitialiseProduct()

template<class T >
void ShowerRecoTools::IShowerTool::InitialiseProduct ( std::string  Name,
std::string  InstanceName = "" 
)
inlineprotectedinherited

Definition at line 137 of file IShowerTool.h.

Here is the call graph for this function:

◆ IsResidualOK() [1/3]

bool ShowerRecoTools::ShowerIncrementalTrackHitFinder::IsResidualOK ( double  new_residual,
double  current_residual 
) const
inlineprivate

Definition at line 84 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the caller graph for this function:

◆ IsResidualOK() [2/3]

bool ShowerRecoTools::ShowerIncrementalTrackHitFinder::IsResidualOK ( double  new_residual,
double  current_residual,
size_t  no_sps 
) const
inlineprivate

Definition at line 92 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the call graph for this function:

◆ IsResidualOK() [3/3]

bool ShowerRecoTools::ShowerIncrementalTrackHitFinder::IsResidualOK ( double  residual,
size_t  no_sps 
) const
inlineprivate

Definition at line 88 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ IsSegmentValid()

bool ShowerRecoTools::ShowerIncrementalTrackHitFinder::IsSegmentValid ( std::vector< art::Ptr< recob::SpacePoint > > const &  segment)
private

Definition at line 525 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the caller graph for this function:

◆ MakeTrackSeed()

void ShowerRecoTools::ShowerIncrementalTrackHitFinder::MakeTrackSeed ( const detinfo::DetectorClocksData &  clockData,
const detinfo::DetectorPropertiesData &  detProp,
std::vector< art::Ptr< recob::SpacePoint > > &  segment,
const art::FindManyP< recob::Hit > &  fmh 
)
private

Definition at line 369 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintPtr()

void ShowerRecoTools::IShowerTool::PrintPtr ( std::string  Name)
inlineprotectedinherited

Definition at line 162 of file IShowerTool.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintPtrs()

void ShowerRecoTools::IShowerTool::PrintPtrs ( )
inlineprotectedinherited

Definition at line 160 of file IShowerTool.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PruneFrontOfSPSPool()

void ShowerRecoTools::ShowerIncrementalTrackHitFinder::PruneFrontOfSPSPool ( std::vector< art::Ptr< recob::SpacePoint > > &  sps_pool,
std::vector< art::Ptr< recob::SpacePoint > > const &  initial_track 
)
private

Definition at line 477 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the call graph for this function:

◆ PruneTrack()

void ShowerRecoTools::ShowerIncrementalTrackHitFinder::PruneTrack ( std::vector< art::Ptr< recob::SpacePoint > > &  initial_track)
private

Definition at line 494 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RecursivelyReplaceLastSpacePointAndRefit()

bool ShowerRecoTools::ShowerIncrementalTrackHitFinder::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 
)
private

Definition at line 645 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RunIncrementalSpacePointFinder()

std::vector< art::Ptr< recob::SpacePoint > > ShowerRecoTools::ShowerIncrementalTrackHitFinder::RunIncrementalSpacePointFinder ( const art::Event &  Event,
std::vector< art::Ptr< recob::SpacePoint > > const &  sps,
const art::FindManyP< recob::Hit > &  fmh 
)
private

Definition at line 408 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RunShowerTool()

int ShowerRecoTools::IShowerTool::RunShowerTool ( const art::Ptr< recob::PFParticle > &  pfparticle,
art::Event &  Event,
reco::shower::ShowerElementHolder ShowerEleHolder,
std::string  evd_display_name_append = "" 
)
inlineinherited

Definition at line 46 of file IShowerTool.h.

Here is the call graph for this function:

◆ RunTestOfIncrementalSpacePointFinder()

void ShowerRecoTools::ShowerIncrementalTrackHitFinder::RunTestOfIncrementalSpacePointFinder ( const art::Event &  Event,
const art::FindManyP< recob::Hit > &  dud_fmh 
)
private

Definition at line 776 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetPtr()

void ShowerRecoTools::IShowerTool::SetPtr ( art::ProducesCollector *  collector)
inlineinherited

Definition at line 65 of file IShowerTool.h.

◆ ShowerPCAVector() [1/2]

geo::Vector_t ShowerRecoTools::ShowerIncrementalTrackHitFinder::ShowerPCAVector ( const detinfo::DetectorClocksData &  clockData,
const detinfo::DetectorPropertiesData &  detProp,
const std::vector< art::Ptr< recob::SpacePoint > > &  sps,
const art::FindManyP< recob::Hit > &  fmh 
) const
private

Definition at line 327 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the call graph for this function:

◆ ShowerPCAVector() [2/2]

geo::Vector_t ShowerRecoTools::ShowerIncrementalTrackHitFinder::ShowerPCAVector ( std::vector< art::Ptr< recob::SpacePoint > > const &  sps) const
private

Definition at line 304 of file ShowerIncrementalTrackHitFinder_tool.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ collectorPtr

art::ProducesCollector* ShowerRecoTools::IShowerTool::collectorPtr
privateinherited

Definition at line 97 of file IShowerTool.h.

◆ fChargeWeighted

bool ShowerRecoTools::ShowerIncrementalTrackHitFinder::fChargeWeighted
private

Definition at line 132 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fDistanceCut

float ShowerRecoTools::ShowerIncrementalTrackHitFinder::fDistanceCut
private

Definition at line 142 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fForwardHitsOnly

bool ShowerRecoTools::ShowerIncrementalTrackHitFinder::fForwardHitsOnly
private

Definition at line 133 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fInitialTrackHitsOutputLabel

std::string ShowerRecoTools::ShowerIncrementalTrackHitFinder::fInitialTrackHitsOutputLabel
private

Definition at line 145 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fInitialTrackSpacePointsOutputLabel

std::string ShowerRecoTools::ShowerIncrementalTrackHitFinder::fInitialTrackSpacePointsOutputLabel
private

Definition at line 146 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fLArPandoraShowerAlg

shower::LArPandoraShowerAlg ShowerRecoTools::IShowerTool::fLArPandoraShowerAlg
privateinherited

Definition at line 92 of file IShowerTool.h.

◆ fMakeTrackSeed

bool ShowerRecoTools::ShowerIncrementalTrackHitFinder::fMakeTrackSeed
private

Definition at line 140 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fMaxAverageResidual

float ShowerRecoTools::ShowerIncrementalTrackHitFinder::fMaxAverageResidual
private

Definition at line 135 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fMaxResidualDiff

float ShowerRecoTools::ShowerIncrementalTrackHitFinder::fMaxResidualDiff
private

Definition at line 134 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fNMissPoints

int ShowerRecoTools::ShowerIncrementalTrackHitFinder::fNMissPoints
private

Definition at line 137 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fPFParticleLabel

art::InputTag ShowerRecoTools::ShowerIncrementalTrackHitFinder::fPFParticleLabel
private

Definition at line 129 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fRunEventDisplay

bool ShowerRecoTools::IShowerTool::fRunEventDisplay
privateinherited

Definition at line 95 of file IShowerTool.h.

◆ fRunTest

bool ShowerRecoTools::ShowerIncrementalTrackHitFinder::fRunTest
private

Definition at line 139 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fShowerDirectionInputLabel

std::string ShowerRecoTools::ShowerIncrementalTrackHitFinder::fShowerDirectionInputLabel
private

Definition at line 144 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fShowerStartPositionInputLabel

std::string ShowerRecoTools::ShowerIncrementalTrackHitFinder::fShowerStartPositionInputLabel
private

Definition at line 143 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fStartDistanceCut

float ShowerRecoTools::ShowerIncrementalTrackHitFinder::fStartDistanceCut
private

Definition at line 141 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fStartFitSize

int ShowerRecoTools::ShowerIncrementalTrackHitFinder::fStartFitSize
private

Definition at line 136 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fTrackMaxAdjacentSPDistance

float ShowerRecoTools::ShowerIncrementalTrackHitFinder::fTrackMaxAdjacentSPDistance
private

Definition at line 138 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fUseShowerDirection

bool ShowerRecoTools::ShowerIncrementalTrackHitFinder::fUseShowerDirection
private

Definition at line 131 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ fVerbose

int ShowerRecoTools::ShowerIncrementalTrackHitFinder::fVerbose
private

Definition at line 130 of file ShowerIncrementalTrackHitFinder_tool.cc.

◆ UniquePtrs

reco::shower::ShowerProducedPtrsHolder* ShowerRecoTools::IShowerTool::UniquePtrs
privateinherited

Definition at line 89 of file IShowerTool.h.


The documentation for this class was generated from the following file: