48 LogDebug(
"HLTInclusiveVBFSource") <<
"constructor....";
55 triggerSummaryToken = consumes <trigger::TriggerEvent> (triggerSummaryLabel_);
56 triggerResultsToken = consumes <edm::TriggerResults> (triggerResultsLabel_);
57 triggerSummaryFUToken = consumes <trigger::TriggerEvent> (
edm::InputTag(triggerSummaryLabel_.label(),triggerSummaryLabel_.instance(),
std::string(
"FU")));
77 check_mjj650_Pt35_DEta3p5 =
false;
78 check_mjj700_Pt35_DEta3p5 =
false;
79 check_mjj750_Pt35_DEta3p5 =
false;
80 check_mjj800_Pt35_DEta3p5 =
false;
81 check_mjj650_Pt40_DEta3p5 =
false;
82 check_mjj700_Pt40_DEta3p5 =
false;
83 check_mjj750_Pt40_DEta3p5 =
false;
84 check_mjj800_Pt40_DEta3p5 =
false;
100 using namespace reco;
102 if(debug_)
cout<<
"DEBUG-0: Start to analyze"<<endl;
109 iEvent.
getByToken(triggerResultsToken, triggerResults_);
110 if(!triggerResults_.isValid()) {
111 iEvent.
getByToken(triggerResultsFUToken,triggerResults_);
112 if(!triggerResults_.isValid()) {
113 edm::LogInfo(
"HLTInclusiveVBFSource") <<
"TriggerResults not found, " 123 iEvent.
getByToken(triggerSummaryToken,triggerObj_);
124 if(!triggerObj_.isValid()) {
125 iEvent.
getByToken(triggerSummaryFUToken,triggerObj_);
126 if(!triggerObj_.isValid()) {
127 edm::LogInfo(
"HLTInclusiveVBFSource") <<
"TriggerEvent not found, " 133 if(debug_)
cout<<
"DEBUG-1: Trigger information"<<endl;
140 bool ValidPFMET_ = iEvent.
getByToken(pfMetToken, metSrc);
141 if(!ValidPFMET_)
return;
144 bool ValidPFJet_ = iEvent.
getByToken(pfJetsToken, jetSrc);
145 if(!ValidPFJet_)
return;
151 if(jets.
empty())
return;
152 if(mets.
empty())
return;
154 if(debug_)
cout<<
"DEBUG-2: AOD Information"<<endl;
161 filtername =
"dummy";
204 checkOffline =
false;
206 checkHLTIndex =
false;
215 checkdR_sameOrder =
false;
216 checkdR_crossOrder =
false;
219 reco_deltaetajet = 0.;
220 reco_deltaphijet = 0.;
221 reco_invmassjet = 0.;
222 hlt_deltaetajet = 0.;
223 hlt_deltaphijet = 0.;
230 checkOffline =
false;
231 for(
unsigned int ijet1=0; ijet1<jets.
size(); ijet1++){
233 if(jets[ijet1].neutralEmEnergyFraction()>0.99)
continue;
234 for(
unsigned int ijet2=ijet1+1; ijet2<jets.
size(); ijet2++){
236 if(jets[ijet2].neutralEmEnergyFraction()>0.99)
continue;
238 reco_ejet1 = jets[ijet1].energy();
240 reco_pxjet1 = jets[ijet1].momentum().X();
241 reco_pyjet1 = jets[ijet1].momentum().Y();
242 reco_pzjet1 = jets[ijet1].momentum().Z();
243 reco_ptjet1 = jets[ijet1].pt();
244 reco_etajet1 = jets[ijet1].eta();
245 reco_phijet1 = jets[ijet1].phi();
247 reco_ejet2 = jets[ijet2].energy();
249 reco_pxjet2 = jets[ijet2].momentum().X();
250 reco_pyjet2 = jets[ijet2].momentum().Y();
251 reco_pzjet2 = jets[ijet2].momentum().Z();
252 reco_ptjet2 = jets[ijet2].pt();
253 reco_etajet2 = jets[ijet2].eta();
254 reco_phijet2 = jets[ijet2].phi();
256 reco_deltaetajet = reco_etajet1 - reco_etajet2;
258 reco_invmassjet =
sqrt((reco_ejet1 + reco_ejet2) * (reco_ejet1 + reco_ejet2) -
259 (reco_pxjet1 + reco_pxjet2) * (reco_pxjet1 + reco_pxjet2) -
260 (reco_pyjet1 + reco_pyjet2) * (reco_pyjet1 + reco_pyjet2) -
261 (reco_pzjet1 + reco_pzjet2) * (reco_pzjet1 + reco_pzjet2));
264 if(reco_ptjet1 < minPtHigh_)
continue;
265 if(reco_ptjet2 < minPtLow_)
continue;
266 if(etaOpposite_ ==
true && reco_etajet1*reco_etajet2 > 0)
continue;
267 if(
std::abs(reco_deltaetajet) < minDeltaEta_)
continue;
268 if(
std::abs(reco_invmassjet) < minInvMass_)
continue;
271 if(debug_)
cout<<
"DEBUG-3"<<endl;
275 if(checkOffline ==
true)
break;
277 if(checkOffline ==
false)
return;
284 for(
auto &
v : hltPathsAll_){
286 checkHLTIndex =
false;
289 v.getMEhisto_RECO_deltaEta_DiJet()->Fill(reco_deltaetajet);
290 v.getMEhisto_RECO_deltaPhi_DiJet()->Fill(reco_deltaphijet);
291 v.getMEhisto_RECO_invMass_DiJet()->Fill(reco_invmassjet);
294 if(debug_)
cout<<
"DEBUG-4-0: Path loops"<<endl;
297 if(isHLTPathAccepted(
v.getPath())==
false)
continue;
301 if(debug_)
cout<<
"DEBUG-4-1: Path is accepted. Now we are looking for "<<
v.getLabel()<<
" module."<<endl;
305 const int hltIndex = triggerObj_->filterIndex(hltTag);
306 if(hltIndex >= triggerObj_->sizeFilters())
continue;
308 if(debug_)
cout<<
"DEBUG-4-2: HLT module "<<
v.getLabel()<<
" exists"<<endl;
309 const trigger::Keys & khlt = triggerObj_->filterKeys(hltIndex);
310 auto kj = khlt.begin();
311 for(; kj != khlt.end(); kj+=2){
312 if(debug_)
cout<<
"DEBUG-5"<<endl;
313 checkdR_sameOrder =
false;
314 checkdR_crossOrder =
false;
315 hlt_ejet1 = toc[*kj].energy();
317 hlt_pxjet1 = toc[*kj].px();
318 hlt_pyjet1 = toc[*kj].py();
319 hlt_pzjet1 = toc[*kj].pz();
320 hlt_ptjet1 = toc[*kj].pt();
321 hlt_etajet1 = toc[*kj].eta();
322 hlt_phijet1 = toc[*kj].phi();
324 hlt_ejet2 = toc[*(kj+1)].energy();
326 hlt_pxjet2 = toc[*(kj+1)].px();
327 hlt_pyjet2 = toc[*(kj+1)].py();
328 hlt_pzjet2 = toc[*(kj+1)].pz();
329 hlt_ptjet2 = toc[*(kj+1)].
pt();
330 hlt_etajet2 = toc[*(kj+1)].
eta();
331 hlt_phijet2 = toc[*(kj+1)].phi();
333 dR_HLT_RECO_11 =
reco::deltaR(hlt_etajet1,hlt_phijet1,reco_etajet1,reco_phijet1);
334 dR_HLT_RECO_22 =
reco::deltaR(hlt_etajet2,hlt_phijet2,reco_etajet2,reco_phijet2);
335 dR_HLT_RECO_12 =
reco::deltaR(hlt_etajet1,hlt_phijet1,reco_etajet2,reco_phijet2);
336 dR_HLT_RECO_21 =
reco::deltaR(hlt_etajet2,hlt_phijet2,reco_etajet1,reco_phijet1);
337 if(dR_HLT_RECO_11<deltaRMatch_ && dR_HLT_RECO_22<deltaRMatch_) checkdR_sameOrder =
true;
338 if(dR_HLT_RECO_12<deltaRMatch_ && dR_HLT_RECO_21<deltaRMatch_) checkdR_crossOrder =
true;
339 if(checkdR_sameOrder ==
false && checkdR_crossOrder ==
false)
continue;
340 checkHLTIndex =
true;
342 if(debug_)
cout<<
"DEBUG-6: Match"<<endl;
343 hlt_deltaetajet = hlt_etajet1 - hlt_etajet2;
345 if(checkdR_crossOrder){
346 hlt_deltaetajet = (-1)*hlt_deltaetajet;
349 hlt_invmassjet =
sqrt((hlt_ejet1 + hlt_ejet2) * (hlt_ejet1 + hlt_ejet2) -
350 (hlt_pxjet1 + hlt_pxjet2) * (hlt_pxjet1 + hlt_pxjet2) -
351 (hlt_pyjet1 + hlt_pyjet2) * (hlt_pyjet1 + hlt_pyjet2) -
352 (hlt_pzjet1 + hlt_pzjet2) * (hlt_pzjet1 + hlt_pzjet2));
353 v.getMEhisto_HLT_deltaEta_DiJet()->Fill(hlt_deltaetajet);
354 v.getMEhisto_HLT_deltaPhi_DiJet()->Fill(hlt_deltaphijet);
355 v.getMEhisto_HLT_invMass_DiJet()->Fill(hlt_invmassjet);
357 v.getMEhisto_RECO_deltaEta_DiJet_Match()->Fill(reco_deltaetajet);
358 v.getMEhisto_RECO_deltaPhi_DiJet_Match()->Fill(reco_deltaphijet);
359 v.getMEhisto_RECO_invMass_DiJet_Match()->Fill(reco_invmassjet);
361 v.getMEhisto_RECOHLT_deltaEta()->Fill(reco_deltaetajet,hlt_deltaetajet);
362 v.getMEhisto_RECOHLT_deltaPhi()->Fill(reco_deltaphijet,hlt_deltaphijet);
363 v.getMEhisto_RECOHLT_invMass()->Fill(reco_invmassjet,hlt_invmassjet);
365 if(checkHLTIndex==
true)
break;
371 if(checkHLT==
true && checkHLTIndex==
true){
372 if(debug_)
cout<<
"DEBUG-7: Match"<<endl;
373 v.getMEhisto_NumberOfMatches()->Fill(1);
376 if(debug_)
cout<<
"DEBUG-8: Not match"<<endl;
377 v.getMEhisto_NumberOfMatches()->Fill(0);
385 for(
auto &
v : hltPathsAll_){
386 if(isHLTPathAccepted(
v.getPath())==
false)
continue;
387 if(debug_)
cout<<
"DEBUG-9: Loop for rate approximation: "<<
v.getPath()<<endl;
388 check_mjj650_Pt35_DEta3p5 =
false;
389 check_mjj700_Pt35_DEta3p5 =
false;
390 check_mjj750_Pt35_DEta3p5 =
false;
391 check_mjj800_Pt35_DEta3p5 =
false;
392 check_mjj650_Pt40_DEta3p5 =
false;
393 check_mjj700_Pt40_DEta3p5 =
false;
394 check_mjj750_Pt40_DEta3p5 =
false;
395 check_mjj800_Pt40_DEta3p5 =
false;
397 const int hltIndex = triggerObj_->filterIndex(hltTag);
398 if(hltIndex >= triggerObj_->sizeFilters())
continue;
399 const trigger::Keys & khlt = triggerObj_->filterKeys(hltIndex);
400 auto kj = khlt.begin();
401 for(; kj != khlt.end(); kj+=2){
402 checkdR_sameOrder =
false;
403 checkdR_crossOrder =
false;
405 hlt_ejet1 = toc[*kj].energy();
407 hlt_pxjet1 = toc[*kj].px();
408 hlt_pyjet1 = toc[*kj].py();
409 hlt_pzjet1 = toc[*kj].pz();
410 hlt_ptjet1 = toc[*kj].pt();
411 hlt_etajet1 = toc[*kj].eta();
412 hlt_phijet1 = toc[*kj].phi();
414 hlt_ejet2 = toc[*(kj+1)].energy();
416 hlt_pxjet2 = toc[*(kj+1)].px();
417 hlt_pyjet2 = toc[*(kj+1)].py();
418 hlt_pzjet2 = toc[*(kj+1)].pz();
419 hlt_ptjet2 = toc[*(kj+1)].
pt();
420 hlt_etajet2 = toc[*(kj+1)].
eta();
421 hlt_phijet2 = toc[*(kj+1)].phi();
423 hlt_deltaetajet = hlt_etajet1 - hlt_etajet2;
425 hlt_invmassjet =
sqrt((hlt_ejet1 + hlt_ejet2) * (hlt_ejet1 + hlt_ejet2) -
426 (hlt_pxjet1 + hlt_pxjet2) * (hlt_pxjet1 + hlt_pxjet2) -
427 (hlt_pyjet1 + hlt_pyjet2) * (hlt_pyjet1 + hlt_pyjet2) -
428 (hlt_pzjet1 + hlt_pzjet2) * (hlt_pzjet1 + hlt_pzjet2));
430 if(check_mjj650_Pt35_DEta3p5==
false && hlt_ptjet1>35. && hlt_ptjet2>=35. && hlt_invmassjet>650 &&
std::abs(hlt_deltaetajet)>3.5){
431 check_mjj650_Pt35_DEta3p5=
true;
433 if(check_mjj700_Pt35_DEta3p5==
false && hlt_ptjet1>35. && hlt_ptjet2>=35. && hlt_invmassjet>700 &&
std::abs(hlt_deltaetajet)>3.5){
434 check_mjj700_Pt35_DEta3p5=
true;
436 if(check_mjj750_Pt35_DEta3p5==
false && hlt_ptjet1>35. && hlt_ptjet2>=35. && hlt_invmassjet>750 &&
std::abs(hlt_deltaetajet)>3.5){
437 check_mjj750_Pt35_DEta3p5=
true;
439 if(check_mjj800_Pt35_DEta3p5==
false && hlt_ptjet1>35. && hlt_ptjet2>=35. && hlt_invmassjet>800 &&
std::abs(hlt_deltaetajet)>3.5){
440 check_mjj800_Pt35_DEta3p5=
true;
442 if(check_mjj650_Pt40_DEta3p5==
false && hlt_ptjet1>40. && hlt_ptjet2>=40. && hlt_invmassjet>650 &&
std::abs(hlt_deltaetajet)>3.5){
443 check_mjj650_Pt40_DEta3p5=
true;
445 if(check_mjj700_Pt40_DEta3p5==
false && hlt_ptjet1>40. && hlt_ptjet2>=40. && hlt_invmassjet>700 &&
std::abs(hlt_deltaetajet)>3.5){
446 check_mjj700_Pt40_DEta3p5=
true;
448 if(check_mjj750_Pt40_DEta3p5==
false && hlt_ptjet1>40. && hlt_ptjet2>=40. && hlt_invmassjet>750 &&
std::abs(hlt_deltaetajet)>3.5){
449 check_mjj750_Pt40_DEta3p5=
true;
451 if(check_mjj800_Pt40_DEta3p5==
false && hlt_ptjet1>40. && hlt_ptjet2>=40. && hlt_invmassjet>800 &&
std::abs(hlt_deltaetajet)>3.5){
452 check_mjj800_Pt40_DEta3p5=
true;
455 if(check_mjj650_Pt35_DEta3p5==
true)
v.getMEhisto_NumberOfEvents()->Fill(0);
456 if(check_mjj700_Pt35_DEta3p5==
true)
v.getMEhisto_NumberOfEvents()->Fill(1);
457 if(check_mjj750_Pt35_DEta3p5==
true)
v.getMEhisto_NumberOfEvents()->Fill(2);
458 if(check_mjj800_Pt35_DEta3p5==
true)
v.getMEhisto_NumberOfEvents()->Fill(3);
459 if(check_mjj650_Pt40_DEta3p5==
true)
v.getMEhisto_NumberOfEvents()->Fill(4);
460 if(check_mjj700_Pt40_DEta3p5==
true)
v.getMEhisto_NumberOfEvents()->Fill(5);
461 if(check_mjj750_Pt40_DEta3p5==
true)
v.getMEhisto_NumberOfEvents()->Fill(6);
462 if(check_mjj800_Pt40_DEta3p5==
true)
v.getMEhisto_NumberOfEvents()->Fill(7);
473 if (!hltConfig_.init(run, c, processname_, changed)) {
474 LogDebug(
"HLTInclusiveVBFSource") <<
"HLTConfigProvider failed to initialize.";
477 const unsigned int numberOfPaths(hltConfig_.size());
478 for(
unsigned int i=0;
i!=numberOfPaths; ++
i){
479 bool numFound =
false;
480 pathname = hltConfig_.triggerName(
i);
481 filtername =
"dummy";
482 unsigned int usedPrescale = 1;
483 unsigned int objectType = 0;
486 if(pathname.find(
"HLT_Di") == std::string::npos)
continue;
487 if(pathname.find(
"Jet") == std::string::npos)
continue;
488 if(pathname.find(
"MJJ") == std::string::npos)
continue;
489 if(pathname.find(
"VBF_v") == std::string::npos)
continue;
492 cout<<
" - Startup:Path = "<<pathname<<endl;
496 triggerType =
"DiJet_Trigger";
500 for (
unsigned int i=0;
i!=numberOfPaths; ++
i) {
502 if(HLTname == pathname)numFound =
true;
505 if(numFound==
false)
continue;
506 std::vector<std::string> numpathmodules = hltConfig_.moduleLabels(pathname);
507 auto numpathmodule = numpathmodules.begin();
508 for(; numpathmodule!= numpathmodules.end(); ++numpathmodule){
510 if (hltConfig_.moduleType(*numpathmodule) ==
"HLTCaloJetVBFFilter" 511 || hltConfig_.moduleType(*numpathmodule) ==
"HLTPFJetVBFFilter")
513 filtername = *numpathmodule;
514 if(debug_)
cout<<
" - Startup:Module = "<<hltConfig_.moduleType(*numpathmodule)<<
", FilterName = "<<filtername<<endl;
518 if(debug_)
cout<<
" - Startup:Final filter = "<<filtername<<endl;
520 if(objectType == 0 || numFound==
false)
continue;
526 hltPathsAll_.push_back(
PathInfo(usedPrescale, pathname, filtername, processname_, objectType, triggerType));
532 for(
auto &
v : hltPathsAll_){
533 if(debug_)
cout<<
"Storing: "<<
v.getPath()<<
", Prescale = "<<
v.getprescaleUsed()<<endl;
556 RECO_deltaEta_DiJet = iBooker.
bookFloat(
"RECO_deltaEta_DiJet");
557 RECO_deltaPhi_DiJet = iBooker.
bookFloat(
"RECO_deltaPhi_DiJet");
558 RECO_invMass_DiJet = iBooker.
bookFloat(
"RECO_invMass_DiJet");
559 HLT_deltaEta_DiJet = iBooker.
bookFloat(
"HLT_deltaEta_DiJet");
560 HLT_deltaPhi_DiJet = iBooker.
bookFloat(
"HLT_deltaPhi_DiJet ");
561 HLT_invMass_DiJet = iBooker.
bookFloat(
"HLT_invMass_DiJet");
562 RECO_deltaEta_DiJet_Match = iBooker.
bookFloat(
"RECO_deltaEta_DiJet_Match");
563 RECO_deltaPhi_DiJet_Match = iBooker.
bookFloat(
"RECO_deltaPhi_DiJet_Match");
564 RECO_invMass_DiJet_Match = iBooker.
bookFloat(
"RECO_invMass_DiJet_Match");
565 RECOHLT_deltaEta = iBooker.
bookFloat(
"RECOHLT_deltaEta");
566 RECOHLT_deltaPhi = iBooker.
bookFloat(
"RECOHLT_deltaPhi ");
567 RECOHLT_invMass = iBooker.
bookFloat(
"RECOHLT_invMass");
568 NumberOfMatches = iBooker.
bookFloat(
"NumberOfMatches");
569 NumberOfEvents = iBooker.
bookFloat(
"NumberOfEvents");
576 histoname = labelname+
"_RECO_deltaEta_DiJet";
577 title = labelname+
"_RECO_deltaEta_DiJet "+trigPath;
578 RECO_deltaEta_DiJet = iBooker.
book1D(histoname.c_str(),title.c_str(),50,-10.,10.);
579 RECO_deltaEta_DiJet->
getTH1F();
582 histoname = labelname+
"_RECO_deltaPhi_DiJet";
583 title = labelname+
"_RECO_deltaPhi_DiJet "+trigPath;
584 RECO_deltaPhi_DiJet = iBooker.
book1D(histoname.c_str(),title.c_str(),35,-3.5,3.5);
585 RECO_deltaPhi_DiJet->
getTH1F();
588 histoname = labelname+
"_RECO_invMass_DiJet";
589 title = labelname+
"_RECO_invMass_DiJet "+trigPath;
590 RECO_invMass_DiJet = iBooker.
book1D(histoname.c_str(),title.c_str(),100,500.,2000.);
594 histoname = labelname+
"_HLT_deltaEta_DiJet";
595 title = labelname+
"_HLT_deltaEta_DiJet "+trigPath;
596 HLT_deltaEta_DiJet = iBooker.
book1D(histoname.c_str(),title.c_str(),50,-10.,10.);
600 histoname = labelname+
"_HLT_deltaPhi_DiJet";
601 title = labelname+
"_HLT_deltaPhi_DiJet "+trigPath;
602 HLT_deltaPhi_DiJet = iBooker.
book1D(histoname.c_str(),title.c_str(),35,-3.5,3.5);
606 histoname = labelname+
"_HLT_invMass_DiJet";
607 title = labelname+
"_HLT_invMass_DiJet "+trigPath;
608 HLT_invMass_DiJet = iBooker.
book1D(histoname.c_str(),title.c_str(),100,500.,2000.);
612 histoname = labelname+
"_RECO_deltaEta_DiJet_Match";
613 title = labelname+
"_RECO_deltaEta_DiJet_Match "+trigPath;
614 RECO_deltaEta_DiJet_Match = iBooker.
book1D(histoname.c_str(),title.c_str(),50,-10.,10.);
615 RECO_deltaEta_DiJet_Match->
getTH1F();
618 histoname = labelname+
"_RECO_deltaPhi_DiJet_Match";
619 title = labelname+
"_RECO_deltaPhi_DiJet_Match "+trigPath;
620 RECO_deltaPhi_DiJet_Match = iBooker.
book1D(histoname.c_str(),title.c_str(),35,-3.5,3.5);
621 RECO_deltaPhi_DiJet_Match->
getTH1F();
624 histoname = labelname+
"_RECO_invMass_DiJet_Match";
625 title = labelname+
"_RECO_invMass_DiJet_Match "+trigPath;
626 RECO_invMass_DiJet_Match = iBooker.
book1D(histoname.c_str(),title.c_str(),100,500.,2000.);
627 RECO_invMass_DiJet_Match->
getTH1F();
630 histoname = labelname+
"_RECOHLT_deltaEta";
631 title = labelname+
"_RECOHLT_deltaEta "+trigPath;
632 RECOHLT_deltaEta = iBooker.
book2D(histoname.c_str(),title.c_str(),50,-10.,10.,50,-10.,10.);
636 histoname = labelname+
"_RECOHLT_deltaPhi";
637 title = labelname+
"_RECOHLT_deltaPhi "+trigPath;
638 RECOHLT_deltaPhi = iBooker.
book2D(histoname.c_str(),title.c_str(),35,-3.5,3.5,35,-3.5,3.5);
642 histoname = labelname+
"_RECOHLT_invMass";
643 title = labelname+
"_RECOHLT_invMass "+trigPath;
644 RECOHLT_invMass = iBooker.
book2D(histoname.c_str(),title.c_str(),100,500.,2000.,100,500.,2000.);
648 histoname = labelname+
"_NumberOfMatches ";
649 title = labelname+
"_NumberOfMatches "+trigPath;
650 NumberOfMatches = iBooker.
book1D(histoname.c_str(),title.c_str(),2,0.,2.);
654 histoname = labelname+
"_NumberOfEvents";
655 title = labelname+
"_NumberOfEvents "+trigPath;
656 NumberOfEvents = iBooker.
book1D(histoname.c_str(),title.c_str(),10,0.,10.);
667 RECO_deltaEta_DiJet_Match,
668 RECO_deltaPhi_DiJet_Match,
669 RECO_invMass_DiJet_Match,
682 if (fabs(eta)<=1.3) output=
true;
688 if (fabs(eta)<=3.0 && fabs(eta)>1.3) output=
true;
694 if (fabs(eta)>3.0) output=
true;
701 for (
unsigned int j=0; j!=hltConfig_.size(); ++j) {
702 if (hltConfig_.triggerName(j) == pathname )
711 if(triggerResults_.isValid()) {
712 unsigned index = triggerNames_.triggerIndex(pathName);
713 if(index < triggerNames_.size() && triggerResults_->accept(index)) output =
true;
722 const int index = triggerObj_->filterIndex(testTag);
723 if ( index >= triggerObj_->sizeFilters() ) {
724 edm::LogInfo(
"HLTInclusiveVBFSource") <<
"no index "<< index <<
" of that name ";
727 if (!k.empty()) output=
true;
constexpr double deltaPhi(double phi1, double phi2)
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
virtual bool isForward(double eta)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
virtual bool isBarrel(double eta)
virtual bool validPathHLT(std::string path)
~HLTInclusiveVBFSource() override
void analyze(const edm::Event &, const edm::EventSetup &) override
HLTInclusiveVBFSource(const edm::ParameterSet &)
MonitorElement * book1D(Args &&...args)
Abs< T >::type abs(const T &t)
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::vector< size_type > Keys
virtual bool isTriggerObjectFound(std::string objectName)
virtual bool isHLTPathAccepted(std::string pathName)
MonitorElement * bookFloat(Args &&...args)
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
virtual bool isEndCap(double eta)