Go to the documentation of this file.
30 inline std::vector<std::string>
TokenizeString(
const std::string &input,
const char separator) {
31 std::vector<std::string> result;
33 for (
auto iter = cbegin(input);; ) {
34 auto sepIter = std::find(iter,
end(input), separator);
36 result.emplace_back(iter, sepIter);
38 if (sepIter == cend(input))
40 iter = std::next(sepIter);
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};
142 "Layer1",
"Layer2",
"Layer3",
"Layer4",
"Layer5",
"Layer6",
"Layer7",
"Layer8",
"Layer9",
143 "TofLayer0",
"TofLayer1",
"TofLayer2",
"TofLayer3",
"RICHRadiator",
"EcalCOG",
"EcalTop",
"EcalBottom"};
170 static const std::array<std::string, numSpans>
spanNames{
"InnerOnly",
"InnerL1",
"InnerL9",
171 "FullSpan",
"UpperHalfInner",
"LowerHalfInner"};
190 static const std::array<std::string, numFits>
fitNames{
"Choutko",
"Kalman",
"GBL",
191 "KalmanElectron",
"ChoutkoNoMS",
"GBLNoMS"};
201 static const std::array<std::string, numTrGeos>
trGeoNames{
"Default",
"InnerOnly",
"InnerL1",
"FullSpan"};
211 static const std::array<std::string, numSides>
sideNames{
"X",
"Y"};
223 static const std::array<std::string, numTrackDistances>
trackDistanceNames{
"OnTrack",
"Onemm",
"Onecm",
"Twocm",
224 "Fivecm",
"Tencm",
"AllLayer"};
242 static const std::array<std::string, numChargeTypes>
recoNames{
"Total",
"Upper",
"Lower"};
253 static const std::array<std::string, numLikelihoodTypes>
likelihoodNames{
"Electron",
"Proton",
"Helium"};
268 static const std::array<std::string, numLikelihoodRTypes>
likelihoodRNames{
"ep",
"eHe",
"pHe"};
281 static const std::array<std::string, numQualTypes>
qualNames{
"OnTrack",
"OffTrack"};
301 constexpr std::array<EnergyRecoType, numEnergyRecos>
recoTypes{
305 static const std::array<std::string, numEnergyRecos>
recoNames{
"EnergyD",
"EnergyE",
"EnergyCorrEneE_E",
306 "EnergyCorrEne2017",
"EcalKEle"};
325 static const std::array<std::string, numBDTTypes>
BDTNames{
"v5std",
"v5ada",
"v7std",
"v7ada"};
345 static const std::array<std::string, numChargeTypes>
recoNames{
"Total",
"Upper",
"Lower"};
358 static const std::array<std::string, numBetaTypes>
betaNames{
"BetaH",
"Evgeni"};
377 enum MCHeight {
GenerationPoint = 0,
L1,
UpperTof,
L2,
L3,
L4,
L5,
L6,
L7,
L8,
LowerTof,
RichRadiator,
L9,
Ecal };
394 constexpr std::array<float, numMCHeights>
MCHeightsZ{std::numeric_limits<float>::max(),
428 static const std::array<std::string, numBetaTypes>
betaNames{
"CIEMAT",
"SIMPLE",
"REFIT",
"LIP"};
static const std::array< std::string, numEnergyRecos > recoNames
@ FullSpan
Track constructed with all available hits (inner tracker + layer 1 + layer 9)
static const std::array< std::string, numBDTTypes > BDTNames
@ pHe
proton/helium likelihood ratio
@ InnerL9
Track constructed with inner tracker + layer9 hits.
@ Charge1_Trk_St
This event is classified as charge 1 according to tracker standalone (0.5 < Q < 1....
NAIAChain::EventItr end(NAIAChain &chain)
#define NAIA_ENABLE_BITMASK_OPERATORS(x)
static const std::array< std::string, numFitPositionHeights > fitPositionNames
constexpr unsigned int numBDTTypes
@ GBL
Genfint General Broken Lines track fit.
constexpr unsigned int numChargeRecos
@ Lower
Lower tof charge reconstruction.
@ KalmanElectron
GenFit kalman filter track fit assuming electron mass.
@ Charge2_Trk
This event is classified as charge 2 according to tracker (1.5 < Q < 2.5)
@ Upper
Charge estimated using the upper half of the TRD.
@ HasTrack
TrTrack data is available for this event.
constexpr std::array< LikelihoodType, numLikelihoodTypes > likelihoodTypeNames
constexpr std::array< BetaClusterType, numBetaClusterTypes > betaClusterTypes
@ GBLNoMS
GBL fit without multiple scattering corrections.
constexpr unsigned int numEnergyRecos
@ STD
Standard tracker charge reconstruction.
@ EnergyCorrEne2017
Ecal energy (2017 reconstruction)
constexpr unsigned int numChargeTypes
@ Total
Charge estimated using the whole TRD.
constexpr unsigned int numBetaClusterTypes
@ Choutko
standard track fit
@ ep
electron/proton likelihood ratio
constexpr std::array< LikelihoodType, numLikelihoodTypes > likelihoodTypes
constexpr unsigned int numTrLayers
constexpr std::array< DistanceFromTrack, numTrackDistances > trackDistances
@ HasTofStandalone
Tof standalone data is available for this event.
@ ChargeGT2_Tof_St
This event is classified as charge >2 according to tof standalone (Q > 2.5)
std::vector< std::string > TokenizeString(const std::string &input, const char separator)
Utility function that splits a string according to the provided separator.
@ Charge2_Tof
This event is classified as charge 2 according to tof (1.5 < Q < 2.5)
constexpr std::array< TrGeometry, numTrGeos > trGeoTypes
static const std::array< std::string, numSpans > spanNames
@ Charge2_Tof_St
This event is classified as charge 2 according to tof standalone (1.5 < Q < 2.5)
@ InnerOnly
Track constructed with only inner tracker hits.
constexpr std::array< BDTType, numBDTTypes > BDTTypes
constexpr unsigned int numChargeTypes
@ YJ
Yi Jia reconstruction.
static const std::array< std::string, numBetaTypes > betaNames
@ EnergyCorrEneE_E
Ecal energy (electron hypothesys, Using different methods to recover anode efficiency,...
constexpr unsigned int numSides
constexpr unsigned int numLikelihoodRTypes
constexpr unsigned int numLikelihoodTypes
constexpr std::array< ChargeRecoType, numChargeRecos > recoTypes
constexpr unsigned int numSpans
constexpr unsigned int numMCHeights
static const std::array< std::string, numChargeTypes > recoNames
constexpr std::array< ChargeType, numChargeTypes > recoTypes
constexpr unsigned int numBetaTypes
constexpr std::array< FitPositionHeight, numFitPositionHeights > fitPositionHeights
@ ChargeGT2_Trk
This event is classified as charge >2 according to tracker (Q > 2.5)
@ EnergyE
Ecal energy (standard reconstruction)
@ Kalman
GenFit kalman filter track fit.
@ HasRich
Rich data is available for this event.
static const std::array< std::string, numQualTypes > qualNames
@ HL
Hu Liu reconstruction.
@ UpperHalfInner
Track constructed with the upper part of the inner tracker (layers 2 to 6)
@ Total
Total tof charge reconstruction.
@ BetaH
IHEP reconstruction.
constexpr unsigned int numTrGeos
@ Upper
Upper tof charge reconstruction.
@ ChargeGT2_Tof
This event is classified as charge >2 according to tof (Q > 2.5)
constexpr std::array< Span, numSpans > spanTypes
@ Charge1_Tof_St
This event is classified as charge 1 according to tof standalone (0.5 < Q < 1.5)
constexpr std::array< QualType, numQualTypes > qualTypes
@ LowerHalfInner
Track constructed with the upper part of the inner tracker (layers 3 to 8)
@ Charge1_Tof
This event is classified as charge 1 according to tof (0.5 < Q < 1.5)
constexpr unsigned int numTrackDistances
@ HasTof
Tof data is available for this event.
static const std::array< std::string, numLikelihoodTypes > likelihoodNames
@ HasTrdStandalone
TRD standalone data is available for this event.
@ ChargeGT2_Trk_St
This event is classified as charge >2 according to tracker standalone (Q > 2.5)
constexpr std::array< BetaType, numBetaTypes > betaTypes
static const std::array< std::string, numTrackDistances > trackDistanceNames
constexpr std::array< float, numMCHeights > MCHeightsZ
@ eHe
electron/helium likelihood ratio
static const std::array< std::string, numBetaTypes > betaNames
@ Charge2_Trk_St
This event is classified as charge 2 according to tracker standalone (1.5 < Q < 2....
static const std::array< std::string, numBetaClusterTypes > betaClusterTypeNames
@ EcalKEle
Ecal energy (W. Xu 3D reconstruction)
@ Lower
Charge estimated using the lower half of the TRD.
@ Charge1_Trk
This event is classified as charge 1 according to tracker (0.5 < Q < 1.5)
@ HasEcal
Ecal data is available for this event.
constexpr std::array< MCHeight, numMCHeights > MCHeights
@ HasTrd
TRD data is available for this event.
constexpr std::array< float, numFitPositionHeights > fitPositionHeightZ
constexpr unsigned int numBetaTypes
constexpr std::array< FitPositionHeight, numTrLayers > layerPositionHeights
constexpr unsigned int numFits
std::map< unsigned int, T > LayerVariable
static const std::array< std::string, numLikelihoodRTypes > likelihoodRNames
@ InnerL1
Track constructed with inner tracker + layer 1 hits.
@ ChoutkoNoMS
Choutko fit without multiple scattering corrections.
static const std::array< std::string, numFits > fitNames
static const std::array< std::string, numTrGeos > trGeoNames
constexpr unsigned int numQualTypes
constexpr unsigned int numLikelihoodTypes
static const std::array< std::string, numSides > sideNames
constexpr std::array< LikelihoodRType, numLikelihoodRTypes > likelihoodRTypes
constexpr std::array< EnergyRecoType, numEnergyRecos > recoTypes
constexpr std::array< BetaType, numBetaTypes > betaTypes
constexpr unsigned int numFitPositionHeights
constexpr std::array< Fit, numFits > fitTypes
@ OffTrack
Hits laying off the TRD track (all the rest)
@ EnergyD
Total deposited energy in Ecal.
constexpr std::array< Side, numSides > sides
constexpr std::array< ChargeType, numChargeTypes > recoTypes
@ OnTrack
Hits laying on the TRD track (the ones used for likelihood estimation)
static const std::array< std::string, numChargeTypes > recoNames