ATLAS Offline Software
SiSpacePointsSeedMaker_ATLxk.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5 */
6 
8 // Header file for class SiSpacePointsSeedMaker_ATLxk
10 // Version 1.0 3/10/2004 I.Gavrilenko
12 
13 #ifndef SiSpacePointsSeedMaker_ATLxk_H
14 #define SiSpacePointsSeedMaker_ATLxk_H
15 
18 
25 #include "GaudiKernel/ITHistSvc.h"
26 #include "TFile.h"
27 #include "TTree.h"
28 
30 // MagField cache
34 
35 
36 #include <iosfwd>
37 #include <list>
38 #include <vector>
39 
40 class MsgStream;
41 //class TFile;
42 //class TTree;
43 
44 namespace InDet {
45 
46  using EventData = SiSpacePointsSeedMakerEventData;
47 
60  public extends<AthAlgTool, ISiSpacePointsSeedMaker>
61  {
63  // Public methods:
65 
66  public:
67 
71 
72  SiSpacePointsSeedMaker_ATLxk(const std::string&, const std::string&, const IInterface*);
73  virtual ~SiSpacePointsSeedMaker_ATLxk() = default;
74  virtual StatusCode initialize() override;
75  virtual StatusCode finalize() override;
77 
81 
82  virtual void newEvent (const EventContext& ctx, EventData& data, int iteration) const override;
83  virtual void newRegion(const EventContext& ctx, EventData& data,
84  const std::vector<IdentifierHash>& vPixel, const std::vector<IdentifierHash>& vSCT) const override;
85  virtual void newRegion(const EventContext& ctx,SiSpacePointsSeedMakerEventData& data,
86  const std::vector<IdentifierHash>& vPixel, const std::vector<IdentifierHash>& vSCT,
87  const IRoiDescriptor& iRD) const override;
89 
93 
94 
96  virtual void find2Sp(EventData& data, const std::list<Trk::Vertex>& lv) const override;
97 
99  virtual void find3Sp(const EventContext& ctx, EventData& data, const std::list<Trk::Vertex>& lv) const override;
100 
103  virtual void find3Sp(const EventContext& ctx, EventData& data, const std::list<Trk::Vertex>& lv, const double* zVertex) const override;
104 
107  virtual void findVSp(const EventContext& ctx, EventData& data, const std::list<Trk::Vertex>& lv) const override;
109 
114 
115 
123  virtual const SiSpacePointsSeed* next(const EventContext& ctx, EventData& data) const override;
125 
131  virtual void writeNtuple(const SiSpacePointsSeed* seed, const Trk::Track* track, int seedType, long eventNumber) const override;
132 
133  virtual bool getWriteNtupleBoolProperty() const override;
134 
138 
139  virtual MsgStream& dump(EventData& data, MsgStream& out) const override;
141 
142  private:
147 
148  enum Size {arraySizePhi=200,
156 
157 
162 
163  SG::ReadHandleKey<SpacePointContainer> m_spacepointsPixel{this, "SpacePointsPixelName", "PixelSpacePoints", "Pixel space points container"};
164  SG::ReadHandleKey<SpacePointContainer> m_spacepointsSCT{this, "SpacePointsSCTName", "SCT_SpacePoints", "SCT space points container"};
165  SG::ReadHandleKey<SpacePointOverlapCollection> m_spacepointsOverlap{this, "SpacePointsOverlapName", "OverlapSpacePoints"};
166  SG::ReadHandleKey<Trk::PRDtoTrackMap> m_prdToTrackMap{this,"PRDtoTrackMap","","option PRD-to-track association"};
167  SG::ReadCondHandleKey<InDet::BeamSpotData> m_beamSpotKey{this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot"};
169  SG::ReadCondHandleKey<AtlasFieldCacheCondObj> m_fieldCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj",
170  "Name of the Magnetic Field conditions object key"};
172 
174 
175  BooleanProperty m_pixel{this, "usePixel", true};
176  BooleanProperty m_sct{this, "useSCT", true};
177  BooleanProperty m_useOverlap{this, "useOverlapSpCollection", true};
178  IntegerProperty m_maxsize{this, "maxSize", 50000};
179  IntegerProperty m_maxsizeSP{this, "maxSizeSP", 5000};
183  IntegerProperty m_maxOneSizeSSS{this, "maxSeedsForSpacePointStrips", 5};
184  IntegerProperty m_maxOneSizePPP{this, "maxSeedsForSpacePointPixels", 5};
188  BooleanProperty m_alwaysKeepConfirmedPixelSeeds{this, "alwaysKeepConfirmedPixelSeeds", false};
189  BooleanProperty m_alwaysKeepConfirmedStripSeeds{this, "alwaysKeepConfirmedStripSeeds", false};
193  BooleanProperty m_optimisePhiBinning{this, "optimisePhiBinning", true};
194  FloatProperty m_etamax{this, "etaMax", 2.7};
195  FloatProperty m_r1minv{this, "minVRadius1", 0.};
196  FloatProperty m_r1maxv{this, "maxVRadius1", 60.};
197  FloatProperty m_r2minv{this, "minVRadius2", 70.};
198  FloatProperty m_r2maxv{this, "maxVRadius2", 200.};
199  FloatProperty m_drmax{this, "maxdRadius", 270.};
200  FloatProperty m_zmin{this, "minZ", -250.};
201  FloatProperty m_zmax{this, "maxZ", +250.};
202  FloatProperty m_dzver{this, "maxdZver", 5.};
203  FloatProperty m_dzdrver{this, "maxdZdRver", .02};
205 
207 
208  FloatProperty m_etamin{this, "etaMin", 0.};
209  FloatProperty m_r_rmax{this, "radMax", 600.};
210  FloatProperty m_binSizeR{this, "radStep", 2.};
211  FloatProperty m_drmin{this, "mindRadius", 5.};
212  FloatProperty m_maxdImpact{this, "maxdImpact", 10.};
213  FloatProperty m_maxdImpactSSS{this, "maxdImpactSSS", 50.};
217  FloatProperty m_dImpactCutSlopeUnconfirmedSSS{this, "dImpactCutSlopeUnconfirmedSSS", 1.0};
218  FloatProperty m_dImpactCutSlopeUnconfirmedPPP{this, "dImpactCutSlopeUnconfirmedPPP", 0.};
219  FloatProperty m_maxdImpactDecays{this, "maxdImpactForDecays", 20.};
220  FloatProperty m_ptmin{this, "pTmin", 500.};
221  FloatProperty m_fieldScale{this, "fieldScale", 1.};
223 
225 
226  BooleanProperty m_checketa{this, "checkEta", false};
228 
234  FloatProperty m_seedScoreBonusPPP{this, "seedScoreBonusPPP", -200.};
235  FloatProperty m_seedScoreBonusSSS{this, "seedScoreBonusSSS", -400.};
236  FloatProperty m_seedScoreBonusConfirmationSeed{this, "seedScoreBonusConfirmationSeed", -200.};
238 
240  FloatProperty m_maxScore{this, "maximumAcceptedSeedScore", 100.};
241 
243 
244  float m_drminv{20.};
246 
248 
249  float m_dzdrmin0{0.};
251  float m_dzdrmax0{0.};
252  float m_ipt{0.};
253  float m_ipt2{0.};
254  // static constexpr float m_COF{134*.05*9}; ///< appears to be an approximated term related to multiple-scattering of particles traversing the ID during the seed formation
255  static constexpr float m_COF{134*.05f*9};
256 
259  int m_nBinsR{0};
260  int m_maxPhiBin{0};
264 
266 
278 
282  static constexpr float m_radiusCutIBL{43.};
283 
285  std::array<int,arraySizePhiZ> m_nNeighbourCellsBottom{};
286  std::array<int,arraySizePhiZ> m_nNeighbourCellsTop{};
287  std::array<std::array<int, arraySizeNeighbourBins>, arraySizePhiZ> m_neighbourCellsBottom{};
288  std::array<std::array<int, arraySizeNeighbourBins>, arraySizePhiZ> m_neighbourCellsTop{};
289 
290  std::array<int,arraySizePhiZV> m_nNeighboursVertexPhiZ{};
291  std::array<std::array<int, arraySizeNeighbourBinsVertex>, arraySizePhiZV> m_neighboursVertexPhiZ{};
293 
295  // Private methods
297 
299 
304 
305  MsgStream& dumpConditions(EventData& data, MsgStream& out) const;
306  static MsgStream& dumpEvent (EventData& data, MsgStream& out) ;
307 
310  void buildFrameWork();
311  /* updates the beam spot information stored in the event data
312  * object.
313  * @param[out] data: Event data, receives update to the x/y/zbeam members
314  **/
315  void buildBeamFrameWork(EventData& data) const;
316 
330  static float azimuthalStep(const float pTmin,const float maxd0,const float Rmin,const float Rmax) ;
331 
343 
344  static void newSeed(EventData& data, SiSpacePointForSeed*& p1, SiSpacePointForSeed*& p2, float z) ;
345 
357  void newOneSeed(EventData& data,
359  SiSpacePointForSeed*& p3, float z, float quality) const;
360 
371  (EventData& data, SiSpacePointForSeed*& SPb, SiSpacePointForSeed*& SP0, float Zob) const;
372 
376  void fillSeeds(EventData& data) const;
377 
383  void fillLists(EventData& data) const;
384  static void erase(EventData& data) ;
385  void production2Sp(EventData& data) const;
386 
387 
393  void production3Sp(EventData& data) const;
394 
420  void production3Sp
421  (EventData& data,
426  const int numberBottomCells, const int numberTopCells, int& nseed, const int zbin = -1) const;
427 
430  (EventData& data,
435  const int numberBottomCells, const int numberTopCells, int& nseed) const;
436 
444  bool newVertices(EventData& data, const std::list<Trk::Vertex>& lV) const;
449  void findNext(EventData& data) const;
450  bool isZCompatible(EventData& data, const float Zv, const float R, const float T) const;
451 
459  static void convertToBeamFrameWork(EventData& data, const Trk::SpacePoint*const& sp, std::array<float,3> & r) ;
460 
461  bool isUsed(const Trk::SpacePoint* sp, const Trk::PRDtoTrackMap &prd_to_track_map) const;
462 
463  void initializeEventData(EventData& data) const;
464 
477  bool isConfirmedSeed(const InDet::SiSpacePointForSeed* bottomSP, const InDet::SiSpacePointForSeed* topSP, float quality) const;
478 
480  Gaudi::Property<bool> m_writeNtuple {this, "WriteNtuple", false, "Flag to write Validation Ntuples"};
481 
482  ITHistSvc* m_thistSvc;
483 
484  TTree* m_outputTree;
485 
487 
488  mutable std::string m_treeName ATLAS_THREAD_SAFE;
489  mutable TString m_treeFolder ATLAS_THREAD_SAFE;
490 
491  mutable float m_d0 ATLAS_THREAD_SAFE = 0;
492  mutable float m_z0 ATLAS_THREAD_SAFE = 0;
493  mutable float m_pt ATLAS_THREAD_SAFE = 0;
494  mutable float m_eta ATLAS_THREAD_SAFE = 0;
495  mutable double m_x1 ATLAS_THREAD_SAFE = 0;
496  mutable double m_x2 ATLAS_THREAD_SAFE = 0;
497  mutable double m_x3 ATLAS_THREAD_SAFE = 0;
498  mutable double m_y1 ATLAS_THREAD_SAFE = 0;
499  mutable double m_y2 ATLAS_THREAD_SAFE = 0;
500  mutable double m_y3 ATLAS_THREAD_SAFE = 0;
501  mutable double m_z1 ATLAS_THREAD_SAFE = 0;
502  mutable double m_z2 ATLAS_THREAD_SAFE = 0;
503  mutable double m_z3 ATLAS_THREAD_SAFE = 0;
504  mutable double m_r1 ATLAS_THREAD_SAFE = 0;
505  mutable double m_r2 ATLAS_THREAD_SAFE = 0;
506  mutable double m_r3 ATLAS_THREAD_SAFE = 0;
507  mutable float m_quality ATLAS_THREAD_SAFE = 0;
508  mutable int m_type ATLAS_THREAD_SAFE = 0;
509  mutable double m_dzdr_t ATLAS_THREAD_SAFE = 0;
510  mutable double m_dzdr_b ATLAS_THREAD_SAFE = 0;
511  mutable bool m_givesTrack ATLAS_THREAD_SAFE = 0;
512  mutable float m_trackPt ATLAS_THREAD_SAFE = 0;
513  mutable float m_trackEta ATLAS_THREAD_SAFE = 0;
514  mutable long m_eventNumber ATLAS_THREAD_SAFE = 0;
515  };
516 
517 } // end of name space
518 
520 // Object-function for curvature seeds comparison
522 
524 public:
525  bool operator ()
526  (const std::pair<float,InDet::SiSpacePointForSeed*>& i1,
527  const std::pair<float,InDet::SiSpacePointForSeed*>& i2)
528  {
529  return i1.first < i2.first;
530  }
531 };
532 
533 namespace InDet {
534 
535  inline
536  bool SiSpacePointsSeedMaker_ATLxk::isUsed(const Trk::SpacePoint* sp, const Trk::PRDtoTrackMap &prd_to_track_map) const
537  {
538  const Trk::PrepRawData* d = sp->clusterList().first;
539  if (!d || !prd_to_track_map.isUsed(*d)) return false;
540  d = sp->clusterList().second;
541  if (!d || prd_to_track_map.isUsed(*d)) return true;
542  return false;
543  }
544 }
545 
546 #endif // SiSpacePointsSeedMaker_ATLxk_H
Trk::SpacePoint::clusterList
const std::pair< const PrepRawData *, const PrepRawData * > & clusterList() const
return the pair of cluster pointers by reference
Definition: Tracking/TrkEvent/TrkSpacePoint/TrkSpacePoint/SpacePoint.h:127
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
InDet::SiSpacePointsSeedMaker_ATLxk::find3Sp
virtual void find3Sp(const EventContext &ctx, EventData &data, const std::list< Trk::Vertex > &lv) const override
with three space points with or without vertex constraint
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:567
SiSpacePointsSeedMakerEventData.h
InDet::SiSpacePointsSeedMaker_ATLxk::SiSpacePointsSeedMaker_ATLxk
SiSpacePointsSeedMaker_ATLxk(const SiSpacePointsSeedMaker_ATLxk &)=delete
Trk::SpacePoint
Definition: Tracking/TrkEvent/TrkSpacePoint/TrkSpacePoint/SpacePoint.h:35
beamspotman.r
def r
Definition: beamspotman.py:676
InDet::SiSpacePointsSeedMaker_ATLxk::dump
virtual MsgStream & dump(EventData &data, MsgStream &out) const override
Dumps relevant information into the MsgStream.
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:694
InDet::SiSpacePointsSeedMaker_ATLxk::m_dzver
FloatProperty m_dzver
Definition: SiSpacePointsSeedMaker_ATLxk.h:202
PRDtoTrackMap.h
InDet::SiSpacePointsSeedMaker_ATLxk::m_ipt2
float m_ipt2
inverse square of 90% of the pt min cut
Definition: SiSpacePointsSeedMaker_ATLxk.h:253
InDet::SiSpacePointsSeedMaker_ATLxk::m_seedScoreThresholdSSSConfirmationSeed
float m_seedScoreThresholdSSSConfirmationSeed
max (score is assigned negative sign) score for SSS seeds with confirmation seed requirement.
Definition: SiSpacePointsSeedMaker_ATLxk.h:277
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
InDet::SiSpacePointsSeedMaker_ATLxk::newOneSeedWithCurvaturesComparison
void newOneSeedWithCurvaturesComparison(EventData &data, SiSpacePointForSeed *&SPb, SiSpacePointForSeed *&SP0, float Zob) const
This creates all possible seeds with the passed central and bottom SP, using all top SP candidates wh...
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:2270
InDet::SiSpacePointsSeedMaker_ATLxk::m_spacepointsPixel
SG::ReadHandleKey< SpacePointContainer > m_spacepointsPixel
Definition: SiSpacePointsSeedMaker_ATLxk.h:163
InDet::SiSpacePointsSeedMaker_ATLxk
Definition: SiSpacePointsSeedMaker_ATLxk.h:61
InDet::SiSpacePointsSeedMaker_ATLxk::m_inverseBinSizePhiVertex
float m_inverseBinSizePhiVertex
as above but for vertex
Definition: SiSpacePointsSeedMaker_ATLxk.h:263
InDet::SiSpacePointsSeedMaker_ATLxk::convertToBeamFrameWork
static void convertToBeamFrameWork(EventData &data, const Trk::SpacePoint *const &sp, std::array< float, 3 > &r)
This method popualtes the r array with the space point's coordinates relative to the beam spot.
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:1205
InDet::SiSpacePointForSeed
Definition: SiSpacePointForSeed.h:30
InDet::SiSpacePointsSeedMaker_ATLxk::arraySizePhiZ
@ arraySizePhiZ
capacity for the 2D phi-z arrays
Definition: SiSpacePointsSeedMaker_ATLxk.h:150
InDet::SiSpacePointsSeedMaker_ATLxk::m_r2minv
FloatProperty m_r2minv
Definition: SiSpacePointsSeedMaker_ATLxk.h:197
InDet::SiSpacePointsSeedMaker_ATLxk::newSeed
static void newSeed(EventData &data, SiSpacePointForSeed *&p1, SiSpacePointForSeed *&p2, float z)
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:2586
InDet::SiSpacePointsSeedMakerEventData
Definition: SiSpacePointsSeedMakerEventData.h:49
InDet::SiSpacePointsSeedMaker_ATLxk::m_seedScoreBonusPPP
FloatProperty m_seedScoreBonusPPP
Scoring modifiers applied when ranking seeds.
Definition: SiSpacePointsSeedMaker_ATLxk.h:234
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
WriteCellNoiseToCool.rb
rb
Definition: WriteCellNoiseToCool.py:229
InDet::SiSpacePointsSeedMaker_ATLxk::isZCompatible
bool isZCompatible(EventData &data, const float Zv, const float R, const float T) const
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:2521
Trk::PRDtoTrackMap
Definition: PRDtoTrackMap.h:17
AtlasFieldCacheCondObj.h
InDet::SiSpacePointsSeedMaker_ATLxk::m_seedScoreThresholdPPPConfirmationSeed
float m_seedScoreThresholdPPPConfirmationSeed
Seed score thresholds defined based on the modifiers defined as configurables above.
Definition: SiSpacePointsSeedMaker_ATLxk.h:276
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
InDet::SiSpacePointsSeedMaker_ATLxk::m_spacepointsOverlap
SG::ReadHandleKey< SpacePointOverlapCollection > m_spacepointsOverlap
Definition: SiSpacePointsSeedMaker_ATLxk.h:165
hist_file_dump.d
d
Definition: hist_file_dump.py:137
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::SiSpacePointsSeedMaker_ATLxk::m_r1minv
FloatProperty m_r1minv
Definition: SiSpacePointsSeedMaker_ATLxk.h:195
InDet::SiSpacePointsSeedMaker_ATLxk::m_beamSpotKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Definition: SiSpacePointsSeedMaker_ATLxk.h:167
InDet::SiSpacePointsSeedMaker_ATLxk::newEvent
virtual void newEvent(const EventContext &ctx, EventData &data, int iteration) const override
Initialize tool for new event.
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:131
InDet::SiSpacePointsSeedMaker_ATLxk::m_writeNtuple
Gaudi::Property< bool > m_writeNtuple
Flag to write validation ntuples. Turned off by default.
Definition: SiSpacePointsSeedMaker_ATLxk.h:480
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
InDet::SiSpacePointsSeedMaker_ATLxk::m_neighboursVertexPhiZ
std::array< std::array< int, arraySizeNeighbourBinsVertex >, arraySizePhiZV > m_neighboursVertexPhiZ
Definition: SiSpacePointsSeedMaker_ATLxk.h:291
InDet::SiSpacePointsSeedMaker_ATLxk::m_zmin
FloatProperty m_zmin
Definition: SiSpacePointsSeedMaker_ATLxk.h:200
InDet::SiSpacePointsSeedMaker_ATLxk::m_ptmin
FloatProperty m_ptmin
Definition: SiSpacePointsSeedMaker_ATLxk.h:220
comCurvature
Definition: SiSpacePointsSeedMaker_ATLxk.h:523
InDet::SiSpacePointsSeedMaker_ATLxk::arraySizeNeighbourBins
@ arraySizeNeighbourBins
array size to store neighbouring phi-z-regions in the seed finding
Definition: SiSpacePointsSeedMaker_ATLxk.h:151
InDet::SiSpacePointsSeedMaker_ATLxk::m_ipt
float m_ipt
inverse of 90% of the ptmin cut
Definition: SiSpacePointsSeedMaker_ATLxk.h:252
SG::ReadHandleKey< SpacePointContainer >
InDet::SiSpacePointsSeedMaker_ATLxk::m_maxsizeSP
IntegerProperty m_maxsizeSP
Definition: SiSpacePointsSeedMaker_ATLxk.h:179
InDet::SiSpacePointsSeedMaker_ATLxk::m_drmin
FloatProperty m_drmin
Definition: SiSpacePointsSeedMaker_ATLxk.h:211
InDet::SiSpacePointsSeedMaker_ATLxk::m_maxdImpactSSS
FloatProperty m_maxdImpactSSS
Definition: SiSpacePointsSeedMaker_ATLxk.h:213
InDet::SiSpacePointsSeedMaker_ATLxk::m_neighbourCellsTop
std::array< std::array< int, arraySizeNeighbourBins >, arraySizePhiZ > m_neighbourCellsTop
mapping of neighbour cells in the 2D phi-z binning to consider for the "top SP" search for central SP...
Definition: SiSpacePointsSeedMaker_ATLxk.h:288
InDet::SiSpacePointsSeedMaker_ATLxk::fillSeeds
void fillSeeds(EventData &data) const
fills the seeds from the mapOneSeeds_Pro member into the l_seeds_Pro member of the data object,...
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:2398
IDTrig_MC23a_preInclude.pTmin
pTmin
Definition: IDTrig_MC23a_preInclude.py:8
InDet::SiSpacePointsSeedMaker_ATLxk::buildBeamFrameWork
void buildBeamFrameWork(EventData &data) const
Initiate beam frame work for seed generator.
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:1169
InDet::SiSpacePointsSeedMaker_ATLxk::m_maxdImpactDecays
FloatProperty m_maxdImpactDecays
Definition: SiSpacePointsSeedMaker_ATLxk.h:219
InDet::SiSpacePointsSeedMaker_ATLxk::arraySizePhiV
@ arraySizePhiV
array size in phi for vertexing
Definition: SiSpacePointsSeedMaker_ATLxk.h:152
InDet::SiSpacePointsSeedMaker_ATLxk::isConfirmedSeed
bool isConfirmedSeed(const InDet::SiSpacePointForSeed *bottomSP, const InDet::SiSpacePointForSeed *topSP, float quality) const
Helper method to determine if a seed is 'confirmed' - this means that a second seed exists with compa...
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:2613
InDet::SiSpacePointsSeedMaker_ATLxk::production2Sp
void production2Sp(EventData &data) const
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:1401
InDet::SiSpacePointsSeedMaker_ATLxk::buildFrameWork
void buildFrameWork()
prepare several data members with cached cut values, conversion factors, binnings,...
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:908
InDet::SiSpacePointsSeedMaker_ATLxk::m_r2maxv
FloatProperty m_r2maxv
Definition: SiSpacePointsSeedMaker_ATLxk.h:198
SpacePointContainer.h
InDet::SiSpacePointsSeedMaker_ATLxk::m_inverseBinSizePhi
float m_inverseBinSizePhi
cache the inverse bin size in phi which we use - needed to evaluate phi bin locations
Definition: SiSpacePointsSeedMaker_ATLxk.h:262
InDet::SiSpacePointsSeedMaker_ATLxk::newRegion
virtual void newRegion(const EventContext &ctx, SiSpacePointsSeedMakerEventData &data, const std::vector< IdentifierHash > &vPixel, const std::vector< IdentifierHash > &vSCT, const IRoiDescriptor &iRD) const override
InDet::SiSpacePointsSeedMaker_ATLxk::~SiSpacePointsSeedMaker_ATLxk
virtual ~SiSpacePointsSeedMaker_ATLxk()=default
InDet::SiSpacePointsSeedMaker_ATLxk::newOneSeed
void newOneSeed(EventData &data, SiSpacePointForSeed *&p1, SiSpacePointForSeed *&p2, SiSpacePointForSeed *&p3, float z, float quality) const
This inserts a seed into the set of saved seeds.
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:2214
ParticleJetTools::p3
Amg::Vector3D p3(const xAOD::TruthVertex *p)
Definition: ParticleJetLabelCommon.cxx:55
InDet::SiSpacePointsSeedMaker_ATLxk::initializeEventData
void initializeEventData(EventData &data) const
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:2599
m_type
TokenType m_type
the type
Definition: TProperty.cxx:44
InDet::SiSpacePointsSeedMaker_ATLxk::m_dzdrmax0
float m_dzdrmax0
implicitly store eta cut
Definition: SiSpacePointsSeedMaker_ATLxk.h:251
InDet::SiSpacePointsSeedMaker_ATLxk::m_outputTree
TTree * m_outputTree
Definition: SiSpacePointsSeedMaker_ATLxk.h:484
InDet::SiSpacePointsSeedMaker_ATLxk::SiSpacePointsSeedMaker_ATLxk
SiSpacePointsSeedMaker_ATLxk()=delete
InDet::SiSpacePointsSeedMaker_ATLxk::erase
static void erase(EventData &data)
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:1371
InDet::SiSpacePointsSeedMaker_ATLxk::arraySizeZ
@ arraySizeZ
capacity of the 1D z arrays
Definition: SiSpacePointsSeedMaker_ATLxk.h:149
InDet::SiSpacePointsSeed
Definition: SiSpacePointsSeed.h:30
InDet::SiSpacePointsSeedMaker_ATLxk::m_maxPhiBin
int m_maxPhiBin
number of bins in phi
Definition: SiSpacePointsSeedMaker_ATLxk.h:260
InDet::SiSpacePointsSeedMaker_ATLxk::production3Sp
void production3Sp(EventData &data) const
Top-level method for 3-SP seed production.
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:1505
z
#define z
InDet::SiSpacePointsSeedMaker_ATLxk::findNext
void findNext(EventData &data) const
This method is called within next() when we are out of vertices.
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:852
InDet::SiSpacePointsSeedMaker_ATLxk::arraySizeZV
@ arraySizeZV
array size in z for vertexing
Definition: SiSpacePointsSeedMaker_ATLxk.h:153
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::SiSpacePointsSeedMaker_ATLxk::newRegion
virtual void newRegion(const EventContext &ctx, EventData &data, const std::vector< IdentifierHash > &vPixel, const std::vector< IdentifierHash > &vSCT) const override
Initialize tool for new region.
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:379
IRoiDescriptor
Describes the API of the Region of Ineterest geometry.
Definition: IRoiDescriptor.h:23
InDet::SiSpacePointsSeedMaker_ATLxk::m_COF
static constexpr float m_COF
appears to be an approximated term related to multiple-scattering of particles traversing the ID duri...
Definition: SiSpacePointsSeedMaker_ATLxk.h:255
InDet::SiSpacePointsSeedMaker_ATLxk::m_etamax
FloatProperty m_etamax
Definition: SiSpacePointsSeedMaker_ATLxk.h:194
SiSpacePointForSeed.h
InDet::SiSpacePointsSeedMaker_ATLxk::m_dzdrver
FloatProperty m_dzdrver
Definition: SiSpacePointsSeedMaker_ATLxk.h:203
AthAlgTool.h
InDet::SiSpacePointsSeedMaker_ATLxk::ATLAS_THREAD_SAFE
std::string m_treeName ATLAS_THREAD_SAFE
Definition: SiSpacePointsSeedMaker_ATLxk.h:488
SpacePointOverlapCollection.h
AtlasFieldCache.h
EventData
Definition: Trigger/TrigAccel/TrigCudaFitter/src/EventData.h:10
InDet::SiSpacePointsSeedMaker_ATLxk::m_maxScore
FloatProperty m_maxScore
Maximum score to accept.
Definition: SiSpacePointsSeedMaker_ATLxk.h:240
InDet::SiSpacePointsSeedMaker_ATLxk::m_pixel
BooleanProperty m_pixel
Definition: SiSpacePointsSeedMaker_ATLxk.h:175
xAOD::eventNumber
eventNumber
Definition: EventInfo_v1.cxx:124
InDet::SiSpacePointsSeedMaker_ATLxk::m_drmax
FloatProperty m_drmax
Definition: SiSpacePointsSeedMaker_ATLxk.h:199
InDet::SiSpacePointsSeedMaker_ATLxk::dumpConditions
MsgStream & dumpConditions(EventData &data, MsgStream &out) const
Dumps conditions information into the MsgStream.
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:706
InDet::SiSpacePointsSeedMaker_ATLxk::m_optimisePhiBinning
BooleanProperty m_optimisePhiBinning
This flag will make the buildFrameWork method determine an optimal phi binning of the search regions ...
Definition: SiSpacePointsSeedMaker_ATLxk.h:193
InDet::SiSpacePointsSeedMaker_ATLxk::operator=
SiSpacePointsSeedMaker_ATLxk & operator=(const SiSpacePointsSeedMaker_ATLxk &)=delete
Trk::PRDtoTrackMap::isUsed
bool isUsed(const PrepRawData &prd) const
does this PRD belong to at least one track?
InDet::SiSpacePointsSeedMaker_ATLxk::m_useOverlap
BooleanProperty m_useOverlap
Definition: SiSpacePointsSeedMaker_ATLxk.h:177
InDet::SiSpacePointsSeedMaker_ATLxk::m_alwaysKeepConfirmedStripSeeds
BooleanProperty m_alwaysKeepConfirmedStripSeeds
Definition: SiSpacePointsSeedMaker_ATLxk.h:189
InDet::SiSpacePointsSeedMaker_ATLxk::next
virtual const SiSpacePointsSeed * next(const EventContext &ctx, EventData &data) const override
This method will update the data.seedOutput member to be the next seed pointed at by the data....
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:2438
InDet::SiSpacePointsSeedMaker_ATLxk::fillLists
void fillLists(EventData &data) const
this method populates the data object's "histograms" (implemented as nested vectors).
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:1216
InDet::SiSpacePointsSeedMaker_ATLxk::m_dImpactCutSlopeUnconfirmedPPP
FloatProperty m_dImpactCutSlopeUnconfirmedPPP
Definition: SiSpacePointsSeedMaker_ATLxk.h:218
InDet::SiSpacePointsSeedMaker_ATLxk::arraySizePhiZV
@ arraySizePhiZV
array size in phi-Z 2D for the vertexing
Definition: SiSpacePointsSeedMaker_ATLxk.h:154
lumiFormat.array
array
Definition: lumiFormat.py:98
Trk::PrepRawData
Definition: PrepRawData.h:62
InDet::SiSpacePointsSeedMaker_ATLxk::m_seedScoreBonusSSS
FloatProperty m_seedScoreBonusSSS
Definition: SiSpacePointsSeedMaker_ATLxk.h:235
InDet::SiSpacePointsSeedMaker_ATLxk::m_thistSvc
ITHistSvc * m_thistSvc
Definition: SiSpacePointsSeedMaker_ATLxk.h:482
ISiSpacePointsSeedMaker.h
InDet::SiSpacePointsSeedMaker_ATLxk::dumpEvent
static MsgStream & dumpEvent(EventData &data, MsgStream &out)
Dumps event information into the MsgStream.
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:827
InDet::SiSpacePointsSeedMaker_ATLxk::m_maxdImpact
FloatProperty m_maxdImpact
Definition: SiSpacePointsSeedMaker_ATLxk.h:212
InDet::SiSpacePointsSeedMaker_ATLxk::m_r_rmax
FloatProperty m_r_rmax
Definition: SiSpacePointsSeedMaker_ATLxk.h:209
InDet::SiSpacePointsSeedMaker_ATLxk::arraySizePhi
@ arraySizePhi
capacity of the 1D phi arrays
Definition: SiSpacePointsSeedMaker_ATLxk.h:148
InDet::SiSpacePointsSeedMaker_ATLxk::m_nBinsR
int m_nBinsR
number of bins in the radial coordinate
Definition: SiSpacePointsSeedMaker_ATLxk.h:259
InDet::SiSpacePointsSeedMaker_ATLxk::m_seedScoreBonusConfirmationSeed
FloatProperty m_seedScoreBonusConfirmationSeed
Definition: SiSpacePointsSeedMaker_ATLxk.h:236
InDet::SiSpacePointsSeedMaker_ATLxk::m_checketa
BooleanProperty m_checketa
Definition: SiSpacePointsSeedMaker_ATLxk.h:226
InDet::SiSpacePointsSeedMaker_ATLxk::m_nNeighbourCellsTop
std::array< int, arraySizePhiZ > m_nNeighbourCellsTop
number of neighbouring phi-z bins to consider when looking for "top SP" candidates for each phi-z bin
Definition: SiSpacePointsSeedMaker_ATLxk.h:286
InDet::SiSpacePointsSeedMaker_ATLxk::m_etamin
FloatProperty m_etamin
Definition: SiSpacePointsSeedMaker_ATLxk.h:208
InDet::SiSpacePointsSeedMaker_ATLxk::m_maxsize
IntegerProperty m_maxsize
Definition: SiSpacePointsSeedMaker_ATLxk.h:178
InDet::SiSpacePointsSeedMaker_ATLxk::m_radiusCutIBL
static constexpr float m_radiusCutIBL
We detect IBL hits via the seed radial location.
Definition: SiSpacePointsSeedMaker_ATLxk.h:282
InDet::SiSpacePointsSeedMaker_ATLxk::m_sct
BooleanProperty m_sct
Definition: SiSpacePointsSeedMaker_ATLxk.h:176
InDet::SiSpacePointsSeedMaker_ATLxk::m_mutex
std::mutex m_mutex
Definition: SiSpacePointsSeedMaker_ATLxk.h:486
InDet::SiSpacePointsSeedMaker_ATLxk::writeNtuple
virtual void writeNtuple(const SiSpacePointsSeed *seed, const Trk::Track *track, int seedType, long eventNumber) const override
This method is called by the SiSPSeededTrackFinder algorithm to fill ntuples for seeds seen by the al...
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:2477
InDet::SiSpacePointsSeedMaker_ATLxk::newVertices
bool newVertices(EventData &data, const std::list< Trk::Vertex > &lV) const
This method updates the EventData based on the passed list of vertices.
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:870
SG::ReadCondHandleKey< InDet::BeamSpotData >
InDet::SiSpacePointsSeedMaker_ATLxk::m_nNeighbourCellsBottom
std::array< int, arraySizePhiZ > m_nNeighbourCellsBottom
arrays associating bins to each other for SP formation
Definition: SiSpacePointsSeedMaker_ATLxk.h:285
InDet::SiSpacePointsSeedMaker_ATLxk::newSpacePoint
SiSpacePointForSeed * newSpacePoint(EventData &data, const Trk::SpacePoint *const &sp) const
Create a SiSpacePointForSeed from the space point.
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:2544
InDet::SiSpacePointsSeedMaker_ATLxk::m_maxOneSizeSSS
IntegerProperty m_maxOneSizeSSS
maximum number of seeds to keep per central space point.
Definition: SiSpacePointsSeedMaker_ATLxk.h:183
InDet::SiSpacePointsSeedMaker_ATLxk::m_maxBinPhiVertex
int m_maxBinPhiVertex
number of bins in phi for vertices
Definition: SiSpacePointsSeedMaker_ATLxk.h:261
InDet::SiSpacePointsSeedMaker_ATLxk::getWriteNtupleBoolProperty
virtual bool getWriteNtupleBoolProperty() const override
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:2627
InDet::SiSpacePointsSeedMaker_ATLxk::m_dzdrmin0
float m_dzdrmin0
conversion factors and cached cut values
Definition: SiSpacePointsSeedMaker_ATLxk.h:250
InDet::SiSpacePointsSeedMaker_ATLxk::m_prdToTrackMap
SG::ReadHandleKey< Trk::PRDtoTrackMap > m_prdToTrackMap
Definition: SiSpacePointsSeedMaker_ATLxk.h:166
InDet::SiSpacePointsSeedMaker_ATLxk::m_binSizeR
FloatProperty m_binSizeR
Definition: SiSpacePointsSeedMaker_ATLxk.h:210
InDet::SiSpacePointsSeedMaker_ATLxk::m_zmax
FloatProperty m_zmax
Definition: SiSpacePointsSeedMaker_ATLxk.h:201
InDet::SiSpacePointsSeedMaker_ATLxk::azimuthalStep
static float azimuthalStep(const float pTmin, const float maxd0, const float Rmin, const float Rmax)
Determine the expected azimuthal trajectory displacement in phi in presence of the magnetic field for...
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:1338
Rmin
double Rmin
Definition: LArDetectorConstructionTBEC.cxx:54
InDet::SiSpacePointsSeedMaker_ATLxk::m_neighbourCellsBottom
std::array< std::array< int, arraySizeNeighbourBins >, arraySizePhiZ > m_neighbourCellsBottom
mapping of neighbour cells in the 2D phi-z binning to consider for the "bottom SP" search for central...
Definition: SiSpacePointsSeedMaker_ATLxk.h:287
InDet::SiSpacePointsSeedMaker_ATLxk::finalize
virtual StatusCode finalize() override
Finalize.
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:122
InDet::SiSpacePointsSeedMaker_ATLxk::production3SpTrigger
void production3SpTrigger(EventData &data, std::array< std::vector< InDet::SiSpacePointForSeed * >::iterator, arraySizeNeighbourBins > &rb, std::array< std::vector< InDet::SiSpacePointForSeed * >::iterator, arraySizeNeighbourBins > &rbe, std::array< std::vector< InDet::SiSpacePointForSeed * >::iterator, arraySizeNeighbourBins > &rt, std::array< std::vector< InDet::SiSpacePointForSeed * >::iterator, arraySizeNeighbourBins > &rte, const int numberBottomCells, const int numberTopCells, int &nseed) const
as above, but for the trigger
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:2020
InDet::SiSpacePointsSeedMaker_ATLxk::findVSp
virtual void findVSp(const EventContext &ctx, EventData &data, const std::list< Trk::Vertex > &lv) const override
with variable number space points with or without vertex constraint Variable means (2,...
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:659
InDet::SiSpacePointsSeedMaker_ATLxk::m_nNeighboursVertexPhiZ
std::array< int, arraySizePhiZV > m_nNeighboursVertexPhiZ
Definition: SiSpacePointsSeedMaker_ATLxk.h:290
InDet::SiSpacePointsSeedMaker_ATLxk::m_alwaysKeepConfirmedPixelSeeds
BooleanProperty m_alwaysKeepConfirmedPixelSeeds
This flag will lead to all confirmed seeds (seeds where a second compatible seed with a different top...
Definition: SiSpacePointsSeedMaker_ATLxk.h:188
BeamSpotData.h
InDet::SiSpacePointsSeedMaker_ATLxk::m_maxOneSizePPP
IntegerProperty m_maxOneSizePPP
Definition: SiSpacePointsSeedMaker_ATLxk.h:184
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
InDet::SiSpacePointsSeedMaker_ATLxk::m_fieldCondObjInputKey
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCondObjInputKey
Read handle for conditions object to get the field cache.
Definition: SiSpacePointsSeedMaker_ATLxk.h:169
InDet::SiSpacePointsSeedMaker_ATLxk::find2Sp
virtual void find2Sp(EventData &data, const std::list< Trk::Vertex > &lv) const override
With two space points with or without vertex constraint.
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:530
InDet::SiSpacePointsSeedMaker_ATLxk::arraySizeNeighbourBinsVertex
@ arraySizeNeighbourBinsVertex
Definition: SiSpacePointsSeedMaker_ATLxk.h:155
InDet::SiSpacePointsSeedMaker_ATLxk::initialize
virtual StatusCode initialize() override
Initialisation.
Definition: SiSpacePointsSeedMaker_ATLxk.cxx:46
InDet::SiSpacePointsSeedMaker_ATLxk::m_r1maxv
FloatProperty m_r1maxv
Definition: SiSpacePointsSeedMaker_ATLxk.h:196
InDet::SiSpacePointsSeedMaker_ATLxk::m_fieldScale
FloatProperty m_fieldScale
Definition: SiSpacePointsSeedMaker_ATLxk.h:221
InDet::SiSpacePointsSeedMaker_ATLxk::m_spacepointsSCT
SG::ReadHandleKey< SpacePointContainer > m_spacepointsSCT
Definition: SiSpacePointsSeedMaker_ATLxk.h:164
InDet::SiSpacePointsSeedMaker_ATLxk::Size
Size
enum for array sizes Note that this stores the maximum capacities, the actual binnings do not always ...
Definition: SiSpacePointsSeedMaker_ATLxk.h:148
InDet::SiSpacePointsSeedMaker_ATLxk::isUsed
bool isUsed(const Trk::SpacePoint *sp, const Trk::PRDtoTrackMap &prd_to_track_map) const
Definition: SiSpacePointsSeedMaker_ATLxk.h:536
InDet::SiSpacePointsSeedMaker_ATLxk::m_dImpactCutSlopeUnconfirmedSSS
FloatProperty m_dImpactCutSlopeUnconfirmedSSS
these flags allow to dynamically tighten the d0 cut on non-confirmed seeds based on the penalty score...
Definition: SiSpacePointsSeedMaker_ATLxk.h:217
InDet::SiSpacePointsSeedMaker_ATLxk::ATLAS_THREAD_SAFE
TString m_treeFolder ATLAS_THREAD_SAFE
Definition: SiSpacePointsSeedMaker_ATLxk.h:489
InDet::SiSpacePointsSeedMaker_ATLxk::m_drminv
float m_drminv
Definition: SiSpacePointsSeedMaker_ATLxk.h:244