CbmRoot
Loading...
Searching...
No Matches
PairAnalysisVarManager.cxx
Go to the documentation of this file.
1/* Copyright (C) 1998-2009 ALICE Experiment, CERN
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Julian Book [committer] */
4
6// Variables Manager class
7//
8// Authors:
9// * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
10// Julian Book <Julian.Book@cern.ch>
11/*
12
13 This static class holds all event, track, hit, pair information used in the
14 analysis of reconstructed and MC generated data.
15
16 All variables are defined in the enumerator ValueTypes.
17 The corresponding names, labels, units are defined in fgkParticleNames and can be
18 accesses via:
19
20 GetValueName( Int_t i)
21 GetValueLabel( Int_t i)
22 GetValueUnit( Int_t i)
23
24 A certain value can be obtained at runtime via:
25
26 GetValue(ValueTypes val)
27
28 For each variable a TFormula is defined in the array fgFormula that are used
29 to calculate new variables using TMath functions (https://root.cern.ch/doc/master/classTFormula.html)
30 that can be used for histograms in PairAnalysisHistos and cuts in PairAnalysisVarCuts
31
32*/
33// //
35
37
39
41 {"None", "", ""},
42 // Constant information
43 {"MEL", "m_{e}", "(GeV/#it{c}^{2})"},
44 {"MMU", "m_{#mu}", "(GeV/#it{c}^{2})"},
45 {"MPI", "m_{#pi}", "(GeV/#it{c}^{2})"},
46 {"MKA", "m_{K}", "(GeV/#it{c}^{2})"},
47 {"MPR", "m_{p}", "(GeV/#it{c}^{2})"},
48 {"MK0", "m_{K^{0}_{s}}", "(GeV/#it{c}^{2})"},
49 {"MLA", "m_{#Lambda}", "(GeV/#it{c}^{2})"},
50 {"MPair", "m_{pair}", "(GeV/#it{c}^{2})"},
51 {"Ebeam", "#it{E}_{beam}", "(#it{A}GeV)"},
52 {"ThermalScaling", "scaling-factor", ""},
53 // Hit specific variables
54 {"PosX", "x_{hit}", "(cm)"},
55 {"PosY", "y_{hit}", "(cm)"},
56 {"PosZ", "z_{hit}", "(cm)"},
57 {"LinksMC", "N_{links}^{MC}", ""},
58 {"TRDLayer", "layer^{TRD}", ""},
59 {"TRDPads", "N_{pads}^{TRD}", ""},
60 {"TRDCols", "N_{cols}^{TRD}", ""},
61 {"TRDRows", "N_{rows}^{TRD}", ""},
62 {"Eloss", "d#it{E}/d#it{x} + TR", "(keV#upointcm^{2}/g)"},
63 // {"ElossdEdx", "d#it{E}/d#it{x}", "(keV#upointcm^{2}/g)"},
64 // {"ElossTR", "TR", "(keV#upointcm^{2}/g)"},
65 {"NPhotons", "N_{photons}^{RICH}", "(a.u.)"},
66 {"PmtId", "ID_{Pmt}^{RICH}", "(a.u.)"},
67 {"Beta", "#beta^{TOF}", ""},
68 {"TOFPidDeltaBetaEL", "#beta^{TOF}-#beta^{TOF}_{e}", ""},
69 {"TOFPidDeltaBetaMU", "#beta^{TOF}-#beta^{TOF}_{#mu}", ""},
70 {"TOFPidDeltaBetaPI", "#beta^{TOF}-#beta^{TOF}_{#pi}", ""},
71 {"TOFPidDeltaBetaKA", "#beta^{TOF}-#beta^{TOF}_{K}", ""},
72 {"TOFPidDeltaBetaPR", "#beta^{TOF}-#beta^{TOF}_{p}", ""},
73 {"MassSq", "TOF m^{2}", "(GeV/#it{c}^{2})^{2}"},
74 // Particle specific variables
75 {"Px", "#it{p}_{x}", "(GeV/#it{c})"},
76 {"Py", "#it{p}_{y}", "(GeV/#it{c})"},
77 {"Pz", "#it{p}_{z}", "(GeV/#it{c})"},
78 {"Pt", "#it{p}_{T}", "(GeV/#it{c})"},
79 {"PtSq", "#it{p}_{T}^{2}", "((GeV/#it{c})^{2})"},
80 {"P", "#it{p}", "(GeV/#it{c})"},
81 {"Xv", "x_{vtx}", "(cm)"},
82 {"Yv", "y_{vtx}", "(cm)"},
83 {"Zv", "z_{vtx}", "(cm)"},
84 {"OneOverPt", "1/^{}#it{p}_{T}", "(GeV/#it{c})^{-1}"},
85 {"Phi", "#phi", "(rad.)"},
86 {"Theta", "#theta", "(rad.)"},
87 {"Eta", "#eta", ""},
88 {"Y", "#it{y}", ""},
89 {"Ylab", "#it{y}_{lab}", ""},
90 {"E", "E", "(GeV)"},
91 {"M", "m_{inv}", "(GeV/#it{c}^{2})"},
92 {"Charge", "q", "(e)"},
93 {"Mt", "#it{m}_{T}", "(GeV/#it{c}^{2})"},
94 {"Chi2NDFtoVtx", "#chi^{2}/^{}N_{df}^{track#leftrightarrowvtx}", "(#sigma)"},
95 {"ImpactParXY", "#it{dca}_{xy}", "(cm)"},
96 {"ImpactParZ", "#it{dca}_{z}", "(cm)"},
97 {"InclAngle", "#alpha_{incl}", "(rad.)"},
98 // Track specific variables
99 // global track
100 {"TrackLength", "#it{l}_{track}", "(cm)"},
101 {"TrackChi2NDF", "#chi^{2}/^{}N_{df}^{glbl}", ""},
102 {"Pin", "#it{p}^{in}", "(GeV/#it{c})"},
103 {"Ptin", "#it{p}_{T}^{in}", "(GeV/#it{c})"},
104 {"Pout", "#it{p}^{out}", "(GeV/#it{c})"},
105 {"Ptout", "#it{p}_{T}^{out}", "(GeV/#it{c})"},
106 // trd track information
107 {"TRDSignal", "#LTTRD d#it{E}/d#it{x} + TR#GT", "(keV#upointcm^{2}/g)"},
108 {"TRDPidWkn", "PID_{e}^{TRD} (Wkn)", ""},
109 {"TRDPidANN", "PID_{e}^{TRD} (ANN)", ""},
110 {"TRDPidLikeEL", "P(PID_{e}^{TRD})", ""},
111 {"TRDPidLikePI", "P(PID_{#pi}^{TRD})", ""},
112 {"TRDPidLikeKA", "P(PID_{K}^{TRD})", ""},
113 {"TRDPidLikePR", "P(PID_{p}^{TRD})", ""},
114 {"TRDPidLikeMU", "P(PID_{#muon}^{TRD})", ""},
115 {"TRDHits", "N_{hit}^{TRD}", ""},
116 {"TRDChi2NDF", "#chi^{2}/^{}N_{df}^{TRD}", ""},
117 {"TRDPin", "#it{p}^{TRDin}", "(GeV/#it{c})"},
118 {"TRDPtin", "#it{p}_{T}^{TRDin}", "(GeV/#it{c})"},
119 {"TRDPhiin", "#phi^{TRDin}", "(rad.)"},
120 {"TRDThetain", "#theta^{TRDin}", "(rad.)"},
121 {"TRDPout", "#it{p}^{TRDout}", "(GeV/#it{c})"},
122 {"TRDPtout", "#it{p}_{T}^{TRDout}", "(GeV/#it{c})"},
123 {"TRDPhiCorr", "#phi_{corr}^{TRD}", ""},
124 {"TRDThetaCorr", "#theta_{corr}^{TRD}", ""},
125 // {"TRDTrackLength", "#it{l}_{track}^{TRD}", "(cm)"},
126 // sts track information
127 {"MVDhasEntr", "station^{MVD}_{first} entrance status", ""},
128 {"MVDHits", "N_{hit}^{MVD}", ""},
129 {"MVDHitClosest", "dist_{MVD}^{d1+closest-Hit}", "(cm)"},
130 {"STSHitClosest", "dist_{STS}^{d1+closest-Hit}", "(cm)"},
131 {"MVDHitClosestOpeningAngle", "#phi_{MVD}^{d1+closest}", "(rad.)"},
132 {"STSHitClosestOpeningAngle", "#phi_{STS}^{d1+closest}", "(rad.)"},
133 {"MVDHitClosestMom", "sqrt{p_{d1} * p_{closest}}", "(GeV/c)"},
134 {"STSHitClosestMom", "sqrt{p_{d1} * p_{closest}}", "(GeV/c)"},
135 {"MVDFirstHitPosZ", "z_{first hit}^{MVD}", "(cm)"},
136 {"MVDFirstExtX", "x_{first station}^{MVD}", "(cm)"},
137 {"MVDFirstExtY", "y_{first station}^{MVD}", "(cm)"},
138 // {"ImpactParZ", "#it{dca}_{z}/#Delta#it{dca}_{z}", "#sigma"},
139 {"STSHits", "N_{hit}^{STS}", ""},
140 {"STSMVDHits", "N_{hit}^{STS}+MVD", ""},
141 {"STSChi2NDF", "#chi^{2}/^{}N_{df}^{STS}", ""},
142 {"STSPin", "#it{p}^{STSin}", "(GeV/#it{c})"},
143 {"STSPtin", "#it{p}_{T}^{STSin}", "(GeV/#it{c})"},
144 {"STSPout", "#it{p}^{STSout}", "(GeV/#it{c})"},
145 {"STSPtout", "#it{p}_{T}^{STSout}", "(GeV/#it{c})"},
146 {"STSXv", "x_{STS}", "(cm)"},
147 {"STSYv", "y_{STS}", "(cm)"},
148 {"STSZv", "z_{STS}", "(cm)"},
149 {"STSFirstHitPosZ", "z_{first hit}^{STS}", "(cm)"},
150 //RICH ring specific information
151 {"RICHhasProj", "projection status RICH", ""},
152 {"RICHPidANN", "PID_{e}^{RICH} (ANN)", ""},
153 {"RICHHitsOnRing", "N_{hit on Ring}^{RICH}", ""},
154 {"RICHHits", "N_{hit}^{RICH}", ""},
155 {"RICHChi2NDF", "#chi^{2}/^{}N_{df}^{RICH}", ""},
156 {"RICHRadius", "r_{}^{RICH}", "(cm)"},
157 {"RICHAxisA", "a_{}^{RICH}", "(cm)"},
158 {"RICHAxisB", "b_{}^{RICH}", "(cm)"},
159 {"RICHCenterX", "x_{}^{RICH}", "(cm)"},
160 {"RICHCenterY", "y_{}^{RICH}", "(cm)"},
161 {"RICHDistance", "d_{ring#leftrightarrowtrack}^{RICH}", "(cm)"},
162 {"RICHRadialPos", "pos_{rad.}^{RICH}", "(cm)"},
163 {"RICHRadialAngle", "#phi_{rad.}^{RICH}", "(rad.)"},
164 {"RICHPhi", "#phi_{rot.}^{RICH}", "(rad.)"},
165 //TOF track specific information
166 {"TOFHits", "N_{hit}^{TOF}", ""},
167 // MUCH track information
168 {"MUCHHits", "N_{hit}^{MUCH}", ""},
169 {"MUCHHitsPixel", "N_{pixel hit}^{MUCH}", ""},
170 // {"MUCHHitsStraw", "N_{strip hit}^{MUCH}", ""},
171 {"MUCHChi2NDF", "#chi^{2}/^{}N_{df}^{MUCH}", ""},
172 // technical information
173 {"RndmTrack", "P", ""},
174 {"PRes", "Res(#it{p})", ""},
175
176 // Pair specific variables
177 {"Chi2NDF", "#chi^{2}/^{}ndf", ""},
178 {"DecayLength", "l_{decay}", "(cm)"},
179 {"R", "d_{xy}(origin,pair)", "(cm)"},
180 {"OpeningAngle", "#varphi", "(rad.)"},
181 {"CosPointingAngle", "cos(#theta)", "(rad.)"},
182 {"ArmAlpha", "#alpha^{arm}", ""},
183 {"ArmPt", "#it{p}_{T}^{arm}", "(GeV/#it{c})"},
184 {"ThetaHE", "cos(#theta_{HE})", ""},
185 {"PhiHE", "#phi_{HE}", "(rad.)"},
186 {"ThetaSqHE", "cos^{2}(#theta_{HE})", ""},
187 {"Cos2PhiHE", "cos(2#phi_{HE})", ""},
188 {"CosTilPhiHE", "cos(#phi_{HE})", ""},
189 {"ThetaCS", "cos(#theta_{CS})", ""},
190 {"PhiCS", "#phi_{CS}", "(rad.)"},
191 {"ThetaSqCS", "cos^{2}(#theta_{CS})", ""},
192 {"Cos2PhiCS", "cos(2#phi_{CS})", ""},
193 {"CosTilPhiCS", "cos(#phi_{CS})", ""},
194 {"PsiPair", "#Psi^{pair}", "(rad.)"},
195 {"StsMvdFirstDaughter", "Hits_{STS+MVD}^{d1}", ""},
196 {"StsMvdSecondDaughter", "Hits_{STS+MVD}^{d2}", ""},
197 {"StsMvdTrdFirstDaughter", "Hits_{STS+MVD+TRD}^{d1}", ""},
198 {"StsMvdTrdSecondDaughter", "Hits_{STS+MVD+TRD}^{d2}", ""},
199 {"StsMvdRichFirstDaughter", "Hits_{STS+MVD+RICH}^{d1}", ""},
200 {"StsMvdRichSecondDaughter", "Hits_{STS+MVD+RICH}^{d2}", ""},
201 {"StsFirstDaughter", "Hits_{STS}^{d1}", ""},
202 {"StsSecondDaughter", "Hits_{STS}^{d2}", ""},
203 {"MvdFirstDaughter", "Hits_{MVD}^{d1}", ""},
204 {"MvdSecondDaughter", "Hits_{MVD}^{d2}", ""},
205 {"TrdFirstDaughter", "Hits_{TRD}^{d1}", ""},
206 {"TrdSecondDaughter", "Hits_{TRD}^{d2}", ""},
207 {"RichFirstDaughter", "Hits_{RICH}^{d1}", ""},
208 {"RichSecondDaughter", "Hits_{RICH}^{d2}", ""},
209 {"StsHitDist", "dist_{STS}^{d1&d2}", "(cm)"},
210 {"MvdHitDist", "dist_{MVD}^{d1&d2}", "(cm)"},
211 {"PhivPair", "#Phi_{v}^{pair}", "(rad.)"},
212
213 {"LegDistance", "d^{legs}", "(cm)"},
214 {"LegDistanceXY", "d^{legs}_{xy}", "(cm)"},
215 {"DeltaEta", "#Delta #eta", ""},
216 {"DeltaPhi", "#Delta #phi", ""},
217 {"LegsP", "#sqrt{#it{p}^{leg1}#upoint#it{p}^{leg2}}", "(GeV/#it{c})"},
218 {"Merr", "m_{inv} error", "(GeV/#it{c}^{2})"},
219 {"DCA", "#it{dca}", "(cm)"},
220 {"PairType", "PairType", ""},
221 {"MomAsymDau1", "#it{p}^{leg1}/#it{p}^{pair}", ""},
222 {"MomAsymDau2", "#it{p}^{leg2}/#it{p}^{pair}", ""},
223 {"EffPair", "A#times#varepsilon", ""},
224 {"OneOverEffPair", "(A#times#varepsilon)^{-1}", ""},
225 {"OneOverEffPairSq", "(A#times#varepsilon)^{-2}", ""},
226 {"RndmPair", "P", ""},
227 {"Pairs", "pairs/event", ""},
228
229 // Event specific variables
230 {"XvPrim", "x_{prim.vtx}", "(cm)"},
231 {"YvPrim", "y_{prim.vtx}", "(cm)"},
232 {"ZvPrim", "z_{prim.vtx}", "(cm)"},
233 {"VtxChi", "#chi^{2}_{prim.vtx}", ""},
234 {"VtxNDF", "ndf", ""},
235 {"XRes", "#Delta x_{prim.vtx}", "(cm)"},
236 {"YRes", "#Delta y_{prim.vtx}", "(cm)"},
237 {"ZRes", "#Delta z_{prim.vtx}", "(cm)"},
238 {"MaxPt", "#it{p}_{T}^{lead}", "(GeV/#it{c})"},
239 {"RndmRej", "P(rejection)", ""},
240 {"NTrk", "N_{trk}", ""},
241 {"Tracks", "tracks/per event", ""},
242 {"NVtxContrib", "N_{vtx. contrib.}", ""},
243
244 {"Centrality", "centrality_{V0M}", "(%)"},
245 {"Nevents", "N_{evt}", ""},
246 {"EventStartTime", "t_{start}", "(ns)"},
247 {"RunNumber", "run", ""},
248 {"Ybeam", "#it{y}_{beam}", ""},
249 {"MixingBin", "mixing bin", ""},
250 {"TotalTRDHits", "N_{tot.hit}^{TRD}", ""},
251
252
253 // MC information
254 // Hit specific variables
255 {"PosXMC", "x_{hit}^{MC}", "(cm)"},
256 {"PosYMC", "y_{hit}^{MC}", "(cm)"},
257 {"PosZMC", "z_{hit}^{MC}", "(cm)"},
258 {"ElossMC", "d#it{E}/d#it{x}^{MC}", "(keV#upointcm^{2}/g})"},
259 // Particle specific variables
260 {"PxMC", "#it{p}_{x}^{MC}", "(GeV/#it{c})"},
261 {"PyMC", "#it{p}_{y}^{MC}", "(GeV/#it{c})"},
262 {"PzMC", "#it{p}_{z}^{MC}", "(GeV/#it{c})"},
263 {"PtMC", "#it{p}_{T}^{MC}", "(GeV/#it{c})"},
264 {"PtSqMC", "#it{p}_{T}^{2} (MC)", "((GeV/#it{c})^{2})"},
265 {"PMC", "#it{p}^{MC}", "(GeV/#it{c})"},
266 {"XvMC", "x_{vtx}^{MC}", "(cm)"},
267 {"YvMC", "y_{vtx}^{MC}", "(cm)"},
268 {"RvMC", "Sqrt(x_{vtx}^{2}_{MC}+y_{vtx}^{2}_{MC})", "(cm)"},
269 {"ZvMC", "z_{vtx}^{MC}", "(cm)"},
270 {"PhivMC", "#phi_{vtx}^{MC}", "(rad.)"},
271 {"ThetavMC", "#theta_{vtx}^{MC}"
272 "(rad.)"},
273 {"OneOverPtMC", "1/^{}#it{p}_{T}^{MC}", "(GeV/#it{c})^{-1}"},
274 {"PhiMC", "#phi^{MC}", "(rad.)"},
275 {"ThetaMC", "#theta^{MC}", "(rad.)"},
276 {"EtaMC", "#eta^{MC}", ""},
277 {"YMC", "#it{y}^{MC}", ""},
278 {"YlabMC", "#it{y}_{lab}^{MC}", ""},
279 {"BetaGammaMC", "#beta#gamma^{MC}", ""},
280 {"EMC", "E^{MC}", "(GeV)"},
281 {"EMotherMC", "E^{MC}_{mother}", "(GeV)"},
282 {"MMC", "m_{inv}^{MC}", "(GeV/#it{c}^{2})"},
283 {"ChargeMC", "q^{MC}", "(e)"},
284 {"PdgCode", "PDG code", ""},
285 {"PdgCodeMother", "mothers PDG code", ""},
286 {"PdgCodeGrandMother", "grand mothers PDG code", ""},
287 {"GeantId", "Geant process", ""},
288 {"Weight", "N#times#it{BR}", ""},
289
290
291 // Track specific variables
292 {"TRDHitsMC", "N_{hit}^{TRD} (MC)", ""},
293 {"MVDHitsMC", "N_{hit}^{MVD} (MC)", ""},
294 {"STSHitsMC", "N_{hit}^{STS} (MC)", ""},
295 {"STSMVDHitsMC", "N_{hit}^{STS} (MC)", ""},
296 {"TOFHitsMC", "N_{hit}^{TOF} (MC)", ""},
297 {"MUCHHitsMC", "N_{hit}^{MUCH} (MC)", ""},
298 {"RICHHitsMC", "N_{hit}^{RICH} (MC)", ""},
299 {"TRDMCPoints", "N_{diff.MCtrk}^{TRD}", ""},
300 {"RICHMCPoints", "N_{MC,pts}^{RICH}", ""},
301 {"TRDTrueHits", "N_{true,hit}^{TRD}", ""},
302 {"TRDDistHits", "N_{distorted,hit}^{TRD}", ""},
303 {"TRDFakeHits", "N_{fake,hit}^{TRD}", ""},
304 {"TRDDistortion", "distortion^{TRD}", ""},
305 {"STSTrueHits", "N_{true,hit}^{STS}", ""},
306 {"STSDistHits", "N_{distorted,hit}^{STS}", ""},
307 {"STSFakeHits", "N_{fake,hit}^{STS}", ""},
308 {"TRDisMC", "MC status TRD", ""},
309 {"MVDisMC", "MC status MVD", ""},
310 {"STSisMC", "MC status STS", ""},
311 {"MUCHisMC", "MC status MUCH", ""},
312 {"RICHisMC", "MC status RICH", ""},
313 {"TOFisMC", "MC status TOF", ""},
314
315 // Pair specific MC variables
316 {"OpeningAngleMC", "#varphi^{MC}", "(rad.)"},
317 {"CosPointingAngleMC", "cos(#theta)^{MC}", "(rad.)"},
318 {"StsMvdFirstDaughterMC", "", ""},
319 {"StsMvdSecondDaughterMC", "", ""},
320 // {"PhivPairMC", "#Phi_{v}^{MC}", "(rad.)"},
321
322 // Event specific MCvariables
323 {"NTrkMC", "N_{trk}^{MC}", ""},
324 {"XvPrimMC", "x_{prim.vtx}^{MC}", "(cm)"},
325 {"YvPrimMC", "y_{prim.vtx}^{MC}", "(cm)"},
326 {"ZvPrimMC", "z_{prim.vtx}^{MC}", "(cm)"},
327 {"STSMatches", "N_{trk.matches}^{STS}", ""},
328 {"TRDMatches", "N_{trk.matches}^{TRD}", ""},
329 {"VageMatches", "N_{vage.matches}^{STS}", ""},
330 {"TotalTRDHitsMC", "N_{tot.hit}^{TRD} (MC)", ""},
331 {"ImpactParam", "#it{b}", "(fm)"},
332 {"NPrimMC", "N_{prim}^{MC}", ""},
333
334};
335
342TFormula* PairAnalysisVarManager::fgFormula[kNMaxValuesMC] = {0x0};
343
344//________________________________________________________________
345PairAnalysisVarManager::PairAnalysisVarManager() : TNamed("PairAnalysisVarManager", "PairAnalysisVarManager")
346{
347 //
348 // Default constructor
349 //
350 for (Int_t i = 1; i < kNMaxValuesMC; ++i) {
351 fgFormula[i] = 0x0;
352 }
353}
354
355//________________________________________________________________
356PairAnalysisVarManager::PairAnalysisVarManager(const char* name, const char* title) : TNamed(name, title)
357{
358 //
359 // Named constructor
360 //
361 for (Int_t i = 1; i < kNMaxValuesMC; ++i) {
362 fgFormula[i] = 0x0;
363 }
364}
365
366//________________________________________________________________
368{
369 //
370 // Default destructor
371 //
372 for (Int_t i = 1; i < kNMaxValuesMC; ++i) {
373 if (fgFormula[i]) delete fgFormula[i];
374 }
375}
376
377//________________________________________________________________
378UInt_t PairAnalysisVarManager::GetValueType(const char* valname)
379{
380 //
381 // Get value type by value name
382 //
383
384 TString name(valname);
385 for (UInt_t i = 0; i < PairAnalysisVarManager::kNMaxValuesMC; i++) {
386 if (!name.CompareTo(fgkParticleNames[i][0])) return i;
387 }
388 return 0; // alias none
389}
390
391//________________________________________________________________
393{
394 //
395 // Get MC value type by standard value name
396 //
397 // protection against PairAnalysisHistos::kNoAutoFill, kNoProfile, kNoWeights, kNone
398 if (var == 997 || var == 998 || var == 999 || var == 1000000000) return var;
399
400 TString valname = GetValueName(var);
401 TString name = valname + "MC";
402
403 // name+="MC";
404 for (UInt_t i = 0; i < PairAnalysisVarManager::kNMaxValuesMC; i++) {
405 if (!name.CompareTo(fgkParticleNames[i][0])) return i;
406 }
407 return GetValueType(valname);
408}
409
ClassImp(PairAnalysisVarManager) const char *PairAnalysisVarManager
static CbmKFVertex * fgKFVertex
static const char * fgkParticleNames[kNMaxValuesMC][3]
data
static TFormula * fgFormula[kNMaxValuesMC]
static Double_t fgData[kNMaxValuesMC]
static const char * GetValueName(Int_t i)
static UInt_t GetValueTypeMC(UInt_t var)
static UInt_t GetValueType(const char *valname)
static PairAnalysisEvent * fgEvent