diff --git a/InnerDetector/InDetRecTools/TRT_ElectronPidTools/src/TRT_ElectronPidTool.cxx b/InnerDetector/InDetRecTools/TRT_ElectronPidTools/src/TRT_ElectronPidTool.cxx index 80f96b4d8e380b9ca7b708365fd4364a907be2ea..9e87c5ad2d0a6061a7b9d80719575887589804f0 100644 --- a/InnerDetector/InDetRecTools/TRT_ElectronPidTools/src/TRT_ElectronPidTool.cxx +++ b/InnerDetector/InDetRecTools/TRT_ElectronPidTools/src/TRT_ElectronPidTool.cxx @@ -314,8 +314,8 @@ InDet::TRT_ElectronPidTool::electronProbability(const Trk::Track& track) const // correct for data/MC normalisation // unfortunately vertex container not yet available here so pileup correction not applied ITRT_ToT_dEdx::EGasType gasType; - sum_ToT_by_sum_L*= m_TRTdEdxTool->correctNormalization(true,m_DATA, gasType); - prob_El_ToT = m_TRTdEdxTool->getTest(gasType, sum_ToT_by_sum_L, pTrk, Trk::electron, Trk::pion, nHits); + sum_ToT_by_sum_L*= m_TRTdEdxTool->correctNormalization(true,m_DATA); + prob_El_ToT = m_TRTdEdxTool->getTest(sum_ToT_by_sum_L, pTrk, Trk::electron, Trk::pion, nHits); } //Calculate the probability based on Brem if(m_bremFitterEnabled) diff --git a/InnerDetector/InDetRecTools/TRT_ElectronPidTools/src/TRT_ElectronPidToolRun2.cxx b/InnerDetector/InDetRecTools/TRT_ElectronPidTools/src/TRT_ElectronPidToolRun2.cxx index d6189cba65e2a23bd8e0a1ad23a25ef6b8c3d6e6..b7a6d354b95f6d154a249d763dca99e00ca19045 100644 --- a/InnerDetector/InDetRecTools/TRT_ElectronPidTools/src/TRT_ElectronPidToolRun2.cxx +++ b/InnerDetector/InDetRecTools/TRT_ElectronPidTools/src/TRT_ElectronPidToolRun2.cxx @@ -404,8 +404,8 @@ InDet::TRT_ElectronPidToolRun2::electronProbability(const Trk::Track& track) con // Jared - ToT Implementation dEdx = m_TRTdEdxTool->dEdx( &track, true, false, true); // Divide by L, exclude HT hits ITRT_ToT_dEdx::EGasType gasType; - double usedHits = m_TRTdEdxTool->usedHits( &track, gasType, true, false); - prob_El_ToT = m_TRTdEdxTool->getTest( gasType, dEdx, pTrk, Trk::electron, Trk::pion, usedHits, true ); + double usedHits = m_TRTdEdxTool->usedHits( &track, true, false); + prob_El_ToT = m_TRTdEdxTool->getTest( dEdx, pTrk, Trk::electron, Trk::pion, usedHits, true ); // Limit the probability values the upper and lower limits that are given/trusted for each part: double limProbHT = HTcalc.Limit(prob_El_HT); diff --git a/InnerDetector/InDetRecTools/TRT_ToT_Tools/TRT_ToT_Tools/ITRT_ToT_dEdx.h b/InnerDetector/InDetRecTools/TRT_ToT_Tools/TRT_ToT_Tools/ITRT_ToT_dEdx.h index 4265a8e7676c0ecc9b49b0cb53160331fb1d5a2c..788304dc0e06a34e9c096f383d0ec3b45b05f302 100644 --- a/InnerDetector/InDetRecTools/TRT_ToT_Tools/TRT_ToT_Tools/ITRT_ToT_dEdx.h +++ b/InnerDetector/InDetRecTools/TRT_ToT_Tools/TRT_ToT_Tools/ITRT_ToT_dEdx.h @@ -51,8 +51,8 @@ public: * @param bool variable whether HT hits shoule be used * @return nHits */ - virtual double usedHits(const Trk::Track* track, EGasType& gasType, bool DivideByL, bool useHThits) const = 0; - virtual double usedHits(const Trk::Track* track, EGasType& gasType) const = 0; + virtual double usedHits(const Trk::Track* track, bool DivideByL, bool useHThits) const = 0; + virtual double usedHits(const Trk::Track* track) const = 0; /** * @brief function to define what is a good hit to be used for dEdx calculation @@ -70,7 +70,7 @@ public: * @param number of primary vertices per event * @return scaling variable */ - virtual double correctNormalization(bool divideLength, bool scaledata, EGasType& gasType, double nVtx=-1) const = 0; + virtual double correctNormalization(bool divideLength, bool scaledata, double nVtx=-1) const = 0; /** * @brief function to calculate likelihood from prediction and resolution @@ -92,8 +92,8 @@ public: * @param number of used hits * @return test value between 0 and 1 */ - virtual double getTest(EGasType gasType, const double dEdx_obs, const double pTrk, Trk::ParticleHypothesis hypothesis, Trk::ParticleHypothesis antihypothesis, int nUsedHits, bool dividebyL) const = 0; - virtual double getTest(EGasType gasType, const double dEdx_obs, const double pTrk, Trk::ParticleHypothesis hypothesis, Trk::ParticleHypothesis antihypothesis, int nUsedHits) const = 0; + virtual double getTest(const double dEdx_obs, const double pTrk, Trk::ParticleHypothesis hypothesis, Trk::ParticleHypothesis antihypothesis, int nUsedHits, bool dividebyL) const = 0; + virtual double getTest(const double dEdx_obs, const double pTrk, Trk::ParticleHypothesis hypothesis, Trk::ParticleHypothesis antihypothesis, int nUsedHits) const = 0; /** diff --git a/InnerDetector/InDetRecTools/TRT_ToT_Tools/TRT_ToT_Tools/TRT_ToT_dEdx.h b/InnerDetector/InDetRecTools/TRT_ToT_Tools/TRT_ToT_Tools/TRT_ToT_dEdx.h index e4cffacbd2b6cf0b72c5b71dcbc815688ad16401..74a4f1b93fffdc7ed59a2091419b23250ecc187a 100644 --- a/InnerDetector/InDetRecTools/TRT_ToT_Tools/TRT_ToT_Tools/TRT_ToT_dEdx.h +++ b/InnerDetector/InDetRecTools/TRT_ToT_Tools/TRT_ToT_Tools/TRT_ToT_dEdx.h @@ -125,14 +125,14 @@ public: * @param bool variable whether HT hits shoule be used * @return nHits */ - double usedHits(const Trk::Track* track, EGasType& gasType, bool DivideByL, bool useHThits) const; + double usedHits(const Trk::Track* track, bool DivideByL, bool useHThits) const; /** * @brief function to calculate number of used hits * @param track pointer * @return nHits */ - double usedHits(const Trk::Track* track, EGasType& gasType) const; + double usedHits(const Trk::Track* track) const; /** * @brief function to define what is a good hit to be used for dEdx calculation @@ -151,7 +151,7 @@ public: * @param number of primary vertices per event * @return scaling variable */ - double correctNormalization(bool divideLength, bool scaledata, EGasType& gasType, double nVtx=-1) const; + double correctNormalization(bool divideLength, bool scaledata, double nVtx=-1) const; /** * @brief function to calculate likelihood from prediction and resolution @@ -174,8 +174,8 @@ public: * @param number of used hits * @return test value between 0 and 1 */ - double getTest(EGasType gasType, const double dEdx_obs, const double pTrk, Trk::ParticleHypothesis hypothesis, Trk::ParticleHypothesis antihypothesis, int nUsedHits) const; - double getTest(EGasType gasType, const double dEdx_obs, const double pTrk, Trk::ParticleHypothesis hypothesis, Trk::ParticleHypothesis antihypothesis, int nUsedHits, bool dividebyL) const; + double getTest(const double dEdx_obs, const double pTrk, Trk::ParticleHypothesis hypothesis, Trk::ParticleHypothesis antihypothesis, int nUsedHits) const; + double getTest(const double dEdx_obs, const double pTrk, Trk::ParticleHypothesis hypothesis, Trk::ParticleHypothesis antihypothesis, int nUsedHits, bool dividebyL) const; /** * @brief function to calculate expectation value for dEdx using BB fit diff --git a/InnerDetector/InDetRecTools/TRT_ToT_Tools/src/TRT_ToT_dEdx.cxx b/InnerDetector/InDetRecTools/TRT_ToT_Tools/src/TRT_ToT_dEdx.cxx index 4f3f021dde49a05ea209f9a46b01820ab74a3bd6..e5a040ed74b593a2fadde19f5c049bb9475a292b 100644 --- a/InnerDetector/InDetRecTools/TRT_ToT_Tools/src/TRT_ToT_dEdx.cxx +++ b/InnerDetector/InDetRecTools/TRT_ToT_Tools/src/TRT_ToT_dEdx.cxx @@ -161,6 +161,7 @@ StatusCode TRT_ToT_dEdx::initialize() return StatusCode::FAILURE; } + // ShowDEDXSetup(); ATH_MSG_INFO("//////////////////////////////////////////////////////////////////"); ATH_MSG_INFO("/// TRT_ToT_Tool setup configuration ///"); @@ -772,7 +773,6 @@ bool TRT_ToT_dEdx::isData() const { double TRT_ToT_dEdx::dEdx(const Trk::Track* track, bool divideByL, bool useHThits, bool corrected) const { ATH_MSG_DEBUG("dEdx()"); - ShowDEDXSetup(); double nVtx=-1.; @@ -825,7 +825,7 @@ double TRT_ToT_dEdx::dEdx(const Trk::Track* track, bool divideByL, bool useHThit for (int i = 0; i < nhits;i++){ ToTsum+=vecToT.at(i); } - ToTsum*=correctNormalization(divideByL, m_isData, gasType, nVtx); + ToTsum*=correctNormalization(divideByL, m_isData, nVtx); return ToTsum/nhits; } @@ -921,7 +921,7 @@ double TRT_ToT_dEdx::dEdx(const Trk::Track* track, bool divideByL, bool useHThit double ToTsum = ToTsumXe*nhitsXe + ToTsumAr*nhitsAr + ToTsumKr*nhitsKr; - ToTsum*=correctNormalization(divideByL, m_isData, gasType, nVtx); + ToTsum*=correctNormalization(divideByL, m_isData, nVtx); return ToTsum/nhits; } @@ -931,16 +931,15 @@ double TRT_ToT_dEdx::dEdx(const Trk::Track* track, bool divideByL, bool useHThit return 0.; } -double TRT_ToT_dEdx::usedHits(const Trk::Track* track, EGasType& gasType) const +double TRT_ToT_dEdx::usedHits(const Trk::Track* track) const { - return usedHits(track, gasType, m_divideByL, m_useHThits); + return usedHits(track, m_divideByL, m_useHThits); } -double TRT_ToT_dEdx::usedHits(const Trk::Track* track, EGasType& gasType, bool divideByL, bool useHThits) const +double TRT_ToT_dEdx::usedHits(const Trk::Track* track, bool divideByL, bool useHThits) const { ATH_MSG_DEBUG("usedHits()"); - ShowDEDXSetup(); - gasType = kUnset; + EGasType gasType = kUnset; if (!track) { return 0; @@ -1074,15 +1073,17 @@ double TRT_ToT_dEdx::getProb(EGasType gasType, const double dEdx_obs, const doub } -double TRT_ToT_dEdx::getTest(EGasType gasType, const double dEdx_obs, const double pTrk, Trk::ParticleHypothesis hypothesis, Trk::ParticleHypothesis antihypothesis, int nUsedHits) const { +double TRT_ToT_dEdx::getTest(const double dEdx_obs, const double pTrk, Trk::ParticleHypothesis hypothesis, Trk::ParticleHypothesis antihypothesis, int nUsedHits) const { - return getTest(gasType, dEdx_obs, pTrk, hypothesis, antihypothesis, nUsedHits, m_divideByL); + return getTest(dEdx_obs, pTrk, hypothesis, antihypothesis, nUsedHits, m_divideByL); } -double TRT_ToT_dEdx::getTest(EGasType gasType, const double dEdx_obs, const double pTrk, Trk::ParticleHypothesis hypothesis, Trk::ParticleHypothesis antihypothesis, int nUsedHits, bool divideByL) const +double TRT_ToT_dEdx::getTest(const double dEdx_obs, const double pTrk, Trk::ParticleHypothesis hypothesis, Trk::ParticleHypothesis antihypothesis, int nUsedHits, bool divideByL) const { ATH_MSG_DEBUG("getTest()"); + + EGasType gasType = kUnset; if ( dEdx_obs<=0. || pTrk<=0. || nUsedHits<=0 ) return 0.5; @@ -1237,9 +1238,9 @@ double TRT_ToT_dEdx::getToT(unsigned int BitPattern) const // Corrections ///////////////////////////////// -double TRT_ToT_dEdx::correctNormalization(bool divideLength,bool scaledata, EGasType& gasType, double nVtx) const +double TRT_ToT_dEdx::correctNormalization(bool divideLength,bool scaledata, double nVtx) const { - gasType = static_cast<EGasType> (m_useTrackPartWithGasType); + EGasType gasType = static_cast<EGasType> (m_useTrackPartWithGasType); if(m_useTrackPartWithGasType==kUnset) gasType=kXenon; if(nVtx<=0)nVtx=Dedxcorrection::norm_nzero[gasType]; diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkInDet/src/TrackStateOnSurfaceDecorator.cxx b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkInDet/src/TrackStateOnSurfaceDecorator.cxx index cb16dc26721bc6c1f6cf80fff6710a2db804e93a..929d48ab50d7f95388406d6ad8746371183d1edb 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkInDet/src/TrackStateOnSurfaceDecorator.cxx +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkInDet/src/TrackStateOnSurfaceDecorator.cxx @@ -299,9 +299,9 @@ namespace DerivationFramework { decoratorTRTdEdx (*track) = m_TRTdEdxTool->dEdx( trkTrack, true, true, true); ITRT_ToT_dEdx::EGasType gasType; - decoratorTRTusedHits (*track) = m_TRTdEdxTool->usedHits( trkTrack, gasType, true, true); + decoratorTRTusedHits (*track) = m_TRTdEdxTool->usedHits( trkTrack, true, true); decoratorTRTdEdx_noHT_divByL (*track) = m_TRTdEdxTool->dEdx( trkTrack, true, false, true); - decoratorTRTusedHits_noHT_divByL (*track) = m_TRTdEdxTool->usedHits( trkTrack, gasType, true, false); + decoratorTRTusedHits_noHT_divByL (*track) = m_TRTdEdxTool->usedHits( trkTrack, true, false); } // -- Add Track states to the current track, filtering on their type diff --git a/Tracking/TrkTools/TrkTrackSummaryTool/src/TrackSummaryTool.cxx b/Tracking/TrkTools/TrkTrackSummaryTool/src/TrackSummaryTool.cxx index 70879faa2ace09faa7326350079ac573d1704822..4bb93624861f27e454aafc20679c31291e6e7541 100755 --- a/Tracking/TrkTools/TrkTrackSummaryTool/src/TrackSummaryTool.cxx +++ b/Tracking/TrkTools/TrkTrackSummaryTool/src/TrackSummaryTool.cxx @@ -302,7 +302,7 @@ Trk::TrackSummaryTool::createSummary( const Track& track, if (!m_trt_dEdxTool.empty()) { if (information[Trk::numberOfTRTHits]+information[Trk::numberOfTRTOutliers]>=m_minTRThitsForTRTdEdx) { ITRT_ToT_dEdx::EGasType gasType; - int nhits = static_cast<int>( m_trt_dEdxTool->usedHits(&track, gasType, m_TRTdEdx_DivideByL, m_TRTdEdx_useHThits) ); + int nhits = static_cast<int>( m_trt_dEdxTool->usedHits(&track, m_TRTdEdx_DivideByL, m_TRTdEdx_useHThits) ); double fvalue = (nhits>0 ? m_trt_dEdxTool->dEdx(&track, m_TRTdEdx_DivideByL, m_TRTdEdx_useHThits, m_TRTdEdx_corrected) : 0.0); eProbability.push_back(fvalue); information[ numberOfTRTHitsUsedFordEdx] = static_cast<uint8_t>(std::max(nhits,0)); @@ -384,7 +384,7 @@ void Trk::TrackSummaryTool::updateAdditionalInfo(Track& track) const if (!m_trt_dEdxTool.empty()) { if (tSummary->get(Trk::numberOfTRTHits)+tSummary->get(Trk::numberOfTRTOutliers)>=m_minTRThitsForTRTdEdx) { ITRT_ToT_dEdx::EGasType gasType; - int nhits = static_cast<int>( m_trt_dEdxTool->usedHits(&track, gasType, m_TRTdEdx_DivideByL, m_TRTdEdx_useHThits) ); + int nhits = static_cast<int>( m_trt_dEdxTool->usedHits(&track, m_TRTdEdx_DivideByL, m_TRTdEdx_useHThits) ); double fvalue = (nhits>0 ? m_trt_dEdxTool->dEdx(&track, m_TRTdEdx_DivideByL, m_TRTdEdx_useHThits, m_TRTdEdx_corrected) : 0.0); eProbability.push_back(fvalue); if (!tSummary->update(Trk::numberOfTRTHitsUsedFordEdx, static_cast<uint8_t>(std::max(nhits,0)) )) {