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