ATLAS Offline Software
SiTools_xk.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 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 
28 namespace InDet{
29 
30  class SiTools_xk
31  {
33  // Public methods:
35 
36  public:
37 
38  SiTools_xk();
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;}
67  bool usePRDtoTrackAssociation() const {return m_useassoTool;}
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;
85  if (!m_prdToTrackMap) m_useassoTool=false;
86  }
88  void setPixelDetectorElementStatus(const InDet::SiDetectorElementStatus *pixelDetElStatus) { m_pixelDetElStatus=pixelDetElStatus; }
89  void setSCTDetectorElementStatus(const InDet::SiDetectorElementStatus *sctDetElStatus) { m_sctDetElStatus=sctDetElStatus; }
90 
93  void setTools(const Trk::IBoundaryCheckTool*);
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 ; // Max Xi2 for updator
126  double m_xi2maxBrem ; // Max Xi2 for updator (brem fit)
127  double m_xi2maxNoAdd; // Max Xi2 outlayer
128  double m_xi2maxlink ; // Max Xi2 for search
129  double m_xi2multi ; // Max Xi2 for multi tracks
130  double m_pTmin ; // min pT
131  int m_nholesmax ; // Max number holes
132  int m_dholesmax ; // Max holes gap
133  int m_nclusmin ; // Min number clusters
134  int m_maxclusters; // Max closest clusters in detector elements
135  bool m_useassoTool = false; // 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 
150  // Inline methods
152 
154  {
155  m_fieldtool = nullptr;
156  m_proptool = nullptr;
157  m_updatortool = nullptr;
158  m_riotool = nullptr;
159  m_pixcond = nullptr;
160  m_sctcond = nullptr;
161  m_boundaryCheckTool = nullptr;
162  m_xi2max = 9. ;
163  m_xi2maxBrem = 15. ;
164  m_xi2maxlink = 200.;
165  m_xi2multi = 5. ;
166  m_xi2maxNoAdd = 20. ;
167  m_pTmin = 500.;
168  m_nholesmax = 2 ;
169  m_dholesmax = 1 ;
170  m_nclusmin = 5 ;
171  m_multitrack = false;
172  m_bremnoise = false;
173  m_electron = false;
174  m_heavyion = false;
175  m_doFastTracking = false;
176  m_ITkGeometry = false;
177  m_maxclusters = 3;
178  }
179 
183  const Trk::IRIO_OnTrackCreator* RO
184  )
185  {
186  m_proptool = PR;
187  m_updatortool = UP;
188  m_riotool = RO;
189  }
190 
191  inline void SiTools_xk::setFieldCondObj(const AtlasFieldCacheCondObj* fieldCondObj)
192  {
194  }
195 
197  (const Trk::MagneticFieldProperties* MF)
198  {
199  m_fieldtool = MF;
200  }
203  {
205  }
206 
207 
209  (const IInDetConditionsTool* pix,
210  const IInDetConditionsTool* sct)
211  {
212  m_pixcond = pix;
213  m_sctcond = sct;
214  }
215 
217  (const double& xi2m,const double& xi2mNoAdd,const double& xi2ml,const double& pT)
218  {
219  m_xi2max = fabs(xi2m );
220  m_xi2maxNoAdd = fabs(xi2mNoAdd);
221  m_xi2maxlink = fabs(xi2ml );
222  m_pTmin = fabs(pT );
223  }
224 
226  (const int& h,const int& dh,const int& cl)
227  {
228  m_nholesmax = h ;
229  m_dholesmax = dh;
230  m_nclusmin = cl;
231  }
232  inline void SiTools_xk::setAssociation(const int& A)
233  {
234  if( m_prdToTrackMap && A) m_useassoTool = true ;
235  else m_useassoTool = false;
236  }
237  inline void SiTools_xk::setMultiTracks(const int M,double X)
238  {
239  M ? m_multitrack = true : m_multitrack = false;
240  m_xi2multi = X;
241  }
242 
243  inline void SiTools_xk::setBremNoise(bool B,bool E)
244  {
245  m_bremnoise = B;
246  m_electron = E;
247  }
248 
249  inline void SiTools_xk::setHeavyIon(bool HI)
250  {
251  m_heavyion = HI;
252  }
253 
254  inline void SiTools_xk::setFastTracking (bool doFastTracking)
255  {
256  m_doFastTracking = doFastTracking;
257  }
258 
259  inline void SiTools_xk::setITkGeometry(bool isITk)
260  {
261  m_ITkGeometry = isITk;
262  }
263 } // end of name space
264 
265 #endif // SiTools_xk
266 
267 
InDet::SiTools_xk::SiTools_xk
SiTools_xk(const SiTools_xk &)=default
InDet::SiTools_xk::multiTrack
const bool & multiTrack() const
Definition: SiTools_xk.h:68
InDet::SiTools_xk::m_xi2maxlink
double m_xi2maxlink
Definition: SiTools_xk.h:128
PRDtoTrackMap.h
CalculateHighPtTerm.pT
pT
Definition: ICHEP2016/CalculateHighPtTerm.py:57
InDet::SiTools_xk::m_maxclusters
int m_maxclusters
Definition: SiTools_xk.h:134
InDet::SiTools_xk::m_sctDetElStatus
const InDet::SiDetectorElementStatus * m_sctDetElStatus
Definition: SiTools_xk.h:123
IInDetConditionsTool.h
InDet::SiDetectorElementStatus::getElementStatus
const std::vector< bool > & getElementStatus() const
Definition: SiDetectorElementStatus.h:116
InDet::SiTools_xk::pixcond
const IInDetConditionsTool * pixcond() const
Definition: SiTools_xk.h:54
Trk::MagneticFieldProperties
Definition: MagneticFieldProperties.h:31
InDet::SiTools_xk::setFieldCondObj
void setFieldCondObj(const AtlasFieldCacheCondObj *fieldCondObj)
Definition: SiTools_xk.h:191
InDet::SiTools_xk::setHolesClusters
void setHolesClusters(const int &, const int &, const int &)
Definition: SiTools_xk.h:226
AtlasFieldCacheCondObj
Definition: AtlasFieldCacheCondObj.h:19
InDet::SiTools_xk::m_prdToTrackMap
const Trk::PRDtoTrackMap * m_prdToTrackMap
PRD to track association maps.
Definition: SiTools_xk.h:121
SiDetectorElementStatus.h
Trk::PRDtoTrackMap
Definition: PRDtoTrackMap.h:17
AtlasFieldCacheCondObj.h
InDet::SiTools_xk::m_xi2max
double m_xi2max
Definition: SiTools_xk.h:125
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
IRIO_OnTrackCreator.h
InDet::SiTools_xk::m_fieldtool
const Trk::MagneticFieldProperties * m_fieldtool
Definition: SiTools_xk.h:111
InDet::SiTools_xk::xi2maxBrem
const double & xi2maxBrem() const
Definition: SiTools_xk.h:58
bound
@ bound
Definition: L1CaloPprPlotManager.h:74
InDet::SiTools_xk::electron
const bool & electron() const
Definition: SiTools_xk.h:70
InDet::SiTools_xk::operator=
SiTools_xk & operator=(const SiTools_xk &)=default
InDet::SiTools_xk::m_xi2multi
double m_xi2multi
Definition: SiTools_xk.h:129
InDet::SiTools_xk::boundaryCheckTool
const Trk::IBoundaryCheckTool * boundaryCheckTool() const
Definition: SiTools_xk.h:56
PyPoolBrowser.dh
dh
Definition: PyPoolBrowser.py:102
Trk::IPatternParametersPropagator
interface for track parameter propagation through the magnetic field, using the Trk::PatternTrackPara...
Definition: IPatternParametersPropagator.h:41
InDet::SiTools_xk::PRDtoTrackMap
const Trk::PRDtoTrackMap * PRDtoTrackMap() const
Definition: SiTools_xk.h:87
Trk::IBoundaryCheckTool
Definition: IBoundaryCheckTool.h:23
InDet::SiTools_xk::m_heavyion
bool m_heavyion
Definition: SiTools_xk.h:139
InDet::SiTools_xk::m_riotool
const Trk::IRIO_OnTrackCreator * m_riotool
Definition: SiTools_xk.h:117
InDet::SiTools_xk::xi2maxlink
const double & xi2maxlink() const
Definition: SiTools_xk.h:60
InDet::SiTools_xk::m_fieldCondObj
const AtlasFieldCacheCondObj * m_fieldCondObj
Definition: SiTools_xk.h:112
Monitored::X
@ X
Definition: HistogramFillerUtils.h:24
InDet::SiTools_xk::setHeavyIon
void setHeavyIon(bool)
Definition: SiTools_xk.h:249
InDet::SiTools_xk::heavyion
const bool & heavyion() const
Definition: SiTools_xk.h:71
MagneticFieldProperties.h
InDet::SiTools_xk::isITkGeometry
const bool & isITkGeometry() const
Definition: SiTools_xk.h:73
Trk::IPatternParametersUpdator
Interface for updating Trk::PatternTrackParameters, the fast internal representation of track paramet...
Definition: IPatternParametersUpdator.h:40
IPatternParametersUpdator.h
InDet::SiTools_xk::xi2maxNoAdd
const double & xi2maxNoAdd() const
Definition: SiTools_xk.h:59
InDet::SiTools_xk::fieldTool
const Trk::MagneticFieldProperties & fieldTool() const
Definition: SiTools_xk.h:47
InDet::SiTools_xk::setFastTracking
void setFastTracking(bool)
Definition: SiTools_xk.h:254
InDet::SiTools_xk::m_ITkGeometry
bool m_ITkGeometry
Definition: SiTools_xk.h:141
InDet::SiTools_xk::m_boundaryCheckTool
const Trk::IBoundaryCheckTool * m_boundaryCheckTool
Definition: SiTools_xk.h:120
InDet::SiTools_xk::useFastTracking
const bool & useFastTracking() const
Definition: SiTools_xk.h:72
InDet::SiTools_xk::~SiTools_xk
~SiTools_xk()=default
InDet::SiDetectorElementStatus
Definition: SiDetectorElementStatus.h:62
InDet::SiTools_xk::setBremNoise
void setBremNoise(bool, bool)
Definition: SiTools_xk.h:243
InDet::SiTools_xk::pixelStatus
const std::vector< bool > * pixelStatus() const
Definition: SiTools_xk.h:102
extractSporadic.h
list h
Definition: extractSporadic.py:97
InDet::SiTools_xk
Definition: SiTools_xk.h:31
InDet::SiTools_xk::maxholes
const int & maxholes() const
Definition: SiTools_xk.h:63
InDet::SiTools_xk::m_nclusmin
int m_nclusmin
Definition: SiTools_xk.h:133
InDet::SiTools_xk::m_nholesmax
int m_nholesmax
Definition: SiTools_xk.h:131
InDet::SiTools_xk::maxclusters
const int & maxclusters() const
Definition: SiTools_xk.h:66
InDet::SiTools_xk::m_xi2maxNoAdd
double m_xi2maxNoAdd
Definition: SiTools_xk.h:127
InDet::SiTools_xk::fieldCondObj
const AtlasFieldCacheCondObj * fieldCondObj() const
Definition: SiTools_xk.h:51
InDet::SiTools_xk::xi2multi
const double & xi2multi() const
Definition: SiTools_xk.h:61
InDet::SiTools_xk::bremNoise
const bool & bremNoise() const
Definition: SiTools_xk.h:69
xAOD::JetInput::HI
@ HI
Definition: JetContainerInfo.h:95
InDet::SiTools_xk::m_useassoTool
bool m_useassoTool
Definition: SiTools_xk.h:135
HI
Definition: HIEventDefs.h:14
InDet::SiTools_xk::m_pixcond
const IInDetConditionsTool * m_pixcond
Definition: SiTools_xk.h:118
InDet::SiTools_xk::m_pTmin
double m_pTmin
Definition: SiTools_xk.h:130
VP1PartSpect::E
@ E
Definition: VP1PartSpectFlags.h:21
InDet::SiTools_xk::m_dholesmax
int m_dholesmax
Definition: SiTools_xk.h:132
InDet::SiTools_xk::clustersmin
const int & clustersmin() const
Definition: SiTools_xk.h:65
InDet::SiTools_xk::setXi2pTmin
void setXi2pTmin(const double &, const double &, const double &, const double &)
Definition: SiTools_xk.h:217
InDet::SiTools_xk::setSCTDetectorElementStatus
void setSCTDetectorElementStatus(const InDet::SiDetectorElementStatus *sctDetElStatus)
Definition: SiTools_xk.h:89
InDet::SiTools_xk::m_doFastTracking
bool m_doFastTracking
Definition: SiTools_xk.h:140
InDet::SiTools_xk::sctcond
const IInDetConditionsTool * sctcond() const
Definition: SiTools_xk.h:55
InDet::SiTools_xk::m_electron
bool m_electron
Definition: SiTools_xk.h:138
IInDetConditionsTool
Definition: IInDetConditionsTool.h:27
InDet::SiTools_xk::propTool
const Trk::IPatternParametersPropagator * propTool() const
Definition: SiTools_xk.h:49
InDet::SiTools_xk::SiTools_xk
SiTools_xk()
Definition: SiTools_xk.h:153
InDet::SiTools_xk::m_multitrack
bool m_multitrack
Definition: SiTools_xk.h:136
h
InDet::SiTools_xk::m_updatortool
const Trk::IPatternParametersUpdator * m_updatortool
Definition: SiTools_xk.h:116
InDet::SiTools_xk::m_pixelDetElStatus
const InDet::SiDetectorElementStatus * m_pixelDetElStatus
Definition: SiTools_xk.h:122
InDet::SiTools_xk::updatorTool
const Trk::IPatternParametersUpdator * updatorTool() const
Definition: SiTools_xk.h:50
InDet::SiTools_xk::usePRDtoTrackAssociation
bool usePRDtoTrackAssociation() const
Definition: SiTools_xk.h:67
IBoundaryCheckTool.h
InDet::SiTools_xk::setITkGeometry
void setITkGeometry(bool)
Definition: SiTools_xk.h:259
InDet::SiTools_xk::setMultiTracks
void setMultiTracks(const int, double)
Definition: SiTools_xk.h:237
InDet::SiTools_xk::setAssociation
void setAssociation(const int &)
Definition: SiTools_xk.h:232
InDet::SiTools_xk::m_bremnoise
bool m_bremnoise
Definition: SiTools_xk.h:137
InDet::SiTools_xk::setPRDtoTrackMap
void setPRDtoTrackMap(const Trk::PRDtoTrackMap *prd_to_track_map)
Definition: SiTools_xk.h:83
InDet::SiTools_xk::setPixelDetectorElementStatus
void setPixelDetectorElementStatus(const InDet::SiDetectorElementStatus *pixelDetElStatus)
Definition: SiTools_xk.h:88
InDet::SiTools_xk::rioTool
const Trk::IRIO_OnTrackCreator * rioTool() const
Definition: SiTools_xk.h:53
InDet::SiTools_xk::m_proptool
const Trk::IPatternParametersPropagator * m_proptool
Definition: SiTools_xk.h:115
InDet::SiTools_xk::xi2max
const double & xi2max() const
Definition: SiTools_xk.h:57
InDet::SiTools_xk::m_sctcond
const IInDetConditionsTool * m_sctcond
Definition: SiTools_xk.h:119
Trk::IRIO_OnTrackCreator
Interface class for transforming Trk::PrepRawData to Trk::RIO_OnTrack using a local track hypothesis.
Definition: IRIO_OnTrackCreator.h:33
pix
Definition: PixelMapping.cxx:16
InDet::SiTools_xk::pTmin
const double & pTmin() const
Definition: SiTools_xk.h:62
dq_make_web_display.cl
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Definition: dq_make_web_display.py:26
IPatternParametersPropagator.h
InDet::SiTools_xk::m_xi2maxBrem
double m_xi2maxBrem
Definition: SiTools_xk.h:126
InDet::SiTools_xk::maxdholes
const int & maxdholes() const
Definition: SiTools_xk.h:64
InDet::SiTools_xk::setTools
void setTools(const Trk::IPatternParametersPropagator *, const Trk::IPatternParametersUpdator *, const Trk::IRIO_OnTrackCreator *)
Definition: SiTools_xk.h:181
InDet::SiTools_xk::sctStatus
const std::vector< bool > * sctStatus() const
Definition: SiTools_xk.h:103