ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
JetTagging
FlavorTagDiscriminants
FlavorTagDiscriminants
HitsSelectorAlg.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef HITS_SELECTOR_ALG_HH
6
#define HITS_SELECTOR_ALG_HH
7
8
// FrameWork includes
9
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
10
11
// Containers
12
#include "
xAODJet/JetContainer.h
"
13
#include "
xAODTracking/TrackMeasurementValidationContainer.h
"
14
15
// Read and write handle keys
16
#include "
StoreGate/ReadHandleKey.h
"
17
#include "
StoreGate/ReadDecorHandleKey.h
"
18
#include "
StoreGate/WriteDecorHandleKey.h
"
19
20
#include "AthLinks/ElementLink.h"
21
22
#include <string>
23
#include <vector>
24
25
namespace
FlavorTagDiscriminants
{
26
27
class
HitsSelectorAlg
:
public
AthReentrantAlgorithm
{
37
38
public
:
39
HitsSelectorAlg
(
const
std::string& name, ISvcLocator* svcLoc);
40
41
virtual
StatusCode
initialize
()
override
;
42
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
43
44
private
:
45
using
HitContainer
=
xAOD::TrackMeasurementValidationContainer
;
46
using
HitLink
=
ElementLink<HitContainer>
;
47
48
struct
SortedHit
{
49
HitLink
link
;
50
float
dphi
{};
51
};
52
53
// Jet input
54
SG::ReadHandleKey<xAOD::JetContainer>
m_jetsKey
{
55
this
,
"jetContainer"
,
"AntiKt4EMPFlowJets"
,
"Input jets"
};
56
57
// Per-jet input associations, empty to skip that subdetector
58
SG::ReadDecorHandleKey<xAOD::JetContainer>
m_pixelAssocKey
{
59
this
,
"PixelAssociation"
,
m_jetsKey
,
"hitsForBTaggingPixel"
,
"Name of Pixel association key, empty to skip Pixel hits"
};
60
61
SG::ReadDecorHandleKey<xAOD::JetContainer>
m_sctAssocKey
{
62
this
,
"SCTAssociation"
,
m_jetsKey
,
"hitsForBTaggingSCT"
,
"Name of SCT association key, empty to skip SCT hits"
};
63
64
// Hit containers the associations point into
65
SG::ReadHandleKey<HitContainer>
m_pixelHitsKey
{
66
this
,
"pixelHitContainer"
,
"PixelClusters"
,
"Pixel hit container"
};
67
68
SG::ReadHandleKey<HitContainer>
m_sctHitsKey
{
69
this
,
"SCTHitContainer"
,
"SCT_Clusters"
,
"SCT hit container"
};
70
71
// Per-hit decorations, read via the links above
72
SG::ReadDecorHandleKey<HitContainer>
m_pixelHitXKey
{
73
this
,
"pixelHitX"
,
m_pixelHitsKey
,
"HitsXRelToBeamspot"
,
"Pixel hit x coordinate"
};
74
75
SG::ReadDecorHandleKey<HitContainer>
m_pixelHitYKey
{
76
this
,
"pixelHitY"
,
m_pixelHitsKey
,
"HitsYRelToBeamspot"
,
"Pixel hit y coordinate"
};
77
78
SG::ReadDecorHandleKey<HitContainer>
m_pixelCleanKey
{
79
this
,
"pixelCleanHit"
,
m_pixelHitsKey
,
"isCleanHit"
,
"Pixel clean hit flag"
};
80
81
SG::ReadDecorHandleKey<HitContainer>
m_sctHitXKey
{
82
this
,
"SCTHitX"
,
m_sctHitsKey
,
"HitsXRelToBeamspot"
,
"SCT hit x coordinate"
};
83
84
SG::ReadDecorHandleKey<HitContainer>
m_sctHitYKey
{
85
this
,
"SCTHitY"
,
m_sctHitsKey
,
"HitsYRelToBeamspot"
,
"SCT hit y coordinate"
};
86
87
SG::ReadDecorHandleKey<HitContainer>
m_sctCleanKey
{
88
this
,
"SCTCleanHit"
,
m_sctHitsKey
,
"isCleanHit"
,
"SCT clean hit flag"
};
89
90
// Output decoration
91
SG::WriteDecorHandleKey<xAOD::JetContainer>
m_hitAssocKey
{
92
this
,
"hitAssociation"
,
m_jetsKey
,
"hitsForBTagging"
,
"Name of combined association key"
};
93
94
// Parameters
95
Gaudi::Property<int>
m_maxHits
{
96
this
,
"maxHits"
, 200,
"Max hits to keep"
};
97
98
bool
m_usePixel
{
true
};
99
bool
m_useSCT
{
true
};
100
101
StatusCode
collectHits
(
102
const
EventContext& ctx,
103
const
SG::ReadDecorHandleKey<xAOD::JetContainer>
& assocKey,
104
const
SG::ReadDecorHandleKey<HitContainer>
& xKey,
105
const
SG::ReadDecorHandleKey<HitContainer>
& yKey,
106
const
SG::ReadDecorHandleKey<HitContainer>
& cleanKey,
107
const
xAOD::JetContainer
& jets,
108
std::vector<std::vector<SortedHit>>& hitsPerJet)
const
;
109
};
110
111
}
112
113
#endif
AthReentrantAlgorithm.h
JetContainer.h
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
TrackMeasurementValidationContainer.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
ElementLink
ElementLink implementation for ROOT usage.
Definition
A/AthLinks/ElementLink.h:40
FlavorTagDiscriminants::HitsSelectorAlg::m_pixelAssocKey
SG::ReadDecorHandleKey< xAOD::JetContainer > m_pixelAssocKey
Definition
HitsSelectorAlg.h:58
FlavorTagDiscriminants::HitsSelectorAlg::m_pixelHitXKey
SG::ReadDecorHandleKey< HitContainer > m_pixelHitXKey
Definition
HitsSelectorAlg.h:72
FlavorTagDiscriminants::HitsSelectorAlg::initialize
virtual StatusCode initialize() override
Definition
HitsSelectorAlg.cxx:26
FlavorTagDiscriminants::HitsSelectorAlg::m_sctHitsKey
SG::ReadHandleKey< HitContainer > m_sctHitsKey
Definition
HitsSelectorAlg.h:68
FlavorTagDiscriminants::HitsSelectorAlg::m_usePixel
bool m_usePixel
Definition
HitsSelectorAlg.h:98
FlavorTagDiscriminants::HitsSelectorAlg::m_sctAssocKey
SG::ReadDecorHandleKey< xAOD::JetContainer > m_sctAssocKey
Definition
HitsSelectorAlg.h:61
FlavorTagDiscriminants::HitsSelectorAlg::HitsSelectorAlg
HitsSelectorAlg(const std::string &name, ISvcLocator *svcLoc)
Definition
HitsSelectorAlg.cxx:23
FlavorTagDiscriminants::HitsSelectorAlg::m_useSCT
bool m_useSCT
Definition
HitsSelectorAlg.h:99
FlavorTagDiscriminants::HitsSelectorAlg::collectHits
StatusCode collectHits(const EventContext &ctx, const SG::ReadDecorHandleKey< xAOD::JetContainer > &assocKey, const SG::ReadDecorHandleKey< HitContainer > &xKey, const SG::ReadDecorHandleKey< HitContainer > &yKey, const SG::ReadDecorHandleKey< HitContainer > &cleanKey, const xAOD::JetContainer &jets, std::vector< std::vector< SortedHit > > &hitsPerJet) const
Definition
HitsSelectorAlg.cxx:61
FlavorTagDiscriminants::HitsSelectorAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition
HitsSelectorAlg.cxx:97
FlavorTagDiscriminants::HitsSelectorAlg::m_sctCleanKey
SG::ReadDecorHandleKey< HitContainer > m_sctCleanKey
Definition
HitsSelectorAlg.h:87
FlavorTagDiscriminants::HitsSelectorAlg::m_pixelHitYKey
SG::ReadDecorHandleKey< HitContainer > m_pixelHitYKey
Definition
HitsSelectorAlg.h:75
FlavorTagDiscriminants::HitsSelectorAlg::HitLink
ElementLink< HitContainer > HitLink
Definition
HitsSelectorAlg.h:46
FlavorTagDiscriminants::HitsSelectorAlg::m_maxHits
Gaudi::Property< int > m_maxHits
Definition
HitsSelectorAlg.h:95
FlavorTagDiscriminants::HitsSelectorAlg::m_pixelHitsKey
SG::ReadHandleKey< HitContainer > m_pixelHitsKey
Definition
HitsSelectorAlg.h:65
FlavorTagDiscriminants::HitsSelectorAlg::m_pixelCleanKey
SG::ReadDecorHandleKey< HitContainer > m_pixelCleanKey
Definition
HitsSelectorAlg.h:78
FlavorTagDiscriminants::HitsSelectorAlg::m_jetsKey
SG::ReadHandleKey< xAOD::JetContainer > m_jetsKey
Definition
HitsSelectorAlg.h:54
FlavorTagDiscriminants::HitsSelectorAlg::m_sctHitXKey
SG::ReadDecorHandleKey< HitContainer > m_sctHitXKey
Definition
HitsSelectorAlg.h:81
FlavorTagDiscriminants::HitsSelectorAlg::m_hitAssocKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_hitAssocKey
Definition
HitsSelectorAlg.h:91
FlavorTagDiscriminants::HitsSelectorAlg::HitContainer
xAOD::TrackMeasurementValidationContainer HitContainer
Definition
HitsSelectorAlg.h:45
FlavorTagDiscriminants::HitsSelectorAlg::m_sctHitYKey
SG::ReadDecorHandleKey< HitContainer > m_sctHitYKey
Definition
HitsSelectorAlg.h:84
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition
StoreGate/StoreGate/ReadDecorHandleKey.h:86
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
FlavorTagDiscriminants
Definition
CaloChargedFlowDecoratorAlg.h:15
xAOD::JetContainer
JetContainer_v1 JetContainer
Definition of the current "jet container version".
Definition
JetContainer.h:17
xAOD::TrackMeasurementValidationContainer
TrackMeasurementValidationContainer_v1 TrackMeasurementValidationContainer
Definition of the current "TrackMeasurementValidation container version".
Definition
TrackMeasurementValidationContainer.h:14
FlavorTagDiscriminants::HitsSelectorAlg::SortedHit
Definition
HitsSelectorAlg.h:48
FlavorTagDiscriminants::HitsSelectorAlg::SortedHit::link
HitLink link
Definition
HitsSelectorAlg.h:49
FlavorTagDiscriminants::HitsSelectorAlg::SortedHit::dphi
float dphi
Definition
HitsSelectorAlg.h:50
Generated on
for ATLAS Offline Software by
1.17.0