41 Gaudi::svcLocator()->service(
"MessageSvc",
msgSvc );
42 MsgStream log(
msgSvc,
"MdcCalEvent" );
43 log << MSG::INFO <<
"MdcCalEvent::setRecEvent" << endmsg;
45 IDataProviderSvc* eventSvc = NULL;
46 Gaudi::svcLocator()->service(
"EventDataSvc", eventSvc );
49 SmartDataPtr<MdcDigiCol> mdcDigiCol( eventSvc,
"/Event/Digi/MdcDigiCol" );
50 if ( !mdcDigiCol ) { log << MSG::FATAL <<
"Could not find event" << endmsg; }
52 MdcDigiCol::iterator
iter = mdcDigiCol->begin();
54 for ( ;
iter != mdcDigiCol->end();
iter++ )
57 unsigned fgOverFlow = ( aDigi )->getOverflow();
58 if ( ( ( fgOverFlow & 3 ) != 0 ) || ( ( fgOverFlow & 12 ) != 0 ) ||
66 SmartDataPtr<RecEsTimeCol> aevtimeCol( eventSvc,
"/Event/Recon/RecEsTimeCol" );
67 if ( ( !aevtimeCol ) || ( aevtimeCol->size() == 0 ) )
74 RecEsTimeCol::iterator iter_evt = aevtimeCol->begin();
75 for ( ; iter_evt != aevtimeCol->end(); iter_evt++ )
77 m_tes = ( *iter_evt )->getTest();
78 m_esFlag = ( *iter_evt )->getStat();
84 for (
int iEs = 0; iEs < m_param.nEsFlag; iEs++ )
86 if ( m_esFlag == m_param.esFlag[iEs] )
93 if ( -1 == m_esFlag ) { m_esCutFg =
false; }
96 if ( !m_param.esCut ) m_esCutFg =
true;
97 else if ( flagTes && ( m_tes > m_param.tesMin ) && ( m_tes < m_param.tesMax ) )
101 SmartDataPtr<RecMdcTrackCol> newtrkCol( eventSvc,
"/Event/Recon/RecMdcTrackCol" );
104 log << MSG::ERROR <<
"Could not find RecMdcTrackCol" << endmsg;
105 return ( StatusCode::FAILURE );
110 RecMdcTrackCol::iterator it_trk = newtrkCol->begin();
111 for ( ; it_trk != newtrkCol->end(); it_trk++ )
117 m_rectrk.push_back( rectrk );
123 return StatusCode::SUCCESS;
128 Gaudi::svcLocator()->service(
"MessageSvc",
msgSvc );
129 MsgStream log(
msgSvc,
"MdcCalEvent" );
130 log << MSG::INFO <<
"MdcCalEvent::setKalEvent" << endmsg;
132 IDataProviderSvc* eventSvc = NULL;
133 Gaudi::svcLocator()->service(
"EventDataSvc", eventSvc );
136 SmartDataPtr<MdcDigiCol> mdcDigiCol( eventSvc,
"/Event/Digi/MdcDigiCol" );
137 if ( !mdcDigiCol ) { log << MSG::FATAL <<
"Could not find event" << endmsg; }
139 MdcDigiCol::iterator
iter = mdcDigiCol->begin();
141 for ( ;
iter != mdcDigiCol->end();
iter++ )
144 unsigned fgOverFlow = ( aDigi )->getOverflow();
145 if ( ( ( fgOverFlow & 3 ) != 0 ) || ( ( fgOverFlow & 12 ) != 0 ) ||
153 SmartDataPtr<RecEsTimeCol> aevtimeCol( eventSvc,
"/Event/Recon/RecEsTimeCol" );
154 if ( ( !aevtimeCol ) || ( aevtimeCol->size() == 0 ) )
161 RecEsTimeCol::iterator iter_evt = aevtimeCol->begin();
162 for ( ; iter_evt != aevtimeCol->end(); iter_evt++ )
164 m_tes = ( *iter_evt )->getTest();
165 m_esFlag = ( *iter_evt )->getStat();
170 bool flagTes =
false;
171 for (
int iEs = 0; iEs < m_param.nEsFlag; iEs++ )
173 if ( m_esFlag == m_param.esFlag[iEs] )
180 if ( flagTes && ( m_tes > m_param.tesMin ) && ( m_tes < m_param.tesMax ) ) m_esCutFg =
true;
182 SmartDataPtr<RecMdcKalTrackCol> kaltrkCol( eventSvc,
"/Event/Recon/RecMdcKalTrackCol" );
185 log << MSG::FATAL <<
"Could not find RecMdcKalTrackCol" << endmsg;
186 return StatusCode::FAILURE;
191 RecMdcKalTrackCol::iterator iter_trk = kaltrkCol->begin();
192 for ( ; iter_trk != kaltrkCol->end(); iter_trk++ )
198 m_rectrk.push_back( rectrk );
202 log << MSG::INFO <<
"KalTrack ntrk = " << i << endmsg;
204 return StatusCode::SUCCESS;