6 Int_t barrel, layer, ladder, wafer, type;
7 Double_t u, Du, v, Dv, w, Dw, alpha, Dalpha, beta, Dbeta, gamma, Dgamma;
72 const Char_t *Pass =
"Pass49E";
75 {1,2, 1, 0,-1, 1.80, 0.50, 9.24, 0.57,-125.77, 1.62, -0.85, 0.03, 2.10, 0.10, 0.03, 0.01,
"Average"},
76 {1,1, 2, 0,-1, 4.04, 0.75, 16.46, 0.84,-106.44, 1.85, -0.51, 0.06, 2.15, 0.12, -0.31, 0.04,
"Average"},
77 {1,2, 3, 0,-1, -7.95, 1.07, 20.89, 1.18, 106.08, 2.55, 2.80, 0.08, 0.97, 0.17, -3.11, 0.08,
"Average"},
78 {1,1, 4, 0,-1, 0.75, 0.53, 13.42, 0.60,-201.37, 1.51, 1.00, 0.03, 1.71, 0.09, -0.02, 0.01,
"Average"},
79 {1,2, 5, 0,-1, -0.33, 0.76, 11.60, 0.84,-178.28, 1.87, 1.08, 0.09, -7.56, 0.16, 0.28, 0.03,
"Average"},
80 {1,1, 6, 0,-1, 1.15, 0.49, -8.20, 0.55, 115.29, 1.56, -0.96, 0.03, -0.58, 0.14, -0.26, 0.06,
"Average"},
81 {1,2, 7, 0,-1, 0.74, 0.81, 2.52, 1.00, -57.54, 2.30, -0.14, 0.09, -0.61, 0.17, 0.06, 0.03,
"Average"},
82 {1,1, 8, 0,-1,-228.54,29.09, -36.30,43.25, -64.36,54.19, -2.53, 4.63, 5.28, 4.35, -5.27, 1.25,
"Average"},
84 {2,4, 1, 0,-1, -0.59, 0.86, 22.94, 1.02, -75.63, 2.42, -1.34, 0.05, 0.15, 0.16, -0.04, 0.02,
"Average"},
85 {2,3, 2, 0,-1, 1.63, 0.72, 14.20, 0.96,-281.57, 2.56, -1.36, 0.04, 1.59, 0.15, -0.14, 0.02,
"Average"},
86 {2,4, 3, 0,-1, 0.23, 1.62, 0.56, 2.00,-120.29, 4.87, -0.09, 0.23, 1.42, 0.34, 0.11, 0.09,
"Average"},
87 {2,3, 4, 0,-1, 0.24, 0.62, 20.74, 0.88,-289.30, 2.38, 1.27, 0.03, 0.74, 0.12, -0.09, 0.01,
"Average"},
88 {2,4, 5, 0,-1, -2.76, 0.81, 16.20, 0.99,-335.70, 2.34, -1.03, 0.04, -1.44, 0.15, 0.01, 0.02,
"Average"},
89 {2,3, 6, 0,-1, 2.69, 0.48, 15.77, 0.69,-349.75, 1.95, 0.31, 0.03, 0.22, 0.16, 0.17, 0.01,
"Average"},
90 {2,4, 7, 0,-1, 3.63, 0.69, 20.99, 0.86,-141.38, 2.04, -0.39, 0.05, -0.95, 0.19, 0.26, 0.02,
"Average"},
92 {2,3, 8, 0,-1, 0,-9.99, 0,-9.99, 0,-9.99, 0,-9.99, 0,-9.99, 0,-9.99,
"Average"},
93 {2,4, 9, 0,-1, -2.70, 0.68, 8.58, 1.16, -75.90, 2.94, -1.77, 0.04, -0.76, 0.24, 0.41, 0.02,
"Average"},
94 {2,3,10, 0,-1, -3.85, 0.53, 8.71, 0.91,-311.18, 2.02, 0.37, 1.46, 3.96, 0.16, 0.07, 0.01,
"Average"},
95 {2,4,11, 0,-1, -5.44, 0.76, 11.64, 0.72,-191.61, 2.64, 0.12, 0.04, -1.80, 0.13, 0.12, 0.01,
"Average"},
96 {2,3,12, 0,-1, 6.15, 0.79, 15.77, 1.01, 7.02, 2.84, -0.38, 0.04, 1.53, 0.18, 0.11, 0.02,
"Average"},
98 {3,6, 1, 0,-1, 8.28, 0.65, 9.26, 0.93, -73.53, 3.35, -0.54, 0.02, -0.88, 0.14, 0.03, 0.01,
"Average"},
99 {3,5, 2, 0,-1, 17.84, 0.92, 9.77, 1.16, -92.67, 3.41, -1.85, 0.02, 7.91, 0.28, -0.08, 0.01,
"Average"},
100 {3,6, 3, 0,-1, -0.18, 0.69, 16.69, 1.01,-320.82, 2.78, -0.80, 0.03, -1.36, 0.14, 0.05, 0.01,
"Average"},
101 {3,5, 4, 0,-1, -2.54, 0.81, 17.66, 1.17, -18.66, 2.87, 0.68, 0.05, -1.71, 0.21, 0.02, 0.02,
"Average"},
102 {3,6, 5, 0,-1, -4.17, 2.02, 121.33, 2.41,-295.27, 5.02, 0.06, 0.09, -2.38, 0.39, 0.21, 0.04,
"Average"},
103 {3,5, 6, 0,-1, -5.21, 0.89, 7.39, 1.29,-431.32, 2.98, 0.56, 0.06, -4.39, 0.20, -0.10, 0.02,
"Average"},
104 {3,6, 7, 0,-1, -1.33, 1.38, 13.30, 1.89,-486.92, 4.13, 0.53, 0.10, 2.30, 0.37, 0.05, 0.05,
"Average"},
105 {3,5, 8, 0,-1, 1.35, 0.51, 10.59, 0.88,-237.38, 2.75, 1.52, 0.02, -0.48, 0.13, 0.09, 0.01,
"Average"},
106 {3,6, 9, 0,-1, 0.91, 0.80, 18.76, 1.36,-562.13, 3.10, -0.42, 0.04, -6.84, 0.25, 3.26, 0.13,
"Average"},
107 {3,5,10, 0,-1, -0.72, 0.79, 9.37, 1.19,-122.93, 3.03, -0.19, 0.05, -10.70, 0.20, 0.43, 0.02,
"Average"},
108 {3,6,11, 0,-1, 0.20, 0.81, 24.02, 1.44, 119.92, 3.38, -0.71, 0.09, 8.02, 0.22, -0.05, 0.03,
"Average"},
109 {3,5,12, 0,-1, 4.48, 0.65, 2.93, 0.81,-155.55, 2.21, -0.24, 0.02, -1.40, 0.17, 4.00, 0.09,
"Average"},
110 {3,6,13, 0,-1, 1.29, 0.69, -2.43, 1.22, 35.60, 4.24, 0.19, 0.04, 2.43, 0.18, -0.06, 0.02,
"Average"},
111 {3,5,14, 0,-1, 20.94, 1.74, 13.53, 2.04,-234.53, 4.23, 1.66, 0.09, -7.26, 0.42, -0.07, 0.03,
"Average"},
112 {3,6,15, 0,-1, 0,-9.99, 0,-9.99, 0,-9.99, 0,-9.99, 0,-9.99, 0,-9.99,
"Average"},
113 {3,5,16, 0,-1, 2.88, 0.64, 10.92, 1.07, 50.20, 3.18, -1.10, 0.04, 2.79, 0.17, 0.02, 0.02,
"Average"}
171 const Char_t *Pass =
"Pass49E";
173 {1,2, 1, 0,-1, -15.01, 0.52, 132.81, 0.56,-119.73, 1.58, -0.04, 0.03, -0.18, 0.09, 0.03, 0.01,
"Average"},
174 {1,1, 2, 0,-1, 0.72, 0.76, 117.48, 0.88,-151.38, 1.81, -0.09, 0.06, -0.03, 0.12, -0.30, 0.03,
"Average"},
175 {1,2, 3, 0,-1, 177.34, 1.14, -89.29, 1.21, 228.17, 2.53, -0.04, 0.08, -0.83, 0.17, 0.15, 0.09,
"Average"},
176 {1,1, 4, 0,-1, -14.92, 0.55, 216.27, 0.59,-241.59, 1.49, -0.32, 0.02, -0.51, 0.11, 0.04, 0.01,
"Average"},
177 {1,2, 5, 0,-1, 67.59, 0.91, 189.56, 0.83,-280.02, 1.80, -0.76, 0.07, 0.62, 0.16, -0.04, 0.03,
"Average"},
178 {1,1, 6, 0,-1, -0.26, 0.50,-126.91, 0.54, 149.09, 1.45, 0.10, 0.03, 3.39, 0.10, -0.03, 0.06,
"Average"},
179 {1,2, 7, 0,-1, 8.01, 0.82, 61.60, 1.01, -52.17, 2.29, 0.13, 0.08, 0.57, 0.17, -0.03, 0.03,
"Average"},
180 {1,1, 8, 0,-1,-1379.12,49.68,1287.40,23.58,1952.84,49.94 31.56, 0.58, 5.31, 4.28, 23.12, 1.56,
"Average"},
181 {2,4, 1, 0,-1, 2.38, 0.89, 89.08, 1.07,-186.69, 2.53, -0.08, 0.05, 0.82, 0.16, 0.21, 0.02,
"Average"},
182 {2,3, 2, 0,-1, 3.59, 0.71, 292.33, 0.94,-406.39, 2.31, -0.21, 0.05, 0.01, 0.16, 0.10, 0.02,
"Average"},
183 {2,4, 3, 0,-1, -5.99, 1.64, 117.78, 1.99,-121.20, 4.78, -0.43, 0.24, 0.32, 0.35, -0.02, 0.09,
"Average"},
184 {2,3, 4, 0,-1, -5.08, 0.61, 317.21, 0.85,-327.53, 2.18, -0.22, 0.03, -0.17, 0.13, 0.01, 0.01,
"Average"},
185 {2,4, 5, 0,-1, 5.44, 0.82, 348.44, 0.98,-395.69, 2.32, -0.06, 0.04, 0.17, 0.17, -0.02, 0.02,
"Average"},
186 {2,3, 6, 0,-1, 1.23, 0.49, 365.35, 0.69,-369.43, 1.75, 0.28, 0.02, -2.10, 0.18, 0.03, 0.01,
"Average"},
187 {2,4, 7, 0,-1, -14.17, 0.69, 159.66, 0.86,-197.55, 2.05, -0.16, 0.04, -1.79, 0.19, 0.03, 0.02,
"Average"},
188 {2,3, 8, 0,-1,1665.15,12.64, 105.41,18.08,-662.24,46.24, -0.65, 0.95, 1.86, 2.34, -0.90, 1.60,
"Average"},
189 {2,4, 9, 0,-1, -25.91, 0.68, 71.81, 1.16,-215.98, 2.85, -0.13, 0.04, -0.44, 0.24, -0.01, 0.02,
"Average"},
190 {2,3,10, 0,-1, -20.06, 0.54, 318.70, 0.90,-317.24, 2.07, 0.21, 0.05, -2.50, 0.16, -0.00, 0.01,
"Average"},
191 {2,4,11, 0,-1, 13.90, 0.75, 202.90, 0.71,-210.79, 2.45, -0.73, 0.04, -0.21, 0.12, 0.01, 0.01,
"Average"},
192 {2,3,12, 0,-1, -19.72, 0.81, 7.89, 0.97, -38.47, 2.57, 0.04, 0.04, 0.21, 0.18, 0.08, 0.02,
"Average"},
193 {3,6, 1, 0,-1, 3.13, 0.65, 76.77, 0.90, -63.00, 3.14, -0.15, 0.02, -0.37, 0.14, 0.03, 0.01,
"Average"},
194 {3,5, 2, 0,-1, -40.76, 0.88, 82.89, 1.06,-181.74, 2.37, -0.14, 0.03, -3.66, 0.23, -0.07, 0.01,
"Average"},
195 {3,6, 3, 0,-1, 7.21, 0.68, 331.89, 1.03,-379.12, 2.50, -0.23, 0.03, 0.74, 0.15, -0.05, 0.01,
"Average"},
196 {3,5, 4, 0,-1, 7.61, 0.80, 37.61, 1.15, 13.75, 2.97, 0.10, 0.05, -0.02, 0.21, 0.00, 0.02,
"Average"},
197 {3,6, 5, 0,-1, -16.79, 2.05, 410.23, 2.34,-385.59, 5.05, -0.17, 0.10, -0.02, 0.44, 0.11, 0.04,
"Average"},
198 {3,5, 6, 0,-1, 21.63, 0.89, 436.23, 1.26,-413.83, 2.85, -0.43, 0.06, -0.86, 0.24, -0.01, 0.02,
"Average"},
199 {3,6, 7, 0,-1, -20.80, 1.41, 500.84, 1.91,-439.06, 4.10, 0.48, 0.13, -1.08, 0.43, 0.04, 0.05,
"Average"},
200 {3,5, 8, 0,-1, 2.57, 0.51, 253.83, 0.80,-266.77, 1.94, -0.12, 0.02, 0.28, 0.16, 0.04, 0.01,
"Average"},
201 {3,6, 9, 0,-1, 317.12, 1.09, 583.21, 1.38,-514.84, 3.10, -0.90, 0.06, 0.44, 0.30, 0.51, 0.13,
"Average"},
202 {3,5,10, 0,-1, 109.82, 0.89, 132.44, 1.17,-101.59, 3.02, -0.30, 0.05, 0.79, 0.21, 0.03, 0.02,
"Average"},
203 {3,6,11, 0,-1, -38.30, 0.82,-104.07, 1.39, 47.09, 3.39, 0.05, 0.07, 0.75, 0.23, 0.08, 0.03,
"Average"},
204 {3,5,12, 0,-1, 112.21, 1.92, 158.54, 0.80,-164.66, 2.19, -0.22, 0.02, 0.61, 0.17, -0.04, 0.10,
"Average"},
205 {3,6,13, 0,-1, -16.05, 0.73, -37.08, 1.21, 16.61, 4.34, 0.05, 0.04, 0.53, 0.18, 0.09, 0.02,
"Average"},
206 {3,5,14, 0,-1, 14.71, 1.54, 252.99, 2.17,-397.63, 4.37, -0.30, 0.12, 1.11, 0.44, 0.17, 0.03,
"Average"},
207 {3,6,15, 0,-1, 0,-9.99, 0,-9.99, 0,-9.99, 0,-9.99, 0,-9.99, 0,-9.99,
"Average"},
208 {3,5,16, 0,-1, -5.16, 0.67, -45.96, 1.06, -60.56, 3.06, 0.06, 0.04, 0.42, 0.17, 0.03, 0.02,
"Average"}
303 const Char_t *Pass =
"Pass49F";
305 {1,2, 1, 0,-1, 6.10, 0.51, 252.39, 0.58,-255.35, 1.54, 0.01, 0.03, -0.03, 0.10, 0.03, 0.01,
"Average"},
306 {1,1, 2, 0,-1, 14.62, 0.76, 271.38, 0.84,-273.92, 1.84, -0.06, 0.06, 0.07, 0.14, -0.00, 0.03,
"Average"},
307 {1,2, 3, 0,-1, -1.79, 1.15,-315.87, 1.19, 318.21, 2.52, 0.53, 0.10, 0.52, 0.20, -0.01, 0.09,
"Average"},
308 {1,1, 4, 0,-1, -5.23, 0.55, 452.58, 0.65,-442.29, 1.50, -0.17, 0.03, -0.59, 0.12, 0.07, 0.01,
"Average"},
309 {1,2, 5, 0,-1, -14.25, 0.86, 466.25, 0.87,-424.40, 1.83, -0.46, 0.08, 0.97, 0.20, -0.13, 0.03,
"Average"},
310 {1,1, 6, 0,-1, -26.24, 0.46,-276.98, 0.54, 286.88, 1.41, 0.03, 0.03, -2.50, 0.16, 0.47, 0.01,
"Average"},
311 {1,2, 7, 0,-1, -4.92, 0.80, 112.96, 1.03,-115.27, 2.35, -0.19, 0.09, -0.09, 0.16, 0.11, 0.03,
"Average"},
312 {1,1, 8, 0,-1,-2456.15,21.78, 13.34,42.58,-449.34,80.75,-109.47, 0.42, 5.09, 4.71, 30.68, 0.30,
"Average"},
313 {2,4, 1, 0,-1, -8.95, 0.86, 274.16, 1.07,-268.09, 2.69, -0.26, 0.05, -0.15, 0.18, 0.04, 0.02,
"Average"},
314 {2,3, 2, 0,-1, -0.01, 0.70, 690.78, 1.01,-713.36, 2.27, -0.28, 0.08, 0.05, 0.23, -0.01, 0.02,
"Average"},
315 {2,4, 3, 0,-1, -2.06, 1.68, 246.67, 1.83,-246.27, 4.83, 0.25, 0.26, -0.69, 0.37, -0.15, 0.10,
"Average"},
316 {2,3, 4, 0,-1, 1.04, 0.62, 641.91, 0.92,-645.59, 2.04, -0.62, 0.03, 0.56, 0.19, 0.00, 0.01,
"Average"},
317 {2,4, 5, 0,-1, -8.16, 0.84, 734.63, 1.05,-745.35, 2.32, -0.09, 0.06, -0.69, 0.26, -0.01, 0.02,
"Average"},
318 {2,3, 6, 0,-1, 0.04, 0.48, 725.76, 0.75,-731.97, 1.66, -0.54, 0.03, -1.88, 0.21, 0.00, 0.01,
"Average"},
319 {2,4, 7, 0,-1, 2.97, 0.70, 353.31, 0.88,-366.12, 2.01, -0.16, 0.05, 0.63, 0.20, -0.04, 0.02,
"Average"},
320 {2,3, 8, 0,-1,-102.37,25.80, 933.14,22.02,1536.98,38.90, 0.69, 0.84, -1.89, 2.46, 8.93, 0.91,
"Average"},
321 {2,4, 9, 0,-1, 0.83, 0.67, 290.02, 1.16,-292.96, 2.78, -0.23, 0.05, -0.97, 0.21, -0.00, 0.02,
"Average"},
322 {2,3,10, 0,-1, 19.07, 0.51, 628.02, 1.01,-637.36, 2.19, -0.78, 0.04, -1.99, 0.17, -0.03, 0.01,
"Average"},
323 {2,4,11, 0,-1, -0.56, 0.75, 404.66, 0.77,-391.85, 2.78, 0.28, 0.04, 0.33, 0.14, -0.01, 0.01,
"Average"},
324 {2,3,12, 0,-1, -6.45, 0.80, 45.19, 0.98, -41.02, 2.64, -0.10, 0.04, 0.06, 0.18, 0.02, 0.02,
"Average"},
325 {3,6, 1, 0,-1, 5.56, 0.66, 136.52, 0.93,-134.42, 3.33, -0.08, 0.02, 0.12, 0.14, -0.00, 0.01,
"Average"},
326 {3,5, 2, 0,-1, 11.03, 0.84, 264.35, 1.07,-226.15, 2.37, -0.02, 0.03, -0.02, 0.26, -0.03, 0.01,
"Average"},
327 {3,6, 3, 0,-1, 4.57, 0.70, 697.18, 1.08,-719.85, 2.47, -0.47, 0.04, 0.14, 0.22, 0.11, 0.01,
"Average"},
328 {3,5, 4, 0,-1, -0.78, 0.80, 24.13, 1.15, -18.18, 3.00, 0.05, 0.05, 0.41, 0.22, 0.00, 0.02,
"Average"},
329 {3,6, 5, 0,-1, -16.26, 2.04, 762.61, 2.72,-773.16, 5.53, -0.21, 0.16, -1.82, 0.61, 0.29, 0.04,
"Average"},
330 {3,5, 6, 0,-1, 6.01, 0.89, 839.58, 1.39,-892.94, 2.98, -0.31, 0.10, -0.04, 0.40, 0.10, 0.02,
"Average"},
331 {3,6, 7, 0,-1, -1.53, 1.35, 923.81, 2.04,-883.49, 4.15, -0.06, 0.19, -0.53, 0.67, 0.20, 0.05,
"Average"},
332 {3,5, 8, 0,-1, -5.24, 0.51, 512.46, 0.85,-515.14, 2.03, -0.35, 0.03, -1.10, 0.16, -0.01, 0.01,
"Average"},
333 {3,6, 9, 0,-1, 35.44, 1.13,1084.97, 1.58,-1008.66, 3.06, -1.84, 0.12, -4.01, 0.56, -0.72, 0.17,
"Average"},
334 {3,5,10, 0,-1, -0.87, 0.89, 231.15, 1.19,-200.63, 2.89, -0.22, 0.06, -1.07, 0.21, -0.01, 0.02,
"Average"},
335 {3,6,11, 0,-1, -8.50, 0.82,-146.84, 1.41, 153.37, 3.39, 0.08, 0.07, 0.05, 0.22, -0.05, 0.03,
"Average"},
336 {3,5,12, 0,-1, 2.05, 1.93, 317.54, 0.84,-317.31, 2.22, -0.22, 0.02, -0.55, 0.17, 0.11, 0.10,
"Average"},
337 {3,6,13, 0,-1, 4.05, 0.71, -49.62, 1.23, 41.21, 3.60, 0.04, 0.04, -0.45, 0.18, -0.08, 0.02,
"Average"},
338 {3,5,14, 0,-1, 19.12, 1.53, 647.52, 2.17,-616.89, 4.41, -1.39, 0.13, -2.43, 0.64, -0.10, 0.03,
"Average"},
339 {3,6,15, 0,-1, 0,-9.99, 0,-9.99, 0,-9.99, 0,-9.99, 0,-9.99, 0,-9.99,
"Average"},
340 {3,5,16, 0,-1, -6.18, 0.64, 17.26, 1.06, -0.03, 3.15, -0.08, 0.03, -0.41, 0.17, 0.01, 0.02,
"Average"}
426 const Char_t *Pass =
"Pass49H";
428 {1,2, 1, 0,-1, -8.25, 0.52, 2.19, 0.56, 2.33, 1.57, 0.05, 0.03, 0.15, 0.09, -0.02, 0.01,
"Average"},
429 {1,1, 2, 0,-1, -3.13, 0.74, -1.25, 0.82, -4.86, 1.84, 0.09, 0.06, -0.06, 0.12, -0.07, 0.03,
"Average"},
430 {1,2, 3, 0,-1, -10.59, 1.14, -0.15, 1.18, 34.54, 2.49, -0.50, 0.08, -0.72, 0.18, -0.19, 0.08,
"Average"},
431 {1,1, 4, 0,-1, 26.09, 0.56, 8.37, 0.57, -10.92, 1.40, 0.47, 0.03, 1.10, 0.10, -0.05, 0.02,
"Average"},
432 {1,2, 5, 0,-1, 5.25, 0.80, 5.48, 0.82, 54.54, 1.85, 1.19, 0.08, -2.01, 0.17, 0.19, 0.03,
"Average"},
433 {1,1, 6, 0,-1, 17.23, 0.43, 0.91, 0.54, -17.78, 1.48, -0.28, 0.03, 2.50, 0.09, 0.01, 0.01,
"Average"},
434 {1,2, 7, 0,-1, 2.86, 0.84, 1.64, 0.98, 10.57, 2.41, 0.20, 0.08, -0.19, 0.16, -0.49, 0.05,
"Average"},
435 {1,1, 8, 0,-1, -59.49,44.33, -12.08,26.37,-328.08,45.67, -0.17, 1.48, -2.11, 4.15, -16.85, 1.62,
"Average"},
436 {2,4, 1, 0,-1, -8.03, 0.85, 6.87, 1.05, -18.28, 2.65, 0.20, 0.05, -0.10, 0.16, -0.11, 0.02,
"Average"},
437 {2,3, 2, 0,-1, -14.19, 0.70, 11.18, 0.90, -18.53, 2.41, 0.51, 0.04, -0.39, 0.16, 0.00, 0.02,
"Average"},
438 {2,4, 3, 0,-1, 2.77, 1.64, -4.56, 1.98, 1.57, 4.88, 0.30, 0.23, -0.83, 0.36, 0.13, 0.09,
"Average"},
439 {2,3, 4, 0,-1, -2.98, 0.61, -4.82, 0.85, 14.94, 2.21, 0.93, 0.03, -0.33, 0.12, -0.01, 0.01,
"Average"},
440 {2,4, 5, 0,-1, 18.76, 0.84, 15.43, 0.93, -12.10, 2.32, 0.20, 0.04, 0.63, 0.15, 0.04, 0.02,
"Average"},
441 {2,3, 6, 0,-1, 24.53, 0.50, 16.42, 0.64, -9.99, 1.75, 0.33, 0.02, 3.43, 0.15, -0.05, 0.01,
"Average"},
442 {2,4, 7, 0,-1, 6.37, 0.70, 7.77, 0.85, -16.41, 2.03, 0.32, 0.05, 0.84, 0.18, -0.03, 0.02,
"Average"},
443 {2,3, 8, 0,-1,1892.40,18.00, 120.54,27.95,-434.42,66.74, 2.65, 0.97, -5.23, 2.60, -17.89, 0.87,
"Average"},
444 {2,4, 9, 0,-1, 6.98, 0.68, 2.58, 1.11, -19.53, 2.74, 0.36, 0.04, -1.52, 0.23, -0.01, 0.02,
"Average"},
445 {2,3,10, 0,-1, -0.08, 0.52, 11.94, 0.84, -3.62, 1.97, 0.46, 0.04, 4.47, 0.15, -0.03, 0.01,
"Average"},
446 {2,4,11, 0,-1, 5.34, 0.74, 13.78, 0.71, -14.88, 2.76, 0.32, 1.38, 0.21, 1.36, -0.09, 0.01,
"Average"},
447 {2,3,12, 0,-1, -1.25, 0.78, 3.43, 0.99, -6.85, 2.73, 0.07, 0.04, -0.17, 0.18, -0.02, 0.02,
"Average"},
448 {3,6, 1, 0,-1, -6.45, 0.64, 1.07, 0.91, 2.00, 3.07, 0.23, 0.02, 0.00, 0.14, 0.02, 0.01,
"Average"},
449 {3,5, 2, 0,-1, 6.50, 0.85, 0.77, 1.03, -4.50, 2.31, 0.17, 0.03, -0.66, 0.23, -0.04, 0.01,
"Average"},
450 {3,6, 3, 0,-1, -10.73, 0.69, 23.09, 0.94, -28.90, 2.43, 0.70, 0.02, -0.06, 0.14, -0.22, 0.01,
"Average"},
451 {3,5, 4, 0,-1, -2.20, 0.81, 1.69, 1.11, -0.36, 2.94, -0.05, 0.06, 0.65, 0.24, -0.01, 0.02,
"Average"},
452 {3,6, 5, 0,-1, -5.25, 2.81, 46.20, 2.34, -81.50, 4.99, 0.92, 0.09, 2.63, 0.39, -0.52, 0.04,
"Average"},
453 {3,5, 6, 0,-1, -9.37, 0.88, 15.25, 1.18, -26.34, 2.99, 0.22, 0.05, 0.73, 0.20, -0.20, 0.02,
"Average"},
454 {3,6, 7, 0,-1, -2.38, 1.39, 26.31, 1.83, -22.41, 4.28, -0.45, 0.10, 1.69, 0.34, -0.78, 0.05,
"Average"},
455 {3,5, 8, 0,-1, 13.56, 0.51, 12.55, 0.82, -3.03, 2.24, 0.53, 0.02, 1.55, 0.15, -0.02, 0.01,
"Average"},
456 {3,6, 9, 0,-1, -15.84, 1.10, 7.86, 1.32, 193.55, 3.39, 3.40, 0.04, 7.01, 0.22, 0.55, 0.11,
"Average"},
457 {3,5,10, 0,-1, 8.77, 0.89, 0.90, 1.22, 29.65, 2.97, 0.48, 0.05, 0.05, 0.20, -0.01, 0.02,
"Average"},
458 {3,6,11, 0,-1, 2.04, 0.81, -3.18, 1.40, 10.74, 3.37, -0.16, 0.07, -0.49, 0.21, 0.08, 0.03,
"Average"},
459 {3,5,12, 0,-1, 10.37, 1.96, 1.93, 0.80, -0.97, 2.32, 0.41, 0.02, 0.12, 0.18, 0.04, 0.09,
"Average"},
460 {3,6,13, 0,-1, -0.37, 0.75, -3.73, 1.20, 11.23, 4.02, -0.05, 0.04, 0.08, 0.17, 0.47, 0.02,
"Average"},
461 {3,5,14, 0,-1, -0.04, 1.53, -4.82, 2.06, 225.74, 4.36, 1.10, 0.09, 1.21, 0.41, 0.16, 0.04,
"Average"},
462 {3,6,15, 0,-1, 0,-9.99, 0,-9.99, 0,-9.99, 0,-9.99, 0,-9.99, 0,-9.99,
"Average"},
463 {3,5,16, 0,-1, 7.86, 0.92, 0.64, 1.04, -12.88, 3.00, -0.00, 0.03, 0.03, 0.17, -0.01, 0.02,
"Average"}
468 if (gClassTable->GetID(
"StDbManager") < 0) {
471 gSystem->Load(
"St_base");
472 gSystem->Load(
"StChain");
473 gSystem->Load(
"StUtilities");
478 gSystem->Load(
"libmysqlclient");
479 gSystem->Load(
"St_Tables.so");
480 gSystem->Load(
"StDbLib.so");
481 gSystem->Load(
"StDbBroker.so");
482 gSystem->Load(
"St_db_Maker.so");
484 dbMk =
new St_db_Maker(
"db",
"MySQL:StarDb",
"$STAR/StarDb",
"$PWD/StarDb");
494 void MakeSvtLadderOnSurvey(Int_t date = 20050101){
495 if (dbMk == 0) Load();
497 dbMk->SetDateTime(date,time);
498 TDataSet *set = dbMk->GetDataBase(
"Geometry/svt");
500 St_Survey *LadderOnSurveyOld = (St_Survey *) set->
Find(
"LadderOnSurvey");
501 if (! (LadderOnSurveyOld))
return;
502 Survey_st *LaddersOnSurveys = LadderOnSurveyOld->GetTable();
503 Int_t NoLadders = LadderOnSurveyOld->GetNRows();
504 St_Survey *LadderOnSurvey =
new St_Survey(
"LadderOnSurvey",NoLadders);
506 Double_t tr[3] = {0,0, 23.525};
508 T.SetTranslation(tr);
516 TGeoHMatrix TInv = T.Inverse();
517 for (Int_t s = 0; s < NoLadders; s++, LaddersOnSurveys++) {
518 TGeoHMatrix LSold, LS, dR, ddR, dddR;
520 LSold.SetRotation(&LaddersOnSurveys->r00);
521 LSold.SetTranslation(&LaddersOnSurveys->t0); cout <<
"===================== Ladder \t" << s+1 << endl; cout <<
"\tLSold\t"; LSold.Print();
523 for (Int_t k = 0; k < N; k++) {
524 if (LaddersOnSurveys->Id == 1000*Data[k].barrel + Data[k].ladder) {i = k;
break;}
527 cout <<
"Correction for " << LaddersOnSurveys->Id <<
" is not found" << endl;
529 cout <<
"Ladder " << LaddersOnSurveys->Id <<
"\ti " << i
530 <<
"\talpha " << Data[i].alpha <<
"\tbeta " << Data[i].beta <<
"\tgamma " << Data[i].gamma
531 <<
"\tu " << Data[i].u <<
"\tv " << Data[i].v <<
"\tw " << Data[i].w << endl;
532 if (Data[i].Dalpha > 0) dR.RotateX(-180./TMath::Pi()*Data[i].alpha*1e-3);
533 if (Data[i].Dbeta > 0) dR.RotateZ(-180./TMath::Pi()*Data[i].beta*1e-3);
534 if (Data[i].Dgamma > 0) dR.RotateY(-180./TMath::Pi()*Data[i].gamma*1e-3);
535 Double_t xyz[3] = {0, 0, 0};
536 if (Data[i].Du > 0) xyz[0] = 1e-4*Data[i].u;
537 if (Data[i].Dv > 0) xyz[1] = 1e-4*Data[i].v;
538 if (Data[i].Dw > 0) xyz[2] = 1e-4*Data[i].w;
542 dR.SetTranslation(xyz);
543 cout <<
"dR\t"; dR.Print();
546 ddR = T * dR * TInv; cout <<
"ddR\t" << ddR.Print();
547 dddR = F * T * dR * TInv * F; cout <<
"dddR\t" << dddR.Print();
549 LS = LSold * dddR; cout <<
"LS_new\t"; LS.Print();
550 Survey_st row = *LaddersOnSurveys;
551 Double_t *r = LS.GetRotationMatrix();
552 memcpy(&row.r00, r, 9*
sizeof(Double_t));
553 Double_t *t = LS.GetTranslation();
554 memcpy(&row.t0, t, 3*
sizeof(Double_t));
555 LadderOnSurvey->AddAt(&row);
558 TString fOut = Form(
"%s.%8i.%06i.C",LadderOnSurvey->GetName(),date,time);
560 cout <<
"Create " << fOut << endl;
561 out.open(fOut.Data());
562 out <<
"TDataSet *CreateTable() {" << endl;
563 out <<
"\tif (!gROOT->GetClass(\"St_Survey\")) return 0;" << endl;
564 out <<
"\tSurvey_st row[" << NoLadders <<
"] = {" << endl;
565 Survey_st *LaddersOnSurveys = LadderOnSurvey->GetTable();
566 for (Int_t i = 0; i < NoLadders; i++, LaddersOnSurveys++) {
567 out <<
"\t{" << Form(
"%1i",LaddersOnSurveys->Id);
568 Double_t *r = &(LaddersOnSurveys->r00);
569 for (Int_t j = 0; j < 9; j++) out << Form(
",%8.5f",r[j]);
570 for (Int_t j = 9; j < 12; j++) out << Form(
",%8.4f",r[j]);
571 for (Int_t j = 12; j < 18; j++) out << Form(
",%3.1f",r[j]);
572 out <<
",\"" << Pass << LaddersOnSurveys->comment <<
"\"}";
573 if (i != NoLadders - 1) out <<
",";
576 out <<
"\t};" << endl;
577 out <<
"\tSt_Survey *tableSet = new St_Survey(\"" << LadderOnSurvey->GetName() <<
"\"," << NoLadders <<
");" << endl;
578 out <<
"\tfor (Int_t i = 0; i < " << NoLadders <<
"; i++) tableSet->AddAt(&row[i].Id, i);" << endl;
579 out <<
"\treturn (TDataSet *)tableSet;" << endl;
580 out <<
"\t}" << endl;
virtual TDataSet * Find(const char *path) const