From d68fa2335f227b8132713193bcf5be06bcea9a7b Mon Sep 17 00:00:00 2001 From: Nora <n.bluhme@gsi.de> Date: Thu, 21 Mar 2024 19:32:39 +0000 Subject: [PATCH] BBA: fine granularity for mcbm setup --- reco/alignment/CbmBbaAlignmentTask.cxx | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/reco/alignment/CbmBbaAlignmentTask.cxx b/reco/alignment/CbmBbaAlignmentTask.cxx index 4fe3516ad5..32fd5c4c33 100644 --- a/reco/alignment/CbmBbaAlignmentTask.cxx +++ b/reco/alignment/CbmBbaAlignmentTask.cxx @@ -470,6 +470,12 @@ void CbmBbaAlignmentTask::Finish() s.fSensorId = n.fHitAddress; // TODO: get the station index from n.fHitSystemId, n.fHitAddress s.fTrackingStation = n.fMaterialLayer; + if (s.fSystemId == ECbmModuleId::kTrd || s.fSystemId == ECbmModuleId::kTrd2d) { + s.fSensorId = s.fTrackingStation; + } + else if (s.fSystemId == ECbmModuleId::kTof) { + s.fSensorId = CbmTofAddress::GetRpcFullId(n.fHitAddress); + } sensorSet.insert(s); } } @@ -482,9 +488,16 @@ void CbmBbaAlignmentTask::Finish() for (auto& t : fTracks) { for (auto& n : t.fUnalignedTrack.fNodes) { Sensor s; - s.fSystemId = n.fHitSystemId; - s.fSensorId = n.fHitAddress; - auto iter = sensorSet.find(s); + s.fSystemId = n.fHitSystemId; + s.fSensorId = n.fHitAddress; + s.fTrackingStation = n.fMaterialLayer; + if (s.fSystemId == ECbmModuleId::kTrd || s.fSystemId == ECbmModuleId::kTrd2d) { + s.fSensorId = s.fTrackingStation; + } + else if (s.fSystemId == ECbmModuleId::kTof) { + s.fSensorId = CbmTofAddress::GetRpcFullId(n.fHitAddress); + } + auto iter = sensorSet.find(s); assert(iter != sensorSet.end()); int iSensor = std::distance(sensorSet.begin(), iter); n.fReference1 = iSensor; @@ -492,7 +505,7 @@ void CbmBbaAlignmentTask::Finish() t.fAlignedTrack = t.fUnalignedTrack; } - if (1) { // one alignment body per tracking station + if (0) { // one alignment body per tracking station fNalignmentBodies = fNtrackingStations; -- GitLab