Skip to content
Snippets Groups Projects
Commit 22eed2ad authored by Nils Erik Krumnack's avatar Nils Erik Krumnack
Browse files

Merge branch 'reverse-rnn-sequence' into '21.2'

Fix ordering in RNN flip

See merge request atlas/athena!24739
parents 61e284f1 6d7d7327
No related branches found
No related tags found
No related merge requests found
......@@ -284,20 +284,29 @@ namespace FlavorTagDiscriminants {
const Tracks& tracks,
const xAOD::Jet& j) {
Tracks filtered;
for (const auto* tp: tracks) {
// we want to reverse the order of the tracks as part of the
// flipping
for (auto ti = tracks.crbegin(); ti != tracks.crend(); ti++) {
const xAOD::TrackParticle* tp = *ti;
double sip = aug.get_signed_ip(*tp, j).ip3d_signed_d0_significance;
if (sip < 0) filtered.push_back(tp);
}
return filtered;
}
// factory function
TrackSequenceFilter flipFilter(FlipTagConfig cfg, EDMSchema schema) {
namespace ph = std::placeholders; // for _1, _2, _3
BTagTrackAugmenter aug(schema);
switch(cfg) {
case FlipTagConfig::NEGATIVE_IP_ONLY:
// flips order and removes tracks with negative IP
return std::bind(&negativeIpOnly, aug, ph::_1, ph::_2);
case FlipTagConfig::FLIP_SIGN: // intentional fall-through
case FlipTagConfig::FLIP_SIGN:
// Just flips the order
return [](const Tracks& tr, const xAOD::Jet& ) {
return Tracks(tr.crbegin(), tr.crend());
};
case FlipTagConfig::STANDARD:
return [](const Tracks& tr, const xAOD::Jet& ) { return tr; };
default: {
......
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