1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
18 ==========================================================
19 Please add to this README file all information concerning
20 config files, simulation, digitalization, clusterization,
21 reconstruction and macro analysis
23 ==========================================================
24 How to run a MUON generation
25 ==========================================================
27 root [0] gAlice->Run(10,"$ALICE_ROOT/MUON/Config_MUON_test.C");
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
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\" );");
37 ============================================================
38 How to run MUON Digitalization
39 ============================================================
40 To process the digitalization of hits the AliRunDigitizer
43 AliRunDigitizer * manager = new AliRunDigitizer(1,1);
44 manager->SetInputStream(0,"galice.root");
45 AliMUONDigitizerv1* dMUON = new AliMUONDigitizerv1(manager)
46 manager->AddDigitizer(dMUON);
49 ============================================================
50 How to run MUON RecPoint clusterization
51 ============================================================
53 .includepath $ALICE_ROOT/STEER
54 .includepath $ALICE_ROOT/MUON
55 .L $ALICE_ROOT/MUON/MUONrawclusters.C++
56 MUONrawclusters("galice.root",0,9999);
58 gSystem->Load("$ALICE_ROOT/MUON/MUONrawclusters_C.so")
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);
68 gSystem->Load("$ALICE_ROOT/MUON/MUONtrigger_C.so")
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")
78 gSystem->Load("$ALICE_ROOT/MUON/MUONrecoNtuple_C.so")
79 First event and last event are given by hand, but this will change.
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);
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
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
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);
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
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.
116 To compile MUONCheck.C
117 .includepath $ALICE_ROOT/STEER
118 .includepath $ALICE_ROOT/MUON
119 .L $ALICE_ROOT/MUON/MUONCheck.C++
121 gSystem->Load("$ALICE_ROOT/MUON/MUONCheck_C.so")
123 To print Kine : (default file is galice.root )
124 MUONkine() or MUONkine("galice.root",##) for the event number ##
126 To print hits : (default file is galice.root if not MUONhits("toto.root""); )
127 MUONhits() or MUONhits("galice.root",##) for the event number ##
129 To print digits : (default file is galice.root)
130 MUONdigits() or MUONdigits("galice.root",##) for the event number ##
132 To print rawcluster : (default file is galice.root)
133 MUONrecpoints() or MUONrecpoints("galice.root",##) for the event number ##
135 To print trigger : (default file is galice.root)
136 MUONTestTrigger() or MUONTestTrigger("galice.root",##) for the event number ##
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
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")
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.
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
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
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.
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.
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
222 ===========================================================
223 csh Script for the full reconstruction
224 ===========================================================
226 gAlice->Run(NumberOfEvents,"YourConfig.C");
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");
240 .includepath $ALICE_ROOT/STEER
241 .includepath $ALICE_ROOT/MUON
242 .L $ALICE_ROOT/MUON/MUONrawclusters.C++
243 MUONrawclusters("galice.root",0,99999);
248 .includepath $ALICE_ROOT/STEER
249 .includepath $ALICE_ROOT/MUON
250 .L $ALICE_ROOT/MUON/MUONtrigger.C++
251 MUONtrigger("galice.root",0,99999);
256 .includepath $ALICE_ROOT/STEER
257 .includepath $ALICE_ROOT/MUON
258 .L $ALICE_ROOT/MUON/MUONTracker.C++
259 MUONTracker("galice.root",0,99999)
264 .includepath $ALICE_ROOT/STEER
265 .includepath $ALICE_ROOT/MUON
266 .L $ALICE_ROOT/MUON/MUONmassPlot_NewIO.C++
267 MUONmassPlot("galice.root",0,99999);
271 ===========================================================
272 Still working ..............
273 ===========================================================