7 from ROOT
import Belle2
25 '''class to print SVD pitches'''
28 '''print pitch function'''
33 sensorInfo = geoCache.getSensorInfo(vxdID)
34 print(
'pitches of sensor ' + str(layer) +
'.' + str(ladder) +
'.' + str(sensor) +
' at:')
35 print(
' at other coordinate = 0')
36 print(
"U pitch = " + str(sensorInfo.getUPitch(0) * 10000) +
' mu')
37 print(
"V pitch = " + str(sensorInfo.getVPitch(0) * 10000) +
' mu')
38 print(
' at other coordinate = +length/2')
39 print(
"U pitch = " + str(sensorInfo.getUPitch(sensorInfo.getLength() / 2) * 10000) +
' mu')
40 print(
"V pitch = " + str(sensorInfo.getVPitch(sensorInfo.getLength() / 2) * 10000) +
' mu')
41 print(
' at other coordinate = -length/2')
42 print(
"U pitch = " + str(sensorInfo.getUPitch(-sensorInfo.getLength() / 2) * 10000) +
' mu')
43 print(
"V pitch = " + str(sensorInfo.getVPitch(-sensorInfo.getLength() / 2) * 10000) +
' mu')
59 ''' class to print SVD sizes'''
62 '''function to print the sizes'''
67 sensorInfo = geoCache.getSensorInfo(vxdID)
68 print(
'sizes of sensor ' + str(layer) +
'.' + str(ladder) +
'.' + str(sensor) +
' at:')
69 print(
"W size = " + str(sensorInfo.getWSize() * 10000) +
' mu')
70 print(
"V size = " + str(sensorInfo.getVSize() * 10) +
' mm')
71 print(
"U size at V=-length/2 = " + str(sensorInfo.getUSize(-sensorInfo.getLength() / 2) * 10) +
' mm')
72 print(
"U size at V=0 = " + str(sensorInfo.getUSize(0) * 10) +
' mm')
73 print(
"U size at V=+length/2 = " + str(sensorInfo.getUSize(sensorInfo.getLength() / 2) * 10) +
' mm')
89 '''class to print strip length'''
92 '''function to print strip length'''
97 sensorInfo = geoCache.getSensorInfo(vxdID)
98 nUcells = sensorInfo.getUCells() - 1
99 nVcells = sensorInfo.getVCells() - 1
100 print(
'strip lengths ' + str(layer) +
'.' + str(ladder) +
'.' + str(sensor) +
' at:')
101 print(
' V strips at uID=0 = ' + str(sensorInfo.getStripLengthV(0) * 10) +
' mm')
102 print(
' V strips at uID=' + str(nUcells) +
' = ' + str(sensorInfo.getStripLengthV(nUcells) * 10) +
' mm')
103 print(
' U strips at vID=0 = ' + str(sensorInfo.getStripLengthU(0) * 10) +
' mm')
104 print(
' U strips at vID=' + str(nVcells) +
' = ' + str(sensorInfo.getStripLengthU(nVcells) * 10) +
' mm')
120 '''class to print strip positions'''
123 '''function to print strip positions'''
128 sensorInfo = geoCache.getSensorInfo(vxdID)
129 nUcells = sensorInfo.getUCells() - 1
130 nVcells = sensorInfo.getVCells() - 1
131 print(
'strip positions ' + str(layer) +
'.' + str(ladder) +
'.' + str(sensor) +
' at:')
132 print(
' vID=0 = ' + str(sensorInfo.getVCellPosition(0) * 10) +
' mm')
133 print(
' vID=' + str(nVcells) +
' = ' + str(sensorInfo.getVCellPosition(nVcells) * 10) +
' mm')
135 print(
' uID=0 at v=0 = ' + str(sensorInfo.getUCellPosition(0, 0) * 10) +
' mm')
136 print(
' uID=0 at v=' + str(nVcells) +
' = ' + str(sensorInfo.getUCellPosition(0, nVcells) * 10) +
' mm')
137 print(
' uID=' + str(nUcells) +
' at v=0 = ' + str(sensorInfo.getUCellPosition(nUcells, 0) * 10) +
' mm')
138 print(
' uID=' + str(nUcells) +
' at v=' + str(nVcells) +
' = ' +
139 str(sensorInfo.getUCellPosition(nUcells, nVcells) * 10) +
' mm')
142 print(
'U cellID at vID=nVcell (0) = ' +
143 str(sensorInfo.getUCellID(sensorInfo.getUCellPosition(0, nVcells), sensorInfo.getVCellPosition(nVcells))))
144 print(
'U cellID at vID=0 (0) = ' +
145 str(sensorInfo.getUCellID(sensorInfo.getUCellPosition(0, 0), sensorInfo.getVCellPosition(0))))
161 '''class to print svd sensors'''
167 print(
"printing all sensors of the SVD in the geometry:")
168 for layer
in geoCache.getLayers(Belle2.VXD.SensorInfoBase.SVD):
169 layerNumber = layer.getLayerNumber()
170 for ladder
in geoCache.getLadders(layer):
171 ladderNumber = ladder.getLadderNumber()
172 for sensor
in geoCache.getSensors(ladder):
173 sensorNumber = sensor.getSensorNumber()
174 print(str(layerNumber) +
"." + str(ladderNumber) +
"." + str(sensorNumber))
178 '''class to print svd ladders'''
185 print(
"printing all L3 backward sensors position of the SVD in the geometry:")
186 print(
"format: sensorID X(cm) Y(cm) phi(rad) phi(deg)")
187 for layer
in geoCache.getLayers(Belle2.VXD.SensorInfoBase.SVD):
188 layerNumber = layer.getLayerNumber()
190 if not layerNumber == 3:
193 for ladder
in geoCache.getLadders(layer):
194 ladderNumber = ladder.getLadderNumber()
195 for sensor
in geoCache.getSensors(ladder):
196 sensorNumber = sensor.getSensorNumber()
197 if not(sensorNumber == layerNumber - 1):
200 sensorID = str(layerNumber) +
"." + str(ladderNumber)
202 local = r.TVector3(0, 0, 0)
203 glob = geoCache.getSensorInfo(sensor).pointToGlobal(local)
205 angleRad = m.atan2(glob.Y(), glob.X())
208 angleRad = 2 * m.pi + angleRad
209 print(
"second = " + str(angleRad))
211 angleDeg = m.degrees(angleRad)
213 xStr =
"{0:.2f}".format(round(glob.X(), 2))
214 yStr =
"{0:.2f}".format(round(glob.Y(), 2))
215 radStr =
"{0:.2f}".format(round(angleRad, 4))
216 degStr =
"{0:.2f}".format(round(angleDeg, 2))
217 print(sensorID +
' ' + xStr +
' ' + yStr +
' ' + radStr +
' ' + degStr)
233 eventinfosetter = register_module(
'EventInfoSetter')
234 eventinfosetter.param(
'expList', [1003])
235 eventinfosetter.param(
'runList', [0])
236 eventinfosetter.param(
'evtNumList', [1])
237 main.add_module(eventinfosetter)
239 main.add_module(
"Gearbox")
240 main.add_module(
'Geometry')