ATLAS Offline Software
OfflineJetDecoratorAlg.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 INDETTRACKPERFMON_OFFLINEJETDECORATORALG_H
6 #define INDETTRACKPERFMON_OFFLINEJETDECORATORALG_H
7 
18 
21 #include "xAODJet/JetContainer.h"
22 
24 #include <string>
25 #include <vector>
26 
28 #include "SafeDecorator.h"
29 
30 
31 namespace IDTPM {
32 
34  public AthReentrantAlgorithm {
35 
36  public:
37 
39 
40  OfflineJetDecoratorAlg( const std::string& name, ISvcLocator* pSvcLocator );
41 
42  virtual ~OfflineJetDecoratorAlg() = default;
43 
44  virtual StatusCode initialize() override;
45 
46  virtual StatusCode execute( const EventContext& ctx ) const override;
47 
48  private:
49 
50  bool passJetCuts( const xAOD::Jet& jet ) const;
51 
53  this, "OfflineTrkParticleContainerName", "InDetTrackParticles", "Name of container of offline tracks" };
54 
55  StringProperty m_prefix{ this, "Prefix", "LinkedJet_", "Decoration prefix to avoid clashes" };
56 
60  ElementJetLink_t > >& jet_decor,
61  const xAOD::JetContainer& jets ) const;
62 
64  this, "JetContainerName", "InTimeAntiKt4TruthJets", "Name of container of jets" };
65 
66  FloatProperty m_maxTrkJetDR{ this, "maxTrkJetDR", 0.4, "the maximum DeltaR to jets to allow for track-in-jet plots" };
67  FloatProperty m_jetAbsEtaMin{ this, "JetAbsEtaMin", -999.0, "Minimum Eta value for jet selection" };
68  FloatProperty m_jetAbsEtaMax{ this, "JetAbsEtaMax", 4.0, "Maximum Eta value for jet selection" };
69  FloatProperty m_jetPtMin{ this, "JetPtMin", 1000.0, "Minimum Jet pT for jet selection" };
70  FloatProperty m_jetPtMax{ this, "JetPtMax", 5000000.0, "Maximum Jet pT for jet selection" };
71 
72  enum JetDecorations : size_t {
82  };
83 
84  const std::vector< std::string > m_decor_jet_names {
85  "DRtruthJet",
86  "DRtruthLightJet",
87  "DRtruthCjet",
88  "DRtruthBjet",
89  "DRtruthHeavyJet",
90  "DRGhostTruthJet",
91  "DRGhostTruthLightJet",
92  "DRGhostTruthBjet"
93  };
94 
97 
98 };
99 
100 } // namespace IDTPM
101 
102 #endif // > !INDETTRACKPERFMON_OFFLINEJETDECORATORALG_H
IDTPM::OfflineJetDecoratorAlg::m_jetsName
SG::ReadHandleKey< xAOD::JetContainer > m_jetsName
Definition: OfflineJetDecoratorAlg.h:63
IDTPM::OfflineJetDecoratorAlg::DRGhostTruthBjet
@ DRGhostTruthBjet
Definition: OfflineJetDecoratorAlg.h:80
xAOD::TrackParticleContainer
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackParticleContainer.h:14
IDTPM::OfflineJetDecoratorAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: OfflineJetDecoratorAlg.cxx:51
defineDB.jets
jets
Definition: JetTagCalibration/share/defineDB.py:24
SG::ReadHandleKey< xAOD::TrackParticleContainer >
IDTPM::OfflineJetDecoratorAlg::DRGhostTruth
@ DRGhostTruth
Definition: OfflineJetDecoratorAlg.h:78
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
IDTPM::OfflineJetDecoratorAlg::initialize
virtual StatusCode initialize() override
Definition: OfflineJetDecoratorAlg.cxx:27
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
IDTPM::OfflineJetDecoratorAlg::m_jetPtMin
FloatProperty m_jetPtMin
Definition: OfflineJetDecoratorAlg.h:69
IDTPM::OfflineJetDecoratorAlg::DRtruthHeavyJet
@ DRtruthHeavyJet
Definition: OfflineJetDecoratorAlg.h:77
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IDTPM::OfflineJetDecoratorAlg::passJetCuts
bool passJetCuts(const xAOD::Jet &jet) const
Definition: OfflineJetDecoratorAlg.cxx:155
IDTPM::OfflineJetDecoratorAlg::m_decor_jet_names
const std::vector< std::string > m_decor_jet_names
Definition: OfflineJetDecoratorAlg.h:84
IDTPM::OfflineJetDecoratorAlg
Definition: OfflineJetDecoratorAlg.h:34
IDTPM::OfflineJetDecoratorAlg::DRGhostTruthLightJet
@ DRGhostTruthLightJet
Definition: OfflineJetDecoratorAlg.h:79
IDTPM::OfflineJetDecoratorAlg::~OfflineJetDecoratorAlg
virtual ~OfflineJetDecoratorAlg()=default
IDTPM::OfflineJetDecoratorAlg::OfflineJetDecoratorAlg
OfflineJetDecoratorAlg(const std::string &name, ISvcLocator *pSvcLocator)
Local includes.
Definition: OfflineJetDecoratorAlg.cxx:18
IDTPM::OfflineJetDecoratorAlg::ElementJetLink_t
ElementLink< xAOD::JetContainer > ElementJetLink_t
Definition: OfflineJetDecoratorAlg.h:38
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
IDTPM::OfflineJetDecoratorAlg::m_jetAbsEtaMax
FloatProperty m_jetAbsEtaMax
Definition: OfflineJetDecoratorAlg.h:68
IDTPM::OfflineJetDecoratorAlg::JetDecorations
JetDecorations
Definition: OfflineJetDecoratorAlg.h:72
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
IDTPM::OfflineJetDecoratorAlg::m_prefix
StringProperty m_prefix
Definition: OfflineJetDecoratorAlg.h:55
IDTPM::OfflineJetDecoratorAlg::m_jetPtMax
FloatProperty m_jetPtMax
Definition: OfflineJetDecoratorAlg.h:70
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
SafeDecorator.h
Helper functions to perform safe decoration of xAOD objects in this package.
IDTPM::WriteKeyAccessorPair
std::pair< SG::WriteDecorHandleKey< ContainerType >, SG::AuxElement::ConstAccessor< VariableType > > WriteKeyAccessorPair
Useful declarations.
Definition: SafeDecorator.h:38
JetContainer.h
IDTPM::OfflineJetDecoratorAlg::decorateJetTrack
StatusCode decorateJetTrack(const xAOD::TrackParticle &track, std::vector< IDTPM::OptionalDecoration< xAOD::TrackParticleContainer, ElementJetLink_t > > &jet_decor, const xAOD::JetContainer &jets) const
Definition: OfflineJetDecoratorAlg.cxx:94
IDTPM::OfflineJetDecoratorAlg::m_offlineTrkParticlesName
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_offlineTrkParticlesName
Definition: OfflineJetDecoratorAlg.h:52
IDTPM::OfflineJetDecoratorAlg::DRtruthJet
@ DRtruthJet
Definition: OfflineJetDecoratorAlg.h:73
xAOD::track
@ track
Definition: TrackingPrimitives.h:513
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
IDTPM::OfflineJetDecoratorAlg::DRtruthLightJet
@ DRtruthLightJet
Definition: OfflineJetDecoratorAlg.h:74
IDTPM::OptionalDecoration
std::pair< SG::WriteDecorHandle< ContainerType, VariableType >, bool > OptionalDecoration
Definition: SafeDecorator.h:47
IDTPM
Athena include(s).
Definition: IPlotsDefinitionSvc.h:25
IDTPM::OfflineJetDecoratorAlg::m_maxTrkJetDR
FloatProperty m_maxTrkJetDR
Definition: OfflineJetDecoratorAlg.h:66
IDTPM::OfflineJetDecoratorAlg::NDecorations
@ NDecorations
Definition: OfflineJetDecoratorAlg.h:81
IDTPM::OfflineJetDecoratorAlg::m_decor_jet
std::vector< IDTPM::WriteKeyAccessorPair< xAOD::TrackParticleContainer, ElementJetLink_t > > m_decor_jet
Definition: OfflineJetDecoratorAlg.h:96
TrackParticleContainer.h
IDTPM::OfflineJetDecoratorAlg::m_jetAbsEtaMin
FloatProperty m_jetAbsEtaMin
Definition: OfflineJetDecoratorAlg.h:67
IDTPM::OfflineJetDecoratorAlg::DRtruthCjet
@ DRtruthCjet
Definition: OfflineJetDecoratorAlg.h:75
IDTPM::OfflineJetDecoratorAlg::DRtruthBjet
@ DRtruthBjet
Definition: OfflineJetDecoratorAlg.h:76