]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/doc/doc_spd.html
ZDC automatic scripts updates (Marco Leoncino) + updates in QA config
[u/mrichter/AliRoot.git] / ITS / doc / doc_spd.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2 <HTML>
3 <HEAD>
4         <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
5         <TITLE></TITLE>
6         <META NAME="GENERATOR" CONTENT="OpenOffice.org 1.1.5  (Linux)">
7         <META NAME="CREATED" CONTENT="20080430;10144900">
8         <META NAME="CHANGED" CONTENT="20080518;10080400">
9         <META NAME="ProgId" CONTENT="Word.Document">
10         <META NAME="Originator" CONTENT="Microsoft Word 11">
11         <!--[if !mso]>
12 <style>
13 v\:* {behavior:url(#default#VML);}
14 o\:* {behavior:url(#default#VML);}
15 w\:* {behavior:url(#default#VML);}
16 .shape {behavior:url(#default#VML);}
17 </style>
18 <![endif]-->
19         <!--[if gte mso 9]><xml>
20  <o:DocumentProperties>
21   <o:Author>Domenico Elia</o:Author>
22   <o:Template>Normal</o:Template>
23   <o:LastAuthor>Domenico Elia</o:LastAuthor>
24   <o:Revision>98</o:Revision>
25   <o:TotalTime>539</o:TotalTime>
26   <o:LastPrinted>2008-05-08T16:06:00Z</o:LastPrinted>
27   <o:Created>2008-04-30T12:51:00Z</o:Created>
28   <o:LastSaved>2008-05-08T16:57:00Z</o:LastSaved>
29   <o:Pages>1</o:Pages>
30   <o:Words>1539</o:Words>
31   <o:Characters>8775</o:Characters>
32   <o:Company>INFN Sezione di Bari</o:Company>
33   <o:Lines>73</o:Lines>
34   <o:Paragraphs>20</o:Paragraphs>
35   <o:CharactersWithSpaces>10294</o:CharactersWithSpaces>
36   <o:Version>11.6568</o:Version>
37  </o:DocumentProperties>
38 </xml><![endif]-->
39         <!--[if gte mso 9]><xml>
40  <w:WordDocument>
41   <w:SpellingState>Clean</w:SpellingState>
42   <w:GrammarState>Clean</w:GrammarState>
43   <w:HyphenationZone>14</w:HyphenationZone>
44   <w:ValidateAgainstSchemas/>
45   <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
46   <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
47   <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
48   <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
49  </w:WordDocument>
50 </xml><![endif]-->
51         <!--[if gte mso 9]><xml>
52  <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
53  </w:LatentStyles>
54 </xml><![endif]-->
55         <!--[if !mso]><object
56  classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
57 <style>
58 st1\:*{behavior:url(#ieooui) }
59 </style>
60 <![endif]-->
61         <!--[if gte mso 10]>
62 <style>
63  /* Style Definitions */
64  table.MsoNormalTable
65         {mso-style-name:"Tabella normale";
66         mso-tstyle-rowband-size:0;
67         mso-tstyle-colband-size:0;
68         mso-style-noshow:yes;
69         mso-style-parent:"";
70         mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
71         mso-para-margin:0cm;
72         mso-para-margin-bottom:.0001pt;
73         mso-pagination:widow-orphan;
74         font-size:10.0pt;
75         font-family:"Times New Roman";
76         mso-ansi-language:#0400;
77         mso-fareast-language:#0400;
78         mso-bidi-language:#0400;}
79 </style>
80 <![endif]-->
81         <!--[if gte mso 9]><xml>
82  <o:shapedefaults v:ext="edit" spidmax="11266"/>
83 </xml><![endif]-->
84         <!--[if gte mso 9]><xml>
85  <o:shapelayout v:ext="edit">
86   <o:idmap v:ext="edit" data="1"/>
87  </o:shapelayout></xml><![endif]-->
88         <STYLE>
89         <!--
90                 P { color: #000000 }
91                 A:link { color: #0000ff }
92                 A:visited { color: #0000ff }
93         -->
94         </STYLE>
95 </HEAD>
96 <BODY LANG="it-IT" TEXT="#000000" LINK="#0000ff" VLINK="#0000ff" DIR="LTR">
97 <P LANG="en-US" STYLE="margin-top: 0.42cm; margin-bottom: 0.5cm; page-break-after: avoid">
98 <FONT FACE="Arial"><FONT SIZE=4 STYLE="font-size: 13pt">============================================================================</FONT></FONT></P>
99 <P LANG="en-US" STYLE="margin-top: 0.42cm; margin-bottom: 0.5cm; page-break-after: avoid">
100 <FONT FACE="Arial"><FONT SIZE=4 STYLE="font-size: 13pt">Description
101 of ALICE Silicon Pixel Detector (SPD) Code (Rev. 1.00 &#8212; May 8, 2008
102 &#8212; D. Elia)</FONT></FONT></P>
103 <P LANG="en-US" STYLE="margin-top: 0.42cm; margin-bottom: 0.5cm; page-break-after: avoid">
104 <FONT FACE="Arial"><FONT SIZE=4 STYLE="font-size: 13pt">============================================================================</FONT></FONT></P>
105 <P STYLE="margin-bottom: 0cm"><A NAME="Content"></A><STRONG><SPAN LANG="en-US"><FONT SIZE=4 STYLE="font-size: 16pt">Content</FONT></SPAN></STRONG>
106 </P>
107 <P STYLE="margin-bottom: 0cm">&nbsp;</P>
108 <P STYLE="margin-left: 1.27cm; margin-top: 0.18cm; margin-bottom: 0cm">
109 <SPAN LANG="en-US">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><A HREF="#punto_1"><SPAN LANG="en-US">SPD
110 module geometrical description</SPAN></A></P>
111 <P STYLE="margin-left: 1.27cm; margin-top: 0.18cm; margin-bottom: 0cm">
112 <SPAN LANG="en-US">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><A HREF="#punto_2"><SPAN LANG="en-US">Raw
113 data format</SPAN></A></P>
114 <P STYLE="margin-left: 1.27cm; margin-top: 0.18cm; margin-bottom: 0cm">
115 <SPAN LANG="en-US">3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><A HREF="#punto_3"><SPAN LANG="en-US">Simulation</SPAN></A></P>
116 <P STYLE="margin-left: 1.27cm; margin-top: 0.18cm; margin-bottom: 0cm">
117 <SPAN LANG="en-US">4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><A HREF="#punto_4"><SPAN LANG="en-US">Local
118 reconstruction</SPAN></A></P>
119 <P STYLE="margin-left: 1.27cm; margin-top: 0.18cm; margin-bottom: 0cm">
120 <SPAN LANG="en-US">5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><A HREF="#punto_5"><SPAN LANG="en-US">Calibration
121 and DAs</SPAN></A></P>
122 <P STYLE="margin-bottom: 0cm">&nbsp;</P>
123 <P STYLE="margin-bottom: 0cm">&nbsp;</P>
124 <P><A NAME="punto_1"></A><A HREF="#Content"><B><SPAN LANG="en-US">SPD
125 module geometrical description</SPAN></B></A></P>
126 <P LANG="en-US" STYLE="margin-bottom: 0cm">The SPD module geometrical
127 description is managed by the <B>AliITSsegmentationSPD</B> class.&nbsp;
128 </P>
129 <P LANG="en-US" STYLE="margin-bottom: 0cm">This offline module
130 corresponds to half of a single SPD basic unit (the half-stave which
131 is made of 2 ladders), so it corresponds to a single SPD ladder. In
132 total the SPD consists of 240 modules, 80 on the inner layer and 160
133 on the outer layer. The module is divided into 5 chips with the
134 corresponding sensor cells connected to 5 independent read-out
135 matrices. 
136 </P>
137 <P LANG="en-US" STYLE="margin-bottom: 0cm">The single pixel cell size
138 is 425 microns (local Z) x 50 microns (local X). Pixels at the
139 boundary between adjacent chips in the module are 625 microns wide in
140 Z.</P>
141 <P LANG="en-US" STYLE="margin-bottom: 0cm">The single chip has 32
142 columns (local Z) x 256 rows (local X).</P>
143 <P LANG="en-US" STYLE="margin-bottom: 0cm">The single module size is
144 6.96 cm (local Z) x 1.28 cm (local X). The sensor is 200 microns
145 thick. The read-out chip is 150 microns thick.&nbsp;&nbsp;&nbsp;&nbsp;
146 </P>
147 <P STYLE="margin-bottom: 0cm"><SPAN LANG="en-US">The module numbering
148 and the correspondence between online and offline conventions are
149 illustrated <A HREF="http://tydes.home.cern.ch/tydes/doc/Numbering5/"><B><FONT COLOR="#0000ff">here</FONT></B></A>.
150 In the </SPAN><B><SPAN LANG="en-GB">AliITSRawStreamSPD</SPAN></B>
151 <SPAN LANG="en-GB">class the raw data is decoded and so-called digits
152 are extracted. Inside this class a module map matrix
153 (fgkDDLModuleMap[][]) is used:</SPAN></P>
154 <P CLASS="msonormal" ALIGN=CENTER><!--[if gte vml 1]><v:shapetype
155  id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
156  path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
157  <v:stroke joinstyle="miter"/>
158  <v:formulas>
159   <v:f eqn="if lineDrawn pixelLineWidth 0"/>
160   <v:f eqn="sum @0 1 0"/>
161   <v:f eqn="sum 0 0 @1"/>
162   <v:f eqn="prod @2 1 2"/>
163   <v:f eqn="prod @3 21600 pixelWidth"/>
164   <v:f eqn="prod @3 21600 pixelHeight"/>
165   <v:f eqn="sum @0 0 1"/>
166   <v:f eqn="prod @6 1 2"/>
167   <v:f eqn="prod @7 21600 pixelWidth"/>
168   <v:f eqn="sum @8 21600 0"/>
169   <v:f eqn="prod @7 21600 pixelHeight"/>
170   <v:f eqn="sum @10 21600 0"/>
171  </v:formulas>
172  <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
173  <o:lock v:ext="edit" aspectratio="t"/>
174 </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" alt="" style='width:423pt;
175  height:222.75pt'>
176  <v:imagedata src="spdim001.gif"  o:href="spdim001.gif">
177 </v:shape><![endif]--><IMG SRC="spdim001.gif" NAME="Graphic1" ALIGN=BOTTOM WIDTH=564 HEIGHT=297 BORDER=0></P>
178 <P LANG="en-GB" CLASS="msonormal">This map specifies how the modules
179 are numbered (the rows of the matrix represent different equipment
180 ids, the columns have the 2 ladders of hs0, the 2 ladders of hs1, and
181 so on...). <BR>Then one also needs to take the columns and rows
182 numbering into account. 
183 </P>
184 <P LANG="en-GB" CLASS="msonormal">To make the conversion between
185 online and offline coordinates there are the following static member
186 functions in AliITSRawStreamSPD: 
187 </P>
188 <P CLASS="msonormal">&nbsp;</P>
189 <P CLASS="msonormal" ALIGN=CENTER><!--[if gte vml 1]><v:shape
190  id="_x0000_i1026" type="#_x0000_t75" alt="" style='width:723pt;height:137.25pt'>
191  <v:imagedata src="spdim002.gif" o:href="spdim002.gif">
192 </v:shape><![endif]--><IMG SRC="spdim002.gif" NAME="Graphic2" ALIGN=BOTTOM WIDTH=964 HEIGHT=183 BORDER=0></P>
193 <P CLASS="msonormal" ALIGN=CENTER>&nbsp;</P>
194 <P CLASS="msonormal" ALIGN=CENTER>&nbsp;</P>
195 <P LANG="en-US" STYLE="margin-bottom: 0cm">=================================================================================================================</P>
196 <P STYLE="margin-bottom: 0cm">&nbsp;</P>
197 <P><A NAME="punto_2"></A><A HREF="#Content"><B><SPAN LANG="en-US">Raw
198 data format</SPAN></B></A></P>
199 <P CLASS="msonormal">&nbsp;</P>
200 <P LANG="en-GB" CLASS="msonormal">The SPD raw data are decoded by the
201 <B>AliITSRawStreamSPD</B> class.</P>
202 <P CLASS="msonormal">&nbsp;</P>
203 <P CLASS="msonormal"><SPAN LANG="en-GB">The SPD has equipment IDs
204 from 0 to 19, each corresponding to the readout of one half sector.
205 The geometrical map of the DDLs is illustrated <A HREF="http://tydes.home.cern.ch/tydes/doc/Numbering5/"><B>here</B></A>.</SPAN></P>
206 <P CLASS="msonormal"><SPAN LANG="en-GB">Each equipment</SPAN> <SPAN LANG="en-GB">starts
207 with the <I>Equipment Header</I> (15 32-bit words) of which the last
208 8 words are known as the <I>Common Data Header, CDH</I> (8 32-bit
209 words). After these headers, sometimes a <I>Calibration Header</I>
210 appears (for dedicated calibration runs). This extra header has
211 variable length, depending on the type of calibration scan. Finally,
212 there is the actual data words, i.e. which pixels are hit in the
213 event. This part has a variable length depending on the number of
214 hits. Further details on the various headers and the data word
215 formats can be found <A HREF="http://tydes.home.cern.ch/tydes/doc/DataFormat/"><B>here</B></A>.</SPAN></P>
216 <P CLASS="msonormal">&nbsp;</P>
217 <P CLASS="msonormal">&nbsp;</P>
218 <P LANG="en-US" STYLE="margin-bottom: 0cm">=================================================================================================================</P>
219 <P STYLE="margin-bottom: 0cm">&nbsp;</P>
220 <P><A NAME="punto_3"></A><A HREF="#Content"><B><SPAN LANG="en-US">Simulation</SPAN></B></A></P>
221 <P LANG="en-US" STYLE="margin-bottom: 0cm">The SPD digitization is
222 implemented in the <B>AliITSsimulationSPD</B> class and managed via
223 the <B>AliITSDetTypeSim</B> class.</P>
224 <P LANG="en-US" STYLE="margin-bottom: 0cm">It is based on the
225 following working scheme:</P>
226 <P STYLE="margin-bottom: 0cm">&nbsp;</P>
227 <P LANG="en-US" STYLE="margin-bottom: 0cm"><B>1) Hits --&gt; SDigits
228 (AliSimulation::RunSDigitization)</B></P>
229 <P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt; AliITS::Hits2SDigits
230 </P>
231 <P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
232 AliITS::Hits2Predigits 
233 </P>
234 <P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
235 AliITSsimulationSPD::SDigitiseModule</P>
236 <P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
237 AliITSsimulationSPD::HitToSDigitFast</P>
238 <P LANG="en-US" STYLE="margin-bottom: 0cm">- read hits, gets
239 parameters for diffusion (temperature, thickness over bias voltage,
240 asymmetry of gaussian diffusion, etc.) and for electronic coupling
241 from OCDB</P>
242 <P LANG="en-US" STYLE="margin-bottom: 0cm">- apply electron cloud
243 diffusion (gaussian smearing) along z and r*phi</P>
244 <P LANG="en-US" STYLE="margin-bottom: 0cm">- eventually apply the
245 Lorentz drift to the electron cloud (by default null Lorentz drift) 
246 </P>
247 <P LANG="en-US" STYLE="margin-bottom: 0cm">- apply coupling between
248 adiacent pixels</P>
249 <P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
250 AliITSsimulationSPD::RemoveDeadPixel</P>
251 <P LANG="en-US" STYLE="margin-bottom: 0cm">-&nbsp; remove dead pixels
252 as stored in the calibration object</P>
253 <P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
254 AliITSsimulationSPD::WriteSDigits</P>
255 <P LANG="en-US" STYLE="margin-bottom: 0cm">- write SDigits to file,
256 basically call AliITS::AddSumDigit (which calls
257 AliITSDetTypeSim::AddSumDigit) to write SDigits (AliITSpListItem) to
258 file</P>
259 <P LANG="en-US" STYLE="margin-bottom: 0cm"><B>2) SDigits --&gt;
260 Digits (AliSimulation::RunDigitization)</B></P>
261 <P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
262 AliITSDigitizer::Exec</P>
263 <P LANG="en-US" STYLE="margin-bottom: 0cm">- load SDigits</P>
264 <P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
265 AliITSsimulationSPD::FinishSDigitiseModule</P>
266 <P LANG="en-US" STYLE="margin-bottom: 0cm">- call
267 AliITSsimulationSPD::FrompListToDigits</P>
268 <P LANG="en-US" STYLE="margin-bottom: 0cm">- eventually add
269 electronic baseline and noise, perform the zero suppression and add
270 the digits to the list&nbsp; (by calling AliITS::AddSimDigit)</P>
271 <P STYLE="margin-bottom: 0cm">&nbsp;</P>
272 <P STYLE="margin-bottom: 0cm"><SPAN LANG="en-US">A detailed
273 description of the SPD response model (in
274 AliITSsimulationSPD::HitToSDigitFast) can be found <A HREF="https://edms.cern.ch/document/888905/1"><B>here</B></A>
275 (ALICE-INT-2008-003 and references therein). The model parameters are
276 stored in two OCDB files under $ALICE_ROOT/ITS/Calib:</SPAN></P>
277 <P LANG="en-US" STYLE="margin-bottom: 0cm">1) RespSPD: contains 1
278 AliITSresponseSPD object with parameters common to all the modules
279 (coupling type and diffusion asymmetry)</P>
280 <P LANG="en-US" STYLE="margin-bottom: 0cm">2) SPDDead: contains 1
281 TOjArray with 240 AliITSCalibrationSPD objects, i.e. 1
282 AliITSCalibrationSPD object for each module with the list of dead
283 pixels (see calibration section below) and the other parameters
284 needed to the response model (threshold, noise, coupling strength,
285 bias-over-voltage) 
286 </P>
287 <P STYLE="margin-bottom: 0cm">&nbsp;</P>
288 <P STYLE="margin-bottom: 0cm">&nbsp;</P>
289 <P LANG="en-US" STYLE="margin-bottom: 0cm">========================================================================================================================</P>
290 <P STYLE="margin-bottom: 0cm">&nbsp;</P>
291 <P><A NAME="punto_4"></A><A HREF="#Content"><B><SPAN LANG="en-US">Local
292 Reconstruction</SPAN></B></A></P>
293 <P LANG="en-US" STYLE="margin-bottom: 0cm">The SPD local
294 reconstruction is implemented in <B>AliITSClusterFinderV2SPD </B>class
295 and managed via the <B>AliITSDetTypeRec</B> class.</P>
296 <P LANG="en-US" STYLE="margin-bottom: 0cm">It is based on the
297 following working scheme:</P>
298 <P STYLE="margin-bottom: 0cm">&nbsp;</P>
299 <P LANG="en-US" STYLE="margin-bottom: 0cm"><B>Cluster Finding
300 (AliReconstruction::RunLocalEventReconstruction)</B></P>
301 <P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
302 AliITSReconstructor::Reconstruct</P>
303 <P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
304 AliITSDetTypeRec::DigitsToRecPoints 
305 </P>
306 <P LANG="en-US" STYLE="margin-bottom: 0cm">- Based on the input data
307 (simulation digits or simulation/real raw data), there are two
308 possibilities:</P>
309 <P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">A)
310 <U>RECONSTRUCTION FROM DIGITS</U></SPAN></P>
311 <P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">-&gt;
312 AliITSClusterFinderV2SPD::FindRawClusters</SPAN></P>
313 <P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- call
314 AliITSClusterFinderV2SPD::FindClustersSPD</SPAN></P>
315 <P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- build
316 AliBin array from digit tree</SPAN></P>
317 <P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- call
318 AliITSClusterFinderV2SPD::ClustersSPD</SPAN></P>
319 <P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">B)
320 <U>RECONSTRUCTION FROM RAW DATA </U></SPAN>
321 </P>
322 <P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">-&gt;
323 AliITSClusterFinderV2SPD::RawdataToClusters</SPAN></P>
324 <P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">-
325 instantiate AliITSRawStreamSPD object</SPAN></P>
326 <P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- call
327 AliITSClusterFinderV2SPD::FindClustersSPD</SPAN></P>
328 <P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- build
329 AliBin array from raw data</SPAN></P>
330 <P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- call
331 AliITSClusterFinderV2SPD::ClustersSPD</SPAN></P>
332 <P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt; AliITS
333 ClusterFinderV2SPD::ClustersSPD</P>
334 <P LANG="en-US" STYLE="margin-bottom: 0cm">- loop on dead pixels as
335 stored in the calibration objects and reset them (corresponding
336 AliBin elements)</P>
337 <P LANG="en-US" STYLE="margin-bottom: 0cm">- loop on AliBin elements
338 and:</P>
339 <P LANG="en-US" STYLE="margin-bottom: 0cm">1) find cluster
340 (FindCluster)</P>
341 <P LANG="en-US" STYLE="margin-bottom: 0cm">2) unfold cluster if
342 allowed (this is set via AliITSRecoParam, the default is unfolding
343 off)</P>
344 <P LANG="en-US" STYLE="margin-bottom: 0cm">3) calculate cluster
345 coordinates and sigmas</P>
346 <P LANG="en-US" STYLE="margin-bottom: 0cm">4) add cluster to cluster
347 array</P>
348 <P STYLE="margin-bottom: 0cm">&nbsp;</P>
349 <P STYLE="margin-bottom: 0cm">&nbsp;</P>
350 <P LANG="en-US" STYLE="margin-bottom: 0cm">===============================================================================================================================</P>
351 <P STYLE="margin-bottom: 0cm">&nbsp;</P>
352 <P><A NAME="punto_5"></A><A HREF="#Content"><B><SPAN LANG="en-US">Calibration
353 and DAs</SPAN></B></A></P>
354 <P LANG="en-GB">For the SPD there are two types of processes, called
355 <I>Detector Algoritms (DAs)</I>, running on the <I>DAQ</I> network to
356 produce output transported via the <I>File Exchange Server (FXS)</I>
357 to the <I>Offline</I> and <I>Detector Control System (DCS)</I>
358 networks. The following picture illustrates how the Online
359 Calibration scheme works:</P>
360 <P ALIGN=CENTER><SPAN LANG="en-GB"><BR><!--[if gte vml 1]><v:shape id="_x0000_i1027" type="#_x0000_t75" alt=""
361  style='width:384pt;height:254.25pt'>
362  <v:imagedata src="spdim003.jpg" o:href="spdim003.jpg">
363 </v:shape><![endif]--></SPAN><IMG SRC="spdim003.jpg" NAME="Graphic3" ALIGN=BOTTOM WIDTH=512 HEIGHT=339 BORDER=0></P>
364 <P>&nbsp;</P>
365 <P><SPAN LANG="en-GB">In case <I>a</I> the calibration is performed
366 as a <B>standalone scan</B>. The raw data collected on the <I>Local
367 Data Concentrators (LDCs)</I> are analyzed. In case <I>b</I> the
368 calibration is performed on a regular <B>physics run</B> and the data
369 is analyzed online through the <I>DATE</I> monitoring functionality.
370 Further details on the types of runs and scans and a global overview
371 of the SPD calibration can be found <A HREF="http://tydes.home.cern.ch/tydes/doc/CalibrationOverview/"><B>here</B></A>.</SPAN></P>
372 <P LANG="en-GB" CLASS="msonormal">The so-called <I>Shuttle</I> brings
373 the output files from the <I>FXS</I> to <I>DCS</I> and <I>Offline</I>
374 networks. Here the data go through a second level of processing,
375 generally called preprocessing. Finally, the <I>Offline Calibration
376 Database (OCDB)</I> and the <I>DCS Configuration Database</I> are
377 updated. 
378 </P>
379 <P LANG="en-GB" CLASS="msonormal">The procedures also produce
380 so-called <I>Reference Data</I>, basically raw data summaries, which
381 can later be used offline to reconstruct the calibration output. This
382 may be useful for instance for debugging purposes. A <I>Reference
383 Data Displayer</I> (GUI) program has been developed to simplify the
384 analysis of the Reference Data.</P>
385 <P LANG="en-GB" STYLE="margin-bottom: 0cm">The two top level classes
386 corresponding to Standalone Calibration Runs and Physics Runs are
387 <B>ITSSPDSCANda</B> and <B>ITSSPDPHYSda</B> respectively. The <I>Offline
388 Preprocessing</I> is implemented in the <B>AliITSPreprocessorSPD</B>
389 class. It takes care of saving the reference data and put information
390 relevant for the offline reconstruction (lists of dead and noisy
391 pixels) in the OCDB.</P>
392 <P LANG="en-GB" STYLE="margin-bottom: 0cm">The calibration files in
393 the OCDB are stored in two directories under $ALICE_ROOT/ITS/Calib:</P>
394 <P STYLE="margin-bottom: 0cm"><SPAN LANG="en-GB">1</SPAN><SPAN LANG="en-US">)
395 SPDDead: contains 1 TOjArray with 240 AliITSCalibrationSPD objects,
396 i.e. 1 AliITSCalibrationSPD object for each module with the list of
397 dead pixels and some parameters needed to the response model </SPAN>
398 </P>
399 <P STYLE="margin-bottom: 0cm"><SPAN LANG="en-GB">2) SPDNoisy:
400 conatins </SPAN><SPAN LANG="en-US">1 TOjArray with 240
401 AliITSCalibrationSPD objects, i.e. 1 AliITSCalibrationSPD object for
402 each module with the list of noisy pixels</SPAN></P>
403 <P STYLE="margin-bottom: 0cm"><SPAN LANG="en-GB">The noisy pixel
404 search is always based on one run only. There is a minimum number of
405 events required to do the search which is basically performed at the
406 level of one read-out chip (8192 pixels). The dead pixel search may
407 span several runs, in order to collect more statistics (which is
408 mandatory for the p-p runs). Also here there is a minimum number of
409 events required to even try to perform the search. The search
410 requires that a noisy pixel search has been done first. The noisy
411 pixels are then removed from the hit-maps before the dead pixel
412 search. Also the dead pixel search is basically performed on the
413 level of one read-out chip. For further details on the dead and noisy
414 pixel search see <A HREF="http://tydes.home.cern.ch/tydes/doc/CalibrationOverview/CalibrationAlgorithms/noisydead/"><B>here</B></A>.</SPAN></P>
415 </BODY>
416 </HTML>