ATLAS Offline Software
Loading...
Searching...
No Matches
ParticleLevelOverlapRemovalAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7#ifndef TRUTH__PARTICLELEVEL_OVERLAPREMOVAL__ALG_H
8#define TRUTH__PARTICLELEVEL_OVERLAPREMOVAL__ALG_H
9
17
18namespace CP {
20 public:
22 virtual StatusCode initialize() final;
23 virtual StatusCode execute(const EventContext &ctx) const final;
24
25 private:
27 this, "jets", "", "the name of the input truth jet container"};
29 this, "electrons", "", "the name of the input truth electrons container"};
31 this, "muons", "", "the name of the input truth muons container"};
33 this, "photons", "", "the name of the input truth photons container"};
35 this, "decORjet", "SetMe", ""};
37 this, "decORelectron", "TruthElectrons.passesOR", ""};
39 this, "decORmuon", "TruthMuons.passesOR", ""};
41 this, "decORphoton", "TruthPhotons.passesOR", ""};
43 this, "jetSelection", "", "the selection on the input truth jets"};
45 this, "electronSelection", "",
46 "the selection on the input truth electrons"};
48 this, "muonSelection", "", "the selection on the input truth muons"};
50 this, "photonSelection", "", "the selection on the input truth photons"};
51 Gaudi::Property<bool> m_useRapidity{
52 this, "useRapidityForDeltaR", true,
53 "whether to use rapidity instead of pseudo-rapidity for the calculation "
54 "of DeltaR"};
55 Gaudi::Property<bool> m_useDressedProperties{
56 this, "useDressedProperties", true,
57 "whether to use dressed electron and muon kinematics rather than simple "
58 "P4 kinematics"};
59 Gaudi::Property<bool> m_doJetElectronOR{
60 this, "doJetElectronOR", false,
61 "whether to perform jet-electron overlap removal"};
62 Gaudi::Property<bool> m_doJetMuonOR{
63 this, "doJetMuonOR", false,
64 "whether to perform jet-muon overlap removal"};
65 Gaudi::Property<bool> m_doJetPhotonOR{
66 this, "doJetPhotonOR", false,
67 "whether to perform jet-photon overlap removal"};
68 Gaudi::Property<std::string> m_decLabelOR{
69 this, "labelOR", "passesOR",
70 "decoration to apply to all particles for overlap removal"};
71
72 float dressedDeltaR(const xAOD::Jet* p1, TLorentzVector& p2,
73 bool useRapidity) const;
74};
75
76} // namespace CP
77
78#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_photonsKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decORmuon
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_muonsKey
SG::ReadHandleKey< xAOD::JetContainer > m_jetsKey
float dressedDeltaR(const xAOD::Jet *p1, TLorentzVector &p2, bool useRapidity) const
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decORphoton
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decORelectron
virtual StatusCode execute(const EventContext &ctx) const final
SG::WriteDecorHandleKey< xAOD::JetContainer > m_decORjet
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_electronsKey
a data handle for reading selection properties from objects
the base class for EventLoop reentrant algorithms
AnaReentrantAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Select isolated Photons, Electrons and Muons.
Jet_v1 Jet
Definition of the current "jet version".