From fc1e88facd96300d4800a89598b5f64c1556a51d Mon Sep 17 00:00:00 2001 From: scannito Date: Fri, 27 Mar 2026 21:33:43 +0100 Subject: [PATCH 1/2] Updated FT3Module --- .../ALICE3/FT3/simulation/src/FT3Module.cxx | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Detectors/Upgrades/ALICE3/FT3/simulation/src/FT3Module.cxx b/Detectors/Upgrades/ALICE3/FT3/simulation/src/FT3Module.cxx index 99322aa91f53f..76f515470d0ac 100644 --- a/Detectors/Upgrades/ALICE3/FT3/simulation/src/FT3Module.cxx +++ b/Detectors/Upgrades/ALICE3/FT3/simulation/src/FT3Module.cxx @@ -124,7 +124,6 @@ void FT3Module::create_layout(double mZ, int layerNumber, int direction, double } else if (sensor_height == 19.2 && sensor_width == 5) { x_offset = 0.7; y_offset = 9; - } else { x_offset = sensor_width / 2; y_offset = sensor_height / 2; @@ -146,14 +145,12 @@ void FT3Module::create_layout(double mZ, int layerNumber, int direction, double if (Rin == 7 && sensor_height == 9.6 && sensor_width == 5) { x_condition_min = -Rin - 2; x_condition_max = Rin; + dist_offset = 2; adjust_bottom_y_pos = true; adjust_bottom_y_neg = true; x_adjust_bottom_y_pos = 3.5; bottom_y_pos_value = 3.5; bottom_y_neg_value = -3.5; - - dist_offset = 2; - } else if (Rin == 5 && sensor_height == 9.6 && sensor_width == 5) { x_condition_min = -Rin - 6; x_condition_max = Rin; @@ -201,6 +198,15 @@ void FT3Module::create_layout(double mZ, int layerNumber, int direction, double x_adjust_bottom_y_pos = 5.5; bottom_y_pos_value = 3.5; bottom_y_neg_value = -3.5; + } else if (Rin == 10 && sensor_height == 9.6 && sensor_width == 5.0) { + x_condition_min = -Rin - 4; + x_condition_max = Rin; + dist_offset = 2; + adjust_bottom_y_pos = true; + adjust_bottom_y_neg = true; + x_adjust_bottom_y_pos = 3.5; + bottom_y_pos_value = 3.5; + bottom_y_neg_value = -3.5; } else if (Rin == 20 && sensor_height == 9.6 && sensor_width == 5.0) { x_condition_min = -Rin - 4; x_condition_max = Rin; @@ -244,7 +250,7 @@ void FT3Module::create_layout(double mZ, int layerNumber, int direction, double justSkipped1 = {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0}; } } else { - if (Rin == 20) { // v3 paving, rough attempt + if (Rin == 10 || Rin == 20) { // v3 paving, rough attempt float overlap = 0.3; // NB: these are left edges float X_start = -2.0 - 13.5 * (sensor_width - overlap); From fe2955690eb1e77fde8d32311de7ede97f520770 Mon Sep 17 00:00:00 2001 From: scannito Date: Wed, 1 Apr 2026 09:14:16 +0200 Subject: [PATCH 2/2] First attempt to pave ML disks --- .../ALICE3/FT3/simulation/src/Detector.cxx | 30 +++++++++---------- .../ALICE3/FT3/simulation/src/FT3Layer.cxx | 2 +- .../ALICE3/FT3/simulation/src/FT3Module.cxx | 4 +-- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Detectors/Upgrades/ALICE3/FT3/simulation/src/Detector.cxx b/Detectors/Upgrades/ALICE3/FT3/simulation/src/Detector.cxx index 94d56fd9625a0..2a9a9633cdd11 100644 --- a/Detectors/Upgrades/ALICE3/FT3/simulation/src/Detector.cxx +++ b/Detectors/Upgrades/ALICE3/FT3/simulation/src/Detector.cxx @@ -631,7 +631,7 @@ void Detector::defineSensitiveVolumes() LOG(info) << "Adding FT3 Sensitive Volume for direction " << direction << " layer " << iLayer << "/" << getNumberOfLayers(); volumeName = o2::ft3::GeometryTGeo::getFT3SensorPattern() + std::to_string(iLayer); int iSens = 0; - if (mLayers[direction][iLayer].getIsInMiddleLayer()) { // ML disks + /*if (mLayers[direction][iLayer].getIsInMiddleLayer()) { // ML disks const std::string sensorName = Form("%s_%d_%d", GeometryTGeo::getFT3SensorPattern(), direction, iLayer); v = geoManager->GetVolume(sensorName.c_str()); if (!v) { @@ -640,22 +640,22 @@ void Detector::defineSensitiveVolumes() } AddSensitiveVolume(v); iSens++; - } else { // OT disks - for (int sensor_count = 0; sensor_count < MAX_SENSORS; ++sensor_count) { - std::string sensor_name_front = "FT3Sensor_front_" + std::to_string(iLayer) + "_" + std::to_string(direction) + "_" + std::to_string(sensor_count); - std::string sensor_name_back = "FT3Sensor_back_" + std::to_string(iLayer) + "_" + std::to_string(direction) + "_" + std::to_string(sensor_count); - v = geoManager->GetVolume(sensor_name_front.c_str()); - if (v) { - AddSensitiveVolume(v); - iSens++; - } - v = geoManager->GetVolume(sensor_name_back.c_str()); - if (v) { - AddSensitiveVolume(v); - iSens++; - } + } else { // OT disks*/ + for (int sensor_count = 0; sensor_count < MAX_SENSORS; ++sensor_count) { + std::string sensor_name_front = "FT3Sensor_front_" + std::to_string(iLayer) + "_" + std::to_string(direction) + "_" + std::to_string(sensor_count); + std::string sensor_name_back = "FT3Sensor_back_" + std::to_string(iLayer) + "_" + std::to_string(direction) + "_" + std::to_string(sensor_count); + v = geoManager->GetVolume(sensor_name_front.c_str()); + if (v) { + AddSensitiveVolume(v); + iSens++; + } + v = geoManager->GetVolume(sensor_name_back.c_str()); + if (v) { + AddSensitiveVolume(v); + iSens++; } } + //} LOG(info) << iSens << " sensitive volumes added"; } } diff --git a/Detectors/Upgrades/ALICE3/FT3/simulation/src/FT3Layer.cxx b/Detectors/Upgrades/ALICE3/FT3/simulation/src/FT3Layer.cxx index 453d90501802e..deceba94d9247 100644 --- a/Detectors/Upgrades/ALICE3/FT3/simulation/src/FT3Layer.cxx +++ b/Detectors/Upgrades/ALICE3/FT3/simulation/src/FT3Layer.cxx @@ -237,7 +237,7 @@ void FT3Layer::createLayer(TGeoVolume* motherVolume) LOG(info) << "FT3: ft3Params.layoutFT3 = " << ft3Params.layoutFT3; // ### options for ML and OT disk layout - if (ft3Params.layoutFT3 == kTrapezoidal || (mIsMiddleLayer && ft3Params.layoutFT3 == kSegmented)) { + if (ft3Params.layoutFT3 == kTrapezoidal /*|| (mIsMiddleLayer && ft3Params.layoutFT3 == kSegmented)*/) { // trapezoidal ML+OT disks // (disks with TGeoTubes doesn'n work properly in ACTS, due to polar coordinates on TGeoTube sides) diff --git a/Detectors/Upgrades/ALICE3/FT3/simulation/src/FT3Module.cxx b/Detectors/Upgrades/ALICE3/FT3/simulation/src/FT3Module.cxx index 76f515470d0ac..4ed330c35ae59 100644 --- a/Detectors/Upgrades/ALICE3/FT3/simulation/src/FT3Module.cxx +++ b/Detectors/Upgrades/ALICE3/FT3/simulation/src/FT3Module.cxx @@ -202,8 +202,8 @@ void FT3Module::create_layout(double mZ, int layerNumber, int direction, double x_condition_min = -Rin - 4; x_condition_max = Rin; dist_offset = 2; - adjust_bottom_y_pos = true; - adjust_bottom_y_neg = true; + adjust_bottom_y_pos = false; + adjust_bottom_y_neg = false; x_adjust_bottom_y_pos = 3.5; bottom_y_pos_value = 3.5; bottom_y_neg_value = -3.5;