ATLAS Offline Software
Loading...
Searching...
No Matches
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
15
18
22
24#include <string>
25#include <vector>
26
28#include "SafeDecorator.h"
29
30
31namespace IDTPM {
32
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
57 StatusCode decorateJetTrack(
58 const xAOD::TrackParticle& track,
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
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
header file for function of same name adapted from original IDPVM implementation
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_offlineTrkParticlesName
virtual StatusCode initialize() override
virtual StatusCode execute(const EventContext &ctx) const override
std::vector< IDTPM::WriteKeyAccessorPair< xAOD::TrackParticleContainer, ElementJetLink_t > > m_decor_jet
StatusCode decorateJetTrack(const xAOD::TrackParticle &track, std::vector< IDTPM::OptionalDecoration< xAOD::TrackParticleContainer, ElementJetLink_t > > &jet_decor, const xAOD::JetContainer &jets) const
virtual ~OfflineJetDecoratorAlg()=default
const std::vector< std::string > m_decor_jet_names
OfflineJetDecoratorAlg(const std::string &name, ISvcLocator *pSvcLocator)
Local includes.
bool passJetCuts(const xAOD::Jet &jet) const
SG::ReadHandleKey< xAOD::JetContainer > m_jetsName
ElementLink< xAOD::JetContainer > ElementJetLink_t
Property holding a SG store/key/clid from which a ReadHandle is made.
Athena include(s).
std::pair< SG::WriteDecorHandle< ContainerType, VariableType >, bool > OptionalDecoration
std::pair< SG::WriteDecorHandleKey< ContainerType >, SG::AuxElement::ConstAccessor< VariableType > > WriteKeyAccessorPair
Useful declarations.
Jet_v1 Jet
Definition of the current "jet version".
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
JetContainer_v1 JetContainer
Definition of the current "jet container version".