ATLAS Offline Software
Loading...
Searching...
No Matches
UncertaintyEnum.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef JETUNCERTAINTIES_UNCERTAINTYENUM_H
6#define JETUNCERTAINTIES_UNCERTAINTYENUM_H
7
8#include "TString.h"
9
10namespace jet
11{
12
13namespace CompCategory
14{
16 {
17 UNKNOWN=0, // Failure/unset/etc
18 Statistical,// Statistical and method uncertainties
19 Detector, // Detector uncertainties
20 Modelling, // Modelling uncertainties
21 Mixed, // Mixed detector/modelling uncertainties
22 Effective, // Effective nuisance parameters (category is nonsensical after global reduction)
23 Other // Other uncertainties that don't fit in the above (MC nonclosure, ...)
24 };
25 TString enumToString(const TypeEnum type);
26 TypeEnum stringToEnum(const TString& type);
27}
28
30{
32 {
33 UNKNOWN=0, // Failure/unset/etc
34 Uncorrelated, // Uncorrelated systematic - add in quadrature
35 Correlated // Correlated systematic - add linearly
36 };
37 TString enumToString(const TypeEnum type);
38 TypeEnum stringToEnum(const TString& type);
39}
40
41
43{
45 {
46 UNKNOWN=0, // Failure/unset/etc
47 Pt, // 1D, (pT) dependence
48 PtEta, // 2D, (pT,eta) dependence
49 PtAbsEta, // 2D, (pT,|eta|) dependence
50 PtAbsMass, // 2D, (pT,mass) dependence
51 PtMass, // 2D, (pt,m/pT) dependence
52 PtMassEta, // 3D, (pT,m/pT,eta) dependence
53 PtMassAbsEta, // 3D, (pT,m/pT,|eta|) dependence
54 PtAbsMassEta, // 3D, (pT,mass,eta) dependence
55 PtAbsMassAbsEta,// 3D, (pT,mass,|eta|) dependence
56 eLOGmOe, // 2D, (E,log(m/E)) dependence
57 eLOGmOeEta, // 3D, (E,log(m/E),eta) dependence
58 eLOGmOeAbsEta, // 3D, (E,log(m/E),|eta|) dependence
59 PtLOGPtMassForTagSF,// 2D, (pt,log(m/pT)) dependence, only for tagging SF
60 };
61
62 TString enumToString(const TypeEnum type);
63 TypeEnum stringToEnum(const TString& type);
64 bool isAbsEta(const TypeEnum type);
65 bool includesMass(const TypeEnum type);
66}
67
68namespace CompMassDef
69{
71 {
72 UNKNOWN=0, // Failure/unset/etc
73 FourVecMass, // Mass directly from the four-vector
74 CaloMass, // Calorimeter jet mass
75 TAMass, // Track-assisted jet mass = (mTrack/pTtrack) * pTcalo
76 CombMassQCD, // Combined jet mass = mCalo*wCalo + mTA*wTA, QCD weights
77 CombMassWZ, // Combined jet mass = mCalo*wCalo + mTA*wTA, W/Z weights
78 CombMassHbb, // Combined jet mass = mCalo*wCalo + mTA*wTA, Hbb weights
79 CombMassTop // Combined jet mass = mCalo*wCalo + mTA*wTA, Top weights
80 };
81
82 TString enumToString(const TypeEnum type);
83 TypeEnum stringToEnum(const TString& type);
84 TString getJetScaleString(const TypeEnum type);
85
86}
87
88namespace CompScaleVar
89{
91 {
92 // Error state
93 UNKNOWN=0, // Failure/unset/etc
94
95 // Scale uncertainties
96 FourVec, // The full jet 4-vector
97 Pt, // The jet pT
98 Mass, // The jet mass (the default four-vector mass)
99 D12, // The 1,2 splitting distance
100 D23, // The 2,3 splitting distance
101 Tau21, // The ratio on n-subjettiness 2/1
102 Tau32, // The ratio on n-subjettiness 3/2
103 Tau21WTA, // The ratio on n-subjettiness 2/1 with WTA axis
104 Tau32WTA, // The ratio on n-subjettiness 3/2 with WTA axis
105 D2Beta1, // The value of D_2^{beta=1} (ECF ratio)
106 C2Beta1, // The value of C_2^{beta=1} (ECF ratio)
107 Qw, // The value of Qw
108 TagScaleFactor, // Tagging efficiency SF
109 TagEfficiency, // Tagging efficiency SF
110
111 // Resolution uncertainties
112 MassRes, // The jet mass resolution, relative
113 MassResAbs, // The jet mass resolution, absolute
114 PtRes, // The jet pT resolution, relative
115 PtResAbs, // The jet pT resolution, absolute
116 FourVecRes, // The jet energy resolution applied to the full four-vector, relative
117 FourVecResAbs // The jet energy resolution applied to the full four-vector, absolute
118 };
119 TString enumToString(const TypeEnum type);
120 TypeEnum stringToEnum(const TString& type);
121
122 bool isScaleType(const TypeEnum type);
123 bool isResolutionType(const TypeEnum type);
126}
127
129{
130 enum TypeEnum // used to identify the jet flavor relevant for this NP
131 {
132 UNKNOWN=0, // error state
133 t_qqb, // full-contained top
134 t, // inclusive top
135 V_qq, // W/Z->qq
136 W_qq, // W->qq
137 Z_qq, // Z->qq
138 W_qq_From_t,// t->W->qq
139 t_other, // inclusive top but not contain t_qqb
140 q // background jet
141 };
142 TString enumToString(const TypeEnum type);
143 TypeEnum stringToEnum(const TString& type);
144}
145
147{
148 enum TypeEnum // used to identify the region relevant for this NP
149 {
150 UNKNOWN=0, // error state
151 passMpassD2_2Var,// passing both mass and D2 cuts
152 passMfailD2_2Var,// passing mass cut but failing D2
153 failMpassD2_2Var,// failing mass cut but passing D2
154 failMfailD2_2Var // failing both mass and D2 cuts
155 };
156 TString enumToString(const TypeEnum type);
157 TypeEnum stringToEnum(const TString& type);
158}
159
160namespace PileupComp
161{
163 {
164 UNKNOWN=0, // Failure/unset/etc
165 OffsetNPV, // NPV based pileup offset
166 OffsetMu, // mu based pileup offset
167 PtTerm, // pT based systematic (both NPV and mu dependence)
168 RhoTopology // Rho topology systematic (no NPV or mu dependence, but pileup anyway)
169 };
170 TString enumToString(const TypeEnum type);
171 TypeEnum stringToEnum(const TString& type);
172}
173
174namespace FlavourComp
175{
177 {
178 UNKNOWN=0, // Failure/unset/etc
179 Response, // Flavour response
180 Composition, // Flavour compositon
181 bJES, // bJES response
182 PerJetResponse, // Per-jet flavour response
183 PerJetResponse_Gluon, // Per-jet flavour response
187 };
188 TString enumToString(const TypeEnum type);
189 TypeEnum stringToEnum(const TString& type);
190}
191
193{
195 {
196 UNKNOWN=0, // Failure/unset/setc
197 Calo, // Calorimeter-only uncertainty
198 TA, // Track-assisted-only uncertainty
199 Both // Coherent calo and TA uncertainties
200 };
201 TString enumToString(const TypeEnum type);
202 TypeEnum stringToEnum(const TString& type);
203}
204
205namespace JetTopology
206{
208 {
209 UNKNOWN=0, // Failure/unset/etc
210 QCD, // QCD jet topology
211 WZ, // W/Z jet topology
212 Hbb, // Hbb jet topology
213 Top, // Top jet topology
214 MIXED // Mixed topology (multiple of the above)
215 };
216 TString enumToString(const TypeEnum type);
217 TypeEnum stringToEnum(const TString& type);
218}
219
220// Unset the TRUE and FALSE macros, defined in a custom way on macOS 11.
221#ifdef TRUE
222# undef TRUE
223#endif
224#ifdef FALSE
225# undef FALSE
226#endif
227
229{
231 {
232 UNSET = -1,
233 FALSE = 0,
235 };
236}
237
238namespace Interpolate
239{
241 {
242 UNKNOWN=0, // Failure/unset/etc
243 None, // No interpolation
244 Full, // Full interpolation
245 OnlyX, // Interpolate only in the x-direction (hold y,z fixed)
246 OnlyY // Interpolate only in the y-direction (hold x,z fixed)
247 };
248 TString enumToString(const TypeEnum type);
249 TypeEnum stringToEnum(const TString& type);
250}
251
252} // end jet namespace
253
254#endif
TString enumToString(const TypeEnum type)
TypeEnum stringToEnum(const TString &type)
TypeEnum stringToEnum(const TString &type)
TString enumToString(const TypeEnum type)
TString enumToString(const TypeEnum type)
TypeEnum stringToEnum(const TString &type)
TString enumToString(const TypeEnum type)
TypeEnum stringToEnum(const TString &type)
TypeEnum stringToEnum(const TString &type)
TString getJetScaleString(const TypeEnum type)
TString enumToString(const TypeEnum type)
TypeEnum stringToEnum(const TString &type)
bool includesMass(const TypeEnum type)
TString enumToString(const TypeEnum type)
bool isAbsEta(const TypeEnum type)
TypeEnum stringToEnum(const TString &type)
bool isRelResolutionType(const TypeEnum type)
bool isScaleType(const TypeEnum type)
bool isResolutionType(const TypeEnum type)
bool isAbsResolutionType(const TypeEnum type)
TString enumToString(const TypeEnum type)
TString enumToString(const TypeEnum type)
TypeEnum stringToEnum(const TString &type)
TString enumToString(const TypeEnum type)
TypeEnum stringToEnum(const TString &type)
TypeEnum stringToEnum(const TString &type)
TString enumToString(const TypeEnum type)
TypeEnum stringToEnum(const TString &type)
TString enumToString(const TypeEnum type)
TypeEnum stringToEnum(const TString &type)
TString enumToString(const TypeEnum type)