10 from ROOT
import Belle2
12 logging.log_level = LogLevel.WARNING
21 """A module to dump sensor data of SVD sensors."""
24 """Initialize the module"""
26 super(DumpSVDSensorParameters, self).
__init__()
28 self.
file = open(
'DumpSVDSensorParametersData.txt',
'w')
31 """ Write legend for file columns """
33 self.
file.write(
'sensor_type layer ladder sensor side pitch strip_length ')
34 self.
file.write(
'c_backp c_inter c_coup noise\n')
37 """Get values of sensor parameters from GeoCache and write them to file."""
40 layer_sensors = {3: 2, 4: 3, 5: 4, 6: 5}
41 for sensorID
in geoCache.getListOfSensors():
45 layer = sensorID.getLayerNumber()
46 ladder = sensorID.getLadderNumber()
47 sensor = sensorID.getSensorNumber()
48 sensorType =
'layer3' if layer == 3
else (
'slanted' if sensor == 1
else 'barrel')
49 origami = 0
if sensor == layer_sensors[layer]
else 1
50 for side
in [
'u',
'v']:
51 s =
'{sID} {orig} {layer} {ladder} {sensor} {uv} '.format(
60 pitch = info.getUPitch()
if side ==
'u' else info.getVPitch()
61 halfCellU = info.getUCells()
62 halfCellV = info.getVCells()
63 strip_length = info.getStripLengthU(halfCellU)
if side ==
'u' else info.getStripLengthV(halfCellV)
64 capa_bp = info.getBackplaneCapacitanceU()
if side ==
'u' else info.getBackplaneCapacitanceV()
65 capa_inter = info.getInterstripCapacitanceU()
if side ==
'u' else info.getInterstripCapacitanceV()
66 capa_coup = info.getCouplingCapacitanceU()
if side ==
'u' else info.getCouplingCapacitanceV()
67 noise = info.getElectronicNoiseU()
if side ==
'u' else info.getElectronicNoiseV()
68 s +=
'{p:10.5f} {sl:10.5f} {cbp:10.5f} {cis:10.5f} {ccp:10.5f} {sig:10.5f}\n '.format(
79 """ Close the output file."""
86 particlegun = register_module(
'ParticleGun')
88 eventinfosetter = register_module(
'EventInfoSetter')
90 progress = register_module(
'Progress')
92 gearbox = register_module(
'Gearbox')
94 geometry = register_module(
'Geometry')
96 simulation = register_module(
'FullSim')
98 svddigi = register_module(
'SVDDigitizer')
100 svdclust = register_module(
'SVDClusterizer')
102 output = register_module(
'RootOutput')
107 eventinfosetter.param(
'evtNumList', [1])
112 'pdgCodes': [211, -211, 11, -11],
113 'momentumGeneration':
'normal',
114 'momentumParams': [3, 0.2],
115 'phiGeneration':
'uniform',
116 'phiParams': [0, 360],
117 'thetaGeneration':
'uniform',
118 'thetaParams': [89, 91],
119 'vertexGeneration':
'normal',
120 'xVertexParams': [0.0, 0.1],
121 'yVertexParams': [0.0, 0.1],
122 'zVertexParams': [0.0, 5.0]
126 geometry.param(
'components', [
'SVD'])
130 main.add_module(eventinfosetter)
131 main.add_module(progress)
132 main.add_module(particlegun)
133 main.add_module(gearbox)
134 main.add_module(geometry)
135 main.add_module(simulation)
136 main.add_module(svddigi)
137 main.add_module(svdclust)
138 main.add_module(analyze)