CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
TrackerAlignmentLevelBuilder Class Reference

#include <TrackerAlignmentLevelBuilder.h>

Public Member Functions

void addDetUnitInfo (const DetId &detId)
 
std::vector< align::AlignmentLevelsbuild ()
 
const AlignableObjectIdobjectIdProvider () const
 
 TrackerAlignmentLevelBuilder (const TrackerTopology *, const TrackerGeometry *)
 
const align::TrackerNameSpacetrackerNameSpace () const
 
virtual ~TrackerAlignmentLevelBuilder ()
 

Private Member Functions

void addPXBDetUnitInfo (const DetId &detId)
 
void addPXEDetUnitInfo (const DetId &detId)
 
void addTECDetUnitInfo (const DetId &detId)
 
void addTIBDetUnitInfo (const DetId &detId)
 
void addTIDDetUnitInfo (const DetId &detId)
 
void addTOBDetUnitInfo (const DetId &detId)
 
align::AlignmentLevels buildPXBAlignmentLevels ()
 
align::AlignmentLevels buildPXEAlignmentLevels ()
 
align::AlignmentLevels buildTECAlignmentLevels ()
 
align::AlignmentLevels buildTIBAlignmentLevels ()
 
align::AlignmentLevels buildTIDAlignmentLevels ()
 
align::AlignmentLevels buildTOBAlignmentLevels ()
 

Private Attributes

const AlignableObjectId alignableObjectId_
 
bool levelsBuilt_ {false}
 
std::set< unsigned int > pxbLadderIDs_
 
std::map< unsigned int, unsigned int > pxbLaddersPerLayer_
 
std::set< unsigned int > pxbLayerIDs_
 
std::set< unsigned int > pxbModuleIDs_
 
std::map< unsigned int, unsigned int > pxbStringsPerHalfShell_
 
std::set< unsigned int > pxeBladeIDs_
 
std::set< unsigned int > pxeDiskIDs_
 
std::set< unsigned int > pxeModuleIDs_
 
std::set< unsigned int > pxePanelIDs_
 
std::set< unsigned int > pxeSideIDs_
 
std::set< unsigned int > tecModuleIDs_
 
std::set< unsigned int > tecPetalIDs_
 
std::set< unsigned int > tecRingIDs_
 
std::set< unsigned int > tecSideIDs_
 
std::set< unsigned int > tecWheelIDs_
 
std::set< unsigned int > tibLayerIDs_
 
std::set< unsigned int > tibModuleIDs_
 
std::set< unsigned int > tibSideIDs_
 
std::set< unsigned int > tibStringIDs_
 
std::set< unsigned int > tidModuleIDs_
 
std::set< unsigned int > tidRingIDs_
 
std::set< unsigned int > tidSideIDs_
 
std::map< unsigned int, unsigned int > tidStringsInnerLayer_
 
std::map< unsigned int, unsigned int > tidStringsOuterLayer_
 
std::set< unsigned int > tidWheelIDs_
 
std::set< unsigned int > tobLayerIDs_
 
std::set< unsigned int > tobModuleIDs_
 
std::set< unsigned int > tobRodIDs_
 
std::set< unsigned int > tobSideIDs_
 
align::TrackerNameSpace trackerNameSpace_
 
const TrackerTopologytrackerTopology_
 

Detailed Description

Definition at line 24 of file TrackerAlignmentLevelBuilder.h.

Constructor & Destructor Documentation

◆ TrackerAlignmentLevelBuilder()

TrackerAlignmentLevelBuilder::TrackerAlignmentLevelBuilder ( const TrackerTopology trackerTopology,
const TrackerGeometry trackerGeometry 
)

Definition at line 17 of file TrackerAlignmentLevelBuilder.cc.

19  : trackerTopology_(trackerTopology),
20  alignableObjectId_(trackerGeometry, nullptr, nullptr),
21  trackerNameSpace_(trackerTopology) {}

◆ ~TrackerAlignmentLevelBuilder()

TrackerAlignmentLevelBuilder::~TrackerAlignmentLevelBuilder ( )
virtual

Definition at line 24 of file TrackerAlignmentLevelBuilder.cc.

24 {}

Member Function Documentation

◆ addDetUnitInfo()

void TrackerAlignmentLevelBuilder::addDetUnitInfo ( const DetId detId)

◆ addPXBDetUnitInfo()

void TrackerAlignmentLevelBuilder::addPXBDetUnitInfo ( const DetId detId)
private

Definition at line 81 of file TrackerAlignmentLevelBuilder.cc.

81  {
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 }

References TrackerTopology::module(), TrackerTopology::pxbLadder(), pxbLadderIDs_, pxbLaddersPerLayer_, TrackerTopology::pxbLayer(), pxbLayerIDs_, pxbModuleIDs_, and trackerTopology_.

Referenced by addDetUnitInfo().

◆ addPXEDetUnitInfo()

void TrackerAlignmentLevelBuilder::addPXEDetUnitInfo ( const DetId detId)
private

Definition at line 96 of file TrackerAlignmentLevelBuilder.cc.

96  {
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 }

References TrackerTopology::module(), pxeBladeIDs_, pxeDiskIDs_, pxeModuleIDs_, pxePanelIDs_, pxeSideIDs_, TrackerTopology::pxfBlade(), TrackerTopology::pxfDisk(), TrackerTopology::pxfPanel(), TrackerTopology::pxfSide(), and trackerTopology_.

Referenced by addDetUnitInfo().

◆ addTECDetUnitInfo()

void TrackerAlignmentLevelBuilder::addTECDetUnitInfo ( const DetId detId)
private

Definition at line 162 of file TrackerAlignmentLevelBuilder.cc.

162  {
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 }

References TrackerTopology::module(), tecModuleIDs_, tecPetalIDs_, TrackerTopology::tecPetalNumber(), TrackerTopology::tecRing(), tecRingIDs_, TrackerTopology::tecSide(), tecSideIDs_, TrackerTopology::tecWheel(), tecWheelIDs_, and trackerTopology_.

Referenced by addDetUnitInfo().

◆ addTIBDetUnitInfo()

void TrackerAlignmentLevelBuilder::addTIBDetUnitInfo ( const DetId detId)
private

Definition at line 111 of file TrackerAlignmentLevelBuilder.cc.

111  {
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 }

References TrackerTopology::module(), TrackerTopology::tibLayer(), tibLayerIDs_, tibModuleIDs_, TrackerTopology::tibOrder(), TrackerTopology::tibSide(), tibSideIDs_, TrackerTopology::tibString(), tibStringIDs_, tidStringsInnerLayer_, tidStringsOuterLayer_, and trackerTopology_.

Referenced by addDetUnitInfo().

◆ addTIDDetUnitInfo()

void TrackerAlignmentLevelBuilder::addTIDDetUnitInfo ( const DetId detId)
private

Definition at line 135 of file TrackerAlignmentLevelBuilder.cc.

135  {
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 }

References TrackerTopology::module(), tidModuleIDs_, TrackerTopology::tidRing(), tidRingIDs_, TrackerTopology::tidSide(), tidSideIDs_, TrackerTopology::tidWheel(), tidWheelIDs_, and trackerTopology_.

Referenced by addDetUnitInfo().

◆ addTOBDetUnitInfo()

void TrackerAlignmentLevelBuilder::addTOBDetUnitInfo ( const DetId detId)
private

Definition at line 149 of file TrackerAlignmentLevelBuilder.cc.

149  {
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 }

References TrackerTopology::module(), TrackerTopology::tobLayer(), tobLayerIDs_, tobModuleIDs_, TrackerTopology::tobRod(), tobRodIDs_, TrackerTopology::tobSide(), tobSideIDs_, and trackerTopology_.

Referenced by addDetUnitInfo().

◆ build()

std::vector< align::AlignmentLevels > TrackerAlignmentLevelBuilder::build ( )

◆ buildPXBAlignmentLevels()

align::AlignmentLevels TrackerAlignmentLevelBuilder::buildPXBAlignmentLevels ( )
private

Definition at line 177 of file TrackerAlignmentLevelBuilder.cc.

177  {
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 }

References alignableObjectId_, AlignableObjectId::idToString(), align::TrackerNameSpace::TPB::lpqc_, pxbLadderIDs_, pxbLaddersPerLayer_, pxbLayerIDs_, pxbModuleIDs_, contentValuesCheck::ss, align::TrackerNameSpace::tpb_, align::TPBBarrel, align::TPBHalfBarrel, align::TPBLadder, align::TPBLayer, align::TPBModule, and trackerNameSpace_.

Referenced by build().

◆ buildPXEAlignmentLevels()

align::AlignmentLevels TrackerAlignmentLevelBuilder::buildPXEAlignmentLevels ( )
private

Definition at line 208 of file TrackerAlignmentLevelBuilder.cc.

208  {
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 }

References alignableObjectId_, align::TrackerNameSpace::TPE::bpqd_, AlignableObjectId::idToString(), pxeBladeIDs_, pxeDiskIDs_, pxeModuleIDs_, pxePanelIDs_, pxeSideIDs_, contentValuesCheck::ss, align::TrackerNameSpace::tpe_, align::TPEBlade, align::TPEEndcap, align::TPEHalfCylinder, align::TPEHalfDisk, align::TPEModule, align::TPEPanel, and trackerNameSpace_.

Referenced by build().

◆ buildTECAlignmentLevels()

align::AlignmentLevels TrackerAlignmentLevelBuilder::buildTECAlignmentLevels ( )
private

Definition at line 329 of file TrackerAlignmentLevelBuilder.cc.

329  {
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 }

References alignableObjectId_, AlignableObjectId::idToString(), align::TECDisk, align::TECEndcap, align::TECModule, tecModuleIDs_, align::TECPetal, tecPetalIDs_, align::TECRing, tecRingIDs_, align::TECSide, tecSideIDs_, and tecWheelIDs_.

Referenced by build().

◆ buildTIBAlignmentLevels()

align::AlignmentLevels TrackerAlignmentLevelBuilder::buildTIBAlignmentLevels ( )
private

Definition at line 240 of file TrackerAlignmentLevelBuilder.cc.

240  {
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 }

References alignableObjectId_, AlignableObjectId::idToString(), align::TrackerNameSpace::TIB::sphs_, contentValuesCheck::ss, align::TrackerNameSpace::tib_, align::TIBBarrel, align::TIBHalfBarrel, align::TIBHalfShell, align::TIBLayer, tibLayerIDs_, align::TIBModule, tibModuleIDs_, tibSideIDs_, align::TIBString, tibStringIDs_, align::TIBSurface, tidStringsInnerLayer_, tidStringsOuterLayer_, and trackerNameSpace_.

Referenced by build().

◆ buildTIDAlignmentLevels()

align::AlignmentLevels TrackerAlignmentLevelBuilder::buildTIDAlignmentLevels ( )
private

Definition at line 277 of file TrackerAlignmentLevelBuilder.cc.

277  {
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 }

References alignableObjectId_, AlignableObjectId::idToString(), align::TIDDisk, align::TIDEndcap, align::TIDModule, tidModuleIDs_, align::TIDRing, tidRingIDs_, align::TIDSide, tidSideIDs_, and tidWheelIDs_.

Referenced by build().

◆ buildTOBAlignmentLevels()

align::AlignmentLevels TrackerAlignmentLevelBuilder::buildTOBAlignmentLevels ( )
private

Definition at line 304 of file TrackerAlignmentLevelBuilder.cc.

304  {
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 }

References alignableObjectId_, AlignableObjectId::idToString(), align::TOBBarrel, align::TOBHalfBarrel, align::TOBLayer, tobLayerIDs_, align::TOBModule, tobModuleIDs_, align::TOBRod, tobRodIDs_, and tobSideIDs_.

Referenced by build().

◆ objectIdProvider()

const AlignableObjectId& TrackerAlignmentLevelBuilder::objectIdProvider ( ) const
inline

Definition at line 32 of file TrackerAlignmentLevelBuilder.h.

32 { return alignableObjectId_; }

References alignableObjectId_.

◆ trackerNameSpace()

const align::TrackerNameSpace & TrackerAlignmentLevelBuilder::trackerNameSpace ( ) const

Definition at line 66 of file TrackerAlignmentLevelBuilder.cc.

66  {
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 }

References Exception, levelsBuilt_, and trackerNameSpace_.

Referenced by AlignableTrackerBuilder::buildAlignableComposites(), and AlignableTrackerBuilder::trackerNameSpace().

Member Data Documentation

◆ alignableObjectId_

const AlignableObjectId TrackerAlignmentLevelBuilder::alignableObjectId_
private

◆ levelsBuilt_

bool TrackerAlignmentLevelBuilder::levelsBuilt_ {false}
private

Definition at line 57 of file TrackerAlignmentLevelBuilder.h.

Referenced by build(), and trackerNameSpace().

◆ pxbLadderIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::pxbLadderIDs_
private

Definition at line 61 of file TrackerAlignmentLevelBuilder.h.

Referenced by addPXBDetUnitInfo(), and buildPXBAlignmentLevels().

◆ pxbLaddersPerLayer_

std::map<unsigned int, unsigned int> TrackerAlignmentLevelBuilder::pxbLaddersPerLayer_
private

Definition at line 63 of file TrackerAlignmentLevelBuilder.h.

Referenced by addPXBDetUnitInfo(), and buildPXBAlignmentLevels().

◆ pxbLayerIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::pxbLayerIDs_
private

Definition at line 60 of file TrackerAlignmentLevelBuilder.h.

Referenced by addPXBDetUnitInfo(), and buildPXBAlignmentLevels().

◆ pxbModuleIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::pxbModuleIDs_
private

Definition at line 62 of file TrackerAlignmentLevelBuilder.h.

Referenced by addPXBDetUnitInfo(), and buildPXBAlignmentLevels().

◆ pxbStringsPerHalfShell_

std::map<unsigned int, unsigned int> TrackerAlignmentLevelBuilder::pxbStringsPerHalfShell_
private

Definition at line 77 of file TrackerAlignmentLevelBuilder.h.

◆ pxeBladeIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::pxeBladeIDs_
private

Definition at line 68 of file TrackerAlignmentLevelBuilder.h.

Referenced by addPXEDetUnitInfo(), and buildPXEAlignmentLevels().

◆ pxeDiskIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::pxeDiskIDs_
private

Definition at line 67 of file TrackerAlignmentLevelBuilder.h.

Referenced by addPXEDetUnitInfo(), and buildPXEAlignmentLevels().

◆ pxeModuleIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::pxeModuleIDs_
private

Definition at line 70 of file TrackerAlignmentLevelBuilder.h.

Referenced by addPXEDetUnitInfo(), and buildPXEAlignmentLevels().

◆ pxePanelIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::pxePanelIDs_
private

Definition at line 69 of file TrackerAlignmentLevelBuilder.h.

Referenced by addPXEDetUnitInfo(), and buildPXEAlignmentLevels().

◆ pxeSideIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::pxeSideIDs_
private

Definition at line 66 of file TrackerAlignmentLevelBuilder.h.

Referenced by addPXEDetUnitInfo(), and buildPXEAlignmentLevels().

◆ tecModuleIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tecModuleIDs_
private

Definition at line 98 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTECDetUnitInfo(), and buildTECAlignmentLevels().

◆ tecPetalIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tecPetalIDs_
private

Definition at line 96 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTECDetUnitInfo(), and buildTECAlignmentLevels().

◆ tecRingIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tecRingIDs_
private

Definition at line 97 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTECDetUnitInfo(), and buildTECAlignmentLevels().

◆ tecSideIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tecSideIDs_
private

Definition at line 94 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTECDetUnitInfo(), and buildTECAlignmentLevels().

◆ tecWheelIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tecWheelIDs_
private

Definition at line 95 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTECDetUnitInfo(), and buildTECAlignmentLevels().

◆ tibLayerIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tibLayerIDs_
private

Definition at line 74 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTIBDetUnitInfo(), and buildTIBAlignmentLevels().

◆ tibModuleIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tibModuleIDs_
private

Definition at line 76 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTIBDetUnitInfo(), and buildTIBAlignmentLevels().

◆ tibSideIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tibSideIDs_
private

Definition at line 73 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTIBDetUnitInfo(), and buildTIBAlignmentLevels().

◆ tibStringIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tibStringIDs_
private

Definition at line 75 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTIBDetUnitInfo(), and buildTIBAlignmentLevels().

◆ tidModuleIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tidModuleIDs_
private

Definition at line 83 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTIDDetUnitInfo(), and buildTIDAlignmentLevels().

◆ tidRingIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tidRingIDs_
private

Definition at line 82 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTIDDetUnitInfo(), and buildTIDAlignmentLevels().

◆ tidSideIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tidSideIDs_
private

Definition at line 80 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTIDDetUnitInfo(), and buildTIDAlignmentLevels().

◆ tidStringsInnerLayer_

std::map<unsigned int, unsigned int> TrackerAlignmentLevelBuilder::tidStringsInnerLayer_
private

Definition at line 84 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTIBDetUnitInfo(), and buildTIBAlignmentLevels().

◆ tidStringsOuterLayer_

std::map<unsigned int, unsigned int> TrackerAlignmentLevelBuilder::tidStringsOuterLayer_
private

Definition at line 85 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTIBDetUnitInfo(), and buildTIBAlignmentLevels().

◆ tidWheelIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tidWheelIDs_
private

Definition at line 81 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTIDDetUnitInfo(), and buildTIDAlignmentLevels().

◆ tobLayerIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tobLayerIDs_
private

Definition at line 88 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTOBDetUnitInfo(), and buildTOBAlignmentLevels().

◆ tobModuleIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tobModuleIDs_
private

Definition at line 91 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTOBDetUnitInfo(), and buildTOBAlignmentLevels().

◆ tobRodIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tobRodIDs_
private

Definition at line 90 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTOBDetUnitInfo(), and buildTOBAlignmentLevels().

◆ tobSideIDs_

std::set<unsigned int> TrackerAlignmentLevelBuilder::tobSideIDs_
private

Definition at line 89 of file TrackerAlignmentLevelBuilder.h.

Referenced by addTOBDetUnitInfo(), and buildTOBAlignmentLevels().

◆ trackerNameSpace_

align::TrackerNameSpace TrackerAlignmentLevelBuilder::trackerNameSpace_
private

◆ trackerTopology_

const TrackerTopology* TrackerAlignmentLevelBuilder::trackerTopology_
private
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
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::alignableObjectId_
const AlignableObjectId alignableObjectId_
Definition: TrackerAlignmentLevelBuilder.h:55
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
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
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
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::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::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
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
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::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
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