6 #include "GaudiKernel/IInterface.h"
7 #include "GaudiKernel/MsgStream.h"
8 #include "GaudiKernel/StatusCode.h"
36 const std::string&
name)
82 "Can be FullEventTimeout, AnyROBOrUnpackingError or None");
99 return StatusCode::SUCCESS;
106 return StatusCode::SUCCESS;
138 if (
sc.isFailure() || !triggerTowerTES ) {
142 sc =
evtStore()->retrieve(triggerTowerSpareTES,
144 }
else sc = StatusCode::FAILURE;
145 if (
sc.isFailure() || !triggerTowerSpareTES ) {
149 sc =
evtStore()->retrieve(triggerTowerMuonTES,
151 }
else sc = StatusCode::FAILURE;
152 if (
sc.isFailure() || !triggerTowerMuonTES ) {
157 const CpmTowerCollection* cpmTowerTES = 0;
158 const CpmTowerCollection* cpmTowerOvTES = 0;
160 if (
sc.isFailure() || !cpmTowerTES ) {
165 }
else sc = StatusCode::FAILURE;
166 if (
sc.isFailure() || !cpmTowerOvTES ) {
171 const CpmRoiCollection* cpmRoiTES = 0;
173 if (
sc.isFailure() || !cpmRoiTES ) {
178 const CpmHitsCollection* cpmHitsTES = 0;
180 if (
sc.isFailure() || !cpmHitsTES ) {
185 const CmmCpHitsCollection* cmmCpHitsTES = 0;
187 if (
sc.isFailure() || !cmmCpHitsTES ) {
195 if (
sc.isFailure() || !jetElementTES ) {
200 }
else sc = StatusCode::FAILURE;
201 if (
sc.isFailure() || !jetElementOvTES ) {
206 const JemRoiCollection* jemRoiTES = 0;
208 if (
sc.isFailure() || !jemRoiTES ) {
213 const JemHitsCollection* jemHitsTES = 0;
215 if (
sc.isFailure() || !jemHitsTES ) {
220 const CmmJetHitsCollection* cmmJetHitsTES = 0;
222 if (
sc.isFailure() || !cmmJetHitsTES ) {
229 if (
sc.isFailure() || !cmmRoiTES ) {
234 const JemEtSumsCollection* jemEtSumsTES = 0;
236 if (
sc.isFailure() || !jemEtSumsTES ) {
241 const CmmEtSumsCollection* cmmEtSumsTES = 0;
243 if (
sc.isFailure() || !cmmEtSumsTES ) {
248 const RodHeaderCollection* rodTES = 0;
251 }
else sc = StatusCode::FAILURE;
252 if (
sc.isFailure() || !rodTES ) {
257 const RodHeaderCollection* cpRoibTES = 0;
260 }
else sc = StatusCode::FAILURE;
261 if (
sc.isFailure() || !cpRoibTES ) {
266 const RodHeaderCollection* jepRoibTES = 0;
269 }
else sc = StatusCode::FAILURE;
270 if (
sc.isFailure() || !jepRoibTES ) {
278 }
else sc = StatusCode::FAILURE;
279 if (
sc.isFailure() || !errColl ) {
280 msg(
MSG::DEBUG) <<
"No ROB Status and Unpacking Error vector found"
306 return (((evtStatus >> 2) & 0
x1) == 1);
321 const RodHeaderCollection* rodTES = 0;
324 }
else sc = StatusCode::FAILURE;
325 if (
sc.isFailure() || !rodTES ) {
331 const RodHeaderCollection* cpRoibTES = 0;
334 }
else sc = StatusCode::FAILURE;
335 if (
sc.isFailure() || !cpRoibTES ) {
341 const RodHeaderCollection* jepRoibTES = 0;
344 }
else sc = StatusCode::FAILURE;
345 if (
sc.isFailure() || !jepRoibTES ) {
351 std::vector<int> noFragmentFlags(80, 1);
352 std::vector<const RodHeaderCollection*>
cols;
353 if (rodTES)
cols.push_back(rodTES);
354 if (cpRoibTES)
cols.push_back(cpRoibTES);
355 if (jepRoibTES)
cols.push_back(jepRoibTES);
356 std::vector<const RodHeaderCollection*>::const_iterator colIter =
358 std::vector<const RodHeaderCollection*>::const_iterator colIterEnd =
360 for (; colIter != colIterEnd; ++colIter) {
361 RodHeaderCollection::const_iterator iter = (*colIter)->begin();
362 RodHeaderCollection::const_iterator iterEnd = (*colIter)->end();
363 for (; iter != iterEnd; ++iter) {
365 const int crate =
header->crate();
366 const int slink =
header->sLink();
369 const int pos =
rod * 4 + slink;
370 if (
pos >= 80)
continue;
371 noFragmentFlags[
pos] = 0;
377 if ((
pos % 2) && (
pos >= 56 || (
pos >= 32 &&
pos < 48)))
continue;
378 if (noFragmentFlags[
pos])
return true;
388 const std::vector<unsigned int>* errVecTES = 0;
390 return (
sc.isSuccess() && !errVecTES->empty());