ATLAS Offline Software
PFlowCalibPFODecoratorAlgorithm.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef PFLOWCALIBPFODECORATORALGORITHM_H
6 #define PFLOWCALIBPFODECORATORALGORITHM_H
7 
11 
12 //EDM Classes
15 
16 //EDM Container Classes
18 
19 //C++ classes
20 #include <map>
21 #include <vector>
22 
23 //Core classes for some private function classdefs
25 
33 
34 public:
37 
40 
41  /* Gaudi algorithm hooks */
42  virtual StatusCode initialize() override;
43  virtual StatusCode execute(const EventContext& ctx) const override;
44  virtual StatusCode finalize() override;
45 
46 private:
47 
49  SG::ReadHandleKey<std::map<Identifier,std::vector<const CaloCalibrationHit*> > > m_mapIdentifierToCalibHitsReadHandleKey{this,"IdentifierToCalibHitsMapName","IdentifierToCalibHitsMap","ReadHandleKey for the map between Identifieirs and sets of calibration hits"};
50 
52  SG::WriteDecorHandleKey<xAOD::FlowElementContainer> m_pfoWriteDecorHandleKeyNLeadingTruthParticles{this,"PFOWriteDecorHandleKey_NLeadingTruthParticles","JetETMissNeutralParticleFlowObjects.calpfo_NLeadingTruthParticleBarcodeEnergyPairs"};
53 
55  ToolHandle<ICaloCalibClusterTruthAttributerTool> m_truthAttributerTool{this,"TruthAttributerTool",""," ToolHandle to a tool to create the calibration hit truth information that we need for the decoration"};
56 
58  Gaudi::Property<unsigned int> m_numTruthParticles{this,"NumTruthParticles",20,"Set number of truth particles per CaloCluster/PFO for which we store calibration hit energy"};
59 
60  // functions to do the links between either PFO or FlowElements
62  SG::WriteDecorHandle<xAOD::FlowElementContainer, std::vector< std::pair<unsigned int, double> > >& pfoWriteDecorHandle,
63  SG::ReadHandle<std::map<Identifier,std::vector<const CaloCalibrationHit*> > >& CalibHitHandle) const;
64 
65 };
66 #endif
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition: StoreGate/StoreGate/WriteDecorHandleKey.h:89
FlowElementContainer.h
CaloCalibrationHit.h
PFlowCalibPFODecoratorAlgorithm::LinkCalibHitPFO
StatusCode LinkCalibHitPFO(SG::WriteDecorHandle< xAOD::FlowElementContainer, std::vector< std::pair< unsigned int, double > > > &pfoWriteDecorHandle, SG::ReadHandle< std::map< Identifier, std::vector< const CaloCalibrationHit * > > > &CalibHitHandle) const
Definition: PFlowCalibPFODecoratorAlgorithm.cxx:21
PFlowCalibPFODecoratorAlgorithm::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: PFlowCalibPFODecoratorAlgorithm.cxx:46
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
PFlowCalibPFODecoratorAlgorithm::m_mapIdentifierToCalibHitsReadHandleKey
SG::ReadHandleKey< std::map< Identifier, std::vector< const CaloCalibrationHit * > > > m_mapIdentifierToCalibHitsReadHandleKey
ReadHandleKey for the map between Identifiers and sets of calibration hits.
Definition: PFlowCalibPFODecoratorAlgorithm.h:49
CaloCalibDefineTypes.h
ICaloCalibClusterTruthAttributerTool.h
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
PFlowCalibPFODecoratorAlgorithm::m_truthAttributerTool
ToolHandle< ICaloCalibClusterTruthAttributerTool > m_truthAttributerTool
ToolHandle to a tool to create the calibration hit truth information that we need for the decoration.
Definition: PFlowCalibPFODecoratorAlgorithm.h:55
PFlowCalibPFODecoratorAlgorithm::m_pfoWriteDecorHandleKeyNLeadingTruthParticles
SG::WriteDecorHandleKey< xAOD::FlowElementContainer > m_pfoWriteDecorHandleKeyNLeadingTruthParticles
Write handle key to decorate PFO with threeN leading truth particle barcode and energy.
Definition: PFlowCalibPFODecoratorAlgorithm.h:52
AthReentrantAlgorithm::AthReentrantAlgorithm
AthReentrantAlgorithm()
Default constructor:
PFlowCalibPFODecoratorAlgorithm::m_numTruthParticles
Gaudi::Property< unsigned int > m_numTruthParticles
Allow user to set the number of truth particles per clusterCaloCluster or PFO, in descending pt order...
Definition: PFlowCalibPFODecoratorAlgorithm.h:58
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
SG::WriteDecorHandle
Handle class for adding a decoration to an object.
Definition: StoreGate/StoreGate/WriteDecorHandle.h:99
WriteDecorHandle.h
Handle class for adding a decoration to an object.
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
AthReentrantAlgorithm.h
PFlowCalibPFODecoratorAlgorithm::initialize
virtual StatusCode initialize() override
Definition: PFlowCalibPFODecoratorAlgorithm.cxx:10
PFlowCalibPFODecoratorAlgorithm::~PFlowCalibPFODecoratorAlgorithm
virtual ~PFlowCalibPFODecoratorAlgorithm()
Destructor.
Definition: PFlowCalibPFODecoratorAlgorithm.h:39
PFlowCalibPFODecoratorAlgorithm
This algorithm decorates xAOD::FlowElement with calibration hit truth information.
Definition: PFlowCalibPFODecoratorAlgorithm.h:32
TruthParticle.h
PFlowCalibPFODecoratorAlgorithm::finalize
virtual StatusCode finalize() override
Definition: PFlowCalibPFODecoratorAlgorithm.cxx:64