8#include <tracking/trackFindingCDC/filters/segmentTripleRelation/MCSegmentTripleRelationFilter.h>
10#include <tracking/trackFindingCDC/filters/base/MCSymmetricFilter.icc.h>
12#include <tracking/trackFindingCDC/eventdata/tracks/CDCSegmentTriple.h>
13#include <tracking/trackFindingCDC/eventdata/segments/CDCSegment2D.h>
16using namespace TrackFindingCDC;
27 const std::string& prefix)
46 ESign fromFBInfo = sign(mcFromTripleWeight);
47 ESign toFBInfo = sign(mcToTripleWeight);
49 if (not isValid(fromFBInfo) or not isValid(toFBInfo) or fromFBInfo != toFBInfo)
return NAN;
51 ESign commonFBInfo = fromFBInfo;
54 return commonFBInfo > 0 ? overlapWeight : -overlapWeight;
The Module parameter list class.
Class representing a triple of reconstructed segments in adjacent superlayer.
const CDCAxialSegment2D * getEndSegment() const
Getter for the end axial segment.
const CDCAxialSegment2D * getStartSegment() const
Getter for the start axial segment.
void addProcessingSignalListener(ProcessingSignalListener *psl)
MCSegmentTripleRelationFilter(bool allowReverse=true)
Constructor.
MCSegmentTripleFilter m_mcSegmentTripleFilter
Instance of the Monte Carlo segment triple filter for rejection of false cells.
void initialize() final
Initialize the before event processing.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
void setAllowReverse(bool allowReverse) override
Setter for the allow reverse parameter.
Weight operator()(const CDCSegmentTriple &fromTriple, const CDCSegmentTriple &toTriple) final
Main filter method returning the weight of the neighborhood relation.
Mixin for filters that use Monte Carlo information.
void initialize() override
Abstract base class for different kinds of events.