Skip to content
Snippets Groups Projects
Commit 8a1a8c80 authored by Shaun Roe's avatar Shaun Roe Committed by Walter Lampl
Browse files

22.0-coverity-InDetVKalVxInJetTool

parent 530472ee
No related branches found
No related tags found
No related merge requests found
......@@ -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{};
};
......
......@@ -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
......
......@@ -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 {
......
......@@ -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;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment