Skip to content

Commit 93de129

Browse files
ddobrigkalibuild
andauthored
Add DCAxy/z distinction to LF stra dat mod (#2450)
* Add DCAxy/z distinction to LF stra dat mod * Please consider the following formatting changes (#104) --------- Co-authored-by: David Dobrigkeit Chinellato <david.dobrigkeit.chinellato.cern.ch> Co-authored-by: ALICE Builder <alibuild@users.noreply.github.com>
1 parent 7765bc5 commit 93de129

4 files changed

Lines changed: 17 additions & 11 deletions

File tree

PWGLF/DataModel/LFStrangenessTables.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,8 @@ DECLARE_SOA_COLUMN(DCACascDaughters, dcacascdaughters, float); //!
320320
DECLARE_SOA_COLUMN(DCAPosToPV, dcapostopv, float); //!
321321
DECLARE_SOA_COLUMN(DCANegToPV, dcanegtopv, float); //!
322322
DECLARE_SOA_COLUMN(DCABachToPV, dcabachtopv, float); //!
323-
DECLARE_SOA_COLUMN(DCACascToPV, dcacasctopv, float); //!
323+
DECLARE_SOA_COLUMN(DCAXYCascToPV, dcaXYCascToPV, float); //!
324+
DECLARE_SOA_COLUMN(DCAZCascToPV, dcaZCascToPV, float); //!
324325

325326
// Saved from finding: covariance matrix of parent track (on request)
326327
DECLARE_SOA_COLUMN(PositionCovMat, positionCovMat, float[6]); //! covariance matrix elements
@@ -329,7 +330,7 @@ DECLARE_SOA_COLUMN(MomentumCovMat, momentumCovMat, float[6]); //! covariance mat
329330
// Saved from strangeness tracking
330331
DECLARE_SOA_COLUMN(MatchingChi2, matchingChi2, float); //!
331332
DECLARE_SOA_COLUMN(TopologyChi2, topologyChi2, float); //!
332-
DECLARE_SOA_COLUMN(ItsClsSize, itsCluSize, int); //!
333+
DECLARE_SOA_COLUMN(ItsClsSize, itsCluSize, float); //!
333334

334335
// Derived expressions
335336
// Momenta
@@ -392,7 +393,7 @@ DECLARE_SOA_TABLE(StoredCascDatas, "AOD", "CASCDATA", //!
392393
cascdata::PxBach, cascdata::PyBach, cascdata::PzBach,
393394
cascdata::Px, cascdata::Py, cascdata::Pz,
394395
cascdata::DCAV0Daughters, cascdata::DCACascDaughters,
395-
cascdata::DCAPosToPV, cascdata::DCANegToPV, cascdata::DCABachToPV, cascdata::DCACascToPV,
396+
cascdata::DCAPosToPV, cascdata::DCANegToPV, cascdata::DCABachToPV, cascdata::DCAXYCascToPV, cascdata::DCAZCascToPV,
396397

397398
// Dynamic columns
398399
cascdata::Pt<cascdata::Px, cascdata::Py>,
@@ -422,7 +423,7 @@ DECLARE_SOA_TABLE(StoredTraCascDatas, "AOD", "TRACASCDATA", //!
422423
cascdata::PxBach, cascdata::PyBach, cascdata::PzBach,
423424
cascdata::Px, cascdata::Py, cascdata::Pz,
424425
cascdata::DCAV0Daughters, cascdata::DCACascDaughters,
425-
cascdata::DCAPosToPV, cascdata::DCANegToPV, cascdata::DCABachToPV, cascdata::DCACascToPV,
426+
cascdata::DCAPosToPV, cascdata::DCANegToPV, cascdata::DCABachToPV, cascdata::DCAXYCascToPV, cascdata::DCAZCascToPV,
426427
cascdata::MatchingChi2, cascdata::TopologyChi2, cascdata::ItsClsSize,
427428

428429
// Dynamic columns

PWGLF/TableProducer/cascadebuilder.cxx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,8 @@ struct cascadeBuilder {
105105
Configurable<float> casccospa{"casccospa", 0.95, "casccospa"};
106106
Configurable<float> dcacascdau{"dcacascdau", 1.0, "DCA cascade Daughters"};
107107
Configurable<float> lambdaMassWindow{"lambdaMassWindow", .01, "Distance from Lambda mass"};
108+
Configurable<float> dcaXYCascToPV{"dcaXYCascToPV", 1e+6, "dcaXYCascToPV"};
109+
Configurable<float> dcaZCascToPV{"dcaZCascToPV", 1e+6, "dcaZCascToPV"};
108110

109111
// Operation and minimisation criteria
110112
Configurable<double> d_bz_input{"d_bz", -999, "bz field, -999 is automatic"};
@@ -173,6 +175,7 @@ struct cascadeBuilder {
173175
float cosPA;
174176
float cascradius;
175177
float cascDCAxy; // cascade DCA xy (with bending)
178+
float cascDCAz; // cascade DCA z
176179
std::array<float, 3> v0pos;
177180
std::array<float, 3> v0mompos;
178181
std::array<float, 3> v0momneg;
@@ -632,6 +635,7 @@ struct cascadeBuilder {
632635

633636
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, lCascadeTrack, 2.f, matCorrCascade, &dcaInfo);
634637
cascadecandidate.cascDCAxy = dcaInfo[0];
638+
cascadecandidate.cascDCAz = dcaInfo[1];
635639

636640
// Calculate masses a priori
637641
cascadecandidate.mXi = RecoDecay::m(array{array{cascadecandidate.bachP[0], cascadecandidate.bachP[1], cascadecandidate.bachP[2]}, array{v0.pxpos() + v0.pxneg(), v0.pypos() + v0.pyneg(), v0.pzpos() + v0.pzneg()}}, array{o2::constants::physics::MassPionCharged, o2::constants::physics::MassLambda});
@@ -728,7 +732,7 @@ struct cascadeBuilder {
728732
cascadecandidate.bachP[2] + cascadecandidate.v0mompos[2] + cascadecandidate.v0momneg[2], // <--- redundant but ok
729733
cascadecandidate.v0dcadau, cascadecandidate.dcacascdau,
730734
cascadecandidate.v0dcapostopv, cascadecandidate.v0dcanegtopv,
731-
cascadecandidate.bachDCAxy, cascadecandidate.cascDCAxy); // <--- no corresponding stratrack information available
735+
cascadecandidate.bachDCAxy, cascadecandidate.cascDCAxy, cascadecandidate.cascDCAz); // <--- no corresponding stratrack information available
732736

733737
// populate cascade covariance matrices if required by any other task
734738
if (createCascCovMats) {
@@ -796,7 +800,7 @@ struct cascadeBuilder {
796800
cascadecandidate.bachP[2] + cascadecandidate.v0mompos[2] + cascadecandidate.v0momneg[2],
797801
cascadecandidate.v0dcadau, cascadecandidate.dcacascdau,
798802
cascadecandidate.v0dcapostopv, cascadecandidate.v0dcanegtopv,
799-
cascadecandidate.bachDCAxy, cascadecandidate.cascDCAxy);
803+
cascadecandidate.bachDCAxy, cascadecandidate.cascDCAxy, cascadecandidate.cascDCAz);
800804

801805
// populate cascade covariance matrices if required by any other task
802806
if (createCascCovMats) {
@@ -901,6 +905,7 @@ struct cascadeBuilder {
901905

902906
// Override cascDCAxy with the strangeness-tracked information
903907
cascadecandidate.cascDCAxy = dcaInfo[0];
908+
cascadecandidate.cascDCAz = dcaInfo[1];
904909

905910
std::array<float, 3> cascadeMomentumVector;
906911
cascadeTrackPar.getPxPyPzGlo(cascadeMomentumVector);
@@ -918,7 +923,7 @@ struct cascadeBuilder {
918923
cascadeMomentumVector[0], cascadeMomentumVector[1], cascadeMomentumVector[2], // <--- stratrack momentum
919924
cascadecandidate.v0dcadau, cascadecandidate.dcacascdau,
920925
cascadecandidate.v0dcapostopv, cascadecandidate.v0dcanegtopv,
921-
cascadecandidate.bachDCAxy, cascadecandidate.cascDCAxy, // <--- stratrack (cascDCAxy)
926+
cascadecandidate.bachDCAxy, cascadecandidate.cascDCAxy, cascadecandidate.cascDCAz, // <--- stratrack (cascDCAxy/z)
922927
trackedCascade.matchingChi2(), trackedCascade.topologyChi2(), trackedCascade.itsClsSize()); // <--- stratrack fit info
923928
}
924929
}

PWGLF/TableProducer/cascadefinder.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ struct cascadefinder {
267267
v0.dcapostopv(),
268268
v0.dcanegtopv(),
269269
t0id.dcaXY(),
270-
dcaInfo[0]);
270+
dcaInfo[0], dcaInfo[1]);
271271
} // end if cascade recoed
272272
} // end loop over bachelor
273273
} // end if v0 recoed
@@ -357,7 +357,7 @@ struct cascadefinder {
357357
v0.dcapostopv(),
358358
v0.dcanegtopv(),
359359
t0id.dcaXY(),
360-
dcaInfo[0]);
360+
dcaInfo[0], dcaInfo[1]);
361361
} // end if cascade recoed
362362
} // end loop over bachelor
363363
} // end if v0 recoed

PWGLF/Tasks/QC/straRecoStudy.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,7 @@ struct straRecoStudy {
652652
histos.fill(HIST("h2dXiMinusQADCAPosToPV"), casc.pt(), casc.dcapostopv());
653653
histos.fill(HIST("h2dXiMinusQADCANegToPV"), casc.pt(), casc.dcanegtopv());
654654
histos.fill(HIST("h2dXiMinusQADCABachToPV"), casc.pt(), casc.dcabachtopv());
655-
histos.fill(HIST("h2dXiMinusQADCACascToPV"), casc.pt(), casc.dcacasctopv());
655+
histos.fill(HIST("h2dXiMinusQADCACascToPV"), casc.pt(), casc.dcaXYCascToPV());
656656
histos.fill(HIST("h2dXiMinusQAPointingAngle"), casc.pt(), TMath::ACos(casc.casccosPA(collision.posX(), collision.posY(), collision.posZ())));
657657
}
658658
if (cascmc.pdgCode() == 3334) {
@@ -663,7 +663,7 @@ struct straRecoStudy {
663663
histos.fill(HIST("h2dOmegaMinusQADCAPosToPV"), casc.pt(), casc.dcapostopv());
664664
histos.fill(HIST("h2dOmegaMinusQADCANegToPV"), casc.pt(), casc.dcanegtopv());
665665
histos.fill(HIST("h2dOmegaMinusQADCABachToPV"), casc.pt(), casc.dcabachtopv());
666-
histos.fill(HIST("h2dOmegaMinusQADCACascToPV"), casc.pt(), casc.dcacasctopv());
666+
histos.fill(HIST("h2dOmegaMinusQADCACascToPV"), casc.pt(), casc.dcaXYCascToPV());
667667
histos.fill(HIST("h2dOmegaMinusQAPointingAngle"), casc.pt(), TMath::ACos(casc.casccosPA(collision.posX(), collision.posY(), collision.posZ())));
668668
}
669669

0 commit comments

Comments
 (0)