58 highPtJetExpr_ = highptjetparms.
getParameter<std::vector<std::string> >(
"hltPaths");
59 lowPtJetExpr_ = lowptjetparms .getParameter<std::vector<std::string> >(
"hltPaths");
60 highMETExpr_ = highmetparms .getParameter<std::vector<std::string> >(
"hltPaths");
62 muonExpr_ = muonparms .getParameter<std::vector<std::string> >(
"hltPaths");
63 elecExpr_ = eleparms .getParameter<std::vector<std::string> >(
"hltPaths");
64 minbiasExpr_ = minbiasparms .getParameter<std::vector<std::string> >(
"hltPaths");
71 delete _HighPtJetEventFlag;
72 delete _LowPtJetEventFlag;
73 delete _MinBiasEventFlag;
74 delete _HighMETEventFlag;
77 delete _MuonEventFlag;
87 HLTPathsJetMBByName_ =
parameters.getParameter<std::vector<std::string > >(
"HLTPathsJetMB");
93 _techTrigsAND = theCleaningParameters.getParameter<std::vector<unsigned > >(
"techTrigsAND");
94 _techTrigsOR = theCleaningParameters.getParameter<std::vector<unsigned > >(
"techTrigsOR");
95 _techTrigsNOT = theCleaningParameters.getParameter<std::vector<unsigned > >(
"techTrigsNOT");
97 _doHLTPhysicsOn = theCleaningParameters.getParameter<
bool>(
"doHLTPhysicsOn");
98 _hlt_PhysDec = theCleaningParameters.getParameter<
std::string>(
"HLT_PhysDec");
100 _tightBHFiltering = theCleaningParameters.getParameter<
bool>(
"tightBHFiltering");
101 _tightJetIDFiltering = theCleaningParameters.getParameter<
int>(
"tightJetIDFiltering");
110 _doPVCheck = theCleaningParameters.getParameter<
bool>(
"doPrimaryVertexCheck");
111 vertexTag = theCleaningParameters.getParameter<
edm::InputTag>(
"vertexLabel");
114 _nvtx_min = theCleaningParameters.getParameter<
int>(
"nvtx_min");
115 _nvtxtrks_min = theCleaningParameters.getParameter<
int>(
"nvtxtrks_min");
116 _vtxndof_min = theCleaningParameters.getParameter<
int>(
"vtxndof_min");
117 _vtxchi2_max = theCleaningParameters.getParameter<
double>(
"vtxchi2_max");
118 _vtxz_max = theCleaningParameters.getParameter<
double>(
"vtxz_max");
135 _verbose =
parameters.getParameter<
int>(
"verbose");
136 _etThreshold =
parameters.getParameter<
double>(
"etThreshold");
137 _allhist =
parameters.getParameter<
bool>(
"allHist");
138 _allSelection=
parameters.getParameter<
bool>(
"allSelection");
139 _cleanupSelection=
parameters.getParameter<
bool>(
"cleanupSelection");
141 _highPtPFJetThreshold =
parameters.getParameter<
double>(
"HighPtJetThreshold");
142 _lowPtPFJetThreshold =
parameters.getParameter<
double>(
"LowPtJetThreshold");
143 _highPFMETThreshold =
parameters.getParameter<
double>(
"HighMETThreshold");
153 metME = dbe->
book1D(
"metReco",
"metReco", 4, 1, 5);
158 _FolderNames.push_back(
"All");
159 _FolderNames.push_back(
"BasicCleanup");
160 _FolderNames.push_back(
"ExtraCleanup");
161 _FolderNames.push_back(
"HcalNoiseFilter");
162 _FolderNames.push_back(
"JetIDMinimal");
163 _FolderNames.push_back(
"JetIDLoose");
164 _FolderNames.push_back(
"JetIDTight");
165 _FolderNames.push_back(
"BeamHaloIDTightPass");
166 _FolderNames.push_back(
"BeamHaloIDLoosePass");
167 _FolderNames.push_back(
"Triggers");
168 _FolderNames.push_back(
"PV");
170 for (std::vector<std::string>::const_iterator ic = _FolderNames.begin();
171 ic != _FolderNames.end(); ic++){
172 if (*ic==
"All") bookMESet(DirName+
"/"+*ic);
173 if (_cleanupSelection){
174 if (*ic==
"BasicCleanup") bookMESet(DirName+
"/"+*ic);
175 if (*ic==
"ExtraCleanup") bookMESet(DirName+
"/"+*ic);
178 if (*ic==
"HcalNoiseFilter") bookMESet(DirName+
"/"+*ic);
179 if (*ic==
"JetIDMinimal") bookMESet(DirName+
"/"+*ic);
180 if (*ic==
"JetIDLoose") bookMESet(DirName+
"/"+*ic);
181 if (*ic==
"JetIDTight") bookMESet(DirName+
"/"+*ic);
182 if (*ic==
"BeamHaloIDTightPass") bookMESet(DirName+
"/"+*ic);
183 if (*ic==
"BeamHaloIDLoosePass") bookMESet(DirName+
"/"+*ic);
184 if (*ic==
"Triggers") bookMESet(DirName+
"/"+*ic);
185 if (*ic==
"PV") bookMESet(DirName+
"/"+*ic);
202 bool bLumiSecPlot=
false;
203 if (DirName.find(
"All")!=std::string::npos) bLumiSecPlot=
true;
205 bookMonitorElement(DirName,bLumiSecPlot);
207 if ( _HighPtJetEventFlag->on() ) {
208 bookMonitorElement(DirName+
"/"+
"HighPtJet",
false);
209 meTriggerName_HighPtJet = _dbe->bookString(
"triggerName_HighPtJet", highPtJetExpr_[0]);
212 if ( _LowPtJetEventFlag->on() ) {
213 bookMonitorElement(DirName+
"/"+
"LowPtJet",
false);
214 meTriggerName_LowPtJet = _dbe->bookString(
"triggerName_LowPtJet", lowPtJetExpr_[0]);
217 if ( _MinBiasEventFlag->on() ) {
218 bookMonitorElement(DirName+
"/"+
"MinBias",
false);
219 meTriggerName_MinBias = _dbe->bookString(
"triggerName_MinBias", minbiasExpr_[0]);
220 if (_verbose)
std::cout <<
"_MinBiasEventFlag is on, folder created\n";
223 if ( _HighMETEventFlag->on() ) {
224 bookMonitorElement(DirName+
"/"+
"HighMET",
false);
225 meTriggerName_HighMET = _dbe->bookString(
"triggerName_HighMET", highMETExpr_[0]);
228 if ( _EleEventFlag->on() ) {
229 bookMonitorElement(DirName+
"/"+
"Ele",
false);
230 meTriggerName_Ele = _dbe->bookString(
"triggerName_Ele", elecExpr_[0]);
231 if (_verbose)
std::cout <<
"_EleEventFlag is on, folder created\n";
234 if ( _MuonEventFlag->on() ) {
235 bookMonitorElement(DirName+
"/"+
"Muon",
false);
236 meTriggerName_Muon = _dbe->bookString(
"triggerName_Muon", muonExpr_[0]);
237 if (_verbose)
std::cout <<
"_MuonEventFlag is on, folder created\n";
246 bool bLumiSecPlot =
false)
248 _dbe->setCurrentFolder(DirName);
251 mePfMEx = _dbe->book1D(
"METTask_PfMEx",
"pfmet.px()", 200, -500, 500);
252 mePfMEy = _dbe->book1D(
"METTask_PfMEy",
"pfmet.py()", 200, -500, 500);
253 mePfMET = _dbe->book1D(
"METTask_PfMET",
"pfmet.pt()", 200, 0, 1000);
254 mePfSumET = _dbe->book1D(
"METTask_PfSumET",
"pfmet.sumEt()", 400, 0, 4000);
255 mePfMETSig = _dbe->book1D(
"METTask_PfMETSig",
"pfmet.mEtSig()", 51, 0, 51);
256 mePfMETPhi = _dbe->book1D(
"METTask_PfMETPhi",
"pfmet.phi()", 60, -3.2, 3.2);
257 mePfMET_logx = _dbe->book1D(
"METTask_PfMET_logx",
"log10(pfmet.pt())", 40, -1, 7);
258 mePfSumET_logx = _dbe->book1D(
"METTask_PfSumET_logx",
"log10(pfmet.sumEt())", 40, -1, 7);
261 mePhotonEtFraction = _dbe->book1D(
"METTask_PfPhotonEtFraction",
"pfmet.photonEtFraction()", 50, 0, 1);
262 mePhotonEt = _dbe->book1D(
"METTask_PfPhotonEt",
"pfmet.photonEt()", 100, 0, 1000);
263 meNeutralHadronEtFraction = _dbe->book1D(
"METTask_PfNeutralHadronEtFraction",
"pfmet.neutralHadronEtFraction()", 50, 0, 1);
264 meNeutralHadronEt = _dbe->book1D(
"METTask_PfNeutralHadronEt",
"pfmet.neutralHadronEt()", 100, 0, 1000);
265 meElectronEtFraction = _dbe->book1D(
"METTask_PfElectronEtFraction",
"pfmet.electronEtFraction()", 50, 0, 1);
266 meElectronEt = _dbe->book1D(
"METTask_PfElectronEt",
"pfmet.electronEt()", 100, 0, 1000);
267 meChargedHadronEtFraction = _dbe->book1D(
"METTask_PfChargedHadronEtFraction",
"pfmet.chargedHadronEtFraction()", 50, 0, 1);
268 meChargedHadronEt = _dbe->book1D(
"METTask_PfChargedHadronEt",
"pfmet.chargedHadronEt()", 100, 0, 1000);
269 meMuonEtFraction = _dbe->book1D(
"METTask_PfMuonEtFraction",
"pfmet.muonEtFraction()", 50, 0, 1);
270 meMuonEt = _dbe->book1D(
"METTask_PfMuonEt",
"pfmet.muonEt()", 100, 0, 1000);
271 meHFHadronEtFraction = _dbe->book1D(
"METTask_PfHFHadronEtFraction",
"pfmet.HFHadronEtFraction()", 50, 0, 1);
272 meHFHadronEt = _dbe->book1D(
"METTask_PfHFHadronEt",
"pfmet.HFHadronEt()", 100, 0, 1000);
273 meHFEMEtFraction = _dbe->book1D(
"METTask_PfHFEMEtFraction",
"pfmet.HFEMEtFraction()", 50, 0, 1);
274 meHFEMEt = _dbe->book1D(
"METTask_PfHFEMEt",
"pfmet.HFEMEt()", 100, 0, 1000);
280 mePfMExLS = _dbe->book2D(
"METTask_PfMEx_LS",
"METTask_PfMEx_LS", 200, -200, 200, 50, 0, 500);
281 mePfMEyLS = _dbe->book2D(
"METTask_PfMEy_LS",
"METTask_PfMEy_LS", 200, -200, 200, 50, 0, 500);
283 mePfMExLS->setAxisTitle(
"pfmet.px()", 1);
284 mePfMEyLS->setAxisTitle(
"pfmet.px()", 1);
286 mePfMExLS->setAxisTitle(
"event.luminosityBlock()", 2);
287 mePfMEyLS->setAxisTitle(
"event.luminosityBlock()", 2);
294 mePfMEx_profile = _dbe->bookProfile(
"METTask_PfMEx_profile",
"pfmet.px()",
nbinsPV,
PVlow,
PVup, 200, -500, 500);
295 mePfMEy_profile = _dbe->bookProfile(
"METTask_PfMEy_profile",
"pfmet.py()",
nbinsPV,
PVlow,
PVup, 200, -500, 500);
296 mePfMET_profile = _dbe->bookProfile(
"METTask_PfMET_profile",
"pfmet.pt()",
nbinsPV,
PVlow,
PVup, 200, 0, 1000);
297 mePfSumET_profile = _dbe->bookProfile(
"METTask_PfSumET_profile",
"pfmet.sumEt()",
nbinsPV,
PVlow,
PVup, 400, 0, 4000);
299 mePhotonEtFraction_profile = _dbe->bookProfile(
"METTask_PfPhotonEtFraction_profile",
"pfmet.photonEtFraction()",
nbinsPV,
PVlow,
PVup, 50, 0, 1);
300 mePhotonEt_profile = _dbe->bookProfile(
"METTask_PfPhotonEt_profile",
"pfmet.photonEt()",
nbinsPV,
PVlow,
PVup, 100, 0, 1000);
301 meNeutralHadronEtFraction_profile = _dbe->bookProfile(
"METTask_PfNeutralHadronEtFraction_profile",
"pfmet.neutralHadronEtFraction()",
nbinsPV,
PVlow,
PVup, 50, 0, 1);
302 meNeutralHadronEt_profile = _dbe->bookProfile(
"METTask_PfNeutralHadronEt_profile",
"pfmet.neutralHadronEt()",
nbinsPV,
PVlow,
PVup, 100, 0, 1000);
303 meElectronEtFraction_profile = _dbe->bookProfile(
"METTask_PfElectronEtFraction_profile",
"pfmet.electronEtFraction()",
nbinsPV,
PVlow,
PVup, 50, 0, 1);
304 meElectronEt_profile = _dbe->bookProfile(
"METTask_PfElectronEt_profile",
"pfmet.electronEt()",
nbinsPV,
PVlow,
PVup, 100, 0, 1000);
305 meChargedHadronEtFraction_profile = _dbe->bookProfile(
"METTask_PfChargedHadronEtFraction_profile",
"pfmet.chargedHadronEtFraction()",
nbinsPV,
PVlow,
PVup, 50, 0, 1);
306 meChargedHadronEt_profile = _dbe->bookProfile(
"METTask_PfChargedHadronEt_profile",
"pfmet.chargedHadronEt()",
nbinsPV,
PVlow,
PVup, 100, 0, 1000);
307 meMuonEtFraction_profile = _dbe->bookProfile(
"METTask_PfMuonEtFraction_profile",
"pfmet.muonEtFraction()",
nbinsPV,
PVlow,
PVup, 50, 0, 1);
308 meMuonEt_profile = _dbe->bookProfile(
"METTask_PfMuonEt_profile",
"pfmet.muonEt()",
nbinsPV,
PVlow,
PVup, 100, 0, 1000);
309 meHFHadronEtFraction_profile = _dbe->bookProfile(
"METTask_PfHFHadronEtFraction_profile",
"pfmet.HFHadronEtFraction()",
nbinsPV,
PVlow,
PVup, 50, 0, 1);
310 meHFHadronEt_profile = _dbe->bookProfile(
"METTask_PfHFHadronEt_profile",
"pfmet.HFHadronEt()",
nbinsPV,
PVlow,
PVup, 100, 0, 1000);
311 meHFEMEtFraction_profile = _dbe->bookProfile(
"METTask_PfHFEMEtFraction_profile",
"pfmet.HFEMEtFraction()",
nbinsPV,
PVlow,
PVup, 50, 0, 1);
312 meHFEMEt_profile = _dbe->bookProfile(
"METTask_PfHFEMEt_profile",
"pfmet.HFEMEt()",
nbinsPV,
PVlow,
PVup, 100, 0, 1000);
317 mePfMEx_profile ->setAxisTitle(
"nvtx", 1);
318 mePfMEy_profile ->setAxisTitle(
"nvtx", 1);
319 mePfMET_profile ->setAxisTitle(
"nvtx", 1);
320 mePfSumET_profile->setAxisTitle(
"nvtx", 1);
322 mePhotonEtFraction_profile ->setAxisTitle(
"nvtx", 1);
323 mePhotonEt_profile ->setAxisTitle(
"nvtx", 1);
324 meNeutralHadronEtFraction_profile->setAxisTitle(
"nvtx", 1);
325 meNeutralHadronEt_profile ->setAxisTitle(
"nvtx", 1);
326 meElectronEtFraction_profile ->setAxisTitle(
"nvtx", 1);
327 meElectronEt_profile ->setAxisTitle(
"nvtx", 1);
328 meChargedHadronEtFraction_profile->setAxisTitle(
"nvtx", 1);
329 meChargedHadronEt_profile ->setAxisTitle(
"nvtx", 1);
330 meMuonEtFraction_profile ->setAxisTitle(
"nvtx", 1);
331 meMuonEt_profile ->setAxisTitle(
"nvtx", 1);
332 meHFHadronEtFraction_profile ->setAxisTitle(
"nvtx", 1);
333 meHFHadronEt_profile ->setAxisTitle(
"nvtx", 1);
334 meHFEMEtFraction_profile ->setAxisTitle(
"nvtx", 1);
335 meHFEMEt_profile ->setAxisTitle(
"nvtx", 1);
345 if (_HighPtJetEventFlag->on()) _HighPtJetEventFlag->initRun(iRun, iSetup);
346 if (_LowPtJetEventFlag ->on()) _LowPtJetEventFlag ->initRun(iRun, iSetup);
347 if (_MinBiasEventFlag ->on()) _MinBiasEventFlag ->initRun(iRun, iSetup);
348 if (_HighMETEventFlag ->on()) _HighMETEventFlag ->initRun(iRun, iSetup);
349 if (_EleEventFlag ->on()) _EleEventFlag ->initRun(iRun, iSetup);
350 if (_MuonEventFlag ->on()) _MuonEventFlag ->initRun(iRun, iSetup);
352 if (_HighPtJetEventFlag->on() && _HighPtJetEventFlag->expressionsFromDB(_HighPtJetEventFlag->hltDBKey(), iSetup)[0] !=
"CONFIG_ERROR")
353 highPtJetExpr_ = _HighPtJetEventFlag->expressionsFromDB(_HighPtJetEventFlag->hltDBKey(), iSetup);
355 if (_LowPtJetEventFlag->on() && _LowPtJetEventFlag->expressionsFromDB(_LowPtJetEventFlag->hltDBKey(), iSetup)[0] !=
"CONFIG_ERROR")
356 lowPtJetExpr_ = _LowPtJetEventFlag->expressionsFromDB(_LowPtJetEventFlag->hltDBKey(), iSetup);
358 if (_HighMETEventFlag->on() && _HighMETEventFlag->expressionsFromDB(_HighMETEventFlag->hltDBKey(), iSetup)[0] !=
"CONFIG_ERROR")
359 highMETExpr_ = _HighMETEventFlag->expressionsFromDB(_HighMETEventFlag->hltDBKey(), iSetup);
361 if (_MuonEventFlag->on() && _MuonEventFlag->expressionsFromDB(_MuonEventFlag->hltDBKey(), iSetup)[0] !=
"CONFIG_ERROR")
362 muonExpr_ = _MuonEventFlag->expressionsFromDB(_MuonEventFlag->hltDBKey(), iSetup);
364 if (_EleEventFlag->on() && _EleEventFlag->expressionsFromDB(_EleEventFlag->hltDBKey(), iSetup)[0] !=
"CONFIG_ERROR")
365 elecExpr_ = _EleEventFlag->expressionsFromDB(_EleEventFlag->hltDBKey(), iSetup);
367 if (_MinBiasEventFlag->on() && _MinBiasEventFlag->expressionsFromDB(_MinBiasEventFlag->hltDBKey(), iSetup)[0] !=
"CONFIG_ERROR")
368 minbiasExpr_ = _MinBiasEventFlag->expressionsFromDB(_MinBiasEventFlag->hltDBKey(), iSetup);
382 _dbe->setCurrentFolder(dirName);
387 meLumiSec = _dbe->get(
"JetMET/lumisec");
392 tlumisec = meLumiSec->
getTH1F();
393 for (
int i=0;
i<500;
i++){
394 if (tlumisec->GetBinContent(
i+1)) totlsec++;
396 totltime = double(totlsec*90);
399 if (totltime==0.) totltime=1.;
404 for (std::vector<std::string>::const_iterator ic = _FolderNames.begin(); ic != _FolderNames.end(); ic++)
408 DirName = dirName+*ic;
410 makeRatePlot(DirName,totltime);
411 if ( _HighPtJetEventFlag->on() )
412 makeRatePlot(DirName+
"/"+
"triggerName_HighJetPt",totltime);
413 if ( _LowPtJetEventFlag->on() )
414 makeRatePlot(DirName+
"/"+
"triggerName_LowJetPt",totltime);
415 if ( _MinBiasEventFlag->on() )
416 makeRatePlot(DirName+
"/"+
"triggerName_MinBias",totltime);
417 if ( _HighMETEventFlag->on() )
418 makeRatePlot(DirName+
"/"+
"triggerName_HighMET",totltime);
419 if ( _EleEventFlag->on() )
420 makeRatePlot(DirName+
"/"+
"triggerName_Ele",totltime);
421 if ( _MuonEventFlag->on() )
422 makeRatePlot(DirName+
"/"+
"triggerName_Muon",totltime);
431 _dbe->setCurrentFolder(DirName);
442 tPfMETRate = (TH1F*) tPfMET->Clone(
"METTask_PfMETRate");
443 for (
int i = tPfMETRate->GetNbinsX()-1;
i>=0;
i--){
444 tPfMETRate->SetBinContent(
i+1,tPfMETRate->GetBinContent(
i+2)+tPfMET->GetBinContent(
i+1));
446 for (
int i = 0;
i<tPfMETRate->GetNbinsX();
i++){
447 tPfMETRate->SetBinContent(
i+1,tPfMETRate->GetBinContent(
i+1)/double(totltime));
450 tPfMETRate->SetName(
"METTask_PfMETRate");
451 tPfMETRate->SetTitle(
"METTask_PfMETRate");
452 mePfMETRate = _dbe->book1D(
"METTask_PfMETRate",tPfMETRate);
461 if (_verbose)
std::cout <<
"PfMETAnalyzer analyze" << std::endl;
478 if(&triggerResults) {
485 int ntrigs = triggerResults.
size();
486 if (_verbose)
std::cout <<
"ntrigs=" << ntrigs << std::endl;
495 const unsigned int nTrig(triggerNames.
size());
496 for (
unsigned int i=0;
i<nTrig;++
i)
498 if (triggerNames.
triggerName(
i).find(highPtJetExpr_[0].substr(0,highPtJetExpr_[0].rfind(
"_v")+2))!=std::string::npos && triggerResults.
accept(
i))
499 _trig_HighPtJet=
true;
500 else if (triggerNames.
triggerName(
i).find(lowPtJetExpr_[0].substr(0,lowPtJetExpr_[0].rfind(
"_v")+2))!=std::string::npos && triggerResults.
accept(
i))
502 else if (triggerNames.
triggerName(
i).find(highMETExpr_[0].substr(0,highMETExpr_[0].rfind(
"_v")+2))!=std::string::npos && triggerResults.
accept(
i))
506 else if (triggerNames.
triggerName(
i).find(muonExpr_[0].substr(0,muonExpr_[0].rfind(
"_v")+2))!=std::string::npos && triggerResults.
accept(
i))
508 else if (triggerNames.
triggerName(
i).find(elecExpr_[0].substr(0,elecExpr_[0].rfind(
"_v")+2))!=std::string::npos && triggerResults.
accept(
i))
510 else if (triggerNames.
triggerName(
i).find(minbiasExpr_[0].substr(0,minbiasExpr_[0].rfind(
"_v")+2))!=std::string::npos && triggerResults.
accept(
i))
515 for (
unsigned int i=0;
i!=HLTPathsJetMBByName_.size();
i++) {
516 unsigned int triggerIndex = triggerNames.
triggerIndex(HLTPathsJetMBByName_[
i]);
517 if (triggerIndex<triggerResults.
size()) {
518 if (triggerResults.
accept(triggerIndex)) {
524 if (HLTPathsJetMBByName_.size()==0) _trig_JetMB=triggerResults.
size()-1;
531 edm::LogInfo(
"PFMetAnalyzer") <<
"TriggerResults::HLT not found, "
532 "automatically select events";
543 iEvent.
getByLabel(thePfMETCollectionLabel, pfmetcoll);
545 if(!pfmetcoll.
isValid())
return;
549 pfmet = &(pfmetcol->front());
556 iEvent.
getByLabel(HcalNoiseRBXCollectionTag,HRBXCollection);
557 if (!HRBXCollection.
isValid()) {
558 LogDebug(
"") <<
"PfMETAnalyzer: Could not find HcalNoiseRBX Collection" << std::endl;
559 if (_verbose)
std::cout <<
"PfMETAnalyzer: Could not find HcalNoiseRBX Collection" << std::endl;
564 iEvent.
getByLabel(HBHENoiseFilterResultTag, HBHENoiseFilterResultHandle);
565 bool HBHENoiseFilterResult = *HBHENoiseFilterResultHandle;
566 if (!HBHENoiseFilterResultHandle.
isValid()) {
567 LogDebug(
"") <<
"PFMETAnalyzer: Could not find HBHENoiseFilterResult" << std::endl;
568 if (_verbose)
std::cout <<
"PFMETAnalyzer: Could not find HBHENoiseFilterResult" << std::endl;
573 iEvent.
getByLabel(theJetCollectionLabel, caloJets);
575 LogDebug(
"") <<
"PFMETAnalyzer: Could not find jet product" << std::endl;
576 if (_verbose)
std::cout <<
"PFMETAnalyzer: Could not find jet product" << std::endl;
580 iEvent.
getByLabel(PFCandidatesTag, pfCandidates);
582 LogDebug(
"") <<
"PfMETAnalyzer: Could not find pfcandidates product" << std::endl;
583 if (_verbose)
std::cout <<
"PfMETAnalyzer: Could not find pfcandidates product" << std::endl;
587 iEvent.
getByLabel(thePfJetCollectionLabel, pfJets);
589 LogDebug(
"") <<
"PFMETAnalyzer: Could not find pfjet product" << std::endl;
590 if (_verbose)
std::cout <<
"PFMETAnalyzer: Could not find pfjet product" << std::endl;
595 if (_source==
"PfMET") validateMET(*pfmet, pfCandidates);
600 if (_verbose)
std::cout <<
"JetID starts" << std::endl;
605 bool bJetIDMinimal=
true;
606 for (reco::CaloJetCollection::const_iterator cal = caloJets->begin();
607 cal!=caloJets->end(); ++cal){
608 jetID->calculate(iEvent, *cal);
610 if (fabs(cal->eta())<=2.6 &&
611 cal->emEnergyFraction()<=0.01) bJetIDMinimal=
false;
618 bool bJetIDLoose=
true;
619 for (reco::CaloJetCollection::const_iterator cal = caloJets->begin();
620 cal!=caloJets->end(); ++cal){
621 jetID->calculate(iEvent, *cal);
623 <<
jetID->restrictedEMF() <<
" "
624 << cal->pt() << std::endl;
628 if (
jetID->n90Hits()<2) bJetIDLoose=
false;
629 if (
jetID->fHPD()>=0.98) bJetIDLoose=
false;
633 if (fabs(cal->eta())<2.55){
634 if (cal->emEnergyFraction()<=0.01) bJetIDLoose=
false;
638 if (cal->emEnergyFraction()<=-0.9) bJetIDLoose=
false;
640 if (cal->emEnergyFraction()>= 1.0) bJetIDLoose=
false;
649 bool bJetIDTight=
true;
650 bJetIDTight=bJetIDLoose;
651 for (reco::CaloJetCollection::const_iterator cal = caloJets->begin();
652 cal!=caloJets->end(); ++cal){
653 jetID->calculate(iEvent, *cal);
657 if (
jetID->fHPD()>=0.95) bJetIDTight=
false;
660 if (fabs(cal->eta())>=1.00 && fabs(cal->eta())<1.75){
661 if (cal->pt()>80. && cal->emEnergyFraction()>=1.) bJetIDTight=
false;
665 else if (fabs(cal->eta())>=1.75 && fabs(cal->eta())<2.55){
666 if (cal->pt()>80. && cal->emEnergyFraction()>=1.) bJetIDTight=
false;
670 else if (fabs(cal->eta())>=2.55 && fabs(cal->eta())<3.25){
671 if (cal->pt()< 50. && cal->emEnergyFraction()<=-0.3) bJetIDTight=
false;
672 if (cal->pt()>=50. && cal->pt()< 80. && cal->emEnergyFraction()<=-0.2) bJetIDTight=
false;
673 if (cal->pt()>=80. && cal->pt()<340. && cal->emEnergyFraction()<=-0.1) bJetIDTight=
false;
674 if (cal->pt()>=340. && cal->emEnergyFraction()<=-0.1
675 && cal->emEnergyFraction()>=0.95) bJetIDTight=
false;
679 else if (fabs(cal->eta())>=3.25){
680 if (cal->pt()< 50. && cal->emEnergyFraction()<=-0.3
681 && cal->emEnergyFraction()>=0.90) bJetIDTight=
false;
682 if (cal->pt()>=50. && cal->pt()<130. && cal->emEnergyFraction()<=-0.2
683 && cal->emEnergyFraction()>=0.80) bJetIDTight=
false;
684 if (cal->pt()>=130. && cal->emEnergyFraction()<=-0.1
685 && cal->emEnergyFraction()>=0.70) bJetIDTight=
false;
690 if (_verbose)
std::cout <<
"JetID ends" << std::endl;
696 bool bHcalNoiseFilter = HBHENoiseFilterResult;
701 iEvent.
getByLabel(BeamHaloSummaryTag, TheBeamHaloSummary) ;
703 bool bBeamHaloIDTightPass =
true;
704 bool bBeamHaloIDLoosePass =
true;
706 if(!TheBeamHaloSummary.
isValid()) {
712 bBeamHaloIDLoosePass =
false;
716 bBeamHaloIDTightPass =
false;
724 bool bPrimaryVertex =
true;
726 bPrimaryVertex =
false;
732 LogDebug(
"") <<
"CaloMETAnalyzer: Could not find vertex collection" << std::endl;
733 if (_verbose)
std::cout <<
"CaloMETAnalyzer: Could not find vertex collection" << std::endl;
738 int vertex_number = vertexCollection.size();
739 VertexCollection::const_iterator
v = vertexCollection.begin();
740 for ( ; v != vertexCollection.end(); ++
v) {
741 double vertex_chi2 = v->normalizedChi2();
742 double vertex_ndof = v->ndof();
743 bool fakeVtx = v->isFake();
744 double vertex_Z = v->z();
747 && vertex_number>=_nvtx_min
748 && vertex_ndof >_vtxndof_min
749 && vertex_chi2 <_vtxchi2_max
750 && fabs(vertex_Z)<_vtxz_max ) {
751 bPrimaryVertex =
true;
762 if (!gtReadoutRecord.
isValid()) {
763 LogDebug(
"") <<
"CaloMETAnalyzer: Could not find GT readout record" << std::endl;
764 if (_verbose)
std::cout <<
"CaloMETAnalyzer: Could not find GT readout record product" << std::endl;
767 bool bTechTriggers =
true;
768 bool bTechTriggersAND =
true;
769 bool bTechTriggersOR =
false;
770 bool bTechTriggersNOT =
false;
772 if (gtReadoutRecord.
isValid()) {
773 const TechnicalTriggerWord& technicalTriggerWordBeforeMask = gtReadoutRecord->technicalTriggerWord();
775 if (_techTrigsAND.size() == 0)
776 bTechTriggersAND =
true;
778 for (
unsigned ttr = 0; ttr != _techTrigsAND.size(); ttr++) {
779 bTechTriggersAND = bTechTriggersAND && technicalTriggerWordBeforeMask.at(_techTrigsAND.at(ttr));
782 if (_techTrigsAND.size() == 0)
783 bTechTriggersOR =
true;
785 for (
unsigned ttr = 0; ttr != _techTrigsOR.size(); ttr++) {
786 bTechTriggersOR = bTechTriggersOR || technicalTriggerWordBeforeMask.at(_techTrigsOR.at(ttr));
788 if (_techTrigsNOT.size() == 0)
789 bTechTriggersNOT =
false;
791 for (
unsigned ttr = 0; ttr != _techTrigsNOT.size(); ttr++) {
792 bTechTriggersNOT = bTechTriggersNOT || technicalTriggerWordBeforeMask.at(_techTrigsNOT.at(ttr));
797 bTechTriggersAND =
true;
798 bTechTriggersOR =
true;
799 bTechTriggersNOT =
false;
802 if (_techTrigsAND.size()==0)
803 bTechTriggersAND =
true;
804 if (_techTrigsOR.size()==0)
805 bTechTriggersOR =
true;
806 if (_techTrigsNOT.size()==0)
807 bTechTriggersNOT =
false;
809 bTechTriggers = bTechTriggersAND && bTechTriggersOR && !bTechTriggersNOT;
814 bool bHcalNoise = bHcalNoiseFilter;
815 bool bBeamHaloID = bBeamHaloIDLoosePass;
816 bool bJetID = bJetIDMinimal;
818 bool bPhysicsDeclared =
true;
819 if(_doHLTPhysicsOn) bPhysicsDeclared =_trig_PhysDec;
821 if (_tightBHFiltering) bBeamHaloID = bBeamHaloIDTightPass;
823 if (_tightJetIDFiltering==1) bJetID = bJetIDMinimal;
824 else if (_tightJetIDFiltering==2) bJetID = bJetIDLoose;
825 else if (_tightJetIDFiltering==3) bJetID = bJetIDTight;
826 else if (_tightJetIDFiltering==-1) bJetID =
true;
828 bool bBasicCleanup = bTechTriggers && bPrimaryVertex && bPhysicsDeclared;
829 bool bExtraCleanup = bBasicCleanup && bHcalNoise && bJetID && bBeamHaloID;
833 for (std::vector<std::string>::const_iterator ic = _FolderNames.begin();
834 ic != _FolderNames.end(); ic++){
835 if (*ic==
"All") fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
836 if (DCSFilter->filter(iEvent, iSetup)) {
837 if (_cleanupSelection){
838 if (*ic==
"BasicCleanup" && bBasicCleanup) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
839 if (*ic==
"ExtraCleanup" && bExtraCleanup) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
842 if (*ic==
"HcalNoiseFilter" && bHcalNoiseFilter ) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
843 if (*ic==
"JetIDMinimal" && bJetIDMinimal) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
844 if (*ic==
"JetIDLoose" && bJetIDLoose) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
845 if (*ic==
"JetIDTight" && bJetIDTight) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
846 if (*ic==
"BeamHaloIDTightPass" && bBeamHaloIDTightPass) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
847 if (*ic==
"BeamHaloIDLoosePass" && bBeamHaloIDLoosePass) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
848 if (*ic==
"Triggers" && bTechTriggers) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
849 if (*ic==
"PV" && bPrimaryVertex) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
876 double cosphi =
cos(phi);
877 double sinphi =
sin(phi);
880 double sintheta =
sin(theta);
882 double et = E*sintheta;
883 double ex = et*cosphi;
884 double ey = et*sinphi;
891 double Et =
sqrt( sumEx*sumEx + sumEy*sumEy);
895 if (sumEt!=pfmet.
sumEt() || sumEx!=pfmet.
px() || sumEy!=pfmet.
py() || missingEt.T()!=pfmet.
pt() )
897 std::cout<<
"PFSumEt: " << sumEt <<
", "<<
"PFMETBlock: "<<pfmet.
pt()<<std::endl;
898 std::cout<<
"PFMET: " << missingEt.T() <<
", "<<
"PFMETBlock: "<<pfmet.
pt()<<std::endl;
899 std::cout<<
"PFMETx: " << missingEt.X() <<
", "<<
"PFMETBlockx: "<<pfmet.
pt()<<std::endl;
900 std::cout<<
"PFMETy: " << missingEt.Y() <<
", "<<
"PFMETBlocky: "<<pfmet.
pt()<<std::endl;
909 _dbe->setCurrentFolder(DirName);
911 bool bLumiSecPlot=
false;
912 if (DirName.find(
"All")) bLumiSecPlot=
true;
915 fillMonitorElement(iEvent,DirName,
"",pfmet, bLumiSecPlot);
917 fillMonitorElement(iEvent,DirName,
"HighPtJet",pfmet,
false);
919 fillMonitorElement(iEvent,DirName,
"LowPtJet",pfmet,
false);
921 fillMonitorElement(iEvent,DirName,
"MinBias",pfmet,
false);
923 fillMonitorElement(iEvent,DirName,
"HighMET",pfmet,
false);
925 fillMonitorElement(iEvent,DirName,
"Ele",pfmet,
false);
927 fillMonitorElement(iEvent,DirName,
"Muon",pfmet,
false);
940 if (TriggerTypeName ==
"HighPtJet") {
941 if (!selectHighPtJetEvent(iEvent))
return;
943 else if (TriggerTypeName ==
"LowPtJet") {
944 if (!selectLowPtJetEvent(iEvent))
return;
946 else if (TriggerTypeName ==
"HighMET") {
947 if (pfmet.
pt()<_highPFMETThreshold)
return;
949 else if (TriggerTypeName ==
"Ele") {
950 if (!selectWElectronEvent(iEvent))
return;
952 else if (TriggerTypeName ==
"Muon") {
953 if (!selectWMuonEvent(iEvent))
return;
956 if (TriggerTypeName !=
"") DirName = DirName +
"/" + TriggerTypeName;
961 double pfSumET = pfmet.
sumEt();
962 double pfMETSig = pfmet.
mEtSig();
964 double pfMEx = pfmet.
px();
965 double pfMEy = pfmet.
py();
966 double pfMETPhi = pfmet.
phi();
972 double pfPhotonEt = pfmet.
photonEt();
980 double pfMuonEt = pfmet.
muonEt();
984 double pfHFEMEt = pfmet.
HFEMEt();
987 if (pfSumET > _etThreshold) {
989 mePfMEx = _dbe->get(DirName +
"/METTask_PfMEx");
990 mePfMEy = _dbe->get(DirName +
"/METTask_PfMEy");
991 mePfMET = _dbe->get(DirName +
"/METTask_PfMET");
992 mePfMETPhi = _dbe->get(DirName +
"/METTask_PfMETPhi");
993 mePfSumET = _dbe->get(DirName +
"/METTask_PfSumET");
994 mePfMETSig = _dbe->get(DirName +
"/METTask_PfMETSig");
995 mePfMET_logx = _dbe->get(DirName +
"/METTask_PfMET_logx");
996 mePfSumET_logx = _dbe->get(DirName +
"/METTask_PfSumET_logx");
998 if (mePfMEx && mePfMEx ->getRootObject()) mePfMEx ->Fill(pfMEx);
999 if (mePfMEy && mePfMEy ->getRootObject()) mePfMEy ->Fill(pfMEy);
1000 if (mePfMET && mePfMET ->getRootObject()) mePfMET ->Fill(pfMET);
1001 if (mePfMETPhi && mePfMETPhi ->getRootObject()) mePfMETPhi ->Fill(pfMETPhi);
1002 if (mePfSumET && mePfSumET ->getRootObject()) mePfSumET ->Fill(pfSumET);
1003 if (mePfMETSig && mePfMETSig ->getRootObject()) mePfMETSig ->Fill(pfMETSig);
1004 if (mePfMET_logx && mePfMET_logx ->getRootObject()) mePfMET_logx ->Fill(log10(pfMET));
1005 if (mePfSumET_logx && mePfSumET_logx->getRootObject()) mePfSumET_logx->Fill(log10(pfSumET));
1008 mePhotonEtFraction = _dbe->get(DirName +
"/METTask_PfPhotonEtFraction");
1009 mePhotonEt = _dbe->get(DirName +
"/METTask_PfPhotonEt");
1010 meNeutralHadronEtFraction = _dbe->get(DirName +
"/METTask_PfNeutralHadronEtFraction");
1011 meNeutralHadronEt = _dbe->get(DirName +
"/METTask_PfNeutralHadronEt");
1012 meElectronEtFraction = _dbe->get(DirName +
"/METTask_PfElectronEtFraction");
1013 meElectronEt = _dbe->get(DirName +
"/METTask_PfElectronEt");
1014 meChargedHadronEtFraction = _dbe->get(DirName +
"/METTask_PfChargedHadronEtFraction");
1015 meChargedHadronEt = _dbe->get(DirName +
"/METTask_PfChargedHadronEt");
1016 meMuonEtFraction = _dbe->get(DirName +
"/METTask_PfMuonEtFraction");
1017 meMuonEt = _dbe->get(DirName +
"/METTask_PfMuonEt");
1018 meHFHadronEtFraction = _dbe->get(DirName +
"/METTask_PfHFHadronEtFraction");
1019 meHFHadronEt = _dbe->get(DirName +
"/METTask_PfHFHadronEt");
1020 meHFEMEtFraction = _dbe->get(DirName +
"/METTask_PfHFEMEtFraction");
1021 meHFEMEt = _dbe->get(DirName +
"/METTask_PfHFEMEt");
1023 if (mePhotonEtFraction && mePhotonEtFraction ->getRootObject()) mePhotonEtFraction ->Fill(pfPhotonEtFraction);
1024 if (mePhotonEt && mePhotonEt ->getRootObject()) mePhotonEt ->Fill(pfPhotonEt);
1025 if (meNeutralHadronEtFraction && meNeutralHadronEtFraction->getRootObject()) meNeutralHadronEtFraction->Fill(pfNeutralHadronEtFraction);
1026 if (meNeutralHadronEt && meNeutralHadronEt ->getRootObject()) meNeutralHadronEt ->Fill(pfNeutralHadronEt);
1027 if (meElectronEtFraction && meElectronEtFraction ->getRootObject()) meElectronEtFraction ->Fill(pfElectronEtFraction);
1028 if (meElectronEt && meElectronEt ->getRootObject()) meElectronEt ->Fill(pfElectronEt);
1029 if (meChargedHadronEtFraction && meChargedHadronEtFraction->getRootObject()) meChargedHadronEtFraction->Fill(pfChargedHadronEtFraction);
1030 if (meChargedHadronEt && meChargedHadronEt ->getRootObject()) meChargedHadronEt ->Fill(pfChargedHadronEt);
1031 if (meMuonEtFraction && meMuonEtFraction ->getRootObject()) meMuonEtFraction ->Fill(pfMuonEtFraction);
1032 if (meMuonEt && meMuonEt ->getRootObject()) meMuonEt ->Fill(pfMuonEt);
1033 if (meHFHadronEtFraction && meHFHadronEtFraction ->getRootObject()) meHFHadronEtFraction ->Fill(pfHFHadronEtFraction);
1034 if (meHFHadronEt && meHFHadronEt ->getRootObject()) meHFHadronEt ->Fill(pfHFHadronEt);
1035 if (meHFEMEtFraction && meHFEMEtFraction ->getRootObject()) meHFEMEtFraction ->Fill(pfHFEMEtFraction);
1036 if (meHFEMEt && meHFEMEt ->getRootObject()) meHFEMEt ->Fill(pfHFEMEt);
1042 mePfMExLS = _dbe->get(DirName +
"/METTask_PfMExLS");
1043 mePfMEyLS = _dbe->get(DirName +
"/METTask_PfMEyLS");
1045 if (mePfMExLS && mePfMExLS->getRootObject()) mePfMExLS->Fill(pfMEx, iEvent.
luminosityBlock());
1046 if (mePfMEyLS && mePfMEyLS->getRootObject()) mePfMEyLS->Fill(pfMEy, iEvent.
luminosityBlock());
1053 mePfMEx_profile = _dbe->get(DirName +
"/METTask_PfMEx_profile");
1054 mePfMEy_profile = _dbe->get(DirName +
"/METTask_PfMEy_profile");
1055 mePfMET_profile = _dbe->get(DirName +
"/METTask_PfMET_profile");
1056 mePfSumET_profile = _dbe->get(DirName +
"/METTask_PfSumET_profile");
1058 if (mePfMEx_profile && mePfMEx_profile ->getRootObject()) mePfMEx_profile ->Fill(_numPV, pfMEx);
1059 if (mePfMEy_profile && mePfMEy_profile ->getRootObject()) mePfMEy_profile ->Fill(_numPV, pfMEy);
1060 if (mePfMET_profile && mePfMET_profile ->getRootObject()) mePfMET_profile ->Fill(_numPV, pfMET);
1061 if (mePfSumET_profile && mePfSumET_profile->getRootObject()) mePfSumET_profile->Fill(_numPV, pfSumET);
1064 mePhotonEtFraction_profile = _dbe->get(DirName +
"/METTask_PfPhotonEtFraction_profile");
1065 mePhotonEt_profile = _dbe->get(DirName +
"/METTask_PfPhotonEt_profile");
1066 meNeutralHadronEtFraction_profile = _dbe->get(DirName +
"/METTask_PfNeutralHadronEtFraction_profile");
1067 meNeutralHadronEt_profile = _dbe->get(DirName +
"/METTask_PfNeutralHadronEt_profile");
1068 meElectronEtFraction_profile = _dbe->get(DirName +
"/METTask_PfElectronEtFraction_profile");
1069 meElectronEt_profile = _dbe->get(DirName +
"/METTask_PfElectronEt_profile");
1070 meChargedHadronEtFraction_profile = _dbe->get(DirName +
"/METTask_PfChargedHadronEtFraction_profile");
1071 meChargedHadronEt_profile = _dbe->get(DirName +
"/METTask_PfChargedHadronEt_profile");
1072 meMuonEtFraction_profile = _dbe->get(DirName +
"/METTask_PfMuonEtFraction_profile");
1073 meMuonEt_profile = _dbe->get(DirName +
"/METTask_PfMuonEt_profile");
1074 meHFHadronEtFraction_profile = _dbe->get(DirName +
"/METTask_PfHFHadronEtFraction_profile");
1075 meHFHadronEt_profile = _dbe->get(DirName +
"/METTask_PfHFHadronEt_profile");
1076 meHFEMEtFraction_profile = _dbe->get(DirName +
"/METTask_PfHFEMEtFraction_profile");
1077 meHFEMEt_profile = _dbe->get(DirName +
"/METTask_PfHFEMEt_profile");
1079 if (mePhotonEtFraction_profile && mePhotonEtFraction_profile ->getRootObject()) mePhotonEtFraction_profile ->Fill(_numPV, pfPhotonEtFraction);
1080 if (mePhotonEt_profile && mePhotonEt_profile ->getRootObject()) mePhotonEt_profile ->Fill(_numPV, pfPhotonEt);
1081 if (meNeutralHadronEtFraction_profile && meNeutralHadronEtFraction_profile->getRootObject()) meNeutralHadronEtFraction_profile->Fill(_numPV, pfNeutralHadronEtFraction);
1082 if (meNeutralHadronEt_profile && meNeutralHadronEt_profile ->getRootObject()) meNeutralHadronEt_profile ->Fill(_numPV, pfNeutralHadronEt);
1083 if (meElectronEtFraction_profile && meElectronEtFraction_profile ->getRootObject()) meElectronEtFraction_profile ->Fill(_numPV, pfElectronEtFraction);
1084 if (meElectronEt_profile && meElectronEt_profile ->getRootObject()) meElectronEt_profile ->Fill(_numPV, pfElectronEt);
1085 if (meChargedHadronEtFraction_profile && meChargedHadronEtFraction_profile->getRootObject()) meChargedHadronEtFraction_profile->Fill(_numPV, pfChargedHadronEtFraction);
1086 if (meChargedHadronEt_profile && meChargedHadronEt_profile ->getRootObject()) meChargedHadronEt_profile ->Fill(_numPV, pfChargedHadronEt);
1087 if (meMuonEtFraction_profile && meMuonEtFraction_profile ->getRootObject()) meMuonEtFraction_profile ->Fill(_numPV, pfMuonEtFraction);
1088 if (meMuonEt_profile && meMuonEt_profile ->getRootObject()) meMuonEt_profile ->Fill(_numPV, pfMuonEt);
1089 if (meHFHadronEtFraction_profile && meHFHadronEtFraction_profile ->getRootObject()) meHFHadronEtFraction_profile ->Fill(_numPV, pfHFHadronEtFraction);
1090 if (meHFHadronEt_profile && meHFHadronEt_profile ->getRootObject()) meHFHadronEt_profile ->Fill(_numPV, pfHFHadronEt);
1091 if (meHFEMEtFraction_profile && meHFEMEtFraction_profile ->getRootObject()) meHFEMEtFraction_profile ->Fill(_numPV, pfHFEMEtFraction);
1092 if (meHFEMEt_profile && meHFEMEt_profile ->getRootObject()) meHFEMEt_profile ->Fill(_numPV, pfHFEMEt);
1102 bool return_value=
false;
1105 iEvent.
getByLabel(thePfJetCollectionLabel, pfJets);
1107 LogDebug(
"") <<
"PFMETAnalyzer: Could not find pfjet product" << std::endl;
1108 if (_verbose)
std::cout <<
"PFMETAnalyzer: Could not find pfjet product" << std::endl;
1111 for (reco::PFJetCollection::const_iterator pf = pfJets->begin();
1112 pf!=pfJets->end(); ++pf){
1113 if (pf->pt()>_highPtPFJetThreshold){
1118 return return_value;
1124 bool return_value=
false;
1127 iEvent.
getByLabel(thePfJetCollectionLabel, pfJets);
1129 LogDebug(
"") <<
"PFMETAnalyzer: Could not find jet product" << std::endl;
1130 if (_verbose)
std::cout <<
"PFMETAnalyzer: Could not find jet product" << std::endl;
1133 for (reco::PFJetCollection::const_iterator cal = pfJets->begin();
1134 cal!=pfJets->end(); ++cal){
1135 if (cal->pt()>_lowPtPFJetThreshold){
1140 return return_value;
1147 bool return_value=
true;
1153 return return_value;
1160 bool return_value=
true;
1166 return return_value;
const bool EcalTightHaloId() const
virtual double energy() const GCC11_FINAL
energy
T getParameter(std::string const &) const
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
double HFEMEtFraction() const
const bool HcalTightHaloId() const
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
const bool GlobalLooseHaloId() const
const std::string metname
double neutralHadronEtFraction() const
Sin< T >::type sin(const T &t)
bool accept() const
Has at least one path accepted the event?
Geom::Theta< T > theta() const
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
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...
Strings::size_type size() const
virtual double theta() const GCC11_FINAL
momentum polar angle
const bool GlobalTightHaloId() const
virtual double py() const GCC11_FINAL
y coordinate of momentum vector
const bool HcalLooseHaloId() const
std::vector< PFCandidatePtr > pfCandidates(const PFJet &jet, int particleId, bool sort=true)
const bool CSCTightHaloId() const
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
double HFHadronEtFraction() const
double muonEtFraction() const
unsigned int triggerIndex(std::string const &name) const
double HFHadronEt() const
unsigned int size() const
Get number of paths stored.
double photonEtFraction() const
Cos< T >::type cos(const T &t)
virtual double px() const GCC11_FINAL
x coordinate of momentum vector
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
double electronEt() const
TObject * getRootObject(void) const
std::string const & triggerName(unsigned int index) const
TH1F * getTH1F(void) const
T const * product() const
double electronEtFraction() const
const bool CSCLooseHaloId() const
double chargedHadronEtFraction() const
Particle reconstructed by the particle flow algorithm.
double neutralHadronEt() const
virtual float pt() const GCC11_FINAL
transverse momentum
const bool EcalLooseHaloId() const
void setCurrentFolder(const std::string &fullpath)
double chargedHadronEt() const