24 MsgStream log(
msgSvc(), name() );
25 log << MSG::INFO <<
"in initialize()" << endmsg;
28 StatusCode status = StatusCode::SUCCESS;
29 NTuplePtr nt1(
ntupleSvc(),
"FILE1/EventFilter" );
30 if ( nt1 ) m_tuple = nt1;
34 ntupleSvc()->book(
"FILE1/EventFilter", CLID_ColumnWiseTuple,
"EventFilter N-Tuple" );
37 status = m_tuple->addItem(
"type", m_type );
38 status = m_tuple->addItem(
"alg", m_alg );
39 status = m_tuple->addItem(
"endEE", m_endEE );
40 status = m_tuple->addItem(
"version", m_version );
41 status = m_tuple->addItem(
"etot", m_etot );
42 status = m_tuple->addItem(
"nMDCdata", m_nmdc0 );
43 status = m_tuple->addItem(
"nTOFdata", m_ntof0 );
44 status = m_tuple->addItem(
"nEMCdata", m_nemc0 );
45 status = m_tuple->addItem(
"nMUCdata", m_nmuc0 );
46 status = m_tuple->addItem(
"nCONdata", m_ncon0 );
51 status = m_tuple->addItem(
"nCONfill", m_ncon, 0, 100 );
52 status = m_tuple->addIndexedItem(
"MDCdata", m_nmdc, m_mdcData );
53 status = m_tuple->addIndexedItem(
"TOFdata", m_ntof, m_tofData );
54 status = m_tuple->addIndexedItem(
"EMCdata", m_nemc, m_emcData );
55 status = m_tuple->addIndexedItem(
"MUCdata", m_nmuc, m_mucData );
56 status = m_tuple->addIndexedItem(
"CONdata", m_ncon, m_conData );
59 log << MSG::ERROR <<
" Cannot add item into N-tuple" << endmsg;
65 log << MSG::ERROR <<
" Cannot book N-tuple:" << long( m_tuple ) << endmsg;
66 return StatusCode::FAILURE;
70 return StatusCode::SUCCESS;
75 MsgStream log(
msgSvc(), name() );
76 log << MSG::INFO <<
"in execute()" << endmsg;
92 SmartDataPtr<HltInf> hlt( eventSvc(),
"/Event/Hlt/HltInf" );
96 log << MSG::WARNING <<
"Could not find Event HltInf (try DstHltInf now)" << endmsg;
97 SmartDataPtr<DstHltInf> hltDst( eventSvc(),
"/Event/Hlt/DstHltInf" );
100 log << MSG::FATAL <<
"Could not find Event DstHltInf too ( please re-generate data)"
102 return ( StatusCode::FAILURE );
111 uint32_t
type = hlt->getEventType();
112 for (
int i = 0; i < 32; i++ )
114 if ( ( 1 << i ) &
type ) m_type = i;
116 m_alg = hlt->getAlgProcess();
117 m_endEE = hlt->getCriteriaTable();
118 m_version = hlt->getVersion();
119 m_etot = hlt->getTotalEnergy();
120 m_nmdc0 = hlt->getNMDC();
121 m_ntof0 = hlt->getNTOF();
122 m_nemc0 = hlt->getNEMC();
123 m_nmuc0 = hlt->getNMUC();
124 m_ncon0 = hlt->getNCON();
132 vector<uint32_t>::iterator it;
134 vector<uint32_t> mdcData = hlt->getDataVec(
HltID::MDC );
135 it = mdcData.begin();
136 for ( ; it != mdcData.end(); it++, m_nmdc++ )
138 if ( m_nmdc > 1 ) m_mdcData[m_nmdc] = *( (
float*)&( *it ) );
139 else m_mdcData[m_nmdc] = *it;
142 vector<uint32_t> tofData = hlt->getDataVec(
HltID::TOF );
143 it = tofData.begin();
144 for ( ; it != tofData.end(); it++, m_ntof++ )
146 if ( m_ntof > 0 ) m_tofData[m_ntof] = *( (
float*)&( *it ) );
147 else m_tofData[m_ntof] = *it;
150 vector<uint32_t> emcData = hlt->getDataVec(
HltID::EMC );
151 it = emcData.begin();
152 for ( ; it != emcData.end(); it++, m_nemc++ )
154 if ( !( m_nemc == 0 || m_nemc == 7 || m_nemc == 8 ) )
155 m_emcData[m_nemc] = *( (
float*)&( *it ) );
156 else m_emcData[m_nemc] = *it;
159 vector<uint32_t> mucData = hlt->getDataVec(
HltID::MUC );
160 it = mucData.begin();
161 for ( ; it != mucData.end(); it++, m_nmuc++ )
163 if ( m_nmuc > 1 ) m_mucData[m_nmuc] = *( (
float*)&( *it ) );
164 else m_mucData[m_nmuc] = *it;
167 vector<uint32_t> conData = hlt->getDataVec(
HltID::CON );
168 it = conData.begin();
169 for ( ; it != conData.end(); it++, m_ncon++ )
171 m_conData[m_ncon] = *it;
177 return StatusCode::SUCCESS;