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
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,9 @@ constexpr float MaxPT = 100000.; // do not allow pTs exceeding
constexpr float MinPTInv = 1. / MaxPT; // do not allow q/pTs less this value (to avoid NANs)
constexpr float ELoss2EKinThreshInv = 1. / 0.025; // do not allow E.Loss correction step with dE/Ekin above the inverse of this value
constexpr int MaxELossIter = 50; // max number of iteration for the ELoss to account for BB dependence on beta*gamma
constexpr float DefaultDCA = 999.f; // default DCA value
constexpr float DefaultDCACov = 999.f; // default DCA cov value

// uncomment this to enable correction for BB dependence on beta*gamma via BB derivative
// #define _BB_NONCONST_CORR_

Expand Down
8 changes: 8 additions & 0 deletions DataFormats/Reconstruction/src/TrackParametrization.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -378,6 +378,10 @@ GPUd() bool TrackParametrization<value_T>::propagateParamToDCA(const math_utils:
// Estimate the impact parameter neglecting the track curvature
value_t d = gpu::CAMath::Abs(x * snp - y * csp);
if (d > maxD) {
if (dca) { // provide default DCA for failed propag
(*dca)[0] = o2::track::DefaultDCA;
(*dca)[1] = o2::track::DefaultDCA;
}
return false;
}
value_t crv = getCurvature(b);
Expand All @@ -399,6 +403,10 @@ GPUd() bool TrackParametrization<value_T>::propagateParamToDCA(const math_utils:
#else
LOG(debug) << "failed to propagate to alpha=" << alp << " X=" << xv << " for vertex " << vtx.X() << ' ' << vtx.Y() << ' ' << vtx.Z();
#endif
if (dca) { // provide default DCA for failed propag
(*dca)[0] = o2::track::DefaultDCA;
(*dca)[1] = o2::track::DefaultDCA;
}
return false;
}
*this = tmpT;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,10 @@ GPUd() bool TrackParametrizationWithError<value_T>::propagateToDCA(const o2::dat
// Estimate the impact parameter neglecting the track curvature
value_t d = gpu::CAMath::Abs(x * snp - y * csp);
if (d > maxD) {
if (dca) { // provide default DCA for failed propag
dca->set(o2::track::DefaultDCA, o2::track::DefaultDCA,
o2::track::DefaultDCACov, o2::track::DefaultDCACov, o2::track::DefaultDCACov);
}
return false;
}
value_t crv = this->getCurvature(b);
Expand All @@ -245,6 +249,10 @@ GPUd() bool TrackParametrizationWithError<value_T>::propagateToDCA(const o2::dat
#if !defined(GPUCA_ALIGPUCODE)
LOG(debug) << "failed to propagate to alpha=" << alp << " X=" << xv << vtx << " | Track is: " << tmpT.asString();
#endif
if (dca) { // provide default DCA for failed propag
dca->set(o2::track::DefaultDCA, o2::track::DefaultDCA,
o2::track::DefaultDCACov, o2::track::DefaultDCACov, o2::track::DefaultDCACov);
}
return false;
}
*this = tmpT;
Expand Down
32 changes: 32 additions & 0 deletions Detectors/Base/src/Propagator.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -564,6 +564,10 @@ GPUd() bool PropagatorImpl<value_T>::propagateToDCA(const o2::dataformats::Verte
// Estimate the impact parameter neglecting the track curvature
value_type d = math_utils::detail::abs<value_type>(x * snp - y * csp);
if (d > maxD) {
if (dca) { // provide default DCA for failed propag
dca->set(o2::track::DefaultDCA, o2::track::DefaultDCA,
o2::track::DefaultDCACov, o2::track::DefaultDCACov, o2::track::DefaultDCACov);
}
return false;
}
value_type crv = track.getCurvature(bZ);
Expand All @@ -584,6 +588,10 @@ GPUd() bool PropagatorImpl<value_T>::propagateToDCA(const o2::dataformats::Verte
#elif !defined(GPUCA_NO_FMT)
LOG(debug) << "failed to propagate to alpha=" << alp << " X=" << xv << vtx;
#endif
if (dca) { // provide default DCA for failed propag
dca->set(o2::track::DefaultDCA, o2::track::DefaultDCA,
o2::track::DefaultDCACov, o2::track::DefaultDCACov, o2::track::DefaultDCACov);
}
return false;
}
track = tmpT;
Expand Down Expand Up @@ -613,6 +621,10 @@ GPUd() bool PropagatorImpl<value_T>::propagateToDCABxByBz(const o2::dataformats:
// Estimate the impact parameter neglecting the track curvature
value_type d = math_utils::detail::abs<value_type>(x * snp - y * csp);
if (d > maxD) {
if (dca) { // provide default DCA for failed propag
dca->set(o2::track::DefaultDCA, o2::track::DefaultDCA,
o2::track::DefaultDCACov, o2::track::DefaultDCACov, o2::track::DefaultDCACov);
}
return false;
}
value_type crv = track.getCurvature(mNominalBz);
Expand All @@ -633,6 +645,10 @@ GPUd() bool PropagatorImpl<value_T>::propagateToDCABxByBz(const o2::dataformats:
#elif !defined(GPUCA_NO_FMT)
LOG(debug) << "failed to propagate to alpha=" << alp << " X=" << xv << vtx;
#endif
if (dca) { // provide default DCA for failed propag
dca->set(o2::track::DefaultDCA, o2::track::DefaultDCA,
o2::track::DefaultDCACov, o2::track::DefaultDCACov, o2::track::DefaultDCACov);
}
return false;
}
track = tmpT;
Expand Down Expand Up @@ -662,6 +678,10 @@ GPUd() bool PropagatorImpl<value_T>::propagateToDCA(const math_utils::Point3D<va
// Estimate the impact parameter neglecting the track curvature
value_type d = math_utils::detail::abs<value_type>(x * snp - y * csp);
if (d > maxD) {
if (dca) { // provide default DCA for failed propag
(*dca)[0] = o2::track::DefaultDCA;
(*dca)[1] = o2::track::DefaultDCA;
}
return false;
}
value_type crv = track.getCurvature(bZ);
Expand All @@ -683,6 +703,10 @@ GPUd() bool PropagatorImpl<value_T>::propagateToDCA(const math_utils::Point3D<va
#else
LOG(debug) << "failed to propagate to alpha=" << alp << " X=" << xv << " for vertex " << vtx.X() << ' ' << vtx.Y() << ' ' << vtx.Z();
#endif
if (dca) { // provide default DCA for failed propag
(*dca)[0] = o2::track::DefaultDCA;
(*dca)[1] = o2::track::DefaultDCA;
}
return false;
}
track = tmpT;
Expand Down Expand Up @@ -710,6 +734,10 @@ GPUd() bool PropagatorImpl<value_T>::propagateToDCABxByBz(const math_utils::Poin
// Estimate the impact parameter neglecting the track curvature
value_type d = math_utils::detail::abs<value_type>(x * snp - y * csp);
if (d > maxD) {
if (dca) { // provide default DCA for failed propag
(*dca)[0] = o2::track::DefaultDCA;
(*dca)[1] = o2::track::DefaultDCA;
}
return false;
}
value_type crv = track.getCurvature(mNominalBz);
Expand All @@ -731,6 +759,10 @@ GPUd() bool PropagatorImpl<value_T>::propagateToDCABxByBz(const math_utils::Poin
#else
LOG(debug) << "failed to propagate to alpha=" << alp << " X=" << xv << " for vertex " << vtx.X() << ' ' << vtx.Y() << ' ' << vtx.Z();
#endif
if (dca) { // provide default DCA for failed propag
(*dca)[0] = o2::track::DefaultDCA;
(*dca)[1] = o2::track::DefaultDCA;
}
return false;
}
track = tmpT;
Expand Down