]>
Commit | Line | Data |
---|---|---|
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> | |
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 — May 8, 2008 | |
102 | — 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"> </P> | |
108 | <P STYLE="margin-left: 1.27cm; margin-top: 0.18cm; margin-bottom: 0cm"> | |
109 | <SPAN LANG="en-US">1. </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. </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. </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. </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. </SPAN><A HREF="#punto_5"><SPAN LANG="en-US">Calibration | |
121 | and DAs</SPAN></A></P> | |
122 | <P STYLE="margin-bottom: 0cm"> </P> | |
123 | <P STYLE="margin-bottom: 0cm"> </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. | |
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. | |
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"> </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> </P> | |
194 | <P CLASS="msonormal" ALIGN=CENTER> </P> | |
195 | <P LANG="en-US" STYLE="margin-bottom: 0cm">=================================================================================================================</P> | |
196 | <P STYLE="margin-bottom: 0cm"> </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"> </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"> </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"> </P> | |
217 | <P CLASS="msonormal"> </P> | |
218 | <P LANG="en-US" STYLE="margin-bottom: 0cm">=================================================================================================================</P> | |
219 | <P STYLE="margin-bottom: 0cm"> </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"> </P> | |
227 | <P LANG="en-US" STYLE="margin-bottom: 0cm"><B>1) Hits --> SDigits | |
228 | (AliSimulation::RunSDigitization)</B></P> | |
229 | <P LANG="en-US" STYLE="margin-bottom: 0cm">-> AliITS::Hits2SDigits | |
230 | </P> | |
231 | <P LANG="en-US" STYLE="margin-bottom: 0cm">-> | |
232 | AliITS::Hits2Predigits | |
233 | </P> | |
234 | <P LANG="en-US" STYLE="margin-bottom: 0cm">-> | |
235 | AliITSsimulationSPD::SDigitiseModule</P> | |
236 | <P LANG="en-US" STYLE="margin-bottom: 0cm">-> | |
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">-> | |
250 | AliITSsimulationSPD::RemoveDeadPixel</P> | |
251 | <P LANG="en-US" STYLE="margin-bottom: 0cm">- remove dead pixels | |
252 | as stored in the calibration object</P> | |
253 | <P LANG="en-US" STYLE="margin-bottom: 0cm">-> | |
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 --> | |
260 | Digits (AliSimulation::RunDigitization)</B></P> | |
261 | <P LANG="en-US" STYLE="margin-bottom: 0cm">-> | |
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">-> | |
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 (by calling AliITS::AddSimDigit)</P> | |
271 | <P STYLE="margin-bottom: 0cm"> </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"> </P> | |
288 | <P STYLE="margin-bottom: 0cm"> </P> | |
289 | <P LANG="en-US" STYLE="margin-bottom: 0cm">========================================================================================================================</P> | |
290 | <P STYLE="margin-bottom: 0cm"> </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"> </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">-> | |
302 | AliITSReconstructor::Reconstruct</P> | |
303 | <P LANG="en-US" STYLE="margin-bottom: 0cm">-> | |
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"> <SPAN LANG="en-US">A) | |
310 | <U>RECONSTRUCTION FROM DIGITS</U></SPAN></P> | |
311 | <P STYLE="margin-bottom: 0cm"> <SPAN LANG="en-US">-> | |
312 | AliITSClusterFinderV2SPD::FindRawClusters</SPAN></P> | |
313 | <P STYLE="margin-bottom: 0cm"> <SPAN LANG="en-US">- call | |
314 | AliITSClusterFinderV2SPD::FindClustersSPD</SPAN></P> | |
315 | <P STYLE="margin-bottom: 0cm"> <SPAN LANG="en-US">- build | |
316 | AliBin array from digit tree</SPAN></P> | |
317 | <P STYLE="margin-bottom: 0cm"> <SPAN LANG="en-US">- call | |
318 | AliITSClusterFinderV2SPD::ClustersSPD</SPAN></P> | |
319 | <P STYLE="margin-bottom: 0cm"> <SPAN LANG="en-US">B) | |
320 | <U>RECONSTRUCTION FROM RAW DATA </U></SPAN> | |
321 | </P> | |
322 | <P STYLE="margin-bottom: 0cm"> <SPAN LANG="en-US">-> | |
323 | AliITSClusterFinderV2SPD::RawdataToClusters</SPAN></P> | |
324 | <P STYLE="margin-bottom: 0cm"> <SPAN LANG="en-US">- | |
325 | instantiate AliITSRawStreamSPD object</SPAN></P> | |
326 | <P STYLE="margin-bottom: 0cm"> <SPAN LANG="en-US">- call | |
327 | AliITSClusterFinderV2SPD::FindClustersSPD</SPAN></P> | |
328 | <P STYLE="margin-bottom: 0cm"> <SPAN LANG="en-US">- build | |
329 | AliBin array from raw data</SPAN></P> | |
330 | <P STYLE="margin-bottom: 0cm"> <SPAN LANG="en-US">- call | |
331 | AliITSClusterFinderV2SPD::ClustersSPD</SPAN></P> | |
332 | <P LANG="en-US" STYLE="margin-bottom: 0cm">-> 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"> </P> | |
349 | <P STYLE="margin-bottom: 0cm"> </P> | |
350 | <P LANG="en-US" STYLE="margin-bottom: 0cm">===============================================================================================================================</P> | |
351 | <P STYLE="margin-bottom: 0cm"> </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> </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> |