NAIA  1.1.1
Utils.h
Go to the documentation of this file.
1 #ifndef NAIA_UTILS_H
2 #define NAIA_UTILS_H
3 
4 #include <algorithm>
5 #include <array>
6 #include <limits>
7 #include <map>
8 
10 
11 // templated helper functions
12 #include "Containers/Utils.hpp"
13 
14 // bitmask-able enums declaration
15 namespace NAIA {
16 enum class Category;
17 }
19 
20 namespace NAIA {
21 
30 inline std::vector<std::string> TokenizeString(const std::string &input, const char separator) {
31  std::vector<std::string> result;
32 
33  for (auto iter = cbegin(input);; /*nothing here*/) {
34  auto sepIter = std::find(iter, end(input), separator);
35 
36  result.emplace_back(iter, sepIter);
37 
38  if (sepIter == cend(input))
39  break;
40  iter = std::next(sepIter);
41  }
42 
43  return result;
44 }
45 
54 template <class T> using LayerVariable = std::map<unsigned int, T>;
55 
60 enum class Category {
61  None = 0,
62  HasTof = 1 << 0,
63  HasTrack = 1 << 1,
64  HasEcal = 1 << 2,
65  HasTrd = 1 << 3,
66  HasRich = 1 << 4,
67  HasTofStandalone = 1 << 5,
68  HasTrdStandalone = 1 << 6,
69  Charge1_Trk = 1 << 7,
70  Charge2_Trk = 1 << 8,
71  ChargeGT2_Trk = 1 << 9,
72  Charge1_Tof = 1 << 10,
73  Charge2_Tof = 1 << 11,
74  ChargeGT2_Tof = 1 << 12,
75  Charge1_Trk_St = 1 << 13,
76  Charge2_Trk_St = 1 << 14,
77  ChargeGT2_Trk_St = 1 << 15,
78  Charge1_Tof_St = 1 << 16,
79  Charge2_Tof_St = 1 << 17,
80  ChargeGT2_Tof_St = 1 << 18,
81 };
82 
85 namespace TrTrack {
86 // helper categories to handle charge reconstructions
88 constexpr unsigned int numChargeRecos = 3;
91  STD,
92  HL,
93  YJ,
94 };
96 constexpr std::array<ChargeRecoType, numChargeRecos> recoTypes{ChargeRecoType::STD, ChargeRecoType::HL,
98 
99 // helper category for track z positions
101 constexpr unsigned int numFitPositionHeights = 17;
104  Layer1 = 0,
121 };
122 
124 constexpr std::array<FitPositionHeight, numFitPositionHeights> fitPositionHeights = {
131 
136 constexpr std::array<float, numFitPositionHeights> fitPositionHeightZ = {
137  159.04, 53.05, 29.22, 25.24, 1.706, -2.292, -25.26, -29.25, -136.03,
138  64.425, 61.325, -62.875, -64.425, -71.87, 0, -142.732, -159.382};
139 
141 static const std::array<std::string, numFitPositionHeights> fitPositionNames{
142  "Layer1", "Layer2", "Layer3", "Layer4", "Layer5", "Layer6", "Layer7", "Layer8", "Layer9",
143  "TofLayer0", "TofLayer1", "TofLayer2", "TofLayer3", "RICHRadiator", "EcalCOG", "EcalTop", "EcalBottom"};
144 
146 constexpr unsigned int numTrLayers = 9;
147 
149 constexpr std::array<FitPositionHeight, numTrLayers> layerPositionHeights = {
153 
154 // helper categories to handle track spans
156 constexpr unsigned int numSpans = 6;
157 enum Span {
158  NoSpan = -1,
165 };
167 constexpr std::array<Span, numSpans> spanTypes{Span::InnerOnly, Span::InnerL1, Span::InnerL9,
170 static const std::array<std::string, numSpans> spanNames{"InnerOnly", "InnerL1", "InnerL9",
171  "FullSpan", "UpperHalfInner", "LowerHalfInner"};
172 
173 // helper categories to handle track fits
175 constexpr unsigned int numFits = 6;
177 enum Fit {
178  NoFit = -1,
181  GBL,
185 };
187 constexpr std::array<Fit, numFits> fitTypes{Fit::Choutko, Fit::Kalman, Fit::GBL,
190 static const std::array<std::string, numFits> fitNames{"Choutko", "Kalman", "GBL",
191  "KalmanElectron", "ChoutkoNoMS", "GBLNoMS"};
192 
193 // helper categories to handle track geometries
195 constexpr unsigned int numTrGeos = 4;
198 constexpr std::array<TrGeometry, numTrGeos> trGeoTypes{TrGeometry::Default, TrGeometry::InnerOnly, TrGeometry::InnerL1,
201 static const std::array<std::string, numTrGeos> trGeoNames{"Default", "InnerOnly", "InnerL1", "FullSpan"};
202 
203 // helper categories to handle track sides
205 constexpr unsigned int numSides = 2;
207 enum Side { X, Y };
209 constexpr std::array<Side, numSides> sides{Side::X, Side::Y};
211 static const std::array<std::string, numSides> sideNames{"X", "Y"};
212 
213 // helper categories to handle track sides
215 constexpr unsigned int numTrackDistances = 7;
219 constexpr std::array<DistanceFromTrack, numTrackDistances> trackDistances{
223 static const std::array<std::string, numTrackDistances> trackDistanceNames{"OnTrack", "Onemm", "Onecm", "Twocm",
224  "Fivecm", "Tencm", "AllLayer"};
225 
226 } // namespace TrTrack
227 
228 namespace TrdK {
229 
230 // helper categories to handle charge reconstructions
232 constexpr unsigned int numChargeTypes = 3;
238 };
240 constexpr std::array<ChargeType, numChargeTypes> recoTypes{ChargeType::Total, ChargeType::Upper, ChargeType::Lower};
242 static const std::array<std::string, numChargeTypes> recoNames{"Total", "Upper", "Lower"};
243 
244 // helper categories to handle likelihoods
246 constexpr unsigned int numLikelihoodTypes = 3;
250 constexpr std::array<LikelihoodType, numLikelihoodTypes> likelihoodTypes{
253 static const std::array<std::string, numLikelihoodTypes> likelihoodNames{"Electron", "Proton", "Helium"};
254 
255 // helper categories to handle likelihood ratios
257 constexpr unsigned int numLikelihoodRTypes = 3;
260  ep,
261  eHe,
262  pHe,
263 };
265 constexpr std::array<LikelihoodRType, numLikelihoodRTypes> likelihoodRTypes{LikelihoodRType::ep, LikelihoodRType::eHe,
268 static const std::array<std::string, numLikelihoodRTypes> likelihoodRNames{"ep", "eHe", "pHe"};
269 
270 // helper categories to handle ontrack/offtrack variables
272 constexpr unsigned int numQualTypes = 2;
274 enum QualType {
277 };
279 constexpr std::array<QualType, numQualTypes> qualTypes{QualType::OnTrack, QualType::OffTrack};
281 static const std::array<std::string, numQualTypes> qualNames{"OnTrack", "OffTrack"};
282 
283 } // namespace TrdK
284 
285 namespace Ecal {
286 // helper categories to handle energy reconstructions
288 constexpr unsigned int numEnergyRecos = 5;
290 // clang-format off
297 };
298 // clang-format on
299 
301 constexpr std::array<EnergyRecoType, numEnergyRecos> recoTypes{
305 static const std::array<std::string, numEnergyRecos> recoNames{"EnergyD", "EnergyE", "EnergyCorrEneE_E",
306  "EnergyCorrEne2017", "EcalKEle"};
307 
308 // helper categories to handle WeiWei's likelihoods
310 constexpr unsigned int numLikelihoodTypes = 2;
314 constexpr std::array<LikelihoodType, numLikelihoodTypes> likelihoodTypeNames{LikelihoodType::Integral,
316 
317 // helper categories to handle BDT types
319 constexpr unsigned int numBDTTypes = 4;
323 constexpr std::array<BDTType, numBDTTypes> BDTTypes{BDTType::v5std, BDTType::v5ada, BDTType::v7std, BDTType::v7ada};
325 static const std::array<std::string, numBDTTypes> BDTNames{"v5std", "v5ada", "v7std", "v7ada"};
326 
327 } // namespace Ecal
328 
329 namespace Tof {
330 
331 const float tofRefZ = 160.;
332 
333 // helper categories to handle charge reconstructions
335 constexpr unsigned int numChargeTypes = 3;
341 };
343 constexpr std::array<ChargeType, numChargeTypes> recoTypes{ChargeType::Total, ChargeType::Upper, ChargeType::Lower};
345 static const std::array<std::string, numChargeTypes> recoNames{"Total", "Upper", "Lower"};
346 
347 // helper categories to handle beta reconstructions
349 constexpr unsigned int numBetaTypes = 2;
351 enum BetaType {
354 };
356 constexpr std::array<BetaType, numBetaTypes> betaTypes{BetaType::BetaH, BetaType::Evgeni};
358 static const std::array<std::string, numBetaTypes> betaNames{"BetaH", "Evgeni"};
359 
360 // helper categories to handle beta clusters
362 constexpr unsigned int numBetaClusterTypes = 2;
366 constexpr std::array<BetaClusterType, numBetaClusterTypes> betaClusterTypes{BetaClusterType::OnTime,
369 static const std::array<std::string, numBetaClusterTypes> betaClusterTypeNames{"OnTime", "OffTime"};
370 
371 } // namespace Tof
372 
373 namespace MCTruth {
375 constexpr unsigned int numMCHeights = 13;
379 constexpr std::array<MCHeight, numMCHeights> MCHeights{MCHeight::GenerationPoint,
380  MCHeight::L1,
382  MCHeight::L2,
383  MCHeight::L3,
384  MCHeight::L4,
385  MCHeight::L5,
386  MCHeight::L6,
387  MCHeight::L7,
388  MCHeight::L8,
391  MCHeight::L9};
392 
394 constexpr std::array<float, numMCHeights> MCHeightsZ{std::numeric_limits<float>::max(),
395  159.04,
396  64.425,
397  53.05,
398  29.22,
399  25.24,
400  1.706,
401  -2.292,
402  -25.26,
403  -29.25,
404  -62.875,
405  -71.87,
406  -135.03};
407 
408 } // namespace MCTruth
409 
410 namespace Rich {
411 // helper categories to handle beta reconstructions
413 enum RichMeasType { NONE = 0, NaF, Agl };
414 
416 constexpr unsigned int numBetaTypes = 4;
418 enum BetaType {
419  CIEMAT, //< Refit and corrected
420  SIMPLE, //< Reconstructed velocity using only hits (no charge)
421  REFIT, //<Beta estimate taking into account the number of photoelectrons for each hit
422  LIP //< Beta with LIP standalone algo
423 };
425 constexpr std::array<BetaType, numBetaTypes> betaTypes{BetaType::CIEMAT, BetaType::SIMPLE, BetaType::REFIT,
426  BetaType::LIP};
428 static const std::array<std::string, numBetaTypes> betaNames{"CIEMAT", "SIMPLE", "REFIT", "LIP"};
429 } // namespace Rich
430 
431 } // namespace NAIA
432 
433 #endif
NAIA::TrdK::Helium
@ Helium
Definition: Utils.h:248
NAIA::TrdK::Proton
@ Proton
Definition: Utils.h:248
NAIA::Ecal::recoNames
static const std::array< std::string, numEnergyRecos > recoNames
Definition: Utils.h:305
NAIA::TrTrack::FullSpan
@ FullSpan
Track constructed with all available hits (inner tracker + layer 1 + layer 9)
Definition: Utils.h:162
NAIA::Ecal::BDTNames
static const std::array< std::string, numBDTTypes > BDTNames
Definition: Utils.h:325
NAIA::TrTrack::Fivecm
@ Fivecm
Definition: Utils.h:217
NAIA::TrdK::pHe
@ pHe
proton/helium likelihood ratio
Definition: Utils.h:262
NAIA::TrTrack::TofLayer0
@ TofLayer0
Definition: Utils.h:113
NAIA::TrTrack::InnerL9
@ InnerL9
Track constructed with inner tracker + layer9 hits.
Definition: Utils.h:161
NAIA::TrTrack::EcalCOG
@ EcalCOG
Definition: Utils.h:118
NAIA::Category::Charge1_Trk_St
@ Charge1_Trk_St
This event is classified as charge 1 according to tracker standalone (0.5 < Q < 1....
NAIA::end
NAIAChain::EventItr end(NAIAChain &chain)
Definition: NAIAChain.h:298
NAIA::TrdK::QualType
QualType
Definition: Utils.h:274
NAIA_ENABLE_BITMASK_OPERATORS
#define NAIA_ENABLE_BITMASK_OPERATORS(x)
Definition: bitmask.h:15
NAIA::MCTruth::RichRadiator
@ RichRadiator
Definition: Utils.h:377
NAIA::TrTrack::TofLayer3
@ TofLayer3
Definition: Utils.h:116
NAIA::Rich::NONE
@ NONE
Definition: Utils.h:413
NAIA::TrTrack::Layer5
@ Layer5
Definition: Utils.h:108
NAIA::TrTrack::Layer8
@ Layer8
Definition: Utils.h:111
NAIA::TrTrack::fitPositionNames
static const std::array< std::string, numFitPositionHeights > fitPositionNames
Definition: Utils.h:141
NAIA::Ecal::numBDTTypes
constexpr unsigned int numBDTTypes
Definition: Utils.h:319
NAIA::TrTrack::GBL
@ GBL
Genfint General Broken Lines track fit.
Definition: Utils.h:181
NAIA::TrTrack::numChargeRecos
constexpr unsigned int numChargeRecos
Definition: Utils.h:88
NAIA::MCTruth::LowerTof
@ LowerTof
Definition: Utils.h:377
NAIA::Tof::Lower
@ Lower
Lower tof charge reconstruction.
Definition: Utils.h:340
NAIA::TrTrack::Side
Side
Definition: Utils.h:207
NAIA::TrTrack::KalmanElectron
@ KalmanElectron
GenFit kalman filter track fit assuming electron mass.
Definition: Utils.h:182
NAIA::TrdK::ChargeType
ChargeType
Definition: Utils.h:234
NAIA::MCTruth::UpperTof
@ UpperTof
Definition: Utils.h:377
NAIA::Category::Charge2_Trk
@ Charge2_Trk
This event is classified as charge 2 according to tracker (1.5 < Q < 2.5)
NAIA::TrdK::Upper
@ Upper
Charge estimated using the upper half of the TRD.
Definition: Utils.h:236
NAIA::Category::HasTrack
@ HasTrack
TrTrack data is available for this event.
NAIA::Ecal::likelihoodTypeNames
constexpr std::array< LikelihoodType, numLikelihoodTypes > likelihoodTypeNames
Definition: Utils.h:314
NAIA::Ecal::LikelihoodType
LikelihoodType
Definition: Utils.h:312
NAIA::Tof::betaClusterTypes
constexpr std::array< BetaClusterType, numBetaClusterTypes > betaClusterTypes
Definition: Utils.h:366
NAIA::Rich::BetaType
BetaType
Definition: Utils.h:418
NAIA::TrTrack::GBLNoMS
@ GBLNoMS
GBL fit without multiple scattering corrections.
Definition: Utils.h:184
NAIA::Tof::tofRefZ
const float tofRefZ
Definition: Utils.h:331
NAIA::TrTrack::DistanceFromTrack
DistanceFromTrack
Definition: Utils.h:217
NAIA::Tof::OffTime
@ OffTime
Definition: Utils.h:364
NAIA::Ecal::numEnergyRecos
constexpr unsigned int numEnergyRecos
Definition: Utils.h:288
NAIA::TrTrack::X
@ X
Definition: Utils.h:207
NAIA::TrTrack::STD
@ STD
Standard tracker charge reconstruction.
Definition: Utils.h:91
NAIA::TrTrack::Onecm
@ Onecm
Definition: Utils.h:217
NAIA::Ecal::EnergyCorrEne2017
@ EnergyCorrEne2017
Ecal energy (2017 reconstruction)
Definition: Utils.h:295
NAIA::TrdK::numChargeTypes
constexpr unsigned int numChargeTypes
Definition: Utils.h:232
NAIA::TrdK::Total
@ Total
Charge estimated using the whole TRD.
Definition: Utils.h:235
NAIA::Tof::numBetaClusterTypes
constexpr unsigned int numBetaClusterTypes
Definition: Utils.h:362
NAIA::TrTrack::Tencm
@ Tencm
Definition: Utils.h:217
NAIA::TrTrack::Choutko
@ Choutko
standard track fit
Definition: Utils.h:179
NAIA::Ecal::BDTType
BDTType
Definition: Utils.h:321
NAIA::Tof::Evgeni
@ Evgeni
Definition: Utils.h:353
NAIA::TrTrack::OnTrack
@ OnTrack
Definition: Utils.h:217
NAIA::TrdK::ep
@ ep
electron/proton likelihood ratio
Definition: Utils.h:260
NAIA::TrTrack::Span
Span
Definition: Utils.h:157
NAIA::TrdK::likelihoodTypes
constexpr std::array< LikelihoodType, numLikelihoodTypes > likelihoodTypes
Definition: Utils.h:250
NAIA::TrTrack::numTrLayers
constexpr unsigned int numTrLayers
Definition: Utils.h:146
NAIA::Ecal::LayerCombined
@ LayerCombined
Definition: Utils.h:312
NAIA::TrTrack::trackDistances
constexpr std::array< DistanceFromTrack, numTrackDistances > trackDistances
Definition: Utils.h:219
NAIA::Tof::BetaClusterType
BetaClusterType
Definition: Utils.h:364
NAIA::Category::HasTofStandalone
@ HasTofStandalone
Tof standalone data is available for this event.
NAIA
Definition: Event.h:13
NAIA::Category::ChargeGT2_Tof_St
@ ChargeGT2_Tof_St
This event is classified as charge >2 according to tof standalone (Q > 2.5)
NAIA::TokenizeString
std::vector< std::string > TokenizeString(const std::string &input, const char separator)
Utility function that splits a string according to the provided separator.
Definition: Utils.h:30
NAIA::MCTruth::L7
@ L7
Definition: Utils.h:377
NAIA::MCTruth::L3
@ L3
Definition: Utils.h:377
NAIA::Category::Charge2_Tof
@ Charge2_Tof
This event is classified as charge 2 according to tof (1.5 < Q < 2.5)
NAIA::TrTrack::trGeoTypes
constexpr std::array< TrGeometry, numTrGeos > trGeoTypes
Definition: Utils.h:198
NAIA::TrTrack::spanNames
static const std::array< std::string, numSpans > spanNames
Definition: Utils.h:170
NAIA::Category::Charge2_Tof_St
@ Charge2_Tof_St
This event is classified as charge 2 according to tof standalone (1.5 < Q < 2.5)
NAIA::TrTrack::InnerOnly
@ InnerOnly
Track constructed with only inner tracker hits.
Definition: Utils.h:159
NAIA::TrTrack::Layer6
@ Layer6
Definition: Utils.h:109
NAIA::TrTrack::Layer7
@ Layer7
Definition: Utils.h:110
NAIA::Ecal::BDTTypes
constexpr std::array< BDTType, numBDTTypes > BDTTypes
Definition: Utils.h:323
NAIA::Tof::numChargeTypes
constexpr unsigned int numChargeTypes
Definition: Utils.h:335
NAIA::TrTrack::YJ
@ YJ
Yi Jia reconstruction.
Definition: Utils.h:93
NAIA::Rich::NaF
@ NaF
Definition: Utils.h:413
NAIA::TrTrack::TrGeometry
TrGeometry
Definition: Utils.h:196
NAIA::MCTruth::L1
@ L1
Definition: Utils.h:377
NAIA::Tof::betaNames
static const std::array< std::string, numBetaTypes > betaNames
Definition: Utils.h:358
NAIA::Ecal::EnergyCorrEneE_E
@ EnergyCorrEneE_E
Ecal energy (electron hypothesys, Using different methods to recover anode efficiency,...
Definition: Utils.h:294
NAIA::TrTrack::numSides
constexpr unsigned int numSides
Definition: Utils.h:205
NAIA::TrdK::numLikelihoodRTypes
constexpr unsigned int numLikelihoodRTypes
Definition: Utils.h:257
NAIA::TrTrack::RICHRadiator
@ RICHRadiator
Definition: Utils.h:117
NAIA::Ecal::numLikelihoodTypes
constexpr unsigned int numLikelihoodTypes
Definition: Utils.h:310
NAIA::TrTrack::recoTypes
constexpr std::array< ChargeRecoType, numChargeRecos > recoTypes
Definition: Utils.h:96
NAIA::MCTruth::L2
@ L2
Definition: Utils.h:377
NAIA::TrTrack::TrGeometry::InnerOnly
@ InnerOnly
NAIA::TrTrack::numSpans
constexpr unsigned int numSpans
Definition: Utils.h:156
NAIA::MCTruth::numMCHeights
constexpr unsigned int numMCHeights
Definition: Utils.h:375
NAIA::TrdK::recoNames
static const std::array< std::string, numChargeTypes > recoNames
Definition: Utils.h:242
NAIA::Rich::SIMPLE
@ SIMPLE
Definition: Utils.h:420
NAIA::Rich::CIEMAT
@ CIEMAT
Definition: Utils.h:419
NAIA::TrdK::recoTypes
constexpr std::array< ChargeType, numChargeTypes > recoTypes
Definition: Utils.h:240
NAIA::Rich::numBetaTypes
constexpr unsigned int numBetaTypes
Definition: Utils.h:416
NAIA::TrTrack::fitPositionHeights
constexpr std::array< FitPositionHeight, numFitPositionHeights > fitPositionHeights
Definition: Utils.h:124
NAIA::Category::ChargeGT2_Trk
@ ChargeGT2_Trk
This event is classified as charge >2 according to tracker (Q > 2.5)
NAIA::TrTrack::NoSpan
@ NoSpan
Definition: Utils.h:158
NAIA::Ecal::EnergyE
@ EnergyE
Ecal energy (standard reconstruction)
Definition: Utils.h:293
NAIA::TrTrack::Kalman
@ Kalman
GenFit kalman filter track fit.
Definition: Utils.h:180
NAIA::TrTrack::TrGeometry::Default
@ Default
NAIA::Category::HasRich
@ HasRich
Rich data is available for this event.
NAIA::TrdK::LikelihoodRType
LikelihoodRType
Definition: Utils.h:259
NAIA::TrdK::qualNames
static const std::array< std::string, numQualTypes > qualNames
Definition: Utils.h:281
NAIA::TrTrack::HL
@ HL
Hu Liu reconstruction.
Definition: Utils.h:92
NAIA::TrTrack::TrGeometry::InnerL1
@ InnerL1
NAIA::TrTrack::Layer2
@ Layer2
Definition: Utils.h:105
NAIA::MCTruth::L4
@ L4
Definition: Utils.h:377
NAIA::TrTrack::Layer3
@ Layer3
Definition: Utils.h:106
Utils.hpp
NAIA::TrTrack::TofLayer2
@ TofLayer2
Definition: Utils.h:115
NAIA::TrTrack::UpperHalfInner
@ UpperHalfInner
Track constructed with the upper part of the inner tracker (layers 2 to 6)
Definition: Utils.h:163
NAIA::Ecal::Integral
@ Integral
Definition: Utils.h:312
NAIA::Tof::Total
@ Total
Total tof charge reconstruction.
Definition: Utils.h:338
bitmask.h
NAIA::Rich::REFIT
@ REFIT
Definition: Utils.h:421
NAIA::Tof::BetaH
@ BetaH
IHEP reconstruction.
Definition: Utils.h:352
NAIA::MCTruth::MCHeight
MCHeight
Definition: Utils.h:377
NAIA::TrTrack::numTrGeos
constexpr unsigned int numTrGeos
Definition: Utils.h:195
NAIA::Tof::Upper
@ Upper
Upper tof charge reconstruction.
Definition: Utils.h:339
NAIA::Category::ChargeGT2_Tof
@ ChargeGT2_Tof
This event is classified as charge >2 according to tof (Q > 2.5)
NAIA::MCTruth::GenerationPoint
@ GenerationPoint
Definition: Utils.h:377
NAIA::TrTrack::AllLayer
@ AllLayer
Definition: Utils.h:217
NAIA::TrTrack::spanTypes
constexpr std::array< Span, numSpans > spanTypes
Definition: Utils.h:167
NAIA::Category::Charge1_Tof_St
@ Charge1_Tof_St
This event is classified as charge 1 according to tof standalone (0.5 < Q < 1.5)
NAIA::TrdK::qualTypes
constexpr std::array< QualType, numQualTypes > qualTypes
Definition: Utils.h:279
NAIA::TrTrack::LowerHalfInner
@ LowerHalfInner
Track constructed with the upper part of the inner tracker (layers 3 to 8)
Definition: Utils.h:164
NAIA::Ecal::v7ada
@ v7ada
Definition: Utils.h:321
NAIA::Category::Charge1_Tof
@ Charge1_Tof
This event is classified as charge 1 according to tof (0.5 < Q < 1.5)
NAIA::TrdK::LikelihoodType
LikelihoodType
Definition: Utils.h:248
NAIA::TrTrack::numTrackDistances
constexpr unsigned int numTrackDistances
Definition: Utils.h:215
NAIA::Category::HasTof
@ HasTof
Tof data is available for this event.
NAIA::MCTruth::L5
@ L5
Definition: Utils.h:377
NAIA::TrdK::likelihoodNames
static const std::array< std::string, numLikelihoodTypes > likelihoodNames
Definition: Utils.h:253
NAIA::TrTrack::FitPositionHeight
FitPositionHeight
Definition: Utils.h:103
NAIA::Rich::LIP
@ LIP
Definition: Utils.h:422
NAIA::Category::HasTrdStandalone
@ HasTrdStandalone
TRD standalone data is available for this event.
NAIA::Category::ChargeGT2_Trk_St
@ ChargeGT2_Trk_St
This event is classified as charge >2 according to tracker standalone (Q > 2.5)
NAIA::TrTrack::EcalBottom
@ EcalBottom
Definition: Utils.h:120
NAIA::Tof::betaTypes
constexpr std::array< BetaType, numBetaTypes > betaTypes
Definition: Utils.h:356
NAIA::TrTrack::trackDistanceNames
static const std::array< std::string, numTrackDistances > trackDistanceNames
Definition: Utils.h:223
NAIA::MCTruth::MCHeightsZ
constexpr std::array< float, numMCHeights > MCHeightsZ
Definition: Utils.h:394
NAIA::TrdK::eHe
@ eHe
electron/helium likelihood ratio
Definition: Utils.h:261
NAIA::Rich::betaNames
static const std::array< std::string, numBetaTypes > betaNames
Definition: Utils.h:428
NAIA::TrTrack::Twocm
@ Twocm
Definition: Utils.h:217
NAIA::TrTrack::TrGeometry::FullSpan
@ FullSpan
NAIA::Category::Charge2_Trk_St
@ Charge2_Trk_St
This event is classified as charge 2 according to tracker standalone (1.5 < Q < 2....
NAIA::Tof::betaClusterTypeNames
static const std::array< std::string, numBetaClusterTypes > betaClusterTypeNames
Definition: Utils.h:369
NAIA::Ecal::EcalKEle
@ EcalKEle
Ecal energy (W. Xu 3D reconstruction)
Definition: Utils.h:296
NAIA::TrdK::Lower
@ Lower
Charge estimated using the lower half of the TRD.
Definition: Utils.h:237
NAIA::TrTrack::Layer4
@ Layer4
Definition: Utils.h:107
NAIA::Category::None
@ None
NAIA::MCTruth::Ecal
@ Ecal
Definition: Utils.h:377
NAIA::Category::Charge1_Trk
@ Charge1_Trk
This event is classified as charge 1 according to tracker (0.5 < Q < 1.5)
NAIA::Category::HasEcal
@ HasEcal
Ecal data is available for this event.
NAIA::Tof::BetaType
BetaType
Definition: Utils.h:351
NAIA::MCTruth::MCHeights
constexpr std::array< MCHeight, numMCHeights > MCHeights
Definition: Utils.h:379
NAIA::Category::HasTrd
@ HasTrd
TRD data is available for this event.
NAIA::TrTrack::fitPositionHeightZ
constexpr std::array< float, numFitPositionHeights > fitPositionHeightZ
Definition: Utils.h:136
NAIA::TrdK::Electron
@ Electron
Definition: Utils.h:248
NAIA::TrTrack::Y
@ Y
Definition: Utils.h:207
NAIA::Category
Category
Definition: Utils.h:60
NAIA::Tof::numBetaTypes
constexpr unsigned int numBetaTypes
Definition: Utils.h:349
NAIA::TrTrack::layerPositionHeights
constexpr std::array< FitPositionHeight, numTrLayers > layerPositionHeights
Definition: Utils.h:149
NAIA::MCTruth::L6
@ L6
Definition: Utils.h:377
NAIA::TrTrack::numFits
constexpr unsigned int numFits
Definition: Utils.h:175
NAIA::TrTrack::Onemm
@ Onemm
Definition: Utils.h:217
NAIA::Ecal::EnergyRecoType
EnergyRecoType
Definition: Utils.h:291
NAIA::TrTrack::Layer1
@ Layer1
Definition: Utils.h:104
NAIA::LayerVariable
std::map< unsigned int, T > LayerVariable
Definition: Utils.h:54
NAIA::TrdK::likelihoodRNames
static const std::array< std::string, numLikelihoodRTypes > likelihoodRNames
Definition: Utils.h:268
NAIA::TrTrack::InnerL1
@ InnerL1
Track constructed with inner tracker + layer 1 hits.
Definition: Utils.h:160
NAIA::TrTrack::Fit
Fit
Definition: Utils.h:177
NAIA::TrTrack::ChargeRecoType
ChargeRecoType
Definition: Utils.h:90
NAIA::TrTrack::EcalTop
@ EcalTop
Definition: Utils.h:119
NAIA::TrTrack::ChoutkoNoMS
@ ChoutkoNoMS
Choutko fit without multiple scattering corrections.
Definition: Utils.h:183
NAIA::TrTrack::fitNames
static const std::array< std::string, numFits > fitNames
Definition: Utils.h:190
NAIA::TrTrack::Layer9
@ Layer9
Definition: Utils.h:112
NAIA::Rich::Agl
@ Agl
Definition: Utils.h:413
NAIA::Ecal::v5ada
@ v5ada
Definition: Utils.h:321
NAIA::TrTrack::trGeoNames
static const std::array< std::string, numTrGeos > trGeoNames
Definition: Utils.h:201
NAIA::TrTrack::TofLayer1
@ TofLayer1
Definition: Utils.h:114
NAIA::TrdK::numQualTypes
constexpr unsigned int numQualTypes
Definition: Utils.h:272
NAIA::TrdK::numLikelihoodTypes
constexpr unsigned int numLikelihoodTypes
Definition: Utils.h:246
NAIA::TrTrack::sideNames
static const std::array< std::string, numSides > sideNames
Definition: Utils.h:211
NAIA::Rich::RichMeasType
RichMeasType
Definition: Utils.h:413
NAIA::TrdK::Deuterium
@ Deuterium
Definition: Utils.h:248
NAIA::TrTrack::NoFit
@ NoFit
Definition: Utils.h:178
NAIA::TrdK::likelihoodRTypes
constexpr std::array< LikelihoodRType, numLikelihoodRTypes > likelihoodRTypes
Definition: Utils.h:265
NAIA::MCTruth::L9
@ L9
Definition: Utils.h:377
NAIA::Ecal::recoTypes
constexpr std::array< EnergyRecoType, numEnergyRecos > recoTypes
Definition: Utils.h:301
NAIA::Rich::betaTypes
constexpr std::array< BetaType, numBetaTypes > betaTypes
Definition: Utils.h:425
NAIA::Ecal::v7std
@ v7std
Definition: Utils.h:321
NAIA::TrTrack::numFitPositionHeights
constexpr unsigned int numFitPositionHeights
Definition: Utils.h:101
NAIA::Tof::ChargeType
ChargeType
Definition: Utils.h:337
NAIA::Ecal::v5std
@ v5std
Definition: Utils.h:321
NAIA::Tof::OnTime
@ OnTime
Definition: Utils.h:364
NAIA::TrTrack::fitTypes
constexpr std::array< Fit, numFits > fitTypes
Definition: Utils.h:187
NAIA::TrdK::OffTrack
@ OffTrack
Hits laying off the TRD track (all the rest)
Definition: Utils.h:276
NAIA::Ecal::EnergyD
@ EnergyD
Total deposited energy in Ecal.
Definition: Utils.h:292
NAIA::TrTrack::sides
constexpr std::array< Side, numSides > sides
Definition: Utils.h:209
NAIA::Tof::recoTypes
constexpr std::array< ChargeType, numChargeTypes > recoTypes
Definition: Utils.h:343
NAIA::MCTruth::L8
@ L8
Definition: Utils.h:377
NAIA::TrdK::OnTrack
@ OnTrack
Hits laying on the TRD track (the ones used for likelihood estimation)
Definition: Utils.h:275
NAIA::Tof::recoNames
static const std::array< std::string, numChargeTypes > recoNames
Definition: Utils.h:345