CMake: removing qpythia from the depedencies
[u/mrichter/AliRoot.git] / TOF / README
1     README file for ALICE Time Of Flight Detector Offline Code
2     ==========================================================
3
4 Intorduction
5 ------------
6
7 This is a short overview of the TOF code within the AliROOT framework.
8 Some additional details have been introduced to 
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
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
345 Authors:
346 --------
347
348        Annalisa De Caro      <decaro@sa.infn.it>
349
350 ----------------------------------------------------------------------
351 Local Variables:
352         mode: text
353 End: