21 trackerTopology_(trackerTopology),
23 trackerNameSpace_(trackerTopology)
53 std::vector<align::AlignmentLevels>
levels;
72 <<
"@SUB=TrackerAlignmentLevelBuilder::trackerNameSpace\n" 73 <<
"trying to get the name space before it has been properly initialized;" 74 <<
" please call TrackerAlignmentLevelBuilder::build() first";
128 if (layerSide == 1) {
203 std::ostringstream ss;
204 ss <<
"determined following numbers for " 206 <<
" max. number of modules: " << maxNumModules <<
"\n" 207 <<
" max. number of ladders: " << maxNumLadders <<
"\n";
212 ss <<
" ladders in layer-" << layer <<
": " 216 ss <<
" max. number of layers: " << maxNumLayers;
218 <<
"@SUB=TrackerAlignmentLevelBuilder::buildPXBAlignmentLevels" 222 pxb.push_back(std::make_unique<AlignmentLevel>(
align::TPBModule, maxNumModules,
false));
223 pxb.push_back(std::make_unique<AlignmentLevel>(
align::TPBLadder, maxNumLadders,
true));
224 pxb.push_back(std::make_unique<AlignmentLevel>(
align::TPBLayer, maxNumLayers,
false));
226 pxb.push_back(std::make_unique<AlignmentLevel>(
align::TPBBarrel, 1,
false));
240 std::ostringstream ss;
241 ss <<
"determined following numbers for " 243 <<
" max. number of modules: " << maxNumModules <<
"\n" 244 <<
" max. number of panels: " << maxNumPanels <<
"\n" 245 <<
" max. number of blades: " << maxNumBlades <<
"\n";
250 <<
" max. number of disks: " << maxNumDisks <<
"\n" 251 <<
" max. number of sides: " << maxNumSides;
253 <<
"@SUB=TrackerAlignmentLevelBuilder::buildPXEAlignmentLevels" 257 pxe.push_back(std::make_unique<AlignmentLevel>(
align::TPEModule, maxNumModules,
false));
258 pxe.push_back(std::make_unique<AlignmentLevel>(
align::TPEPanel, maxNumPanels,
true));
259 pxe.push_back(std::make_unique<AlignmentLevel>(
align::TPEBlade, maxNumBlades,
true));
260 pxe.push_back(std::make_unique<AlignmentLevel>(
align::TPEHalfDisk, maxNumDisks,
false));
262 pxe.push_back(std::make_unique<AlignmentLevel>(
align::TPEEndcap, maxNumSides,
false));
275 std::ostringstream ss;
276 ss <<
"determined following numbers for " 278 <<
" max. number of modules: " << maxNumModules <<
"\n" 279 <<
" max. number of strings: " << maxNumStrings <<
"\n";
286 ss <<
" strings in layer-" << layer <<
" (inside): " 288 <<
" strings in layer-" << layer <<
" (outside): " 292 ss <<
" max. number of layers: " << maxNumLayers <<
"\n" 293 <<
" max. number of sides: " << maxNumSides;
295 <<
"@SUB=TrackerAlignmentLevelBuilder::buildTIBAlignmentLevels" 299 tib.push_back(std::make_unique<AlignmentLevel>(
align::TIBModule, maxNumModules,
false));
300 tib.push_back(std::make_unique<AlignmentLevel>(
align::TIBString, maxNumStrings,
true));
303 tib.push_back(std::make_unique<AlignmentLevel>(
align::TIBLayer, maxNumLayers,
false));
305 tib.push_back(std::make_unique<AlignmentLevel>(
align::TIBBarrel, 1,
false));
321 <<
"@SUB=TrackerAlignmentLevelBuilder::buildTIDAlignmentLevels" 322 <<
"determined following numbers for " 324 <<
" max. number of modules: " << maxNumModules <<
"\n" 325 <<
" max. number of rings: " << maxNumRings <<
"\n" 326 <<
" max. number of wheels: " << maxNumWheels <<
"\n" 327 <<
" max. number of sides: " << maxNumSides;
330 tid.push_back(std::make_unique<AlignmentLevel>(
align::TIDModule, maxNumModules,
false));
331 tid.push_back(std::make_unique<AlignmentLevel>(
align::TIDSide, 2,
false));
332 tid.push_back(std::make_unique<AlignmentLevel>(
align::TIDRing, maxNumRings,
false));
333 tid.push_back(std::make_unique<AlignmentLevel>(
align::TIDDisk, maxNumWheels,
false));
334 tid.push_back(std::make_unique<AlignmentLevel>(
align::TIDEndcap, 2,
false));
348 <<
"@SUB=TrackerAlignmentLevelBuilder::buildTOBAlignmentLevels" 349 <<
"determined following numbers for " 351 <<
" max. number of modules: " << maxNumModules <<
"\n" 352 <<
" max. number of rods: " << maxNumRods <<
"\n" 353 <<
" max. number of sides: " << maxNumSides <<
"\n" 354 <<
" max. number of layers: " << maxNumLayers;
357 tob.push_back(std::make_unique<AlignmentLevel>(
align::TOBModule, maxNumModules,
false));
358 tob.push_back(std::make_unique<AlignmentLevel>(
align::TOBRod, maxNumRods,
true));
359 tob.push_back(std::make_unique<AlignmentLevel>(
align::TOBLayer, maxNumLayers,
false));
361 tob.push_back(std::make_unique<AlignmentLevel>(
align::TOBBarrel, 1,
false));
376 <<
"@SUB=TrackerAlignmentLevelBuilder::buildTECAlignmentLevels" 377 <<
"determined following numbers for " 379 <<
" max. number of modules: " << maxNumModules <<
"\n" 380 <<
" max. number of rings: " << maxNumRings <<
"\n" 381 <<
" max. number of petals: " << maxNumPetals <<
"\n" 382 <<
" max. number of wheels: " << maxNumDisks <<
"\n" 383 <<
" max. number of sides: " << maxNumSides;
386 tec.push_back(std::make_unique<AlignmentLevel>(
align::TECModule, maxNumModules,
false));
387 tec.push_back(std::make_unique<AlignmentLevel>(
align::TECRing, maxNumRings,
true));
388 tec.push_back(std::make_unique<AlignmentLevel>(
align::TECPetal, maxNumPetals,
true));
389 tec.push_back(std::make_unique<AlignmentLevel>(
align::TECSide, 2,
false));
390 tec.push_back(std::make_unique<AlignmentLevel>(
align::TECDisk, maxNumDisks,
false));
391 tec.push_back(std::make_unique<AlignmentLevel>(
align::TECEndcap, 2,
false));
std::set< unsigned int > pxeDiskIDs_
std::set< unsigned int > pxbLadderIDs_
std::set< unsigned int > tecRingIDs_
std::vector< std::unique_ptr< AlignmentLevel > > AlignmentLevels
void addTIDDetUnitInfo(const DetId &detId)
unsigned int tibLayer(const DetId &id) const
unsigned int tibString(const DetId &id) const
unsigned int tidRing(const DetId &id) const
void addDetUnitInfo(const DetId &detId)
std::set< unsigned int > tidWheelIDs_
align::AlignmentLevels buildTOBAlignmentLevels()
std::set< unsigned int > tibStringIDs_
const TrackerTopology * trackerTopology_
std::set< unsigned int > tidRingIDs_
std::map< unsigned int, unsigned int > pxbLaddersPerLayer_
unsigned int pxfDisk(const DetId &id) const
unsigned int tecRing(const DetId &id) const
ring id
align::TrackerNameSpace trackerNameSpace_
unsigned int pxbLadder(const DetId &id) const
std::set< unsigned int > tidSideIDs_
virtual ~TrackerAlignmentLevelBuilder()
unsigned int tidWheel(const DetId &id) const
void addTOBDetUnitInfo(const DetId &detId)
std::vector< unsigned int > sphs_
Number of strings for each surface of a half shell.
std::set< unsigned int > pxeSideIDs_
align::AlignmentLevels buildPXEAlignmentLevels()
std::set< unsigned int > tobSideIDs_
void addTIBDetUnitInfo(const DetId &detId)
std::set< unsigned int > tibLayerIDs_
std::set< unsigned int > tecWheelIDs_
std::vector< align::AlignmentLevels > build()
std::set< unsigned int > tecSideIDs_
std::set< unsigned int > tobModuleIDs_
unsigned int module(const DetId &id) const
unsigned int bpqd_
no. of blades per quarter disk
unsigned int tibSide(const DetId &id) const
std::set< unsigned int > pxePanelIDs_
unsigned int tidSide(const DetId &id) const
const align::TrackerNameSpace & trackerNameSpace() const
align::AlignmentLevels buildTIDAlignmentLevels()
std::set< unsigned int > pxeBladeIDs_
unsigned int tobSide(const DetId &id) const
align::AlignmentLevels buildPXBAlignmentLevels()
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
TrackerAlignmentLevelBuilder(const TrackerTopology *, const TrackerGeometry *)
std::set< unsigned int > tobLayerIDs_
std::map< unsigned int, unsigned int > tidStringsOuterLayer_
bool insert(Storage &iStorage, ItemType *iItem, const IdTag &iIdTag)
std::set< unsigned int > tibModuleIDs_
unsigned int pxbLayer(const DetId &id) const
std::set< unsigned int > pxbLayerIDs_
const AlignableObjectId alignableObjectId_
const char * idToString(align::StructureType type) const
std::map< unsigned int, unsigned int > tidStringsInnerLayer_
std::set< unsigned int > pxeModuleIDs_
std::vector< unsigned int > lpqc_
Number of ladders for each quarter cylinder.
std::set< unsigned int > tecModuleIDs_
std::set< unsigned int > tecPetalIDs_
void addPXBDetUnitInfo(const DetId &detId)
align::AlignmentLevels buildTIBAlignmentLevels()
std::set< unsigned int > tibSideIDs_
unsigned int pxfSide(const DetId &id) const
void addTECDetUnitInfo(const DetId &detId)
unsigned int tecPetalNumber(const DetId &id) const
unsigned int tobRod(const DetId &id) const
unsigned int tecWheel(const DetId &id) const
std::set< unsigned int > pxbModuleIDs_
std::set< unsigned int > tidModuleIDs_
unsigned int pxfPanel(const DetId &id) const
unsigned int pxfBlade(const DetId &id) const
align::AlignmentLevels buildTECAlignmentLevels()
unsigned int tobLayer(const DetId &id) const
std::set< unsigned int > tobRodIDs_
unsigned int tecSide(const DetId &id) const
unsigned int tibOrder(const DetId &id) const
void addPXEDetUnitInfo(const DetId &detId)