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");
125 _source =
parameters.getParameter<std::string>(
"Source");
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");
150 std::string
DirName =
"JetMET/MET/"+_source;
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);
381 std::string
dirName =
"JetMET/MET/"+_source+
"/";
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);
622 if (_verbose)
std::cout << jetID->n90Hits() <<
" "
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;
831 std::string
DirName =
"JetMET/MET/"+_source;
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);
936 std::string TriggerTypeName,
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
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
const bool GlobalTightHaloId() const
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 double energy() const
energy
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)
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
virtual double theta() const
momentum polar angle
double electronEt() const
TObject * getRootObject(void) const
virtual double px() const
x coordinate of momentum vector
virtual double pt() const
transverse momentum
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 double phi() const
momentum azimuthal angle
const bool EcalLooseHaloId() const
virtual double py() const
y coordinate of momentum vector
void setCurrentFolder(const std::string &fullpath)
double chargedHadronEt() const