]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/README
43bcc524502d696023ca91e6c3b91eb6a5e49db3
[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 run a MUON generation
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.
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
38 ============================================================
39  How to run MUONCheck macro
40 ============================================================
41 To check the content of a root data file, the MUONCheck
42 provides a ascii output on screen.
43
44 To compile MUONCheck.C
45 .includepath $ALICE_ROOT/STEER
46 .includepath $ALICE_ROOT/MUON
47 .L $ALICE_ROOT/MUON/MUONCheck.C++
48 To Load
49 gSystem->Load("$ALICE_ROOT/MUON/MUONCheck_C.so")
50
51 To print Kine : (default file is galice.root )
52 MUONkine() or MUONkine("galice.root",##) for the event number ##
53
54 To print hits : (default file is galice.root if not MUONhits("toto.root""); )
55 MUONhits()  or MUONhits("galice.root",##) for the event number ##
56
57 To print digits : (default file is galice.root)
58 MUONdigits()  or MUONdigits("galice.root",##) for the event number ##
59
60 To print rawcluster : (default file is galice.root)
61 MUONrecpoints() or MUONrecpoints("galice.root",##) for the event number ##
62
63 To print trigger : (default file is galice.root)
64 MUONTestTrigger() or MUONTestTrigger("galice.root",##) for the event number ##
65
66 ....
67
68
69 ============================================================
70  How to check the Geometry
71 ============================================================
72 gAlice->Init("$ALICE_ROOT/MUON/Config_MUON_test.C");
73 .L $ALICE/geant3/TGeant3/G3GUI.C
74 G3GUI()
75
76
77 ============================================================
78  How to run MUONdisplay
79 ============================================================
80 First you need to perform a full simulation: 
81 generation, digitalisation and clusterisation
82 .L $ALICE_ROOT/MUON/MUONdisplay.C
83 MUONdisplay(0,"galice.root")
84
85 ============================================================
86  Tracking parameters, cuts, energy loss and physics processes
87 ============================================================
88 Tracking parameters in MUON are automatically defined by GEANT
89 MUON takes the default values of CUTs  and physics processes
90 defined by the Config files, except for the gas mixture medium 
91 of the tracking chambers. The CUT's and physics processes of
92 the gas mixture medium  is then defined in the galice.cuts file
93 in the data directory. In particular ILOSS parameter MUST be
94 equal unity (1) in order simulate a realistic energy loss
95 distribution (mean value and fluctuations) in the active gas.
96
97 ============================================================
98  Tracking of particle in the magnetic field
99 ============================================================
100 GEANT has two ways for tracking charged particles in the 
101 magnetic field: HELIX et RKUTA.
102 HELIX is faster and works well if the gradient of magnetic 
103 field is small. 
104 For MUON, HELIX is a not a good approximation and we must 
105 use RKUTA to get the optimal mass resolution of the 
106 spectrometer. The choice of HELIX or RKUTA is done in the
107 config file when the magnetic field is defined:
108   AliMagFMaps* field = new AliMagFMaps("Maps","Maps", TRACKING, FACTOR, MAXB, AliMagFMaps::k4kG);
109   gAlice->SetField(field);
110 TRACKING must be 1 for RKUTA and 2 for HELIX (the default value for aliroot is 2 (HELIX))
111 FACTOR allows you to set the magnetic field to 0, just putting FACTOR=0. Default value is 1.
112 MAXB is the maximum magnetic field which is 10.T
113
114 ===========================================================
115  MUON cocktail for physics ..............
116 ===========================================================
117 There is a MUON cocktail generator of the muon sources in the
118 EVGEN directory. This class derives from AliGenCocktail.
119 In the init of this class I have filled the cocktail with 
120 the muon sources: J/Psi, Upsilon, Open Charm, Open Beauty, 
121 Pion, Kaons. The code needs only the production cross section 
122 at 4pi (for the moment this values are in the code since I 
123 prefere them do not be modified), and the code calculates the  
124 rate of particles in the acceptance, making the scaling based 
125 on the number of collisions for the hard probes and on the  
126 number of participants for soft sources: Pions and Kaons.
127
128 In the Genereate of this class all entries in the cocktail 
129 are called and we define a "primordial trigger" with requires 
130 a minimum number of muons above a Pt cut in the required acceptance.
131 In order to normalized to the real number of simulated events, 
132 there are 2 data members in the class fNsuceeded adn fNGenerate 
133 which tell us what is the biais source.
134
135 Enclose an example to use this generator:   
136 AliGenMUONCocktail * gener = new AliGenMUONCocktail();
137 gener->SetPtRange(1.,100.);       // Transverse momentum range  
138 gener->SetPhiRange(0.,360.);    // Azimuthal angle range 
139 gener->SetYRange(-4.0,-2.4);
140 gener->SetMuonPtCut(1.);
141 gener->SetMuonThetaCut(171.,178.);
142 gener->SetMuonMultiplicity(2);
143 gener->SetNumberOfCollisions(1950.);   
144 gener->SetNumberOfParticipants(400.);     
145 gener->SetVertexSmear(kPerTrack);  
146 gener->SetOrigin(0,0,0);        // Vertex position
147 gener->SetSigma(0,0,0.0);       // Sigma in (X,Y,Z) (cm) on IP position
148 gener->Init();
149  
150 ===========================================================
151  csh Script for the full reconstruction with raw data generator
152 ===========================================================
153
154
155 aliroot -b << EOF  
156 AliSimulation MuonSim("YourConfig.C")
157 MuonSim.SetWriteRawData("MUON");
158 MuonSim.Run(XXX)
159 .q
160 EOF
161
162 aliroot -b << EOF 
163 TPluginManager* pluginManager = gROOT->GetPluginManager();
164 pluginManager->AddHandler("AliReconstructor", "MUON","AliMUONReconstructor", "MUON","AliMUONReconstructor()")
165 AliReconstruction MuonRec("galice.root") 
166 MuonRec.SetRunTracking("")
167 MuonRec.SetRunVertexFinder(kFALSE)
168 MuonRec.SetRunLocalReconstruction("MUON")
169 MuonRec.SetFillESD("MUON")
170 MuonRec.Run() 
171 .q
172 EOF
173
174 aliroot -b << EOF  
175 .includepath $ALICE_ROOT/STEER
176 .includepath $ALICE_ROOT/MUON
177 .L $ALICE_ROOT/MUON/MUONmassPlot_ESD.C++
178 MUONmassPlot("galice.root",0,99999);
179 .q
180 EOF
181
182
183 ============================================================
184  How to run MUONRecoCheck macro
185 ============================================================
186 To check the muon reconstruction by comparing the reconstructed tracks
187 with the reference tracks made of "AliTrackReference" for the hits and
188 kinematic informations (TParticle) for the vertex.
189 This macro can be used to check the track reconstruction e.g. efficiency,
190 momentum resolution ... but also to make physics analysis whenever
191 track identification is needed.   
192
193 To compile MUONRecoCheck.C
194 .includepath $ALICE_ROOT/STEER
195 .includepath $ALICE_ROOT/MUON
196 .L $ALICE_ROOT/MUON/MUONRecoCheck.C+
197
198 // To run MUONRecoCheck
199 MUONRecoCheck(nEvent,"galice.root"); // nEvent = nb of events
200
201
202 ============================================================
203  How to run MUONTracker macro
204 ============================================================
205 To make the track reconstruction directly from AliTrackReference hits 
206 which are recorded in TrackRefs.root during the simulation.
207 It can be used to check the reconstruction without clusterization.      
208
209 To compile MUONTracker.C
210 .includepath $ALICE_ROOT/STEER
211 .includepath $ALICE_ROOT/MUON
212 .L $ALICE_ROOT/MUON/MUONTracker.C+
213
214 // To run MUONTracker
215 MUONTracker(iEventMin,iEventMax,"galice.root"); // iEventMin: first event
216                                                 // iEventMax: last event        
217
218
219 ===========================================================
220  Still working ..............
221 ===========================================================