@@ -105,79 +105,79 @@ inline void Vtx_recalculation(o2::base::Propagator* prop, T1 lTrackPos, T2 lTrac
105105 Vtx_recalculationParCov<TrackPrecision>(prop, trackPosInformation, trackNegInformation, xyz, matCorr);
106106}
107107// _______________________________________________________________________
108- template <typename TV0>
109- float getPtResolution (TV0 const & v0)
110- {
111- float px = v0.px ();
112- float py = v0.py ();
113- float pt = v0.pt ();
114- float px_err = std::sqrt (std::fabs (v0.sigmaPx2 ()));
115- float py_err = std::sqrt (std::fabs (v0.sigmaPy2 ()));
116- float pxy_err = v0.sigmaPxPy ();
117- return std::sqrt (std::pow (px / pt * px_err, 2 ) + std::pow (py / pt * py_err, 2 ) + 2 .f * px / pt * py / pt * pxy_err);
118- }
119- // _______________________________________________________________________
120- template <typename TV0>
121- float getPhiResolution (TV0 const & v0)
122- {
123- float px = v0.px ();
124- float py = v0.py ();
125- float pt = v0.pt ();
126- float px_err = std::sqrt (std::fabs (v0.sigmaPx2 ()));
127- float py_err = std::sqrt (std::fabs (v0.sigmaPy2 ()));
128- float pxy_err = v0.sigmaPxPy ();
129- return std::sqrt (std::pow (px / pt / pt * py_err, 2 ) + std::pow (py / pt / pt * px_err, 2 ) - 2 .f * px / pt / pt * py / pt / pt * pxy_err);
130- }
131- // _______________________________________________________________________
132- template <typename TV0>
133- float getThetaResolution (TV0 const & v0)
134- {
135- float px = v0.px ();
136- float py = v0.py ();
137- float pz = v0.pz ();
138- float pt = v0.pt ();
139- float p = v0.p ();
140- float px_err = std::sqrt (std::fabs (v0.sigmaPx2 ()));
141- float py_err = std::sqrt (std::fabs (v0.sigmaPy2 ()));
142- float pz_err = std::sqrt (std::fabs (v0.sigmaPz2 ()));
143- float pxy_err = v0.sigmaPxPy ();
144- float pyz_err = v0.sigmaPyPz ();
145- float pzx_err = v0.sigmaPzPx ();
146- return std::sqrt (std::pow (pz * pz / p / p, 2 ) * (std::pow (px / pz / pt * px_err, 2 ) + std::pow (py / pz / pt * py_err, 2 ) + std::pow (pt / pz / pz * pz_err, 2 ) + 2 .f * (px * py / pz / pz / pt / pt * pxy_err - py / pz / pz / pz * pyz_err - px / pz / pz / pz * pzx_err)));
147- }
148- // _______________________________________________________________________
149- template <typename TV0>
150- float getEtaResolution (TV0 const & v0)
151- {
152- float px = v0.px ();
153- float py = v0.py ();
154- float pz = v0.pz ();
155- float pt = v0.pt ();
156- float p = v0.p ();
157- float px_err = std::sqrt (std::fabs (v0.sigmaPx2 ()));
158- float py_err = std::sqrt (std::fabs (v0.sigmaPy2 ()));
159- float pz_err = std::sqrt (std::fabs (v0.sigmaPz2 ()));
160- float pxy_err = v0.sigmaPxPy ();
161- float pyz_err = v0.sigmaPyPz ();
162- float pzx_err = v0.sigmaPzPx ();
163- return std::sqrt (std::pow (1 .f / p / pt / pt, 2 ) * (std::pow (pz * px * px_err, 2 ) + std::pow (pz * py * py_err, 2 ) + std::pow (pt * pt * pz_err, 2 ) + 2 .f * (pz * pz * px * py * pxy_err - pt * pt * py * pz * pyz_err - pt * pt * pz * px * pzx_err)));
164- }
165- // _______________________________________________________________________
166- template <typename TV0>
167- float getPResolution (TV0 const & v0)
168- {
169- float px = v0.px ();
170- float py = v0.py ();
171- float pz = v0.pz ();
172- float p = v0.p ();
173- float px_err = std::sqrt (std::fabs (v0.sigmaPx2 ()));
174- float py_err = std::sqrt (std::fabs (v0.sigmaPy2 ()));
175- float pz_err = std::sqrt (std::fabs (v0.sigmaPz2 ()));
176- float pxy_err = v0.sigmaPxPy ();
177- float pyz_err = v0.sigmaPyPz ();
178- float pzx_err = v0.sigmaPzPx ();
179- return std::sqrt (std::pow (1 .f / p, 2 ) * (std::pow (px * px_err, 2 ) + std::pow (py * py_err, 2 ) + std::pow (pz * pz_err, 2 ) + 2 .f * (px * py * pxy_err + py * pz * pyz_err + pz * px * pzx_err)));
180- }
108+ // template <typename TV0>
109+ // float getPtResolution(TV0 const& v0)
110+ // {
111+ // float px = v0.px();
112+ // float py = v0.py();
113+ // float pt = v0.pt();
114+ // float px_err = std::sqrt(std::fabs(v0.sigmaPx2()));
115+ // float py_err = std::sqrt(std::fabs(v0.sigmaPy2()));
116+ // float pxy_err = v0.sigmaPxPy();
117+ // return std::sqrt(std::pow(px / pt * px_err, 2) + std::pow(py / pt * py_err, 2) + 2.f * px / pt * py / pt * pxy_err);
118+ // }
119+ // // _______________________________________________________________________
120+ // template <typename TV0>
121+ // float getPhiResolution(TV0 const& v0)
122+ // {
123+ // float px = v0.px();
124+ // float py = v0.py();
125+ // float pt = v0.pt();
126+ // float px_err = std::sqrt(std::fabs(v0.sigmaPx2()));
127+ // float py_err = std::sqrt(std::fabs(v0.sigmaPy2()));
128+ // float pxy_err = v0.sigmaPxPy();
129+ // return std::sqrt(std::pow(px / pt / pt * py_err, 2) + std::pow(py / pt / pt * px_err, 2) - 2.f * px / pt / pt * py / pt / pt * pxy_err);
130+ // }
131+ // // _______________________________________________________________________
132+ // template <typename TV0>
133+ // float getThetaResolution(TV0 const& v0)
134+ // {
135+ // float px = v0.px();
136+ // float py = v0.py();
137+ // float pz = v0.pz();
138+ // float pt = v0.pt();
139+ // float p = v0.p();
140+ // float px_err = std::sqrt(std::fabs(v0.sigmaPx2()));
141+ // float py_err = std::sqrt(std::fabs(v0.sigmaPy2()));
142+ // float pz_err = std::sqrt(std::fabs(v0.sigmaPz2()));
143+ // float pxy_err = v0.sigmaPxPy();
144+ // float pyz_err = v0.sigmaPyPz();
145+ // float pzx_err = v0.sigmaPzPx();
146+ // return std::sqrt(std::pow(pz * pz / p / p, 2) * (std::pow(px / pz / pt * px_err, 2) + std::pow(py / pz / pt * py_err, 2) + std::pow(pt / pz / pz * pz_err, 2) + 2.f * (px * py / pz / pz / pt / pt * pxy_err - py / pz / pz / pz * pyz_err - px / pz / pz / pz * pzx_err)));
147+ // }
148+ // // _______________________________________________________________________
149+ // template <typename TV0>
150+ // float getEtaResolution(TV0 const& v0)
151+ // {
152+ // float px = v0.px();
153+ // float py = v0.py();
154+ // float pz = v0.pz();
155+ // float pt = v0.pt();
156+ // float p = v0.p();
157+ // float px_err = std::sqrt(std::fabs(v0.sigmaPx2()));
158+ // float py_err = std::sqrt(std::fabs(v0.sigmaPy2()));
159+ // float pz_err = std::sqrt(std::fabs(v0.sigmaPz2()));
160+ // float pxy_err = v0.sigmaPxPy();
161+ // float pyz_err = v0.sigmaPyPz();
162+ // float pzx_err = v0.sigmaPzPx();
163+ // return std::sqrt(std::pow(1.f / p / pt / pt, 2) * (std::pow(pz * px * px_err, 2) + std::pow(pz * py * py_err, 2) + std::pow(pt * pt * pz_err, 2) + 2.f * (pz * pz * px * py * pxy_err - pt * pt * py * pz * pyz_err - pt * pt * pz * px * pzx_err)));
164+ // }
165+ // // _______________________________________________________________________
166+ // template <typename TV0>
167+ // float getPResolution(TV0 const& v0)
168+ // {
169+ // float px = v0.px();
170+ // float py = v0.py();
171+ // float pz = v0.pz();
172+ // float p = v0.p();
173+ // float px_err = std::sqrt(std::fabs(v0.sigmaPx2()));
174+ // float py_err = std::sqrt(std::fabs(v0.sigmaPy2()));
175+ // float pz_err = std::sqrt(std::fabs(v0.sigmaPz2()));
176+ // float pxy_err = v0.sigmaPxPy();
177+ // float pyz_err = v0.sigmaPyPz();
178+ // float pzx_err = v0.sigmaPzPx();
179+ // return std::sqrt(std::pow(1.f / p, 2) * (std::pow(px * px_err, 2) + std::pow(py * py_err, 2) + std::pow(pz * pz_err, 2) + 2.f * (px * py * pxy_err + py * pz * pyz_err + pz * px * pzx_err)));
180+ // }
181181// _______________________________________________________________________
182182// _______________________________________________________________________
183183#endif // PWGEM_PHOTONMESON_UTILS_PCMUTILITIES_H_
0 commit comments