122 ATH_MSG_INFO(
"Monitoring number of events passing these chains (blocks of "
133 return StatusCode::SUCCESS;
141 msg(MSG::INFO) <<
"==========================================================" <<
endmsg;
142 msg(MSG::INFO) <<
"TrigDecisionTool summary:" <<
endmsg;
143 msg(MSG::INFO) <<
"==========================================================" <<
endmsg;
146 std::map<std::string,int>::iterator itL1,itL1End=
m_L1Summary.end();
147 for ( itL1=
m_L1Summary.begin(); itL1!=itL1End; ++itL1 ) {
148 msg(MSG::INFO) <<
"REGTEST item " << (*itL1).first <<
" accepted events=" << (*itL1).second <<
endmsg;
152 for (
unsigned int i=0; i<
m_summary.size(); ++i) {
159 ATH_MSG_INFO(
"TrigDecisionTool tests: monitored chain efficiency");
160 ATH_MSG_INFO(
"==================================================");
161 msg(MSG::INFO) <<
"REGTEST Nr.events: ";
168 for (
unsigned int j=0; j<(
m_countSigs[i])->size();++j) {
176 ATH_MSG_INFO(
"TrigDecisionTool tests: chain prescale/passthrough ");
177 ATH_MSG_INFO(
"==================================================");
179 msg(MSG::INFO) <<
"REGTEST Chain (passed raw) PS(conf) PS(counts) PT(conf) PT(counts) (Lower chain)";
180 for (
unsigned int i=0; i<
m_summary.size(); ++i) {
190 <<
" (lower chain passed no events)" <<
endmsg;
198 ATH_MSG_INFO(
"==================================================");
211 printoutFile << std::setiosflags(std::ios::left) << std::setw(25) <<
"* L1 item"
212 << std::setw(15) <<
" #Passed " << std::endl;
213 std::map<std::string,int>::iterator l1,l1End=
m_L1Summary.end();
215 printoutFile << std::setiosflags(std::ios::left) << (*l1).first
216 << std::setw(10) << (*l1).second << std::endl;
219 printoutFile << std::setiosflags(std::ios::left) << std::setw(25) <<
"* Chain name"
220 << std::setw(15) <<
" #Passed Raw "
221 << std::setw(15) <<
" #passed "
222 << std::setw(15) <<
" #Physics Passed "<< std::endl;
223 for (
unsigned int i=0; i<
m_summary.size(); ++i) {
224 printoutFile << std::setiosflags(std::ios::left) << std::setw(25) <<
m_summary[i]
234 printoutFile.close();
238 ATH_MSG_INFO(
"==================================================");
240 for (
unsigned int i=0; i<
m_countSigs.size(); ++i) {
245 return StatusCode::SUCCESS;
261 if (
sc.isFailure() || !eventInfo )
264 sc = StatusCode::SUCCESS;
275 msg(MSG::INFO) <<
"mu value " << mu <<
" average mu value " << muave <<
" event number " <<
m_eventNumber <<
endmsg;
283 if (
sc.isFailure() ) {
284 msg(MSG::ERROR) <<
"Could not finish checkTauEDM test for chain " <<tauItem <<
endmsg;
289 ATH_MSG_ERROR(
"Could not finish checkTauJetEDM test for chain " << tauItem);
295 if (
sc.isFailure() ) {
296 msg(MSG::ERROR) <<
"Could not finish checkMuonEDM test for chain " << muonItem <<
endmsg;
301 ATH_MSG_ERROR(
"Could not finish checkMuonEDM test for chain " << muonItem);
303 ATH_MSG_ERROR(
"Could not finish checkMuonEDM test for chain " << muonItem);
305 ATH_MSG_ERROR(
"Could not finish checkMuonEDM test for chain " << muonItem);
311 if (
sc.isFailure() ) {
312 msg(MSG::ERROR) <<
"Could not finish checkBjetEDM test for chain " << bjetItem <<
endmsg;
317 ATH_MSG_ERROR(
"Could not finish checkBjetEDM test for chain " << bjetItem);
323 if (
sc.isFailure() ) {
324 msg(MSG::ERROR) <<
"Could not finish checkBphysEDM test for chain " << bphysItem <<
endmsg;
329 ATH_MSG_ERROR(
"Could not finish checkJetEDM test for chain " << bphysItem);
336 if (
sc.isFailure() ) {
337 msg(MSG::ERROR) <<
"Could not finish checkElectronEDM test for chain " << electronItem <<
endmsg;
341 ATH_MSG_ERROR(
"Could not finish checkElectronEDM test for chain " << electronItem);
343 ATH_MSG_ERROR(
"Could not finish checkElectronEDM test for chain " << electronItem);
345 ATH_MSG_ERROR(
"Could not finish checkElectronEDM test for chain " << electronItem);
351 if (
sc.isFailure() ) {
352 ATH_MSG_ERROR(
"Could not finish checkPhotonEDM test for chain " << photonItem);
356 ATH_MSG_ERROR(
"Could not finish checkPhotonEDM test for chain " << photonItem);
358 ATH_MSG_ERROR(
"Could not finish checkPhotonEDM test for chain " << photonItem);
364 if (
sc.isFailure() ) {
365 msg(MSG::ERROR) <<
"Could not finish checkMinBiasEDM test for chain " << minBiasItem <<
endmsg;
370 ATH_MSG_INFO(
"REGTEST ==========START of Jet EDM/Navigation check===========");
373 if (
sc.isFailure() ) {
374 ATH_MSG_INFO(
"REGTEST Could not finish checkJetEDM test for chain " << jetItem);
379 ATH_MSG_ERROR(
"Could not finish checkJetEDM test for chain " << jetItem);
382 ATH_MSG_INFO(
"REGTEST ==========END of Jet EDM/Navigation check===========");
384 ATH_MSG_INFO(
"REGTEST ==========START of Met EDM/Navigation check===========");
387 if (
sc.isFailure() ) {
388 ATH_MSG_INFO(
"REGTEST Could not finish checkMetEDM test for chain " << metItem);
392 ATH_MSG_INFO(
"REGTEST =========END of Met EDM/Navigation check============");
395 msg(MSG::INFO) <<
"TrigDecisionChecker::execute" <<
endmsg;
405 std::vector<std::string> allItems =
m_trigDec->getListOfTriggers(
"L1_.*");
406 if (!allItems.empty()) {
409 for (std::vector<std::string>::const_iterator itemIt = allItems.begin();
410 itemIt != allItems.end(); ++itemIt) {
414 if (!aItem)
continue;
415 if (aItem->
name()==
"")
continue;
420 std::string item_name = aItem->
name();
438 std::vector<std::string> confChains =
m_trigDec->getListOfTriggers(
"L2_.*, EF_.*, HLT_.*");
439 msg(MSG::INFO) <<
"Configuring for " << confChains.size() <<
" HLT chain counters" <<
endmsg;
459 std::map<std::string,float> t_pt_map;
460 std::map<std::string,float> t_ps_map;
462 for(std::vector<std::string>::iterator chIter = confChains.begin(); chIter != confChains.end(); ++chIter) {
464 std::string name = *chIter;
466 t_pt_map[name] = ch->pass_through();
467 t_ps_map[name] = ch->prescale();
470 <<
"; prescale=" << ch->prescale()
471 <<
"; passthrough=" << ch->pass_through()
472 <<
"; lower chain=" << ch->lower_chain_name());
479 for (
unsigned int k=0; k<
m_summary.size(); ++k) {
481 std::map<std::string,float>::iterator psIt=t_ps_map.find(
m_summary[k]);
483 if (psIt!=t_ps_map.end()) ps = (*psIt).second;
486 std::map<std::string,float>::iterator ptIt=t_pt_map.find(
m_summary[k]);
488 if (ptIt!=t_pt_map.end()) pt = (*ptIt).second;
495 for (
unsigned int i=0; i<
m_summary.size(); ++i){
499 const HLT::Chain* aChain =
m_trigDec->ExperimentalAndExpertMethods().getChainDetails(name);
540 if ( !
m_trigDec->getListOfTriggers((*lcIt).second).empty() &&
m_trigDec->isPassed((*lcIt).second) ) {
546 msg(MSG::INFO) <<
"chain " << name <<
" = "
574 return StatusCode::SUCCESS;
582 const auto vec = fc.get<T>();
584 std::string
label=
"";
585 for(
const auto& feat:vecbits){
586 const auto *xbits=feat.cptr();
588 const auto *cont=(
m_trigDec->ancestor<T>(feat.te())).cptr();
591 <<
" size " << cont->size());
593 if(cont->size()!=xbits->size()) {
598 for(
const auto &ptr:*cont){
599 if(xbits->isPassing(ptr,cont))
603 <<
" size " << cont->size() <<
" xbits " << xbits->size() <<
" selected " << npassed);
609 for(
const auto& feat:
vec){
610 const auto *cont=feat.cptr();
626 const size_t bitlen = ( (cont->size() - 1)/32 ) + 1;
629 <<
" bits " << bits->
size() <<
" Expect vector of bits " << bitlen);
632 for(
const auto &ptr:*cont){
637 <<
" size " << cont->size() <<
" xbits " << xbits->
size() <<
" selected " << npassed);
641 return StatusCode::SUCCESS;
646 ATH_MSG_INFO(
"REGTEST ==========START of bjet EDM/Navigation check for chain " << trigItem <<
" ===========");
654 const std::vector< Trig::Combination >& bjetCombs = fc.
getCombinations();
655 ATH_MSG_INFO(
"REGTEST - RETRIEVED " << bjetCombs.size() <<
" COMBINATIONS FOR " << trigItem);
658 std::vector< Trig::Combination >::const_iterator bjetComb;
659 for( bjetComb = bjetCombs.begin(); bjetComb != bjetCombs.end(); ++bjetComb ) {
662 ATH_MSG_INFO(
"REGTEST - ------------ NEW COMBINATION ------------");
665 const std::vector< Trig::Feature<xAOD::VertexContainer> > onlinepvs_histo = comb.
get<
xAOD::VertexContainer>(
"EFHistoPrmVtx");
666 ATH_MSG_INFO(
"REGTEST - RETRIEVED PV (HISTO) - size: " << onlinepvs_histo.size());
667 if(onlinepvs_histo.size()) {
670 if(onlinepv_histo->
size()) {
671 ATH_MSG_INFO(
"REGTEST - - z[0]: " << (*(onlinepv_histo))[0]->
z());
676 const std::vector< Trig::Feature<xAOD::VertexContainer> > onlinepvs_id = comb.
get<
xAOD::VertexContainer>(
"xPrimVx");
677 ATH_MSG_INFO(
"REGTEST - RETRIEVED PV (IDTRK) - size: " << onlinepvs_id.size());
678 if(onlinepvs_id.size()) {
681 if(onlinepv_id->
size()) {
682 ATH_MSG_INFO(
"REGTEST - - z[0]: " << (*(onlinepv_id))[0]->
z());
687 const std::vector< Trig::Feature<xAOD::JetContainer> > onlinejets_efbjet = comb.
get<
xAOD::JetContainer>(
"TrigJetRec");
688 ATH_MSG_INFO(
"REGTEST - RETRIEVED JETS (EFBJET) - size: " << onlinejets_efbjet.size());
689 if(onlinejets_efbjet.size()) {
692 for(
const auto* jet_efbjet : *onlinejet_efbjet) {
694 ATH_MSG_INFO(
"REGTEST - - eta/phi: " << jet_efbjet->eta() <<
" / " << jet_efbjet->phi());
699 const std::vector< Trig::Feature<xAOD::JetContainer> > onlinejets_split = comb.
get<
xAOD::JetContainer>(
"SplitJet");
700 ATH_MSG_INFO(
"REGTEST - RETRIEVED JETS (SPLIT) - size: " << onlinejets_split.size());
701 if(onlinejets_split.size()) {
704 for(
const auto* jet_split : *onlinejet_split) {
706 ATH_MSG_INFO(
"REGTEST - - eta/phi: " << jet_split->eta() <<
" / " << jet_split->phi());
711 const std::vector< Trig::Feature<xAOD::JetContainer> > onlinejets_super = comb.
get<
xAOD::JetContainer>(
"SuperRoi");
712 ATH_MSG_INFO(
"REGTEST - RETRIEVED JETS (SUPER) - size: " << onlinejets_super.size());
713 if(onlinejets_super.size()) {
716 for(
const auto* jet_super : *onlinejet_super) {
718 ATH_MSG_INFO(
"REGTEST - - eta/phi: " << jet_super->eta() <<
" / " << jet_super->phi());
723 const std::vector< Trig::Feature<xAOD::TrackParticleContainer> > onlinetracks_prmvtx = comb.
get<
xAOD::TrackParticleContainer>(
"InDetTrigTrackingxAODCnv_BjetPrmVtx_FTF");
724 ATH_MSG_INFO(
"REGTEST - RETRIEVED TRACKS (BJETPRMVTX_FTF) - size: " << onlinetracks_prmvtx.size());
725 if(onlinetracks_prmvtx.size()) {
728 for(
const auto* trk : *onlinetrack_prmvtx) {
730 uint8_t nInn=0, nNext=0, nPix=0, nSCT=0;
735 ATH_MSG_INFO(
"REGTEST - - inn/next/pix/sct: " << (
int)nInn <<
" / " << (
int)nNext <<
" / " << (
int)nPix <<
" / " << (
int)nSCT);
740 const std::vector< Trig::Feature<xAOD::TrackParticleContainer> > onlinetracks_bjetftf = comb.
get<
xAOD::TrackParticleContainer>(
"InDetTrigTrackingxAODCnv_Bjet_FTF");
741 ATH_MSG_INFO(
"REGTEST - RETRIEVED TRACKS (BJET_FTF) - size: " << onlinetracks_bjetftf.size());
742 if(onlinetracks_bjetftf.size()) {
745 for(
const auto* trk : *onlinetrack_bjetftf) {
747 uint8_t nInn=0, nNext=0, nPix=0, nSCT=0;
752 ATH_MSG_INFO(
"REGTEST - - inn/next/pix/sct: " << (
int)nInn <<
" / " << (
int)nNext <<
" / " << (
int)nPix <<
" / " << (
int)nSCT);
757 const std::vector< Trig::Feature<xAOD::TrackParticleContainer> > onlinetracks_bjetprec = comb.
get<
xAOD::TrackParticleContainer>(
"InDetTrigTrackingxAODCnv_Bjet_IDTrig");
758 ATH_MSG_INFO(
"REGTEST - RETRIEVED TRACKS (BJET_IDTRIG) - size: " << onlinetracks_bjetprec.size());
759 if(onlinetracks_bjetprec.size()) {
762 for(
const auto* trk : *onlinetrack_bjetprec) {
764 uint8_t nInn=0, nNext=0, nPix=0, nSCT=0;
769 ATH_MSG_INFO(
"REGTEST - - inn/next/pix/sct: " << (
int)nInn <<
" / " << (
int)nNext <<
" / " << (
int)nPix <<
" / " << (
int)nSCT);
775 ATH_MSG_INFO(
"REGTEST - RETRIEVED BJETS - size: " << onlinebjets.size());
776 if(onlinebjets.size()) {
779 for(
const auto* bjet : *onlinebjet) {
781 double wIP2D, wIP3D, wSV1, wCOMB, wMV1;
782 bjet->loglikelihoodratio(
"IP2D", wIP2D);
783 bjet->loglikelihoodratio(
"IP3D", wIP3D);
784 bjet->loglikelihoodratio(
"SV1", wSV1);
786 wMV1 = bjet->MV1_discriminant();
787 ATH_MSG_INFO(
"REGTEST - - IP2D/IP3D/SV1/IP3D+SV1/MV1: " << wIP2D <<
" / " << wIP3D <<
" / " << wSV1 <<
" / " << wCOMB <<
" / " << wMV1);
793 msg(MSG::INFO) <<
"REGTEST ==========END of bjet EDM/Navigation check for chain " << trigItem <<
" ===========" <<
endmsg;
795 return StatusCode::SUCCESS;
800 msg(MSG::INFO) <<
"REGTEST ==========START of muon EDM/Navigation check for chain " << trigItem <<
" ===========" <<
endmsg;
807 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::MuonContainer> > = " << vec_muons.size());
809 for(
const auto& mufeat : vec_muons ) {
810 ATH_MSG_INFO(
"REGTEST Got muon container, size = " << mufeat.cptr()->size());
811 for(
auto muItr : *(mufeat.cptr())) {
812 ATH_MSG_INFO(
"REGTEST MuonFeature with pt, eta, phi = " << muItr->pt() <<
", " << muItr->eta() <<
", " << muItr->phi());
817 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::L2CombinedMuonContainer> > = " << vec_L2CBmuons.size());
819 for(
const auto& l2cbmufeat : vec_L2CBmuons) {
820 ATH_MSG_INFO(
"REGTEST Got muon container, size = " << l2cbmufeat.cptr()->size());
821 for(
auto l2cbmuItr : *(l2cbmufeat.cptr())) {
822 ATH_MSG_INFO(
"REGTEST MuonFeature with pt, eta, phi = " << l2cbmuItr->pt() <<
", " << l2cbmuItr->eta() <<
", " << l2cbmuItr->phi());
827 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::L2StandAloneMuonContainer> > = " << vec_L2SAmuons.size());
829 for(
const auto& l2samufeat : vec_L2SAmuons) {
830 ATH_MSG_INFO(
"REGTEST Got muon container, size = " << l2samufeat.cptr()->size());
831 for(
auto l2samuItr : *(l2samufeat.cptr())) {
832 ATH_MSG_INFO(
"REGTEST MuonFeature with pt, eta, phi = " << l2samuItr->pt() <<
", " << l2samuItr->eta() <<
", " << l2samuItr->phi());
836 msg(MSG::INFO) <<
"REGTEST ==========END of muon EDM/Navigation check for chain " << trigItem <<
" ===========" <<
endmsg;
838 return StatusCode::SUCCESS;
842 msg(MSG::INFO)<<
"REGTEST ==========START of tau EDM/Navigation check for chain " << trigItem<<
"===========" <<
endmsg;
845 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::TauJetContainer> > = " << vec_tauHLTClust.size());
846 for(
const auto& cont_tau : vec_tauHLTClust) {
847 ATH_MSG_INFO(
"REGTEST Got Tau container, size = " << cont_tau.cptr()->size());
849 for(
auto tauItr : *(cont_tau.cptr())) {
851 msg(MSG::INFO) <<
"REGTEST "<<
" HLT tau number of tracks: "<<tauItr->nTracks()<<
endmsg;
852 msg(MSG::INFO) <<
"REGTEST "<<
" HLT tau pt : "<<tauItr->pt()<<
endmsg;
853 msg(MSG::INFO) <<
"REGTEST "<<
" HLT tau phi : "<<tauItr->phi()<<
endmsg;
854 msg(MSG::INFO) <<
"REGTEST "<<
" HLT tau eta : "<<tauItr->eta()<<
endmsg;
855 if( !tauItr->jetLink().isValid() ) {
857 return StatusCode::SUCCESS;
860 const xAOD::Jet* pJetSeed = *(tauItr->jetLink());
863 for (
int clusCount = 0; clusItr != clusItrE; ++clusItr, ++clusCount) {
864 ATH_MSG_INFO(
"REGTEST Tau Cluster " << clusCount <<
" pt = " << (*clusItr)->pt()<<
" eta = " << (*clusItr)->eta()<<
" phi = " << (*clusItr)->phi() );
866 for (
unsigned int trackNum = 0; trackNum < tauItr->nTracks(); ++trackNum) {
871 return StatusCode::SUCCESS;
875 ATH_MSG_INFO(
"REGTEST Tau linked track " << trackNum <<
" pt = " << linkTrack->
pt()<<
" eta = " << linkTrack->
eta() <<
" phi = " << linkTrack->
phi() );
881 msg(MSG::INFO) <<
"REGTEST ==========END of Tau EDM/Navigation check ===========" <<
endmsg;
882 return StatusCode::SUCCESS;
889 msg(MSG::INFO) <<
"REGTEST ==========START of Bphysics EDM/Navigation check for chain " << trigItem <<
" ===========" <<
endmsg;
896 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::TrigBphysContainer> > = " << fc_bphys.size());
898 for(
const auto& cont_bphys : fc_bphys ) {
899 ATH_MSG_INFO(
"REGTEST Got Bphysics container, size = " << cont_bphys.cptr()->size());
900 for (
auto bphys: *(cont_bphys.cptr()) ) {
901 ATH_MSG_INFO(
"REGTEST Bphysics Item mass, fitmass, secVx, nTP: "
902 << bphys->mass()*0.001 <<
" , " << bphys->fitmass() * 0.001 <<
" , "
903 << bphys->secondaryDecay() <<
" , " << bphys->nTrackParticles()
916 ATH_MSG_INFO(
"REGTEST ==========END of Bphysics EDM/Navigation check for chain " << trigItem <<
" ===========");
918 return StatusCode::SUCCESS;
927 msg(MSG::INFO) <<
"REGTEST ==========START of Electron EDM/Navigation check for chain " << trigItem <<
" ===========" <<
endmsg;
933 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::ElectronContainer> > = " << vec_el.size());
934 float val_float=-99.;
935 for(
const auto& elfeat : vec_el){
936 ATH_MSG_INFO(
"REGTEST: Got electron container, size = " << elfeat.cptr()->size());
939 for(
const auto eg : *elCont){
945 ATH_MSG_INFO(
" REGTEST: problems with egamma pointer" );
946 return StatusCode::SUCCESS;
949 if (eg->caloCluster()) {
950 ATH_MSG_INFO(
" REGTEST: egamma cluster transverse energy: " << eg->caloCluster()->et() );
951 ATH_MSG_INFO(
" REGTEST: egamma cluster eta: " << eg->caloCluster()->eta() );
952 ATH_MSG_INFO(
" REGTEST: egamma cluster phi: " << eg->caloCluster()->phi() );
953 double tmpeta = -999.;
954 double tmpphi = -999.;
957 ATH_MSG_INFO(
" REGTEST: egamma cluster calo-frame coords. etaCalo = " << tmpeta);
958 ATH_MSG_INFO(
" REGTEST: egamma cluster calo-frame coords. phiCalo = " << tmpphi);
960 ATH_MSG_INFO(
" REGTEST: problems with egamma cluster pointer" );
963 if(eg->trackParticle()){
964 ATH_MSG_INFO(
" REGTEST: pt= " << eg->trackParticle()->pt());
965 ATH_MSG_INFO(
" REGTEST: charge= " << eg->trackParticle()->charge());
966 ATH_MSG_INFO(
" REGTEST: E/p= " << eg->caloCluster()->et() / eg->trackParticle()->pt() );
968 ATH_MSG_INFO(
" REGTEST: Delta eta 1st sampling= " << val_float);
970 ATH_MSG_INFO(
" REGTEST: Delta phi 2nd sampling= " << val_float);
972 ATH_MSG_INFO(
" REGTEST: no electron eg->trackParticle() pointer");
977 msg(MSG::INFO) <<
"REGTEST ==========END of Electron EDM/Navigation check ===========" <<
endmsg;
978 return StatusCode::SUCCESS;
982 msg(MSG::INFO) <<
"REGTEST ==========START of Photon EDM/Navigation check for chain " << trigItem <<
" ===========" <<
endmsg;
988 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::PhotonContainer> > = " << vec_ph.size());
990 for(
const auto& phfeat : vec_ph){
991 ATH_MSG_INFO(
"REGTEST: Got photon container, size = " << phfeat.cptr()->size());
994 for(
const auto eg : *phCont){
1000 ATH_MSG_INFO(
" REGTEST: problems with egamma pointer" );
1001 return StatusCode::SUCCESS;
1004 if (eg->caloCluster()) {
1005 ATH_MSG_INFO(
" REGTEST: egamma cluster transverse energy: " << eg->caloCluster()->et() );
1006 ATH_MSG_INFO(
" REGTEST: egamma cluster eta: " << eg->caloCluster()->eta() );
1007 ATH_MSG_INFO(
" REGTEST: egamma cluster phi: " << eg->caloCluster()->phi() );
1008 double tmpeta = -999.;
1009 double tmpphi = -999.;
1012 ATH_MSG_INFO(
" REGTEST: egamma cluster calo-frame coords. etaCalo = " << tmpeta);
1013 ATH_MSG_INFO(
" REGTEST: egamma cluster calo-frame coords. phiCalo = " << tmpphi);
1015 ATH_MSG_INFO(
" REGTEST: problems with egamma cluster pointer" );
1020 msg(MSG::INFO) <<
"REGTEST ==========END of Photon EDM/Navigation check ===========" <<
endmsg;
1021 return StatusCode::SUCCESS;
1025 msg(MSG::INFO) <<
"REGTEST ==========START of MinBias EDM/Navigation check for chain " << trigItem <<
" ===========" <<
endmsg;
1036 msg(MSG::INFO) <<
"REGTEST ==========END of MinBias EDM/Navigation check ===========" <<
endmsg;
1037 return StatusCode::SUCCESS;
1043 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::TrigSpacePointCounts> > = " << vec_sp.size());
1046 auto fun = [&sum](
const std::vector<float>&
vec){sum = 0.;
for (
const auto &i:
vec) sum += i;
return sum;};
1048 for(
const auto& spfeat : vec_sp){
1065 ATH_MSG_INFO(
" REGTEST: problems with TrigSpacePointCounts pointer" );
1074 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::TrigT2MbtsBits> > = " << vec_mbts.size());
1077 auto fun = [&sum](
const std::vector<float>&
vec){sum = 0.;
for (
const auto &i:
vec) sum += i;
return sum;};
1079 for(
const auto& mbtsfeat : vec_mbts){
1085 ATH_MSG_INFO(
" REGTEST: problems with TrigT2MBTSBits pointer" );
1094 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::TrigVertexCounts> > = " << vec_v.size());
1096 auto funu = [](
const std::vector<uint>&
vec){
uint sum = 0;
for (
const auto &i:
vec) sum += i;
return sum;};
1097 auto funf = [](
const std::vector<float>&
vec){
float sum = 0.;
for (
const auto &i:
vec) sum += i;
return sum;};
1099 for(
const auto& vfeat : vec_v){
1105 ATH_MSG_INFO(
" REGTEST: problems with TrigVertexCounts pointer" );
1114 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::TrigTrackCounts> > = " << vec_t.size());
1117 auto fun = [&sum](
const std::vector<float>&
vec){sum = 0.;
for (
const auto &i:
vec) sum += i;
return sum;};
1119 for(
const auto& tfeat : vec_t){
1135 ATH_MSG_INFO(
" REGTEST: problems with TrigTrackCounts pointer" );
1144 ATH_MSG_INFO(
"REGTEST =====For chain " << trigItem <<
"=====");
1150 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::JetContainer> > = " << vec_jet.size());
1151 for(
const auto& jetfeat : vec_jet){
1154 int jetContsize = jetCont->
size();
1155 ATH_MSG_INFO(
"REGTEST Got jet container, size: " << jetContsize);
1158 for(
const auto thisjet : *jetCont){
1173 ATH_MSG_INFO(
"REGTEST algorithm (kt: 0, cam: 1, antikt: 2, ...): " << thisjet->getAlgorithmType() );
1174 ATH_MSG_INFO(
"REGTEST size parameter: " << thisjet->getSizeParameter() );
1175 ATH_MSG_INFO(
"REGTEST input (LCTopo: 0, EMTopo: 1, ...): " << thisjet->getInputType() );
1176 ATH_MSG_INFO(
"REGTEST constituents signal state (uncalibrated: 0, calibrated: 1): " << thisjet->getConstituentsSignalState() );
1177 ATH_MSG_INFO(
"REGTEST number of constituents: " << thisjet->numConstituents() );
1181 return StatusCode::FAILURE;
1184 if (jetContsize == i)
ATH_MSG_INFO(
"REGTEST size of jet container == number of displayed jets: " << (jetContsize == i) );
1190 return StatusCode::SUCCESS;
1196 ATH_MSG_INFO(
"REGTEST =====For chain " << trigItem <<
"=====");
1202 ATH_MSG_INFO(
"Size of vector< Trig::Feature<xAOD::TrigMissingETContainer> > = " << vec_met.size());
1203 for(
const auto& metfeat : vec_met){
1221 return StatusCode::FAILURE;
1227 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
Declaration of tau jet transient class.
Declaration of tau details container transient class.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
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)
StatusCode execute()
std Gaudi execute method -> use TrigDecisionTool to 'look' at the trigger data
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)
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...
virtual double phi() const override final
The azimuthal angle ( ) of the particle (has range to .)
virtual double pt() const override final
The transverse momentum ( ) of the particle.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
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
A crc-64 implementation, using pclmul where possible.
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()