8#include <tracking/trackFindingCDC/filters/trackRelation/MCTrackRelationFilter.h>
10#include <tracking/trackFindingCDC/mclookup/CDCMCTrackLookUp.h>
12#include <tracking/trackFindingCDC/eventdata/tracks/CDCTrack.h>
14#include <tracking/trackFindingCDC/filters/base/MCSymmetricFilter.icc.h>
17using namespace TrackFindingCDC;
33 if (pairFBInfo == EForwardBackward::c_Invalid)
return NAN;
35 if (pairFBInfo == EForwardBackward::c_Forward or
39 if (fromNPassedSuperLayers == c_InvalidIndex)
return NAN;
42 if (toNPassedSuperLayers == c_InvalidIndex)
return NAN;
44 if (fromNPassedSuperLayers == toNPassedSuperLayers)
return NAN;
49 if (fromNLoops != toNLoops)
return NAN;
51 return fromTrack.size() + toTrack.size();
Index getLastNPassedSuperLayers(const ACDCHitCollection *ptrHits) const
Getter for number of passed superlayer till the last hit the collection of hits which has the Monte C...
Index getFirstNLoops(const ACDCHitCollection *ptrHits) const
Getter for number of loops till the first hit the collection of hits which has the Monte Carlo track ...
Index getLastNLoops(const ACDCHitCollection *ptrHits) const
Getter for number of loops till the last hit the collection of hits which has the Monte Carlo track i...
EForwardBackward areAlignedInMCTrack(const ACDCHitCollection *ptrFromHits, const ACDCHitCollection *ptrToHits) const
Returns if the second collection of hits follows the first collection of hits in their common Monte C...
Index getFirstNPassedSuperLayers(const ACDCHitCollection *ptrHits) const
Getter for number of passed superlayer till the first hit the collection of hits which has the Monte ...
Specialisation of the lookup for the truth values of reconstructed tracks.
static const CDCMCTrackLookUp & getInstance()
Getter for the singletone instance.
Class representing a sequence of three dimensional reconstructed hits.
Mixin for filters that use Monte Carlo information.
bool getAllowReverse() const
Getter for the allow reverse parameter.
Weight operator()(const CDCTrack &fromTrack, const CDCTrack &toTrack) final
Checks if a track relation is a good combination.
MCTrackRelationFilter(bool allowReverse=false)
Constructor also setting the switch , if the reversed version of a track relation (in comparison to M...
EForwardBackward
Enumeration to represent the distinct possibilities of the right left passage information.
Abstract base class for different kinds of events.