From 8a1a8c8045e989fdea6d13d160ec5f304af71dde Mon Sep 17 00:00:00 2001 From: Shaun Roe <shaun.roe@cern.ch> Date: Thu, 27 Sep 2018 15:25:58 +0000 Subject: [PATCH] 22.0-coverity-InDetVKalVxInJetTool --- .../InDetVKalVxInJetTool/InDetTrkInJetType.h | 46 +++++++++++-------- .../InDetVKalVxInJetTool/src/BTagVrtSec.cxx | 5 +- .../src/InDetTrkInJetType.cxx | 4 ++ .../InDetVKalVxInJetTool/src/Utilities.cxx | 11 +++-- 4 files changed, 39 insertions(+), 27 deletions(-) diff --git a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/InDetVKalVxInJetTool/InDetTrkInJetType.h b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/InDetVKalVxInJetTool/InDetTrkInJetType.h index f192f9ef814..452143dc8a6 100644 --- a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/InDetVKalVxInJetTool/InDetTrkInJetType.h +++ b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/InDetVKalVxInJetTool/InDetTrkInJetType.h @@ -23,12 +23,18 @@ #include <vector> #include "AthenaBaseComps/AthAlgTool.h" #include "GaudiKernel/ToolHandle.h" -#include "TLorentzVector.h" #include "xAODTracking/TrackParticleContainer.h" -#include "TrkVKalVrtFitter/TrkVKalVrtFitter.h" -#include "Particle/TrackParticle.h" +#include "TrkVertexFitterInterfaces/IVertexFitter.h" // +class TLorentzVector; +namespace Rec{ + class TrackParticle; +} + +namespace Trk{ + class TrkVKalVrtFitter; +} namespace TMVA { class Reader; } namespace InDet { @@ -80,23 +86,23 @@ namespace InDet { float m_Z0_limUpp; std::string m_calibFileName; ToolHandle < Trk::IVertexFitter > m_fitterSvc; - Trk::TrkVKalVrtFitter* m_fitSvc; - - int m_initialised; - - float m_prbS; - float m_Sig3D; - float m_prbP; - float m_d0; - float m_vChi2; - float m_pTvsJet; - float m_prodTJ; - float m_SigZ; - float m_SigR; - float m_ptjet; - float m_etajet; - float m_ibl; - float m_bl; + Trk::TrkVKalVrtFitter* m_fitSvc{}; + + int m_initialised{}; + + float m_prbS{}; + float m_Sig3D{}; + float m_prbP{}; + float m_d0{}; + float m_vChi2{}; + float m_pTvsJet{}; + float m_prodTJ{}; + float m_SigZ{}; + float m_SigR{}; + float m_ptjet{}; + float m_etajet{}; + float m_ibl{}; + float m_bl{}; }; diff --git a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/BTagVrtSec.cxx b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/BTagVrtSec.cxx index e18a662ac05..a3e01652538 100755 --- a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/BTagVrtSec.cxx +++ b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/BTagVrtSec.cxx @@ -38,8 +38,8 @@ namespace InDet{ if(N==1) return Vec[0]; if(N>1){ std::vector<float> tmp(Vec); - std::sort(tmp.begin(),tmp.end()); - return (tmp[(N-1)/2]+tmp[N/2])/2.; + std::sort(tmp.begin(),tmp.end()); //can use nth_element instead of completely sorting, it's quicker + return (tmp[(N-1)/2]+tmp[N/2])/2.; //only true if the number of elements is even? } return 0.; } @@ -758,6 +758,7 @@ namespace InDet{ } } } + if (not m_curTup) return; //something very wrong if(m_fillHist){ m_curTup->ptjet=JetDir.Perp(); m_curTup->etajet=fabs(JetDir.Eta()); m_curTup->phijet=JetDir.Phi(); m_curTup->nTrkInJet=std::min(NTracks,DevTuple::maxNTrk); }; if(nTrkHF==0) return; //====== No at all good HF tracks diff --git a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/InDetTrkInJetType.cxx b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/InDetTrkInJetType.cxx index 49a0c844966..174e8787bd3 100644 --- a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/InDetTrkInJetType.cxx +++ b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/InDetTrkInJetType.cxx @@ -6,6 +6,10 @@ #include "TMVA/MethodBase.h" #include "TMVA/Reader.h" #include "PathResolver/PathResolver.h" +#include "TLorentzVector.h" +#include "TrkVKalVrtFitter/TrkVKalVrtFitter.h" + +#include "Particle/TrackParticle.h" // //------------------------------------------------- namespace InDet { diff --git a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx index b1fd5d2caa6..5c322d61c54 100755 --- a/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx +++ b/InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx @@ -11,20 +11,21 @@ //------------------------------------------------- // Other stuff #include <cmath> -//#include<iostream> namespace InDet{ double InDetVKalVxInJetTool::RankBTrk(double TrkPt, double JetPt, double Signif) const { - double coeffSig=1.0; - double s_prob=(Signif-coeffSig)/Signif; // Old probability to be b-track + //code re-ordered to avoid divide by zero double coeffPt=10.; - double pfrac=(TrkPt-m_cutPt)/sqrt(JetPt); + double pfrac=(TrkPt-m_cutPt)/std::sqrt(JetPt); double p_prob= pfrac/(coeffPt+pfrac); // Old probability to be b-track + if (Signif == 0.) return p_prob; //should be less than some epsilon? + // + double coeffSig=1.0; + double s_prob=(Signif-coeffSig)/Signif; // Old probability to be b-track if(TrkPt + JetPt == 0.) return s_prob; - else if(Signif == 0.) return p_prob; //----------------------------------Initial definition of selective variable double contrib=0.4; return (1.+contrib)*std::max(s_prob,0.)+(1.-contrib)*p_prob; -- GitLab