ATLAS Offline Software
Loading...
Searching...
No Matches
TauJetAccessors_v2.icc
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5*/
6
7// $Id: TauJetAccessors_v2.icc 743783 2016-04-28 21:45:08Z griffith $
8
9#ifndef XAODTAU_TAUACCESSORS_V2_ICC
10#define XAODTAU_TAUACCESSORS_V2_ICC
11
12// System include(s):
13#include <iostream>
14
15#define DEFINE_TAUJETPARAMETER_ACCESSOR(TYPE, NAME ) \
16 case xAOD::TauJetParameters::NAME: \
17{ \
18 static const SG::Accessor< TYPE > a( #NAME ); \
19 return &a; \
20} \
21break;
22
23
24 const SG::Accessor< float >* discriminantAccessorV2( xAOD::TauJetParameters::TauID discriminant ) {
25
26 switch( discriminant ) {
27
28 DEFINE_TAUJETPARAMETER_ACCESSOR( float, Likelihood );
29 DEFINE_TAUJETPARAMETER_ACCESSOR( float, SafeLikelihood );
30 DEFINE_TAUJETPARAMETER_ACCESSOR( float, BDTJetScore );
31 DEFINE_TAUJETPARAMETER_ACCESSOR( float, BDTEleScore );
32 DEFINE_TAUJETPARAMETER_ACCESSOR( float, PanTauScore );
33 DEFINE_TAUJETPARAMETER_ACCESSOR( float, BDTJetScoreSigTrans );
34
35 default:
36 std::cerr << "xAOD::TauJetParameters ERROR Unknown tau discriminant value ("
37 << discriminant << ") requested" << std::endl;
38 return 0;
39 }
40 }
41
42
43 template <> const SG::Accessor< float >* panTauDetailsAccessorV2<float>( xAOD::TauJetParameters::PanTauDetails detail ) {
44
45 switch( detail ) {
46
47 //panTau details
48 //!PanTau variables when using CellBased pfos
49 //BDT output distributions
50 DEFINE_TAUJETPARAMETER_ACCESSOR( float, PanTau_BDTValue_1p0n_vs_1p1n );
51 DEFINE_TAUJETPARAMETER_ACCESSOR( float, PanTau_BDTValue_1p1n_vs_1pXn );
52 DEFINE_TAUJETPARAMETER_ACCESSOR( float, PanTau_BDTValue_3p0n_vs_3pXn );
53 //Variables used in BDTs
54 DEFINE_TAUJETPARAMETER_ACCESSOR( float, PanTau_BDTVar_Charged_StdDev_Et_WrtEtAllConsts );
55 DEFINE_TAUJETPARAMETER_ACCESSOR( float, PanTau_BDTVar_Neutral_PID_BDTValues_BDTSort_1 );
56 DEFINE_TAUJETPARAMETER_ACCESSOR( float, PanTau_BDTVar_Neutral_PID_BDTValues_BDTSort_2 );
57 DEFINE_TAUJETPARAMETER_ACCESSOR( float, PanTau_BDTVar_Neutral_Ratio_1stBDTEtOverEtAllConsts );
58 DEFINE_TAUJETPARAMETER_ACCESSOR( float, PanTau_BDTVar_Neutral_Ratio_EtOverEtAllConsts );
59 DEFINE_TAUJETPARAMETER_ACCESSOR( float, PanTau_BDTVar_Combined_DeltaR1stNeutralTo1stCharged );
60
61 default:
62 std::cerr << "xAOD::TauJetParameters ERROR Unknown float panTau Detail ("
63 << detail << ") requested" << std::endl;
64 return 0;
65 }
66 }
67
68 template <> const SG::Accessor< int >* panTauDetailsAccessorV2<int>( xAOD::TauJetParameters::PanTauDetails detail ) {
69
70 switch( detail ) {
71
72
73 //panTau details
74 //!integer PanTau variables when using CellBased pfos
75 //Flag whether this seed has pantau info
76 DEFINE_TAUJETPARAMETER_ACCESSOR( int, PanTau_isPanTauCandidate );
77 //decay modes (input mode [proto] and output mode [final])
78 DEFINE_TAUJETPARAMETER_ACCESSOR( int, PanTau_DecayModeProto );
79 DEFINE_TAUJETPARAMETER_ACCESSOR( int, PanTau_DecayMode );
80
81 default:
82 std::cerr << "xAOD::TauJetParameters ERROR Unknown integer panTau Detail ("
83 << detail << ") requested" << std::endl;
84 return 0;
85 }
86 }
87
88
89
90 template <> const SG::Accessor< float >* detailsAccessorV2<float>( xAOD::TauJetParameters::Detail detail ) {
91
92 switch( detail ) {
93
94 DEFINE_TAUJETPARAMETER_ACCESSOR( float, ipZ0SinThetaSigLeadTrk );
95 DEFINE_TAUJETPARAMETER_ACCESSOR( float, etOverPtLeadTrk );
96 DEFINE_TAUJETPARAMETER_ACCESSOR( float, leadTrkPt );
97 DEFINE_TAUJETPARAMETER_ACCESSOR( float, ipSigLeadTrk );
98 DEFINE_TAUJETPARAMETER_ACCESSOR( float, massTrkSys );
99 DEFINE_TAUJETPARAMETER_ACCESSOR( float, trkWidth2 );
100 DEFINE_TAUJETPARAMETER_ACCESSOR( float, trFlightPathSig );
101 DEFINE_TAUJETPARAMETER_ACCESSOR( float, numEffTopoClusters );
102 DEFINE_TAUJETPARAMETER_ACCESSOR( float, topoInvMass );
103 DEFINE_TAUJETPARAMETER_ACCESSOR( float, effTopoInvMass );
104 DEFINE_TAUJETPARAMETER_ACCESSOR( float, topoMeanDeltaR );
105 DEFINE_TAUJETPARAMETER_ACCESSOR( float, effTopoMeanDeltaR );
106 DEFINE_TAUJETPARAMETER_ACCESSOR( float, EMRadius );
107 DEFINE_TAUJETPARAMETER_ACCESSOR( float, hadRadius );
108 DEFINE_TAUJETPARAMETER_ACCESSOR( float, etEMAtEMScale );
109 DEFINE_TAUJETPARAMETER_ACCESSOR( float, etHadAtEMScale );
110 DEFINE_TAUJETPARAMETER_ACCESSOR( float, isolFrac );
111 DEFINE_TAUJETPARAMETER_ACCESSOR( float, centFrac );
112 DEFINE_TAUJETPARAMETER_ACCESSOR( float, stripWidth2 );
113 DEFINE_TAUJETPARAMETER_ACCESSOR( float, trkAvgDist );
114 DEFINE_TAUJETPARAMETER_ACCESSOR( float, trkRmsDist );
115 DEFINE_TAUJETPARAMETER_ACCESSOR( float, lead2ClusterEOverAllClusterE );
116 DEFINE_TAUJETPARAMETER_ACCESSOR( float, lead3ClusterEOverAllClusterE );
117 DEFINE_TAUJETPARAMETER_ACCESSOR( float, caloIso );
118 DEFINE_TAUJETPARAMETER_ACCESSOR( float, caloIsoCorrected );
119 DEFINE_TAUJETPARAMETER_ACCESSOR( float, dRmax );
120 DEFINE_TAUJETPARAMETER_ACCESSOR( float, secMaxStripEt );
121 DEFINE_TAUJETPARAMETER_ACCESSOR( float, sumEMCellEtOverLeadTrkPt );
122 DEFINE_TAUJETPARAMETER_ACCESSOR( float, hadLeakEt );
123 DEFINE_TAUJETPARAMETER_ACCESSOR( float, cellBasedEnergyRing1 );
124 DEFINE_TAUJETPARAMETER_ACCESSOR( float, cellBasedEnergyRing2 );
125 DEFINE_TAUJETPARAMETER_ACCESSOR( float, cellBasedEnergyRing3 );
126 DEFINE_TAUJETPARAMETER_ACCESSOR( float, cellBasedEnergyRing4 );
127 DEFINE_TAUJETPARAMETER_ACCESSOR( float, cellBasedEnergyRing5 );
128 DEFINE_TAUJETPARAMETER_ACCESSOR( float, cellBasedEnergyRing6 );
129 DEFINE_TAUJETPARAMETER_ACCESSOR( float, cellBasedEnergyRing7 );
130 DEFINE_TAUJETPARAMETER_ACCESSOR( float, TRT_NHT_OVER_NLT );
131 DEFINE_TAUJETPARAMETER_ACCESSOR( float, TauJetVtxFraction );
132
133 DEFINE_TAUJETPARAMETER_ACCESSOR( float, PSSFraction );
134 DEFINE_TAUJETPARAMETER_ACCESSOR( float, ChPiEMEOverCaloEME );
135 DEFINE_TAUJETPARAMETER_ACCESSOR( float, EMPOverTrkSysP );
136
137 DEFINE_TAUJETPARAMETER_ACCESSOR( float, TESOffset );
138 DEFINE_TAUJETPARAMETER_ACCESSOR( float, TESCalibConstant );
139
140 DEFINE_TAUJETPARAMETER_ACCESSOR( float, innerTrkAvgDist );
141 DEFINE_TAUJETPARAMETER_ACCESSOR( float, SumPtTrkFrac );
142
143 DEFINE_TAUJETPARAMETER_ACCESSOR( float, centFracCorrected );
144 DEFINE_TAUJETPARAMETER_ACCESSOR( float, etOverPtLeadTrkCorrected );
145 DEFINE_TAUJETPARAMETER_ACCESSOR( float, innerTrkAvgDistCorrected );
146 DEFINE_TAUJETPARAMETER_ACCESSOR( float, SumPtTrkFracCorrected );
147 DEFINE_TAUJETPARAMETER_ACCESSOR( float, ipSigLeadTrkCorrected );
148 DEFINE_TAUJETPARAMETER_ACCESSOR( float, trFlightPathSigCorrected );
149 DEFINE_TAUJETPARAMETER_ACCESSOR( float, massTrkSysCorrected );
150 DEFINE_TAUJETPARAMETER_ACCESSOR( float, dRmaxCorrected );
151 DEFINE_TAUJETPARAMETER_ACCESSOR( float, ChPiEMEOverCaloEMECorrected );
152 DEFINE_TAUJETPARAMETER_ACCESSOR( float, EMPOverTrkSysPCorrected );
153 DEFINE_TAUJETPARAMETER_ACCESSOR( float, ptRatioEflowApproxCorrected );
154 DEFINE_TAUJETPARAMETER_ACCESSOR( float, mEflowApproxCorrected );
155
156 DEFINE_TAUJETPARAMETER_ACCESSOR( float, mEflowApprox );
157 DEFINE_TAUJETPARAMETER_ACCESSOR( float, ptRatioEflowApprox );
158
159 default:
160 std::cerr << "xAOD::TauJetParameters ERROR Unknown float detail ("
161 << detail << ") requested" << std::endl;
162 return 0;
163 }
164 }
165
166 template <> const SG::Accessor< int >* detailsAccessorV2<int>( xAOD::TauJetParameters::Detail detail ) {
167
168 switch( detail ) {
169
170 DEFINE_TAUJETPARAMETER_ACCESSOR( int, numCells );
171 DEFINE_TAUJETPARAMETER_ACCESSOR( int, numTopoClusters );
172 DEFINE_TAUJETPARAMETER_ACCESSOR( int, nStrip );
173 DEFINE_TAUJETPARAMETER_ACCESSOR( int, nCharged );
174
175 default:
176 std::cerr << "xAOD::TauJetParameters ERROR Unknown integer detail ("
177 << detail << ") requested" << std::endl;
178 return 0;
179 }
180 }
181
182
183#endif // XAODTAU_TAUJETACCESSORS_V2_ICC
184
185// LocalWords: EMPOverTrkSysPCorrected