- Disentangle masks effect from trigger chamber efficiency estimation.
[u/mrichter/AliRoot.git] / MUON / READMEtrigger.txt
1 // $Id$
2
3 /*! 
4
5 \page README_trigger Trigger
6
7
8 \section trigger_s1  How to reprocess trigger decision from already produced digits
9
10 The MUONTrigger.C macro can be used to check the trigger algorithm w/o 
11 having to (re-)perform simulation and digitalization. 
12 It loads the digits, erase TreeR and store the current trigger output in 
13 TreeR.
14
15 The different trigger outputs can be compared by looking at the GLT branch 
16 of TreeD (filled during simulation) and the TC branch of TreeR (filled from 
17 a copy of TreeD during reconstruction or with this macro).
18 Note: rec points from tracking chamber will be lost.
19
20 Usage:
21 <pre>
22 root [0] .L $ALICE_ROOT/MUON/MUONTrigger.C+
23 root [1] MUONTrigger("galice.root")
24 </pre>
25
26
27 \section trigger_s2 OFFLINE trigger Graphical User Interface (GUI) data quality and debugging tool
28
29 - read digits and local trigger decision from simulated/real data
30 - display the strips in local boards
31 - reprocess trigger decision inside AliRoot
32 - set x/y strips interactively on boards and transfer them to the AliRoot
33   TriggerElectronics, execute trigger algorithm and recover the local trigger
34   decision
35
36 Usage (aliroot):
37 <pre>
38 root [0] new AliMUONTriggerGUI
39 </pre>
40
41 Main window shows the map of the local boards as seen from the I.P.
42 The main window is position sensitive: by focusing a board, the "tip text"
43 shows the board name, the crate name, the board ID and the board
44 internal number in the GUI.
45
46 Menus:
47
48
49 \subsection trigger_s2_sub1 File
50
51 - "Run input" - open a file and start with a given event number:
52               - "your_path/galice.root" to use simulated (or re-created) aliroot digits 
53               - confirm with "Apply (galice)"              
54               - "your_path/rawfilename.root" to use raw data in root format
55               - confirm with "Apply (raw)"
56 - "Control"   - navigate in the tree with events
57 - "Exit"      - exit the main application
58
59
60 \subsection trigger_s2_sub2 Maps
61
62 - "Digits map"   - graphical map showing digits in the four chambers, MT11 ... MT22
63 - "Reset digits" - clean the digits map
64
65 \subsection trigger_s2_sub3 Chambers digit maps
66
67 - "Update" - update the map after:
68              - loading of another event
69              - changing interactively the strip signals in boards GUI
70
71
72 \subsection trigger_s2_sub4 Circuit
73
74 - "Open"   - open a board GUI by circuit (board) number
75
76
77 \subsection trigger_s2_sub5 TriggerDSET, run the trigger algorithm with interactively set strips 
78
79 - this is an interface to AliMUONTriggerElectronics
80 - "Digit store"    - create a digit store (object) with the current board digits (input from the circuit GUI)
81 - "Trigger store"  - create a trigger store (object) from the digit store, using AliMUONTriggerElectronics; 
82 each type of store can be "cleared" and "printed"
83 - "Front End Test" - simulate a FET (all strips fire) on all boards or on a regional board
84 - "Write raw data" - save the trigger store in a raw data file (DATE and ROOT) format
85
86 \subsection trigger_s2_sub6 Circuit GUI ("Circuit/Open" or click on boards map)
87
88 - the window title shows the name of the board, the number and the status
89 - "Draw" visualize x/y strips
90 - "Set/unset" x (or) y strips, on mouse click
91 - "Digits" create board digits from the actual configuration created in the GUI
92 - "Reset" reset modification on strips done interactively
93
94 The sequence to test the trigger algorithm is:
95 - open a board GUI
96 - set some x/y strips
97 - press "Digits" to create board digits
98 - from the TrigerDSET menu create a digit store, then a trigger store and print it to see the trigger
99 decision
100 - write raw data for further investigation
101
102 \section trigger_s3 How to check integrated trigger efficiency
103
104 The MUONTriggerEfficiency.C macro (included in the check scripts) calculates
105 the trigger efficiency for the 2 pt cuts. 
106 The output is stored in MUONTriggerEfficiency.out file.
107
108 Usage:
109 <pre>
110 root [0] .L $ALICE_ROOT/MUON/MUONTriggerEfficiency.C+
111 root [1] MUONTriggerEfficiency()
112 </pre>
113
114 Two LUTs are stored in the CDB (/Calib/TriggerLut/):
115 - Run0_999999999_v0_s0.root   with Lpt 1.0 GeV and Hpt 1.7 GeV
116 - Run0_999999999_v1_s0.root   with Lpt 0.0 GeV and Hpt 1.0 GeV (default)
117
118 and can be built with the AliMUONCDB class taking as source the root files
119 (found in $ALICE_ROOT/MUON/data/):
120 - lutAptLpt1Hpt1p7.root
121 - lutAptAptLpt1.root
122
123 respectively.
124
125 The reference for J/psi and Upsilon is as below
126  For 1000 Jpsi events with:
127 <pre>
128     AliGenParam *gener = new AliGenParam(1, AliGenMUONlib::kJpsi);
129     gener->SetMomentumRange(0,999);
130     gener->SetPtRange(0,100.);
131     gener->SetPhiRange(0., 360.);
132     gener->SetCutOnChild(1);
133     gener->SetChildPhiRange(0.,360.);
134     gener->SetChildThetaRange(171.0,178.0);
135     gener->SetOrigin(0,0,0);          
136     gener->SetForceDecay(kDiMuon);
137     gener->SetTrackingFlag(1);
138 </pre>
139
140  the output should be 
141 <pre>
142   Efficiency Lpt cut = 0.9061 +/- 0.0456
143   Efficiency Hpt cut = 0.6943 +/- 0.0376
144 </pre>
145
146  Similarly, for 1000 Upsilon events (replace kJpsi by kUpsilon), the output 
147 should be
148
149 <pre>
150   Efficiency Lpt cut = 0.9872 +/- 0.0458
151   Efficiency Hpt cut = 0.9851 +/- 0.0457
152 </pre>
153
154
155 \section trigger_s4 How to check single muon trigger efficiency versus pt
156
157 The MUONTriggerEfficiencyPt.C macro produces trigger single muon efficiency 
158 versus pt plots for the 2 pt cuts. 
159 Results are compared to the reference (red curves).   
160 To be used with (at least) 10000 events as follows
161 <pre>
162    AliGenBox * gener = new AliGenBox(1);
163    gener->SetPtRange(0.,10.);
164    gener->SetPhiRange(0., 360.);         
165    gener->SetThetaRange(171.000,178.001);
166    gener->SetPart(13);           // or -13
167    gener->SetOrigin(0.,0., 0.);  
168    gener->SetSigma(0.0, 0.0, 0.0);     
169 </pre>
170
171 Outputs are stored in MUONTriggerEfficiencyPt.gif/eps/out files
172 Important note: this macro works with one (real) muon track per event only
173
174 Usage:
175 <pre>
176 root [0] .L $ALICE_ROOT/MUON/MUONTriggerEfficiencyPt.C+
177 root [1] MUONTriggerEfficiencyPt()
178 </pre>
179
180
181 \section trigger_s5 How to get trigger chamber efficiency from data
182
183 Trigger chamber efficiency map is calculated from AliESDs.root with the analysis task: PWG3/muon/AliMUONTriggerChamberEff.
184 The output of the task is a file filename="MUON.TriggerEfficiencyMap.root" containing the numerator and denominator histograms for the efficiency calculation.
185 In order to view and save the map, use macro MUONTriggerChamberEfficiency.C
186
187 To compile MUONTriggerChamberEfficiency.C
188 <pre>
189 .includepath $ALICE_ROOT/MUON
190 .L $ALICE_ROOT/MUON/MUONTriggerChamberEfficiency.C+
191 </pre>
192
193 To run MUONTriggerChamberEfficiency.C
194 <pre>
195 MUONTriggerChamberEfficiency("filename");
196 </pre>
197
198 If you want to make the calculated map available for next simulation use option kTRUE, and specify the run validity:
199 <pre>
200 MUONTriggerChamberEfficiency("filename",kTRUE,firstRun,lastRun);
201 </pre>
202
203 The last option allows to set the efficiency of each board of an RPC with the mean value of the chamber: this is useful when the efficiency was calculated with low statistics (like in cosmic runs).
204 <pre>
205 MUONTriggerChamberEfficiency("filename",kFALSE,firstRun,lastRun,kTRUE);
206 </pre>
207
208 Finally, to have a look to the map stored in the OCDB for the run runNumber, do:
209 <pre>
210 .includepath $ALICE_ROOT/MUON
211 .L $ALICE_ROOT/MUON/MUONTriggerChamberEfficiency.C+
212 ShowOCDBmap(runNumber)
213 </pre>
214
215 When running next simulation, please remember to activate trigger efficiency
216 by adding in Config.C:
217 <pre>
218 MUON->SetTriggerEffCells(1);
219 </pre>
220
221 This chapter is defined in the READMEtrigger.txt file.
222
223 */
224