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 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 SpacePointTagger< Belle2::CKFToPXDResult, Belle2::PXDCluster >, SpacePointTagger< Belle2::CKFToSVDResult, Belle2::SVDCluster >, BaseEventTimeExtractor< RecoTrack * >, BaseEventTimeExtractor< TrackFindingCDC::CDCWireHit & >, SharingHitsMatcher< Belle2::TrackFindingCDC::CDCTrack, Belle2::TrackFindingCDC::CDCSegment2D >, MCSymmetric< BaseAxialSegmentPairFilter >, MCSymmetric< BaseFacetFilter >, MCSymmetric< BaseFacetRelationFilter >, MCSymmetric< BaseSegmentPairFilter >, MCSymmetric< BaseSegmentPairRelationFilter >, MCSymmetric< BaseSegmentRelationFilter >, MCSymmetric< BaseSegmentTripleFilter >, MCSymmetric< BaseSegmentTripleRelationFilter >, MCSymmetric< BaseTrackRelationFilter >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCFacet >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCWireHit, true >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegment2D >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCTrack >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegmentPair >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegmentTriple >, 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 LayerRelationFilter< AFilter >, FourHitFilter, QualityIndicatorFilter, ThreeHitFilter, TwoHitVirtualIPFilter, TwoHitVirtualIPQIFilter, RecoTrackStorer, ROIFinder, SpacePointLoaderAndPreparer, and TrackCandidateResultRefiner.
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 Filter< AObject >.
Definition at line 37 of file BridgingWireHitRelationFilter.cc.
|
protectedinherited |
Get the number of currently registered listeners.
Definition at line 60 of file CompositeProcessingSignalListener.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.
|
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.
Merge the sorted primary and secondary neighbors.
Definition at line 68 of file BridgingWireHitRelationFilter.cc.
|
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< BaseFacetFilter >, MCSymmetric< BaseFacetRelationFilter >, MCSymmetric< BaseSegmentPairFilter >, MCSymmetric< BaseSegmentPairRelationFilter >, MCSymmetric< BaseSegmentRelationFilter >, MCSymmetric< BaseSegmentTripleFilter >, MCSymmetric< BaseSegmentTripleRelationFilter >, MCSymmetric< BaseTrackRelationFilter >, OnVarSet< Filter< ATruthVarSet::Object > >, OnVarSet< Filter< AVarSet::Object > >, OnVarSet< BaseFacetFilter >, OnVarSet< BaseFacetRelationFilter >, OnVarSet< BaseAxialSegmentPairFilter >, OnVarSet< BaseSegmentRelationFilter >, OnVarSet< BaseTrackRelationFilter >, and OnVarSet< BaseSegmentPairRelationFilter >.
Definition at line 46 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.
Definition at line 46 of file RelationFilter.icc.h.
|
virtualinherited |
Function to evaluate the object.
Base implementation accepts all objects.
obj | The object to be accepted or rejected. |
Reimplemented in SeedChargeCDCPathFilter, SizeCDCPathFilter, ArcLengthBasedCDCfromEclPathPairFilter, ArcLengthBasedCDCPathPairFilter, Chi2BasedCDCPathPairFilter, DistanceBasedCDCPathPairFilter, DuplicateCDCPathPairFilter, HitDistanceBasedCDCPathPairFilter, MCTruthCDCPathPairFilter, DistanceCDCStateFilter, ExtrapolateAndUpdateCDCStateFilter, MCTruthCDCStateFilter, MCTruthEclSeedFilter, RoughCDCfromEclStateFilter, RoughCDCStateFilter, FiveHitFilter, FourHitFilter, QualityIndicatorFilter, ThreeHitFilter, TwoHitVirtualIPFilter, TwoHitVirtualIPQIFilter, SimplePXDStateFilter, AllPXDStateFilter, ResidualSVDStateFilter, SimpleSVDStateFilter, AllSVDStateFilter, and RelationFilter< AObject >.
Definition at line 52 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 58 of file Filter.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.
Definition at line 69 of file RelationFilter.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 |
Definition at line 64 of file Filter.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.
|
overridevirtualinherited |
Receive and dispatch Signal for termination of the event processing.
Reimplemented from ProcessingSignalListener.
Reimplemented in StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::HyperHough >, StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::QuadraticLegendre >, and StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::Z0TanLambdaLegendre >.
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 52 of file CompositeProcessingSignalListener.h.
|
privateinherited |
Flag to keep track whether termination happened before.
Definition at line 55 of file ProcessingSignalListener.h.