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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide 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 mocchiut 1.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