10#include <tracking/ckf/cdc/filters/pathPairs/BaseCDCPathPairFilter.h>
11#include <tracking/ckf/cdc/entities/CDCCKFPath.h>
13#include <tracking/trackFindingCDC/numerics/Weight.h>
28 const auto& lhs = *pair.first;
29 const auto& rhs = *pair.second;
33 if (longPath->size() < shortPath->size()) {
34 std::swap(shortPath, longPath);
38 int total = shortPath->size() - 1;
39 for (
const auto& sState : *shortPath) {
40 if (sState.isSeed()) {
43 if (std::any_of(longPath->begin(), longPath->end(), [&sState](
auto & lState)
44 {return !lState.isSeed() && sState.getWireHit() == lState.getWireHit();})) {
55 moduleParamList->
addParameter(TrackFindingCDC::prefixed(prefix,
"minFractionSharedHits"),
57 "Fraction of shared hits to distinguish photon conversion/Bremsstahlung",
Simple filter to distinguish between photon conversion and Bremsstrahlung.
TrackFindingCDC::Weight operator()(const BaseCDCPathPairFilter::Object &pair) final
Input: pair of paths, returns 1 if too many duplicate hits found.
double m_minFractionSharedHits
minimal fraction of shared hits
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters.
The Module parameter list class.
Base class for filters on a generic object type.
AObject Object
Type of the object to be analysed.
void addParameter(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module list.
std::vector< CDCCKFState > CDCCKFPath
Shortcut for the collection of CDC CKF-algorithm states.
Abstract base class for different kinds of events.