@@ -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 }
0 commit comments