ATLAS Offline Software
Loading...
Searching...
No Matches
Event
xAOD
xAODPFlow
xAODPFlow
versions
PFOAttributesAccessor_v1.h
Go to the documentation of this file.
1
// Dear emacs, this is -*- c++ -*-
2
3
/*
4
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// $Id: PFOAttributesAccessor_v1.h 792675 2017-01-18 10:39:20Z mhodgkin $
8
#ifndef PFOATTRIBUTESACCESSOR_H
9
#define PFOATTRIBUTESACCESSOR_H
10
11
/* Author Mark Hodgkinson
12
This is pretty much based on the class xAODJets/JetMomentsAccessor.h - i.e I copied the code from there
13
*/
14
15
// System include(s):
16
#include <iostream>
17
18
// Local include(s):
19
#include "
xAODPFlow/PFODefs.h
"
20
21
#define DEFINE_PFO_CONSTACCESSOR( NAME ) \
22
case xAOD::PFODetails::NAME: \
23
{ \
24
static const SG::AuxElement::Accessor< T > a( #NAME ); \
25
return &a; \
26
} \
27
break
28
29
namespace
xAOD
{
30
31
template
<
class
T>
struct
PFOAttributesAccessor_v1
{
32
static
const
SG::AuxElement::Accessor<T>
*
constAccessor
(
xAOD::PFODetails::PFOAttributes
variable){
33
switch
(variable){
34
DEFINE_PFO_CONSTACCESSOR
(nPi0);
35
DEFINE_PFO_CONSTACCESSOR
(nPi0Proto);
36
DEFINE_PFO_CONSTACCESSOR
(eflowRec_EM_FRAC_ENHANCED);
37
DEFINE_PFO_CONSTACCESSOR
(eflowRec_ENG_FRAC_CORE);
38
DEFINE_PFO_CONSTACCESSOR
(eflowRec_FIRST_ENG_DENS);
39
DEFINE_PFO_CONSTACCESSOR
(eflowRec_CENTER_LAMBDA);
40
DEFINE_PFO_CONSTACCESSOR
(eflowRec_SECOND_R);
41
DEFINE_PFO_CONSTACCESSOR
(eflowRec_DELTA_ALPHA);
42
DEFINE_PFO_CONSTACCESSOR
(eflowRec_HOT_STRIP_FRAC);
43
DEFINE_PFO_CONSTACCESSOR
(eflowRec_THREE_CELL_STRIP_FRAC);
44
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LATERAL);
45
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LONGITUDINAL);
46
DEFINE_PFO_CONSTACCESSOR
(eflowRec_SECOND_LAMBDA);
47
DEFINE_PFO_CONSTACCESSOR
(eflowRec_ISOLATION);
48
DEFINE_PFO_CONSTACCESSOR
(eflowRec_ENG_FRAC_MAX);
49
DEFINE_PFO_CONSTACCESSOR
(eflowRec_ENG_BAD_CELLS);
50
DEFINE_PFO_CONSTACCESSOR
(eflowRec_N_BAD_CELLS);
51
DEFINE_PFO_CONSTACCESSOR
(eflowRec_BADLARQ_FRAC);
52
DEFINE_PFO_CONSTACCESSOR
(eflowRec_ENG_POS);
53
DEFINE_PFO_CONSTACCESSOR
(eflowRec_SIGNIFICANCE);
54
DEFINE_PFO_CONSTACCESSOR
(eflowRec_CELL_SIGNIFICANCE);
55
DEFINE_PFO_CONSTACCESSOR
(eflowRec_CELL_SIG_SAMPLING);
56
DEFINE_PFO_CONSTACCESSOR
(eflowRec_AVG_LAR_Q);
57
DEFINE_PFO_CONSTACCESSOR
(eflowRec_AVG_TILE_Q);
58
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_EM3);
59
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_HEC0);
60
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_Tile0);
61
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_HEC);
62
DEFINE_PFO_CONSTACCESSOR
(eflowRec_TIMING);
63
DEFINE_PFO_CONSTACCESSOR
(eflowRec_tracksExpectedEnergyDeposit);
64
DEFINE_PFO_CONSTACCESSOR
(eflowRec_isInDenseEnvironment);
65
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_EM);
66
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_PreSamplerB);
67
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_EMB1);
68
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_EMB2);
69
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_EMB3);
70
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_PreSamplerE);
71
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_EME1);
72
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_EME2);
73
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_EME3);
74
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_HEC1);
75
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_HEC2);
76
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_HEC3);
77
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_TileBar0);
78
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_TileBar1);
79
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_TileBar2);
80
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_TileGap1);
81
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_TileGap2);
82
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_TileGap3);
83
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_TileExt0);
84
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_TileExt1);
85
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_TileExt2);
86
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_FCAL0);
87
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_FCAL1);
88
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_FCAL2);
89
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_MINIFCAL0);
90
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_MINIFCAL1);
91
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_MINIFCAL2);
92
DEFINE_PFO_CONSTACCESSOR
(eflowRec_LAYERENERGY_MINIFCAL3);
93
DEFINE_PFO_CONSTACCESSOR
(eflowRec_layerVectorCellOrdering);
94
DEFINE_PFO_CONSTACCESSOR
(eflowRec_radiusVectorCellOrdering);
95
DEFINE_PFO_CONSTACCESSOR
(eflowRec_avgEdensityVectorCellOrdering);
96
DEFINE_PFO_CONSTACCESSOR
(eflowRec_layerHED);
97
DEFINE_PFO_CONSTACCESSOR
(eflowRec_EM_PROBABILITY);
98
DEFINE_PFO_CONSTACCESSOR
(eflowRec_ENG_CALIB_TOT);
99
DEFINE_PFO_CONSTACCESSOR
(eflowRec_ENG_CALIB_FRAC_EM);
100
DEFINE_PFO_CONSTACCESSOR
(eflowRec_ENG_CALIB_FRAC_HAD);
101
DEFINE_PFO_CONSTACCESSOR
(eflowRec_ENG_CALIB_FRAC_REST);
102
DEFINE_PFO_CONSTACCESSOR
(cellBased_FIRST_ETA);
103
DEFINE_PFO_CONSTACCESSOR
(cellBased_SECOND_R);
104
DEFINE_PFO_CONSTACCESSOR
(cellBased_SECOND_LAMBDA);
105
DEFINE_PFO_CONSTACCESSOR
(cellBased_DELTA_PHI);
106
DEFINE_PFO_CONSTACCESSOR
(cellBased_DELTA_THETA);
107
DEFINE_PFO_CONSTACCESSOR
(cellBased_CENTER_LAMBDA);
108
DEFINE_PFO_CONSTACCESSOR
(cellBased_LATERAL);
109
DEFINE_PFO_CONSTACCESSOR
(cellBased_LONGITUDINAL);
110
DEFINE_PFO_CONSTACCESSOR
(cellBased_ENG_FRAC_EM);
111
DEFINE_PFO_CONSTACCESSOR
(cellBased_ENG_FRAC_MAX);
112
DEFINE_PFO_CONSTACCESSOR
(cellBased_ENG_FRAC_CORE);
113
DEFINE_PFO_CONSTACCESSOR
(cellBased_SECOND_ENG_DENS);
114
DEFINE_PFO_CONSTACCESSOR
(cellBased_EM1CoreFrac);
115
DEFINE_PFO_CONSTACCESSOR
(cellBased_asymmetryInEM1WRTTrk);
116
DEFINE_PFO_CONSTACCESSOR
(cellBased_NHitsInEM1);
117
DEFINE_PFO_CONSTACCESSOR
(cellBased_NPosECells_PS);
118
DEFINE_PFO_CONSTACCESSOR
(cellBased_NPosECells_EM1);
119
DEFINE_PFO_CONSTACCESSOR
(cellBased_NPosECells_EM2);
120
DEFINE_PFO_CONSTACCESSOR
(cellBased_firstEtaWRTClusterPosition_EM1);
121
DEFINE_PFO_CONSTACCESSOR
(cellBased_firstEtaWRTClusterPosition_EM2);
122
DEFINE_PFO_CONSTACCESSOR
(cellBased_secondEtaWRTClusterPosition_EM1);
123
DEFINE_PFO_CONSTACCESSOR
(cellBased_secondEtaWRTClusterPosition_EM2);
124
DEFINE_PFO_CONSTACCESSOR
(cellBased_energy_EM1);
125
DEFINE_PFO_CONSTACCESSOR
(cellBased_energy_EM2);
126
DEFINE_PFO_CONSTACCESSOR
(tauShots_nCellsInEta);
127
DEFINE_PFO_CONSTACCESSOR
(tauShots_pt1);
128
DEFINE_PFO_CONSTACCESSOR
(tauShots_pt3);
129
DEFINE_PFO_CONSTACCESSOR
(tauShots_pt5);
130
DEFINE_PFO_CONSTACCESSOR
(tauShots_ws5);
131
DEFINE_PFO_CONSTACCESSOR
(tauShots_sdevEta5_WRTmean);
132
DEFINE_PFO_CONSTACCESSOR
(tauShots_sdevEta5_WRTmode);
133
DEFINE_PFO_CONSTACCESSOR
(tauShots_sdevPt5);
134
DEFINE_PFO_CONSTACCESSOR
(tauShots_deltaPt12_min);
135
DEFINE_PFO_CONSTACCESSOR
(tauShots_Fside_3not1);
136
DEFINE_PFO_CONSTACCESSOR
(tauShots_Fside_5not1);
137
DEFINE_PFO_CONSTACCESSOR
(tauShots_Fside_5not3);
138
DEFINE_PFO_CONSTACCESSOR
(tauShots_fracSide_3not1);
139
DEFINE_PFO_CONSTACCESSOR
(tauShots_fracSide_5not1);
140
DEFINE_PFO_CONSTACCESSOR
(tauShots_fracSide_5not3);
141
DEFINE_PFO_CONSTACCESSOR
(tauShots_pt1OverPt3);
142
DEFINE_PFO_CONSTACCESSOR
(tauShots_pt3OverPt5);
143
DEFINE_PFO_CONSTACCESSOR
(tauShots_mergedScore);
144
DEFINE_PFO_CONSTACCESSOR
(tauShots_signalScore);
145
DEFINE_PFO_CONSTACCESSOR
(tauShots_nPhotons);
146
DEFINE_PFO_CONSTACCESSOR
(tauShots_seedHash);
147
default
:
148
std::cerr <<
"xAOD::PFO_v1 ERROR Unknown float/double variable ("
<<
static_cast<
int
>
(variable) <<
") requested"
<< std::endl;
149
return
0;
150
}
//switch on variable names
151
}
//const accessor
152
153
}
//struct
154
;
155
156
struct
PFOParticleTypeMapper_v1
{
157
bool
getValue
(
PFODetails::PFOParticleType
type
, std::string& stringName){
158
switch
(
type
){
159
case
PFODetails::CaloCluster
:
160
stringName =
"pfo_ClusterLinks"
;
161
return
true
;
162
case
PFODetails::Track
:
163
stringName =
"pfo_TrackLinks"
;
164
return
true
;
165
// Note - clients should NEVER set both links to TauShot and HadroniCaloCluster - Tau WG agreed they NEVER will do such a thing (and they are only client)
166
case
PFODetails::TauShot
:
167
stringName =
"pfo_TauShotLinks"
;
168
return
true
;
169
case
PFODetails::HadronicCalo
:
170
stringName =
"pfo_TauShotLinks"
;
171
case
PFODetails::ChargedPFO
:
172
stringName =
"pfo_Charged"
;
173
case
PFODetails::NeutralPFO
:
174
stringName =
"pfo_Neutral"
;
175
case
PFODetails::TauTrack
:
176
stringName =
"pfo_TauTrack"
;
177
}
//switch
178
return
false
;
179
}
//getValue
180
181
};
182
183
}
//xAOD namespace
184
185
#endif
PFODefs.h
DEFINE_PFO_CONSTACCESSOR
#define DEFINE_PFO_CONSTACCESSOR(NAME)
Definition
PFOAttributesAccessor_v1.h:21
SG::AuxElement::Accessor
SG::Accessor< T, ALLOC > Accessor
Definition
AuxElement.h:572
xAOD::PFODetails::PFOAttributes
PFOAttributes
Definition
Event/xAOD/xAODPFlow/xAODPFlow/PFODefs.h:28
xAOD::PFODetails::PFOParticleType
PFOParticleType
This enum is used to label the associated particles to the PFO object.
Definition
Event/xAOD/xAODPFlow/xAODPFlow/PFODefs.h:168
xAOD::PFODetails::TauShot
@ TauShot
Definition
Event/xAOD/xAODPFlow/xAODPFlow/PFODefs.h:171
xAOD::PFODetails::Track
@ Track
Definition
Event/xAOD/xAODPFlow/xAODPFlow/PFODefs.h:170
xAOD::PFODetails::TauTrack
@ TauTrack
Definition
Event/xAOD/xAODPFlow/xAODPFlow/PFODefs.h:175
xAOD::PFODetails::ChargedPFO
@ ChargedPFO
Definition
Event/xAOD/xAODPFlow/xAODPFlow/PFODefs.h:173
xAOD::PFODetails::HadronicCalo
@ HadronicCalo
Definition
Event/xAOD/xAODPFlow/xAODPFlow/PFODefs.h:172
xAOD::PFODetails::NeutralPFO
@ NeutralPFO
Definition
Event/xAOD/xAODPFlow/xAODPFlow/PFODefs.h:174
xAOD::PFODetails::CaloCluster
@ CaloCluster
Definition
Event/xAOD/xAODPFlow/xAODPFlow/PFODefs.h:169
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition
ICaloAffectedTool.h:24
type
xAOD::PFOAttributesAccessor_v1
Definition
PFOAttributesAccessor_v1.h:31
xAOD::PFOAttributesAccessor_v1::constAccessor
static const SG::AuxElement::Accessor< T > * constAccessor(xAOD::PFODetails::PFOAttributes variable)
Definition
PFOAttributesAccessor_v1.h:32
xAOD::PFOParticleTypeMapper_v1
Definition
PFOAttributesAccessor_v1.h:156
xAOD::PFOParticleTypeMapper_v1::getValue
bool getValue(PFODetails::PFOParticleType type, std::string &stringName)
Definition
PFOAttributesAccessor_v1.h:157
Generated on
for ATLAS Offline Software by
1.14.0