23 Gaudi::svcLocator()->service(
"MessageSvc",
msgSvc );
24 MsgStream log(
msgSvc,
"TofRecTDS" );
25 log << MSG::INFO <<
"Initialize: TofRecTDS::RegisterNullRecTofTrack()" << endmsg;
27 IDataProviderSvc* eventSvc;
28 Gaudi::svcLocator()->service(
"EventDataSvc", eventSvc );
34 DataObject* aRecTofTrackCol;
35 eventSvc->findObject(
"/Event/Recon/RecTofTrackCol", aRecTofTrackCol );
36 if ( aRecTofTrackCol != NULL )
38 sc = eventSvc->unregisterObject(
"/Event/Recon/RecTofTrackCol" );
39 if ( sc != StatusCode::SUCCESS )
41 log << MSG::FATAL <<
"Initialize: Could not unregister RecTofTrack collection!"
43 delete recTofTrackCol;
44 return StatusCode::FAILURE;
47 delete aRecTofTrackCol;
49 sc = eventSvc->registerObject(
"/Event/Recon/RecTofTrackCol", recTofTrackCol );
50 if ( sc != StatusCode::SUCCESS )
52 log << MSG::FATAL <<
"Initialize: TofRec could not register Null Rec TOF track collection!"
54 delete recTofTrackCol;
55 return StatusCode::FAILURE;
58 return StatusCode::SUCCESS;
62 std::vector<TofTrack*>*& tofTrackVec,
bool forCalibration,
63 std::string calibData ) {
66 return StatusCode::FAILURE;
71 return StatusCode::FAILURE;
74 return StatusCode::FAILURE;
76 return StatusCode::SUCCESS;
106 Gaudi::svcLocator()->service(
"MessageSvc",
msgSvc );
107 MsgStream log(
msgSvc,
"TofRecTDS" );
108 log << MSG::INFO <<
"TofRecTDS::RegisterRecTofTrack()" << endmsg;
110 IDataProviderSvc* eventSvc;
111 Gaudi::svcLocator()->service(
"EventDataSvc", eventSvc );
115 std::vector<TofTrack*>::iterator
iter = tofTrackVec->begin();
116 for ( ;
iter < tofTrackVec->end();
iter++ )
117 { ( *iter )->convert2RecTofTrackCol( recTofTrackCol ); }
121 DataObject* aRecTofTrackCol;
122 eventSvc->findObject(
"/Event/Recon/RecTofTrackCol", aRecTofTrackCol );
123 if ( aRecTofTrackCol != NULL )
126 sc = eventSvc->unregisterObject(
"/Event/Recon/RecTofTrackCol" );
128 delete aRecTofTrackCol;
130 if ( sc != StatusCode::SUCCESS )
132 log << MSG::FATAL <<
"Could not unregister RecTofTrack collection!" << endmsg;
134 RecTofTrackCol::iterator iter_tof = recTofTrackCol->begin();
135 for ( ; iter_tof != recTofTrackCol->end(); iter_tof++ ) {
delete ( *iter_tof ); }
136 recTofTrackCol->clear();
137 delete recTofTrackCol;
139 std::vector<TofTrack*>::iterator iter_data = tofTrackVec->begin();
140 for ( ; iter_data != tofTrackVec->end(); iter_data++ ) {
delete ( *iter_data ); }
141 tofTrackVec->clear();
144 return StatusCode::FAILURE;
148 sc = eventSvc->registerObject(
"/Event/Recon/RecTofTrackCol", recTofTrackCol );
149 if ( sc != StatusCode::SUCCESS )
151 log << MSG::FATAL <<
"TofRec could not register Rec TOF track collection!" << endmsg;
152 RecTofTrackCol::iterator iter_tof = recTofTrackCol->begin();
153 for ( ; iter_tof != recTofTrackCol->end(); iter_tof++ ) {
delete ( *iter_tof ); }
154 recTofTrackCol->clear();
155 delete recTofTrackCol;
156 return StatusCode::FAILURE;
159 return StatusCode::SUCCESS;
163 std::vector<TofTrack*>*& tofTrackVec,
164 std::string m_calibData ) {
166 Gaudi::svcLocator()->service(
"MessageSvc",
msgSvc );
167 MsgStream log(
msgSvc,
"TofRecTDS" );
168 log << MSG::INFO <<
"TofRecTDS::RegisterRecBTofCalHitCol()" << endmsg;
170 IDataProviderSvc* eventSvc;
171 Gaudi::svcLocator()->service(
"EventDataSvc", eventSvc );
175 std::vector<TofTrack*>::iterator
iter = tofTrackVec->begin();
176 for ( ;
iter < tofTrackVec->end();
iter++ )
183 ( *iter )->convert2RecBTofCalHitColBarrel( runNumber, eventNumber, recBTofCalHitCol,
188 ( *iter )->convert2RecBTofCalHitColETF( runNumber, eventNumber, recBTofCalHitCol,
195 DataObject* aRecBTofCalHitCol;
196 eventSvc->findObject(
"/Event/Recon/RecBTofCalhitCol", aRecBTofCalHitCol );
197 if ( aRecBTofCalHitCol != NULL )
199 scb = eventSvc->unregisterObject(
"/Event/Recon/RecBTofCalHitCol" );
200 if ( scb != StatusCode::SUCCESS )
202 log << MSG::FATAL <<
"Could not unregister RecBTofCalHit collection!" << endmsg;
204 RecBTofCalHitCol::iterator iter_btof = recBTofCalHitCol->begin();
205 for ( ; iter_btof != recBTofCalHitCol->end(); iter_btof++ ) {
delete ( *iter_btof ); }
206 recBTofCalHitCol->clear();
207 delete recBTofCalHitCol;
209 std::vector<TofTrack*>::iterator iter_data = tofTrackVec->begin();
210 for ( ; iter_data != tofTrackVec->end(); iter_data++ ) {
delete ( *iter_data ); }
211 tofTrackVec->clear();
214 return StatusCode::FAILURE;
219 eventSvc->registerObject(
"/Event/Recon/RecBTofCalHitCol", recBTofCalHitCol );
220 if ( sh1 != StatusCode::SUCCESS )
222 log << MSG::FATAL <<
"TofRec could not register BTOF CalHit collection!!" << endmsg;
223 RecBTofCalHitCol::iterator iter_btof = recBTofCalHitCol->begin();
224 for ( ; iter_btof != recBTofCalHitCol->end(); iter_btof++ ) {
delete ( *iter_btof ); }
225 recBTofCalHitCol->clear();
226 delete recBTofCalHitCol;
227 return StatusCode::FAILURE;
230 return StatusCode::SUCCESS;
234 std::vector<TofTrack*>*& tofTrackVec,
235 std::string m_calibData ) {
237 Gaudi::svcLocator()->service(
"MessageSvc",
msgSvc );
238 MsgStream log(
msgSvc,
"TofRecTDS" );
239 log << MSG::INFO <<
"TofRecTDS::RegisterRecETofCalHitCol()" << endmsg;
241 IDataProviderSvc* eventSvc;
242 Gaudi::svcLocator()->service(
"EventDataSvc", eventSvc );
246 if ( tofTrackVec->size() != 2 )
return StatusCode::SUCCESS;
247 std::vector<TofTrack*>::iterator iter1 = tofTrackVec->begin();
248 std::vector<TofTrack*>::iterator iter2 = iter1 + 1;
249 if ( ( *iter1 )->tdc1() < 0.0 || ( *iter2 )->tdc1() < 0.0 )
return StatusCode::SUCCESS;
250 if (
abs( ( *iter1 )->tdc1() - ( *iter2 )->tdc1() ) > 2.0 )
return StatusCode::SUCCESS;
256 std::vector<TofTrack*>::iterator
iter = tofTrackVec->begin();
257 for ( ;
iter < tofTrackVec->end();
iter++ )
262 ( *iter )->convert2RecETofCalHitCol( runNumber, eventNumber, recETofCalHitCol,
270 DataObject* aRecETofCalHitCol;
271 eventSvc->findObject(
"/Event/Recon/RecETofCalhitCol", aRecETofCalHitCol );
272 if ( aRecETofCalHitCol != NULL )
274 sce = eventSvc->unregisterObject(
"/Event/Recon/RecETofCalHitCol" );
275 if ( sce != StatusCode::SUCCESS )
277 log << MSG::FATAL <<
"Could not unregister RecETofCalHit collection!" << endmsg;
279 RecETofCalHitCol::iterator iter_etof = recETofCalHitCol->begin();
280 for ( ; iter_etof != recETofCalHitCol->end(); iter_etof++ ) {
delete ( *iter_etof ); }
281 recETofCalHitCol->clear();
282 delete recETofCalHitCol;
284 std::vector<TofTrack*>::iterator iter_data = tofTrackVec->begin();
285 for ( ; iter_data != tofTrackVec->end(); iter_data++ ) {
delete ( *iter_data ); }
286 tofTrackVec->clear();
289 return StatusCode::FAILURE;
294 eventSvc->registerObject(
"/Event/Recon/RecETofCalHitCol", recETofCalHitCol );
295 if ( sh2 != StatusCode::SUCCESS )
297 log << MSG::FATAL <<
"TofRec could not register ETOF CalHit collection!!" << endmsg;
298 RecETofCalHitCol::iterator iter_etof = recETofCalHitCol->begin();
299 for ( ; iter_etof != recETofCalHitCol->end(); iter_etof++ ) {
delete ( *iter_etof ); }
300 recETofCalHitCol->clear();
301 delete recETofCalHitCol;
302 return StatusCode::FAILURE;
305 return StatusCode::SUCCESS;