Skip to content

Commit ef81b8c

Browse files
authored
[ALICE3] Update a3 geo in fasttracker (#13042)
1 parent 1016b75 commit ef81b8c

File tree

3 files changed

+46
-20
lines changed

3 files changed

+46
-20
lines changed

ALICE3/Core/FastTracker.cxx

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -144,27 +144,42 @@ void FastTracker::AddSiliconALICE3v2(std::vector<float> pixelResolution)
144144
AddLayer("B10", 80., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
145145
}
146146

147-
void FastTracker::AddSiliconALICE3(std::vector<float> pixelResolution)
147+
void FastTracker::AddSiliconALICE3(float scaleX0VD, std::vector<float> pixelResolution)
148148
{
149-
float x0IT = 0.001; // 0.1%
149+
float x0Pipe0 = 0.001592; // 200 um AlBe
150+
float x0VDL0 = 0.00076; // 30 um Si + 50 um glue + carbon foam 0.03%
151+
float x0VDL1 = 0.00096; // 30 um Si + 50 um glue + carbon foam 0.05%
152+
float x0VDL2 = 0.00167; // 30 um Si + 50 um glue + carbon foam 0.05% + 0.07% Be case
153+
float x0Coldplate = 0.02f; // (1.5 mm Al2O3 2%)
154+
float x0Pipe1 = 0.0023f; // 800 um Be
150155
float x0OT = 0.01; // 1.0%
151-
float xrhoIB = 2.3292e-02; // 100 mum Si
152-
float xrhoOT = 2.3292e-01; // 1000 mum Si
153-
float eff = 1.00;
156+
float x0iTOF = x0OT * 3.;
154157

155-
float resRPhiIT = pixelResolution[0];
156-
float resZIT = pixelResolution[1];
158+
float resRPhiVD = pixelResolution[0];
159+
float resZVD = pixelResolution[1];
157160
float resRPhiOT = pixelResolution[2];
158161
float resZOT = pixelResolution[3];
159162

160-
AddLayer("bpipe0", 0.48, 250, 0.00042, 2.772e-02, 0.0f, 0.0f, 0.0f, 0); // 150 mum Be
161-
AddLayer("B00", 0.5, 250, x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1);
162-
AddLayer("B01", 1.2, 250, x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1);
163-
AddLayer("B02", 2.5, 250, x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1);
164-
AddLayer("bpipe1", 3.7, 250, 0.0014, 9.24e-02, 0.0f, 0.0f, 0.0f, 0); // 500 mum Be
163+
float xrhoPipe0 = 0;
164+
float xrhoVDL0 = 0;
165+
float xrhoVDL1 = 0;
166+
float xrhoVDL2 = 0;
167+
float xrhoColdplate = 0;
168+
float xrhoPipe1 = 0;
169+
float xrhoOT = 2.3292e-01;
170+
float xrhoiTOF = 0.03;
171+
float eff = 1.00;
172+
173+
AddLayer("bpipe0", 0.48, 250, x0Pipe0, xrhoPipe0, 0.0f, 0.0f, 0.0f, 0);
174+
AddLayer("B00", 0.5, 250, x0VDL0 * scaleX0VD, xrhoVDL0, resRPhiVD, resZVD, eff, 1);
175+
AddLayer("B01", 1.2, 250, x0VDL1 * scaleX0VD, xrhoVDL1, resRPhiVD, resZVD, eff, 1);
176+
AddLayer("B02", 2.5, 250, x0VDL2 * scaleX0VD, xrhoVDL2, resRPhiVD, resZVD, eff, 1);
177+
AddLayer("coldplate", 2.6, 250, x0Coldplate, xrhoColdplate, 0.0f, 0.0f, 0.0f, 0);
178+
AddLayer("bpipe1", 5.7, 250, x0Pipe1, xrhoPipe1, 0.0f, 0.0f, 0.0f, 0);
165179
AddLayer("B03", 7., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
166180
AddLayer("B04", 9., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
167181
AddLayer("B05", 12., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
182+
AddLayer("iTOF", 19, 250, x0iTOF, xrhoiTOF, resRPhiOT, resZOT, eff, 0);
168183
AddLayer("B06", 20., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
169184
AddLayer("B07", 30., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
170185
AddLayer("B08", 45., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);

ALICE3/Core/FastTracker.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ class FastTracker
5959

6060
void AddSiliconALICE3v4(std::vector<float> pixelResolution);
6161
void AddSiliconALICE3v2(std::vector<float> pixelResolution);
62-
void AddSiliconALICE3(std::vector<float> pixelResolution);
62+
void AddSiliconALICE3(float scaleX0VD, std::vector<float> pixelResolution);
6363
void AddTPC(float phiResMean, float zResMean);
6464

6565
void Print();

ALICE3/TableProducer/OTF/onTheFlyTracker.cxx

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -138,11 +138,12 @@ struct OnTheFlyTracker {
138138
Configurable<int> minSiliconHits{"minSiliconHits", 6, "minimum number of silicon hits to accept track"};
139139
Configurable<int> minSiliconHitsIfTPCUsed{"minSiliconHitsIfTPCUsed", 2, "minimum number of silicon hits to accept track in case TPC info is present"};
140140
Configurable<int> minTPCClusters{"minTPCClusters", 70, "minimum number of TPC hits necessary to consider minSiliconHitsIfTPCUsed"};
141-
Configurable<int> alice3detector{"alice3detector", 0, "0: ALICE 3 v1, 1: ALICE 3 v4"};
141+
Configurable<int> alice3detector{"alice3detector", 2, "0: ALICE 3 v1, 1: ALICE 3 v4, 2: ALICE 3 Sep 2025"};
142142
Configurable<bool> applyZacceptance{"applyZacceptance", false, "apply z limits to detector layers or not"};
143143
Configurable<bool> applyMSCorrection{"applyMSCorrection", true, "apply ms corrections for secondaries or not"};
144144
Configurable<bool> applyElossCorrection{"applyElossCorrection", true, "apply eloss corrections for secondaries or not"};
145145
Configurable<bool> applyEffCorrection{"applyEffCorrection", true, "apply efficiency correction or not"};
146+
Configurable<int> scaleVD{"scaleVD", 1, "scale x0 and xrho in VD layers"};
146147
Configurable<std::vector<float>> pixelRes{"pixelRes", {0.00025, 0.00025, 0.001, 0.001}, "RPhiIT, ZIT, RPhiOT, ZOT"};
147148
} fastTrackerSettings; // allows for gap between peak and bg in case someone wants to
148149

@@ -412,12 +413,22 @@ struct OnTheFlyTracker {
412413
fastTracker.SetApplyMSCorrection(fastTrackerSettings.applyMSCorrection);
413414
fastTracker.SetApplyElossCorrection(fastTrackerSettings.applyElossCorrection);
414415

415-
if (fastTrackerSettings.alice3detector == 0) {
416-
fastTracker.AddSiliconALICE3v2(fastTrackerSettings.pixelRes);
417-
}
418-
if (fastTrackerSettings.alice3detector == 1) {
419-
fastTracker.AddSiliconALICE3v4(fastTrackerSettings.pixelRes);
420-
fastTracker.AddTPC(0.1, 0.1);
416+
switch (fastTrackerSettings.alice3detector) {
417+
case 0:
418+
fastTracker.AddSiliconALICE3v2(fastTrackerSettings.pixelRes);
419+
break;
420+
421+
case 1:
422+
fastTracker.AddSiliconALICE3v4(fastTrackerSettings.pixelRes);
423+
fastTracker.AddTPC(0.1, 0.1);
424+
break;
425+
426+
case 2:
427+
fastTracker.AddSiliconALICE3(fastTrackerSettings.scaleVD, fastTrackerSettings.pixelRes);
428+
break;
429+
430+
default:
431+
break;
421432
}
422433

423434
// print fastTracker settings

0 commit comments

Comments
 (0)