CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1TGCT.cc
Go to the documentation of this file.
1 /*
2  * \file L1TGCT.cc
3  *
4  * \author J. Berryhill
5  *
6  *
7  * Revision 1.55 2010/06/28 09:29:30 tapper
8  * Reduced number of bins.
9  *
10  * Revision 1.54 2010/06/28 06:40:46 tapper
11  * Reduced numbers of bins in correlation plots (MET vs MHT and SumET vs HT).
12  *
13  * Revision 1.53 2010/06/14 20:38:45 tapper
14  * Fixed stupid bug in MET vs MHT phi correlation.
15  *
16  * Revision 1.52 2010/06/09 14:39:27 tapper
17  * Fixed labels and binning again.
18  *
19  * Revision 1.51 2010/06/09 14:03:04 tapper
20  * Fixed histogram titles and binning in projections.
21  *
22  * Revision 1.50 2010/05/30 10:01:59 tapper
23  * Added one histogram, correlation of sum ET and HT and changed a few labels for the better.
24  *
25  * Revision 1.49 2010/04/30 12:50:22 tapper
26  * Fixed number of bins and range for MHT phi.
27  *
28  * Revision 1.48 2010/04/05 11:34:58 tapper
29  * Changed scales on 2D HF correlation plots. No idea why they had eta phi scales when they only have 3 bits....
30  *
31  * Revision 1.47 2010/04/02 16:32:42 tapper
32  * 1. Changed GCT unpacker settings to unpack 5 BXs.
33  * 2. Changed L1TGCT to plot only central BX distributions but all 5 BXs for timing plots.
34  * 3. Made labels more descriptive in GCT emulator expert DQM.
35  *
36  * Revision 1.46 2009/11/19 14:39:15 puigh
37  * modify beginJob
38  *
39  * Revision 1.45 2009/11/02 22:30:27 tapper
40  * Err that'll teach me to test it properly.... fixed a bug in the HF ring histograms.
41  *
42  * Revision 1.44 2009/11/02 17:00:05 tapper
43  * Changes to L1TdeGCT (to include energy sums), to L1TDEMON (should not make any difference now) and L1TGCT to add multiple BXs.
44  *
45  * Revision 1.43 2009/07/22 19:40:24 puigh
46  * Update binning to reflect instrumentation
47  *
48  * Revision 1.42 2009/06/23 09:48:55 tapper
49  * Added missing occupancy plot for central and forward jets.
50  *
51  * Revision 1.41 2009/06/22 15:58:20 tapper
52  * Added MET vs MHT correlation plots (both for magnitude and phi). Still untested!
53  *
54  * Revision 1.39 2009/05/27 21:49:26 jad
55  * updated Total and Missing Energy histograms and added Overlow plots
56  *
57  * Revision 1.38 2009/02/24 13:01:42 jad
58  * Updated MET_PHI histogram to obey the correct limits
59  *
60  * Revision 1.37 2008/11/11 13:20:32 tapper
61  * A whole list of house keeping:
62  * 1. New shifter histogram with central and forward jets together.
63  * 2. Relabelled Ring 0 and Ring 1 to Ring 1 and Ring 2 for HF rings.
64  * 3. Tidied up some histograms names to make all consistent.
65  * 4. Switched eta and phi in 2D plots to match RCT.
66  * 5. Removed 1D eta and phi plots. Will not be needed for Qtests in future.
67  *
68  * Revision 1.36 2008/10/28 14:16:16 tapper
69  * Tidied up and removed some unnecessary code.
70  *
71  * Revision 1.35 2008/10/24 08:38:54 jbrooke
72  * fix empty jet plots
73  *
74  * Revision 1.34 2008/10/10 12:41:24 jbrooke
75  * put back checks on energy sum vector size, change [] to .at()
76  *
77  * Revision 1.33 2008/09/21 14:37:51 jad
78  * updated HF Sums & Counts and added individual Jet Candidates and differences
79  *
80  * Revision 1.30 2008/06/09 11:07:52 tapper
81  * Removed electron sub-folders with histograms per eta and phi bin.
82  *
83  * Revision 1.29 2008/06/06 15:18:22 tapper
84  * Removed errorSummary folder stuff.
85  *
86  * Revision 1.28 2008/06/02 11:08:58 tapper
87  * Added HF ring histograms....
88  *
89  * Revision 1.27 2008/05/12 12:52:46 tapper
90  * Fixed problem when no GCT data in the event.
91  *
92  * Revision 1.26 2008/05/09 16:42:27 ameyer
93  * *** empty log message ***
94  *
95  * Revision 1.25 2008/04/29 15:24:49 tapper
96  * Changed path to summary histograms.
97  *
98  * Revision 1.24 2008/04/28 09:23:07 tapper
99  * Added 1D eta and phi histograms for electrons and jets as input to Q tests.
100  *
101  * Revision 1.23 2008/04/25 15:40:21 tapper
102  * Added histograms to EventInfo//errorSummarySegments.
103  *
104  * Revision 1.22 2008/03/20 19:38:25 berryhil
105  *
106  *
107  * organized message logger
108  *
109  * Revision 1.21 2008/03/14 20:35:46 berryhil
110  *
111  *
112  * stripped out obsolete parameter settings
113  *
114  * rpc tpg restored with correct dn access and dbe handling
115  *
116  * Revision 1.20 2008/03/12 17:24:24 berryhil
117  *
118  *
119  * eliminated log files, truncated HCALTPGXana histo output
120  *
121  * Revision 1.19 2008/03/01 00:40:00 lat
122  * DQM core migration.
123  *
124  * Revision 1.18 2008/02/20 18:59:29 tapper
125  * Ported GCTMonitor histograms into L1TGCT
126  *
127  * Revision 1.17 2008/01/22 18:56:02 muzaffar
128  * include cleanup. Only for cc/cpp files
129  *
130  * Revision 1.16 2007/12/21 17:41:20 berryhil
131  *
132  *
133  * try/catch removal
134  *
135  * Revision 1.15 2007/11/19 15:08:22 lorenzo
136  * changed top folder name
137  *
138  * Revision 1.14 2007/09/27 23:01:28 ratnik
139  * QA campaign: fixes to compensate includes cleanup in DataFormats/L1Trigger
140  *
141  * Revision 1.13 2007/09/27 16:56:26 wittich
142  * verbosity fixes
143  *
144  * Revision 1.12 2007/09/26 15:26:23 berryhil
145  *
146  *
147  * restored L1TGCT.cc
148  *
149  * Revision 1.10 2007/09/05 22:31:36 wittich
150  * - Factorize getByLabels to approximate my understanding of what the
151  * HW can do.
152  * - tested (loosely speaking) on GREJ' data.
153  *
154  * Revision 1.9 2007/09/04 02:54:19 wittich
155  * - fix dupe ME in RCT
156  * - put in rank>0 req in GCT
157  * - various small other fixes
158  *
159  * Revision 1.8 2007/08/31 18:14:21 wittich
160  * update GCT packages to reflect GctRawToDigi, and move to raw plots
161  *
162  * Revision 1.7 2007/08/31 11:02:56 wittich
163  * cerr -> LogInfo
164  *
165  * Revision 1.6 2007/02/22 19:43:53 berryhil
166  *
167  *
168  *
169  * InputTag parameters added for all modules
170  *
171  *
172  *
173  */
174 
178 
179 // Trigger Headers
180 
181 // GCT and RCT data formats
185 
186 using namespace edm;
187 
188 // Define statics for bins etc.
189 const unsigned int JETETABINS = 22;
190 const float JETETAMIN = -0.5;
191 const float JETETAMAX = 21.5;
192 
193 const unsigned int EMETABINS = 22;
194 const float EMETAMIN = -0.5;
195 const float EMETAMAX = 21.5;
196 
197 const unsigned int METPHIBINS = 72;
198 const float METPHIMIN = -0.5;
199 const float METPHIMAX = 71.5;
200 
201 const unsigned int MHTPHIBINS = 18;
202 const float MHTPHIMIN = -0.5;
203 const float MHTPHIMAX = 17.5;
204 
205 const unsigned int PHIBINS = 18;
206 const float PHIMIN = -0.5;
207 const float PHIMAX = 17.5;
208 
209 const unsigned int OFBINS = 2;
210 const float OFMIN = -0.5;
211 const float OFMAX = 1.5;
212 
213 const unsigned int BXBINS = 5;
214 const float BXMIN = -2.5;
215 const float BXMAX = 2.5;
216 
217 // Bins for 3, 5, 6, 7, 10 and 12 bits
218 const unsigned int R3BINS = 8;
219 const float R3MIN = -0.5;
220 const float R3MAX = 7.5;
221 const unsigned int R5BINS = 32;
222 const float R5MIN = -0.5;
223 const float R5MAX = 31.5;
224 const unsigned int R6BINS = 64;
225 const float R6MIN = -0.5;
226 const float R6MAX = 63.5;
227 const unsigned int R7BINS = 128;
228 const float R7MIN = -0.5;
229 const float R7MAX = 127.5;
230 const unsigned int R10BINS = 1024;
231 const float R10MIN = -0.5;
232 const float R10MAX = 1023.5;
233 const unsigned int R12BINS = 4096;
234 const float R12MIN = -0.5;
235 const float R12MAX = 4095.5;
236 
238  gctCenJetsSource_(ps.getParameter<edm::InputTag>("gctCentralJetsSource")),
239  gctForJetsSource_(ps.getParameter<edm::InputTag>("gctForwardJetsSource")),
240  gctTauJetsSource_(ps.getParameter<edm::InputTag>("gctTauJetsSource")),
241  gctEnergySumsSource_(ps.getParameter<edm::InputTag>("gctEnergySumsSource")),
242  gctIsoEmSource_(ps.getParameter<edm::InputTag>("gctIsoEmSource")),
243  gctNonIsoEmSource_(ps.getParameter<edm::InputTag>("gctNonIsoEmSource")),
244  filterTriggerType_ (ps.getParameter< int >("filterTriggerType"))
245 {
246 
247  // verbosity switch
248  verbose_ = ps.getUntrackedParameter < bool > ("verbose", false);
249 
250  if (verbose_)
251  edm::LogInfo("L1TGCT") << "L1TGCT: constructor...." << std::endl;
252 
253 
254  dbe = NULL;
255  if (ps.getUntrackedParameter < bool > ("DQMStore", false)) {
257  dbe->setVerbose(0);
258  }
259 
260  outputFile_ = ps.getUntrackedParameter < std::string > ("outputFile", "");
261  if (outputFile_.size() != 0) {
262  edm::LogInfo("L1TGCT") << "L1T Monitoring histograms will be saved to "
263  << outputFile_ << std::endl;
264  }
265 
266  bool disable = ps.getUntrackedParameter<bool>("disableROOToutput", false);
267  if(disable){
268  outputFile_="";
269  }
270 
271 
272  if (dbe != NULL) {
273  dbe->setCurrentFolder("L1T/L1TGCT");
274  }
275 
276  //set Token(-s)
277  gctIsoEmSourceToken_ = consumes<L1GctEmCandCollection>(ps.getParameter<edm::InputTag>("gctIsoEmSource"));
278  gctNonIsoEmSourceToken_ = consumes<L1GctEmCandCollection>(ps.getParameter<edm::InputTag>("gctNonIsoEmSource"));
279  gctCenJetsSourceToken_ = consumes<L1GctJetCandCollection>(ps.getParameter<edm::InputTag>("gctCentralJetsSource"));
280  gctForJetsSourceToken_ = consumes<L1GctJetCandCollection>(ps.getParameter<edm::InputTag>("gctForwardJetsSource"));
281  gctTauJetsSourceToken_ = consumes<L1GctJetCandCollection>(ps.getParameter<edm::InputTag>("gctTauJetsSource"));
282  gctEnergySumsSourceToken_ = consumes<L1GctHFRingEtSumsCollection>(ps.getParameter<edm::InputTag>("gctEnergySumsSource"));
283  l1HFCountsToken_ = consumes<L1GctHFBitCountsCollection>(ps.getParameter<edm::InputTag>("gctEnergySumsSource"));
284  l1EtMissToken_ = consumes<L1GctEtMissCollection>(ps.getParameter<edm::InputTag>("gctEnergySumsSource"));
285  l1HtMissToken_ = consumes<L1GctHtMissCollection>(ps.getParameter<edm::InputTag>("gctEnergySumsSource"));
286  l1EtHadToken_ = consumes<L1GctEtHadCollection>(ps.getParameter<edm::InputTag>("gctEnergySumsSource"));
287  l1EtTotalToken_ = consumes<L1GctEtTotalCollection>(ps.getParameter<edm::InputTag>("gctEnergySumsSource"));
288 }
289 
291 {
292 }
293 
295 {
296 
297  nev_ = 0;
298 
299  // get hold of back-end interface
300  DQMStore *dbe = 0;
301  dbe = edm::Service < DQMStore > ().operator->();
302 
303  if (dbe) {
304  dbe->setCurrentFolder("L1T/L1TGCT");
305  dbe->rmdir("L1T/L1TGCT");
306  }
307 
308 
309  if (dbe) {
310 
311  dbe->setCurrentFolder("L1T/L1TGCT");
312 
313  triggerType_ =
314  dbe->book1D("TriggerType", "TriggerType", 17, -0.5, 16.5);
315 
316  l1GctAllJetsEtEtaPhi_ = dbe->book2D("AllJetsEtEtaPhi", "CENTRAL AND FORWARD JET E_{T}",
318  PHIBINS, PHIMIN, PHIMAX);
319  l1GctCenJetsEtEtaPhi_ = dbe->book2D("CenJetsEtEtaPhi", "CENTRAL JET E_{T}",
321  PHIBINS, PHIMIN, PHIMAX);
322  l1GctForJetsEtEtaPhi_ = dbe->book2D("ForJetsEtEtaPhi", "FORWARD JET E_{T}",
324  PHIBINS, PHIMIN, PHIMAX);
325  l1GctTauJetsEtEtaPhi_ = dbe->book2D("TauJetsEtEtaPhi", "TAU JET E_{T}",
327  PHIBINS, PHIMIN, PHIMAX);
328  l1GctIsoEmRankEtaPhi_ = dbe->book2D("IsoEmRankEtaPhi", "ISO EM E_{T}",
330  PHIBINS, PHIMIN, PHIMAX);
331  l1GctNonIsoEmRankEtaPhi_ = dbe->book2D("NonIsoEmRankEtaPhi", "NON-ISO EM E_{T}",
333  PHIBINS, PHIMIN, PHIMAX);
334  l1GctAllJetsOccEtaPhi_ = dbe->book2D("AllJetsOccEtaPhi", "CENTRAL AND FORWARD JET OCCUPANCY",
336  PHIBINS, PHIMIN, PHIMAX);
337  l1GctCenJetsOccEtaPhi_ = dbe->book2D("CenJetsOccEtaPhi", "CENTRAL JET OCCUPANCY",
339  PHIBINS, PHIMIN, PHIMAX);
340  l1GctForJetsOccEtaPhi_ = dbe->book2D("ForJetsOccEtaPhi", "FORWARD JET OCCUPANCY",
342  PHIBINS, PHIMIN, PHIMAX);
343  l1GctTauJetsOccEtaPhi_ = dbe->book2D("TauJetsOccEtaPhi", "TAU JET OCCUPANCY",
345  PHIBINS, PHIMIN, PHIMAX);
346  l1GctIsoEmOccEtaPhi_ = dbe->book2D("IsoEmOccEtaPhi", "ISO EM OCCUPANCY",
348  PHIBINS, PHIMIN, PHIMAX);
349  l1GctNonIsoEmOccEtaPhi_ = dbe->book2D("NonIsoEmOccEtaPhi", "NON-ISO EM OCCUPANCY",
351  PHIBINS, PHIMIN, PHIMAX);
352 
353  l1GctHFRing1PosEtaNegEta_ = dbe->book2D("HFRing1Corr", "HF RING1 E_{T} CORRELATION +/- #eta",
355  l1GctHFRing2PosEtaNegEta_ = dbe->book2D("HFRing2Corr", "HF RING2 E_{T} CORRELATION +/- #eta",
357  l1GctHFRing1TowerCountPosEtaNegEta_ = dbe->book2D("HFRing1TowerCountCorr", "HF RING1 TOWER COUNT CORRELATION +/- #eta",
359  l1GctHFRing2TowerCountPosEtaNegEta_ = dbe->book2D("HFRing2TowerCountCorr", "HF RING2 TOWER COUNT CORRELATION +/- #eta",
361 
362  //HF Ring stuff
363  l1GctHFRing1TowerCountPosEta_ = dbe->book1D("HFRing1TowerCountPosEta", "HF RING1 TOWER COUNT #eta +", R3BINS, R3MIN, R3MAX);
364  l1GctHFRing1TowerCountNegEta_ = dbe->book1D("HFRing1TowerCountNegEta", "HF RING1 TOWER COUNT #eta -", R3BINS, R3MIN, R3MAX);
365  l1GctHFRing2TowerCountPosEta_ = dbe->book1D("HFRing2TowerCountPosEta", "HF RING2 TOWER COUNT #eta +", R3BINS, R3MIN, R3MAX);
366  l1GctHFRing2TowerCountNegEta_ = dbe->book1D("HFRing2TowerCountNegEta", "HF RING2 TOWER COUNT #eta -", R3BINS, R3MIN, R3MAX);
367 
368  l1GctHFRing1ETSumPosEta_ = dbe->book1D("HFRing1ETSumPosEta", "HF RING1 E_{T} #eta +", R3BINS, R3MIN, R3MAX);
369  l1GctHFRing1ETSumNegEta_ = dbe->book1D("HFRing1ETSumNegEta", "HF RING1 E_{T} #eta -", R3BINS, R3MIN, R3MAX);
370  l1GctHFRing2ETSumPosEta_ = dbe->book1D("HFRing2ETSumPosEta", "HF RING2 E_{T} #eta +", R3BINS, R3MIN, R3MAX);
371  l1GctHFRing2ETSumNegEta_ = dbe->book1D("HFRing2ETSumNegEta", "HF RING2 E_{T} #eta -", R3BINS, R3MIN, R3MAX);
372  l1GctHFRingRatioPosEta_ = dbe->book1D("HFRingRatioPosEta", "HF RING E_{T} RATIO #eta +", R5BINS, R5MIN, R5MAX);
373  l1GctHFRingRatioNegEta_ = dbe->book1D("HFRingRatioNegEta", "HF RING E_{T} RATIO #eta -", R5BINS, R5MIN, R5MAX);
374 
375  l1GctHFRingTowerCountOccBx_ = dbe->book2D("HFRingTowerCountOccBx", "HF RING TOWER COUNT PER BX",BXBINS, BXMIN, BXMAX, R3BINS, R3MIN, R3MAX);
376  l1GctHFRingETSumOccBx_ = dbe->book2D("HFRingETSumOccBx", "HF RING E_{T} PER BX",BXBINS, BXMIN, BXMAX, R3BINS, R3MIN, R3MAX);
377 
378  // Rank histograms
379  l1GctCenJetsRank_ = dbe->book1D("CenJetsRank", "CENTRAL JET E_{T}", R6BINS, R6MIN, R6MAX);
380  l1GctForJetsRank_ = dbe->book1D("ForJetsRank", "FORWARD JET E_{T}", R6BINS, R6MIN, R6MAX);
381  l1GctTauJetsRank_ = dbe->book1D("TauJetsRank", "TAU JET E_{T}", R6BINS, R6MIN, R6MAX);
382  l1GctIsoEmRank_ = dbe->book1D("IsoEmRank", "ISO EM E_{T}", R6BINS, R6MIN, R6MAX);
383  l1GctNonIsoEmRank_ = dbe->book1D("NonIsoEmRank", "NON-ISO EM E_{T}", R6BINS, R6MIN, R6MAX);
384 
385  l1GctAllJetsOccRankBx_ = dbe->book2D("AllJetsOccRankBx","ALL JETS E_{T} PER BX",BXBINS,BXMIN,BXMAX,R6BINS,R6MIN,R6MAX);
386  l1GctAllEmOccRankBx_ = dbe->book2D("AllEmOccRankBx","ALL EM E_{T} PER BX",BXBINS,BXMIN,BXMAX,R6BINS,R6MIN,R6MAX);
387 
388  // Energy sums
389  l1GctEtMiss_ = dbe->book1D("EtMiss", "MET", R12BINS, R12MIN, R12MAX);
390  l1GctEtMissPhi_ = dbe->book1D("EtMissPhi", "MET #phi", METPHIBINS, METPHIMIN, METPHIMAX);
391  l1GctEtMissOf_ = dbe->book1D("EtMissOf", "MET OVERFLOW", OFBINS, OFMIN, OFMAX);
392  l1GctEtMissOccBx_ = dbe->book2D("EtMissOccBx","MET PER BX",BXBINS,BXMIN,BXMAX,R12BINS,R12MIN,R12MAX);
393  l1GctHtMiss_ = dbe->book1D("HtMiss", "MHT", R7BINS, R7MIN, R7MAX);
394  l1GctHtMissPhi_ = dbe->book1D("HtMissPhi", "MHT #phi", MHTPHIBINS, MHTPHIMIN, MHTPHIMAX);
395  l1GctHtMissOf_ = dbe->book1D("HtMissOf", "MHT OVERFLOW", OFBINS, OFMIN, OFMAX);
396  l1GctHtMissOccBx_ = dbe->book2D("HtMissOccBx","MHT PER BX",BXBINS,BXMIN,BXMAX,R7BINS,R7MIN,R7MAX);
397  l1GctEtMissHtMissCorr_ = dbe->book2D("EtMissHtMissCorr", "MET MHT CORRELATION",
398  R6BINS, R12MIN, R12MAX,
399  R6BINS, R7MIN, R7MAX);
400  l1GctEtMissHtMissCorrPhi_ = dbe->book2D("EtMissHtMissPhiCorr", "MET MHT #phi CORRELATION",
403  l1GctEtTotal_ = dbe->book1D("EtTotal", "SUM E_{T}", R12BINS, R12MIN, R12MAX);
404  l1GctEtTotalOf_ = dbe->book1D("EtTotalOf", "SUM E_{T} OVERFLOW", OFBINS, OFMIN, OFMAX);
405  l1GctEtTotalOccBx_ = dbe->book2D("EtTotalOccBx","SUM E_{T} PER BX",BXBINS,BXMIN,BXMAX,R12BINS,R12MIN,R12MAX);
406  l1GctEtHad_ = dbe->book1D("EtHad", "H_{T}", R12BINS, R12MIN, R12MAX);
407  l1GctEtHadOf_ = dbe->book1D("EtHadOf", "H_{T} OVERFLOW", OFBINS, OFMIN, OFMAX);
408  l1GctEtHadOccBx_ = dbe->book2D("EtHadOccBx","H_{T} PER BX",BXBINS,BXMIN,BXMAX,R12BINS,R12MIN,R12MAX);
409  l1GctEtTotalEtHadCorr_ = dbe->book2D("EtTotalEtHadCorr", "Sum E_{T} H_{T} CORRELATION",
410  R6BINS, R12MIN, R12MAX,
411  R6BINS, R12MIN, R12MAX);
412  }
413 
414 }
415 
416 
417 void L1TGCT::endJob(void)
418 {
419  if (verbose_)
420  edm::LogInfo("L1TGCT") << "L1TGCT: end job...." << std::endl;
421  edm::LogInfo("EndJob") << "analyzed " << nev_ << " events";
422 
423  if (outputFile_.size() != 0 && dbe) {
424  dbe->save(outputFile_);
425  }
426 
427  return;
428 }
429 
431 {
432  nev_++;
433  if (verbose_) {
434  edm::LogInfo("L1TGCT") << "L1TGCT: analyze...." << std::endl;
435  }
436 
437 
438  // filter according trigger type
439  // enum ExperimentType {
440  // Undefined = 0,
441  // PhysicsTrigger = 1,
442  // CalibrationTrigger = 2,
443  // RandomTrigger = 3,
444  // Reserved = 4,
445  // TracedEvent = 5,
446  // TestTrigger = 6,
447  // ErrorTrigger = 15
448 
449  // fill a histogram with the trigger type, for normalization fill also last bin
450  // ErrorTrigger + 1
451  double triggerType = static_cast<double> (e.experimentType()) + 0.001;
452  double triggerTypeLast = static_cast<double> (edm::EventAuxiliary::ExperimentType::ErrorTrigger)
453  + 0.001;
454  triggerType_->Fill(triggerType);
455  triggerType_->Fill(triggerTypeLast + 1);
456 
457  // filter only if trigger type is greater than 0, negative values disable filtering
458  if (filterTriggerType_ >= 0) {
459 
460  // now filter, for real data only
461  if (e.isRealData()) {
462  if (!(e.experimentType() == filterTriggerType_)) {
463 
464  edm::LogInfo("L1TGCT") << "\n Event of TriggerType "
465  << e.experimentType() << " rejected" << std::endl;
466  return;
467 
468  }
469  }
470 
471  }
472 
473  // Get all the collections
485 
486  e.getByToken(gctIsoEmSourceToken_, l1IsoEm);
487  e.getByToken(gctNonIsoEmSourceToken_, l1NonIsoEm);
488  e.getByToken(gctCenJetsSourceToken_, l1CenJets);
489  e.getByToken(gctForJetsSourceToken_, l1ForJets);
490  e.getByToken(gctTauJetsSourceToken_, l1TauJets);
492  e.getByToken(l1HFCountsToken_, l1HFCounts);
493  e.getByToken(l1EtMissToken_, l1EtMiss);
494  e.getByToken(l1HtMissToken_, l1HtMiss);
495  e.getByToken(l1EtHadToken_, l1EtHad);
496  e.getByToken(l1EtTotalToken_, l1EtTotal);
497 
498  // Fill histograms
499 
500  // Central jets
501  if (l1CenJets.isValid()) {
502  for (L1GctJetCandCollection::const_iterator cj = l1CenJets->begin();cj != l1CenJets->end(); cj++) {
503  // only plot central BX
504  if (cj->bx()==0) {
505  l1GctCenJetsRank_->Fill(cj->rank());
506  // only plot eta and phi maps for non-zero candidates
507  if (cj->rank()) {
508  l1GctAllJetsEtEtaPhi_->Fill(cj->regionId().ieta(),cj->regionId().iphi(),cj->rank());
509  l1GctAllJetsOccEtaPhi_->Fill(cj->regionId().ieta(),cj->regionId().iphi());
510  l1GctCenJetsEtEtaPhi_->Fill(cj->regionId().ieta(),cj->regionId().iphi(),cj->rank());
511  l1GctCenJetsOccEtaPhi_->Fill(cj->regionId().ieta(),cj->regionId().iphi());
512  }
513  }
514  if (cj->rank()) l1GctAllJetsOccRankBx_->Fill(cj->bx(),cj->rank()); // for all BX
515  }
516  } else {
517  edm::LogWarning("DataNotFound") << " Could not find l1CenJets label was " << gctCenJetsSource_ ;
518  }
519 
520  // Forward jets
521  if (l1ForJets.isValid()) {
522  for (L1GctJetCandCollection::const_iterator fj = l1ForJets->begin(); fj != l1ForJets->end(); fj++) {
523  // only plot central BX
524  if (fj->bx()==0) {
525  l1GctForJetsRank_->Fill(fj->rank());
526  // only plot eta and phi maps for non-zero candidates
527  if (fj->rank()) {
528  l1GctAllJetsEtEtaPhi_->Fill(fj->regionId().ieta(),fj->regionId().iphi(),fj->rank());
529  l1GctAllJetsOccEtaPhi_->Fill(fj->regionId().ieta(),fj->regionId().iphi());
530  l1GctForJetsEtEtaPhi_->Fill(fj->regionId().ieta(),fj->regionId().iphi(),fj->rank());
531  l1GctForJetsOccEtaPhi_->Fill(fj->regionId().ieta(),fj->regionId().iphi());
532  }
533  }
534  if (fj->rank()) l1GctAllJetsOccRankBx_->Fill(fj->bx(),fj->rank()); // for all BX
535  }
536  } else {
537  edm::LogWarning("DataNotFound") << " Could not find l1ForJets label was " << gctForJetsSource_ ;
538  }
539 
540  // Tau jets
541  if (l1TauJets.isValid()) {
542  for (L1GctJetCandCollection::const_iterator tj = l1TauJets->begin(); tj != l1TauJets->end(); tj++) {
543  // only plot central BX
544  if (tj->bx()==0) {
545  l1GctTauJetsRank_->Fill(tj->rank());
546  // only plot eta and phi maps for non-zero candidates
547  if (tj->rank()) {
548  l1GctTauJetsEtEtaPhi_->Fill(tj->regionId().ieta(),tj->regionId().iphi(),tj->rank());
549  l1GctTauJetsOccEtaPhi_->Fill(tj->regionId().ieta(),tj->regionId().iphi());
550  }
551  }
552  if (tj->rank()) l1GctAllJetsOccRankBx_->Fill(tj->bx(),tj->rank()); // for all BX
553  }
554  } else {
555  edm::LogWarning("DataNotFound") << " Could not find l1TauJets label was " << gctTauJetsSource_ ;
556  }
557 
558  // Missing ET
559  if (l1EtMiss.isValid()) {
560  for (L1GctEtMissCollection::const_iterator met = l1EtMiss->begin(); met != l1EtMiss->end(); met++) {
561  // only plot central BX
562  if (met->bx()==0) {
563  if (met->overFlow() == 0 && met->et() > 0) {
564  //Avoid problems with met=0 candidates affecting MET_PHI plots
565  l1GctEtMiss_->Fill(met->et());
566  l1GctEtMissPhi_->Fill(met->phi());
567  }
568  l1GctEtMissOf_->Fill(met->overFlow());
569  }
570  if (met->overFlow() == 0 && met->et() > 0) l1GctEtMissOccBx_->Fill(met->bx(),met->et()); // for all BX
571  }
572  } else {
573  edm::LogWarning("DataNotFound") << " Could not find l1EtMiss label was " << gctEnergySumsSource_ ;
574  }
575 
576  // Missing HT
577  if (l1HtMiss.isValid()) {
578  for (L1GctHtMissCollection::const_iterator mht = l1HtMiss->begin(); mht != l1HtMiss->end(); mht++) {
579  // only plot central BX
580  if (mht->bx()==0) {
581  if (mht->overFlow() == 0 && mht->et() > 0) {
582  //Avoid problems with mht=0 candidates affecting MHT_PHI plots
583  l1GctHtMiss_->Fill(mht->et());
584  l1GctHtMissPhi_->Fill(mht->phi());
585  }
586  l1GctHtMissOf_->Fill(mht->overFlow());
587  }
588  if (mht->overFlow() == 0 && mht->et() > 0) l1GctHtMissOccBx_->Fill(mht->bx(),mht->et()); // for all BX
589  }
590  } else {
591  edm::LogWarning("DataNotFound") << " Could not find l1HtMiss label was " << gctEnergySumsSource_ ;
592  }
593 
594  // Missing ET HT correlations
595  if (l1HtMiss.isValid() && l1EtMiss.isValid()) {
596  if (l1HtMiss->size() == l1EtMiss->size()) {
597  for (unsigned i=0; i<l1HtMiss->size(); i++) {
598  if (l1HtMiss->at(i).overFlow() == 0 && l1EtMiss->at(i).overFlow() == 0 &&
599  l1HtMiss->at(i).bx() == 0 && l1EtMiss->at(i).bx() == 0) {
600  // Avoid problems overflows and only plot central BX
601  l1GctEtMissHtMissCorr_->Fill(l1EtMiss->at(i).et(),l1HtMiss->at(i).et());
602  if (l1HtMiss->at(i).et() && l1EtMiss->at(i).et()){ // Don't plot phi if one or other is zero
603  l1GctEtMissHtMissCorrPhi_->Fill(l1EtMiss->at(i).phi(),l1HtMiss->at(i).phi());
604  }
605  }
606  }
607  }
608  } else {
609  edm::LogWarning("DataNotFound") << " Could not find l1EtMiss or l1HtMiss label was " << gctEnergySumsSource_ ;
610  }
611 
612  // HT
613  if (l1EtHad.isValid()) {
614  for (L1GctEtHadCollection::const_iterator ht = l1EtHad->begin(); ht != l1EtHad->end(); ht++) {
615  // only plot central BX
616  if (ht->bx()==0) {
617  l1GctEtHad_->Fill(ht->et());
618  l1GctEtHadOf_->Fill(ht->overFlow());
619  }
620  l1GctEtHadOccBx_->Fill(ht->bx(),ht->et()); // for all BX
621  }
622  } else {
623  edm::LogWarning("DataNotFound") << " Could not find l1EtHad label was " << gctEnergySumsSource_ ;
624  }
625 
626  // Total ET
627  if (l1EtTotal.isValid()) {
628  for (L1GctEtTotalCollection::const_iterator et = l1EtTotal->begin(); et != l1EtTotal->end(); et++) {
629  // only plot central BX
630  if (et->bx()==0) {
631  l1GctEtTotal_->Fill(et->et());
632  l1GctEtTotalOf_->Fill(et->overFlow());
633  }
634  l1GctEtTotalOccBx_->Fill(et->bx(),et->et()); // for all BX
635  }
636  } else {
637  edm::LogWarning("DataNotFound") << " Could not find l1EtTotal label was " << gctEnergySumsSource_ ;
638  }
639 
640  // Total ET HT correlations
641  if (l1EtTotal.isValid() && l1EtHad.isValid()) {
642  if (l1EtTotal->size() == l1EtHad->size()) {
643  for (unsigned i=0; i<l1EtHad->size(); i++) {
644  if (l1EtHad->at(i).overFlow() == 0 && l1EtTotal->at(i).overFlow() == 0 &&
645  l1EtHad->at(i).bx() == 0 && l1EtTotal->at(i).bx() == 0) {
646  // Avoid problems overflows and only plot central BX
647  l1GctEtTotalEtHadCorr_->Fill(l1EtTotal->at(i).et(),l1EtHad->at(i).et());
648  }
649  }
650  }
651  } else {
652  edm::LogWarning("DataNotFound") << " Could not find l1EtTotal or l1EtHad label was " << gctEnergySumsSource_ ;
653  }
654 
655  //HF Ring Et Sums
656  if (l1HFSums.isValid()) {
657  for (L1GctHFRingEtSumsCollection::const_iterator hfs=l1HFSums->begin(); hfs!=l1HFSums->end(); hfs++){
658  // only plot central BX
659  if (hfs->bx()==0) {
660  // Individual ring Et sums
661  l1GctHFRing1ETSumPosEta_->Fill(hfs->etSum(0));
662  l1GctHFRing1ETSumNegEta_->Fill(hfs->etSum(1));
663  l1GctHFRing2ETSumPosEta_->Fill(hfs->etSum(2));
664  l1GctHFRing2ETSumNegEta_->Fill(hfs->etSum(3));
665  // Ratio of ring Et sums
666  if (hfs->etSum(2)!=0) l1GctHFRingRatioPosEta_->Fill((hfs->etSum(0))/(hfs->etSum(2)));
667  if (hfs->etSum(3)!=0) l1GctHFRingRatioNegEta_->Fill((hfs->etSum(1))/(hfs->etSum(3)));
668  // Correlate positive and neagative eta
669  l1GctHFRing1PosEtaNegEta_->Fill(hfs->etSum(0),hfs->etSum(1));
670  l1GctHFRing2PosEtaNegEta_->Fill(hfs->etSum(2),hfs->etSum(3));
671  }
672  // Occupancy vs BX
673  for (unsigned i=0; i<4; i++){
674  l1GctHFRingETSumOccBx_->Fill(hfs->bx(),hfs->etSum(i));
675  }
676  }
677  } else {
678  edm::LogWarning("DataNotFound") << " Could not find l1HFSums label was " << gctEnergySumsSource_ ;
679  }
680 
681  // HF Ring Counts
682  if (l1HFCounts.isValid()) {
683  for (L1GctHFBitCountsCollection::const_iterator hfc=l1HFCounts->begin(); hfc!=l1HFCounts->end(); hfc++){
684  // only plot central BX
685  if (hfc->bx()==0) {
686  // Individual ring counts
687  l1GctHFRing1TowerCountPosEta_->Fill(hfc->bitCount(0));
688  l1GctHFRing1TowerCountNegEta_->Fill(hfc->bitCount(1));
689  l1GctHFRing2TowerCountPosEta_->Fill(hfc->bitCount(2));
690  l1GctHFRing2TowerCountNegEta_->Fill(hfc->bitCount(3));
691  // Correlate positive and negative eta
692  l1GctHFRing1TowerCountPosEtaNegEta_->Fill(hfc->bitCount(0),hfc->bitCount(1));
693  l1GctHFRing2TowerCountPosEtaNegEta_->Fill(hfc->bitCount(2),hfc->bitCount(3));
694  }
695  // Occupancy vs BX
696  for (unsigned i=0; i<4; i++){
697  l1GctHFRingTowerCountOccBx_->Fill(hfc->bx(),hfc->bitCount(i));
698  }
699  }
700  } else {
701  edm::LogWarning("DataNotFound") << " Could not find l1HFCounts label was " << gctEnergySumsSource_ ;
702  }
703 
704  // Isolated EM
705  if (l1IsoEm.isValid()) {
706  for (L1GctEmCandCollection::const_iterator ie=l1IsoEm->begin(); ie!=l1IsoEm->end(); ie++) {
707  // only plot central BX
708  if (ie->bx()==0) {
709  l1GctIsoEmRank_->Fill(ie->rank());
710  // only plot eta and phi maps for non-zero candidates
711  if (ie->rank()){
712  l1GctIsoEmRankEtaPhi_->Fill(ie->regionId().ieta(),ie->regionId().iphi(),ie->rank());
713  l1GctIsoEmOccEtaPhi_->Fill(ie->regionId().ieta(),ie->regionId().iphi());
714  }
715  }
716  if (ie->rank()) l1GctAllEmOccRankBx_->Fill(ie->bx(),ie->rank()); // for all BX
717  }
718  } else {
719  edm::LogWarning("DataNotFound") << " Could not find l1IsoEm label was " << gctIsoEmSource_ ;
720  }
721 
722  // Non-isolated EM
723  if (l1NonIsoEm.isValid()) {
724  for (L1GctEmCandCollection::const_iterator ne=l1NonIsoEm->begin(); ne!=l1NonIsoEm->end(); ne++) {
725  // only plot central BX
726  if (ne->bx()==0) {
727  l1GctNonIsoEmRank_->Fill(ne->rank());
728  // only plot eta and phi maps for non-zero candidates
729  if (ne->rank()){
730  l1GctNonIsoEmRankEtaPhi_->Fill(ne->regionId().ieta(),ne->regionId().iphi(),ne->rank());
731  l1GctNonIsoEmOccEtaPhi_->Fill(ne->regionId().ieta(),ne->regionId().iphi());
732  }
733  }
734  if (ne->rank()) l1GctAllEmOccRankBx_->Fill(ne->bx(),ne->rank()); // for all BX
735  }
736  } else {
737  edm::LogWarning("DataNotFound") << " Could not find l1NonIsoEm label was " << gctNonIsoEmSource_ ;
738  }
739 }
740 
741 
const float METPHIMAX
Definition: L1TGCT.cc:199
T getParameter(std::string const &) const
const unsigned int R6BINS
Definition: L1TCompare.cc:71
const unsigned int BXBINS
Definition: L1TGCT.cc:213
T getUntrackedParameter(std::string const &, T const &) const
#define PHIMAX
int i
Definition: DBlmapReader.cc:9
MonitorElement * l1GctHtMiss_
Definition: L1TGCT.h:180
MonitorElement * l1GctEtHad_
Definition: L1TGCT.h:189
MonitorElement * l1GctHtMissPhi_
Definition: L1TGCT.h:181
const unsigned int OFBINS
Definition: L1TGCT.cc:209
const float R10MIN
Definition: L1TCompare.cc:75
edm::InputTag gctEnergySumsSource_
Definition: L1TGCT.h:221
MonitorElement * l1GctHFRing2TowerCountNegEta_
Definition: L1TGCT.h:202
tuple met
____________________________________________________________________________||
Definition: CaloMET_cfi.py:7
const unsigned int R12BINS
Definition: L1TCompare.cc:77
MonitorElement * l1GctEtMissOccBx_
Definition: L1TGCT.h:179
MonitorElement * l1GctCenJetsRank_
Definition: L1TGCT.h:166
MonitorElement * l1GctHFRing1ETSumNegEta_
Definition: L1TGCT.h:204
MonitorElement * l1GctEtTotalEtHadCorr_
Definition: L1TGCT.h:192
MonitorElement * l1GctHFRing1TowerCountPosEta_
Definition: L1TGCT.h:199
const unsigned int EMETABINS
Definition: L1TGCT.cc:193
MonitorElement * l1GctTauJetsEtEtaPhi_
Definition: L1TGCT.h:155
const float BXMIN
Definition: L1TGCT.cc:214
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:872
void beginJob(void)
Definition: L1TGCT.cc:294
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2730
MonitorElement * l1GctHFRingETSumOccBx_
Definition: L1TGCT.h:209
MonitorElement * l1GctNonIsoEmRank_
Definition: L1TGCT.h:170
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:434
const unsigned int MHTPHIBINS
Definition: L1TGCT.cc:201
const float OFMAX
Definition: L1TGCT.cc:211
MonitorElement * l1GctEtMiss_
Definition: L1TGCT.h:176
const unsigned int R10BINS
Definition: L1TCompare.cc:74
DQMStore * dbe
Definition: L1TGCT.h:146
const float R10MAX
Definition: L1TCompare.cc:76
MonitorElement * l1GctHFRing2ETSumNegEta_
Definition: L1TGCT.h:206
MonitorElement * l1GctAllEmOccRankBx_
Definition: L1TGCT.h:173
edm::EDGetTokenT< L1GctJetCandCollection > gctCenJetsSourceToken_
Definition: L1TGCT.h:231
const float BXMAX
Definition: L1TGCT.cc:215
#define NULL
Definition: scimark2.h:8
const float R12MIN
Definition: L1TCompare.cc:78
MonitorElement * l1GctEtTotal_
Definition: L1TGCT.h:186
MonitorElement * l1GctHtMissOf_
Definition: L1TGCT.h:182
edm::EDGetTokenT< L1GctHtMissCollection > l1HtMissToken_
Definition: L1TGCT.h:237
MonitorElement * l1GctEtHadOccBx_
Definition: L1TGCT.h:191
MonitorElement * l1GctEtTotalOccBx_
Definition: L1TGCT.h:188
bool isRealData() const
Definition: EventBase.h:60
edm::EDGetTokenT< L1GctEtTotalCollection > l1EtTotalToken_
Definition: L1TGCT.h:239
MonitorElement * l1GctHFRingTowerCountOccBx_
Definition: L1TGCT.h:210
MonitorElement * l1GctForJetsRank_
Definition: L1TGCT.h:167
MonitorElement * l1GctTauJetsRank_
Definition: L1TGCT.h:168
MonitorElement * l1GctHFRing2ETSumPosEta_
Definition: L1TGCT.h:205
void Fill(long long x)
edm::InputTag gctCenJetsSource_
Definition: L1TGCT.h:218
L1TGCT(const edm::ParameterSet &ps)
Definition: L1TGCT.cc:237
MonitorElement * l1GctEtMissPhi_
Definition: L1TGCT.h:177
void endJob(void)
Definition: L1TGCT.cc:417
MonitorElement * l1GctCenJetsEtEtaPhi_
Definition: L1TGCT.h:153
edm::InputTag gctTauJetsSource_
Definition: L1TGCT.h:220
edm::EDGetTokenT< L1GctEmCandCollection > gctIsoEmSourceToken_
Definition: L1TGCT.h:229
MonitorElement * l1GctAllJetsEtEtaPhi_
Definition: L1TGCT.h:152
const float JETETAMAX
Definition: L1TGCT.cc:191
MonitorElement * l1GctHFRing1ETSumPosEta_
Definition: L1TGCT.h:203
const float R6MAX
Definition: L1TCompare.cc:73
edm::EDGetTokenT< L1GctJetCandCollection > gctTauJetsSourceToken_
Definition: L1TGCT.h:233
const unsigned int R3BINS
Definition: L1TGCT.cc:218
edm::EDGetTokenT< L1GctHFBitCountsCollection > l1HFCountsToken_
Definition: L1TGCT.h:235
MonitorElement * l1GctHFRingRatioNegEta_
Definition: L1TGCT.h:208
const float EMETAMIN
Definition: L1TGCT.cc:194
MonitorElement * l1GctCenJetsOccEtaPhi_
Definition: L1TGCT.h:160
MonitorElement * l1GctEtMissOf_
Definition: L1TGCT.h:178
MonitorElement * l1GctForJetsEtEtaPhi_
Definition: L1TGCT.h:154
const unsigned int JETETABINS
Definition: L1TGCT.cc:189
MonitorElement * l1GctIsoEmRank_
Definition: L1TGCT.h:169
MonitorElement * l1GctHtMissOccBx_
Definition: L1TGCT.h:183
void analyze(const edm::Event &e, const edm::EventSetup &c)
Definition: L1TGCT.cc:430
const float R7MAX
Definition: L1TGCT.cc:229
edm::EDGetTokenT< L1GctEmCandCollection > gctNonIsoEmSourceToken_
Definition: L1TGCT.h:230
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", const uint32_t run=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:2296
void setVerbose(unsigned level)
Definition: DQMStore.cc:548
const float R5MAX
Definition: L1TGCT.cc:223
MonitorElement * l1GctHFRing2TowerCountPosEta_
Definition: L1TGCT.h:201
edm::EDGetTokenT< L1GctEtHadCollection > l1EtHadToken_
Definition: L1TGCT.h:238
MonitorElement * l1GctHFRing2TowerCountPosEtaNegEta_
Definition: L1TGCT.h:198
bool isValid() const
Definition: HandleBase.h:76
edm::InputTag gctIsoEmSource_
Definition: L1TGCT.h:222
#define PHIMIN
MonitorElement * triggerType_
Definition: L1TGCT.h:149
const float OFMIN
Definition: L1TGCT.cc:210
MonitorElement * l1GctEtMissHtMissCorrPhi_
Definition: L1TGCT.h:185
const float MHTPHIMAX
Definition: L1TGCT.cc:203
const float R5MIN
Definition: L1TGCT.cc:222
MonitorElement * l1GctNonIsoEmOccEtaPhi_
Definition: L1TGCT.h:164
const float MHTPHIMIN
Definition: L1TGCT.cc:202
int filterTriggerType_
filter TriggerType
Definition: L1TGCT.h:226
const unsigned int R7BINS
Definition: L1TGCT.cc:227
const float R6MIN
Definition: L1TCompare.cc:72
edm::InputTag gctForJetsSource_
Definition: L1TGCT.h:219
MonitorElement * l1GctNonIsoEmRankEtaPhi_
Definition: L1TGCT.h:157
int nev_
Definition: L1TGCT.h:212
MonitorElement * l1GctHFRing1PosEtaNegEta_
Definition: L1TGCT.h:195
const unsigned int R5BINS
Definition: L1TGCT.cc:221
virtual ~L1TGCT()
Definition: L1TGCT.cc:290
edm::EDGetTokenT< L1GctHFRingEtSumsCollection > gctEnergySumsSourceToken_
Definition: L1TGCT.h:234
MonitorElement * l1GctAllJetsOccEtaPhi_
Definition: L1TGCT.h:159
MonitorElement * l1GctHFRingRatioPosEta_
Definition: L1TGCT.h:207
MonitorElement * l1GctIsoEmRankEtaPhi_
Definition: L1TGCT.h:156
MonitorElement * l1GctHFRing1TowerCountPosEtaNegEta_
Definition: L1TGCT.h:197
const float METPHIMIN
Definition: L1TGCT.cc:198
edm::EventAuxiliary::ExperimentType experimentType() const
Definition: EventBase.h:61
edm::EDGetTokenT< L1GctJetCandCollection > gctForJetsSourceToken_
Definition: L1TGCT.h:232
#define PHIBINS
MonitorElement * l1GctEtHadOf_
Definition: L1TGCT.h:190
std::string outputFile_
Definition: L1TGCT.h:213
MonitorElement * l1GctForJetsOccEtaPhi_
Definition: L1TGCT.h:161
const float EMETAMAX
Definition: L1TGCT.cc:195
MonitorElement * l1GctHFRing1TowerCountNegEta_
Definition: L1TGCT.h:200
edm::EDGetTokenT< L1GctEtMissCollection > l1EtMissToken_
Definition: L1TGCT.h:236
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:1000
bool verbose_
Definition: L1TGCT.h:214
MonitorElement * l1GctEtTotalOf_
Definition: L1TGCT.h:187
const float R3MAX
Definition: L1TGCT.cc:220
MonitorElement * l1GctAllJetsOccRankBx_
Definition: L1TGCT.h:172
MonitorElement * l1GctEtMissHtMissCorr_
Definition: L1TGCT.h:184
MonitorElement * l1GctHFRing2PosEtaNegEta_
Definition: L1TGCT.h:196
const unsigned int METPHIBINS
Definition: L1TGCT.cc:197
const float R12MAX
Definition: L1TCompare.cc:79
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:584
edm::InputTag gctNonIsoEmSource_
Definition: L1TGCT.h:223
MonitorElement * l1GctTauJetsOccEtaPhi_
Definition: L1TGCT.h:162
MonitorElement * l1GctIsoEmOccEtaPhi_
Definition: L1TGCT.h:163
const float R3MIN
Definition: L1TGCT.cc:219
const float R7MIN
Definition: L1TGCT.cc:228
const float JETETAMIN
Definition: L1TGCT.cc:190