diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/CKF2.cxx b/Tracking/Acts/FaserActsKalmanFilter/src/CKF2.cxx index e75632427e36b77d968cf9cb961268ac5342a481..3782556bbcf79287336a61f392c8c87ecef87d42 100644 --- a/Tracking/Acts/FaserActsKalmanFilter/src/CKF2.cxx +++ b/Tracking/Acts/FaserActsKalmanFilter/src/CKF2.cxx @@ -421,7 +421,8 @@ CKF2::ConvertActsTrackParameterToATLAS(const Acts::BoundTrackParameters &actsPar double tqOverP=actsParameter.get<Acts::eBoundQOverP>()*1_MeV; double p = std::abs(1. / tqOverP); Amg::Vector3D tmom(p * std::cos(tphi) * std::sin(ttheta), p * std::sin(tphi) * std::sin(ttheta), p * std::cos(ttheta)); - const Trk::CurvilinearParameters * curv = new Trk::CurvilinearParameters(pos,tmom,tqOverP>0, cov); + double charge = tqOverP > 0. ? 1. : -1.; + const Trk::CurvilinearParameters * curv = new Trk::CurvilinearParameters(pos,tmom,charge, cov); return curv; } diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/KalmanFitterTool.cxx b/Tracking/Acts/FaserActsKalmanFilter/src/KalmanFitterTool.cxx index 52aae1d0f2a06e728df5f8f63767836c009cfa45..f1f8b1c61e6189e10882cd6cdd337e8c256463ca 100644 --- a/Tracking/Acts/FaserActsKalmanFilter/src/KalmanFitterTool.cxx +++ b/Tracking/Acts/FaserActsKalmanFilter/src/KalmanFitterTool.cxx @@ -221,9 +221,7 @@ KalmanFitterTool::getParametersFromTrack(const Trk::TrackParameters *inputParame params(1.0) = center[Trk::locX]; params(2.0) = atlasParam[Trk::phi0]; params(3.0) = atlasParam[Trk::theta]; - // input charge is 1 for positively charged particles and 0 for negatively charged particles! - double charge = 2 * inputParameters->charge() - 1; - params(4.0) = charge / (inputParameters->momentum().norm() * 1_MeV); + params(4.0) = inputParameters->charge() / (inputParameters->momentum().norm() * 1_MeV); params(5.0) = 0.; } else { params = inputVector; @@ -348,7 +346,8 @@ KalmanFitterTool::ConvertActsTrackParameterToATLAS(const Acts::BoundTrackParamet double tqOverP=actsParameter.get<Acts::eBoundQOverP>()*1_MeV; double p = std::abs(1. / tqOverP); Amg::Vector3D tmom(p * std::cos(tphi) * std::sin(ttheta), p * std::sin(tphi) * std::sin(ttheta), p * std::cos(ttheta)); - const Trk::CurvilinearParameters * curv = new Trk::CurvilinearParameters(pos,tmom,tqOverP>0, cov); + double charge = tqOverP > 0. ? 1. : -1.; + const Trk::CurvilinearParameters * curv = new Trk::CurvilinearParameters(pos,tmom,charge, cov); return curv; }