Skip to content

Commit 41d9be4

Browse files
authored
[ALICE3] Adapt CA for 2T simulations (#15075)
1 parent 0615043 commit 41d9be4

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

Detectors/Upgrades/ALICE3/TRK/reconstruction/include/TRKReconstruction/TimeFrame.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,6 @@ class TimeFrame : public o2::its::TimeFrame<nLayers>
6262
/// \param nEvents Number of events to process
6363
/// \param inROFpileup Number of events per ROF
6464
void getPrimaryVerticesFromMC(TTree* mcHeaderTree, int nRofs, Long64_t nEvents, int inROFpileup);
65-
66-
private:
67-
ClassDefNV(TimeFrame, 1);
6865
};
6966

7067
} // namespace trk

Detectors/Upgrades/ALICE3/TRK/reconstruction/src/TimeFrame.cxx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,12 @@ int TimeFrame<nLayers>::loadROFsFromHitTree(TTree* hitsTree, GeometryTGeo* gman,
6464
}
6565
int subDetID = gman->getSubDetID(hit.GetDetectorID());
6666
const int layer = startLayer[subDetID] + gman->getLayer(hit.GetDetectorID());
67+
if (layer >= nLayers) {
68+
continue;
69+
}
6770
++clusterCountPerLayer[layer];
6871
totalNHits++;
6972
}
70-
trkHit->clear();
7173
}
7274

7375
// Reserve memory for all layers
@@ -106,6 +108,9 @@ int TimeFrame<nLayers>::loadROFsFromHitTree(TTree* hitsTree, GeometryTGeo* gman,
106108
o2::math_utils::Point3D<float> gloXYZ;
107109
o2::math_utils::Point3D<float> trkXYZ;
108110
float r{0.f};
111+
if (layer >= nLayers) {
112+
continue;
113+
}
109114
if (layer >= 3) {
110115
int chipID = hit.GetDetectorID();
111116
alpha = gman->getSensorRefAlphaMLOT(chipID);

Detectors/Upgrades/ALICE3/TRK/workflow/src/TrackerSpec.cxx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@
1010
// or submit itself to any jurisdiction.
1111

1212
#include <vector>
13+
#include <chrono>
1314

1415
#include "DetectorsBase/GeometryManager.h"
1516
#include "ITStracking/TimeFrame.h"
1617
#include "ITStracking/Configuration.h"
1718
#include "Field/MagneticField.h"
19+
#include "Field/MagFieldParam.h"
1820
#include "Framework/ControlService.h"
1921
#include "Framework/ConfigParamRegistry.h"
2022
#include "Framework/CCDBParamSpec.h"
@@ -276,7 +278,7 @@ void TrackerDPL::run(ProcessingContext& pc)
276278
itsTrackerTraits.adoptTimeFrame(static_cast<o2::its::TimeFrame<11>*>(&timeFrame));
277279
itsTracker.adoptTimeFrame(timeFrame);
278280
itsTrackerTraits.setBz(mHitRecoConfig["geometry"]["bz"].get<float>());
279-
auto field = o2::field::MagneticField::createNominalField(std::round(mHitRecoConfig["geometry"]["bz"].get<float>()), true);
281+
auto field = new field::MagneticField("ALICE3Mag", "ALICE 3 Magnetic Field", mHitRecoConfig["geometry"]["bz"].get<float>() / 5.f, 0.0, o2::field::MagFieldParam::k5kGUniform);
280282
TGeoGlobalMagField::Instance()->SetField(field);
281283
TGeoGlobalMagField::Instance()->Lock();
282284

@@ -291,6 +293,7 @@ void TrackerDPL::run(ProcessingContext& pc)
291293

292294
itsTrackerTraits.updateTrackingParameters(trackingParams);
293295

296+
const auto trackingLoopStart = std::chrono::steady_clock::now();
294297
for (size_t iter{0}; iter < trackingParams.size(); ++iter) {
295298
LOGP(info, "{}", trackingParams[iter].asString());
296299
timeFrame.initialise(iter, trackingParams[iter], 11, false);
@@ -304,6 +307,8 @@ void TrackerDPL::run(ProcessingContext& pc)
304307
LOGP(info, "Number of roads in iteration {}: {}", iter, timeFrame.getNumberOfTracks());
305308
itsTrackerTraits.extendTracks(iter);
306309
}
310+
const auto trackingLoopElapsedMs = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::steady_clock::now() - trackingLoopStart).count();
311+
LOGP(info, "Tracking iterations block took {} ms", trackingLoopElapsedMs);
307312

308313
itsTracker.computeTracksMClabels();
309314

0 commit comments

Comments
 (0)