]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/README
Access to the number of associated clusters (M.Ivanov)
[u/mrichter/AliRoot.git] / MUON / README
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /* $Id$ */
17
18 ==========================================================
19 Please add  to this README file all information concerning 
20 config files, simulation, digitalization, clusterization, 
21 reconstruction and macro analysis
22
23 ==========================================================
24  How to run a MUON generation
25 ==========================================================
26 aliroot
27 root [0] gAlice->Run(10,"$ALICE_ROOT/MUON/Config_MUON_test.C");
28
29 1 single muon of 7 GeV/c in the MUON spectrometer 
30 acceptance will be simulated using geant3. 
31 Hit information will be store in the root file in the
32 execution directory.
33 If you want to change the option or to define a new directory
34 for hits, you have to do the following before:
35 root [0] gAlice->SetConfigFunction("Config( \"/home/martinez/aliroot/work_NewIO/test/\" , \"box\" );"); 
36
37 ============================================================
38  How to run MUON Digitalization
39 ============================================================
40 To process the digitalization of hits the AliRunDigitizer 
41 framework is used:
42
43 AliRunDigitizer   * manager = new AliRunDigitizer(1,1);
44 manager->SetInputStream(0,"galice.root");
45 AliMUONDigitizerv1* dMUON   = new AliMUONDigitizerv1(manager)
46 manager->AddDigitizer(dMUON);
47 manager->Exec("deb");
48
49 ============================================================
50  How to run MUON RecPoint clusterization
51 ============================================================
52 aliroot -b << EOF
53 .includepath $ALICE_ROOT/STEER
54 .includepath $ALICE_ROOT/MUON
55 .L $ALICE_ROOT/MUON/MUONrawclusters.C++
56 MUONrawclusters("galice.root",0,9999); 
57 to Load
58 gSystem->Load("$ALICE_ROOT/MUON/MUONrawclusters_C.so")
59
60 ============================================================
61  How to run MUON Trigger
62 ============================================================
63 .includepath $ALICE_ROOT/STEER
64 .includepath $ALICE_ROOT/MUON
65 .L $ALICE_ROOT/MUON/MUONtrigger.C++
66 MUONtrigger("galice.root",0,9999); 
67 To Load
68 gSystem->Load("$ALICE_ROOT/MUON/MUONtrigger_C.so")
69
70 ============================================================
71  How to run MUON Tracking reconstruction (old output)
72 ===========================================================
73 .includepath $ALICE_ROOT/STEER
74 .includepath $ALICE_ROOT/MUON
75 .L $ALICE_ROOT/MUON/MUONrecoNtuple.C++
76 MUONrecoNtuple(0,9999,0,"galice.root") 
77 To Load   
78 gSystem->Load("$ALICE_ROOT/MUON/MUONrecoNtuple_C.so")
79 First event and last event are given by hand, but this will change.
80
81 ===========================================================
82  How to run MUON Tracking reconstruction (new output)
83 ===========================================================
84 .includepath $ALICE_ROOT/STEER
85 .includepath $ALICE_ROOT/MUON
86 .L $ALICE_ROOT/MUON/MUONTracker.C++
87 MUONTracker("galice.root",0,9999);    
88 To Load
89 gSystem->Load("$ALICE_ROOT/MUON/MUONTracker_C.so")
90 Output in MUON.Tracks.root using the new IO 
91 as a TClonesArray of AliMUONTrack
92
93 Note1.In the actual version (dec-03) the following data 
94 members  of ALiMUONTrack:  fgFitter, fEventReconstructor, 
95 and fTrackHitsPtr are not saved in the MUON.Track.root file
96
97 ===========================================================
98  How to run MUON Trigger Track reconstruction (new output)
99 ===========================================================
100 .includepath $ALICE_ROOT/STEER
101 .includepath $ALICE_ROOT/MUON
102 .L $ALICE_ROOT/MUON/MUONTriggerTracker.C++
103 MUONTriggerTracker("galice.root",0,10);    
104 To Load
105 gSystem->Load("$ALICE_ROOT/MUON/MUONTriggerTracker_C.so")
106 Output in MUON.Tracks.root using the new IO 
107 as a TClonesArray of AliMUONTriggerTrack
108
109
110 ============================================================
111  How to run MUONCheck macro
112 ============================================================
113 To check the content of a root data file, the MUONCheck
114 provides a ascii output on screen.
115
116 To compile MUONCheck.C
117 .includepath $ALICE_ROOT/STEER
118 .includepath $ALICE_ROOT/MUON
119 .L $ALICE_ROOT/MUON/MUONCheck.C++
120 To Load
121 gSystem->Load("$ALICE_ROOT/MUON/MUONCheck_C.so")
122
123 To print Kine : (default file is galice.root )
124 MUONkine() or MUONkine("galice.root",##) for the event number ##
125
126 To print hits : (default file is galice.root if not MUONhits("toto.root""); )
127 MUONhits()  or MUONhits("galice.root",##) for the event number ##
128
129 To print digits : (default file is galice.root)
130 MUONdigits()  or MUONdigits("galice.root",##) for the event number ##
131
132 To print rawcluster : (default file is galice.root)
133 MUONrecpoints() or MUONrecpoints("galice.root",##) for the event number ##
134
135 To print trigger : (default file is galice.root)
136 MUONTestTrigger() or MUONTestTrigger("galice.root",##) for the event number ##
137
138 ....
139
140
141 ============================================================
142  How to check the Geometry
143 ============================================================
144 gAlice->Init("$ALICE_ROOT/MUON/Config_MUON_test.C");
145 .L $ALICE/geant3/TGeant3/G3GUI.C
146 G3GUI()
147
148
149 ============================================================
150  How to run MUONdisplay
151 ============================================================
152 First you need to perform a full simulation: 
153 generation, digitalisation and clusterisation
154 .L $ALICE_ROOT/MUON/MUONdisplay.C
155 MUONdisplay(0,"galice.root")
156
157 ============================================================
158  Tracking parameters, cuts, energy loss and physics processes
159 ============================================================
160 Tracking parameters in MUON are automatically defined by GEANT
161 MUON takes the default values of CUTs  and physics processes
162 defined by the Config files, except for the gas mixture medium 
163 of the tracking chambers. The CUT's and physics processes of
164 the gas mixture medium  is then defined in the galice.cuts file
165 in the data directory. In particular ILOSS parameter MUST be
166 equal unity (1) in order simulate a realistic energy loss
167 distribution (mean value and fluctuations) in the active gas.
168
169 ============================================================
170  Tracking of particle in the magnetic field
171 ============================================================
172 GEANT has two ways for tracking charged particles in the 
173 magnetic field: HELIX et RKUTA.
174 HELIX is faster and works well if the gradient of magnetic 
175 field is small. 
176 For MUON, HELIX is a not a good approximation and we must 
177 use RKUTA to get the optimal mass resolution of the 
178 spectrometer. The choice of HELIX or RKUTA is done in the
179 config file when the magnetic field is defined:
180   AliMagFMaps* field = new AliMagFMaps("Maps","Maps", TRACKING, FACTOR, MAXB, AliMagFMaps::k4kG);
181   gAlice->SetField(field);
182 TRACKING must be 1 for RKUTA and 2 for HELIX (the default value for aliroot is 2 (HELIX))
183 FACTOR allows you to set the magnetic field to 0, just putting FACTOR=0. Default value is 1.
184 MAXB is the maximum magnetic field which is 10.T
185
186 ===========================================================
187  MUON cocktail for physics ..............
188 ===========================================================
189 There is a MUON cocktail generator of the muon sources in the
190 EVGEN directory. This class derives from AliGenCocktail.
191 In the init of this class I have filled the cocktail with 
192 the muon sources: J/Psi, Upsilon, Open Charm, Open Beauty, 
193 Pion, Kaons. The code needs only the production cross section 
194 at 4pi (for the moment this values are in the code since I 
195 prefere them do not be modified), and the code calculates the  
196 rate of particles in the acceptance, making the scaling based 
197 on the number of collisions for the hard probes and on the  
198 number of participants for soft sources: Pions and Kaons.
199
200 In the Genereate of this class all entries in the cocktail 
201 are called and we define a "primordial trigger" with requires 
202 a minimum number of muons above a Pt cut in the required acceptance.
203 In order to normalized to the real number of simulated events, 
204 there are 2 data members in the class fNsuceeded adn fNGenerate 
205 which tell us what is the biais source.
206
207 Enclose an example to use this generator:   
208 AliGenMUONCocktail * gener = new AliGenMUONCocktail();
209 gener->SetPtRange(1.,100.);       // Transverse momentum range  
210 gener->SetPhiRange(0.,360.);    // Azimuthal angle range 
211 gener->SetYRange(-4.0,-2.4);
212 gener->SetMuonPtCut(1.);
213 gener->SetMuonThetaCut(171.,178.);
214 gener->SetMuonMultiplicity(2);
215 gener->SetNumberOfCollisions(1950.);   
216 gener->SetNumberOfParticipants(400.);     
217 gener->SetVertexSmear(kPerTrack);  
218 gener->SetOrigin(0,0,0);        // Vertex position
219 gener->SetSigma(0,0,0.0);       // Sigma in (X,Y,Z) (cm) on IP position
220 gener->Init();
221  
222 ===========================================================
223  csh Script for the full reconstruction
224 ===========================================================
225 aliroot -b << EOF  
226 gAlice->Run(NumberOfEvents,"YourConfig.C");
227 .q
228 EOF
229
230 aliroot -b << EOF 
231 AliRunDigitizer   * manager = new AliRunDigitizer(1,1);
232 manager->SetInputStream(0,"galice.root");
233 AliMUONDigitizerv1* dMUON   = new AliMUONDigitizerv1(manager);
234 manager->AddDigitizer(dMUON);
235 manager->Exec("deb");
236 .q
237 EOF
238
239 aliroot -b << EOF 
240 .includepath $ALICE_ROOT/STEER
241 .includepath $ALICE_ROOT/MUON
242 .L $ALICE_ROOT/MUON/MUONrawclusters.C++
243 MUONrawclusters("galice.root",0,99999); 
244 .q
245 EOF
246
247 aliroot -b << EOF 
248 .includepath $ALICE_ROOT/STEER
249 .includepath $ALICE_ROOT/MUON
250 .L $ALICE_ROOT/MUON/MUONtrigger.C++
251 MUONtrigger("galice.root",0,99999);
252  .q
253 EOF
254
255 aliroot -b << EOF 
256 .includepath $ALICE_ROOT/STEER
257 .includepath $ALICE_ROOT/MUON
258 .L $ALICE_ROOT/MUON/MUONTracker.C++
259 MUONTracker("galice.root",0,99999) 
260  .q
261 EOF
262
263 aliroot -b << EOF  
264 .includepath $ALICE_ROOT/STEER
265 .includepath $ALICE_ROOT/MUON
266 .L $ALICE_ROOT/MUON/MUONmassPlot_NewIO.C++
267 MUONmassPlot("galice.root",0,99999);
268 .q
269 EOF
270
271 ===========================================================
272  Still working ..............
273 ===========================================================