45 MsgStream log(
msgSvc(), name() );
47 uint32_t run = 0,
event = 0;
48 SmartDataPtr<Event::EventHeader> eventHeader( eventSvc(),
"/Event/EventHeader" );
51 log << MSG::FATAL <<
"Could not find Event Header" << endmsg;
52 return ( StatusCode::FAILURE );
54 run = eventHeader->runNumber();
55 event = eventHeader->eventNumber();
56 log << MSG::INFO <<
"execute() RunNo=" << run <<
", EventNo=" <<
event << endmsg;
61 setFilterPassed(
false );
62 m_type =
"RefuseByEF";
66 SmartDataPtr<TrigData> trg( eventSvc(),
"/Event/Trig/TrigData" );
67 if ( !trg ) { log << MSG::WARNING <<
"Could not find Event TrigData" << endmsg; }
71 for (
int i = 0; i < 16; i++ )
73 if ( trg->getTrigChannel( i ) ) pass =
true;
78 m_type =
"RefuseByTrg";
79 return ( StatusCode::SUCCESS );
85 SmartDataPtr<HltInf> hlt( eventSvc(),
"/Event/Hlt/HltInf" );
88 log << MSG::WARNING <<
"Could not find Event HltInf (try DstHltInf now)" << endmsg;
89 SmartDataPtr<DstHltInf> hltDst( eventSvc(),
"/Event/Hlt/DstHltInf" );
92 log << MSG::FATAL <<
"Could not find Event DstHltInf too ( please re-generate data)"
94 return ( StatusCode::FAILURE );
97 else { aHlt = hltDst; }
101 std::vector<std::string>::iterator it = m_chn.begin();
103 if ( aHlt->
getEventType() == 0 ) { log << MSG::WARNING << m_type << endmsg; }
104 if ( log.level() <= MSG::VERBOSE ) aHlt->
print();
106 for ( ; it != m_chn.end(); it++ )
108 if ( aHlt->
isType( *it ) )
111 setFilterPassed(
true );
113 log << MSG::INFO <<
"this event is passed" << endmsg;
117 log << MSG::INFO <<
"this event is a " << m_type << endmsg;
119 if ( m_example && !hlt )
121 cout <<
"****** Example for getting event filter informatiom ******" << endl;
122 cout <<
"****** Please refer to the code in EventFilter.cxx ******" << endl;
126 return ( StatusCode::SUCCESS );