| 1 |
pam-de |
1.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 |
|
|
|