Skip to content
Snippets Groups Projects
Commit 779399b4 authored by Miroslav Saur's avatar Miroslav Saur
Browse files

Merge branch 'vsvintoz_hlt1eff_truth_matching_fix' into '2024-patches'

Disable decoding of a couple of SelRep sub-banks if no object is saved to the ObjType sub-bank

See merge request lhcb/LHCb!4497
parents e390618e 3c5202ba
No related branches found
No related tags found
2 merge requests!4679Synchronize master branch with 2024-patches,!4497Disable decoding of a couple of SelRep sub-banks if no object is saved to the ObjType sub-bank
Pipeline #8344289 passed
......@@ -244,16 +244,21 @@ namespace LHCb::Hlt::DAQ {
return std::copy( bank->begin<unsigned int>(), bank->end<unsigned int>(), p );
} );
HltSelRepRBHits hitsSubBank( hltSelReportsBank.subBankFromID( HltSelRepRBEnums::SubBankIDs::kHitsID ) );
HltSelRepRBObjTyp objTypSubBank( hltSelReportsBank.subBankFromID( HltSelRepRBEnums::SubBankIDs::kObjTypID ) );
HltSelRepRBSubstr substrSubBank( hltSelReportsBank.subBankFromID( HltSelRepRBEnums::SubBankIDs::kSubstrID ) );
HltSelRepRBStdInfo stdInfoSubBank( hltSelReportsBank.subBankFromID( HltSelRepRBEnums::SubBankIDs::kStdInfoID ) );
HltSelRepRBHits hitsSubBank( hltSelReportsBank.subBankFromID( HltSelRepRBEnums::SubBankIDs::kHitsID ) );
HltSelRepRBObjTyp objTypSubBank( hltSelReportsBank.subBankFromID( HltSelRepRBEnums::SubBankIDs::kObjTypID ) );
unsigned int nObj = objTypSubBank.numberOfObj();
// if nObj == 0 this will not be used anyway, but it allows implementation of HLT1 TrueSim eff checker
HltSelRepRBSubstr substrSubBank(
nObj != 0 ? hltSelReportsBank.subBankFromID( HltSelRepRBEnums::SubBankIDs::kSubstrID ) : nullptr );
HltSelRepRBStdInfo stdInfoSubBank(
nObj != 0 ? hltSelReportsBank.subBankFromID( HltSelRepRBEnums::SubBankIDs::kStdInfoID ) : nullptr );
HltSelRepRBExtraInfo extraInfoSubBank(
hltSelReportsBank.subBankFromID( HltSelRepRBEnums::SubBankIDs::kExtraInfoID ) );
// For version 12, Allen didn't create a hits bank if no hits were
// saved. So we need to create an empty hits bank by hand.
unsigned int nObj = objTypSubBank.numberOfObj();
unsigned int emptyHitsBankData[1] = {0};
if ( hltselreportsRawBank0->version() == 12 ) {
bool foundTracks = false;
......@@ -277,7 +282,7 @@ namespace LHCb::Hlt::DAQ {
++m_inconsistent_size;
errors = true;
} else {
} else if ( nObj != 0 ) {
if ( auto ic = hltSelReportsBank.integrityCode(); ic ) {
++m_rb_fails_integrity;
errors = true;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment