]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/doc/doc_spd.html
Added backward refit, ITS/TPC matching check. Cuts are added to
[u/mrichter/AliRoot.git] / ITS / doc / doc_spd.html
CommitLineData
d6882b38 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>
13v\:* {behavior:url(#default#VML);}
14o\:* {behavior:url(#default#VML);}
15w\:* {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>
58st1\:*{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
101of 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
110module 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
113data 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
118reconstruction</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
121and 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
125module geometrical description</SPAN></B></A></P>
126<P LANG="en-US" STYLE="margin-bottom: 0cm">The SPD module geometrical
127description is managed by the <B>AliITSsegmentationSPD</B> class.&nbsp;
128</P>
129<P LANG="en-US" STYLE="margin-bottom: 0cm">This offline module
130corresponds to half of a single SPD basic unit (the half-stave which
131is made of 2 ladders), so it corresponds to a single SPD ladder. In
132total the SPD consists of 240 modules, 80 on the inner layer and 160
133on the outer layer. The module is divided into 5 chips with the
134corresponding sensor cells connected to 5 independent read-out
135matrices.
136</P>
137<P LANG="en-US" STYLE="margin-bottom: 0cm">The single pixel cell size
138is 425 microns (local Z) x 50 microns (local X). Pixels at the
139boundary between adjacent chips in the module are 625 microns wide in
140Z.</P>
141<P LANG="en-US" STYLE="margin-bottom: 0cm">The single chip has 32
142columns (local Z) x 256 rows (local X).</P>
143<P LANG="en-US" STYLE="margin-bottom: 0cm">The single module size is
1446.96 cm (local Z) x 1.28 cm (local X). The sensor is 200 microns
145thick. 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
148and the correspondence between online and offline conventions are
149illustrated <A HREF="http://tydes.home.cern.ch/tydes/doc/Numbering5/"><B><FONT COLOR="#0000ff">here</FONT></B></A>.
150In 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
152are 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
179are numbered (the rows of the matrix represent different equipment
180ids, the columns have the 2 ladders of hs0, the 2 ladders of hs1, and
181so on...). <BR>Then one also needs to take the columns and rows
182numbering into account.
183</P>
184<P LANG="en-GB" CLASS="msonormal">To make the conversion between
185online and offline coordinates there are the following static member
186functions 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
198data 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
204from 0 to 19, each corresponding to the readout of one half sector.
205The 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
207with the <I>Equipment Header</I> (15 32-bit words) of which the last
2088 words are known as the <I>Common Data Header, CDH</I> (8 32-bit
209words). After these headers, sometimes a <I>Calibration Header</I>
210appears (for dedicated calibration runs). This extra header has
211variable length, depending on the type of calibration scan. Finally,
212there is the actual data words, i.e. which pixels are hit in the
213event. This part has a variable length depending on the number of
214hits. Further details on the various headers and the data word
215formats 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
222implemented in the <B>AliITSsimulationSPD</B> class and managed via
223the <B>AliITSDetTypeSim</B> class.</P>
224<P LANG="en-US" STYLE="margin-bottom: 0cm">It is based on the
225following 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;
232AliITS::Hits2Predigits
233</P>
234<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
235AliITSsimulationSPD::SDigitiseModule</P>
236<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
237AliITSsimulationSPD::HitToSDigitFast</P>
238<P LANG="en-US" STYLE="margin-bottom: 0cm">- read hits, gets
239parameters for diffusion (temperature, thickness over bias voltage,
240asymmetry of gaussian diffusion, etc.) and for electronic coupling
241from OCDB</P>
242<P LANG="en-US" STYLE="margin-bottom: 0cm">- apply electron cloud
243diffusion (gaussian smearing) along z and r*phi</P>
244<P LANG="en-US" STYLE="margin-bottom: 0cm">- eventually apply the
245Lorentz drift to the electron cloud (by default null Lorentz drift)
246</P>
247<P LANG="en-US" STYLE="margin-bottom: 0cm">- apply coupling between
248adiacent pixels</P>
249<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
250AliITSsimulationSPD::RemoveDeadPixel</P>
251<P LANG="en-US" STYLE="margin-bottom: 0cm">-&nbsp; remove dead pixels
252as stored in the calibration object</P>
253<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
254AliITSsimulationSPD::WriteSDigits</P>
255<P LANG="en-US" STYLE="margin-bottom: 0cm">- write SDigits to file,
256basically call AliITS::AddSumDigit (which calls
257AliITSDetTypeSim::AddSumDigit) to write SDigits (AliITSpListItem) to
258file</P>
259<P LANG="en-US" STYLE="margin-bottom: 0cm"><B>2) SDigits --&gt;
260Digits (AliSimulation::RunDigitization)</B></P>
261<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
262AliITSDigitizer::Exec</P>
263<P LANG="en-US" STYLE="margin-bottom: 0cm">- load SDigits</P>
264<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
265AliITSsimulationSPD::FinishSDigitiseModule</P>
266<P LANG="en-US" STYLE="margin-bottom: 0cm">- call
267AliITSsimulationSPD::FrompListToDigits</P>
268<P LANG="en-US" STYLE="margin-bottom: 0cm">- eventually add
269electronic baseline and noise, perform the zero suppression and add
270the 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
273description of the SPD response model (in
274AliITSsimulationSPD::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
276stored in two OCDB files under $ALICE_ROOT/ITS/Calib:</SPAN></P>
277<P LANG="en-US" STYLE="margin-bottom: 0cm">1) RespSPD: contains 1
278AliITSresponseSPD 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
281TOjArray with 240 AliITSCalibrationSPD objects, i.e. 1
282AliITSCalibrationSPD object for each module with the list of dead
283pixels (see calibration section below) and the other parameters
284needed to the response model (threshold, noise, coupling strength,
285bias-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
292Reconstruction</SPAN></B></A></P>
293<P LANG="en-US" STYLE="margin-bottom: 0cm">The SPD local
294reconstruction is implemented in <B>AliITSClusterFinderV2SPD </B>class
295and managed via the <B>AliITSDetTypeRec</B> class.</P>
296<P LANG="en-US" STYLE="margin-bottom: 0cm">It is based on the
297following 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;
302AliITSReconstructor::Reconstruct</P>
303<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
304AliITSDetTypeRec::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
308possibilities:</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;
312AliITSClusterFinderV2SPD::FindRawClusters</SPAN></P>
313<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- call
314AliITSClusterFinderV2SPD::FindClustersSPD</SPAN></P>
315<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- build
316AliBin array from digit tree</SPAN></P>
317<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- call
318AliITSClusterFinderV2SPD::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;
323AliITSClusterFinderV2SPD::RawdataToClusters</SPAN></P>
324<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">-
325instantiate AliITSRawStreamSPD object</SPAN></P>
326<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- call
327AliITSClusterFinderV2SPD::FindClustersSPD</SPAN></P>
328<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- build
329AliBin array from raw data</SPAN></P>
330<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- call
331AliITSClusterFinderV2SPD::ClustersSPD</SPAN></P>
332<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt; AliITS
333ClusterFinderV2SPD::ClustersSPD</P>
334<P LANG="en-US" STYLE="margin-bottom: 0cm">- loop on dead pixels as
335stored in the calibration objects and reset them (corresponding
336AliBin elements)</P>
337<P LANG="en-US" STYLE="margin-bottom: 0cm">- loop on AliBin elements
338and:</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
342allowed (this is set via AliITSRecoParam, the default is unfolding
343off)</P>
344<P LANG="en-US" STYLE="margin-bottom: 0cm">3) calculate cluster
345coordinates and sigmas</P>
346<P LANG="en-US" STYLE="margin-bottom: 0cm">4) add cluster to cluster
347array</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
353and 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
356produce output transported via the <I>File Exchange Server (FXS)</I>
357to the <I>Offline</I> and <I>Detector Control System (DCS)</I>
358networks. The following picture illustrates how the Online
359Calibration 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
366as a <B>standalone scan</B>. The raw data collected on the <I>Local
367Data Concentrators (LDCs)</I> are analyzed. In case <I>b</I> the
368calibration is performed on a regular <B>physics run</B> and the data
369is analyzed online through the <I>DATE</I> monitoring functionality.
370Further details on the types of runs and scans and a global overview
371of 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
373the output files from the <I>FXS</I> to <I>DCS</I> and <I>Offline</I>
374networks. Here the data go through a second level of processing,
375generally called preprocessing. Finally, the <I>Offline Calibration
376Database (OCDB)</I> and the <I>DCS Configuration Database</I> are
377updated.
378</P>
379<P LANG="en-GB" CLASS="msonormal">The procedures also produce
380so-called <I>Reference Data</I>, basically raw data summaries, which
381can later be used offline to reconstruct the calibration output. This
382may be useful for instance for debugging purposes. A <I>Reference
383Data Displayer</I> (GUI) program has been developed to simplify the
384analysis of the Reference Data.</P>
385<P LANG="en-GB" STYLE="margin-bottom: 0cm">The two top level classes
386corresponding to Standalone Calibration Runs and Physics Runs are
387<B>ITSSPDSCANda</B> and <B>ITSSPDPHYSda</B> respectively. The <I>Offline
388Preprocessing</I> is implemented in the <B>AliITSPreprocessorSPD</B>
389class. It takes care of saving the reference data and put information
390relevant for the offline reconstruction (lists of dead and noisy
391pixels) in the OCDB.</P>
392<P LANG="en-GB" STYLE="margin-bottom: 0cm">The calibration files in
393the 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">)
395SPDDead: contains 1 TOjArray with 240 AliITSCalibrationSPD objects,
396i.e. 1 AliITSCalibrationSPD object for each module with the list of
397dead pixels and some parameters needed to the response model </SPAN>
398</P>
399<P STYLE="margin-bottom: 0cm"><SPAN LANG="en-GB">2) SPDNoisy:
400conatins </SPAN><SPAN LANG="en-US">1 TOjArray with 240
401AliITSCalibrationSPD objects, i.e. 1 AliITSCalibrationSPD object for
402each module with the list of noisy pixels</SPAN></P>
403<P STYLE="margin-bottom: 0cm"><SPAN LANG="en-GB">The noisy pixel
404search is always based on one run only. There is a minimum number of
405events required to do the search which is basically performed at the
406level of one read-out chip (8192 pixels). The dead pixel search may
407span several runs, in order to collect more statistics (which is
408mandatory for the p-p runs). Also here there is a minimum number of
409events required to even try to perform the search. The search
410requires that a noisy pixel search has been done first. The noisy
411pixels are then removed from the hit-maps before the dead pixel
412search. Also the dead pixel search is basically performed on the
413level of one read-out chip. For further details on the dead and noisy
414pixel search see <A HREF="http://tydes.home.cern.ch/tydes/doc/CalibrationOverview/CalibrationAlgorithms/noisydead/"><B>here</B></A>.</SPAN></P>
415</BODY>
416</HTML>