Update documentation (SPD, SSD, multiplicity)
authormasera <masera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 18 May 2008 08:49:08 +0000 (08:49 +0000)
committermasera <masera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 18 May 2008 08:49:08 +0000 (08:49 +0000)
ITS/doc/doc_ITS.html
ITS/doc/doc_sdd.html
ITS/doc/doc_spd.html [new file with mode: 0644]
ITS/doc/doc_ssd.html [new file with mode: 0644]
ITS/doc/spdim001.gif [new file with mode: 0644]
ITS/doc/spdim002.gif [new file with mode: 0644]
ITS/doc/spdim003.jpg [new file with mode: 0644]

index 6eede26..405fa1c 100644 (file)
@@ -5,7 +5,7 @@
        <TITLE></TITLE>
        <META NAME="GENERATOR" CONTENT="OpenOffice.org 1.1.5  (Linux)">
        <META NAME="CREATED" CONTENT="20080430;10144900">
-       <META NAME="CHANGED" CONTENT="20080430;12004900">
+       <META NAME="CHANGED" CONTENT="20080516;19440900">
        <STYLE>
        <!--
                @page { size: 21.59cm 27.94cm; margin: 2.01cm }
 <FONT FACE="Albany, sans-serif"><FONT SIZE=4>============================================================================</FONT></FONT></P>
 <P STYLE="margin-top: 0.42cm; margin-bottom: 0.5cm; page-break-after: avoid">
 <FONT FACE="Albany, sans-serif"><FONT SIZE=4>Description of ALICE ITS
-Code (Rev. 0.2; May, 5<SUP>th</SUP> 2008;  M. Masera)</FONT></FONT></P>
+Code (Rev. 0.3 &#8212;  May, 16<SUP>th</SUP> 2008 &#8212; M. Masera)</FONT></FONT></P>
 <P STYLE="margin-top: 0.42cm; margin-bottom: 0.5cm; page-break-after: avoid">
 <FONT FACE="Albany, sans-serif"><FONT SIZE=4>============================================================================</FONT></FONT></P>
 <P STYLE="margin-bottom: 0cm"><STRONG><FONT SIZE=4 STYLE="font-size: 16pt">Contents</FONT></STRONG></P>
 <P STYLE="margin-bottom: 0cm"><BR>
 </P>
 <P STYLE="margin-bottom: 0cm"><A NAME="punto 1"></A>The goal of this
-document is to give a  concise description of the ITS software. For
+document is to give a concise description of the ITS software. For
 more general information the reader is referred to the ALICE <A HREF="http://aliceinfo.cern.ch/Offline/AliRoot/Manual.html">offline
 documentation</A>.</P>
 <P STYLE="margin-bottom: 0cm">The reader is assumed to have a basic
@@ -33,17 +33,15 @@ knowledge of AliRoot and of the Inner Tracking System Detector.</P>
 <P STYLE="margin-bottom: 0cm">The documentation is organized in the
 following sections:</P>
 <OL>
-       <LI><P STYLE="margin-bottom: 0cm"><B>SPD. </B><SPAN STYLE="font-weight: medium">This
-       section</SPAN><B> </B>gives information on SPD simulation, local
-       reconstruction, calibration and specific run types.  <FONT COLOR="#dc2300">To
-       be written</FONT>.</P>
+       <LI><P STYLE="margin-bottom: 0cm"><B><A HREF="doc_spd.html">SPD</A>.
+       </B>This section gives information on SPD simulation, local
+       reconstruction, calibration and specific run types. Author: D. Elia.</P>
        <LI><P STYLE="margin-bottom: 0cm"><B><A HREF="doc_sdd.html">SDD</A>.</B>
-        As above. Author: F. Prino.</P>
-       <LI><P STYLE="margin-bottom: 0cm"><B>SSD.</B> As above. <FONT COLOR="#dc2300">To
-       be written</FONT>.</P>
-       <LI><P STYLE="margin-bottom: 0cm"><B><A HREF="doc_itsgeo.html">Geometry</A>.</B> In this section a
-       short description of  the implementation of the ITS geometry used
-       for simulation and reconstruction is given.</P>
+       As above. Author: F. Prino.</P>
+       <LI><P STYLE="margin-bottom: 0cm"><B><A HREF="doc_ssd.html">SSD</A>.</B> As above. Author: E. Fragiacomo.</P>
+       <LI><P STYLE="margin-bottom: 0cm"><B><A HREF="doc_itsgeo.html">Geometry</A>.</B>
+       In this section a short description of the implementation of the ITS
+       geometry used for simulation and reconstruction is given.</P>
        <LI><P STYLE="margin-bottom: 0cm"><B>ITS tracking.</B> This section
        provides information on the trackers used to prolong track
        candidates from the TPC (AliITStrackerMI class) and to find and fit
@@ -52,11 +50,33 @@ following sections:</P>
        written</FONT>. 
        </P>
        <LI><P STYLE="margin-bottom: 0cm"><B>Primary vertex measurement.</B>
-        This section describes the vertexers (AliITSVertexerZ and
+       This section describes the vertexers (AliITSVertexerZ and
        AliITSVertexer3D) used to provide a first estimete on the postition
        of the primary vertex position based on the local reconstruction of
        the 2 pixel layers. Author: M. Masera. <FONT COLOR="#dc2300">To be
        written</FONT>.</P>
+       <LI><P STYLE="margin-bottom: 0cm"><B>Charged particle multiplicity.
+       </B><SPAN STYLE="font-weight: medium">(Author: T. Virgili)</SPAN><B>
+       </B> The charged particle multiplicity is determined with the
+       <B>AliITSMultReconstructor</B> class, which measures the number of
+       clusters and tracklets.<BR>A <I>tracklet </I>consists of two ITS
+       clusters, one in the first pixel layer and one in the second. The
+       clusters are associates if  differences in <I>Phi </I>(azimuth) and
+       <I>Zeta</I> (longitudinal coordinate) are inside a fiducial region,
+       defined by appropriate cuts These cuts depend on the interacting
+       system (p-p or Pb-Pb) and can be set via <B>SetPhiWindow </B>and
+       <B>SetZetaWindow methods. </B>In case of multiple candidates, the
+       one with minimal azimuthal difference is chosen. <BR>It is also
+       possible to control if two clusters in layer 2 can be associated to
+       the same cluster in layer 1 or not. This is defined by means of the
+       <B>AssociationChoice</B> (TRUE means double associations exluded;
+       default = TRUE) method.<BR>The method <B>GetNTracklets</B> returns
+       the number of tracklets and the relative information: <B>theta</B>
+       and <B>phi </B>of the tracklet (as measured by layer 1), <B>Delta
+       phi</B> (phi difference between layer 1 and 2), the label of the
+       particle(s) producing the clusters.<BR>The unassociated clusters can
+       be retrieved by the method <B>GetNSingleClusters</B>.<BR><BR>
+       </P>
 </OL>
 <P STYLE="margin-bottom: 0cm"><BR>
 </P>
index 6bd3ded..cd96a8c 100644 (file)
@@ -18,8 +18,8 @@
 <FONT FACE="Albany, sans-serif"><FONT SIZE=4>============================================================================</FONT></FONT></P>
 <P STYLE="margin-top: 0.42cm; margin-bottom: 0.5cm; page-break-after: avoid">
 <FONT FACE="Albany, sans-serif"><FONT SIZE=4>Description of ALICE
-Silicon Drift Detector (SDD) Code   (Rev. 1 – April, 30<SUP>th</SUP>
-2008 – F. Prino)</FONT></FONT></P>
+Silicon Drift Detector (SDD) Code   (Rev. 2  &#8212; May, 17<SUP>th</SUP>
+2008 &#8212; F. Prino)</FONT></FONT></P>
 <P STYLE="margin-top: 0.42cm; margin-bottom: 0.5cm; page-break-after: avoid">
 <FONT FACE="Albany, sans-serif"><FONT SIZE=4>============================================================================</FONT></FONT></P>
 <P STYLE="margin-bottom: 0cm"><A NAME="Content"></A><STRONG><FONT SIZE=4 STYLE="font-size: 16pt">Content</FONT></STRONG>
@@ -248,6 +248,7 @@ Carlos Number
 </P>
 <P STYLE="margin-bottom: 0cm">SDD use 23 DDL each reading up to 12
 Carlos cards (=12 modules)</P>
+<P STYLE="margin-bottom: 0cm">Details on geometrical mapping can be found <A HREF="http://www.to.infn.it/~prino/alice/sddgeo/sddgeo.html">here</A>.</P>
 <P STYLE="margin-bottom: 0cm"><BR>
 </P>
 <P STYLE="margin-bottom: 0cm">Update in OCDB: every time the hardware
@@ -519,4 +520,4 @@ Reference/ITS/DCS/DataSDD.</P>
 <P STYLE="margin-bottom: 0cm">Object stored: 1 TClonesArray of 260
 AliITSDCSDataSDD (q for each module)</P>
 </BODY>
-</HTML>
\ No newline at end of file
+</HTML>
diff --git a/ITS/doc/doc_spd.html b/ITS/doc/doc_spd.html
new file mode 100644 (file)
index 0000000..761a642
--- /dev/null
@@ -0,0 +1,416 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+       <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
+       <TITLE></TITLE>
+       <META NAME="GENERATOR" CONTENT="OpenOffice.org 1.1.5  (Linux)">
+       <META NAME="CREATED" CONTENT="20080430;10144900">
+       <META NAME="CHANGED" CONTENT="20080518;10080400">
+       <META NAME="ProgId" CONTENT="Word.Document">
+       <META NAME="Originator" CONTENT="Microsoft Word 11">
+       <!--[if !mso]>
+<style>
+v\:* {behavior:url(#default#VML);}
+o\:* {behavior:url(#default#VML);}
+w\:* {behavior:url(#default#VML);}
+.shape {behavior:url(#default#VML);}
+</style>
+<![endif]-->
+       <!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Author>Domenico Elia</o:Author>
+  <o:Template>Normal</o:Template>
+  <o:LastAuthor>Domenico Elia</o:LastAuthor>
+  <o:Revision>98</o:Revision>
+  <o:TotalTime>539</o:TotalTime>
+  <o:LastPrinted>2008-05-08T16:06:00Z</o:LastPrinted>
+  <o:Created>2008-04-30T12:51:00Z</o:Created>
+  <o:LastSaved>2008-05-08T16:57:00Z</o:LastSaved>
+  <o:Pages>1</o:Pages>
+  <o:Words>1539</o:Words>
+  <o:Characters>8775</o:Characters>
+  <o:Company>INFN Sezione di Bari</o:Company>
+  <o:Lines>73</o:Lines>
+  <o:Paragraphs>20</o:Paragraphs>
+  <o:CharactersWithSpaces>10294</o:CharactersWithSpaces>
+  <o:Version>11.6568</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]-->
+       <!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:SpellingState>Clean</w:SpellingState>
+  <w:GrammarState>Clean</w:GrammarState>
+  <w:HyphenationZone>14</w:HyphenationZone>
+  <w:ValidateAgainstSchemas/>
+  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
+  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
+  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
+  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
+ </w:WordDocument>
+</xml><![endif]-->
+       <!--[if gte mso 9]><xml>
+ <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
+ </w:LatentStyles>
+</xml><![endif]-->
+       <!--[if !mso]><object
+ classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
+<style>
+st1\:*{behavior:url(#ieooui) }
+</style>
+<![endif]-->
+       <!--[if gte mso 10]>
+<style>
+ /* Style Definitions */
+ table.MsoNormalTable
+       {mso-style-name:"Tabella normale";
+       mso-tstyle-rowband-size:0;
+       mso-tstyle-colband-size:0;
+       mso-style-noshow:yes;
+       mso-style-parent:"";
+       mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
+       mso-para-margin:0cm;
+       mso-para-margin-bottom:.0001pt;
+       mso-pagination:widow-orphan;
+       font-size:10.0pt;
+       font-family:"Times New Roman";
+       mso-ansi-language:#0400;
+       mso-fareast-language:#0400;
+       mso-bidi-language:#0400;}
+</style>
+<![endif]-->
+       <!--[if gte mso 9]><xml>
+ <o:shapedefaults v:ext="edit" spidmax="11266"/>
+</xml><![endif]-->
+       <!--[if gte mso 9]><xml>
+ <o:shapelayout v:ext="edit">
+  <o:idmap v:ext="edit" data="1"/>
+ </o:shapelayout></xml><![endif]-->
+       <STYLE>
+       <!--
+               P { color: #000000 }
+               A:link { color: #0000ff }
+               A:visited { color: #0000ff }
+       -->
+       </STYLE>
+</HEAD>
+<BODY LANG="it-IT" TEXT="#000000" LINK="#0000ff" VLINK="#0000ff" DIR="LTR">
+<P LANG="en-US" STYLE="margin-top: 0.42cm; margin-bottom: 0.5cm; page-break-after: avoid">
+<FONT FACE="Arial"><FONT SIZE=4 STYLE="font-size: 13pt">============================================================================</FONT></FONT></P>
+<P LANG="en-US" STYLE="margin-top: 0.42cm; margin-bottom: 0.5cm; page-break-after: avoid">
+<FONT FACE="Arial"><FONT SIZE=4 STYLE="font-size: 13pt">Description
+of ALICE Silicon Pixel Detector (SPD) Code (Rev. 1.00 &#8212; May 8, 2008
+&#8212; D. Elia)</FONT></FONT></P>
+<P LANG="en-US" STYLE="margin-top: 0.42cm; margin-bottom: 0.5cm; page-break-after: avoid">
+<FONT FACE="Arial"><FONT SIZE=4 STYLE="font-size: 13pt">============================================================================</FONT></FONT></P>
+<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>
+</P>
+<P STYLE="margin-bottom: 0cm">&nbsp;</P>
+<P STYLE="margin-left: 1.27cm; margin-top: 0.18cm; margin-bottom: 0cm">
+<SPAN LANG="en-US">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><A HREF="#punto_1"><SPAN LANG="en-US">SPD
+module geometrical description</SPAN></A></P>
+<P STYLE="margin-left: 1.27cm; margin-top: 0.18cm; margin-bottom: 0cm">
+<SPAN LANG="en-US">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><A HREF="#punto_2"><SPAN LANG="en-US">Raw
+data format</SPAN></A></P>
+<P STYLE="margin-left: 1.27cm; margin-top: 0.18cm; margin-bottom: 0cm">
+<SPAN LANG="en-US">3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><A HREF="#punto_3"><SPAN LANG="en-US">Simulation</SPAN></A></P>
+<P STYLE="margin-left: 1.27cm; margin-top: 0.18cm; margin-bottom: 0cm">
+<SPAN LANG="en-US">4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><A HREF="#punto_4"><SPAN LANG="en-US">Local
+reconstruction</SPAN></A></P>
+<P STYLE="margin-left: 1.27cm; margin-top: 0.18cm; margin-bottom: 0cm">
+<SPAN LANG="en-US">5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><A HREF="#punto_5"><SPAN LANG="en-US">Calibration
+and DAs</SPAN></A></P>
+<P STYLE="margin-bottom: 0cm">&nbsp;</P>
+<P STYLE="margin-bottom: 0cm">&nbsp;</P>
+<P><A NAME="punto_1"></A><A HREF="#Content"><B><SPAN LANG="en-US">SPD
+module geometrical description</SPAN></B></A></P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">The SPD module geometrical
+description is managed by the <B>AliITSsegmentationSPD</B> class.&nbsp;
+</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">This offline module
+corresponds to half of a single SPD basic unit (the half-stave which
+is made of 2 ladders), so it corresponds to a single SPD ladder. In
+total the SPD consists of 240 modules, 80 on the inner layer and 160
+on the outer layer. The module is divided into 5 chips with the
+corresponding sensor cells connected to 5 independent read-out
+matrices. 
+</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">The single pixel cell size
+is 425 microns (local Z) x 50 microns (local X). Pixels at the
+boundary between adjacent chips in the module are 625 microns wide in
+Z.</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">The single chip has 32
+columns (local Z) x 256 rows (local X).</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">The single module size is
+6.96 cm (local Z) x 1.28 cm (local X). The sensor is 200 microns
+thick. The read-out chip is 150 microns thick.&nbsp;&nbsp;&nbsp;&nbsp;
+</P>
+<P STYLE="margin-bottom: 0cm"><SPAN LANG="en-US">The module numbering
+and the correspondence between online and offline conventions are
+illustrated <A HREF="http://tydes.home.cern.ch/tydes/doc/Numbering5/"><B><FONT COLOR="#0000ff">here</FONT></B></A>.
+In the </SPAN><B><SPAN LANG="en-GB">AliITSRawStreamSPD</SPAN></B>
+<SPAN LANG="en-GB">class the raw data is decoded and so-called digits
+are extracted. Inside this class a module map matrix
+(fgkDDLModuleMap[][]) is used:</SPAN></P>
+<P CLASS="msonormal" ALIGN=CENTER><!--[if gte vml 1]><v:shapetype
+ id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
+ path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
+ <v:stroke joinstyle="miter"/>
+ <v:formulas>
+  <v:f eqn="if lineDrawn pixelLineWidth 0"/>
+  <v:f eqn="sum @0 1 0"/>
+  <v:f eqn="sum 0 0 @1"/>
+  <v:f eqn="prod @2 1 2"/>
+  <v:f eqn="prod @3 21600 pixelWidth"/>
+  <v:f eqn="prod @3 21600 pixelHeight"/>
+  <v:f eqn="sum @0 0 1"/>
+  <v:f eqn="prod @6 1 2"/>
+  <v:f eqn="prod @7 21600 pixelWidth"/>
+  <v:f eqn="sum @8 21600 0"/>
+  <v:f eqn="prod @7 21600 pixelHeight"/>
+  <v:f eqn="sum @10 21600 0"/>
+ </v:formulas>
+ <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
+ <o:lock v:ext="edit" aspectratio="t"/>
+</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" alt="" style='width:423pt;
+ height:222.75pt'>
+ <v:imagedata src="spdim001.gif"  o:href="spdim001.gif">
+</v:shape><![endif]--><IMG SRC="spdim001.gif" NAME="Graphic1" ALIGN=BOTTOM WIDTH=564 HEIGHT=297 BORDER=0></P>
+<P LANG="en-GB" CLASS="msonormal">This map specifies how the modules
+are numbered (the rows of the matrix represent different equipment
+ids, the columns have the 2 ladders of hs0, the 2 ladders of hs1, and
+so on...). <BR>Then one also needs to take the columns and rows
+numbering into account. 
+</P>
+<P LANG="en-GB" CLASS="msonormal">To make the conversion between
+online and offline coordinates there are the following static member
+functions in AliITSRawStreamSPD: 
+</P>
+<P CLASS="msonormal">&nbsp;</P>
+<P CLASS="msonormal" ALIGN=CENTER><!--[if gte vml 1]><v:shape
+ id="_x0000_i1026" type="#_x0000_t75" alt="" style='width:723pt;height:137.25pt'>
+ <v:imagedata src="spdim002.gif" o:href="spdim002.gif">
+</v:shape><![endif]--><IMG SRC="spdim002.gif" NAME="Graphic2" ALIGN=BOTTOM WIDTH=964 HEIGHT=183 BORDER=0></P>
+<P CLASS="msonormal" ALIGN=CENTER>&nbsp;</P>
+<P CLASS="msonormal" ALIGN=CENTER>&nbsp;</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">=================================================================================================================</P>
+<P STYLE="margin-bottom: 0cm">&nbsp;</P>
+<P><A NAME="punto_2"></A><A HREF="#Content"><B><SPAN LANG="en-US">Raw
+data format</SPAN></B></A></P>
+<P CLASS="msonormal">&nbsp;</P>
+<P LANG="en-GB" CLASS="msonormal">The SPD raw data are decoded by the
+<B>AliITSRawStreamSPD</B> class.</P>
+<P CLASS="msonormal">&nbsp;</P>
+<P CLASS="msonormal"><SPAN LANG="en-GB">The SPD has equipment IDs
+from 0 to 19, each corresponding to the readout of one half sector.
+The geometrical map of the DDLs is illustrated <A HREF="http://tydes.home.cern.ch/tydes/doc/Numbering5/"><B>here</B></A>.</SPAN></P>
+<P CLASS="msonormal"><SPAN LANG="en-GB">Each equipment</SPAN> <SPAN LANG="en-GB">starts
+with the <I>Equipment Header</I> (15 32-bit words) of which the last
+8 words are known as the <I>Common Data Header, CDH</I> (8 32-bit
+words). After these headers, sometimes a <I>Calibration Header</I>
+appears (for dedicated calibration runs). This extra header has
+variable length, depending on the type of calibration scan. Finally,
+there is the actual data words, i.e. which pixels are hit in the
+event. This part has a variable length depending on the number of
+hits. Further details on the various headers and the data word
+formats can be found <A HREF="http://tydes.home.cern.ch/tydes/doc/DataFormat/"><B>here</B></A>.</SPAN></P>
+<P CLASS="msonormal">&nbsp;</P>
+<P CLASS="msonormal">&nbsp;</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">=================================================================================================================</P>
+<P STYLE="margin-bottom: 0cm">&nbsp;</P>
+<P><A NAME="punto_3"></A><A HREF="#Content"><B><SPAN LANG="en-US">Simulation</SPAN></B></A></P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">The SPD digitization is
+implemented in the <B>AliITSsimulationSPD</B> class and managed via
+the <B>AliITSDetTypeSim</B> class.</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">It is based on the
+following working scheme:</P>
+<P STYLE="margin-bottom: 0cm">&nbsp;</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm"><B>1) Hits --&gt; SDigits
+(AliSimulation::RunSDigitization)</B></P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt; AliITS::Hits2SDigits
+</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
+AliITS::Hits2Predigits 
+</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
+AliITSsimulationSPD::SDigitiseModule</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
+AliITSsimulationSPD::HitToSDigitFast</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">- read hits, gets
+parameters for diffusion (temperature, thickness over bias voltage,
+asymmetry of gaussian diffusion, etc.) and for electronic coupling
+from OCDB</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">- apply electron cloud
+diffusion (gaussian smearing) along z and r*phi</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">- eventually apply the
+Lorentz drift to the electron cloud (by default null Lorentz drift) 
+</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">- apply coupling between
+adiacent pixels</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
+AliITSsimulationSPD::RemoveDeadPixel</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">-&nbsp; remove dead pixels
+as stored in the calibration object</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
+AliITSsimulationSPD::WriteSDigits</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">- write SDigits to file,
+basically call AliITS::AddSumDigit (which calls
+AliITSDetTypeSim::AddSumDigit) to write SDigits (AliITSpListItem) to
+file</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm"><B>2) SDigits --&gt;
+Digits (AliSimulation::RunDigitization)</B></P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
+AliITSDigitizer::Exec</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">- load SDigits</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
+AliITSsimulationSPD::FinishSDigitiseModule</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">- call
+AliITSsimulationSPD::FrompListToDigits</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">- eventually add
+electronic baseline and noise, perform the zero suppression and add
+the digits to the list&nbsp; (by calling AliITS::AddSimDigit)</P>
+<P STYLE="margin-bottom: 0cm">&nbsp;</P>
+<P STYLE="margin-bottom: 0cm"><SPAN LANG="en-US">A detailed
+description of the SPD response model (in
+AliITSsimulationSPD::HitToSDigitFast) can be found <A HREF="https://edms.cern.ch/document/888905/1"><B>here</B></A>
+(ALICE-INT-2008-003 and references therein). The model parameters are
+stored in two OCDB files under $ALICE_ROOT/ITS/Calib:</SPAN></P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">1) RespSPD: contains 1
+AliITSresponseSPD object with parameters common to all the modules
+(coupling type and diffusion asymmetry)</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">2) SPDDead: contains 1
+TOjArray with 240 AliITSCalibrationSPD objects, i.e. 1
+AliITSCalibrationSPD object for each module with the list of dead
+pixels (see calibration section below) and the other parameters
+needed to the response model (threshold, noise, coupling strength,
+bias-over-voltage) 
+</P>
+<P STYLE="margin-bottom: 0cm">&nbsp;</P>
+<P STYLE="margin-bottom: 0cm">&nbsp;</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">========================================================================================================================</P>
+<P STYLE="margin-bottom: 0cm">&nbsp;</P>
+<P><A NAME="punto_4"></A><A HREF="#Content"><B><SPAN LANG="en-US">Local
+Reconstruction</SPAN></B></A></P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">The SPD local
+reconstruction is implemented in <B>AliITSClusterFinderV2SPD </B>class
+and managed via the <B>AliITSDetTypeRec</B> class.</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">It is based on the
+following working scheme:</P>
+<P STYLE="margin-bottom: 0cm">&nbsp;</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm"><B>Cluster Finding
+(AliReconstruction::RunLocalEventReconstruction)</B></P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
+AliITSReconstructor::Reconstruct</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt;
+AliITSDetTypeRec::DigitsToRecPoints 
+</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">- Based on the input data
+(simulation digits or simulation/real raw data), there are two
+possibilities:</P>
+<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">A)
+<U>RECONSTRUCTION FROM DIGITS</U></SPAN></P>
+<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">-&gt;
+AliITSClusterFinderV2SPD::FindRawClusters</SPAN></P>
+<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- call
+AliITSClusterFinderV2SPD::FindClustersSPD</SPAN></P>
+<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- build
+AliBin array from digit tree</SPAN></P>
+<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- call
+AliITSClusterFinderV2SPD::ClustersSPD</SPAN></P>
+<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">B)
+<U>RECONSTRUCTION FROM RAW DATA </U></SPAN>
+</P>
+<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">-&gt;
+AliITSClusterFinderV2SPD::RawdataToClusters</SPAN></P>
+<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">-
+instantiate AliITSRawStreamSPD object</SPAN></P>
+<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- call
+AliITSClusterFinderV2SPD::FindClustersSPD</SPAN></P>
+<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- build
+AliBin array from raw data</SPAN></P>
+<P STYLE="margin-bottom: 0cm">&nbsp;&nbsp; <SPAN LANG="en-US">- call
+AliITSClusterFinderV2SPD::ClustersSPD</SPAN></P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">-&gt; AliITS
+ClusterFinderV2SPD::ClustersSPD</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">- loop on dead pixels as
+stored in the calibration objects and reset them (corresponding
+AliBin elements)</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">- loop on AliBin elements
+and:</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">1) find cluster
+(FindCluster)</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">2) unfold cluster if
+allowed (this is set via AliITSRecoParam, the default is unfolding
+off)</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">3) calculate cluster
+coordinates and sigmas</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">4) add cluster to cluster
+array</P>
+<P STYLE="margin-bottom: 0cm">&nbsp;</P>
+<P STYLE="margin-bottom: 0cm">&nbsp;</P>
+<P LANG="en-US" STYLE="margin-bottom: 0cm">===============================================================================================================================</P>
+<P STYLE="margin-bottom: 0cm">&nbsp;</P>
+<P><A NAME="punto_5"></A><A HREF="#Content"><B><SPAN LANG="en-US">Calibration
+and DAs</SPAN></B></A></P>
+<P LANG="en-GB">For the SPD there are two types of processes, called
+<I>Detector Algoritms (DAs)</I>, running on the <I>DAQ</I> network to
+produce output transported via the <I>File Exchange Server (FXS)</I>
+to the <I>Offline</I> and <I>Detector Control System (DCS)</I>
+networks. The following picture illustrates how the Online
+Calibration scheme works:</P>
+<P ALIGN=CENTER><SPAN LANG="en-GB"><BR><!--[if gte vml 1]><v:shape id="_x0000_i1027" type="#_x0000_t75" alt=""
+ style='width:384pt;height:254.25pt'>
+ <v:imagedata src="spdim003.jpg" o:href="spdim003.jpg">
+</v:shape><![endif]--></SPAN><IMG SRC="spdim003.jpg" NAME="Graphic3" ALIGN=BOTTOM WIDTH=512 HEIGHT=339 BORDER=0></P>
+<P>&nbsp;</P>
+<P><SPAN LANG="en-GB">In case <I>a</I> the calibration is performed
+as a <B>standalone scan</B>. The raw data collected on the <I>Local
+Data Concentrators (LDCs)</I> are analyzed. In case <I>b</I> the
+calibration is performed on a regular <B>physics run</B> and the data
+is analyzed online through the <I>DATE</I> monitoring functionality.
+Further details on the types of runs and scans and a global overview
+of the SPD calibration can be found <A HREF="http://tydes.home.cern.ch/tydes/doc/CalibrationOverview/"><B>here</B></A>.</SPAN></P>
+<P LANG="en-GB" CLASS="msonormal">The so-called <I>Shuttle</I> brings
+the output files from the <I>FXS</I> to <I>DCS</I> and <I>Offline</I>
+networks. Here the data go through a second level of processing,
+generally called preprocessing. Finally, the <I>Offline Calibration
+Database (OCDB)</I> and the <I>DCS Configuration Database</I> are
+updated. 
+</P>
+<P LANG="en-GB" CLASS="msonormal">The procedures also produce
+so-called <I>Reference Data</I>, basically raw data summaries, which
+can later be used offline to reconstruct the calibration output. This
+may be useful for instance for debugging purposes. A <I>Reference
+Data Displayer</I> (GUI) program has been developed to simplify the
+analysis of the Reference Data.</P>
+<P LANG="en-GB" STYLE="margin-bottom: 0cm">The two top level classes
+corresponding to Standalone Calibration Runs and Physics Runs are
+<B>ITSSPDSCANda</B> and <B>ITSSPDPHYSda</B> respectively. The <I>Offline
+Preprocessing</I> is implemented in the <B>AliITSPreprocessorSPD</B>
+class. It takes care of saving the reference data and put information
+relevant for the offline reconstruction (lists of dead and noisy
+pixels) in the OCDB.</P>
+<P LANG="en-GB" STYLE="margin-bottom: 0cm">The calibration files in
+the OCDB are stored in two directories under $ALICE_ROOT/ITS/Calib:</P>
+<P STYLE="margin-bottom: 0cm"><SPAN LANG="en-GB">1</SPAN><SPAN LANG="en-US">)
+SPDDead: contains 1 TOjArray with 240 AliITSCalibrationSPD objects,
+i.e. 1 AliITSCalibrationSPD object for each module with the list of
+dead pixels and some parameters needed to the response model </SPAN>
+</P>
+<P STYLE="margin-bottom: 0cm"><SPAN LANG="en-GB">2) SPDNoisy:
+conatins </SPAN><SPAN LANG="en-US">1 TOjArray with 240
+AliITSCalibrationSPD objects, i.e. 1 AliITSCalibrationSPD object for
+each module with the list of noisy pixels</SPAN></P>
+<P STYLE="margin-bottom: 0cm"><SPAN LANG="en-GB">The noisy pixel
+search is always based on one run only. There is a minimum number of
+events required to do the search which is basically performed at the
+level of one read-out chip (8192 pixels). The dead pixel search may
+span several runs, in order to collect more statistics (which is
+mandatory for the p-p runs). Also here there is a minimum number of
+events required to even try to perform the search. The search
+requires that a noisy pixel search has been done first. The noisy
+pixels are then removed from the hit-maps before the dead pixel
+search. Also the dead pixel search is basically performed on the
+level of one read-out chip. For further details on the dead and noisy
+pixel search see <A HREF="http://tydes.home.cern.ch/tydes/doc/CalibrationOverview/CalibrationAlgorithms/noisydead/"><B>here</B></A>.</SPAN></P>
+</BODY>
+</HTML>
diff --git a/ITS/doc/doc_ssd.html b/ITS/doc/doc_ssd.html
new file mode 100644 (file)
index 0000000..ed9e97a
--- /dev/null
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+       <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
+       <TITLE></TITLE>
+       <META NAME="GENERATOR" CONTENT="OpenOffice.org 1.1.5  (Linux)">
+       <META NAME="CREATED" CONTENT="20080430;10144900">
+       <META NAME="CHANGED" CONTENT="20080507;16563500">
+       <STYLE>
+       <!--
+               @page { size: 8.5in 11in; margin: 0.79in }
+               P { margin-bottom: 0.08in }
+       -->
+       </STYLE>
+</HEAD>
+<BODY LANG="en-US" DIR="LTR">
+<P STYLE="margin-top: 0.17in; margin-bottom: 0.2in; page-break-after: avoid">
+<FONT FACE="Albany, sans-serif"><FONT SIZE=4>============================================================================</FONT></FONT></P>
+<P STYLE="margin-top: 0.17in; margin-bottom: 0.2in; page-break-after: avoid">
+<FONT FACE="Albany, sans-serif"><FONT SIZE=4>Description of ALICE
+Silicon Strip Detector (SSD) Code (May 7, 2008, Enrico Fragiacomo)</FONT></FONT></P>
+<P STYLE="margin-top: 0.17in; margin-bottom: 0.2in; page-break-after: avoid">
+<FONT FACE="Albany, sans-serif"><FONT SIZE=4>============================================================================</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><A NAME="Content"></A><STRONG><FONT SIZE=4 STYLE="font-size: 16pt">Content</FONT></STRONG>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<OL>
+       <LI><P STYLE="margin-bottom: 0in"><A HREF="#punto 1">Geometrical
+       description of the SSD module</A></P>
+       <LI><P STYLE="margin-bottom: 0in"><A HREF="#punto 2">Detector
+       response simulation</A></P>
+       <LI><P STYLE="margin-bottom: 0in"><A HREF="#punto 3">Cluster finding
+       and local reconstruction</A></P>
+       <LI><P STYLE="margin-bottom: 0in"><A HREF="#punto 4">Calibration
+       files (OCDB)</A></P>
+       <LI><P STYLE="margin-bottom: 0in"><A HREF="#punto 5">ECS Run types
+       and DAs</A></P>
+</OL>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-top: 0.17in; margin-bottom: 0.2in; page-break-after: avoid">
+<FONT SIZE=4><FONT FACE="Albany, sans-serif">============================================================================</FONT></FONT></P>
+<P><STRONG><A HREF="#Content" NAME="punto 1">Geometrical description
+of the SSD module</A></STRONG></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">Each of the 1698 SSD modules (748 on
+layer5 and 950 on layer6, module index ranging 500-2198) is a
+double-sided silicon strip detector. 
+</P>
+<P STYLE="margin-bottom: 0in">Both P- and N-side has 768 strips,
+strip numbering ranging 0-767. Strip 0 on Pside is opposite to strip
+0 on Nside (note that hardware numbering ranges 0-1535, with strip
+1535, on Nside, opposite to strip 0 on Pside. This leads to
+conversions of the type strip=1535-strip for Nside, e.g. in the
+streamer class for rawdata decoding, see below).</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">P- and N-stereo angles are 7.5
+milliradiant and 27.5 milliradiant, respectively, leading to a P-to-N
+stereo angle of 35 milliradiant. This small value eventually
+decreases the resolution (750 microns) along the z-coordinate
+parallel to the strips but reduces the number of fake intersections
+(ghosts). The resolution along the x-coordinate, perpendicular to the
+strips, is down to 20 microns.</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">Detector size along x (r-phi): 72960
+microns</P>
+<P STYLE="margin-bottom: 0in">Detector size along z: 40000 microns</P>
+<P STYLE="margin-bottom: 0in">Detector thickness (local y): 300
+microns</P>
+<P STYLE="margin-bottom: 0in">Strip pitch: 95 microns</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">Stereo angles, detector sizes and
+number of channels are controlled via the <B>AliITSsegmentationSSD</B>
+class, which also provides the tools for system frame conversion
+(local to global and viceversa). 
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">Each SSD module is readout by 12 chips,
+6 on P- and 6 on N-side, each of them reading 128 strips. Conversion
+from local coordinates to chip index is also provided by
+AliITSsegmentationSSD for dead area recovery during tracking (if the
+track misses the point, the tracker checks if the area is readout by
+a dead chip).</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">=================================================================================================================</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P><A NAME="punto 2"></A><STRONG><A HREF="#Content" NAME="punto 2">Detector
+response simulation</A></STRONG></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">The SSD response simulation and
+digitization proceeds via the <B>AliITSsimulationSSD</B> class with
+the method DigitiseModule(), which in turn is called for each module
+by the HitsToDigits method of AliITS. Calibration and segmentation
+information are obtained via the <B>AliITSDetTypeSim</B> class.</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"> DigitiseModule calls: 
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<OL>
+       <LI><P STYLE="margin-bottom: 0in">HitsToAnalogDigits, which 
+       provides the analog strip signal from the energy release of the
+       particle passing through the module. The step between two geant hits
+       (tipically, one entering and one exiting the module for
+       perpendicular tracks) is further divided into 25 microns step to
+       allow for a better geometrical description of the charge
+       distribution in the silicon. From the energy release in the step a
+       certain amount of charge is produced (as electron-holes pairs
+       generated in the middle of the step) which drifts as gaussian clouds
+       to the two sides of the detector (electrons to the P- and holes to
+       the N-side). The width of the cloud (which eventually determines the
+       number of strips involved by the cloud) depends on the drift
+       constant D and on the drift time, which in turn depends on the drift
+       velocity and the generation point. Both D and drift velocity differ
+       for the two types of carriers. The percentage of the charge gaussian
+       cloud which spatially corresponds to a strip is given to that strip.
+               </P>
+       <P STYLE="margin-bottom: 0in"></P>
+       <LI><P STYLE="margin-bottom: 0in">SdigitToDigit, which in turn: 
+       </P>
+       <OL>
+               <LI><P STYLE="margin-bottom: 0in">distributes the signal to the
+               neighbouring strips according to the capacitive coupling, 
+               </P>
+               <LI><P STYLE="margin-bottom: 0in">adds the electronic noise
+               (modeled as a gaussian distribution) to each strip (noise values
+               are taken from the OCDB via AliITSCalibrationSSD);</P>
+               <LI><P STYLE="margin-bottom: 0in">kills dead strips;</P>
+               <LI><P STYLE="margin-bottom: 0in">zero-suppresses those strips with
+               signal below 3*sigma_noise.</P>
+               <LI><P STYLE="margin-bottom: 0in">signal is finally converted to
+               ADC units and uncalibrated for the gain (with values from the
+               OCDB).</P>
+       </OL>
+</OL>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">========================================================================================================================</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P><A NAME="punto 3"></A><STRONG><A HREF="#Content" NAME="punto 3">Cluster
+finding and local reconstruction</A></STRONG></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">Cluster finding and local
+reconstruction in the SSD proceeds via the AliITSClusterFinderV2SSD
+class. As AliReconstruction::RunLocalEventReconstruction calls
+AliITSReconstructor::Reconstruct for the ITS and in turn
+AliITSDetTypeRec::DigitsToRecPoints, two differents methods of
+AliITSClusterFinderV2SSD (FindRawClusters or RawdataToClusters) can
+be called for each SSD module depending whether the input is a digits
+file (essentially from simulation) or a rawdata file (from real
+data). 
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">===============================================================================================================================</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P><A NAME="punto 4"></A><STRONG><A HREF="#Content" NAME="punto 4">Calibration
+Files (OCDB)</A></STRONG></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">There are 4 directories in ITS/Calib
+with calibration data to be used in SSD reconstruction</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<OL>
+       <LI><P STYLE="margin-bottom: 0in">NoiseSSD</P>
+       <LI><P STYLE="margin-bottom: 0in">PedestalSSD</P>
+       <LI><P STYLE="margin-bottom: 0in">BadChannelsSSD</P>
+       <LI><P STYLE="margin-bottom: 0in">GainSSD</P>
+</OL>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">========================================================================================================================</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P><A NAME="punto 5"></A><STRONG><A HREF="#Content" NAME="punto 5">ECS
+Run Types amd DA</A></STRONG></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">1) STANDALONE</P>
+<P STYLE="margin-bottom: 0in">- for test purposes</P>
+<P STYLE="margin-bottom: 0in">- no DA launched at EOR</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">2) PEDESTAL</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">3) PHYSICS</P>
+<P STYLE="margin-bottom: 0in">Nothing done for now.</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">===========================================================================================================================</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+</BODY>
+</HTML>
diff --git a/ITS/doc/spdim001.gif b/ITS/doc/spdim001.gif
new file mode 100644 (file)
index 0000000..f5102b9
Binary files /dev/null and b/ITS/doc/spdim001.gif differ
diff --git a/ITS/doc/spdim002.gif b/ITS/doc/spdim002.gif
new file mode 100644 (file)
index 0000000..f9132db
Binary files /dev/null and b/ITS/doc/spdim002.gif differ
diff --git a/ITS/doc/spdim003.jpg b/ITS/doc/spdim003.jpg
new file mode 100644 (file)
index 0000000..f7b2ac1
Binary files /dev/null and b/ITS/doc/spdim003.jpg differ