CMS 3D CMS Logo

TrackerAlignmentLevelBuilder.cc
Go to the documentation of this file.
1 
3 
4 // Original Author: Max Stark
5 // Created: Wed, 10 Feb 2016 13:48:41 CET
6 
7 // topology and geometry
11 
12 //=============================================================================
13 //=== PUBLIC METHOD IMPLEMENTATION ===
14 //=============================================================================
15 
16 //_____________________________________________________________________________
18  const TrackerGeometry* trackerGeometry)
19  : trackerTopology_(trackerTopology),
20  alignableObjectId_(trackerGeometry, nullptr, nullptr),
21  trackerNameSpace_(trackerTopology) {}
22 
23 //_____________________________________________________________________________
25 
26 //_____________________________________________________________________________
28  int subdetId = detId.subdetId();
29 
30  switch (subdetId) {
32  addPXBDetUnitInfo(detId);
33  break;
35  addPXEDetUnitInfo(detId);
36  break;
38  addTIBDetUnitInfo(detId);
39  break;
41  addTIDDetUnitInfo(detId);
42  break;
44  addTOBDetUnitInfo(detId);
45  break;
47  addTECDetUnitInfo(detId);
48  break;
49  }
50 }
51 
52 //_____________________________________________________________________________
53 std::vector<align::AlignmentLevels> TrackerAlignmentLevelBuilder ::build() {
54  std::vector<align::AlignmentLevels> levels;
55  levels.push_back(buildPXBAlignmentLevels());
56  levels.push_back(buildPXEAlignmentLevels());
57  levels.push_back(buildTIBAlignmentLevels());
58  levels.push_back(buildTIDAlignmentLevels());
59  levels.push_back(buildTOBAlignmentLevels());
60  levels.push_back(buildTECAlignmentLevels());
61  levelsBuilt_ = true;
62  return levels;
63 }
64 
65 //______________________________________________________________________________
67  if (levelsBuilt_) {
68  return trackerNameSpace_;
69  } else {
70  throw cms::Exception("LogicError") << "@SUB=TrackerAlignmentLevelBuilder::trackerNameSpace\n"
71  << "trying to get the name space before it has been properly initialized;"
72  << " please call TrackerAlignmentLevelBuilder::build() first";
73  }
74 }
75 
76 //=============================================================================
77 //=== PRIVATE METHOD IMPLEMENTATION ===
78 //=============================================================================
79 
80 //_____________________________________________________________________________
82  auto layerID = trackerTopology_->pxbLayer(detId);
83  auto ladderID = trackerTopology_->pxbLadder(detId);
84  auto moduleID = trackerTopology_->module(detId);
85 
86  if (pxbLaddersPerLayer_[layerID - 1] < ladderID) {
87  pxbLaddersPerLayer_[layerID - 1] = ladderID;
88  }
89 
90  pxbLayerIDs_.insert(layerID);
91  pxbLadderIDs_.insert(ladderID);
92  pxbModuleIDs_.insert(moduleID);
93 }
94 
95 //_____________________________________________________________________________
97  auto sideID = trackerTopology_->pxfSide(detId);
98  auto diskID = trackerTopology_->pxfDisk(detId);
99  auto bladeID = trackerTopology_->pxfBlade(detId);
100  auto panelID = trackerTopology_->pxfPanel(detId);
101  auto moduleID = trackerTopology_->module(detId);
102 
103  pxeSideIDs_.insert(sideID);
104  pxeDiskIDs_.insert(diskID);
105  pxeBladeIDs_.insert(bladeID);
106  pxePanelIDs_.insert(panelID);
107  pxeModuleIDs_.insert(moduleID);
108 }
109 
110 //_____________________________________________________________________________
112  auto sideID = trackerTopology_->tibSide(detId);
113  auto layerID = trackerTopology_->tibLayer(detId);
114  auto layerSide = trackerTopology_->tibOrder(detId);
115  auto stringID = trackerTopology_->tibString(detId);
116  auto moduleID = trackerTopology_->module(detId);
117 
118  if (layerSide == 1) {
119  if (tidStringsInnerLayer_[layerID - 1] < stringID) {
120  tidStringsInnerLayer_[layerID - 1] = stringID;
121  }
122  } else {
123  if (tidStringsOuterLayer_[layerID - 1] < stringID) {
124  tidStringsOuterLayer_[layerID - 1] = stringID;
125  }
126  }
127 
128  tibSideIDs_.insert(sideID);
129  tibLayerIDs_.insert(layerID);
130  tibStringIDs_.insert(stringID);
131  tibModuleIDs_.insert(moduleID);
132 }
133 
134 //_____________________________________________________________________________
136  auto sideID = trackerTopology_->tidSide(detId);
137  auto wheelID = trackerTopology_->tidWheel(detId);
138  auto ringID = trackerTopology_->tidRing(detId);
139  auto moduleID = trackerTopology_->module(detId);
140 
141  // tidOrder
142  tidSideIDs_.insert(sideID);
143  tidWheelIDs_.insert(wheelID);
144  tidRingIDs_.insert(ringID);
145  tidModuleIDs_.insert(moduleID);
146 }
147 
148 //_____________________________________________________________________________
150  auto layerID = trackerTopology_->tobLayer(detId);
151  auto sideID = trackerTopology_->tobSide(detId);
152  auto rodID = trackerTopology_->tobRod(detId);
153  auto moduleID = trackerTopology_->module(detId);
154 
155  tobLayerIDs_.insert(layerID);
156  tobSideIDs_.insert(sideID);
157  tobRodIDs_.insert(rodID);
158  tobModuleIDs_.insert(moduleID);
159 }
160 
161 //_____________________________________________________________________________
163  auto sideID = trackerTopology_->tecSide(detId);
164  auto wheelID = trackerTopology_->tecWheel(detId);
165  auto petalID = trackerTopology_->tecPetalNumber(detId);
166  auto ringID = trackerTopology_->tecRing(detId);
167  auto moduleID = trackerTopology_->module(detId);
168 
169  tecSideIDs_.insert(sideID);
170  tecWheelIDs_.insert(wheelID);
171  tecPetalIDs_.insert(petalID);
172  tecRingIDs_.insert(ringID);
173  tecModuleIDs_.insert(moduleID);
174 }
175 
176 //_____________________________________________________________________________
178  int maxNumModules = pxbModuleIDs_.size();
179  int maxNumLadders = pxbLadderIDs_.size() / 2; // divide by 2 since we have
180  // HalfBarrels
181  int maxNumLayers = pxbLayerIDs_.size();
182 
183  std::ostringstream ss;
184  ss << "determined following numbers for " << alignableObjectId_.idToString(align::TPBBarrel) << " geometry:"
185  << "\n"
186  << " max. number of modules: " << maxNumModules << "\n"
187  << " max. number of ladders: " << maxNumLadders << "\n";
188 
189  for (size_t layer = 0; layer < pxbLaddersPerLayer_.size(); ++layer) {
190  // divide by 4, because we need the ladders per quarter cylinder
191  trackerNameSpace_.tpb_.lpqc_.push_back(pxbLaddersPerLayer_[layer] / 4);
192  ss << " ladders in layer-" << layer << ": " << pxbLaddersPerLayer_[layer] << "\n";
193  }
194 
195  ss << " max. number of layers: " << maxNumLayers;
196  edm::LogInfo("AlignableBuildProcess") << "@SUB=TrackerAlignmentLevelBuilder::buildPXBAlignmentLevels" << ss.str();
197 
199  pxb.push_back(std::make_unique<AlignmentLevel>(align::TPBModule, maxNumModules, false));
200  pxb.push_back(std::make_unique<AlignmentLevel>(align::TPBLadder, maxNumLadders, true));
201  pxb.push_back(std::make_unique<AlignmentLevel>(align::TPBLayer, maxNumLayers, false));
202  pxb.push_back(std::make_unique<AlignmentLevel>(align::TPBHalfBarrel, 2, false));
203  pxb.push_back(std::make_unique<AlignmentLevel>(align::TPBBarrel, 1, false));
204  return pxb;
205 }
206 
207 //_____________________________________________________________________________
209  int maxNumModules = pxeModuleIDs_.size();
210  int maxNumPanels = pxePanelIDs_.size();
211  int maxNumBlades = pxeBladeIDs_.size() / 2;
212  int maxNumDisks = pxeDiskIDs_.size();
213  int maxNumSides = pxeSideIDs_.size();
214 
215  std::ostringstream ss;
216  ss << "determined following numbers for " << alignableObjectId_.idToString(align::TPEEndcap) << " geometry:"
217  << "\n"
218  << " max. number of modules: " << maxNumModules << "\n"
219  << " max. number of panels: " << maxNumPanels << "\n"
220  << " max. number of blades: " << maxNumBlades << "\n";
221 
222  trackerNameSpace_.tpe_.bpqd_ = maxNumBlades / 2;
223 
224  ss << " blades per quarter disk: " << trackerNameSpace_.tpe_.bpqd_ << "\n"
225  << " max. number of disks: " << maxNumDisks << "\n"
226  << " max. number of sides: " << maxNumSides;
227  edm::LogInfo("AlignableBuildProcess") << "@SUB=TrackerAlignmentLevelBuilder::buildPXEAlignmentLevels" << ss.str();
228 
230  pxe.push_back(std::make_unique<AlignmentLevel>(align::TPEModule, maxNumModules, false));
231  pxe.push_back(std::make_unique<AlignmentLevel>(align::TPEPanel, maxNumPanels, true));
232  pxe.push_back(std::make_unique<AlignmentLevel>(align::TPEBlade, maxNumBlades, true));
233  pxe.push_back(std::make_unique<AlignmentLevel>(align::TPEHalfDisk, maxNumDisks, false));
234  pxe.push_back(std::make_unique<AlignmentLevel>(align::TPEHalfCylinder, 2, false));
235  pxe.push_back(std::make_unique<AlignmentLevel>(align::TPEEndcap, maxNumSides, false));
236  return pxe;
237 }
238 
239 //_____________________________________________________________________________
241  int maxNumModules = tibModuleIDs_.size();
242  int maxNumStrings = tibStringIDs_.size();
243  int maxNumLayers = tibLayerIDs_.size();
244  int maxNumSides = tibSideIDs_.size();
245 
246  std::ostringstream ss;
247  ss << "determined following numbers for " << alignableObjectId_.idToString(align::TIBBarrel) << " geometry:"
248  << "\n"
249  << " max. number of modules: " << maxNumModules << "\n"
250  << " max. number of strings: " << maxNumStrings << "\n";
251 
252  for (size_t layer = 0; layer < tidStringsInnerLayer_.size(); ++layer) {
253  // divide by 2, because we have HalfShells
254  trackerNameSpace_.tib_.sphs_.push_back(tidStringsInnerLayer_[layer] / 2);
255  trackerNameSpace_.tib_.sphs_.push_back(tidStringsOuterLayer_[layer] / 2);
256 
257  ss << " strings in layer-" << layer << " (inside): " << tidStringsInnerLayer_[layer] << "\n"
258  << " strings in layer-" << layer << " (outside): " << tidStringsOuterLayer_[layer] << "\n";
259  }
260 
261  ss << " max. number of layers: " << maxNumLayers << "\n"
262  << " max. number of sides: " << maxNumSides;
263  edm::LogInfo("AlignableBuildProcess") << "@SUB=TrackerAlignmentLevelBuilder::buildTIBAlignmentLevels" << ss.str();
264 
266  tib.push_back(std::make_unique<AlignmentLevel>(align::TIBModule, maxNumModules, false));
267  tib.push_back(std::make_unique<AlignmentLevel>(align::TIBString, maxNumStrings, true));
268  tib.push_back(std::make_unique<AlignmentLevel>(align::TIBSurface, 2, false)); // 2 surfaces per half shell
269  tib.push_back(std::make_unique<AlignmentLevel>(align::TIBHalfShell, 2, false)); // 2 half shells per layer
270  tib.push_back(std::make_unique<AlignmentLevel>(align::TIBLayer, maxNumLayers, false));
271  tib.push_back(std::make_unique<AlignmentLevel>(align::TIBHalfBarrel, 2, false));
272  tib.push_back(std::make_unique<AlignmentLevel>(align::TIBBarrel, 1, false));
273  return tib;
274 }
275 
276 //_____________________________________________________________________________
278  int maxNumModules = tidModuleIDs_.size();
279  int maxNumRings = tidRingIDs_.size();
280  // TODO: for PhaseII geometry the method name for tidWheel changes:
281  // -> trackerTopology->tidDisk(detId);
282  int maxNumWheels = tidWheelIDs_.size();
283  int maxNumSides = tidSideIDs_.size();
284 
285  edm::LogInfo("AlignableBuildProcess") << "@SUB=TrackerAlignmentLevelBuilder::buildTIDAlignmentLevels"
286  << "determined following numbers for "
288  << "\n"
289  << " max. number of modules: " << maxNumModules << "\n"
290  << " max. number of rings: " << maxNumRings << "\n"
291  << " max. number of wheels: " << maxNumWheels << "\n"
292  << " max. number of sides: " << maxNumSides;
293 
295  tid.push_back(std::make_unique<AlignmentLevel>(align::TIDModule, maxNumModules, false));
296  tid.push_back(std::make_unique<AlignmentLevel>(align::TIDSide, 2, false)); // 2 sides per ring
297  tid.push_back(std::make_unique<AlignmentLevel>(align::TIDRing, maxNumRings, false));
298  tid.push_back(std::make_unique<AlignmentLevel>(align::TIDDisk, maxNumWheels, false));
299  tid.push_back(std::make_unique<AlignmentLevel>(align::TIDEndcap, 2, false)); // 2 endcaps in TID
300  return tid;
301 }
302 
303 //_____________________________________________________________________________
305  int maxNumModules = tobModuleIDs_.size();
306  int maxNumRods = tobRodIDs_.size();
307  int maxNumSides = tobSideIDs_.size();
308  int maxNumLayers = tobLayerIDs_.size();
309 
310  edm::LogInfo("AlignableBuildProcess") << "@SUB=TrackerAlignmentLevelBuilder::buildTOBAlignmentLevels"
311  << "determined following numbers for "
313  << "\n"
314  << " max. number of modules: " << maxNumModules << "\n"
315  << " max. number of rods: " << maxNumRods << "\n"
316  << " max. number of sides: " << maxNumSides << "\n"
317  << " max. number of layers: " << maxNumLayers;
318 
320  tob.push_back(std::make_unique<AlignmentLevel>(align::TOBModule, maxNumModules, false));
321  tob.push_back(std::make_unique<AlignmentLevel>(align::TOBRod, maxNumRods, true));
322  tob.push_back(std::make_unique<AlignmentLevel>(align::TOBLayer, maxNumLayers, false));
323  tob.push_back(std::make_unique<AlignmentLevel>(align::TOBHalfBarrel, maxNumSides, false));
324  tob.push_back(std::make_unique<AlignmentLevel>(align::TOBBarrel, 1, false));
325  return tob;
326 }
327 
328 //_____________________________________________________________________________
330  int maxNumModules = tecModuleIDs_.size();
331  int maxNumRings = tecRingIDs_.size();
332  int maxNumPetals = tecPetalIDs_.size();
333  int maxNumDisks = tecWheelIDs_.size();
334  int maxNumSides = tecSideIDs_.size();
335 
336  edm::LogInfo("AlignableBuildProcess") << "@SUB=TrackerAlignmentLevelBuilder::buildTECAlignmentLevels"
337  << "determined following numbers for "
339  << "\n"
340  << " max. number of modules: " << maxNumModules << "\n"
341  << " max. number of rings: " << maxNumRings << "\n"
342  << " max. number of petals: " << maxNumPetals << "\n"
343  << " max. number of wheels: " << maxNumDisks << "\n"
344  << " max. number of sides: " << maxNumSides;
345 
347  tec.push_back(std::make_unique<AlignmentLevel>(align::TECModule, maxNumModules, false));
348  tec.push_back(std::make_unique<AlignmentLevel>(align::TECRing, maxNumRings, true));
349  tec.push_back(std::make_unique<AlignmentLevel>(align::TECPetal, maxNumPetals, true));
350  tec.push_back(std::make_unique<AlignmentLevel>(align::TECSide, 2, false)); // 2 sides per disk
351  tec.push_back(std::make_unique<AlignmentLevel>(align::TECDisk, maxNumDisks, false));
352  tec.push_back(std::make_unique<AlignmentLevel>(align::TECEndcap, 2, false));
353  return tec;
354 }
TrackerAlignmentLevelBuilder::tidStringsOuterLayer_
std::map< unsigned int, unsigned int > tidStringsOuterLayer_
Definition: TrackerAlignmentLevelBuilder.h:85
TrackerTopology::tibOrder
unsigned int tibOrder(const DetId &id) const
Definition: TrackerTopology.h:209
align::TPBHalfBarrel
Definition: StructureType.h:26
align::TrackerNameSpace::tib_
TIB tib_
Definition: TrackerNameSpace.h:264
TrackerAlignmentLevelBuilder::pxeBladeIDs_
std::set< unsigned int > pxeBladeIDs_
Definition: TrackerAlignmentLevelBuilder.h:68
align::TPEHalfDisk
Definition: StructureType.h:33
align::TPBBarrel
Definition: StructureType.h:27
PixelSubdetector::PixelEndcap
Definition: PixelSubdetector.h:11
align::TPEBlade
Definition: StructureType.h:32
TrackerGeometry.h
TrackerAlignmentLevelBuilder::tobLayerIDs_
std::set< unsigned int > tobLayerIDs_
Definition: TrackerAlignmentLevelBuilder.h:88
align::TECEndcap
Definition: StructureType.h:66
PixelSubdetector::PixelBarrel
Definition: PixelSubdetector.h:11
TrackerTopology::pxfSide
unsigned int pxfSide(const DetId &id) const
Definition: TrackerTopology.h:192
align::TOBBarrel
Definition: StructureType.h:58
TrackerAlignmentLevelBuilder::pxbLayerIDs_
std::set< unsigned int > pxbLayerIDs_
Definition: TrackerAlignmentLevelBuilder.h:60
align::TPBLayer
Definition: StructureType.h:25
TrackerAlignmentLevelBuilder::tibModuleIDs_
std::set< unsigned int > tibModuleIDs_
Definition: TrackerAlignmentLevelBuilder.h:76
TrackerAlignmentLevelBuilder::trackerNameSpace
const align::TrackerNameSpace & trackerNameSpace() const
Definition: TrackerAlignmentLevelBuilder.cc:66
TrackerAlignmentLevelBuilder::alignableObjectId_
const AlignableObjectId alignableObjectId_
Definition: TrackerAlignmentLevelBuilder.h:55
TrackerTopology
Definition: TrackerTopology.h:16
align::TrackerNameSpace::TPB::lpqc_
std::vector< unsigned int > lpqc_
Number of ladders for each quarter cylinder.
Definition: TrackerNameSpace.h:59
TrackerAlignmentLevelBuilder::tidStringsInnerLayer_
std::map< unsigned int, unsigned int > tidStringsInnerLayer_
Definition: TrackerAlignmentLevelBuilder.h:84
TrackerTopology::pxbLadder
unsigned int pxbLadder(const DetId &id) const
Definition: TrackerTopology.h:155
align::TIBSurface
Definition: StructureType.h:40
align::TOBModule
Definition: StructureType.h:54
TrackerAlignmentLevelBuilder::pxeModuleIDs_
std::set< unsigned int > pxeModuleIDs_
Definition: TrackerAlignmentLevelBuilder.h:70
TrackerAlignmentLevelBuilder::tecModuleIDs_
std::set< unsigned int > tecModuleIDs_
Definition: TrackerAlignmentLevelBuilder.h:98
align::TPEEndcap
Definition: StructureType.h:35
align::TIBModule
Definition: StructureType.h:38
align::TIBString
Definition: StructureType.h:39
align::TrackerNameSpace::tpe_
TPE tpe_
Definition: TrackerNameSpace.h:263
TrackerAlignmentLevelBuilder::buildTIBAlignmentLevels
align::AlignmentLevels buildTIBAlignmentLevels()
Definition: TrackerAlignmentLevelBuilder.cc:240
TrackerAlignmentLevelBuilder::addPXBDetUnitInfo
void addPXBDetUnitInfo(const DetId &detId)
Definition: TrackerAlignmentLevelBuilder.cc:81
TrackerAlignmentLevelBuilder::tibSideIDs_
std::set< unsigned int > tibSideIDs_
Definition: TrackerAlignmentLevelBuilder.h:73
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
TrackerTopology::module
unsigned int module(const DetId &id) const
Definition: TrackerTopology.cc:66
align::TOBLayer
Definition: StructureType.h:56
TrackerTopology::tidRing
unsigned int tidRing(const DetId &id) const
Definition: TrackerTopology.h:218
align::TrackerNameSpace
Definition: TrackerNameSpace.h:10
TrackerTopology::tobRod
unsigned int tobRod(const DetId &id) const
Definition: TrackerTopology.h:195
TrackerAlignmentLevelBuilder::tecPetalIDs_
std::set< unsigned int > tecPetalIDs_
Definition: TrackerAlignmentLevelBuilder.h:96
TrackerTopology::tidWheel
unsigned int tidWheel(const DetId &id) const
Definition: TrackerTopology.h:201
TrackerTopology::pxbLayer
unsigned int pxbLayer(const DetId &id) const
Definition: TrackerTopology.h:144
TrackerTopology::tibSide
unsigned int tibSide(const DetId &id) const
Definition: TrackerTopology.h:186
TrackerTopology::pxfPanel
unsigned int pxfPanel(const DetId &id) const
Definition: TrackerTopology.h:450
contentValuesCheck.ss
ss
Definition: contentValuesCheck.py:33
DetId
Definition: DetId.h:17
TrackerTopology.h
TrackerAlignmentLevelBuilder::addTECDetUnitInfo
void addTECDetUnitInfo(const DetId &detId)
Definition: TrackerAlignmentLevelBuilder.cc:162
TrackerAlignmentLevelBuilder::buildTECAlignmentLevels
align::AlignmentLevels buildTECAlignmentLevels()
Definition: TrackerAlignmentLevelBuilder.cc:329
align::TECSide
Definition: StructureType.h:64
align::TOBHalfBarrel
Definition: StructureType.h:57
align::TIBLayer
Definition: StructureType.h:42
StripSubdetector::TIB
static constexpr auto TIB
Definition: StripSubdetector.h:16
align::TIBHalfBarrel
Definition: StructureType.h:43
align::TIDRing
Definition: StructureType.h:49
align::TPBLadder
Definition: StructureType.h:24
TrackerAlignmentLevelBuilder::tidModuleIDs_
std::set< unsigned int > tidModuleIDs_
Definition: TrackerAlignmentLevelBuilder.h:83
TrackerAlignmentLevelBuilder::pxbModuleIDs_
std::set< unsigned int > pxbModuleIDs_
Definition: TrackerAlignmentLevelBuilder.h:62
TrackerAlignmentLevelBuilder::pxbLadderIDs_
std::set< unsigned int > pxbLadderIDs_
Definition: TrackerAlignmentLevelBuilder.h:61
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
TrackerAlignmentLevelBuilder::tobRodIDs_
std::set< unsigned int > tobRodIDs_
Definition: TrackerAlignmentLevelBuilder.h:90
TrackerTopology::tibString
unsigned int tibString(const DetId &id) const
Definition: TrackerTopology.h:419
TrackerAlignmentLevelBuilder::addPXEDetUnitInfo
void addPXEDetUnitInfo(const DetId &detId)
Definition: TrackerAlignmentLevelBuilder.cc:96
TrackerTopology::tecPetalNumber
unsigned int tecPetalNumber(const DetId &id) const
Definition: TrackerTopology.h:221
TrackerAlignmentLevelBuilder::pxeDiskIDs_
std::set< unsigned int > pxeDiskIDs_
Definition: TrackerAlignmentLevelBuilder.h:67
align::TPEHalfCylinder
Definition: StructureType.h:34
TrackerAlignmentLevelBuilder::tecRingIDs_
std::set< unsigned int > tecRingIDs_
Definition: TrackerAlignmentLevelBuilder.h:97
TrackerAlignmentLevelBuilder::buildTOBAlignmentLevels
align::AlignmentLevels buildTOBAlignmentLevels()
Definition: TrackerAlignmentLevelBuilder.cc:304
TrackerAlignmentLevelBuilder::tibStringIDs_
std::set< unsigned int > tibStringIDs_
Definition: TrackerAlignmentLevelBuilder.h:75
TrackerAlignmentLevelBuilder::trackerTopology_
const TrackerTopology * trackerTopology_
Definition: TrackerAlignmentLevelBuilder.h:54
TrackerTopology::tidSide
unsigned int tidSide(const DetId &id) const
Definition: TrackerTopology.h:190
TrackerTopology::tecRing
unsigned int tecRing(const DetId &id) const
ring id
Definition: TrackerTopology.h:217
TrackerTopology::pxfDisk
unsigned int pxfDisk(const DetId &id) const
Definition: TrackerTopology.h:446
align::TrackerNameSpace::TIB::sphs_
std::vector< unsigned int > sphs_
Number of strings for each surface of a half shell.
Definition: TrackerNameSpace.h:144
TrackerAlignmentLevelBuilder::addTIDDetUnitInfo
void addTIDDetUnitInfo(const DetId &detId)
Definition: TrackerAlignmentLevelBuilder.cc:135
TrackerAlignmentLevelBuilder::tidSideIDs_
std::set< unsigned int > tidSideIDs_
Definition: TrackerAlignmentLevelBuilder.h:80
align::TIDModule
Definition: StructureType.h:47
align::TIDEndcap
Definition: StructureType.h:51
TrackerAlignmentLevelBuilder::addDetUnitInfo
void addDetUnitInfo(const DetId &detId)
Definition: TrackerAlignmentLevelBuilder.cc:27
align::TECPetal
Definition: StructureType.h:63
TrackerAlignmentLevelBuilder::tidWheelIDs_
std::set< unsigned int > tidWheelIDs_
Definition: TrackerAlignmentLevelBuilder.h:81
TrackerAlignmentLevelBuilder::tidRingIDs_
std::set< unsigned int > tidRingIDs_
Definition: TrackerAlignmentLevelBuilder.h:82
TrackerAlignmentLevelBuilder::~TrackerAlignmentLevelBuilder
virtual ~TrackerAlignmentLevelBuilder()
Definition: TrackerAlignmentLevelBuilder.cc:24
TrackerAlignmentLevelBuilder::pxeSideIDs_
std::set< unsigned int > pxeSideIDs_
Definition: TrackerAlignmentLevelBuilder.h:66
TrackerAlignmentLevelBuilder::pxbLaddersPerLayer_
std::map< unsigned int, unsigned int > pxbLaddersPerLayer_
Definition: TrackerAlignmentLevelBuilder.h:63
align::TIDDisk
Definition: StructureType.h:50
TrackerAlignmentLevelBuilder::tobSideIDs_
std::set< unsigned int > tobSideIDs_
Definition: TrackerAlignmentLevelBuilder.h:89
TrackerTopology::tobLayer
unsigned int tobLayer(const DetId &id) const
Definition: TrackerTopology.h:147
TrackerAlignmentLevelBuilder::trackerNameSpace_
align::TrackerNameSpace trackerNameSpace_
Definition: TrackerAlignmentLevelBuilder.h:56
TrackerAlignmentLevelBuilder::levelsBuilt_
bool levelsBuilt_
Definition: TrackerAlignmentLevelBuilder.h:57
StripSubdetector::TEC
static constexpr auto TEC
Definition: StripSubdetector.h:19
align::TPEModule
Definition: StructureType.h:30
align::TIBBarrel
Definition: StructureType.h:44
TrackerAlignmentLevelBuilder.h
TrackerAlignmentLevelBuilder::tecWheelIDs_
std::set< unsigned int > tecWheelIDs_
Definition: TrackerAlignmentLevelBuilder.h:95
TrackerAlignmentLevelBuilder::addTOBDetUnitInfo
void addTOBDetUnitInfo(const DetId &detId)
Definition: TrackerAlignmentLevelBuilder.cc:149
Exception
Definition: hltDiff.cc:246
TrackerAlignmentLevelBuilder::buildPXEAlignmentLevels
align::AlignmentLevels buildPXEAlignmentLevels()
Definition: TrackerAlignmentLevelBuilder.cc:208
align::AlignmentLevels
std::vector< std::unique_ptr< AlignmentLevel > > AlignmentLevels
Definition: Utilities.h:33
TrackerAlignmentLevelBuilder::tecSideIDs_
std::set< unsigned int > tecSideIDs_
Definition: TrackerAlignmentLevelBuilder.h:94
TrackerAlignmentLevelBuilder::tobModuleIDs_
std::set< unsigned int > tobModuleIDs_
Definition: TrackerAlignmentLevelBuilder.h:91
StripSubdetector::TOB
static constexpr auto TOB
Definition: StripSubdetector.h:18
AlignableObjectId::idToString
const char * idToString(align::StructureType type) const
Definition: AlignableObjectId.cc:259
TrackerAlignmentLevelBuilder::tibLayerIDs_
std::set< unsigned int > tibLayerIDs_
Definition: TrackerAlignmentLevelBuilder.h:74
TrackerAlignmentLevelBuilder::addTIBDetUnitInfo
void addTIBDetUnitInfo(const DetId &detId)
Definition: TrackerAlignmentLevelBuilder.cc:111
TrackerTopology::pxfBlade
unsigned int pxfBlade(const DetId &id) const
Definition: TrackerTopology.h:447
TrackerAlignmentLevelBuilder::pxePanelIDs_
std::set< unsigned int > pxePanelIDs_
Definition: TrackerAlignmentLevelBuilder.h:69
align::TECRing
Definition: StructureType.h:62
TrackerAlignmentLevelBuilder::buildTIDAlignmentLevels
align::AlignmentLevels buildTIDAlignmentLevels()
Definition: TrackerAlignmentLevelBuilder.cc:277
TrackerAlignmentLevelBuilder::build
std::vector< align::AlignmentLevels > build()
Definition: TrackerAlignmentLevelBuilder.cc:53
align::TIBHalfShell
Definition: StructureType.h:41
align::TECDisk
Definition: StructureType.h:65
TrackerTopology::tecWheel
unsigned int tecWheel(const DetId &id) const
Definition: TrackerTopology.h:198
StripSubdetector.h
align::TrackerNameSpace::tpb_
TPB tpb_
Definition: TrackerNameSpace.h:262
StripSubdetector::TID
static constexpr auto TID
Definition: StripSubdetector.h:17
jets_cff.levels
levels
Definition: jets_cff.py:21
TrackerTopology::tobSide
unsigned int tobSide(const DetId &id) const
Definition: TrackerTopology.h:180
TrackerAlignmentLevelBuilder::TrackerAlignmentLevelBuilder
TrackerAlignmentLevelBuilder(const TrackerTopology *, const TrackerGeometry *)
Definition: TrackerAlignmentLevelBuilder.cc:17
TrackerAlignmentLevelBuilder::buildPXBAlignmentLevels
align::AlignmentLevels buildPXBAlignmentLevels()
Definition: TrackerAlignmentLevelBuilder.cc:177
align::TIDSide
Definition: StructureType.h:48
align::TECModule
Definition: StructureType.h:61
align::TOBRod
Definition: StructureType.h:55
TrackerTopology::tibLayer
unsigned int tibLayer(const DetId &id) const
Definition: TrackerTopology.h:150
TrackerGeometry
Definition: TrackerGeometry.h:14
align::TPBModule
Definition: StructureType.h:23
align::TrackerNameSpace::TPE::bpqd_
unsigned int bpqd_
no. of blades per quarter disk
Definition: TrackerNameSpace.h:100
TrackerTopology::tecSide
unsigned int tecSide(const DetId &id) const
Definition: TrackerTopology.h:184
align::TPEPanel
Definition: StructureType.h:31