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