Skip to content

Latest commit

 

History

History

TrackerNumberingBuilder

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

In this package the GeometricDet tree of the TrackerGeometry object in the TrackerDigiGeometryRecord is created, the DetIds are assigned to the different components in the tree according to the schema which is defined in the xml description of trackerParameters.xml for the TrackerGeometricDetESModule, and the configuration of the TrackerTopology object is configured to be able to decode the DetIds using the same schema.

The graph of the GeometricDet tree can be found in this file

Available DetId Schemas

The predefined DetId schemas available in this package are:

  • The Run 1 (aka present) detector DetId schema
  • The Phase 1 detector DetId schema where the pixel detector is replaced by the upgraded one
  • The Phase 2 upgrade detector DetId schema where both the strip and the pixel detectors are replaced by the upgraded ones - TDR-like

In the table below the DetId levels which are in normal font represents real hierarchy levels which are present also in the GeometricDet tree which is build in parallel to the DetId assignment. Those levels which are in italic font are fake levels and are not known by the GeometricDet tree. When the name of the TrackerTopology method is written in italic, it means that its name does not reflect the actual attribute of the DetId which is returned. This is because, so far, the names of the methods are hardcoded and reflect the present Tracker detector. In addition two generic methods, TrackerTopology::layer(id) and TrackerTopology::side(id) can be used to determine the layer/disk number and the side of the endcap subdetectors.

Run 1 Detector DetId schema

The Run 1 detector DetId schema profits of all the six available subdetectors (from 1 to 6) and it is defined as follows

  • Subdetector 1 (DetId::subDetId() == PixelSubdetector::PixelBarrel): Pixel Barrel
Name start bit hex mask bit size TrackerTopology method Notes
not used 20 0x1F 5
Layer 16 0xF 4 pxbLayer(id) or layer(id) increasing r
Ladder 8 0xFF 8 pxbLadder(id) increasing phi
Module 2 0x3F 6 pxbModule(id) increasing z
not used 0 0x3 2
  • Subdetector 2 (DetId::subDetId() == PixelSubdetector::PixelEndcap): Pixel Forward
Name start bit hex mask bit size TrackerToplogy method Notes
subdetector part 23 0x3 2 pxfSide(id) or side(id) 1=FPIX- 2=FPIX+
not used 20 0x7 3
Disk 16 0xF 4 pxfDisk(id) or layer(id) increasing abs(z)
Blade 10 0x3F 6 pxfBlade(id) increasing phi
Panel 8 0x3 2 pxfPanel(id) 1=forward 2=backward
Module 2 0x3F 6 pxfModule(id) increasing r
not used 0 0x3 2
  • Subdetector 3 (DetId::subDetId() == StripSubdetector::TIB): TIB
Name start bit hex mask bit size TrackerTopology method Notes
not used 17 0xFF 8
Layer 14 0x7 3 tibLayer(id) or layer(id) increasing r
subdetector part 12 0x3 2 tibSide(id) 1=TIB- 2=TIB+
Layer side 10 0x3 2 tibOrder(id) 1=internal 2=external
String 4 0x3F 6 tibString(id) increasing phi
Module 2 0x3 2 tibModule(id) increasing abs(z)
Module type 0 0x3 2 tibStereo(id) or tibGlued(id) 1=stereo, 2=rphi, 0=pair
  • Subdetector 4 (DetId::subDetId() == StripSubdetector::TID): TID
Name start bit hex mask bit size TrackerTopology method Notes
not used 15 0x3FF 10
subdetector part 13 0x3 2 tidSide(id) or side(id) 1=TID- 2=TID+
Disk 11 0x3 2 tidWheel(id) or layer(id) increasing abs(z)
Ring 9 0x3 2 tidRing(id) increasing r
Disk side 7 0x3 2 tidOrder(id) 1=back 2=front
Module 2 0x1F 5 tidModule(id) increasing phi
Module type 0 0x3 2 tidStereo(id) or tidGlued(id) 1=stereo, 2=rphi, 0=pair
  • Subdetector 5 (DetId::subDetId() == StripSubdetector::TOB): TOB
Name start bit hex mask bit size TrackerTopology method Notes
not used 17 0xFF 8
Layer 14 0x7 3 tobLayer(id) or layer(id) increasing r
subdetector part 12 0x3 2 tobSide(id) 1=TIB- 2=TIB+
Rod 5 0x7F 7 tobRod(id) increasing phi
Module 2 0x7 3 tobModule(id) increasing abs(z)
Module type 0 0x3 2 tobStereo(id) or tobGlued(id) 1=stereo, 2=rphi, 0=pair
  • Subdetector 6 (DetId::subDetId() == StripSubdetector::TEC): TEC
Name start bit hex mask bit size TrackerTopology method Notes
not used 20 0x3F 5
subdetector part 18 0x3 2 tecSide(id) or side(id) 1=TEC- 2=TEC+
Wheel 14 0xF 4 tecWheel(id) or layer(id) increasing abs(z)
Wheel side 12 0x3 2 tecOrder(id) 1=back 2=front
Petal 8 0xF 4 tecPetal(id) increasing phi
Ring 5 0x7 3 tecRing(id) increasing r
Module 2 0x7 3 tecModule(id) increasing phi
Module type 0 0x3 2 tecStereo(id) or tecGlued(id) 1=stereo, 2=rphi, 0=pair

A more detailed description of the SiStrip Tracker DetId schema can be found in this CMS Internal Note: [http://cms.cern.ch/iCMS/jsp/openfile.jsp?type=IN&year=2007&files=IN2007_020.pdf]

The configuration names for this detid schema are trackerNumberingGeometry_cfi (to run on geometry built from xml files) or trackerNumberingGeometryDB_cfi (to run on geometry from DB) for TrackerGeometricDetESModule and trackerTopologyConstants_cfi for TrackerTopology The xml description of tracker parameters for this detid schema is in Geometry/TrackerCommonData/data/trackerParameters.xml

Phase 1 Upgrade Detector DetId schema

The phase 1 detector DetId schema differs from that of the Run 1 detector only in the first two subdetectors which corresponds to the Pixel Barrel and Forward detector. Therefore only them will be repeated here:

  • Subdetector 1 (DetId::subDetId() == PixelSubdetector::PixelBarrel): Phase1 Pixel Barrel
Name start bit hex mask bit size TrackerTopology method Notes
not used 24 0x1 1
Layer 20 0xF 4 pxbLayer(id) or layer(id) increasing r
Ladder 12 0xFF 8 pxbLadder(id) increasing phi
Module 2 0x3FF 10 pxbModule(id) increasing z
not used 0 0x3 2
  • Subdetector 2 (DetId::subDetId() == PixelSubdetector::PixelEndcap): Phase1 Pixel Forward
Name start bit hex mask bit size TrackerTopology method Notes
subdetector part 23 0x3 2 pxfSide(id) or side(id) 1=FPIX- 2=FPIX+
not used 22 0x1 1
Disk 18 0xF 4 pxfDisk(id) or layer(id) increasing abs(z)
Blade 12 0x3F 6 pxfBlade(id) increasing phi and r: first inner ring blades and the outer ring blades
Panel 10 0x3 2 pxfPanel(id) 1=forward 2=backward
Module 2 0xFF 8 pxfModule(id) always = 1
not used 0 0x3 2

Subdetectors 3 to 6 are as for the Run 1 detector since the SiStrip Tracker is the same in phase1.

The configuration names for this detid schema are trackerNumberingGeometry_cfi (to run on geometry built from xml files) or trackerNumberingGeometryDB_cfi (to run on geometry from DB) for TrackerGeometricDetESModule and trackerTopology2017Constants_cfi for TrackerTopology The xml description of tracker parameters for this detid schema is in Geometry/TrackerCommonData/data/PhaseI/trackerParameters.xml

Phase 2 Upgrade Detector DetId schema Flat or Tilted Geometry with new pixel detector for TDR (from Version V4021)

The phase 2 detector DetId schema for the pixel has been re-designed in order to have the correct hierarchy endcap-->disk-->ring-->module while the outer tracker, use, as in previous case, subdetector 5, for the barrel, and subdetector 4, for the endcap. In some cases the name of the TrackerTopology methods is not so meaningful. In particular, for the Outer Tracker, the methods DoubleSided is not implemented, firstly because there is no need, secondly because it is not possible, just looking at the DetId and without something hardcoded, to understand if the module is single or double. This is also valid for Run I and Phase I. The OT tilted option has been introduced in the subdetector 5 with two bits (in the table referred with subdetector part ) that correspond to the rings in the negative and positive part and the central barrel part. The order is thus changed respectevely for the three different subparts: ladders by increasing phi and rings by increasing |z|, same consistency for the modules order.

With this subdetector, the flat geometry is compatible using just the central barrel part of the subdetector 5.

  • Subdetector 1: (DetId::subDetId() == PixelSubdetector::PixelBarrel): Phase2 Pixel Barrel
Name start bit hex mask bit size TrackerTopology method Notes
not used 24 0x1 1
Layer 20 0xF 4 pxbLayer(id) or layer(id) increasing r
Ladder 12 0xFF 8 pxbLadder(id) increasing phi
Module 2 0x3FF 10 pxbModule(id) increasing z
not used 0 0x3 2
  • Subdetector 2: (DetId::subDetId() == PixelSubdetector::PixelEndcap): Phase2 Pixel Forward
Name start bit hex mask bit size TrackerTopology method Notes
subdetector part 23 0x3 2 pxfSide(id) or side(id) 1=FPIX- 2=FPIX+
not used 22 0x1 1
Disk 18 0xF 4 pxfDisk(id) or layer(id) increasing abs(z)
Ring 12 0x3F 6 pxfBlade(id) increasing r
Panel 10 0x3 2 pxfPanel(id) always 1
Module 2 0xFF 8 pxfModule(id) increasing phi
not used 0 0x3 2
  • Subdetector 5 (DetId::subDetId() == StripSubdetector::TOB): Phase2 Outer Tracker Barrel
Name start bit hex mask bit size TrackerTopology method Notes
not used 24 0x1 1
Layer 20 0xF 4 tobLayer(id) or layer(id) increasing r
subdetector part 18 0x3 2 tobSide(id) 1=rings- 2=rings+ 3=barrel0
Ladder 10 0xFF 8 tobRod(id) increasing abs(z) (rings) or phi(barrel)
Module 2 0xFF 8 tobModule(id) increasing phi (rings) or z(barrel)
Module type 0 0x3 2 tobLower(id) or tobUpper(id) 1=lower in local s.o.r.(P sensor into PS), 2=upper in local s.o.r.(S sensor into PS), 0=pair
  • Subdetector 4 (DetId::subDetId() == StripSubdetector::TID): Phase2 Outer Tracker Endcap
Name start bit hex mask bit size TrackerTopology method Notes
subdetector part 23 0x3 2 tidSide(id) or side(id) 1=-ve 2=+ve
not used 22 0x1 1
Disk 18 0xF 4 tidDisk(id) or side(id) increasing abs(z)
Ring 12 0x3F 6 tidRing(id) increasing r
Panel 10 0x3 2 tidOrder(id) always = 1
Module 2 0xFF 8 tidModule(id) increasing phi
Module type 0 0x3 2 tidLower(id) or tidUpper(id) 1=lower in local s.o.r.(P sensor into PS), 2=upper in local s.o.r.(S sensor into PS), 0=pair

The configuration names for this detid schema are trackerNumberingGeometry_cfi (to run on geometry built from xml files) or trackerNumberingGeometryDB_cfi (to run on geometry from DB) for TrackerGeometricDetESModule and trackerTopology2023Constants_cfi for TrackerTopology The xml description of tracker parameters for this detid schema is in [Geometry/TrackerCommonData/data/PhaseII/trackerParameters.xml](../TrackerCommonData/data/PhaseII/trackerParameters.xml

Subdetector GeometricDet Enumerators

The link between the subdetectors described in the geometry and the DetId::subDetId() is created by the GeometricDet::GDEnumType enumerators. Each subdetector name in the Tracker DDD is associated to a GeometricDet::GDEnumType enumerator which has to be of the form n*100+m where m is between 1 and 6 and it will correspond to the DetId::subDetId() value. The present link table is:

Tk DDD name GeometricDet::GDEnumType DetId::subDetId()
PixelBarrel PixelBarrel=1 1=PixelSubdetector::PixelBarrel
PixelEndcapSubDet PixelEndCap=2 2=PixelSubdetector::PixelEndcap
TIB TIB=3 3=StripSubdetector::TIB
TID TID=4 4=StripSubdetector::TID
TOB TOB=5 5=StripSubdetector::TOB
TEC TEC=6 6=StripSubdetector::TEC
PixelPhase1Barrel PixelPhase1Barrel=101 1=PixelSubdetector::PixelBarrel
PixelPhase1EndcapSubDet PixelPhase1EndCap=102 2=PixelSubdetector::PixelEndcap
PixelPhase2Barrel PixelPhase2Barrel=201 1=PixelSubdetector::PixelBarrel
PixelPhase2EndcapSubDet PixelPhase2EndCap=202 2=PixelSubdetector::PixelEndcap
Phase2OTBarrel OTPhase2Barrel=205 5=StripSubdetector::TOB
Phase2OTEndcap OTPhase2EndCap=204 4=StripSubdetector::TID