]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/README
Removed unused (and not implemented) method AddSVPath()
[u/mrichter/AliRoot.git] / MUON / README
index f79d60978ccc2a9fd9a2afb7c779aa3326c1e9ce..b4ef007fa773ef23bc5597fa582f3485a6a1da84 100644 (file)
@@ -20,11 +20,26 @@ Please add  to this README file all information concerning
 config files, simulation, digitalization, clusterization, 
 reconstruction and macro analysis
 
+==========================================================
+ 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. 
@@ -34,65 +49,6 @@ If you want to change the option or to define a new directory
 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
-============================================================
-To process the digitalization of hits the AliRunDigitizer 
-framework is used:
-
-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
-============================================================
-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")
-
-============================================================
- How to run MUON Trigger
-============================================================
-.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")
-============================================================
- 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 MUON Tracking reconstruction (new output)
-===========================================================
-.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
-
-Note1.In the actual version (dec-03) the following data 
-members  of ALiMUONTrack:  fgFitter, fEventReconstructor, 
-and fTrackHitsPtr are not saved in the MUON.Track.root file
-
 ============================================================
  How to run MUONCheck macro
 ============================================================
@@ -102,39 +58,54 @@ provides a ascii output on screen.
 To compile MUONCheck.C
 .includepath $ALICE_ROOT/STEER
 .includepath $ALICE_ROOT/MUON
+.includepath $ALICE_ROOT/MUON/mapping
 .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()
+MUONkine() or MUONkine("galice.root",##) for the event number ##
 
 To print hits : (default file is galice.root if not MUONhits("toto.root""); )
-MUONhits()  
+MUONhits()  or MUONhits("galice.root",##) for the event number ##
 
 To print digits : (default file is galice.root)
-MUONdigits()  
+MUONdigits()  or MUONdigits("galice.root",##) for the event number ##
 
 To print rawcluster : (default file is galice.root)
-MUONrecpoints()
+MUONrecpoints() or MUONrecpoints("galice.root",##) for the event number ##
 
 To print trigger : (default file is galice.root)
-MUONTestTrigger()
+MUONrectrigger() or MUONrectrigger("galice.root",##) for the event number ##
 
+....
 
 ============================================================
- How to check the Geometry
+ How to check the Geometry 
 ============================================================
-gAlice->Init("$ALICE_ROOT/MUON/Config_MUON_test.C");
+gAlice->Init("$ALICE_ROOT/MUON/Config.C");
 .L $ALICE/geant3/TGeant3/G3GUI.C
 G3GUI()
 
+============================================================
+ 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
+============================================================
+gAlice->Init("$ALICE_ROOT/MUON/Config.C");
+gGeoManager->GetMasterVolume()->Draw();
+
 
 ============================================================
  How to run MUONdisplay
 ============================================================
 First you need to perform a full simulation: 
 generation, digitalisation and clusterisation
+To run MUONdisplay with Root 5.04/00 you need to get a fix in
+the gpad/src/TPad.cxx from Root CVS:
+ cvs update -r 1.200 gpad/src/TPad.cxx
+and recompile root. 
+
 .L $ALICE_ROOT/MUON/MUONdisplay.C
 MUONdisplay(0,"galice.root")
 
@@ -166,6 +137,7 @@ config file when the magnetic field is defined:
 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
+
 ===========================================================
  MUON cocktail for physics ..............
 ===========================================================
@@ -195,13 +167,158 @@ gener->SetYRange(-4.0,-2.4);
 gener->SetMuonPtCut(1.);
 gener->SetMuonThetaCut(171.,178.);
 gener->SetMuonMultiplicity(2);
-gener->SetNumberOfCollisions(1950.);   
-gener->SetNumberOfParticipants(400.);     
+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
+================================================================
+The rawdata generation and analysis is working with the new segmentation.
+So the config file must use the version "AliMUONFactoryV3"
+
+Generation
+The method AliSimulation::SetWriteRawData("MUON") enables on 
+the muon rawdata generation
+aliroot -b << EOF  
+AliSimulation MuonSim("$ALICE_ROOT/MUON/Config.C")
+MuonSim.SetWriteRawData("MUON")
+MuonSim.Run(10)
+.q
+EOF
+
+Reconstruction
+aliroot -b << EOF 
+AliReconstruction MuonRec("galice.root");
+MuonRec.SetInput("$YOUR_WORKING_DIRECTORY/");  Do not forget the slash at the end!
+MuonRec.SetRunVertexFinder(kFALSE);
+MuonRec.SetRunLocalReconstruction("MUON");
+MuonRec.SetRunTracking("");
+MuonRec.SetFillESD("MUON");
+MuonRec.SetOption("MUON", "AZ Kalman"); // to use AZ clustering and Kalman filter
+MuonRec.Run();
+.q
+EOF
+
+
+
+============================================================
+ 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/MUONRecoCheck.C+
+
+// To run MUONRecoCheck
+MUONRecoCheck(nEvent,"galice.root"); // nEvent = nb of events
+
+
+============================================================
+ How to run MUONTracker macro
+============================================================
+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 MUONTracker.C
+.includepath $ALICE_ROOT/STEER
+.includepath $ALICE_ROOT/MUON
+.L $ALICE_ROOT/MUON/MUONTracker.C+
+
+// To run MUONTracker
+MUONTracker(iEventMin,iEventMax,"galice.root"); // iEventMin: first event
+
+===========================================================
+ 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.sh [transform] [svmap ]
+reset_data.sh [transform] [svmap ]
+Author: I. Hrivnacova, IPN Orsay
+
+
+==========================================================
+ How to Merge events
+==========================================================
+
+You can merge 2 types of simulated events. For example, 
+you can simulate Hijing events, and then simulate muons
+merging both.
+
+Merging is done at the sdigits level, so Kinematics files 
+of the merged events will just correspond to the 
+Config.C simulated file (not to Config_HIJING.C).
+
+You must, first, do the Hijing simulation and store it 
+in directory $HIJING_SIM. Note that for merging you 
+won't need Kinematics files of the Hijing simulation...
+
+Hijing simulation
+
+aliroot -b << EOF
+AliSimulation HijingSim("$HIJING_SIM/Config_HIJING.C")
+HijingSim.Run(5)
+.q
+EOF
+
+
+Then you can do muon simulation and reconstruction
+merging both simulated events. In next example, we are
+merging 20 times each Hijing event in order to simulate 
+100 muons merged with 5 Hijing events.
+
+
+aliroot -b << EOF
+AliSimulation MuonSim("$ALICE_ROOT/MUON/Config.C")
+MuonSim.MergeWith("$HIJING_SIM/galice.root",20) //parameters are the Hijing simulation file and the number of times we use each Hijing event
+MuonSim.Run(100) // number of muon (Config.C) events
+.q
+EOF
+
+
+aliroot -b << EOF
+TPluginManager * pluginmanager = gROOT->GetPluginManager()
+pluginmanager->AddHandler("AliReconstructor","MUON","AliMUONReconstructor","MUON","AliMUONReconstructor()")
+AliReconstruction  MuonRec("galice.root")
+MuonRec.SetRunTracking("")
+MuonRec.SetRunVertexFinder(kFALSE)
+MuonRec.SetRunLocalReconstruction("MUON")
+MuonRec.SetFillESD("MUON")
+MuonRec.Run()
+.q
+EOF
 
 ===========================================================
  Still working ..............