Skip to content
Snippets Groups Projects

Remove implicit ordering assumption of LHCbIDs when converting to a v3::Track

Merged Michel De Cian requested to merge decianm-removeImplicitOrderingSOATrackConversion into master
@@ -166,27 +166,17 @@ namespace LHCb::Event::conversion {
int numUTLHCbIDs = 0;
int numFTLHCbIDs = 0;
// -- This respects the sorting of the original track.
for ( auto& id : track.lhcbIDs() ) {
if ( id.isVelo() ) {
outTrack.template field<v3::Tag::LHCbIDs>( numVPLHCbIDs ).set( id.lhcbID() );
++numVPLHCbIDs;
continue;
}
// are filled
if ( id.isUT() ) {
outTrack.template field<v3::Tag::LHCbIDs>( numVPLHCbIDs + numUTLHCbIDs ).set( id.lhcbID() );
++numUTLHCbIDs;
continue;
}
// Same comment as above, but between UT and FT id's
if ( id.isFT() ) {
outTrack.template field<v3::Tag::LHCbIDs>( numVPLHCbIDs + numUTLHCbIDs + numFTLHCbIDs ).set( id.lhcbID() );
++numFTLHCbIDs;
continue;
}
if ( id.isVP() ) ++numVPLHCbIDs;
if ( id.isUT() ) ++numUTLHCbIDs;
if ( id.isFT() ) ++numFTLHCbIDs;
outTrack.template field<v3::Tag::LHCbIDs>( numVPLHCbIDs + numUTLHCbIDs + numFTLHCbIDs ).set( id.lhcbID() );
assert( numVPLHCbIDs + numUTLHCbIDs + numFTLHCbIDs == track.lhcbIDs() );
}
outTrack.template field<v3::Tag::numVPLHCbIDs>().set( numVPLHCbIDs );
outTrack.template field<v3::Tag::numUTLHCbIDs>().set( numUTLHCbIDs );
Loading