]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/manual/itsmanch0.tex
Defining properly momentum components in AliMUONHit constructors (thanks Artur)
[u/mrichter/AliRoot.git] / ITS / manual / itsmanch0.tex
1 \chapter*{Introduction}
2 \section*{Purpose of this document}
3
4 This document is intended to both explain who to use the ALICE simulation and
5 reconstruction code with respect to or using the ITS detector as the
6 examples. This document is also to explain how to add new code to the ITS
7 simulation and reconstruction library, and who the existing ITS simulation and
8 reconstruction code works. All comments from every user is greatly encouraged.
9
10 \section*{How to Run AliRoot}
11
12 At this point, we will assume that AliRoot has been compiled and all the
13 necessary environment variables have been defined, including your path. We will
14 assume you are in an appropriate directory, for example \texttt{/data} or some
15 such thing.
16
17 to start with type, at your shell prompt, aliroot to start the program.
18
19 \scriptsize
20 \begin{verbatim}
21 # aliroot
22 Constant Field Map1 created: map= 1, factor= 1.000000
23   *******************************************
24   *                                         *
25   *        W E L C O M E  to  R O O T       *
26   *                                         *
27   *   Version   2.26/00  10 November 2000   *
28   *                                         *
29   *  You are welcome to visit our Web site  *
30   *          http://root.cern.ch            *
31   *                                         *
32   *******************************************
33
34 FreeType Engine v1.x used to render TrueType fonts.
35 Compiled with thread support.
36
37 CINT/ROOT C/C++ Interpreter version 5.14.58, Oct 24 2000
38 Type ? for help. Commands must be C++ statements.
39 Enclose multiple statements between { }.
40
41 WELCOME to ALICE
42
43 root [0]
44 \end{verbatim}
45 \normalsize
46
47 This will initialize ROOT and load all of the ALICE libraries. At this point
48 you can do anything you can do in ROOT in addition you have access to every
49 class defined in the ALICE libraries, including the ALICE global variables. One
50 very useful ALICE global variable is \texttt{gAlice} which is of type
51 \texttt{AliRun}. Of the many function defined in the class \texttt{AliRun} are
52 \texttt{Init(const char* setup="Config.C")} and 
53 \texttt{Run(const char* setup="Config.C")}. \texttt{Run} both executes
54 \texttt{Init} and starts executing an ALICE detector simulation. Both of these
55 functions functions load and execute a configuration file. By default this
56 configuration file is called \texttt{Config.C}. If such a file exists in your
57 local directory, for example \texttt{/data}, or if there is no such file in
58 your local directory it will execute the file
59 \texttt{\$ALICE\_ROOT/macros/Config.C}. Some other configuration file can be
60 run simplely by entering that file's name as the argument, for example
61 \texttt{Init("MyConfig.C")} or \texttt{Run("MyConfig.C")} where
62 \texttt{MyConfig.C} is either in your local directory (\texttt{/data}) or in
63 \texttt{\$ALICE\_ROOT/macros}. Of course the full path of \texttt{MyConfig.C}
64 can be used.
65
66 Now lets assume you just want to simulate one event using the standard
67 \texttt{Config.C} file. This is done simply as
68 \scriptsize
69 \begin{verbatim}
70 root [0] gAlice->Run()
71 Warning in <AliRun::SetField>: Invalid magnetic field flag:  -999; Helix trackin
72 g chosen instead
73
74 Warning in <AliFRAMEv1::ReadEuclidMedia>: file: $(ALICE_ROOT)/Euclid/frame.tme i
75 s now read in
76
77 Warning in <AliPIPEv0::ReadEuclidMedia>: file: $(ALICE_ROOT)/Euclid/pipe.tme is 
78 now read in
79
80 Warning in <AliITSv5::ReadEuclidMedia>: file: /home/CERN/aliroot/dev/Euclid/ITSg
81 eometry_5.tme is now read in
82
83
84  MZSTOR.  ZEBRA table base TAB(0) in /MZCC/ at adr   281557647    10C83A8F HEX
85
86  MZSTOR.  Initialize Store  0  in /GCBANK/
87           with Store/Table at absolute adrs    33632021   281557647
88                                         HEX     2012F15    10C83A8F
89                                         HEX    F138F25A           0
90                               relative adrs  -247926182           0
91           with     1 Str. in     2 Links in   5300 Low words in 2999970 words.
92           This store has a fence of   16 words.
93 \end{verbatim}
94 \normalsize
95 \vdots
96 lots more messages
97
98 \vdots
99 \scriptsize
100 \begin{verbatim}
101  TOC1      0.171%; TSSW      0.001%; TSWC      0.083%; TSCE      0.000%; TWES      0.001%;
102  TSWB      0.009%; TPEL      2.240%; TPMW      0.901%; TPEW      0.128%; TESR      0.000%;
103  TESB      0.116%; TPLS      0.019%; TPUS      0.023%; TPSS      0.000%; THVM      0.012%;
104  TPSR      0.052%; THVL      0.025%; FLTA      0.003%; FLTB      0.000%; FLTC      0.005%;
105  FMYA      0.016%; FMYB      0.014%; FMYC      0.019%; FPLA      0.023%; FPLB      0.080%;
106  FPLC      0.025%; FSTR      0.138%; FNSF      0.012%; FMYX      0.002%; FGRL      0.004%;
107  FPAD      0.020%; FPEA      0.039%; FPEB      0.007%; FPEC      0.062%; FECA      0.058%;
108  FECB      0.058%; FECC      0.053%; FWAA      0.096%; FWAB      0.148%; FWAC      0.073%;
109  FBPA      0.057%; FBPB      0.018%; FBPC      0.085%; UAFI      0.109%; UAFM      0.018%;
110  UAFO      0.044%; UAII      0.001%; UAIM      0.001%; UAIO      0.001%; UCFI      0.259%;
111  UCFM      0.445%; UCFO      0.312%; UCII      0.000%; UCIM      0.000%; UCIO      0.000%;
112  UL01      0.022%; UL02      0.006%; UL03      0.226%; UL04      0.006%; UL05      0.012%;
113  UL06      0.001%; UL07      0.002%; UL08      0.081%; UL09      0.034%; UL10      0.038%;
114  UL11      0.013%; TRD1      0.003%; TRD2      0.004%; TRD3      0.000%; BR2_      0.018%;
115  CB2_      0.011%; R1R2      0.018%; R2R2      0.898%; R3R2      0.003%; R3L2      0.001%;
116  R1R1      0.414%; R2R1      0.010%; R3R1      0.009%; R1L1      0.036%; R3L1      0.001%;
117  CA02      0.016%; CG02      0.000%; CA03      0.042%; CG03      0.000%; EMCA      0.013%;
118  PTXW      0.013%; PUFP      0.005%; PTCB      0.008%; PPAP      0.005%; PXTL      0.072%;
119  PASP      0.026%; MPPS      0.004%; UAPP      0.000%; LCPP      0.037%; DW11      0.000%;
120  DV11      0.000%; DPPB      0.659%; DPFE      0.157%; DPMD      0.000%; DIQU      0.016%;
121 ***************************************************************************
122 root [1] 
123 \end{verbatim}
124 \normalsize
125
126 At this point a file called \texttt{galice.root} is created in your present
127 directory. This file contains all of the ``hits'' produced by the simulation,
128 all of the particle information, all of the detectors that were defined in the
129 simulation, and a lot of other information.
130
131 One nice thing to do now is to run the hit display program so that you can see
132 the hits you have just produce in the file \texttt{galice.root}. Either from
133 your present \texttt{aliroot} session, a new \texttt{aliroot} session, or
134 from a new \texttt{root} session, you can run the standard macro
135 \texttt{display.C}. Because you should have \texttt{\$ALICE\_ROOT/macros} in
136 your path, this is easily done as follows.
137
138 \scriptsize
139 \begin{verbatim}
140 root [1] .x display.C
141 \end{verbatim}
142 \normalsize
143
144 You should see the following screen appear (Figure~\ref{ITSMan:ch0:display0}).
145
146 \begin{figure*}[htbp]
147   \begin{center}
148     \leavevmode
149     \epsfig{file=display_Canvas.eps,width=12cm}
150     \caption{Typical ALICE hit display output. Note that the geometry being
151     displayed is a simplified geometry, not that used by the AliRoot
152     simulation.}
153     \label{ITSMan:ch0:display0}
154   \end{center}
155 \end{figure*}
156
157 Just like from \texttt{root}, to exit from \texttt{aliroot} just type
158 \texttt{.q} at the prompt.
159
160 \scriptsize
161 \begin{verbatim}
162 root [2] .q
163 \end{verbatim}
164 \normalsize
165
166 For a more interactive way of running \texttt{AliRoot}, instead of typing
167 \texttt{root[0] gAlice->Run()} you can run a very nice macro called
168 \texttt{menu.C} also located in \texttt{\$ALICE\_ROOT/macros}. Instead of
169 running a simulation, it create a menu that that will let you either run an
170 \texttt{AliRoot} simulation or do a number of other nice things, see
171 figure~\ref{ITSMan:ch0:menu0}. Please note, that if you want to display any
172 pictures, first they can take a lot of time and memory, second you have to run
173 \texttt{Init} first so that the detectors you want to display are defined.
174
175 \begin{figure*}[htbp]
176   \begin{center}
177     \leavevmode
178     \epsfig{file=menubar.eps,width=5cm}
179     \caption{This shows a number of ``Automated'' commands that can be
180     performed. Simply by clicking on one of these buttons the action will take
181     place. The ``Trees'' refers to the tree of geometric objects that make up
182     the defined AliRoot geometry as defined in \texttt{Config.C}. The
183     ``Pictures'' refer to pictures of the Alice geometry as defined in
184     \texttt{Config.C}. Since these are the detailed pictures they may require a
185     lot of time and memory to execute. ``Hide'', ``Shading'', and ``Box Clip''
186     refer to how the pictures will be displayed. ``Run Lego'' will produce a
187     radiation map of different parts of the defined Alice detector by creating
188     and transporting Geantinos~\cite{GeantMan:Geantino}, a non-interacting
189     particle used only to measure radiation length between points along it's
190     straight line path.}
191     \label{ITSMan:ch0:menu0}
192   \end{center}
193 \end{figure*}
194
195 \section*{Controling your Run: The Config.C file}
196
197 There are basicly two files that control nearly every aspect of an
198 \texttt{AliRoot} simulations. The first and most important is the file
199 \texttt{\$ALICE\_ROOT/macros/Config.C}. This file will be described in more
200 detail below. The second file \texttt{\$ALICE\_ROOT/data/galice.cuts} sets the
201 non-default energy cuts for a large numbers of materials. For the ITS, Every
202 material has energy-loss via delta rays turned on. For each sensitive material
203 the lowest energy $\gamma$, $e^{\pm}$, bremsstrahlung, and $\delta$-ray have
204 their lowest energy set to $7.0\times 10^{-5}$ GeV or $70$ KeV. This is done to
205 assure that low enough energy $\delta$-rays are properly taken into account for
206 the signals produce in each detector.
207
208 The \texttt{Config.C} file\footnotemark determines just about every thing there
209 is to about how \texttt{AliRoot} will run. Lets take a look at the first part
210 of this file.
211
212 \footnotetext{The name of the file isn't important. It can be specified either
213 as an argument to \texttt{gAlice->Run(``Another\_Config.C'')} or as an
214 argument to \texttt{gAlice->Init(``Another\_Config.C'')}. The default file
215 name is \texttt{Config.C} and is first looked for in your present directory and
216 if no such file is found then it uses the one in 
217 \texttt{\$ALICE\_ROOT/macros}. }
218
219 \scriptsize
220 \begin{verbatim}
221 0001  void Config()
222 0002 {
223 0003 
224 0004 new AliGeant3("C++ Interface to Geant3");
225 0005 
226 0006 //=======================================================================
227 0007 //  Create the output file
228 0008 
229 0009 TFile *rootfile = new TFile("galice.root","recreate");
230 0010 rootfile->SetCompressionLevel(2);
231 0011 TGeant3 *geant3 = (TGeant3*)gMC;
232 \end{verbatim}
233 \normalsize
234
235 This file is a \texttt{C++} macro/program. The first line gives the routine
236 name which must be \texttt{Config()}. Line \texttt{0004} Creates the
237 \texttt{AliRoot} interface class to GEANT 3.12. Line \texttt{0009} creates the
238 root output file and its pointer \texttt{rootfile}. Line \texttt{0010} sets the
239 level of compression to be used in writing this file. Level 2 is a lot of
240 compression, level 0 is no compression\footnote{see \texttt{TFile} in the
241 \texttt{ROOT} documentation for a full description.}. Line \texttt{0011}
242 retrieves the basic transport Monte Carlo that was set at line
243 \texttt{0004}. Since this is GEANT3.21 this pointer is cast as
244 \texttt{TGeant3}. This will allow us to set and modify the simulation according
245 to GEANT3.21.
246
247 \scriptsize
248 \begin{verbatim}
249 0012 //
250 0013 // Set External decayer
251 0014  AliDecayer* decayer = new AliDecayerPythia();
252 0015  decayer->SetForceDecay(all);
253 0016  decayer->Init();
254 0017  gMC->SetExternalDecayer(decayer);
255 \end{verbatim}
256 \normalsize
257
258 In this next section of the file, the default operation of GEANT 3.21 is
259 modified by replacing the particle decay mechanism with that of Pythia. This
260 has the advantage of treating all particle decays in the same way but also make
261 it easier to determine the parent particles from their decayed products. Line
262 \texttt{0014} creates the Pythia decay routines, \texttt{0015} sets a flag
263 in Pythia to decay all particles, and \texttt{0016} initiates the Pythia
264 package. Line \texttt{0017} replaces the default decay routine in the Monte
265 Carlo (GEANT 3.12 in this case) with that of Pythia. Next we set some flags
266 that are specific to GEANT 3.21.
267
268 \scriptsize
269 \begin{verbatim}//
270 0018 //
271 0019 //=======================================================================
272 0020 // ******* GEANT STEERING parameters FOR ALICE SIMULATION *******
273 0021 geant3->SetTRIG(1); //Number of events to be processed 
274 0022 geant3->SetSWIT(4,10);
275 0023 geant3->SetDEBU(0,0,1);
276 0024 //geant3->SetSWIT(2,2);
277 0025 geant3->SetDCAY(1);
278 0026 geant3->SetPAIR(1);
279 0027 geant3->SetCOMP(1);
280 0028 geant3->SetPHOT(1);
281 0029 geant3->SetPFIS(0);
282 0030 geant3->SetDRAY(0);
283 0031 geant3->SetANNI(1);
284 0032 geant3->SetBREM(1);
285 0033 geant3->SetMUNU(1);
286 0034 geant3->SetCKOV(1);
287 0035 geant3->SetHADR(1); //Select pure GEANH (HADR 1) or GEANH/NUCRIN (HADR 3)
288 0036 geant3->SetLOSS(2);
289 0037 geant3->SetMULS(1);
290 0038 geant3->SetRAYL(1);
291 0039 geant3->SetAUTO(1); //Select automatic STMIN etc... calc. (AUTO 1) or manual (AU TO 0)
292 0040 geant3->SetABAN(0); //Restore 3.16 behaviour for abandoned tracks
293 0041 geant3->SetOPTI(2); //Select optimisation level for GEANT geometry searches (0,1,2)
294 0042 geant3->SetERAN(5.e-7);
295 0043 
296 0044 Float_t cut    = 1.e-3; // 1MeV cut by default
297 0045 Float_t tofmax = 1.e10;
298 0046 //             GAM ELEC NHAD CHAD MUON EBREM MUHAB EDEL MUDEL MUPA TOFMAX
299 0047 geant3->SetCUTS(cut,cut, cut, cut, cut, cut,  cut,  cut, cut,  cut, tofmax);
300 \end{verbatim}
301 \normalsize
302
303 In lines \texttt{0021} through \texttt{0042} set different GEANT 3.21 specific
304 options and flags. I will not describe all of these, but will refer you to the
305 GEANT 3.21 manual. There are a few of possible interest. Line 
306 \texttt{0021 geant3->SetTRIG(1);} sets the number of events that will be
307 processed. The default is one. Line \texttt{0022 geant3->SetSWIT(4,10);} sets
308 how often a line like 
309 \texttt{GTREVE\_ROOT : Transporting primary track No 74130} will be
310 displayed. Here the 10 means every 10 primary tracks. Most of the rest turn on
311 or off different physics processes. These values apply to every material that
312 isn't listed in \texttt{\$ALICE\_ROOT/data/galice.cuts} or if that material has
313 its corresponding flag or value set to -1. Similarly line \texttt{0047} sets
314 the default lowest energy, largest time of flight, for different physics
315 processes that are not overwritten by the values in the \texttt{galice.cuts}
316 file.
317
318 \scriptsize
319 \begin{verbatim}
320 0048 //
321 0049 //=======================================================================
322 0050 // ************* STEERING parameters FOR ALICE SIMULATION **************
323 0051 // --- Specify event type to be tracked through the ALICE setup
324 0052 // --- All positions are in cm, angles in degrees, and P and E in GeV
325 0053 AliGenHIJINGpara *gener = new AliGenHIJINGpara(84210);
326 0054 gener->SetMomentumRange(0,999);
327 0055 gener->SetPhiRange(0,360);
328 0056 gener->SetThetaRange(0.28,179.72);
329 0057 gener->SetOrigin(0,0,0);        //vertex position
330 0058 gener->SetSigma(0,0,0);         //Sigma in (X,Y,Z) (cm) on IP position
331 0059 gener->Init();
332 0060 // 
333 0061 // Activate this line if you want the vertex smearing to happen
334 0062 // track by track
335 0063 //
336 0064 //gener->SetVertexSmear(perTrack); 
337 0065 
338 0066 gAlice->SetField(-999,2);    //Specify maximum magnetic field in Tesla (neg. ==> default field)
339 \end{verbatim}
340 \normalsize
341
342 In lines \texttt{0053} through \texttt{0059} setup the particle generator to be
343 used. Line \texttt{0053} defines the type of particle generator to be used. In
344 this case it will be the ALICE HIJING parameterized particle distribution. 
345 This can be replace with many others~\footnote{See
346 \texttt{\$ALICE\_ROOT/macros/Config\_gener.C} for more examples.}. Its
347 parameter value $84210$ is the number of primary tracks that will be
348 generated. For simple testing this number it typically set to a value like
349 50. Lines \texttt{0054} through \texttt{0058} set different parameters for the
350 generator. Specifically line \texttt{0054 gener->SetMomentumRange(0,999);} set
351 the limits of the momentum range of the particles that will be generated. Line
352 \texttt{0055 gener->SetPhiRange(0,360);} sets the angular (degrees) range in
353 $\phi$ or around the barrel that the partials will be generated in. In this
354 case the full $\phi$ range will be used. The next line \texttt{0056
355 gener->SetThetaRanger(0.28,179.72);} sets the $\theta$ angular (degrees) range
356 for the primary tracks to be generated in. In this case $0.28^{\circ}$ to
357 $179.72^{\circ}$ covers the pseudorapidity range $-6.0\leq \eta \geq
358 +6.0$. With these values of $\theta$ and $\phi$, $84210$ primary tracks
359 represents about $8000$ primary particles in the central one unit of
360 pseudorapidity, the maximum track density that ALICE has been designed for.
361
362 Line \texttt{0057 gener->SetOrigin(0,0,0);} sets the central position of the
363 event origin. Line \texttt{0058 gener->SetSigma(0,0,0);} set the
364 $\sigma_{x,y,z}$ range over which multiple events will have their origins
365 distributed. The mean position being given by the \texttt{SetOrigin} command
366 above. It is also possible in one event, to distribute each primary track over
367 a region who's mean is set by the \texttt{SetOrigin} command and who's width is
368 set with the \texttt{SetSigma} command. If this is what you want then uncomment
369 out line \texttt{0064}. Line \texttt{0059 gener->Init();} initializes the
370 particle generation routine defined by \texttt{0053} with any and all
371 parameters defined later on. Lastly line \texttt{0066
372 gAlice->SetField(-999,2);} defines what kind, if any, magnetic field should be
373 used. These values instruct \texttt{AliRoot} to read a magnetic field map from
374 \texttt{\$ALICE\_ROOT/data/field02.dat}.
375
376 \scriptsize
377 \begin{verbatim}
378 0067 
379 0068 Int_t iMAG=1;
380 0069 Int_t iITS=1;
381 0070 Int_t iTPC=1;
382 0071 Int_t iTOF=1;
383 0072 Int_t iRICH=1;
384 0073 Int_t iZDC=0;
385 0074 Int_t iCASTOR=1;
386 0075 Int_t iTRD=1;
387 0076 Int_t iABSO=1;
388 0077 Int_t iDIPO=1;
389 0078 Int_t iHALL=1;
390 0079 Int_t iFRAME=1;
391 0080 Int_t iSHIL=1;
392 0081 Int_t iPIPE=1;
393 0082 Int_t iFMD=1;
394 0083 Int_t iMUON=1;
395 0084 Int_t iPHOS=1;
396 0085 Int_t iPMD=0;
397 0086 Int_t iSTART=0;
398 0087 
399 \end{verbatim}
400 \normalsize
401
402 In these following lines \texttt{0068} through \texttt{0086} a series of flags
403 are defined to make it easy to turn on or off different detectors. There is one
404 such flag for each detector/major structural element. A value of 1 turns on
405 that detector and a value of 0 turns it off. For example, Line 
406 \texttt{0068 Int\_t iMAG=1;} turns on the magnetic field for all of 
407 ALICE\footnotemark. Line \texttt{0069 Int\_t iITS=1;} turns on the ITS. Line
408 \texttt{0073 Int\_t iZDC=0;} turns off the ZDC\footnotemark. Note, in this
409 case the ZDC will not even be defined in ALIROOT. You will not be able to make
410 any fancy pictures of it or anything. It simply will not exist.
411
412 \addtocounter{footnote}{-1}
413 \footnotetext{Be car full, if a particular material was defined to have a
414 magnetic field this may over ride this flag. This should have been fixed, I
415 haven't confirmed that yet.}
416
417 \addtocounter{footnote}{1}
418 \footnotetext{Since the ZDC is outside of the range of produce primary
419 particle, in this example, there is no real use to keep it in the simulation.}
420
421 Now the following lines in the \texttt{Config.C} file, depending on the value
422 of the above flags, will create the specific detectors and structural
423 elements. Since this is an ITS manual, I will show and explain the ITS part of
424 this remaining file.
425
426 \scriptsize
427 \begin{verbatim}
428 0138
429 0139 if(iITS) {
430 0140 //=================== ITS parameters ============================
431 0141 //
432 0142 // EUCLID is a flag to output (=1) both geometry and media to two ASCII files 
433 0143 // (called by default ITSgeometry.euc and ITSgeometry.tme) in a format
434 0144 // understandable to the CAD system EUCLID. The default (=0) means that you 
435 0145 // dont want to use this facility.
436 0146 //
437 0147 AliITS *ITS  = new AliITSv5("ITS","normal ITS");
438 0148 ITS->SetEUCLID(0);
439 0149 }
440 0150 
441 \end{verbatim}
442 \normalsize
443
444 This is the section of the \texttt{Config.C} file that defines what the ITS
445 is. You will note that if \texttt{iITS} = 0\footnote{A value of 0 is equivalent
446 to FALSE. A non-zero value is equivalent to TRUE.}, then this section of the
447 file will not be executed and no ITS will be defined. Line \texttt{0147}
448 creates the ITS. In this case it creates ITS version 5. There are two necessary
449 parameters. The first is the name of this detector ``ITS''. The second is a
450 brief description of the detector ``normal ITS''. Both of these are required so
451 that AliRoot knows what detector this is. AliRoot does not know about any
452 detectors and it is only via this detector name that we can later get access to
453 the information stored about the ITS. Line \texttt{0148 ITS-SetEUCLID(0);} sets
454 a flag for the ITS describing weather or not to create a file in the
455 EUCLID-GEANT3 compatible format. By default this should be 0. In the future we
456 may add additional flags and parameters as needed.
457
458 On line \texttt{0147 AliITS *ITS = new AliITSv5(``ITS'',''normal ITS'');} this
459 create an ITS of type v5. This is the detailed ITS TDR geometry. For a full
460 description of the possible ITS geometries see section
461 ~\ref{ITSMan:ch2:Detaile_geometry_section}. By default, every detailed geometry
462 is required to have a corresponding course geometry. In this case that is
463 v0. All course geometries are required not to generate ``hits'' and therefore
464 \texttt{AliITSv0} does not and therefore can not be used in any study where
465 signals from the ITS may be used or required.
466
467 \section*{Other things that can be done}
468
469 There are a number of macros that have been written to do different
470 things. Take a look at the files in ending in \texttt{.C} in
471 \texttt{\$ALICE\_ROOT/macros}. There you will find a number of macros to view
472 and/or draw different detector geometries. These are the geometries used by in
473 the simulation and so you will need to execute \texttt{gAlice->Init();}
474 first. In here are also kept general example macros to read hits and plot some
475 information, \texttt{newanal.C} for example. Typically each detector group
476 writes their own detector specific macros and places them in their directories,
477 \texttt{\$ALICE\_ROOT/ITS/AliITStest.C} which will simulate one event and then
478 do the ITS detector simulations and create what are called ``digits'' and also
479 reconstruct these ``digits'' into ``reconstructed points''.
480
481 There is also another nice macro, requiring Geant 3, that is menu driven and
482 lets you display all or part of the Alice geometry. This is located in
483 \texttt{\$ALICE\_ROOT/TGeant3} and is called \texttt{TGeant3GUI.C}, see
484 figure~\ref{ITSMan:ch0:TGeant3GUI}. As with the other macros, you will need to
485 execute \texttt{gAlice->Init();} first. Root also provides some nice features
486 that you can use. Either in \texttt{aliroot} or in \texttt{root} you can create
487 a root object called a \texttt{TBrowser}, see
488 figure~\ref{ITSMan:ch0:TBrowser}. This is a menu driven way to look at or even
489 histogram the contents of root files or even memory. These macros are always
490 being modified, deleted, changed, and new one added. Take a look at the Alice
491 off-line web page \texttt{http://AliSoft.cern.ch/offline/} for a more up to
492 date and complete description.
493
494 \begin{figure*}[htbp]
495   \begin{center}
496     \leavevmode
497 %    \epsfig{file=TGeant3GUI_Canvas.eps,width=12cm}
498     \caption{This shows a typical menu from running \texttt{TGeant3GUI.C}.}
499     \label{ITSMan:ch0:TGeant3GUI}
500   \end{center}
501 \end{figure*}
502
503 \begin{figure*}[htbp]
504   \begin{center}
505     \leavevmode
506 %    \epsfig{file=TBrower_Canvas.eps,width=12cm}
507     \caption{This shows a typical TBrowser window.}
508     \label{ITSMan:ch0:TBrowser}
509   \end{center}
510 \end{figure*}