ATLAS Offline Software
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 
28 namespace InDet{
29 
30  class SiTools_xk
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;}
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 
115  const Trk::IPatternParametersPropagator* m_proptool{}; // Propagator tool
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 
153  const Trk::IRIO_OnTrackCreator* RO
154  )
155  {
156  m_proptool = PR;
157  m_updatortool = UP;
158  m_riotool = RO;
159  }
160 
161  inline void SiTools_xk::setFieldCondObj(const AtlasFieldCacheCondObj* fieldCondObj)
162  {
164  }
165 
167  (const Trk::MagneticFieldProperties* MF)
168  {
169  m_fieldtool = MF;
170  }
172  (const Trk::IBoundaryCheckTool* bound)
173  {
174  m_boundaryCheckTool = bound;
175  }
176 
177 
179  (const IInDetConditionsTool* pix,
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 
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:161
InDet::SiTools_xk::setHolesClusters
void setHolesClusters(const int &, const int &, const int &)
Definition: SiTools_xk.h:196
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
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:219
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
A
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:224
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:213
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:187
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::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::SiTools_xk
SiTools_xk()=default
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:229
InDet::SiTools_xk::setMultiTracks
void setMultiTracks(const int, double)
Definition: SiTools_xk.h:207
InDet::SiTools_xk::setAssociation
void setAssociation(const int &)
Definition: SiTools_xk.h:202
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:151
InDet::SiTools_xk::sctStatus
const std::vector< bool > * sctStatus() const
Definition: SiTools_xk.h:103