ATLAS Offline Software
Loading...
Searching...
No Matches
SiTools_xk.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6// Header file for class SiTools_xk
8// (c) ATLAS Detector software
10// Class for trajector elements in Pixels and SCT
12// Version 1.0 3/10/2004 I.Gavrilenko
14
15#ifndef SiTools_xk_H
16#define SiTools_xk_H
17
27
28namespace InDet{
29
31 {
33 // Public methods:
35
36 public:
37
38 SiTools_xk() = default;
39 SiTools_xk(const SiTools_xk&) = default;
40 ~SiTools_xk() = default;
41 SiTools_xk& operator = (const SiTools_xk&) = default;
42
44 // Main methods
46
48
52
53 const Trk::IRIO_OnTrackCreator* rioTool () const {return m_riotool ;}
54 const IInDetConditionsTool* pixcond () const {return m_pixcond ;}
55 const IInDetConditionsTool* sctcond () const {return m_sctcond ;}
57 const double& xi2max () const {return m_xi2max ;}
58 const double& xi2maxBrem () const {return m_xi2maxBrem ;}
59 const double& xi2maxNoAdd() const {return m_xi2maxNoAdd;}
60 const double& xi2maxlink () const {return m_xi2maxlink ;}
61 const double& xi2multi () const {return m_xi2multi ;}
62 const double& pTmin () const {return m_pTmin ;}
63 const int& maxholes () const {return m_nholesmax ;}
64 const int& maxdholes () const {return m_dholesmax ;}
65 const int& clustersmin() const {return m_nclusmin ;}
66 const int& maxclusters() const {return m_maxclusters;}
68 const bool& multiTrack () const {return m_multitrack ;}
69 const bool& bremNoise () const {return m_bremnoise ;}
70 const bool& electron () const {return m_electron ;}
71 const bool& heavyion () const {return m_heavyion ;}
72 const bool& useFastTracking() const {return m_doFastTracking;}
73 const bool& isITkGeometry() const {return m_ITkGeometry;}
74
75 void setTools
79 );
80
82
83 void setPRDtoTrackMap(const Trk::PRDtoTrackMap* prd_to_track_map) {
84 m_prdToTrackMap = prd_to_track_map;
86 }
88 void setPixelDetectorElementStatus(const InDet::SiDetectorElementStatus *pixelDetElStatus) { m_pixelDetElStatus=pixelDetElStatus; }
89 void setSCTDetectorElementStatus(const InDet::SiDetectorElementStatus *sctDetElStatus) { m_sctDetElStatus=sctDetElStatus; }
90
94 void setXi2pTmin(const double&,const double&,const double&,const double&);
95 void setHolesClusters(const int&,const int&,const int&);
96 void setAssociation(const int&);
97 void setMultiTracks(const int,double);
98 void setBremNoise (bool,bool);
99 void setHeavyIon (bool);
100 void setFastTracking (bool);
101 void setITkGeometry (bool);
102 const std::vector<bool> *pixelStatus() const { return m_pixelDetElStatus ? &m_pixelDetElStatus->getElementStatus() : nullptr; }
103 const std::vector<bool> *sctStatus() const { return m_sctDetElStatus ? &m_sctDetElStatus->getElementStatus() : nullptr; }
104
105 protected:
106
108 // Protected Data
110
111 const Trk::MagneticFieldProperties* m_fieldtool{}; // Magnetic field properties
112 const AtlasFieldCacheCondObj* m_fieldCondObj{}; // Magnetic field conditions object to access cache
113
114
117 const Trk::IRIO_OnTrackCreator* m_riotool{} ; // RIOonTrack creator
118 const IInDetConditionsTool* m_pixcond{} ; // Condtionos for pixels
119 const IInDetConditionsTool* m_sctcond{} ; // Conditions for sct
120 const Trk::IBoundaryCheckTool* m_boundaryCheckTool{}; // Boundary checking tool for detector sensitivities
124
125 double m_xi2max{9.} ; // Max Xi2 for updator
126 double m_xi2maxBrem{15.} ; // Max Xi2 for updator (brem fit)
127 double m_xi2maxNoAdd{20.}; // Max Xi2 outlayer
128 double m_xi2maxlink{200.} ; // Max Xi2 for search
129 double m_xi2multi{5.} ; // Max Xi2 for multi tracks
130 double m_pTmin{500.} ; // min pT
131 int m_nholesmax{2} ; // Max number holes
132 int m_dholesmax{2} ; // Max holes gap
133 int m_nclusmin{5} ; // Min number clusters
134 int m_maxclusters{3}; // Max closest clusters in detector elements
135 bool m_useassoTool{}; // Use assosiation tool
136 bool m_multitrack{} ; // Do multi tracks
137 bool m_bremnoise{} ; // Do brem noise
138 bool m_electron{} ; // Do electron mode
139 bool m_heavyion{} ; // Is it heavy ion event
140 bool m_doFastTracking{}; // Do Fast Tracking setup
141 bool m_ITkGeometry{}; // Is ITk geometry
142
144 // Methods
146
147 };
148
149
154 )
155 {
156 m_proptool = PR;
157 m_updatortool = UP;
158 m_riotool = RO;
159 }
160
165
168 {
169 m_fieldtool = MF;
170 }
172 (const Trk::IBoundaryCheckTool* bound)
173 {
174 m_boundaryCheckTool = bound;
175 }
176
177
180 const IInDetConditionsTool* sct)
181 {
182 m_pixcond = pix;
183 m_sctcond = sct;
184 }
185
187 (const double& xi2m,const double& xi2mNoAdd,const double& xi2ml,const double& pT)
188 {
189 m_xi2max = fabs(xi2m );
190 m_xi2maxNoAdd = fabs(xi2mNoAdd);
191 m_xi2maxlink = fabs(xi2ml );
192 m_pTmin = fabs(pT );
193 }
194
196 (const int& h,const int& dh,const int& cl)
197 {
198 m_nholesmax = h ;
199 m_dholesmax = dh;
200 m_nclusmin = cl;
201 }
202 inline void SiTools_xk::setAssociation(const int& A)
203 {
204 if( m_prdToTrackMap && A) m_useassoTool = true ;
205 else m_useassoTool = false;
206 }
207 inline void SiTools_xk::setMultiTracks(const int M,double X)
208 {
209 M ? m_multitrack = true : m_multitrack = false;
210 m_xi2multi = X;
211 }
212
213 inline void SiTools_xk::setBremNoise(bool B,bool E)
214 {
215 m_bremnoise = B;
216 m_electron = E;
217 }
218
219 inline void SiTools_xk::setHeavyIon(bool HI)
220 {
221 m_heavyion = HI;
222 }
223
224 inline void SiTools_xk::setFastTracking (bool doFastTracking)
225 {
226 m_doFastTracking = doFastTracking;
227 }
228
229 inline void SiTools_xk::setITkGeometry(bool isITk)
230 {
231 m_ITkGeometry = isITk;
232 }
233} // end of name space
234
235#endif // SiTools_xk
236
237
Header file for AthHistogramAlgorithm.
Interface class for service providing summary of status of a detector element.
const std::vector< bool > * sctStatus() const
Definition SiTools_xk.h:103
const double & xi2maxBrem() const
Definition SiTools_xk.h:58
const double & xi2max() const
Definition SiTools_xk.h:57
void setITkGeometry(bool)
Definition SiTools_xk.h:229
const int & maxclusters() const
Definition SiTools_xk.h:66
const InDet::SiDetectorElementStatus * m_sctDetElStatus
Definition SiTools_xk.h:123
SiTools_xk & operator=(const SiTools_xk &)=default
const bool & isITkGeometry() const
Definition SiTools_xk.h:73
void setMultiTracks(const int, double)
Definition SiTools_xk.h:207
const IInDetConditionsTool * m_pixcond
Definition SiTools_xk.h:118
SiTools_xk(const SiTools_xk &)=default
const IInDetConditionsTool * m_sctcond
Definition SiTools_xk.h:119
const std::vector< bool > * pixelStatus() const
Definition SiTools_xk.h:102
bool usePRDtoTrackAssociation() const
Definition SiTools_xk.h:67
const Trk::IPatternParametersUpdator * m_updatortool
Definition SiTools_xk.h:116
const double & xi2maxlink() const
Definition SiTools_xk.h:60
void setXi2pTmin(const double &, const double &, const double &, const double &)
Definition SiTools_xk.h:187
const Trk::PRDtoTrackMap * PRDtoTrackMap() const
Definition SiTools_xk.h:87
void setPRDtoTrackMap(const Trk::PRDtoTrackMap *prd_to_track_map)
Definition SiTools_xk.h:83
const bool & heavyion() const
Definition SiTools_xk.h:71
void setTools(const Trk::IPatternParametersPropagator *, const Trk::IPatternParametersUpdator *, const Trk::IRIO_OnTrackCreator *)
Definition SiTools_xk.h:151
void setAssociation(const int &)
Definition SiTools_xk.h:202
const Trk::PRDtoTrackMap * m_prdToTrackMap
PRD to track association maps.
Definition SiTools_xk.h:121
const bool & bremNoise() const
Definition SiTools_xk.h:69
const Trk::IRIO_OnTrackCreator * rioTool() const
Definition SiTools_xk.h:53
void setHolesClusters(const int &, const int &, const int &)
Definition SiTools_xk.h:196
const Trk::IPatternParametersPropagator * m_proptool
Definition SiTools_xk.h:115
void setPixelDetectorElementStatus(const InDet::SiDetectorElementStatus *pixelDetElStatus)
Definition SiTools_xk.h:88
const int & maxholes() const
Definition SiTools_xk.h:63
const bool & multiTrack() const
Definition SiTools_xk.h:68
const AtlasFieldCacheCondObj * m_fieldCondObj
Definition SiTools_xk.h:112
const Trk::IPatternParametersPropagator * propTool() const
Definition SiTools_xk.h:49
const Trk::IRIO_OnTrackCreator * m_riotool
Definition SiTools_xk.h:117
const double & xi2multi() const
Definition SiTools_xk.h:61
const Trk::IBoundaryCheckTool * boundaryCheckTool() const
Definition SiTools_xk.h:56
const Trk::MagneticFieldProperties & fieldTool() const
Definition SiTools_xk.h:47
const bool & useFastTracking() const
Definition SiTools_xk.h:72
void setFieldCondObj(const AtlasFieldCacheCondObj *fieldCondObj)
Definition SiTools_xk.h:161
const AtlasFieldCacheCondObj * fieldCondObj() const
Definition SiTools_xk.h:51
void setSCTDetectorElementStatus(const InDet::SiDetectorElementStatus *sctDetElStatus)
Definition SiTools_xk.h:89
const bool & electron() const
Definition SiTools_xk.h:70
const IInDetConditionsTool * sctcond() const
Definition SiTools_xk.h:55
~SiTools_xk()=default
void setBremNoise(bool, bool)
Definition SiTools_xk.h:213
const int & maxdholes() const
Definition SiTools_xk.h:64
const Trk::IBoundaryCheckTool * m_boundaryCheckTool
Definition SiTools_xk.h:120
const Trk::MagneticFieldProperties * m_fieldtool
Definition SiTools_xk.h:111
const double & xi2maxNoAdd() const
Definition SiTools_xk.h:59
void setFastTracking(bool)
Definition SiTools_xk.h:224
const IInDetConditionsTool * pixcond() const
Definition SiTools_xk.h:54
SiTools_xk()=default
const double & pTmin() const
Definition SiTools_xk.h:62
void setHeavyIon(bool)
Definition SiTools_xk.h:219
const Trk::IPatternParametersUpdator * updatorTool() const
Definition SiTools_xk.h:50
const InDet::SiDetectorElementStatus * m_pixelDetElStatus
Definition SiTools_xk.h:122
const int & clustersmin() const
Definition SiTools_xk.h:65
interface for track parameter propagation through the magnetic field, using the Trk::PatternTrackPara...
Interface for updating Trk::PatternTrackParameters, the fast internal representation of track paramet...
Interface class for transforming Trk::PrepRawData to Trk::RIO_OnTrack using a local track hypothesis.
magnetic field properties to steer the behavior of the extrapolation
Primary Vertex Finder.
hold the test vectors and ease the comparison