]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/Doxymain.h
887fcdd4337f76d5c1aefac688ed9042df94b9a5
[u/mrichter/AliRoot.git] / MUON / Doxymain.h
1 /*! \mainpage MUON code documentation 
2
3 This is the documentation for the MUON simulation and reconstruction code.
4 It is a mix of general concepts and code implementation details...
5
6 \section ssimulation Simulation
7
8 The simulation encompasses the following tasks :
9
10 - generation of MC particles (the kinematics of the event ends up in the TreeK
11  of Kinematics#.root)                              
12   
13 - tracking particles through the detector using 
14 the Virtual Monte Carlo, producing AliMUONHit objects, that end up in 
15  the TreeH of MUON.Hits#.root file(s). This part is steered by AliMUON and its child
16 AliMUONv1 classes.
17
18 - converting MC hits into AliMUONVDigit, called SDigits, that end up in the TreeS
19  of the MUON.SDigits#.root file(s). A S(ummable)Digit is a pad with its associated
20 charge, but no noise or electronics response function applied. Steered by AliMUONSDigitizerV2 class.
21
22 - converting SDigits into Digits, by applying electronics calibrations. Actually, we de-calibrate
23  the digits at this stage, by adding a pedestal and dividing by a gain, more or less. Steered
24  by AliMUONDigitizerV3 class. Digits end up in TreeD of MUON.Digits#.root file(s). In addition,
25  for the trigger, we create AliMUONLocalTrigger, AliMUONRegionalTrigger and AliMUONGlobalTrigger objects 
26 at this stage, that ends up in TreeD as well.
27
28 - convert the Digits into RAW data, in a format that should be exactly the same as real data from the
29 DAQ. Performed by AliMUONRawWriter.
30
31 From there on, the reconstruction can proceed, in the very same way for real or simulated data,
32  as long as they are in RAW format.
33
34 \section sreconstruction Reconstruction
35
36 The reconstruction is a multistage process, driven by the AliMUONReconstructor class :
37
38 - we read the RAW data, convert them (convert them back for simulated data) to 
39 AliMUONDigit. Performed by AliMUONDigitMaker. 
40 - we calibrate the digits, by subtracting pedestals and multiplying by gains. Performed
41  by AliMUONDigitCalibrator. Calibrated digits might be saved (back) to TreeD.
42 - we make clusters by associating digits, producing AliMUONRawCluster objects that end up
43   in TreeR of MUON.RecPoints#.root file(s). Steered by AliMUONClusterReconstructor. @ref AliMUONVClusterFinder "More..."
44
45 Part of the reconstruction, but not really steered by AliMUONReconstructor, is the
46  last stage, the tracking, i.e. associating clusters to form tracks. Steered by AliMUONTracker.
47  Producing AliMUONTrack objects that end up in TreeT of MUON.Tracks#.root and AliESDMuonTrack objects
48 that end up in the ESD (Event Summary Data), AliESDs.root file. @ref AliMUONVTrackReconstructor "More..."
49
50 \section sdataaccess Data access
51
52 All the simulation and reconstruction use containers (called stores in MUON jargon) to hold
53  the data we're dealing with : hits, (s)digits, trigger, clusters, tracks and trigger tracks.
54  All those stores share some commonalities, in particular with respect to how they are read/written from/to
55  TTree. @ref AliMUONVStore "More..."
56
57 See more in:
58 - \ref README_main 
59 - \ref README_raw 
60 - \ref README_mapping 
61 - \ref README_calib 
62 - \ref README_geometry 
63 - \ref README_trigger 
64 - \ref README_shuttle 
65 - \ref README_evaluation 
66 - \ref README_fast
67
68 */