]>
Commit | Line | Data |
---|---|---|
17149e6b | 1 | README file for ALICE Time Of Flight Detector Offline Code |
2825e4fb | 2 | ========================================================== |
3 | ||
4 | Intorduction | |
5 | ------------ | |
6 | ||
7 | This is a short overview of the TOF code within the AliROOT framework. | |
17149e6b | 8 | Some additional details have been introduced to |
2825e4fb | 9 | |
10 | Structure | |
11 | --------- | |
12 | ||
13 | There are 3 libraries build for the TOF. These are | |
14 | ||
15 | * libTOFbase: | |
16 | This contains the basic stuff, like data classes and managers. | |
17 | ||
18 | * libTOFsim: | |
19 | This contains code used by the simulation only. This includes the | |
20 | detector class, AliTOF, and its derivatives. It also contains the | |
21 | code for building the geometry, as well as the (s)digitisers, raw | |
22 | data writer, QA checker and data containers. | |
23 | ||
24 | * libTOFrec: | |
25 | Code needed for the reconstruction. This includes the reconstruction | |
26 | code itself, as well as cluster and track containers and QA checker. | |
27 | ||
28 | The content of these libraries is detailed more below. | |
29 | ||
30 | libTOFbase: | |
31 | ----------- | |
32 | ||
33 | Till today (February 6th 2008), it contains the following classes | |
34 | ||
35 | AliTOFGeometry: | |
36 | Manager of TOF geometry data. All code queries this manager | |
37 | for geometry parameters, so that the data are always consistent. | |
38 | ||
39 | AliTOFdigit | |
40 | AliTOFrawData | |
41 | AliTOFHitData | |
42 | AliTOFHitDataBuffer | |
43 | Base classes for digits and real digits. They are all data | |
44 | classes that hold the TOT and TOF values for a single sensitive | |
45 | TOF element. | |
46 | ||
47 | AliTOFChannelOffline | |
48 | AliTOFChannelOnline | |
49 | AliTOFChannelOnlineStatus | |
50 | AliTOFcalib | |
51 | AliTOFDataDCS | |
52 | AliTOFFormatDCS: | |
53 | Calibration data classes. | |
54 | ||
55 | AliTOFRawMap: | |
56 | A map of (AliTOFrawData) indices. | |
57 | The AliTOFRawStream class uses this map to store raw data | |
58 | before making digits or clusters. | |
59 | ||
60 | AliTOFDecoder | |
61 | AliTOFRawStream: | |
62 | Classes to read raw data files. | |
63 | ||
64 | AliTOFAlignment: | |
65 | ||
66 | AliTOFPreprocessor | |
67 | AliTOFPreprocessorFDR: | |
68 | ||
69 | libTOFsim: | |
70 | ---------- | |
71 | ||
72 | Till today (February 6th 2008), it contains the following classes | |
73 | ||
74 | AliTOF: | |
75 | Manager for all TOF simulation code. | |
76 | ||
77 | AliTOFv5T0 | |
78 | AliTOFv6T0: | |
79 | Simulation drivers for the TOF detector. | |
80 | AliTOFv5T0 corresponds to a simulation where services are not | |
81 | completly described | |
82 | AliTOFv6T0 contains a more detailed description of all TOF | |
83 | detector components. | |
84 | ||
85 | AliTOFhit | |
86 | AliTOFhitT0: | |
87 | Base classes for hits. They hold the geometrical and physical | |
88 | informations of a single sensitive TOF element, like the ALICE | |
89 | coordinates, the detector indices, i.e. 5 integer numbers | |
90 | (sector, module, strip, par-row and pad numbers), the hit | |
91 | coordinates in the pad reference system and the | |
92 | time-of-flight measurement. Moreover, they hold also some | |
93 | additional measurements, like the momentum components, the | |
94 | energy loss in the sensitive TOF element and the track incident | |
95 | angle on the pad. Only the AliTOFhitT0 object contains also | |
96 | the track length measurement. | |
97 | ||
98 | AliTOFSDigit: | |
99 | Base classes for sdigits. They hold the TOF detector informations, | |
100 | like the detector indices, i.e. 5 integer numbers | |
101 | (sector, module, strip, par-row and pad numbers), the | |
102 | time-of-flight and the time-over-threshold informations | |
103 | according to the test beam results. | |
104 | Each detector element can record more than one sdigit (but | |
105 | not more than 3). | |
106 | ||
107 | AliTOFSDigitizer | |
108 | AliTOFDigitizer: | |
109 | Base class for the (s)digitiser. AliTOFSDigitizer makes | |
110 | summable digits (AliTOFSDigit) from hits, and AliTOFDigitizer | |
111 | makes digits (quasi real data) from summable digits. | |
112 | ||
113 | AliTOFHitMap | |
114 | A map of (AliTOFSDigit) indices. | |
115 | The AliTOFSDigitizer uses this map to store simulation data | |
116 | (i.e. hits) before making sdigits. | |
117 | ||
118 | AliTOFDigitMap: | |
119 | A map of (AliTOFdigit) indices. | |
120 | The AliDDLRawData uses this map to store the TOF digits indices | |
121 | before making real digits (i.e. raw data). | |
122 | ||
123 | AliTOFDDLRawData: | |
124 | Base class for digit-to-raw_data transformation. | |
125 | It makes raw data from digits: practically, it transforms the | |
126 | 5 detector indices (sector, module, strip, pad-row and pad numbers) | |
127 | in hardware address, consisting of 5 induces (TOF readout | |
128 | module, slot, chain, TDC and channel numbers). | |
129 | ||
130 | AliTOFT0: | |
131 | ||
132 | AliTOFTrigger: | |
133 | ||
134 | AliTOFQAChecker | |
135 | AliTOFQADataMakerSim | |
136 | ||
137 | ||
138 | libTOFrec: | |
139 | ---------- | |
140 | ||
141 | Till today (February 6th 2008), it contains the following classes | |
142 | ||
143 | AliTOFRecoParam: | |
144 | ||
145 | AliTOFReconstructor: | |
146 | ||
147 | AliTOFcluster: | |
148 | Reconstructed point in the TOF. These objects are made | |
149 | AliTOFReconstructor. | |
150 | ||
151 | AliTOFClusterFinder: | |
152 | ||
153 | AliTOFtrack: | |
154 | Base classe for TOF tracks. It holds ... | |
155 | ||
156 | AliTOFtracker | |
157 | AliTOFtrackerMI | |
158 | AliTOFtrackerV1: | |
159 | ||
160 | ||
161 | AliTOFpidESD: | |
162 | ||
163 | AliTOFQADataMakerRec: | |
164 | ||
165 | ||
17149e6b | 166 | TOF Calibration: |
167 | ---------------- | |
168 | ||
169 | 1. Online Calibration | |
170 | ||
171 | 1.1. New Calibration Schema | |
172 | ||
173 | 1.1.1. Configuration | |
174 | ||
175 | The online calibration which is performed by the TOF preprocessor is | |
176 | configured according to a CDB object (stored in /TOF/Calib/Config), where | |
177 | a flag for the computation of the delays is set according to the type | |
178 | of data taking (cosmics ---> kFALSE / beam ---> kTRUE), and where the | |
179 | starting validity of the calibration objects that will be written in the | |
180 | OCDB is defined (see sec. 1.1.3.). The data are stored in the CDB object | |
181 | as entries in a TMap, with IDs "ComputingDelays" and "StartingRun" | |
182 | respectively. | |
183 | ||
184 | 1.1.2. Objects | |
185 | ||
186 | - AliTOFChannelOnlineArray: array of floats containing the delay value | |
187 | calculated for each TOF channel by the TOF preprocessor starting from | |
188 | the DAQ DA for PHYSICS runs (see TOFda.cxx). Inheriting from TObject. | |
189 | ||
190 | - AliTOFChannelOnlineStatusArray: array of chars defining the status for each | |
191 | TOF channel according to the processing of the data coming from PULSER and | |
192 | NOISE runs (TOFpulserda.cxx, TOFnoiseda.cxx). The status is defined also | |
193 | according to the FEE map written in the DCS FXS, where the status ON/OFF | |
194 | of the channels is stored. The first (least significant) two bits refer to the | |
195 | FEE status, the second two to the pulser data, and the third two to the noise | |
196 | data, leaving the last two empy. The status is always (FEE/pulser/noise) | |
197 | defined as: | |
198 | 00 --> Unknown; | |
199 | 01 --> Good; | |
200 | 10 --> Bad. | |
201 | Inheriting from TObject. | |
202 | ||
203 | 1.1.3. OCDB | |
204 | ||
205 | - /TOF/Calib/ParOnlineDelay: directory where the AliTOFChannelOnlineArray | |
206 | calibration objects are stored, with validity [0, 999999999], increasing the | |
207 | sv number every time. After offline calibration takes place, in case a reset | |
208 | is needed at run XYZ, the validity changes to [XYZ, 999999999], again | |
209 | with increasing sv. | |
210 | ||
211 | - /TOF/Calib/Status: directory where the AliTOFChannelOnlineStatusArray | |
212 | calibration objects are stored, with validity [current_run, 999999999]. In | |
213 | case of a PHYSICS run, the update occurs only if the FEE map has changed. | |
214 | In case of a PULSER/NOISE run, the update occurs once at the very end of the | |
215 | processing, so to merge the information from the FEE status map and those | |
216 | from the TOFpulserda/TOFnoiseda. | |
217 | ||
218 | 1.1.4. Reference Data | |
219 | ||
220 | - /TOF/Calib/DAQData: directory to store the histograms at run level that | |
221 | are produced by the TOFda. | |
222 | ||
223 | - /TOF/Calib/DCSData: directory to store the data that come out from the | |
224 | processing of the TOF DCS DPs. | |
225 | ||
226 | - /TOF/Calib/PulserData: directory to store the histograms that are produced | |
227 | by the TOFpulserda. | |
228 | ||
229 | - /TOF/Calib/NoiseData: directory to store the histograms that are produced | |
230 | by the TOFnoiseda. | |
231 | ||
232 | - /TOF/Calib/FEEData: directory to store the histogram reproducing the FEE | |
233 | status of the TOF channels. | |
234 | ||
235 | 1.1.5. Usage in Reconstruction | |
236 | ||
237 | During reconstruction, both the AliTOFChannelOnlineArray and the | |
238 | AliTOFChannelOnlineStatusArray corresponding to the current run have to be | |
239 | loaded from OCDB in the AliTOFReconstructor class instance. From there, | |
240 | they are passed to the AliTOFClusterFinder, where the status of the channel is | |
241 | used in order to decide whether to use it or not, while the delay is used to | |
242 | calibrate when the offline calibration information is not yet available. | |
243 | ||
244 | 1.2. Old Calibration Schema | |
245 | ||
246 | 1.2.1. Configuration | |
247 | ||
248 | No OCDB configuration entry is foreseen. | |
249 | ||
250 | 1.2.2. Objects | |
251 | ||
252 | - AliTOFChannelOnline: object containing the value of the delay for a | |
253 | certain TOF channel. Inheriting from TObject. An TObjArray of 157248 of such | |
254 | objects is used to store the information coming from the TOF online | |
255 | calibration. Inheriting from TObject. | |
256 | ||
257 | - AliTOFChannelOnlineStatus: object containing the status of a TOF channel | |
258 | as determined during the reading of the FEE map/ during a pulser run/ | |
259 | during a noise run. Three TObjArray objects of 157248 of such objects should | |
260 | be present in the OCDB for each run: one related to the FEE status of the | |
261 | channels, one related to pulser run results, and one related to noise | |
262 | run results. The status is defined as: | |
263 | 00 --> Unknown; | |
264 | 01 --> Good; | |
265 | 10 --> Bad. | |
266 | Inheriting from TObject. | |
267 | ||
268 | 1.2.3. OCDB | |
269 | ||
270 | - /TOF/Calib/ParOnline: directory where a TObjArray of 157248 AliTOFChannelOnline | |
271 | calibration objects are stored, with validity [0, 999999999], increasing the | |
272 | sv number every time. After offline calibration takes place, in case a reset | |
273 | is needed at run XYZ, the validity changes to [XYZ, 999999999], again | |
274 | with increasing sv. | |
275 | ||
276 | - /TOF/Calib/HW: directory where a TObjArray of 157248 AliTOFChannelOnlineStatus | |
277 | calibration objects are stored, with validity [current_run, 999999999], as | |
278 | obtained from reading the FEE map from the DCS FXS. The update occurs only if | |
279 | the FEE map has changed. | |
280 | ||
281 | - /TOF/Calib/Pulser: directory where a TObjArray of 157248 AliTOFChannelOnlineStatus | |
282 | calibration objects are stored, with validity [current_run, 999999999], as | |
283 | obtained from a pulser run. | |
284 | ||
285 | - /TOF/Calib/Noise: directory where a TObjArray of 157248 AliTOFChannelOnlineStatus | |
286 | calibration objects are stored, with validity [current_run, 999999999], as | |
287 | obtained from a noise run. | |
288 | ||
289 | 1.2.4. Reference Data | |
290 | ||
291 | - /TOF/Calib/DAQData: directory to store the histograms at run level that | |
292 | are produced by the TOFda. | |
293 | ||
294 | - /TOF/Calib/DCSData: directory to store the data that come out from the | |
295 | processing of the TOF DCS DPs. | |
296 | ||
297 | - /TOF/Calib/PulserData: directory to store the histograms that are produced | |
298 | by the TOFpulserda. | |
299 | ||
300 | - /TOF/Calib/NoiseData: directory to store the histograms that are produced | |
301 | by the TOFnoiseda. | |
302 | ||
303 | - /TOF/Calib/FEEData: directory to store the histogram reproducing the FEE | |
304 | status of the TOF channels. | |
305 | ||
306 | 1.2.5. Usage in Reconstruction | |
307 | ||
308 | During reconstruction, the TObjArray of AliTOFChannelOnline and the three | |
309 | TObjArray objects of AliTOFChannelOnlineStatus coming from the FEE map, the | |
310 | pulser run data, and the noise run data corresponding to the current run have to | |
311 | be loaded from OCDB in the AliTOFReconstructor class instance. From there, | |
312 | they are passed to the AliTOFClusterFinder, where the status of the channel is | |
313 | used in order to decide whether to use it or not, while the delay is used to | |
314 | calibrate when the offline calibration information is not yet available. | |
315 | ||
316 | 2. TOF Offline Calibration | |
317 | ||
318 | 2.1. Object | |
319 | ||
320 | - AliTOFChannelOffline: object containing the calibration parameters for | |
321 | each TOF channel that should correct both for the delay introduced by the | |
322 | electronics and the hardware, and for the time slewing effect. A TObjArray | |
323 | of 157248 of such objects is stored in the CDB to perform refined calibration | |
324 | during reconstruction. Inheriting from TObject. | |
325 | ||
326 | 2.2. OCDB | |
327 | ||
328 | - /TOF/Calib/ParOffline: directory containing the CDB entry corresponding to the | |
329 | offline calibration of the TOF as stored in a TObjArray object of 157248 | |
330 | AliTOFChannelOffline objects with validity [0, 999999999], increasing the | |
331 | sv number every time. In case a reset is needed at run XYZ, after collecting | |
332 | the statistics necessary to the offline calibration (when the online | |
333 | calibration object becomes valid again), the validity changes to | |
334 | [XYZ, 999999999], again with increasing sv. | |
335 | ||
336 | 2.3 Usage in Reconstruction | |
337 | ||
338 | The TObjArray of 157248 AliTOFChannelOffline objects is retrieved for the current | |
339 | run in AliTOFReconstructor, and passed to AliTOFClusterFinder. As soon as enough | |
340 | statistics is collected for every channel, since the validity | |
341 | of the offline calibration object was set, for each channel with a valid | |
342 | status, the calibration is performed using the calibration parameters present in | |
343 | this TObjArray of AliTOFChannelOffline. | |
344 | ||
2825e4fb | 345 | Authors: |
346 | -------- | |
347 | ||
348 | Annalisa De Caro <decaro@sa.infn.it> | |
349 | ||
350 | ---------------------------------------------------------------------- | |
351 | Local Variables: | |
352 | mode: text | |
353 | End: |