ATLAS Offline Software
Loading...
Searching...
No Matches
InDetAlignHitQualSelTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDETALIGNTOOLS_HITQUALSELTOOL_H
6#define INDETALIGNTOOLS_HITQUALSELTOOL_H
7
9// #include "GaudiKernel/ToolHandle.h"
11// #include "AthenaBaseComps/AthMsgStreamMacros.h"
12
13
21 // Many thanks to Carlos Escobar and Sebastian Fleischmann!
22
23namespace Trk {
25 class RIO_OnTrack ;
26 class PrepRawData ;
27}
28namespace InDetDD {
30}
31class AtlasDetectorID ;
32class Identifier ;
33
35 public:
36 InDetAlignHitQualSelTool( const std::string&, const std::string&, const IInterface* ) ;
38
39 virtual StatusCode initialize() ;
40 virtual StatusCode finalize () ;
41
44 const Trk::RIO_OnTrack* getGoodHit( const Trk::TrackStateOnSurface* tsos ) const ;
45
46 bool isGoodSiHit( const Trk::TrackStateOnSurface* tsos ) const ;
47
50 bool getGoodHole( const Trk::TrackStateOnSurface* tsos ) const ;
51 private:
52 // methods
54 bool isGangedPixel( const Trk::PrepRawData* prd ) const ;
56 bool isGoodClusterSize( const std::vector<Identifier>& idVec ) const ;
58 bool isEdgeChannel( const std::vector<Identifier>& idVec ) const ;
60 double incidAngle( const Trk::TrackParameters* trkPar
61 , const InDetDD::SiDetectorElement* detEle
62 ) const ;
64 bool isGoodAngle( const Trk::TrackParameters* trkPar
65 , const InDetDD::SiDetectorElement* detEle
66 ) const ;
67 // steering parameters
70 /* maximum size of the cluster forming the hit. typically, clusters with more than
71 5 pixels/hits are due to brem and are of less quality for alignment. */
77
82
83 // acceptIBLHits -> if true, IBL hits are accepted if they satisfy the quality selection criteria.
84 // if false, IBL hits are always rejected
86
87 // acceptPixelHits -> if true, pixel hits are accepted if they satisfy the quality selection criteria.
88 // if false, pixel hits are always rejected
90
91 // acceptSCTHits -> if true, SCT hits are accepted if they satisfy the quality selection criteria.
92 // if false, SCT hits are always rejected
94
95 // "infrastructure" members
96
99 const SCT_ID* m_sctID ;
100} ;
101
102#endif // INDETALIGNTOOLS_HITQUALSELTOOL_H
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
bool m_rejectEdgeChannels
reject clusters containing edge channels
bool m_rejectGangedPixels
reject clusters containing ganged pixels
bool isGoodSiHit(const Trk::TrackStateOnSurface *tsos) const
const PixelID * m_pixelid
Pixel id helper.
bool isGangedPixel(const Trk::PrepRawData *prd) const
check, whether cluster contains a ganged pixel
float m_maxIncidAngle
maximum incidence angle of a track (to which the hit belongs) on the Si-module.
double incidAngle(const Trk::TrackParameters *trkPar, const InDetDD::SiDetectorElement *detEle) const
calculate track incidence angle in local x-z frame
const Trk::RIO_OnTrack * getGoodHit(const Trk::TrackStateOnSurface *tsos) const
main method: from a TrackStateOnSurface select a good hit cutting on outlier hits,...
const InDetDD::PixelDetectorManager * m_PIXManager
to get pixel phi and eta identifiers
const SCT_ID * m_sctID
Pixel id helper.
InDetAlignHitQualSelTool(const std::string &, const std::string &, const IInterface *)
bool isGoodAngle(const Trk::TrackParameters *trkPar, const InDetDD::SiDetectorElement *detEle) const
check whether track incidence angle within limits of m_maxIncidAngle
bool isGoodClusterSize(const std::vector< Identifier > &idVec) const
check, whether cluster size within limits of m_maxClusterSize
bool getGoodHole(const Trk::TrackStateOnSurface *tsos) const
from a TrackStateOnSurface select a good hole in track cutting on large incidence angles only
bool m_rejectOutliers
reject hits labeled as outliers by the track fitter
bool isEdgeChannel(const std::vector< Identifier > &idVec) const
check, whether the strip/pixel is an edge channel
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
Class to hold geometrical description of a silicon detector element.
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:67
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
Definition RIO_OnTrack.h:70
represents the track state (measurement, material, fit parameters and quality) at a surface.
Message Stream Member.
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersBase< TrackParametersDim, Charged > TrackParameters