64 if(
m_trigDecTool->ExperimentalAndExpertMethods().isHLTTruncated()){
66 return StatusCode::SUCCESS;
78 if (! hlt_electron_cont.
isValid() ) {
83 if (! hlt_muon_cont.
isValid() ) {
89 if (! hlt_topoclusters_cont.
isValid() ) {
95 if (! hlt_tracks_cont.
isValid() ) {
101 if (! hlt_vertex_cont.
isValid() ) {
106 if (! offline_vertex_cont.
isValid() ) {
112 if (! offline_met_cont.
isValid() ) {
118 if (! l1_roi_cont.
isValid() ) {
124 if (! l1_jFexMet_cont.
isValid() ) {
128 if (! l1_jFexSumEt_cont.
isValid() ) {
132 if (! l1_gFexJwojScalar_cont.
isValid() ) {
136 if (! l1_gFexJwojMETComponents_cont.
isValid() ) {
140 if (! l1_gFexJwojMHTComponents_cont.
isValid() ) {
144 if (! l1_gFexJwojMSTComponents_cont.
isValid() ) {
148 if (! l1_gFexNCMETScalar_cont.
isValid() ) {
152 if (! l1_gFexNCMETComponents_cont.
isValid() ) {
156 if (! l1_gFexRhoMETScalar_cont.
isValid() ) {
160 if (! l1_gFexRhoMETComponents_cont.
isValid() ) {
166 if (! hlt_cell_met_cont.
isValid() ) {
171 if (! hlt_mht_met_cont.
isValid() ) {
176 if (! hlt_tc_met_cont.
isValid() ) {
181 if (! hlt_tc_em_met_cont.
isValid() ) {
186 if (! hlt_tcpufit_met_cont.
isValid() ) {
191 if (! hlt_tcpufit_sig30_met_cont.
isValid() ) {
196 if (! hlt_trkmht_met_cont.
isValid() ) {
201 if (! hlt_pfsum_met_cont.
isValid() ) {
206 if (! hlt_pfsum_cssk_met_cont.
isValid() ) {
211 if (! hlt_pfsum_vssk_met_cont.
isValid() ) {
216 if (! hlt_pfopufit_met_cont.
isValid() ) {
221 if (! hlt_pfopufit_sig30_met_cont.
isValid() ) {
226 if (! hlt_cvfpufit_met_cont.
isValid() ) {
231 if (! hlt_mhtpufit_pf_met_cont.
isValid() ) {
236 if (! hlt_mhtpufit_em_met_cont.
isValid() ) {
241 if (! hlt_met_nn_cont.
isValid() ) {
286 double epsilon = 1.189;
291 auto tool =
getGroup(
"TrigMETMonitor");
294 act_IPBC = eventInfo->actualInteractionsPerCrossing();
298 bool passedPrimaryEl =
false;
301 passedPrimaryEl =
true;
305 if ( hlt_electron_cont.
isValid() && passedPrimaryEl ){
306 hlt_el_mult = hlt_electron_cont->size();
307 fill(tool,hlt_el_mult);
308 if( hlt_electron_cont->size() > 0 ) {
309 for (
auto Electron: *hlt_electron_cont) {
310 hlt_el_pt =
Electron->pt()/Gaudi::Units::GeV;
311 fill(tool, hlt_el_pt);
317 bool passedPrimaryMu =
false;
320 passedPrimaryMu =
true;
324 if( hlt_muon_cont.
isValid() &&passedPrimaryMu ){
325 hlt_mu_mult = hlt_muon_cont->size();
326 fill(tool,hlt_mu_mult);
327 if ( hlt_muon_cont->size() > 0 ){
328 for(
auto Muon : *hlt_muon_cont){
329 hlt_mu_pt =
Muon->pt()/Gaudi::Units::GeV;
330 fill(tool, hlt_mu_pt);
336 if(hlt_topoclusters_cont.
isValid() && hlt_topoclusters_cont->size() > 0){
337 hlt_topoclusters_mult = hlt_topoclusters_cont->size();
338 for(
auto topoclusters : *hlt_topoclusters_cont){
339 hlt_topoclusters_pt = topoclusters->pt()/Gaudi::Units::GeV;
340 if(hlt_topoclusters_pt > 0){
341 fill(tool, hlt_topoclusters_pt);
345 if(hlt_topoclusters_mult > 0){
346 fill(tool, hlt_topoclusters_mult);
351 if( hlt_tracks_cont.
isValid() && hlt_tracks_cont->size() > 0){
352 hlt_tracks_mult = hlt_tracks_cont->size();
353 float scalarSumPt = 0.0;
354 float scalarSumPx = 0.0;
355 float scalarSumPy = 0.0;
356 for(
auto tracks : *hlt_tracks_cont){
357 float i_track_pt = tracks->pt()/Gaudi::Units::GeV;
358 hlt_tracks_pt = i_track_pt;
359 scalarSumPt += i_track_pt;
360 scalarSumPx += (tracks->p4().Px());
361 scalarSumPy += (tracks->p4().Py());
363 if(hlt_tracks_pt > hlt_tracks_leading_pt){
364 hlt_tracks_leading_pt = i_track_pt;
367 if(hlt_tracks_pt > 0){
368 fill(tool, hlt_tracks_pt);
371 if(hlt_tracks_pt > 3){
372 hlt_tracks_eta = (tracks->eta());
373 hlt_tracks_phi = (tracks->phi());
374 fill(tool, hlt_tracks_eta, hlt_tracks_phi);
378 hlt_tracks_vec_sumPt = std::sqrt(scalarSumPx*scalarSumPx + scalarSumPy*scalarSumPy)/Gaudi::Units::GeV;
379 hlt_tracks_sca_sumPt = scalarSumPt;
381 fill(tool, hlt_tracks_mult, hlt_tracks_leading_pt, hlt_tracks_vec_sumPt, hlt_tracks_sca_sumPt);
385 if(hlt_vertex_cont.
isValid() && hlt_vertex_cont->size() > 0){
386 hlt_vertex_mult = hlt_vertex_cont->size();
387 hlt_vertex_mult_mu = hlt_vertex_cont->size();
389 for(
auto vertex : *hlt_vertex_cont){
397 hlt_vertex_z = hlt_vertex->
z();
398 fill(tool, hlt_vertex_z);
400 if(offline_vertex_cont.
isValid() && offline_vertex_cont->size() > 0){
402 for(
auto vertex : *offline_vertex_cont){
404 offline_vertex = vertex;
410 hlt_vertex_z_diff = hlt_vertex_z - offline_vertex->
z();
411 fill(tool, hlt_vertex_z_diff);
416 hlt_vertex_mult = -1;
417 hlt_vertex_mult_mu = 1;
420 fill(tool, hlt_vertex_mult);
421 fill(tool, act_IPBC, hlt_vertex_mult_mu);
426 if ( offline_met_cont.
isValid() && offline_met_cont->size() > 0 ) {
427 finalTrkMET = ((*offline_met_cont)[
"FinalTrk"]);
428 muonsMET = ((*offline_met_cont)[
"Muons"]);
431 offline_Ex = - finalTrkMET->
mpx()/Gaudi::Units::GeV;
432 offline_Ey = - finalTrkMET->
mpy()/Gaudi::Units::GeV;
433 offline_sumEt = finalTrkMET->
sumet()/Gaudi::Units::GeV;
434 offline_Et = std::sqrt(offline_Ex*offline_Ex + offline_Ey*offline_Ey);
435 offline_Et_eff = std::sqrt(offline_Ex*offline_Ex + offline_Ey*offline_Ey);
436 fill(tool,offline_Ex,offline_Ey,offline_Et,offline_sumEt);
440 offline_NoMu_Ex = - finalTrkNoMuMET.
mpx()/Gaudi::Units::GeV;
441 offline_NoMu_Ey = - finalTrkNoMuMET.
mpy()/Gaudi::Units::GeV;
442 offline_NoMu_sumEt = finalTrkNoMuMET.
sumet()/Gaudi::Units::GeV;
443 offline_NoMu_Et = std::sqrt(offline_NoMu_Ex*offline_NoMu_Ex + offline_NoMu_Ey*offline_NoMu_Ey);
444 offline_NoMu_Et_eff = std::sqrt(offline_NoMu_Ex*offline_NoMu_Ex + offline_NoMu_Ey*offline_NoMu_Ey);
445 fill(tool,offline_NoMu_Ex,offline_NoMu_Ey,offline_NoMu_Et,offline_NoMu_sumEt);
451 for (
const std::string& alg :
m_algsL1) {
453 if (alg ==
"roi" && l1_roi_cont.
isValid()) {
454 l1_met_cont = l1_roi_cont;
458 if ((l1_met_cont->energyX())>-9e12 && (l1_met_cont->energyX())<9e12 && (l1_met_cont->energyY())>-9e12 && (l1_met_cont->energyY())<9e12) {
459 float L1_met_Ex = - l1_met_cont->energyX()/Gaudi::Units::GeV;
460 float L1_met_Ey = - l1_met_cont->energyY()/Gaudi::Units::GeV;
461 float L1_met_Et = std::sqrt(L1_met_Ex*L1_met_Ex + L1_met_Ey*L1_met_Ey);
462 float L1_met_sumEt = l1_met_cont->energyT()/Gaudi::Units::GeV;
463 float L1_met_Ex_log =
signed_log(L1_met_Ex, epsilon);
464 float L1_met_Ey_log =
signed_log(L1_met_Ey, epsilon);
465 float L1_met_Et_log =
signed_log(L1_met_Et, epsilon);
466 float L1_met_sumEt_log =
signed_log(L1_met_sumEt, epsilon);
467 TVector3 v(L1_met_Ex, L1_met_Ey, 0.0);
468 float L1_met_phi = v.Phi();
479 fill(tool, L1_Ex, L1_Ey, L1_Et, L1_sumEt,
480 L1_Ex_log, L1_Ey_log, L1_Et_log, L1_sumEt_log, L1_phi);
486 if (l1_jFexMet_cont.
isValid() && l1_jFexMet_cont->size() > 0) {
489 for (
const auto l1_jmet: *l1_jFexMet_cont) {
490 L1_met_Ex += l1_jmet->Ex()/Gaudi::Units::GeV;
491 L1_met_Ey += l1_jmet->Ey()/Gaudi::Units::GeV;
493 float L1_met_Et = std::sqrt(L1_met_Ex*L1_met_Ex + L1_met_Ey*L1_met_Ey);
494 float L1_met_Ex_log =
signed_log(L1_met_Ex, epsilon);
495 float L1_met_Ey_log =
signed_log(L1_met_Ey, epsilon);
496 float L1_met_Et_log =
signed_log(L1_met_Et, epsilon);
497 TVector3 v(L1_met_Ex, L1_met_Ey, 0.0);
498 float L1_met_phi = v.Phi();
506 fill(tool, L1_Ex, L1_Ey, L1_Et, L1_Ex_log, L1_Ey_log, L1_Et_log, L1_phi);
508 if (l1_jFexSumEt_cont.
isValid() && l1_jFexSumEt_cont->size() > 0) {
509 float L1_met_sumEt = 0;
510 for (
const auto l1_jsumEt: *l1_jFexSumEt_cont) {
511 L1_met_sumEt += l1_jsumEt->Et_lower()/Gaudi::Units::GeV + l1_jsumEt->Et_upper()/Gaudi::Units::GeV;
513 float L1_met_sumEt_log =
signed_log(L1_met_sumEt, epsilon);
516 fill(tool, L1_sumEt, L1_sumEt_log);
524 if (l1_gFexJwojScalar_cont.
isValid() && l1_gFexJwojScalar_cont->size() > 0) {
525 l1_gmet = l1_gFexJwojScalar_cont->at(0);
528 float L1_met_Et_log =
signed_log(L1_met_Et, epsilon);
529 float L1_met_sumEt_log =
signed_log(L1_met_sumEt, epsilon);
534 fill(tool, L1_Et, L1_Et_log, L1_sumEt, L1_sumEt_log);
537 if (l1_gFexJwojMETComponents_cont.
isValid() && l1_gFexJwojMETComponents_cont->size() > 0) {
538 l1_gmet = l1_gFexJwojMETComponents_cont->at(0);
540 float L1_met_Ex_log =
signed_log(L1_met_Ex, epsilon);
542 float L1_met_Ey_log =
signed_log(L1_met_Ey, epsilon);
543 TVector3 v(L1_met_Ex, L1_met_Ey, 0.0);
544 float L1_met_phi = v.Phi();
550 fill(tool, L1_Ex, L1_Ey, L1_Ex_log, L1_Ey_log, L1_phi);
553 if (l1_gFexJwojMHTComponents_cont.
isValid() && l1_gFexJwojMHTComponents_cont->size() > 0) {
554 l1_gmet = l1_gFexJwojMHTComponents_cont->at(0);
556 float L1_met_HT_Ex_log =
signed_log(L1_met_HT_Ex, epsilon);
558 float L1_met_HT_Ey_log =
signed_log(L1_met_HT_Ey, epsilon);
559 TVector3 v(L1_met_HT_Ex, L1_met_HT_Ey, 0.0);
560 float L1_met_HT_phi = v.Phi();
566 fill(tool, L1_HT_Ex, L1_HT_Ey, L1_HT_Ex_log, L1_HT_Ey_log, L1_HT_phi);
569 if (l1_gFexJwojMSTComponents_cont.
isValid() && l1_gFexJwojMSTComponents_cont->size() > 0) {
570 l1_gmet = l1_gFexJwojMSTComponents_cont->at(0);
572 float L1_met_ST_Ex_log =
signed_log(L1_met_ST_Ex, epsilon);
574 float L1_met_ST_Ey_log =
signed_log(L1_met_ST_Ey, epsilon);
575 TVector3 v(L1_met_ST_Ex, L1_met_ST_Ey, 0.0);
576 float L1_met_ST_phi = v.Phi();
582 fill(tool, L1_ST_Ex, L1_ST_Ey, L1_ST_Ex_log, L1_ST_Ey_log, L1_ST_phi);
585 if (l1_gFexNCMETScalar_cont.
isValid() && l1_gFexNCMETScalar_cont->size() > 0) {
586 l1_gmet = l1_gFexNCMETScalar_cont->at(0);
589 float L1_met_Et_log =
signed_log(L1_met_Et, epsilon);
590 float L1_met_sumEt_log =
signed_log(L1_met_sumEt, epsilon);
595 fill(tool, L1_Et, L1_Et_log, L1_sumEt, L1_sumEt_log);
598 if (l1_gFexNCMETComponents_cont.
isValid() && l1_gFexNCMETComponents_cont->size() > 0) {
599 l1_gmet = l1_gFexNCMETComponents_cont->at(0);
601 float L1_met_Ex_log =
signed_log(L1_met_Ex, epsilon);
603 float L1_met_Ey_log =
signed_log(L1_met_Ey, epsilon);
604 TVector3 v(L1_met_Ex, L1_met_Ey, 0.0);
605 float L1_met_phi = v.Phi();
611 fill(tool, L1_Ex, L1_Ey, L1_Ex_log, L1_Ey_log, L1_phi);
614 if (l1_gFexRhoMETScalar_cont.
isValid() && l1_gFexRhoMETScalar_cont->size() > 0) {
615 l1_gmet = l1_gFexRhoMETScalar_cont->at(0);
618 float L1_met_Et_log =
signed_log(L1_met_Et, epsilon);
619 float L1_met_sumEt_log =
signed_log(L1_met_sumEt, epsilon);
624 fill(tool, L1_Et, L1_Et_log, L1_sumEt, L1_sumEt_log);
627 if (l1_gFexRhoMETComponents_cont.
isValid() && l1_gFexRhoMETComponents_cont->size() > 0) {
628 l1_gmet = l1_gFexRhoMETComponents_cont->at(0);
630 float L1_met_Ex_log =
signed_log(L1_met_Ex, epsilon);
632 float L1_met_Ey_log =
signed_log(L1_met_Ey, epsilon);
633 TVector3 v(L1_met_Ex, L1_met_Ey, 0.0);
634 float L1_met_phi = v.Phi();
640 fill(tool, L1_Ex, L1_Ey, L1_Ex_log, L1_Ey_log, L1_phi);
649 if ( hlt_cell_met_cont.
isValid() && hlt_cell_met_cont->size() > 0 ) {
650 hlt_met = hlt_cell_met_cont->at(0);
651 for (
int j=0; j<nStatus; ++j) {
652 unsigned mask = (1u<<j);
653 if (hlt_met->
flag() & mask) {
659 fill(tool,mon1,MET_status);
662 for (
int i=0; i<nComponent; ++i) {
663 float ex = hlt_met->
exComponent(i)/Gaudi::Units::GeV;
664 float ey = hlt_met->
eyComponent(i)/Gaudi::Units::GeV;
665 component_Et = sqrt(ex*ex+ey*ey);
667 fill(tool,mon2,component_Et);
670 for (
int i=0; i<nComponent; ++i) {
671 for (
int j=0; j<nStatus; ++j) {
672 unsigned mask = (1u<<j);
674 component_status_weight = 1.;
676 component_status_weight = 0;
680 fill(tool,mon_comp,mon_bit,component_status_weight);
686 float L1_roiMet_Et = 0;
688 if ((l1_roi_cont->energyX())>-9e12 && (l1_roi_cont->energyX())<9e12 && (l1_roi_cont->energyY())>-9e12 && (l1_roi_cont->energyY())<9e12) {
689 float Ex = - l1_roi_cont->energyX()/Gaudi::Units::GeV;
690 float Ey = - l1_roi_cont->energyY()/Gaudi::Units::GeV;
691 L1_roiMet_Et = std::sqrt(Ex*Ex + Ey*Ey);
694 float L1_jFexMet_Et = 0;
695 if (l1_jFexMet_cont.
isValid() && l1_jFexMet_cont->size() > 0) {
698 for (
const auto l1_jmet: *l1_jFexMet_cont) {
699 L1_met_Ex += l1_jmet->Ex()/Gaudi::Units::GeV;
700 L1_met_Ey += l1_jmet->Ey()/Gaudi::Units::GeV;
702 L1_jFexMet_Et = std::sqrt(L1_met_Ex*L1_met_Ex + L1_met_Ey*L1_met_Ey);
704 float L1_gFexJWOJMet_Et = 0;
706 float L1_PreSelMet_Et = L1_roiMet_Et;
707 if (
m_L1MetAlg == 1) L1_PreSelMet_Et = L1_jFexMet_Et;
708 if (
m_L1MetAlg == 2) L1_PreSelMet_Et = L1_gFexJWOJMet_Et;
711 for (
const std::string& alg :
m_algsHLT) {
712 if (alg ==
"cell" && hlt_cell_met_cont.
isValid() && hlt_cell_met_cont->size() > 0) {
713 hlt_met = hlt_cell_met_cont->at(0);
714 }
else if (alg ==
"mht" && hlt_mht_met_cont.
isValid() && hlt_mht_met_cont->size() > 0) {
715 hlt_met = hlt_mht_met_cont->at(0);
716 }
else if (alg ==
"tc" && hlt_tc_met_cont.
isValid() && hlt_tc_met_cont->size() > 0) {
717 hlt_met = hlt_tc_met_cont->at(0);
718 }
else if (alg ==
"tc_em" && hlt_tc_em_met_cont.
isValid() && hlt_tc_em_met_cont->size() > 0) {
719 hlt_met = hlt_tc_em_met_cont->at(0);
720 }
else if (alg ==
"tcpufit" && hlt_tcpufit_met_cont.
isValid() && hlt_tcpufit_met_cont->size() > 0) {
721 hlt_met = hlt_tcpufit_met_cont->at(0);
722 }
else if (alg ==
"tcpufit_sig30" && hlt_tcpufit_sig30_met_cont.
isValid() && hlt_tcpufit_sig30_met_cont->size() > 0) {
723 hlt_met = hlt_tcpufit_sig30_met_cont->at(0);
724 }
else if (alg ==
"trkmht" && hlt_trkmht_met_cont.
isValid() && hlt_trkmht_met_cont->size() > 0) {
725 hlt_met = hlt_trkmht_met_cont->at(0);
726 }
else if (alg ==
"pfsum" && hlt_pfsum_met_cont.
isValid() && hlt_pfsum_met_cont->size() > 0) {
727 hlt_met = hlt_pfsum_met_cont->at(0);
728 }
else if (alg ==
"pfsum_cssk" && hlt_pfsum_cssk_met_cont.
isValid() && hlt_pfsum_cssk_met_cont->size() > 0) {
729 hlt_met = hlt_pfsum_cssk_met_cont->at(0);
730 }
else if (alg ==
"pfsum_vssk" && hlt_pfsum_vssk_met_cont.
isValid() && hlt_pfsum_vssk_met_cont->size() > 0) {
731 hlt_met = hlt_pfsum_vssk_met_cont->at(0);
732 }
else if (alg ==
"pfopufit" && hlt_pfopufit_met_cont.
isValid() && hlt_pfopufit_met_cont->size() > 0) {
733 hlt_met = hlt_pfopufit_met_cont->at(0);
734 }
else if (alg ==
"pfopufit_sig30" && hlt_pfopufit_sig30_met_cont.
isValid() && hlt_pfopufit_sig30_met_cont->size() > 0) {
735 hlt_met = hlt_pfopufit_sig30_met_cont->at(0);
736 }
else if (alg ==
"cvfpufit" && hlt_cvfpufit_met_cont.
isValid() && hlt_cvfpufit_met_cont->size() > 0) {
737 hlt_met = hlt_cvfpufit_met_cont->at(0);
738 }
else if (alg ==
"mhtpufit_pf" && hlt_mhtpufit_pf_met_cont.
isValid() && hlt_mhtpufit_pf_met_cont->size() > 0) {
739 hlt_met = hlt_mhtpufit_pf_met_cont->at(0);
740 }
else if (alg ==
"mhtpufit_em" && hlt_mhtpufit_em_met_cont.
isValid() && hlt_mhtpufit_em_met_cont->size() > 0) {
741 hlt_met = hlt_mhtpufit_em_met_cont->at(0);
742 }
else if (alg ==
"met_nn" && hlt_met_nn_cont.
isValid() && hlt_met_nn_cont->size() > 0) {
743 hlt_met = hlt_met_nn_cont->at(0);
749 float hlt_Ex = hlt_met->
ex()/Gaudi::Units::GeV;
750 float hlt_Ey = hlt_met->
ey()/Gaudi::Units::GeV;
751 float hlt_Ez = hlt_met->
ez()/Gaudi::Units::GeV;
752 float hlt_Et = std::sqrt(hlt_Ex*hlt_Ex + hlt_Ey*hlt_Ey);
753 float hlt_sumEt = hlt_met->
sumEt()/Gaudi::Units::GeV;
754 float hlt_Ex_log =
signed_log(hlt_Ex, epsilon);
755 float hlt_Ey_log =
signed_log(hlt_Ey, epsilon);
756 float hlt_Et_log =
signed_log(hlt_Et, epsilon);
757 float hlt_sumEt_log =
signed_log(hlt_sumEt, epsilon);
758 TVector3 v(hlt_Ex, hlt_Ey, hlt_Ez);
759 float hlt_eta = v.Eta();
760 float hlt_phi = v.Phi();
772 fill(tool,met_Ex,met_Ey,met_Et,met_sumEt,
773 met_Ex_log,met_Ey_log,met_Et_log,met_sumEt_log,
781 if (alg ==
"cell" && hlt_cell_met_cont.
isValid() && hlt_cell_met_cont->size() > 0) {
782 hlt_met = hlt_cell_met_cont->at(0);
783 }
else if (alg ==
"mht" && hlt_mht_met_cont.
isValid() && hlt_mht_met_cont->size() > 0) {
784 hlt_met = hlt_mht_met_cont->at(0);
785 }
else if (alg ==
"tc" && hlt_tc_met_cont.
isValid() && hlt_tc_met_cont->size() > 0) {
786 hlt_met = hlt_tc_met_cont->at(0);
787 }
else if (alg ==
"tc_em" && hlt_tc_em_met_cont.
isValid() && hlt_tc_em_met_cont->size() > 0) {
788 hlt_met = hlt_tc_em_met_cont->at(0);
789 }
else if (alg ==
"tcpufit" && hlt_tcpufit_met_cont.
isValid() && hlt_tcpufit_met_cont->size() > 0) {
790 hlt_met = hlt_tcpufit_met_cont->at(0);
791 }
else if (alg ==
"tcpufit_sig30" && hlt_tcpufit_sig30_met_cont.
isValid() && hlt_tcpufit_sig30_met_cont->size() > 0) {
792 hlt_met = hlt_tcpufit_sig30_met_cont->at(0);
793 }
else if (alg ==
"trkmht" && hlt_trkmht_met_cont.
isValid() && hlt_trkmht_met_cont->size() > 0) {
794 hlt_met = hlt_trkmht_met_cont->at(0);
795 }
else if (alg ==
"pfsum" && hlt_pfsum_met_cont.
isValid() && hlt_pfsum_met_cont->size() > 0) {
796 hlt_met = hlt_pfsum_met_cont->at(0);
797 }
else if (alg ==
"pfsum_cssk" && hlt_pfsum_cssk_met_cont.
isValid() && hlt_pfsum_cssk_met_cont->size() > 0) {
798 hlt_met = hlt_pfsum_cssk_met_cont->at(0);
799 }
else if (alg ==
"pfsum_vssk" && hlt_pfsum_vssk_met_cont.
isValid() && hlt_pfsum_vssk_met_cont->size() > 0) {
800 hlt_met = hlt_pfsum_vssk_met_cont->at(0);
801 }
else if (alg ==
"pfopufit" && hlt_pfopufit_met_cont.
isValid() && hlt_pfopufit_met_cont->size() > 0) {
802 hlt_met = hlt_pfopufit_met_cont->at(0);
803 }
else if (alg ==
"pfopufit_sig30" && hlt_pfopufit_sig30_met_cont.
isValid() && hlt_pfopufit_sig30_met_cont->size() > 0) {
804 hlt_met = hlt_pfopufit_sig30_met_cont->at(0);
805 }
else if (alg ==
"cvfpufit" && hlt_cvfpufit_met_cont.
isValid() && hlt_cvfpufit_met_cont->size() > 0) {
806 hlt_met = hlt_cvfpufit_met_cont->at(0);
807 }
else if (alg ==
"mhtpufit_pf" && hlt_mhtpufit_pf_met_cont.
isValid() && hlt_mhtpufit_pf_met_cont->size() > 0) {
808 hlt_met = hlt_mhtpufit_pf_met_cont->at(0);
809 }
else if (alg ==
"mhtpufit_em" && hlt_mhtpufit_em_met_cont.
isValid() && hlt_mhtpufit_em_met_cont->size() > 0) {
810 hlt_met = hlt_mhtpufit_em_met_cont->at(0);
811 }
else if (alg ==
"met_nn" && hlt_met_nn_cont.
isValid() && hlt_met_nn_cont->size() > 0) {
812 hlt_met = hlt_met_nn_cont->at(0);
818 float hlt_Ex = hlt_met->
ex()/Gaudi::Units::GeV;
819 float hlt_Ey = hlt_met->
ey()/Gaudi::Units::GeV;
820 float hlt_Et = std::sqrt(hlt_Ex*hlt_Ex + hlt_Ey*hlt_Ey);
821 if (L1_PreSelMet_Et >
m_L1MetCut && !std::isnan(hlt_Et)) {
823 fill(tool,met_presel_Et);
829 if (alg ==
"cell" && hlt_cell_met_cont.
isValid() && hlt_cell_met_cont->size() > 0) {
830 hlt_met = hlt_cell_met_cont->at(0);
831 }
else if (alg ==
"mht" && hlt_mht_met_cont.
isValid() && hlt_mht_met_cont->size() > 0) {
832 hlt_met = hlt_mht_met_cont->at(0);
833 }
else if (alg ==
"tc" && hlt_tc_met_cont.
isValid() && hlt_tc_met_cont->size() > 0) {
834 hlt_met = hlt_tc_met_cont->at(0);
835 }
else if (alg ==
"tc_em" && hlt_tc_em_met_cont.
isValid() && hlt_tc_em_met_cont->size() > 0) {
836 hlt_met = hlt_tc_em_met_cont->at(0);
837 }
else if (alg ==
"tcpufit" && hlt_tcpufit_met_cont.
isValid() && hlt_tcpufit_met_cont->size() > 0) {
838 hlt_met = hlt_tcpufit_met_cont->at(0);
839 }
else if (alg ==
"trkmht" && hlt_trkmht_met_cont.
isValid() && hlt_trkmht_met_cont->size() > 0) {
840 hlt_met = hlt_trkmht_met_cont->at(0);
841 }
else if (alg ==
"pfsum" && hlt_pfsum_met_cont.
isValid() && hlt_pfsum_met_cont->size() > 0) {
842 hlt_met = hlt_pfsum_met_cont->at(0);
843 }
else if (alg ==
"pfsum_cssk" && hlt_pfsum_cssk_met_cont.
isValid() && hlt_pfsum_cssk_met_cont->size() > 0) {
844 hlt_met = hlt_pfsum_cssk_met_cont->at(0);
845 }
else if (alg ==
"pfsum_vssk" && hlt_pfsum_vssk_met_cont.
isValid() && hlt_pfsum_vssk_met_cont->size() > 0) {
846 hlt_met = hlt_pfsum_vssk_met_cont->at(0);
847 }
else if (alg ==
"pfopufit" && hlt_pfopufit_met_cont.
isValid() && hlt_pfopufit_met_cont->size() > 0) {
848 hlt_met = hlt_pfopufit_met_cont->at(0);
849 }
else if (alg ==
"cvfpufit" && hlt_cvfpufit_met_cont.
isValid() && hlt_cvfpufit_met_cont->size() > 0) {
850 hlt_met = hlt_cvfpufit_met_cont->at(0);
851 }
else if (alg ==
"mhtpufit_pf" && hlt_mhtpufit_pf_met_cont.
isValid() && hlt_mhtpufit_pf_met_cont->size() > 0) {
852 hlt_met = hlt_mhtpufit_pf_met_cont->at(0);
853 }
else if (alg ==
"mhtpufit_em" && hlt_mhtpufit_em_met_cont.
isValid() && hlt_mhtpufit_em_met_cont->size() > 0) {
854 hlt_met = hlt_mhtpufit_em_met_cont->at(0);
860 float hlt_Ex = hlt_met->
ex()/Gaudi::Units::GeV;
861 float hlt_Ey = hlt_met->
ey()/Gaudi::Units::GeV;
862 float hlt_Ez = hlt_met->
ez()/Gaudi::Units::GeV;
863 float hlt_Et = std::sqrt(hlt_Ex*hlt_Ex + hlt_Ey*hlt_Ey);
864 float hlt_sumEt = hlt_met->
sumEt()/Gaudi::Units::GeV;
865 float hlt_Ex_log =
signed_log(hlt_Ex, epsilon);
866 float hlt_Ey_log =
signed_log(hlt_Ey, epsilon);
867 float hlt_Et_log =
signed_log(hlt_Et, epsilon);
868 float hlt_sumEt_log =
signed_log(hlt_sumEt, epsilon);
869 TVector3 v(hlt_Ex, hlt_Ey, hlt_Ez);
870 float hlt_eta = v.Eta();
871 float hlt_phi = v.Phi();
884 auto met_sumEt_log =
Monitored::Scalar<float>(alg+
"_LArNoiseBurstVeto_sumEt_log",
static_cast<float>(hlt_sumEt_log));
887 fill(tool,met_Ex,met_Ey,met_Et,met_sumEt,
888 met_Ex_log,met_Ey_log,met_Et_log,met_sumEt_log,
896 if (alg ==
"cell" && hlt_cell_met_cont.
isValid() && hlt_cell_met_cont->size() > 0) {
897 hlt_met = hlt_cell_met_cont->at(0);
898 }
else if (alg ==
"mht" && hlt_mht_met_cont.
isValid() && hlt_mht_met_cont->size() > 0) {
899 hlt_met = hlt_mht_met_cont->at(0);
900 }
else if (alg ==
"tc" && hlt_tc_met_cont.
isValid() && hlt_tc_met_cont->size() > 0) {
901 hlt_met = hlt_tc_met_cont->at(0);
902 }
else if (alg ==
"tc_em" && hlt_tc_em_met_cont.
isValid() && hlt_tc_em_met_cont->size() > 0) {
903 hlt_met = hlt_tc_em_met_cont->at(0);
904 }
else if (alg ==
"tcpufit" && hlt_tcpufit_met_cont.
isValid() && hlt_tcpufit_met_cont->size() > 0) {
905 hlt_met = hlt_tcpufit_met_cont->at(0);
906 }
else if (alg ==
"trkmht" && hlt_trkmht_met_cont.
isValid() && hlt_trkmht_met_cont->size() > 0) {
907 hlt_met = hlt_trkmht_met_cont->at(0);
908 }
else if (alg ==
"pfsum" && hlt_pfsum_met_cont.
isValid() && hlt_pfsum_met_cont->size() > 0) {
909 hlt_met = hlt_pfsum_met_cont->at(0);
910 }
else if (alg ==
"pfsum_cssk" && hlt_pfsum_cssk_met_cont.
isValid() && hlt_pfsum_cssk_met_cont->size() > 0) {
911 hlt_met = hlt_pfsum_cssk_met_cont->at(0);
912 }
else if (alg ==
"pfsum_vssk" && hlt_pfsum_vssk_met_cont.
isValid() && hlt_pfsum_vssk_met_cont->size() > 0) {
913 hlt_met = hlt_pfsum_vssk_met_cont->at(0);
914 }
else if (alg ==
"pfopufit" && hlt_pfopufit_met_cont.
isValid() && hlt_pfopufit_met_cont->size() > 0) {
915 hlt_met = hlt_pfopufit_met_cont->at(0);
916 }
else if (alg ==
"cvfpufit" && hlt_cvfpufit_met_cont.
isValid() && hlt_cvfpufit_met_cont->size() > 0) {
917 hlt_met = hlt_cvfpufit_met_cont->at(0);
918 }
else if (alg ==
"mhtpufit_pf" && hlt_mhtpufit_pf_met_cont.
isValid() && hlt_mhtpufit_pf_met_cont->size() > 0) {
919 hlt_met = hlt_mhtpufit_pf_met_cont->at(0);
920 }
else if (alg ==
"mhtpufit_em" && hlt_mhtpufit_em_met_cont.
isValid() && hlt_mhtpufit_em_met_cont->size() > 0) {
921 hlt_met = hlt_mhtpufit_em_met_cont->at(0);
927 float hlt_Ex = hlt_met->
ex()/Gaudi::Units::GeV;
928 float hlt_Ey = hlt_met->
ey()/Gaudi::Units::GeV;
929 float hlt_Ez = hlt_met->
ez()/Gaudi::Units::GeV;
930 float hlt_Et = std::sqrt(hlt_Ex*hlt_Ex + hlt_Ey*hlt_Ey);
931 float hlt_sumEt = hlt_met->
sumEt()/Gaudi::Units::GeV;
932 float hlt_Ex_log =
signed_log(hlt_Ex, epsilon);
933 float hlt_Ey_log =
signed_log(hlt_Ey, epsilon);
934 float hlt_Et_log =
signed_log(hlt_Et, epsilon);
935 float hlt_sumEt_log =
signed_log(hlt_sumEt, epsilon);
936 TVector3 v(hlt_Ex, hlt_Ey, hlt_Ez);
937 float hlt_eta = v.Eta();
938 float hlt_phi = v.Phi();
952 fill(tool,met_Ex,met_Ey,met_Et,met_sumEt,
953 met_Ex_log,met_Ey_log,met_Et_log,met_sumEt_log,
969 fill(tool,met_Ex,met_Ey,met_Et,met_sumEt,
970 met_Ex_log,met_Ey_log,met_Et_log,met_sumEt_log,
978 if (alg ==
"cell" && hlt_cell_met_cont.
isValid() && hlt_cell_met_cont->size() > 0) {
979 hlt_met = hlt_cell_met_cont->at(0);
980 }
else if (alg ==
"mht" && hlt_mht_met_cont.
isValid() && hlt_mht_met_cont->size() > 0) {
981 hlt_met = hlt_mht_met_cont->at(0);
982 }
else if (alg ==
"tc" && hlt_tc_met_cont.
isValid() && hlt_tc_met_cont->size() > 0) {
983 hlt_met = hlt_tc_met_cont->at(0);
984 }
else if (alg ==
"tc_em" && hlt_tc_em_met_cont.
isValid() && hlt_tc_em_met_cont->size() > 0) {
985 hlt_met = hlt_tc_em_met_cont->at(0);
986 }
else if (alg ==
"tcpufit" && hlt_tcpufit_met_cont.
isValid() && hlt_tcpufit_met_cont->size() > 0) {
987 hlt_met = hlt_tcpufit_met_cont->at(0);
988 }
else if (alg ==
"tcpufit_sig30" && hlt_tcpufit_sig30_met_cont.
isValid() && hlt_tcpufit_sig30_met_cont->size() > 0) {
989 hlt_met = hlt_tcpufit_sig30_met_cont->at(0);
990 }
else if (alg ==
"trkmht" && hlt_trkmht_met_cont.
isValid() && hlt_trkmht_met_cont->size() > 0) {
991 hlt_met = hlt_trkmht_met_cont->at(0);
992 }
else if (alg ==
"pfsum" && hlt_pfsum_met_cont.
isValid() && hlt_pfsum_met_cont->size() > 0) {
993 hlt_met = hlt_pfsum_met_cont->at(0);
994 }
else if (alg ==
"pfsum_cssk" && hlt_pfsum_cssk_met_cont.
isValid() && hlt_pfsum_cssk_met_cont->size() > 0) {
995 hlt_met = hlt_pfsum_cssk_met_cont->at(0);
996 }
else if (alg ==
"pfsum_vssk" && hlt_pfsum_vssk_met_cont.
isValid() && hlt_pfsum_vssk_met_cont->size() > 0) {
997 hlt_met = hlt_pfsum_vssk_met_cont->at(0);
998 }
else if (alg ==
"pfopufit" && hlt_pfopufit_met_cont.
isValid() && hlt_pfopufit_met_cont->size() > 0) {
999 hlt_met = hlt_pfopufit_met_cont->at(0);
1000 }
else if (alg ==
"pfopufit_sig30" && hlt_pfopufit_sig30_met_cont.
isValid() && hlt_pfopufit_sig30_met_cont->size() > 0) {
1001 hlt_met = hlt_pfopufit_sig30_met_cont->at(0);
1002 }
else if (alg ==
"cvfpufit" && hlt_cvfpufit_met_cont.
isValid() && hlt_cvfpufit_met_cont->size() > 0) {
1003 hlt_met = hlt_cvfpufit_met_cont->at(0);
1004 }
else if (alg ==
"mhtpufit_pf" && hlt_mhtpufit_pf_met_cont.
isValid() && hlt_mhtpufit_pf_met_cont->size() > 0) {
1005 hlt_met = hlt_mhtpufit_pf_met_cont->at(0);
1006 }
else if (alg ==
"mhtpufit_em" && hlt_mhtpufit_em_met_cont.
isValid() && hlt_mhtpufit_em_met_cont->size() > 0) {
1007 hlt_met = hlt_mhtpufit_em_met_cont->at(0);
1008 }
else if (alg ==
"met_nn" && hlt_met_nn_cont.
isValid() && hlt_met_nn_cont->size() > 0) {
1009 hlt_met = hlt_met_nn_cont->at(0);
1015 float hlt_Ex = hlt_met->
ex()/Gaudi::Units::GeV;
1016 float hlt_Ey = hlt_met->
ey()/Gaudi::Units::GeV;
1017 float hlt_Et = std::sqrt(hlt_Ex*hlt_Ex + hlt_Ey*hlt_Ey);
1018 float hlt_sumEt = hlt_met->
sumEt()/Gaudi::Units::GeV;
1019 if (!std::isnan(hlt_Et)) {
1024 fill(tool,met_Ex,met_Ey,met_Et,met_sumEt);
1026 if (L1_roiMet_Et > 50.) {
1028 fill(tool,met_presel_Et);
1037 if (alg ==
"cell" && hlt_cell_met_cont.
isValid() && hlt_cell_met_cont->size() > 0) {
1038 hlt_met = hlt_cell_met_cont->at(0);
1039 }
else if (alg ==
"mht" && hlt_mht_met_cont.
isValid() && hlt_mht_met_cont->size() > 0) {
1040 hlt_met = hlt_mht_met_cont->at(0);
1041 }
else if (alg ==
"tc" && hlt_tc_met_cont.
isValid() && hlt_tc_met_cont->size() > 0) {
1042 hlt_met = hlt_tc_met_cont->at(0);
1043 }
else if (alg ==
"tc_em" && hlt_tc_em_met_cont.
isValid() && hlt_tc_em_met_cont->size() > 0) {
1044 hlt_met = hlt_tc_em_met_cont->at(0);
1045 }
else if (alg ==
"trkmht_pf" && hlt_trkmht_met_cont.
isValid() && hlt_trkmht_met_cont->size() > 0) {
1046 hlt_met = hlt_trkmht_met_cont->at(0);
1047 }
else if (alg ==
"pfsum" && hlt_pfsum_met_cont.
isValid() && hlt_pfsum_met_cont->size() > 0) {
1048 hlt_met = hlt_pfsum_met_cont->at(0);
1049 }
else if (alg ==
"pfsum_cssk" && hlt_pfsum_cssk_met_cont.
isValid() && hlt_pfsum_cssk_met_cont->size() > 0) {
1050 hlt_met = hlt_pfsum_cssk_met_cont->at(0);
1051 }
else if (alg ==
"pfsum_vssk" && hlt_pfsum_vssk_met_cont.
isValid() && hlt_pfsum_vssk_met_cont->size() > 0) {
1052 hlt_met = hlt_pfsum_vssk_met_cont->at(0);
1053 }
else if (alg ==
"pfopufit" && hlt_pfopufit_met_cont.
isValid() && hlt_pfopufit_met_cont->size() > 0) {
1054 hlt_met = hlt_pfopufit_met_cont->at(0);
1055 }
else if (alg ==
"cvfpufit" && hlt_cvfpufit_met_cont.
isValid() && hlt_cvfpufit_met_cont->size() > 0) {
1056 hlt_met = hlt_cvfpufit_met_cont->at(0);
1057 }
else if (alg ==
"mhtpufit_pf" && hlt_mhtpufit_pf_met_cont.
isValid() && hlt_mhtpufit_pf_met_cont->size() > 0) {
1058 hlt_met = hlt_mhtpufit_pf_met_cont->at(0);
1059 }
else if (alg ==
"mhtpufit_em" && hlt_mhtpufit_em_met_cont.
isValid() && hlt_mhtpufit_em_met_cont->size() > 0) {
1060 hlt_met = hlt_mhtpufit_em_met_cont->at(0);
1065 if(hlt_met && hlt_tcpufit_met_cont.
isValid() && hlt_tcpufit_met_cont->size() > 0){
1066 hlt_tcpufit_met = hlt_tcpufit_met_cont->at(0);
1067 float hlt_Ex = hlt_met->
ex()/Gaudi::Units::GeV;
1068 float hlt_Ey = hlt_met->
ey()/Gaudi::Units::GeV;
1069 float hlt_Et = std::sqrt(hlt_Ex*hlt_Ex + hlt_Ey*hlt_Ey);
1072 float hlt_tcpufit_Ex = hlt_tcpufit_met->
ex()/Gaudi::Units::GeV;
1073 float hlt_tcpufit_Ey = hlt_tcpufit_met->
ey()/Gaudi::Units::GeV;
1074 float hlt_tcpufit_Et = std::sqrt(hlt_tcpufit_Ex*hlt_tcpufit_Ex + hlt_tcpufit_Ey*hlt_tcpufit_Ey);
1076 fill(tool, met_Et, tcpufit_met_Et);
1081 for (
const std::string& chain :
m_l1Chains) {
1083 fill(tool, pass_chain,offline_NoMu_Et_eff);
1087 fill(tool, pass_chain,offline_NoMu_Et_eff);
1091 fill(tool, pass_chain,offline_NoMu_Et_eff);
1095 fill(tool, pass_chain,offline_NoMu_Et_eff);
1098 return StatusCode::SUCCESS;