ATLAS Offline Software
ParticleLevelOverlapRemovalAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 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 
15 #include <xAODJet/JetContainer.h>
17 
18 namespace CP {
20  public:
22  virtual StatusCode initialize() final;
23  virtual StatusCode execute() 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);
74 };
75 
76 } // namespace CP
77 
78 #endif
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition: StoreGate/StoreGate/WriteDecorHandleKey.h:89
CP::ParticleLevelOverlapRemovalAlg::m_doJetPhotonOR
Gaudi::Property< bool > m_doJetPhotonOR
Definition: ParticleLevelOverlapRemovalAlg.h:65
CP::ParticleLevelOverlapRemovalAlg::m_decORelectron
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decORelectron
Definition: ParticleLevelOverlapRemovalAlg.h:36
PropertyWrapper.h
TruthParticleContainer.h
CP::ParticleLevelOverlapRemovalAlg::m_photonSelection
CP::SelectionReadHandle m_photonSelection
Definition: ParticleLevelOverlapRemovalAlg.h:49
TRTCalib_cfilter.p1
p1
Definition: TRTCalib_cfilter.py:130
CP::ParticleLevelOverlapRemovalAlg::m_muonsKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_muonsKey
Definition: ParticleLevelOverlapRemovalAlg.h:30
CP::ParticleLevelOverlapRemovalAlg::dressedDeltaR
float dressedDeltaR(const xAOD::Jet *p1, TLorentzVector &p2, bool useRapidity)
Definition: ParticleLevelOverlapRemovalAlg.cxx:48
CP::ParticleLevelOverlapRemovalAlg::m_jetsKey
SG::ReadHandleKey< xAOD::JetContainer > m_jetsKey
Definition: ParticleLevelOverlapRemovalAlg.h:26
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:49
EL::AnaAlgorithm::AnaAlgorithm
AnaAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Definition: AnaAlgorithm.cxx:40
CP::ParticleLevelOverlapRemovalAlg::m_muonSelection
CP::SelectionReadHandle m_muonSelection
Definition: ParticleLevelOverlapRemovalAlg.h:47
AnaAlgorithm.h
SelectionReadHandle.h
TRTCalib_cfilter.p2
p2
Definition: TRTCalib_cfilter.py:131
EL::AnaAlgorithm
the (new) base class for EventLoop algorithms
Definition: AnaAlgorithm.h:73
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
CP::ParticleLevelOverlapRemovalAlg::m_decORphoton
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decORphoton
Definition: ParticleLevelOverlapRemovalAlg.h:40
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_decLabelOR
Gaudi::Property< std::string > m_decLabelOR
Definition: ParticleLevelOverlapRemovalAlg.h:68
CP::ParticleLevelOverlapRemovalAlg::m_doJetMuonOR
Gaudi::Property< bool > m_doJetMuonOR
Definition: ParticleLevelOverlapRemovalAlg.h:62
CP::ParticleLevelOverlapRemovalAlg::m_jetSelection
CP::SelectionReadHandle m_jetSelection
Definition: ParticleLevelOverlapRemovalAlg.h:42
CP::ParticleLevelOverlapRemovalAlg::m_useRapidity
Gaudi::Property< bool > m_useRapidity
Definition: ParticleLevelOverlapRemovalAlg.h:51
CP::ParticleLevelOverlapRemovalAlg::m_electronsKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_electronsKey
Definition: ParticleLevelOverlapRemovalAlg.h:28
CP::SelectionReadHandle
a data handle for reading selection properties from objects
Definition: SelectionReadHandle.h:29
CP::ParticleLevelOverlapRemovalAlg::execute
virtual StatusCode execute() final
Definition: ParticleLevelOverlapRemovalAlg.cxx:58
CP::ParticleLevelOverlapRemovalAlg::m_useDressedProperties
Gaudi::Property< bool > m_useDressedProperties
Definition: ParticleLevelOverlapRemovalAlg.h:55
WriteDecorHandleKey.h
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
CP::ParticleLevelOverlapRemovalAlg::m_photonsKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_photonsKey
Definition: ParticleLevelOverlapRemovalAlg.h:32
JetContainer.h
CP::ParticleLevelOverlapRemovalAlg::initialize
virtual StatusCode initialize() final
Definition: ParticleLevelOverlapRemovalAlg.cxx:16
CP::ParticleLevelOverlapRemovalAlg::m_decORmuon
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decORmuon
Definition: ParticleLevelOverlapRemovalAlg.h:38
CP::ParticleLevelOverlapRemovalAlg
Definition: ParticleLevelOverlapRemovalAlg.h:19
CP::ParticleLevelOverlapRemovalAlg::m_decORjet
SG::WriteDecorHandleKey< xAOD::JetContainer > m_decORjet
Definition: ParticleLevelOverlapRemovalAlg.h:34