diff --git a/MuonSpectrometer/MuonIdHelpers/MuonIdHelpers/MmIdHelper.h b/MuonSpectrometer/MuonIdHelpers/MuonIdHelpers/MmIdHelper.h index ef5ed5e4f3be130ec91fbe4dd3e923d7bf1339e7..56b7837ddc91291cdb796e85f1c7a41208abf895 100644 --- a/MuonSpectrometer/MuonIdHelpers/MuonIdHelpers/MmIdHelper.h +++ b/MuonSpectrometer/MuonIdHelpers/MuonIdHelpers/MmIdHelper.h @@ -93,7 +93,8 @@ class MmIdHelper : public MuonIdHelper { int gasGap(const Identifier& id) const; int multilayer(const Identifier& id) const; int channel(const Identifier& id) const; - bool measuresPhi(const Identifier& id) const; //Returns true for stereo layers + bool isStereo(const Identifier& id) const; + bool measuresPhi(const Identifier& id) const; //Returns false int numberOfMultilayers(const Identifier& id) const; @@ -302,12 +303,16 @@ inline int MmIdHelper::gasGapMin() const { return GasGapMin; } /*******************************************************************************/ -inline bool MmIdHelper::measuresPhi(const Identifier& id) const{ - bool measPhi = false; +inline bool MmIdHelper::isStereo(const Identifier& id) const{ + bool isStereo = false; int ml = multilayer(id); int gg = gasGap(id); - if ( (ml==1 && gg>2) || (ml==2 && gg<3) ) measPhi = true; - return measPhi; + if ( (ml==1 && gg>2) || (ml==2 && gg<3) ) isStereo = true; + return isStereo; +} +/*******************************************************************************/ +inline bool MmIdHelper::measuresPhi(const Identifier& /*id*/) const{ + return false; } /*******************************************************************************/ inline int MmIdHelper::gasGapMax() const { diff --git a/MuonSpectrometer/MuonReconstruction/MuonDataPrep/MMClusterization/src/SimpleMMClusterBuilderTool.cxx b/MuonSpectrometer/MuonReconstruction/MuonDataPrep/MMClusterization/src/SimpleMMClusterBuilderTool.cxx index 13e84b367a21dcff1e4147fcb78824977c36d64c..71c65ce170b7b3ad35ca66f3024e2c455d37b214 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonDataPrep/MMClusterization/src/SimpleMMClusterBuilderTool.cxx +++ b/MuonSpectrometer/MuonReconstruction/MuonDataPrep/MMClusterization/src/SimpleMMClusterBuilderTool.cxx @@ -17,7 +17,7 @@ Muon::SimpleMMClusterBuilderTool::SimpleMMClusterBuilderTool(const std::string& m_mmIdHelper(nullptr) { declareInterface<IMMClusterBuilderTool>(this); - declareProperty("useErrorParametrization",m_useErrorParametrization=false); + declareProperty("useErrorParametrization",m_useErrorParametrization=true); } @@ -197,6 +197,9 @@ StatusCode Muon::SimpleMMClusterBuilderTool::getClusters(std::vector<Muon::MMPre if(nmerge<=1) (*covN)(0,0) = covX; } else { double localUncertainty = 0.074+0.66*theta-0.15*theta*theta; + if ( m_mmIdHelper->isStereo(MMprds[i].identify()) ) { + localUncertainty = 10.; + } (*covN)(0,0) = localUncertainty * localUncertainty; } ATH_MSG_VERBOSE(" make merged prepData at strip " << m_mmIdHelper->channel(MMprds[j].identify()) << " nmerge " << nmerge << " sqrt covX " << sqrt((*covN)(0,0)));