00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116 #include "DQM/L1TMonitor/interface/L1TGCT.h"
00117 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00118
00119
00120
00121
00122 #include "DataFormats/L1GlobalCaloTrigger/interface/L1GctCollections.h"
00123 #include "DataFormats/L1GlobalCaloTrigger/interface/L1GctEtSums.h"
00124 #include "DQMServices/Core/interface/DQMStore.h"
00125
00126 using namespace edm;
00127
00128
00129 const unsigned int ETABINS = 22;
00130 const float ETAMIN = -0.5;
00131 const float ETAMAX = 21.5;
00132
00133 const unsigned int METPHIBINS = 72;
00134 const float METPHIMIN = -0.5;
00135 const float METPHIMAX = 71.5;
00136
00137 const unsigned int PHIBINS = 18;
00138 const float PHIMIN = -0.5;
00139 const float PHIMAX = 17.5;
00140
00141
00142 const unsigned int R6BINS = 64;
00143 const float R6MIN = -0.5;
00144 const float R6MAX = 63.5;
00145 const unsigned int R10BINS = 1024;
00146 const float R10MIN = -0.5;
00147 const float R10MAX = 1023.5;
00148 const unsigned int R12BINS = 4096;
00149 const float R12MIN = -0.5;
00150 const float R12MAX = 4095.5;
00151
00152 const unsigned int R5BINS = 32;
00153 const float R5MIN = -0.5;
00154 const float R5MAX = 31.5;
00155
00156 const unsigned int R3BINS = 8;
00157 const float R3MIN = -0.5;
00158 const float R3MAX = 7.5;
00159
00160
00161 L1TGCT::L1TGCT(const edm::ParameterSet & ps) :
00162 gctCenJetsSource_(ps.getParameter<edm::InputTag>("gctCentralJetsSource")),
00163 gctForJetsSource_(ps.getParameter<edm::InputTag>("gctForwardJetsSource")),
00164 gctTauJetsSource_(ps.getParameter<edm::InputTag>("gctTauJetsSource")),
00165 gctEnergySumsSource_(ps.getParameter<edm::InputTag>("gctEnergySumsSource")),
00166 gctIsoEmSource_(ps.getParameter<edm::InputTag>("gctIsoEmSource")),
00167 gctNonIsoEmSource_(ps.getParameter<edm::InputTag>("gctNonIsoEmSource"))
00168 {
00169
00170
00171 verbose_ = ps.getUntrackedParameter < bool > ("verbose", false);
00172
00173 if (verbose_)
00174 edm::LogInfo("L1TGCT") << "L1TGCT: constructor...." << std::endl;
00175
00176
00177 dbe = NULL;
00178 if (ps.getUntrackedParameter < bool > ("DQMStore", false)) {
00179 dbe = edm::Service < DQMStore > ().operator->();
00180 dbe->setVerbose(0);
00181 }
00182
00183 outputFile_ = ps.getUntrackedParameter < std::string > ("outputFile", "");
00184 if (outputFile_.size() != 0) {
00185 edm::LogInfo("L1TGCT") << "L1T Monitoring histograms will be saved to "
00186 << outputFile_ << std::endl;
00187 }
00188
00189 bool disable = ps.getUntrackedParameter<bool>("disableROOToutput", false);
00190 if(disable){
00191 outputFile_="";
00192 }
00193
00194
00195 if (dbe != NULL) {
00196 dbe->setCurrentFolder("L1T/L1TGCT");
00197 }
00198
00199 }
00200
00201 L1TGCT::~L1TGCT()
00202 {
00203 }
00204
00205 void L1TGCT::beginJob(const edm::EventSetup & c)
00206 {
00207
00208 nev_ = 0;
00209
00210
00211 DQMStore *dbe = 0;
00212 dbe = edm::Service < DQMStore > ().operator->();
00213
00214 if (dbe) {
00215 dbe->setCurrentFolder("L1T/L1TGCT");
00216 dbe->rmdir("L1T/L1TGCT");
00217 }
00218
00219
00220 if (dbe) {
00221
00222 dbe->setCurrentFolder("L1T/L1TGCT");
00223
00224
00225 l1GctCenJetsEtEtaPhi_ = dbe->book2D("CenJetsEtEtaPhi", "CENTRAL JET RANK",
00226 PHIBINS, PHIMIN, PHIMAX,
00227 ETABINS, ETAMIN, ETAMAX);
00228 l1GctForJetsEtEtaPhi_ = dbe->book2D("ForJetsEtEtaPhi", "FORWARD JET RANK",
00229 PHIBINS, PHIMIN, PHIMAX,
00230 ETABINS, ETAMIN, ETAMAX);
00231 l1GctTauJetsEtEtaPhi_ = dbe->book2D("TauJetsEtEtaPhi", "TAU JET RANK",
00232 PHIBINS, PHIMIN, PHIMAX,
00233 ETABINS, ETAMIN, ETAMAX);
00234 l1GctIsoEmRankEtaPhi_ = dbe->book2D("IsoEmRankEtaPhi", "ISO EM RANK",
00235 PHIBINS, PHIMIN, PHIMAX,
00236 ETABINS, ETAMIN, ETAMAX);
00237 l1GctNonIsoEmRankEtaPhi_ = dbe->book2D("NonIsoEmRankEtaPhi", "NON-ISO EM RANK",
00238 PHIBINS, PHIMIN, PHIMAX,
00239 ETABINS, ETAMIN, ETAMAX);
00240 l1GctCenJetsOccEtaPhi_ = dbe->book2D("CenJetsOccEtaPhi", "CENTRAL JET OCCUPANCY",
00241 PHIBINS, PHIMIN, PHIMAX,
00242 ETABINS, ETAMIN, ETAMAX);
00243 l1GctForJetsOccEtaPhi_ = dbe->book2D("ForJetsOccEtaPhi", "FORWARD JET OCCUPANCY",
00244 PHIBINS, PHIMIN, PHIMAX,
00245 ETABINS, ETAMIN, ETAMAX);
00246 l1GctTauJetsOccEtaPhi_ = dbe->book2D("TauJetsOccEtaPhi", "TAU JET OCCUPANCY",
00247 PHIBINS, PHIMIN, PHIMAX,
00248 ETABINS, ETAMIN, ETAMAX);
00249 l1GctIsoEmOccEtaPhi_ = dbe->book2D("IsoEmOccEtaPhi", "ISO EM OCCUPANCY",
00250 PHIBINS, PHIMIN, PHIMAX,
00251 ETABINS, ETAMIN, ETAMAX);
00252 l1GctNonIsoEmOccEtaPhi_ = dbe->book2D("NonIsoEmOccEtaPhi", "NON-ISO EM OCCUPANCY",
00253 PHIBINS, PHIMIN, PHIMAX,
00254 ETABINS, ETAMIN, ETAMAX);
00255
00256 l1GctHFRing0PosEtaNegEta_ = dbe->book2D("HFRing0Corr", "HF RING0 CORRELATION NEG POS ETA",
00257 PHIBINS, PHIMIN, PHIMAX,
00258 ETABINS, ETAMIN, ETAMAX);
00259 l1GctHFRing1PosEtaNegEta_ = dbe->book2D("HFRing1Corr", "HF RING1 CORRELATION NEG POS ETA",
00260 PHIBINS, PHIMIN, PHIMAX,
00261 ETABINS, ETAMIN, ETAMAX);
00262 l1GctHFRing0TowerCountPosEtaNegEta_ = dbe->book2D("HFRing0TowerCountCorr", "HF RING0 TOWER COUNT CORRELATION NEG POS ETA",
00263 PHIBINS, PHIMIN, PHIMAX,
00264 ETABINS, ETAMIN, ETAMAX);
00265
00266 l1GctHFRing1TowerCountPosEtaNegEta_ = dbe->book2D("HFRing1TowerCountCorr", "HF RING1 TOWER COUNT CORRELATION NEG POS ETA",
00267 PHIBINS, PHIMIN, PHIMAX,
00268 ETABINS, ETAMIN, ETAMAX);
00269
00270
00271
00272 l1GctCenJetsOccEta_ = dbe->book1D("CenJetsOccEta", "CENTRAL JET ETA OCCUPANCY", ETABINS, ETAMIN, ETAMAX);
00273 l1GctCenJetsOccPhi_ = dbe->book1D("CenJetsOccPhi", "CENTRAL JET PHI OCCUPANCY", PHIBINS, PHIMIN, PHIMAX);
00274 l1GctForJetsOccEta_ = dbe->book1D("ForJetsOccEta", "FORWARD JET ETA OCCUPANCY", ETABINS, ETAMIN, ETAMAX);
00275 l1GctForJetsOccPhi_ = dbe->book1D("ForJetsOccPhi", "FORWARD JET PHI OCCUPANCY", PHIBINS, PHIMIN, PHIMAX);
00276 l1GctTauJetsOccEta_ = dbe->book1D("TauJetsOccEta", "TAU JET ETA OCCUPANCY", ETABINS, ETAMIN, ETAMAX);
00277 l1GctTauJetsOccPhi_ = dbe->book1D("TauJetsOccPhi", "TAU JET PHI OCCUPANCY", PHIBINS, PHIMIN, PHIMAX);
00278 l1GctIsoEmOccEta_ = dbe->book1D("IsoEmOccEta", "ISO EM ETA OCCUPANCY", ETABINS, ETAMIN, ETAMAX);
00279 l1GctIsoEmOccPhi_ = dbe->book1D("IsoEmOccPhi", "ISO EM PHI OCCUPANCY", PHIBINS, PHIMIN, PHIMAX);
00280 l1GctNonIsoEmOccEta_ = dbe->book1D("NonIsoEmOccEta", "NON-ISO EM ETA OCCUPANCY", ETABINS, ETAMIN, ETAMAX);
00281 l1GctNonIsoEmOccPhi_ = dbe->book1D("NonIsoEmOccPhi", "NON-ISO EM PHI OCCUPANCY", PHIBINS, PHIMIN, PHIMAX);
00282
00283
00284 l1GctHFRing0TowerCountPosEta_ = dbe->book1D("HFRing0TowerCountPosEta", "POS ETA RING0 HFRING BIT", R3BINS, R3MIN, R3MAX);
00285 l1GctHFRing0TowerCountNegEta_ = dbe->book1D("HFRing0TowerCountNegEta", "NEG ETA RING0 HFRING BIT", R3BINS, R3MIN, R3MAX);
00286 l1GctHFRing1TowerCountPosEta_ = dbe->book1D("HFRing1TowerCountPosEta", "POS ETA RING1 HFRING BIT", R3BINS, R3MIN, R3MAX);
00287 l1GctHFRing1TowerCountNegEta_ = dbe->book1D("HFRing1TowerCountNegEta", "NEG ETA RING1 HFRING BIT", R3BINS, R3MIN, R3MAX);
00288
00289 l1GctHFRing0ETSumPosEta_ = dbe->book1D("HFRing0ETSumPosEta", "POS ETA RING0 ET SUM", R3BINS, R3MIN, R3MAX);
00290 l1GctHFRing0ETSumNegEta_ = dbe->book1D("HFRing0ETSumNegEta", "NEG ETA RING0 ET SUM", R3BINS, R3MIN, R3MAX);
00291 l1GctHFRing1ETSumPosEta_ = dbe->book1D("HFRing1ETSumPosEta", "POS ETA RING1 ET SUM", R3BINS, R3MIN, R3MAX);
00292 l1GctHFRing1ETSumNegEta_ = dbe->book1D("HFRing1ETSumNegEta", "NEG ETA RING1 ET SUM", R3BINS, R3MIN, R3MAX);
00293 l1GctHFRingRatioPosEta_ = dbe->book1D("HFRingRatioPosEta", "RING RATIO POS ETA", R5BINS, R5MIN, R5MAX);
00294 l1GctHFRingRatioNegEta_ = dbe->book1D("HFRingRatioNegEta", "RING RATIO NEG ETA", R5BINS, R5MIN, R5MAX);
00295
00296
00297 l1GctCenJetsRank_ = dbe->book1D("CenJetsRank", "CENTRAL JET RANK", R6BINS, R6MIN, R6MAX);
00298 l1GctForJetsRank_ = dbe->book1D("ForJetsRank", "FORWARD JET RANK", R6BINS, R6MIN, R6MAX);
00299 l1GctTauJetsRank_ = dbe->book1D("TauJetsRank", "TAU JET RANK", R6BINS, R6MIN, R6MAX);
00300 l1GctIsoEmRank_ = dbe->book1D("IsoEmRank", "ISO EM RANK", R6BINS, R6MIN, R6MAX);
00301 l1GctNonIsoEmRank_ = dbe->book1D("NonIsoEmRank", "NON-ISO EM RANK", R6BINS, R6MIN, R6MAX);
00302
00303
00304 l1GctEtMiss_ = dbe->book1D("EtMiss", "MISSING E_{T}", R12BINS, R12MIN, R12MAX);
00305 l1GctEtMissPhi_ = dbe->book1D("EtMissPhi", "MISSING E_{T} #phi", METPHIBINS, PHIMIN, PHIMAX);
00306 l1GctEtTotal_ = dbe->book1D("EtTotal", "TOTAL E_{T}", R12BINS, R12MIN, R12MAX);
00307 l1GctEtHad_ = dbe->book1D("EtHad", "TOTAL HAD E_{T}", R12BINS, R12MIN, R12MAX);
00308
00309
00310 l1GctIsoEmRankCand0_ = dbe->book1D("GctIsoEmRankCand0","ISO EM RANK CAND 0", R6BINS, R6MIN, R6MAX);
00311 l1GctIsoEmRankCand1_ = dbe->book1D("GctIsoEmRankCand1","ISO EM RANK CAND 1", R6BINS, R6MIN, R6MAX);
00312 l1GctIsoEmRankCand2_ = dbe->book1D("GctIsoEmRankCand2","ISO EM RANK CAND 2", R6BINS, R6MIN, R6MAX);
00313 l1GctIsoEmRankCand3_ = dbe->book1D("GctIsoEmRankCand3","ISO EM RANK CAND 3", R6BINS, R6MIN, R6MAX);
00314
00315 l1GctNonIsoEmRankCand0_ = dbe->book1D("GctNonIsoEmRankCand0","NON-ISO EM RANK CAND 0", R6BINS, R6MIN, R6MAX);
00316 l1GctNonIsoEmRankCand1_ = dbe->book1D("GctNonIsoEmRankCand1","NON-ISO EM RANK CAND 1", R6BINS, R6MIN, R6MAX);
00317 l1GctNonIsoEmRankCand2_ = dbe->book1D("GctNonIsoEmRankCand2","NON-ISO EM RANK CAND 2", R6BINS, R6MIN, R6MAX);
00318 l1GctNonIsoEmRankCand3_ = dbe->book1D("GctNonIsoEmRankCand3","NON-ISO EM RANK CAND 3", R6BINS, R6MIN, R6MAX);
00319
00320 l1GctCenJetsRankCand0_ = dbe->book1D("GctCenJetsRankCand0","CEN JET RANK CAND 0", R6BINS, R6MIN, R6MAX);
00321 l1GctCenJetsRankCand1_ = dbe->book1D("GctCenJetsRankCand1","CEN JET RANK CAND 1", R6BINS, R6MIN, R6MAX);
00322 l1GctCenJetsRankCand2_ = dbe->book1D("GctCenJetsRankCand2","CEN JET RANK CAND 2", R6BINS, R6MIN, R6MAX);
00323 l1GctCenJetsRankCand3_ = dbe->book1D("GctCenJetsRankCand3","CEN JET RANK CAND 3", R6BINS, R6MIN, R6MAX);
00324
00325 l1GctForJetsRankCand0_ = dbe->book1D("GctForJetsRankCand0","FOR JET RANK CAND 0", R6BINS, R6MIN, R6MAX);
00326 l1GctForJetsRankCand1_ = dbe->book1D("GctForJetsRankCand1","FOR JET RANK CAND 1", R6BINS, R6MIN, R6MAX);
00327 l1GctForJetsRankCand2_ = dbe->book1D("GctForJetsRankCand2","FOR JET RANK CAND 2", R6BINS, R6MIN, R6MAX);
00328 l1GctForJetsRankCand3_ = dbe->book1D("GctForJetsRankCand3","FOR JET RANK CAND 3", R6BINS, R6MIN, R6MAX);
00329
00330 l1GctTauJetsRankCand0_ = dbe->book1D("GctTauJetsRankCand0","TAU JET RANK CAND 0", R6BINS, R6MIN, R6MAX);
00331 l1GctTauJetsRankCand1_ = dbe->book1D("GctTauJetsRankCand1","TAU JET RANK CAND 1", R6BINS, R6MIN, R6MAX);
00332 l1GctTauJetsRankCand2_ = dbe->book1D("GctTauJetsRankCand2","TAU JET RANK CAND 2", R6BINS, R6MIN, R6MAX);
00333 l1GctTauJetsRankCand3_ = dbe->book1D("GctTauJetsRankCand3","TAU JET RANK CAND 3", R6BINS, R6MIN, R6MAX);
00334
00335 l1GctIsoEmRankDiff01_ = dbe->book1D("GctIsoEmRankDiffCand01","ISO EM RANK CAND 0 - CAND 1", 2*R6BINS, -R6MAX, R6MAX);
00336 l1GctIsoEmRankDiff12_ = dbe->book1D("GctIsoEmRankDiffCand12","ISO EM RANK CAND 1 - CAND 2", 2*R6BINS, -R6MAX, R6MAX);
00337 l1GctIsoEmRankDiff23_ = dbe->book1D("GctIsoEmRankDiffCand23","ISO EM RANK CAND 2 - CAND 3", 2*R6BINS, -R6MAX, R6MAX);
00338
00339 l1GctNonIsoEmRankDiff01_ = dbe->book1D("GctNonIsoEmRankDiffCand01","NON-ISO EM RANK CAND 0 - CAND 1", 2*R6BINS, -R6MAX, R6MAX);
00340 l1GctNonIsoEmRankDiff12_ = dbe->book1D("GctNonIsoEmRankDiffCand12","NON-ISO EM RANK CAND 1 - CAND 2", 2*R6BINS, -R6MAX, R6MAX);
00341 l1GctNonIsoEmRankDiff23_ = dbe->book1D("GctNonIsoEmRankDiffCand23","NON-ISO EM RANK CAND 2 - CAND 3", 2*R6BINS, -R6MAX, R6MAX);
00342
00343 l1GctCenJetsRankDiff01_ = dbe->book1D("GctCenJetsRankDiffCand01","CEN JET RANK CAND 0 - CAND 1", 2*R6BINS, -R6MAX, R6MAX);
00344 l1GctCenJetsRankDiff12_ = dbe->book1D("GctCenJetsRankDiffCand12","CEN JET RANK CAND 1 - CAND 2", 2*R6BINS, -R6MAX, R6MAX);
00345 l1GctCenJetsRankDiff23_ = dbe->book1D("GctCenJetsRankDiffCand23","CEN JET RANK CAND 2 - CAND 3", 2*R6BINS, -R6MAX, R6MAX);
00346
00347 l1GctForJetsRankDiff01_ = dbe->book1D("GctForJetsRankDiffCand01","FOR JET RANK CAND 0 - CAND 1", 2*R6BINS, -R6MAX, R6MAX);
00348 l1GctForJetsRankDiff12_ = dbe->book1D("GctForJetsRankDiffCand12","FOR JET RANK CAND 1 - CAND 2", 2*R6BINS, -R6MAX, R6MAX);
00349 l1GctForJetsRankDiff23_ = dbe->book1D("GctForJetsRankDiffCand23","FOR JET RANK CAND 2 - CAND 3", 2*R6BINS, -R6MAX, R6MAX);
00350
00351 l1GctTauJetsRankDiff01_ = dbe->book1D("GctTauJetsRankDiffCand01","TAU JET RANK CAND 0 - CAND 1", 2*R6BINS, -R6MAX, R6MAX);
00352 l1GctTauJetsRankDiff12_ = dbe->book1D("GctTauJetsRankDiffCand12","TAU JET RANK CAND 1 - CAND 2", 2*R6BINS, -R6MAX, R6MAX);
00353 l1GctTauJetsRankDiff23_ = dbe->book1D("GctTauJetsRankDiffCand23","TAU JET RANK CAND 2 - CAND 3", 2*R6BINS, -R6MAX, R6MAX);
00354
00355 }
00356
00357 }
00358
00359
00360 void L1TGCT::endJob(void)
00361 {
00362 if (verbose_)
00363 edm::LogInfo("L1TGCT") << "L1TGCT: end job...." << std::endl;
00364 edm::LogInfo("EndJob") << "analyzed " << nev_ << " events";
00365
00366 if (outputFile_.size() != 0 && dbe) {
00367 dbe->save(outputFile_);
00368 }
00369
00370 return;
00371 }
00372
00373 void L1TGCT::analyze(const edm::Event & e, const edm::EventSetup & c)
00374 {
00375 nev_++;
00376 if (verbose_) {
00377 edm::LogInfo("L1TGCT") << "L1TGCT: analyze...." << std::endl;
00378 }
00379
00380
00381 edm::Handle < L1GctEmCandCollection > l1IsoEm;
00382 edm::Handle < L1GctEmCandCollection > l1NonIsoEm;
00383 edm::Handle < L1GctJetCandCollection > l1CenJets;
00384 edm::Handle < L1GctJetCandCollection > l1ForJets;
00385 edm::Handle < L1GctJetCandCollection > l1TauJets;
00386 edm::Handle < L1GctHFRingEtSumsCollection > l1HFSums;
00387 edm::Handle < L1GctHFBitCountsCollection > l1HFCounts;
00388 edm::Handle < L1GctEtMissCollection > l1EtMiss;
00389 edm::Handle < L1GctEtHadCollection > l1EtHad;
00390 edm::Handle < L1GctEtTotalCollection > l1EtTotal;
00391
00392 e.getByLabel(gctIsoEmSource_, l1IsoEm);
00393 e.getByLabel(gctNonIsoEmSource_, l1NonIsoEm);
00394 e.getByLabel(gctCenJetsSource_, l1CenJets);
00395 e.getByLabel(gctForJetsSource_, l1ForJets);
00396 e.getByLabel(gctTauJetsSource_, l1TauJets);
00397 e.getByLabel(gctEnergySumsSource_, l1HFSums);
00398 e.getByLabel(gctEnergySumsSource_, l1HFCounts);
00399 e.getByLabel(gctEnergySumsSource_, l1EtMiss);
00400 e.getByLabel(gctEnergySumsSource_, l1EtHad);
00401 e.getByLabel(gctEnergySumsSource_, l1EtTotal);
00402
00403
00404
00405
00406 if (l1CenJets.isValid()) {
00407 for (L1GctJetCandCollection::const_iterator cj = l1CenJets->begin();cj != l1CenJets->end(); cj++) {
00408 l1GctCenJetsRank_->Fill(cj->rank());
00409
00410 if (cj->rank()) {
00411 l1GctCenJetsEtEtaPhi_->Fill(cj->regionId().iphi(),cj->regionId().ieta(),cj->rank());
00412 l1GctCenJetsOccEtaPhi_->Fill(cj->regionId().iphi(),cj->regionId().ieta());
00413 l1GctCenJetsOccEta_->Fill(cj->regionId().ieta());
00414 l1GctCenJetsOccPhi_->Fill(cj->regionId().iphi());
00415 }
00416 }
00417 if ( l1CenJets->size()==4){
00418
00419 l1GctCenJetsRankCand0_->Fill((*l1CenJets).at(0).rank());
00420 l1GctCenJetsRankCand1_->Fill((*l1CenJets).at(1).rank());
00421 l1GctCenJetsRankCand2_->Fill((*l1CenJets).at(2).rank());
00422 l1GctCenJetsRankCand3_->Fill((*l1CenJets).at(3).rank());
00423
00424 l1GctCenJetsRankDiff01_->Fill((*l1CenJets).at(0).rank()-(*l1CenJets).at(1).rank());
00425 l1GctCenJetsRankDiff12_->Fill((*l1CenJets).at(1).rank()-(*l1CenJets).at(2).rank());
00426 l1GctCenJetsRankDiff23_->Fill((*l1CenJets).at(2).rank()-(*l1CenJets).at(3).rank());
00427 }
00428 } else {
00429 edm::LogWarning("DataNotFound") << " Could not find l1CenJets label was " << gctCenJetsSource_ ;
00430 }
00431
00432
00433
00434 if (l1ForJets.isValid()) {
00435 for (L1GctJetCandCollection::const_iterator fj = l1ForJets->begin(); fj != l1ForJets->end(); fj++) {
00436 l1GctForJetsRank_->Fill(fj->rank());
00437
00438 if (fj->rank()) {
00439 l1GctForJetsEtEtaPhi_->Fill(fj->regionId().iphi(),fj->regionId().ieta(),fj->rank());
00440 l1GctForJetsOccEtaPhi_->Fill(fj->regionId().iphi(),fj->regionId().ieta());
00441 l1GctForJetsOccEta_->Fill(fj->regionId().ieta());
00442 l1GctForJetsOccPhi_->Fill(fj->regionId().iphi());
00443 }
00444 }
00445 if ( l1ForJets->size()==4){
00446
00447 l1GctForJetsRankCand0_->Fill((*l1ForJets).at(0).rank());
00448 l1GctForJetsRankCand1_->Fill((*l1ForJets).at(1).rank());
00449 l1GctForJetsRankCand2_->Fill((*l1ForJets).at(2).rank());
00450 l1GctForJetsRankCand3_->Fill((*l1ForJets).at(3).rank());
00451
00452 l1GctForJetsRankDiff01_->Fill((*l1ForJets).at(0).rank()-(*l1ForJets).at(1).rank());
00453 l1GctForJetsRankDiff12_->Fill((*l1ForJets).at(1).rank()-(*l1ForJets).at(2).rank());
00454 l1GctForJetsRankDiff23_->Fill((*l1ForJets).at(2).rank()-(*l1ForJets).at(3).rank());
00455 }
00456 } else {
00457 edm::LogWarning("DataNotFound") << " Could not find l1ForJets label was " << gctForJetsSource_ ;
00458 }
00459
00460
00461 if (l1TauJets.isValid()) {
00462 for (L1GctJetCandCollection::const_iterator tj = l1TauJets->begin(); tj != l1TauJets->end(); tj++) {
00463 l1GctTauJetsRank_->Fill(tj->rank());
00464
00465 if (tj->rank()) {
00466 l1GctTauJetsEtEtaPhi_->Fill(tj->regionId().iphi(),tj->regionId().ieta(),tj->rank());
00467 l1GctTauJetsOccEtaPhi_->Fill(tj->regionId().iphi(),tj->regionId().ieta());
00468 l1GctTauJetsOccEta_->Fill(tj->regionId().ieta());
00469 l1GctTauJetsOccPhi_->Fill(tj->regionId().iphi());
00470 }
00471 }
00472 if (l1TauJets->size()==4){
00473
00474 l1GctTauJetsRankCand0_->Fill((*l1TauJets).at(0).rank());
00475 l1GctTauJetsRankCand1_->Fill((*l1TauJets).at(1).rank());
00476 l1GctTauJetsRankCand2_->Fill((*l1TauJets).at(2).rank());
00477 l1GctTauJetsRankCand3_->Fill((*l1TauJets).at(3).rank());
00478
00479 l1GctTauJetsRankDiff01_->Fill((*l1TauJets).at(0).rank()-(*l1TauJets).at(1).rank());
00480 l1GctTauJetsRankDiff12_->Fill((*l1TauJets).at(1).rank()-(*l1TauJets).at(2).rank());
00481 l1GctTauJetsRankDiff23_->Fill((*l1TauJets).at(2).rank()-(*l1TauJets).at(3).rank());
00482 }
00483 } else {
00484 edm::LogWarning("DataNotFound") << " Could not find l1TauJets label was " << gctTauJetsSource_ ;
00485 }
00486
00487
00488
00489 if (l1EtMiss.isValid()) {
00490 if (l1EtMiss->size()) {
00491 l1GctEtMiss_->Fill(l1EtMiss->at(0).et());
00492 l1GctEtMissPhi_->Fill(l1EtMiss->at(0).phi());
00493 }
00494 } else {
00495 edm::LogWarning("DataNotFound") << " Could not find l1EtMiss label was " << gctEnergySumsSource_ ;
00496 }
00497
00498
00499 if (l1EtHad.isValid()) {
00500 if (l1EtHad->size()) {
00501 l1GctEtHad_->Fill(l1EtHad->at(0).et());
00502 }
00503 } else {
00504 edm::LogWarning("DataNotFound") << " Could not find l1EtHad label was " << gctEnergySumsSource_ ;
00505 }
00506
00507
00508 if (l1EtTotal.isValid()) {
00509 if (l1EtTotal->size()) {
00510 l1GctEtTotal_->Fill(l1EtTotal->at(0).et());
00511 }
00512 } else {
00513 edm::LogWarning("DataNotFound") << " Could not find l1EtTotal label was " << gctEnergySumsSource_ ;
00514 }
00515
00516
00517 if (l1HFSums.isValid()) {
00518 for (L1GctHFRingEtSumsCollection::const_iterator hfs=l1HFSums->begin(); hfs!=l1HFSums->end(); hfs++){
00519
00520 l1GctHFRing0ETSumPosEta_->Fill(hfs->etSum(0));
00521 l1GctHFRing0ETSumNegEta_->Fill(hfs->etSum(1));
00522 l1GctHFRing1ETSumPosEta_->Fill(hfs->etSum(2));
00523 l1GctHFRing1ETSumNegEta_->Fill(hfs->etSum(3));
00524
00525 if (hfs->etSum(2)!=0) l1GctHFRingRatioPosEta_->Fill((hfs->etSum(0))/(hfs->etSum(2)));
00526 if (hfs->etSum(3)!=0) l1GctHFRingRatioNegEta_->Fill((hfs->etSum(1))/(hfs->etSum(3)));
00527
00528 l1GctHFRing0PosEtaNegEta_->Fill(hfs->etSum(0),hfs->etSum(1));
00529 l1GctHFRing1PosEtaNegEta_->Fill(hfs->etSum(2),hfs->etSum(3));
00530 }
00531 } else {
00532 edm::LogWarning("DataNotFound") << " Could not find l1HFSums label was " << gctEnergySumsSource_ ;
00533 }
00534
00535
00536 if (l1HFCounts.isValid()) {
00537 for (L1GctHFBitCountsCollection::const_iterator hfc=l1HFCounts->begin(); hfc!=l1HFCounts->end(); hfc++){
00538
00539 l1GctHFRing0TowerCountPosEta_->Fill(hfc->bitCount(0));
00540 l1GctHFRing0TowerCountNegEta_->Fill(hfc->bitCount(1));
00541 l1GctHFRing1TowerCountPosEta_->Fill(hfc->bitCount(2));
00542 l1GctHFRing1TowerCountNegEta_->Fill(hfc->bitCount(3));
00543
00544 l1GctHFRing0TowerCountPosEtaNegEta_->Fill(hfc->bitCount(0),hfc->bitCount(1));
00545 l1GctHFRing1TowerCountPosEtaNegEta_->Fill(hfc->bitCount(2),hfc->bitCount(3));
00546 }
00547 } else {
00548 edm::LogWarning("DataNotFound") << " Could not find l1HFCounts label was " << gctEnergySumsSource_ ;
00549 }
00550
00551
00552 if (l1IsoEm.isValid()) {
00553 for (L1GctEmCandCollection::const_iterator ie=l1IsoEm->begin(); ie!=l1IsoEm->end(); ie++) {
00554 l1GctIsoEmRank_->Fill(ie->rank());
00555
00556 if (ie->rank()){
00557 l1GctIsoEmRankEtaPhi_->Fill(ie->regionId().iphi(),ie->regionId().ieta(),ie->rank());
00558 l1GctIsoEmOccEtaPhi_->Fill(ie->regionId().iphi(),ie->regionId().ieta());
00559 l1GctIsoEmOccEta_->Fill(ie->regionId().ieta());
00560 l1GctIsoEmOccPhi_->Fill(ie->regionId().iphi());
00561 }
00562 }
00563 if (l1IsoEm->size()==4){
00564
00565 l1GctIsoEmRankCand0_->Fill((*l1IsoEm).at(0).rank());
00566 l1GctIsoEmRankCand1_->Fill((*l1IsoEm).at(1).rank());
00567 l1GctIsoEmRankCand2_->Fill((*l1IsoEm).at(2).rank());
00568 l1GctIsoEmRankCand3_->Fill((*l1IsoEm).at(3).rank());
00569
00570 l1GctIsoEmRankDiff01_->Fill((*l1IsoEm).at(0).rank()-(*l1IsoEm).at(1).rank());
00571 l1GctIsoEmRankDiff12_->Fill((*l1IsoEm).at(1).rank()-(*l1IsoEm).at(2).rank());
00572 l1GctIsoEmRankDiff23_->Fill((*l1IsoEm).at(2).rank()-(*l1IsoEm).at(3).rank());
00573 }
00574 } else {
00575 edm::LogWarning("DataNotFound") << " Could not find l1IsoEm label was " << gctIsoEmSource_ ;
00576 }
00577
00578
00579 if (l1NonIsoEm.isValid()) {
00580 for (L1GctEmCandCollection::const_iterator ne=l1NonIsoEm->begin(); ne!=l1NonIsoEm->end(); ne++) {
00581 l1GctNonIsoEmRank_->Fill(ne->rank());
00582
00583 if (ne->rank()){
00584 l1GctNonIsoEmRankEtaPhi_->Fill(ne->regionId().iphi(),ne->regionId().ieta(),ne->rank());
00585 l1GctNonIsoEmOccEtaPhi_->Fill(ne->regionId().iphi(),ne->regionId().ieta());
00586 l1GctNonIsoEmOccEta_->Fill(ne->regionId().ieta());
00587 l1GctNonIsoEmOccPhi_->Fill(ne->regionId().iphi());
00588 }
00589 }
00590 if (l1NonIsoEm->size()==4){
00591
00592 l1GctNonIsoEmRankCand0_->Fill((*l1NonIsoEm).at(0).rank());
00593 l1GctNonIsoEmRankCand1_->Fill((*l1NonIsoEm).at(1).rank());
00594 l1GctNonIsoEmRankCand2_->Fill((*l1NonIsoEm).at(2).rank());
00595 l1GctNonIsoEmRankCand3_->Fill((*l1NonIsoEm).at(3).rank());
00596
00597 l1GctNonIsoEmRankDiff01_->Fill((*l1NonIsoEm).at(0).rank()-(*l1NonIsoEm).at(1).rank());
00598 l1GctNonIsoEmRankDiff12_->Fill((*l1NonIsoEm).at(1).rank()-(*l1NonIsoEm).at(2).rank());
00599 l1GctNonIsoEmRankDiff23_->Fill((*l1NonIsoEm).at(2).rank()-(*l1NonIsoEm).at(3).rank());
00600 }
00601 } else {
00602 edm::LogWarning("DataNotFound") << " Could not find l1NonIsoEm label was " << gctNonIsoEmSource_ ;
00603 }
00604 }
00605
00606