31 #include "boost/lexical_cast.hpp"
88 <<
"\n (if false: L1GtTrigReport uses L1GlobalTriggerReadoutRecord.)"
89 <<
"\n Input tag for L1 GT record: " << m_l1GtRecordInputTag.label() <<
" \n"
90 <<
"\n Print verbosity level: " << m_printVerbosity <<
" \n"
91 <<
"\n Print output: " << m_printOutput <<
" \n" << std::endl;
172 unsigned long long l1GtStableParCacheID =
215 unsigned long long l1GtPfAlgoCacheID =
230 unsigned long long l1GtPfTechCacheID =
248 unsigned long long l1GtTmAlgoCacheID =
263 unsigned long long l1GtTmTechCacheID =
278 unsigned long long l1GtTmVetoAlgoCacheID =
293 unsigned long long l1GtTmVetoTechCacheID =
311 unsigned long long l1GtMenuCacheID =
322 LogDebug(
"L1GtTrigReport") <<
"\n Changing L1 menu to : \n"
346 bool validRecord =
false;
348 unsigned int pfIndexAlgo = 0;
349 unsigned int pfIndexTech = 0;
362 bool gtDecision = gtRecord->decision();
364 gtDecisionWordBeforeMask = gtRecord->decisionWordBeforeMask();
365 gtDecisionWordAfterMask = gtRecord->decisionWord();
367 technicalTriggerWordBeforeMask = gtRecord->technicalTriggerWordBeforeMask();
368 technicalTriggerWordAfterMask = gtRecord->technicalTriggerWord();
374 pfIndexAlgo = gtRecord->gtPrescaleFactorIndexAlgo();
375 pfIndexTech = gtRecord->gtPrescaleFactorIndexTech();
383 edm::LogWarning(
"L1GtTrigReport") <<
"\n L1GlobalTriggerRecord with input tag "
385 <<
"\n Event classified as Error\n\n"
391 if (gtReadoutRecord.
isValid()) {
394 const std::vector<L1GtFdlWord>& fdlVec = gtReadoutRecord->gtFdlVector();
395 size_t fdlVecSize = fdlVec.size();
397 if (fdlVecSize > 0) {
399 LogDebug(
"L1GtTrigReport") <<
"\n L1GlobalTriggerReadoutRecord with input tag "
404 boost::uint16_t gtFinalOR = gtReadoutRecord->finalOR();
406 gtDecisionWordBeforeMask = gtReadoutRecord->decisionWord();
407 technicalTriggerWordBeforeMask = gtReadoutRecord->technicalTriggerWord();
411 bool gtDecision =
static_cast<bool>(gtFinalOR & ( 1 << iDaqPartition ));
419 =
static_cast<unsigned int>( ( gtReadoutRecord->gtFdlWord() ).gtPrescaleFactorIndexAlgo());
421 =
static_cast<unsigned int>( ( gtReadoutRecord->gtFdlWord() ).gtPrescaleFactorIndexTech());
431 edm::LogWarning(
"L1GtTrigReport") <<
"\n L1GlobalTriggerReadoutRecord with input tag "
433 <<
"\n Invalid L1GlobalTriggerReadoutRecord!"
434 <<
"\n Event classified as Error\n\n"
447 edm::LogWarning(
"L1GtTrigReport") <<
"\n L1GlobalTriggerReadoutRecord with input tag "
449 <<
"\n Event classified as Error\n\n"
457 const std::vector<int>& prescaleFactorsAlgoTrig =
458 ( *m_prescaleFactorsAlgoTrig ).at(pfIndexAlgo);
460 const std::vector<int>& prescaleFactorsTechTrig =
461 ( *m_prescaleFactorsTechTrig ).at(pfIndexTech);
467 for (
CItAlgo itAlgo = algorithmMap.begin(); itAlgo != algorithmMap.end(); itAlgo++) {
469 std::string algName = itAlgo->first;
470 int algBitNumber = ( itAlgo->second ).algoBitNumber();
474 bool algResultBeforeMask = gtDecisionWordBeforeMask[algBitNumber];
483 bool algResultAfterMask =
false;
489 algResultAfterMask = gtDecisionWordAfterMask[algBitNumber];
492 algResultAfterMask = algResultBeforeMask;
495 algResultAfterMask =
false;
500 algResultAfterMask = algResultBeforeMask;
503 algResultAfterMask =
false;
508 menuName, algName, prescaleFactor, triggerMask, iDaqPartition);
513 if ( ( *entryRep ) == * ( *itEntry )) {
516 ( *itEntry )->addValidEntry(algResultAfterMask, algResultBeforeMask);
523 entryRep->
addValidEntry(algResultAfterMask, algResultBeforeMask);
538 std::string ttName = boost::lexical_cast<std::string>(iTechTrig);
539 int ttBitNumber = iTechTrig;
543 bool ttResultBeforeMask = technicalTriggerWordBeforeMask[ttBitNumber];
552 bool ttResultAfterMask =
false;
558 ttResultAfterMask = technicalTriggerWordAfterMask[ttBitNumber];
561 ttResultAfterMask = ttResultBeforeMask;
564 ttResultAfterMask =
false;
569 ttResultAfterMask = ttResultBeforeMask;
572 ttResultAfterMask =
false;
577 menuName, ttName, prescaleFactor, triggerMask, iDaqPartition);
583 if ( ( *entryRep ) == * ( *itEntry )) {
586 ( *itEntry )->addValidEntry(ttResultAfterMask, ttResultBeforeMask);
593 entryRep->
addValidEntry(ttResultAfterMask, ttResultBeforeMask);
604 for (
CItAlgo itAlgo = algorithmMap.begin(); itAlgo != algorithmMap.end(); itAlgo++) {
606 std::string algName = itAlgo->first;
607 int algBitNumber = ( itAlgo->second ).algoBitNumber();
617 menuName, algName, prescaleFactor, triggerMask, iDaqPartition);
623 if ( ( *entryRep ) == * ( *itEntry )) {
626 ( *itEntry )->addErrorEntry();
649 std::string ttName = boost::lexical_cast<std::string>(iTechTrig);
650 int ttBitNumber = iTechTrig;
660 menuName, ttName, prescaleFactor, triggerMask, iDaqPartition);
667 if ( ( *entryRep ) == * ( *itEntry )) {
670 ( *itEntry )->addErrorEntry();
695 std::ostringstream myCout;
697 myCout << std::dec << std::endl;
698 myCout <<
"L1T-Report " <<
"---------- Event Summary ----------\n";
699 myCout <<
"L1T-Report " <<
"Total number of events processed: " <<
m_totalEvents <<
"\n";
700 myCout <<
"L1T-Report\n";
706 <<
" Passed[finalOR] "
709 <<
"\n" << std::endl;
721 << std::right << std::setw(16) << iDaqPartition <<
" "
722 << std::right << std::setw(16) << m_totalEvents <<
" "
723 << std::right << std::setw(16) << m_globalNrAccepts[iDaqPartition] <<
" "
724 << std::right << std::setw(16) << rejectedEvents <<
" "
725 << std::right << std::setw(16) <<
m_globalNrErrors[iDaqPartition] << std::endl;
735 <<
"\nL1T-Report " <<
"---------- L1 Trigger Global Summary - DAQ Partition "
739 <<
"\n\n Number of events written after applying L1 prescale factors"
740 <<
" and trigger masks\n" <<
" if not explicitly mentioned.\n\n";
743 << std::right << std::setw(35) <<
"Algorithm Key" <<
" "
744 << std::right << std::setw(10) <<
"Passed" <<
" "
745 << std::right << std::setw(10) <<
"Rejected" <<
" "
746 << std::right << std::setw(10) <<
"Error" << std::setw(2) <<
" "
747 << std::right << std::setw(20) <<
"Trigger Menu Key"
755 << std::right << std::setw(35) << ( *itEntry )->gtAlgoName() <<
" "
756 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsAccept() <<
" "
757 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsReject() <<
" "
758 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsError() << std::setw(2) <<
" "
759 << std::right << std::setw(20) << ( *itEntry )->gtTriggerMenuName()
767 << std::right << std::setw(35) <<
"Technical Trigger Key" <<
" "
768 << std::right << std::setw(10) <<
"Passed" <<
" "
769 << std::right << std::setw(10) <<
"Rejected" <<
" "
770 << std::right << std::setw(10) <<
"Error" << std::setw(2) <<
" "
771 << std::right << std::setw(20) <<
"Trigger Menu Key"
780 << std::right << std::setw(35) << ( *itEntry )->gtAlgoName() <<
" "
781 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsAccept() <<
" "
782 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsReject() <<
" "
783 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsError() << std::setw(2) <<
" "
784 << std::right << std::setw(20) << ( *itEntry )->gtTriggerMenuName()
795 myCout <<
"\nL1T-Report " <<
"---------- L1 Trigger Global Summary - DAQ Partition "
798 myCout <<
"\n\n Number of events written after applying L1 prescale factors"
799 <<
" and trigger masks\n" <<
" if not explicitly mentioned.\n\n";
802 << std::right << std::setw(35) <<
"Algorithm Key" <<
" "
803 << std::right << std::setw(10) <<
"Prescale" <<
" "
804 << std::right << std::setw(5) <<
"Mask" <<
" "
805 << std::right << std::setw(10) <<
"Passed" <<
" "
806 << std::right << std::setw(10) <<
"Rejected" <<
" "
807 << std::right << std::setw(10) <<
"Error" << std::setw(2) <<
" "
808 << std::right << std::setw(20) <<
"Trigger Menu Key"
815 << std::right << std::setw(35) << ( *itEntry )->gtAlgoName() <<
" "
816 << std::right << std::setw(10) << ( *itEntry )->gtPrescaleFactor() <<
" "
817 << std::right << std::setw(2)
818 << std::hex << ( *itEntry )->gtTriggerMask()
820 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsAccept() <<
" "
821 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsReject() <<
" "
822 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsError() << std::setw(2) <<
" "
823 << std::right << std::setw(20) << ( *itEntry )->gtTriggerMenuName()
830 << std::right << std::setw(35) <<
"Technical Trigger Key" <<
" "
831 << std::right << std::setw(10) <<
"Prescale" <<
" "
832 << std::right << std::setw(5) <<
"Mask" <<
" "
833 << std::right << std::setw(10) <<
"Passed" <<
" "
834 << std::right << std::setw(10) <<
"Rejected" <<
" "
835 << std::right << std::setw(10) <<
"Error" << std::setw(2) <<
" "
836 << std::right << std::setw(20) <<
"Trigger Menu Key"
843 << std::right << std::setw(35) << ( *itEntry )->gtAlgoName() <<
" "
844 << std::right << std::setw(10) << ( *itEntry )->gtPrescaleFactor() <<
" "
845 << std::right << std::setw(2)
846 << std::hex << ( *itEntry )->gtTriggerMask()
848 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsAccept() <<
" "
849 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsReject() <<
" "
850 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsError() << std::setw(2) <<
" "
851 << std::right << std::setw(20) << ( *itEntry )->gtTriggerMenuName()
863 std::set<std::string> menuList;
864 typedef std::set<std::string>::const_iterator CItL1Menu;
867 menuList.insert( ( *itEntry )->gtTriggerMenuName());
871 <<
"\nThe following L1 menus were used for this sample: " << std::endl;
872 for (CItL1Menu itMenu = menuList.begin(); itMenu != menuList.end(); itMenu++) {
873 myCout <<
" " << ( *itMenu ) << std::endl;
875 myCout <<
"\n" << std::endl;
877 for (CItL1Menu itMenu = menuList.begin(); itMenu != menuList.end(); itMenu++) {
879 myCout <<
"Report for L1 menu: " << ( *itMenu ) <<
"\n"
883 << std::right << std::setw(35) <<
"Algorithm Key" <<
" "
884 << std::right << std::setw(10) <<
"Passed" <<
" "
885 << std::right << std::setw(10) <<
"Rejected" <<
" "
886 << std::right << std::setw(10) <<
"Error" <<
"\n";
891 && ( ( *itEntry )->gtTriggerMenuName() == *itMenu )) {
893 int nrEventsAccept = ( *itEntry )->gtNrEventsAccept();
894 int nrEventsReject = ( *itEntry )->gtNrEventsReject();
895 int nrEventsError = ( *itEntry )->gtNrEventsError();
898 << std::right << std::setw(35) << (( *itEntry )->gtAlgoName()) <<
" "
899 << std::right << std::setw(10) << nrEventsAccept <<
" "
900 << std::right << std::setw(10) << nrEventsReject <<
" "
901 << std::right << std::setw(10) << nrEventsError <<
"\n";
909 << std::right << std::setw(35) <<
"Algorithm Key" <<
" "
910 << std::right << std::setw(10) <<
"Efficiency " <<
" "
911 << std::right << std::setw(10) <<
"Stat error (%)" <<
"\n";
915 if ( ( ( *itEntry )->gtDaqPartition() == 0 ) && ( ( *itEntry )->gtTriggerMenuName()
918 int nrEventsAccept = ( *itEntry )->gtNrEventsAccept();
919 int nrEventsReject = ( *itEntry )->gtNrEventsReject();
920 int nrEventsError = ( *itEntry )->gtNrEventsError();
922 int totalEvents = nrEventsAccept + nrEventsReject + nrEventsError;
926 float statErrEff = 0.;
928 if (totalEvents != 0) {
929 eff =
static_cast<float> (nrEventsAccept)
930 / static_cast<float> (totalEvents);
931 statErrEff =
sqrt(eff * ( 1.0 - eff )
932 / static_cast<float> (totalEvents));
937 << std::right << std::setw(35) << (( *itEntry )->gtAlgoName()) <<
" "
938 << std::right << std::setw(10) << std::fixed << std::setprecision(2)
939 << 100.*eff <<
" +- "
940 << std::right << std::setw(10) << std::setprecision(2)
941 << 100.*statErrEff <<
"\n";
950 << std::right << std::setw(35) <<
"Technical Trigger Key" <<
" "
951 << std::right << std::setw(10) <<
"Passed" <<
" "
952 << std::right << std::setw(10) <<
"Rejected" <<
" "
953 << std::right << std::setw(10) <<
"Error" <<
"\n";
959 && ( ( *itEntry )->gtTriggerMenuName() == *itMenu )) {
961 int nrEventsAccept = ( *itEntry )->gtNrEventsAccept();
962 int nrEventsReject = ( *itEntry )->gtNrEventsReject();
963 int nrEventsError = ( *itEntry )->gtNrEventsError();
966 << std::right << std::setw(35) << (( *itEntry )->gtAlgoName()) <<
" "
967 << std::right << std::setw(10) << nrEventsAccept <<
" "
968 << std::right << std::setw(10) << nrEventsReject <<
" "
969 << std::right << std::setw(10) << nrEventsError <<
"\n";
977 << std::right << std::setw(35) <<
"Technical Trigger Key" <<
" "
978 << std::right << std::setw(10) <<
"Efficiency " <<
" "
979 << std::right << std::setw(10) <<
"Stat error (%)" <<
"\n";
984 if ( ( ( *itEntry )->gtDaqPartition() == 0 ) && ( ( *itEntry )->gtTriggerMenuName()
987 int nrEventsAccept = ( *itEntry )->gtNrEventsAccept();
988 int nrEventsReject = ( *itEntry )->gtNrEventsReject();
989 int nrEventsError = ( *itEntry )->gtNrEventsError();
991 int totalEvents = nrEventsAccept + nrEventsReject + nrEventsError;
995 float statErrEff = 0.;
997 if (totalEvents != 0) {
998 eff =
static_cast<float> (nrEventsAccept)
999 / static_cast<float> (totalEvents);
1000 statErrEff =
sqrt(eff * ( 1.0 - eff )
1001 / static_cast<float> (totalEvents));
1006 << std::right << std::setw(35) << (( *itEntry )->gtAlgoName()) <<
" "
1007 << std::right << std::setw(10) << std::fixed << std::setprecision(2)
1008 << 100.*eff <<
" +- "
1009 << std::right << std::setw(10) << std::setprecision(2)
1010 << 100.*statErrEff <<
"\n";
1025 myCout <<
"\nL1T-Report " <<
"---------- L1 Trigger Global Summary - DAQ Partition "
1029 << std::right << std::setw(35) <<
"Algorithm Key" <<
" "
1030 << std::right << std::setw(10) <<
"Prescale" <<
" "
1031 << std::right << std::setw(5) <<
"Mask" <<
" "
1032 << std::right << std::setw(15) <<
"Before Mask" <<
" "
1033 << std::right << std::setw(15) <<
"After Mask" <<
" "
1034 << std::right << std::setw(15) <<
"Error" << std::setw(2) <<
" "
1035 << std::right << std::setw(20) <<
"Trigger Menu Key"
1037 << std::right << std::setw(53) <<
" " << std::setw(15) <<
"Passed" <<
" "
1038 << std::right << std::setw(15) <<
"Passed" <<
" " <<
"\n"
1039 << std::right << std::setw(53) <<
" " << std::setw(15) <<
"Rejected" <<
" "
1040 << std::right << std::setw(15) <<
"Rejected" <<
" "
1047 << std::right << std::setw(35) << ( *itEntry )->gtAlgoName() <<
" "
1048 << std::right << std::setw(10) << ( *itEntry )->gtPrescaleFactor() <<
" "
1049 << std::right << std::setw(3) <<
" " << std::setw(2)
1050 << std::hex << ( *itEntry )->gtTriggerMask()
1052 << std::right << std::setw(15) << ( *itEntry )->gtNrEventsAcceptBeforeMask() <<
" "
1053 << std::right << std::setw(15) << ( *itEntry )->gtNrEventsAccept() <<
" "
1054 << std::right << std::setw(15) << ( *itEntry )->gtNrEventsError() << std::setw(2) <<
" "
1055 << std::right << std::setw(20) << ( *itEntry )->gtTriggerMenuName()
1057 << std::right << std::setw(53) <<
" "
1058 << std::right << std::setw(15) << ( *itEntry )->gtNrEventsRejectBeforeMask() <<
" "
1059 << std::right << std::setw(15) << ( *itEntry )->gtNrEventsReject()
1066 << std::right << std::setw(35) <<
"Technical Trigger Key" <<
" "
1067 << std::right << std::setw(10) <<
"Prescale" <<
" "
1068 << std::right << std::setw(5) <<
"Mask" <<
" "
1069 << std::right << std::setw(15) <<
"Before Mask" <<
" "
1070 << std::right << std::setw(15) <<
"After Mask" <<
" "
1071 << std::right << std::setw(15) <<
"Error" << std::setw(2) <<
" "
1072 << std::right << std::setw(20) <<
"Trigger Menu Key"
1074 << std::right << std::setw(53) <<
" " << std::setw(15) <<
"Passed" <<
" "
1075 << std::right << std::setw(15) <<
"Passed" <<
" "
1077 << std::right << std::setw(53) <<
" " << std::setw(15) <<
"Rejected" <<
" "
1078 << std::right << std::setw(15) <<
"Rejected" <<
" "
1085 << std::right << std::setw(35) << ( *itEntry )->gtAlgoName() <<
" "
1086 << std::right << std::setw(10) << ( *itEntry )->gtPrescaleFactor() <<
" "
1087 << std::right << std::setw(3) <<
" " << std::setw(2)
1088 << std::hex << ( *itEntry )->gtTriggerMask()
1090 << std::right << std::setw(15) << ( *itEntry )->gtNrEventsAcceptBeforeMask() <<
" "
1091 << std::right << std::setw(15) << ( *itEntry )->gtNrEventsAccept() <<
" "
1092 << std::right << std::setw(15) << ( *itEntry )->gtNrEventsError() << std::setw(2) <<
" "
1093 << std::right << std::setw(20) << ( *itEntry )->gtTriggerMenuName()
1095 << std::right << std::setw(53) <<
" "
1096 << std::right << std::setw(15) << ( *itEntry )->gtNrEventsRejectBeforeMask() <<
" "
1097 << std::right << std::setw(15) << ( *itEntry )->gtNrEventsReject()
1108 myCout <<
"\nL1T-Report "
1109 <<
"---------- L1 Trigger Global Summary - DAQ Partition " << iDaqPartition
1110 <<
" " <<
"----------\n\n";
1113 << std::right << std::setw(35) <<
"Algorithm Key" <<
" "
1114 << std::right << std::setw(10) <<
"Passed" <<
" "
1115 << std::right << std::setw(10) <<
"Rejected" <<
" "
1116 << std::right << std::setw(10) <<
"Error" << std::setw(2) <<
" "
1117 << std::right << std::setw(20) <<
"Trigger Menu Key"
1122 if ( ( *itEntry )->gtDaqPartition() == 0) {
1125 << std::right << std::setw(35) << ( *itEntry )->gtAlgoName() <<
" "
1126 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsAccept() <<
" "
1127 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsReject() <<
" "
1128 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsError() << std::setw(2) <<
" "
1129 << std::right << std::setw(20) << ( *itEntry )->gtTriggerMenuName()
1137 << std::right << std::setw(35) <<
"Technical Trigger Key" <<
" "
1138 << std::right << std::setw(10) <<
"Passed" <<
" "
1139 << std::right << std::setw(10) <<
"Rejected" <<
" "
1140 << std::right << std::setw(10) <<
"Error" << std::setw(2) <<
" "
1141 << std::right << std::setw(20) <<
"Trigger Menu Key"
1146 if ( ( *itEntry )->gtDaqPartition() == 0) {
1149 << std::right << std::setw(35) << ( *itEntry )->gtAlgoName() <<
" "
1150 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsAccept() <<
" "
1151 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsReject() <<
" "
1152 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsError() << std::setw(2) <<
" "
1153 << std::right << std::setw(20) << ( *itEntry )->gtTriggerMenuName()
1167 myCout <<
"\nL1T-Report "
1168 <<
"---------- L1 Trigger Global Summary - DAQ Partition " << iDaqPartition
1169 <<
" " <<
"----------\n\n";
1172 << std::right << std::setw(35) <<
"Algorithm Key" <<
" "
1173 << std::right << std::setw(10) <<
"Prescale" <<
" "
1174 << std::right << std::setw(5) <<
"Mask" <<
" "
1175 << std::right << std::setw(10) <<
"Passed" <<
" "
1176 << std::right << std::setw(10) <<
"Rejected" <<
" "
1177 << std::right << std::setw(10) <<
"Error" << std::setw(2) <<
" "
1178 << std::right << std::setw(20) <<
"Trigger Menu Key"
1183 if ( ( *itEntry )->gtDaqPartition() == 0) {
1185 << std::right << std::setw(35) << ( *itEntry )->gtAlgoName() <<
" "
1186 << std::right << std::setw(10) << ( *itEntry )->gtPrescaleFactor() <<
" "
1187 << std::right << std::setw(2)
1188 << std::hex << ( *itEntry )->gtTriggerMask()
1190 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsAccept() <<
" "
1191 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsReject() <<
" "
1192 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsError() << std::setw(2) <<
" "
1193 << std::right << std::setw(20) << ( *itEntry )->gtTriggerMenuName()
1200 << std::right << std::setw(35) <<
"Technical Trigger Key" <<
" "
1201 << std::right << std::setw(10) <<
"Prescale" <<
" "
1202 << std::right << std::setw(5) <<
"Mask" <<
" "
1203 << std::right << std::setw(10) <<
"Passed" <<
" "
1204 << std::right << std::setw(10) <<
"Rejected" <<
" "
1205 << std::right << std::setw(10) <<
"Error" << std::setw(2) <<
" "
1206 << std::right << std::setw(20) <<
"Trigger Menu Key"
1211 if ( ( *itEntry )->gtDaqPartition() == 0) {
1213 << std::right << std::setw(35) << ( *itEntry )->gtAlgoName() <<
" "
1214 << std::right << std::setw(10) << ( *itEntry )->gtPrescaleFactor() <<
" "
1215 << std::right << std::setw(2)
1216 << std::hex << ( *itEntry )->gtTriggerMask()
1218 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsAccept() <<
" "
1219 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsReject() <<
" "
1220 << std::right << std::setw(10) << ( *itEntry )->gtNrEventsError() << std::setw(2) <<
" "
1221 << std::right << std::setw(20) << ( *itEntry )->gtTriggerMenuName()
1232 <<
"\n\nL1GtTrigReport: Error - no print verbosity level = " <<
m_printVerbosity
1233 <<
" defined! \nCheck available values in the cfi file." <<
"\n";
1243 myCout << std::endl;
1244 myCout <<
"L1T-Report end!" << std::endl;
1245 myCout << std::endl;
1257 LogTrace(
"L1GtTrigReport") << myCout.str() << std::endl;
1278 <<
"\n\n L1GtTrigReport: Error - no print output = " <<
m_printOutput
1279 <<
" defined! \n Check available values in the cfi file." <<
"\n" << std::endl;
virtual ~L1GtTrigReport()
destructor
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::vector< int > m_globalNrErrors
global number of events with error (EDProduct[s] not found)
std::list< L1GtTrigReportEntry * >::const_iterator CItEntry
std::list< L1GtTrigReportEntry * > m_entryListTechTrig
list of individual entries in the report for technical triggers
const L1GtTriggerMenu * m_l1GtMenu
std::vector< unsigned int > m_triggerMaskTechTrig
unsigned int m_numberDaqPartitions
number of DAQ partitions
unsigned long long m_l1GtStableParCacheID
const L1GtStableParameters * m_l1GtStablePar
cached stuff
std::vector< unsigned int > m_triggerMaskAlgoTrig
void addValidEntry(const bool algResultAfterMask, const bool algResultBeforeMask)
increase # of events accepted/rejected for this entry
int m_printOutput
print output
unsigned long long m_l1GtPfTechCacheID
unsigned int m_numberDaqPartitionsMax
const L1GtTriggerMask * m_l1GtTmVetoTech
const L1GtPrescaleFactors * m_l1GtPfTech
int m_printVerbosity
print verbosity
const L1GtTriggerMask * m_l1GtTmVetoAlgo
virtual void analyze(const edm::Event &, const edm::EventSetup &)
analyze each event
std::list< L1GtTrigReportEntry * > m_entryList
list of individual entries in the report for physics algorithms
unsigned int gtNumberTechnicalTriggers() const
get / set the number of technical triggers
unsigned int gtNumberPhysTriggers() const
get / set the number of physics trigger algorithms
bool m_useL1GlobalTriggerRecord
boolean flag to select the input record
unsigned long long m_l1GtPfAlgoCacheID
const std::vector< unsigned int > & gtTriggerMask() const
get the trigger mask
std::vector< bool > DecisionWord
typedefs
const L1GtTriggerMask * m_l1GtTmAlgo
trigger masks & veto masks
const L1GtPrescaleFactors * m_l1GtPfAlgo
prescale factors
unsigned long long m_l1GtTmAlgoCacheID
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
std::vector< unsigned int > m_triggerMaskVetoTechTrig
unsigned int m_numberTechnicalTriggers
number of technical triggers
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
unsigned long long m_l1GtTmVetoTechCacheID
void addErrorEntry()
increase # of events with error
const L1GtTriggerMask * m_l1GtTmTech
std::vector< int > m_globalNrAccepts
global number of events accepted by any of the L1 algorithm in any menu
unsigned long long m_l1GtMenuCacheID
unsigned long long m_l1GtTmTechCacheID
std::vector< unsigned int > m_triggerMaskVetoAlgoTrig
const std::vector< std::vector< int > > & gtPrescaleFactors() const
get the prescale factors by reference
int m_totalEvents
counters
std::list< L1GtTrigReportEntry * >::iterator ItEntry
T const * product() const
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
L1GtTrigReport(const edm::ParameterSet &)
constructor
unsigned int m_physicsDaqPartition
index of physics DAQ partition
edm::InputTag m_l1GtRecordInputTag
input tag for GT record (L1 GT DAQ record or L1 GT "lite" record):
virtual void endJob()
end of job
unsigned int m_numberPhysTriggers
number of physics triggers
const std::vector< std::vector< int > > * m_prescaleFactorsTechTrig
unsigned long long m_l1GtTmVetoAlgoCacheID