Reducing number of trigger volumes directly placed in ALIC, changing gas volume name...
[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
6b1e4b22 23==========================================================
24 How to check that your aliroot is working well
25==========================================================
26There is a script file AlirootRun_MUONtest.script which
27allows for simulating, reconstructing and making the
28invariant analysis of the generated Upsilon (1S).
29The used configuration file is Config.C in MUON
30directory.
31There you have to type :
32
33source $ALICE_ROOT/MUON/AlirootRun_MUONtest.script
34
35If you do not recover a few Upsilons in their mass region
36in the file MUONmassPlot.root
37
88cb7938 38==========================================================
7985603c 39 How to run a MUON generation
88cb7938 40==========================================================
41aliroot
fc1fafa5 42root [0] gAlice->Run(10,"$ALICE_ROOT/MUON/Config.C");
88cb7938 43
441 single muon of 7 GeV/c in the MUON spectrometer
45acceptance will be simulated using geant3.
46Hit information will be store in the root file in the
47execution directory.
88cb7938 48If you want to change the option or to define a new directory
49for hits, you have to do the following before:
50root [0] gAlice->SetConfigFunction("Config( \"/home/martinez/aliroot/work_NewIO/test/\" , \"box\" );");
51
a3448039 52
88cb7938 53============================================================
54 How to run MUONCheck macro
55============================================================
56To check the content of a root data file, the MUONCheck
57provides a ascii output on screen.
58
59To compile MUONCheck.C
2058bf30 60.includepath $ALICE_ROOT/STEER
61.includepath $ALICE_ROOT/MUON
62.L $ALICE_ROOT/MUON/MUONCheck.C++
bf17dbfd 63To Load
64gSystem->Load("$ALICE_ROOT/MUON/MUONCheck_C.so")
2058bf30 65
278a86d5 66To print Kine : (default file is galice.root )
2b32c661 67MUONkine() or MUONkine("galice.root",##) for the event number ##
88cb7938 68
69To print hits : (default file is galice.root if not MUONhits("toto.root""); )
2b32c661 70MUONhits() or MUONhits("galice.root",##) for the event number ##
88cb7938 71
72To print digits : (default file is galice.root)
2b32c661 73MUONdigits() or MUONdigits("galice.root",##) for the event number ##
88cb7938 74
75To print rawcluster : (default file is galice.root)
2b32c661 76MUONrecpoints() or MUONrecpoints("galice.root",##) for the event number ##
88cb7938 77
78To print trigger : (default file is galice.root)
2b32c661 79MUONTestTrigger() or MUONTestTrigger("galice.root",##) for the event number ##
80
81....
88cb7938 82
02d8f072 83
84============================================================
85 How to check the Geometry
86============================================================
fc1fafa5 87gAlice->Init("$ALICE_ROOT/MUON/Config.C");
02d8f072 88.L $ALICE/geant3/TGeant3/G3GUI.C
89G3GUI()
90
91
7985603c 92============================================================
93 How to run MUONdisplay
94============================================================
1eccde20 95First you need to perform a full simulation:
7985603c 96generation, digitalisation and clusterisation
97.L $ALICE_ROOT/MUON/MUONdisplay.C
98MUONdisplay(0,"galice.root")
99
02d8f072 100============================================================
101 Tracking parameters, cuts, energy loss and physics processes
102============================================================
103Tracking parameters in MUON are automatically defined by GEANT
104MUON takes the default values of CUTs and physics processes
105defined by the Config files, except for the gas mixture medium
106of the tracking chambers. The CUT's and physics processes of
107the gas mixture medium is then defined in the galice.cuts file
108in the data directory. In particular ILOSS parameter MUST be
109equal unity (1) in order simulate a realistic energy loss
110distribution (mean value and fluctuations) in the active gas.
a88eb0d0 111
112============================================================
113 Tracking of particle in the magnetic field
114============================================================
115GEANT has two ways for tracking charged particles in the
116magnetic field: HELIX et RKUTA.
117HELIX is faster and works well if the gradient of magnetic
118field is small.
119For MUON, HELIX is a not a good approximation and we must
120use RKUTA to get the optimal mass resolution of the
121spectrometer. The choice of HELIX or RKUTA is done in the
122config file when the magnetic field is defined:
123 AliMagFMaps* field = new AliMagFMaps("Maps","Maps", TRACKING, FACTOR, MAXB, AliMagFMaps::k4kG);
124 gAlice->SetField(field);
125TRACKING must be 1 for RKUTA and 2 for HELIX (the default value for aliroot is 2 (HELIX))
126FACTOR allows you to set the magnetic field to 0, just putting FACTOR=0. Default value is 1.
127MAXB is the maximum magnetic field which is 10.T
2b32c661 128
f4f795ed 129===========================================================
130 MUON cocktail for physics ..............
131===========================================================
132There is a MUON cocktail generator of the muon sources in the
133EVGEN directory. This class derives from AliGenCocktail.
134In the init of this class I have filled the cocktail with
135the muon sources: J/Psi, Upsilon, Open Charm, Open Beauty,
136Pion, Kaons. The code needs only the production cross section
137at 4pi (for the moment this values are in the code since I
138prefere them do not be modified), and the code calculates the
139rate of particles in the acceptance, making the scaling based
140on the number of collisions for the hard probes and on the
141number of participants for soft sources: Pions and Kaons.
142
143In the Genereate of this class all entries in the cocktail
144are called and we define a "primordial trigger" with requires
145a minimum number of muons above a Pt cut in the required acceptance.
146In order to normalized to the real number of simulated events,
147there are 2 data members in the class fNsuceeded adn fNGenerate
148which tell us what is the biais source.
149
150Enclose an example to use this generator:
151AliGenMUONCocktail * gener = new AliGenMUONCocktail();
152gener->SetPtRange(1.,100.); // Transverse momentum range
153gener->SetPhiRange(0.,360.); // Azimuthal angle range
154gener->SetYRange(-4.0,-2.4);
155gener->SetMuonPtCut(1.);
156gener->SetMuonThetaCut(171.,178.);
157gener->SetMuonMultiplicity(2);
35e21dec 158gener->SetImpactParameterRange(0.,5.); // 10% most centra PbPb collisions
f4f795ed 159gener->SetVertexSmear(kPerTrack);
160gener->SetOrigin(0,0,0); // Vertex position
161gener->SetSigma(0,0,0.0); // Sigma in (X,Y,Z) (cm) on IP position
162gener->Init();
163
2b32c661 164===========================================================
69be760c 165 csh Script for the full reconstruction with raw data generator
2b32c661 166===========================================================
2b32c661 167
9f532ceb 168
5473f16a 169aliroot -b << EOF
170AliSimulation MuonSim("YourConfig.C")
69be760c 171MuonSim.SetWriteRawData("MUON");
5473f16a 172MuonSim.Run(XXX)
2b32c661 173.q
174EOF
175
cac2eb58 176aliroot -b << EOF
177TPluginManager* pluginManager = gROOT->GetPluginManager();
178pluginManager->AddHandler("AliReconstructor", "MUON","AliMUONReconstructor", "MUON","AliMUONReconstructor()")
179AliReconstruction MuonRec("galice.root")
d59a4389 180MuonRec.SetRunTracking("")
5473f16a 181MuonRec.SetRunVertexFinder(kFALSE)
182MuonRec.SetRunLocalReconstruction("MUON")
183MuonRec.SetFillESD("MUON")
cac2eb58 184MuonRec.Run()
2b32c661 185.q
186EOF
187
2b32c661 188aliroot -b << EOF
189.includepath $ALICE_ROOT/STEER
190.includepath $ALICE_ROOT/MUON
5473f16a 191.L $ALICE_ROOT/MUON/MUONmassPlot_ESD.C++
2b32c661 192MUONmassPlot("galice.root",0,99999);
193.q
194EOF
a88eb0d0 195
b8dc484b 196
197============================================================
198 How to run MUONRecoCheck macro
199============================================================
200To check the muon reconstruction by comparing the reconstructed tracks
201with the reference tracks made of "AliTrackReference" for the hits and
202kinematic informations (TParticle) for the vertex.
203This macro can be used to check the track reconstruction e.g. efficiency,
204momentum resolution ... but also to make physics analysis whenever
205track identification is needed.
206
207To compile MUONRecoCheck.C
208.includepath $ALICE_ROOT/STEER
209.includepath $ALICE_ROOT/MUON
210.L $ALICE_ROOT/MUON/MUONRecoCheck.C+
211
212// To run MUONRecoCheck
213MUONRecoCheck(nEvent,"galice.root"); // nEvent = nb of events
214
29fc2c86 215
216============================================================
217 How to run MUONTracker macro
218============================================================
219To make the track reconstruction directly from AliTrackReference hits
220which are recorded in TrackRefs.root during the simulation.
221It can be used to check the reconstruction without clusterization.
222
223To compile MUONTracker.C
224.includepath $ALICE_ROOT/STEER
225.includepath $ALICE_ROOT/MUON
226.L $ALICE_ROOT/MUON/MUONTracker.C+
227
228// To run MUONTracker
229MUONTracker(iEventMin,iEventMax,"galice.root"); // iEventMin: first event
fc1fafa5 230
231===========================================================
232 Macro MUONGenerateGeometryData.C
233===========================================================
234
235Macro for generating the geometry data files:
236(transform_*.dat, svmap_*.dat).
237- MUON/data/transform_*dat files contain all the information
238about the transformation (traslation + rotation) needed for
239the positionning of each detection element of the MUON
240spectrometer.
241- MUON/data/svmap_*.dat files contain all the information to link
242each geant volume (it can be extended to other virtual MC) with
243a detection element. The point here is that a given detection
244element, i.e. a slat chamber consists of many geant volumes.
245the correspondence is then defined in an input file.
246Eanch time there is a change in the virtual MC geometry, these
247input files must be re-generated via the macro
248MUONGenerateGeometryData.C
249
250To be run from aliroot:
251.x MUONGenerateGeometryData.C
252
253The generated files do not replace the existing ones
254but have different names (with extension ".out").
255To compare/replace the existing files with generated ones
256run the scripts in MUON/data:
257compare_data [transform] [svmaps ]
258reset_data [transform] [svmaps]
259Author: I. Hrivnacova, IPN Orsay
29fc2c86 260
261
88cb7938 262===========================================================
263 Still working ..............
264===========================================================