ATLAS Offline Software
InDetAmbiScoringTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // Markus Elsing
8 
9 #ifndef INDETAMBISCORINGTOOL_H
10 #define INDETAMBISCORINGTOOL_H
11 
13 #include "GaudiKernel/ToolHandle.h"
14 #include "GaudiKernel/ServiceHandle.h"
23 #include "AthenaKernel/CLASS_DEF.h"
25 // MagField cache
28 #include <vector>
29 #include <string>
31 
32 namespace Trk {
33  class Track;
34  class TrackSummary;
35 
36 }
37 class EventContext;
38 
39 namespace InDet {
40 
43  public AthAlgTool
44 {
45 
46  public:
47  InDetAmbiScoringTool(const std::string&,const std::string&,const IInterface*);
48  virtual ~InDetAmbiScoringTool () = default;
49  virtual StatusCode initialize() override;
51  virtual Trk::TrackScore score( const Trk::Track& track ) const override;
52 
54  virtual Trk::TrackScore simpleScore( const Trk::Track& track, const Trk::TrackSummary& trackSum ) const override;
55  Trk::TrackScore ambigScore( const Trk::Track& track, const Trk::TrackSummary& trackSum ) const;
56 
57 
58  private:
59  void setupScoreModifiers();
60 
61 
63  bool isEmCaloCompatible(const Trk::Track& track, const EventContext& ctx) const;
64 
65 
66  //these are used for ScoreModifiers
71  std::vector<double> m_boundsSigmaChi2,
73 
75  ToolHandle<ITrtDriftCircleCutTool> m_selectortool;
76 
78  std::vector<Trk::TrackScore> m_summaryTypeScore;
79 
80  SG::ReadCondHandleKey<InDet::BeamSpotData> m_beamSpotKey { this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot" };
81 
82  ToolHandle<Trk::IExtrapolator> m_extrapolator;
83 
84  // Read handle for conditions object to get the field cache
85  SG::ReadCondHandleKey<AtlasFieldCacheCondObj> m_fieldCacheCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj", "Name of the Magnetic Field conditions object key"};
86 
87 
92 
93  bool m_usePixel;
94  bool m_useSCT;
95 
97  double m_minPt;
98  double m_maxEta;
99  double m_maxRPhiImp;
100  double m_maxZImp;
102  int m_maxDoubleHoles;//|< maximum number of SCT double holes
109  double m_maxRPhiImpEM;
110 
114 
116  {this, "EMROIPhiRZContainer", "", "Name of the calo cluster ROIs in Phi,R,Z parameterization"};
117 
120 
123 
124 };
125 
126 
127 } // namespace InDet
128 
129 
130 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
InDet::InDetAmbiScoringTool::~InDetAmbiScoringTool
virtual ~InDetAmbiScoringTool()=default
InDet::InDetAmbiScoringTool::m_boundsTrtRatio
std::vector< double > m_boundsTrtRatio
Definition: InDetAmbiScoringTool.h:72
InDet::InDetAmbiScoringTool::m_etaWidthEm
float m_etaWidthEm
Definition: InDetAmbiScoringTool.h:113
InDet::InDetAmbiScoringTool::isEmCaloCompatible
bool isEmCaloCompatible(const Trk::Track &track, const EventContext &ctx) const
Check if the cluster is compatible with a EM cluster.
Definition: InDetAmbiScoringTool.cxx:882
InDet::InDetAmbiScoringTool::m_minTRTprecision
double m_minTRTprecision
minimum fraction of TRT precision hits
Definition: InDetAmbiScoringTool.h:107
InDet::InDetAmbiScoringTool::m_minPixel
int m_minPixel
minimum number of pixel clusters
Definition: InDetAmbiScoringTool.h:108
TrackParameters.h
InDet::InDetAmbiScoringTool::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: InDetAmbiScoringTool.cxx:159
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
InDet::InDetAmbiScoringTool::m_maxHits
int m_maxHits
Definition: InDetAmbiScoringTool.h:67
AtlasFieldCacheCondObj.h
InDet::InDetAmbiScoringTool::m_etaDependentCutsSvc
ServiceHandle< IInDetEtaDependentCutsSvc > m_etaDependentCutsSvc
ITk eta-dependent cuts.
Definition: InDetAmbiScoringTool.h:122
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::InDetAmbiScoringTool
Concrete implementation of the ITrackScoringTool pABC.
Definition: InDetAmbiScoringTool.h:44
InDet::InDetAmbiScoringTool::m_factorDblHoles
std::vector< double > m_factorDblHoles
Definition: InDetAmbiScoringTool.h:69
InDet::InDetAmbiScoringTool::m_maxSigmaChi2
int m_maxSigmaChi2
Definition: InDetAmbiScoringTool.h:67
InDet::InDetAmbiScoringTool::m_maxZImp
double m_maxZImp
maximal z impact parameter cut
Definition: InDetAmbiScoringTool.h:100
InDet::InDetAmbiScoringTool::m_useAmbigFcn
bool m_useAmbigFcn
use the scoring tuned to Ambiguity processing or not
Definition: InDetAmbiScoringTool.h:89
InDet::InDetAmbiScoringTool::m_useEmClusSeed
bool m_useEmClusSeed
Definition: InDetAmbiScoringTool.h:111
InDet::InDetAmbiScoringTool::m_useTRT_AmbigFcn
bool m_useTRT_AmbigFcn
Definition: InDetAmbiScoringTool.h:90
InDet::InDetAmbiScoringTool::m_factorSCT_Holes
std::vector< double > m_factorSCT_Holes
Definition: InDetAmbiScoringTool.h:69
ITrtDriftCircleCutTool.h
InDet::InDetAmbiScoringTool::m_boundsSigmaChi2
std::vector< double > m_boundsSigmaChi2
Definition: InDetAmbiScoringTool.h:71
IExtrapolator.h
InDet::InDetAmbiScoringTool::m_useSigmaChi2
bool m_useSigmaChi2
Definition: InDetAmbiScoringTool.h:91
InDet::InDetAmbiScoringTool::m_minSiClusters
int m_minSiClusters
minimal number of Si clusters
Definition: InDetAmbiScoringTool.h:101
InDet::InDetAmbiScoringTool::m_factorTrtRatio
std::vector< double > m_factorTrtRatio
Definition: InDetAmbiScoringTool.h:72
ITrackScoringTool.h
SG::ReadHandleKey< ROIPhiRZContainer >
InDet::InDetAmbiScoringTool::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: InDetAmbiScoringTool.h:82
InDet::InDetAmbiScoringTool::m_factorPixLay
std::vector< double > m_factorPixLay
Definition: InDetAmbiScoringTool.h:70
InDet::InDetAmbiScoringTool::m_maxTrtRatio
int m_maxTrtRatio
Definition: InDetAmbiScoringTool.h:67
InDet::InDetAmbiScoringTool::m_minPt
double m_minPt
cuts for selecting good tracks
Definition: InDetAmbiScoringTool.h:97
InDet::InDetAmbiScoringTool::m_maxDblHoles
int m_maxDblHoles
Definition: InDetAmbiScoringTool.h:67
InDet::InDetAmbiScoringTool::m_maxB_LayerHits
int m_maxB_LayerHits
Definition: InDetAmbiScoringTool.h:68
InDet::InDetAmbiScoringTool::m_factorB_LayerHits
std::vector< double > m_factorB_LayerHits
Definition: InDetAmbiScoringTool.h:70
InDet::InDetAmbiScoringTool::m_useITkAmbigFcn
bool m_useITkAmbigFcn
use the ITk scoring tuned to Ambiguity processing or not
Definition: InDetAmbiScoringTool.h:119
InDet::InDetAmbiScoringTool::m_maxSctHoles
int m_maxSctHoles
maximal number of SCT holes
Definition: InDetAmbiScoringTool.h:105
InDet::InDetAmbiScoringTool::m_factorTrtFittedRatio
std::vector< double > m_factorTrtFittedRatio
Definition: InDetAmbiScoringTool.h:72
InDet::InDetAmbiScoringTool::m_summaryTypeScore
std::vector< Trk::TrackScore > m_summaryTypeScore
holds the scores assigned to each Trk::SummaryType from the track's Trk::TrackSummary
Definition: InDetAmbiScoringTool.h:78
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::InDetAmbiScoringTool::m_caloClusterROIKey
SG::ReadHandleKey< ROIPhiRZContainer > m_caloClusterROIKey
Definition: InDetAmbiScoringTool.h:116
InDet::InDetAmbiScoringTool::m_factorPixelHits
std::vector< double > m_factorPixelHits
Definition: InDetAmbiScoringTool.h:70
InDet::InDetAmbiScoringTool::setupScoreModifiers
void setupScoreModifiers()
Definition: InDetAmbiScoringTool.cxx:592
InDet::InDetAmbiScoringTool::ambigScore
Trk::TrackScore ambigScore(const Trk::Track &track, const Trk::TrackSummary &trackSum) const
Definition: InDetAmbiScoringTool.cxx:371
AthAlgTool.h
AtlasFieldCache.h
Trk::TrackScore
float TrackScore
Definition: TrackScore.h:10
InDet::InDetAmbiScoringTool::m_factorSigmaChi2
std::vector< double > m_factorSigmaChi2
Definition: InDetAmbiScoringTool.h:70
ROIPhiRZContainer.h
InDet::InDetAmbiScoringTool::m_maxSiHoles
int m_maxSiHoles
maximal number of holes (Pixel+SCT)
Definition: InDetAmbiScoringTool.h:103
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
TrackScore.h
InDet::InDetAmbiScoringTool::m_maxSCT_Holes
int m_maxSCT_Holes
Definition: InDetAmbiScoringTool.h:67
InDet::InDetAmbiScoringTool::m_selectortool
ToolHandle< ITrtDriftCircleCutTool > m_selectortool
Returns minimum number of expected TRT drift circles depending on eta.
Definition: InDetAmbiScoringTool.h:75
InDet::InDetAmbiScoringTool::m_maxDoubleHoles
int m_maxDoubleHoles
Definition: InDetAmbiScoringTool.h:102
InDet::InDetAmbiScoringTool::m_maxEta
double m_maxEta
maximal Eta cut
Definition: InDetAmbiScoringTool.h:98
InDet::InDetAmbiScoringTool::m_factorPixHoles
std::vector< double > m_factorPixHoles
Definition: InDetAmbiScoringTool.h:69
InDet::InDetAmbiScoringTool::InDetAmbiScoringTool
InDetAmbiScoringTool(const std::string &, const std::string &, const IInterface *)
Definition: InDetAmbiScoringTool.cxx:22
SG::ReadCondHandleKey< InDet::BeamSpotData >
InDet::InDetAmbiScoringTool::m_useSCT
bool m_useSCT
Definition: InDetAmbiScoringTool.h:94
InDet::InDetAmbiScoringTool::m_factorHits
std::vector< double > m_factorHits
Definition: InDetAmbiScoringTool.h:69
InDet::InDetAmbiScoringTool::m_maxRPhiImp
double m_maxRPhiImp
maximal RPhi impact parameter cut
Definition: InDetAmbiScoringTool.h:99
InDet::InDetAmbiScoringTool::m_maxPixHoles
int m_maxPixHoles
Definition: InDetAmbiScoringTool.h:67
InDet::InDetAmbiScoringTool::m_usePixel
bool m_usePixel
Definition: InDetAmbiScoringTool.h:93
InDet::InDetAmbiScoringTool::m_fieldCacheCondObjInputKey
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
Definition: InDetAmbiScoringTool.h:85
InDet::InDetAmbiScoringTool::m_factorGangedFakes
std::vector< double > m_factorGangedFakes
Definition: InDetAmbiScoringTool.h:70
InDet::InDetAmbiScoringTool::m_maxRPhiImpEM
double m_maxRPhiImpEM
maximal RPhi impact parameter cut track that match EM clusters
Definition: InDetAmbiScoringTool.h:109
InDet::InDetAmbiScoringTool::m_maxPixelHoles
int m_maxPixelHoles
maximal number of Pixel holes
Definition: InDetAmbiScoringTool.h:104
InDet::InDetAmbiScoringTool::m_minTRTonTrk
int m_minTRTonTrk
minimum number of TRT hits
Definition: InDetAmbiScoringTool.h:106
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
IOVSvcDefs.h
defines and typedefs for IOVSvc
BeamSpotData.h
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
AthAlgTool
Definition: AthAlgTool.h:26
InDet::InDetAmbiScoringTool::initialize
virtual StatusCode initialize() override
Definition: InDetAmbiScoringTool.cxx:107
InDet::InDetAmbiScoringTool::m_boundsTrtFittedRatio
std::vector< double > m_boundsTrtFittedRatio
Definition: InDetAmbiScoringTool.h:72
IInDetEtaDependentCutsSvc.h
InDet::InDetAmbiScoringTool::m_phiWidthEm
float m_phiWidthEm
Definition: InDetAmbiScoringTool.h:112
InDet::InDetAmbiScoringTool::score
virtual Trk::TrackScore score(const Trk::Track &track) const override
create a score based on how good the passed track is
Definition: InDetAmbiScoringTool.cxx:144
InDet::InDetAmbiScoringTool::m_maxGangedFakes
int m_maxGangedFakes
Definition: InDetAmbiScoringTool.h:68
InDet::InDetAmbiScoringTool::m_maxPixelHits
int m_maxPixelHits
Definition: InDetAmbiScoringTool.h:68
CLASS_DEF.h
macros to associate a CLID to a type
InDet::InDetAmbiScoringTool::m_beamSpotKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Definition: InDetAmbiScoringTool.h:80
InDet::InDetAmbiScoringTool::m_maxPixLay
int m_maxPixLay
Definition: InDetAmbiScoringTool.h:68
xAOD::TrackSummary
TrackSummary_v1 TrackSummary
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackSummary.h:10
ServiceHandle
Definition: ClusterMakerTool.h:37
InDet::InDetAmbiScoringTool::m_maxTrtFittedRatio
int m_maxTrtFittedRatio
Definition: InDetAmbiScoringTool.h:67