| 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 | 
 |