Belle II Software  release-05-01-25
trggdlWriteLocalDBPrescale.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Christopher Hearty hearty@physics.ubc.ca *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #include <framework/database/DBImportObjPtr.h>
12 #include <framework/database/DBObjPtr.h>
13 #include <mdst/dbobjects/TRGGDLDBPrescales.h>
14 
15 using namespace Belle2;
16 
17 //prescale setting
18 void setprescale()
19 {
20 
21  const int N_BITS_RESERVED = 200;
22  const int N_PSNM_ARRAY = 10;
23 
24  const int run[N_PSNM_ARRAY][4] = { //itnitial exp, initial run, end exp, end run
25  0, 0, 3, 107,
26  3, 108, 3, 295,
27  3, 296, 3, 1511,
28  3, 1512, 3, 1810,
29  3, 1811, 3, 1994,
30  3, 1995, 3, 2000,
31  3, 2001, 3, 2313,
32  3, 2314, 3, 3503,
33  3, 3504, 3, 5340,
34  3, 5341, 10, 0
35  };
36 
37  const unsigned
38  psnmValues[N_PSNM_ARRAY][N_BITS_RESERVED] = {
39  // 0
40  // psn_0055 r59-
41  {
42  0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
43  0, 0, 0, 0, 0, 0, 0, 1, 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  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
61  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
62  },
63 
64  // 1
65  // psn_0056 r108-
66  {
67  0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
68  1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
69  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
70  0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
71  0, 1, 0, 1, 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  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
86  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
87  },
88 
89  // 2
90  // psn_0057 r296-
91  {
92  0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
93  1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
94  1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
95  0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
96  0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
97  0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
98  1, 0, 20, 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  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
111  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
112  },
113 
114  // 3
115  // psn_0058 r1512-r1615 ecltiming=1
116  // Not used for good data
117  {
118  0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
119  1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
120  1500, 150, 0, 0, 1, 1, 0, 1, 0, 0,
121  0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
122  0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
123  0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
124  1, 0, 20, 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  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
137  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
138  },
139 
140  // 4
141  // psn_0057 r1811- ecltiming=0
142  {
143  0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
144  1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
145  1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
146  0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
147  0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
148  0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
149  1, 0, 20, 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  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
162  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
163  },
164 
165  // 5
166  // psn_0059 r1995- 5 Dark bits
167  {
168  0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
169  1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
170  1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
171  0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
172  0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
173  0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
174  1, 0, 20, 0, 0, 0, 0, 1, 1, 1,
175  1, 1, 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  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
187  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
188  },
189 
190  // 6
191  // psn_0059 r2001- 3 Dark bits
192  {
193  0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
194  1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
195  1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
196  0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
197  0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
198  0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
199  1, 0, 20, 0, 0, 0, 0, 1, 1, 1,
200  1, 1, 1, 1, 1, 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  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
212  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
213  },
214 
215  // 7
216  // psn_0060 r2314- eclnimo03 30->300
217  {
218  0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
219  1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
220  1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
221  0, 0, 0, 300, 0, 0, 20000, 0, 0, 0,
222  0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
223  0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
224  1, 0, 20, 0, 0, 0, 0, 1, 1, 1,
225  1, 1, 1, 1, 1, 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  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
237  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
238  },
239 
240  // 8
241  // psn_0063 e3504- bg(26)->1
242  {
243  0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
244  1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
245  1500, 150, 0, 0, 1, 1, 1, 0, 0, 0,
246  0, 0, 0, 300, 0, 0, 20000, 0, 0, 0,
247  0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
248  0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
249  1, 0, 20, 0, 0, 0, 0, 1, 1, 1,
250  1, 1, 1, 1, 1, 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  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
262  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
263  },
264 
265  // 9
266  // psn_0064=65. e5341- eed,fed,fp,bha3d
267  // Can be earlier than 5341 but
268  // runsum files lost.
269  {
270  0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
271  1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
272  1500, 150, 0, 0, 1, 1, 1, 0, 0, 0,
273  0, 0, 0, 300, 0, 0, 20000, 0, 0, 0,
274  0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
275  0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
276  1, 0, 20, 1, 1, 1, 1, 1, 1, 1,
277  1, 1, 1, 1, 1, 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  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
289  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
290  }
291  };
292 
293 
295  prescales.construct();
296  for (int i = 0; i < N_PSNM_ARRAY; i++) {
297  IntervalOfValidity iov(run[i][0], run[i][1], run[i][2], run[i][3]);
298  for (int j = 0; j < N_BITS_RESERVED; j++) {
299  prescales->setprescales(j, psnmValues[i][j]);
300  }
301  prescales.import(iov);
302  }
303 
304 
305 
306 }
307 
308 
309 
310 int main()
311 {
312 
313  setprescale();
314 
315 }
316 
317 
Belle2::IntervalOfValidity
A class that describes the interval of experiments/runs for which an object in the database is valid.
Definition: IntervalOfValidity.h:35
Belle2::DBImportObjPtr::construct
void construct(Args &&... params)
Construct an object of type T in this DBImportObjPtr using the provided constructor arguments.
Definition: DBImportObjPtr.h:57
Belle2::DBImportBase::import
bool import(const IntervalOfValidity &iov)
Import the object to database.
Definition: DBImportBase.cc:38
main
int main(int argc, char **argv)
Run all tests.
Definition: test_main.cc:77
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::DBImportObjPtr
Class for importing a single object to the database.
Definition: DBImportObjPtr.h:33
Belle2::TRGGDLDBPrescales::setprescales
void setprescales(int i, int j)
set prescale of i-th output trigger bit
Definition: TRGGDLDBPrescales.h:58