56 highPtJetExpr_ = highptjetparms.
getParameter<std::vector<std::string> >(
"hltPaths");
57 lowPtJetExpr_ = lowptjetparms .getParameter<std::vector<std::string> >(
"hltPaths");
58 highMETExpr_ = highmetparms .getParameter<std::vector<std::string> >(
"hltPaths");
60 muonExpr_ = muonparms .getParameter<std::vector<std::string> >(
"hltPaths");
61 elecExpr_ = eleparms .getParameter<std::vector<std::string> >(
"hltPaths");
62 minbiasExpr_ = minbiasparms .getParameter<std::vector<std::string> >(
"hltPaths");
69 delete _HighPtJetEventFlag;
70 delete _LowPtJetEventFlag;
71 delete _MinBiasEventFlag;
72 delete _HighMETEventFlag;
75 delete _MuonEventFlag;
85 HLTPathsJetMBByName_ =
parameters.getParameter<std::vector<std::string > >(
"HLTPathsJetMB");
91 _techTrigsAND = theCleaningParameters.getParameter<std::vector<unsigned > >(
"techTrigsAND");
92 _techTrigsOR = theCleaningParameters.getParameter<std::vector<unsigned > >(
"techTrigsOR");
93 _techTrigsNOT = theCleaningParameters.getParameter<std::vector<unsigned > >(
"techTrigsNOT");
95 _doHLTPhysicsOn = theCleaningParameters.getParameter<
bool>(
"doHLTPhysicsOn");
96 _hlt_PhysDec = theCleaningParameters.getParameter<
std::string>(
"HLT_PhysDec");
98 _tightBHFiltering = theCleaningParameters.getParameter<
bool>(
"tightBHFiltering");
99 _tightJetIDFiltering = theCleaningParameters.getParameter<
int>(
"tightJetIDFiltering");
108 _doPVCheck = theCleaningParameters.getParameter<
bool>(
"doPrimaryVertexCheck");
109 vertexTag = theCleaningParameters.getParameter<
edm::InputTag>(
"vertexLabel");
112 _nvtx_min = theCleaningParameters.getParameter<
int>(
"nvtx_min");
113 _nvtxtrks_min = theCleaningParameters.getParameter<
int>(
"nvtxtrks_min");
114 _vtxndof_min = theCleaningParameters.getParameter<
int>(
"vtxndof_min");
115 _vtxchi2_max = theCleaningParameters.getParameter<
double>(
"vtxchi2_max");
116 _vtxz_max = theCleaningParameters.getParameter<
double>(
"vtxz_max");
133 _verbose =
parameters.getParameter<
int>(
"verbose");
134 _etThreshold =
parameters.getParameter<
double>(
"etThreshold");
135 _allhist =
parameters.getParameter<
bool>(
"allHist");
136 _allSelection=
parameters.getParameter<
bool>(
"allSelection");
137 _cleanupSelection=
parameters.getParameter<
bool>(
"cleanupSelection");
139 _highPtPFJetThreshold =
parameters.getParameter<
double>(
"HighPtJetThreshold");
140 _lowPtPFJetThreshold =
parameters.getParameter<
double>(
"LowPtJetThreshold");
141 _highPFMETThreshold =
parameters.getParameter<
double>(
"HighMETThreshold");
151 metME = dbe->
book1D(
"metReco",
"metReco", 4, 1, 5);
156 _FolderNames.push_back(
"All");
157 _FolderNames.push_back(
"BasicCleanup");
158 _FolderNames.push_back(
"ExtraCleanup");
159 _FolderNames.push_back(
"HcalNoiseFilter");
160 _FolderNames.push_back(
"JetIDMinimal");
161 _FolderNames.push_back(
"JetIDLoose");
162 _FolderNames.push_back(
"JetIDTight");
163 _FolderNames.push_back(
"BeamHaloIDTightPass");
164 _FolderNames.push_back(
"BeamHaloIDLoosePass");
165 _FolderNames.push_back(
"Triggers");
166 _FolderNames.push_back(
"PV");
168 for (std::vector<std::string>::const_iterator ic = _FolderNames.begin();
169 ic != _FolderNames.end(); ic++){
170 if (*ic==
"All") bookMESet(DirName+
"/"+*ic);
171 if (_cleanupSelection){
172 if (*ic==
"BasicCleanup") bookMESet(DirName+
"/"+*ic);
173 if (*ic==
"ExtraCleanup") bookMESet(DirName+
"/"+*ic);
176 if (*ic==
"HcalNoiseFilter") bookMESet(DirName+
"/"+*ic);
177 if (*ic==
"JetIDMinimal") bookMESet(DirName+
"/"+*ic);
178 if (*ic==
"JetIDLoose") bookMESet(DirName+
"/"+*ic);
179 if (*ic==
"JetIDTight") bookMESet(DirName+
"/"+*ic);
180 if (*ic==
"BeamHaloIDTightPass") bookMESet(DirName+
"/"+*ic);
181 if (*ic==
"BeamHaloIDLoosePass") bookMESet(DirName+
"/"+*ic);
182 if (*ic==
"Triggers") bookMESet(DirName+
"/"+*ic);
183 if (*ic==
"PV") bookMESet(DirName+
"/"+*ic);
200 bool bLumiSecPlot=
false;
201 if (DirName.find(
"All")!=std::string::npos) bLumiSecPlot=
true;
203 bookMonitorElement(DirName,bLumiSecPlot);
205 if ( _HighPtJetEventFlag->on() ) {
206 bookMonitorElement(DirName+
"/"+
"HighPtJet",
false);
207 meTriggerName_HighPtJet = _dbe->bookString(
"triggerName_HighPtJet", highPtJetExpr_[0]);
210 if ( _LowPtJetEventFlag->on() ) {
211 bookMonitorElement(DirName+
"/"+
"LowPtJet",
false);
212 meTriggerName_LowPtJet = _dbe->bookString(
"triggerName_LowPtJet", lowPtJetExpr_[0]);
215 if ( _MinBiasEventFlag->on() ) {
216 bookMonitorElement(DirName+
"/"+
"MinBias",
false);
217 meTriggerName_MinBias = _dbe->bookString(
"triggerName_MinBias", minbiasExpr_[0]);
218 if (_verbose)
std::cout <<
"_MinBiasEventFlag is on, folder created\n";
221 if ( _HighMETEventFlag->on() ) {
222 bookMonitorElement(DirName+
"/"+
"HighMET",
false);
223 meTriggerName_HighMET = _dbe->bookString(
"triggerName_HighMET", highMETExpr_[0]);
226 if ( _EleEventFlag->on() ) {
227 bookMonitorElement(DirName+
"/"+
"Ele",
false);
228 meTriggerName_Ele = _dbe->bookString(
"triggerName_Ele", elecExpr_[0]);
229 if (_verbose)
std::cout <<
"_EleEventFlag is on, folder created\n";
232 if ( _MuonEventFlag->on() ) {
233 bookMonitorElement(DirName+
"/"+
"Muon",
false);
234 meTriggerName_Muon = _dbe->bookString(
"triggerName_Muon", muonExpr_[0]);
235 if (_verbose)
std::cout <<
"_MuonEventFlag is on, folder created\n";
244 bool bLumiSecPlot =
false)
246 _dbe->setCurrentFolder(DirName);
249 mePfMEx = _dbe->book1D(
"METTask_PfMEx",
"pfmet.px()", 200, -500, 500);
250 mePfMEy = _dbe->book1D(
"METTask_PfMEy",
"pfmet.py()", 200, -500, 500);
251 mePfMET = _dbe->book1D(
"METTask_PfMET",
"pfmet.pt()", 200, 0, 1000);
252 mePfSumET = _dbe->book1D(
"METTask_PfSumET",
"pfmet.sumEt()", 400, 0, 4000);
253 mePfMETSig = _dbe->book1D(
"METTask_PfMETSig",
"pfmet.mEtSig()", 51, 0, 51);
254 mePfMETPhi = _dbe->book1D(
"METTask_PfMETPhi",
"pfmet.phi()", 60, -3.2, 3.2);
255 mePfMET_logx = _dbe->book1D(
"METTask_PfMET_logx",
"log10(pfmet.pt())", 40, -1, 7);
256 mePfSumET_logx = _dbe->book1D(
"METTask_PfSumET_logx",
"log10(pfmet.sumEt())", 40, -1, 7);
259 mePhotonEtFraction = _dbe->book1D(
"METTask_PfPhotonEtFraction",
"pfmet.photonEtFraction()", 50, 0, 1);
260 mePhotonEt = _dbe->book1D(
"METTask_PfPhotonEt",
"pfmet.photonEt()", 100, 0, 1000);
261 meNeutralHadronEtFraction = _dbe->book1D(
"METTask_PfNeutralHadronEtFraction",
"pfmet.neutralHadronEtFraction()", 50, 0, 1);
262 meNeutralHadronEt = _dbe->book1D(
"METTask_PfNeutralHadronEt",
"pfmet.neutralHadronEt()", 100, 0, 1000);
263 meElectronEtFraction = _dbe->book1D(
"METTask_PfElectronEtFraction",
"pfmet.electronEtFraction()", 50, 0, 1);
264 meElectronEt = _dbe->book1D(
"METTask_PfElectronEt",
"pfmet.electronEt()", 100, 0, 1000);
265 meChargedHadronEtFraction = _dbe->book1D(
"METTask_PfChargedHadronEtFraction",
"pfmet.chargedHadronEtFraction()", 50, 0, 1);
266 meChargedHadronEt = _dbe->book1D(
"METTask_PfChargedHadronEt",
"pfmet.chargedHadronEt()", 100, 0, 1000);
267 meMuonEtFraction = _dbe->book1D(
"METTask_PfMuonEtFraction",
"pfmet.muonEtFraction()", 50, 0, 1);
268 meMuonEt = _dbe->book1D(
"METTask_PfMuonEt",
"pfmet.muonEt()", 100, 0, 1000);
269 meHFHadronEtFraction = _dbe->book1D(
"METTask_PfHFHadronEtFraction",
"pfmet.HFHadronEtFraction()", 50, 0, 1);
270 meHFHadronEt = _dbe->book1D(
"METTask_PfHFHadronEt",
"pfmet.HFHadronEt()", 100, 0, 1000);
271 meHFEMEtFraction = _dbe->book1D(
"METTask_PfHFEMEtFraction",
"pfmet.HFEMEtFraction()", 50, 0, 1);
272 meHFEMEt = _dbe->book1D(
"METTask_PfHFEMEt",
"pfmet.HFEMEt()", 100, 0, 1000);
278 mePfMExLS = _dbe->book2D(
"METTask_PfMEx_LS",
"METTask_PfMEx_LS", 200, -200, 200, 50, 0, 500);
279 mePfMEyLS = _dbe->book2D(
"METTask_PfMEy_LS",
"METTask_PfMEy_LS", 200, -200, 200, 50, 0, 500);
281 mePfMExLS->setAxisTitle(
"pfmet.px()", 1);
282 mePfMEyLS->setAxisTitle(
"pfmet.px()", 1);
284 mePfMExLS->setAxisTitle(
"event.luminosityBlock()", 2);
285 mePfMEyLS->setAxisTitle(
"event.luminosityBlock()", 2);
292 mePfMEx_profile = _dbe->bookProfile(
"METTask_PfMEx_profile",
"pfmet.px()",
nbinsPV,
PVlow,
PVup, 200, -500, 500);
293 mePfMEy_profile = _dbe->bookProfile(
"METTask_PfMEy_profile",
"pfmet.py()",
nbinsPV,
PVlow,
PVup, 200, -500, 500);
294 mePfMET_profile = _dbe->bookProfile(
"METTask_PfMET_profile",
"pfmet.pt()",
nbinsPV,
PVlow,
PVup, 200, 0, 1000);
295 mePfSumET_profile = _dbe->bookProfile(
"METTask_PfSumET_profile",
"pfmet.sumEt()",
nbinsPV,
PVlow,
PVup, 400, 0, 4000);
297 mePhotonEtFraction_profile = _dbe->bookProfile(
"METTask_PfPhotonEtFraction_profile",
"pfmet.photonEtFraction()",
nbinsPV,
PVlow,
PVup, 50, 0, 1);
298 mePhotonEt_profile = _dbe->bookProfile(
"METTask_PfPhotonEt_profile",
"pfmet.photonEt()",
nbinsPV,
PVlow,
PVup, 100, 0, 1000);
299 meNeutralHadronEtFraction_profile = _dbe->bookProfile(
"METTask_PfNeutralHadronEtFraction_profile",
"pfmet.neutralHadronEtFraction()",
nbinsPV,
PVlow,
PVup, 50, 0, 1);
300 meNeutralHadronEt_profile = _dbe->bookProfile(
"METTask_PfNeutralHadronEt_profile",
"pfmet.neutralHadronEt()",
nbinsPV,
PVlow,
PVup, 100, 0, 1000);
301 meElectronEtFraction_profile = _dbe->bookProfile(
"METTask_PfElectronEtFraction_profile",
"pfmet.electronEtFraction()",
nbinsPV,
PVlow,
PVup, 50, 0, 1);
302 meElectronEt_profile = _dbe->bookProfile(
"METTask_PfElectronEt_profile",
"pfmet.electronEt()",
nbinsPV,
PVlow,
PVup, 100, 0, 1000);
303 meChargedHadronEtFraction_profile = _dbe->bookProfile(
"METTask_PfChargedHadronEtFraction_profile",
"pfmet.chargedHadronEtFraction()",
nbinsPV,
PVlow,
PVup, 50, 0, 1);
304 meChargedHadronEt_profile = _dbe->bookProfile(
"METTask_PfChargedHadronEt_profile",
"pfmet.chargedHadronEt()",
nbinsPV,
PVlow,
PVup, 100, 0, 1000);
305 meMuonEtFraction_profile = _dbe->bookProfile(
"METTask_PfMuonEtFraction_profile",
"pfmet.muonEtFraction()",
nbinsPV,
PVlow,
PVup, 50, 0, 1);
306 meMuonEt_profile = _dbe->bookProfile(
"METTask_PfMuonEt_profile",
"pfmet.muonEt()",
nbinsPV,
PVlow,
PVup, 100, 0, 1000);
307 meHFHadronEtFraction_profile = _dbe->bookProfile(
"METTask_PfHFHadronEtFraction_profile",
"pfmet.HFHadronEtFraction()",
nbinsPV,
PVlow,
PVup, 50, 0, 1);
308 meHFHadronEt_profile = _dbe->bookProfile(
"METTask_PfHFHadronEt_profile",
"pfmet.HFHadronEt()",
nbinsPV,
PVlow,
PVup, 100, 0, 1000);
309 meHFEMEtFraction_profile = _dbe->bookProfile(
"METTask_PfHFEMEtFraction_profile",
"pfmet.HFEMEtFraction()",
nbinsPV,
PVlow,
PVup, 50, 0, 1);
310 meHFEMEt_profile = _dbe->bookProfile(
"METTask_PfHFEMEt_profile",
"pfmet.HFEMEt()",
nbinsPV,
PVlow,
PVup, 100, 0, 1000);
315 mePfMEx_profile ->setAxisTitle(
"nvtx", 1);
316 mePfMEy_profile ->setAxisTitle(
"nvtx", 1);
317 mePfMET_profile ->setAxisTitle(
"nvtx", 1);
318 mePfSumET_profile->setAxisTitle(
"nvtx", 1);
320 mePhotonEtFraction_profile ->setAxisTitle(
"nvtx", 1);
321 mePhotonEt_profile ->setAxisTitle(
"nvtx", 1);
322 meNeutralHadronEtFraction_profile->setAxisTitle(
"nvtx", 1);
323 meNeutralHadronEt_profile ->setAxisTitle(
"nvtx", 1);
324 meElectronEtFraction_profile ->setAxisTitle(
"nvtx", 1);
325 meElectronEt_profile ->setAxisTitle(
"nvtx", 1);
326 meChargedHadronEtFraction_profile->setAxisTitle(
"nvtx", 1);
327 meChargedHadronEt_profile ->setAxisTitle(
"nvtx", 1);
328 meMuonEtFraction_profile ->setAxisTitle(
"nvtx", 1);
329 meMuonEt_profile ->setAxisTitle(
"nvtx", 1);
330 meHFHadronEtFraction_profile ->setAxisTitle(
"nvtx", 1);
331 meHFHadronEt_profile ->setAxisTitle(
"nvtx", 1);
332 meHFEMEtFraction_profile ->setAxisTitle(
"nvtx", 1);
333 meHFEMEt_profile ->setAxisTitle(
"nvtx", 1);
343 if (_HighPtJetEventFlag->on()) _HighPtJetEventFlag->initRun(iRun, iSetup);
344 if (_LowPtJetEventFlag ->on()) _LowPtJetEventFlag ->initRun(iRun, iSetup);
345 if (_MinBiasEventFlag ->on()) _MinBiasEventFlag ->initRun(iRun, iSetup);
346 if (_HighMETEventFlag ->on()) _HighMETEventFlag ->initRun(iRun, iSetup);
347 if (_EleEventFlag ->on()) _EleEventFlag ->initRun(iRun, iSetup);
348 if (_MuonEventFlag ->on()) _MuonEventFlag ->initRun(iRun, iSetup);
350 if (_HighPtJetEventFlag->on() && _HighPtJetEventFlag->expressionsFromDB(_HighPtJetEventFlag->hltDBKey(), iSetup)[0] !=
"CONFIG_ERROR")
351 highPtJetExpr_ = _HighPtJetEventFlag->expressionsFromDB(_HighPtJetEventFlag->hltDBKey(), iSetup);
353 if (_LowPtJetEventFlag->on() && _LowPtJetEventFlag->expressionsFromDB(_LowPtJetEventFlag->hltDBKey(), iSetup)[0] !=
"CONFIG_ERROR")
354 lowPtJetExpr_ = _LowPtJetEventFlag->expressionsFromDB(_LowPtJetEventFlag->hltDBKey(), iSetup);
356 if (_HighMETEventFlag->on() && _HighMETEventFlag->expressionsFromDB(_HighMETEventFlag->hltDBKey(), iSetup)[0] !=
"CONFIG_ERROR")
357 highMETExpr_ = _HighMETEventFlag->expressionsFromDB(_HighMETEventFlag->hltDBKey(), iSetup);
359 if (_MuonEventFlag->on() && _MuonEventFlag->expressionsFromDB(_MuonEventFlag->hltDBKey(), iSetup)[0] !=
"CONFIG_ERROR")
360 muonExpr_ = _MuonEventFlag->expressionsFromDB(_MuonEventFlag->hltDBKey(), iSetup);
362 if (_EleEventFlag->on() && _EleEventFlag->expressionsFromDB(_EleEventFlag->hltDBKey(), iSetup)[0] !=
"CONFIG_ERROR")
363 elecExpr_ = _EleEventFlag->expressionsFromDB(_EleEventFlag->hltDBKey(), iSetup);
365 if (_MinBiasEventFlag->on() && _MinBiasEventFlag->expressionsFromDB(_MinBiasEventFlag->hltDBKey(), iSetup)[0] !=
"CONFIG_ERROR")
366 minbiasExpr_ = _MinBiasEventFlag->expressionsFromDB(_MinBiasEventFlag->hltDBKey(), iSetup);
380 _dbe->setCurrentFolder(dirName);
385 meLumiSec = _dbe->get(
"JetMET/lumisec");
390 tlumisec = meLumiSec->
getTH1F();
391 for (
int i=0;
i<500;
i++){
392 if (tlumisec->GetBinContent(
i+1)) totlsec++;
394 totltime = double(totlsec*90);
397 if (totltime==0.) totltime=1.;
402 for (std::vector<std::string>::const_iterator ic = _FolderNames.begin(); ic != _FolderNames.end(); ic++)
406 DirName = dirName+*ic;
408 makeRatePlot(DirName,totltime);
409 if ( _HighPtJetEventFlag->on() )
410 makeRatePlot(DirName+
"/"+
"triggerName_HighJetPt",totltime);
411 if ( _LowPtJetEventFlag->on() )
412 makeRatePlot(DirName+
"/"+
"triggerName_LowJetPt",totltime);
413 if ( _MinBiasEventFlag->on() )
414 makeRatePlot(DirName+
"/"+
"triggerName_MinBias",totltime);
415 if ( _HighMETEventFlag->on() )
416 makeRatePlot(DirName+
"/"+
"triggerName_HighMET",totltime);
417 if ( _EleEventFlag->on() )
418 makeRatePlot(DirName+
"/"+
"triggerName_Ele",totltime);
419 if ( _MuonEventFlag->on() )
420 makeRatePlot(DirName+
"/"+
"triggerName_Muon",totltime);
429 _dbe->setCurrentFolder(DirName);
440 tPfMETRate = (TH1F*) tPfMET->Clone(
"METTask_PfMETRate");
441 for (
int i = tPfMETRate->GetNbinsX()-1;
i>=0;
i--){
442 tPfMETRate->SetBinContent(
i+1,tPfMETRate->GetBinContent(
i+2)+tPfMET->GetBinContent(
i+1));
444 for (
int i = 0;
i<tPfMETRate->GetNbinsX();
i++){
445 tPfMETRate->SetBinContent(
i+1,tPfMETRate->GetBinContent(
i+1)/double(totltime));
448 tPfMETRate->SetName(
"METTask_PfMETRate");
449 tPfMETRate->SetTitle(
"METTask_PfMETRate");
450 mePfMETRate = _dbe->book1D(
"METTask_PfMETRate",tPfMETRate);
459 if (_verbose)
std::cout <<
"PfMETAnalyzer analyze" << std::endl;
476 if(&triggerResults) {
483 int ntrigs = triggerResults.
size();
484 if (_verbose)
std::cout <<
"ntrigs=" << ntrigs << std::endl;
493 const unsigned int nTrig(triggerNames.
size());
494 for (
unsigned int i=0;
i<nTrig;++
i)
496 if (triggerNames.
triggerName(
i).find(highPtJetExpr_[0].substr(0,highPtJetExpr_[0].rfind(
"_v")+2))!=std::string::npos && triggerResults.
accept(
i))
497 _trig_HighPtJet=
true;
498 else if (triggerNames.
triggerName(
i).find(lowPtJetExpr_[0].substr(0,lowPtJetExpr_[0].rfind(
"_v")+2))!=std::string::npos && triggerResults.
accept(
i))
500 else if (triggerNames.
triggerName(
i).find(highMETExpr_[0].substr(0,highMETExpr_[0].rfind(
"_v")+2))!=std::string::npos && triggerResults.
accept(
i))
504 else if (triggerNames.
triggerName(
i).find(muonExpr_[0].substr(0,muonExpr_[0].rfind(
"_v")+2))!=std::string::npos && triggerResults.
accept(
i))
506 else if (triggerNames.
triggerName(
i).find(elecExpr_[0].substr(0,elecExpr_[0].rfind(
"_v")+2))!=std::string::npos && triggerResults.
accept(
i))
508 else if (triggerNames.
triggerName(
i).find(minbiasExpr_[0].substr(0,minbiasExpr_[0].rfind(
"_v")+2))!=std::string::npos && triggerResults.
accept(
i))
513 for (
unsigned int i=0;
i!=HLTPathsJetMBByName_.size();
i++) {
514 unsigned int triggerIndex = triggerNames.
triggerIndex(HLTPathsJetMBByName_[
i]);
515 if (triggerIndex<triggerResults.
size()) {
516 if (triggerResults.
accept(triggerIndex)) {
522 if (HLTPathsJetMBByName_.size()==0) _trig_JetMB=triggerResults.
size()-1;
529 edm::LogInfo(
"PFMetAnalyzer") <<
"TriggerResults::HLT not found, "
530 "automatically select events";
541 iEvent.
getByLabel(thePfMETCollectionLabel, pfmetcoll);
543 if(!pfmetcoll.
isValid())
return;
547 pfmet = &(pfmetcol->front());
554 iEvent.
getByLabel(HcalNoiseRBXCollectionTag,HRBXCollection);
555 if (!HRBXCollection.
isValid()) {
556 LogDebug(
"") <<
"PfMETAnalyzer: Could not find HcalNoiseRBX Collection" << std::endl;
557 if (_verbose)
std::cout <<
"PfMETAnalyzer: Could not find HcalNoiseRBX Collection" << std::endl;
562 iEvent.
getByLabel(HBHENoiseFilterResultTag, HBHENoiseFilterResultHandle);
563 bool HBHENoiseFilterResult = *HBHENoiseFilterResultHandle;
564 if (!HBHENoiseFilterResultHandle.
isValid()) {
565 LogDebug(
"") <<
"PFMETAnalyzer: Could not find HBHENoiseFilterResult" << std::endl;
566 if (_verbose)
std::cout <<
"PFMETAnalyzer: Could not find HBHENoiseFilterResult" << std::endl;
571 iEvent.
getByLabel(theJetCollectionLabel, caloJets);
573 LogDebug(
"") <<
"PFMETAnalyzer: Could not find jet product" << std::endl;
574 if (_verbose)
std::cout <<
"PFMETAnalyzer: Could not find jet product" << std::endl;
578 iEvent.
getByLabel(PFCandidatesTag, pfCandidates);
580 LogDebug(
"") <<
"PfMETAnalyzer: Could not find pfcandidates product" << std::endl;
581 if (_verbose)
std::cout <<
"PfMETAnalyzer: Could not find pfcandidates product" << std::endl;
585 iEvent.
getByLabel(thePfJetCollectionLabel, pfJets);
587 LogDebug(
"") <<
"PFMETAnalyzer: Could not find pfjet product" << std::endl;
588 if (_verbose)
std::cout <<
"PFMETAnalyzer: Could not find pfjet product" << std::endl;
593 if (_source==
"PfMET") validateMET(*pfmet, pfCandidates);
598 if (_verbose)
std::cout <<
"JetID starts" << std::endl;
603 bool bJetIDMinimal=
true;
604 for (reco::CaloJetCollection::const_iterator cal = caloJets->begin();
605 cal!=caloJets->end(); ++cal){
606 jetID->calculate(iEvent, *cal);
608 if (fabs(cal->eta())<=2.6 &&
609 cal->emEnergyFraction()<=0.01) bJetIDMinimal=
false;
616 bool bJetIDLoose=
true;
617 for (reco::CaloJetCollection::const_iterator cal = caloJets->begin();
618 cal!=caloJets->end(); ++cal){
619 jetID->calculate(iEvent, *cal);
621 <<
jetID->restrictedEMF() <<
" "
622 << cal->pt() << std::endl;
626 if (
jetID->n90Hits()<2) bJetIDLoose=
false;
627 if (
jetID->fHPD()>=0.98) bJetIDLoose=
false;
631 if (fabs(cal->eta())<2.55){
632 if (cal->emEnergyFraction()<=0.01) bJetIDLoose=
false;
636 if (cal->emEnergyFraction()<=-0.9) bJetIDLoose=
false;
638 if (cal->emEnergyFraction()>= 1.0) bJetIDLoose=
false;
647 bool bJetIDTight=
true;
648 bJetIDTight=bJetIDLoose;
649 for (reco::CaloJetCollection::const_iterator cal = caloJets->begin();
650 cal!=caloJets->end(); ++cal){
651 jetID->calculate(iEvent, *cal);
655 if (
jetID->fHPD()>=0.95) bJetIDTight=
false;
658 if (fabs(cal->eta())>=1.00 && fabs(cal->eta())<1.75){
659 if (cal->pt()>80. && cal->emEnergyFraction()>=1.) bJetIDTight=
false;
663 else if (fabs(cal->eta())>=1.75 && fabs(cal->eta())<2.55){
664 if (cal->pt()>80. && cal->emEnergyFraction()>=1.) bJetIDTight=
false;
668 else if (fabs(cal->eta())>=2.55 && fabs(cal->eta())<3.25){
669 if (cal->pt()< 50. && cal->emEnergyFraction()<=-0.3) bJetIDTight=
false;
670 if (cal->pt()>=50. && cal->pt()< 80. && cal->emEnergyFraction()<=-0.2) bJetIDTight=
false;
671 if (cal->pt()>=80. && cal->pt()<340. && cal->emEnergyFraction()<=-0.1) bJetIDTight=
false;
672 if (cal->pt()>=340. && cal->emEnergyFraction()<=-0.1
673 && cal->emEnergyFraction()>=0.95) bJetIDTight=
false;
677 else if (fabs(cal->eta())>=3.25){
678 if (cal->pt()< 50. && cal->emEnergyFraction()<=-0.3
679 && cal->emEnergyFraction()>=0.90) bJetIDTight=
false;
680 if (cal->pt()>=50. && cal->pt()<130. && cal->emEnergyFraction()<=-0.2
681 && cal->emEnergyFraction()>=0.80) bJetIDTight=
false;
682 if (cal->pt()>=130. && cal->emEnergyFraction()<=-0.1
683 && cal->emEnergyFraction()>=0.70) bJetIDTight=
false;
688 if (_verbose)
std::cout <<
"JetID ends" << std::endl;
694 bool bHcalNoiseFilter = HBHENoiseFilterResult;
699 iEvent.
getByLabel(BeamHaloSummaryTag, TheBeamHaloSummary) ;
701 bool bBeamHaloIDTightPass =
true;
702 bool bBeamHaloIDLoosePass =
true;
704 if(!TheBeamHaloSummary.
isValid()) {
710 bBeamHaloIDLoosePass =
false;
714 bBeamHaloIDTightPass =
false;
722 bool bPrimaryVertex =
true;
724 bPrimaryVertex =
false;
730 LogDebug(
"") <<
"CaloMETAnalyzer: Could not find vertex collection" << std::endl;
731 if (_verbose)
std::cout <<
"CaloMETAnalyzer: Could not find vertex collection" << std::endl;
736 int vertex_number = vertexCollection.size();
737 VertexCollection::const_iterator
v = vertexCollection.begin();
738 for ( ; v != vertexCollection.end(); ++
v) {
739 double vertex_chi2 = v->normalizedChi2();
740 double vertex_ndof = v->ndof();
741 bool fakeVtx = v->isFake();
742 double vertex_Z = v->z();
745 && vertex_number>=_nvtx_min
746 && vertex_ndof >_vtxndof_min
747 && vertex_chi2 <_vtxchi2_max
748 && fabs(vertex_Z)<_vtxz_max ) {
749 bPrimaryVertex =
true;
760 if (!gtReadoutRecord.
isValid()) {
761 LogDebug(
"") <<
"CaloMETAnalyzer: Could not find GT readout record" << std::endl;
762 if (_verbose)
std::cout <<
"CaloMETAnalyzer: Could not find GT readout record product" << std::endl;
765 bool bTechTriggers =
true;
766 bool bTechTriggersAND =
true;
767 bool bTechTriggersOR =
false;
768 bool bTechTriggersNOT =
false;
770 if (gtReadoutRecord.
isValid()) {
771 const TechnicalTriggerWord& technicalTriggerWordBeforeMask = gtReadoutRecord->technicalTriggerWord();
773 if (_techTrigsAND.size() == 0)
774 bTechTriggersAND =
true;
776 for (
unsigned ttr = 0; ttr != _techTrigsAND.size(); ttr++) {
777 bTechTriggersAND = bTechTriggersAND && technicalTriggerWordBeforeMask.at(_techTrigsAND.at(ttr));
780 if (_techTrigsAND.size() == 0)
781 bTechTriggersOR =
true;
783 for (
unsigned ttr = 0; ttr != _techTrigsOR.size(); ttr++) {
784 bTechTriggersOR = bTechTriggersOR || technicalTriggerWordBeforeMask.at(_techTrigsOR.at(ttr));
786 if (_techTrigsNOT.size() == 0)
787 bTechTriggersNOT =
false;
789 for (
unsigned ttr = 0; ttr != _techTrigsNOT.size(); ttr++) {
790 bTechTriggersNOT = bTechTriggersNOT || technicalTriggerWordBeforeMask.at(_techTrigsNOT.at(ttr));
795 bTechTriggersAND =
true;
796 bTechTriggersOR =
true;
797 bTechTriggersNOT =
false;
800 if (_techTrigsAND.size()==0)
801 bTechTriggersAND =
true;
802 if (_techTrigsOR.size()==0)
803 bTechTriggersOR =
true;
804 if (_techTrigsNOT.size()==0)
805 bTechTriggersNOT =
false;
807 bTechTriggers = bTechTriggersAND && bTechTriggersOR && !bTechTriggersNOT;
812 bool bHcalNoise = bHcalNoiseFilter;
813 bool bBeamHaloID = bBeamHaloIDLoosePass;
814 bool bJetID = bJetIDMinimal;
816 bool bPhysicsDeclared =
true;
817 if(_doHLTPhysicsOn) bPhysicsDeclared =_trig_PhysDec;
819 if (_tightBHFiltering) bBeamHaloID = bBeamHaloIDTightPass;
821 if (_tightJetIDFiltering==1) bJetID = bJetIDMinimal;
822 else if (_tightJetIDFiltering==2) bJetID = bJetIDLoose;
823 else if (_tightJetIDFiltering==3) bJetID = bJetIDTight;
824 else if (_tightJetIDFiltering==-1) bJetID =
true;
826 bool bBasicCleanup = bTechTriggers && bPrimaryVertex && bPhysicsDeclared;
827 bool bExtraCleanup = bBasicCleanup && bHcalNoise && bJetID && bBeamHaloID;
831 for (std::vector<std::string>::const_iterator ic = _FolderNames.begin();
832 ic != _FolderNames.end(); ic++){
833 if (*ic==
"All") fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
834 if (DCSFilter->filter(iEvent, iSetup)) {
835 if (_cleanupSelection){
836 if (*ic==
"BasicCleanup" && bBasicCleanup) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
837 if (*ic==
"ExtraCleanup" && bExtraCleanup) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
840 if (*ic==
"HcalNoiseFilter" && bHcalNoiseFilter ) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
841 if (*ic==
"JetIDMinimal" && bJetIDMinimal) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
842 if (*ic==
"JetIDLoose" && bJetIDLoose) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
843 if (*ic==
"JetIDTight" && bJetIDTight) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
844 if (*ic==
"BeamHaloIDTightPass" && bBeamHaloIDTightPass) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
845 if (*ic==
"BeamHaloIDLoosePass" && bBeamHaloIDLoosePass) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
846 if (*ic==
"Triggers" && bTechTriggers) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
847 if (*ic==
"PV" && bPrimaryVertex) fillMESet(iEvent, DirName+
"/"+*ic, *pfmet);
874 double cosphi =
cos(phi);
875 double sinphi =
sin(phi);
878 double sintheta =
sin(theta);
880 double et = E*sintheta;
881 double ex = et*cosphi;
882 double ey = et*sinphi;
889 double Et =
sqrt( sumEx*sumEx + sumEy*sumEy);
893 if (sumEt!=pfmet.
sumEt() || sumEx!=pfmet.
px() || sumEy!=pfmet.
py() || missingEt.T()!=pfmet.
pt() )
895 std::cout<<
"PFSumEt: " << sumEt <<
", "<<
"PFMETBlock: "<<pfmet.
pt()<<std::endl;
896 std::cout<<
"PFMET: " << missingEt.T() <<
", "<<
"PFMETBlock: "<<pfmet.
pt()<<std::endl;
897 std::cout<<
"PFMETx: " << missingEt.X() <<
", "<<
"PFMETBlockx: "<<pfmet.
pt()<<std::endl;
898 std::cout<<
"PFMETy: " << missingEt.Y() <<
", "<<
"PFMETBlocky: "<<pfmet.
pt()<<std::endl;
907 _dbe->setCurrentFolder(DirName);
909 bool bLumiSecPlot=
false;
910 if (DirName.find(
"All")) bLumiSecPlot=
true;
913 fillMonitorElement(iEvent,DirName,
"",pfmet, bLumiSecPlot);
915 fillMonitorElement(iEvent,DirName,
"HighPtJet",pfmet,
false);
917 fillMonitorElement(iEvent,DirName,
"LowPtJet",pfmet,
false);
919 fillMonitorElement(iEvent,DirName,
"MinBias",pfmet,
false);
921 fillMonitorElement(iEvent,DirName,
"HighMET",pfmet,
false);
923 fillMonitorElement(iEvent,DirName,
"Ele",pfmet,
false);
925 fillMonitorElement(iEvent,DirName,
"Muon",pfmet,
false);
938 if (TriggerTypeName ==
"HighPtJet") {
939 if (!selectHighPtJetEvent(iEvent))
return;
941 else if (TriggerTypeName ==
"LowPtJet") {
942 if (!selectLowPtJetEvent(iEvent))
return;
944 else if (TriggerTypeName ==
"HighMET") {
945 if (pfmet.
pt()<_highPFMETThreshold)
return;
947 else if (TriggerTypeName ==
"Ele") {
948 if (!selectWElectronEvent(iEvent))
return;
950 else if (TriggerTypeName ==
"Muon") {
951 if (!selectWMuonEvent(iEvent))
return;
954 if (TriggerTypeName !=
"") DirName = DirName +
"/" + TriggerTypeName;
959 double pfSumET = pfmet.
sumEt();
960 double pfMETSig = pfmet.
mEtSig();
962 double pfMEx = pfmet.
px();
963 double pfMEy = pfmet.
py();
964 double pfMETPhi = pfmet.
phi();
970 double pfPhotonEt = pfmet.
photonEt();
978 double pfMuonEt = pfmet.
muonEt();
982 double pfHFEMEt = pfmet.
HFEMEt();
985 if (pfSumET > _etThreshold) {
987 mePfMEx = _dbe->get(DirName +
"/METTask_PfMEx");
988 mePfMEy = _dbe->get(DirName +
"/METTask_PfMEy");
989 mePfMET = _dbe->get(DirName +
"/METTask_PfMET");
990 mePfMETPhi = _dbe->get(DirName +
"/METTask_PfMETPhi");
991 mePfSumET = _dbe->get(DirName +
"/METTask_PfSumET");
992 mePfMETSig = _dbe->get(DirName +
"/METTask_PfMETSig");
993 mePfMET_logx = _dbe->get(DirName +
"/METTask_PfMET_logx");
994 mePfSumET_logx = _dbe->get(DirName +
"/METTask_PfSumET_logx");
996 if (mePfMEx && mePfMEx ->getRootObject()) mePfMEx ->Fill(pfMEx);
997 if (mePfMEy && mePfMEy ->getRootObject()) mePfMEy ->Fill(pfMEy);
998 if (mePfMET && mePfMET ->getRootObject()) mePfMET ->Fill(pfMET);
999 if (mePfMETPhi && mePfMETPhi ->getRootObject()) mePfMETPhi ->Fill(pfMETPhi);
1000 if (mePfSumET && mePfSumET ->getRootObject()) mePfSumET ->Fill(pfSumET);
1001 if (mePfMETSig && mePfMETSig ->getRootObject()) mePfMETSig ->Fill(pfMETSig);
1002 if (mePfMET_logx && mePfMET_logx ->getRootObject()) mePfMET_logx ->Fill(log10(pfMET));
1003 if (mePfSumET_logx && mePfSumET_logx->getRootObject()) mePfSumET_logx->Fill(log10(pfSumET));
1006 mePhotonEtFraction = _dbe->get(DirName +
"/METTask_PfPhotonEtFraction");
1007 mePhotonEt = _dbe->get(DirName +
"/METTask_PfPhotonEt");
1008 meNeutralHadronEtFraction = _dbe->get(DirName +
"/METTask_PfNeutralHadronEtFraction");
1009 meNeutralHadronEt = _dbe->get(DirName +
"/METTask_PfNeutralHadronEt");
1010 meElectronEtFraction = _dbe->get(DirName +
"/METTask_PfElectronEtFraction");
1011 meElectronEt = _dbe->get(DirName +
"/METTask_PfElectronEt");
1012 meChargedHadronEtFraction = _dbe->get(DirName +
"/METTask_PfChargedHadronEtFraction");
1013 meChargedHadronEt = _dbe->get(DirName +
"/METTask_PfChargedHadronEt");
1014 meMuonEtFraction = _dbe->get(DirName +
"/METTask_PfMuonEtFraction");
1015 meMuonEt = _dbe->get(DirName +
"/METTask_PfMuonEt");
1016 meHFHadronEtFraction = _dbe->get(DirName +
"/METTask_PfHFHadronEtFraction");
1017 meHFHadronEt = _dbe->get(DirName +
"/METTask_PfHFHadronEt");
1018 meHFEMEtFraction = _dbe->get(DirName +
"/METTask_PfHFEMEtFraction");
1019 meHFEMEt = _dbe->get(DirName +
"/METTask_PfHFEMEt");
1021 if (mePhotonEtFraction && mePhotonEtFraction ->getRootObject()) mePhotonEtFraction ->Fill(pfPhotonEtFraction);
1022 if (mePhotonEt && mePhotonEt ->getRootObject()) mePhotonEt ->Fill(pfPhotonEt);
1023 if (meNeutralHadronEtFraction && meNeutralHadronEtFraction->getRootObject()) meNeutralHadronEtFraction->Fill(pfNeutralHadronEtFraction);
1024 if (meNeutralHadronEt && meNeutralHadronEt ->getRootObject()) meNeutralHadronEt ->Fill(pfNeutralHadronEt);
1025 if (meElectronEtFraction && meElectronEtFraction ->getRootObject()) meElectronEtFraction ->Fill(pfElectronEtFraction);
1026 if (meElectronEt && meElectronEt ->getRootObject()) meElectronEt ->Fill(pfElectronEt);
1027 if (meChargedHadronEtFraction && meChargedHadronEtFraction->getRootObject()) meChargedHadronEtFraction->Fill(pfChargedHadronEtFraction);
1028 if (meChargedHadronEt && meChargedHadronEt ->getRootObject()) meChargedHadronEt ->Fill(pfChargedHadronEt);
1029 if (meMuonEtFraction && meMuonEtFraction ->getRootObject()) meMuonEtFraction ->Fill(pfMuonEtFraction);
1030 if (meMuonEt && meMuonEt ->getRootObject()) meMuonEt ->Fill(pfMuonEt);
1031 if (meHFHadronEtFraction && meHFHadronEtFraction ->getRootObject()) meHFHadronEtFraction ->Fill(pfHFHadronEtFraction);
1032 if (meHFHadronEt && meHFHadronEt ->getRootObject()) meHFHadronEt ->Fill(pfHFHadronEt);
1033 if (meHFEMEtFraction && meHFEMEtFraction ->getRootObject()) meHFEMEtFraction ->Fill(pfHFEMEtFraction);
1034 if (meHFEMEt && meHFEMEt ->getRootObject()) meHFEMEt ->Fill(pfHFEMEt);
1040 mePfMExLS = _dbe->get(DirName +
"/METTask_PfMExLS");
1041 mePfMEyLS = _dbe->get(DirName +
"/METTask_PfMEyLS");
1043 if (mePfMExLS && mePfMExLS->getRootObject()) mePfMExLS->Fill(pfMEx, iEvent.
luminosityBlock());
1044 if (mePfMEyLS && mePfMEyLS->getRootObject()) mePfMEyLS->Fill(pfMEy, iEvent.
luminosityBlock());
1051 mePfMEx_profile = _dbe->get(DirName +
"/METTask_PfMEx_profile");
1052 mePfMEy_profile = _dbe->get(DirName +
"/METTask_PfMEy_profile");
1053 mePfMET_profile = _dbe->get(DirName +
"/METTask_PfMET_profile");
1054 mePfSumET_profile = _dbe->get(DirName +
"/METTask_PfSumET_profile");
1056 if (mePfMEx_profile && mePfMEx_profile ->getRootObject()) mePfMEx_profile ->Fill(_numPV, pfMEx);
1057 if (mePfMEy_profile && mePfMEy_profile ->getRootObject()) mePfMEy_profile ->Fill(_numPV, pfMEy);
1058 if (mePfMET_profile && mePfMET_profile ->getRootObject()) mePfMET_profile ->Fill(_numPV, pfMET);
1059 if (mePfSumET_profile && mePfSumET_profile->getRootObject()) mePfSumET_profile->Fill(_numPV, pfSumET);
1062 mePhotonEtFraction_profile = _dbe->get(DirName +
"/METTask_PfPhotonEtFraction_profile");
1063 mePhotonEt_profile = _dbe->get(DirName +
"/METTask_PfPhotonEt_profile");
1064 meNeutralHadronEtFraction_profile = _dbe->get(DirName +
"/METTask_PfNeutralHadronEtFraction_profile");
1065 meNeutralHadronEt_profile = _dbe->get(DirName +
"/METTask_PfNeutralHadronEt_profile");
1066 meElectronEtFraction_profile = _dbe->get(DirName +
"/METTask_PfElectronEtFraction_profile");
1067 meElectronEt_profile = _dbe->get(DirName +
"/METTask_PfElectronEt_profile");
1068 meChargedHadronEtFraction_profile = _dbe->get(DirName +
"/METTask_PfChargedHadronEtFraction_profile");
1069 meChargedHadronEt_profile = _dbe->get(DirName +
"/METTask_PfChargedHadronEt_profile");
1070 meMuonEtFraction_profile = _dbe->get(DirName +
"/METTask_PfMuonEtFraction_profile");
1071 meMuonEt_profile = _dbe->get(DirName +
"/METTask_PfMuonEt_profile");
1072 meHFHadronEtFraction_profile = _dbe->get(DirName +
"/METTask_PfHFHadronEtFraction_profile");
1073 meHFHadronEt_profile = _dbe->get(DirName +
"/METTask_PfHFHadronEt_profile");
1074 meHFEMEtFraction_profile = _dbe->get(DirName +
"/METTask_PfHFEMEtFraction_profile");
1075 meHFEMEt_profile = _dbe->get(DirName +
"/METTask_PfHFEMEt_profile");
1077 if (mePhotonEtFraction_profile && mePhotonEtFraction_profile ->getRootObject()) mePhotonEtFraction_profile ->Fill(_numPV, pfPhotonEtFraction);
1078 if (mePhotonEt_profile && mePhotonEt_profile ->getRootObject()) mePhotonEt_profile ->Fill(_numPV, pfPhotonEt);
1079 if (meNeutralHadronEtFraction_profile && meNeutralHadronEtFraction_profile->getRootObject()) meNeutralHadronEtFraction_profile->Fill(_numPV, pfNeutralHadronEtFraction);
1080 if (meNeutralHadronEt_profile && meNeutralHadronEt_profile ->getRootObject()) meNeutralHadronEt_profile ->Fill(_numPV, pfNeutralHadronEt);
1081 if (meElectronEtFraction_profile && meElectronEtFraction_profile ->getRootObject()) meElectronEtFraction_profile ->Fill(_numPV, pfElectronEtFraction);
1082 if (meElectronEt_profile && meElectronEt_profile ->getRootObject()) meElectronEt_profile ->Fill(_numPV, pfElectronEt);
1083 if (meChargedHadronEtFraction_profile && meChargedHadronEtFraction_profile->getRootObject()) meChargedHadronEtFraction_profile->Fill(_numPV, pfChargedHadronEtFraction);
1084 if (meChargedHadronEt_profile && meChargedHadronEt_profile ->getRootObject()) meChargedHadronEt_profile ->Fill(_numPV, pfChargedHadronEt);
1085 if (meMuonEtFraction_profile && meMuonEtFraction_profile ->getRootObject()) meMuonEtFraction_profile ->Fill(_numPV, pfMuonEtFraction);
1086 if (meMuonEt_profile && meMuonEt_profile ->getRootObject()) meMuonEt_profile ->Fill(_numPV, pfMuonEt);
1087 if (meHFHadronEtFraction_profile && meHFHadronEtFraction_profile ->getRootObject()) meHFHadronEtFraction_profile ->Fill(_numPV, pfHFHadronEtFraction);
1088 if (meHFHadronEt_profile && meHFHadronEt_profile ->getRootObject()) meHFHadronEt_profile ->Fill(_numPV, pfHFHadronEt);
1089 if (meHFEMEtFraction_profile && meHFEMEtFraction_profile ->getRootObject()) meHFEMEtFraction_profile ->Fill(_numPV, pfHFEMEtFraction);
1090 if (meHFEMEt_profile && meHFEMEt_profile ->getRootObject()) meHFEMEt_profile ->Fill(_numPV, pfHFEMEt);
1100 bool return_value=
false;
1103 iEvent.
getByLabel(thePfJetCollectionLabel, pfJets);
1105 LogDebug(
"") <<
"PFMETAnalyzer: Could not find pfjet product" << std::endl;
1106 if (_verbose)
std::cout <<
"PFMETAnalyzer: Could not find pfjet product" << std::endl;
1109 for (reco::PFJetCollection::const_iterator pf = pfJets->begin();
1110 pf!=pfJets->end(); ++pf){
1111 if (pf->pt()>_highPtPFJetThreshold){
1116 return return_value;
1122 bool return_value=
false;
1125 iEvent.
getByLabel(thePfJetCollectionLabel, pfJets);
1127 LogDebug(
"") <<
"PFMETAnalyzer: Could not find jet product" << std::endl;
1128 if (_verbose)
std::cout <<
"PFMETAnalyzer: Could not find jet product" << std::endl;
1131 for (reco::PFJetCollection::const_iterator cal = pfJets->begin();
1132 cal!=pfJets->end(); ++cal){
1133 if (cal->pt()>_lowPtPFJetThreshold){
1138 return return_value;
1145 bool return_value=
true;
1151 return return_value;
1158 bool return_value=
true;
1164 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
static std::string const triggerResults("TriggerResults")
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