ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Algorithms
TruthParticleLevelAnalysisAlgorithms
TruthParticleLevelAnalysisAlgorithms
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
10
#include <
AnaAlgorithm/AnaReentrantAlgorithm.h
>
11
#include <
AsgDataHandles/ReadHandleKey.h
>
12
#include <
AsgDataHandles/WriteDecorHandleKey.h
>
13
#include <
AsgTools/PropertyWrapper.h
>
14
#include <
SelectionHelpers/SelectionReadHandle.h
>
15
#include <
xAODJet/JetContainer.h
>
16
#include <
xAODTruth/TruthParticleContainer.h
>
17
18
namespace
CP
{
19
class
ParticleLevelOverlapRemovalAlg
:
public
EL::AnaReentrantAlgorithm
{
20
public
:
21
using
EL::AnaReentrantAlgorithm::AnaReentrantAlgorithm
;
22
virtual
StatusCode
initialize
()
final
;
23
virtual
StatusCode
execute
(
const
EventContext &ctx)
const
final
;
24
25
private
:
26
SG::ReadHandleKey<xAOD::JetContainer>
m_jetsKey
{
27
this
,
"jets"
,
""
,
"the name of the input truth jet container"
};
28
SG::ReadHandleKey<xAOD::TruthParticleContainer>
m_electronsKey
{
29
this
,
"electrons"
,
""
,
"the name of the input truth electrons container"
};
30
SG::ReadHandleKey<xAOD::TruthParticleContainer>
m_muonsKey
{
31
this
,
"muons"
,
""
,
"the name of the input truth muons container"
};
32
SG::ReadHandleKey<xAOD::TruthParticleContainer>
m_photonsKey
{
33
this
,
"photons"
,
""
,
"the name of the input truth photons container"
};
34
SG::WriteDecorHandleKey<xAOD::JetContainer>
m_decORjet
{
35
this
,
"decORjet"
,
"SetMe"
,
""
};
36
SG::WriteDecorHandleKey<xAOD::TruthParticleContainer>
m_decORelectron
{
37
this
,
"decORelectron"
,
"TruthElectrons.passesOR"
,
""
};
38
SG::WriteDecorHandleKey<xAOD::TruthParticleContainer>
m_decORmuon
{
39
this
,
"decORmuon"
,
"TruthMuons.passesOR"
,
""
};
40
SG::WriteDecorHandleKey<xAOD::TruthParticleContainer>
m_decORphoton
{
41
this
,
"decORphoton"
,
"TruthPhotons.passesOR"
,
""
};
42
CP::SelectionReadHandle
m_jetSelection
{
43
this
,
"jetSelection"
,
""
,
"the selection on the input truth jets"
};
44
CP::SelectionReadHandle
m_electronSelection
{
45
this
,
"electronSelection"
,
""
,
46
"the selection on the input truth electrons"
};
47
CP::SelectionReadHandle
m_muonSelection
{
48
this
,
"muonSelection"
,
""
,
"the selection on the input truth muons"
};
49
CP::SelectionReadHandle
m_photonSelection
{
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
AnaReentrantAlgorithm.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteDecorHandleKey.h
TruthParticleContainer.h
JetContainer.h
PropertyWrapper.h
SelectionReadHandle.h
CP::ParticleLevelOverlapRemovalAlg
Definition
ParticleLevelOverlapRemovalAlg.h:19
CP::ParticleLevelOverlapRemovalAlg::m_photonsKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_photonsKey
Definition
ParticleLevelOverlapRemovalAlg.h:32
CP::ParticleLevelOverlapRemovalAlg::m_decORmuon
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decORmuon
Definition
ParticleLevelOverlapRemovalAlg.h:38
CP::ParticleLevelOverlapRemovalAlg::m_muonsKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_muonsKey
Definition
ParticleLevelOverlapRemovalAlg.h:30
CP::ParticleLevelOverlapRemovalAlg::m_jetsKey
SG::ReadHandleKey< xAOD::JetContainer > m_jetsKey
Definition
ParticleLevelOverlapRemovalAlg.h:26
CP::ParticleLevelOverlapRemovalAlg::dressedDeltaR
float dressedDeltaR(const xAOD::Jet *p1, TLorentzVector &p2, bool useRapidity) const
Definition
ParticleLevelOverlapRemovalAlg.cxx:47
CP::ParticleLevelOverlapRemovalAlg::m_decORphoton
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decORphoton
Definition
ParticleLevelOverlapRemovalAlg.h:40
CP::ParticleLevelOverlapRemovalAlg::m_decORelectron
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decORelectron
Definition
ParticleLevelOverlapRemovalAlg.h:36
CP::ParticleLevelOverlapRemovalAlg::m_jetSelection
CP::SelectionReadHandle m_jetSelection
Definition
ParticleLevelOverlapRemovalAlg.h:42
CP::ParticleLevelOverlapRemovalAlg::m_muonSelection
CP::SelectionReadHandle m_muonSelection
Definition
ParticleLevelOverlapRemovalAlg.h:47
CP::ParticleLevelOverlapRemovalAlg::m_useDressedProperties
Gaudi::Property< bool > m_useDressedProperties
Definition
ParticleLevelOverlapRemovalAlg.h:55
CP::ParticleLevelOverlapRemovalAlg::execute
virtual StatusCode execute(const EventContext &ctx) const final
Definition
ParticleLevelOverlapRemovalAlg.cxx:57
CP::ParticleLevelOverlapRemovalAlg::m_decORjet
SG::WriteDecorHandleKey< xAOD::JetContainer > m_decORjet
Definition
ParticleLevelOverlapRemovalAlg.h:34
CP::ParticleLevelOverlapRemovalAlg::initialize
virtual StatusCode initialize() final
Definition
ParticleLevelOverlapRemovalAlg.cxx:15
CP::ParticleLevelOverlapRemovalAlg::m_electronsKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_electronsKey
Definition
ParticleLevelOverlapRemovalAlg.h:28
CP::ParticleLevelOverlapRemovalAlg::m_doJetPhotonOR
Gaudi::Property< bool > m_doJetPhotonOR
Definition
ParticleLevelOverlapRemovalAlg.h:65
CP::ParticleLevelOverlapRemovalAlg::m_doJetElectronOR
Gaudi::Property< bool > m_doJetElectronOR
Definition
ParticleLevelOverlapRemovalAlg.h:59
CP::ParticleLevelOverlapRemovalAlg::m_electronSelection
CP::SelectionReadHandle m_electronSelection
Definition
ParticleLevelOverlapRemovalAlg.h:44
CP::ParticleLevelOverlapRemovalAlg::m_doJetMuonOR
Gaudi::Property< bool > m_doJetMuonOR
Definition
ParticleLevelOverlapRemovalAlg.h:62
CP::ParticleLevelOverlapRemovalAlg::m_useRapidity
Gaudi::Property< bool > m_useRapidity
Definition
ParticleLevelOverlapRemovalAlg.h:51
CP::ParticleLevelOverlapRemovalAlg::m_decLabelOR
Gaudi::Property< std::string > m_decLabelOR
Definition
ParticleLevelOverlapRemovalAlg.h:68
CP::ParticleLevelOverlapRemovalAlg::m_photonSelection
CP::SelectionReadHandle m_photonSelection
Definition
ParticleLevelOverlapRemovalAlg.h:49
CP::SelectionReadHandle
a data handle for reading selection properties from objects
Definition
SelectionReadHandle.h:29
EL::AnaReentrantAlgorithm
the base class for EventLoop reentrant algorithms
Definition
AnaReentrantAlgorithm.h:51
EL::AnaReentrantAlgorithm::AnaReentrantAlgorithm
AnaReentrantAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Definition
AnaReentrantAlgorithm.cxx:29
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition
StoreGate/StoreGate/WriteDecorHandleKey.h:90
CP
Select isolated Photons, Electrons and Muons.
Definition
Control/xAODRootAccess/xAODRootAccess/TEvent.h:27
xAOD::Jet
Jet_v1 Jet
Definition of the current "jet version".
Definition
Event/xAOD/xAODJet/xAODJet/Jet.h:17
Generated on
for ATLAS Offline Software by
1.17.0