Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Configuration/Geometry/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ Fast Timing system:
* I14: Same as I13, updated sensor structure, disc z location and passive materials
* I15: Same as I14, addition of notch and revision of envelope
* I16: Starting from I15, revised BTL with complete passive material description, it needs Tracker T31 or newer
* I17: Same as I16, ETL v8 added, BTL with one crystal thickness (type) only
* I17: Same as I16, BTL with one crystal thickness (type) only, ETL with LGAD split into two sensors

The script also handles the common and forward elements of the geometry:
* O4: detailed cavern description, changes for modified CALO region for endcap part, no overlaps inside the Muon System
Expand Down
2 changes: 1 addition & 1 deletion Configuration/Geometry/python/dict2026Geometry.py
Original file line number Diff line number Diff line change
Expand Up @@ -1033,7 +1033,7 @@
"I17" : {
1 : [
'Geometry/MTDCommonData/data/mtdMaterial/v3/mtdMaterial.xml',
'Geometry/MTDCommonData/data/btl/v2/btl.xml',
'Geometry/MTDCommonData/data/btl/v3/btl.xml',
'Geometry/MTDCommonData/data/etl/v8/etl.xml',
'Geometry/MTDCommonData/data/mtdParameters/v5/mtdStructureTopology.xml',
'Geometry/MTDCommonData/data/mtdParameters/v5/mtdParameters.xml',
Expand Down
14 changes: 13 additions & 1 deletion DataFormats/ForwardDetId/interface/BTLDetId.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class BTLDetId : public MTDDetId {
static constexpr uint32_t kCrystalsBTL =
kCrystalsPerModuleV2 * kModulesPerRUV2 * kRUPerTypeV2 * kCrystalTypes * HALF_ROD * 2;

enum class CrysLayout { tile = 1, bar = 2, barzflat = 3, barphiflat = 4, v2 = 5 };
enum class CrysLayout { tile = 1, bar = 2, barzflat = 3, barphiflat = 4, v2 = 5, v3 = 6 };

// ---------- Constructors, enumerated types ----------

Expand Down Expand Up @@ -89,6 +89,18 @@ class BTLDetId : public MTDDetId {
/** Returns BTL readout unit number per type. */
inline int runit() const { return (id_ >> kBTLRUOffset) & kBTLRUMask; }

/** Returns BTL global readout unit number. */
inline int globalRunit() const {
if (runit() == 0) {
// pre-V2: build a RU identifier from available information
return (module() - 1) / kModulePerTypeBarPhiFlat / kRUPerTypeV2 + 1;
} else if (runit() > 0 && modType() > 0) {
// V2/V3: build global RU identifier from RU per type and type
return (modType() - 1) * kRUPerTypeV2 + runit();
}
return 0;
}

/** return the row in GeomDet language **/
inline int row(unsigned nrows = kCrystalsPerModuleV2) const {
return (crystal() - 1) % nrows; // anything else for now
Expand Down
4 changes: 3 additions & 1 deletion DataFormats/ForwardDetId/src/BTLDetId.cc
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ BTLDetId BTLDetId::geographicalId(CrysLayout lay) const {
if (lay == CrysLayout::barphiflat) {
// barphiflat: count modules in a rod, combining all types
return BTLDetId(mtdSide(), mtdRR(), module() + kModulePerTypeBarPhiFlat * (modType() - 1), 0, 1);
} else if (lay == CrysLayout::v2) {
} else if (lay == CrysLayout::v2 || lay == CrysLayout::v3) {
// v2: set number of crystals to 17 to distinguish from crystal BTLDetId
// v3: set number of crystals to 17 to distinguish from crystal BTLDetId, build V2-like type and RU number as in BTLNumberingScheme
return BTLDetId(mtdSide(), mtdRR(), runit(), module(), modType(), kCrystalsPerModuleV2 + 1);
}

Expand All @@ -23,6 +24,7 @@ std::ostream& operator<<(std::ostream& os, const BTLDetId& id) {
<< " Rod : " << id.mtdRR() << std::endl
<< " Crystal type: " << id.modType() << std::endl
<< " Readout unit: " << id.runit() << std::endl
<< " Global RU : " << id.globalRunit() << std::endl
<< " Module : " << id.module() << std::endl
<< " Crystal : " << id.crystal() << std::endl;
return os;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@
<Include ref='Geometry/ForwardCommonData/data/zdclumi/2021/v2/zdclumi.xml'/>
<Include ref='Geometry/ForwardCommonData/data/cmszdc.xml'/>
<Include ref='Geometry/MTDCommonData/data/mtdMaterial/v3/mtdMaterial.xml'/>
<Include ref='Geometry/MTDCommonData/data/btl/v2/btl.xml'/>
<Include ref='Geometry/MTDCommonData/data/btl/v3/btl.xml'/>
<Include ref='Geometry/MTDCommonData/data/etl/v8/etl.xml'/>
<Include ref='Geometry/MTDCommonData/data/mtdParameters/v5/mtdStructureTopology.xml'/>
<Include ref='Geometry/MTDCommonData/data/mtdParameters/v5/mtdParameters.xml'/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
'Geometry/ForwardCommonData/data/zdclumi/2021/v2/zdclumi.xml',
'Geometry/ForwardCommonData/data/cmszdc.xml',
'Geometry/MTDCommonData/data/mtdMaterial/v3/mtdMaterial.xml',
'Geometry/MTDCommonData/data/btl/v2/btl.xml',
'Geometry/MTDCommonData/data/btl/v3/btl.xml',
'Geometry/MTDCommonData/data/etl/v8/etl.xml',
'Geometry/MTDCommonData/data/mtdParameters/v5/mtdStructureTopology.xml',
'Geometry/MTDCommonData/data/mtdParameters/v5/mtdParameters.xml',
Expand Down
Loading