From 9f90aecdb6bc58f355713ab90a8d1e1056e9fd1a Mon Sep 17 00:00:00 2001
From: Tobias Boeckh <tobias.boeckh@cern.ch>
Date: Wed, 24 May 2023 00:32:52 +0200
Subject: [PATCH] fix unit of track momentum in extrapolation

---
 PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx b/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx
index 59a2be962..c0761ca3e 100644
--- a/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx
+++ b/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx
@@ -18,6 +18,8 @@
 #include <TH1F.h>
 #include <numeric>
 
+using namespace Acts::UnitLiterals;
+
 NtupleDumperAlg::NtupleDumperAlg(const std::string &name, 
                                     ISvcLocator *pSvcLocator)
     : AthReentrantAlgorithm(name, pSvcLocator), 
@@ -1027,7 +1029,7 @@ StatusCode NtupleDumperAlg::execute(const EventContext &ctx) const
     params_up[Acts::eBoundLoc1] = position_up.x();
     params_up[Acts::eBoundPhi] = momentum_up.phi();
     params_up[Acts::eBoundTheta] = momentum_up.theta();
-    params_up[Acts::eBoundQOverP] = upstreamParameters->charge() / momentum_up.mag();
+    params_up[Acts::eBoundQOverP] = upstreamParameters->charge() / (momentum_up.mag() * 1_MeV);
     params_up[Acts::eBoundTime] = 0;
     auto startSurface_up = Acts::Surface::makeShared<Acts::PlaneSurface>(Acts::Vector3(0, 0, position_up.z()), Acts::Vector3(0, 0, 1));
     Acts::BoundTrackParameters startParameters_up(std::move(startSurface_up), params_up, upstreamParameters->charge());
@@ -1040,7 +1042,7 @@ StatusCode NtupleDumperAlg::execute(const EventContext &ctx) const
     params_down[Acts::eBoundLoc1] = position_down.x();
     params_down[Acts::eBoundPhi] = momentum_down.phi();
     params_down[Acts::eBoundTheta] = momentum_down.theta();
-    params_down[Acts::eBoundQOverP] = downstreamParameters->charge() / momentum_down.mag();
+    params_down[Acts::eBoundQOverP] = downstreamParameters->charge() / (momentum_down.mag() * 1_MeV);
     params_down[Acts::eBoundTime] = 0;
     auto startSurface_down = Acts::Surface::makeShared<Acts::PlaneSurface>(Acts::Vector3(0, 0, position_down.z()), Acts::Vector3(0, 0, 1));
     Acts::BoundTrackParameters startParameters_down(std::move(startSurface_down), params_down, downstreamParameters->charge());
-- 
GitLab