/[PAMELA software]/DarthVader/CalorimeterLevel2/doc/caloLEVEL2.README
ViewVC logotype

Contents of /DarthVader/CalorimeterLevel2/doc/caloLEVEL2.README

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Fri May 19 13:15:48 2006 UTC (18 years, 6 months ago) by mocchiut
Branch point for: DarthVader, MAIN
Initial revision

1 
2 The Calorimeter LEVEL2 package v. 3.07 README
3 Emiliano Mocchiutti
4 21st July 2005
5
6
7 This is the ROOT function written to calibrate and process the calorimeter data creating a final level output that can be used in the data analysis. The output format (ROOT or PAW) can be chosen at running time tuning an input variable. The program connects to the Trieste MySQL server which stores the calibration tables for the calorimeter. Before using this program user must process data with the tracker ground software version 1.00. The program is able to handle both tracker ntuples and rootples, checking first for rootples and then for ntuples.
8
9 WARNING1: The alignment between calorimeter and tracker is still temporary even if a good approximation is used.
10
11 WARNING2: Calorimeter self-trigger events are not processed with this software version.
12
13 ==============================================================================
14 INDEX
15
16 1) INSTALLATION
17 2) USER GUIDE
18 3) OUTPUT FORMAT
19 4) BRIEF DESCRIPTION OF VARIABLES
20 5) KNOWN BUGS
21
22 ==============================================================================
23 1) INSTALLATION
24 ==============================================================================
25
26 The software has been rearranged to satisfy the PAMELA repository requirements.
27
28 This CaloLEVEL2.c program requires:
29
30 - the correct set up of the PAMELA environment;
31
32 - calorimeter COMMON package;
33
34 - root2paw package;
35
36 - tracker ground software v. 1.00;
37
38 - a working ROOT version;
39
40 - a working YODA version;
41
42 - the MySQL client package installed;
43
44
45 To compile the libraries you will also need:
46
47 - YODA source;
48
49 - GCC with Fortran support;
50
51 - CERN libraries.
52
53 - MySQL development package installed (check you have also installed the mysql_config program).
54
55 This software has been successfully compiled and tested with the following programs:
56
57 - ROOT 4.03/02 9 February 2005
58
59 - YODA 4_400
60
61 - CERN 2002
62
63 - CERN 2003
64
65 - CERN 2004
66
67 - gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-49)
68
69 - gcc (GCC) 3.4.1 (Mandrakelinux 10.1 3.4.1-4mdk)
70
71 - mysql Ver 11.18 Distrib 3.23.58, for redhat-linux-gnu (i686)
72
73 Installation steps:
74
75 a) download the CaloLEVEL2 software (plus the calorimeter common package software if not already installed). You can find the software on the afs repository:
76
77 /afs/ba.infn.it/user/pamela
78
79 or you can download it from the WEB, in this case go to:
80
81 http://pcba28.ba.infn.it/cgi-bin/cvsweb.cgi
82
83 from the menu “CVS Root” choose “PAMELA repository”, click on “calo/LEVEL2” and click on “Download this directory in tarball or zip archive” depending on your preferences.
84
85 b) once you have downloaded your package unpack it somewhere.
86
87 c) enter the “LEVEL2” directory, you will find these file and directories:
88
89 doc/ macros/ inc/ src/ bin/ lib/ Makefile calib/ data/
90
91 d) check you have installed the calorimeter common package and the root2paw package (the latest one is needed to retrieve the tracker level2 informations).
92
93 e) make sure you have set up your PAMELA environmental variables and directories (if you have installed the calocommon package you should already have done this). To do so, choose a path where you want to install the PAMELA software (let's say /mydirectory/pamela/ ) and create the following directories: bin , lib , src , inc , macros , docs , calib .
94 Then edit your login configuration file (people using bash shell will edit $HOME/.bashrc , people using tcsh will edit $HOME/.tcshrc and so on), and add the following environmental variables:
95
96 export PAM_BIN=/mydirectory/pamela/bin
97 export PAM_LIB=/mydirectory/pamela/lib
98 export PAM_SRC=/mydirectory/pamela/src
99 export PAM_INC=/mydirectory/pamela/inc
100 export PAM_MACROS=/mydirectory/pamela/macros
101 export PAM_DOC=/mydirectory/pamela/docs
102 export PAM_CALIB=/mydirectory/pamela/calib
103 export PAM_YODASRC=/mydirectory/pamela/yoda/yodaX_YYY/
104 export PAM_YODALIB=/mydirectory/pamela/yoda/lib/
105
106 The last two variables determine where is the source of YODA and the path to the installed YODA libraries.
107 I also suggest to add the PAMELA bin directory to your default bin path but this is not essential:
108
109 export PATH=$PATH:$PAM_BIN
110
111 People using tcsh will use “setenv” instead of “export” and will put a space at the place of the sign “equal”. This set up has to be done only once for all the packages.
112
113 f) cd to the LEVEL2 directory and give:
114
115 make all install
116
117 the program will check the system and create the needed libraries for the CaloLEVEL2 program; then it will install the CaloLEVEL2 libraries and macros in the paths you have given.
118 If you are upgrading an older version, use “make all forceinstall” to force the installation of latest programs or “make all upgrade” to force the installation and to delete the old libraries.
119
120 ==============================================================================
121 2) USER GUIDE
122 ==============================================================================
123
124 The macro CaloLEVEL2.c has been compiled to improve the processing velocity. To load the compiled macro follow this step: start the ROOT session...
125
126 bash> root
127
128 ...load the macro...
129
130 root[0] .x CaloLEVEL2.C
131
132 Notice that this step is different respect to the past. You must use “.x” instead of “.L” and the program name now is “CaloLEVEL2.C” whit “.C” (upper C) instead of “.c”. You can still run the program loading and interpreting the macro the same way it was done with the old software but this way the processing will be about 30 times slower.
133
134 To run the program once the compiled macro is loaded you can just give:
135
136 root [1] CaloLEVEL2("/mypath/to/filesfromyoda/dw_050518_00100/");
137
138 Calling CaloLEVEL2 this way we are assuming that:
139 1) we have already processed the tracker data with tracker software version 1.00 and we have put the tracker level2 output in the YODA structure or we have processed the tracker level2 ntuple with GroundDataConver (root2paw package) and we have produced a rootple stored in the YODA structure;
140 2) we want to store the output in the YODA structure;
141 3) the calorimeter level2 output does not exist;
142 4) we want as output a rootple.
143 For further informations read below.
144
145 The output will be like this:
146
147 Filename will be:
148 /mypath/to/filesfromyoda/dw_050518_00100/dw_050518_00100.Physics.Level2.Calorimeter.Event.root
149
150 Not in FORCE mode, check the existence of LEVEL2 data:
151
152 Error in <TFile::TFile>: file
153 /mypath/to/filesfromyoda/dw_050518_00100/dw_050518_00100.Physics.Level2.Calorimeter.Event.root does not exists.
154
155 OK, I will create it!
156
157 Using calorimeter calibration file:
158 /mydirectory/pamela/calib/CaloADC2MIP.root
159
160 Try the connection to the MySQL database in Trieste...
161 ...OK, the connection is fine!
162
163 Using database "romemuons", table "calocalib_dw_050518_001"
164
165 TRACKER: loading the magnetic field maps...
166
167
168 Opening first map : -/mydirectory/pamela/calib/bfield_n3.rz-
169
170
171 Opening second map : -/mydirectory/pamela/calib/bfield_n4.rz-
172
173
174 ...done!
175
176 Check the existence of tracker data...
177 ...found tracker level2 ROOTPLE:
178 /mypath/to/filesfromyoda/dw_050518_00100//Physics/Level2/dw_050518_00900.Physics.Level2.Tracker.Event.root
179
180 Processed events:
181
182 ** SECTION 0 **
183 - event at time 154802. From time 114823 to time 356400
184 use calibration at time 114823, file
185 /mypath/to/filesfromyoda/dw_050518_00100/
186
187 ** SECTION 1 **
188 - event at time 154802. From time 114876 to time 356400
189 use calibration at time 114876, file
190 /mypath/to/filesfromyoda/dw_050518_00100/
191
192 ** SECTION 2 **
193 - event at time 154802. From time 114929 to time 356400
194 use calibration at time 114929, file
195 /mypath/to/filesfromyoda/dw_050518_00100/
196
197 ** SECTION 3 **
198 - event at time 154802. From time 114989 to time 356400
199 use calibration at time 114989, file
200 /mypath/to/filesfromyoda/dw_050518_00100/
201
202
203 Finished, exiting...
204
205 This is the standard way to call CaloLEVEL2. Read carefully the output to check for any WARNING. With the standard call any ERROR will stop the program. By default the program will create a rootple called (as in the example)
206 dw_050518_00100.Physics.Level2.Calorimeter.Event.root
207 in the directory
208 "/mypath/to/filesfromyoda/dw_050518_00100/Physics/Level2/".
209 By default the program will try to connect to the MySQL database server in Trieste (username and password can be found in the COMMON/src/readmy.c file, package COMMON). If any problem is found in connecting the program will stop running.
210
211 WARNING: the program will query the database only to know the calibration it has to use in processing files and will not retrieve any calibration data from the database. This means that you must provide the unpacked files with calibration data. The program will look by default for unpacked data in the same directory of the input file and with the same YODA level of the input file. For example if I want to process on gundam in Rome the file “/mypath/to/filesfromyoda/DW_050323_00103” and according to the Trieste database the calorimeter calibrations for that file can be found in the file “DW_050322_009” then I must have both these files unpacked in Rome with the same level. Hence the YODA directory for the calibration file must be “/mypath/to/filesfromyoda/DW_050322_00903/” (ending in “03”!). The Trieste database has been built with the files listed in the “List of PAMELA acquisition taken in night shifts in Tor Vergata Clean room” database, so if you have unpacked all that files you should have no problems. The program will give an error if it will not be able to find the correct calibration file.
212
213 To check the connection to MySQL database and the calibration files needed you can use the script “CaloMySQLFINDCALIBS” that can be found in the macro CaloFINDCALIBS.c (version greater or equal than 2.01).
214
215 The number of queries to the database depends on the number of calibrations needed to process the file and not on the number of events of the file. There will be four queries for any calibration needed, independently on the number of events.
216
217 The possible input options are the following:
218
219 short int CaloLEVEL2(TString filename, Tstring TrackerDir=””, TString outDir ="", TString Framework = "root", Int_t FORCE = 0)
220
221
222 - filename : is the path to the YODA unpacked data directory;
223
224 - TrackerDir: the path to the directory which contains tracker level2
225 data (ntuples or rootples). NOTICE: the program will
226 search for ntuples which name is of the form
227 “DW_YYMMDD_NNN_level2.rz”
228 and for rootples which name is of the form
229 “DW_YYMMDD_NNNnn.Physics.Level2.Tracker.Event.root”
230 If TrackerDir is left empty (default) the program will
231 search for ntuples or rootples in the YODA structure,
232 that is in the directory:
233 /mypath/to/filesfromyoda/DW_ YYMMDD_NNNnn/Physics/Level2/
234
235 - outDir : is the output directory, the directory where you want
236 to store the calorimeter level2 data. If not given
237 the program will create DW_000000_00000/Physics/Level2
238 as output directory. The filename will always be of the
239 form
240
241 DW_000000_00000.Physics.Level2.Calorimeter.Event.{root/rz}
242
243
244 - Framework : this flag allows the user to choose as output a rootple
245 ("root", default value) or a ntuple ("paw");
246
247 - FORCE : when set to 0 the program will check if the output file
248 exists. If so it will give a warning and it will exit
249 without overriding the existing file. Set this flag to 1
250 to force the processing of data; in this case the old
251 file will be lost. In FORCE mode the program will try to
252 recover any error and to go on processing the file. Check
253 carefully the output for any error!
254
255 ==============================================================================
256 3) OUTPUT FORMAT
257 ==============================================================================
258
259 The generated rootple has the following format:
260
261 ******************************************************************************
262 *Tree :CaloLevel2: PAMELA Level2 calorimeter data *
263 *Entries : 140 : Total = 156014 bytes File Size = 26722 *
264 * : : Tree compression factor = 1.00 *
265 ******************************************************************************
266 *Br 0 :OBT : OBT/I *
267 *Entries : 140 : Total Size= 1186 bytes One basket in memory *
268 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
269 *............................................................................*
270 *Br 1 :pkt_num : pkt_num/I *
271 *Entries : 140 : Total Size= 1210 bytes One basket in memory *
272 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
273 *............................................................................*
274 *Br 2 :pro_num : pro_num/I *
275 *Entries : 140 : Total Size= 1210 bytes One basket in memory *
276 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
277 *............................................................................*
278 *Br 3 :trigty : trigty/F *
279 *Entries : 140 : Total Size= 1204 bytes One basket in memory *
280 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
281 *............................................................................*
282 *Br 4 :good : good/I *
283 *Entries : 140 : Total Size= 1192 bytes One basket in memory *
284 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
285 *............................................................................*
286 *Br 5 :perr : perr[4]/I *
287 *Entries : 140 : Total Size= 2878 bytes One basket in memory *
288 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
289 *............................................................................*
290 *Br 6 :swerr : swerr[4]/I *
291 *Entries : 140 : Total Size= 2884 bytes One basket in memory *
292 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
293 *............................................................................*
294 *Br 7 :crc : crc[4]/I *
295 *Entries : 140 : Total Size= 2872 bytes One basket in memory *
296 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
297 *............................................................................*
298 *Br 8 :nstrip : nstrip/F *
299 *Entries : 140 : Total Size= 1204 bytes One basket in memory *
300 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
301 *............................................................................*
302 *Br 9 :qtot : qtot/F *
303 *Entries : 140 : Total Size= 1192 bytes One basket in memory *
304 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
305 *............................................................................*
306 *Br 10 :ncore : ncore/F *
307 *Entries : 140 : Total Size= 1198 bytes One basket in memory *
308 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
309 *............................................................................*
310 *Br 11 :qcore : qcore/F *
311 *Entries : 140 : Total Size= 1198 bytes One basket in memory *
312 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
313 *............................................................................*
314 *Br 12 :impx : impx/F *
315 *Entries : 140 : Total Size= 1192 bytes One basket in memory *
316 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
317 *............................................................................*
318 *Br 13 :impy : impy/F *
319 *Entries : 140 : Total Size= 1192 bytes One basket in memory *
320 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
321 *............................................................................*
322 *Br 14 :tanx : tanx/F *
323 *Entries : 140 : Total Size= 1192 bytes One basket in memory *
324 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
325 *............................................................................*
326 *Br 15 :tany : tany/F *
327 *Entries : 140 : Total Size= 1192 bytes One basket in memory *
328 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
329 *............................................................................*
330 *Br 16 :nint : nint/F *
331 *Entries : 140 : Total Size= 1192 bytes One basket in memory *
332 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
333 *............................................................................*
334 *Br 17 :ncyl : ncyl/F *
335 *Entries : 140 : Total Size= 1192 bytes One basket in memory *
336 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
337 *............................................................................*
338 *Br 18 :qcyl : qcyl/F *
339 *Entries : 140 : Total Size= 1192 bytes One basket in memory *
340 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
341 *............................................................................*
342 *Br 19 :qtrack : qtrack/F *
343 *Entries : 140 : Total Size= 1204 bytes One basket in memory *
344 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
345 *............................................................................*
346 *Br 20 :qmax : qmax/F *
347 *Entries : 140 : Total Size= 1192 bytes One basket in memory *
348 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
349 *............................................................................*
350 *Br 21 :nx22 : nx22/F *
351 *Entries : 140 : Total Size= 1192 bytes One basket in memory *
352 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
353 *............................................................................*
354 *Br 22 :qx22 : qx22/F *
355 *Entries : 140 : Total Size= 1192 bytes One basket in memory *
356 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
357 *............................................................................*
358 *Br 23 :qq : qq[4]/F *
359 *Entries : 140 : Total Size= 2866 bytes One basket in memory *
360 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
361 *............................................................................*
362 *Br 24 :qtrackx : qtrackx/F *
363 *Entries : 140 : Total Size= 1210 bytes One basket in memory *
364 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
365 *............................................................................*
366 *Br 25 :qtracky : qtracky/F *
367 *Entries : 140 : Total Size= 1210 bytes One basket in memory *
368 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
369 *............................................................................*
370 *Br 26 :dxtrack : dxtrack/F *
371 *Entries : 140 : Total Size= 1210 bytes One basket in memory *
372 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
373 *............................................................................*
374 *Br 27 :dytrack : dytrack/F *
375 *Entries : 140 : Total Size= 1210 bytes One basket in memory *
376 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
377 *............................................................................*
378 *Br 28 :qlast : qlast/F *
379 *Entries : 140 : Total Size= 1198 bytes One basket in memory *
380 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
381 *............................................................................*
382 *Br 29 :nlast : nlast/F *
383 *Entries : 140 : Total Size= 1198 bytes One basket in memory *
384 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
385 *............................................................................*
386 *Br 30 :qpre : qpre/F *
387 *Entries : 140 : Total Size= 1192 bytes One basket in memory *
388 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
389 *............................................................................*
390 *Br 31 :npre : npre/F *
391 *Entries : 140 : Total Size= 1192 bytes One basket in memory *
392 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
393 *............................................................................*
394 *Br 32 :qpresh : qpresh/F *
395 *Entries : 140 : Total Size= 1204 bytes One basket in memory *
396 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
397 *............................................................................*
398 *Br 33 :npresh : npresh/F *
399 *Entries : 140 : Total Size= 1204 bytes One basket in memory *
400 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
401 *............................................................................*
402 *Br 34 :qlow : qlow/F *
403 *Entries : 140 : Total Size= 1192 bytes One basket in memory *
404 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
405 *............................................................................*
406 *Br 35 :nlow : nlow/F *
407 *Entries : 140 : Total Size= 1192 bytes One basket in memory *
408 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
409 *............................................................................*
410 *Br 36 :qtr : qtr/F *
411 *Entries : 140 : Total Size= 1186 bytes One basket in memory *
412 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
413 *............................................................................*
414 *Br 37 :ntr : ntr/F *
415 *Entries : 140 : Total Size= 1186 bytes One basket in memory *
416 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
417 *............................................................................*
418 *Br 38 :cibar : cibar[22][2]/I *
419 *Entries : 140 : Total Size= 25292 bytes One basket in memory *
420 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
421 *............................................................................*
422 *Br 39 :tibar : tibar[22][2]/I *
423 *Entries : 140 : Total Size= 25292 bytes One basket in memory *
424 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
425 *............................................................................*
426 *Br 40 :cbar : cbar[22][2]/F *
427 *Entries : 140 : Total Size= 25286 bytes One basket in memory *
428 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
429 *............................................................................*
430 *Br 41 :tbar : tbar[22][2]/F *
431 *Entries : 140 : Total Size= 25286 bytes One basket in memory *
432 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
433 *............................................................................*
434 *Br 42 :planetot : planetot/F *
435 *Entries : 140 : Total Size= 1216 bytes One basket in memory *
436 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
437 *............................................................................*
438 *Br 43 :qmean : qmean/F *
439 *Entries : 140 : Total Size= 1198 bytes One basket in memory *
440 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
441 *............................................................................*
442
443
444 the class is CalorimeterLevel2 (defined in CaloFunctions.h)
445 the tree name is "CaloLevel2"
446 branch name is "Event"
447
448 The rootple contains also another branch with one entry only:
449
450 ******************************************************************************
451 *Tree :Software : Software used to generate data *
452 *Entries : 1 : Total = 1663 bytes File Size = 534 *
453 * : : Tree compression factor = 1.00 *
454 ******************************************************************************
455 *Br 0 :swcode : swcode/I *
456 *Entries : 1 : Total Size= 644 bytes One basket in memory *
457 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
458 *............................................................................*
459 *Br 1 :swtrkcode : swtrkcode/I *
460 *Entries : 1 : Total Size= 662 bytes One basket in memory *
461 *Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
462 *............................................................................*
463
464 the tree name is “Software”
465
466 swcode is the software version of the calorimeter LEVEL2 program which produced the rootple. It is an integer coded this way: swcode = version + 100*subversion + 10000*subsubversion + ...
467 For example, software version 2.09 has swcode = 902 .
468
469 swtrkcode is the same as above but for tracker code used to produce track and rigidity informations used by the calorimeter LEVEL2 program.
470
471 The ntuple format is:
472
473 ******************************************************************
474 * Ntuple ID = 1 Entries = 140 Pamela Calo
475 ******************************************************************
476 * Var numb * Type * Packing * Range * Block * Name *
477 ******************************************************************
478 * 1 * I*4 * * * CALO * OBT
479 * 2 * I*4 * * * CALO * pkt_num
480 * 3 * I*4 * * * CALO * pro_num
481 * 4 * R*4 * * * CALO * trigty
482 * 5 * I*4 * * * CALO * good
483 * 6 * I*4 * * * CALO * perr(4)
484 * 7 * I*4 * * * CALO * swerr(4)
485 * 8 * I*4 * * * CALO * crc(4)
486 * 9 * R*4 * * * CALO * nstrip
487 * 10 * R*4 * * * CALO * qtot
488 * 11 * R*4 * * * CALO * ncore
489 * 12 * R*4 * * * CALO * qcore
490 * 13 * R*4 * * * CALO * impx
491 * 14 * R*4 * * * CALO * impy
492 * 15 * R*4 * * * CALO * tanx
493 * 16 * R*4 * * * CALO * tany
494 * 17 * R*4 * * * CALO * nint
495 * 18 * R*4 * * * CALO * ncyl
496 * 19 * R*4 * * * CALO * qcyl
497 * 20 * R*4 * * * CALO * qtrack
498 * 21 * R*4 * * * CALO * qmax
499 * 22 * R*4 * * * CALO * nx22
500 * 23 * R*4 * * * CALO * qx22
501 * 24 * R*4 * * * CALO * qq(4)
502 * 25 * R*4 * * * CALO * qtrackx
503 * 26 * R*4 * * * CALO * qtracky
504 * 27 * R*4 * * * CALO * dxtrack
505 * 28 * R*4 * * * CALO * dytrack
506 * 29 * R*4 * * * CALO * qlast
507 * 30 * R*4 * * * CALO * nlast
508 * 31 * R*4 * * * CALO * qpre
509 * 32 * R*4 * * * CALO * npre
510 * 33 * R*4 * * * CALO * qpresh
511 * 34 * R*4 * * * CALO * npresh
512 * 35 * R*4 * * * CALO * qlow
513 * 36 * R*4 * * * CALO * nlow
514 * 37 * R*4 * * * CALO * qtr
515 * 38 * R*4 * * * CALO * ntr
516 * 39 * I*4 * * * CALO * cibar(2,22)
517 * 40 * I*4 * * * CALO * tibar(2,22)
518 * 41 * R*4 * * * CALO * cbar(2,22)
519 * 42 * R*4 * * * CALO * tbar(2,22)
520 * 43 * R*4 * * * CALO * planetot
521 * 44 * R*4 * * * CALO * qmean
522 ******************************************************************
523 * Block * Entries * Unpacked * Packed * Packing Factor *
524 ******************************************************************
525 * CALO * 140 * 912 * 912 * 1.000 *
526 * Total * --- * 912 * 912 * 1.000 *
527 ******************************************************************
528 * Blocks = 1 Variables = 44 Columns = 228 *
529 ******************************************************************
530
531 - ntuple ID is 1
532
533 - lrec is 8190
534
535 the ntuple file contains another ntuple ID:
536
537
538 ******************************************************************
539 * Ntuple ID = 2 Entries = 1 Software version
540 ******************************************************************
541 * Var numb * Type * Packing * Range * Block * Name *
542 ******************************************************************
543 * 1 * I*4 * * * VERSIONS * swcode
544 * 2 * I*4 * * * VERSIONS * swtrkcode
545 ******************************************************************
546 * Block * Entries * Unpacked * Packed * Packing Factor *
547 ******************************************************************
548 * VERSIONS * 1 * 8 * 8 * 1.000 *
549 * Total * --- * 8 * 8 * 1.000 *
550 ******************************************************************
551 * Blocks = 1 Variables = 2 Columns = 2 *
552 ******************************************************************
553
554 this ntuple contains software version informations (see above).
555
556
557
558
559 ==============================================================================
560 4) BRIEF DESCRIPTION OF VARIABLES
561 ==============================================================================
562
563 This description is partly taken from Jens Lund's PhD thesis (Appendix A2, page 126). All energies are measured in MIP.
564
565 * OBT - On Board Time of the event
566
567 * pkt_num - PSCU counter
568
569 * pro_num - YODA event counter for the processed file
570
571 * trigty - type of trigger which generated the event (taken from the trigger board information):
572 trigty = 0 is a TOF trigger
573 trigty = 1 is a S4/pulser trigger
574 trigty = 2 is a calorimeter trigger
575
576 * good – integer, true if there were no error in the event (CRC or processing errors or alarms)
577
578 * perr[4] – integer, one for each section of the calorimeter, if true there was a processing error for the relative section in the selected event.
579
580 * swerr[4] – integer, one for each section, if true there was an error detected by the DSP(s) of the calorimeter for the selected event.
581
582 * crc[4] – integer, one for each section, if true there was a CRC error in data transmitted by the relative section in the selected event.
583
584 * nstrip - the total number of strip hit.
585
586 * qtot - the total measured energy in the calorimeter.
587
588 * n(q)core - SUM(j=1,2)SUM(i=1,PLmax) Nhit(i,j)*i , where Nhit(i,j) is the number of hits in a cylinder of radius 2 Rm (Moliere radius) around the track in the i-th plane (where the top plane is number 1 and the sum runs up to plane number PLmax, closest to the calculated electromagnetic shower maximum of the j-th view). "qcore" is similar but uses the measured energy instead of the number of strip hit.
589
590 * impx(y) - the x (y) impact position on the first plane as determined by the track fitted in the calorimeter.
591
592 * tanx(y) - the tangent of the angle in the x (y) direction as determined by the track fitted in the calorimeter.
593
594 * nint - SUM(j=1,2)SUM(i=1,22) TH(i,j)*i , where TH(i,j) = 1 if the i-th plane of the j-th view has a cluster along (less than 4 mm away) the track with a deposited energy typical of a proton (order of one MIP), otherwise TH(i,j) = 0.
595
596 * n(q)cyl - the measured energy deposited (number of strip hit) in a cylinder of radius 8 strips around the shower axis.
597
598 * qtrack - the energy deposited in the strip closest to the track and the neighbouring strip on each side.
599
600 * qmax - the maximum energy detected in a strip.
601
602 * n(q)x22 - the number of strip hit (energy) in the last silicon plane of the calorimeter (x view number 22).
603
604 * qq(4) - the energy released in the first half of each of the four calorimeter sections.
605
606 * qtrackx(y) - measured energy in clusters along the track in the x(y)-view.
607
608 * dx(y)track - measured energy outside the clusters along the track in the x(y)-view.
609
610 * q(n)last - the same as "q(n)cyl" but only for the last four planes.
611
612 * q(n)pre - the same as "q(n)cyl" but only for the first three planes.
613
614 * q(n)presh - the same as "q(n)cyl" but with radius 2 strips and only in the first four planes.
615
616 * q(n)low - the same as "qtot(nstrip)" but below the calculated electromagnetic shower maximum.
617
618 * q(n)tr - the same as "q(n)cyl" but with radius 4 strips.
619
620 * cibar(2,22) – for each view and each plane the strip traversed by the particle (or by the shower axis) according to the fit of the track performed by the calorimeter.
621
622 * tibar(2,22) – the same but using the tracking information.
623
624 * cbar(2,22) – for each view and each plane the position in millimeters traversed by the particle (or by the shower axis) according to the fit of the track performed by the calorimeter.
625
626 * tbar(2,22) – the same but using the tracking information.
627
628 * planetot – number of planes used to calculate the energy truncated mean “qmean”.
629
630 * qmean - the energy truncated mean that is the average energy deposit for the five planes with the smaller energy deposit of the whole calorimeter.
631
632
633 ==============================================================================
634 5) KNOWN BUGS
635 ==============================================================================
636
637 No known bugs. Write to Emiliano (Emiliano.Mocchiutti@ts.infn.it) to report any problem.
638

  ViewVC Help
Powered by ViewVC 1.1.23