44 outputMEsInRootFile =
parameters.getParameter<
bool>(
"OutputMEsInRootFile");
65 jetID_ValueMapToken_= consumes< edm::ValueMap<reco::JetID> >(inputJetIDValueMap);
71 ptThreshold_ =
parameters.getParameter<
double>(
"ptThreshold");
75 pfMetToken_= consumes<reco::PFMETCollection>(
edm::InputTag(metCollectionLabel_));
78 caloMetToken_= consumes<reco::CaloMETCollection>(
edm::InputTag(metCollectionLabel_));
84 fill_met_high_level_histo =
parameters.getParameter<
bool>(
"fillMetHighLevel");
86 hTriggerLabelsIsSet_ =
false;
95 bypassAllPVChecks_ = cleaningParameters_.getParameter<
bool>(
"bypassAllPVChecks");
96 bypassAllDCSChecks_ = cleaningParameters_.getParameter<
bool>(
"bypassAllDCSChecks");
97 runcosmics_ =
parameters.getUntrackedParameter<
bool>(
"runcosmics");
98 vertexTag_ = cleaningParameters_.getParameter<
edm::InputTag>(
"vertexCollection");
99 vertexToken_ = consumes<std::vector<reco::Vertex> >(
edm::InputTag(vertexTag_));
102 gtTag_ = cleaningParameters_.getParameter<
edm::InputTag>(
"gtLabel");
103 gtToken_= consumes<L1GlobalTriggerReadoutRecord>(
edm::InputTag(gtTag_));
118 if (isCaloMet_) caloJetsToken_ = consumes<reco::CaloJetCollection>(jetCollectionLabel_);
120 if (isPFMet_) pfJetsToken_ = consumes<reco::PFJetCollection>(jetCollectionLabel_);
123 HcalNoiseRBXToken_ = consumes<reco::HcalNoiseRBXCollection>(hcalNoiseRBXCollectionTag_);
126 beamHaloSummaryToken_ = consumes<BeamHaloSummary>(beamHaloSummaryTag_);
128 hbheNoiseFilterResultToken_=consumes<bool>(hbheNoiseFilterResultTag_);
131 nbinsPV_ =
parameters.getParameter<
int>(
"pVBin");
132 nPVMin_ =
parameters.getParameter<
double>(
"pVMin");
133 nPVMax_ =
parameters.getParameter<
double>(
"pVMax");
136 for (edm::VParameterSet::const_iterator it = triggerSelectedSubFolders_.begin(); it!= triggerSelectedSubFolders_.end(); it++) {
138 triggerFolderExpr_.push_back(it->getParameter<std::vector<std::string> >(
"hltPaths"));
139 triggerFolderLabels_.push_back(it->getParameter<
std::string>(
"label"));
144 verbose_ =
parameters.getParameter<
int>(
"verbose");
152 for (std::vector<GenericTriggerEventFlag *>::const_iterator it = triggerFolderEventFlag_.begin(); it!= triggerFolderEventFlag_.end(); it++) {
165 folderNames_.push_back(
"Uncleaned");
166 folderNames_.push_back(
"Cleaned");
167 folderNames_.push_back(
"DiJet");
169 for (std::vector<std::string>::const_iterator ic = folderNames_.begin();
170 ic != folderNames_.end(); ic++){
171 bookMESet(DirName+
"/"+*ic, ibooker,map_dijet_MEs);
179 bool bLumiSecPlot=fill_met_high_level_histo;
181 bookMonitorElement(DirName,ibooker,map_of_MEs,bLumiSecPlot);
183 if (DirName.find(
"Cleaned")!=std::string::npos) {
184 for (
unsigned int i = 0;
i<triggerFolderEventFlag_.size();
i++) {
185 if (triggerFolderEventFlag_[
i]->on()) {
186 bookMonitorElement(DirName+
"/"+triggerFolderLabels_[
i],ibooker,map_of_MEs,
false);
195 if (verbose_)
std::cout <<
"bookMonitorElement " << DirName << std::endl;
199 hTrigger = ibooker.
book1D(
"triggerResults",
"triggerResults", 500, 0, 500);
200 hMEx = ibooker.
book1D(
"MEx",
"MEx", 200, -500, 500);
201 hMEy = ibooker.
book1D(
"MEy",
"MEy", 200, -500, 500);
202 hMET = ibooker.
book1D(
"MET",
"MET", 200, 0, 1000);
203 hSumET = ibooker.
book1D(
"SumET",
"SumET", 400, 0, 4000);
204 hMETSig = ibooker.
book1D(
"METSig",
"METSig", 51, 0, 51);
205 hMETPhi = ibooker.
book1D(
"METPhi",
"METPhi", 60, -3.2, 3.2);
206 hMET_logx = ibooker.
book1D(
"MET_logx",
"MET_logx", 40, -1, 7);
207 hSumET_logx = ibooker.
book1D(
"SumET_logx",
"SumET_logx", 40, -1, 7);
210 hMEy ->setAxisTitle(
"MEy [GeV]", 1);
211 hMET ->setAxisTitle(
"MET [GeV]", 1);
212 hSumET ->setAxisTitle(
"SumET [GeV]", 1);
213 hMETSig ->setAxisTitle(
"METSig", 1);
214 hMETPhi ->setAxisTitle(
"METPhi [rad]", 1);
215 hMET_logx ->setAxisTitle(
"log(MET) [GeV]", 1);
216 hSumET_logx->setAxisTitle(
"log(SumET) [GeV]", 1);
218 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"triggerResults",hTrigger));
219 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"MEx",hMEx));
220 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"MEy",hMEy));
221 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"MET",hMET));
222 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"SumET",hSumET));
223 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"METSig",hMETSig));
224 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"METPhi",hMETPhi));
225 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"MET_logx",hMET_logx));
226 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"SumET_logx",hSumET_logx));
230 meMEx_profile = ibooker.
bookProfile(
"MEx_profile",
"met.px()", nbinsPV_, nPVMin_, nPVMax_, 200, -500, 500);
231 meMEy_profile = ibooker.
bookProfile(
"MEy_profile",
"met.py()", nbinsPV_, nPVMin_, nPVMax_, 200, -500, 500);
232 meMET_profile = ibooker.
bookProfile(
"MET_profile",
"met.pt()", nbinsPV_, nPVMin_, nPVMax_, 200, 0, 1000);
233 meSumET_profile = ibooker.
bookProfile(
"SumET_profile",
"met.sumEt()", nbinsPV_, nPVMin_, nPVMax_, 400, 0, 4000);
237 meMEy_profile ->setAxisTitle(
"nvtx", 1);
238 meMET_profile ->setAxisTitle(
"nvtx", 1);
239 meSumET_profile->setAxisTitle(
"nvtx", 1);
241 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"MEx_profile",meMEx_profile));
242 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"MEy_profile",meMEy_profile));
243 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"MET_profile",meMET_profile));
244 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"SumET_profile",meSumET_profile));
248 hCaloMaxEtInEmTowers = ibooker.
book1D(
"CaloMaxEtInEmTowers",
"CaloMaxEtInEmTowers" ,100,0,2000);
249 hCaloMaxEtInEmTowers->
setAxisTitle(
"Et(Max) in EM Tower [GeV]",1);
250 hCaloMaxEtInHadTowers = ibooker.
book1D(
"CaloMaxEtInHadTowers",
"CaloMaxEtInHadTowers" ,100,0,2000);
251 hCaloMaxEtInHadTowers->
setAxisTitle(
"Et(Max) in Had Tower [GeV]",1);
253 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"CaloMaxEtInEmTowers",hCaloMaxEtInEmTowers));
254 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"CaloMaxEtInHadTowers",hCaloMaxEtInHadTowers));
256 hCaloHadEtInHB = ibooker.
book1D(
"CaloHadEtInHB",
"CaloHadEtInHB",100,0,2000);
258 hCaloHadEtInHO = ibooker.
book1D(
"CaloHadEtInHO",
"CaloHadEtInHO",25,0,500);
260 hCaloHadEtInHE = ibooker.
book1D(
"CaloHadEtInHE",
"CaloHadEtInHE",100,0,2000);
262 hCaloHadEtInHF = ibooker.
book1D(
"CaloHadEtInHF",
"CaloHadEtInHF",50,0,1000);
264 hCaloEmEtInHF = ibooker.
book1D(
"CaloEmEtInHF" ,
"CaloEmEtInHF" ,25,0,500);
266 hCaloEmEtInEE = ibooker.
book1D(
"CaloEmEtInEE" ,
"CaloEmEtInEE" ,50,0,1000);
268 hCaloEmEtInEB = ibooker.
book1D(
"CaloEmEtInEB" ,
"CaloEmEtInEB" ,100,0,2000);
271 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"CaloHadEtInHO",hCaloHadEtInHO));
272 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"CaloHadEtInHF",hCaloHadEtInHF));
273 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"CaloHadEtInHE",hCaloHadEtInHE));
274 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"CaloHadEtInHB",hCaloHadEtInHB));
275 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"CaloEmEtInHF",hCaloEmEtInHF));
276 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"CaloEmEtInEE",hCaloEmEtInEE));
277 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"CaloEmEtInEB",hCaloEmEtInEB));
279 hCaloMETPhi020 = ibooker.
book1D(
"CaloMETPhi020",
"CaloMETPhi020", 60, -3.2, 3.2);
280 hCaloMETPhi020 ->
setAxisTitle(
"METPhi [rad] (MET>20 GeV)", 1);
286 hCaloEtFractionHadronic = ibooker.
book1D(
"CaloEtFractionHadronic",
"CaloEtFractionHadronic",100,0,1);
287 hCaloEtFractionHadronic->
setAxisTitle(
"Hadronic Et Fraction",1);
288 hCaloEmEtFraction = ibooker.
book1D(
"CaloEmEtFraction",
"CaloEmEtFraction" ,100,0,1);
295 hCaloEmEtFraction020 = ibooker.
book1D(
"CaloEmEtFraction020",
"CaloEmEtFraction020" ,100,0,1);
296 hCaloEmEtFraction020->
setAxisTitle(
"EM Et Fraction (MET>20 GeV)",1);
298 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"CaloMETPhi020",hCaloMETPhi020));
299 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"CaloEtFractionHadronic",hCaloEtFractionHadronic));
300 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"CaloEmEtFraction", hCaloEmEtFraction));
301 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"CaloEmEtFraction020",hCaloEmEtFraction020));
327 mePhotonEtFraction = ibooker.
book1D(
"PfPhotonEtFraction",
"pfmet.photonEtFraction()", 50, 0, 1);
328 mePhotonEt = ibooker.
book1D(
"PfPhotonEt",
"pfmet.photonEt()", 100, 0, 1000);
329 meNeutralHadronEtFraction = ibooker.
book1D(
"PfNeutralHadronEtFraction",
"pfmet.neutralHadronEtFraction()", 50, 0, 1);
330 meNeutralHadronEt = ibooker.
book1D(
"PfNeutralHadronEt",
"pfmet.neutralHadronEt()", 100, 0, 1000);
331 meElectronEtFraction = ibooker.
book1D(
"PfElectronEtFraction",
"pfmet.electronEtFraction()", 50, 0, 1);
332 meElectronEt = ibooker.
book1D(
"PfElectronEt",
"pfmet.electronEt()", 100, 0, 1000);
333 meChargedHadronEtFraction = ibooker.
book1D(
"PfChargedHadronEtFraction",
"pfmet.chargedHadronEtFraction()", 50, 0, 1);
334 meChargedHadronEt = ibooker.
book1D(
"PfChargedHadronEt",
"pfmet.chargedHadronEt()", 100, 0, 1000);
335 meMuonEtFraction = ibooker.
book1D(
"PfMuonEtFraction",
"pfmet.muonEtFraction()", 50, 0, 1);
336 meMuonEt = ibooker.
book1D(
"PfMuonEt",
"pfmet.muonEt()", 100, 0, 1000);
337 meHFHadronEtFraction = ibooker.
book1D(
"PfHFHadronEtFraction",
"pfmet.HFHadronEtFraction()", 50, 0, 1);
338 meHFHadronEt = ibooker.
book1D(
"PfHFHadronEt",
"pfmet.HFHadronEt()", 100, 0, 1000);
339 meHFEMEtFraction = ibooker.
book1D(
"PfHFEMEtFraction",
"pfmet.HFEMEtFraction()", 50, 0, 1);
340 meHFEMEt = ibooker.
book1D(
"PfHFEMEt",
"pfmet.HFEMEt()", 100, 0, 1000);
342 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfPhotonEtFraction" ,mePhotonEtFraction));
343 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfPhotonEt" ,mePhotonEt));
344 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfNeutralHadronEtFraction",meNeutralHadronEtFraction));
345 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfNeutralHadronEt" ,meNeutralHadronEt));
346 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfElectronEtFraction" ,meElectronEtFraction));
347 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfElectronEt" ,meElectronEt));
348 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfChargedHadronEtFraction",meChargedHadronEtFraction));
349 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfChargedHadronEt" ,meChargedHadronEt));
350 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfMuonEtFraction" ,meMuonEtFraction));
351 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfMuonEt" ,meMuonEt));
352 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfHFHadronEtFraction" ,meHFHadronEtFraction));
353 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfHFHadronEt" ,meHFHadronEt));
354 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfHFEMEtFraction" ,meHFEMEtFraction));
355 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfHFEMEt" ,meHFEMEt));
357 mePhotonEtFraction_profile = ibooker.
bookProfile(
"PfPhotonEtFraction_profile",
"pfmet.photonEtFraction()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1);
358 mePhotonEt_profile = ibooker.
bookProfile(
"PfPhotonEt_profile",
"pfmet.photonEt()", nbinsPV_, nPVMin_, nPVMax_, 100, 0, 1000);
359 meNeutralHadronEtFraction_profile = ibooker.
bookProfile(
"PfNeutralHadronEtFraction_profile",
"pfmet.neutralHadronEtFraction()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1);
360 meNeutralHadronEt_profile = ibooker.
bookProfile(
"PfNeutralHadronEt_profile",
"pfmet.neutralHadronEt()", nbinsPV_, nPVMin_, nPVMax_, 100, 0, 1000);
361 meElectronEtFraction_profile = ibooker.
bookProfile(
"PfElectronEtFraction_profile",
"pfmet.electronEtFraction()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1);
362 meElectronEt_profile = ibooker.
bookProfile(
"PfElectronEt_profile",
"pfmet.electronEt()", nbinsPV_, nPVMin_, nPVMax_, 100, 0, 1000);
363 meChargedHadronEtFraction_profile = ibooker.
bookProfile(
"PfChargedHadronEtFraction_profile",
"pfmet.chargedHadronEtFraction()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1);
364 meChargedHadronEt_profile = ibooker.
bookProfile(
"PfChargedHadronEt_profile",
"pfmet.chargedHadronEt()", nbinsPV_, nPVMin_, nPVMax_, 100, 0, 1000);
365 meMuonEtFraction_profile = ibooker.
bookProfile(
"PfMuonEtFraction_profile",
"pfmet.muonEtFraction()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1);
366 meMuonEt_profile = ibooker.
bookProfile(
"PfMuonEt_profile",
"pfmet.muonEt()", nbinsPV_, nPVMin_, nPVMax_, 100, 0, 1000);
367 meHFHadronEtFraction_profile = ibooker.
bookProfile(
"PfHFHadronEtFraction_profile",
"pfmet.HFHadronEtFraction()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1);
368 meHFHadronEt_profile = ibooker.
bookProfile(
"PfHFHadronEt_profile",
"pfmet.HFHadronEt()", nbinsPV_, nPVMin_, nPVMax_, 100, 0, 1000);
369 meHFEMEtFraction_profile = ibooker.
bookProfile(
"PfHFEMEtFraction_profile",
"pfmet.HFEMEtFraction()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1);
370 meHFEMEt_profile = ibooker.
bookProfile(
"PfHFEMEt_profile",
"pfmet.HFEMEt()", nbinsPV_, nPVMin_, nPVMax_, 100, 0, 1000);
373 mePhotonEt_profile ->setAxisTitle(
"nvtx", 1);
374 meNeutralHadronEtFraction_profile->setAxisTitle(
"nvtx", 1);
375 meNeutralHadronEt_profile ->setAxisTitle(
"nvtx", 1);
376 meElectronEtFraction_profile ->setAxisTitle(
"nvtx", 1);
377 meElectronEt_profile ->setAxisTitle(
"nvtx", 1);
378 meChargedHadronEtFraction_profile->setAxisTitle(
"nvtx", 1);
379 meChargedHadronEt_profile ->setAxisTitle(
"nvtx", 1);
380 meMuonEtFraction_profile ->setAxisTitle(
"nvtx", 1);
381 meMuonEt_profile ->setAxisTitle(
"nvtx", 1);
382 meHFHadronEtFraction_profile ->setAxisTitle(
"nvtx", 1);
383 meHFHadronEt_profile ->setAxisTitle(
"nvtx", 1);
384 meHFEMEtFraction_profile ->setAxisTitle(
"nvtx", 1);
385 meHFEMEt_profile ->setAxisTitle(
"nvtx", 1);
387 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfPhotonEtFraction_profile" ,mePhotonEtFraction_profile));
388 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfPhotonEt_profile" ,mePhotonEt_profile));
389 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfNeutralHadronEtFraction_profile" ,meNeutralHadronEtFraction_profile));
390 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfNeutralHadronEt_profile" ,meNeutralHadronEt_profile));
391 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfElectronEtFraction_profile" ,meElectronEtFraction_profile));
392 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfElectronEt_profile" ,meElectronEt_profile));
393 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfChargedHadronEtFraction_profile" ,meChargedHadronEtFraction_profile));
394 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfChargedHadronEt_profile" ,meChargedHadronEt_profile));
395 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfMuonEtFraction_profile" ,meMuonEtFraction_profile));
396 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfMuonEt_profile" ,meMuonEt_profile));
397 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfHFHadronEtFraction_profile" ,meHFHadronEtFraction_profile));
398 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfHFHadronEt_profile" ,meHFHadronEt_profile));
399 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfHFEMEtFraction_profile" ,meHFEMEtFraction_profile));
400 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"PfHFEMEt_profile" ,meHFEMEt_profile));
404 if (fill_met_high_level_histo){
405 hMExLS = ibooker.
book2D(
"MExLS",
"MEx_LS",200,-200,200,250,0.,2500.);
407 hMExLS->setAxisTitle(
"Lumi Section",2);
408 hMExLS->getTH2F()->SetOption(
"colz");
409 hMEyLS = ibooker.
book2D(
"MEyLS",
"MEy_LS",200,-200,200,250,0.,2500.);
411 hMEyLS->setAxisTitle(
"Lumi Section",2);
412 hMEyLS->getTH2F()->SetOption(
"colz");
413 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"MExLS",hMExLS));
414 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"MEyLS",hMEyLS));
455 hMETRate = ibooker.
book1D(
"METRate",
"METRate", 200, 0, 1000);
456 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+
"/"+
"METRate",hMETRate));
460 lumisecME = ibooker.
book1D(
"lumisec",
"lumisec", 2500, 0., 2500.);
461 map_of_MEs.insert(std::pair<std::string,MonitorElement*>(
"JetMET/lumisec",lumisecME));
472 if (hltConfig_.init(iRun,iSetup,triggerResultsLabel_.process(),changed)) {
474 hltConfig_.dump(
"ProcessName");
475 hltConfig_.dump(
"GlobalTag");
476 hltConfig_.dump(
"TableName");
483 if (verbose_)
std::cout <<
"HLTEventAnalyzerAOD::analyze:"
484 <<
" config extraction failure with process name "
485 << triggerResultsLabel_.process() << std::endl;
488 allTriggerNames_.clear();
489 for (
unsigned i = 0;
i<hltConfig_.size();
i++) {
490 allTriggerNames_.push_back(hltConfig_.triggerName(
i));
495 for ( std::vector<GenericTriggerEventFlag *>::const_iterator it = triggerFolderEventFlag_.begin(); it!= triggerFolderEventFlag_.end(); it++) {
496 int pos = it - triggerFolderEventFlag_.begin();
498 (*it)->initRun( iRun, iSetup );
499 if (triggerSelectedSubFolders_[pos].exists(
std::string(
"hltDBKey"))) {
501 if ((*it)->expressionsFromDB((*it)->hltDBKey(), iSetup)[0] !=
"CONFIG_ERROR")
502 triggerFolderExpr_[pos] = (*it)->expressionsFromDB((*it)->hltDBKey(), iSetup);
520 meLumiSec = map_dijet_MEs[
"JetMET/lumisec"];
526 tlumisec = meLumiSec->
getTH1F();
531 for (
int i=0;
i< (tlumisec->GetNbinsX());
i++){
532 if (tlumisec->GetBinContent(
i)!=0){
534 totlssecsum+=tlumisec->GetBinContent(
i);
537 int num_per_ls=(double)totlssecsum/(
double)totlsec;
538 totlsec=totlsec+tlumisec->GetBinContent(tlumisec->GetNbinsX()+1)/(
double)num_per_ls;
539 totltime = double(totlsec*90);
542 if (totltime==0.) totltime=1.;
551 for (std::vector<std::string>::const_iterator ic = folderNames_.begin(); ic != folderNames_.end(); ic++) {
553 DirName = dirName+*ic;
554 makeRatePlot(DirName,totltime);
555 for ( std::vector<GenericTriggerEventFlag *>::const_iterator it = triggerFolderEventFlag_.begin(); it!= triggerFolderEventFlag_.end(); it++) {
556 int pos = it - triggerFolderEventFlag_.begin();
558 makeRatePlot(DirName+
"/"+triggerFolderLabels_[pos],totltime);
577 if ( meMET && mMETRate){
582 tMETRate = (TH1F*) tMET->Clone(
"METRateHist");
583 for (
int i = tMETRate->GetNbinsX()-1;
i>=0;
i--){
584 mMETRate->
setBinContent(
i+1,tMETRate->GetBinContent(
i+2)+tMET->GetBinContent(
i+1));
586 for (
int i = 0;
i<tMETRate->GetNbinsX();
i++){
587 mMETRate->
setBinContent(
i+1,tMETRate->GetBinContent(
i+1)/double(totltime));
599 int myLuminosityBlock;
601 if(fill_met_high_level_histo){
602 lumisecME=map_dijet_MEs[
"JetMET/lumisec"];
if(lumisecME && lumisecME->getRootObject()) lumisecME->Fill(myLuminosityBlock);
605 if (myLuminosityBlock<LSBegin_)
return;
606 if (myLuminosityBlock>LSEnd_ && LSEnd_>0)
return;
608 if (verbose_)
std::cout <<
"METAnalyzer analyze" << std::endl;
627 std::vector<int> triggerFolderDecisions;
628 triggerFolderDecisions_ = std::vector<int> (triggerFolderEventFlag_.size(), 0);
633 if( triggerResults.isValid()) {
636 int ntrigs = (*triggerResults).size();
637 if (verbose_)
std::cout <<
"ntrigs=" << ntrigs << std::endl;
639 for (std::vector<GenericTriggerEventFlag *>::const_iterator it = triggerFolderEventFlag_.begin(); it!=triggerFolderEventFlag_.end();it++) {
640 unsigned pos = it - triggerFolderEventFlag_.begin();
641 bool fd = (*it)->accept(iEvent, iSetup);
642 triggerFolderDecisions_[pos] = fd;
644 allTriggerDecisions_.clear();
645 for (
unsigned i=0;
i<allTriggerNames_.size();++
i) {
646 allTriggerDecisions_.push_back((*triggerResults).accept(
i));
664 iEvent.
getByToken(caloMetToken_, calometcoll);
665 if(!calometcoll.
isValid())
return;
669 if(!pfmetcoll.
isValid())
return;
679 met=&(pfmetcoll->front());
680 pfmet=&(pfmetcoll->front());
683 met=&(calometcoll->front());
684 calomet=&(calometcoll->front());
712 iEvent.
getByToken(HcalNoiseRBXToken_,HRBXCollection);
713 if (!HRBXCollection.
isValid()) {
714 LogDebug(
"") <<
"METAnalyzer: Could not find HcalNoiseRBX Collection" << std::endl;
715 if (verbose_)
std::cout <<
"METAnalyzer: Could not find HcalNoiseRBX Collection" << std::endl;
719 iEvent.
getByToken(hbheNoiseFilterResultToken_, HBHENoiseFilterResultHandle);
720 bool HBHENoiseFilterResult = *HBHENoiseFilterResultHandle;
721 if (!HBHENoiseFilterResultHandle.
isValid()) {
722 LogDebug(
"") <<
"METAnalyzer: Could not find HBHENoiseFilterResult" << std::endl;
723 if (verbose_)
std::cout <<
"METAnalyzer: Could not find HBHENoiseFilterResult" << std::endl;
728 bool bDiJetID =
false;
741 LogDebug(
"") <<
"METAnalyzer: Could not find calojet product" << std::endl;
742 if (verbose_)
std::cout <<
"METAnalyzer: Could not find calojet product" << std::endl;
744 collsize=caloJets->size();
759 iEvent.
getByToken(jetID_ValueMapToken_,jetID_ValueMap_Handle);
763 if (isPFMet_){ iEvent.
getByToken(pfJetsToken_, pfJets);
765 LogDebug(
"") <<
"METAnalyzer: Could not find pfjet product" << std::endl;
766 if (verbose_)
std::cout <<
"METAnalyzer: Could not find pfjet product" << std::endl;
768 collsize=pfJets->size();
771 unsigned int ind1=-1;
773 bool pass_jetID1=
false;
774 unsigned int ind2=-1;
776 bool pass_jetID2=
false;
779 for (
int ijet=0; ijet<collsize; ijet++) {
782 bool iscleaned=
false;
783 if (!jetCorrectionService_.empty()) {
786 scale = corrector->
correction((*caloJets)[ijet], iEvent, iSetup);
792 scale = corrector->
correction((*pfJets)[ijet], iEvent, iSetup);
796 pt_jet=scale*(*caloJets)[ijet].pt();
797 if(pt_jet> ptThreshold_){
801 iscleaned = jetIDFunctorLoose((*caloJets)[ijet], jetID);
823 pt_jet=scale*(*pfJets)[ijet].pt();
824 if(pt_jet> ptThreshold_){
825 iscleaned = pfjetIDFunctorLoose((*pfJets)[ijet]);
834 pass_jetID2=pass_jetID1;
837 pass_jetID1=iscleaned;
838 }
else if (pt_jet>pt2){
841 pass_jetID2=iscleaned;
844 if(pass_jetID1 && pass_jetID2){
847 dphi=fabs((*caloJets)[ind1].
phi()-(*caloJets)[ind2].
phi());
853 dphi=fabs((*pfJets)[ind1].
phi()-(*pfJets)[ind2].
phi());
856 dphi=2*acos(-1.)-dphi;
866 bool bHBHENoiseFilter = HBHENoiseFilterResult;
871 iEvent.
getByToken(beamHaloSummaryToken_, TheBeamHaloSummary) ;
873 if (!TheBeamHaloSummary.
isValid()) {
874 if (verbose_)
std::cout <<
"BeamHaloSummary doesn't exist" << std::endl;
877 bool bBeamHaloID =
true;
879 if(!TheBeamHaloSummary.
isValid()) {
891 iEvent.
getByToken(vertexToken_, vertexHandle);
894 LogDebug(
"") <<
"CaloMETAnalyzer: Could not find vertex collection" << std::endl;
895 if (verbose_)
std::cout <<
"CaloMETAnalyzer: Could not find vertex collection" << std::endl;
900 numPV_ = vertexCollection.size();
902 bool bPrimaryVertex = (bypassAllPVChecks_ || (numPV_>0));
906 iEvent.
getByToken( gtToken_, gtReadoutRecord);
908 if (!gtReadoutRecord.
isValid()) {
909 LogDebug(
"") <<
"CaloMETAnalyzer: Could not find GT readout record" << std::endl;
910 if (verbose_)
std::cout <<
"CaloMETAnalyzer: Could not find GT readout record product" << std::endl;
913 bool bDCSFilter = (bypassAllDCSChecks_ || DCSFilter_->filter(iEvent, iSetup));
917 for (std::vector<std::string>::const_iterator ic = folderNames_.begin();
918 ic != folderNames_.end(); ic++){
919 if ((*ic==
"Uncleaned") &&(isCaloMet_ || bPrimaryVertex)) fillMESet(iEvent, DirName+
"/"+*ic, *met,*pfmet,*calomet,map_dijet_MEs);
921 if ((*ic==
"Cleaned") &&bDCSFilter&&bHBHENoiseFilter&&bPrimaryVertex&&bBeamHaloID&&bJetID) fillMESet(iEvent, DirName+
"/"+*ic, *met,*pfmet,*calomet,map_dijet_MEs);
922 if ((*ic==
"DiJet" ) &&bDCSFilter&&bHBHENoiseFilter&&bPrimaryVertex&&bBeamHaloID&&bDiJetID) fillMESet(iEvent, DirName+
"/"+*ic, *met,*pfmet,*calomet,map_dijet_MEs);
934 bool bLumiSecPlot=fill_met_high_level_histo;
936 fillMonitorElement(iEvent, DirName,
std::string(
""), met, pfmet, calomet, map_of_MEs,bLumiSecPlot);
937 if (DirName.find(
"Cleaned")) {
938 for (
unsigned i = 0;
i<triggerFolderLabels_.size();
i++) {
939 if (triggerFolderDecisions_[
i]) fillMonitorElement(iEvent, DirName, triggerFolderLabels_[i], met, pfmet, calomet, map_of_MEs,
false);
943 if (DirName.find(
"DiJet")) {
944 for (
unsigned i = 0;
i<triggerFolderLabels_.size();
i++) {
945 if (triggerFolderDecisions_[
i]) fillMonitorElement(iEvent, DirName, triggerFolderLabels_[i], met, pfmet, calomet, map_of_MEs,
false);
999 double SumET = met.
sumEt();
1000 double METSig = met.
mEtSig();
1002 double MET = met.
pt();
1003 double MEx = met.
px();
1004 double MEy = met.
py();
1005 double METPhi = met.
phi();
1007 int myLuminosityBlock;
1011 if (subFolderName!=
"") DirName = DirName +
"/"+subFolderName;
1014 hTrigger = map_of_MEs[DirName+
"/triggerResults"];
1016 if (hTrigger && hTrigger->getRootObject()) {
1018 for (
unsigned int i = 0;
i<allTriggerDecisions_.size();
i++){
1020 if(
i<(
unsigned int)hTrigger->getNbinsX()){
1021 hTrigger->Fill(
i + .5, allTriggerDecisions_[
i]);
1022 if (!hTriggerLabelsIsSet_) {
1023 hTrigger->setBinLabel(i+1, allTriggerNames_[i]);
1027 if (!hTriggerLabelsIsSet_)
for (
int i = allTriggerDecisions_.size();
i<hTrigger->getNbinsX();
i++){
1028 hTrigger->setBinLabel(
i+1,
"");
1030 hTriggerLabelsIsSet_ =
true;
1035 hMEx = map_of_MEs[DirName+
"/"+
"MEx"];
if (hMEx && hMEx->getRootObject()) hMEx ->
Fill(MEx);
1036 hMEy = map_of_MEs[DirName+
"/"+
"MEy"];
if (hMEy && hMEy->getRootObject()) hMEy ->
Fill(MEy);
1037 hMET = map_of_MEs[DirName+
"/"+
"MET"];
if (hMET && hMET->getRootObject()) hMET ->
Fill(MET);
1038 hMETPhi = map_of_MEs[DirName+
"/"+
"METPhi"];
if (hMETPhi && hMETPhi->getRootObject()) hMETPhi ->
Fill(METPhi);
1039 hSumET = map_of_MEs[DirName+
"/"+
"SumET"];
if (hSumET && hSumET->getRootObject()) hSumET ->
Fill(SumET);
1040 hMETSig = map_of_MEs[DirName+
"/"+
"METSig"];
if (hMETSig && hMETSig->getRootObject()) hMETSig ->
Fill(METSig);
1041 hMET_logx = map_of_MEs[DirName+
"/"+
"MET_logx"];
if (hMET_logx && hMET_logx->getRootObject()) hMET_logx->Fill(log10(MET));
1042 hSumET_logx = map_of_MEs[DirName+
"/"+
"SumET_logx"];
if (hSumET_logx && hSumET_logx->getRootObject()) hSumET_logx->Fill(log10(SumET));
1046 meMEx_profile = map_of_MEs[DirName +
"/MEx_profile"];
1047 meMEy_profile = map_of_MEs[DirName +
"/MEy_profile"];
1048 meMET_profile = map_of_MEs[DirName +
"/MET_profile"];
1049 meSumET_profile = map_of_MEs[DirName +
"/SumET_profile"];
1051 if (meMEx_profile && meMEx_profile ->getRootObject()) meMEx_profile ->Fill(numPV_, MEx);
1052 if (meMEy_profile && meMEy_profile ->getRootObject()) meMEy_profile ->Fill(numPV_, MEy);
1053 if (meMET_profile && meMET_profile ->getRootObject()) meMET_profile ->Fill(numPV_, MET);
1054 if (meSumET_profile && meSumET_profile->getRootObject()) meSumET_profile->Fill(numPV_, SumET);
1067 double caloHadEtInHB = calomet.
hadEtInHB();
1068 double caloHadEtInHO = calomet.
hadEtInHO();
1069 double caloHadEtInHE = calomet.
hadEtInHE();
1070 double caloHadEtInHF = calomet.
hadEtInHF();
1071 double caloEmEtInEB = calomet.
emEtInEB();
1072 double caloEmEtInEE = calomet.
emEtInEE();
1073 double caloEmEtInHF = calomet.
emEtInHF();
1075 hCaloMaxEtInEmTowers = map_of_MEs[DirName+
"/"+
"CaloMaxEtInEmTowers"];
if (hCaloMaxEtInEmTowers && hCaloMaxEtInEmTowers->getRootObject()) hCaloMaxEtInEmTowers->Fill(caloMaxEtInEMTowers);
1076 hCaloMaxEtInHadTowers = map_of_MEs[DirName+
"/"+
"CaloMaxEtInHadTowers"];
if (hCaloMaxEtInHadTowers && hCaloMaxEtInHadTowers->getRootObject()) hCaloMaxEtInHadTowers->Fill(caloMaxEtInHadTowers);
1078 hCaloHadEtInHB = map_of_MEs[DirName+
"/"+
"CaloHadEtInHB"];
if (hCaloHadEtInHB && hCaloHadEtInHB->getRootObject()) hCaloHadEtInHB->Fill(caloHadEtInHB);
1079 hCaloHadEtInHO = map_of_MEs[DirName+
"/"+
"CaloHadEtInHO"];
if (hCaloHadEtInHO && hCaloHadEtInHO->getRootObject()) hCaloHadEtInHO->Fill(caloHadEtInHO);
1080 hCaloHadEtInHE = map_of_MEs[DirName+
"/"+
"CaloHadEtInHE"];
if (hCaloHadEtInHE && hCaloHadEtInHE->getRootObject()) hCaloHadEtInHE->Fill(caloHadEtInHE);
1081 hCaloHadEtInHF = map_of_MEs[DirName+
"/"+
"CaloHadEtInHF"];
if (hCaloHadEtInHF && hCaloHadEtInHF->getRootObject()) hCaloHadEtInHF->Fill(caloHadEtInHF);
1082 hCaloEmEtInEB = map_of_MEs[DirName+
"/"+
"CaloEmEtInEB"];
if (hCaloEmEtInEB && hCaloEmEtInEB->getRootObject()) hCaloEmEtInEB->Fill(caloEmEtInEB);
1083 hCaloEmEtInEE = map_of_MEs[DirName+
"/"+
"CaloEmEtInEE"];
if (hCaloEmEtInEE && hCaloEmEtInEE->getRootObject()) hCaloEmEtInEE->Fill(caloEmEtInEE);
1084 hCaloEmEtInHF = map_of_MEs[DirName+
"/"+
"CaloEmEtInHF"];
if (hCaloEmEtInHF && hCaloEmEtInHF->getRootObject()) hCaloEmEtInHF->Fill(caloEmEtInHF);
1086 hCaloMETPhi020 = map_of_MEs[DirName+
"/"+
"CaloMETPhi020"];
if (MET> 20. && hCaloMETPhi020 && hCaloMETPhi020->getRootObject()) { hCaloMETPhi020->Fill(METPhi);}
1089 hCaloEtFractionHadronic = map_of_MEs[DirName+
"/"+
"CaloEtFractionHadronic"];
if (hCaloEtFractionHadronic && hCaloEtFractionHadronic->getRootObject()) hCaloEtFractionHadronic->Fill(caloEtFractionHadronic);
1090 hCaloEmEtFraction = map_of_MEs[DirName+
"/"+
"CaloEmEtFraction"];
if (hCaloEmEtFraction && hCaloEmEtFraction->getRootObject()) hCaloEmEtFraction->Fill(caloEmEtFraction);
1091 hCaloEmEtFraction020 = map_of_MEs[DirName+
"/"+
"CaloEmEtFraction020"];
if (MET> 20. && hCaloEmEtFraction020 && hCaloEmEtFraction020->getRootObject()) hCaloEmEtFraction020->Fill(caloEmEtFraction);
1125 double pfPhotonEt = pfmet.
photonEt();
1133 double pfMuonEt = pfmet.
muonEt();
1137 double pfHFEMEt = pfmet.
HFEMEt();
1139 mePhotonEtFraction = map_of_MEs[DirName +
"/PfPhotonEtFraction"];
1140 mePhotonEt = map_of_MEs[DirName +
"/PfPhotonEt"];
1141 meNeutralHadronEtFraction = map_of_MEs[DirName +
"/PfNeutralHadronEtFraction"];
1142 meNeutralHadronEt = map_of_MEs[DirName +
"/PfNeutralHadronEt"];
1143 meElectronEtFraction = map_of_MEs[DirName +
"/PfElectronEtFraction"];
1144 meElectronEt = map_of_MEs[DirName +
"/PfElectronEt"];
1145 meChargedHadronEtFraction = map_of_MEs[DirName +
"/PfChargedHadronEtFraction"];
1146 meChargedHadronEt = map_of_MEs[DirName +
"/PfChargedHadronEt"];
1147 meMuonEtFraction = map_of_MEs[DirName +
"/PfMuonEtFraction"];
1148 meMuonEt = map_of_MEs[DirName +
"/PfMuonEt"];
1149 meHFHadronEtFraction = map_of_MEs[DirName +
"/PfHFHadronEtFraction"];
1150 meHFHadronEt = map_of_MEs[DirName +
"/PfHFHadronEt"];
1151 meHFEMEtFraction = map_of_MEs[DirName +
"/PfHFEMEtFraction"];
1152 meHFEMEt = map_of_MEs[DirName +
"/PfHFEMEt"];
1154 if (mePhotonEtFraction && mePhotonEtFraction ->getRootObject()) mePhotonEtFraction ->Fill(pfPhotonEtFraction);
1155 if (mePhotonEt && mePhotonEt ->getRootObject()) mePhotonEt ->Fill(pfPhotonEt);
1156 if (meNeutralHadronEtFraction && meNeutralHadronEtFraction->getRootObject()) meNeutralHadronEtFraction->Fill(pfNeutralHadronEtFraction);
1157 if (meNeutralHadronEt && meNeutralHadronEt ->getRootObject()) meNeutralHadronEt ->Fill(pfNeutralHadronEt);
1158 if (meElectronEtFraction && meElectronEtFraction ->getRootObject()) meElectronEtFraction ->Fill(pfElectronEtFraction);
1159 if (meElectronEt && meElectronEt ->getRootObject()) meElectronEt ->Fill(pfElectronEt);
1160 if (meChargedHadronEtFraction && meChargedHadronEtFraction->getRootObject()) meChargedHadronEtFraction->Fill(pfChargedHadronEtFraction);
1161 if (meChargedHadronEt && meChargedHadronEt ->getRootObject()) meChargedHadronEt ->Fill(pfChargedHadronEt);
1162 if (meMuonEtFraction && meMuonEtFraction ->getRootObject()) meMuonEtFraction ->Fill(pfMuonEtFraction);
1163 if (meMuonEt && meMuonEt ->getRootObject()) meMuonEt ->Fill(pfMuonEt);
1164 if (meHFHadronEtFraction && meHFHadronEtFraction ->getRootObject()) meHFHadronEtFraction ->Fill(pfHFHadronEtFraction);
1165 if (meHFHadronEt && meHFHadronEt ->getRootObject()) meHFHadronEt ->Fill(pfHFHadronEt);
1166 if (meHFEMEtFraction && meHFEMEtFraction ->getRootObject()) meHFEMEtFraction ->Fill(pfHFEMEtFraction);
1167 if (meHFEMEt && meHFEMEt ->getRootObject()) meHFEMEt ->Fill(pfHFEMEt);
1171 mePhotonEtFraction_profile = map_of_MEs[DirName +
"/PfPhotonEtFraction_profile"];
1172 mePhotonEt_profile = map_of_MEs[DirName +
"/PfPhotonEt_profile"];
1173 meNeutralHadronEtFraction_profile = map_of_MEs[DirName +
"/PfNeutralHadronEtFraction_profile"];
1174 meNeutralHadronEt_profile = map_of_MEs[DirName +
"/PfNeutralHadronEt_profile"];
1175 meElectronEtFraction_profile = map_of_MEs[DirName +
"/PfElectronEtFraction_profile"];
1176 meElectronEt_profile = map_of_MEs[DirName +
"/PfElectronEt_profile"];
1177 meChargedHadronEtFraction_profile = map_of_MEs[DirName +
"/PfChargedHadronEtFraction_profile"];
1178 meChargedHadronEt_profile = map_of_MEs[DirName +
"/PfChargedHadronEt_profile"];
1179 meMuonEtFraction_profile = map_of_MEs[DirName +
"/PfMuonEtFraction_profile"];
1180 meMuonEt_profile = map_of_MEs[DirName +
"/PfMuonEt_profile"];
1181 meHFHadronEtFraction_profile = map_of_MEs[DirName +
"/PfHFHadronEtFraction_profile"];
1182 meHFHadronEt_profile = map_of_MEs[DirName +
"/PfHFHadronEt_profile"];
1183 meHFEMEtFraction_profile = map_of_MEs[DirName +
"/PfHFEMEtFraction_profile"];
1184 meHFEMEt_profile = map_of_MEs[DirName +
"/PfHFEMEt_profile"];
1186 if (mePhotonEtFraction_profile && mePhotonEtFraction_profile ->getRootObject()) mePhotonEtFraction_profile ->Fill(numPV_, pfPhotonEtFraction);
1187 if (mePhotonEt_profile && mePhotonEt_profile ->getRootObject()) mePhotonEt_profile ->Fill(numPV_, pfPhotonEt);
1188 if (meNeutralHadronEtFraction_profile && meNeutralHadronEtFraction_profile->getRootObject()) meNeutralHadronEtFraction_profile->Fill(numPV_, pfNeutralHadronEtFraction);
1189 if (meNeutralHadronEt_profile && meNeutralHadronEt_profile ->getRootObject()) meNeutralHadronEt_profile ->Fill(numPV_, pfNeutralHadronEt);
1190 if (meElectronEtFraction_profile && meElectronEtFraction_profile ->getRootObject()) meElectronEtFraction_profile ->Fill(numPV_, pfElectronEtFraction);
1191 if (meElectronEt_profile && meElectronEt_profile ->getRootObject()) meElectronEt_profile ->Fill(numPV_, pfElectronEt);
1192 if (meChargedHadronEtFraction_profile && meChargedHadronEtFraction_profile->getRootObject()) meChargedHadronEtFraction_profile->Fill(numPV_, pfChargedHadronEtFraction);
1193 if (meChargedHadronEt_profile && meChargedHadronEt_profile ->getRootObject()) meChargedHadronEt_profile ->Fill(numPV_, pfChargedHadronEt);
1194 if (meMuonEtFraction_profile && meMuonEtFraction_profile ->getRootObject()) meMuonEtFraction_profile ->Fill(numPV_, pfMuonEtFraction);
1195 if (meMuonEt_profile && meMuonEt_profile ->getRootObject()) meMuonEt_profile ->Fill(numPV_, pfMuonEt);
1196 if (meHFHadronEtFraction_profile && meHFHadronEtFraction_profile ->getRootObject()) meHFHadronEtFraction_profile ->Fill(numPV_, pfHFHadronEtFraction);
1197 if (meHFHadronEt_profile && meHFHadronEt_profile ->getRootObject()) meHFHadronEt_profile ->Fill(numPV_, pfHFHadronEt);
1198 if (meHFEMEtFraction_profile && meHFEMEtFraction_profile ->getRootObject()) meHFEMEtFraction_profile ->Fill(numPV_, pfHFEMEtFraction);
1199 if (meHFEMEt_profile && meHFEMEt_profile ->getRootObject()) meHFEMEt_profile ->Fill(numPV_, pfHFEMEt);
1204 if (fill_met_high_level_histo){
1205 hMExLS = map_of_MEs[DirName+
"/"+
"MExLS"];
if (hMExLS && hMExLS->getRootObject()) hMExLS->Fill(MEx,myLuminosityBlock);
1206 hMEyLS = map_of_MEs[DirName+
"/"+
"MEyLS"];
if (hMEyLS && hMEyLS->getRootObject()) hMEyLS->Fill(MEy,myLuminosityBlock);
const bool EcalTightHaloId() const
T getParameter(std::string const &) const
void setBinContent(int binx, double content)
set content of bin (1-D)
tuple met
____________________________________________________________________________||
double HFEMEtFraction() const
const bool HcalTightHaloId() const
MonitorElement * bookProfile(Args &&...args)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const std::string metname
virtual double correction(const LorentzVector &fJet) const =0
get correction using Jet information only
std::vector< ParameterSet > VParameterSet
double maxEtInHadTowers() const
double neutralHadronEtFraction() const
edm::LuminosityBlockNumber_t luminosityBlock() const
std::vector< Vertex > VertexCollection
collection of Vertex objects
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
const bool GlobalTightHaloId() const
double maxEtInEmTowers() const
virtual double py() const GCC11_FINAL
y coordinate of momentum vector
triggerResultsToken_(consumes< edm::TriggerResults >(edm::InputTag("TriggerResults")))
const bool CSCTightHaloId() const
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
double HFHadronEtFraction() const
double muonEtFraction() const
double HFHadronEt() const
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
double photonEtFraction() const
MonitorElement * book1D(Args &&...args)
virtual double px() const GCC11_FINAL
x coordinate of momentum vector
PF Jet selector for pat::Jets.
double electronEt() const
Jet selector for pat::Jets and for CaloJets.
TObject * getRootObject(void) const
void setCurrentFolder(const std::string &fullpath)
double etFractionHadronic() const
MonitorElement * book2D(Args &&...args)
static std::string const triggerResults("TriggerResults")
static const JetCorrector * getJetCorrector(const std::string &fName, const edm::EventSetup &fSetup)
retrieve corrector from the event setup. troughs exception if something is missing ...
TH1F * getTH1F(void) const
T const * product() const
double electronEtFraction() const
double chargedHadronEtFraction() const
double neutralHadronEt() const
virtual float pt() const GCC11_FINAL
transverse momentum
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
double emEtFraction() const
double chargedHadronEt() const