]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/README
Various fixes in order to compile the DA source code
[u/mrichter/AliRoot.git] / MUON / README
index 8f642528a54be0e65535a95eb74f98db6e3be4b4..93a3655961fbe3a3580d77466368a70fcf8adf0c 100644 (file)
@@ -1,19 +1,4 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/* $Id$ */
+$Id$
 
 ==========================================================
 Please add  to this README file all information concerning 
@@ -74,38 +59,24 @@ for hits, you have to do the following before:
 root [0] gAlice->SetConfigFunction("Config( \"/home/martinez/aliroot/work_NewIO/test/\" , \"box\" );"); 
 
 ============================================================
- How to run MUONCheck macro
+ How to dump the content of Root data files 
 ============================================================
-To check the content of a root data file, the MUONCheck
-provides a ascii output on screen.
+To check the content of Root data files, the AliMUONData class
+provides the functions to produce an ASCII output on the screen
+which can be redirected on the file:
 
-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() 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 sdigits : (default file is galice.root)
-MUONsdigits()  or MUONsdigits(##,"galice.root") for the event number ##
-
-To print rawcluster : (default file is galice.root)
-MUONrecpoints() or MUONrecpoints(##,"galice.root") for the event number ##
+aliroot
+root [0] AliMUONData data("galice.root");
+root [1] data.DumpKine(5);       > dump.kine
+root [2] data.DumpHits(5);       > dump.hits
+root [3] data.DumpDigits(5);     > dump.digits
+root [4] data.DumpSDigits(5);    > dump.sdigits
+root [5] data.DumpRecPoints(5);  > dump.recpoints
+root [6] data.DumpRecTrigger(5); > dump.rectrigger
 
-To print trigger : (default file is galice.root)
-MUONrectrigger() or MUONrectrigger(##,"galice.root") for the event number ##
+If the event number in the function argument is not specified,
+data are dumped for all events.
 
-....
 
 ============================================================
  How to check the Geometry with the new Geometrical modeler
@@ -161,7 +132,7 @@ 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);
+  AliMagFMaps* field = new AliMagFMaps("Maps","Maps", TRACKING, FACTOR, MAXB, AliMagFMaps::k5kG);
   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.
@@ -213,6 +184,7 @@ The method AliSimulation::SetWriteRawData("MUON") enables on
 the muon rawdata generation
 aliroot -b << EOF  
 AliSimulation MuonSim("$ALICE_ROOT/MUON/Config.C")
+MuonSim.SetMakeTrigger("MUON");
 MuonSim.SetWriteRawData("MUON")
 MuonSim.Run(10)
 .q
@@ -233,6 +205,31 @@ MMuonRec.Run();
 .q
 EOF
 
+============================================================
+ How to read & decode raw data 
+============================================================
+These macros can read & decode DDL files, root and DATE files.
+Nevertheless for the two latter, aliroot has to be compiled with DATE.
+
+For tracker raw data
+.includepath $ALICE_ROOT/STEER
+.includepath $ALICE_ROOT/MUON
+.includepath $ALICE_ROOT/RAW
+.L $ALICE_ROOT/MUON/MUONRawStreamTracker.C+
+MUONRawStreamTracker(maxEvent, firstDDL, lastDDL, rawFileName)
+
+For trigger raw data
+.includepath $ALICE_ROOT/STEER
+.includepath $ALICE_ROOT/MUON
+.includepath $ALICE_ROOT/RAW
+.L $ALICE_ROOT/MUON/MUONRawStreamTrigger.C+ 
+MUONRawStreamTrigger(maxEvent, firstDDL, lastDDL, rawFileName)
+
+Default wise the macro read all DDL files from the current directory for 1000 events.
+For root file rawFileName must end with .root, for date file rawFileName 
+must be no extention. For DDL files you have to specified the directory 
+where the raw0...n subdirectories are located:
+MUONRawStreamTracker(maxEvent, "$YOUR_WORKING_DIRECTORY/"); //Do not forget the slash at the end!
 
 
 ============================================================
@@ -324,25 +321,49 @@ residual misalignment settings, then you have a local CDB in
 your working directory called ResMisAlignCDB containing
 misalignement data (ResMisAlignCDB/MUON/Align).
 
-- Copy the calibration data in your local CDB.
-cp -r $ALICE_ROOT/MUON/Calib ResMisAlignCDB/MUON
-
-- Tell AliSimulation you want to use your local CDB for MUON
+- Tell AliSimulation you want to use your local CDB for 
+MUON/Align/Data
 To do this you need to instantiate the AliCDBManager, set the
-default storage and set the specific storage for MUON, before
-instantiating AliSimulation (see for example the commented
+default storage and set the specific storage for MUON/Align/Data,
+before instantiating AliSimulation (see for example the commented
 lines AlirootRun_MUONtest.sh).
 
 aliroot -b  >& testSim.out << EOF
 AliCDBManager* man = AliCDBManager::Instance();
 man->SetDefaultStorage("local://$ALICE_ROOT");
-man->SetSpecificStorage("MUON","local://ResMisAlignCDB");
+man->SetSpecificStorage("MUON/align/Data","local://ResMisAlignCDB");
 AliSimulation MuonSim("$ALICE_ROOT/MUON/Config.C");
 MuonSim.SetWriteRawData("MUON");
 MuonSim.Run(10);
 .q
 EOF
 
+==========================================================
+How to check the alignment software
+==========================================================
+
+The script AlirootRun_MUONtestAlign.sh  allows you to check the software for
+the alignment with physics tracks. The script will:
+- Generate a misaligned geometry in a local CDB (default FullMisAlignCDB)
+- Simulate 1000 events using previously misaligned geometry
+- Reconstruct the events using perfect geometry
+- Run the alignment code over the above events using MUONAlignment.C
+
+To run you need to type:
+$ALICE_ROOT/MUON/AlirootRun_MUONtestAlign.sh
+
+The results of the test are saved in test_align/ directory. The file measShifts.root
+contains useful graphs for studying the alignment performances. A local CDB
+containing the realigned geometry is also created (default is ReAlignCDB). The
+file $ALICE_ROOT/MUON/data/transform2ReAlign.dat contains the
+transformations describing the realigned geometry to be compared with the
+used misaligned geometry $ALICE_ROOT/MUON/data/transform2.dat.
+
+IMPORTANT NOTE: For a useful test of the alignment performances, the
+order of 100 000 tracks is needed, it is then advisable to generate and
+reconstruct enough events separately and run MUONAlignment.C providing a file list
+afterwards.
+
 ==========================================================
  How to Merge events
 ==========================================================
@@ -460,6 +481,22 @@ for (int tr = 0; tr < mDigit->Ntracks(); tr++){
 In this example, for simplicity, only the first hit of a 
 hit-track is used to check the particle ID.
 
+==========================================================
+Macro to process PDC06 preproduction 
+==========================================================
+
+To read a generation/reconstrution from PDC06 preproduction, and write a file 
+with a tree of AliMUONTrackLight / AliMUONPairLight :
+go to the directory containing the generation/reconstruction. From there run
+aliroot
+.x DecodeRecoCocktail.C+
+.q
+
+To read the file previously generated:
+aliroot
+.x ReadRecoCocktail.C+
+.q
+
 ===========================================================
  Still working ..............
 ===========================================================