ATLAS Offline Software
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
DerivationFramework::HITrackQualityAugmentationTool Class Reference

#include <HITrackQualityAugmentationTool.h>

Inheritance diagram for DerivationFramework::HITrackQualityAugmentationTool:
Collaboration diagram for DerivationFramework::HITrackQualityAugmentationTool:

Public Types

enum  {
  PP_MIN_BIAS =1<<1, HI_LOOSE =1<<2, HI_LOOSE_7SCT_HITS =1<<5, HI_LOOSE_TIGHT_D0_Z0 =1<<7,
  HI_LOOSE_TIGHTER_D0_Z0 =1<<8, HI_TIGHT =1<<3, HI_TIGHT_TIGHTER_D0_Z0 =1<<4, HI_TIGHT_LOOSE_D0_Z0 =1<<6
}
 

Public Member Functions

 HITrackQualityAugmentationTool (const std::string &t, const std::string &n, const IInterface *p)
 
virtual StatusCode initialize () override
 
virtual StatusCode addBranches (const EventContext &ctx) const override
 

Private Member Functions

unsigned short GetTrackQuality (const xAOD::TrackParticle *track, float z_vtx) const
 
unsigned short GetTrackQualityNew (const xAOD::TrackParticle *track, const xAOD::Vertex *pv) const
 

Private Attributes

SG::ReadHandleKey< xAOD::TrackParticleContainerm_trackParticlesName {this, "TrackParticlesName", "InDetTrackParticles", ""}
 
SG::ReadHandleKey< xAOD::VertexContainerm_vertexContainerName {this, "VertexContainerName", "PrimaryVertices", ""}
 
SG::WriteDecorHandleKey< xAOD::TrackParticleContainerm_decorator { this, "TrackQuality", "TrackQuality", ""}
 
ToolHandle< InDet::IInDetTrackSelectionToolm_trkSelTool_pp {this, "TrackSelectionTool_pp", "", ""}
 
ToolHandle< InDet::IInDetTrackSelectionToolm_trkSelTool_hi_loose {this, "TrackSelectionTool_hi_loose", "", ""}
 
ToolHandle< InDet::IInDetTrackSelectionToolm_trkSelTool_hi_tight {this, "TrackSelectionTool_hi_tight", "", ""}
 

Detailed Description

Definition at line 25 of file HITrackQualityAugmentationTool.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
PP_MIN_BIAS 
HI_LOOSE 
HI_LOOSE_7SCT_HITS 
HI_LOOSE_TIGHT_D0_Z0 
HI_LOOSE_TIGHTER_D0_Z0 
HI_TIGHT 
HI_TIGHT_TIGHTER_D0_Z0 
HI_TIGHT_LOOSE_D0_Z0 

Definition at line 27 of file HITrackQualityAugmentationTool.h.

27  {
28  PP_MIN_BIAS=1<<1, //2
29 
30  HI_LOOSE=1<<2, // 4
31  HI_LOOSE_7SCT_HITS =1<<5, // 32
32  HI_LOOSE_TIGHT_D0_Z0 =1<<7, // 128
33  HI_LOOSE_TIGHTER_D0_Z0=1<<8, // 256
34 
35  HI_TIGHT=1<<3, //8
36  HI_TIGHT_TIGHTER_D0_Z0=1<<4, //16
37  HI_TIGHT_LOOSE_D0_Z0 =1<<6, //64
38  };

Constructor & Destructor Documentation

◆ HITrackQualityAugmentationTool()

DerivationFramework::HITrackQualityAugmentationTool::HITrackQualityAugmentationTool ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Definition at line 9 of file HITrackQualityAugmentationTool.cxx.

11  :
12  base_class(t,n,p)
13  {
14  }

Member Function Documentation

◆ addBranches()

StatusCode DerivationFramework::HITrackQualityAugmentationTool::addBranches ( const EventContext &  ctx) const
overridevirtual

Definition at line 31 of file HITrackQualityAugmentationTool.cxx.

31  {
32 
33  // Get Primary vertex
35  if(!vertices.isValid()) {
36  ATH_MSG_ERROR ("Couldn't retrieve VertexContainer with key " << m_vertexContainerName.key());
37  return StatusCode::FAILURE;
38  }
39  const xAOD::Vertex* pv(0);
40  for (const xAOD::Vertex* vx : *vertices) {
41  if (vx->vertexType() == xAOD::VxType::PriVtx) {
42  pv = vx;
43  break;
44  }
45  }
46 
47  // Get the track container
49  if(!tracks.isValid()) {
50  ATH_MSG_ERROR ("Couldn't retrieve TrackParticleContainer with key " << m_trackParticlesName.key());
51  return StatusCode::FAILURE;
52  }
53 
54  // Decorator
56 
57  // Get track quality this is what we're adding
58  for(const auto* track:*tracks) {
59  if(pv) decorator(*track) =GetTrackQualityNew(track,pv);
60  else decorator(*track) = 0;
61  }
62 
63  return StatusCode::SUCCESS;
64 }

◆ GetTrackQuality()

unsigned short DerivationFramework::HITrackQualityAugmentationTool::GetTrackQuality ( const xAOD::TrackParticle track,
float  z_vtx 
) const
private

Definition at line 134 of file HITrackQualityAugmentationTool.cxx.

134  {
135  //-------------------------------------------------------------------------------------------------
136  float pt = track->pt();
137  float eta = track->eta();
138  //float phi = track->phi();
139 
140 
141  static const SG::AuxElement::ConstAccessor<unsigned char> acc_n_Ipix_hits("numberOfInnermostPixelLayerHits");
142  static const SG::AuxElement::ConstAccessor<unsigned char> acc_n_Ipix_expected("expectInnermostPixelLayerHit");
143  static const SG::AuxElement::ConstAccessor<unsigned char> acc_n_NIpix_hits("numberOfNextToInnermostPixelLayerHits");
144  static const SG::AuxElement::ConstAccessor<unsigned char> acc_n_NIpix_expected("expectNextToInnermostPixelLayerHit");
145  static const SG::AuxElement::ConstAccessor<unsigned char> acc_n_sct_hits("numberOfSCTHits");
146  static const SG::AuxElement::ConstAccessor<unsigned char> acc_n_pix_hits("numberOfPixelHits");
147  static const SG::AuxElement::ConstAccessor<unsigned char> acc_n_sct_holes("numberOfSCTHoles");
148  static const SG::AuxElement::ConstAccessor<unsigned char> acc_n_sct_dead("numberOfSCTDeadSensors");
149  static const SG::AuxElement::ConstAccessor<unsigned char> acc_n_pix_dead("numberOfPixelDeadSensors");
150 
151  int n_Ipix_hits = acc_n_Ipix_hits(*track);
152  int n_Ipix_expected = acc_n_Ipix_expected(*track);
153  int n_NIpix_hits = acc_n_NIpix_hits(*track);
154  int n_NIpix_expected = acc_n_NIpix_expected(*track);
155  int n_sct_hits = acc_n_sct_hits(*track);
156  int n_pix_hits = acc_n_pix_hits(*track);
157  int n_sct_holes = acc_n_sct_holes(*track);
158  int n_sct_dead = acc_n_sct_dead(*track);
159  int n_pix_dead = acc_n_pix_dead(*track);
160 
161 
162  float chi2=track->chiSquared();
163  float ndof=track->numberDoF();
164 
165  float d0 = track->d0();
166  float z0_wrtPV= track->z0()+track->vz()-z_vtx;
167  float theta = track->theta();
168  //-------------------------------------------------------------------------------------------------
169 
170 
171  //-------------------------------------------------------------------------------------------------
172  bool pass_min_bias=true;
173  {
174  if(fabs(eta)>2.5) pass_min_bias=false;
175  if(n_Ipix_expected>0){
176  if (n_Ipix_hits==0) pass_min_bias=false;
177  }
178  else{
179  if(n_NIpix_expected>0 && n_NIpix_hits==0) pass_min_bias=false;
180  }
181 
182  int n_sct=n_sct_hits+n_sct_dead;
183  if (pt<=300) {if (n_sct <2) pass_min_bias=false;}
184  else if(pt<=400) {if (n_sct <4) pass_min_bias=false;}
185  else if(pt> 400) {if (n_sct <6) pass_min_bias=false;}
186 
187  int n_pix=n_pix_hits+n_pix_dead;
188  if(n_pix<=0) pass_min_bias=false;
189 
190  if(fabs(d0)>1.5) pass_min_bias=false;
191  if(fabs(z0_wrtPV*sin(theta))>1.5) pass_min_bias=false;
192 
193  if(pt>10000 && TMath::Prob(chi2,ndof)<=0.01) pass_min_bias=false;
194  //if(n_sct_holes>1 || n_pix_holes>0) continue;
195  //if(n_pix_hits<3 || n_sct_hits<8) continue;
196  }
197  //-------------------------------------------------------------------------------------------------
198 
199 
200 
201  //-------------------------------------------------------------------------------------------------
202  bool pass_hi_loose=true;
203  {
204  if(fabs(eta)>2.5) pass_hi_loose=false;
205  if(n_Ipix_expected>0){
206  if (n_Ipix_hits==0) pass_hi_loose=false;
207  }
208  else{
209  if(n_NIpix_expected>0 && n_NIpix_hits==0) pass_hi_loose=false;
210  }
211 
212  if(n_pix_hits==0) pass_hi_loose=false;
213  if(n_sct_hits< 6) pass_hi_loose=false;
214  if(pt>10000 && TMath::Prob(chi2,ndof)<=0.01) pass_hi_loose=false;
215  if(fabs(d0) >1.5) pass_hi_loose=false;
216  if(fabs(z0_wrtPV*sin(theta))>1.5) pass_hi_loose=false;
217  }
218  //-------------------------------------------------------------------------------------------------
219 
220 
221 
222  //-------------------------------------------------------------------------------------------------
223  bool pass_hi_loose_additional_SCT_hit=true;
224  if(!pass_hi_loose) pass_hi_loose_additional_SCT_hit=false;
225  else{
226  if(n_sct_hits<7) pass_hi_loose_additional_SCT_hit=false;
227  }
228  //-------------------------------------------------------------------------------------------------
229 
230 
231 
232  //-------------------------------------------------------------------------------------------------
233  bool pass_hi_loose_tight_d0_z0=true;
234  if(!pass_hi_loose || fabs(d0)>1.0 || fabs(z0_wrtPV*sin(theta))>1.0) pass_hi_loose_tight_d0_z0=false;
235  //-------------------------------------------------------------------------------------------------
236 
237 
238 
239  //-------------------------------------------------------------------------------------------------
240  bool pass_hi_loose_tighter_d0_z0=true;
241  if(!pass_hi_loose || fabs(d0)>0.5 || fabs(z0_wrtPV*sin(theta))>0.5) pass_hi_loose_tighter_d0_z0=false;
242  //-------------------------------------------------------------------------------------------------
243 
244 
245 
246  //-------------------------------------------------------------------------------------------------
247  bool pass_hi_tight_loose_d0_z0=true;
248  if(!pass_hi_loose) pass_hi_tight_loose_d0_z0=false;
249  else{
250  if(n_pix_hits <2 ) pass_hi_tight_loose_d0_z0=false;
251  if(n_sct_hits <8 ) pass_hi_tight_loose_d0_z0=false;
252  if(n_sct_holes>1 ) pass_hi_tight_loose_d0_z0=false;
253  if(ndof==0) pass_hi_tight_loose_d0_z0=false;
254  else if(chi2/ndof>6) pass_hi_tight_loose_d0_z0=false;
255  }
256  //-------------------------------------------------------------------------------------------------
257 
258 
259 
260  //-------------------------------------------------------------------------------------------------
261  bool pass_hi_tight=true;
262  if(!pass_hi_loose) pass_hi_tight=false;
263  else{
264  if(n_pix_hits <2 ) pass_hi_tight=false;
265  if(n_sct_hits <8 ) pass_hi_tight=false;
266  if(n_sct_holes>1 ) pass_hi_tight=false;
267  if(fabs(d0) >1.0) pass_hi_tight=false;
268  if(fabs(z0_wrtPV*sin(theta))>1.0) pass_hi_tight=false;
269  if(ndof==0) pass_hi_tight=false;
270  else if(chi2/ndof>6) pass_hi_tight=false;
271  }
272  //-------------------------------------------------------------------------------------------------
273 
274 
275 
276  //-------------------------------------------------------------------------------------------------
277  bool pass_hi_tight_tighter_d0_z0=true;
278  if(!pass_hi_tight) pass_hi_tight_tighter_d0_z0=false;
279  else{
280  if(fabs(d0)>0.5 || fabs(z0_wrtPV*sin(theta))>0.5) pass_hi_tight_tighter_d0_z0=false;
281  }
282  //-------------------------------------------------------------------------------------------------
283 
284 
285 
286 
287 
288  unsigned short quality =0;
289  if(pass_min_bias ) quality+=PP_MIN_BIAS;
290  if(pass_hi_loose ) quality+=HI_LOOSE;
291  if(pass_hi_loose_additional_SCT_hit) quality+=HI_LOOSE_7SCT_HITS;
292  if(pass_hi_loose_tight_d0_z0 ) quality+=HI_LOOSE_TIGHT_D0_Z0;
293  if(pass_hi_loose_tighter_d0_z0 ) quality+=HI_LOOSE_TIGHTER_D0_Z0;
294  if(pass_hi_tight_loose_d0_z0 ) quality+=HI_TIGHT_LOOSE_D0_Z0;
295  if(pass_hi_tight ) quality+=HI_TIGHT;
296  if(pass_hi_tight_tighter_d0_z0 ) quality+=HI_TIGHT_TIGHTER_D0_Z0;
297  return quality;
298 }

◆ GetTrackQualityNew()

unsigned short DerivationFramework::HITrackQualityAugmentationTool::GetTrackQualityNew ( const xAOD::TrackParticle track,
const xAOD::Vertex pv 
) const
private

Definition at line 67 of file HITrackQualityAugmentationTool.cxx.

67  {
68 
69  static const SG::AuxElement::ConstAccessor<unsigned char> acc_n_sct_hits("numberOfSCTHits");
70  int n_sct_hits = acc_n_sct_hits(*track);
71 
72 
73  float d0 = track->d0();
74  float z0_wrtPV= track->z0()+track->vz()-pv->z();
75  float theta = track->theta();
76 
77  //-------------------------------------------------------------------------------------------------
78  bool pass_min_bias=false;
79  if (m_trkSelTool_pp->accept(*track, pv)) pass_min_bias=true;
80  //-------------------------------------------------------------------------------------------------
81  //-------------------------------------------------------------------------------------------------
82  bool pass_hi_loose=false;
83  if (m_trkSelTool_hi_loose->accept(*track, pv)) pass_hi_loose=true;
84  //-------------------------------------------------------------------------------------------------
85  //-------------------------------------------------------------------------------------------------
86  bool pass_hi_loose_additional_SCT_hit=true;
87  if(!pass_hi_loose || n_sct_hits<7) pass_hi_loose_additional_SCT_hit=false;
88  //-------------------------------------------------------------------------------------------------
89  //-------------------------------------------------------------------------------------------------
90  bool pass_hi_loose_tight_d0_z0=true;
91  if(!pass_hi_loose || fabs(d0)>1.0 || fabs(z0_wrtPV*sin(theta))>1.0) pass_hi_loose_tight_d0_z0=false;
92  //-------------------------------------------------------------------------------------------------
93  //-------------------------------------------------------------------------------------------------
94  bool pass_hi_loose_tighter_d0_z0=true;
95  if(!pass_hi_loose || fabs(d0)>0.5 || fabs(z0_wrtPV*sin(theta))>0.5) pass_hi_loose_tighter_d0_z0=false;
96  //-------------------------------------------------------------------------------------------------
97  //-------------------------------------------------------------------------------------------------
98  bool pass_hi_tight=false;
99  if (m_trkSelTool_hi_tight->accept(*track, pv)) pass_hi_tight=true;
100  //-------------------------------------------------------------------------------------------------
101  //-------------------------------------------------------------------------------------------------
102  bool pass_hi_tight_loose_d0_z0=true;
103  if(pass_hi_tight==false){
104  const auto& taccept = m_trkSelTool_hi_tight->getAcceptInfo();
105  asg::AcceptData acceptData(&taccept);
106  static const auto d0Index = taccept.getCutPosition("D0");
107  static const auto z0Index = taccept.getCutPosition("Z0SinTheta");
108  static const auto nCuts = taccept.getNCuts();
109  auto cutBitset = acceptData.getCutResultBitSet();
110  cutBitset |= (1 << d0Index) | (1 << z0Index);
111  if(cutBitset.count() != nCuts ) pass_hi_tight_loose_d0_z0=false;
112  if(fabs(d0)>1.5 || fabs(z0_wrtPV*sin(theta))>1.5) pass_hi_tight_loose_d0_z0=false;
113  }
114  //-------------------------------------------------------------------------------------------------
115  //-------------------------------------------------------------------------------------------------
116  bool pass_hi_tight_tighter_d0_z0=true;
117  if(!pass_hi_tight || fabs(d0)>0.5 || fabs(z0_wrtPV*sin(theta))>0.5) pass_hi_tight_tighter_d0_z0=false;
118  //-------------------------------------------------------------------------------------------------
119 
120  unsigned short quality =0;
121  if(pass_min_bias ) quality+=PP_MIN_BIAS;
122  if(pass_hi_loose ) quality+=HI_LOOSE;
123  if(pass_hi_loose_additional_SCT_hit) quality+=HI_LOOSE_7SCT_HITS;
124  if(pass_hi_loose_tight_d0_z0 ) quality+=HI_LOOSE_TIGHT_D0_Z0;
125  if(pass_hi_loose_tighter_d0_z0 ) quality+=HI_LOOSE_TIGHTER_D0_Z0;
126  if(pass_hi_tight_loose_d0_z0 ) quality+=HI_TIGHT_LOOSE_D0_Z0;
127  if(pass_hi_tight ) quality+=HI_TIGHT;
128  if(pass_hi_tight_tighter_d0_z0 ) quality+=HI_TIGHT_TIGHTER_D0_Z0;
129  return quality;
130 }

◆ initialize()

StatusCode DerivationFramework::HITrackQualityAugmentationTool::initialize ( )
overridevirtual

Definition at line 16 of file HITrackQualityAugmentationTool.cxx.

17 {
19  ATH_CHECK(m_vertexContainerName.initialize());
22 
23  CHECK(m_trkSelTool_pp.retrieve());
24  CHECK(m_trkSelTool_hi_loose.retrieve());
25  CHECK(m_trkSelTool_hi_tight.retrieve());
26 
27  return StatusCode::SUCCESS;
28 }

Member Data Documentation

◆ m_decorator

SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> DerivationFramework::HITrackQualityAugmentationTool::m_decorator { this, "TrackQuality", "TrackQuality", ""}
private

Definition at line 51 of file HITrackQualityAugmentationTool.h.

◆ m_trackParticlesName

SG::ReadHandleKey<xAOD::TrackParticleContainer> DerivationFramework::HITrackQualityAugmentationTool::m_trackParticlesName {this, "TrackParticlesName", "InDetTrackParticles", ""}
private

Definition at line 48 of file HITrackQualityAugmentationTool.h.

◆ m_trkSelTool_hi_loose

ToolHandle<InDet::IInDetTrackSelectionTool> DerivationFramework::HITrackQualityAugmentationTool::m_trkSelTool_hi_loose {this, "TrackSelectionTool_hi_loose", "", ""}
private

Definition at line 54 of file HITrackQualityAugmentationTool.h.

◆ m_trkSelTool_hi_tight

ToolHandle<InDet::IInDetTrackSelectionTool> DerivationFramework::HITrackQualityAugmentationTool::m_trkSelTool_hi_tight {this, "TrackSelectionTool_hi_tight", "", ""}
private

Definition at line 55 of file HITrackQualityAugmentationTool.h.

◆ m_trkSelTool_pp

ToolHandle<InDet::IInDetTrackSelectionTool> DerivationFramework::HITrackQualityAugmentationTool::m_trkSelTool_pp {this, "TrackSelectionTool_pp", "", ""}
private

Definition at line 53 of file HITrackQualityAugmentationTool.h.

◆ m_vertexContainerName

SG::ReadHandleKey<xAOD::VertexContainer> DerivationFramework::HITrackQualityAugmentationTool::m_vertexContainerName {this, "VertexContainerName", "PrimaryVertices", ""}
private

Definition at line 49 of file HITrackQualityAugmentationTool.h.


The documentation for this class was generated from the following files:
IDTPM::ndof
float ndof(const U &p)
Definition: TrackParametersHelper.h:134
DerivationFramework::HITrackQualityAugmentationTool::HI_LOOSE
@ HI_LOOSE
Definition: HITrackQualityAugmentationTool.h:30
DerivationFramework::HITrackQualityAugmentationTool::HI_TIGHT_LOOSE_D0_Z0
@ HI_TIGHT_LOOSE_D0_Z0
Definition: HITrackQualityAugmentationTool.h:37
DerivationFramework::HITrackQualityAugmentationTool::HI_TIGHT
@ HI_TIGHT
Definition: HITrackQualityAugmentationTool.h:35
DerivationFramework::HITrackQualityAugmentationTool::m_decorator
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_decorator
Definition: HITrackQualityAugmentationTool.h:51
DerivationFramework::HITrackQualityAugmentationTool::m_trkSelTool_pp
ToolHandle< InDet::IInDetTrackSelectionTool > m_trkSelTool_pp
Definition: HITrackQualityAugmentationTool.h:53
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
theta
Scalar theta() const
theta method
Definition: AmgMatrixBasePlugin.h:75
DerivationFramework::HITrackQualityAugmentationTool::PP_MIN_BIAS
@ PP_MIN_BIAS
Definition: HITrackQualityAugmentationTool.h:28
test_pyathena.pt
pt
Definition: test_pyathena.py:11
DerivationFramework::HITrackQualityAugmentationTool::HI_LOOSE_7SCT_HITS
@ HI_LOOSE_7SCT_HITS
Definition: HITrackQualityAugmentationTool.h:31
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:55
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
DerivationFramework::HITrackQualityAugmentationTool::m_trkSelTool_hi_loose
ToolHandle< InDet::IInDetTrackSelectionTool > m_trkSelTool_hi_loose
Definition: HITrackQualityAugmentationTool.h:54
DerivationFramework::HITrackQualityAugmentationTool::HI_LOOSE_TIGHT_D0_Z0
@ HI_LOOSE_TIGHT_D0_Z0
Definition: HITrackQualityAugmentationTool.h:32
DerivationFramework::HITrackQualityAugmentationTool::m_trkSelTool_hi_tight
ToolHandle< InDet::IInDetTrackSelectionTool > m_trkSelTool_hi_tight
Definition: HITrackQualityAugmentationTool.h:55
DerivationFramework::HITrackQualityAugmentationTool::HI_LOOSE_TIGHTER_D0_Z0
@ HI_LOOSE_TIGHTER_D0_Z0
Definition: HITrackQualityAugmentationTool.h:33
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
beamspotman.n
n
Definition: beamspotman.py:727
SG::WriteDecorHandle
Handle class for adding a decoration to an object.
Definition: StoreGate/StoreGate/WriteDecorHandle.h:100
xAOD::VxType::PriVtx
@ PriVtx
Primary vertex.
Definition: TrackingPrimitives.h:572
chi2
double chi2(TH1 *h0, TH1 *h1)
Definition: comparitor.cxx:525
TRT::Track::d0
@ d0
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:62
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
DerivationFramework::HITrackQualityAugmentationTool::m_trackParticlesName
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackParticlesName
Definition: HITrackQualityAugmentationTool.h:48
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
SG::WriteDecorHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
python.TrackLeptonConfig.quality
quality
Definition: TrackLeptonConfig.py:16
python.changerun.pv
pv
Definition: changerun.py:79
DerivationFramework::HITrackQualityAugmentationTool::GetTrackQualityNew
unsigned short GetTrackQualityNew(const xAOD::TrackParticle *track, const xAOD::Vertex *pv) const
Definition: HITrackQualityAugmentationTool.cxx:67
DerivationFramework::HITrackQualityAugmentationTool::m_vertexContainerName
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainerName
Definition: HITrackQualityAugmentationTool.h:49
xAOD::track
@ track
Definition: TrackingPrimitives.h:513
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
DerivationFramework::HITrackQualityAugmentationTool::HI_TIGHT_TIGHTER_D0_Z0
@ HI_TIGHT_TIGHTER_D0_Z0
Definition: HITrackQualityAugmentationTool.h:36
asg::AcceptData
Definition: AcceptData.h:30