]>
Commit | Line | Data |
---|---|---|
bce9493b | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
7 | * Permission to use, copy, modify and distribute this software and its * | |
8 | * documentation strictly for non-commercial purposes is hereby granted * | |
9 | * without fee, provided that the above copyright notice appears in all * | |
10 | * copies and that both the copyright notice and this permission notice * | |
11 | * appear in the supporting documentation. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
15 | ||
16 | //------------------------------------------------------------------------// | |
17 | // Fill histograms with basic QA information for EMCAL offline trigger // | |
e395081d | 18 | // Author: Nicolas Arbor (LPSC-Grenoble), Rachid Guernane (LPSC-Grenoble)// |
bce9493b | 19 | // Gustavo Conesa Balbastre (LPSC-Grenoble) // |
20 | // // | |
cd231d42 | 21 | // $Id$ // |
bce9493b | 22 | //------------------------------------------------------------------------// |
23 | ||
bce9493b | 24 | #include <TList.h> |
bce9493b | 25 | #include <TH2F.h> |
26 | #include <TF1.h> | |
0d896539 | 27 | #include <TProfile2D.h> |
bce9493b | 28 | |
29 | #include "AliLog.h" | |
30 | #include "AliVCluster.h" | |
31 | #include "AliVCaloCells.h" | |
32 | #include "AliVEvent.h" | |
ec77a234 | 33 | #include "AliCentrality.h" |
34 | ||
bce9493b | 35 | #include "AliESDEvent.h" |
36 | #include "AliESDVZERO.h" | |
37 | #include "AliESDCaloTrigger.h" | |
38 | #include "AliEMCALGeometry.h" | |
6bfd1538 | 39 | #include "AliEMCALRecoUtils.h" |
bce9493b | 40 | |
41 | #include "AliAnalysisTaskEMCALTriggerQA.h" | |
42 | ||
43 | ClassImp(AliAnalysisTaskEMCALTriggerQA) | |
44 | ||
85196c29 | 45 | //______________________________________________________________ |
bce9493b | 46 | AliAnalysisTaskEMCALTriggerQA::AliAnalysisTaskEMCALTriggerQA() : |
47 | AliAnalysisTaskSE(), | |
ec77a234 | 48 | fOutputList(0), fRecoUtils(0x0), |
49 | fGeometry(0), fGeoName(""), | |
50 | fhNEvents(0), fhFORAmp(0), | |
51 | fhFORAmpL1G(0), fhFORAmpL1J(0), | |
52 | fhL0Amp(0), fhL0AmpL1G(0), fhL0AmpL1J(0), | |
53 | fhL1Amp(0), fhL1GAmp(0), fhL1JAmp(0), | |
54 | fhL0Patch(0), fhL1GPatch(0), fhL1JPatch(0), | |
55 | fhFEESTU(0), fhTRUSTU(0), fhV0STU(0), | |
56 | fhGPMaxVV0TT(0), fhJPMaxVV0TT(0), | |
57 | fhFORMeanAmp(0), fhL0MeanAmp(0), fhL1MeanAmp(0), | |
58 | fhV0MB(0), fhV0L1G(0), fhV0L1J(0), | |
59 | fhL1GPatchMax(0), fhL1JPatchMax(0), | |
60 | ||
61 | fhClusMB(0), fhClusMBPure(0), fhClusL0(0), | |
62 | fhClusL1G(0), fhClusL1J(0), | |
63 | fhClusL1GOnly(0), fhClusL1JOnly(0), | |
64 | fhClusMaxMB(0), fhClusMaxMBPure(0), fhClusMaxL0(0), | |
65 | fhClusMaxL1G(0), fhClusMaxL1J(0), | |
66 | fhClusMaxL1GOnly(0), fhClusMaxL1JOnly(0), | |
67 | ||
68 | fhClusCenMB(0), fhClusCenL0(0), | |
69 | fhClusCenL1G(0), fhClusCenL1J(0), | |
70 | fhClusCenL1GOnly(0), fhClusCenL1JOnly(0), | |
71 | fhClusCenMaxMB(0), fhClusCenMaxL0(0), | |
72 | fhClusCenMaxL1G(0), fhClusCenMaxL1J(0), | |
73 | fhClusCenMaxL1GOnly(0), fhClusCenMaxL1JOnly(0), | |
74 | ||
75 | fhClusV0MB(0), fhClusV0L0(0), | |
76 | fhClusV0L1G(0), fhClusV0L1J(0), | |
77 | fhClusV0L1GOnly(0), fhClusV0L1JOnly(0), | |
78 | fhClusV0MaxMB(0), fhClusV0MaxL0(0), | |
79 | fhClusV0MaxL1G(0), fhClusV0MaxL1J(0), | |
80 | fhClusV0MaxL1GOnly(0), fhClusV0MaxL1JOnly(0), | |
81 | ||
82 | fhClusEtaMB(0), fhClusEtaL0(0), | |
83 | fhClusEtaL1G(0), fhClusEtaL1J(0), | |
84 | fhClusEtaL1GOnly(0), fhClusEtaL1JOnly(0), | |
85 | fhClusEtaMaxMB(0), fhClusEtaMaxL0(0), | |
86 | fhClusEtaMaxL1G(0), fhClusEtaMaxL1J(0), | |
87 | fhClusEtaMaxL1GOnly(0), fhClusEtaMaxL1JOnly(0), | |
88 | ||
89 | fhClusPhiMB(0), fhClusPhiL0(0), | |
90 | fhClusPhiL1G(0), fhClusPhiL1J(0), | |
91 | fhClusPhiL1GOnly(0), fhClusPhiL1JOnly(0), | |
92 | fhClusPhiMaxMB(0), fhClusPhiMaxL0(0), | |
93 | fhClusPhiMaxL1G(0), fhClusPhiMaxL1J(0), | |
94 | fhClusPhiMaxL1GOnly(0), fhClusPhiMaxL1JOnly(0), | |
95 | ||
96 | fhClusEtaPhiHighMB(0), fhClusEtaPhiHighL0(0), | |
97 | fhClusEtaPhiHighL1G(0), fhClusEtaPhiHighL1J(0), | |
98 | fhClusEtaPhiHighL1GOnly(0), fhClusEtaPhiHighL1JOnly(0), | |
99 | fhClusEtaPhiHighCluMaxMB(0), fhClusEtaPhiHighCluMaxL0(0), | |
100 | fhClusEtaPhiHighCluMaxL1G(0), fhClusEtaPhiHighCluMaxL1J(0), | |
101 | fhClusEtaPhiHighCluMaxL1GOnly(0), fhClusEtaPhiHighCluMaxL1JOnly(0), | |
102 | ||
103 | fhClusEtaPhiHighCellMaxMB(0), fhClusEtaPhiHighCellMaxL0(0), | |
104 | fhClusEtaPhiHighCellMaxL1G(0), fhClusEtaPhiHighCellMaxL1J(0), | |
105 | fhClusEtaPhiHighCellMaxL1GOnly(0), fhClusEtaPhiHighCellMaxL1JOnly(0), | |
106 | fhClusEtaPhiHighCellMaxCluMaxMB(0), fhClusEtaPhiHighCellMaxCluMaxL0(0), | |
107 | fhClusEtaPhiHighCellMaxCluMaxL1G(0), fhClusEtaPhiHighCellMaxCluMaxL1J(0), | |
108 | fhClusEtaPhiHighCellMaxCluMaxL1GOnly(0), fhClusEtaPhiHighCellMaxCluMaxL1JOnly(0), | |
109 | ||
110 | fhClusEtaPhiLowMB(0), fhClusEtaPhiLowL0(0), | |
111 | fhClusEtaPhiLowL1G(0), fhClusEtaPhiLowL1J(0), | |
112 | fhClusEtaPhiLowL1GOnly(0), fhClusEtaPhiLowL1JOnly(0), | |
113 | fhClusEtaPhiLowCluMaxMB(0), fhClusEtaPhiLowCluMaxL0(0), | |
114 | fhClusEtaPhiLowCluMaxL1G(0), fhClusEtaPhiLowCluMaxL1J(0), | |
115 | fhClusEtaPhiLowCluMaxL1GOnly(0), fhClusEtaPhiLowCluMaxL1JOnly(0), | |
116 | ||
117 | fhClusEtaPhiLowCellMaxMB(0), fhClusEtaPhiLowCellMaxL0(0), | |
118 | fhClusEtaPhiLowCellMaxL1G(0), fhClusEtaPhiLowCellMaxL1J(0), | |
119 | fhClusEtaPhiLowCellMaxL1GOnly(0), fhClusEtaPhiLowCellMaxL1JOnly(0), | |
120 | fhClusEtaPhiLowCellMaxCluMaxMB(0), fhClusEtaPhiLowCellMaxCluMaxL0(0), | |
121 | fhClusEtaPhiLowCellMaxCluMaxL1G(0), fhClusEtaPhiLowCellMaxCluMaxL1J(0), | |
122 | fhClusEtaPhiLowCellMaxCluMaxL1GOnly(0), fhClusEtaPhiLowCellMaxCluMaxL1JOnly(0), | |
123 | ||
124 | //Histogram settings | |
125 | fNBinsSTUSignal (2000), fMaxSTUSignal (200000), | |
126 | fNBinsTRUSignal (2000), fMaxTRUSignal (200000), | |
127 | fNBinsV0Signal (5000), fMaxV0Signal (100000), | |
128 | fNBinsSTUFEERatio(1000), fMaxSTUFEERatio(100), | |
129 | fNBinsSTUTRURatio(1000), fMaxSTUTRURatio(100), | |
130 | fNBinsClusterE (500), fMaxClusterE (200) | |
bce9493b | 131 | |
132 | { | |
133 | // Constructor | |
bce9493b | 134 | |
ec77a234 | 135 | fGeoName = "EMCAL_COMPLETEV1"; |
136 | fRecoUtils = new AliEMCALRecoUtils; | |
137 | ||
138 | DefineOutput(1, TList::Class()); | |
139 | ||
bce9493b | 140 | } |
141 | ||
85196c29 | 142 | //______________________________________________________________________________ |
bce9493b | 143 | AliAnalysisTaskEMCALTriggerQA::AliAnalysisTaskEMCALTriggerQA(const char *name) : |
144 | AliAnalysisTaskSE(name), | |
ec77a234 | 145 | fOutputList(0), fRecoUtils(0x0), |
146 | fGeometry(0), fGeoName(""), | |
147 | fhNEvents(0), fhFORAmp(0), | |
148 | fhFORAmpL1G(0), fhFORAmpL1J(0), | |
149 | fhL0Amp(0), fhL0AmpL1G(0), fhL0AmpL1J(0), | |
150 | fhL1Amp(0), fhL1GAmp(0), fhL1JAmp(0), | |
151 | fhL0Patch(0), fhL1GPatch(0), fhL1JPatch(0), | |
152 | fhFEESTU(0), fhTRUSTU(0), fhV0STU(0), | |
153 | fhGPMaxVV0TT(0), fhJPMaxVV0TT(0), | |
154 | fhFORMeanAmp(0), fhL0MeanAmp(0), fhL1MeanAmp(0), | |
155 | fhV0MB(0), fhV0L1G(0), fhV0L1J(0), | |
156 | fhL1GPatchMax(0), fhL1JPatchMax(0), | |
157 | ||
158 | fhClusMB(0), fhClusMBPure(0), fhClusL0(0), | |
159 | fhClusL1G(0), fhClusL1J(0), | |
160 | fhClusL1GOnly(0), fhClusL1JOnly(0), | |
161 | fhClusMaxMB(0), fhClusMaxMBPure(0), fhClusMaxL0(0), | |
162 | fhClusMaxL1G(0), fhClusMaxL1J(0), | |
163 | fhClusMaxL1GOnly(0), fhClusMaxL1JOnly(0), | |
164 | ||
165 | fhClusCenMB(0), fhClusCenL0(0), | |
166 | fhClusCenL1G(0), fhClusCenL1J(0), | |
167 | fhClusCenL1GOnly(0), fhClusCenL1JOnly(0), | |
168 | fhClusCenMaxMB(0), fhClusCenMaxL0(0), | |
169 | fhClusCenMaxL1G(0), fhClusCenMaxL1J(0), | |
170 | fhClusCenMaxL1GOnly(0), fhClusCenMaxL1JOnly(0), | |
171 | ||
172 | fhClusV0MB(0), fhClusV0L0(0), | |
173 | fhClusV0L1G(0), fhClusV0L1J(0), | |
174 | fhClusV0L1GOnly(0), fhClusV0L1JOnly(0), | |
175 | fhClusV0MaxMB(0), fhClusV0MaxL0(0), | |
176 | fhClusV0MaxL1G(0), fhClusV0MaxL1J(0), | |
177 | fhClusV0MaxL1GOnly(0), fhClusV0MaxL1JOnly(0), | |
178 | ||
179 | fhClusEtaMB(0), fhClusEtaL0(0), | |
180 | fhClusEtaL1G(0), fhClusEtaL1J(0), | |
181 | fhClusEtaL1GOnly(0), fhClusEtaL1JOnly(0), | |
182 | fhClusEtaMaxMB(0), fhClusEtaMaxL0(0), | |
183 | fhClusEtaMaxL1G(0), fhClusEtaMaxL1J(0), | |
184 | fhClusEtaMaxL1GOnly(0), fhClusEtaMaxL1JOnly(0), | |
185 | ||
186 | fhClusPhiMB(0), fhClusPhiL0(0), | |
187 | fhClusPhiL1G(0), fhClusPhiL1J(0), | |
188 | fhClusPhiL1GOnly(0), fhClusPhiL1JOnly(0), | |
189 | fhClusPhiMaxMB(0), fhClusPhiMaxL0(0), | |
190 | fhClusPhiMaxL1G(0), fhClusPhiMaxL1J(0), | |
191 | fhClusPhiMaxL1GOnly(0), fhClusPhiMaxL1JOnly(0), | |
192 | ||
193 | fhClusEtaPhiHighMB(0), fhClusEtaPhiHighL0(0), | |
194 | fhClusEtaPhiHighL1G(0), fhClusEtaPhiHighL1J(0), | |
195 | fhClusEtaPhiHighL1GOnly(0), fhClusEtaPhiHighL1JOnly(0), | |
196 | fhClusEtaPhiHighCluMaxMB(0), fhClusEtaPhiHighCluMaxL0(0), | |
197 | fhClusEtaPhiHighCluMaxL1G(0), fhClusEtaPhiHighCluMaxL1J(0), | |
198 | fhClusEtaPhiHighCluMaxL1GOnly(0), fhClusEtaPhiHighCluMaxL1JOnly(0), | |
199 | ||
200 | fhClusEtaPhiHighCellMaxMB(0), fhClusEtaPhiHighCellMaxL0(0), | |
201 | fhClusEtaPhiHighCellMaxL1G(0), fhClusEtaPhiHighCellMaxL1J(0), | |
202 | fhClusEtaPhiHighCellMaxL1GOnly(0), fhClusEtaPhiHighCellMaxL1JOnly(0), | |
203 | fhClusEtaPhiHighCellMaxCluMaxMB(0), fhClusEtaPhiHighCellMaxCluMaxL0(0), | |
204 | fhClusEtaPhiHighCellMaxCluMaxL1G(0), fhClusEtaPhiHighCellMaxCluMaxL1J(0), | |
205 | fhClusEtaPhiHighCellMaxCluMaxL1GOnly(0), fhClusEtaPhiHighCellMaxCluMaxL1JOnly(0), | |
206 | ||
207 | fhClusEtaPhiLowMB(0), fhClusEtaPhiLowL0(0), | |
208 | fhClusEtaPhiLowL1G(0), fhClusEtaPhiLowL1J(0), | |
209 | fhClusEtaPhiLowL1GOnly(0), fhClusEtaPhiLowL1JOnly(0), | |
210 | fhClusEtaPhiLowCluMaxMB(0), fhClusEtaPhiLowCluMaxL0(0), | |
211 | fhClusEtaPhiLowCluMaxL1G(0), fhClusEtaPhiLowCluMaxL1J(0), | |
212 | fhClusEtaPhiLowCluMaxL1GOnly(0), fhClusEtaPhiLowCluMaxL1JOnly(0), | |
213 | ||
214 | fhClusEtaPhiLowCellMaxMB(0), fhClusEtaPhiLowCellMaxL0(0), | |
215 | fhClusEtaPhiLowCellMaxL1G(0), fhClusEtaPhiLowCellMaxL1J(0), | |
216 | fhClusEtaPhiLowCellMaxL1GOnly(0), fhClusEtaPhiLowCellMaxL1JOnly(0), | |
217 | fhClusEtaPhiLowCellMaxCluMaxMB(0), fhClusEtaPhiLowCellMaxCluMaxL0(0), | |
218 | fhClusEtaPhiLowCellMaxCluMaxL1G(0), fhClusEtaPhiLowCellMaxCluMaxL1J(0), | |
219 | fhClusEtaPhiLowCellMaxCluMaxL1GOnly(0), fhClusEtaPhiLowCellMaxCluMaxL1JOnly(0), | |
220 | ||
221 | //Histogram settings | |
222 | fNBinsSTUSignal (2000), fMaxSTUSignal (200000), | |
223 | fNBinsTRUSignal (2000), fMaxTRUSignal (200000), | |
224 | fNBinsV0Signal (5000), fMaxV0Signal (100000), | |
225 | fNBinsSTUFEERatio(1000), fMaxSTUFEERatio(100), | |
226 | fNBinsSTUTRURatio(1000), fMaxSTUTRURatio(100), | |
227 | fNBinsClusterE (500), fMaxClusterE (200) | |
228 | ||
bce9493b | 229 | { |
230 | // Constructor | |
bce9493b | 231 | |
ec77a234 | 232 | fGeoName = "EMCAL_COMPLETEV1"; |
233 | fRecoUtils = new AliEMCALRecoUtils; | |
234 | ||
bce9493b | 235 | DefineOutput(1, TList::Class()); |
236 | ||
237 | } | |
238 | ||
239 | ||
85196c29 | 240 | //___________________________________________________________ |
bce9493b | 241 | void AliAnalysisTaskEMCALTriggerQA::UserCreateOutputObjects() |
242 | { | |
243 | // Init histograms and geometry | |
244 | ||
245 | fGeometry = AliEMCALGeometry::GetInstance(fGeoName); | |
246 | ||
85196c29 | 247 | fOutputList = new TList; |
248 | fOutputList ->SetOwner(kTRUE); | |
bce9493b | 249 | |
0d896539 | 250 | fhNEvents = new TH1F("hNEvents","Number of selected events",12,0,12); |
85196c29 | 251 | fhNEvents ->SetYTitle("N events"); |
77626b4a | 252 | fhNEvents ->GetXaxis()->SetBinLabel(1 ,"All"); |
0d896539 | 253 | fhNEvents ->GetXaxis()->SetBinLabel(2 ,"MB"); |
77626b4a | 254 | fhNEvents ->GetXaxis()->SetBinLabel(3 ,"L0"); |
255 | fhNEvents ->GetXaxis()->SetBinLabel(4 ,"L1-G"); | |
256 | fhNEvents ->GetXaxis()->SetBinLabel(5 ,"L1-J"); | |
0d896539 | 257 | fhNEvents ->GetXaxis()->SetBinLabel(6 ,"L1-G & !L1-J"); |
258 | fhNEvents ->GetXaxis()->SetBinLabel(7 ,"L1-J & !L1-G"); | |
259 | fhNEvents ->GetXaxis()->SetBinLabel(8 ,"L1-J & L1-G"); | |
260 | fhNEvents ->GetXaxis()->SetBinLabel(9 ,"MB & !L1 & !L0"); | |
261 | fhNEvents ->GetXaxis()->SetBinLabel(10,"L0 & !MB"); | |
262 | fhNEvents ->GetXaxis()->SetBinLabel(11,"L1-G & !MB"); | |
263 | fhNEvents ->GetXaxis()->SetBinLabel(12,"L1-J & !MB"); | |
264 | ||
bce9493b | 265 | |
75e10d6a | 266 | fhFORAmp = new TH2F("hFORAmp", "FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column", |
267 | fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
268 | fhFORAmp ->SetXTitle("Index #eta (columnns)"); | |
e022364d | 269 | fhFORAmp ->SetYTitle("Index #phi (rows)"); |
270 | fhFORAmp ->SetZTitle("Amplitude"); | |
e395081d | 271 | |
75e10d6a | 272 | fhFORAmpL1G = new TH2F("hFORAmpL1G", "FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column, with L1G trigger condition", |
273 | fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
274 | fhFORAmpL1G ->SetXTitle("Index #eta (columnns)"); | |
a40222c8 | 275 | fhFORAmpL1G ->SetYTitle("Index #phi (rows)"); |
276 | fhFORAmpL1G ->SetZTitle("Amplitude"); | |
e395081d | 277 | |
75e10d6a | 278 | fhFORAmpL1J = new TH2F("hFORAmpL1J", "FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column, with L1J trigger condition", |
279 | fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
280 | fhFORAmpL1J ->SetXTitle("Index #eta (columnns)"); | |
a40222c8 | 281 | fhFORAmpL1J ->SetYTitle("Index #phi (rows)"); |
282 | fhFORAmpL1J ->SetZTitle("Amplitude"); | |
aff917ac | 283 | |
75e10d6a | 284 | fhL0Amp = new TH2F("hL0Amp","FALTRO signal per Row and Column", |
285 | fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
286 | fhL0Amp ->SetXTitle("Index #eta (columnns)"); | |
e022364d | 287 | fhL0Amp ->SetYTitle("Index #phi (rows)"); |
288 | fhL0Amp ->SetZTitle("Amplitude"); | |
e395081d | 289 | |
75e10d6a | 290 | fhL0AmpL1G = new TH2F("hL0AmpL1G","FALTRO signal per Row and Column, with L1G trigger condition", |
291 | fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
292 | fhL0AmpL1G ->SetXTitle("Index #eta (columnns)"); | |
a40222c8 | 293 | fhL0AmpL1G ->SetYTitle("Index #phi (rows)"); |
294 | fhL0AmpL1G ->SetZTitle("Amplitude"); | |
e395081d | 295 | |
75e10d6a | 296 | fhL0AmpL1J = new TH2F("hL0AmpL1J","FALTRO signal per Row and Column, with L1j trigger condition", |
297 | fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
298 | fhL0AmpL1J ->SetXTitle("Index #eta (columnns)"); | |
a40222c8 | 299 | fhL0AmpL1J ->SetYTitle("Index #phi (rows)"); |
300 | fhL0AmpL1J ->SetZTitle("Amplitude"); | |
aff917ac | 301 | |
75e10d6a | 302 | fhL1Amp = new TH2F("hL1Amp","STU signal per Row and Column", |
303 | fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
304 | fhL1Amp ->SetXTitle("Index #eta (columnns)"); | |
aff917ac | 305 | fhL1Amp ->SetYTitle("Index #phi (rows)"); |
306 | fhL1Amp ->SetZTitle("Amplitude"); | |
307 | ||
75e10d6a | 308 | fhL1GAmp = new TH2F("hL1GAmp","STU signal per Row and Column for L1 Gamma", |
309 | fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
310 | fhL1GAmp ->SetXTitle("Index #eta (columnns)"); | |
e022364d | 311 | fhL1GAmp ->SetYTitle("Index #phi (rows)"); |
312 | fhL1GAmp ->SetZTitle("Amplitude"); | |
aff917ac | 313 | |
75e10d6a | 314 | fhL1JAmp = new TH2F("hL1JAmp","STU signal per Row and Column for L1 Jet", |
77626b4a | 315 | fgkFALTROCols/4,0,fgkFALTROCols,fgkFALTRORows/4,0,fgkFALTRORows); |
75e10d6a | 316 | fhL1JAmp ->SetXTitle("Index #eta (columnns)"); |
e022364d | 317 | fhL1JAmp ->SetYTitle("Index #phi (rows)"); |
318 | fhL1JAmp ->SetZTitle("Amplitude"); | |
aff917ac | 319 | |
75e10d6a | 320 | fhL0Patch = new TH2F("hL0Patch","FOR with associated L0 Patch", |
321 | fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
322 | fhL0Patch ->SetXTitle("Index #eta (columnns)"); | |
85196c29 | 323 | fhL0Patch ->SetYTitle("Index #phi (rows)"); |
e022364d | 324 | fhL0Patch ->SetZTitle("counts"); |
aff917ac | 325 | |
75e10d6a | 326 | fhL1GPatch = new TH2F("hL1GPatch","FOR with associated L1 Gamma Patch", |
327 | fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
328 | fhL1GPatch ->SetXTitle("Index #eta (columnns)"); | |
85196c29 | 329 | fhL1GPatch ->SetYTitle("Index #phi (rows)"); |
e022364d | 330 | fhL1GPatch ->SetZTitle("counts"); |
aff917ac | 331 | |
75e10d6a | 332 | fhL1JPatch = new TH2F("hL1JPatch","FOR with associated L1 Jet Patch", |
77626b4a | 333 | fgkFALTROCols/4,0,fgkFALTROCols,fgkFALTRORows/4,0,fgkFALTRORows); |
75e10d6a | 334 | fhL1JPatch ->SetXTitle("Index #eta (columnns)"); |
85196c29 | 335 | fhL1JPatch ->SetYTitle("Index #phi (rows)"); |
e022364d | 336 | fhL1JPatch ->SetZTitle("counts"); |
aff917ac | 337 | |
75e10d6a | 338 | fhV0STU = new TH2I("hV0STU","Total signal STU vs V0C+V0S", |
339 | fNBinsV0Signal,0,fMaxV0Signal,fNBinsSTUSignal,0,fMaxSTUSignal); | |
85196c29 | 340 | fhV0STU ->SetXTitle("Signal V0C+V0A"); |
341 | fhV0STU ->SetYTitle("Total signal STU"); | |
e022364d | 342 | fhV0STU ->SetZTitle("counts"); |
aff917ac | 343 | |
480b9db0 | 344 | |
85196c29 | 345 | fhFEESTU = new TH2F("hFEESTU","STU / FEE vs channel", fNBinsSTUFEERatio,0,fMaxSTUFEERatio,30,0,30); |
346 | fhFEESTU ->SetXTitle("STU/FEE signal"); | |
347 | fhFEESTU ->SetYTitle("channel"); | |
e022364d | 348 | fhFEESTU ->SetZTitle("counts"); |
aff917ac | 349 | |
85196c29 | 350 | fhTRUSTU = new TH2F("hTRUSTU","STU / TRU vs channel", fNBinsSTUTRURatio,0,fMaxSTUTRURatio,30,0,30); |
351 | fhTRUSTU ->SetXTitle("STU/TRU signal"); | |
352 | fhTRUSTU ->SetYTitle("channel"); | |
e022364d | 353 | fhTRUSTU ->SetZTitle("counts"); |
aff917ac | 354 | |
0d896539 | 355 | fhGPMaxVV0TT = new TH2F("hGPMaxVV0TT","Maximum patch of L1-Gamma vs V0 signal in STU",fNBinsV0Signal,0,fMaxV0Signal,1000,0,1000); |
356 | fhGPMaxVV0TT ->SetXTitle("V0 from STU"); | |
faa45c63 | 357 | fhGPMaxVV0TT ->SetYTitle("Patch Max"); |
4ee53435 | 358 | |
0d896539 | 359 | fhJPMaxVV0TT = new TH2F("hJPMaxVV0TT","Maximum patch of L1-Jet vs V0 signal in STU",fNBinsV0Signal,0,fMaxV0Signal,1000,0,1000); |
360 | fhJPMaxVV0TT ->SetXTitle("V0 from STU"); | |
faa45c63 | 361 | fhJPMaxVV0TT ->SetYTitle("Patch Max"); |
ec77a234 | 362 | |
0d896539 | 363 | fhFORMeanAmp = new TProfile2D("hFORMeanAmp", "Mean FastOR(FEE) signal per Row and Column", fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); |
364 | fhFORMeanAmp->SetXTitle("Index #eta"); | |
365 | fhFORMeanAmp->SetYTitle("Index #phi"); | |
366 | ||
367 | fhL0MeanAmp = new TProfile2D("hL0MeanAmp", "Mean FastOR(TRU) signal per Row and Column", fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
368 | fhL0MeanAmp->SetXTitle("Index #eta"); | |
369 | fhL0MeanAmp->SetYTitle("Index #phi"); | |
4ee53435 | 370 | |
0d896539 | 371 | fhL1MeanAmp = new TProfile2D("hL1MeanAmp", "Mean FastOR(STU) signal per Row and Column", fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); |
372 | fhL1MeanAmp->SetXTitle("Index #eta"); | |
373 | fhL1MeanAmp->SetYTitle("Index #phi"); | |
ec77a234 | 374 | |
0d896539 | 375 | fhV0MB = new TH1F("hV0MB","V0 distribution for MB triggered event",fNBinsV0Signal,0,fMaxV0Signal); |
376 | fhV0MB->SetXTitle("V0"); | |
ec77a234 | 377 | |
0d896539 | 378 | fhV0L1G = new TH1F("hV0L1G","V0 distribution for L1G triggered event",fNBinsV0Signal,0,fMaxV0Signal); |
379 | fhV0L1G->SetXTitle("V0"); | |
ec77a234 | 380 | |
0d896539 | 381 | fhV0L1J = new TH1F("hV0L1J","V0 distribution for L1J triggered event",fNBinsV0Signal,0,fMaxV0Signal); |
382 | fhV0L1J->SetXTitle("V0"); | |
ec77a234 | 383 | |
0d896539 | 384 | fhL1GPatchMax = new TH2F("hL1GPatchMax","FOR of max amplitude patch with associated L1 Gamma Patch", |
ec77a234 | 385 | fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); |
0d896539 | 386 | fhL1GPatchMax ->SetXTitle("Index #eta (columnns)"); |
387 | fhL1GPatchMax ->SetYTitle("Index #phi (rows)"); | |
388 | fhL1GPatchMax ->SetZTitle("counts"); | |
389 | ||
390 | fhL1JPatchMax = new TH2F("hL1JPatchMax","FOR of max amplitude patch with associated L1 Jet Patch", | |
ec77a234 | 391 | fgkFALTROCols/4,0,fgkFALTROCols,fgkFALTRORows/4,0,fgkFALTRORows); |
0d896539 | 392 | fhL1JPatchMax ->SetXTitle("Index #eta (columnns)"); |
393 | fhL1JPatchMax ->SetYTitle("Index #phi (rows)"); | |
394 | fhL1JPatchMax ->SetZTitle("counts"); | |
395 | ||
bce9493b | 396 | fOutputList->Add(fhNEvents); |
397 | fOutputList->Add(fhV0STU); | |
e022364d | 398 | fOutputList->Add(fhFORAmp); |
a40222c8 | 399 | fOutputList->Add(fhFORAmpL1G); |
400 | fOutputList->Add(fhFORAmpL1J); | |
e022364d | 401 | fOutputList->Add(fhL0Amp); |
a40222c8 | 402 | fOutputList->Add(fhL0AmpL1G); |
403 | fOutputList->Add(fhL0AmpL1J); | |
aff917ac | 404 | fOutputList->Add(fhL1Amp); |
e022364d | 405 | fOutputList->Add(fhL1GAmp); |
406 | fOutputList->Add(fhL1JAmp); | |
bce9493b | 407 | fOutputList->Add(fhL0Patch); |
408 | fOutputList->Add(fhL1GPatch); | |
409 | fOutputList->Add(fhL1JPatch); | |
ec77a234 | 410 | fOutputList->Add(fhFEESTU); |
411 | fOutputList->Add(fhTRUSTU); | |
412 | ||
413 | fOutputList->Add(fhGPMaxVV0TT); | |
414 | fOutputList->Add(fhJPMaxVV0TT); | |
415 | ||
416 | fOutputList->Add(fhFORMeanAmp); | |
417 | fOutputList->Add(fhL0MeanAmp); | |
418 | fOutputList->Add(fhL1MeanAmp); | |
419 | ||
420 | fOutputList->Add(fhV0MB ); | |
421 | fOutputList->Add(fhV0L1G); | |
422 | fOutputList->Add(fhV0L1J); | |
423 | ||
424 | fOutputList->Add(fhL1GPatchMax); | |
425 | fOutputList->Add(fhL1JPatchMax); | |
426 | ||
427 | // Cluster histograms, E | |
428 | ||
429 | fhClusMB = new TH1F("hClusMB","clusters E distribution for MB trigger",fNBinsClusterE,0,fMaxClusterE); | |
430 | fhClusMB ->SetXTitle("Energy (GeV)"); | |
431 | ||
432 | fhClusMBPure = new TH1F("hClusMBPure","clusters E distribution for MB trigger, no other EMCAL trigger on",fNBinsClusterE,0,fMaxClusterE); | |
433 | fhClusMBPure ->SetXTitle("Energy (GeV)"); | |
434 | ||
435 | fhClusL0 = new TH1F("hClusL0","clusters E distribution for L0 trigger",fNBinsClusterE,0,fMaxClusterE); | |
436 | fhClusL0 ->SetXTitle("Energy (GeV)"); | |
437 | ||
438 | fhClusL1G = new TH1F("hClusL1G","clusters E distribution for L1G trigger",fNBinsClusterE,0,fMaxClusterE); | |
439 | fhClusL1G ->SetXTitle("Energy (GeV)"); | |
440 | ||
441 | fhClusL1J = new TH1F("hClusL1J","clusters E distribution for L1J trigger",fNBinsClusterE,0,fMaxClusterE); | |
442 | fhClusL1J ->SetXTitle("Energy (GeV)"); | |
443 | ||
444 | fhClusL1GOnly = new TH1F("hClusL1GOnly","clusters E distribution for L1G trigger and not L1J",fNBinsClusterE,0,fMaxClusterE); | |
445 | fhClusL1GOnly->SetXTitle("Energy (GeV)"); | |
446 | ||
447 | fhClusL1JOnly = new TH1F("hClusL1JOnly","clusters E distribution for L1J trigger and not L1G",fNBinsClusterE,0,fMaxClusterE); | |
448 | fhClusL1JOnly->SetXTitle("Energy (GeV)"); | |
449 | ||
450 | fhClusMaxMB = new TH1F("hClusMaxMB","maximum energy cluster per event for MB trigger",fNBinsClusterE,0,fMaxClusterE); | |
451 | fhClusMaxMB ->SetXTitle("Energy (GeV)"); | |
452 | ||
453 | fhClusMaxMBPure = new TH1F("hClusMaxMBPure","maximum energy cluster per event for MB trigger, no other EMCAL trigger on",fNBinsClusterE,0,fMaxClusterE); | |
454 | fhClusMaxMBPure ->SetXTitle("Energy (GeV)"); | |
455 | ||
456 | fhClusMaxL0 = new TH1F("hClusMaxL0","maximum energy cluster per event for L0 trigger",fNBinsClusterE,0,fMaxClusterE); | |
457 | fhClusMaxL0 ->SetXTitle("Energy (GeV)"); | |
458 | ||
459 | fhClusMaxL1G = new TH1F("hClusMaxL1G","maximum energy cluster per event for L1G trigger",fNBinsClusterE,0,fMaxClusterE); | |
460 | fhClusMaxL1G->SetXTitle("Energy (GeV)"); | |
461 | ||
462 | fhClusMaxL1J = new TH1F("hClusMaxL1J","maximum energy cluster per event for L1J trigger",fNBinsClusterE,0,fMaxClusterE); | |
463 | fhClusMaxL1J->SetXTitle("Energy (GeV)"); | |
464 | ||
465 | fhClusMaxL1GOnly = new TH1F("hClusMaxL1GOnly","maximum energy cluster per event for L1G trigger and not L1J",fNBinsClusterE,0,fMaxClusterE); | |
466 | fhClusMaxL1GOnly->SetXTitle("Energy (GeV)"); | |
467 | ||
468 | fhClusMaxL1JOnly = new TH1F("hClusMaxL1JOnly","maximum energy cluster per event for L1J trigger and not L1G",fNBinsClusterE,0,fMaxClusterE); | |
469 | fhClusMaxL1JOnly->SetXTitle("Energy (GeV)"); | |
470 | ||
480b9db0 | 471 | |
75e10d6a | 472 | fOutputList->Add(fhClusMB); |
0d896539 | 473 | fOutputList->Add(fhClusMBPure); |
75e10d6a | 474 | fOutputList->Add(fhClusL0); |
475 | fOutputList->Add(fhClusL1G); | |
476 | fOutputList->Add(fhClusL1J); | |
480b9db0 | 477 | fOutputList->Add(fhClusL1GOnly); |
478 | fOutputList->Add(fhClusL1JOnly); | |
479 | ||
480 | fOutputList->Add(fhClusMaxMB); | |
0d896539 | 481 | fOutputList->Add(fhClusMaxMBPure); |
480b9db0 | 482 | fOutputList->Add(fhClusMaxL0); |
483 | fOutputList->Add(fhClusMaxL1G); | |
484 | fOutputList->Add(fhClusMaxL1J); | |
485 | fOutputList->Add(fhClusMaxL1GOnly); | |
486 | fOutputList->Add(fhClusMaxL1JOnly); | |
487 | ||
ec77a234 | 488 | // Cluster histograms, E vs Cen |
489 | ||
490 | fhClusCenMB = new TH2F("hClusCenMB","clusters E distribution vs centrality for MB trigger",fNBinsClusterE,0,fMaxClusterE,100, 0, 100); | |
491 | fhClusCenMB ->SetXTitle("Energy (GeV)"); | |
492 | fhClusCenMB ->SetYTitle("Centrality"); | |
e395081d | 493 | |
ec77a234 | 494 | fhClusCenL0 = new TH2F("hClusCenL0","clusters E distribution vs centrality for L0 trigger",fNBinsClusterE,0,fMaxClusterE,100, 0, 100); |
495 | fhClusCenL0 ->SetXTitle("Energy (GeV)"); | |
496 | fhClusCenL0 ->SetYTitle("Centrality"); | |
0d896539 | 497 | |
ec77a234 | 498 | fhClusCenL1G = new TH2F("hClusCenL1G","clusters E distribution vs centrality for L1G trigger",fNBinsClusterE,0,fMaxClusterE,100, 0, 100); |
499 | fhClusCenL1G ->SetXTitle("Energy (GeV)"); | |
500 | ||
501 | fhClusCenL1J = new TH2F("hClusCenL1J","clusters E distribution vs centrality for L1J trigger",fNBinsClusterE,0,fMaxClusterE,100, 0, 100); | |
502 | fhClusCenL1J ->SetXTitle("Energy (GeV)"); | |
503 | fhClusCenL1J ->SetYTitle("Centrality"); | |
0d896539 | 504 | |
ec77a234 | 505 | fhClusCenL1GOnly = new TH2F("hClusCenL1GOnly","clusters E distribution vs centrality for L1G trigger and not L1J",fNBinsClusterE,0,fMaxClusterE,100, 0, 100); |
506 | fhClusCenL1GOnly->SetXTitle("Energy (GeV)"); | |
507 | fhClusCenL1GOnly->SetYTitle("Centrality"); | |
0d896539 | 508 | |
ec77a234 | 509 | fhClusCenL1JOnly = new TH2F("hClusCenL1JOnly","clusters E distribution vs centrality for L1J trigger and not L1G",fNBinsClusterE,0,fMaxClusterE,100, 0, 100); |
510 | fhClusCenL1JOnly->SetXTitle("Energy (GeV)"); | |
511 | fhClusCenL1JOnly->SetYTitle("Centrality"); | |
512 | ||
513 | fhClusCenMaxMB = new TH2F("hClusCenMaxMB","maximum energy cluster per event vs centrality for MB trigger",fNBinsClusterE,0,fMaxClusterE,100, 0, 100); | |
514 | fhClusCenMaxMB ->SetXTitle("Energy (GeV)"); | |
515 | fhClusCenMaxMB ->SetYTitle("Centrality"); | |
516 | ||
517 | fhClusCenMaxL0 = new TH2F("hClusCenMaxL0","maximum energy cluster per event vs centrality for L0 trigger",fNBinsClusterE,0,fMaxClusterE,100, 0, 100); | |
518 | fhClusCenMaxL0 ->SetXTitle("Energy (GeV)"); | |
519 | fhClusCenMaxL0 ->SetYTitle("Centrality"); | |
520 | ||
521 | fhClusCenMaxL1G = new TH2F("hClusCenMaxL1G","maximum energy cluster per event vs centrality for L1G trigger",fNBinsClusterE,0,fMaxClusterE,100, 0, 100); | |
522 | fhClusCenMaxL1G->SetXTitle("Energy (GeV)"); | |
523 | fhClusCenMaxL1G->SetYTitle("Centrality"); | |
524 | ||
525 | fhClusCenMaxL1J = new TH2F("hClusCenMaxL1J","maximum energy cluster per event vs centrality for L1J trigger",fNBinsClusterE,0,fMaxClusterE,100, 0, 100); | |
526 | fhClusCenMaxL1J->SetXTitle("Energy (GeV)"); | |
527 | fhClusCenMaxL1J->SetYTitle("Centrality"); | |
528 | ||
529 | fhClusCenMaxL1GOnly = new TH2F("hClusCenMaxL1GOnly","maximum energy cluster per event vs centrality for L1G trigger and not L1J",fNBinsClusterE,0,fMaxClusterE,100, 0, 100); | |
530 | fhClusCenMaxL1GOnly->SetXTitle("Energy (GeV)"); | |
531 | fhClusCenMaxL1GOnly->SetYTitle("Centrality"); | |
532 | ||
533 | fhClusCenMaxL1JOnly = new TH2F("hClusCenMaxL1JOnly","maximum energy cluster per event vs centrality for L1J trigger and not L1G",fNBinsClusterE,0,fMaxClusterE,100, 0, 100); | |
534 | fhClusCenMaxL1JOnly->SetXTitle("Energy (GeV)"); | |
535 | fhClusCenMaxL1JOnly->SetYTitle("Centrality"); | |
536 | ||
537 | ||
538 | fOutputList->Add(fhClusCenMB); | |
539 | fOutputList->Add(fhClusCenL0); | |
540 | fOutputList->Add(fhClusCenL1G); | |
541 | fOutputList->Add(fhClusCenL1J); | |
542 | fOutputList->Add(fhClusCenL1GOnly); | |
543 | fOutputList->Add(fhClusCenL1JOnly); | |
544 | ||
545 | fOutputList->Add(fhClusCenMaxMB); | |
546 | fOutputList->Add(fhClusCenMaxL0); | |
547 | fOutputList->Add(fhClusCenMaxL1G); | |
548 | fOutputList->Add(fhClusCenMaxL1J); | |
549 | fOutputList->Add(fhClusCenMaxL1GOnly); | |
550 | fOutputList->Add(fhClusCenMaxL1JOnly); | |
551 | ||
552 | ||
553 | // Cluster histograms, E vs V0 | |
554 | ||
555 | fhClusV0MB = new TH2F("hClusV0MB","clusters E distribution vs V0 for MB trigger",fNBinsClusterE,0,fMaxClusterE,fNBinsV0Signal,0,fMaxV0Signal); | |
556 | fhClusV0MB ->SetXTitle("Energy (GeV)"); | |
557 | fhClusV0MB ->SetYTitle("V0"); | |
558 | ||
559 | fhClusV0L0 = new TH2F("hClusV0L0","clusters E distribution vs V0 for L0 trigger",fNBinsClusterE,0,fMaxClusterE,fNBinsV0Signal,0,fMaxV0Signal); | |
560 | fhClusV0L0 ->SetXTitle("Energy (GeV)"); | |
561 | fhClusV0L0 ->SetYTitle("V0"); | |
562 | ||
563 | fhClusV0L1G = new TH2F("hClusV0L1G","clusters E distribution vs V0 for L1G trigger",fNBinsClusterE,0,fMaxClusterE,fNBinsV0Signal,0,fMaxV0Signal); | |
564 | fhClusV0L1G ->SetXTitle("Energy (GeV)"); | |
565 | ||
566 | fhClusV0L1J = new TH2F("hClusV0L1J","clusters E distribution vs V0 for L1J trigger",fNBinsClusterE,0,fMaxClusterE,fNBinsV0Signal,0,fMaxV0Signal); | |
567 | fhClusV0L1J ->SetXTitle("Energy (GeV)"); | |
568 | fhClusV0L1J ->SetYTitle("V0"); | |
569 | ||
570 | fhClusV0L1GOnly = new TH2F("hClusV0L1GOnly","clusters E distribution vs V0 for L1G trigger and not L1J",fNBinsClusterE,0,fMaxClusterE,fNBinsV0Signal,0,fMaxV0Signal); | |
571 | fhClusV0L1GOnly->SetXTitle("Energy (GeV)"); | |
572 | fhClusV0L1GOnly->SetYTitle("V0"); | |
573 | ||
574 | fhClusV0L1JOnly = new TH2F("hClusV0L1JOnly","clusters E distribution vs V0 for L1J trigger and not L1G",fNBinsClusterE,0,fMaxClusterE,fNBinsV0Signal,0,fMaxV0Signal); | |
575 | fhClusV0L1JOnly->SetXTitle("Energy (GeV)"); | |
576 | fhClusV0L1JOnly->SetYTitle("V0"); | |
577 | ||
578 | fhClusV0MaxMB = new TH2F("hClusV0MaxMB","maximum energy cluster per event vs V0 for MB trigger",fNBinsClusterE,0,fMaxClusterE,fNBinsV0Signal,0,fMaxV0Signal); | |
579 | fhClusV0MaxMB ->SetXTitle("Energy (GeV)"); | |
580 | fhClusV0MaxMB ->SetYTitle("V0"); | |
581 | ||
582 | fhClusV0MaxL0 = new TH2F("hClusV0MaxL0","maximum energy cluster per event vs V0 for L0 trigger",fNBinsClusterE,0,fMaxClusterE,fNBinsV0Signal,0,fMaxV0Signal); | |
583 | fhClusV0MaxL0 ->SetXTitle("Energy (GeV)"); | |
584 | fhClusV0MaxL0 ->SetYTitle("V0"); | |
585 | ||
586 | fhClusV0MaxL1G = new TH2F("hClusV0MaxL1G","maximum energy cluster per event vs V0 for L1G trigger",fNBinsClusterE,0,fMaxClusterE,fNBinsV0Signal,0,fMaxV0Signal); | |
587 | fhClusV0MaxL1G->SetXTitle("Energy (GeV)"); | |
588 | fhClusV0MaxL1G->SetYTitle("V0"); | |
589 | ||
590 | fhClusV0MaxL1J = new TH2F("hClusV0MaxL1J","maximum energy cluster per event vs V0 for L1J trigger",fNBinsClusterE,0,fMaxClusterE,fNBinsV0Signal,0,fMaxV0Signal); | |
591 | fhClusV0MaxL1J->SetXTitle("Energy (GeV)"); | |
592 | fhClusV0MaxL1J->SetYTitle("V0"); | |
593 | ||
594 | fhClusV0MaxL1GOnly = new TH2F("hClusV0MaxL1GOnly","maximum energy cluster per event vs V0 for L1G trigger and not L1J",fNBinsClusterE,0,fMaxClusterE,fNBinsV0Signal,0,fMaxV0Signal); | |
595 | fhClusV0MaxL1GOnly->SetXTitle("Energy (GeV)"); | |
596 | fhClusV0MaxL1GOnly->SetYTitle("V0"); | |
597 | ||
598 | fhClusV0MaxL1JOnly = new TH2F("hClusV0MaxL1JOnly","maximum energy cluster per event vs V0 for L1J trigger and not L1G",fNBinsClusterE,0,fMaxClusterE,fNBinsV0Signal,0,fMaxV0Signal); | |
599 | fhClusV0MaxL1JOnly->SetXTitle("Energy (GeV)"); | |
600 | fhClusV0MaxL1JOnly->SetYTitle("V0"); | |
601 | ||
602 | ||
603 | fOutputList->Add(fhClusV0MB); | |
604 | fOutputList->Add(fhClusV0L0); | |
605 | fOutputList->Add(fhClusV0L1G); | |
606 | fOutputList->Add(fhClusV0L1J); | |
607 | fOutputList->Add(fhClusV0L1GOnly); | |
608 | fOutputList->Add(fhClusV0L1JOnly); | |
609 | ||
610 | fOutputList->Add(fhClusV0MaxMB); | |
611 | fOutputList->Add(fhClusV0MaxL0); | |
612 | fOutputList->Add(fhClusV0MaxL1G); | |
613 | fOutputList->Add(fhClusV0MaxL1J); | |
614 | fOutputList->Add(fhClusV0MaxL1GOnly); | |
615 | fOutputList->Add(fhClusV0MaxL1JOnly); | |
616 | ||
617 | // Cluster histograms, E vs Pseudorapidity | |
618 | Float_t etamin =-0.8; | |
619 | Float_t etamax = 0.8; | |
620 | Int_t neta = 160; | |
621 | fhClusEtaMB = new TH2F("hClusEtaMB","clusters distribution vs #eta for MB trigger",fNBinsClusterE,0,fMaxClusterE,neta, etamin, etamax); | |
622 | fhClusEtaMB ->SetXTitle("Energy (GeV)"); | |
623 | fhClusEtaMB ->SetYTitle("#eta"); | |
624 | ||
625 | fhClusEtaL0 = new TH2F("hClusEtaL0","clusters distribution vs #eta for L0 trigger",fNBinsClusterE,0,fMaxClusterE,neta, etamin, etamax); | |
626 | fhClusEtaL0 ->SetXTitle("Energy (GeV)"); | |
627 | fhClusEtaL0 ->SetYTitle("#eta"); | |
628 | ||
629 | fhClusEtaL1G = new TH2F("hClusEtaL1G","clusters distribution vs #eta for L1G trigger",fNBinsClusterE,0,fMaxClusterE,neta, etamin, etamax); | |
630 | fhClusEtaL1G ->SetXTitle("Energy (GeV)"); | |
631 | ||
632 | fhClusEtaL1J = new TH2F("hClusEtaL1J","clusters distribution vs #eta for L1J trigger",fNBinsClusterE,0,fMaxClusterE,neta, etamin, etamax); | |
633 | fhClusEtaL1J ->SetXTitle("Energy (GeV)"); | |
634 | fhClusEtaL1J ->SetYTitle("#eta"); | |
635 | ||
636 | fhClusEtaL1GOnly = new TH2F("hClusEtaL1GOnly","clusters distribution vs #eta for L1G trigger and not L1J",fNBinsClusterE,0,fMaxClusterE,neta, etamin, etamax); | |
637 | fhClusEtaL1GOnly->SetXTitle("Energy (GeV)"); | |
638 | fhClusEtaL1GOnly->SetYTitle("#eta"); | |
639 | ||
640 | fhClusEtaL1JOnly = new TH2F("hClusEtaL1JOnly","clusters distribution vs #eta for L1J trigger and not L1G",fNBinsClusterE,0,fMaxClusterE,neta, etamin, etamax); | |
641 | fhClusEtaL1JOnly->SetXTitle("Energy (GeV)"); | |
642 | fhClusEtaL1JOnly->SetYTitle("#eta"); | |
643 | ||
644 | fhClusEtaMaxMB = new TH2F("hClusEtaMaxMB","maximum energy cluster per event vs #eta for MB trigger",fNBinsClusterE,0,fMaxClusterE,neta, etamin, etamax); | |
645 | fhClusEtaMaxMB ->SetXTitle("Energy (GeV)"); | |
646 | fhClusEtaMaxMB ->SetYTitle("#eta"); | |
647 | ||
648 | fhClusEtaMaxL0 = new TH2F("hClusEtaMaxL0","maximum energy cluster per event vs #eta for L0 trigger",fNBinsClusterE,0,fMaxClusterE,neta, etamin, etamax); | |
649 | fhClusEtaMaxL0 ->SetXTitle("Energy (GeV)"); | |
650 | fhClusEtaMaxL0 ->SetYTitle("#eta"); | |
651 | ||
652 | fhClusEtaMaxL1G = new TH2F("hClusEtaMaxL1G","maximum energy cluster per event vs #eta for L1G trigger",fNBinsClusterE,0,fMaxClusterE,neta, etamin, etamax); | |
653 | fhClusEtaMaxL1G->SetXTitle("Energy (GeV)"); | |
654 | fhClusEtaMaxL1G->SetYTitle("#eta"); | |
655 | ||
656 | fhClusEtaMaxL1J = new TH2F("hClusEtaMaxL1J","maximum energy cluster per event vs #eta for L1J trigger",fNBinsClusterE,0,fMaxClusterE,neta, etamin, etamax); | |
657 | fhClusEtaMaxL1J->SetXTitle("Energy (GeV)"); | |
658 | fhClusEtaMaxL1J->SetYTitle("#eta"); | |
659 | ||
660 | fhClusEtaMaxL1GOnly = new TH2F("hClusEtaMaxL1GOnly","maximum energy cluster per event vs #eta for L1G trigger and not L1J",fNBinsClusterE,0,fMaxClusterE,neta, etamin, etamax); | |
661 | fhClusEtaMaxL1GOnly->SetXTitle("Energy (GeV)"); | |
662 | fhClusEtaMaxL1GOnly->SetYTitle("#eta"); | |
663 | ||
664 | fhClusEtaMaxL1JOnly = new TH2F("hClusEtaMaxL1JOnly","maximum energy cluster per event vs #eta for L1J trigger and not L1G",fNBinsClusterE,0,fMaxClusterE,neta, etamin, etamax); | |
665 | fhClusEtaMaxL1JOnly->SetXTitle("Energy (GeV)"); | |
666 | fhClusEtaMaxL1JOnly->SetYTitle("#eta"); | |
667 | ||
668 | ||
669 | fOutputList->Add(fhClusEtaMB); | |
670 | fOutputList->Add(fhClusEtaL0); | |
671 | fOutputList->Add(fhClusEtaL1G); | |
672 | fOutputList->Add(fhClusEtaL1J); | |
673 | fOutputList->Add(fhClusEtaL1GOnly); | |
674 | fOutputList->Add(fhClusEtaL1JOnly); | |
675 | ||
676 | fOutputList->Add(fhClusEtaMaxMB); | |
677 | fOutputList->Add(fhClusEtaMaxL0); | |
678 | fOutputList->Add(fhClusEtaMaxL1G); | |
679 | fOutputList->Add(fhClusEtaMaxL1J); | |
680 | fOutputList->Add(fhClusEtaMaxL1GOnly); | |
681 | fOutputList->Add(fhClusEtaMaxL1JOnly); | |
682 | ||
683 | ||
684 | // Cluster histograms, E vs Azimuthal angle | |
685 | Float_t phimin = 80. *TMath::DegToRad(); | |
686 | Float_t phimax = 190.*TMath::DegToRad(); | |
687 | Int_t nphi = 110; | |
688 | ||
689 | fhClusPhiMB = new TH2F("hClusPhiMB","clusters distribution vs #phi for MB trigger",fNBinsClusterE,0,fMaxClusterE,nphi, phimin, phimax); | |
690 | fhClusPhiMB ->SetXTitle("Energy (GeV)"); | |
691 | fhClusPhiMB ->SetYTitle("#phi (rad)"); | |
692 | ||
693 | fhClusPhiL0 = new TH2F("hClusPhiL0","clusters distribution vs #phi for L0 trigger",fNBinsClusterE,0,fMaxClusterE,nphi, phimin, phimax); | |
694 | fhClusPhiL0 ->SetXTitle("Energy (GeV)"); | |
695 | fhClusPhiL0 ->SetYTitle("#phi (rad)"); | |
696 | ||
697 | fhClusPhiL1G = new TH2F("hClusPhiL1G","clusters distribution vs #phi for L1G trigger",fNBinsClusterE,0,fMaxClusterE,nphi, phimin, phimax); | |
698 | fhClusPhiL1G ->SetXTitle("Energy (GeV)"); | |
699 | ||
700 | fhClusPhiL1J = new TH2F("hClusPhiL1J","clusters distribution vs #phi for L1J trigger",fNBinsClusterE,0,fMaxClusterE,nphi, phimin, phimax); | |
701 | fhClusPhiL1J ->SetXTitle("Energy (GeV)"); | |
702 | fhClusPhiL1J ->SetYTitle("#phi (rad)"); | |
703 | ||
704 | fhClusPhiL1GOnly = new TH2F("hClusPhiL1GOnly","clusters distribution vs #phi for L1G trigger and not L1J",fNBinsClusterE,0,fMaxClusterE,nphi, phimin, phimax); | |
705 | fhClusPhiL1GOnly->SetXTitle("Energy (GeV)"); | |
706 | fhClusPhiL1GOnly->SetYTitle("#phi (rad)"); | |
707 | ||
708 | fhClusPhiL1JOnly = new TH2F("hClusPhiL1JOnly","clusters distribution vs #phi for L1J trigger and not L1G",fNBinsClusterE,0,fMaxClusterE,nphi, phimin, phimax); | |
709 | fhClusPhiL1JOnly->SetXTitle("Energy (GeV)"); | |
710 | fhClusPhiL1JOnly->SetYTitle("#phi (rad)"); | |
711 | ||
712 | fhClusPhiMaxMB = new TH2F("hClusPhiMaxMB","maximum energy cluster per event vs #phi for MB trigger",fNBinsClusterE,0,fMaxClusterE,nphi, phimin, phimax); | |
713 | fhClusPhiMaxMB ->SetXTitle("Energy (GeV)"); | |
714 | fhClusPhiMaxMB ->SetYTitle("#phi (rad)"); | |
715 | ||
716 | fhClusPhiMaxL0 = new TH2F("hClusPhiMaxL0","maximum energy cluster per event vs #phi for L0 trigger",fNBinsClusterE,0,fMaxClusterE,nphi, phimin, phimax); | |
717 | fhClusPhiMaxL0 ->SetXTitle("Energy (GeV)"); | |
718 | fhClusPhiMaxL0 ->SetYTitle("#phi (rad)"); | |
719 | ||
720 | fhClusPhiMaxL1G = new TH2F("hClusPhiMaxL1G","maximum energy cluster per event vs #phi for L1G trigger",fNBinsClusterE,0,fMaxClusterE,nphi, phimin, phimax); | |
721 | fhClusPhiMaxL1G->SetXTitle("Energy (GeV)"); | |
722 | fhClusPhiMaxL1G->SetYTitle("#phi (rad)"); | |
723 | ||
724 | fhClusPhiMaxL1J = new TH2F("hClusPhiMaxL1J","maximum energy cluster per event vs #phi for L1J trigger",fNBinsClusterE,0,fMaxClusterE,nphi, phimin, phimax); | |
725 | fhClusPhiMaxL1J->SetXTitle("Energy (GeV)"); | |
726 | fhClusPhiMaxL1J->SetYTitle("#phi (rad)"); | |
727 | ||
728 | fhClusPhiMaxL1GOnly = new TH2F("hClusPhiMaxL1GOnly","maximum energy cluster per event vs #phi for L1G trigger and not L1J",fNBinsClusterE,0,fMaxClusterE,nphi, phimin, phimax); | |
729 | fhClusPhiMaxL1GOnly->SetXTitle("Energy (GeV)"); | |
730 | fhClusPhiMaxL1GOnly->SetYTitle("#phi (rad)"); | |
731 | ||
732 | fhClusPhiMaxL1JOnly = new TH2F("hClusPhiMaxL1JOnly","maximum energy cluster per event vs #phi for L1J trigger and not L1G",fNBinsClusterE,0,fMaxClusterE,nphi, phimin, phimax); | |
733 | fhClusPhiMaxL1JOnly->SetXTitle("Energy (GeV)"); | |
734 | fhClusPhiMaxL1JOnly->SetYTitle("#phi (rad)"); | |
735 | ||
736 | ||
737 | fOutputList->Add(fhClusPhiMB); | |
738 | fOutputList->Add(fhClusPhiL0); | |
739 | fOutputList->Add(fhClusPhiL1G); | |
740 | fOutputList->Add(fhClusPhiL1J); | |
741 | fOutputList->Add(fhClusPhiL1GOnly); | |
742 | fOutputList->Add(fhClusPhiL1JOnly); | |
743 | ||
744 | fOutputList->Add(fhClusPhiMaxMB); | |
745 | fOutputList->Add(fhClusPhiMaxL0); | |
746 | fOutputList->Add(fhClusPhiMaxL1G); | |
747 | fOutputList->Add(fhClusPhiMaxL1J); | |
748 | fOutputList->Add(fhClusPhiMaxL1GOnly); | |
749 | fOutputList->Add(fhClusPhiMaxL1JOnly); | |
750 | ||
751 | // Cluster histograms, Pseudorapidity vs Azimuthal angle | |
752 | ||
753 | fhClusEtaPhiHighMB = new TH2F("hClusEtaPhiHighMB","clusters distribution #eta vs #phi for MB trigger, E > 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
754 | fhClusEtaPhiHighMB ->SetXTitle("#eta"); | |
755 | fhClusEtaPhiHighMB ->SetYTitle("#phi (rad)"); | |
756 | ||
757 | fhClusEtaPhiHighL0 = new TH2F("hClusEtaPhiHighL0","clusters distribution #eta vs #phi for L0 trigger, E > 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
758 | fhClusEtaPhiHighL0 ->SetXTitle("#eta"); | |
759 | fhClusEtaPhiHighL0 ->SetYTitle("#phi (rad)"); | |
760 | ||
761 | fhClusEtaPhiHighL1G = new TH2F("hClusEtaPhiHighL1G","clusters distribution #eta vs #phi for L1G trigger, E > 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
762 | fhClusEtaPhiHighL1G ->SetXTitle("#eta"); | |
763 | ||
764 | fhClusEtaPhiHighL1J = new TH2F("hClusEtaPhiHighL1J","clusters distribution #eta vs #phi for L1J trigger, E > 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
765 | fhClusEtaPhiHighL1J ->SetXTitle("#eta"); | |
766 | fhClusEtaPhiHighL1J ->SetYTitle("#phi (rad)"); | |
767 | ||
768 | fhClusEtaPhiHighL1GOnly = new TH2F("hClusEtaPhiHighL1GOnly","clusters distribution #eta vs #phi for L1G trigger and not L1J, E > 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
769 | fhClusEtaPhiHighL1GOnly->SetXTitle("#eta"); | |
770 | fhClusEtaPhiHighL1GOnly->SetYTitle("#phi (rad)"); | |
771 | ||
772 | fhClusEtaPhiHighL1JOnly = new TH2F("hClusEtaPhiHighL1JOnly","clusters distribution #eta vs #phi for L1J trigger and not L1G, E > 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
773 | fhClusEtaPhiHighL1JOnly->SetXTitle("#eta"); | |
774 | fhClusEtaPhiHighL1JOnly->SetYTitle("#phi (rad)"); | |
775 | ||
776 | fhClusEtaPhiHighCluMaxMB = new TH2F("hClusEtaPhiHighCluMaxMB","maximum energy cluster per event #eta vs #phi for MB trigger, E > 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
777 | fhClusEtaPhiHighCluMaxMB ->SetXTitle("#eta"); | |
778 | fhClusEtaPhiHighCluMaxMB ->SetYTitle("#phi (rad)"); | |
779 | ||
780 | fhClusEtaPhiHighCluMaxL0 = new TH2F("hClusEtaPhiHighCluMaxL0","maximum energy cluster per event #eta vs #phi for L0 trigger, E > 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
781 | fhClusEtaPhiHighCluMaxL0 ->SetXTitle("#eta"); | |
782 | fhClusEtaPhiHighCluMaxL0 ->SetYTitle("#phi (rad)"); | |
783 | ||
784 | fhClusEtaPhiHighCluMaxL1G = new TH2F("hClusEtaPhiHighCluMaxL1G","maximum energy cluster per event #eta vs #phi for L1G trigger, E > 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
785 | fhClusEtaPhiHighCluMaxL1G->SetXTitle("#eta"); | |
786 | fhClusEtaPhiHighCluMaxL1G->SetYTitle("#phi (rad)"); | |
787 | ||
788 | fhClusEtaPhiHighCluMaxL1J = new TH2F("hClusEtaPhiHighCluMaxL1J","maximum energy cluster per event #eta vs #phi for L1J trigger, E > 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
789 | fhClusEtaPhiHighCluMaxL1J->SetXTitle("#eta"); | |
790 | fhClusEtaPhiHighCluMaxL1J->SetYTitle("#phi (rad)"); | |
791 | ||
792 | fhClusEtaPhiHighCluMaxL1GOnly = new TH2F("hClusEtaPhiHighCluMaxL1GOnly","maximum energy cluster per event #eta vs #phi for L1G trigger and not L1J, E > 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
793 | fhClusEtaPhiHighCluMaxL1GOnly->SetXTitle("#eta"); | |
794 | fhClusEtaPhiHighCluMaxL1GOnly->SetYTitle("#phi (rad)"); | |
795 | ||
796 | fhClusEtaPhiHighCluMaxL1JOnly = new TH2F("hClusEtaPhiHighCluMaxL1JOnly","maximum energy cluster per event #eta vs #phi for L1J trigger and not L1G, E > 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
797 | fhClusEtaPhiHighCluMaxL1JOnly->SetXTitle("#eta"); | |
798 | fhClusEtaPhiHighCluMaxL1JOnly->SetYTitle("#phi (rad)"); | |
799 | ||
800 | ||
801 | fOutputList->Add(fhClusEtaPhiHighMB); | |
802 | fOutputList->Add(fhClusEtaPhiHighL0); | |
803 | fOutputList->Add(fhClusEtaPhiHighL1G); | |
804 | fOutputList->Add(fhClusEtaPhiHighL1J); | |
805 | fOutputList->Add(fhClusEtaPhiHighL1GOnly); | |
806 | fOutputList->Add(fhClusEtaPhiHighL1JOnly); | |
807 | ||
808 | fOutputList->Add(fhClusEtaPhiHighCluMaxMB); | |
809 | fOutputList->Add(fhClusEtaPhiHighCluMaxL0); | |
810 | fOutputList->Add(fhClusEtaPhiHighCluMaxL1G); | |
811 | fOutputList->Add(fhClusEtaPhiHighCluMaxL1J); | |
812 | fOutputList->Add(fhClusEtaPhiHighCluMaxL1GOnly); | |
813 | fOutputList->Add(fhClusEtaPhiHighCluMaxL1JOnly); | |
814 | ||
815 | fhClusEtaPhiLowMB = new TH2F("hClusEtaPhiLowMB","clusters distribution #eta vs #phi for MB trigger, E < 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
816 | fhClusEtaPhiLowMB ->SetXTitle("#eta"); | |
817 | fhClusEtaPhiLowMB ->SetYTitle("#phi (rad)"); | |
818 | ||
819 | fhClusEtaPhiLowL0 = new TH2F("hClusEtaPhiLowL0","clusters distribution #eta vs #phi for L0 trigger, E < 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
820 | fhClusEtaPhiLowL0 ->SetXTitle("#eta"); | |
821 | fhClusEtaPhiLowL0 ->SetYTitle("#phi (rad)"); | |
822 | ||
823 | fhClusEtaPhiLowL1G = new TH2F("hClusEtaPhiLowL1G","clusters distribution #eta vs #phi for L1G trigger, E < 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
824 | fhClusEtaPhiLowL1G ->SetXTitle("#eta"); | |
825 | ||
826 | fhClusEtaPhiLowL1J = new TH2F("hClusEtaPhiLowL1J","clusters distribution #eta vs #phi for L1J trigger, E < 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
827 | fhClusEtaPhiLowL1J ->SetXTitle("#eta"); | |
828 | fhClusEtaPhiLowL1J ->SetYTitle("#phi (rad)"); | |
829 | ||
830 | fhClusEtaPhiLowL1GOnly = new TH2F("hClusEtaPhiLowL1GOnly","clusters distribution #eta vs #phi for L1G trigger and not L1J, E < 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
831 | fhClusEtaPhiLowL1GOnly->SetXTitle("#eta"); | |
832 | fhClusEtaPhiLowL1GOnly->SetYTitle("#phi (rad)"); | |
833 | ||
834 | fhClusEtaPhiLowL1JOnly = new TH2F("hClusEtaPhiLowL1JOnly","clusters distribution #eta vs #phi for L1J trigger and not L1G, E < 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
835 | fhClusEtaPhiLowL1JOnly->SetXTitle("#eta"); | |
836 | fhClusEtaPhiLowL1JOnly->SetYTitle("#phi (rad)"); | |
837 | ||
838 | fhClusEtaPhiLowCluMaxMB = new TH2F("hClusEtaPhiLowCluMaxMB","maximum energy cluster per event #eta vs #phi for MB trigger, E < 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
839 | fhClusEtaPhiLowCluMaxMB ->SetXTitle("#eta"); | |
840 | fhClusEtaPhiLowCluMaxMB ->SetYTitle("#phi (rad)"); | |
841 | ||
842 | fhClusEtaPhiLowCluMaxL0 = new TH2F("hClusEtaPhiLowCluMaxL0","maximum energy cluster per event #eta vs #phi for L0 trigger, E < 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
843 | fhClusEtaPhiLowCluMaxL0 ->SetXTitle("#eta"); | |
844 | fhClusEtaPhiLowCluMaxL0 ->SetYTitle("#phi (rad)"); | |
845 | ||
846 | fhClusEtaPhiLowCluMaxL1G = new TH2F("hClusEtaPhiLowCluMaxL1G","maximum energy cluster per event #eta vs #phi for L1G trigger, E < 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
847 | fhClusEtaPhiLowCluMaxL1G->SetXTitle("#eta"); | |
848 | fhClusEtaPhiLowCluMaxL1G->SetYTitle("#phi (rad)"); | |
849 | ||
850 | fhClusEtaPhiLowCluMaxL1J = new TH2F("hClusEtaPhiLowCluMaxL1J","maximum energy cluster per event #eta vs #phi for L1J trigger, E < 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
851 | fhClusEtaPhiLowCluMaxL1J->SetXTitle("#eta"); | |
852 | fhClusEtaPhiLowCluMaxL1J->SetYTitle("#phi (rad)"); | |
853 | ||
854 | fhClusEtaPhiLowCluMaxL1GOnly = new TH2F("hClusEtaPhiLowCluMaxL1GOnly","maximum energy cluster per event #eta vs #phi for L1G trigger and not L1J, E < 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
855 | fhClusEtaPhiLowCluMaxL1GOnly->SetXTitle("#eta"); | |
856 | fhClusEtaPhiLowCluMaxL1GOnly->SetYTitle("#phi (rad)"); | |
857 | ||
858 | fhClusEtaPhiLowCluMaxL1JOnly = new TH2F("hClusEtaPhiLowCluMaxL1JOnly","maximum energy cluster per event #eta vs #phi for L1J trigger and not L1G, E < 10 GeV",neta, etamin, etamax,nphi, phimin, phimax); | |
859 | fhClusEtaPhiLowCluMaxL1JOnly->SetXTitle("#eta"); | |
860 | fhClusEtaPhiLowCluMaxL1JOnly->SetYTitle("#phi (rad)"); | |
861 | ||
862 | ||
863 | fOutputList->Add(fhClusEtaPhiLowMB); | |
864 | fOutputList->Add(fhClusEtaPhiLowL0); | |
865 | fOutputList->Add(fhClusEtaPhiLowL1G); | |
866 | fOutputList->Add(fhClusEtaPhiLowL1J); | |
867 | fOutputList->Add(fhClusEtaPhiLowL1GOnly); | |
868 | fOutputList->Add(fhClusEtaPhiLowL1JOnly); | |
869 | ||
870 | fOutputList->Add(fhClusEtaPhiLowCluMaxMB); | |
871 | fOutputList->Add(fhClusEtaPhiLowCluMaxL0); | |
872 | fOutputList->Add(fhClusEtaPhiLowCluMaxL1G); | |
873 | fOutputList->Add(fhClusEtaPhiLowCluMaxL1J); | |
874 | fOutputList->Add(fhClusEtaPhiLowCluMaxL1GOnly); | |
875 | fOutputList->Add(fhClusEtaPhiLowCluMaxL1JOnly); | |
876 | ||
877 | ||
878 | fhClusEtaPhiHighCellMaxMB = new TH2F("hClusEtaPhiHighCellMaxMB","Cluster hit map in calorimeter (max cell), column vs row for MB trigger, E > 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
879 | fhClusEtaPhiHighCellMaxMB ->SetXTitle("Index #eta (columnns)"); | |
880 | fhClusEtaPhiHighCellMaxMB ->SetYTitle("Index #phi (rows)"); | |
881 | ||
882 | fhClusEtaPhiHighCellMaxL0 = new TH2F("hClusEtaPhiHighCellMaxL0","Cluster hit map in calorimeter (max cell), column vs row for L0 trigger, E > 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
883 | fhClusEtaPhiHighCellMaxL0 ->SetXTitle("Index #eta (columnns)"); | |
884 | fhClusEtaPhiHighCellMaxL0 ->SetYTitle("Index #phi (rows)"); | |
885 | ||
886 | fhClusEtaPhiHighCellMaxL1G = new TH2F("hClusEtaPhiHighCellMaxL1G","Cluster hit map in calorimeter (max cell), column vs row for L1G trigger, E > 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
887 | fhClusEtaPhiHighCellMaxL1G ->SetXTitle("Index #eta (columnns)"); | |
888 | ||
889 | fhClusEtaPhiHighCellMaxL1J = new TH2F("hClusEtaPhiHighCellMaxL1J","Cluster hit map in calorimeter (max cell), column vs row for L1J trigger, E > 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
890 | fhClusEtaPhiHighCellMaxL1J ->SetXTitle("Index #eta (columnns)"); | |
891 | fhClusEtaPhiHighCellMaxL1J ->SetYTitle("Index #phi (rows)"); | |
892 | ||
893 | fhClusEtaPhiHighCellMaxL1GOnly = new TH2F("hClusEtaPhiHighCellMaxL1GOnly","Cluster hit map in calorimeter (max cell), column vs row for L1G trigger and not L1J, E > 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
894 | fhClusEtaPhiHighCellMaxL1GOnly->SetXTitle("Index #eta (columnns)"); | |
895 | fhClusEtaPhiHighCellMaxL1GOnly->SetYTitle("Index #phi (rows)"); | |
896 | ||
897 | fhClusEtaPhiHighCellMaxL1JOnly = new TH2F("hClusEtaPhiHighCellMaxL1JOnly","Cluster hit map in calorimeter (max cell), column vs row for L1J trigger and not L1G, E > 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
898 | fhClusEtaPhiHighCellMaxL1JOnly->SetXTitle("Index #eta (columnns)"); | |
899 | fhClusEtaPhiHighCellMaxL1JOnly->SetYTitle("Index #phi (rows)"); | |
900 | ||
901 | fhClusEtaPhiHighCellMaxCluMaxMB = new TH2F("hClusEtaPhiHighCellMaxCluMaxMB","Max E cluster hit map in calorimeter (max cell), column vs row for MB trigger, E > 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
902 | fhClusEtaPhiHighCellMaxCluMaxMB ->SetXTitle("Index #eta (columnns)"); | |
903 | fhClusEtaPhiHighCellMaxCluMaxMB ->SetYTitle("Index #phi (rows)"); | |
904 | ||
905 | fhClusEtaPhiHighCellMaxCluMaxL0 = new TH2F("hClusEtaPhiHighCellMaxCluMaxL0","Max E cluster hit map in calorimeter (max cell), column vs row for L0 trigger, E > 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
906 | fhClusEtaPhiHighCellMaxCluMaxL0 ->SetXTitle("Index #eta (columnns)"); | |
907 | fhClusEtaPhiHighCellMaxCluMaxL0 ->SetYTitle("Index #phi (rows)"); | |
908 | ||
909 | fhClusEtaPhiHighCellMaxCluMaxL1G = new TH2F("hClusEtaPhiHighCellMaxCluMaxL1G","Max E cluster hit map in calorimeter (max cell), column vs row for L1G trigger, E > 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
910 | fhClusEtaPhiHighCellMaxCluMaxL1G->SetXTitle("Index #eta (columnns)"); | |
911 | fhClusEtaPhiHighCellMaxCluMaxL1G->SetYTitle("Index #phi (rows)"); | |
912 | ||
913 | fhClusEtaPhiHighCellMaxCluMaxL1J = new TH2F("hClusEtaPhiHighCellMaxCluMaxL1J","Max E cluster hit map in calorimeter (max cell), column vs row for L1J trigger, E > 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
914 | fhClusEtaPhiHighCellMaxCluMaxL1J->SetXTitle("Index #eta (columnns)"); | |
915 | fhClusEtaPhiHighCellMaxCluMaxL1J->SetYTitle("Index #phi (rows)"); | |
916 | ||
917 | fhClusEtaPhiHighCellMaxCluMaxL1GOnly = new TH2F("hClusEtaPhiHighCellMaxCluMaxL1GOnly","Max E cluster hit map in calorimeter (max cell), column vs row for L1G trigger and not L1J, E > 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
918 | fhClusEtaPhiHighCellMaxCluMaxL1GOnly->SetXTitle("Index #eta (columnns)"); | |
919 | fhClusEtaPhiHighCellMaxCluMaxL1GOnly->SetYTitle("Index #phi (rows)"); | |
920 | ||
921 | fhClusEtaPhiHighCellMaxCluMaxL1JOnly = new TH2F("hClusEtaPhiHighCellMaxCluMaxL1JOnly","Max E cluster hit map in calorimeter (max cell), column vs row for L1J trigger and not L1G, E > 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
922 | fhClusEtaPhiHighCellMaxCluMaxL1JOnly->SetXTitle("Index #eta (columnns)"); | |
923 | fhClusEtaPhiHighCellMaxCluMaxL1JOnly->SetYTitle("Index #phi (rows)"); | |
924 | ||
925 | ||
926 | fOutputList->Add(fhClusEtaPhiHighCellMaxMB); | |
927 | fOutputList->Add(fhClusEtaPhiHighCellMaxL0); | |
928 | fOutputList->Add(fhClusEtaPhiHighCellMaxL1G); | |
929 | fOutputList->Add(fhClusEtaPhiHighCellMaxL1J); | |
930 | fOutputList->Add(fhClusEtaPhiHighCellMaxL1GOnly); | |
931 | fOutputList->Add(fhClusEtaPhiHighCellMaxL1JOnly); | |
932 | ||
933 | fOutputList->Add(fhClusEtaPhiHighCellMaxCluMaxMB); | |
934 | fOutputList->Add(fhClusEtaPhiHighCellMaxCluMaxL0); | |
935 | fOutputList->Add(fhClusEtaPhiHighCellMaxCluMaxL1G); | |
936 | fOutputList->Add(fhClusEtaPhiHighCellMaxCluMaxL1J); | |
937 | fOutputList->Add(fhClusEtaPhiHighCellMaxCluMaxL1GOnly); | |
938 | fOutputList->Add(fhClusEtaPhiHighCellMaxCluMaxL1JOnly); | |
939 | ||
940 | fhClusEtaPhiLowCellMaxMB = new TH2F("hClusEtaPhiLowCellMaxMB","Cluster hit map in calorimeter (max cell), column vs row for MB trigger, E < 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
941 | fhClusEtaPhiLowCellMaxMB ->SetXTitle("Index #eta (columnns)"); | |
942 | fhClusEtaPhiLowCellMaxMB ->SetYTitle("#phi (rad)"); | |
943 | ||
944 | fhClusEtaPhiLowCellMaxL0 = new TH2F("hClusEtaPhiLowCellMaxL0","Cluster hit map in calorimeter (max cell), column vs row for L0 trigger, E < 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
945 | fhClusEtaPhiLowCellMaxL0 ->SetXTitle("Index #eta (columnns)"); | |
946 | fhClusEtaPhiLowCellMaxL0 ->SetYTitle("#phi (rad)"); | |
947 | ||
948 | fhClusEtaPhiLowCellMaxL1G = new TH2F("hClusEtaPhiLowCellMaxL1G","Cluster hit map in calorimeter (max cell), column vs row for L1G trigger, E < 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
949 | fhClusEtaPhiLowCellMaxL1G ->SetXTitle("Index #eta (columnns)"); | |
950 | ||
951 | fhClusEtaPhiLowCellMaxL1J = new TH2F("hClusEtaPhiLowCellMaxL1J","Cluster hit map in calorimeter (max cell), column vs row for L1J trigger, E < 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
952 | fhClusEtaPhiLowCellMaxL1J ->SetXTitle("Index #eta (columnns)"); | |
953 | fhClusEtaPhiLowCellMaxL1J ->SetYTitle("#phi (rad)"); | |
954 | ||
955 | fhClusEtaPhiLowCellMaxL1GOnly = new TH2F("hClusEtaPhiLowCellMaxL1GOnly","Cluster hit map in calorimeter (max cell), column vs row for L1G trigger and not L1J, E < 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
956 | fhClusEtaPhiLowCellMaxL1GOnly->SetXTitle("Index #eta (columnns)"); | |
957 | fhClusEtaPhiLowCellMaxL1GOnly->SetYTitle("#phi (rad)"); | |
958 | ||
959 | fhClusEtaPhiLowCellMaxL1JOnly = new TH2F("hClusEtaPhiLowCellMaxL1JOnly","Cluster hit map in calorimeter (max cell), column vs row for L1J trigger and not L1G, E < 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
960 | fhClusEtaPhiLowCellMaxL1JOnly->SetXTitle("Index #eta (columnns)"); | |
961 | fhClusEtaPhiLowCellMaxL1JOnly->SetYTitle("#phi (rad)"); | |
962 | ||
963 | fhClusEtaPhiLowCellMaxCluMaxMB = new TH2F("hClusEtaPhiLowCellMaxCluMaxMB","Max E cluster hit map in calorimeter (max cell), column vs row for MB trigger, E < 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
964 | fhClusEtaPhiLowCellMaxCluMaxMB ->SetXTitle("Index #eta (columnns)"); | |
965 | fhClusEtaPhiLowCellMaxCluMaxMB ->SetYTitle("#phi (rad)"); | |
966 | ||
967 | fhClusEtaPhiLowCellMaxCluMaxL0 = new TH2F("hClusEtaPhiLowCellMaxCluMaxL0","Max E cluster hit map in calorimeter (max cell), column vs row for L0 trigger, E < 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
968 | fhClusEtaPhiLowCellMaxCluMaxL0 ->SetXTitle("Index #eta (columnns)"); | |
969 | fhClusEtaPhiLowCellMaxCluMaxL0 ->SetYTitle("#phi (rad)"); | |
970 | ||
971 | fhClusEtaPhiLowCellMaxCluMaxL1G = new TH2F("hClusEtaPhiLowCellMaxCluMaxL1G","Max E cluster hit map in calorimeter (max cell), column vs row for L1G trigger, E < 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
972 | fhClusEtaPhiLowCellMaxCluMaxL1G->SetXTitle("Index #eta (columnns)"); | |
973 | fhClusEtaPhiLowCellMaxCluMaxL1G->SetYTitle("#phi (rad)"); | |
974 | ||
975 | fhClusEtaPhiLowCellMaxCluMaxL1J = new TH2F("hClusEtaPhiLowCellMaxCluMaxL1J","Max E cluster hit map in calorimeter (max cell), column vs row for L1J trigger, E < 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
976 | fhClusEtaPhiLowCellMaxCluMaxL1J->SetXTitle("Index #eta (columnns)"); | |
977 | fhClusEtaPhiLowCellMaxCluMaxL1J->SetYTitle("#phi (rad)"); | |
978 | ||
979 | fhClusEtaPhiLowCellMaxCluMaxL1GOnly = new TH2F("hClusEtaPhiLowCellMaxCluMaxL1GOnly","Max E cluster hit map in calorimeter (max cell), column vs row for L1G trigger and not L1J, E < 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
980 | fhClusEtaPhiLowCellMaxCluMaxL1GOnly->SetXTitle("Index #eta (columnns)"); | |
981 | fhClusEtaPhiLowCellMaxCluMaxL1GOnly->SetYTitle("#phi (rad)"); | |
982 | ||
983 | fhClusEtaPhiLowCellMaxCluMaxL1JOnly = new TH2F("hClusEtaPhiLowCellMaxCluMaxL1JOnly","Max E cluster hit map in calorimeter (max cell), column vs row for L1J trigger and not L1G, E < 10 GeV",fgkFALTROCols,0,fgkFALTROCols,fgkFALTRORows,0,fgkFALTRORows); | |
984 | fhClusEtaPhiLowCellMaxCluMaxL1JOnly->SetXTitle("Index #eta (columnns)"); | |
985 | fhClusEtaPhiLowCellMaxCluMaxL1JOnly->SetYTitle("#phi (rad)"); | |
0d896539 | 986 | |
bce9493b | 987 | |
ec77a234 | 988 | fOutputList->Add(fhClusEtaPhiLowCellMaxMB); |
989 | fOutputList->Add(fhClusEtaPhiLowCellMaxL0); | |
990 | fOutputList->Add(fhClusEtaPhiLowCellMaxL1G); | |
991 | fOutputList->Add(fhClusEtaPhiLowCellMaxL1J); | |
992 | fOutputList->Add(fhClusEtaPhiLowCellMaxL1GOnly); | |
993 | fOutputList->Add(fhClusEtaPhiLowCellMaxL1JOnly); | |
994 | ||
995 | fOutputList->Add(fhClusEtaPhiLowCellMaxCluMaxMB); | |
996 | fOutputList->Add(fhClusEtaPhiLowCellMaxCluMaxL0); | |
997 | fOutputList->Add(fhClusEtaPhiLowCellMaxCluMaxL1G); | |
998 | fOutputList->Add(fhClusEtaPhiLowCellMaxCluMaxL1J); | |
999 | fOutputList->Add(fhClusEtaPhiLowCellMaxCluMaxL1GOnly); | |
1000 | fOutputList->Add(fhClusEtaPhiLowCellMaxCluMaxL1JOnly); | |
1001 | ||
bce9493b | 1002 | PostData(1, fOutputList); |
1003 | ||
1004 | } | |
85196c29 | 1005 | //______________________________________________________ |
bce9493b | 1006 | void AliAnalysisTaskEMCALTriggerQA::UserExec(Option_t *) |
1007 | { | |
1008 | // Main loop | |
bce9493b | 1009 | |
1010 | AliVEvent* event = InputEvent(); | |
1011 | ||
1012 | //Remove next lines when AODs ready | |
1013 | AliESDEvent *esdEvent = dynamic_cast<AliESDEvent*>(event); | |
1014 | ||
1015 | if (!esdEvent) | |
1016 | { | |
1017 | AliError("Work only with ESDs, not available, exit"); | |
1018 | return; | |
1019 | } | |
1020 | ||
a40222c8 | 1021 | //trigger configuration |
1022 | TString triggerclasses = esdEvent->GetFiredTriggerClasses(); | |
77626b4a | 1023 | |
6b4638cc | 1024 | Int_t eventType = ((AliVHeader*)InputEvent()->GetHeader())->GetEventType(); |
1025 | // physics events eventType=7, select only those | |
77626b4a | 1026 | |
6b4638cc | 1027 | if(triggerclasses=="" || eventType != 7) return; |
0d896539 | 1028 | |
1029 | // Check trigger | |
1030 | Bool_t bMB = kFALSE; | |
1031 | Bool_t bL0 = kFALSE; | |
1032 | Bool_t bL1G = kFALSE; | |
1033 | Bool_t bL1J = kFALSE; | |
1034 | ||
6bfd1538 | 1035 | if(triggerclasses.Contains("CINT7-B-NOPF-ALLNOTRD") || |
1036 | triggerclasses.Contains("CINT7-I-NOPF-ALLNOTRD") || | |
1037 | triggerclasses.Contains("CINT1-I-NOPF-ALLNOTRD") || | |
8a50a36c | 1038 | triggerclasses.Contains("CINT1-B-NOPF-ALLNOTRD") || |
0d896539 | 1039 | triggerclasses.Contains("CPBI2_B1-B-NOPF-ALLNOTRD") ) bMB = kTRUE; |
1040 | ||
77626b4a | 1041 | if(triggerclasses.Contains("CEMC7-B-NOPF-ALLNOTRD") || |
0d896539 | 1042 | triggerclasses.Contains("CEMC1-B-NOPF-ALLNOTRD") ) bL0 = kTRUE; |
1043 | ||
8a50a36c | 1044 | if(triggerclasses.Contains("CEMC7EGA-B-NOPF-CENTNOTRD") || |
0d896539 | 1045 | triggerclasses.Contains("CPBI2EGA") ) bL1G = kTRUE; |
1046 | ||
8a50a36c | 1047 | if(triggerclasses.Contains("CEMC7EJE-B-NOPF-CENTNOTRD") || |
0d896539 | 1048 | triggerclasses.Contains("CPBI2EJE") ) bL1J = kTRUE; |
1049 | ||
1050 | // Fill event histo | |
1051 | fhNEvents->Fill(0.5); // All physics events | |
77626b4a | 1052 | |
0d896539 | 1053 | if( bMB ) |
1054 | { | |
1055 | fhNEvents->Fill(1.5); | |
1056 | if( !bL1G && !bL1J && !bL0 ) fhNEvents->Fill(8.5); | |
1057 | } | |
1058 | else | |
1059 | { | |
1060 | if( bL0 ) fhNEvents->Fill( 9.5); | |
1061 | if( bL1G ) fhNEvents->Fill(10.5); | |
1062 | if( bL1J ) fhNEvents->Fill(11.5); | |
1063 | } | |
1064 | ||
1065 | if( bL0 ) fhNEvents->Fill(2.5); | |
1066 | ||
1067 | if( bL1G ) | |
1068 | { | |
1069 | fhNEvents->Fill(3.5); | |
1070 | if(!bL1J) fhNEvents->Fill(5.5); | |
1071 | } | |
1072 | ||
1073 | if( bL1J ) | |
1074 | { | |
1075 | fhNEvents->Fill(4.5); | |
1076 | if(!bL1G) fhNEvents->Fill(6.5); | |
1077 | } | |
1078 | ||
1079 | if(bL1J && bL1G) fhNEvents->Fill(7.5); | |
1080 | ||
1081 | ||
e395081d | 1082 | //std::cout << "trigger = " << triggerclasses << std::endl; |
bce9493b | 1083 | |
bce9493b | 1084 | //map for cells and patches |
1085 | ||
75e10d6a | 1086 | Double_t emcalCell [fgkFALTRORows][fgkFALTROCols], emcalCellL1G [fgkFALTRORows][fgkFALTROCols]; |
1087 | Double_t emcalCellL1J [fgkFALTRORows][fgkFALTROCols], emcalTrigL0 [fgkFALTRORows][fgkFALTROCols]; | |
1088 | Double_t emcalTrigL0L1G[fgkFALTRORows][fgkFALTROCols], emcalTrigL0L1J[fgkFALTRORows][fgkFALTROCols]; | |
1089 | Double_t emcalTrigL1G [fgkFALTRORows][fgkFALTROCols], emcalTrigL1J [fgkFALTRORows][fgkFALTROCols], emcalTrigL1 [fgkFALTRORows][fgkFALTROCols]; | |
1090 | Double_t emcalPatchL0 [fgkFALTRORows][fgkFALTROCols], emcalPatchL1G [fgkFALTRORows][fgkFALTROCols], emcalPatchL1J[fgkFALTRORows][fgkFALTROCols]; | |
bce9493b | 1091 | |
1092 | for (Int_t i = 0; i < fgkFALTRORows; i++) | |
1093 | { | |
1094 | for (Int_t j = 0; j < fgkFALTROCols; j++) | |
1095 | { | |
85196c29 | 1096 | emcalTrigL0[i][j] = 0.; |
a40222c8 | 1097 | emcalTrigL0L1G[i][j]= 0.; |
1098 | emcalTrigL0L1J[i][j]= 0.; | |
e022364d | 1099 | emcalTrigL1G[i][j] = 0.; |
1100 | emcalTrigL1J[i][j] = 0.; | |
85196c29 | 1101 | emcalTrigL1[i][j] = 0.; |
1102 | emcalCell[i][j] = 0.; | |
a40222c8 | 1103 | emcalCellL1G[i][j] = 0.; |
1104 | emcalCellL1J[i][j] = 0.; | |
85196c29 | 1105 | emcalPatchL0[i][j] = 0.; |
bce9493b | 1106 | emcalPatchL1G[i][j] = 0.; |
1107 | emcalPatchL1J[i][j] = 0.; | |
1108 | } | |
1109 | } | |
1110 | ||
1111 | // --------------------------------- | |
1112 | // Cells analysis | |
1113 | // Fill FEE energy per channel array | |
1114 | // --------------------------------- | |
1115 | ||
1116 | Int_t posX = -1, posY = -1; | |
1117 | Int_t nSupMod = -1, ieta = -1, iphi = -1, nModule = -1, nIphi = -1, nIeta = -1; | |
1118 | Short_t absId = -1; | |
1119 | Int_t nCells = 0; | |
1120 | ||
1121 | AliVCaloCells& cells= *(event->GetEMCALCells()); | |
1122 | ||
1123 | if (cells.IsEMCAL()) | |
1124 | { | |
1125 | for (Int_t icell = 0; icell < cells.GetNumberOfCells(); icell++) | |
1126 | { | |
1127 | nCells ++; | |
1128 | ||
77e93dc2 | 1129 | Double_t amp =0., time = 0., efrac = 0; |
1130 | Short_t mclabel = -1; | |
bce9493b | 1131 | |
77e93dc2 | 1132 | cells.GetCell(icell, absId, amp, time,mclabel,efrac); |
bce9493b | 1133 | |
1134 | fGeometry->GetCellIndex(absId, nSupMod, nModule, nIphi, nIeta); | |
1135 | fGeometry->GetCellPhiEtaIndexInSModule(nSupMod, nModule, nIphi, nIeta, iphi, ieta); | |
1136 | ||
1137 | posX = (nSupMod % 2) ? ieta + AliEMCALGeoParams::fgkEMCALCols : ieta; | |
1138 | posY = iphi + AliEMCALGeoParams::fgkEMCALRows * int(nSupMod / 2); | |
bce9493b | 1139 | |
85196c29 | 1140 | if(int(posX/2) > fgkFALTROCols || int(posY/2) > fgkFALTRORows ) { |
e395081d | 1141 | if(DebugLevel() > 0) printf("AliAnalysisTaskEMCALTriggerQA::UserExec() - Wrong Position (x,y) = (%d,%d)\n",posX,posY); |
85196c29 | 1142 | continue; |
1143 | } | |
1144 | ||
1145 | emcalCell[int(posY/2)][int(posX/2)] += amp; | |
e395081d | 1146 | |
0e91f259 | 1147 | if(triggerclasses.Contains("CEMC7EGA-B-NOPF-CENTNOTRD") || triggerclasses.Contains("CPBI2EGA")) emcalCellL1G[int(posY/2)][int(posX/2)] += amp; |
1148 | if(triggerclasses.Contains("CEMC7EJE-B-NOPF-CENTNOTRD") || triggerclasses.Contains("CPBI2EJE")) emcalCellL1J[int(posY/2)][int(posX/2)] += amp; | |
85196c29 | 1149 | |
bce9493b | 1150 | } |
1151 | } | |
1152 | ||
85196c29 | 1153 | //------------------------------------- |
1154 | // Trigger analysis, fill L0, L1 arrays | |
1155 | //------------------------------------- | |
bce9493b | 1156 | |
1157 | AliESDCaloTrigger& trg= * (esdEvent->GetCaloTrigger("EMCAL")); | |
1158 | ||
1159 | Int_t nL0Patch = 0 ; | |
1160 | Int_t nL1Patch = 0 ; | |
1161 | Double_t totSTU = 0.; | |
1162 | Double_t totTRU = 0.; | |
1163 | ||
1164 | trg.Reset(); | |
1165 | while (trg.Next()) | |
1166 | { | |
1167 | trg.GetPosition(posX,posY); | |
1168 | ||
1169 | ||
1170 | if (posX > -1 && posY > -1) | |
1171 | { | |
1172 | //L0 analysis | |
1173 | Int_t nTimes = 0; | |
1174 | trg.GetNL0Times(nTimes); | |
85196c29 | 1175 | |
aff917ac | 1176 | Float_t ampL0 = 0.; |
1177 | trg.GetAmplitude(ampL0); | |
0d896539 | 1178 | if (ampL0 > 0) emcalTrigL0[posY][posX] = ampL0; |
0e91f259 | 1179 | if(triggerclasses.Contains("CEMC7EGA-B-NOPF-CENTNOTRD") || triggerclasses.Contains("CPBI2EGA")) emcalTrigL0L1G[posY][posX] += ampL0; |
1180 | if(triggerclasses.Contains("CEMC7EJE-B-NOPF-CENTNOTRD") || triggerclasses.Contains("CPBI2EJE")) emcalTrigL0L1J[posY][posX] += ampL0; | |
aff917ac | 1181 | totTRU += ampL0; |
1182 | ||
bce9493b | 1183 | if (nTimes) |
1184 | { | |
1185 | nL0Patch += nTimes; | |
bce9493b | 1186 | emcalPatchL0[posY][posX] = 1.; |
e395081d | 1187 | fhL0Patch->Fill(posX,posY); |
bce9493b | 1188 | } |
1189 | ||
1190 | //L1 analysis | |
1191 | Int_t bit = 0; | |
1192 | trg.GetTriggerBits(bit); | |
1193 | ||
aff917ac | 1194 | Int_t ts = 0; |
1195 | trg.GetL1TimeSum(ts); | |
0d896539 | 1196 | if (ts > 0) emcalTrigL1[posY][posX] = ts; |
aff917ac | 1197 | totSTU += ts; |
1198 | ||
bce9493b | 1199 | //L1-Gamma |
63c22917 | 1200 | if (bit >> 6 & 0x1) |
bce9493b | 1201 | { |
1202 | nL1Patch ++; | |
0d896539 | 1203 | emcalPatchL1G[posY][posX] += 1.; |
e395081d | 1204 | fhL1GPatch->Fill(posX,posY); |
aff917ac | 1205 | |
0d896539 | 1206 | if (ts > 0) emcalTrigL1G[posY][posX] = ts; |
bce9493b | 1207 | |
85196c29 | 1208 | //printf("Gamma STU patch %d, time sum %d, posX %d , posY %d\n",nL1Patch,ts,posX, posY); |
bce9493b | 1209 | } |
1210 | ||
1211 | //L1-Jet | |
63c22917 | 1212 | if (bit >> 8 & 0x1) |
bce9493b | 1213 | { |
1214 | nL1Patch ++; | |
0d896539 | 1215 | emcalPatchL1J[posY][posX] += 1.; |
e395081d | 1216 | fhL1JPatch->Fill(posX,posY); |
aff917ac | 1217 | |
0d896539 | 1218 | if (ts > 0) emcalTrigL1J[posY][posX] = ts; |
bce9493b | 1219 | |
85196c29 | 1220 | //printf("Jet STU patch %d, time sum %d, posX %d , posY %d\n",nL1Patch,ts,posX, posY); |
aff917ac | 1221 | |
bce9493b | 1222 | } |
1223 | ||
1224 | } | |
1225 | } | |
1226 | ||
e395081d | 1227 | if(totTRU > fMaxTRUSignal && DebugLevel() > 0) printf("AliAnalysisTaskEMCALTriggerQA::UserExec() - Large totTRU %f\n",totTRU); |
1228 | if(totSTU > fMaxSTUSignal && DebugLevel() > 0) printf("AliAnalysisTaskEMCALTriggerQA::UserExec() - Large totSTU %f\n",totSTU); | |
0d896539 | 1229 | |
bce9493b | 1230 | //V0 analysis |
1231 | AliESDVZERO* eventV0 = esdEvent->GetVZEROData(); | |
1232 | ||
e98e49c3 | 1233 | Float_t v0C = 0, v0A = 0, v0TT = trg.GetL1V0(0)+trg.GetL1V0(1); |
bce9493b | 1234 | |
1235 | if (eventV0) | |
1236 | { | |
1237 | for (Int_t i = 0; i < 32; i++) | |
1238 | { | |
1239 | v0C += eventV0->GetAdcV0C(i); | |
1240 | v0A += eventV0->GetAdcV0A(i); | |
1241 | } | |
1242 | } | |
e395081d | 1243 | |
bce9493b | 1244 | if (totSTU != 0) { |
1245 | fhV0STU->Fill(v0A+v0C,totSTU); | |
e395081d | 1246 | if( v0A+v0C > fMaxV0Signal && DebugLevel() > 0) printf("AliAnalysisTaskEMCALTriggerQA::UserExec() - Large v0A+v0C %f\n",v0A+v0C); |
bce9493b | 1247 | } |
1248 | ||
0d896539 | 1249 | if( bL1G ) fhV0L1G->Fill(v0A+v0C); ; |
1250 | if( bL1J ) fhV0L1J->Fill(v0A+v0C); | |
1251 | if( bMB ) fhV0MB ->Fill(v0A+v0C); | |
1252 | ||
85196c29 | 1253 | //if(nL0Patch!=0 || nL1Patch!=0) printf("total TRU %f, total STU %f, V0C+V0A %f; nL0 %d, nL1 %d \n", |
1254 | // totTRU,totSTU,v0A+v0C,nL0Patch,nL1Patch); | |
1255 | ||
0d896539 | 1256 | //Maximum amplitude patch analysis |
e98e49c3 | 1257 | Int_t patchMax = 0; |
0d896539 | 1258 | Int_t colMax = -1; |
1259 | Int_t rowMax = -1; | |
1260 | Int_t col = 0; | |
1261 | Int_t row = 0; | |
e395081d | 1262 | |
e98e49c3 | 1263 | for (Int_t i = 0; i < 47; i++) |
e395081d | 1264 | { |
1265 | for (Int_t j = 0; j < 59; j++) | |
1266 | { | |
1267 | Int_t patchG = 0; | |
0d896539 | 1268 | col = i; |
1269 | row = j; | |
e395081d | 1270 | |
1271 | for (Int_t k = 0; k < 2; k++) | |
e98e49c3 | 1272 | { |
1273 | for (Int_t l = 0; l < 2; l++) | |
e395081d | 1274 | { |
0d896539 | 1275 | patchG += int(emcalTrigL1[j + l][i + k]); |
e395081d | 1276 | } |
e98e49c3 | 1277 | } |
e395081d | 1278 | |
0d896539 | 1279 | if (patchG > patchMax) |
1280 | { | |
1281 | patchMax = patchG; | |
1282 | colMax = col; | |
1283 | rowMax = row; | |
1284 | } | |
e98e49c3 | 1285 | } |
e395081d | 1286 | } |
e98e49c3 | 1287 | |
1288 | fhGPMaxVV0TT->Fill(v0TT, patchMax); | |
0d896539 | 1289 | if( bL1G ) fhL1GPatchMax->Fill(colMax,rowMax); |
e98e49c3 | 1290 | |
1291 | patchMax = 0; | |
0d896539 | 1292 | colMax = -1; |
1293 | rowMax = -1; | |
e98e49c3 | 1294 | |
1295 | for (Int_t i = 0; i < 9; i++) | |
e395081d | 1296 | { |
1297 | for (Int_t j = 0; j < 12; j++) | |
e98e49c3 | 1298 | { |
e395081d | 1299 | Int_t patchJ = 0; |
0d896539 | 1300 | col = i; |
1301 | row = j; | |
e395081d | 1302 | |
1303 | for (Int_t k = 0; k < 16; k++) | |
e98e49c3 | 1304 | { |
1305 | for (Int_t l = 0; l < 16; l++) | |
e395081d | 1306 | { |
0d896539 | 1307 | patchJ += int(emcalTrigL1[4*j + l][4*i + k]); |
e395081d | 1308 | } |
e98e49c3 | 1309 | } |
e395081d | 1310 | |
0d896539 | 1311 | if (patchJ > patchMax) |
1312 | { | |
1313 | patchMax = patchJ; | |
1314 | colMax = 4*col; | |
1315 | rowMax = 4*row; | |
1316 | } | |
e98e49c3 | 1317 | } |
e395081d | 1318 | } |
e98e49c3 | 1319 | |
1320 | fhJPMaxVV0TT->Fill(v0TT, patchMax); | |
0d896539 | 1321 | if( bL1J ) fhL1JPatchMax->Fill(colMax,rowMax); |
e395081d | 1322 | |
bce9493b | 1323 | //Matrix with signal per channel |
e022364d | 1324 | for (Int_t i = 0; i < fgkFALTRORows; i++) |
bce9493b | 1325 | { |
e022364d | 1326 | for (Int_t j = 0; j < fgkFALTROCols; j++) //check x,y direction for reading FOR ((0,0) = top left); |
bce9493b | 1327 | { |
0d896539 | 1328 | fhFORAmp ->Fill( j, i, emcalCell [i][j]); |
1329 | fhFORAmpL1G ->Fill( j, i, emcalCellL1G [i][j]); | |
1330 | fhFORAmpL1J ->Fill( j, i, emcalCellL1J [i][j]); | |
1331 | fhL0Amp ->Fill( j, i, emcalTrigL0 [i][j]); | |
1332 | fhL0AmpL1G ->Fill( j, i, emcalTrigL0L1G[i][j]); | |
1333 | fhL0AmpL1J ->Fill( j, i, emcalTrigL0L1J[i][j]); | |
1334 | fhL1Amp ->Fill( j, i, emcalTrigL1 [i][j]); | |
1335 | fhL1GAmp ->Fill( j, i, emcalTrigL1G [i][j]); | |
1336 | fhL1JAmp ->Fill( j, i, emcalTrigL1J [i][j]); | |
1337 | fhFORMeanAmp->Fill( j, i, emcalCell [i][j]); | |
1338 | fhL0MeanAmp ->Fill( j, i, emcalTrigL0 [i][j]); | |
1339 | fhL1MeanAmp ->Fill( j, i, emcalTrigL1 [i][j]); | |
bce9493b | 1340 | } |
1341 | } | |
1342 | ||
aff917ac | 1343 | //FEE-TRU-STU correlation checks |
bce9493b | 1344 | Double_t ampFOR[30] = {0.}, ampL0[30] = {0.}, ampL1[30] = {0.}; |
e022364d | 1345 | for (Int_t i = 0; i < fgkFALTRORows; i++) |
bce9493b | 1346 | { |
e022364d | 1347 | for (Int_t j = 0; j < fgkFALTROCols; j++) |
bce9493b | 1348 | { |
1349 | ||
1350 | //method to get TRU number | |
85196c29 | 1351 | Int_t idFOR = -1; |
1352 | fGeometry->GetAbsFastORIndexFromPositionInEMCAL(j,i,idFOR); | |
1353 | Int_t iTRU = -1; | |
1354 | Int_t iADC = -1; | |
1355 | fGeometry->GetTRUFromAbsFastORIndex(idFOR,iTRU,iADC); | |
e395081d | 1356 | |
85196c29 | 1357 | //printf("i %d, j %d, iTRU %d, iADC %d, idFOR %d; cell %f, L0 %f, L1 %f\n", |
1358 | // i,j,iTRU,iADC,idFOR, emcalCell [i][j],emcalTrigL0[i][j],emcalTrigL1[i][j]); | |
e395081d | 1359 | |
bce9493b | 1360 | if (iTRU >= 0) |
1361 | { | |
1362 | ampFOR[iTRU] += emcalCell [i][j]; | |
1363 | ampL0[iTRU] += emcalTrigL0[i][j]; | |
1364 | ampL1[iTRU] += emcalTrigL1[i][j]; | |
1365 | } | |
1366 | } | |
1367 | } | |
1368 | ||
85196c29 | 1369 | // FEE vs STU and TRU vs STU ratios |
bce9493b | 1370 | for (Int_t i = 0; i < 30; i++) |
1371 | { | |
85196c29 | 1372 | |
1373 | if (ampFOR[i] != 0 && ampL1[i] != 0) { | |
1374 | fhFEESTU->Fill(ampL1[i]/ampFOR[i],i); | |
e395081d | 1375 | if(ampL1[i]/ampFOR[i] > fMaxSTUFEERatio && DebugLevel() > 0 ) printf("AliAnalysisTaskEMCALTriggerQA::UserExec() - Large STU/FEE ratio %f\n",ampL1[i]/ampFOR[i]); |
85196c29 | 1376 | } |
1377 | ||
1378 | if (ampL0[i] != 0 && ampL1[i] != 0) { | |
1379 | fhTRUSTU->Fill(ampL1[i]/ampL0[i] ,i); | |
e395081d | 1380 | if(ampL1[i]/ampL0[i] > fMaxSTUTRURatio && DebugLevel() > 0 ) printf("AliAnalysisTaskEMCALTriggerQA::UserExec() - Large STU/TRU ratio %f\n",ampL1[i]/ampL0[i]); |
85196c29 | 1381 | } |
1382 | ||
bce9493b | 1383 | } |
1384 | ||
e395081d | 1385 | //Get Vertex |
75e10d6a | 1386 | Double_t v[3] = {0,0,0}; |
1387 | esdEvent->GetVertex()->GetXYZ(v); | |
1388 | ||
1389 | //clusters distribution | |
1390 | TRefArray* caloClus = new TRefArray(); | |
1391 | esdEvent->GetEMCALClusters(caloClus); | |
1392 | ||
1393 | Int_t nCaloClusters = caloClus->GetEntriesFast(); | |
ec77a234 | 1394 | |
1395 | Float_t emax = 0; | |
1396 | Float_t etamax = 0; | |
1397 | Float_t phimax = 0; | |
1398 | Float_t ietamax=-1; | |
1399 | Float_t iphimax=-1; | |
1400 | ||
1401 | Float_t e = 0; | |
1402 | Float_t eta = 0; | |
1403 | Float_t phi = 0; | |
1404 | ||
1405 | //Energy threshold to fill Eta vs Phi histograms | |
1406 | Float_t etaphiEnMin = 10.; | |
1407 | ||
1408 | TLorentzVector mom; | |
1409 | ||
1410 | //Get vertex for momentum calculation | |
1411 | Double_t vertex[] = {0.0,0.0,0.0}; | |
1412 | //InputEvent()->GetPrimaryVertex()->GetXYZ(vertex); | |
1413 | ||
1414 | Float_t centrality = -1; | |
1415 | if(InputEvent()->GetCentrality()) centrality = InputEvent()->GetCentrality()->GetCentralityPercentile("V0M"); | |
1416 | ||
75e10d6a | 1417 | for(Int_t icalo = 0; icalo < nCaloClusters; icalo++) |
e395081d | 1418 | { |
1419 | AliESDCaloCluster *clus = (AliESDCaloCluster*) (caloClus->At(icalo)); | |
75e10d6a | 1420 | |
e395081d | 1421 | if(!clus->IsEMCAL()) continue; |
1422 | ||
ec77a234 | 1423 | if(!fRecoUtils->IsGoodCluster(clus,fGeometry,InputEvent()->GetEMCALCells(),InputEvent()->GetBunchCrossNumber())) |
1424 | { | |
e395081d | 1425 | continue; |
75e10d6a | 1426 | } |
e395081d | 1427 | |
0d896539 | 1428 | if(clus->GetNCells() < 2) continue ; // Avoid 1 cell clusters, noisy, exotic. |
e395081d | 1429 | |
ec77a234 | 1430 | clus->GetMomentum(mom, vertex); |
1431 | ||
1432 | Bool_t shared = kFALSE; | |
1433 | Int_t idAbs = -1, iphi0 = -1, ieta0 = -1; | |
1434 | fRecoUtils->GetMaxEnergyCell(fGeometry, InputEvent()->GetEMCALCells(),clus, | |
1435 | idAbs,nSupMod,ieta0,iphi0,shared); | |
1436 | //Change index to be continuous over SM | |
1437 | ieta = (nSupMod % 2) ? ieta0 + AliEMCALGeoParams::fgkEMCALCols : ieta0; | |
1438 | iphi = iphi0 + AliEMCALGeoParams::fgkEMCALRows * int(nSupMod / 2); | |
1439 | ieta/=2; | |
1440 | iphi/=2; | |
1441 | ||
1442 | if(ieta > fgkFALTROCols || iphi > fgkFALTRORows ) { | |
1443 | printf("AliAnalysisTaskEMCALTriggerQA::UserExec() - Wrong Position (x,y) = (%d,%d)\n",ieta,iphi); | |
1444 | } | |
1445 | ||
1446 | e = clus->E(); | |
1447 | eta = mom.Eta(); | |
1448 | phi = mom.Phi(); | |
1449 | ||
1450 | if(e > emax) | |
1451 | { | |
1452 | emax = e; | |
1453 | etamax = eta; | |
1454 | phimax = phi; | |
1455 | ietamax = ieta; | |
1456 | iphimax = iphi; | |
1457 | } | |
1458 | ||
1459 | if( bMB ) | |
1460 | { | |
1461 | fhClusMB ->Fill(e); | |
1462 | fhClusCenMB ->Fill(e,centrality); | |
1463 | fhClusV0MB ->Fill(e,v0A+v0C); | |
1464 | fhClusEtaMB ->Fill(e,eta); | |
1465 | fhClusPhiMB ->Fill(e,phi); | |
1466 | if(e > etaphiEnMin) | |
1467 | { | |
1468 | fhClusEtaPhiHighMB ->Fill( eta, phi); | |
1469 | fhClusEtaPhiHighCellMaxMB ->Fill(ieta,iphi); | |
1470 | } | |
1471 | else { | |
1472 | fhClusEtaPhiLowMB ->Fill( eta, phi); | |
1473 | fhClusEtaPhiLowCellMaxMB ->Fill(ieta,iphi); | |
1474 | } | |
1475 | } | |
1476 | ||
1477 | if( bL0 ) { | |
1478 | fhClusL0 ->Fill(e); | |
1479 | fhClusCenL0 ->Fill(e,centrality); | |
1480 | fhClusV0L0 ->Fill(e,v0A+v0C); | |
1481 | fhClusEtaL0 ->Fill(e,eta); | |
1482 | fhClusPhiL0 ->Fill(e,phi); | |
1483 | if(e > etaphiEnMin) | |
1484 | { | |
1485 | fhClusEtaPhiHighL0 ->Fill( eta, phi); | |
1486 | fhClusEtaPhiHighCellMaxL0 ->Fill(ieta,iphi); | |
1487 | } | |
1488 | else { | |
1489 | fhClusEtaPhiLowL0 ->Fill( eta, phi); | |
1490 | fhClusEtaPhiLowCellMaxL0 ->Fill(ieta,iphi); | |
1491 | } | |
1492 | } | |
e395081d | 1493 | |
ec77a234 | 1494 | if( bL1G ) { |
1495 | fhClusL1G ->Fill(e); | |
1496 | fhClusCenL1G ->Fill(e,centrality); | |
1497 | fhClusV0L1G ->Fill(e,v0A+v0C); | |
1498 | fhClusEtaL1G ->Fill(e,eta); | |
1499 | fhClusPhiL1G ->Fill(e,phi); | |
1500 | if(e > etaphiEnMin) | |
1501 | { | |
1502 | fhClusEtaPhiHighL1G ->Fill( eta, phi); | |
1503 | fhClusEtaPhiHighCellMaxL1G ->Fill(ieta,iphi); | |
1504 | } | |
1505 | else { | |
1506 | fhClusEtaPhiLowL1G ->Fill( eta, phi); | |
1507 | fhClusEtaPhiLowCellMaxL1G ->Fill(ieta,iphi); | |
1508 | } | |
1509 | } | |
0d896539 | 1510 | |
ec77a234 | 1511 | if( bL1J ) { |
1512 | fhClusL1J ->Fill(e); | |
1513 | fhClusCenL1J ->Fill(e,centrality); | |
1514 | fhClusV0L1J ->Fill(e,v0A+v0C); | |
1515 | fhClusEtaL1J ->Fill(e,eta); | |
1516 | fhClusPhiL1J ->Fill(e,phi); | |
1517 | if(e > etaphiEnMin) | |
1518 | { | |
1519 | fhClusEtaPhiHighL1J ->Fill( eta, phi); | |
1520 | fhClusEtaPhiHighCellMaxL1J ->Fill(ieta,iphi); | |
1521 | } | |
1522 | else { | |
1523 | fhClusEtaPhiLowL1J ->Fill( eta, phi); | |
1524 | fhClusEtaPhiLowCellMaxL1J ->Fill(ieta,iphi); | |
1525 | } | |
1526 | } | |
e395081d | 1527 | |
ec77a234 | 1528 | if( bL1G && !bL1J ) |
1529 | { | |
1530 | fhClusL1GOnly ->Fill(e); | |
1531 | fhClusCenL1GOnly ->Fill(e,centrality); | |
1532 | fhClusV0L1GOnly ->Fill(e,v0A+v0C); | |
1533 | fhClusEtaL1GOnly ->Fill(e,eta); | |
1534 | fhClusPhiL1GOnly ->Fill(e,phi); | |
1535 | if(e > etaphiEnMin) | |
1536 | { | |
1537 | fhClusEtaPhiHighL1GOnly ->Fill( eta, phi); | |
1538 | fhClusEtaPhiHighCellMaxL1GOnly ->Fill(ieta,iphi); | |
1539 | } | |
1540 | else { | |
1541 | fhClusEtaPhiLowL1GOnly ->Fill( eta, phi); | |
1542 | fhClusEtaPhiLowCellMaxL1GOnly ->Fill(ieta,iphi); | |
1543 | } | |
1544 | } | |
1545 | ||
1546 | if( bL1J && !bL1G ) | |
1547 | { | |
1548 | fhClusL1JOnly ->Fill(e); | |
1549 | fhClusCenL1JOnly ->Fill(e,centrality); | |
1550 | fhClusV0L1JOnly ->Fill(e,v0A+v0C); | |
1551 | fhClusEtaL1JOnly ->Fill(e,eta); | |
1552 | fhClusPhiL1JOnly ->Fill(e,phi); | |
1553 | if(e > etaphiEnMin) | |
1554 | { | |
1555 | fhClusEtaPhiHighL1JOnly ->Fill( eta, phi); | |
1556 | fhClusEtaPhiHighCellMaxL1JOnly ->Fill(ieta,iphi); | |
1557 | } | |
1558 | else { | |
1559 | fhClusEtaPhiLowL1JOnly ->Fill( eta, phi); | |
1560 | fhClusEtaPhiLowCellMaxL1JOnly ->Fill(ieta,iphi); | |
1561 | } | |
1562 | } | |
1563 | ||
1564 | if( bMB && !bL1G && !bL1J && !bL0 ) fhClusMBPure ->Fill(e); | |
0d896539 | 1565 | |
e395081d | 1566 | } |
480b9db0 | 1567 | |
0d896539 | 1568 | // Maximum energy cluster per event histograms |
bce9493b | 1569 | |
ec77a234 | 1570 | if( bMB ) |
1571 | { | |
1572 | fhClusMaxMB ->Fill(emax); | |
1573 | fhClusCenMaxMB ->Fill(emax,centrality); | |
1574 | fhClusV0MaxMB ->Fill(emax,v0A+v0C); | |
1575 | fhClusEtaMaxMB ->Fill(emax,etamax); | |
1576 | fhClusPhiMaxMB ->Fill(emax,phimax); | |
1577 | if(emax > etaphiEnMin) | |
1578 | { | |
1579 | fhClusEtaPhiHighCluMaxMB ->Fill( etamax, phimax); | |
1580 | fhClusEtaPhiHighCellMaxCluMaxMB ->Fill(ietamax,iphimax); | |
1581 | } | |
1582 | else { | |
1583 | fhClusEtaPhiLowCluMaxMB ->Fill( etamax, phimax); | |
1584 | fhClusEtaPhiLowCellMaxCluMaxMB ->Fill(ietamax,iphimax); | |
1585 | } | |
1586 | } | |
85196c29 | 1587 | |
ec77a234 | 1588 | if( bL0 ) { |
1589 | fhClusMaxL0 ->Fill(emax); | |
1590 | fhClusCenMaxL0 ->Fill(emax,centrality); | |
1591 | fhClusV0MaxL0 ->Fill(emax,v0A+v0C); | |
1592 | fhClusEtaMaxL0 ->Fill(emax,etamax); | |
1593 | fhClusPhiMaxL0 ->Fill(emax,phimax); | |
1594 | if(emax > etaphiEnMin) | |
1595 | { | |
1596 | fhClusEtaPhiHighCluMaxL0 ->Fill( etamax, phimax); | |
1597 | fhClusEtaPhiHighCellMaxCluMaxL0 ->Fill(ietamax,iphimax); | |
1598 | } | |
1599 | else { | |
1600 | fhClusEtaPhiLowCluMaxL0 ->Fill( etamax, phimax); | |
1601 | fhClusEtaPhiLowCellMaxCluMaxL0 ->Fill(ietamax,iphimax); | |
1602 | } | |
1603 | } | |
85196c29 | 1604 | |
ec77a234 | 1605 | if( bL1G ) { |
1606 | fhClusMaxL1G ->Fill(emax); | |
1607 | fhClusCenMaxL1G ->Fill(emax,centrality); | |
1608 | fhClusV0MaxL1G ->Fill(emax,v0A+v0C); | |
1609 | fhClusEtaMaxL1G ->Fill(emax,etamax); | |
1610 | fhClusPhiMaxL1G ->Fill(emax,phimax); | |
1611 | if(emax > etaphiEnMin) | |
1612 | { | |
1613 | fhClusEtaPhiHighCluMaxL1G ->Fill( etamax, phimax); | |
1614 | fhClusEtaPhiHighCellMaxCluMaxL1G ->Fill(ietamax,iphimax); | |
1615 | } | |
1616 | else { | |
1617 | fhClusEtaPhiLowCluMaxL1G ->Fill( etamax, phimax); | |
1618 | fhClusEtaPhiLowCellMaxCluMaxL1G ->Fill(ietamax,iphimax); | |
1619 | } | |
1620 | } | |
1621 | ||
1622 | if( bL1J ) { | |
1623 | fhClusMaxL1J ->Fill(emax); | |
1624 | fhClusCenMaxL1J ->Fill(emax,centrality); | |
1625 | fhClusV0MaxL1J ->Fill(emax,v0A+v0C); | |
1626 | fhClusEtaMaxL1J ->Fill(emax,etamax); | |
1627 | fhClusPhiMaxL1J ->Fill(emax,phimax); | |
1628 | if(emax > etaphiEnMin) | |
1629 | { | |
1630 | fhClusEtaPhiHighCluMaxL1J ->Fill( etamax, phimax); | |
1631 | fhClusEtaPhiHighCellMaxCluMaxL1J ->Fill(ietamax,iphimax); | |
1632 | } | |
1633 | else { | |
1634 | fhClusEtaPhiLowCluMaxL1J ->Fill( etamax, phimax); | |
1635 | fhClusEtaPhiLowCellMaxCluMaxL1J ->Fill(ietamax,iphimax); | |
1636 | } | |
1637 | } | |
1638 | ||
1639 | if( bL1G && !bL1J ) | |
1640 | { | |
1641 | fhClusMaxL1GOnly ->Fill(emax); | |
1642 | fhClusCenMaxL1GOnly ->Fill(emax,centrality); | |
1643 | fhClusV0MaxL1GOnly ->Fill(emax,v0A+v0C); | |
1644 | fhClusEtaMaxL1GOnly ->Fill(emax,etamax); | |
1645 | fhClusPhiMaxL1GOnly ->Fill(emax,phimax); | |
1646 | if(emax > etaphiEnMin) | |
1647 | { | |
1648 | fhClusEtaPhiHighCluMaxL1GOnly ->Fill( etamax, phimax); | |
1649 | fhClusEtaPhiHighCellMaxCluMaxL1GOnly ->Fill(ietamax,iphimax); | |
1650 | } | |
1651 | else { | |
1652 | fhClusEtaPhiLowCluMaxL1GOnly ->Fill( etamax, phimax); | |
1653 | fhClusEtaPhiLowCellMaxCluMaxL1GOnly ->Fill(ietamax,iphimax); | |
1654 | } | |
1655 | } | |
1656 | ||
1657 | if( bL1J && !bL1G ) | |
1658 | { | |
1659 | fhClusMaxL1JOnly ->Fill(emax); | |
1660 | fhClusCenMaxL1JOnly ->Fill(emax,centrality); | |
1661 | fhClusV0MaxL1JOnly ->Fill(emax,v0A+v0C); | |
1662 | fhClusEtaMaxL1JOnly ->Fill(emax,etamax); | |
1663 | fhClusPhiMaxL1JOnly ->Fill(emax,phimax); | |
1664 | if(emax > etaphiEnMin) | |
1665 | { | |
1666 | fhClusEtaPhiHighCluMaxL1JOnly ->Fill( etamax, phimax); | |
1667 | fhClusEtaPhiHighCellMaxCluMaxL1JOnly ->Fill(ietamax,iphimax); | |
1668 | } | |
1669 | else { | |
1670 | fhClusEtaPhiLowCluMaxL1JOnly ->Fill( etamax, phimax); | |
1671 | fhClusEtaPhiLowCellMaxCluMaxL1JOnly ->Fill(ietamax,iphimax); | |
1672 | } | |
1673 | } | |
1674 | ||
1675 | if( bMB && !bL1G && !bL1J && !bL0 ) fhClusMaxMBPure ->Fill(emax); | |
0d896539 | 1676 | |
1677 | PostData(1, fOutputList); | |
85196c29 | 1678 | |
1679 | } |