ATLAS Offline Software
TrigTrackSeedGenerator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGINDETPATTRECOTOOLS_TRIGTRACKSEEDGENERATOR_H
6 #define TRIGINDETPATTRECOTOOLS_TRIGTRACKSEEDGENERATOR_H
7 
8 #include<vector>
9 #include<algorithm>
10 
13 
14 class TrigInDetTriplet;
15 
16 typedef struct IndexedSP {
17 public :
18 IndexedSP() : m_pSP(0), m_idx(-1) {};
20 IndexedSP(const IndexedSP& isp) : m_pSP(isp.m_pSP), m_idx(isp.m_idx) {};
21 
22  void set(const TrigSiSpacePointBase* p, int idx) {
23  m_pSP = p;
24  m_idx = idx;
25  }
26 
28  int m_idx;
29 
31 
32 typedef struct LPhiSector {
33 
34 public:
35 
36  struct compareZ {
37  bool operator()(const INDEXED_SP* p1, const INDEXED_SP* p2) {
38  return p1->m_pSP->z()<p2->m_pSP->z();
39  }
40  };
41 
42  struct compareR {
43  bool operator()(const INDEXED_SP* p1, const INDEXED_SP* p2) {
44  return p1->m_pSP->r()<p2->m_pSP->r();
45  }
46  };
47 
48  struct compareRless {
49  bool operator()(const INDEXED_SP* p1, const INDEXED_SP* p2) {
50  return p1->m_pSP->r()>p2->m_pSP->r();
51  }
52  };
53 
54  struct greaterThanZ {
55  bool operator()(float z, const INDEXED_SP* const& p) const {
56  return z < p->m_pSP->z();
57  }
58  };
59 
60  struct smallerThanZ {
61  bool operator()(const INDEXED_SP* const& p, float z) const {
62  return p->m_pSP->z() < z;
63  }
64  };
65 
66  struct greaterThanR {
67  bool operator()(float r, const INDEXED_SP* const& p) const {
68  return r < p->m_pSP->r();
69  }
70  };
71 
72  struct greaterThanR_i {
73  bool operator()(const INDEXED_SP* const& p, float r) const {
74  return r < p->m_pSP->r();
75  }
76  };
77 
78  struct smallerThanR {
79  bool operator()(const INDEXED_SP* const& p, float r) const {
80  return p->m_pSP->r() < r;
81  }
82  };
83 
84  struct smallerThanR_i {
85  bool operator()(float r, const INDEXED_SP* const& p) const {
86  return p->m_pSP->r() < r;
87  }
88  };
89 
90  //LPhiSector() : m_nSP(0) {m_phiSlices.clear();}
91 LPhiSector(int nPhiSlices) : m_nSP(0) {
92  std::vector<const INDEXED_SP*> d;
93  m_phiSlices.resize(nPhiSlices, d);
94  m_phiThreeSlices.resize(nPhiSlices, d);
95  if(nPhiSlices == 1) {//special case
96  m_threeIndices[1].push_back(0);
97  m_threeIndices[0].push_back(-1);
98  m_threeIndices[2].push_back(-1);
99  }
100  if(nPhiSlices == 2) {//special case
101  m_threeIndices[1].push_back(0);
102  m_threeIndices[0].push_back(-1);
103  m_threeIndices[2].push_back(1);
104  m_threeIndices[1].push_back(1);
105  m_threeIndices[0].push_back(0);
106  m_threeIndices[2].push_back(-1);
107  }
108  if(nPhiSlices > 2) {
109  for(int phiIdx=0;phiIdx<nPhiSlices;phiIdx++) {
110  m_threeIndices[1].push_back(phiIdx);
111  if(phiIdx>0) m_threeIndices[0].push_back(phiIdx-1);
112  else m_threeIndices[0].push_back(nPhiSlices-1);
113  if(phiIdx<nPhiSlices-1) m_threeIndices[2].push_back(phiIdx+1);
114  else m_threeIndices[2].push_back(0);
115  }
116  }
117 }
118 
120  for(int i=0;i<3;i++) {
122  }
123 }
124 
125  const LPhiSector& operator = (const LPhiSector& ps) {
126  m_nSP = ps.m_nSP;
129  for(int i=0;i<3;i++) {
131  }
132  return *this;
133  }
134 
135  void reset() {
136  for(std::vector<std::vector<const INDEXED_SP*> >::iterator it = m_phiSlices.begin();it!=m_phiSlices.end();++it) {
137  (*it).clear();
138  }
139  for(std::vector<std::vector<const INDEXED_SP*> >::iterator it = m_phiThreeSlices.begin();it!=m_phiThreeSlices.end();++it) {
140  (*it).clear();
141  }
142  m_nSP = 0;
143  }
144 
145  void addSpacePoint(int phiIndex, const INDEXED_SP* p) {
146  m_nSP++;
147  m_phiSlices[phiIndex].push_back(p);
148  for(int i=0;i<3;i++) {
149  if(m_threeIndices[i][phiIndex]==-1) continue;//to account for special cases nPhiSlices=1,2
151  }
152  }
153 
155  for(std::vector<std::vector<const INDEXED_SP*> >::iterator it=m_phiSlices.begin();it!=m_phiSlices.end();++it) {
156  if((*it).empty()) continue;
157  if(isBarrel) std::sort(it->begin(), it->end(), compareZ());
158  else std::sort(it->begin(), it->end(), compareR());
159  }
160  for(std::vector<std::vector<const INDEXED_SP*> >::iterator it=m_phiThreeSlices.begin();it!=m_phiThreeSlices.end();++it) {
161  if((*it).empty()) continue;
162  if(isBarrel) std::sort(it->begin(), it->end(), compareZ());
163  else std::sort(it->begin(), it->end(), compareR());
164  }
165  }
166 
167  void sortSpacePoints(bool isBarrel, bool isPositive) {
168  for(std::vector<std::vector<const INDEXED_SP*> >::iterator it=m_phiSlices.begin();it!=m_phiSlices.end();++it) {
169  if((*it).empty()) continue;
170  if(isBarrel) std::sort(it->begin(), it->end(), compareZ());
171  else {
172  if(isPositive) std::sort(it->begin(), it->end(), compareRless());
173  else std::sort(it->begin(), it->end(), compareR());
174  }
175  }
176  for(std::vector<std::vector<const INDEXED_SP*> >::iterator it=m_phiThreeSlices.begin();it!=m_phiThreeSlices.end();++it) {
177  if((*it).empty()) continue;
178  if(isBarrel) std::sort(it->begin(), it->end(), compareZ());
179  else {
180  if(isPositive) std::sort(it->begin(), it->end(), compareRless());
181  else std::sort(it->begin(), it->end(), compareR());
182  }
183  }
184  }
185 
186  int size() const { return m_nSP; }
187 
188  int m_nSP;
189  std::vector<std::vector<const INDEXED_SP*> > m_phiSlices;
190  std::vector<std::vector<const INDEXED_SP*> > m_phiThreeSlices;
191  std::vector<int> m_threeIndices[3];
192 
193 private:
195 
197 
198 typedef struct LPhi_Storage {
199 
200 public:
201 
202  LPhi_Storage(int nPhiSectors, int nLayers) {
203  m_layers.reserve(nLayers);
204  for(int i = 0;i<nLayers;i++) m_layers.push_back(L_PHI_SECTOR(nPhiSectors));
205  }
206 
207  void addSpacePoint(int phiIdx, int layerId, const INDEXED_SP* p) {
208  m_layers[layerId].addSpacePoint(phiIdx, p);
209  }
210 
211  void reset() {
213  if((*it).m_nSP==0) continue;
214  (*it).reset();
215  }
216  }
217 
218  void sortSpacePoints(const std::vector<TrigInDetSiLayer>& layerGeometry) {
219  int layerId = 0;
220  for(std::vector<L_PHI_SECTOR>::iterator it=m_layers.begin();it!=m_layers.end();++it,layerId++) {
221  if((*it).m_nSP==0) continue;
222  (*it).sortSpacePoints(layerGeometry[layerId].m_type==0);
223  }
224  }
225 
226  void sortSpacePoints2(const std::vector<TrigInDetSiLayer>& layerGeometry) {
227  int layerId = 0;
228  for(std::vector<L_PHI_SECTOR>::iterator it=m_layers.begin();it!=m_layers.end();++it,layerId++) {
229  if((*it).m_nSP==0) continue;
230  (*it).sortSpacePoints(layerGeometry[layerId].m_type==0, layerGeometry[layerId].m_refCoord > 0);
231  }
232  }
233 
234  std::vector<L_PHI_SECTOR> m_layers;
235 
237 
238 typedef struct InternalSoA {
239 
240 public:
241 
242 InternalSoA() : m_spi(0), m_spo(0), m_r(0), m_u(0), m_v(0), m_t(0), m_ti(0), m_to(0), m_tCov(0), m_sorted_sp(0),
243  m_sorted_sp_type(0),
244  m_sorted_sp_t(0) {}
245 
247  }
248 
249  void clear() {
250  delete[] m_spi;
251  delete[] m_spo;
252  delete[] m_r;
253  delete[] m_u;
254  delete[] m_v;
255  delete[] m_t;
256  delete[] m_ti;
257  delete[] m_to;
258  delete[] m_tCov;
259  delete[] m_sorted_sp;
260  delete[] m_sorted_sp_type;
261  delete[] m_sorted_sp_t;
262  m_spi = 0;
263  m_spo = 0;
264  m_r = 0;
265  m_u = 0;
266  m_v = 0;
267  m_t = 0;
268  m_ti = 0;
269  m_to = 0;
270  m_tCov = 0;
271  m_sorted_sp = 0;
272  m_sorted_sp_type = 0;
273  m_sorted_sp_t = 0;
274  }
275 
276  void resize(const int spSize) {
277 
278  m_spi = new const TrigSiSpacePointBase*[spSize];
279  m_spo = new const TrigSiSpacePointBase*[spSize];
280  m_r = new double[spSize];
281  m_u = new double[spSize];
282  m_v = new double[spSize];
283  m_t = new double[spSize];
284  m_ti = new double[spSize];
285  m_to = new double[spSize];
286  m_tCov = new double[spSize];
287  m_sorted_sp = new const TrigSiSpacePointBase*[spSize];
288  m_sorted_sp_type = new int[spSize];
289  m_sorted_sp_t = new double[spSize];
290  }
291 
294  double* m_r;
295  double* m_u;
296  double* m_v;
297  double* m_t;
298  double* m_ti;
299  double* m_to;
300  double* m_tCov;
303  double* m_sorted_sp_t;
304 
306 
307 
308 typedef std::pair<std::vector<const INDEXED_SP*>::const_iterator, std::vector<const INDEXED_SP*>::const_iterator> SP_RANGE;
309 
310 typedef class TrigTrackSeedGenerator {
311 
312  public:
313 
316 
319 
320  void loadSpacePoints(const std::vector<TrigSiSpacePointBase>&);
321  void createSeeds(const IRoiDescriptor*);
322  void createSeeds(const IRoiDescriptor*, const std::vector<float>& vZv);
323  void getSeeds(std::vector<TrigInDetTriplet>&);
324 
325 private:
326 
327  std::vector<INDEXED_SP> m_spStorage;
328  std::vector<float> m_minTau;
329  std::vector<float> m_maxTau;
330 
331  bool validateLayerPairNew(int, int, float, float);
332  bool getSpacepointRange(int, const std::vector<const INDEXED_SP*>&, SP_RANGE&);
333  int processSpacepointRange(int, const INDEXED_SP*, bool, const SP_RANGE&, const IRoiDescriptor*);
334  int processSpacepointRangeZv(const INDEXED_SP*, bool, const SP_RANGE&, bool, const float&, const float&);
335  void createTriplets(const TrigSiSpacePointBase*, int, int, std::vector<TrigInDetTriplet>&, const IRoiDescriptor*);
336  void createTripletsNew(const TrigSiSpacePointBase*, int, int, std::vector<TrigInDetTriplet>&, const IRoiDescriptor*);
337  void createConfirmedTriplets(const TrigSiSpacePointBase*, int, int, std::vector<TrigInDetTriplet>&, const IRoiDescriptor*);
338  void storeTriplets(std::vector<TrigInDetTriplet>&);
339 
343 
345 
347 
349 
350  std::vector<TrigInDetTriplet> m_triplets;
351 
353 
355  std::vector<int> m_innerMarkers, m_outerMarkers;
357 
358 #endif // not TRIGINDETPATTRECOTOOLS_TRIGTRACKSEEDGENERATOR_H
TrigInDetTriplet
Definition: TrigInDetTriplet.h:13
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
TrigTrackSeedGenerator::m_CovMS
double m_CovMS
Definition: TrigTrackSeedGenerator.h:348
beamspotman.r
def r
Definition: beamspotman.py:676
LPhi_Storage::m_layers
std::vector< L_PHI_SECTOR > m_layers
Definition: TrigTrackSeedGenerator.h:234
InternalSoA::m_t
double * m_t
Definition: TrigTrackSeedGenerator.h:297
LPhiSector::m_phiSlices
std::vector< std::vector< const INDEXED_SP * > > m_phiSlices
Definition: TrigTrackSeedGenerator.h:189
TrigTrackSeedGenerator::m_triplets
std::vector< TrigInDetTriplet > m_triplets
Definition: TrigTrackSeedGenerator.h:350
IndexedSP::m_idx
int m_idx
Definition: TrigTrackSeedGenerator.h:28
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
LPhiSector::greaterThanR::operator()
bool operator()(float r, const INDEXED_SP *const &p) const
Definition: TrigTrackSeedGenerator.h:67
LPhiSector::compareRless
Definition: TrigTrackSeedGenerator.h:48
TrigTrackSeedGenerator::validateLayerPairNew
bool validateLayerPairNew(int, int, float, float)
Definition: TrigTrackSeedGenerator.cxx:291
TrigTrackSeedGenerator::m_maxDeltaRadius
double m_maxDeltaRadius
Definition: TrigTrackSeedGenerator.h:342
TrigTrackSeedGenerator::TrigTrackSeedGenerator
TrigTrackSeedGenerator(const TrigTrackSeedGenerator &)=delete
LPhiSector::operator=
const LPhiSector & operator=(const LPhiSector &ps)
Definition: TrigTrackSeedGenerator.h:125
InternalSoA::m_r
double * m_r
Definition: TrigTrackSeedGenerator.h:294
InternalSoA::clear
void clear()
Definition: TrigTrackSeedGenerator.h:249
TRIG_TRACK_SEED_GENERATOR
class TrigTrackSeedGenerator TRIG_TRACK_SEED_GENERATOR
TrigTrackSeedGenerator::createTripletsNew
void createTripletsNew(const TrigSiSpacePointBase *, int, int, std::vector< TrigInDetTriplet > &, const IRoiDescriptor *)
Definition: TrigTrackSeedGenerator.cxx:778
SP_RANGE
std::pair< std::vector< const INDEXED_SP * >::const_iterator, std::vector< const INDEXED_SP * >::const_iterator > SP_RANGE
Definition: TrigTrackSeedGenerator.h:308
TrigTrackSeedGenerator::m_maxCoord
float m_maxCoord
Definition: TrigTrackSeedGenerator.h:352
TrigTrackSeedGenerator
Definition: TrigTrackSeedGenerator.h:310
InternalSoA::m_sorted_sp_t
double * m_sorted_sp_t
Definition: TrigTrackSeedGenerator.h:303
hist_file_dump.d
d
Definition: hist_file_dump.py:137
InternalSoA::m_ti
double * m_ti
Definition: TrigTrackSeedGenerator.h:298
LPhi_Storage::reset
void reset()
Definition: TrigTrackSeedGenerator.h:211
INTERNAL_SOA
struct InternalSoA INTERNAL_SOA
LPhiSector::greaterThanR_i
Definition: TrigTrackSeedGenerator.h:72
InternalSoA::m_v
double * m_v
Definition: TrigTrackSeedGenerator.h:296
TrigTrackSeedGenerator::m_minR_squ
double m_minR_squ
Definition: TrigTrackSeedGenerator.h:348
skel.it
it
Definition: skel.GENtoEVGEN.py:423
LPhiSector::smallerThanZ::operator()
bool operator()(const INDEXED_SP *const &p, float z) const
Definition: TrigTrackSeedGenerator.h:61
TrigTrackSeedGenerator::m_zTol
double m_zTol
Definition: TrigTrackSeedGenerator.h:342
LPhiSector::m_nSP
int m_nSP
Definition: TrigTrackSeedGenerator.h:188
LPhiSector::smallerThanR_i
Definition: TrigTrackSeedGenerator.h:84
TrigTrackSeedGenerator::m_zMinusEndcap
float m_zMinusEndcap
Definition: TrigTrackSeedGenerator.h:352
LPhiSector::greaterThanR_i::operator()
bool operator()(const INDEXED_SP *const &p, float r) const
Definition: TrigTrackSeedGenerator.h:73
LPhiSector::greaterThanZ::operator()
bool operator()(float z, const INDEXED_SP *const &p) const
Definition: TrigTrackSeedGenerator.h:55
LPhiSector::sortSpacePoints
void sortSpacePoints(bool isBarrel, bool isPositive)
Definition: TrigTrackSeedGenerator.h:167
TrigTrackSeedGenerator::m_spStorage
std::vector< INDEXED_SP > m_spStorage
Definition: TrigTrackSeedGenerator.h:327
IndexedSP::m_pSP
const TrigSiSpacePointBase * m_pSP
Definition: TrigTrackSeedGenerator.h:27
LPhi_Storage::sortSpacePoints
void sortSpacePoints(const std::vector< TrigInDetSiLayer > &layerGeometry)
Definition: TrigTrackSeedGenerator.h:218
LPhiSector
Definition: TrigTrackSeedGenerator.h:32
TrigTrackSeedGenerator::TrigTrackSeedGenerator
TrigTrackSeedGenerator(const TrigCombinatorialSettings &)
Definition: TrigTrackSeedGenerator.cxx:18
TrigTrackSeedGenerator::getSpacepointRange
bool getSpacepointRange(int, const std::vector< const INDEXED_SP * > &, SP_RANGE &)
Definition: TrigTrackSeedGenerator.cxx:426
IndexedSP::IndexedSP
IndexedSP(const IndexedSP &isp)
Definition: TrigTrackSeedGenerator.h:20
InternalSoA::m_to
double * m_to
Definition: TrigTrackSeedGenerator.h:299
TrigTrackSeedGenerator::m_settings
const TrigCombinatorialSettings & m_settings
Definition: TrigTrackSeedGenerator.h:340
IndexedSP::IndexedSP
IndexedSP()
Definition: TrigTrackSeedGenerator.h:18
TrigTrackSeedGenerator::processSpacepointRange
int processSpacepointRange(int, const INDEXED_SP *, bool, const SP_RANGE &, const IRoiDescriptor *)
Definition: TrigTrackSeedGenerator.cxx:467
L_PHI_STORAGE
struct LPhi_Storage L_PHI_STORAGE
TrigTrackSeedGenerator::loadSpacePoints
void loadSpacePoints(const std::vector< TrigSiSpacePointBase > &)
Definition: TrigTrackSeedGenerator.cxx:44
InternalSoA::m_spi
const TrigSiSpacePointBase ** m_spi
Definition: TrigTrackSeedGenerator.h:292
TrigTrackSeedGenerator::m_minCoord
float m_minCoord
Definition: TrigTrackSeedGenerator.h:352
LPhiSector::sortSpacePoints
void sortSpacePoints(bool isBarrel)
Definition: TrigTrackSeedGenerator.h:154
TrigSiSpacePointBase::z
void z(const double z)
Definition: TrigSiSpacePointBase.h:53
TrigTrackSeedGenerator::m_outerMarkers
std::vector< int > m_outerMarkers
Definition: TrigTrackSeedGenerator.h:355
InternalSoA
Definition: TrigTrackSeedGenerator.h:238
LPhiSector::smallerThanR::operator()
bool operator()(const INDEXED_SP *const &p, float r) const
Definition: TrigTrackSeedGenerator.h:79
IndexedSP::set
void set(const TrigSiSpacePointBase *p, int idx)
Definition: TrigTrackSeedGenerator.h:22
LPhiSector::addSpacePoint
void addSpacePoint(int phiIndex, const INDEXED_SP *p)
Definition: TrigTrackSeedGenerator.h:145
m_type
TokenType m_type
the type
Definition: TProperty.cxx:44
TrigSiSpacePointBase::r
void r(const double r)
Definition: TrigSiSpacePointBase.h:51
InternalSoA::m_u
double * m_u
Definition: TrigTrackSeedGenerator.h:295
InternalSoA::m_sorted_sp
const TrigSiSpacePointBase ** m_sorted_sp
Definition: TrigTrackSeedGenerator.h:301
LPhiSector::compareRless::operator()
bool operator()(const INDEXED_SP *p1, const INDEXED_SP *p2)
Definition: TrigTrackSeedGenerator.h:49
InternalSoA::m_tCov
double * m_tCov
Definition: TrigTrackSeedGenerator.h:300
LPhiSector::size
int size() const
Definition: TrigTrackSeedGenerator.h:186
LPhiSector::compareR
Definition: TrigTrackSeedGenerator.h:42
LPhiSector::LPhiSector
LPhiSector()
Definition: TrigTrackSeedGenerator.h:194
LPhiSector::smallerThanR_i::operator()
bool operator()(float r, const INDEXED_SP *const &p) const
Definition: TrigTrackSeedGenerator.h:85
InternalSoA::InternalSoA
InternalSoA()
Definition: TrigTrackSeedGenerator.h:242
TrigTrackSeedGenerator::m_maxDeltaRadiusConf
double m_maxDeltaRadiusConf
Definition: TrigTrackSeedGenerator.h:342
lumiFormat.i
int i
Definition: lumiFormat.py:92
TrigTrackSeedGenerator::processSpacepointRangeZv
int processSpacepointRangeZv(const INDEXED_SP *, bool, const SP_RANGE &, bool, const float &, const float &)
Definition: TrigTrackSeedGenerator.cxx:547
z
#define z
TrigSiSpacePointBase.h
TrigTrackSeedGenerator::m_nOuter
int m_nOuter
Definition: TrigTrackSeedGenerator.h:354
IRoiDescriptor
Describes the API of the Region of Ineterest geometry.
Definition: IRoiDescriptor.h:23
TrigTrackSeedGenerator::m_dtPreCut
double m_dtPreCut
Definition: TrigTrackSeedGenerator.h:348
InternalSoA::m_spo
const TrigSiSpacePointBase ** m_spo
Definition: TrigTrackSeedGenerator.h:293
TrigTrackSeedGenerator::m_phiSliceWidth
double m_phiSliceWidth
Definition: TrigTrackSeedGenerator.h:341
TrigTrackSeedGenerator::m_zMinus
float m_zMinus
Definition: TrigTrackSeedGenerator.h:352
TrigTrackSeedGenerator::~TrigTrackSeedGenerator
~TrigTrackSeedGenerator()
Definition: TrigTrackSeedGenerator.cxx:37
LPhiSector::greaterThanR
Definition: TrigTrackSeedGenerator.h:66
InternalSoA::m_sorted_sp_type
int * m_sorted_sp_type
Definition: TrigTrackSeedGenerator.h:302
LPhiSector::m_threeIndices
std::vector< int > m_threeIndices[3]
Definition: TrigTrackSeedGenerator.h:191
LPhiSector::smallerThanZ
Definition: TrigTrackSeedGenerator.h:60
LPhiSector::LPhiSector
LPhiSector(int nPhiSlices)
Definition: TrigTrackSeedGenerator.h:91
TrigTrackSeedGenerator::getSeeds
void getSeeds(std::vector< TrigInDetTriplet > &)
Definition: TrigTrackSeedGenerator.cxx:1261
INDEXED_SP
struct IndexedSP INDEXED_SP
LPhiSector::compareR::operator()
bool operator()(const INDEXED_SP *p1, const INDEXED_SP *p2)
Definition: TrigTrackSeedGenerator.h:43
L_PHI_SECTOR
struct LPhiSector L_PHI_SECTOR
LPhiSector::compareZ::operator()
bool operator()(const INDEXED_SP *p1, const INDEXED_SP *p2)
Definition: TrigTrackSeedGenerator.h:37
TrigTrackSeedGenerator::m_minDeltaRadius
double m_minDeltaRadius
Definition: TrigTrackSeedGenerator.h:342
TrigTrackSeedGenerator::createTriplets
void createTriplets(const TrigSiSpacePointBase *, int, int, std::vector< TrigInDetTriplet > &, const IRoiDescriptor *)
Definition: TrigTrackSeedGenerator.cxx:602
TrigTrackSeedGenerator::m_maxTau
std::vector< float > m_maxTau
Definition: TrigTrackSeedGenerator.h:329
TrigCombinatorialSettings.h
TrigTrackSeedGenerator::m_SoA
INTERNAL_SOA m_SoA
Definition: TrigTrackSeedGenerator.h:346
LPhiSector::compareZ
Definition: TrigTrackSeedGenerator.h:36
LPhi_Storage::LPhi_Storage
LPhi_Storage(int nPhiSectors, int nLayers)
Definition: TrigTrackSeedGenerator.h:202
LPhiSector::m_phiThreeSlices
std::vector< std::vector< const INDEXED_SP * > > m_phiThreeSlices
Definition: TrigTrackSeedGenerator.h:190
TrigTrackSeedGenerator::createSeeds
void createSeeds(const IRoiDescriptor *)
Definition: TrigTrackSeedGenerator.cxx:111
InternalSoA::resize
void resize(const int spSize)
Definition: TrigTrackSeedGenerator.h:276
TrigTrackSeedGenerator::m_innerMarkers
std::vector< int > m_innerMarkers
Definition: TrigTrackSeedGenerator.h:355
eflowRec::phiIndex
unsigned int phiIndex(float phi, float binsize)
calculate phi index for a given phi
Definition: EtaPhiLUT.cxx:23
LPhi_Storage::addSpacePoint
void addSpacePoint(int phiIdx, int layerId, const INDEXED_SP *p)
Definition: TrigTrackSeedGenerator.h:207
IndexedSP::IndexedSP
IndexedSP(const TrigSiSpacePointBase *p, int idx)
Definition: TrigTrackSeedGenerator.h:19
InternalSoA::~InternalSoA
~InternalSoA()
Definition: TrigTrackSeedGenerator.h:246
LPhiSector::greaterThanZ
Definition: TrigTrackSeedGenerator.h:54
LPhiSector::reset
void reset()
Definition: TrigTrackSeedGenerator.h:135
TrigTrackSeedGenerator::createConfirmedTriplets
void createConfirmedTriplets(const TrigSiSpacePointBase *, int, int, std::vector< TrigInDetTriplet > &, const IRoiDescriptor *)
Definition: TrigTrackSeedGenerator.cxx:1022
LPhiSector::smallerThanR
Definition: TrigTrackSeedGenerator.h:78
LPhiSector::LPhiSector
LPhiSector(const LPhiSector &ps)
Definition: TrigTrackSeedGenerator.h:119
TrigTrackSeedGenerator::m_zPlus
float m_zPlus
Definition: TrigTrackSeedGenerator.h:352
LPhi_Storage
Definition: TrigTrackSeedGenerator.h:198
IndexedSP
Definition: TrigTrackSeedGenerator.h:16
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
python.LArCondContChannels.isBarrel
isBarrel
Definition: LArCondContChannels.py:659
TrigTrackSeedGenerator::m_nInner
int m_nInner
Definition: TrigTrackSeedGenerator.h:354
TrigTrackSeedGenerator::storeTriplets
void storeTriplets(std::vector< TrigInDetTriplet > &)
Definition: TrigTrackSeedGenerator.cxx:1248
TrigSiSpacePointBase
Definition: TrigSiSpacePointBase.h:23
TrigTrackSeedGenerator::m_zPlusEndcap
float m_zPlusEndcap
Definition: TrigTrackSeedGenerator.h:352
TrigTrackSeedGenerator::m_pStore
L_PHI_STORAGE * m_pStore
Definition: TrigTrackSeedGenerator.h:344
TrigCombinatorialSettings
Definition: TrigCombinatorialSettings.h:15
LPhi_Storage::sortSpacePoints2
void sortSpacePoints2(const std::vector< TrigInDetSiLayer > &layerGeometry)
Definition: TrigTrackSeedGenerator.h:226
TrigTrackSeedGenerator::m_minTau
std::vector< float > m_minTau
Definition: TrigTrackSeedGenerator.h:328
TrigTrackSeedGenerator::operator=
TrigTrackSeedGenerator & operator=(const TrigTrackSeedGenerator &)=delete