ATLAS Offline Software
PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef JETTAGTOOLS_TRACKSELECTOR_H
6 #define JETTAGTOOLS_TRACKSELECTOR_H
7 
9 #include "GaudiKernel/ToolHandle.h"
15 
16 #include <string>
17 #include <bitset>
18 
19 namespace Reco { class ITrackToVertex; }
20 
21 namespace Analysis {
22 
29 class TrackSelector : public AthAlgTool {
30 
31 public:
32  TrackSelector (const std::string& type,
33  const std::string& name, const IInterface* parent);
34  virtual ~TrackSelector();
35 
36  static const InterfaceID& interfaceID();
37  virtual StatusCode initialize() override;
38  virtual StatusCode finalize() override;
39 
40  // inline void setSumTrkPt(double sum) { m_SumTrkPt = sum; }
41 
44  bool selectTrack(const Amg::Vector3D& pv,
46  double refPt = 0) const;
47 
49  bool selectTrack(const Amg::Vector3D& pv,
51  std::bitset<17>& failedCuts,
52  double refPt = 0) const;
53 
54  inline const std::bitset<17> currentTrackpassedCuts() const { return m_passedCuts; }
55 
56 private:
63  double m_pTMin;
65  double m_pTMinOffset;
66  double m_pTMinSlope;
67  double m_d0Max;
68  double m_z0Max;
69  double m_sigd0Max; // max sig d0:
70  double m_sigz0Max; // max sig z0:
71  double m_etaMax;
73  bool m_useBLayerHitPrediction; // use b-layer tool tied to conddb
75  int m_nHitPix;
76  int m_nHitSct;
77  int m_nHitSi;
78  int m_nHitTrt;
83  double m_fitChi2;
84  double m_fitProb;
85  double m_fitChi2OnNdfMax; //max. fitchi2/ndf
86  std::string m_inputTrackCollection;
88  std::string m_sharedHitMapLocation;
95  // for debugging:
100 
101  int m_ntri;
102  int m_ntrf;
103  mutable std::atomic<int> m_ntrc[numCuts];
104 
105  ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool{this, "trackToVertexTool", "Reco::TrackToVertex"};
106 
107  std::bitset<numCuts> m_passedCuts;
108 
112 
113 };
114 
115 
116 }
117 #endif // JETTAGTOOLS_TRACKSELECTOR_H
Analysis::TrackSelector::m_passedCuts
std::bitset< numCuts > m_passedCuts
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:107
Analysis::TrackSelector::m_Cuts
m_Cuts
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:96
Analysis::TrackSelector::interfaceID
static const InterfaceID & interfaceID()
Definition: TrackSelector.cxx:68
Analysis::TrackSelector::m_useAntiPileUpCuts
bool m_useAntiPileUpCuts
location of shared map in StoreGate
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:89
Analysis::TrackSelector::m_z0Max
double m_z0Max
max. d0: |d0|<d0Max
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:68
Analysis::TrackSelector::m_useTrackSummaryInfo
bool m_useTrackSummaryInfo
max. pseudo-rapidity
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:72
Analysis::TrackSelector::m_useDeadSctInfo
bool m_useDeadSctInfo
if true uses dead pixel sensors from conddb (except b-layer) to compute nPix
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:81
Analysis::TrackSelector::selectTrack
bool selectTrack(const Amg::Vector3D &pv, const xAOD::TrackParticle *track, double refPt=0) const
Returns true if the argument track fulfills the selection.
Definition: TrackSelector.cxx:169
Analysis::TrackSelector::fitChi2OnNdfMax
@ fitChi2OnNdfMax
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:98
Analysis::TrackSelector::m_sigz0Max
double m_sigz0Max
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:70
Analysis::TrackSelector
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:29
Analysis::TrackSelector::m_nHitSi
int m_nHitSi
at least n hits in SCT
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:77
Analysis::TrackSelector::pTMin
@ pTMin
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:96
Analysis::TrackSelector::deadBLayer
@ deadBLayer
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:97
Analysis::TrackSelector::m_fitChi2OnNdfMax
double m_fitChi2OnNdfMax
min. fit chi2 probability
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:85
Analysis::TrackSelector::nHitBLayer
@ nHitBLayer
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:97
Analysis::TrackSelector::finalize
virtual StatusCode finalize() override
Definition: TrackSelector.cxx:161
Analysis::TrackSelector::nHitTrtHighE
@ nHitTrtHighE
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:97
Analysis::TrackSelector::m_pTMin
double m_pTMin
if true use perigee parameters instead of parameters w.r.t. primary vertex
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:63
Analysis::TrackSelector::m_antiPileUpNHolePixCut
int m_antiPileUpNHolePixCut
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:93
Analysis::TrackSelector::initialize
virtual StatusCode initialize() override
Definition: TrackSelector.cxx:72
Analysis::TrackSelector::trackingTightDef
@ trackingTightDef
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:98
Analysis::TrackSelector::m_antiPileUpSigZ0Cut
double m_antiPileUpSigZ0Cut
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:91
Analysis::TrackSelector::nHitSct
@ nHitSct
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:97
Analysis::TrackSelector::m_ntri
int m_ntri
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:101
GeoPrimitives.h
Analysis::TrackSelector::m_sharedHitMapLocation
std::string m_sharedHitMapLocation
location of outputTracks in StoreGate
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:88
Analysis::TrackSelector::m_inputTrackCollection
std::string m_inputTrackCollection
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:86
Analysis::TrackSelector::m_useDeadPixInfo
bool m_useDeadPixInfo
at least n transition hits in TRT
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:80
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Analysis::TrackSelector::m_useBLayerHitPrediction
bool m_useBLayerHitPrediction
if false the following cuts are ignored
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:73
Analysis::TrackSelector::m_usepTDepTrackSel
bool m_usepTDepTrackSel
min. pT: |pT|>pTMin
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:64
AthAlgTool.h
Analysis::TrackSelector::currentTrackpassedCuts
const std::bitset< 17 > currentTrackpassedCuts() const
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:54
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Analysis::TrackSelector::m_antiPileUpNHitSiCut
int m_antiPileUpNHitSiCut
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:92
Analysis::TrackSelector::m_pTMinOffset
double m_pTMinOffset
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:65
Analysis::TrackSelector::m_ntrf
int m_ntrf
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:102
Analysis::TrackSelector::etaMax
@ etaMax
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:96
Analysis::TrackSelector::m_etaMax
double m_etaMax
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:71
Analysis::TrackSelector::m_usePerigeeParameters
bool m_usePerigeeParameters
Properties for V0 finding: not yet implemented.
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:62
Analysis::TrackSelector::sigd0Max
@ sigd0Max
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:96
ITrackToVertex.h
Analysis::TrackSelector::m_useTrackingTightDefinition
bool m_useTrackingTightDefinition
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:94
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
Analysis::TrackSelector::m_outputTrackCollection
std::string m_outputTrackCollection
location of inputTracks in StoreGate
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:87
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
Reco
Definition: InDetV0FinderTool.h:89
Analysis::TrackSelector::m_useEtaDependentCuts
bool m_useEtaDependentCuts
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:109
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Analysis::TrackSelector::m_nHitPix
int m_nHitPix
at least n hits in Blayer
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:75
Analysis::TrackSelector::m_sigd0Max
double m_sigd0Max
max. z0:
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:69
Analysis::TrackSelector::numCuts
@ numCuts
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:99
Analysis::TrackSelector::m_useTrackQualityInfo
bool m_useTrackQualityInfo
if true uses dead SCT sensors to compute nSct
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:82
TrackParticle.h
Analysis::TrackSelector::nHitSi
@ nHitSi
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:97
Analysis::TrackSelector::m_trackToVertexTool
ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:105
Analysis::TrackSelector::m_nHitSct
int m_nHitSct
at least n hits in pixels
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:76
Analysis::TrackSelector::~TrackSelector
virtual ~TrackSelector()
Definition: TrackSelector.cxx:65
Analysis::TrackSelector::sigz0Max
@ sigz0Max
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:96
Analysis::TrackSelector::m_ntrc
std::atomic< int > m_ntrc[numCuts]
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:103
Analysis::TrackSelector::m_antiPileUpSigD0Cut
double m_antiPileUpSigD0Cut
activate antiPU cut d0z0
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:90
Analysis::TrackSelector::m_fitProb
double m_fitProb
max. fit chi2
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:84
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Analysis::TrackSelector::fitChi2
@ fitChi2
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:98
python.changerun.pv
pv
Definition: changerun.py:81
Analysis::TrackSelector::TrackSelector
TrackSelector(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrackSelector.cxx:23
Analysis::TrackSelector::z0Max
@ z0Max
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:96
Analysis::TrackSelector::m_d0Max
double m_d0Max
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:67
Analysis::TrackSelector::m_etaDependentCutsSvc
ServiceHandle< InDet::IInDetEtaDependentCutsSvc > m_etaDependentCutsSvc
service to get cut values depending on different variable
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:111
Analysis::TrackSelector::m_pTMinSlope
double m_pTMinSlope
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:66
Analysis::TrackSelector::nHitPix
@ nHitPix
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:97
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
AthAlgTool
Definition: AthAlgTool.h:26
Analysis::TrackSelector::d0Max
@ d0Max
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:96
IInDetEtaDependentCutsSvc.h
Analysis::TrackSelector::m_nHitTrtHighE
int m_nHitTrtHighE
at least n hits in TRT
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:79
Analysis::TrackSelector::nHitTrt
@ nHitTrt
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:97
Analysis::TrackSelector::fitProb
@ fitProb
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:98
Analysis::TrackSelector::m_nHitTrt
int m_nHitTrt
at least n hits in pixels+SCT
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:78
TrackParticleContainer.h
Analysis::TrackSelector::m_nHitBLayer
int m_nHitBLayer
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:74
Analysis::TrackSelector::m_fitChi2
double m_fitChi2
if false the following cuts are ignored
Definition: PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/TrackSelector.h:83
ServiceHandle< InDet::IInDetEtaDependentCutsSvc >