jet hypo - generalisation of jet hypo Filters
This merge request replaces !41715 (closed) (closed), and takes into account !41525 (merged) (reworking of the jet hypo configuration).
The following description has been copied from !41715 (closed)
Filters are used to reduce the number of jets from an input jet vector. Until now the filters have been confined to those that use a sequence of capacity = 1 Conditions to make the selection. Dummy filtering (ie no selection) was arranged by having the dummy filter have no conditions.
A new use case has come up where filtering is needed, but cannot be done as described above. A new oure interface is now used ot allow different filtering implementations. Dummy filtering is now down with a dedicated named implementation class.
Filtering currently is done both on the input vector beore the hypo code proper is run, and as a jet selector to Fast Reducer leaf Conditions
Other changes: Repeated Condition can now invert its decision base on a configurable boolean flag. ConditionFilter uses Repeated Condition, rather than CompoundCondition directly
New interfaces: IHypoJetVectorFilter.h ITrigHypoJetVectorFilterConfig.h
Pass through filtering PassThroughFilter.h, cxx TrigJetPassThroughFilterConfig.h, cxx
New filter configurers TrigJetConditionFilterConfig.cxx, h TrigJetPassThroughFilterConfig.cxx, h TrigJetRangeFilterConfig.cxx, h TrigJetHypoToolHelperNoGrouper.h, cxx
Condition inversion: RepeatedCondition.cxx, h TrigJetConditionConfig_repeated.cxx, h ITrigJetRepeatedConditionConfig.h
Move to use RepeatedCondition ConditionFilter.cxx, h TrigJetHypoToolConfig_fastreduction.cxx