ATLAS Offline Software
PFEGamFlowElementAssoc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /*
6  * PFEGamFlowElementAssoc.h
7  * Header file for class PFEGamFlowElementAssoc
8  *
9  * Created on: 13.03.19
10  * Author: J. C. MacDonald & Upgraded by M.T. Anthony
11  */
12 
13 #ifndef PFEGAMFLOWELEMENTASSOC_H
14 #define PFEGAMFLOWELEMENTASSOC_H
15 
18 #include "GaudiKernel/ToolHandle.h"
19 #include "StoreGate/DataHandle.h"
20 
23 
35 
36 public:
38 
39  PFEGamFlowElementAssoc(const std::string& name, ISvcLocator* pSvcLocator);
40 
42 
43  virtual StatusCode initialize();
44  virtual StatusCode execute(const EventContext & ctx) const;
45  virtual StatusCode finalize();
46 
47 private:
48  //instantiate ReadHandle for the Photon/Electron
49  SG::ReadHandleKey<xAOD::ElectronContainer>m_electronReadHandleKey{this,"ElectronContainer","Electrons","ReadHandleKey for ElectronContainer"};
50 
51  SG::ReadHandleKey<xAOD::PhotonContainer>m_photonReadHandleKey{this,"PhotonContainer","Photons","ReadHandleKey for PhotonContainer"};
52 
53  //Readhandles for FlowElements.
54  SG::ReadHandleKey<xAOD::FlowElementContainer> m_neutralFEReadHandleKey{this,"JetEtMissNeutralFlowElementContainer","JetETMissNeutralParticleFlowObjects","ReadHandleKey for neutral FlowElements"};
55 
56  SG::ReadHandleKey<xAOD::FlowElementContainer> m_chargedFEReadHandleKey{this,"JetEtMissChargedFlowElementContainer","JetETMissChargedParticleFlowObjects","ReadHandleKey for charged FlowElements"};
57 
58 
60  SG::WriteDecorHandleKey<xAOD::ElectronContainer> m_electronNeutralFEWriteDecorKey{this,"ElectronNeutralFEDecorKey","Electrons.neutralFELinks","Output key for electron link to neutral FE"};
62  SG::WriteDecorHandleKey<xAOD::ElectronContainer> m_electronChargedFEWriteDecorKey{this,"ElectronChargedFEDecorKey","Electrons.chargedFELinks","Output key for electron link to charged FE"};
63 
66  SG::WriteDecorHandleKey<xAOD::FlowElementContainer> m_neutralFEElectronWriteDecorKey{this,"NeutralFEElectronDecorKey","JetETMissNeutralParticleFlowObjects.FE_ElectronLinks","Output key for link from charged FE to electron"};
67 
69  SG::WriteDecorHandleKey<xAOD::FlowElementContainer> m_chargedFEElectronWriteDecorKey{this,"ChargedFEElectronDecorKey","JetETMissChargedParticleFlowObjects.FE_ElectronLinks","Output key for link from charged FE to electron"};
70 
71 
73  SG::WriteDecorHandleKey<xAOD::PhotonContainer> m_photonNeutralFEWriteDecorKey{this,"PhotonNeutralFEDecorKey","Photons.neutralFELinks","Output key for photon link to neutral FE"};
75  SG::WriteDecorHandleKey<xAOD::PhotonContainer> m_photonChargedFEWriteDecorKey{this,"PhotonChargedFEDecorKey","Photons.chargedFELinks","Output key for photon link to charged FE"};
77  SG::WriteDecorHandleKey<xAOD::FlowElementContainer> m_neutralFEPhotonWriteDecorKey{this,"NeutralFEPhotonDecorKey","JetETMissNeutralParticleFlowObjects.FE_PhotonLinks","Output key for link from neutral FE to photon"};
79  SG::WriteDecorHandleKey<xAOD::FlowElementContainer> m_chargedFEPhotonWriteDecorKey{this,"ChargedFEPhotonDecorKey","JetETMissChargedParticleFlowObjects.FE_PhotonLinks","Output key for link from charged FE to photon"};
80 
81 
82 };
83 
84 #endif // PFEGamFlowElementAssoc
SG::WriteDecorHandleKey< xAOD::ElectronContainer >
PFEGamFlowElementAssoc
This is the algorithm, which inherits from AthReentrantAlgorithm, that adds element links between par...
Definition: PFEGamFlowElementAssoc.h:34
FlowElementContainer.h
PFEGamFlowElementAssoc::initialize
virtual StatusCode initialize()
Definition: PFEGamFlowElementAssoc.cxx:34
PFEGamFlowElementAssoc::m_photonNeutralFEWriteDecorKey
SG::WriteDecorHandleKey< xAOD::PhotonContainer > m_photonNeutralFEWriteDecorKey
The write key for adding Neutral Flow Element element link decorations to photons.
Definition: PFEGamFlowElementAssoc.h:73
PFEGamFlowElementAssoc::execute
virtual StatusCode execute(const EventContext &ctx) const
This algorithm does the following: 1) Read the Input containers for Flow Elements,...
Definition: PFEGamFlowElementAssoc.cxx:68
PFEGamFlowElementAssoc::m_chargedFEPhotonWriteDecorKey
SG::WriteDecorHandleKey< xAOD::FlowElementContainer > m_chargedFEPhotonWriteDecorKey
The write key for adding photon element link decorations to Charged Flow Elements.
Definition: PFEGamFlowElementAssoc.h:79
PFEGamFlowElementAssoc::m_photonReadHandleKey
SG::ReadHandleKey< xAOD::PhotonContainer > m_photonReadHandleKey
Definition: PFEGamFlowElementAssoc.h:51
SG::ReadHandleKey< xAOD::ElectronContainer >
DataHandle.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
PFEGamFlowElementAssoc::m_neutralFEReadHandleKey
SG::ReadHandleKey< xAOD::FlowElementContainer > m_neutralFEReadHandleKey
Definition: PFEGamFlowElementAssoc.h:54
AthAlgorithm.h
PFEGamFlowElementAssoc::m_neutralFEElectronWriteDecorKey
SG::WriteDecorHandleKey< xAOD::FlowElementContainer > m_neutralFEElectronWriteDecorKey
The write key for adding electron element link decorations to Neutral Flow Elements.
Definition: PFEGamFlowElementAssoc.h:66
AthReentrantAlgorithm::AthReentrantAlgorithm
AthReentrantAlgorithm()
Default constructor:
ElectronContainer.h
PFEGamFlowElementAssoc::m_chargedFEReadHandleKey
SG::ReadHandleKey< xAOD::FlowElementContainer > m_chargedFEReadHandleKey
Definition: PFEGamFlowElementAssoc.h:56
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
WriteDecorHandle.h
Handle class for adding a decoration to an object.
AthReentrantAlgorithm.h
PFEGamFlowElementAssoc::m_chargedFEElectronWriteDecorKey
SG::WriteDecorHandleKey< xAOD::FlowElementContainer > m_chargedFEElectronWriteDecorKey
The write key for adding electron element link decorations to Charged Flow Elements.
Definition: PFEGamFlowElementAssoc.h:69
PFEGamFlowElementAssoc::PFEGamFlowElementAssoc
PFEGamFlowElementAssoc(const std::string &name, ISvcLocator *pSvcLocator)
Definition: PFEGamFlowElementAssoc.cxx:23
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
PFEGamFlowElementAssoc::m_photonChargedFEWriteDecorKey
SG::WriteDecorHandleKey< xAOD::PhotonContainer > m_photonChargedFEWriteDecorKey
The write key for adding Charged Flow Element element link decorations to photons.
Definition: PFEGamFlowElementAssoc.h:75
PFEGamFlowElementAssoc::finalize
virtual StatusCode finalize()
Definition: PFEGamFlowElementAssoc.cxx:58
PFEGamFlowElementAssoc::m_neutralFEPhotonWriteDecorKey
SG::WriteDecorHandleKey< xAOD::FlowElementContainer > m_neutralFEPhotonWriteDecorKey
The write key for adding photon element link decorations to Neutral Flow Elements.
Definition: PFEGamFlowElementAssoc.h:77
PFEGamFlowElementAssoc::m_electronNeutralFEWriteDecorKey
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_electronNeutralFEWriteDecorKey
The write key for adding Neutral Flow Element element link decorations to electrons.
Definition: PFEGamFlowElementAssoc.h:60
PFEGamFlowElementAssoc::m_electronReadHandleKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronReadHandleKey
Definition: PFEGamFlowElementAssoc.h:49
PFEGamFlowElementAssoc::m_electronChargedFEWriteDecorKey
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_electronChargedFEWriteDecorKey
The write key for adding Charged Flow Element element link decorations to electrons.
Definition: PFEGamFlowElementAssoc.h:62
PhotonContainer.h
PFEGamFlowElementAssoc::~PFEGamFlowElementAssoc
virtual ~PFEGamFlowElementAssoc()