Update master to aliroot
[u/mrichter/AliRoot.git] / TOF / README
CommitLineData
17149e6b 1 README file for ALICE Time Of Flight Detector Offline Code
2825e4fb 2 ==========================================================
3
4Intorduction
5------------
6
7This is a short overview of the TOF code within the AliROOT framework.
17149e6b 8Some additional details have been introduced to
2825e4fb 9
10Structure
11---------
12
13There 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
28The content of these libraries is detailed more below.
29
30libTOFbase:
31-----------
32
33Till 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
69libTOFsim:
70----------
71
72Till 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
138libTOFrec:
139----------
140
141Till 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 166TOF Calibration:
167----------------
168
1691. Online Calibration
170
1711.1. New Calibration Schema
172
1731.1.1. Configuration
174
175The online calibration which is performed by the TOF preprocessor is
176configured according to a CDB object (stored in /TOF/Calib/Config), where
177a flag for the computation of the delays is set according to the type
178of data taking (cosmics ---> kFALSE / beam ---> kTRUE), and where the
179starting validity of the calibration objects that will be written in the
180OCDB is defined (see sec. 1.1.3.). The data are stored in the CDB object
181as entries in a TMap, with IDs "ComputingDelays" and "StartingRun"
182respectively.
183
1841.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
2031.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
2181.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
2351.1.5. Usage in Reconstruction
236
237During reconstruction, both the AliTOFChannelOnlineArray and the
238AliTOFChannelOnlineStatusArray corresponding to the current run have to be
239loaded from OCDB in the AliTOFReconstructor class instance. From there,
240they are passed to the AliTOFClusterFinder, where the status of the channel is
241used in order to decide whether to use it or not, while the delay is used to
242calibrate when the offline calibration information is not yet available.
243
2441.2. Old Calibration Schema
245
2461.2.1. Configuration
247
248No OCDB configuration entry is foreseen.
249
2501.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
2681.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
2891.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
3061.2.5. Usage in Reconstruction
307
308During reconstruction, the TObjArray of AliTOFChannelOnline and the three
309TObjArray objects of AliTOFChannelOnlineStatus coming from the FEE map, the
310pulser run data, and the noise run data corresponding to the current run have to
311be loaded from OCDB in the AliTOFReconstructor class instance. From there,
312they are passed to the AliTOFClusterFinder, where the status of the channel is
313used in order to decide whether to use it or not, while the delay is used to
314calibrate when the offline calibration information is not yet available.
315
3162. TOF Offline Calibration
317
3182.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
3262.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
3362.3 Usage in Reconstruction
337
338The TObjArray of 157248 AliTOFChannelOffline objects is retrieved for the current
339run in AliTOFReconstructor, and passed to AliTOFClusterFinder. As soon as enough
340statistics is collected for every channel, since the validity
341of the offline calibration object was set, for each channel with a valid
342status, the calibration is performed using the calibration parameters present in
343this TObjArray of AliTOFChannelOffline.
344
2825e4fb 345Authors:
346--------
347
348 Annalisa De Caro <decaro@sa.infn.it>
349
350----------------------------------------------------------------------
351Local Variables:
352 mode: text
353End: