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