29 #ifndef APRILCLUSTERINGALGORITHM_H
30 #define APRILCLUSTERINGALGORITHM_H
32 #include "Pandora/Algorithm.h"
33 #include "Pandora/PandoraInternal.h"
34 #include "Pandora/PandoraInputTypes.h"
37 namespace april_content
49 class Factory :
public pandora::AlgorithmFactory
52 pandora::Algorithm *CreateAlgorithm()
const;
55 static const pandora::CaloHitList* GetCaloHitList() {
return m_pCaloHitList; }
56 static const pandora::CaloHitList* GetEcalHitList() {
return &m_hcalCaloHitList; }
57 static const pandora::CaloHitList* GetHcalHitList() {
return &m_hcalCaloHitList; }
58 static const pandora::CaloHitList* GetMuonHitList() {
return &m_muonCaloHitList; }
61 pandora::StatusCode Run();
62 pandora::StatusCode ReadSettings(
const pandora::TiXmlHandle xmlHandle);
72 pandora::StatusCode
SplitCaloHitList(
const pandora::CaloHitList *
const pCaloHitList, pandora::CaloHitList &ecalCaloHitList,
73 pandora::CaloHitList &hcalCaloHitList, pandora::CaloHitList &muonCaloHitList)
const;
81 pandora::StatusCode
ConnectCaloHits(
const ConnectorAlgorithmToolVector &toolVector)
const;
92 static const pandora::CaloHitList* m_pCaloHitList;
93 static pandora::CaloHitList m_ecalCaloHitList;
94 static pandora::CaloHitList m_hcalCaloHitList;
95 static pandora::CaloHitList m_muonCaloHitList;
106 inline pandora::Algorithm *APRILClusteringAlgorithm::Factory::CreateAlgorithm()
const
113 #endif // APRILCLUSTERINGALGORITHM_H
pandora::StatusCode SplitCaloHitList(const pandora::CaloHitList *const pCaloHitList, pandora::CaloHitList &ecalCaloHitList, pandora::CaloHitList &hcalCaloHitList, pandora::CaloHitList &muonCaloHitList) const
Split the input calo hit list into three lists for ecal, hcal and muon.
Definition: APRILClusteringAlgorithm.cc:73
ConnectorAlgorithmToolVector m_toolList
The algorithm tool list.
Definition: APRILClusteringAlgorithm.h:90
pandora::StatusCode ConnectCaloHits(const ConnectorAlgorithmToolVector &toolVector) const
Process calo hit list connection using the algorithm tool list.
Definition: APRILClusteringAlgorithm.cc:123
pandora::StatusCode CreateClusters() const
Create clusters from the previously connected calo hits.
Definition: APRILClusteringAlgorithm.cc:140
Factory class for instantiating algorithm.
Definition: APRILClusteringAlgorithm.h:49
bool m_useAsIndependent
Whether to use this algorithm as a mother algorithm.
Definition: APRILClusteringAlgorithm.h:99
bool m_allowSingleHitClusters
Whether to allow single calo hit clusters.
Definition: APRILClusteringAlgorithm.h:97
APRILClusteringAlgorithm class.
Definition: APRILClusteringAlgorithm.h:43
bool m_useMultithread
Whether to use multithreading with ecal-hcal-muon tools.
Definition: APRILClusteringAlgorithm.h:98