Skip to content

Commit db7b2f0

Browse files
authored
GPU ITS: Fix broken initialisation + cleanup (#14058)
1 parent c3d005f commit db7b2f0

File tree

4 files changed

+8
-10
lines changed

4 files changed

+8
-10
lines changed

Detectors/ITSMFT/ITS/tracking/include/ITStracking/TrackingConfigParam.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ struct VertexerParamConfig : public o2::conf::ConfigurableParamHelper<VertexerPa
5656
struct TrackerParamConfig : public o2::conf::ConfigurableParamHelper<TrackerParamConfig> {
5757
// Use TGeo for mat. budget
5858
static const int MaxIter = 4;
59-
static const int MinTrackLenght = 4;
60-
static const int MaxTrackLenght = 7;
59+
static const int MinTrackLength = 4;
60+
static const int MaxTrackLength = 7;
6161
bool useMatCorrTGeo = false; // use full geometry to corect for material budget accounting in the fits. Default is to use the material budget LUT.
6262
bool useFastMaterial = false; // use faster material approximation for material budget accounting in the fits.
6363
int deltaRof = 0; // configure the width of the window in ROFs to be considered for the tracking.
6464
int minTrackLgtIter[MaxIter] = {}; // minimum track length at each iteration, used only if >0, otherwise use code defaults
65-
float minPtIterLgt[MaxIter * (MaxTrackLenght - MinTrackLenght + 1)] = {}; // min.pT for given track length at this iteration, used only if >0, otherwise use code defaults
65+
float minPtIterLgt[MaxIter * (MaxTrackLength - MinTrackLength + 1)] = {}; // min.pT for given track length at this iteration, used only if >0, otherwise use code defaults
6666
float sysErrY2[7] = {0}; // systematic error^2 in Y per layer
6767
float sysErrZ2[7] = {0}; // systematic error^2 in Z per layer
6868
float maxChi2ClusterAttachment = -1.f;

Detectors/ITSMFT/ITS/tracking/src/TrackingInterface.cxx

+5-5
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,8 @@ void ITSTrackingInterface::initialise()
8181
if (trackConf.minTrackLgtIter[ip] > 0) {
8282
param.MinTrackLength = trackConf.minTrackLgtIter[ip];
8383
}
84-
for (int ilg = trackConf.MaxTrackLenght; ilg >= trackConf.MinTrackLenght; ilg--) {
85-
int lslot0 = (trackConf.MaxTrackLenght - ilg), lslot = lslot0 + ip * (trackConf.MaxTrackLenght - trackConf.MinTrackLenght + 1);
84+
for (int ilg = trackConf.MaxTrackLength; ilg >= trackConf.MinTrackLength; ilg--) {
85+
int lslot0 = (trackConf.MaxTrackLength - ilg), lslot = lslot0 + ip * (trackConf.MaxTrackLength - trackConf.MinTrackLength + 1);
8686
if (trackConf.minPtIterLgt[lslot] > 0.) {
8787
param.MinPt[lslot0] = trackConf.minPtIterLgt[lslot];
8888
}
@@ -127,8 +127,8 @@ void ITSTrackingInterface::initialise()
127127
for (size_t ip = 0; ip < trackParams.size(); ip++) {
128128
auto& param = trackParams[ip];
129129
param.TrackletMinPt *= bFactor;
130-
for (int ilg = trackConf.MaxTrackLenght; ilg >= trackConf.MinTrackLenght; ilg--) {
131-
int lslot = trackConf.MaxTrackLenght - ilg;
130+
for (int ilg = trackConf.MaxTrackLength; ilg >= trackConf.MinTrackLength; ilg--) {
131+
int lslot = trackConf.MaxTrackLength - ilg;
132132
param.MinPt[lslot] *= bFactor;
133133
}
134134
}
@@ -384,7 +384,7 @@ void ITSTrackingInterface::updateTimeDependentParams(framework::ProcessingContex
384384
geom->fillMatrixCache(o2::math_utils::bit2Mask(o2::math_utils::TransformType::T2L, o2::math_utils::TransformType::T2GRot, o2::math_utils::TransformType::T2G));
385385
initialise();
386386
getConfiguration(pc);
387-
//
387+
388388
if (pc.services().get<const o2::framework::DeviceSpec>().inputTimesliceId == 0) { // print settings only for the 1st pipeling
389389
o2::its::VertexerParamConfig::Instance().printKeyValues();
390390
o2::its::TrackerParamConfig::Instance().printKeyValues();

Detectors/ITSMFT/ITS/workflow/src/TrackerSpec.cxx

-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ void TrackerDPL::init(InitContext& ic)
4444
mITSTrackingInterface.setTraitsFromProvider(mChainITS->GetITSVertexerTraits(),
4545
mChainITS->GetITSTrackerTraits(),
4646
mChainITS->GetITSTimeframe());
47-
// mITSTrackingInterface.initialise() will be called from the ITSTrackingInterface::updateTimeDependentParams at 1st initialization since it needs some run conditions
4847
}
4948

5049
void TrackerDPL::stop()

GPU/Workflow/src/GPUWorkflowITS.cxx

-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ void GPURecoWorkflowSpec::initFunctionITS(o2::framework::InitContext& ic)
4040
mSpecConfig.itsOverrBeamEst);
4141
mGPUReco->GetITSTraits(trkTraits, vtxTraits, mITSTimeFrame);
4242
mITSTrackingInterface->setTraitsFromProvider(vtxTraits, trkTraits, mITSTimeFrame);
43-
mITSTrackingInterface->initialise();
4443
}
4544

4645
void GPURecoWorkflowSpec::finaliseCCDBITS(o2::framework::ConcreteDataMatcher& matcher, void* obj)

0 commit comments

Comments
 (0)