Skip to content

Commit dae698e

Browse files
authored
ALICE3-TRK: fix nSimSteps to cover long hits at large Z + prints cleanup (#14819)
* ALICE3-TRK: cleanup of printed messages * ALICE3-TRK: set nSimSteps = 475 to cover long hits at large Z
1 parent 7c1375a commit dae698e

File tree

6 files changed

+36
-36
lines changed

6 files changed

+36
-36
lines changed

Detectors/Upgrades/ALICE3/TRK/base/src/GeometryTGeo.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1121,7 +1121,7 @@ void GeometryTGeo::Print(Option_t*) const
11211121
mlot = (i < 4) ? "ML" : "OT";
11221122
LOGF(info, "Layer: %d, %s, %d staves, %d half staves per stave", i, mlot.c_str(), mNumberOfStaves[i], mNumberOfHalfStaves[i]);
11231123
}
1124-
LOGF(info, "Number of modules per layer MLOT: ");
1124+
LOGF(info, "Number of modules per stave (half stave) in each ML(OT) layer: ");
11251125
for (int i = 0; i < mNumberOfLayersMLOT; i++) {
11261126
LOGF(info, "%d", mNumberOfModules[i]);
11271127
}

Detectors/Upgrades/ALICE3/TRK/simulation/include/TRKSimulation/DPLDigitizerParam.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ struct DPLDigitizerParam : public o2::conf::ConfigurableParamHelper<DPLDigitizer
3939
double timeOffset = 0.; ///< time offset (in seconds!) to calculate ROFrame from hit time
4040
int chargeThreshold = 1; ///< charge threshold in Nelectrons
4141
int minChargeToAccount = 1; ///< minimum charge contribution to account
42-
int nSimSteps = 25; ///< number of steps in response simulation
42+
int nSimSteps = 475; ///< number of steps in response simulation
4343
float energyToNElectrons = 1. / 3.6e-9; // conversion of eloss to Nelectrons
4444

4545
float Vbb = 0.0; ///< back bias absolute value for MFT (in Volt)

Detectors/Upgrades/ALICE3/TRK/simulation/include/TRKSimulation/DigiParams.h

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -101,18 +101,18 @@ class DigiParams
101101

102102
private:
103103
static constexpr double infTime = 1e99;
104-
bool mIsContinuous = false; ///< flag for continuous simulation
105-
float mNoisePerPixel = 1.e-8; ///< ALPIDE Noise per chip
106-
int mROFrameLengthInBC = 0; ///< ROF length in BC for continuos mode
107-
float mROFrameLength = 0; ///< length of RO frame in ns
108-
float mStrobeDelay = 0.; ///< strobe start (in ns) wrt ROF start
109-
float mStrobeLength = 0; ///< length of the strobe in ns (sig. over threshold checked in this window only)
110-
double mTimeOffset = -2 * infTime; ///< time offset (in seconds!) to calculate ROFrame from hit time
111-
int mROFrameBiasInBC = 0; ///< misalignment of the ROF start in BC
112-
int mChargeThreshold = 1; ///< charge threshold in Nelectrons
113-
int mMinChargeToAccount = 1; ///< minimum charge contribution to account
114-
int mNSimSteps = 25; ///< number of steps in response simulation
115-
float mNSimStepsInv = 0; ///< its inverse
104+
bool mIsContinuous = false; ///< flag for continuous simulation
105+
float mNoisePerPixel = 1.e-8; ///< ALPIDE Noise per chip
106+
int mROFrameLengthInBC = 0; ///< ROF length in BC for continuos mode
107+
float mROFrameLength = 0; ///< length of RO frame in ns
108+
float mStrobeDelay = 0.; ///< strobe start (in ns) wrt ROF start
109+
float mStrobeLength = 0; ///< length of the strobe in ns (sig. over threshold checked in this window only)
110+
double mTimeOffset = -2 * infTime; ///< time offset (in seconds!) to calculate ROFrame from hit time
111+
int mROFrameBiasInBC = 0; ///< misalignment of the ROF start in BC
112+
int mChargeThreshold = 1; ///< charge threshold in Nelectrons
113+
int mMinChargeToAccount = 1; ///< minimum charge contribution to account
114+
int mNSimSteps = 475; ///< number of steps in response simulation
115+
float mNSimStepsInv = 1. / mNSimSteps; ///< its inverse
116116

117117
float mEnergyToNElectrons = 1. / 3.6e-9; // conversion of eloss to Nelectrons
118118

Detectors/Upgrades/ALICE3/TRK/simulation/src/Detector.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -476,9 +476,9 @@ bool Detector::ProcessHits(FairVolume* vol)
476476

477477
unsigned short chipID = mGeometryTGeo->getChipIndex(subDetID, volume, layer, stave, halfstave, mod, chip);
478478

479-
Print(vol, volume, subDetID, layer, stave, halfstave, mod, chip, chipID);
479+
// Print(vol, volume, subDetID, layer, stave, halfstave, mod, chip, chipID);
480480

481-
mGeometryTGeo->Print();
481+
// mGeometryTGeo->Print();
482482

483483
Hit* p = addHit(stack->GetCurrentTrackNumber(), chipID, mTrackData.mPositionStart.Vect(), positionStop.Vect(),
484484
mTrackData.mMomentumStart.Vect(), mTrackData.mMomentumStart.E(), positionStop.T(),

Detectors/Upgrades/ALICE3/TRK/simulation/src/TRKLayer.cxx

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -126,12 +126,12 @@ TGeoVolume* TRKLayer::createChip(std::string type)
126126

127127
TGeoCombiTrans* transSens = new TGeoCombiTrans();
128128
transSens->SetTranslation(0, -(mChipThickness - mSensorThickness) / 2, 0); // TO BE CHECKED !!!
129-
LOGP(info, "Inserting {} in {} ", sensVol->GetName(), chipVol->GetName());
129+
LOGP(debug, "Inserting {} in {} ", sensVol->GetName(), chipVol->GetName());
130130
chipVol->AddNode(sensVol, 1, transSens);
131131

132132
TGeoCombiTrans* transMetal = new TGeoCombiTrans();
133133
transMetal->SetTranslation(0, mSensorThickness / 2, 0); // TO BE CHECKED !!!
134-
LOGP(info, "Inserting {} in {} ", metalVol->GetName(), chipVol->GetName());
134+
LOGP(debug, "Inserting {} in {} ", metalVol->GetName(), chipVol->GetName());
135135
chipVol->AddNode(metalVol, 1, transMetal);
136136

137137
// deadVol = createDeadzone("cylinder");
@@ -145,17 +145,17 @@ TGeoVolume* TRKLayer::createChip(std::string type)
145145

146146
TGeoCombiTrans* transSens = new TGeoCombiTrans();
147147
transSens->SetTranslation(-mDeadzoneWidth / 2, -(mChipThickness - mSensorThickness) / 2, 0); // TO BE CHECKED !!!
148-
LOGP(info, "Inserting {} in {} ", sensVol->GetName(), chipVol->GetName());
148+
LOGP(debug, "Inserting {} in {} ", sensVol->GetName(), chipVol->GetName());
149149
chipVol->AddNode(sensVol, 1, transSens);
150150

151151
TGeoCombiTrans* transDead = new TGeoCombiTrans();
152152
transDead->SetTranslation((mChipWidth - mDeadzoneWidth) / 2, -(mChipThickness - mSensorThickness) / 2, 0); // TO BE CHECKED !!!
153-
LOGP(info, "Inserting {} in {} ", deadVol->GetName(), chipVol->GetName());
153+
LOGP(debug, "Inserting {} in {} ", deadVol->GetName(), chipVol->GetName());
154154
chipVol->AddNode(deadVol, 1, transDead);
155155

156156
TGeoCombiTrans* transMetal = new TGeoCombiTrans();
157157
transMetal->SetTranslation(0, mSensorThickness / 2, 0); // TO BE CHECKED !!!
158-
LOGP(info, "Inserting {} in {} ", metalVol->GetName(), chipVol->GetName());
158+
LOGP(debug, "Inserting {} in {} ", metalVol->GetName(), chipVol->GetName());
159159
chipVol->AddNode(metalVol, 1, transMetal);
160160
} else {
161161
LOGP(fatal, "Sensor of type '{}' is not implemented", type);
@@ -179,7 +179,7 @@ TGeoVolume* TRKLayer::createModule(std::string type)
179179
moduleVol = new TGeoVolume(moduleName.c_str(), module, medAir);
180180

181181
TGeoVolume* chipVol = createChip("cylinder");
182-
LOGP(info, "Inserting {} in {} ", chipVol->GetName(), moduleVol->GetName());
182+
LOGP(debug, "Inserting {} in {} ", chipVol->GetName(), moduleVol->GetName());
183183
moduleVol->AddNode(chipVol, 1, nullptr);
184184
} else if (type == "flat") {
185185
double moduleWidth = constants::moduleMLOT::width;
@@ -201,15 +201,15 @@ TGeoVolume* TRKLayer::createModule(std::string type)
201201
TGeoRotation* rot = new TGeoRotation();
202202
rot->RotateY(180);
203203
transLeft->SetRotation(rot);
204-
LOGP(info, "Inserting {} in {} ", chipVolLeft->GetName(), moduleVol->GetName());
204+
LOGP(debug, "Inserting {} in {} ", chipVolLeft->GetName(), moduleVol->GetName());
205205
moduleVol->AddNode(chipVolLeft, iChip * 2, transLeft);
206206

207207
double xRight = +moduleWidth / 2 - constants::moduleMLOT::gaps::outerEdgeLongSide - constants::moduleMLOT::chip::width / 2;
208208
double zRight = -moduleLength / 2 + constants::moduleMLOT::gaps::outerEdgeShortSide + iChip * (constants::moduleMLOT::chip::length + constants::moduleMLOT::gaps::interChips) + constants::moduleMLOT::chip::length / 2;
209209

210210
TGeoCombiTrans* transRight = new TGeoCombiTrans();
211211
transRight->SetTranslation(xRight, 0, zRight); // TO BE CHECKED !!!
212-
LOGP(info, "Inserting {} in {} ", chipVolRight->GetName(), moduleVol->GetName());
212+
LOGP(debug, "Inserting {} in {} ", chipVolRight->GetName(), moduleVol->GetName());
213213
moduleVol->AddNode(chipVolRight, iChip * 2 + 1, transRight);
214214
}
215215
} else {
@@ -234,7 +234,7 @@ TGeoVolume* TRKLayer::createHalfStave(std::string type)
234234
halfStaveVol = new TGeoVolume(halfStaveName.c_str(), halfStave, medAir);
235235

236236
TGeoVolume* moduleVol = createModule("cylinder");
237-
LOGP(info, "Inserting {} in {} ", moduleVol->GetName(), halfStaveVol->GetName());
237+
LOGP(debug, "Inserting {} in {} ", moduleVol->GetName(), halfStaveVol->GetName());
238238
halfStaveVol->AddNode(moduleVol, 1, nullptr);
239239
} else if (type == "flat") {
240240
double moduleLength = constants::moduleMLOT::length;
@@ -253,7 +253,7 @@ TGeoVolume* TRKLayer::createHalfStave(std::string type)
253253
TGeoCombiTrans* trans = new TGeoCombiTrans();
254254
trans->SetTranslation(0, 0, zPos); // TO BE CHECKED !!!
255255

256-
LOGP(info, "Inserting {} in {} ", moduleVol->GetName(), halfStaveVol->GetName());
256+
LOGP(debug, "Inserting {} in {} ", moduleVol->GetName(), halfStaveVol->GetName());
257257
halfStaveVol->AddNode(moduleVol, iModule, trans);
258258
}
259259
}
@@ -273,7 +273,7 @@ TGeoVolume* TRKLayer::createStave(std::string type)
273273
staveVol = new TGeoVolume(staveName.c_str(), stave, medAir);
274274

275275
TGeoVolume* moduleVol = createModule("cylinder");
276-
LOGP(info, "Inserting {} in {} ", moduleVol->GetName(), staveVol->GetName());
276+
LOGP(debug, "Inserting {} in {} ", moduleVol->GetName(), staveVol->GetName());
277277
staveVol->AddNode(moduleVol, 1, nullptr);
278278
} else if (type == "flat") {
279279
double moduleLength = constants::moduleMLOT::length;
@@ -292,7 +292,7 @@ TGeoVolume* TRKLayer::createStave(std::string type)
292292
TGeoCombiTrans* trans = new TGeoCombiTrans();
293293
trans->SetTranslation(0, 0, zPos); // TO BE CHECKED !!!
294294

295-
LOGP(info, "Inserting {} in {} ", moduleVol->GetName(), staveVol->GetName());
295+
LOGP(debug, "Inserting {} in {} ", moduleVol->GetName(), staveVol->GetName());
296296
staveVol->AddNode(moduleVol, iModule, trans);
297297
}
298298
} else if (type == "staggered") {
@@ -312,12 +312,12 @@ TGeoVolume* TRKLayer::createStave(std::string type)
312312

313313
TGeoCombiTrans* transLeft = new TGeoCombiTrans();
314314
transLeft->SetTranslation(-halfstaveWidth / 2 + 0.05, 0, 0); // TO BE CHECKED !!! 1mm overlap between the modules
315-
LOGP(info, "Inserting {} in {} ", halfStaveVolLeft->GetName(), staveVol->GetName());
315+
LOGP(debug, "Inserting {} in {} ", halfStaveVolLeft->GetName(), staveVol->GetName());
316316
staveVol->AddNode(halfStaveVolLeft, 0, transLeft);
317317

318318
TGeoCombiTrans* transRight = new TGeoCombiTrans();
319319
transRight->SetTranslation(halfstaveWidth / 2 - 0.05, 0.2, 0); // TO BE CHECKED !!! 1mm overlap between the modules
320-
LOGP(info, "Inserting {} in {} ", halfStaveVolRight->GetName(), staveVol->GetName());
320+
LOGP(debug, "Inserting {} in {} ", halfStaveVolRight->GetName(), staveVol->GetName());
321321
staveVol->AddNode(halfStaveVolRight, 1, transRight);
322322
} else {
323323
LOGP(fatal, "Chip of type '{}' is not implemented", type);
@@ -345,7 +345,7 @@ void TRKLayer::createLayer(TGeoVolume* motherVolume)
345345
layerVol = new TGeoVolume(mLayerName.c_str(), layer, medAir);
346346

347347
TGeoVolume* staveVol = createStave("cylinder");
348-
LOGP(info, "Inserting {} in {} ", staveVol->GetName(), layerVol->GetName());
348+
LOGP(debug, "Inserting {} in {} ", staveVol->GetName(), layerVol->GetName());
349349
layerVol->AddNode(staveVol, 1, nullptr);
350350
} else if (mLayout == eLayout::kTurboStaves) {
351351
double layerLength = constants::moduleMLOT::length * mNumberOfModules;
@@ -381,7 +381,7 @@ void TRKLayer::createLayer(TGeoVolume* motherVolume)
381381
trans->SetRotation(rot);
382382
trans->SetTranslation(mInnerRadius * std::cos(2. * TMath::Pi() * iStave / nStaves), mInnerRadius * std::sin(2 * TMath::Pi() * iStave / nStaves), 0);
383383

384-
LOGP(info, "Inserting {} in {} ", staveVol->GetName(), layerVol->GetName());
384+
LOGP(debug, "Inserting {} in {} ", staveVol->GetName(), layerVol->GetName());
385385
layerVol->AddNode(staveVol, iStave, trans);
386386
}
387387
} else if (mLayout == kStaggered) {
@@ -414,15 +414,15 @@ void TRKLayer::createLayer(TGeoVolume* motherVolume)
414414
trans->SetRotation(rot);
415415
trans->SetTranslation(mInnerRadius * std::cos(2. * TMath::Pi() * iStave / nStaves), mInnerRadius * std::sin(2 * TMath::Pi() * iStave / nStaves), 0);
416416

417-
LOGP(info, "Inserting {} in {} ", staveVol->GetName(), layerVol->GetName());
417+
LOGP(debug, "Inserting {} in {} ", staveVol->GetName(), layerVol->GetName());
418418
layerVol->AddNode(staveVol, iStave, trans);
419419
}
420420
} else {
421421
LOGP(fatal, "Layout not implemented");
422422
}
423423
layerVol->SetLineColor(kYellow);
424424

425-
LOGP(info, "Inserting {} in {} ", layerVol->GetName(), motherVolume->GetName());
425+
LOGP(debug, "Inserting {} in {} ", layerVol->GetName(), motherVolume->GetName());
426426
motherVolume->AddNode(layerVol, 1, nullptr);
427427
}
428428
// ClassImp(TRKLayer);

Detectors/Upgrades/ALICE3/TRK/simulation/src/VDLayer.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ void VDCylindricalLayer::createLayer(TGeoVolume* motherVolume, TGeoMatrix* combi
190190
LOGP(error, "VDCylindricalLayer::createSensor() returned null");
191191
return;
192192
}
193-
LOGP(info, "Inserting {} in {} ", sensorVol->GetName(), layerVol->GetName());
193+
LOGP(debug, "Inserting {} in {} ", sensorVol->GetName(), layerVol->GetName());
194194
layerVol->AddNode(sensorVol, 1, nullptr);
195195

196196
// Tiling: edge-to-edge if sensor shorter than layer; else single centered
@@ -244,7 +244,7 @@ void VDRectangularLayer::createLayer(TGeoVolume* motherVolume, TGeoMatrix* combi
244244
return;
245245
}
246246

247-
LOGP(info, "Inserting {} in {} ", sensorVol->GetName(), layerVol->GetName());
247+
LOGP(debug, "Inserting {} in {} ", sensorVol->GetName(), layerVol->GetName());
248248
layerVol->AddNode(sensorVol, 1, nullptr);
249249

250250
// Tiling along Z, edge - to - edge if needed

0 commit comments

Comments
 (0)