Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions PWGLF/DataModel/LFStrangenessTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,8 @@ DECLARE_SOA_COLUMN(DCACascDaughters, dcacascdaughters, float); //!
DECLARE_SOA_COLUMN(DCAPosToPV, dcapostopv, float); //!
DECLARE_SOA_COLUMN(DCANegToPV, dcanegtopv, float); //!
DECLARE_SOA_COLUMN(DCABachToPV, dcabachtopv, float); //!
DECLARE_SOA_COLUMN(DCACascToPV, dcacasctopv, float); //!
DECLARE_SOA_COLUMN(DCAXYCascToPV, dcaXYCascToPV, float); //!
DECLARE_SOA_COLUMN(DCAZCascToPV, dcaZCascToPV, float); //!

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

// Derived expressions
// Momenta
Expand Down Expand Up @@ -392,7 +393,7 @@ DECLARE_SOA_TABLE(StoredCascDatas, "AOD", "CASCDATA", //!
cascdata::PxBach, cascdata::PyBach, cascdata::PzBach,
cascdata::Px, cascdata::Py, cascdata::Pz,
cascdata::DCAV0Daughters, cascdata::DCACascDaughters,
cascdata::DCAPosToPV, cascdata::DCANegToPV, cascdata::DCABachToPV, cascdata::DCACascToPV,
cascdata::DCAPosToPV, cascdata::DCANegToPV, cascdata::DCABachToPV, cascdata::DCAXYCascToPV, cascdata::DCAZCascToPV,

// Dynamic columns
cascdata::Pt<cascdata::Px, cascdata::Py>,
Expand Down Expand Up @@ -422,7 +423,7 @@ DECLARE_SOA_TABLE(StoredTraCascDatas, "AOD", "TRACASCDATA", //!
cascdata::PxBach, cascdata::PyBach, cascdata::PzBach,
cascdata::Px, cascdata::Py, cascdata::Pz,
cascdata::DCAV0Daughters, cascdata::DCACascDaughters,
cascdata::DCAPosToPV, cascdata::DCANegToPV, cascdata::DCABachToPV, cascdata::DCACascToPV,
cascdata::DCAPosToPV, cascdata::DCANegToPV, cascdata::DCABachToPV, cascdata::DCAXYCascToPV, cascdata::DCAZCascToPV,
cascdata::MatchingChi2, cascdata::TopologyChi2, cascdata::ItsClsSize,

// Dynamic columns
Expand Down
11 changes: 8 additions & 3 deletions PWGLF/TableProducer/cascadebuilder.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,8 @@ struct cascadeBuilder {
Configurable<float> casccospa{"casccospa", 0.95, "casccospa"};
Configurable<float> dcacascdau{"dcacascdau", 1.0, "DCA cascade Daughters"};
Configurable<float> lambdaMassWindow{"lambdaMassWindow", .01, "Distance from Lambda mass"};
Configurable<float> dcaXYCascToPV{"dcaXYCascToPV", 1e+6, "dcaXYCascToPV"};
Configurable<float> dcaZCascToPV{"dcaZCascToPV", 1e+6, "dcaZCascToPV"};

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

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

// Calculate masses a priori
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});
Expand Down Expand Up @@ -728,7 +732,7 @@ struct cascadeBuilder {
cascadecandidate.bachP[2] + cascadecandidate.v0mompos[2] + cascadecandidate.v0momneg[2], // <--- redundant but ok
cascadecandidate.v0dcadau, cascadecandidate.dcacascdau,
cascadecandidate.v0dcapostopv, cascadecandidate.v0dcanegtopv,
cascadecandidate.bachDCAxy, cascadecandidate.cascDCAxy); // <--- no corresponding stratrack information available
cascadecandidate.bachDCAxy, cascadecandidate.cascDCAxy, cascadecandidate.cascDCAz); // <--- no corresponding stratrack information available

// populate cascade covariance matrices if required by any other task
if (createCascCovMats) {
Expand Down Expand Up @@ -796,7 +800,7 @@ struct cascadeBuilder {
cascadecandidate.bachP[2] + cascadecandidate.v0mompos[2] + cascadecandidate.v0momneg[2],
cascadecandidate.v0dcadau, cascadecandidate.dcacascdau,
cascadecandidate.v0dcapostopv, cascadecandidate.v0dcanegtopv,
cascadecandidate.bachDCAxy, cascadecandidate.cascDCAxy);
cascadecandidate.bachDCAxy, cascadecandidate.cascDCAxy, cascadecandidate.cascDCAz);

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

// Override cascDCAxy with the strangeness-tracked information
cascadecandidate.cascDCAxy = dcaInfo[0];
cascadecandidate.cascDCAz = dcaInfo[1];

std::array<float, 3> cascadeMomentumVector;
cascadeTrackPar.getPxPyPzGlo(cascadeMomentumVector);
Expand All @@ -918,7 +923,7 @@ struct cascadeBuilder {
cascadeMomentumVector[0], cascadeMomentumVector[1], cascadeMomentumVector[2], // <--- stratrack momentum
cascadecandidate.v0dcadau, cascadecandidate.dcacascdau,
cascadecandidate.v0dcapostopv, cascadecandidate.v0dcanegtopv,
cascadecandidate.bachDCAxy, cascadecandidate.cascDCAxy, // <--- stratrack (cascDCAxy)
cascadecandidate.bachDCAxy, cascadecandidate.cascDCAxy, cascadecandidate.cascDCAz, // <--- stratrack (cascDCAxy/z)
trackedCascade.matchingChi2(), trackedCascade.topologyChi2(), trackedCascade.itsClsSize()); // <--- stratrack fit info
}
}
Expand Down
4 changes: 2 additions & 2 deletions PWGLF/TableProducer/cascadefinder.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ struct cascadefinder {
v0.dcapostopv(),
v0.dcanegtopv(),
t0id.dcaXY(),
dcaInfo[0]);
dcaInfo[0], dcaInfo[1]);
} // end if cascade recoed
} // end loop over bachelor
} // end if v0 recoed
Expand Down Expand Up @@ -357,7 +357,7 @@ struct cascadefinder {
v0.dcapostopv(),
v0.dcanegtopv(),
t0id.dcaXY(),
dcaInfo[0]);
dcaInfo[0], dcaInfo[1]);
} // end if cascade recoed
} // end loop over bachelor
} // end if v0 recoed
Expand Down
4 changes: 2 additions & 2 deletions PWGLF/Tasks/QC/straRecoStudy.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -652,7 +652,7 @@ struct straRecoStudy {
histos.fill(HIST("h2dXiMinusQADCAPosToPV"), casc.pt(), casc.dcapostopv());
histos.fill(HIST("h2dXiMinusQADCANegToPV"), casc.pt(), casc.dcanegtopv());
histos.fill(HIST("h2dXiMinusQADCABachToPV"), casc.pt(), casc.dcabachtopv());
histos.fill(HIST("h2dXiMinusQADCACascToPV"), casc.pt(), casc.dcacasctopv());
histos.fill(HIST("h2dXiMinusQADCACascToPV"), casc.pt(), casc.dcaXYCascToPV());
histos.fill(HIST("h2dXiMinusQAPointingAngle"), casc.pt(), TMath::ACos(casc.casccosPA(collision.posX(), collision.posY(), collision.posZ())));
}
if (cascmc.pdgCode() == 3334) {
Expand All @@ -663,7 +663,7 @@ struct straRecoStudy {
histos.fill(HIST("h2dOmegaMinusQADCAPosToPV"), casc.pt(), casc.dcapostopv());
histos.fill(HIST("h2dOmegaMinusQADCANegToPV"), casc.pt(), casc.dcanegtopv());
histos.fill(HIST("h2dOmegaMinusQADCABachToPV"), casc.pt(), casc.dcabachtopv());
histos.fill(HIST("h2dOmegaMinusQADCACascToPV"), casc.pt(), casc.dcacasctopv());
histos.fill(HIST("h2dOmegaMinusQADCACascToPV"), casc.pt(), casc.dcaXYCascToPV());
histos.fill(HIST("h2dOmegaMinusQAPointingAngle"), casc.pt(), TMath::ACos(casc.casccosPA(collision.posX(), collision.posY(), collision.posZ())));
}

Expand Down