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 Hits to SDigits
39 ============================================================
40 .L ALICE_ROOT/MUON/MUONHit2SDigit.C
41 MUONHit2SDigit(0,99999,"galice.root")
44 ============================================================
45 How to run MUON Digitalization from SDigits
46 ============================================================
47 To process the digitalization of hits the AliRunDigitizer
50 AliRunDigitizer * manager = new AliRunDigitizer(1,1);
51 manager->SetInputStream(0,"galice.root");
52 AliMUONDigitizerv2* dMUON = new AliMUONDigitizerv2(manager)
53 manager->AddDigitizer(dMUON);
57 ============================================================
58 How to run MUON Digitalization from Hits
59 ============================================================
60 To process the digitalization of hits the AliRunDigitizer
63 AliRunDigitizer * manager = new AliRunDigitizer(1,1);
64 manager->SetInputStream(0,"galice.root");
65 AliMUONDigitizerv1* dMUON = new AliMUONDigitizerv1(manager)
66 manager->AddDigitizer(dMUON);
69 ============================================================
70 How to run MUON RecPoint clusterization
71 ============================================================
73 .includepath $ALICE_ROOT/STEER
74 .includepath $ALICE_ROOT/MUON
75 .L $ALICE_ROOT/MUON/MUONrawclusters.C++
76 MUONrawclusters("galice.root",0,9999);
78 gSystem->Load("$ALICE_ROOT/MUON/MUONrawclusters_C.so")
80 ============================================================
81 How to run MUON Trigger
82 ============================================================
83 .includepath $ALICE_ROOT/STEER
84 .includepath $ALICE_ROOT/MUON
85 .L $ALICE_ROOT/MUON/MUONtrigger.C++
86 MUONtrigger("galice.root",0,9999);
88 gSystem->Load("$ALICE_ROOT/MUON/MUONtrigger_C.so")
90 ============================================================
91 How to run MUON Tracking reconstruction (old output)
92 ===========================================================
93 .includepath $ALICE_ROOT/STEER
94 .includepath $ALICE_ROOT/MUON
95 .L $ALICE_ROOT/MUON/MUONrecoNtuple.C++
96 MUONrecoNtuple(0,9999,0,"galice.root")
98 gSystem->Load("$ALICE_ROOT/MUON/MUONrecoNtuple_C.so")
99 First event and last event are given by hand, but this will change.
101 ===========================================================
102 How to run MUON Tracking reconstruction (new output)
103 ===========================================================
104 .includepath $ALICE_ROOT/STEER
105 .includepath $ALICE_ROOT/MUON
106 .L $ALICE_ROOT/MUON/MUONTracker.C++
107 MUONTracker("galice.root",0,9999);
109 gSystem->Load("$ALICE_ROOT/MUON/MUONTracker_C.so")
110 Output in MUON.Tracks.root using the new IO
111 as a TClonesArray of AliMUONTrack
113 Note1.In the actual version (dec-03) the following data
114 members of ALiMUONTrack: fgFitter, fEventReconstructor,
115 and fTrackHitsPtr are not saved in the MUON.Track.root file
118 ===========================================================
119 How to run MUON Trigger Track reconstruction (new output)
120 ===========================================================
121 .includepath $ALICE_ROOT/STEER
122 .includepath $ALICE_ROOT/MUON
123 .L $ALICE_ROOT/MUON/MUONTriggerTracker.C++
124 MUONTriggerTracker("galice.root",0,10);
126 gSystem->Load("$ALICE_ROOT/MUON/MUONTriggerTracker_C.so")
127 Output in MUON.Tracks.root using the new IO
128 as a TClonesArray of AliMUONTriggerTrack
130 ==========================================================
131 How to run full MUON reconstruction
132 (clusterisation + trigger + tracking)
133 ===========================================================
134 .includepath $ALICE_ROOT/STEER
135 .includepath $ALICE_ROOT/MUON
136 .L $ALICE_ROOT/MUON/MUONChallengeTest.C++
137 MUONRecoTest("galice.root");
140 ============================================================
141 How to run MUONCheck macro
142 ============================================================
143 To check the content of a root data file, the MUONCheck
144 provides a ascii output on screen.
146 To compile MUONCheck.C
147 .includepath $ALICE_ROOT/STEER
148 .includepath $ALICE_ROOT/MUON
149 .L $ALICE_ROOT/MUON/MUONCheck.C++
151 gSystem->Load("$ALICE_ROOT/MUON/MUONCheck_C.so")
153 To print Kine : (default file is galice.root )
154 MUONkine() or MUONkine("galice.root",##) for the event number ##
156 To print hits : (default file is galice.root if not MUONhits("toto.root""); )
157 MUONhits() or MUONhits("galice.root",##) for the event number ##
159 To print digits : (default file is galice.root)
160 MUONdigits() or MUONdigits("galice.root",##) for the event number ##
162 To print rawcluster : (default file is galice.root)
163 MUONrecpoints() or MUONrecpoints("galice.root",##) for the event number ##
165 To print trigger : (default file is galice.root)
166 MUONTestTrigger() or MUONTestTrigger("galice.root",##) for the event number ##
171 ============================================================
172 How to check the Geometry
173 ============================================================
174 gAlice->Init("$ALICE_ROOT/MUON/Config_MUON_test.C");
175 .L $ALICE/geant3/TGeant3/G3GUI.C
179 ============================================================
180 How to run MUONdisplay
181 ============================================================
182 First you need to perform a full simulation:
183 generation, digitalisation and clusterisation
184 .L $ALICE_ROOT/MUON/MUONdisplay.C
185 MUONdisplay(0,"galice.root")
187 ============================================================
188 Tracking parameters, cuts, energy loss and physics processes
189 ============================================================
190 Tracking parameters in MUON are automatically defined by GEANT
191 MUON takes the default values of CUTs and physics processes
192 defined by the Config files, except for the gas mixture medium
193 of the tracking chambers. The CUT's and physics processes of
194 the gas mixture medium is then defined in the galice.cuts file
195 in the data directory. In particular ILOSS parameter MUST be
196 equal unity (1) in order simulate a realistic energy loss
197 distribution (mean value and fluctuations) in the active gas.
199 ============================================================
200 Tracking of particle in the magnetic field
201 ============================================================
202 GEANT has two ways for tracking charged particles in the
203 magnetic field: HELIX et RKUTA.
204 HELIX is faster and works well if the gradient of magnetic
206 For MUON, HELIX is a not a good approximation and we must
207 use RKUTA to get the optimal mass resolution of the
208 spectrometer. The choice of HELIX or RKUTA is done in the
209 config file when the magnetic field is defined:
210 AliMagFMaps* field = new AliMagFMaps("Maps","Maps", TRACKING, FACTOR, MAXB, AliMagFMaps::k4kG);
211 gAlice->SetField(field);
212 TRACKING must be 1 for RKUTA and 2 for HELIX (the default value for aliroot is 2 (HELIX))
213 FACTOR allows you to set the magnetic field to 0, just putting FACTOR=0. Default value is 1.
214 MAXB is the maximum magnetic field which is 10.T
216 ===========================================================
217 MUON cocktail for physics ..............
218 ===========================================================
219 There is a MUON cocktail generator of the muon sources in the
220 EVGEN directory. This class derives from AliGenCocktail.
221 In the init of this class I have filled the cocktail with
222 the muon sources: J/Psi, Upsilon, Open Charm, Open Beauty,
223 Pion, Kaons. The code needs only the production cross section
224 at 4pi (for the moment this values are in the code since I
225 prefere them do not be modified), and the code calculates the
226 rate of particles in the acceptance, making the scaling based
227 on the number of collisions for the hard probes and on the
228 number of participants for soft sources: Pions and Kaons.
230 In the Genereate of this class all entries in the cocktail
231 are called and we define a "primordial trigger" with requires
232 a minimum number of muons above a Pt cut in the required acceptance.
233 In order to normalized to the real number of simulated events,
234 there are 2 data members in the class fNsuceeded adn fNGenerate
235 which tell us what is the biais source.
237 Enclose an example to use this generator:
238 AliGenMUONCocktail * gener = new AliGenMUONCocktail();
239 gener->SetPtRange(1.,100.); // Transverse momentum range
240 gener->SetPhiRange(0.,360.); // Azimuthal angle range
241 gener->SetYRange(-4.0,-2.4);
242 gener->SetMuonPtCut(1.);
243 gener->SetMuonThetaCut(171.,178.);
244 gener->SetMuonMultiplicity(2);
245 gener->SetNumberOfCollisions(1950.);
246 gener->SetNumberOfParticipants(400.);
247 gener->SetVertexSmear(kPerTrack);
248 gener->SetOrigin(0,0,0); // Vertex position
249 gener->SetSigma(0,0,0.0); // Sigma in (X,Y,Z) (cm) on IP position
252 ===========================================================
253 csh Script for the full reconstruction
254 ===========================================================
256 gAlice->Run(NumberOfEvents,"YourConfig.C");
261 .L ALICE_ROOT/MUON/MUONHit2SDigit.C
262 MUONHit2SDigit(0,99999,"galice.root")
268 AliRunDigitizer * manager = new AliRunDigitizer(1,1);
269 manager->SetInputStream(0,"galice.root");
270 AliMUONDigitizerv2* dMUON = new AliMUONDigitizerv2(manager);
271 manager->AddDigitizer(dMUON);
272 manager->Exec("deb");
277 .includepath $ALICE_ROOT/STEER
278 .includepath $ALICE_ROOT/MUON
279 .L $ALICE_ROOT/MUON/MUONChallengeTest.C++
280 MUONRecoTest("galice.root");
286 .includepath $ALICE_ROOT/STEER
287 .includepath $ALICE_ROOT/MUON
288 .L $ALICE_ROOT/MUON/MUONmassPlot_NewIO.C++
289 MUONmassPlot("galice.root",0,99999);
293 ===========================================================
294 Still working ..............
295 ===========================================================