ATLAS Offline Software
METMakerAlg.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // METMakerAlg.h
8 
9 #ifndef METMakerAlg_H
10 #define METMakerAlg_H
11 
13 #include "GaudiKernel/ToolHandle.h"
14 #include "StoreGate/DataHandle.h"
15 
16 #include "xAODEgamma/Electron.h"
17 #include "xAODEgamma/Photon.h"
18 #include "xAODMuon/Muon.h"
19 #include "xAODTau/TauJet.h"
20 
21 #include "xAODJet/JetContainer.h"
22 #include "xAODMuon/MuonContainer.h"
26 
29 
30 
31 class IMETMaker;
34 namespace CP {
35  class IMuonSelectionTool;
36 }
37 namespace TauAnalysisTools {
38  class ITauSelectionTool;
39 }
40 
41 namespace met {
42  class METMakerAlg : public AthAlgorithm {
43 
44  public:
45 
47  METMakerAlg(const std::string& name, ISvcLocator* pSvcLocator);
48 
50  virtual ~METMakerAlg();
51 
53  virtual StatusCode initialize() override;
54  virtual StatusCode execute() override;
55  virtual StatusCode finalize() override;
56 
57  protected: // was private childORMETMaker
58 
61 
62  virtual bool accept(const xAOD::Electron* el);
63  virtual bool accept(const xAOD::Photon* ph);
64  virtual bool accept(const xAOD::TauJet* tau);
65  virtual bool accept(const xAOD::Muon* muon);
66 
67  std::string m_softclname;
68  std::string m_softtrkname;
69 
70  //In release 21 need to replace the names of the containers by the appropriate data handles
76 
78 
81 
82 
84 
86  ToolHandle<IMETMaker> m_metmaker;
87 
88  ToolHandle<CP::IMuonSelectionTool> m_muonSelTool;
89  ToolHandle<IAsgElectronLikelihoodTool> m_elecSelLHTool;
90  ToolHandle<IAsgPhotonIsEMSelector> m_photonSelIsEMTool;
91  ToolHandle<TauAnalysisTools::ITauSelectionTool> m_tauSelTool;
92 
93  };
94 
95 }
96 
97 #endif
TauAnalysisTools
Definition: TruthCollectionMakerTau.h:16
xAOD::muon
@ muon
Definition: TrackingPrimitives.h:195
met::METMakerAlg::m_softclname
std::string m_softclname
Definition: METMakerAlg.h:67
met::METMakerAlg
Definition: METMakerAlg.h:42
met::METMakerAlg::m_photonSelIsEMTool
ToolHandle< IAsgPhotonIsEMSelector > m_photonSelIsEMTool
Definition: METMakerAlg.h:90
Muon.h
met::METMakerAlg::METMakerAlg
METMakerAlg()
Default constructor:
met::METMakerAlg::execute
virtual StatusCode execute() override
Definition: METMakerAlg.cxx:120
met::METMakerAlg::~METMakerAlg
virtual ~METMakerAlg()
Destructor:
met::METMakerAlg::m_PhotonContainerKey
SG::ReadHandleKey< xAOD::PhotonContainer > m_PhotonContainerKey
Definition: METMakerAlg.h:72
met::METMakerAlg::finalize
virtual StatusCode finalize() override
Definition: METMakerAlg.cxx:113
SG::ReadHandleKey< xAOD::ElectronContainer >
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
DataHandle.h
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
met::METMakerAlg::m_tauSelTool
ToolHandle< TauAnalysisTools::ITauSelectionTool > m_tauSelTool
Definition: METMakerAlg.h:91
AthAlgorithm.h
IMETMaker
Definition: IMETMaker.h:28
met
Definition: IMETSignificance.h:24
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
ElectronContainer.h
met::METMakerAlg::m_elecSelLHTool
ToolHandle< IAsgElectronLikelihoodTool > m_elecSelLHTool
Definition: METMakerAlg.h:89
Photon.h
met::METMakerAlg::m_softtrkname
std::string m_softtrkname
Definition: METMakerAlg.h:68
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
met::METMakerAlg::m_metKey
SG::WriteHandleKey< xAOD::MissingETContainer > m_metKey
Definition: METMakerAlg.h:79
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
met::METMakerAlg::accept
virtual bool accept(const xAOD::Electron *el)
Definition: METMakerAlg.cxx:286
met::METMakerAlg::m_TauJetContainerKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_TauJetContainerKey
Definition: METMakerAlg.h:73
IAsgPhotonIsEMSelector
Interface to tool to select photons.
Definition: IAsgPhotonIsEMSelector.h:25
plotIsoValidation.el
el
Definition: plotIsoValidation.py:197
met::METMakerAlg::m_metMapKey
SG::ReadHandleKey< xAOD::MissingETAssociationMap > m_metMapKey
Definition: METMakerAlg.h:80
TauJetContainer.h
met::METMakerAlg::initialize
virtual StatusCode initialize() override
Athena algorithm's Hooks.
Definition: METMakerAlg.cxx:70
met::METMakerAlg::m_MuonContainerKey
SG::ReadHandleKey< xAOD::MuonContainer > m_MuonContainerKey
Definition: METMakerAlg.h:74
AthAlgorithm
Definition: AthAlgorithm.h:47
met::METMakerAlg::m_CoreMetKey
SG::ReadHandleKey< xAOD::MissingETContainer > m_CoreMetKey
Definition: METMakerAlg.h:77
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
met::METMakerAlg::m_muonSelTool
ToolHandle< CP::IMuonSelectionTool > m_muonSelTool
Definition: METMakerAlg.h:88
xAOD::Electron_v1
Definition: Electron_v1.h:34
met::METMakerAlg::m_doTruthLep
bool m_doTruthLep
Definition: METMakerAlg.h:83
MuonContainer.h
IAsgElectronLikelihoodTool
Interface to tool to select electrons.
Definition: IAsgElectronLikelihoodTool.h:27
JetContainer.h
xAOD::Photon_v1
Definition: Photon_v1.h:37
TauJet.h
met::METMakerAlg::m_JetContainerKey
SG::ReadHandleKey< xAOD::JetContainer > m_JetContainerKey
Definition: METMakerAlg.h:75
MissingETAssociationMap.h
Electron.h
met::METMakerAlg::m_ElectronContainerKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_ElectronContainerKey
Definition: METMakerAlg.h:71
PhotonContainer.h
MissingETContainer.h
met::METMakerAlg::m_metmaker
ToolHandle< IMETMaker > m_metmaker
Athena configured tools.
Definition: METMakerAlg.h:86