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