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