Skip to content

Commit 2871102

Browse files
authored
Add smeared daughter momenta (#5552)
1 parent 80ea5f6 commit 2871102

File tree

1 file changed

+44
-2
lines changed

1 file changed

+44
-2
lines changed

DPG/Tasks/AOTTrack/V0Cascades/qaLamMomResolution.cxx

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -298,16 +298,37 @@ struct qaLamMomResolution {
298298
// get daughter momenta at IU, charge, eta, nTPCclusters
299299
getTrackInfo(protonTrackIU, pionTrackIU);
300300

301-
// use track tuner to tune daughter tracks' pT
301+
// optionally use track tuner to tune daughter tracks' pT at decay vertex
302302
if (useTrackTuner) {
303+
// tune V0
303304
tuneV0(v0data, protonTrackIU, pionTrackIU, mcparticles, bcs);
305+
// get smeared parameters and cov matrix
304306
std::array<float, 3> pPos{0., 0., 0.};
305307
std::array<float, 3> pNeg{0., 0., 0.};
308+
std::array<float, 21> cPos, cNeg;
306309
mTrackParCovPos.getPxPyPzGlo(pPos);
307310
mTrackParCovNeg.getPxPyPzGlo(pNeg);
311+
mTrackParCovPos.getCovXYZPxPyPzGlo(cPos);
312+
mTrackParCovNeg.getCovXYZPxPyPzGlo(cNeg);
313+
// lambda
308314
massLambda = RecoDecay::m(std::array{std::array{pPos[0], pPos[1], pPos[2]},
309315
std::array{pNeg[0], pNeg[1], pNeg[2]}},
310316
std::array{o2::constants::physics::MassProton, o2::constants::physics::MassPionCharged});
317+
/// smeared daughter momenta at Lambda vertex
318+
// proton
319+
momProtonRec[0] = pPos[0];
320+
momProtonRec[1] = pPos[1];
321+
momProtonRec[2] = pPos[2];
322+
momProtonRecErr[0] = sqrt(cPos[9]);
323+
momProtonRecErr[1] = sqrt(cPos[14]);
324+
momProtonRecErr[2] = sqrt(cPos[20]);
325+
// pion
326+
momPionRec[0] = pNeg[0];
327+
momPionRec[1] = pNeg[1];
328+
momPionRec[2] = pNeg[2];
329+
momPionRecErr[0] = sqrt(cNeg[9]);
330+
momPionRecErr[1] = sqrt(cNeg[14]);
331+
momPionRecErr[2] = sqrt(cNeg[20]);
311332
}
312333

313334
// fill table
@@ -358,16 +379,37 @@ struct qaLamMomResolution {
358379
// get daughter momenta at IU, charge, eta, nTPCclusters
359380
getTrackInfo(protonTrackIU, pionTrackIU);
360381

361-
// use track tuner to tune daughter tracks' pT
382+
// optionally use track tuner to tune daughter tracks' pT at decay vertex
362383
if (useTrackTuner) {
384+
// tune V0
363385
tuneV0(v0data, pionTrackIU, protonTrackIU, mcparticles, bcs);
386+
// get smeared parameters and cov matrix
364387
std::array<float, 3> pPos{0., 0., 0.};
365388
std::array<float, 3> pNeg{0., 0., 0.};
389+
std::array<float, 21> cPos, cNeg;
366390
mTrackParCovPos.getPxPyPzGlo(pPos);
367391
mTrackParCovNeg.getPxPyPzGlo(pNeg);
392+
mTrackParCovPos.getCovXYZPxPyPzGlo(cPos);
393+
mTrackParCovNeg.getCovXYZPxPyPzGlo(cNeg);
394+
// lambda
368395
massLambda = RecoDecay::m(std::array{std::array{pPos[0], pPos[1], pPos[2]},
369396
std::array{pNeg[0], pNeg[1], pNeg[2]}},
370397
std::array{o2::constants::physics::MassPionCharged, o2::constants::physics::MassProton});
398+
/// smeared daughter momenta at Lambda vertex
399+
// proton
400+
momProtonRec[0] = pNeg[0];
401+
momProtonRec[1] = pNeg[1];
402+
momProtonRec[2] = pNeg[2];
403+
momProtonRecErr[0] = sqrt(cNeg[9]);
404+
momProtonRecErr[1] = sqrt(cNeg[14]);
405+
momProtonRecErr[2] = sqrt(cNeg[20]);
406+
// pion
407+
momPionRec[0] = pPos[0];
408+
momPionRec[1] = pPos[1];
409+
momPionRec[2] = pPos[2];
410+
momPionRecErr[0] = sqrt(cPos[9]);
411+
momPionRecErr[1] = sqrt(cPos[14]);
412+
momPionRecErr[2] = sqrt(cPos[20]);
371413
}
372414

373415
// fill table

0 commit comments

Comments
 (0)