@@ -25,36 +25,29 @@ namespace o2::aod::pwgem::dilepton::utils::emtrackutil
2525{
2626// _______________________________________________________________________
2727template <typename T>
28- float sigmaDca3D (T const & track)
28+ float dca3DinSigma (T const & track)
2929{
30- float cYY = track.cYY (); // in cm^2
31- float cZZ = track.cZZ (); // in cm^2
32- float cZY = track.cZY (); // in cm^2
33- float dcaXY = track.dcaXY (); // in cm
34- float dcaZ = track.dcaZ (); // in cm
35- float dca3d = std::sqrt (dcaXY * dcaXY + dcaZ * dcaZ); // in cm
36- float dFdxy = 2 .f * dcaXY / dca3d;
37- float dFdz = 2 .f * dcaZ / dca3d;
38- return std::sqrt (cYY * dFdxy * dFdxy + cZZ * dFdz * dFdz + 2 .f * cZY * dFdxy * dFdz);
30+ float cYY = track.cYY ();
31+ float cZZ = track.cZZ ();
32+ float cZY = track.cZY ();
33+ float dcaXY = track.dcaXY (); // in cm
34+ float dcaZ = track.dcaZ (); // in cm
35+
36+ float det = cYY * cZZ - cZY * cZY; // determinant
37+ if (det < 0 ) {
38+ return 999 .f ;
39+ } else {
40+ return std::sqrt (std::fabs ((dcaXY * dcaXY * cZZ + dcaZ * dcaZ * cYY - 2 . * dcaXY * dcaZ * cZY) / det / 2 .)); // dca 3d in sigma
41+ }
3942}
4043// _______________________________________________________________________
4144template <typename T>
42- float dca3DinSigma (T const & track)
45+ float sigmaDca3D (T const & track)
4346{
44- return std::sqrt (track.dcaXY () * track.dcaXY () + track.dcaZ () * track.dcaZ ()) / sigmaDca3D (track);
45-
46- // float cYY = track.cYY();
47- // float cZZ = track.cZZ();
48- // float cZY = track.cZY();
49- // float dcaXY = track.dcaXY(); // in cm
50- // float dcaZ = track.dcaZ(); // in cm
51-
52- // float det = cYY * cZZ - cZY * cZY; // determinant
53- // if (det < 0) {
54- // return 999.f;
55- // } else {
56- // return std::sqrt(std::fabs((dcaXY * dcaXY * cZZ + dcaZ * dcaZ * cYY - 2. * dcaXY * dcaZ * cZY) / det / 2.)); // dca 3d in sigma
57- // }
47+ float dcaXY = track.dcaXY (); // in cm
48+ float dcaZ = track.dcaZ (); // in cm
49+ float dca3d = std::sqrt (dcaXY * dcaXY + dcaZ * dcaZ); // in cm
50+ return dca3d / dca3DinSigma (track);
5851}
5952// _______________________________________________________________________
6053template <typename T>
@@ -70,30 +63,29 @@ float dcaZinSigma(T const& track)
7063}
7164// _______________________________________________________________________
7265template <typename T>
73- float sigmaFwdDcaXY (T const & track)
66+ float fwdDcaXYinSigma (T const & track)
7467{
7568 float cXX = track.cXXatDCA (); // in cm^2
7669 float cYY = track.cYYatDCA (); // in cm^2
7770 float cXY = track.cXYatDCA (); // in cm^2
7871 float dcaX = track.fwdDcaX (); // in cm
7972 float dcaY = track.fwdDcaY (); // in cm
80- float dcaXY = std::sqrt (dcaX * dcaX + dcaY * dcaY); // in cm
81- float dFdx = 2 .f * dcaX / dcaXY;
82- float dFdy = 2 .f * dcaY / dcaXY;
83- return std::sqrt (cXX * dFdx * dFdx + cYY * dFdy * dFdy + 2 .f * cXY * dFdx * dFdy);
73+ float det = cXX * cYY - cXY * cXY; // determinant
74+
75+ if (det < 0 ) {
76+ return 999 .f ;
77+ } else {
78+ return std::sqrt (std::fabs ((dcaX * dcaX * cYY + dcaY * dcaY * cXX - 2 . * dcaX * dcaY * cXY) / det / 2 .)); // dca xy in sigma
79+ }
8480}
8581// _______________________________________________________________________
8682template <typename T>
87- float fwdDcaXYinSigma (T const & track)
83+ float sigmaFwdDcaXY (T const & track)
8884{
89- return std::sqrt (track.fwdDcaX () * track.fwdDcaX () + track.fwdDcaY () * track.fwdDcaY ()) / sigmaFwdDcaXY (track);
90-
91- // float det = cXX * cYY - cXY * cXY; // determinant
92- // if (det < 0) {
93- // return 999.f;
94- // } else {
95- // return std::sqrt(std::fabs((dcaX * dcaX * cYY + dcaY * dcaY * cXX - 2. * dcaX * dcaY * cXY) / det / 2.)); // dca xy in sigma
96- // }
85+ float dcaX = track.fwdDcaX (); // in cm
86+ float dcaY = track.fwdDcaY (); // in cm
87+ float dcaXY = std::sqrt (dcaX * dcaX + dcaY * dcaY); // in cm
88+ return dcaXY / fwdDcaXYinSigma (track);
9789}
9890// _______________________________________________________________________
9991template <bool is_wo_acc = false , typename TTrack, typename TCut, typename TTracks>
0 commit comments