CMS 3D CMS Logo

ReadPGInfo.cc
Go to the documentation of this file.
2 
3 /*
4 static char mapping[][2][20] = {
5  {"351010100300001", "351010100300001"},
6  {"351010100300002", "351010100300002"},
7  {"351010100300003", "351010100400003"},
8  {"351010100300004", "351010100400004"},
9  {"351010100300005", "351010100300005"},
10  {"351010100300006", "351010100400006"},
11  {"351010100300024", "351010100300024"},
12  {"351010100300027", "351010100400027"},
13  {"351010100300039", "351010100300039"},
14  {"351010100300040", "351010100400040"},
15  {"351010100300041", "351010100400041"},
16  {"351010100300042", "351010100400042"},
17  {"351010100300043", "351010100400043"},
18  {"351010100300045", "351010100300045"},
19  {"351010100300054", "351010100400054"},
20  {"351010100300055", "351010100400055"},
21  {"351010100300056", "351010100300056"},
22  {"351010100300057", "351010100300057"},
23  {"351010100300058", "351010100300058"},
24  {"351010100300059", "351010100300059"},
25  {"351010100300060", "351010100400060"},
26  {"351010100300061", "351010100300061"},
27  {"351010100300062", "351010100300062"},
28  {"351010100300063", "351010100400063"},
29  {"351010100300064", "351010100400064"},
30  {"351010100300065", "351010100300065"},
31  {"351010100300066", "351010100400066"},
32  {"351010100300068", "351010100300068"},
33  {"351010100300073", "351010100300073"},
34  {"351010100300074", "351010100400074"},
35  {"351010100100007", "351010100100007"},
36  {"351010100100008", "351010100200008"},
37  {"351010100100009", "351010100100009"},
38  {"351010100100010", "351010100200010"},
39  {"351010100100011", "351010100100011"},
40  {"351010100100012", "351010100100012"},
41  {"351010100100013", "351010100200013"},
42  {"351010100100014", "351010100100014"},
43  {"351010100100015", "351010100200015"},
44  {"351010100100016", "351010100100016"},
45  {"351010100100017", "351010100100017"},
46  {"351010100100018", "351010100100018"},
47  {"351010100100019", "351010100200019"},
48  {"351010100100020", "351010100200020"},
49  {"351010100100021", "351010100100021"},
50  {"351010100100022", "351010100200022"},
51  {"351010100100023", "351010100100023"},
52  {"351010100100025", "351010100200025"},
53  {"351010100100028", "351010100200028"},
54  {"351010100100035", "351010100100035"},
55  {"351010100100037", "351010100200037"},
56  {"351010100100038", "351010100100038"},
57  {"351010100100044", "351010100200044"},
58  {"351010100100053", "351010100200053"},
59  {"351010100100067", "351010100100067"},
60  {"351010100100069", "351010100200069"},
61  {"351010100100070", "351010100200070"},
62  {"351010100100072", "351010100100072"},
63  {"351010101500051", "351010101300051"},
64  {"351010101500052", "351010101500052"},
65  {"351010103500029", "351010103500029"},
66  {"351010103500030", "351010103500030"},
67  {"351010103500031", "351010103600031"},
68  {"351010103500032", "351010103600032"},
69  {"351010103500033", "351010103600033"},
70  {"351010103500046", "351010103600046"},
71  {"351010103500047", "351010103500047"},
72  {"351010103500048", "351010103500048"},
73  {"351010103500049", "351010103600049"},
74  {"351010103500050", "351010103500050"},
75  {"351010103500075", "351010103600075"},
76  {"351030101700054", "351030101700054"},
77  {"351030101900053", "351030101900053"},
78  {"351030100700009", "351030100800009"},
79  {"351030100700010", "351030100700010"},
80  {"351030100700011", "351030100700011"},
81  {"351030100700013", "351030100700013"},
82  {"351030100700016", "351030100700016"},
83  {"351030100700028", "351030100700028"},
84  {"351030100700042", "351030100700042"},
85  {"351030100700043", "351030100700043"},
86  {"351030100700060", "351030100800060"},
87  {"351030100700065", "351030100700065"},
88  {"351030100700067", "351030100700067"},
89  {"351030100700068", "351030100700068"},
90  {"351030100700069", "351030100700069"},
91  {"351030100700072", "351030100800072"},
92  {"351030100700073", "351030100800073"},
93  {"351030100700074", "351030100800074"},
94  {"351030100800012", "351030100800012"},
95  {"351030100800014", "351030100700014"},
96  {"351030100800015", "351030100800015"},
97  {"351030100800027", "351030100800027"},
98  {"351030100800041", "351030100800041"},
99  {"351030100800044", "351030100800044"},
100  {"351030100800051", "351030100800051"},
101  {"351030100800059", "351030100800059"},
102  {"351030100800062", "351030100800062"},
103  {"351030100800066", "351030100800066"},
104  {"351030100800070", "351030100800070"},
105  {"351030100800071", "351030100800071"},
106  {"351030100500001", "351030100500001"},
107  {"351030100500002", "351030100500002"},
108  {"351030100500004", "351030100500004"},
109  {"351030100500005", "351030100500005"},
110  {"351030100500006", "351030100600006"},
111  {"351030100500007", "351030100500007"},
112  {"351030100500017", "351030100500017"},
113  {"351030100500019", "351030100500019"},
114  {"351030100500021", "351030100500021"},
115  {"351030100500023", "351030100500023"},
116  {"351030100500025", "351030100500025"},
117  {"351030100500039", "351030100500039"},
118  {"351030100500040", "351030100500040"},
119  {"351030100500063", "351030100600063"},
120  {"351030100500064", "351030100600064"},
121  {"351030100600003", "351030100600003"},
122  {"351030100600008", "351030100600008"},
123  {"351030100600018", "351030100600018"},
124  {"351030100600020", "351030100600020"},
125  {"351030100600022", "351030100600022"},
126  {"351030100600024", "351030100600024"},
127  {"351030100600026", "351030100600026"},
128  {"351030100600035", "351030100600035"},
129  {"351030100600036", "351030100600036"},
130  {"351030100600049", "351030100600049"},
131  {"351030103700033", "351030103700033"},
132  {"351030103800032", "351030103800032"},
133  {"351030103800034", "351030103800034"},
134  {"351030103800057", "351030103800057"},
135  {"351030103900058", "351030103700058"},
136  {"351030103700056", "351030103900056"},
137  {"351030103900031", "351030103900031"},
138  {"351030104000029", "351030104000029"},
139  {"351030104000030", "351030104000030"},
140  {"351030104000055", "351030104000055"},
141  {"35102010xx00008", "351020101000008"},
142  {"35102010xx00009", "351020101200009"},
143  {"35102010yy00001", "351020101200001"},
144  {"35102010yy00002", "351020100900002"},
145  {"35102010yy00003", "351020101200003"},
146  {"35102010yy00004", "351020101200004"},
147  {"35102010yy00005", "351020101100005"},
148  {"35102010yy00006", "351020101000006"},
149  {"35102010yy00007", "351020101100007"},
150  {"35102010yy00010", "351020100900010"},
151  {"35102010yy00011", "351020101100011"},
152  {"35102010yy00012", "351020101000012"},
153  {"35102010yy00013", "351020101100013"},
154  {"35102010yy00014", "351020100900014"},
155  {"35102010yy00015", "351020101200015"},
156  {"35102010yy00017", "351020101100017"},
157  {"35102010yy00018", "351020101000018"},
158  {"35102010yy00020", "351020101000020"},
159  {"35102010yy00021", "351020101200021"},
160  {"35102010yy00022", "351020100900022"},
161  {"35102010yy00023", "351020101200023"},
162  {"35102010yy00024", "351020100900024"},
163  {"35102010yy00025", "351020101100025"},
164  {"35102010yy00026", "351020101000026"},
165  {"35102010yy00027", "351020101100027"},
166  {"35102010yy00028", "351020100900028"},
167  {"35102010yy00029", "351020101200029"},
168  {"35102010yy00030", "351020100900030"},
169  {"35102010yy00031", "351020101100031"},
170  {"35102010yy00032", "351020101000032"},
171  {"35102010yy00033", "351020101200033"},
172  {"35102010yy00034", "351020100900034"},
173  {"35102010yy00035", "351020101100035"},
174  {"35102010yy00036", "351020101000036"},
175  {"35102010yy00037", "351020101200037"},
176  {"35102010yy00038", "351020100900038"},
177  {"35102010yy00039", "351020101200039"},
178  {"35102010yy00040", "351020100900040"},
179  {"35102010yy00041", "351020101100041"},
180  {"35102010yy00042", "351020101000042"},
181  {"35102010yy00043", "351020101200043"},
182  {"35102010yy00044", "351020101000044"},
183  {"35102010yy00045", "351020101100045"},
184  {"35102010yy00046", "351020100900046"},
185  {"35102010yy00047", "351020101100047"},
186  {"35102010yy00048", "351020100900048"},
187  {"35102010yy00049", "351020101200049"},
188  {"35102010yy00050", "351020101000050"},
189  {"35102010yy00051", "351020101100051"},
190  {"35102010yy00052", "351020100900052"},
191  {"35102010yy00053", "351020101200053"},
192  {"35102010yy00055", "351020101200055"},
193  {"35102010yy00056", "351020101000056"},
194  {"35102010yy00057", "351020101100057"},
195  {"35102010yy00058", "351020101000058"},
196  {"35102010yy00059", "351020101200059"},
197  {"35102010yy00060", "351020100900060"},
198  {"351040102500003", "351040102500003"},
199  {"351040102500006", "351040102500006"},
200  {"351040102500015", "351040102700015"},
201  {"351040102500016", "351040102500016"},
202  {"351040102500021", "351040102500021"},
203  {"351040102500023", "351040102500023"},
204  {"351040102500025", "351040102500025"},
205  {"351040102600004", "351040102600004"},
206  {"351040102600008", "351040102600008"},
207  {"351040102600010", "351040102600010"},
208  {"351040102600011", "351040102600011"},
209  {"351040102600014", "351040102600014"},
210  {"351040102600018", "351040102600018"},
211  {"351040102600019", "351040102600019"},
212  {"351040102600028", "351040102600028"},
213  {"351040102600030", "351040102600030"},
214  {"351040102700002", "351040102700002"},
215  {"351040102700005", "351040102700005"},
216  {"351040102700013", "351040102700013"},
217  {"351040102700020", "351040102700020"},
218  {"351040102700026", "351040102700026"},
219  {"351040102700027", "351040102700027"},
220  {"351040102700031", "351040102700031"},
221  {"351040102800001", "351040102800001"},
222  {"351040102800007", "351040102800007"},
223  {"351040102800009", "351040102800009"},
224  {"351040102800012", "351040102800012"},
225  {"351040102800017", "351040102800017"},
226  {"351040102800022", "351040102800022"},
227  {"351040102800024", "351040102800024"},
228  {"351040102800029", "351040102800029"},
229  {"351040103100004", "351040103100004"},
230  {"351040103100006", "351040103100006"},
231  {"351040103100009", "351040103000009"},
232  {"351040103100010", "351040103100010"},
233  {"351040103200001", "351040103200001"},
234  {"351040103200008", "351040103200008"},
235  {"351040103300003", "351040103300003"},
236  {"351040103300005", "351040103300005"},
237  {"351040103400002", "351040103400002"},
238  {"351040103400007", "351040103400007"},
239  {"351040104100001", "351040104100001"}};
240 
241 */
242 
243 static char chambers[TOTALCHAMBERS][20] = {
244  "351010100100009", "351010100100016", "351010100100014", "351010100100017", "351010100100011", "351010100100038",
245  "351010100100035", "351010100100023", "351010100100036", "351010100100072", "351010100200013", "351010100200015",
246  "351010100200020", "351010100200019", "351010100200010", "351010100200025", "351010100200037", "351010100200028",
247  "351010100200034", "351010100200022", "351010100200070", "351010100300002", "351010100300061", "351030100500025",
248  "351030100500019", "351030100500017", "351030100500021", "351030100500023", "351030100500038", "351030100500039",
249  "351030100500047", "351030100500040", "351030100500001", "351030100600020", "351030100600026", "351030100600006",
250  "351030100600024", "351030100600022", "351030100600018", "351030100600036", "351030100600035", "351030100600049",
251  "351030100600046", "351030100600048", "351030100700014", "351030100710065", "351030100800009", "351020100900010",
252  "351020100900014", "351020100900028", "351020100900030", "351020100900024", "351020100900022", "351020100900034",
253  "351020100900040", "351020100900046", "351020101000018", "351020101000016", "351020101000008", "351020101000006",
254  "351020101000012", "351020101000004", "351020101000032", "351020101000020", "351020101000026", "351020101000042",
255  "351020101200001", "351010101300051", "351030101700054", "351020102100002", "351040102500003", "351040102500006",
256  "351040102600004", "351040102600010", "351040102600030", "351040102700002", "351040102700005", "351040102700031",
257  "351040102800001", "351040102800007", "351020103000004", "351020103000003", "351020103000009", "351040103100004",
258  "351040103200001", "351040103300003", "351040103400002", "351010103600075", "351030103700033", "351030103800034",
259  "351030103900031", "351030104000030", "351020104200001", "351020104200002", "351010100100018", "351010100100012",
260  "351010100100007", "351010100100021", "351010100100067", "351010100200008", "351010100200053", "351010100200044",
261  "351010100200069", "351010100200071", "351010100300005", "351010100300001", "351010100300024", "351010100300039",
262  "351010100300045", "351010100300042", "351010100300056", "351010100300058", "351010100300059", "351010100300062",
263  "351010100300065", "351010100300068", "351010100300073", "351010100300057", "351010100400003", "351010100400004",
264  "351010100400006", "351010100400027", "351010100400026", "351010100400043", "351010100400041", "351010100400040",
265  "351010100400055", "351010100400064", "351010100400060", "351010100400063", "351010100400054", "351010100400066",
266  "351010100400074", "351030100500007", "351030100500005", "351030100500002", "351030100500004", "351030100500045",
267  "351030100600008", "351030100600037", "351030100600003", "351030100600064", "351030100600063", "351030100700016",
268  "351030100700028", "351030100700013", "351030100700010", "351030100700011", "351030100700042", "351030100700043",
269  "351030100700050", "351030100700052", "351030100700061", "351030100700067", "351030100700068", "351030100700069",
270  "351030100700065", "351030100800015", "351030100800027", "351030100800012", "351030100800041", "351030100800044",
271  "351030100800051", "351030100800059", "351030100800060", "351030100800062", "351030100800066", "351030100800072",
272  "351030100800073", "351030100800071", "351030100800074", "351030100800070", "351020100900002", "351020100900038",
273  "351020100900048", "351020100900052", "351020100900060", "351020101000044", "351020101000036", "351020101000050",
274  "351020101000056", "351020101000058", "351020101100005", "351020101100007", "351020101100011", "351020101100017",
275  "351020101100013", "351020101100025", "351020101100027", "351020101100031", "351020101100035", "351020101100041",
276  "351020101100045", "351020101100047", "351020101100051", "351020101100057", "351020101200009", "351020101200003",
277  "351020101200021", "351020101200015", "351020101200023", "351020101200019", "351020101200033", "351020101200029",
278  "351020101200037", "351020101200039", "351020101200049", "351020101200053", "351020101200055", "351020101200043",
279  "351020101200059", "351010101500052", "351030101900053", "351020102300001", "351040102500016", "351040102500023",
280  "351040102500021", "351040102500025", "351040102600008", "351040102600011", "351040102600014", "351040102600018",
281  "351040102600019", "351040102600028", "351040102700013", "351040102700015", "351040102700026", "351040102700020",
282  "351040102700027", "351040102800009", "351040102800012", "351040102800017", "351040102800024", "351040102800022",
283  "351040102800029", "351020102900002", "351020102900001", "351020102900005", "351020102900006", "351020103000008",
284  "351020103000007", "351040103100006", "351040103100010", "351040103200008", "351040103300005", "351040103300009",
285  "351040103400007", "351010103500030", "351010103500029", "351010103500048", "351010103500050", "351010103500047",
286  "351010103600031", "351010103600032", "351010103600033", "351010103600049", "351010103600046", "351030103700058",
287  "351030103800032", "351030103800057", "351030103900056", "351030104000029", "351030104000055", "351040104100001"};
288 
289 static int position[TOTALCHAMBERS][3] = {
290  {2, 3, 1}, {2, 5, 1}, {2, 9, 1}, {2, 11, 1}, {1, 2, 1}, {1, 6, 1}, {1, 12, 1}, {1, 10, 1}, {1, 8, 1},
291  {0, 0, 0}, {2, 6, 1}, {2, 10, 1}, {2, 12, 1}, {1, 5, 1}, {2, 8, 1}, {1, 11, 1}, {1, 3, 1}, {2, 2, 1},
292  {2, 4, 1}, {1, 9, 1}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {1, 8, 2}, {2, 5, 2}, {2, 11, 2}, {1, 12, 2},
293  {2, 9, 2}, {1, 6, 2}, {1, 2, 2}, {2, 3, 2}, {1, 10, 2}, {0, 0, 0}, {1, 9, 2}, {2, 12, 2}, {0, 0, 0},
294  {2, 10, 2}, {2, 8, 2}, {1, 11, 2}, {1, 5, 2}, {1, 3, 2}, {2, 6, 2}, {2, 2, 2}, {2, 4, 2}, {0, 0, 0},
295  {0, 0, 0}, {0, 0, 0}, {1, 10, 3}, {2, 5, 3}, {1, 6, 3}, {2, 3, 3}, {2, 11, 3}, {1, 2, 3}, {2, 9, 3},
296  {1, 8, 3}, {1, 12, 3}, {2, 2, 3}, {2, 12, 3}, {2, 8, 3}, {1, 5, 3}, {2, 10, 3}, {2, 6, 3}, {2, 4, 3},
297  {1, 11, 3}, {1, 9, 3}, {1, 3, 3}, {0, 0, 0}, {1, 4, 1}, {1, 4, 2}, {1, 4, 3}, {2, 5, 4}, {1, 6, 4},
298  {2, 6, 4}, {1, 5, 4}, {0, 0, 0}, {2, 3, 4}, {1, 2, 4}, {0, 0, 0}, {2, 2, 4}, {1, 3, 4}, {2, 4, 4},
299  {2, 13, 4}, {0, 0, 0}, {1, 8, 4}, {2, 8, 4}, {1, 12, 4}, {2, 12, 4}, {0, 0, 0}, {1, 10, 4}, {2, 10, 4},
300  {1, 14, 4}, {2, 14, 4}, {1, 13, 4}, {1, 4, 4}, {2, 7, 1}, {0, 11, 1}, {2, 1, 1}, {0, 3, 1}, {0, 7, 1},
301  {0, 2, 1}, {0, 10, 1}, {0, 6, 1}, {1, 1, 1}, {1, 7, 1}, {0, 4, 1}, {-2, 8, 1}, {0, 8, 1}, {0, 12, 1},
302  {-1, 11, 1}, {-2, 10, 1}, {-1, 9, 1}, {-2, 2, 1}, {-1, 5, 1}, {-2, 4, 1}, {-2, 6, 1}, {-1, 1, 1}, {-1, 7, 1},
303  {-2, 12, 1}, {-1, 6, 1}, {-1, 4, 1}, {-1, 2, 1}, {-1, 8, 1}, {-2, 9, 1}, {-1, 10, 1}, {-2, 11, 1}, {-1, 12, 1},
304  {0, 9, 1}, {0, 5, 1}, {-2, 7, 1}, {-2, 5, 1}, {-2, 3, 1}, {0, 1, 1}, {-2, 1, 1}, {0, 3, 2}, {0, 7, 2},
305  {2, 7, 2}, {2, 1, 2}, {0, 11, 2}, {0, 2, 2}, {0, 10, 2}, {0, 6, 2}, {1, 7, 2}, {1, 1, 2}, {0, 4, 2},
306  {-1, 11, 2}, {-2, 10, 2}, {-1, 5, 2}, {-2, 8, 2}, {0, 8, 2}, {0, 12, 2}, {-1, 9, 2}, {-2, 12, 2}, {-2, 2, 2},
307  {-2, 6, 2}, {-1, 1, 2}, {-1, 7, 2}, {-2, 4, 2}, {-1, 10, 2}, {-2, 11, 2}, {-1, 2, 2}, {0, 5, 2}, {0, 9, 2},
308  {-1, 8, 2}, {-1, 4, 2}, {-1, 12, 2}, {-1, 6, 2}, {-2, 5, 2}, {-2, 1, 2}, {-2, 7, 2}, {-2, 3, 2}, {0, 1, 2},
309  {-2, 9, 2}, {2, 1, 3}, {0, 3, 3}, {0, 11, 3}, {2, 7, 3}, {0, 7, 3}, {0, 10, 3}, {0, 2, 3}, {0, 6, 3},
310  {1, 1, 3}, {1, 7, 3}, {-1, 5, 3}, {-2, 8, 3}, {-1, 9, 3}, {0, 4, 3}, {-1, 1, 3}, {0, 8, 3}, {-2, 10, 3},
311  {-1, 11, 3}, {0, 12, 3}, {-2, 12, 3}, {-2, 2, 3}, {-2, 4, 3}, {-2, 6, 3}, {-1, 7, 3}, {-1, 8, 3}, {-1, 4, 3},
312  {-1, 2, 3}, {-1, 6, 3}, {0, 5, 3}, {-1, 12, 3}, {-1, 10, 3}, {-2, 11, 3}, {0, 9, 3}, {-2, 9, 3}, {-2, 5, 3},
313  {0, 1, 3}, {-2, 1, 3}, {-2, 3, 3}, {-2, 7, 3}, {-1, 3, 1}, {-1, 3, 2}, {-1, 3, 3}, {2, 7, 4}, {-2, 2, 4},
314  {0, 7, 4}, {-1, 1, 4}, {-2, 3, 4}, {0, 6, 4}, {-1, 2, 4}, {1, 7, 4}, {0, 1, 4}, {-2, 1, 4}, {0, 3, 4},
315  {2, 1, 4}, {-2, 6, 4}, {-1, 5, 4}, {-1, 7, 4}, {0, 2, 4}, {0, 5, 4}, {1, 1, 4}, {-2, 5, 4}, {-1, 6, 4},
316  {-2, 7, 4}, {0, 13, 4}, {0, 4, 4}, {-2, 13, 4}, {-2, 4, 4}, {-1, 13, 4}, {-1, 4, 4}, {0, 12, 4}, {-2, 12, 4},
317  {-1, 12, 4}, {0, 8, 4}, {-2, 8, 4}, {-1, 8, 4}, {2, 11, 4}, {2, 9, 4}, {-1, 11, 4}, {0, 11, 4}, {-1, 9, 4},
318  {-2, 9, 4}, {1, 9, 4}, {1, 11, 4}, {-2, 11, 4}, {0, 9, 4}, {-2, 14, 4}, {0, 10, 4}, {-1, 14, 4}, {-2, 10, 4},
319  {0, 14, 4}, {-1, 10, 4}, {-1, 3, 4}};
320 
322  TDirectory *dirSave = gDirectory;
323  rootFile = new TFile(name);
324  dirSave->cd();
325 }
326 
328 
329 char *ReadPGInfo::getId(int wheel, int station, int sector) {
330  for (int counter = 0; counter < TOTALCHAMBERS; ++counter) {
331  if (wheel == position[counter][0] && sector == position[counter][1] && station == position[counter][2])
332  return chambers[counter];
333  }
334  return nullptr;
335 }
336 
337 TMatrixD ReadPGInfo::giveR(int wheel, int station, int sector) {
338  TMatrixD *empty = new TMatrixD(0, 0);
339  char *id = getId(wheel, station, sector);
340  if (id == nullptr)
341  return *empty;
342  TDirectoryFile *myDir = (TDirectoryFile *)rootFile->Get(id);
343  TDirectoryFile *myR = (TDirectoryFile *)myDir->Get("R");
344  TMatrixD *R = (TMatrixD *)myR->Get("matrix");
345  return *R;
346 }
347 
348 TMatrixD ReadPGInfo::giveQCCal(int wheel, int station, int sector) {
349  TMatrixD *mat = new TMatrixD(0, 0);
350  TMatrixD qc = giveQC(wheel, station, sector);
351  if (qc.GetNrows() == 0)
352  return *mat;
353  mat->ResizeTo(12, 2);
354  int maxCount = 12;
355  if (station == 4)
356  maxCount = 8;
357  for (int c = 0; c < maxCount; ++c) {
358  float error;
359  if (qc(c, 1) == 0 || qc(c, 3) == 0) {
360  (*mat)(c, 0) = (qc(c, 0) + qc(c, 2)) / 2.0;
361  (*mat)(c, 1) = 500;
362  } else {
363  error = 1.0 / (1.0 / (qc(c, 1) * qc(c, 1)) + 1.0 / (qc(c, 3) * qc(c, 3)));
364  (*mat)(c, 0) = (qc(c, 0) / (qc(c, 1) * qc(c, 1)) + qc(c, 2) / (qc(c, 3) * qc(c, 3))) * error;
365  (*mat)(c, 1) = TMath::Sqrt(error);
366  }
367  }
368  return *mat;
369 }
370 
371 TMatrixD ReadPGInfo::giveQC(int wheel, int station, int sector) {
372  TMatrixD *empty = new TMatrixD(0, 0);
373  char *id = getId(wheel, station, sector);
374  if (id == nullptr)
375  return *empty;
376  TDirectoryFile *myDir = (TDirectoryFile *)rootFile->Get(id);
377  TDirectoryFile *myQC = (TDirectoryFile *)myDir->Get("QCW");
378  TMatrixD *QC;
379  if (myQC == nullptr) {
380  QC = new TMatrixD(0, 0);
381  } else {
382  QC = (TMatrixD *)myQC->Get("matrix");
383  }
384  return *QC;
385 }
386 
387 TMatrixD ReadPGInfo::giveSurvey(int wheel, int station, int sector) {
388  TMatrixD *empty = new TMatrixD(0, 0);
389  char *id = getId(wheel, station, sector);
390  if (id == nullptr)
391  return *empty;
392  TDirectoryFile *myDir = (TDirectoryFile *)rootFile->Get(id);
393  TDirectoryFile *mySur = (TDirectoryFile *)myDir->Get("Survey");
394  TMatrixD *Survey = (TMatrixD *)mySur->Get("matrix_layer");
395  return *Survey;
396 }
#define TOTALCHAMBERS
Definition: ReadPGInfo.h:14
TMatrixD giveQCCal(int, int, int)
Definition: ReadPGInfo.cc:348
TFile * rootFile
Definition: ReadPGInfo.h:27
char * getId(int, int, int)
Definition: ReadPGInfo.cc:329
TMatrixD giveQC(int, int, int)
Definition: ReadPGInfo.cc:371
ReadPGInfo(const char *name)
Definition: ReadPGInfo.cc:321
TMatrixD giveSurvey(int, int, int)
Definition: ReadPGInfo.cc:387
static std::atomic< unsigned int > counter
static int position[264][3]
Definition: ReadPGInfo.cc:289
static char chambers[264][20]
Definition: ReadPGInfo.cc:243
TMatrixD giveR(int, int, int)
Definition: ReadPGInfo.cc:337