ATLAS Offline Software
InDetTrtTrackScoringTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INDETTRTTRACKSCORINGTOOL_H
6 #define INDETTRTTRACKSCORINGTOOL_H
7 
9 #include "GaudiKernel/ServiceHandle.h"
10 #include "GaudiKernel/ToolHandle.h"
13 // MagField cache
16 // Access to mu
19 #include <string>
20 #include <vector>
21 
22 namespace Trk {
23 class Track;
24 class TrackSummary;
25 }
26 
27 class TRT_ID;
28 
29 namespace InDet {
30 
31 class ITrtDriftCircleCutTool;
32 
35  : virtual public Trk::ITrackScoringTool
36  , public AthAlgTool
37 {
38 
39 public:
40  InDetTrtTrackScoringTool(const std::string&,
41  const std::string&,
42  const IInterface*);
43  virtual ~InDetTrtTrackScoringTool() = default;
44  virtual StatusCode initialize() override;
46  virtual Trk::TrackScore score(const Trk::Track& track) const override;
47 
50  const Trk::Track& track,
51  const Trk::TrackSummary& trackSum) const override;
52 
54  const Trk::TrackSummary& trackSum) const;
55 
56 private:
58 
60  bool isGoodTRT(const Trk::Track&) const;
61 
62  // Get Eta bin for eta-dependent TRT-track cuts
63  unsigned int getEtaBin(const Trk::Perigee& perigee) const;
64 
65  // Get eta- and mu-dependent nTRT cut for TRT track
66  double getMuDependentNtrtMinCut(unsigned int eta_bin) const;
67 
69  const TRT_ID* m_trtId;
70 
71  // these are used for ScoreModifiers
73 
74  std::vector<double> m_factorSigmaChi2, m_factorTrtRatio,
76 
77  std::vector<double> m_boundsSigmaChi2, m_boundsTrtRatio,
79 
83 
86  std::vector<Trk::TrackScore> m_summaryTypeScore;
87 
89  ToolHandle<ITrtDriftCircleCutTool> m_selectortool;
90 
91  // Read handle for conditions object to get the field cache
93  this,
94  "AtlasFieldCacheCondObj",
95  "fieldCondObj",
96  "Name of the Magnetic Field conditions object key"
97  };
98 
99  ToolHandle<ILumiBlockMuTool> m_lumiBlockMuTool{
100  this,
101  "LuminosityTool",
102  "LumiBlockMuTool/LumiBlockMuTool",
103  "Luminosity Tool"
104  };
105 
108  double m_maxEta;
109  double m_ptmin;
110  bool
112  bool m_oldLogic;
114 
115  std::vector<double>
117  std::vector<double>
119  std::vector<double>
121 };
123 
124 }
125 #endif
InDet::InDetTrtTrackScoringTool::m_boundsTrtRatio
std::vector< double > m_boundsTrtRatio
Definition: InDetTrtTrackScoringTool.h:77
TrackParameters.h
InDet::InDetTrtTrackScoringTool::m_factorTrtFittedRatio
std::vector< double > m_factorTrtFittedRatio
Definition: InDetTrtTrackScoringTool.h:75
InDet::InDetTrtTrackScoringTool::m_minTRTprecision
double m_minTRTprecision
minimum fraction of TRT precision hits
Definition: InDetTrtTrackScoringTool.h:113
InDet::InDetTrtTrackScoringTool::m_factorTrtRatio
std::vector< double > m_factorTrtRatio
Definition: InDetTrtTrackScoringTool.h:74
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
InDet::InDetTrtTrackScoringTool::m_TRTTrksMinTRTHitsThresholds
std::vector< double > m_TRTTrksMinTRTHitsThresholds
Eta-binned nTRT cut for TRT-only cuts.
Definition: InDetTrtTrackScoringTool.h:118
InDet::InDetTrtTrackScoringTool::m_minTRTonTrk
int m_minTRTonTrk
cuts for selecting good tracks
Definition: InDetTrtTrackScoringTool.h:107
AtlasFieldCacheCondObj.h
InDet::InDetTrtTrackScoringTool::m_factorSigmaChi2
std::vector< double > m_factorSigmaChi2
Definition: InDetTrtTrackScoringTool.h:74
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
InDet::InDetTrtTrackScoringTool::isGoodTRT
bool isGoodTRT(const Trk::Track &) const
Decide whether standalone TRT tracks pass the minimum hit requirement.
Definition: InDetTrtTrackScoringTool.cxx:355
InDet::InDetTrtTrackScoringTool::InDetTrtTrackScoringTool
InDetTrtTrackScoringTool(const std::string &, const std::string &, const IInterface *)
Definition: InDetTrtTrackScoringTool.cxx:18
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
Trk::ITrackScoringTool
Interface for tool to return a score from a given track.
Definition: ITrackScoringTool.h:23
InDet::InDetTrtTrackScoringTool::m_useSigmaChi2
bool m_useSigmaChi2
Definition: InDetTrtTrackScoringTool.h:82
InDet::InDetTrtTrackScoringTool::m_boundsSigmaChi2
std::vector< double > m_boundsSigmaChi2
Definition: InDetTrtTrackScoringTool.h:77
ITrackScoringTool.h
InDet::InDetTrtTrackScoringTool::m_maxTrtRatio
int m_maxTrtRatio
Definition: InDetTrtTrackScoringTool.h:72
InDet::InDetTrtTrackScoringTool::score
virtual Trk::TrackScore score(const Trk::Track &track) const override
create a score based on how good the passed track is
Definition: InDetTrtTrackScoringTool.cxx:87
InDet::InDetTrtTrackScoringTool::m_oldLogic
bool m_oldLogic
use old transition hit logic
Definition: InDetTrtTrackScoringTool.h:112
InDet::InDetTrtTrackScoringTool::m_trtId
const TRT_ID * m_trtId
ID TRT helper.
Definition: InDetTrtTrackScoringTool.h:69
InDet::InDetTrtTrackScoringTool::m_maxSigmaChi2
int m_maxSigmaChi2
Definition: InDetTrtTrackScoringTool.h:72
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::InDetTrtTrackScoringTool
Concrete implementation of the ITrackScoringTool pABC.
Definition: InDetTrtTrackScoringTool.h:37
AthAlgTool.h
InDet::InDetTrtTrackScoringTool::getEtaBin
unsigned int getEtaBin(const Trk::Perigee &perigee) const
Definition: InDetTrtTrackScoringTool.cxx:436
AtlasFieldCache.h
InDet::InDetTrtTrackScoringTool::m_maxTrtFittedRatio
int m_maxTrtFittedRatio
Definition: InDetTrtTrackScoringTool.h:72
Trk::TrackScore
float TrackScore
Definition: TrackScore.h:10
InDet::InDetTrtTrackScoringTool::simpleScore
virtual Trk::TrackScore simpleScore(const Trk::Track &track, const Trk::TrackSummary &trackSum) const override
create a score based on how good the passed TrackSummary is
Definition: InDetTrtTrackScoringTool.cxx:99
InDet::InDetTrtTrackScoringTool::initialize
virtual StatusCode initialize() override
Definition: InDetTrtTrackScoringTool.cxx:65
doL1CaloHVCorrections.eta_bin
eta_bin
Definition: doL1CaloHVCorrections.py:368
InDet::InDetTrtTrackScoringTool::m_ptmin
double m_ptmin
Minimum Pt.
Definition: InDetTrtTrackScoringTool.h:109
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::TrackSummary
A summary of the information contained by a track.
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:287
InDet::InDetTrtTrackScoringTool::m_parameterization
bool m_parameterization
use parameterization to cut instead of custom cut
Definition: InDetTrtTrackScoringTool.h:111
TrackScore.h
ILumiBlockMuTool.h
InDet::InDetTrtTrackScoringTool::setupTRT_ScoreModifiers
void setupTRT_ScoreModifiers()
Definition: InDetTrtTrackScoringTool.cxx:282
InDet::InDetTrtTrackScoringTool::m_fieldCacheCondObjInputKey
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
Definition: InDetTrtTrackScoringTool.h:92
InDet::InDetTrtTrackScoringTool::m_maxEta
double m_maxEta
maximal Eta cut
Definition: InDetTrtTrackScoringTool.h:108
InDet::InDetTrtTrackScoringTool::~InDetTrtTrackScoringTool
virtual ~InDetTrtTrackScoringTool()=default
SG::ReadCondHandleKey< AtlasFieldCacheCondObj >
InDet::InDetTrtTrackScoringTool::m_summaryTypeScore
std::vector< Trk::TrackScore > m_summaryTypeScore
holds the scores assigned to each Trk::SummaryType from the track's Trk::TrackSummary
Definition: InDetTrtTrackScoringTool.h:86
InDet::InDetTrtTrackScoringTool::TRT_ambigScore
Trk::TrackScore TRT_ambigScore(const Trk::Track &track, const Trk::TrackSummary &trackSum) const
Definition: InDetTrtTrackScoringTool.cxx:192
TRT_ID
Definition: TRT_ID.h:84
InDet::InDetTrtTrackScoringTool::getMuDependentNtrtMinCut
double getMuDependentNtrtMinCut(unsigned int eta_bin) const
Definition: InDetTrtTrackScoringTool.cxx:452
InDet::InDetTrtTrackScoringTool::m_lumiBlockMuTool
ToolHandle< ILumiBlockMuTool > m_lumiBlockMuTool
Definition: InDetTrtTrackScoringTool.h:99
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
InDet::InDetTrtTrackScoringTool::m_TRTTrksEtaBins
std::vector< double > m_TRTTrksEtaBins
Eta bins (10 expected) for TRT-only track cuts.
Definition: InDetTrtTrackScoringTool.h:116
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
AthAlgTool
Definition: AthAlgTool.h:26
InDet::InDetTrtTrackScoringTool::m_selectortool
ToolHandle< ITrtDriftCircleCutTool > m_selectortool
Returns minimum number of expected TRT drift circles depending on eta.
Definition: InDetTrtTrackScoringTool.h:89
InDet::InDetTrtTrackScoringTool::m_boundsTrtFittedRatio
std::vector< double > m_boundsTrtFittedRatio
Definition: InDetTrtTrackScoringTool.h:78
InDet::InDetTrtTrackScoringTool::m_TRTTrksMinTRTHitsMuDependencies
std::vector< double > m_TRTTrksMinTRTHitsMuDependencies
Eta-bined Mu-dependent component for nTRT cut.
Definition: InDetTrtTrackScoringTool.h:120
xAOD::TrackSummary
TrackSummary_v1 TrackSummary
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackSummary.h:10
InDet::InDetTrtTrackScoringTool::m_useAmbigFcn
bool m_useAmbigFcn
use the scoring tuned to Ambiguity processing or not
Definition: InDetTrtTrackScoringTool.h:81