ATLINFR-5625: fixes for onnxruntime update in trigger
To update onnxruntime we need to disable the GNN in some cases where the network gets zero inputs. We already had something like this implemented in the trigger, but it would check for zero inputs before the track selection was applied. In some cases we'd tell the network not to use default values because there were tracks, but then thin the number to zero.
Fortunately this was already fixed in the offline case, so this is just porting the change here. It should have no effect on the outputs, since we generally set the default values to be identical to the values that the network would have given for zero tracks.
As a second fix I'm changing the criteria to give a default value. Previously we'd assign defaults if there were zero tracks. This is fine for all existing models because they only use tracks. But in some newer models we use pflow constituents as well, which are concatenated with the tracks after an embedding layer. Since the problems we're seeing in the onnx update are in pooling layers after the embedding, the real criteria to use defaults should be zero constituents of any type.
Builds on !74561 (merged) and !73628 (merged). Also tagging @xju, @robouque, @ligang for awareness.