Skip to content

Commit 3aa67df

Browse files
rpezzishahor02
authored andcommitted
Workaround for MFT tracking with misaligned detector
Changing default parameters for convenience in pilot beam assessment and event display. At the moment, B=0 case triggers special tracking with Kalman filter is disabled, track position and direction from first and last track-clusters. This is considered a valid approach while alignment corrections are not applied to the detector geometry. To restore normal tracking configuration use the following configKeyValues: o2-mft-reco-workflow --configKeyValues "MFTTracking.forceZeroField=false;MFTTracking.LTFclsRCut=0.0100;"
1 parent fd48e46 commit 3aa67df

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

Detectors/ITSMFT/MFT/tracking/include/MFTTracking/MFTTrackingParam.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ struct MFTTrackingParam : public o2::conf::ConfigurableParamHelper<MFTTrackingPa
3636
Int_t trackmodel = MFTTrackModel::Optimized;
3737
double MFTRadLength = 0.042; // MFT average material budget within acceptance
3838
bool verbose = false;
39+
bool forceZeroField = true; // Force MFT tracking with B=0 (default = true until alignment is applied)
3940

4041
/// tracking algorithm (LTF and CA) parameters
4142
/// minimum number of points for a LTF track
@@ -47,7 +48,7 @@ struct MFTTrackingParam : public o2::conf::ConfigurableParamHelper<MFTTrackingPa
4748
/// minimum number of detector stations for a CA track
4849
Int_t MinTrackStationsCA = 4;
4950
/// maximum distance for a cluster to be attached to a seed line (LTF)
50-
Float_t LTFclsRCut = 0.0100;
51+
Float_t LTFclsRCut = 0.100; // Temporary for misaligned detector. Default 0.0100
5152
/// maximum distance for a cluster to be attached to a seed line (CA road)
5253
Float_t ROADclsRCut = 0.0400;
5354
/// number of bins in r-direction

Detectors/ITSMFT/MFT/tracking/src/Tracker.cxx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ void Tracker<T>::initConfig(const MFTTrackingParam& trkParam, bool printConfig)
9090
LOG(INFO) << "PhiBins = " << mPhiBins;
9191
LOG(INFO) << "LTFseed2BinWin = " << mLTFseed2BinWin;
9292
LOG(INFO) << "LTFinterBinWin = " << mLTFinterBinWin;
93+
LOG(INFO) << "FullClusterScan = " << (trkParam.FullClusterScan ? "true" : "false");
94+
LOG(INFO) << "forceZeroField = " << (trkParam.forceZeroField ? "true" : "false");
9395
}
9496
}
9597

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

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,21 +68,20 @@ void TrackerDPL::init(InitContext& ic)
6868

6969
double centerMFT[3] = {0, 0, -61.4}; // Field at center of MFT
7070
auto Bz = field->getBz(centerMFT);
71-
if (Bz != 0) {
71+
if (Bz == 0 || trackingParam.forceZeroField) {
72+
LOG(INFO) << "Starting MFT Linear tracker: Field is off!";
73+
mFieldOn = false;
74+
mTrackerL = std::make_unique<o2::mft::Tracker<TrackLTFL>>(mUseMC);
75+
mTrackerL->initConfig(trackingParam, true);
76+
mTrackerL->initialize(trackingParam.FullClusterScan);
77+
} else {
7278
LOG(INFO) << "Starting MFT tracker: Field is on!";
7379
mFieldOn = true;
7480
mTracker = std::make_unique<o2::mft::Tracker<TrackLTF>>(mUseMC);
7581
mTracker->setBz(Bz);
7682
mTracker->initConfig(trackingParam, true);
7783
mTracker->initialize(trackingParam.FullClusterScan);
78-
} else {
79-
LOG(INFO) << "Starting MFT Linear tracker: Field is off!";
80-
mFieldOn = false;
81-
mTrackerL = std::make_unique<o2::mft::Tracker<TrackLTFL>>(mUseMC);
82-
mTrackerL->initConfig(trackingParam, true);
83-
mTrackerL->initialize(trackingParam.FullClusterScan);
8484
}
85-
8685
} else {
8786
throw std::runtime_error(o2::utils::Str::concat_string("Cannot retrieve GRP from the ", filename));
8887
}

0 commit comments

Comments
 (0)