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