89 ATH_MSG_INFO(
"Monitoring number of events passing these chains (blocks of "
100 return StatusCode::SUCCESS;
108 msg(MSG::INFO) <<
"==========================================================" <<
endmsg;
109 msg(MSG::INFO) <<
"TrigDecisionTool summary:" <<
endmsg;
110 msg(MSG::INFO) <<
"==========================================================" <<
endmsg;
113 std::map<std::string,int>::iterator itL1,itL1End=
m_L1Summary.end();
114 for ( itL1=
m_L1Summary.begin(); itL1!=itL1End; ++itL1 ) {
115 msg(MSG::INFO) <<
"REGTEST item " << (*itL1).first <<
" accepted events=" << (*itL1).second <<
endmsg;
119 for (
unsigned int i=0; i<
m_summary.size(); ++i) {
126 ATH_MSG_INFO(
"TrigDecisionTool tests: monitored chain efficiency");
127 ATH_MSG_INFO(
"==================================================");
128 msg(MSG::INFO) <<
"REGTEST Nr.events: ";
135 for (
unsigned int j=0; j<(
m_countSigs[i])->size();++j) {
143 ATH_MSG_INFO(
"TrigDecisionTool tests: chain prescale/passthrough ");
144 ATH_MSG_INFO(
"==================================================");
146 msg(MSG::INFO) <<
"REGTEST Chain (passed raw) PS(conf) PS(counts) PT(conf) PT(counts) (Lower chain)";
147 for (
unsigned int i=0; i<
m_summary.size(); ++i) {
157 <<
" (lower chain passed no events)" <<
endmsg;
165 ATH_MSG_INFO(
"==================================================");
178 printoutFile << std::setiosflags(std::ios::left) << std::setw(25) <<
"* L1 item"
179 << std::setw(15) <<
" #Passed " << std::endl;
180 std::map<std::string,int>::iterator l1,l1End=
m_L1Summary.end();
182 printoutFile << std::setiosflags(std::ios::left) << (*l1).first
183 << std::setw(10) << (*l1).second << std::endl;
186 printoutFile << std::setiosflags(std::ios::left) << std::setw(25) <<
"* Chain name"
187 << std::setw(15) <<
" #Passed Raw "
188 << std::setw(15) <<
" #passed "
189 << std::setw(15) <<
" #Physics Passed "<< std::endl;
190 for (
unsigned int i=0; i<
m_summary.size(); ++i) {
191 printoutFile << std::setiosflags(std::ios::left) << std::setw(25) <<
m_summary[i]
201 printoutFile.close();
205 ATH_MSG_INFO(
"==================================================");
207 for (
unsigned int i=0; i<
m_countSigs.size(); ++i) {
212 return StatusCode::SUCCESS;
228 if (
sc.isFailure() || !eventInfo )
231 sc = StatusCode::SUCCESS;
242 msg(MSG::INFO) <<
"mu value " << mu <<
" average mu value " << muave <<
" event number " <<
m_eventNumber <<
endmsg;
250 if (
sc.isFailure() ) {
251 msg(MSG::ERROR) <<
"Could not finish checkTauEDM test for chain " <<tauItem <<
endmsg;
256 ATH_MSG_ERROR(
"Could not finish checkTauJetEDM test for chain " << tauItem);
262 if (
sc.isFailure() ) {
263 msg(MSG::ERROR) <<
"Could not finish checkMuonEDM test for chain " << muonItem <<
endmsg;
268 ATH_MSG_ERROR(
"Could not finish checkMuonEDM test for chain " << muonItem);
270 ATH_MSG_ERROR(
"Could not finish checkMuonEDM test for chain " << muonItem);
272 ATH_MSG_ERROR(
"Could not finish checkMuonEDM test for chain " << muonItem);
278 if (
sc.isFailure() ) {
279 msg(MSG::ERROR) <<
"Could not finish checkBjetEDM test for chain " << bjetItem <<
endmsg;
284 ATH_MSG_ERROR(
"Could not finish checkBjetEDM test for chain " << bjetItem);
290 if (
sc.isFailure() ) {
291 msg(MSG::ERROR) <<
"Could not finish checkBphysEDM test for chain " << bphysItem <<
endmsg;
296 ATH_MSG_ERROR(
"Could not finish checkJetEDM test for chain " << bphysItem);
303 if (
sc.isFailure() ) {
304 msg(MSG::ERROR) <<
"Could not finish checkElectronEDM test for chain " << electronItem <<
endmsg;
308 ATH_MSG_ERROR(
"Could not finish checkElectronEDM test for chain " << electronItem);
310 ATH_MSG_ERROR(
"Could not finish checkElectronEDM test for chain " << electronItem);
312 ATH_MSG_ERROR(
"Could not finish checkElectronEDM test for chain " << electronItem);
318 if (
sc.isFailure() ) {
319 ATH_MSG_ERROR(
"Could not finish checkPhotonEDM test for chain " << photonItem);
323 ATH_MSG_ERROR(
"Could not finish checkPhotonEDM test for chain " << photonItem);
325 ATH_MSG_ERROR(
"Could not finish checkPhotonEDM test for chain " << photonItem);
331 if (
sc.isFailure() ) {
332 msg(MSG::ERROR) <<
"Could not finish checkMinBiasEDM test for chain " << minBiasItem <<
endmsg;
337 ATH_MSG_INFO(
"REGTEST ==========START of Jet EDM/Navigation check===========");
340 if (
sc.isFailure() ) {
341 ATH_MSG_INFO(
"REGTEST Could not finish checkJetEDM test for chain " << jetItem);
346 ATH_MSG_ERROR(
"Could not finish checkJetEDM test for chain " << jetItem);
349 ATH_MSG_INFO(
"REGTEST ==========END of Jet EDM/Navigation check===========");
351 ATH_MSG_INFO(
"REGTEST ==========START of Met EDM/Navigation check===========");
354 if (
sc.isFailure() ) {
355 ATH_MSG_INFO(
"REGTEST Could not finish checkMetEDM test for chain " << metItem);
359 ATH_MSG_INFO(
"REGTEST =========END of Met EDM/Navigation check============");
362 msg(MSG::INFO) <<
"TrigDecisionChecker::execute" <<
endmsg;
372 std::vector<std::string> allItems =
m_trigDec->getListOfTriggers(
"L1_.*");
373 if (!allItems.empty()) {
376 for (std::vector<std::string>::const_iterator itemIt = allItems.begin();
377 itemIt != allItems.end(); ++itemIt) {
381 if (!aItem)
continue;
382 if (aItem->
name()==
"")
continue;
387 std::string item_name = aItem->
name();
405 std::vector<std::string> confChains =
m_trigDec->getListOfTriggers(
"L2_.*, EF_.*, HLT_.*");
406 msg(MSG::INFO) <<
"Configuring for " << confChains.size() <<
" HLT chain counters" <<
endmsg;
426 std::map<std::string,float> t_pt_map;
427 std::map<std::string,float> t_ps_map;
429 for(std::vector<std::string>::iterator chIter = confChains.begin(); chIter != confChains.end(); ++chIter) {
431 std::string name = *chIter;
433 t_pt_map[name] = ch->pass_through();
434 t_ps_map[name] = ch->prescale();
437 <<
"; prescale=" << ch->prescale()
438 <<
"; passthrough=" << ch->pass_through()
439 <<
"; lower chain=" << ch->lower_chain_name());
446 for (
unsigned int k=0; k<
m_summary.size(); ++k) {
448 std::map<std::string,float>::iterator psIt=t_ps_map.find(
m_summary[k]);
450 if (psIt!=t_ps_map.end()) ps = (*psIt).second;
453 std::map<std::string,float>::iterator ptIt=t_pt_map.find(
m_summary[k]);
455 if (ptIt!=t_pt_map.end()) pt = (*ptIt).second;
462 for (
unsigned int i=0; i<
m_summary.size(); ++i){
466 const HLT::Chain* aChain =
m_trigDec->ExperimentalAndExpertMethods().getChainDetails(name);
507 if ( !
m_trigDec->getListOfTriggers((*lcIt).second).empty() &&
m_trigDec->isPassed((*lcIt).second) ) {
513 msg(MSG::INFO) <<
"chain " << name <<
" = "
541 return StatusCode::SUCCESS;
549 const auto vec = fc.get<T>();
551 std::string
label=
"";
552 for(
const auto& feat:vecbits){
553 const auto *xbits=feat.cptr();
555 const auto *cont=(
m_trigDec->ancestor<T>(feat.te())).cptr();
558 <<
" size " << cont->size());
560 if(cont->size()!=xbits->size()) {
565 for(
const auto &ptr:*cont){
566 if(xbits->isPassing(ptr,cont))
570 <<
" size " << cont->size() <<
" xbits " << xbits->size() <<
" selected " << npassed);
576 for(
const auto& feat:
vec){
577 const auto *cont=feat.cptr();
593 const size_t bitlen = ( (cont->size() - 1)/32 ) + 1;
596 <<
" bits " << bits->
size() <<
" Expect vector of bits " << bitlen);
599 for(
const auto &ptr:*cont){
604 <<
" size " << cont->size() <<
" xbits " << xbits->
size() <<
" selected " << npassed);
608 return StatusCode::SUCCESS;
613 ATH_MSG_INFO(
"REGTEST ==========START of bjet EDM/Navigation check for chain " << trigItem <<
" ===========");
621 const std::vector< Trig::Combination >& bjetCombs = fc.
getCombinations();
622 ATH_MSG_INFO(
"REGTEST - RETRIEVED " << bjetCombs.size() <<
" COMBINATIONS FOR " << trigItem);
625 std::vector< Trig::Combination >::const_iterator bjetComb;
626 for( bjetComb = bjetCombs.begin(); bjetComb != bjetCombs.end(); ++bjetComb ) {
629 ATH_MSG_INFO(
"REGTEST - ------------ NEW COMBINATION ------------");
632 const std::vector< Trig::Feature<xAOD::VertexContainer> > onlinepvs_histo = comb.
get<
xAOD::VertexContainer>(
"EFHistoPrmVtx");
633 ATH_MSG_INFO(
"REGTEST - RETRIEVED PV (HISTO) - size: " << onlinepvs_histo.size());
634 if(onlinepvs_histo.size()) {
637 if(onlinepv_histo->
size()) {
638 ATH_MSG_INFO(
"REGTEST - - z[0]: " << (*(onlinepv_histo))[0]->
z());
643 const std::vector< Trig::Feature<xAOD::VertexContainer> > onlinepvs_id = comb.
get<
xAOD::VertexContainer>(
"xPrimVx");
644 ATH_MSG_INFO(
"REGTEST - RETRIEVED PV (IDTRK) - size: " << onlinepvs_id.size());
645 if(onlinepvs_id.size()) {
648 if(onlinepv_id->
size()) {
649 ATH_MSG_INFO(
"REGTEST - - z[0]: " << (*(onlinepv_id))[0]->
z());
654 const std::vector< Trig::Feature<xAOD::JetContainer> > onlinejets_efbjet = comb.
get<
xAOD::JetContainer>(
"TrigJetRec");
655 ATH_MSG_INFO(
"REGTEST - RETRIEVED JETS (EFBJET) - size: " << onlinejets_efbjet.size());
656 if(onlinejets_efbjet.size()) {
659 for(
const auto* jet_efbjet : *onlinejet_efbjet) {
661 ATH_MSG_INFO(
"REGTEST - - eta/phi: " << jet_efbjet->eta() <<
" / " << jet_efbjet->phi());
666 const std::vector< Trig::Feature<xAOD::JetContainer> > onlinejets_split = comb.
get<
xAOD::JetContainer>(
"SplitJet");
667 ATH_MSG_INFO(
"REGTEST - RETRIEVED JETS (SPLIT) - size: " << onlinejets_split.size());
668 if(onlinejets_split.size()) {
671 for(
const auto* jet_split : *onlinejet_split) {
673 ATH_MSG_INFO(
"REGTEST - - eta/phi: " << jet_split->eta() <<
" / " << jet_split->phi());
678 const std::vector< Trig::Feature<xAOD::JetContainer> > onlinejets_super = comb.
get<
xAOD::JetContainer>(
"SuperRoi");
679 ATH_MSG_INFO(
"REGTEST - RETRIEVED JETS (SUPER) - size: " << onlinejets_super.size());
680 if(onlinejets_super.size()) {
683 for(
const auto* jet_super : *onlinejet_super) {
685 ATH_MSG_INFO(
"REGTEST - - eta/phi: " << jet_super->eta() <<
" / " << jet_super->phi());
690 const std::vector< Trig::Feature<xAOD::TrackParticleContainer> > onlinetracks_prmvtx = comb.
get<
xAOD::TrackParticleContainer>(
"InDetTrigTrackingxAODCnv_BjetPrmVtx_FTF");
691 ATH_MSG_INFO(
"REGTEST - RETRIEVED TRACKS (BJETPRMVTX_FTF) - size: " << onlinetracks_prmvtx.size());
692 if(onlinetracks_prmvtx.size()) {
695 for(
const auto* trk : *onlinetrack_prmvtx) {
697 uint8_t nInn=0, nNext=0, nPix=0, nSCT=0;
702 ATH_MSG_INFO(
"REGTEST - - inn/next/pix/sct: " << (
int)nInn <<
" / " << (
int)nNext <<
" / " << (
int)nPix <<
" / " << (
int)nSCT);
707 const std::vector< Trig::Feature<xAOD::TrackParticleContainer> > onlinetracks_bjetftf = comb.
get<
xAOD::TrackParticleContainer>(
"InDetTrigTrackingxAODCnv_Bjet_FTF");
708 ATH_MSG_INFO(
"REGTEST - RETRIEVED TRACKS (BJET_FTF) - size: " << onlinetracks_bjetftf.size());
709 if(onlinetracks_bjetftf.size()) {
712 for(
const auto* trk : *onlinetrack_bjetftf) {
714 uint8_t nInn=0, nNext=0, nPix=0, nSCT=0;
719 ATH_MSG_INFO(
"REGTEST - - inn/next/pix/sct: " << (
int)nInn <<
" / " << (
int)nNext <<
" / " << (
int)nPix <<
" / " << (
int)nSCT);
724 const std::vector< Trig::Feature<xAOD::TrackParticleContainer> > onlinetracks_bjetprec = comb.
get<
xAOD::TrackParticleContainer>(
"InDetTrigTrackingxAODCnv_Bjet_IDTrig");
725 ATH_MSG_INFO(
"REGTEST - RETRIEVED TRACKS (BJET_IDTRIG) - size: " << onlinetracks_bjetprec.size());
726 if(onlinetracks_bjetprec.size()) {
729 for(
const auto* trk : *onlinetrack_bjetprec) {
731 uint8_t nInn=0, nNext=0, nPix=0, nSCT=0;
736 ATH_MSG_INFO(
"REGTEST - - inn/next/pix/sct: " << (
int)nInn <<
" / " << (
int)nNext <<
" / " << (
int)nPix <<
" / " << (
int)nSCT);
742 ATH_MSG_INFO(
"REGTEST - RETRIEVED BJETS - size: " << onlinebjets.size());
743 if(onlinebjets.size()) {
746 for(
const auto* bjet : *onlinebjet) {
748 double wIP2D, wIP3D, wSV1, wCOMB, wMV1;
749 bjet->loglikelihoodratio(
"IP2D", wIP2D);
750 bjet->loglikelihoodratio(
"IP3D", wIP3D);
751 bjet->loglikelihoodratio(
"SV1", wSV1);
753 wMV1 = bjet->MV1_discriminant();
754 ATH_MSG_INFO(
"REGTEST - - IP2D/IP3D/SV1/IP3D+SV1/MV1: " << wIP2D <<
" / " << wIP3D <<
" / " << wSV1 <<
" / " << wCOMB <<
" / " << wMV1);
760 msg(MSG::INFO) <<
"REGTEST ==========END of bjet EDM/Navigation check for chain " << trigItem <<
" ===========" <<
endmsg;
762 return StatusCode::SUCCESS;
767 msg(MSG::INFO) <<
"REGTEST ==========START of muon EDM/Navigation check for chain " << trigItem <<
" ===========" <<
endmsg;
774 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::MuonContainer> > = " << vec_muons.size());
776 for(
const auto& mufeat : vec_muons ) {
777 ATH_MSG_INFO(
"REGTEST Got muon container, size = " << mufeat.cptr()->size());
778 for(
auto muItr : *(mufeat.cptr())) {
779 ATH_MSG_INFO(
"REGTEST MuonFeature with pt, eta, phi = " << muItr->pt() <<
", " << muItr->eta() <<
", " << muItr->phi());
784 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::L2CombinedMuonContainer> > = " << vec_L2CBmuons.size());
786 for(
const auto& l2cbmufeat : vec_L2CBmuons) {
787 ATH_MSG_INFO(
"REGTEST Got muon container, size = " << l2cbmufeat.cptr()->size());
788 for(
auto l2cbmuItr : *(l2cbmufeat.cptr())) {
789 ATH_MSG_INFO(
"REGTEST MuonFeature with pt, eta, phi = " << l2cbmuItr->pt() <<
", " << l2cbmuItr->eta() <<
", " << l2cbmuItr->phi());
794 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::L2StandAloneMuonContainer> > = " << vec_L2SAmuons.size());
796 for(
const auto& l2samufeat : vec_L2SAmuons) {
797 ATH_MSG_INFO(
"REGTEST Got muon container, size = " << l2samufeat.cptr()->size());
798 for(
auto l2samuItr : *(l2samufeat.cptr())) {
799 ATH_MSG_INFO(
"REGTEST MuonFeature with pt, eta, phi = " << l2samuItr->pt() <<
", " << l2samuItr->eta() <<
", " << l2samuItr->phi());
803 msg(MSG::INFO) <<
"REGTEST ==========END of muon EDM/Navigation check for chain " << trigItem <<
" ===========" <<
endmsg;
805 return StatusCode::SUCCESS;
809 msg(MSG::INFO)<<
"REGTEST ==========START of tau EDM/Navigation check for chain " << trigItem<<
"===========" <<
endmsg;
812 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::TauJetContainer> > = " << vec_tauHLTClust.size());
813 for(
const auto& cont_tau : vec_tauHLTClust) {
814 ATH_MSG_INFO(
"REGTEST Got Tau container, size = " << cont_tau.cptr()->size());
816 for(
auto tauItr : *(cont_tau.cptr())) {
818 msg(MSG::INFO) <<
"REGTEST "<<
" HLT tau number of tracks: "<<tauItr->nTracks()<<
endmsg;
819 msg(MSG::INFO) <<
"REGTEST "<<
" HLT tau pt : "<<tauItr->pt()<<
endmsg;
820 msg(MSG::INFO) <<
"REGTEST "<<
" HLT tau phi : "<<tauItr->phi()<<
endmsg;
821 msg(MSG::INFO) <<
"REGTEST "<<
" HLT tau eta : "<<tauItr->eta()<<
endmsg;
822 if( !tauItr->jetLink().isValid() ) {
824 return StatusCode::SUCCESS;
827 const xAOD::Jet* pJetSeed = *(tauItr->jetLink());
830 for (
int clusCount = 0; clusItr != clusItrE; ++clusItr, ++clusCount) {
831 ATH_MSG_INFO(
"REGTEST Tau Cluster " << clusCount <<
" pt = " << (*clusItr)->pt()<<
" eta = " << (*clusItr)->eta()<<
" phi = " << (*clusItr)->phi() );
833 for (
unsigned int trackNum = 0; trackNum < tauItr->nTracks(); ++trackNum) {
838 return StatusCode::SUCCESS;
848 msg(MSG::INFO) <<
"REGTEST ==========END of Tau EDM/Navigation check ===========" <<
endmsg;
849 return StatusCode::SUCCESS;
856 msg(MSG::INFO) <<
"REGTEST ==========START of Bphysics EDM/Navigation check for chain " << trigItem <<
" ===========" <<
endmsg;
863 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::TrigBphysContainer> > = " << fc_bphys.size());
865 for(
const auto& cont_bphys : fc_bphys ) {
866 ATH_MSG_INFO(
"REGTEST Got Bphysics container, size = " << cont_bphys.cptr()->size());
867 for (
auto bphys: *(cont_bphys.cptr()) ) {
868 ATH_MSG_INFO(
"REGTEST Bphysics Item mass, fitmass, secVx, nTP: "
869 << bphys->mass()*0.001 <<
" , " << bphys->fitmass() * 0.001 <<
" , "
870 << bphys->secondaryDecay() <<
" , " << bphys->nTrackParticles()
883 ATH_MSG_INFO(
"REGTEST ==========END of Bphysics EDM/Navigation check for chain " << trigItem <<
" ===========");
885 return StatusCode::SUCCESS;
894 msg(MSG::INFO) <<
"REGTEST ==========START of Electron EDM/Navigation check for chain " << trigItem <<
" ===========" <<
endmsg;
900 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::ElectronContainer> > = " << vec_el.size());
901 float val_float=-99.;
902 for(
const auto& elfeat : vec_el){
903 ATH_MSG_INFO(
"REGTEST: Got electron container, size = " << elfeat.cptr()->size());
906 for(
const auto eg : *elCont){
912 ATH_MSG_INFO(
" REGTEST: problems with egamma pointer" );
913 return StatusCode::SUCCESS;
916 if (eg->caloCluster()) {
917 ATH_MSG_INFO(
" REGTEST: egamma cluster transverse energy: " << eg->caloCluster()->et() );
918 ATH_MSG_INFO(
" REGTEST: egamma cluster eta: " << eg->caloCluster()->eta() );
919 ATH_MSG_INFO(
" REGTEST: egamma cluster phi: " << eg->caloCluster()->phi() );
920 double tmpeta = -999.;
921 double tmpphi = -999.;
924 ATH_MSG_INFO(
" REGTEST: egamma cluster calo-frame coords. etaCalo = " << tmpeta);
925 ATH_MSG_INFO(
" REGTEST: egamma cluster calo-frame coords. phiCalo = " << tmpphi);
927 ATH_MSG_INFO(
" REGTEST: problems with egamma cluster pointer" );
930 if(eg->trackParticle()){
931 ATH_MSG_INFO(
" REGTEST: pt= " << eg->trackParticle()->pt());
932 ATH_MSG_INFO(
" REGTEST: charge= " << eg->trackParticle()->charge());
933 ATH_MSG_INFO(
" REGTEST: E/p= " << eg->caloCluster()->et() / eg->trackParticle()->pt() );
935 ATH_MSG_INFO(
" REGTEST: Delta eta 1st sampling= " << val_float);
937 ATH_MSG_INFO(
" REGTEST: Delta phi 2nd sampling= " << val_float);
939 ATH_MSG_INFO(
" REGTEST: no electron eg->trackParticle() pointer");
944 msg(MSG::INFO) <<
"REGTEST ==========END of Electron EDM/Navigation check ===========" <<
endmsg;
945 return StatusCode::SUCCESS;
949 msg(MSG::INFO) <<
"REGTEST ==========START of Photon EDM/Navigation check for chain " << trigItem <<
" ===========" <<
endmsg;
955 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::PhotonContainer> > = " << vec_ph.size());
957 for(
const auto& phfeat : vec_ph){
958 ATH_MSG_INFO(
"REGTEST: Got photon container, size = " << phfeat.cptr()->size());
961 for(
const auto eg : *phCont){
967 ATH_MSG_INFO(
" REGTEST: problems with egamma pointer" );
968 return StatusCode::SUCCESS;
971 if (eg->caloCluster()) {
972 ATH_MSG_INFO(
" REGTEST: egamma cluster transverse energy: " << eg->caloCluster()->et() );
973 ATH_MSG_INFO(
" REGTEST: egamma cluster eta: " << eg->caloCluster()->eta() );
974 ATH_MSG_INFO(
" REGTEST: egamma cluster phi: " << eg->caloCluster()->phi() );
975 double tmpeta = -999.;
976 double tmpphi = -999.;
979 ATH_MSG_INFO(
" REGTEST: egamma cluster calo-frame coords. etaCalo = " << tmpeta);
980 ATH_MSG_INFO(
" REGTEST: egamma cluster calo-frame coords. phiCalo = " << tmpphi);
982 ATH_MSG_INFO(
" REGTEST: problems with egamma cluster pointer" );
987 msg(MSG::INFO) <<
"REGTEST ==========END of Photon EDM/Navigation check ===========" <<
endmsg;
988 return StatusCode::SUCCESS;
992 msg(MSG::INFO) <<
"REGTEST ==========START of MinBias EDM/Navigation check for chain " << trigItem <<
" ===========" <<
endmsg;
1003 msg(MSG::INFO) <<
"REGTEST ==========END of MinBias EDM/Navigation check ===========" <<
endmsg;
1004 return StatusCode::SUCCESS;
1010 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::TrigSpacePointCounts> > = " << vec_sp.size());
1013 auto fun = [&sum](
const std::vector<float>&
vec){sum = 0.;
for (
const auto &i:
vec) sum += i;
return sum;};
1015 for(
const auto& spfeat : vec_sp){
1032 ATH_MSG_INFO(
" REGTEST: problems with TrigSpacePointCounts pointer" );
1041 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::TrigT2MbtsBits> > = " << vec_mbts.size());
1044 auto fun = [&sum](
const std::vector<float>&
vec){sum = 0.;
for (
const auto &i:
vec) sum += i;
return sum;};
1046 for(
const auto& mbtsfeat : vec_mbts){
1052 ATH_MSG_INFO(
" REGTEST: problems with TrigT2MBTSBits pointer" );
1061 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::TrigVertexCounts> > = " << vec_v.size());
1063 auto funu = [](
const std::vector<uint>&
vec){
uint sum = 0;
for (
const auto &i:
vec) sum += i;
return sum;};
1064 auto funf = [](
const std::vector<float>&
vec){
float sum = 0.;
for (
const auto &i:
vec) sum += i;
return sum;};
1066 for(
const auto& vfeat : vec_v){
1072 ATH_MSG_INFO(
" REGTEST: problems with TrigVertexCounts pointer" );
1081 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::TrigTrackCounts> > = " << vec_t.size());
1084 auto fun = [&sum](
const std::vector<float>&
vec){sum = 0.;
for (
const auto &i:
vec) sum += i;
return sum;};
1086 for(
const auto& tfeat : vec_t){
1102 ATH_MSG_INFO(
" REGTEST: problems with TrigTrackCounts pointer" );
1111 ATH_MSG_INFO(
"REGTEST =====For chain " << trigItem <<
"=====");
1117 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::JetContainer> > = " << vec_jet.size());
1118 for(
const auto& jetfeat : vec_jet){
1121 int jetContsize = jetCont->
size();
1122 ATH_MSG_INFO(
"REGTEST Got jet container, size: " << jetContsize);
1125 for(
const auto thisjet : *jetCont){
1140 ATH_MSG_INFO(
"REGTEST algorithm (kt: 0, cam: 1, antikt: 2, ...): " << thisjet->getAlgorithmType() );
1141 ATH_MSG_INFO(
"REGTEST size parameter: " << thisjet->getSizeParameter() );
1142 ATH_MSG_INFO(
"REGTEST input (LCTopo: 0, EMTopo: 1, ...): " << thisjet->getInputType() );
1143 ATH_MSG_INFO(
"REGTEST constituents signal state (uncalibrated: 0, calibrated: 1): " << thisjet->getConstituentsSignalState() );
1144 ATH_MSG_INFO(
"REGTEST number of constituents: " << thisjet->numConstituents() );
1148 return StatusCode::FAILURE;
1151 if (jetContsize == i)
ATH_MSG_INFO(
"REGTEST size of jet container == number of displayed jets: " << (jetContsize == i) );
1157 return StatusCode::SUCCESS;
1163 ATH_MSG_INFO(
"REGTEST =====For chain " << trigItem <<
"=====");
1169 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::TrigMissingETContainer> > = " << vec_met.size());
1170 for(
const auto& metfeat : vec_met){
1188 return StatusCode::FAILURE;
1194 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
std::vector< size_t > vec
ElementLink< xAOD::TrackParticleContainer > linkTrack(const xAOD::TrackParticle *trk)
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
ServiceHandle< StoreGateSvc > & evtStore()
const T * front() const
Access the first element in the collection as an rvalue.
size_type size() const noexcept
Returns the number of elements in the collection.
This class represents one chain of signatures, i.e.
bool isPassedThrough() const
is chain passed through ?
bool isPrescaled() const
is chain prescaled ?
bool chainPassedRaw() const
unsigned int hashId() const
const std::string & name() const
HLT chain configuration information.
static bool getLabel(unsigned int id, std::string &label)
find name from ID in the map m_IdToLabel
void checkTrigSpacePointCounts(const Trig::FeatureContainer &fc)
StatusCode checkMuonEDM(const std::string &trigItem)
std::vector< int > m_summaryChainPass
Gaudi::Property< std::vector< std::string > > m_jetItems
std::vector< std::vector< int > * > m_countSigs
std::vector< float > m_chainPrescalesCalculated
Gaudi::Property< std::vector< std::string > > m_photonItems
std::vector< int > m_countEvent
TrigDecisionChecker(const std::string &name, ISvcLocator *pSvcLocator)
std Gaudi Algorithm constructor
StatusCode checkPhotonEDM(const std::string &trigItem)
StatusCode checkEDM(const std::string &trigItem)
StatusCode initialize()
std Gaudi initialize method
Gaudi::Property< std::vector< std::string > > m_muonItems
Muon triggers to test output for.
std::vector< float > m_chain_passthrough
StatusCode checkMetEDM(const std::string &trigItem)
StatusCode checkMinBiasEDM(const std::string &trigItem)
Gaudi::Property< std::vector< std::string > > m_minBiasItems
StatusCode checkBphysEDM(const std::string &trigItem)
Bphysics EDM checker.
Gaudi::Property< std::vector< std::string > > m_bjetItems
~TrigDecisionChecker()
std deconstructor
std::vector< int > m_summaryChainPassPhys
Gaudi::Property< std::vector< std::string > > m_countSigNames
void checkTrigTrackCounts(const Trig::FeatureContainer &fc)
std::vector< int > m_lower_chain_accept
Gaudi::Property< std::vector< std::string > > m_bphysItems
std::vector< int > m_summaryPassRaw
Gaudi::Property< std::vector< std::string > > m_metItems
std::map< std::string, std::string > m_lowerChainMap
Gaudi::Property< std::string > m_printoutFileName
StatusCode checkBjetEDM(const std::string &trigItem)
std::vector< int > m_runCountSigs
std::vector< int > m_summaryPassPhys
StatusCode checkElectronEDM(const std::string &trigItem)
StatusCode execute(const EventContext &ctx)
std Gaudi execute method -> use TrigDecisionTool to 'look' at the trigger data
Gaudi::Property< int > m_monitoringBlockSize
Gaudi::Property< std::vector< std::string > > m_TauItems
std::string m_eventInfoName
std::vector< std::string > m_summary
StatusCode checkTauEDM(const std::string &trigItem)
Gaudi::Property< bool > m_checkBits
ToolHandle< Trig::TrigDecisionTool > m_trigDec
interface to use the trigger data: TriggerTool
Gaudi::Property< bool > m_eventDecisionPrintout
std::vector< float > m_chain_passthrough_calculated
std::vector< int > m_summaryChainPS
StatusCode checkJetEDM(const std::string &trigItem)
void checkTrigVertexCounts(const Trig::FeatureContainer &fc)
Gaudi::Property< std::vector< std::string > > m_electronItems
Bphysics chains to test.
std::vector< float > m_chainPrescales
void checkTrigT2MBTSBits(const Trig::FeatureContainer &fc)
std::map< std::string, int > m_L1Summary
std::vector< int > m_summaryChainPassRaw
StatusCode finalize()
std Gaudi finalize method
std::vector< int > m_summaryPass
std::vector< int > m_summaryChainPT
unsigned int size() const
gets size of the bits array
is a connector between chains and object It store single combination of trigger elements.
std::vector< Trig::Feature< T > > get(const std::string &label="", unsigned int condition=TrigDefs::Physics, const std::string &teName="") const
Method used to get objects.
const std::vector< Trig::Feature< T > > get(const std::string &label="", unsigned int condition=TrigDefs::Physics, const std::string &teName="") const
returns flattened vector of Features of given type This method is in fact sullied by 3 arguments.
const std::vector< Trig::Combination > & getCombinations() const
gives back reference to combinations collected through append
@ ETACALOFRAME
Eta in the calo frame (for egamma).
@ PHICALOFRAME
Phi in the calo frame (for egamma).
uint32_t lumiBlock() const
The current event's luminosity block number.
float averageInteractionsPerCrossing() const
Average interactions per crossing for all BCIDs - for out-of-time pile-up.
float actualInteractionsPerCrossing() const
Average interactions per crossing for the current BCID - for in-time pile-up.
uint32_t runNumber() const
The current event's run number.
uint64_t eventNumber() const
The current event's event number.
iterator begin() const
iterator on the first constituent
iterator end() const
iterator after the last constituent
JetConstituentVector getConstituents() const
Return a vector of consituents. The object behaves like vector<const IParticle*>. See JetConstituentV...
float ex() const
Get the x component of the missing energy.
float sumE() const
Get the sum of the E of the missing energy.
unsigned int getNumberOfComponents() const
Get the number of components.
float sumEt() const
Get the sum of the ET of the missing energy.
float ez() const
Get the z component of the missing energy.
float ey() const
Get the y component of the missing energy.
uint32_t size() const
The size of the target container.
bool isPassing(const OBJ *obj, const CONT *container) const
Check if an element of a container is passing/failing.
unsigned int sctSpEndcapA() const
float pixelClusSizeMin() const
unsigned int pixelClusTotBins() const
unsigned int sctSpBarrel() const
unsigned int pixelClusSizeBins() const
const std::vector< float > & contentsPixelClusEndcapC() const
getters
const std::vector< float > & contentsPixelClusEndcapA() const
unsigned int sctSpEndcapC() const
float pixelClusSizeMax() const
float pixelClusTotMax() const
float pixelClusTotMin() const
const std::vector< float > & contentsPixelClusBarrel() const
const std::vector< float > & triggerEnergies() const
Return the trigger energies of each counter.
const std::vector< float > & triggerTimes() const
Return the relative times of the triggers.
const std::vector< float > & eta_phi() const
unsigned int etaBins() const
const std::vector< float > & z0_pt() const
getters
unsigned int z0Bins() const
unsigned int ptBins() const
const std::vector< float > & vtxTrkPtSqSum() const
const std::vector< unsigned int > & vtxNtrks() const
getters
int count(std::string s, const std::string ®x)
count how many occurances of a regx are in a string
std::string label(const std::string &format, int i)
static const unsigned int allowResurrectedDecision
static const unsigned int requireDecision
static const unsigned int alsoDeactivateTEs
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
@ deltaEta1
difference between the cluster eta (first sampling) and the eta of the track extrapolated to the firs...
Jet_v1 Jet
Definition of the current "jet version".
PhotonContainer_v1 PhotonContainer
Definition of the current "photon container version".
BTaggingContainer_v1 BTaggingContainer
Definition of the current "BTagging container version".
TrigMissingETContainer_v1 TrigMissingETContainer
DataVector of TrigMissingET - the current version.
ElectronContainer_v1 ElectronContainer
Definition of the current "electron container version".
TrigT2MbtsBits_v1 TrigT2MbtsBits
EventInfo_v1 EventInfo
Definition of the latest event info version.
TrigTrackCounts_v1 TrigTrackCounts
L2CombinedMuonContainer_v1 L2CombinedMuonContainer
Define the latest version of the muon CB container.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
TrigPassBits_v1 TrigPassBits
Define the latest version of the trigger pass bits class.
L2StandAloneMuonContainer_v2 L2StandAloneMuonContainer
Define the latest version of the muon SA container.
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
TrigMissingET_v1 TrigMissingET
Define the most recent version of the TrigMissingET class.
TrigVertexCounts_v1 TrigVertexCounts
TrigSpacePointCounts_v1 TrigSpacePointCounts
JetContainer_v1 JetContainer
Definition of the current "jet container version".
TauJetContainer_v3 TauJetContainer
Definition of the current "taujet container version".
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".
TrigBphysContainer_v1 TrigBphysContainer
@ numberOfNextToInnermostPixelLayerHits
these are the hits in the 1st pixel barrel layer
@ numberOfSCTHits
number of hits in SCT [unit8_t].
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
static const std::string & typeName()