ATLAS Offline Software
Loading...
Searching...
No Matches
IsoCloseByCorrectionAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef IsoCloseByCorrectionAlg_H
6#define IsoCloseByCorrectionAlg_H
7
8// Gaudi & Athena basics
12#include "GaudiKernel/SystemOfUnits.h"
26
27namespace CP {
28
30 public:
31 IsoCloseByCorrectionAlg(const std::string& name, ISvcLocator* svcLoc);
32
33 StatusCode execute(const EventContext& ctx) const override;
34 StatusCode initialize() override;
35
36 private:
37 StatusCode applySelection(const EventContext& ctx,
38 const xAOD::Electron* elec,
39 const SG::Decorator<char>& isOK) const;
40 StatusCode applySelection(const EventContext& ctx,
41 const xAOD::Photon* phot,
42 const SG::Decorator<char>& isOK) const;
43 StatusCode applySelection(const EventContext& ctx,
44 const xAOD::Muon* muon,
45 const SG::Decorator<char>& isOK) const;
46 template <class CONT_TYPE>
47 StatusCode selectLeptonsAndPhotons(const EventContext& ctx, CONT_TYPE particles, const SG::Decorator<char>& isOK) const;
48
51
54
59
61 ToolHandle<CP::IMuonSelectionTool> m_muonSelTool{this, "MuonSelectionTool", ""};
62 ToolHandle<IAsgElectronLikelihoodTool> m_elecSelTool{this, "ElectronSelectionTool", ""};
63 ToolHandle<IAsgPhotonIsEMSelector> m_photSelTool{this, "PhotonSelectionTool", ""};
64
66 ToolHandle<CP::IIsolationCloseByCorrectionTool> m_closeByCorrTool{this, "IsoCloseByCorrectionTool", "",
67 "The isolation close by correction tool."};
68
70 Gaudi::Property<float> m_minElecPt{this, "MinElecPt", 0,
71 "Minimum pt cut that the electron needs to pass in order to be selected"};
72 Gaudi::Property<float> m_minMuonPt{this, "MinMuonPt", 0,
73 "Minimum pt cut that the muon needs to pass in order to be selected"};
74 Gaudi::Property<float> m_minPhotPt{this, "MinPhotPt", 0,
75 "Minimum pt cut that the photon needs to pass in order to be selected"};
76
77 // Name of the isolation selection decoration
78 Gaudi::Property<std::string> m_quality_name{
79 this, "SelectionDecorator", "isoSelIsOK",
80 "Name of the char auxdata defining whether the particle shall be considered for iso correction"};
81 };
82} // namespace CP
83#endif
DataVector adapter that acts like it holds const pointers.
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
Define macros for attributes used to control the static checker.
An algorithm that can be simultaneously executed in multiple threads.
Gaudi::Property< float > m_minElecPt
Kinematic cuts - if needed.
SG::ReadDecorHandleKey< xAOD::ElectronContainer > m_elecSelKey
SG::ReadHandleKeyArray< xAOD::IParticleContainer > m_contKeys
Input containers to retrieve from the storegate.
SG::ReadDecorHandleKey< xAOD::MuonContainer > m_muonSelKey
For lepton/photon selection, normally one uses either a decorator xxxSelKey, or a tool xxxSelTool,...
Gaudi::Property< std::string > m_quality_name
Gaudi::Property< float > m_minPhotPt
StatusCode selectLeptonsAndPhotons(const EventContext &ctx, CONT_TYPE particles, const SG::Decorator< char > &isOK) const
IsoCloseByCorrectionAlg(const std::string &name, ISvcLocator *svcLoc)
ToolHandle< CP::IIsolationCloseByCorrectionTool > m_closeByCorrTool
The closeBy isolation correction tool.
StatusCode execute(const EventContext &ctx) const override
StatusCode applySelection(const EventContext &ctx, const xAOD::Electron *elec, const SG::Decorator< char > &isOK) const
ToolHandle< IAsgPhotonIsEMSelector > m_photSelTool
ToolHandle< IAsgElectronLikelihoodTool > m_elecSelTool
SG::ReadDecorHandleKey< xAOD::PhotonContainer > m_photSelKey
ToolHandle< CP::IMuonSelectionTool > m_muonSelTool
tools for selection of incoming particles
Gaudi::Property< float > m_minMuonPt
Helper class to provide type-safe access to aux data.
Definition Decorator.h:59
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Select isolated Photons, Electrons and Muons.
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
Muon_v1 Muon
Reference the current persistent version:
Photon_v1 Photon
Definition of the current "egamma version".
Electron_v1 Electron
Definition of the current "egamma version".