ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Event
xAOD
xAODJet
xAODJet
versions
JetAccessorMap_v1.h
Go to the documentation of this file.
1
// Dear emacs, this is -*- c++ -*-
2
3
/*
4
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
#ifndef XAODJET_JETACCESSSORMAP_V1_H
8
#define XAODJET_JETACCESSSORMAP_V1_H
16
#include <iostream>
17
18
// EDM include(s):
19
#include "
xAODBase/IParticleContainer.h
"
20
21
#include "
AthContainers/AuxElement.h
"
22
#include "
xAODJet/JetAttributes.h
"
23
#include "
xAODJet/JetAccessors.h
"
24
#include "
xAODJet/JetTypes.h
"
25
26
#define JET_DEFINE_ATT_ACCESSOR( NAME ) \
27
case xAOD::JetAttribute::NAME: \
28
{ \
29
const static AccessorWrapper< T > a( #NAME ); \
30
return &a; \
31
} \
32
break
33
34
35
36
#define JET_DEFINE_ASSO_ACCESSOR( NAME ) \
37
case xAOD::JetAttribute::NAME: \
38
{ \
39
const static VectorIParticleAccessor_t a( #NAME ); \
40
return &a; \
41
} \
42
break
43
44
#define JET_DEFINE_ASSOBJ_ACCESSOR( NAME ) \
45
case xAOD::JetAttribute::NAME: \
46
{ \
47
const static ObjectAccessorWrapper< T > a( #NAME ); \
48
return &a; \
49
} \
50
break
51
52
53
namespace
xAOD
{
54
55
56
namespace
JetAttributeAccessor {
57
59
template
<
class
T>
60
struct
AccessorMap_v1
{
61
static
const
AccessorWrapper<T>
*
62
accessor
(
xAOD::JetAttribute::AttributeID
moment ) {
63
switch
( moment ) {
64
65
JET_DEFINE_ATT_ACCESSOR
( JetGhostArea );
66
JET_DEFINE_ATT_ACCESSOR
( ActiveArea );
67
JET_DEFINE_ATT_ACCESSOR
( ActiveArea4vec );
68
JET_DEFINE_ATT_ACCESSOR
( VoronoiArea );
69
JET_DEFINE_ATT_ACCESSOR
( VoronoiAreaE );
70
JET_DEFINE_ATT_ACCESSOR
( VoronoiAreaPx );
71
JET_DEFINE_ATT_ACCESSOR
( VoronoiAreaPy );
72
JET_DEFINE_ATT_ACCESSOR
( VoronoiAreaPz );
73
JET_DEFINE_ATT_ACCESSOR
( GhostMuonSegmentCount );
74
JET_DEFINE_ATT_ACCESSOR
( GhostTrackCount );
75
JET_DEFINE_ATT_ACCESSOR
( GhostTruthParticleCount );
76
JET_DEFINE_ATT_ACCESSOR
( TransformType );
77
JET_DEFINE_ATT_ACCESSOR
( MuMax );
78
JET_DEFINE_ATT_ACCESSOR
( YMin );
79
JET_DEFINE_ATT_ACCESSOR
( RClus );
80
JET_DEFINE_ATT_ACCESSOR
( BDRS );
81
JET_DEFINE_ATT_ACCESSOR
( DRFilt );
82
JET_DEFINE_ATT_ACCESSOR
( YFilt );
83
JET_DEFINE_ATT_ACCESSOR
( MuFilt );
84
JET_DEFINE_ATT_ACCESSOR
( NSubjet );
85
JET_DEFINE_ATT_ACCESSOR
( PtFrac );
86
JET_DEFINE_ATT_ACCESSOR
( NTrimSubjets );
87
JET_DEFINE_ATT_ACCESSOR
( RCut );
88
JET_DEFINE_ATT_ACCESSOR
( ZCut );
89
JET_DEFINE_ATT_ACCESSOR
( JetOriginConstitScaleMomentum );
90
JET_DEFINE_ATT_ACCESSOR
( GhostTruthAssociationFraction );
91
JET_DEFINE_ATT_ACCESSOR
( GhostTrackAssociationFraction );
92
JET_DEFINE_ATT_ACCESSOR
( HECQuality );
93
JET_DEFINE_ATT_ACCESSOR
( LArBadHVEnergy );
94
JET_DEFINE_ATT_ACCESSOR
( LArBadHVRatio );
95
JET_DEFINE_ATT_ACCESSOR
( LArQuality );
96
JET_DEFINE_ATT_ACCESSOR
( NegativeE );
97
JET_DEFINE_ATT_ACCESSOR
( AverageLArQF );
98
JET_DEFINE_ATT_ACCESSOR
( OotFracClusters10 );
99
JET_DEFINE_ATT_ACCESSOR
( OotFracClusters5 );
100
JET_DEFINE_ATT_ACCESSOR
( OotFracCells5 );
101
JET_DEFINE_ATT_ACCESSOR
( OotFracCells10 );
102
JET_DEFINE_ATT_ACCESSOR
( Timing );
103
JET_DEFINE_ATT_ACCESSOR
( N90Constituents );
104
JET_DEFINE_ATT_ACCESSOR
( N90Cells );
105
JET_DEFINE_ATT_ACCESSOR
( BchCorrCell );
106
JET_DEFINE_ATT_ACCESSOR
( IsoDeltaR2SumPt );
107
JET_DEFINE_ATT_ACCESSOR
( IsoDeltaR3SumPt );
108
JET_DEFINE_ATT_ACCESSOR
( JVF );
109
JET_DEFINE_ATT_ACCESSOR
( JVFLoose );
110
JET_DEFINE_ATT_ACCESSOR
( Jvt );
111
JET_DEFINE_ATT_ACCESSOR
( JvtRpt );
112
JET_DEFINE_ATT_ACCESSOR
( JvtJvfcorr );
113
JET_DEFINE_ATT_ACCESSOR
( NumTrkPt1000 );
114
JET_DEFINE_ATT_ACCESSOR
( NumTrkPt500 );
115
JET_DEFINE_ATT_ACCESSOR
( SumPtTrkPt1000 );
116
JET_DEFINE_ATT_ACCESSOR
( SumPtTrkPt500 );
117
JET_DEFINE_ATT_ACCESSOR
( TrackWidthPt1000 );
118
JET_DEFINE_ATT_ACCESSOR
( TrackWidthPt500 );
119
JET_DEFINE_ATT_ACCESSOR
( EMFrac );
120
JET_DEFINE_ATT_ACCESSOR
( HECFrac );
121
JET_DEFINE_ATT_ACCESSOR
( PSFrac );
122
JET_DEFINE_ATT_ACCESSOR
( EnergyPerSampling );
123
JET_DEFINE_ATT_ACCESSOR
( FracSamplingMax );
124
JET_DEFINE_ATT_ACCESSOR
( FracSamplingMaxIndex );
125
JET_DEFINE_ATT_ACCESSOR
( ECPSFraction );
126
JET_DEFINE_ATT_ACCESSOR
( SamplingMax );
127
JET_DEFINE_ATT_ACCESSOR
( Width );
128
JET_DEFINE_ATT_ACCESSOR
( WidthPhi );
129
JET_DEFINE_ATT_ACCESSOR
( LeadingClusterPt );
130
JET_DEFINE_ATT_ACCESSOR
( LeadingClusterSecondLambda );
131
JET_DEFINE_ATT_ACCESSOR
( LeadingClusterCenterLambda );
132
JET_DEFINE_ATT_ACCESSOR
( LeadingClusterSecondR );
133
JET_DEFINE_ATT_ACCESSOR
( CentroidR );
134
JET_DEFINE_ATT_ACCESSOR
( KtDR );
135
JET_DEFINE_ATT_ACCESSOR
( Tau1 );
136
JET_DEFINE_ATT_ACCESSOR
( Tau2 );
137
JET_DEFINE_ATT_ACCESSOR
( Tau3 );
138
JET_DEFINE_ATT_ACCESSOR
( Tau1_wta );
139
JET_DEFINE_ATT_ACCESSOR
( Tau2_wta );
140
JET_DEFINE_ATT_ACCESSOR
( Tau3_wta );
141
JET_DEFINE_ATT_ACCESSOR
( Tau21 );
142
JET_DEFINE_ATT_ACCESSOR
( Tau32 );
143
JET_DEFINE_ATT_ACCESSOR
( Tau21_wta );
144
JET_DEFINE_ATT_ACCESSOR
( Tau32_wta );
145
JET_DEFINE_ATT_ACCESSOR
( Split12 );
146
JET_DEFINE_ATT_ACCESSOR
( Split23 );
147
JET_DEFINE_ATT_ACCESSOR
( Split34 );
148
JET_DEFINE_ATT_ACCESSOR
( ZCut12 );
149
JET_DEFINE_ATT_ACCESSOR
( ZCut23 );
150
JET_DEFINE_ATT_ACCESSOR
( ZCut34 );
151
JET_DEFINE_ATT_ACCESSOR
( Dip12 );
152
JET_DEFINE_ATT_ACCESSOR
( Dip13 );
153
JET_DEFINE_ATT_ACCESSOR
( Dip23 );
154
JET_DEFINE_ATT_ACCESSOR
( DipExcl12 );
155
JET_DEFINE_ATT_ACCESSOR
( ECF1 );
156
JET_DEFINE_ATT_ACCESSOR
( ECF2 );
157
JET_DEFINE_ATT_ACCESSOR
( ECF3 );
158
JET_DEFINE_ATT_ACCESSOR
( ECF1_Beta2 );
159
JET_DEFINE_ATT_ACCESSOR
( ECF2_Beta2 );
160
JET_DEFINE_ATT_ACCESSOR
( ECF3_Beta2 );
161
JET_DEFINE_ATT_ACCESSOR
( C1 );
162
JET_DEFINE_ATT_ACCESSOR
( C2 );
163
JET_DEFINE_ATT_ACCESSOR
( D2 );
164
JET_DEFINE_ATT_ACCESSOR
( C1_Beta2 );
165
JET_DEFINE_ATT_ACCESSOR
( C2_Beta2 );
166
JET_DEFINE_ATT_ACCESSOR
( D2_Beta2 );
167
JET_DEFINE_ATT_ACCESSOR
( ThrustMin );
168
JET_DEFINE_ATT_ACCESSOR
( ThrustMaj );
169
JET_DEFINE_ATT_ACCESSOR
( FoxWolfram0 );
170
JET_DEFINE_ATT_ACCESSOR
( FoxWolfram1 );
171
JET_DEFINE_ATT_ACCESSOR
( FoxWolfram2 );
172
JET_DEFINE_ATT_ACCESSOR
( FoxWolfram3 );
173
JET_DEFINE_ATT_ACCESSOR
( FoxWolfram4 );
174
JET_DEFINE_ATT_ACCESSOR
( Sphericity );
175
JET_DEFINE_ATT_ACCESSOR
( Aplanarity );
176
JET_DEFINE_ATT_ACCESSOR
( PullMag );
177
JET_DEFINE_ATT_ACCESSOR
( PullPhi );
178
JET_DEFINE_ATT_ACCESSOR
( Pull_C00 );
179
JET_DEFINE_ATT_ACCESSOR
( Pull_C01 );
180
JET_DEFINE_ATT_ACCESSOR
( Pull_C10 );
181
JET_DEFINE_ATT_ACCESSOR
( Pull_C11 );
182
JET_DEFINE_ATT_ACCESSOR
( Charge );
183
JET_DEFINE_ATT_ACCESSOR
( ShowerDeconstructionW );
184
JET_DEFINE_ATT_ACCESSOR
( ShowerDeconstructionTop );
185
JET_DEFINE_ATT_ACCESSOR
( Volatility );
186
JET_DEFINE_ATT_ACCESSOR
( isBadLoose );
187
JET_DEFINE_ATT_ACCESSOR
( isBadMedium );
188
JET_DEFINE_ATT_ACCESSOR
( isBadTight );
189
JET_DEFINE_ATT_ACCESSOR
( isUgly );
190
JET_DEFINE_ATT_ACCESSOR
( PtTruth );
191
JET_DEFINE_ATT_ACCESSOR
( IsoKR20Par );
192
JET_DEFINE_ATT_ACCESSOR
( IsoKR20Perp );
193
JET_DEFINE_ATT_ACCESSOR
( HighestJVFVtx );
194
JET_DEFINE_ATT_ACCESSOR
( JetLabel );
195
JET_DEFINE_ATT_ACCESSOR
( NumTowers );
196
JET_DEFINE_ATT_ACCESSOR
( BchCorrDotx );
197
JET_DEFINE_ATT_ACCESSOR
( BchCorrJet );
198
JET_DEFINE_ATT_ACCESSOR
( BchCorrJetForCell );
199
JET_DEFINE_ATT_ACCESSOR
( VariableRMinRadius );
200
JET_DEFINE_ATT_ACCESSOR
( VariableRMassScale );
201
202
default
:
203
std::cerr <<
"xAOD::Jet_v1 ERROR Unknown attribute ("
204
<< moment <<
") requested. (Did you ask the wrong type ?)"
<< std::endl;
205
return
0;
206
}
207
}
208
};
209
210
212
std::string
name_v1
(
xAOD::JetAttribute::AttributeID
id
) ;
213
214
215
template
<
typename
T>
216
struct
ObjectAccessorMap_v1
{
217
static
const
ObjectAccessorWrapper< T >
*
218
accessor
(
xAOD::JetAttribute::AssoParticlesID
id
) {
219
switch
(
id
) {
220
JET_DEFINE_ASSOBJ_ACCESSOR
( GhostTrack );
221
JET_DEFINE_ASSOBJ_ACCESSOR
( GhostTruthParticle );
222
JET_DEFINE_ASSOBJ_ACCESSOR
( GhostMuonSegment );
223
JET_DEFINE_ASSOBJ_ACCESSOR
( OriginVertex );
224
default
:
225
std::cerr <<
"xAOD::Jet_v1 ERROR Unknown associated particles ("
226
<<
id
<<
") requested"
<< std::endl;
227
return
0;
228
}
229
}
230
231
};
232
234
std::string
assoName_v1
(
xAOD::JetAttribute::AssoParticlesID
id
) ;
235
236
}
237
}
238
#endif
AuxElement.h
Base class for elements of a container that can have aux data.
JET_DEFINE_ATT_ACCESSOR
#define JET_DEFINE_ATT_ACCESSOR(NAME)
This header defines functions to map an Attribute enum to a static accessor object for the correspond...
Definition
JetAccessorMap_v1.h:26
JET_DEFINE_ASSOBJ_ACCESSOR
#define JET_DEFINE_ASSOBJ_ACCESSOR(NAME)
Definition
JetAccessorMap_v1.h:44
JetAccessors.h
This header defines wrapper classes around SG::AuxElement::Accessor used internally in the Jet EDM.
JetAttributes.h
Defines enum to access jet attribute and associated particles/objects.
JetTypes.h
xAOD::JetAttributeAccessor::AccessorWrapper
Definition
JetAccessors.h:49
xAOD::JetAttributeAccessor::ObjectAccessorWrapper
Definition
JetAccessors.h:258
xAOD::JetAttributeAccessor::assoName_v1
std::string assoName_v1(xAOD::JetAttribute::AssoParticlesID id)
Returns a name given the AssoParticlesID.
Definition
JetAccessorMap_v1.cxx:41
xAOD::JetAttributeAccessor::name_v1
std::string name_v1(xAOD::JetAttribute::AttributeID id)
Returns a name given the AttributeID.
Definition
JetAccessorMap_v1.cxx:27
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition
ICaloAffectedTool.h:24
xAOD::JetAttributeAccessor::AccessorMap_v1
Define a template struct.
Definition
JetAccessorMap_v1.h:60
xAOD::JetAttributeAccessor::AccessorMap_v1::accessor
static const AccessorWrapper< T > * accessor(xAOD::JetAttribute::AttributeID moment)
Definition
JetAccessorMap_v1.h:62
xAOD::JetAttributeAccessor::ObjectAccessorMap_v1
Definition
JetAccessorMap_v1.h:216
xAOD::JetAttributeAccessor::ObjectAccessorMap_v1::accessor
static const ObjectAccessorWrapper< T > * accessor(xAOD::JetAttribute::AssoParticlesID id)
Definition
JetAccessorMap_v1.h:218
xAOD::JetAttribute::AssoParticlesID
AssoParticlesID
Definition
JetAttributes.h:251
xAOD::JetAttribute::AttributeID
AttributeID
Definition
JetAttributes.h:24
IParticleContainer.h
Generated on
for ATLAS Offline Software by
1.17.0