ATLAS Offline Software
Loading...
Searching...
No Matches
METRemappingAlg.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5 */
6
7#ifndef DERIVATIONFRAMEWORK_METREMAPPINGALG_H
8#define DERIVATIONFRAMEWORK_METREMAPPINGALG_H
9
10#include <string>
11#include <vector>
12#include <map>
13
14#include "Gaudi/Property.h"
15#include "GaudiKernel/ToolHandle.h"
18#include "AthLinks/ElementLink.h"
19
20#include "xAODBase/IParticle.h"
30
31namespace DerivationFramework {
33 public:
34 METRemappingAlg(const std::string& name, ISvcLocator* pSvcLocator);
35 virtual ~METRemappingAlg() = default;
36
37 virtual StatusCode initialize() override;
38 virtual StatusCode execute() override;
39
40 private:
41 typedef std::map<const xAOD::IParticle*, ElementLink<xAOD::IParticleContainer>> linkMap_t;
42 template<typename handle_t> StatusCode fillLinkMap(linkMap_t &map, handle_t &handle);
43
44 SG::ReadHandleKey<xAOD::JetContainer> m_jetContKey{this, "JetCollectionKey", "AnalysisJets", "SG key for the analysis jets collection"};
45 SG::ReadHandleKey<xAOD::PhotonContainer> m_photonContKey{this, "PhotonCollectionKey", "AnalysisPhotons", "SG key for the analysis photons collection"};
46 SG::ReadHandleKey<xAOD::ElectronContainer> m_electronContKey{this, "ElectronCollectionKey", "AnalysisElectrons", "SG key for the analysis electrons collection"};
47 SG::ReadHandleKey<xAOD::MuonContainer> m_muonContKey{this, "MuonCollectionKey", "AnalysisMuons", "SG key for the analysis muons collection"};
48 SG::ReadHandleKey<xAOD::TauJetContainer> m_tauContKey{this, "TauCollectionKey", "AnalysisTauJets", "SG key for the analysis tau jets collection"};
49 SG::ReadHandleKey<xAOD::MissingETAssociationMap> m_inputMapKey{this, "AssociationInputKey", "METAssoc_AntiKt4EMPFlow", "SG key for the input MissingETAssociationMap"};
50 SG::ReadHandleKey<xAOD::MissingETContainer> m_inputCoreKey{this, "METCoreInputKey", "MET_Core_AntiKt4EMPFlow", "SG key for the input MET core container"};
51 SG::WriteHandleKey<xAOD::MissingETAssociationMap> m_outputMapKey{this, "AssociationOutputKey", "METAssoc_AnalysisMET", "SG key for the output MissingETAssociationMap"};
52 SG::WriteHandleKey<xAOD::MissingETContainer> m_outputCoreKey{this, "METCoreOutputKey", "MET_Core_AnalysisMET", "SG key for the output MET core container"};
53
55
56 }; //> end class METRemappingAlg
57} //> end namespace DerivationFramework
58
59#endif //> !DERIVATIONFRAMEWORK_METREMAPPINGALG_H
defines an "iterator" over instances of a given type in StoreGateSvc
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
const SG::AuxElement::ConstAccessor< ElementLink< xAOD::IParticleContainer > > m_accOriginalObject
SG::WriteHandleKey< xAOD::MissingETAssociationMap > m_outputMapKey
METRemappingAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadHandleKey< xAOD::MissingETContainer > m_inputCoreKey
SG::ReadHandleKey< xAOD::JetContainer > m_jetContKey
SG::WriteHandleKey< xAOD::MissingETContainer > m_outputCoreKey
StatusCode fillLinkMap(linkMap_t &map, handle_t &handle)
SG::ReadHandleKey< xAOD::TauJetContainer > m_tauContKey
virtual StatusCode execute() override
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronContKey
SG::ReadHandleKey< xAOD::MuonContainer > m_muonContKey
std::map< const xAOD::IParticle *, ElementLink< xAOD::IParticleContainer > > linkMap_t
SG::ReadHandleKey< xAOD::MissingETAssociationMap > m_inputMapKey
SG::ReadHandleKey< xAOD::PhotonContainer > m_photonContKey
virtual StatusCode initialize() override
SG::ConstAccessor< T, ALLOC > ConstAccessor
Definition AuxElement.h:569
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
STL class.
THE reconstruction tool.