diff --git a/MuonSpectrometer/MuonDigitization/MM_Digitization/MM_Digitization/MM_DigitizationTool.h b/MuonSpectrometer/MuonDigitization/MM_Digitization/MM_Digitization/MM_DigitizationTool.h index b63adb39d108b690ab663f07bf69df1b6db95804..351d5f3f9e950c26e6c447b8a3b612645916988e 100644 --- a/MuonSpectrometer/MuonDigitization/MM_Digitization/MM_Digitization/MM_DigitizationTool.h +++ b/MuonSpectrometer/MuonDigitization/MM_Digitization/MM_Digitization/MM_DigitizationTool.h @@ -153,7 +153,7 @@ class MM_DigitizationTool : public PileUpToolBase { //Three gas mixture mode, Ar/CO2=93/7, Ar/CO2=80/20, Ar/CO2/Iso=93/5/2 //each mode have different transverseDiffusionSigma/longitudinalDiffusionSigma/driftVelocity/avalancheGain/interactionDensityMean/interactionDensitySigma/lorentzAngle Gaudi::Property<float> m_qThreshold{this,"qThreshold",0.001,"Charge Threshold"}; - Gaudi::Property<float> m_driftGapWidth{this,"DriftGapWidth",5.168,"Drift Gap Width of 5.04 mm + 0.128 mm (the amplification gap)"}; + Gaudi::Property<float> m_driftGapWidth{this,"DriftGapWidth",5.04,"Drift Gap Width of 5.04 mm"}; Gaudi::Property<float> m_crossTalk1{this,"crossTalk1",0.2,"Strip Cross Talk with Nearest Neighbor"}; Gaudi::Property<float> m_crossTalk2{this,"crossTalk2",0.04,"Strip Cross Talk with 2nd Nearest Neighbor"}; @@ -173,6 +173,8 @@ class MM_DigitizationTool : public PileUpToolBase { // Temporary until moving away from TRandom Gaudi::Property<unsigned long int> m_randomSeed{this, "RandomSeed", 42, ""}; + Gaudi::Property<double> m_correctShift{this,"correctShift",-0.244,"purely empirical shift to fix the z positions of clusters"}; // 12/20 pscholer + TFile *m_file{}; TTree *m_ntuple{}; diff --git a/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx b/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx index b950d26cebf1133abc349c2e8c795728cee0d8b8..b0fb4147fae8329cf25d4940bd51a395411a14e7 100644 --- a/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx +++ b/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx @@ -726,6 +726,7 @@ StatusCode MM_DigitizationTool::doDigitization(const EventContext& ctx) { /// move the initial track point to the readout plane int gasGap = m_idHelperSvc->mmIdHelper().gasGap(layerID); double shift = 0.5*detectorReadoutElement->getDesign(layerID)->thickness; + shift += m_correctShift; double scale = 0.0; if ( gasGap==1 || gasGap == 3) { scale = -(stripLayerPosition.z() + shift)/localDirection.z(); diff --git a/MuonSpectrometer/MuonReconstruction/MuonDataPrep/MMClusterization/src/UTPCMMClusterBuilderTool.cxx b/MuonSpectrometer/MuonReconstruction/MuonDataPrep/MMClusterization/src/UTPCMMClusterBuilderTool.cxx index c87d3499a5459a7edbb2b2d1ae06b93140fdd3fd..50be640b99e7e6d8f0d3119d9e2e0659e6257ad6 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonDataPrep/MMClusterization/src/UTPCMMClusterBuilderTool.cxx +++ b/MuonSpectrometer/MuonReconstruction/MuonDataPrep/MMClusterization/src/UTPCMMClusterBuilderTool.cxx @@ -405,7 +405,7 @@ StatusCode Muon::UTPCMMClusterBuilderTool::finalFit(const std::vector<Muon::MMPr double cov = (s->GetCovarianceMatrix())(0,1); ATH_MSG_DEBUG("covariance is: "<<cov); double fitSlope = ffit->GetParameter(1); - double dHalfGap = 2.5; // half the thickness of the gas gap + double dHalfGap = 2.52; // half the thickness of the gas gap double interceptCorr = dHalfGap - ffit->GetParameter(0); x0 = interceptCorr/fitSlope; sigmaX0 = pow(m_scaleClusterError,2)*(pow(ffit->GetParError(0)/interceptCorr,2)+pow(ffit->GetParError(1)/fitSlope,2) - 2./(fitSlope*interceptCorr)*cov)*pow(x0,2);