]>
Commit | Line | Data |
---|---|---|
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 |