10 #ifndef APRILPERFECTHITCORRECTION_H
11 #define APRILPERFECTHITCORRECTION_H 1
13 #include "Api/PandoraContentApi.h"
15 #include "Pandora/Algorithm.h"
19 namespace april_content
31 class Factory :
public pandora::AlgorithmFactory
34 pandora::Algorithm *CreateAlgorithm()
const;
43 pandora::StatusCode Run();
44 pandora::StatusCode ReadSettings(
const pandora::TiXmlHandle xmlHandle);
46 typedef PandoraContentApi::ParticleFlowObject::Parameters PfoParameters;
54 void CaloHitCollection(
const pandora::MCParticle *
const pPfoTarget, PfoParameters &pfoParameters)
const;
63 void SimpleCaloHitCollection(
const pandora::MCParticle *
const pPfoTarget,
const pandora::CaloHit *
const pCaloHit, pandora::CaloHitList &caloHitList)
const;
72 void FullCaloHitCollection(
const pandora::MCParticle *
const pPfoTarget,
const pandora::CaloHit *
const pCaloHit, pandora::CaloHitList &caloHitList)
const;
80 void TrackCollection(
const pandora::MCParticle *
const pPfoTarget, PfoParameters &pfoParameters)
const;
89 void SetPfoParametersFromTracks(
const pandora::MCParticle *
const pPfoTarget,
int &nTracksUsed, PfoParameters &pfoParameters)
const;
98 void SetPfoParametersFromClusters(
const pandora::MCParticle *
const pPfoTarget,
const int nTracksUsed, PfoParameters &pfoParameters)
const;
109 const pandora::CartesianVector
GetEnergyWeightedCentroid(
const pandora::Cluster *
const pCluster,
const unsigned int innerPseudoLayer,
110 const unsigned int outerPseudoLayer)
const;
119 void PfoParameterDebugInformation(
const pandora::MCParticle *
const pPfoTarget,
const int nTracksUsed, PfoParameters &pfoParameters)
const;
129 inline pandora::Algorithm *PerfectHitCorrectionAlgorithm::Factory::CreateAlgorithm()
const
void FullCaloHitCollection(const pandora::MCParticle *const pPfoTarget, const pandora::CaloHit *const pCaloHit, pandora::CaloHitList &caloHitList) const
Full collection of calo hits, using map of mc particles to hit weights; fragment calo hits where nece...
Definition: PerfectHitCorrectionAlgorithm.cc:281
void SetPfoParametersFromClusters(const pandora::MCParticle *const pPfoTarget, const int nTracksUsed, PfoParameters &pfoParameters) const
Set the pfo parameters using clusters that have been collected together.
void TrackCollection(const pandora::MCParticle *const pPfoTarget, PfoParameters &pfoParameters) const
Collection of tracks, using only tracks for which pfo target is the main mc particle.
void PfoParameterDebugInformation(const pandora::MCParticle *const pPfoTarget, const int nTracksUsed, PfoParameters &pfoParameters) const
Print relevant pfo parameter debug information, if required.
const pandora::CartesianVector GetEnergyWeightedCentroid(const pandora::Cluster *const pCluster, const unsigned int innerPseudoLayer, const unsigned int outerPseudoLayer) const
Get the energy-weighted centroid for a specified cluster, calculated over a particular pseudo layer r...
PerfectHitCorrectionAlgorithm()
Default constructor.
Definition: PerfectHitCorrectionAlgorithm.cc:21
bool m_simpleCaloHitCollection
Whether to use simple calo hit collection mechanism, or full mechanism.
Definition: PerfectHitCorrectionAlgorithm.h:123
void CaloHitCollection(const pandora::MCParticle *const pPfoTarget, PfoParameters &pfoParameters) const
Collection of calo hits.
Definition: PerfectHitCorrectionAlgorithm.cc:190
PerfectHitCorrectionAlgorithm class.
Definition: PerfectHitCorrectionAlgorithm.h:25
void SimpleCaloHitCollection(const pandora::MCParticle *const pPfoTarget, const pandora::CaloHit *const pCaloHit, pandora::CaloHitList &caloHitList) const
Simple collection of calo hits, using only hits for which pfo target is the main mc particle...
Definition: PerfectHitCorrectionAlgorithm.cc:242
std::string m_outputClusterListName
The output cluster list name.
Definition: PerfectHitCorrectionAlgorithm.h:122
float m_minWeightFraction
The minimum mc particle calo hit weight for hit fragmentation.
Definition: PerfectHitCorrectionAlgorithm.h:124
std::string m_outputPfoListName
The output pfo list name.
Definition: PerfectHitCorrectionAlgorithm.h:121
void SetPfoParametersFromTracks(const pandora::MCParticle *const pPfoTarget, int &nTracksUsed, PfoParameters &pfoParameters) const
Set the pfo parameters using tracks that have been collected together.
Factory class for instantiating algorithm.
Definition: PerfectHitCorrectionAlgorithm.h:31