diff --git a/k4Reco/GaudiTrkUtils/include/GaudiDDKalTestTrack.h b/k4Reco/GaudiTrkUtils/include/GaudiDDKalTestTrack.h index fe6c2521..784dcebc 100644 --- a/k4Reco/GaudiTrkUtils/include/GaudiDDKalTestTrack.h +++ b/k4Reco/GaudiTrkUtils/include/GaudiDDKalTestTrack.h @@ -143,6 +143,9 @@ class GaudiDDKalTestTrack { int propagate(const edm4hep::Vector3d& point, const TKalTrackSite& site, edm4hep::TrackState& ts, double& chi2, int& ndf, const DDVMeasLayer* ml = nullptr); + // Used by Pandora to propagate the refitted tracks + int propagateToLayer(int layerID, edm4hep::TrackState& ts, double& chi2, int& ndf, int& detElementID, int mode); + /** propagate the fit at the measurement site associated with the given hit, to numbered sensitive layer, * returning TrackState, chi2, ndf and integer ID of sensitive detector element via reference */ diff --git a/k4Reco/GaudiTrkUtils/src/GaudiDDKalTestTrack.cpp b/k4Reco/GaudiTrkUtils/src/GaudiDDKalTestTrack.cpp index 98e0d306..46389ac1 100644 --- a/k4Reco/GaudiTrkUtils/src/GaudiDDKalTestTrack.cpp +++ b/k4Reco/GaudiTrkUtils/src/GaudiDDKalTestTrack.cpp @@ -728,6 +728,13 @@ int GaudiDDKalTestTrack::propagate(const edm4hep::Vector3d& point, const TKalTra return 0; } +int GaudiDDKalTestTrack::propagateToLayer(int layerID, edm4hep::TrackState& ts, double& chi2, int& ndf, + int& detElementID, int mode) { + const auto& site = *static_cast(m_kaltrack->Last()); + + return this->propagateToLayer(layerID, site, ts, chi2, ndf, detElementID, mode); +} + int GaudiDDKalTestTrack::propagateToLayer(int layerID, const edm4hep::TrackerHit* trkhit, edm4hep::TrackState& ts, double& chi2, int& ndf, int& detElementID, int mode) { TKalTrackSite* site = nullptr;