118 {
119
120
121
122
124 if( evtRecDTagCol != NULL ){
125 if ( evtRecDTagCol->size()>0 ) {
126 cout << "************************************************"<<endl;
127 cout << "EvtRecDTagCol already exists in this file!" << endl;
128 cout << " Please run this program on a raw dst file!" << endl;
129 cout << " *** This job is now being killed. ***" << endl;
130 cout << "************************************************"<<endl;
131 return StatusCode::FAILURE;
132 }
133 }
134
135
136 MsgStream log(
msgSvc(), name());
137 StatusCode sc = clearEvtRecDTagCol(log);
138 if (sc != StatusCode::SUCCESS) {
139 return sc;
140 }
141
142 DataObject* aEvtRecDTagCol;
143 eventSvc()->findObject("/Event/EvtRec/EvtRecDTagCol", aEvtRecDTagCol);
144 if (aEvtRecDTagCol == NULL) {
145 registerEvtRecDTagCol(log);
146 }
147
148 std::vector<Algorithm*>::const_iterator it = subAlgorithms()->begin();
149 std::vector<Algorithm*>::const_iterator end = subAlgorithms()->end();
150 for(; it != end; it++) {
151 sc = (*it)->execute();
152 if(sc.isFailure()) {
153 log << "Error executing selection " << (*it)->name() << endreq;
154 }
155 }
156
157
158 return StatusCode::SUCCESS;
159}
_EXTERN_ std::string EvtRecDTagCol