![]() |
Belle II Software development
|
Wire hit relation filter that is compensating for hit inefficiencies. More...
#include <BridgingWireHitRelationFilter.h>
Public Types | |
using | Object = AObject |
Type of the object to be analysed. | |
using | Interface = Filter<AObject> |
Mark this class as the basic interface. | |
Public Member Functions | |
BridgingWireHitRelationFilter () | |
Default constructor. | |
~BridgingWireHitRelationFilter () | |
Default destructor. | |
void | exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) override |
Expose the set of parameters of the filter to the module parameter list. | |
void | initialize () override |
Receive signal at the begin of the event processing and prepare some parameters. | |
std::vector< CDCWireHit * > | getPossibleTos (CDCWireHit *from, const std::vector< CDCWireHit * > &wireHits) const final |
Returns a vector containing the neighboring wire hits of the given wire hit out of the sorted range given by the two iterator other arguments. | |
virtual std::vector< CDCWireHit * > | getPossibleTos (CDCWireHit *from, const std::vector< CDCWireHit * > &objects) const |
Selects the objects possibly related to the given one from the given pool of objects. | |
virtual Weight | operator() (const CDCWireHit &from, const CDCWireHit &to) |
Main filter method returning the weight of the neighborhood relation. | |
virtual std::vector< float > | operator() (const std::vector< Relation< CDCWireHit > * > &objs) override |
Filter over a vector of relations. | |
Weight | operator() (const Relation< CDCWireHit > &relation) override |
Main filter method overriding the filter interface method. | |
virtual Weight | operator() (const CDCWireHit &from, const CDCWireHit &to) |
Main filter method returning the weight of the neighborhood relation. | |
virtual std::vector< float > | operator() (const std::vector< Relation< CDCWireHit > * > &objs) override |
Filter over a vector of relations. | |
Weight | operator() (const Relation< CDCWireHit > &relation) override |
Main filter method overriding the filter interface method. | |
virtual Weight | operator() (const Object &obj) |
Function to evaluate the object. | |
Weight | operator() (const Object *obj) |
Function to evaluate the object. | |
virtual std::vector< float > | operator() (const std::vector< Object * > &objs) |
Function to evaluate a vector of objects Base implementation applies the function to each object. | |
virtual bool | needsTruthInformation () |
Indicates if the filter requires Monte Carlo information. | |
void | beginRun () override |
Receive and dispatch signal for the beginning of a new run. | |
void | beginEvent () override |
Receive and dispatch signal for the start of a new event. | |
void | endRun () override |
Receive and dispatch signal for the end of the run. | |
void | terminate () override |
Receive and dispatch Signal for termination of the event processing. | |
Protected Member Functions | |
void | addProcessingSignalListener (ProcessingSignalListener *psl) |
Register a processing signal listener to be notified. | |
int | getNProcessingSignalListener () |
Get the number of currently registered listeners. | |
Private Types | |
using | Super = RelationFilter<CDCWireHit> |
Type of the base class. | |
Private Attributes | |
std::map< int, int > | m_param_missingPrimaryNeighborThresholdMap |
Parameter: A map from o'clock direction to the number of missing primary drift cells. | |
std::array< short, 12 > | m_missingPrimaryNeighborThresholds |
Array for the number of primary drift cells to be included for the o'clock position at each index. | |
std::vector< short > | m_consideredSecondaryNeighbors |
Indices of the considered o'clock positions of the secondary neighborhood. | |
std::vector< ProcessingSignalListener * > | m_subordinaryProcessingSignalListeners |
References to subordinary signal processing listener contained in this findlet. | |
bool | m_initialized = false |
Flag to keep track whether initialization happened before. | |
bool | m_terminated = false |
Flag to keep track whether termination happened before. | |
std::string | m_initializedAs |
Name of the type during initialisation. | |
Wire hit relation filter that is compensating for hit inefficiencies.
The default setup counters some hits lost due to a drift time cut off if the track enters at the edge of a drift cell. The biggest effect observed in the CDC simulation was observed when the track is along the 2, 4, 8 and 10 o'clock direction since in this case two neighboring hits can be lost due to this time cut off. In an attempt to detect if this occurred the primary wire hit neighborhood is slightly extended to bridge to the secondary neighborhood in the critical directions.
The criterion can be lowered such that fewer missing hits trigger the inclusion of the secondary neighbors.
Definition at line 40 of file BridgingWireHitRelationFilter.h.
Mark this class as the basic interface.
Definition at line 38 of file Filter.dcl.h.
|
inherited |
Type of the object to be analysed.
Definition at line 35 of file Filter.dcl.h.
|
private |
Type of the base class.
Definition at line 44 of file BridgingWireHitRelationFilter.h.
|
protectedinherited |
Register a processing signal listener to be notified.
Definition at line 55 of file CompositeProcessingSignalListener.cc.
|
overridevirtualinherited |
Receive and dispatch signal for the start of a new event.
Reimplemented from ProcessingSignalListener.
Reimplemented in DATCONFPGAFindlet, SpacePointTagger< AResult, ACluster >, SpacePointTagger< Belle2::CKFToPXDResult, Belle2::PXDCluster >, SpacePointTagger< Belle2::CKFToSVDResult, Belle2::SVDCluster >, FindletStoreArrayInput< TWrappedFindlet >, MCSymmetric< BaseAxialSegmentPairFilter >, MCSymmetric< BaseAxialSegmentPairFilter >, MCSymmetric< BaseFacetFilter >, MCSymmetric< BaseFacetFilter >, MCSymmetric< BaseFacetRelationFilter >, MCSymmetric< BaseFacetRelationFilter >, MCSymmetric< BaseSegmentPairFilter >, MCSymmetric< BaseSegmentPairFilter >, MCSymmetric< BaseSegmentPairRelationFilter >, MCSymmetric< BaseSegmentPairRelationFilter >, MCSymmetric< BaseSegmentRelationFilter >, MCSymmetric< BaseSegmentRelationFilter >, MCSymmetric< BaseSegmentTripleFilter >, MCSymmetric< BaseSegmentTripleFilter >, MCSymmetric< BaseSegmentTripleRelationFilter >, MCSymmetric< BaseSegmentTripleRelationFilter >, MCSymmetric< BaseTrackRelationFilter >, MCSymmetric< BaseTrackRelationFilter >, MonopoleStereoHitFinder, MonopoleStereoHitFinderQuadratic, SegmentCreatorMCTruth, SegmentFinderFacetAutomaton, SegmentTrackCombiner, SegmentTrackTruthVarSet, SharingHitsMatcher< ACollectorItem, ACollectionItem >, SharingHitsMatcher< Belle2::TrackFindingCDC::CDCTrack, Belle2::TrackFindingCDC::CDCSegment2D >, StereoHitFinder, StereoHitTruthVarSet, StoreVectorSwapper< IOType, a_alwaysWrite >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCFacet >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegment2D >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegmentPair >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegmentTriple >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCTrack >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCWireHit, true >, TrackFinderAutomaton, TrackFinderSegmentPairAutomaton, TrackFinderSegmentTripleAutomaton, TruthAxialSegmentPairVarSet, TruthSegmentVarSet, TruthTrackVarSet, WireHitMCMultiLoopBlocker, RecoTrackStorer, ROIFinder, and SVDHoughTracking.
Definition at line 31 of file CompositeProcessingSignalListener.cc.
|
overridevirtualinherited |
Receive and dispatch signal for the beginning of a new run.
Reimplemented from ProcessingSignalListener.
Reimplemented in DATCONSVDClusterizer, LayerPXDRelationFilter< AFilter, APrefilter >, LayerPXDRelationFilter< TrackFindingCDC::ChooseableFilter< PXDPairFilterFactory > >, LayerPXDRelationFilter< TrackFindingCDC::ChooseableFilter< PXDPairFilterFactory > >, LayerSVDRelationFilter< AFilter, APrefilter >, LayerSVDRelationFilter< TrackFindingCDC::ChooseableFilter< SVDPairFilterFactory > >, LayerSVDRelationFilter< TrackFindingCDC::ChooseableFilter< SVDPairFilterFactory > >, SectorMapBasedSVDPairFilter, SimplePXDStateFilter, SimpleSVDStateFilter, CutsFromDBWireHitFilter, MVA< Filter< AVarSet::Object > >, MVA< Filter< typename AVarSet::Object > >, MVA< Filter< typename AVarSet::Object > >, WireHitCreator, FourHitFilter, LayerRelationFilter< AFilter >, LayerRelationFilter< TrackFindingCDC::ChooseableFilter< RelationFilterFactory > >, LayerRelationFilter< TrackFindingCDC::ChooseableFilter< RelationFilterFactory > >, QualityIndicatorFilter, RecoTrackStorer, ROIFinder, SpacePointLoaderAndPreparer, ThreeHitFilter, TrackCandidateResultRefiner, TwoHitVirtualIPFilter, and TwoHitVirtualIPQIFilter.
Definition at line 23 of file CompositeProcessingSignalListener.cc.
|
overridevirtualinherited |
Receive and dispatch signal for the end of the run.
Reimplemented from ProcessingSignalListener.
Definition at line 39 of file CompositeProcessingSignalListener.cc.
|
overridevirtual |
Expose the set of parameters of the filter to the module parameter list.
Reimplemented from CompositeProcessingSignalListener.
Definition at line 37 of file BridgingWireHitRelationFilter.cc.
|
protectedinherited |
Get the number of currently registered listeners.
Definition at line 60 of file CompositeProcessingSignalListener.cc.
|
finalvirtual |
Returns a vector containing the neighboring wire hits of the given wire hit out of the sorted range given by the two iterator other arguments.
Merge the sorted primary and secondary neighbors.
Reimplemented from RelationFilter< CDCWireHit >.
Definition at line 68 of file BridgingWireHitRelationFilter.cc.
|
virtualinherited |
Selects the objects possibly related to the given one from the given pool of objects.
Definition at line 39 of file RelationFilter.icc.h.
|
overridevirtual |
Receive signal at the begin of the event processing and prepare some parameters.
Prepare the lookup such that it turns out most likely sorted.
Reimplemented from ProcessingSignalListener.
Definition at line 49 of file BridgingWireHitRelationFilter.cc.
|
virtualinherited |
Indicates if the filter requires Monte Carlo information.
Reimplemented in MCSymmetric< BaseAxialSegmentPairFilter >, MCSymmetric< BaseAxialSegmentPairFilter >, MCSymmetric< BaseFacetFilter >, MCSymmetric< BaseFacetFilter >, MCSymmetric< BaseFacetRelationFilter >, MCSymmetric< BaseFacetRelationFilter >, MCSymmetric< BaseSegmentPairFilter >, MCSymmetric< BaseSegmentPairFilter >, MCSymmetric< BaseSegmentPairRelationFilter >, MCSymmetric< BaseSegmentPairRelationFilter >, MCSymmetric< BaseSegmentRelationFilter >, MCSymmetric< BaseSegmentRelationFilter >, MCSymmetric< BaseSegmentTripleFilter >, MCSymmetric< BaseSegmentTripleFilter >, MCSymmetric< BaseSegmentTripleRelationFilter >, MCSymmetric< BaseSegmentTripleRelationFilter >, MCSymmetric< BaseTrackRelationFilter >, MCSymmetric< BaseTrackRelationFilter >, OnVarSet< Filter< ATruthVarSet::Object > >, OnVarSet< Filter< AVarSet::Object > >, OnVarSet< Filter< PXDResultVarSet::Object > >, OnVarSet< Filter< SVDResultVarSet::Object > >, OnVarSet< Filter< typename AVarSet::Object > >, and OnVarSet< Filter< typename AVarSet::Object > >.
Definition at line 40 of file Filter.icc.h.
|
virtualinherited |
Function to evaluate the object.
Base implementation accepts all objects.
obj | The object to be accepted or rejected. |
Reimplemented in AllPXDStateFilter, AllSVDStateFilter, ArcLengthBasedCDCfromEclPathPairFilter, ArcLengthBasedCDCPathPairFilter, Chi2BasedCDCPathPairFilter, DistanceBasedCDCPathPairFilter, DistanceCDCStateFilter, DuplicateCDCPathPairFilter, ExtrapolateAndUpdateCDCStateFilter, HitDistanceBasedCDCPathPairFilter, MCTruthCDCPathPairFilter, MCTruthCDCStateFilter, MCTruthEclSeedFilter, NonIPCrossingStateFilter< AllPXDStateFilter >, NonIPCrossingStateFilter< AllSVDStateFilter >, ResidualSVDStateFilter, RoughCDCfromEclStateFilter, RoughCDCStateFilter, SeedChargeCDCPathFilter, SimplePXDStateFilter, SimpleSVDStateFilter, SizeCDCPathFilter, AllAxialSegmentPairFilter, AllClusterFilter, AllFacetFilter, AllSegmentPairFilter, AllSegmentTripleFilter, AllWireHitFilter, Chi2FacetFilter, CutsFromDBWireHitFilter, FeasibleRLFacetFilter, MCAxialSegmentPairFilter, MCFacetFilter, MCSegmentPairFilter, MCSegmentTripleFilter, MVA< Filter< typename AVarSet::Object > >, OnVarSet< Filter< typename AVarSet::Object > >, RealisticFacetFilter, Recording< Filter< typename AVarSet::Object > >, SimpleAxialSegmentPairFilter, SimpleFacetFilter, SimpleSegmentPairFilter, SimpleSegmentTripleFilter, TruthVarFilter< ATruthVarSet >, and WeightSVDResultFilter.
Definition at line 46 of file Filter.icc.h.
|
inherited |
Function to evaluate the object.
Base implementation accepts all objects, except nullptr.
obj | The object to be accepted or rejected. |
Definition at line 52 of file Filter.icc.h.
|
virtualinherited |
Function to evaluate a vector of objects Base implementation applies the function to each object.
Can be optimized for MVA filters
objs | A vector of pointers to objects |
Reimplemented in MVA< Filter< typename AVarSet::Object > >.
Definition at line 58 of file Filter.icc.h.
|
virtualinherited |
Main filter method returning the weight of the neighborhood relation.
Return always returns NAN to reject all segment neighbors.
|
virtualinherited |
Main filter method returning the weight of the neighborhood relation.
Return always returns NAN to reject all segment neighbors.
Definition at line 46 of file RelationFilter.icc.h.
|
overrideinherited |
Main filter method overriding the filter interface method.
Checks the validity of the pointers in the relation and unpacks the relation to the method implementing the rejection.
|
overrideinherited |
Main filter method overriding the filter interface method.
Checks the validity of the pointers in the relation and unpacks the relation to the method implementing the rejection.
Definition at line 69 of file RelationFilter.icc.h.
|
inlineoverridevirtualinherited |
Filter over a vector of relations.
We need to override it since derived relation classes do not implement a call with a pointer to a relation.
Definition at line 51 of file RelationFilter.dcl.h.
|
inlineoverridevirtualinherited |
Filter over a vector of relations.
We need to override it since derived relation classes do not implement a call with a pointer to a relation.
Definition at line 51 of file RelationFilter.dcl.h.
|
overridevirtualinherited |
Receive and dispatch Signal for termination of the event processing.
Reimplemented from ProcessingSignalListener.
Reimplemented in Recording< Filter< AVarSet::Object > >, Recording< Filter< typename AVarSet::Object > >, Recording< Filter< typename AVarSet::Object > >, StereoHitTrackQuadTreeMatcher< AQuadTree >, StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::HyperHough< std::pair< CDCRecoHit3D, const CDCRLWireHit * >, FirstOfPairInBox< HitInHyperBox >, 4, 3, 2 > >, StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::QuadraticLegendre< std::pair< CDCRecoHit3D, const CDCRLWireHit * >, FirstOfPairInBox< HitInQuadraticBox >, 2, 2 > >, and StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::Z0TanLambdaLegendre< std::pair< CDCRecoHit3D, const CDCRLWireHit * >, FirstOfPairInBox< HitInZ0TanLambdaBox >, 2, 2 > >.
Definition at line 47 of file CompositeProcessingSignalListener.cc.
|
private |
Indices of the considered o'clock positions of the secondary neighborhood.
Definition at line 75 of file BridgingWireHitRelationFilter.h.
|
privateinherited |
Flag to keep track whether initialization happened before.
Definition at line 52 of file ProcessingSignalListener.h.
|
privateinherited |
Name of the type during initialisation.
Definition at line 58 of file ProcessingSignalListener.h.
|
private |
Array for the number of primary drift cells to be included for the o'clock position at each index.
Definition at line 72 of file BridgingWireHitRelationFilter.h.
|
private |
Parameter: A map from o'clock direction to the number of missing primary drift cells.
Definition at line 68 of file BridgingWireHitRelationFilter.h.
|
privateinherited |
References to subordinary signal processing listener contained in this findlet.
Definition at line 60 of file CompositeProcessingSignalListener.h.
|
privateinherited |
Flag to keep track whether termination happened before.
Definition at line 55 of file ProcessingSignalListener.h.