Go Back to: C++ Manual General Site

LDMX.DetDescr package

Submodules

LDMX.DetDescr.ecal_geometry module

Configuration for EcalHexReadout

class LDMX.DetDescr.ecal_geometry.EcalGeometry(layer_z_positions: list[float], ecal_front_z: float, gap: float, corners_side_up: bool, detectors_valid: list[str], layer_shift_x: float = 0.0, layer_shift_y: float = 0.0, layer_shift_odd: bool = False, layer_shift_odd_bilayer: bool = False, si_thickness: float = 0.3, n_cell_r_height: float = 35.3, module_min_r: float = 85.0)

Bases: object

Configuration for EcalHexReadout for a specific geometry

layer_z_positions

z-coordinates of sensitive ecal layers relative to front of ecal [mm]

Type:

float

ecal_front_z

z-coordinate of front of ecal plane [mm]

Type:

float

gap

Distance separating module edges [mm]

Type:

float

corners_side_up

Are the corners of the modules pointed up? (or are the flat sides?)

Type:

bool

layer_shift_x

Shift in x [mm] for the layers that are shifted

Type:

float

layer_shift_y

Shift in y [mm] for the layers that are shifted

Type:

float

layer_shift_odd

Shift the odd-numbered layers

Type:

bool

layer_shift_odd_bilayer

Shift the odd-numbered bi-layers

Type:

bool

si_thickness

Thickness of the silicon sensor [mm]

Type:

float

detectors_valid

Regular expressions identifying which detectors are valid for this geometry

Type:

array of strings

module_min_r

Module hexagon center-to-flat radius [mm] UNLIKELY TO CHANGE - will only change if the CMS HGCAL High-Density design changes

Type:

float

n_cell_r_height

Number of cell sides (center-to-corner radii) spanning the module height UNLIKELY TO CHANGE - will only change if the CMS HGCAL High-Density design changes

Type:

float

corners_side_up: bool
detectors_valid: list[str]
ecal_front_z: float
gap: float
geometries()
layer_shift_odd: bool = False
layer_shift_odd_bilayer: bool = False
layer_shift_x: float = 0.0
layer_shift_y: float = 0.0
layer_z_positions: list[float]
module_min_r: float = 85.0
n_cell_r_height: float = 35.3
reduced()
reduced_v2()
reduced_v3()
si_thickness: float = 0.3
v12()
v13()
v14()
v15()
v9()

LDMX.DetDescr.hcal_geometry module

Configuration for HcalGeometry

class LDMX.DetDescr.hcal_geometry.HcalGeometry(v13: HcalReadoutGeometry = <factory>, v14: HcalReadoutGeometry = <factory>, v1_prototype: HcalReadoutGeometry = <factory>, v2_prototype: HcalReadoutGeometry = <factory>)

Bases: object

Container for the various geometries

Only sets parameters that must align with the Hcal gdml constants.

v13: HcalReadoutGeometry
v14: HcalReadoutGeometry
v1_prototype: HcalReadoutGeometry
v2_prototype: HcalReadoutGeometry
class LDMX.DetDescr.hcal_geometry.HcalReadoutGeometry(detectors_valid: list[str], scint_thickness: float, scint_width: float, scint_length: list[float, float], zero_layer: list[float], zero_strip: list[float, float], layer_thickness: list[float], num_layers: list[int], num_strips: list[int, int], half_total_width: list[float, float], ecal_dx: float, ecal_dy: float, num_sections: int, verbose: int = 0, back_horizontal_parity: int = 1, side_3d_readout: int = 0, y_offset: float = 0.0)

Bases: object

Configuration for HcalGeometry for a specific geometry

detectors_valid

Regular expressions identifying which detectors are valid for this geometry

Type:

array of strings

scint_thickness

@param gdml: scint_thickness

Type:

Scintillator thickness (in z).

scint_width

@param gdml see: scint_bar_width

Type:

Scintillator width (in x).

zero_layer

Back Hcal first layer (in z) starts after Ecal+Side-Hcal_z @param gdml see: dz, air_thickness, absorber_thickness

Type:

Position of the first scintillator layer

zero_strip

For back Hcal: NumStrips * scint_bar_width / 2 (in x/y) @param gdml see: num_bars_front, num_bars_back, scint_bar_width

Type:

Position of the first strip.

half_total_width

Equal to zero_strip for the prototype geometry.

Type:

Half length of a bar.

layer_thickness

Layer thickness (in z) Can be obtained by: absorber_thickness + scint_thickness + 2.0*air_thickness @param gdml see: layer_thickness

Type:

list[float]

num_layers

Number of layers per section. @param gdml see: num_layers

Type:

list[int]

num_strips

Number of strips per layer. @param gdml see: num_bars_front, num_bars_back, num_layers_front, and num_layers_back

Type:

list[int, int]

num_sections

Set to 1 for the prototype geometry since the prototype only has the Back Hcal.

Type:

int

ecal_dx/ecal_dy

Used in the regular geometry to describe the dimensions of the Ecal. Since there is no Ecal in the prototype geometry, these are both set to 0.

back_horizontal_parity

Layers with odd parity (1) are horizontal on the x-axis in the back HCal

Type:

int

y_offset

Offset of the entire Hcal geometry to be taken into account

Type:

float

back_horizontal_parity: int = 1
detectors_valid: list[str]
ecal_dx: float
ecal_dy: float
half_total_width: list[float, float]
layer_thickness: list[float]
make_v13()

Create the HcalGeometry with the v13 geometry parameters

Only sets parameters that must align with the Hcal gdml constants.

Nothing has changed in v13 for the HCal

make_v14()
make_v1_prototype()

Create the HcalGeometry with the testbeam prototype geometry parameters

make_v2_prototype()

Create the HcalGeometry with the testbeam prototype geometry parameters

num_layers: list[int]
num_sections: int
num_strips: list[int, int]
scint_length: list[float, float]
scint_thickness: float
scint_width: float
side_3d_readout: int = 0
verbose: int = 0
y_offset: float = 0.0
zero_layer: list[float]
zero_strip: list[float, float]

Module contents