diff --git a/Detectors/GlobalTracking/include/GlobalTracking/MatchGlobalFwd.h b/Detectors/GlobalTracking/include/GlobalTracking/MatchGlobalFwd.h index 3aec606a6c5c3..ef045adc5bd6f 100644 --- a/Detectors/GlobalTracking/include/GlobalTracking/MatchGlobalFwd.h +++ b/Detectors/GlobalTracking/include/GlobalTracking/MatchGlobalFwd.h @@ -163,6 +163,9 @@ class MatchGlobalFwd void fitGlobalMuonTrack(o2::dataformats::GlobalFwdTrack&); ///< Kalman filter fit global Forward track by attaching MFT clusters bool computeCluster(o2::dataformats::GlobalFwdTrack& track, const MFTCluster& cluster, int& startingLayerID); + void setMFTRadLength(float MFT_x2X0) { mMFTDiskThicknessInX0 = MFT_x2X0 / 5.0; } + void setAlignResiduals(Float_t res) { mAlignResidual = res; } + template bool propagateToNextClusterWithMCS(T& track, double z, int& startingLayerID, const int& newLayerID) { @@ -279,7 +282,8 @@ class MatchGlobalFwd float mBz = -5.f; ///< nominal Bz in kGauss float mMatchingPlaneZ = sLastMFTPlaneZ; ///< MCH-MFT matching plane Z position - Float_t mMFTDiskThicknessInX0 = 0.042 / 5; + Float_t mMFTDiskThicknessInX0 = 0.042 / 5; ///< MFT disk thickness in radiation length + Float_t mAlignResidual = 1; ///< Alignment residual for cluster position uncertainty o2::InteractionRecord mStartIR{0, 0}; ///< IR corresponding to the start of the TF int mMFTROFrameLengthInBC = 0; ///< MFT RO frame in BC (for MFT cont. mode only) float mMFTROFrameLengthMUS = -1.; ///< MFT RO frame in \mus diff --git a/Detectors/GlobalTracking/include/GlobalTracking/MatchGlobalFwdParam.h b/Detectors/GlobalTracking/include/GlobalTracking/MatchGlobalFwdParam.h index 428fed0095bc8..9ba6563cec334 100644 --- a/Detectors/GlobalTracking/include/GlobalTracking/MatchGlobalFwdParam.h +++ b/Detectors/GlobalTracking/include/GlobalTracking/MatchGlobalFwdParam.h @@ -39,6 +39,8 @@ struct GlobalFwdMatchingParam : public o2::conf::ConfigurableParamHelper MFT global X coordinate (ALPIDE rows) - const auto& sigmaY2 = cluster.getSigmaZ2(); // ALPIDE local Z coordinate => MFT global Y coordinate (ALPIDE columns) + const auto& sigmaX2 = cluster.getSigmaY2() * mAlignResidual * mAlignResidual; + ; // ALPIDE local Y coordinate => MFT global X coordinate (ALPIDE rows) + const auto& sigmaY2 = cluster.getSigmaZ2() * mAlignResidual * mAlignResidual; + ; // ALPIDE local Z coordinate => MFT global Y coordinate (ALPIDE columns) const auto& newLayerID = mMFTMapping.ChipID2Layer[cluster.getSensorID()]; LOG(debug) << "computeCluster: X = " << clx << " Y = " << cly << " Z = " << clz << " nCluster = " << newLayerID;