]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/README
Corrected index (aplhacxx6)
[u/mrichter/AliRoot.git] / MUON / README
index 2f0c8d4d5df871ee5fc344f068dbea62236a5d71..885c8c0e4d1151857184e077f132d9fcd47c4c2e 100644 (file)
@@ -21,10 +21,25 @@ config files, simulation, digitalization, clusterization,
 reconstruction and macro analysis
 
 ==========================================================
- How to run a MUON simulation 
+ How to check that your aliroot is working well
+==========================================================
+There is a script file AlirootRun_MUONtest.script which 
+allows for simulating, reconstructing and making the
+invariant analysis of the generated Upsilon (1S).
+The used configuration file is Config.C in MUON 
+directory.
+There you have to type :
+
+source $ALICE_ROOT/MUON/AlirootRun_MUONtest.script
+
+If you do not recover a few Upsilons in their mass region 
+in the file MUONmassPlot.root
+
+==========================================================
+ How to run a MUON generation
 ==========================================================
 aliroot
-root [0] gAlice->Run(10,"$ALICE_ROOT/MUON/Config_MUON_test.C");
+root [0] gAlice->Run(10,"$ALICE_ROOT/MUON/Config.C");
 
 1 single muon of 7 GeV/c in the MUON spectrometer 
 acceptance will be simulated using geant3. 
@@ -35,87 +50,195 @@ for hits, you have to do the following before:
 root [0] gAlice->SetConfigFunction("Config( \"/home/martinez/aliroot/work_NewIO/test/\" , \"box\" );"); 
 
 ============================================================
- How to run MUON Digitalization
+ How to run MUONCheck macro
 ============================================================
-To process the digitalization of hits the AliRunDigitizer 
-framework is used:
+To check the content of a root data file, the MUONCheck
+provides a ascii output on screen.
+
+To compile MUONCheck.C
+.includepath $ALICE_ROOT/STEER
+.includepath $ALICE_ROOT/MUON
+.L $ALICE_ROOT/MUON/MUONCheck.C++
+To Load
+gSystem->Load("$ALICE_ROOT/MUON/MUONCheck_C.so")
+
+To print Kine : (default file is galice.root )
+MUONkine() or MUONkine("galice.root",##) for the event number ##
+
+To print hits : (default file is galice.root if not MUONhits("toto.root""); )
+MUONhits()  or MUONhits("galice.root",##) for the event number ##
+
+To print digits : (default file is galice.root)
+MUONdigits()  or MUONdigits("galice.root",##) for the event number ##
+
+To print rawcluster : (default file is galice.root)
+MUONrecpoints() or MUONrecpoints("galice.root",##) for the event number ##
+
+To print trigger : (default file is galice.root)
+MUONTestTrigger() or MUONTestTrigger("galice.root",##) for the event number ##
+
+....
 
-AliRunDigitizer   * manager = new AliRunDigitizer(1,1);
-manager->SetInputStream(0,"galice.root");
-AliMUONDigitizerv1* dMUON   = new AliMUONDigitizerv1(manager)
-manager->AddDigitizer(dMUON);
-manager->Exec("deb");
 
 ============================================================
- How to run MUON RecPoint clusterization
+ How to check the Geometry 
 ============================================================
-aliroot -b << EOF
-.includepath $ALICE_ROOT/STEER
-.includepath $ALICE_ROOT/MUON
-.L $ALICE_ROOT/MUON/MUONrawclusters.C++
-MUONrawclusters("galice.root",0,9999); 
-to Load
-gSystem->Load("$ALICE_ROOT/MUON/MUONrawclusters_C.so")
+gAlice->Init("$ALICE_ROOT/MUON/Config.C");
+.L $ALICE/geant3/TGeant3/G3GUI.C
+G3GUI()
 
 ============================================================
- How to run MUON Trigger
+ How to check the Geometry with the new Geometrical modeler
+ ftp://root.cern.ch/root/doc/chapter16.pdf
+ http://agenda.cern.ch/fullAgenda.php?ida=a05212
 ============================================================
-.includepath $ALICE_ROOT/STEER
-.includepath $ALICE_ROOT/MUON
-.L $ALICE_ROOT/MUON/MUONtrigger.C++
-MUONtrigger("galice.root",0,9999); 
-To Load
-gSystem->Load("$ALICE_ROOT/MUON/MUONtrigger_C.so")
+gAlice->Init("$ALICE_ROOT/MUON/Config.C");
+gGeoManager->GetMasterVolume()->Draw();
+
+
 ============================================================
- How to run MUON Tracking reconstruction (old output)
-===========================================================
-.includepath $ALICE_ROOT/STEER
-.includepath $ALICE_ROOT/MUON
-.L $ALICE_ROOT/MUON/MUONrecoNtuple.C++
-MUONrecoNtuple(0,9999,0,"galice.root") 
-To Load   
-gSystem->Load("$ALICE_ROOT/MUON/MUONrecoNtuple_C.so")
-First event and last event are given by hand, but this will change.
+ How to run MUONdisplay
+============================================================
+First you need to perform a full simulation: 
+generation, digitalisation and clusterisation
+.L $ALICE_ROOT/MUON/MUONdisplay.C
+MUONdisplay(0,"galice.root")
+
+============================================================
+ Tracking parameters, cuts, energy loss and physics processes
+============================================================
+Tracking parameters in MUON are automatically defined by GEANT
+MUON takes the default values of CUTs  and physics processes
+defined by the Config files, except for the gas mixture medium 
+of the tracking chambers. The CUT's and physics processes of
+the gas mixture medium  is then defined in the galice.cuts file
+in the data directory. In particular ILOSS parameter MUST be
+equal unity (1) in order simulate a realistic energy loss
+distribution (mean value and fluctuations) in the active gas.
+
+============================================================
+ Tracking of particle in the magnetic field
+============================================================
+GEANT has two ways for tracking charged particles in the 
+magnetic field: HELIX et RKUTA.
+HELIX is faster and works well if the gradient of magnetic 
+field is small. 
+For MUON, HELIX is a not a good approximation and we must 
+use RKUTA to get the optimal mass resolution of the 
+spectrometer. The choice of HELIX or RKUTA is done in the
+config file when the magnetic field is defined:
+  AliMagFMaps* field = new AliMagFMaps("Maps","Maps", TRACKING, FACTOR, MAXB, AliMagFMaps::k4kG);
+  gAlice->SetField(field);
+TRACKING must be 1 for RKUTA and 2 for HELIX (the default value for aliroot is 2 (HELIX))
+FACTOR allows you to set the magnetic field to 0, just putting FACTOR=0. Default value is 1.
+MAXB is the maximum magnetic field which is 10.T
 
 ===========================================================
- How to run MUON Tracking reconstruction (new output)
+ MUON cocktail for physics ..............
 ===========================================================
+There is a MUON cocktail generator of the muon sources in the
+EVGEN directory. This class derives from AliGenCocktail.
+In the init of this class I have filled the cocktail with 
+the muon sources: J/Psi, Upsilon, Open Charm, Open Beauty, 
+Pion, Kaons. The code needs only the production cross section 
+at 4pi (for the moment this values are in the code since I 
+prefere them do not be modified), and the code calculates the  
+rate of particles in the acceptance, making the scaling based 
+on the number of collisions for the hard probes and on the  
+number of participants for soft sources: Pions and Kaons.
+
+In the Genereate of this class all entries in the cocktail 
+are called and we define a "primordial trigger" with requires 
+a minimum number of muons above a Pt cut in the required acceptance.
+In order to normalized to the real number of simulated events, 
+there are 2 data members in the class fNsuceeded adn fNGenerate 
+which tell us what is the biais source.
+
+Enclose an example to use this generator:   
+AliGenMUONCocktail * gener = new AliGenMUONCocktail();
+gener->SetPtRange(1.,100.);       // Transverse momentum range  
+gener->SetPhiRange(0.,360.);    // Azimuthal angle range 
+gener->SetYRange(-4.0,-2.4);
+gener->SetMuonPtCut(1.);
+gener->SetMuonThetaCut(171.,178.);
+gener->SetMuonMultiplicity(2);
+gener->SetImpactParameterRange(0.,5.); // 10% most centra PbPb collisions
+gener->SetVertexSmear(kPerTrack);  
+gener->SetOrigin(0,0,0);        // Vertex position
+gener->SetSigma(0,0,0.0);       // Sigma in (X,Y,Z) (cm) on IP position
+gener->Init();
+===========================================================
+ csh Script for the full reconstruction with raw data generator
+===========================================================
+See file AlirootRun_MUONtest.script
+in $ALICE_ROOT/MUON
+
+
+============================================================
+ How to run MUONRecoCheck macro
+============================================================
+To check the muon reconstruction by comparing the reconstructed tracks
+with the reference tracks made of "AliTrackReference" for the hits and
+kinematic informations (TParticle) for the vertex.
+This macro can be used to check the track reconstruction e.g. efficiency,
+momentum resolution ... but also to make physics analysis whenever
+track identification is needed.   
+
+To compile MUONRecoCheck.C
 .includepath $ALICE_ROOT/STEER
 .includepath $ALICE_ROOT/MUON
-.L $ALICE_ROOT/MUON/MUONTracker.C++
-MUONTracker("galice.root",0,9999);    
-To Load
-gSystem->Load("$ALICE_ROOT/MUON/MUONTracker_C.so")
-Output in MUON.Tracks.root using the new IO 
-as a TClonesArray of AliMUONTrack
+.L $ALICE_ROOT/MUON/MUONRecoCheck.C+
+
+// To run MUONRecoCheck
+MUONRecoCheck(nEvent,"galice.root"); // nEvent = nb of events
+
 
 ============================================================
- How to run MUONCheck macro
+ How to run MUONTracker macro
 ============================================================
-To check the content of a root data file, the MUONCheck
-provides a ascii output on screen.
+To make the track reconstruction directly from AliTrackReference hits 
+which are recorded in TrackRefs.root during the simulation.
+It can be used to check the reconstruction without clusterization.     
 
-To compile MUONCheck.C
+To compile MUONTracker.C
 .includepath $ALICE_ROOT/STEER
 .includepath $ALICE_ROOT/MUON
-.L $ALICE_ROOT/MUON/MUONCheck.C++
-To Load
-gSystem->Load("$ALICE_ROOT/MUON/MUONCheck_C.so")
+.L $ALICE_ROOT/MUON/MUONTracker.C+
 
-To print Kine : (default file is galice.root )
-MUONkine()
+// To run MUONTracker
+MUONTracker(iEventMin,iEventMax,"galice.root"); // iEventMin: first event
 
-To print hits : (default file is galice.root if not MUONhits("toto.root""); )
-MUONhits()  
-
-To print digits : (default file is galice.root)
-MUONdigits()  
-
-To print rawcluster : (default file is galice.root)
-MUONrecpoints()
+===========================================================
+ Macro  MUONGenerateGeometryData.C
+===========================================================
+                                               
+Macro for generating the geometry data files:
+(transform_*.dat, svmap_*.dat).
+- MUON/data/transform_*dat files contain all the information 
+about the transformation (traslation + rotation) needed for 
+the positionning of each detection element of the MUON
+spectrometer.
+- MUON/data/svmap_*.dat files contain all the information to link 
+each geant volume (it can be extended to other virtual MC) with
+a detection element. The point here is that a given detection
+element, i.e. a slat chamber consists of many geant volumes.
+the correspondence is then defined in an input file.
+Eanch time there is a change in the virtual MC geometry, these
+input files must be re-generated via the macro  
+MUONGenerateGeometryData.C
+
+To be run from aliroot:
+.x MUONGenerateGeometryData.C
+
+The generated files do not replace the existing ones
+but have different names (with extension ".out").
+To compare/replace the existing files with generated ones
+run the scripts in MUON/data:
+compare_data [transform] [svmaps ]
+reset_data [transform] [svmaps]
+Author: I. Hrivnacova, IPN Orsay
 
-To print trigger : (default file is galice.root)
-MUONTestTrigger()
 
 ===========================================================
  Still working ..............