Skip to content

Commit 434829c

Browse files
committed
Moving variable calculation to VarManager and remove comments
1 parent d83aef8 commit 434829c

4 files changed

Lines changed: 49 additions & 75 deletions

File tree

‎PWGDQ/Core/VarManager.cxx‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1131,6 +1131,14 @@ void VarManager::SetDefaultVarNames()
11311131
fgVariableUnits[kDCAxy2] = "cm";
11321132
fgVariableNames[kDCAz2] = "DCA_{z}";
11331133
fgVariableUnits[kDCAz2] = "cm";
1134+
fgVariableNames[kDCASigxy1] = "DCA_{xy}/#sigma_{DCA_{xy}}";
1135+
fgVariableUnits[kDCASigxy1] = "";
1136+
fgVariableNames[kDCASigz1] = "DCA_{z}/#sigma_{DCA_{z}}";
1137+
fgVariableUnits[kDCASigz1] = "";
1138+
fgVariableNames[kDCASigxy2] = "DCA_{xy}/#sigma_{DCA_{xy}}";
1139+
fgVariableUnits[kDCASigxy2] = "";
1140+
fgVariableNames[kDCASigz2] = "DCA_{z}/#sigma_{DCA_{z}}";
1141+
fgVariableUnits[kDCASigz2] = "";
11341142
fgVariableNames[kTPCnSigmaEl] = "n #sigma_{e}^{TPC}";
11351143
fgVariableUnits[kTPCnSigmaEl] = "";
11361144
fgVariableNames[kTPCnSigmaEl_Corr] = "n #sigma_{e}^{TPC} Corr.";
@@ -2358,6 +2366,8 @@ void VarManager::SetDefaultVarNames()
23582366
fgVarNamesMap["kCharge1"] = kCharge1;
23592367
fgVarNamesMap["kDCAxy1"] = kDCAxy1;
23602368
fgVarNamesMap["kDCAz1"] = kDCAz1;
2369+
fgVarNamesMap["kDCASigxy1"] = kDCASigxy1;
2370+
fgVarNamesMap["kDCASigz1"] = kDCASigz1;
23612371
fgVarNamesMap["kITSclusterMap1"] = kITSclusterMap1;
23622372
fgVarNamesMap["kTPCnSigmaEl1"] = kTPCnSigmaEl1;
23632373
fgVarNamesMap["kPin_leg1"] = kPin_leg1;
@@ -2368,6 +2378,8 @@ void VarManager::SetDefaultVarNames()
23682378
fgVarNamesMap["kCharge2"] = kCharge2;
23692379
fgVarNamesMap["kDCAxy2"] = kDCAxy2;
23702380
fgVarNamesMap["kDCAz2"] = kDCAz2;
2381+
fgVarNamesMap["kDCASigxy2"] = kDCASigxy2;
2382+
fgVarNamesMap["kDCASigz2"] = kDCASigz2;
23712383
fgVarNamesMap["kITSclusterMap2"] = kITSclusterMap2;
23722384
fgVarNamesMap["kTPCnSigmaEl2"] = kTPCnSigmaEl2;
23732385
fgVarNamesMap["kPin"] = kPin;

‎PWGDQ/Core/VarManager.h‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,8 @@ class VarManager : public TObject
558558
kCharge1,
559559
kDCAxy1,
560560
kDCAz1,
561+
kDCASigxy1, // DCAxy / sqrt(cYY) of leg 1
562+
kDCASigz1, // DCAz / sqrt(cZZ) of leg 1
561563
kITSclusterMap1,
562564
kTPCnSigmaEl1,
563565
kPin_leg1,
@@ -568,6 +570,8 @@ class VarManager : public TObject
568570
kCharge2,
569571
kDCAxy2,
570572
kDCAz2,
573+
kDCASigxy2, // DCAxy / sqrt(cYY) of leg 2
574+
kDCASigz2, // DCAz / sqrt(cZZ) of leg 2
571575
kITSclusterMap2,
572576
kTPCnSigmaEl2,
573577

@@ -4024,6 +4028,11 @@ void VarManager::FillPair(T1 const& t1, T2 const& t2, float* values)
40244028
values[kDCAxy2] = dca2XY;
40254029
values[kDCAz2] = dca2Z;
40264030

4031+
values[kDCASigxy1] = dca1XY / std::sqrt(t1.cYY());
4032+
values[kDCASigz1] = dca1Z / std::sqrt(t1.cZZ());
4033+
values[kDCASigxy2] = dca2XY / std::sqrt(t2.cYY());
4034+
values[kDCASigz2] = dca2Z / std::sqrt(t2.cZZ());
4035+
40274036
if (fgUsedVars[kQuadDCAabsXY] || fgUsedVars[kQuadDCAsigXY] || fgUsedVars[kQuadDCAabsZ] || fgUsedVars[kQuadDCAsigZ] || fgUsedVars[kQuadDCAsigXYZ] || fgUsedVars[kSignQuadDCAsigXY]) {
40284037
// Quantities based on the barrel tables
40294038

@@ -5023,6 +5032,9 @@ void VarManager::FillPairVertexing(C const& collision, T const& t1, T const& t2,
50235032
values[kVertexingLxyErr] = -999.;
50245033
values[kVertexingLxyzErr] = -999.;
50255034
values[kVertexingLzErr] = -999.;
5035+
values[kVertexingLxyOverErr] = -999.;
5036+
values[kVertexingLzOverErr] = -999.;
5037+
values[kVertexingLxyzOverErr] = -999.;
50265038

50275039
values[kVertexingTauxy] = -999.;
50285040
values[kVertexingTauz] = -999.;
@@ -5082,6 +5094,10 @@ void VarManager::FillPairVertexing(C const& collision, T const& t1, T const& t2,
50825094
values[kVertexingLz] = std::sqrt(values[kVertexingLz]);
50835095
values[kVertexingLxyz] = std::sqrt(values[kVertexingLxyz]);
50845096

5097+
values[kVertexingLxyOverErr] = values[kVertexingLxy] / values[kVertexingLxyErr];
5098+
values[kVertexingLzOverErr] = values[kVertexingLz] / values[kVertexingLzErr];
5099+
values[kVertexingLxyzOverErr] = values[kVertexingLxyz] / values[kVertexingLxyzErr];
5100+
50855101
values[kVertexingTauz] = -dz * v12.M() / (TMath::Abs(v12.Pz()) * o2::constants::physics::LightSpeedCm2NS);
50865102
values[kVertexingTauxy] = values[kVertexingLxy] * v12.M() / (v12.Pt() * o2::constants::physics::LightSpeedCm2NS);
50875103

‎PWGDQ/Tasks/dqEfficiency_withAssoc.cxx‎

Lines changed: 10 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -189,15 +189,15 @@ DECLARE_SOA_COLUMN(McDecision, mcDecision, uint32_t); //! MC sign
189189
DECLARE_SOA_COLUMN(TauxyeeErr, tauxyeeErr, float); //! kVertexingTauxyErr: in ns (not cm) and with the reconstructed mass
190190
DECLARE_SOA_COLUMN(TauzeeErr, tauzeeErr, float); //! kVertexingTauzErr: in ns (not cm) and with the reconstructed mass
191191
DECLARE_SOA_COLUMN(LxyeeProjected, lxyeeProjected, float); //! kVertexingLxyProjected
192-
DECLARE_SOA_COLUMN(LxyeeOverErr, lxyeeOverErr, float); //! kVertexingLxy / kVertexingLxyErr (computed in the task)
192+
DECLARE_SOA_COLUMN(LxyeeOverErr, lxyeeOverErr, float); //! kVertexingLxyOverErr
193193
DECLARE_SOA_COLUMN(Lxyzee, lxyzee, float); //! kVertexingLxyz
194-
DECLARE_SOA_COLUMN(LxyzeeOverErr, lxyzeeOverErr, float); //! kVertexingLxyz / kVertexingLxyzErr (computed in the task)
194+
DECLARE_SOA_COLUMN(LxyzeeOverErr, lxyzeeOverErr, float); //! kVertexingLxyzOverErr
195195
DECLARE_SOA_COLUMN(Chi2PCAee, chi2PCAee, float); //! kVertexingChi2PCA
196196
DECLARE_SOA_COLUMN(CosPAee, cosPAee, float); //! kCosPointingAngle
197-
DECLARE_SOA_COLUMN(DcaSigXY1, dcaSigXY1, float); //! leg-1 DCAxy / sqrt(cYY), computed in the task
198-
DECLARE_SOA_COLUMN(DcaSigZ1, dcaSigZ1, float); //! leg-1 DCAz / sqrt(cZZ), computed in the task
199-
DECLARE_SOA_COLUMN(DcaSigXY2, dcaSigXY2, float); //! leg-2 DCAxy / sqrt(cYY), computed in the task
200-
DECLARE_SOA_COLUMN(DcaSigZ2, dcaSigZ2, float); //! leg-2 DCAz / sqrt(cZZ), computed in the task
197+
DECLARE_SOA_COLUMN(DcaSigXY1, dcaSigXY1, float); //! leg-1 DCAxy / sqrt(cYY), kDCASigxy1
198+
DECLARE_SOA_COLUMN(DcaSigZ1, dcaSigZ1, float); //! leg-1 DCAz / sqrt(cZZ), kDCASigz1
199+
DECLARE_SOA_COLUMN(DcaSigXY2, dcaSigXY2, float); //! leg-2 DCAxy / sqrt(cYY), kDCASigxy2
200+
DECLARE_SOA_COLUMN(DcaSigZ2, dcaSigZ2, float); //! leg-2 DCAz / sqrt(cZZ), kDCASigz2
201201
DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float);
202202
DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float);
203203
// Candidate columns efficiency calculation for prompt-non-prompt JPsi separation
@@ -240,25 +240,17 @@ DECLARE_SOA_TABLE(JPsiMuonCandidates, "AOD", "DQJPSIMUONA",
240240
dqanalysisflags::Ptleg1, dqanalysisflags::Etaleg1, dqanalysisflags::Phileg1, dqanalysisflags::Ptleg2, dqanalysisflags::Etaleg2, dqanalysisflags::Phileg2,
241241
dqanalysisflags::McFlag);
242242
DECLARE_SOA_TABLE(JPsieeCandidates, "AOD", "DQPSEUDOPROPER",
243-
// bookkeeping / labels
244243
dqanalysisflags::PairFilter, dqanalysisflags::McDecision,
245-
// pair kinematics
246244
dqanalysisflags::Massee, dqanalysisflags::Ptee, dqanalysisflags::Etaee, dqanalysisflags::Rapee, dqanalysisflags::Phiee,
247-
// pseudo-proper decay length (Lxyee/Lzee hold kVertexingTauxyProjected/kVertexingTauzProjected)
248245
dqanalysisflags::Lxyee, dqanalysisflags::LxyeePoleMass, dqanalysisflags::Lzee, dqanalysisflags::LxyeePoleMassPVrecomputed,
249246
dqanalysisflags::TauxyeeErr, dqanalysisflags::TauzeeErr,
250-
// secondary vertex
251247
dqanalysisflags::LxyeeProjected, dqanalysisflags::LxyeeOverErr, dqanalysisflags::Lxyzee, dqanalysisflags::LxyzeeOverErr,
252248
dqanalysisflags::Chi2PCAee, dqanalysisflags::CosPAee,
253-
// primary vertex
254249
dqanalysisflags::Vx, dqanalysisflags::Vy, dqanalysisflags::Vz,
255-
// leg 1
256250
dqanalysisflags::Ptleg1, dqanalysisflags::Etaleg1, dqanalysisflags::DcaXY1, dqanalysisflags::DcaZ1, dqanalysisflags::DcaSigXY1, dqanalysisflags::DcaSigZ1,
257251
dqanalysisflags::ITSClusterMapleg1, dqanalysisflags::ITSChi2leg1,
258-
// leg 2
259252
dqanalysisflags::Ptleg2, dqanalysisflags::Etaleg2, dqanalysisflags::DcaXY2, dqanalysisflags::DcaZ2, dqanalysisflags::DcaSigXY2, dqanalysisflags::DcaSigZ2,
260253
dqanalysisflags::ITSClusterMapleg2, dqanalysisflags::ITSChi2leg2,
261-
// ambiguity, event
262254
dqanalysisflags::AmbiguousInBunchPairs, dqanalysisflags::AmbiguousOutOfBunchPairs, dqanalysisflags::Corrassoc,
263255
dqanalysisflags::MultiplicityFT0C, dqanalysisflags::PercentileFT0C, dqanalysisflags::MultiplicityNContrib);
264256
DECLARE_SOA_TABLE(OniaMCTruth, "AOD", "MCTRUTHONIA", dqanalysisflags::OniaPt, dqanalysisflags::OniaEta, dqanalysisflags::OniaY, dqanalysisflags::OniaPhi, dqanalysisflags::OniaVz, dqanalysisflags::OniaVtxZ, dqanalysisflags::MultiplicityFT0A, dqanalysisflags::MultiplicityFT0C, dqanalysisflags::PercentileFT0M, dqanalysisflags::MultiplicityNContrib);
@@ -2411,38 +2403,19 @@ struct AnalysisSameEventPairing {
24112403
if constexpr ((TTrackFillMap & VarManager::ObjTypes::ReducedTrackBarrelPID) > 0 && trackHasCov && TTwoProngFitter && eventHasVtxCovForTable) {
24122404
// kVertexingProcCode == 0: the fit failed; FillPairVertexing then returns early without updating the
24132405
// projected / pseudo-proper / pointing-angle variables, so they would be stale -> skip the pair
2414-
const bool vertexingOK = VarManager::fgValues[VarManager::kVertexingProcCode] > 0;
2415-
if (t1.sign() * t2.sign() < 0 && mcDecision > 0 && vertexingOK) {
2406+
if (t1.sign() * t2.sign() < 0 && mcDecision > 0) {
24162407
const bool ambiInBunch = (twoTrackFilter & (static_cast<uint32_t>(1) << 28)) || (twoTrackFilter & (static_cast<uint32_t>(1) << 29));
24172408
const bool ambiOutOfBunch = (twoTrackFilter & (static_cast<uint32_t>(1) << 30)) || (twoTrackFilter & (static_cast<uint32_t>(1) << 31));
2418-
2419-
// track DCA significances (DCA w.r.t. the collision the track was stored with, as kDCAxy1/kDCAz1)
2420-
auto dcaSig = [](float dca, float cov) -> float {
2421-
return cov > 0.f ? dca / std::sqrt(cov) : -999.f;
2422-
};
2423-
const float dcaSigXY1 = dcaSig(VarManager::fgValues[VarManager::kDCAxy1], t1.cYY());
2424-
const float dcaSigZ1 = dcaSig(VarManager::fgValues[VarManager::kDCAz1], t1.cZZ());
2425-
const float dcaSigXY2 = dcaSig(VarManager::fgValues[VarManager::kDCAxy2], t2.cYY());
2426-
const float dcaSigZ2 = dcaSig(VarManager::fgValues[VarManager::kDCAz2], t2.cZZ());
2427-
2428-
// decay-length significances: kVertexingLxyOverErr / kVertexingLxyzOverErr are only filled in the
2429-
// KFParticle branch of FillPairVertexing, not with the DCAFitter -> compute them explicitly
2430-
auto ratio = [](float num, float den) -> float {
2431-
return den > 0.f ? num / den : -999.f;
2432-
};
2433-
const float lxyOverErr = ratio(VarManager::fgValues[VarManager::kVertexingLxy], VarManager::fgValues[VarManager::kVertexingLxyErr]);
2434-
const float lxyzOverErr = ratio(VarManager::fgValues[VarManager::kVertexingLxyz], VarManager::fgValues[VarManager::kVertexingLxyzErr]);
2435-
24362409
PromptNonPromptSepTable(twoTrackFilter, mcDecision,
24372410
VarManager::fgValues[VarManager::kMass], VarManager::fgValues[VarManager::kPt], VarManager::fgValues[VarManager::kEta], VarManager::fgValues[VarManager::kRap], VarManager::fgValues[VarManager::kPhi],
24382411
VarManager::fgValues[VarManager::kVertexingTauxyProjected], VarManager::fgValues[VarManager::kVertexingTauxyProjectedPoleJPsiMass], VarManager::fgValues[VarManager::kVertexingTauzProjected], VarManager::fgValues[VarManager::kVertexingTauxyProjectedPoleJPsiMassRecalculatePV],
24392412
VarManager::fgValues[VarManager::kVertexingTauxyErr], VarManager::fgValues[VarManager::kVertexingTauzErr],
2440-
VarManager::fgValues[VarManager::kVertexingLxyProjected], lxyOverErr, VarManager::fgValues[VarManager::kVertexingLxyz], lxyzOverErr,
2413+
VarManager::fgValues[VarManager::kVertexingLxyProjected], VarManager::fgValues[VarManager::kVertexingLxyOverErr], VarManager::fgValues[VarManager::kVertexingLxyz], VarManager::fgValues[VarManager::kVertexingLxyzOverErr],
24412414
VarManager::fgValues[VarManager::kVertexingChi2PCA], VarManager::fgValues[VarManager::kCosPointingAngle],
24422415
VarManager::fgValues[VarManager::kVtxX], VarManager::fgValues[VarManager::kVtxY], VarManager::fgValues[VarManager::kVtxZ],
2443-
t1.pt(), t1.eta(), VarManager::fgValues[VarManager::kDCAxy1], VarManager::fgValues[VarManager::kDCAz1], dcaSigXY1, dcaSigZ1,
2416+
t1.pt(), t1.eta(), VarManager::fgValues[VarManager::kDCAxy1], VarManager::fgValues[VarManager::kDCAz1], VarManager::fgValues[VarManager::kDCASigxy1], VarManager::fgValues[VarManager::kDCASigz1],
24442417
VarManager::fgValues[VarManager::kITSclusterMap1], t1.itsChi2NCl(),
2445-
t2.pt(), t2.eta(), VarManager::fgValues[VarManager::kDCAxy2], VarManager::fgValues[VarManager::kDCAz2], dcaSigXY2, dcaSigZ2,
2418+
t2.pt(), t2.eta(), VarManager::fgValues[VarManager::kDCAxy2], VarManager::fgValues[VarManager::kDCAz2], VarManager::fgValues[VarManager::kDCASigxy2], VarManager::fgValues[VarManager::kDCASigz2],
24462419
VarManager::fgValues[VarManager::kITSclusterMap2], t2.itsChi2NCl(),
24472420
ambiInBunch, ambiOutOfBunch, isCorrectAssoc_leg1 && isCorrectAssoc_leg2,
24482421
VarManager::fgValues[VarManager::kMultFT0C], VarManager::fgValues[VarManager::kCentFT0C], VarManager::fgValues[VarManager::kVtxNcontribReal]);

0 commit comments

Comments
 (0)