Belle II Software development
trggdlWriteLocalDBPrescale.cc
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#include <framework/database/DBImportObjPtr.h>
10#include <framework/database/DBObjPtr.h>
11#include <mdst/dbobjects/TRGGDLDBPrescales.h>
12
13using namespace Belle2;
14
15//prescale setting
16void setprescale()
17{
18
19 const int N_BITS_RESERVED = 200;
20 const int N_PSNM_ARRAY = 10;
21
22 const int run[N_PSNM_ARRAY][4] = { //itnitial exp, initial run, end exp, end run
23 {0, 0, 3, 107},
24 {3, 108, 3, 295},
25 {3, 296, 3, 1511},
26 {3, 1512, 3, 1810},
27 {3, 1811, 3, 1994},
28 {3, 1995, 3, 2000},
29 {3, 2001, 3, 2313},
30 {3, 2314, 3, 3503},
31 {3, 3504, 3, 5340},
32 {3, 5341, 10, 0}
33 };
34
35 const unsigned
36 psnmValues[N_PSNM_ARRAY][N_BITS_RESERVED] = {
37 // 0
38 // psn_0055 r59-
39 {
40 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
41 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
42 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
43 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
44 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
45 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
46 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
47 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
48 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
49 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
50 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
51 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
52 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
53 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
54 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
55 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
56 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
57 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
58 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
59 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
60 },
61
62 // 1
63 // psn_0056 r108-
64 {
65 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
66 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
67 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
68 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
69 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
70 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
71 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
72 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
74 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
75 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
76 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
77 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
78 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
79 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
80 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
81 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
82 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
83 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
84 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
85 },
86
87 // 2
88 // psn_0057 r296-
89 {
90 0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
91 1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
92 1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
93 0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
94 0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
95 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
96 1, 0, 20, 0, 0, 0, 0, 0, 0, 0,
97 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
98 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
99 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
110 },
111
112 // 3
113 // psn_0058 r1512-r1615 ecltiming=1
114 // Not used for good data
115 {
116 0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
117 1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
118 1500, 150, 0, 0, 1, 1, 0, 1, 0, 0,
119 0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
120 0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
121 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
122 1, 0, 20, 0, 0, 0, 0, 0, 0, 0,
123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
136 },
137
138 // 4
139 // psn_0057 r1811- ecltiming=0
140 {
141 0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
142 1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
143 1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
144 0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
145 0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
146 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
147 1, 0, 20, 0, 0, 0, 0, 0, 0, 0,
148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
151 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
161 },
162
163 // 5
164 // psn_0059 r1995- 5 Dark bits
165 {
166 0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
167 1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
168 1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
169 0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
170 0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
171 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
172 1, 0, 20, 0, 0, 0, 0, 1, 1, 1,
173 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
181 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
183 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
186 },
187
188 // 6
189 // psn_0059 r2001- 3 Dark bits
190 {
191 0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
192 1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
193 1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
194 0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
195 0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
196 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
197 1, 0, 20, 0, 0, 0, 0, 1, 1, 1,
198 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
211 },
212
213 // 7
214 // psn_0060 r2314- eclnimo03 30->300
215 {
216 0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
217 1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
218 1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
219 0, 0, 0, 300, 0, 0, 20000, 0, 0, 0,
220 0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
221 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
222 1, 0, 20, 0, 0, 0, 0, 1, 1, 1,
223 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
236 },
237
238 // 8
239 // psn_0063 e3504- bg(26)->1
240 {
241 0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
242 1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
243 1500, 150, 0, 0, 1, 1, 1, 0, 0, 0,
244 0, 0, 0, 300, 0, 0, 20000, 0, 0, 0,
245 0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
246 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
247 1, 0, 20, 0, 0, 0, 0, 1, 1, 1,
248 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
253 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
254 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
260 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
261 },
262
263 // 9
264 // psn_0064=65. e5341- eed,fed,fp,bha3d
265 // Can be earlier than 5341 but
266 // runsum files lost.
267 {
268 0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
269 1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
270 1500, 150, 0, 0, 1, 1, 1, 0, 0, 0,
271 0, 0, 0, 300, 0, 0, 20000, 0, 0, 0,
272 0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
273 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
274 1, 0, 20, 1, 1, 1, 1, 1, 1, 1,
275 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
283 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
288 }
289 };
290
291
293 prescales.construct();
294 for (int i = 0; i < N_PSNM_ARRAY; i++) {
295 IntervalOfValidity iov(run[i][0], run[i][1], run[i][2], run[i][3]);
296 for (int j = 0; j < N_BITS_RESERVED; j++) {
297 prescales->setprescales(j, psnmValues[i][j]);
298 }
299 prescales.import(iov);
300 }
301
302
303
304}
305
306
307
308int main()
309{
310
311 setprescale();
312
313}
314
315
Class for importing a single object to the database.
A class that describes the interval of experiments/runs for which an object in the database is valid.
Abstract base class for different kinds of events.