1 |
|
2 |
1) The ToF software uses the Tracking software V2.00 |
3 |
It is assumed that you have created all the directories and the compiling |
4 |
of the three executables "level0.exe", "level1.exe" and "level2.exe" |
5 |
was succesful. |
6 |
|
7 |
2) Copy the file toftrack.tar to the "utilities/template" directory (where |
8 |
the program template.f is located), untar the file toftrack.tar. |
9 |
|
10 |
The following files will be extracted: |
11 |
Makefile (the old Makefile will be overwritten) |
12 |
run-test.sh |
13 |
tofcalib.rz |
14 |
toftrack.f |
15 |
common_tof.f |
16 |
tofroutine.f |
17 |
trk_level2.f (the old trk_level2.f was not correct) |
18 |
common_tofroutine.f |
19 |
|
20 |
3)Create the executable toftrack.exe doing |
21 |
# make toftrack |
22 |
|
23 |
4) The "level*.exe" programs in your working directory were run by doing |
24 |
|
25 |
#./run-test.sh some_filename.txt level0/1/2 & |
26 |
|
27 |
Copy the new "run-test.sh" from the template directory to the working |
28 |
directory. Copy toftrack.exe to the working directory |
29 |
After you have done step 5 (see below) you can run the toftrack software |
30 |
analogue to the command for the level0/1/2 software: |
31 |
|
32 |
#./run-test.sh some_filename.txt toftrack & |
33 |
|
34 |
In the file good_files.tar.gz there is a list of good files from the Roma |
35 |
tests. |
36 |
|
37 |
5) Untar the file tofcalib.tar in your rz-data directory (where the level2 |
38 |
and tof rz-files are located). This will create a standard "tofcalib.rz" |
39 |
file plus the calibration files for the Roma data |
40 |
"DW_******_***_tofcalib.rz" |
41 |
|
42 |
|
43 |
--------------------------------------------------------------------------- |
44 |
|
45 |
"tracktof" will read the appropriate level2, tof, and tofcalib file. If |
46 |
there is no tofcalib file for this data run, the standard calibration is |
47 |
used (There will be a message saying "Could not find.... Will use the |
48 |
standard calibration") |
49 |
|
50 |
|
51 |
"tracktof" will create a new rz file DW_******_**_toftrack.rz" combining |
52 |
the level2 data, the (raw) tof data, plus the variables calculated in the |
53 |
tofroutine. |
54 |
|
55 |
The structure looks like this: |
56 |
|
57 |
|
58 |
****************************************************************** |
59 |
* Ntuple ID = 2 Entries = 1185 TOF |
60 |
****************************************************************** |
61 |
* Var numb * Type * Packing * Range * Block * Name * |
62 |
****************************************************************** |
63 |
* 1 * L*4 * 1 * * EVENT * GOOD |
64 |
* 2 * I*4 * * * EVENT * NEV_TRK |
65 |
* 1 * I*4 * * * CPU * PKT_TYPE |
66 |
* 2 * I*4 * * * CPU * PKT_NUM |
67 |
* 3 * I*4 * * * CPU * OBT |
68 |
* 4 * I*4 * * * CPU * WHICH_CALIB |
69 |
* 1 * I*4 * * * TOF * TDCID(12) |
70 |
* 2 * I*4 * * * TOF * EVCOUNT(12) |
71 |
* 3 * I*4 * * * TOF * TDCMASK(12) |
72 |
* 4 * I*4 * * * TOF * ADC(4,12) |
73 |
* 5 * I*4 * * * TOF * TDC(4,12) |
74 |
* 6 * I*4 * * * TOF * TEMP1(12) |
75 |
* 7 * I*4 * * * TOF * TEMP2(12) |
76 |
* 8 * R*4 * * * TOF * BETA(5) |
77 |
* 9 * R*4 * * * TOF * XTOF(3) |
78 |
* 10 * R*4 * * * TOF * YTOF(3) |
79 |
* 11 * R*4 * * * TOF * ADC_C(4,12) |
80 |
* 12 * I*4 * * * TOF * IFLAG(6) |
81 |
* 13 * I*4 * * * TOF * JFLAG(6) |
82 |
* 14 * R*4 * * * TOF * XOUT(3) |
83 |
* 15 * R*4 * * * TOF * YOUT(3) |
84 |
* 1 * I*4 * * * TRIGGER * TRIG_EVCOUNT |
85 |
* 2 * I*4 * * * TRIGGER * PMTPL(3) |
86 |
* 3 * I*4 * * * TRIGGER * TRIGRATE(6) |
87 |
* 4 * I*4 * * * TRIGGER * DLTIME(2) |
88 |
* 5 * I*4 * * * TRIGGER * S4CALCOUNT(2) |
89 |
* 6 * I*4 * * * TRIGGER * PMTCOUNT1(24) |
90 |
* 7 * I*4 * * * TRIGGER * PMTCOUNT2(24) |
91 |
* 8 * I*4 * * * TRIGGER * PATTERNBUSY(3) |
92 |
* 9 * I*4 * * * TRIGGER * PATTERNTRIG(6) |
93 |
* 10 * I*4 * * * TRIGGER * TRIGCONF |
94 |
* 1 * I*4 * * [0,50] * TRACKS * NTRK |
95 |
* 2 * U*4 * 6 * [0,50] * TRACKS * IMAGE(NTRK) |
96 |
* 3 * R*4 * * * TRACKS * XM(6,NTRK) |
97 |
* 4 * R*4 * * * TRACKS * YM(6,NTRK) |
98 |
* 5 * R*4 * * * TRACKS * ZM(6,NTRK) |
99 |
* 6 * R*4 * * * TRACKS * RESX(6,NTRK) |
100 |
* 7 * R*4 * * * TRACKS * RESY(6,NTRK) |
101 |
* 8 * R*4 * * * TRACKS * AL(5,NTRK) |
102 |
* 9 * R*4 * * * TRACKS * COVAL(5,5,NTRK) |
103 |
* 10 * R*4 * * * TRACKS * CHI2(NTRK) |
104 |
* 11 * U*4 * 1 * [0,1] * TRACKS * XGOOD(6,NTRK) |
105 |
* 12 * U*4 * 1 * [0,1] * TRACKS * YGOOD(6,NTRK) |
106 |
* 13 * R*4 * * * TRACKS * XV(6,NTRK) |
107 |
* 14 * R*4 * * * TRACKS * YV(6,NTRK) |
108 |
* 15 * R*4 * * * TRACKS * ZV(6,NTRK) |
109 |
* 16 * R*4 * * * TRACKS * AXV(6,NTRK) |
110 |
* 17 * R*4 * * * TRACKS * AYV(6,NTRK) |
111 |
* 18 * R*4 * * * TRACKS * DEDXP(6,NTRK) |
112 |
* 1 * I*4 * * * SINGLETS * NCLSX(6) |
113 |
* 2 * I*4 * * * SINGLETS * NCLSY(6) |
114 |
****************************************************************** |
115 |
* Block * Entries * Unpacked * Packed * Packing Factor * |
116 |
****************************************************************** |
117 |
* EVENT * 1185 * 8 * 5 * 1.600 * |
118 |
* CPU * 1185 * 16 * 16 * 1.000 * |
119 |
* TOF * 1185 * 932 * 932 * 1.000 * |
120 |
* TRIGGER * 1185 * 288 * 288 * 1.000 * |
121 |
* TRACKS * 1185 * 22004 * Var. * Variable * |
122 |
* SINGLETS * 1185 * 48 * 48 * 1.000 * |
123 |
* Total * --- * 23296 * Var. * Variable * |
124 |
****************************************************************** |
125 |
* Blocks = 6 Variables = 51 Max. Columns = 5824 * |
126 |
****************************************************************** |
127 |
|
128 |
|
129 |
|
130 |
The variables calculated in "TOFROUTINE" are the last ones in the block |
131 |
"TOF": |
132 |
|
133 |
|
134 |
BETA(5): four values (1-4) for beta from S11-S31, S12-S32, S21-S31 |
135 |
and S22-S32. |
136 |
if there is no valid signal beta is set to "100". |
137 |
if there are four values for beta, the weighted mean is |
138 |
calculated and put into beta(5). So it is possible for |
139 |
the user to calculate his own mean value by using the |
140 |
single values. |
141 |
|
142 |
XTOF(3): The x-position in the 3 different layers using the ToF |
143 |
timing (So, for the x-coordinate we use S12, S21,S32). |
144 |
If we cannot find a valid timing the value is set to "1000" |
145 |
|
146 |
YTOF(3): The same for y-position using S11, S22,S31 |
147 |
|
148 |
ADC_C(4,12): normalized ADC values, the value in the middle of the |
149 |
paddle is set to "1", using the (sometimes poor) attenuation |
150 |
fit curves. The ADC_C matrix is analog to the ADC matrix |
151 |
for the raw data, so one can use the same channel map. |
152 |
|
153 |
IFLAG(6): 6 values for the six layers: |
154 |
"0" if no hit in this layer |
155 |
"-1" if more than one hit |
156 |
otherwise the number of the hitted paddle ("hit" = good |
157 |
TDC values on both sides) |
158 |
|
159 |
JFLAG(6): 6 values for the six layers: coded value to see which |
160 |
strips have valid hits: |
161 |
for i=1 to (number of strips) do |
162 |
if (paddle "i" = hit) then jflag = jflag + 2**(i-1) |
163 |
|
164 |
|
165 |
|
166 |
|