Belle II Software development
InterceptDistancePXDPairFilter Class Reference

Base filter for CKF PXD states. More...

#include <InterceptDistancePXDPairFilter.h>

Inheritance diagram for InterceptDistancePXDPairFilter:
Filter< std::pair< const CKFToPXDState *, const CKFToPXDState * > > CompositeProcessingSignalListener ProcessingSignalListener

Public Types

using Object
 Type of the object to be analysed.
 
using Object
 Type of the object to be analysed.
 
using Interface
 Mark this class as the basic interface.
 
using Interface
 Mark this class as the basic interface.
 

Public Member Functions

TrackFindingCDC::Weight operator() (const std::pair< const CKFToPXDState *, const CKFToPXDState * > &relation) override
 Return the weight based on azimuthal-angle separation.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) override
 Expose the parameters.
 
virtual bool needsTruthInformation ()
 Indicates if the filter requires Monte Carlo information.
 
virtual bool needsTruthInformation ()
 Indicates if the filter requires Monte Carlo information.
 
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 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.
 
void initialize () override
 Receive and dispatch signal before the start of the event processing.
 
void initialize () override
 Receive and dispatch signal before the start of the event processing.
 
void beginRun () override
 Receive and dispatch signal for the beginning of a new run.
 
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 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 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.
 
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.
 
void addProcessingSignalListener (ProcessingSignalListener *psl)
 Register a processing signal listener to be notified.
 
int getNProcessingSignalListener ()
 Get the number of currently registered listeners.
 
int getNProcessingSignalListener ()
 Get the number of currently registered listeners.
 

Private Types

using Super = ProcessingSignalListener
 Type of the base class.
 
using Super
 Type of the base class.
 

Private Member Functions

float deltaPhi (float phi1, float phi2)
 Calculate delta phi.
 
float deltaEtaFromTheta (float theta1, float theta2)
 Calculate delta eta from theta.
 
float convertThetaToEta (float cosTheta)
 Convert theta to eta (pseudorapidity)
 

Private Attributes

double m_param_PtThresholdTrackToHitCut = 0.5
 Threshold to apply inverse pT dependent cut [GeV].
 
double m_param_PhiInterceptToHitCut = 0.2
 Filter potential relations in phi between seed states (based on PXDIntercepts) and hit states.
 
double m_param_EtaInterceptToHitCut = 0.2
 Filter potential relations in eta between seed states (based on PXDIntercepts) and hit states.
 
double m_param_PhiRecoTrackToHitCut = 0.5
 Filter potential relations in phi between seed states (based on RecoTracks) and hit states.
 
double m_param_EtaRecoTrackToHitCut = 0.4
 Filter potential relations in eta between seed states (based on RecoTracks) and hit states.
 
double m_param_PhiHitHitCut = 0.8
 Filter potential relations in phi between hit states.
 
double m_param_EtaHitHitCut = 0.8
 Filter potential relations in eta between hit states.
 
double m_param_PhiOverlapHitHitCut = 0.15
 Filter potential relations in phi between hit states in ladder overlap.
 
double m_param_EtaOverlapHitHitCut = 0.15
 Filter potential relations in eta between hit states in ladder overlap.
 
std::string m_param_PXDInterceptsName = "PXDIntercepts"
 Name of the PXDIntercepts StoreArray.
 
std::vector< ProcessingSignalListener * > m_subordinaryProcessingSignalListeners
 References to subordinary signal processing listener contained in this findlet.
 
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_initialized
 Flag to keep track whether initialization happened before.
 
bool m_terminated = false
 Flag to keep track whether termination happened before.
 
bool m_terminated
 Flag to keep track whether termination happened before.
 
std::string m_initializedAs
 Name of the type during initialisation.
 
std::string m_initializedAs
 Name of the type during initialisation.
 

Detailed Description

Base filter for CKF PXD states.

Definition at line 19 of file InterceptDistancePXDPairFilter.h.

Member Typedef Documentation

◆ Interface [1/2]

using Interface
inherited

Mark this class as the basic interface.

Definition at line 38 of file Filter.dcl.h.

◆ Interface [2/2]

using Interface
inherited

Mark this class as the basic interface.

Definition at line 38 of file Filter.dcl.h.

◆ Object [1/2]

using Object
inherited

Type of the object to be analysed.

Definition at line 35 of file Filter.dcl.h.

◆ Object [2/2]

using Object
inherited

Type of the object to be analysed.

Definition at line 35 of file Filter.dcl.h.

◆ Super [1/2]

using Super = ProcessingSignalListener
privateinherited

Type of the base class.

Definition at line 26 of file CompositeProcessingSignalListener.h.

◆ Super [2/2]

using Super
privateinherited

Type of the base class.

Definition at line 26 of file CompositeProcessingSignalListener.h.

Member Function Documentation

◆ addProcessingSignalListener() [1/2]

void addProcessingSignalListener ( ProcessingSignalListener * psl)
protectedinherited

Register a processing signal listener to be notified.

Definition at line 55 of file CompositeProcessingSignalListener.cc.

56{
58}
std::vector< ProcessingSignalListener * > m_subordinaryProcessingSignalListeners
References to subordinary signal processing listener contained in this findlet.

◆ addProcessingSignalListener() [2/2]

void addProcessingSignalListener ( ProcessingSignalListener * psl)
protectedinherited

Register a processing signal listener to be notified.

Definition at line 53 of file CompositeProcessingSignalListener.cc.

56{
58}
Base class for filters on a generic object type.
Definition Filter.dcl.h:31

◆ beginEvent() [1/2]

void beginEvent ( )
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.

32{
35 psl->beginEvent();
36 }
37}
virtual void beginEvent()
Receive signal for the start of a new event.
ProcessingSignalListener()
Allow default construction.

◆ beginEvent() [2/2]

void beginEvent ( )
overrideinherited

Receive and dispatch signal for the start of a new event.

Definition at line 36 of file CompositeProcessingSignalListener.cc.

32{
35 psl->beginEvent();
36 }
37}
void beginEvent() override
Receive and dispatch signal for the start of a new event.

◆ beginRun() [1/2]

void beginRun ( )
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.

24{
27 psl->beginRun();
28 }
29}
virtual void beginRun()
Receive signal for the beginning of a new run.

◆ beginRun() [2/2]

void beginRun ( )
overrideinherited

Receive and dispatch signal for the beginning of a new run.

Definition at line 33 of file CompositeProcessingSignalListener.cc.

24{
27 psl->beginRun();
28 }
29}
void beginRun() override
Receive and dispatch signal for the beginning of a new run.

◆ convertThetaToEta()

float convertThetaToEta ( float cosTheta)
private

Convert theta to eta (pseudorapidity)

Definition at line 144 of file InterceptDistancePXDPairFilter.cc.

145{
146 if (std::abs(cosTheta) < 1) return -0.5 * log((1.0 - cosTheta) / (1.0 + cosTheta));
147 else {
148 B2INFO("AngularDistancePXDPairFilter::cosTheta >=1 : " << cosTheta);
149 return 0;
150 }
151}

◆ deltaEtaFromTheta()

float deltaEtaFromTheta ( float theta1,
float theta2 )
private

Calculate delta eta from theta.

Definition at line 139 of file InterceptDistancePXDPairFilter.cc.

140{
141 return (convertThetaToEta(cos(theta1)) - convertThetaToEta(cos(theta2)));
142}
float convertThetaToEta(float cosTheta)
Convert theta to eta (pseudorapidity)

◆ deltaPhi()

float deltaPhi ( float phi1,
float phi2 )
private

Calculate delta phi.

Definition at line 131 of file InterceptDistancePXDPairFilter.cc.

132{
133 float dphi = phi1 - phi2;
134 while (dphi > M_PI) dphi -= 2. * M_PI;
135 while (dphi < -M_PI) dphi += 2. * M_PI;
136 return dphi;
137}

◆ endRun() [1/2]

void endRun ( )
overridevirtualinherited

Receive and dispatch signal for the end of the run.

Reimplemented from ProcessingSignalListener.

Definition at line 39 of file CompositeProcessingSignalListener.cc.

40{
42 psl->endRun();
43 }
45}
virtual void endRun()
Receive signal for the end of the run.

◆ endRun() [2/2]

void endRun ( )
overrideinherited

Receive and dispatch signal for the end of the run.

Definition at line 39 of file CompositeProcessingSignalListener.cc.

◆ exposeParameters()

void exposeParameters ( ModuleParamList * moduleParamList,
const std::string & prefix )
overridevirtual

Expose the parameters.

Reimplemented from CompositeProcessingSignalListener.

Definition at line 102 of file InterceptDistancePXDPairFilter.cc.

103{
104 moduleParamList->addParameter(TrackFindingCDC::prefixed(prefix, "ptThresholdTrackToHitCut"), m_param_PtThresholdTrackToHitCut,
105 "Threshold on pT to apply inverse pT scale on cut value.",
107 moduleParamList->addParameter(TrackFindingCDC::prefixed(prefix, "phiInterceptToHitCut"), m_param_PhiInterceptToHitCut,
108 "Cut in phi for the difference between PXDIntercept from RecoTrack on the same layer and current hit-based state.",
110 moduleParamList->addParameter(TrackFindingCDC::prefixed(prefix, "etaInterceptToHitCut"), m_param_EtaInterceptToHitCut,
111 "Cut in eta for the difference between PXDIntercept from RecoTrack on the same layer and current hit-based state.",
113 moduleParamList->addParameter(TrackFindingCDC::prefixed(prefix, "phiRecoTrackToHitCut"), m_param_PhiRecoTrackToHitCut,
114 "Cut in phi for the difference between RecoTrack information and current hit-based state.",
116 moduleParamList->addParameter(TrackFindingCDC::prefixed(prefix, "etaRecoTrackToHitCut"), m_param_EtaRecoTrackToHitCut,
117 "Cut in eta for the difference between RecoTrack information and current hit-based state.",
119 moduleParamList->addParameter(TrackFindingCDC::prefixed(prefix, "phiHitHitCut"), m_param_PhiHitHitCut,
120 "Cut in phi between two hit-based states.", m_param_PhiHitHitCut);
121 moduleParamList->addParameter(TrackFindingCDC::prefixed(prefix, "etaHitHitCut"), m_param_EtaHitHitCut,
122 "Cut in eta between two hit-based states.", m_param_EtaHitHitCut);
123 moduleParamList->addParameter(TrackFindingCDC::prefixed(prefix, "phiOverlapHitHitCut"), m_param_PhiOverlapHitHitCut,
124 "Cut in phi between two hit-based states in ladder overlap.", m_param_PhiOverlapHitHitCut);
125 moduleParamList->addParameter(TrackFindingCDC::prefixed(prefix, "etaOverlapHitHitCut"), m_param_EtaOverlapHitHitCut,
126 "Cut in eta between two hit-based states in ladder overlap.", m_param_EtaOverlapHitHitCut);
127 moduleParamList->addParameter(TrackFindingCDC::prefixed(prefix, "PXDInterceptsName"), m_param_PXDInterceptsName,
128 "Name of the PXDIntercepts StoreArray.", m_param_PXDInterceptsName);
129}
double m_param_EtaHitHitCut
Filter potential relations in eta between hit states.
double m_param_EtaRecoTrackToHitCut
Filter potential relations in eta between seed states (based on RecoTracks) and hit states.
double m_param_PhiHitHitCut
Filter potential relations in phi between hit states.
double m_param_PhiOverlapHitHitCut
Filter potential relations in phi between hit states in ladder overlap.
double m_param_EtaOverlapHitHitCut
Filter potential relations in eta between hit states in ladder overlap.
double m_param_PhiInterceptToHitCut
Filter potential relations in phi between seed states (based on PXDIntercepts) and hit states.
double m_param_EtaInterceptToHitCut
Filter potential relations in eta between seed states (based on PXDIntercepts) and hit states.
double m_param_PtThresholdTrackToHitCut
Threshold to apply inverse pT dependent cut [GeV].
double m_param_PhiRecoTrackToHitCut
Filter potential relations in phi between seed states (based on RecoTracks) and hit states.
std::string m_param_PXDInterceptsName
Name of the PXDIntercepts StoreArray.
void addParameter(const std::string &name, T &paramVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module list.

◆ getNProcessingSignalListener() [1/2]

int getNProcessingSignalListener ( )
protectedinherited

Get the number of currently registered listeners.

Definition at line 60 of file CompositeProcessingSignalListener.cc.

61{
63}

◆ getNProcessingSignalListener() [2/2]

int getNProcessingSignalListener ( )
protectedinherited

Get the number of currently registered listeners.

Definition at line 56 of file CompositeProcessingSignalListener.cc.

61{
63}

◆ initialize() [1/2]

void initialize ( )
overridevirtualinherited

Receive and dispatch signal before the start of the event processing.

Reimplemented from ProcessingSignalListener.

Reimplemented in CosmicsTrackMergerFindlet, DATCONSVDClusterizer, DATCONSVDClusterLoaderAndPreparer, FastInterceptFinder2DFPGA, HitBasedT0Extractor, LayerPXDRelationFilter< AFilter, APrefilter >, LayerPXDRelationFilter< TrackFindingCDC::ChooseableFilter< PXDPairFilterFactory > >, LayerPXDRelationFilter< TrackFindingCDC::ChooseableFilter< PXDPairFilterFactory > >, NonIPCrossingStateFilter< AllPXDStateFilter >, NonIPCrossingStateFilter< AllPXDStateFilter >, NonIPCrossingStateFilter< AllSVDStateFilter >, NonIPCrossingStateFilter< AllSVDStateFilter >, PXDResultVarSet, RelationApplier, RelationFromSVDTracksCreator, ResultStorer< AResult >, ResultStorer< Belle2::CKFToPXDResult >, ResultStorer< Belle2::CKFToSVDResult >, ROICalculator, StoreArrayMerger, SVDResultVarSet, SVDShaperDigitConverter, ToPXDExtrapolator, CutsFromDBWireHitFilter, FilterVarSet< AFilter >, HitReclaimer, MCFacetRelationFilter, MCSegmentPairRelationFilter, MCSegmentTripleFilter, MCSegmentTripleRelationFilter, 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 >, MVA< Filter< AVarSet::Object > >, MVA< Filter< typename AVarSet::Object > >, MVA< Filter< typename AVarSet::Object > >, OnVarSet< Filter< ATruthVarSet::Object > >, OnVarSet< Filter< AVarSet::Object > >, OnVarSet< Filter< PXDResultVarSet::Object > >, OnVarSet< Filter< SVDResultVarSet::Object > >, OnVarSet< Filter< typename AVarSet::Object > >, OnVarSet< Filter< typename AVarSet::Object > >, Recording< Filter< AVarSet::Object > >, Recording< Filter< typename AVarSet::Object > >, Recording< Filter< typename AVarSet::Object > >, RelationVarSet< ABaseVarSet >, SegmentAliasResolver, SegmentCreatorMCTruth, SegmentFitter, SegmentOrienter, SegmentTrackTruthVarSet, 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 > >, StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::Z0TanLambdaLegendre< std::pair< CDCRecoHit3D, const CDCRLWireHit * >, FirstOfPairInBox< HitInZ0TanLambdaBox >, 2, 2 > >, StereoHitTruthVarSet, StoreArrayLoader< IOType >, StoreArrayLoader< const Belle2::SpacePoint >, StoreArrayLoader< DataStoreInputTypeRefType >, 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 >, TrackExporter, TrackOrienter, TrackQualityEstimator, TruthAxialSegmentPairVarSet, TruthSegmentVarSet, TruthTrackVarSet, UnionVarSet< AObject >, UnionVarSet< Object >, VariadicUnionVarSet< AVarSets >, VariadicUnionVarSet< BasicAxialSegmentPairVarSet, FitlessAxialSegmentPairVarSet, FitAxialSegmentPairVarSet >, VariadicUnionVarSet< BasicAxialSegmentPairVarSet, FitlessAxialSegmentPairVarSet, FitAxialSegmentPairVarSet >, VariadicUnionVarSet< BasicAxialSegmentPairVarSet, HitGapAxialSegmentPairVarSet >, VariadicUnionVarSet< BasicAxialSegmentPairVarSet, HitGapAxialSegmentPairVarSet >, VariadicUnionVarSet< BasicFacetVarSet, FilterVarSet< Chi2FacetFilter > >, VariadicUnionVarSet< BasicFacetVarSet, FilterVarSet< Chi2FacetFilter > >, VariadicUnionVarSet< BasicSegmentPairRelationVarSet, FitSegmentPairRelationVarSet >, VariadicUnionVarSet< BasicSegmentPairRelationVarSet, FitSegmentPairRelationVarSet >, VariadicUnionVarSet< BasicSegmentPairVarSet, FitlessSegmentPairVarSet, FitSegmentPairVarSet >, VariadicUnionVarSet< BasicSegmentPairVarSet, FitlessSegmentPairVarSet, FitSegmentPairVarSet >, VariadicUnionVarSet< BasicSegmentPairVarSet, SkimmedHitGapSegmentPairVarSet >, VariadicUnionVarSet< BasicSegmentPairVarSet, SkimmedHitGapSegmentPairVarSet >, VariadicUnionVarSet< BasicSegmentRelationVarSet, FitlessSegmentRelationVarSet, FitSegmentRelationVarSet >, VariadicUnionVarSet< BasicSegmentRelationVarSet, FitlessSegmentRelationVarSet, FitSegmentRelationVarSet >, VariadicUnionVarSet< BasicSegmentRelationVarSet, HitGapSegmentRelationVarSet >, VariadicUnionVarSet< BasicSegmentRelationVarSet, HitGapSegmentRelationVarSet >, VariadicUnionVarSet< BasicTrackRelationVarSet, FitTrackRelationVarSet >, VariadicUnionVarSet< BasicTrackRelationVarSet, FitTrackRelationVarSet >, VariadicUnionVarSet< BasicTrackRelationVarSet, HitGapTrackRelationVarSet >, VariadicUnionVarSet< BasicTrackRelationVarSet, HitGapTrackRelationVarSet >, WireHitCreator, WireHitMCMultiLoopBlocker, TrackLoader, MultiHoughSpaceFastInterceptFinder, QualityIndicatorFilter, RawTrackCandCleaner< AHit >, RawTrackCandCleaner< Belle2::vxdHoughTracking::VXDHoughState >, RecoTrackStorer, ROIFinder, SingleHoughSpaceFastInterceptFinder, SpacePointLoaderAndPreparer, TrackCandidateOverlapResolver, TrackCandidateResultRefiner, and TwoHitVirtualIPQIFilter.

Definition at line 15 of file CompositeProcessingSignalListener.cc.

16{
19 psl->initialize();
20 }
21}
virtual void initialize()
Receive signal before the start of the event processing.

◆ initialize() [2/2]

void initialize ( )
overrideinherited

Receive and dispatch signal before the start of the event processing.

Definition at line 30 of file CompositeProcessingSignalListener.cc.

16{
19 psl->initialize();
20 }
21}
void initialize() override
Receive and dispatch signal before the start of the event processing.

◆ needsTruthInformation()

bool needsTruthInformation ( )
virtualinherited

Indicates if the filter requires Monte Carlo information.

Definition at line 48 of file Filter.icc.h.

41 {
42 return false;
43 }

◆ operator()() [1/7]

TrackFindingCDC::Weight operator() ( const std::pair< const CKFToPXDState *, const CKFToPXDState * > & relation)
override

Return the weight based on azimuthal-angle separation.

Definition at line 27 of file InterceptDistancePXDPairFilter.cc.

28{
29 const CKFToPXDState& fromState = *(relation.first);
30 const CKFToPXDState& toState = *(relation.second);
31
32 const CKFToPXDState::stateCache& fromStateCache = fromState.getStateCache();
33 const CKFToPXDState::stateCache& toStateCache = toState.getStateCache();
34
35 B2ASSERT("You have filled the wrong states into this!", toStateCache.isHitState);
36
37 const unsigned int layerDiff = std::abs(fromStateCache.geoLayer - toStateCache.geoLayer);
38
39 float phiDiff = deltaPhi(fromStateCache.phi, toStateCache.phi);
40 float etaDiff = deltaEtaFromTheta(fromStateCache.theta, toStateCache.theta);
41
42 // fromState and toState on the same layer, i.e. hits in ladder overlap region
43 if (layerDiff == 0) {
44 if (std::abs(phiDiff) < static_cast<float>(m_param_PhiOverlapHitHitCut) and
45 std::abs(etaDiff) < static_cast<float>(m_param_EtaOverlapHitHitCut)) {
46 return 1.0;
47 }
48 return NAN;
49 }
50
51 // if fromState is not HitState, then it is the last hit on SVD or SVD/CDC track
52 if (not fromStateCache.isHitState) {
53 const RecoTrack* seedRecoTrack = fromState.getSeed();
54 const auto& relatedIntercepts = seedRecoTrack->getRelationsTo<PXDIntercept>(m_param_PXDInterceptsName);
55 // pT dependent factor, pre-set cut value should correspond to pT>=1GeV
56 const float scaleInvPt =
57 (fromStateCache.ptSeed < m_param_PtThresholdTrackToHitCut ? (m_param_PtThresholdTrackToHitCut / fromStateCache.ptSeed) : 1.);
58 if (relatedIntercepts.size() > 0) {
59 // We have PXDIntercepts for this Seed (RecoTrack), so use the intercept position for filtering
60 for (const auto& intercept : relatedIntercepts) {
61 const VxdID& fromStateSensorID(intercept.getSensorID());
62 if (fromStateSensorID.getLayerNumber() != toStateCache.geoLayer) {
63 continue;
64 }
65 const PXD::SensorInfo& sensorInfo = dynamic_cast<const PXD::SensorInfo&>(VXD::GeoCache::getInstance().getSensorInfo(
66 fromStateSensorID));
67 const auto& interceptGlobalPoint = sensorInfo.pointToGlobal({intercept.getCoorU(), intercept.getCoorV(), 0});
68 phiDiff = deltaPhi(interceptGlobalPoint.Phi(), toStateCache.phi);
69 etaDiff = deltaEtaFromTheta(interceptGlobalPoint.Theta(), toStateCache.theta);
70 if (std::abs(phiDiff) < static_cast<float>(m_param_PhiInterceptToHitCut)*float(layerDiff)*scaleInvPt and
71 std::abs(etaDiff) < static_cast<float>(m_param_EtaInterceptToHitCut)*float(layerDiff)*scaleInvPt) {
72 return 1.0;
73 }
74 }
75 // We have PXD for this Seed (RecoTrack), but the toState isn't close to any of them -> discard combination
76 return NAN;
77 } else {
78 // We don't have PXDIntercepts for this Seed (RecoTrack), so use simple angular filters.
79 // Get eta/theta separation from track angle
80 const float dR = fromStateCache.perp - toStateCache.perp;
81 const float dZ = fromStateCache.perp / tan(fromStateCache.theta) - toStateCache.perp / tan(toStateCache.theta);
82 const float cosThetaSeedhit = dZ / sqrt(dR * dR + dZ * dZ);
83 etaDiff = convertThetaToEta(cosThetaSeedhit) - convertThetaToEta(cos(fromStateCache.thetaSeed));
84 if (std::abs(phiDiff) < static_cast<float>(m_param_PhiRecoTrackToHitCut)*float(layerDiff)*scaleInvPt and
85 std::abs(etaDiff) < static_cast<float>(m_param_EtaRecoTrackToHitCut)*float(layerDiff)*scaleInvPt) {
86 return 1.0;
87 }
88 return NAN;
89 }
90 }
91
92 // hit-hit relation from Layer-2 to Layer-1
93 if (std::abs(phiDiff) < static_cast<float>(m_param_PhiHitHitCut) and
94 std::abs(etaDiff) < static_cast<float>(m_param_EtaHitHitCut)) {
95 return 1.0;
96 }
97
98 return NAN;
99
100}
const Seed * getSeed() const
Return the track this state is related to.
Definition CKFState.h:60
const struct stateCache & getStateCache() const
Get the cached data of this state.
float deltaPhi(float phi1, float phi2)
Calculate delta phi.
float deltaEtaFromTheta(float theta1, float theta2)
Calculate delta eta from theta.
RelationVector< TO > getRelationsTo(const std::string &name="", const std::string &namedRelation="") const
Get the relations that point from this object to another store array.
const SensorInfoBase & getSensorInfo(Belle2::VxdID id) const
Return a reference to the SensorInfo of a given SensorID.
Definition GeoCache.cc:67
static GeoCache & getInstance()
Return a reference to the singleton instance.
Definition GeoCache.cc:214
ROOT::Math::XYZVector pointToGlobal(const ROOT::Math::XYZVector &local, bool reco=false) const
Convert a point from local to global coordinates.
double tan(double a)
tan for double
Definition beamHelpers.h:31
double sqrt(double a)
sqrt for double
Definition beamHelpers.h:28

◆ operator()() [2/7]

virtual Weight operator() ( const Object & obj)
virtualinherited

Function to evaluate the object.

Base implementation accepts all objects.

Parameters
objThe object to be accepted or rejected.
Returns
A finite float value if the object is accepted. NAN if the object is rejected.

◆ operator()() [3/7]

Weight operator() ( const Object & obj)
virtualinherited

Function to evaluate the object.

Base implementation accepts all objects.

Parameters
objThe object to be accepted or rejected.
Returns
A finite float value if the object is accepted. NAN if the object is rejected.

Definition at line 59 of file Filter.icc.h.

47 {
48 return 1;
49 }

◆ operator()() [4/7]

Weight operator() ( const Object * obj)
inherited

Function to evaluate the object.

Base implementation accepts all objects, except nullptr.

Parameters
objThe object to be accepted or rejected.
Returns
A finit float value if the object is accepted. NAN if the object is rejected. Nullptr is always rejected.

◆ operator()() [5/7]

Weight operator() ( const Object * obj)
inherited

Function to evaluate the object.

Base implementation accepts all objects, except nullptr.

Parameters
objThe object to be accepted or rejected.
Returns
A finit float value if the object is accepted. NAN if the object is rejected. Nullptr is always rejected.

Definition at line 69 of file Filter.icc.h.

53 {
54 return obj ? operator()(*obj) : NAN;
55 }

◆ operator()() [6/7]

virtual std::vector< float > operator() ( const std::vector< Object * > & objs)
virtualinherited

Function to evaluate a vector of objects Base implementation applies the function to each object.

Can be optimized for MVA filters

Parameters
objsA vector of pointers to objects
Returns
A vector of float or NAN values. See above

◆ operator()() [7/7]

std::vector< float > operator() ( const std::vector< Object * > & objs)
virtualinherited

Function to evaluate a vector of objects Base implementation applies the function to each object.

Can be optimized for MVA filters

Parameters
objsA vector of pointers to objects
Returns
A vector of float or NAN values. See above

Definition at line 77 of file Filter.icc.h.

59 {
60 std::vector<float> out;
61 for (const auto& obj : objs) {
62 out.push_back(operator()(obj));
63 }
64 return out;
65 }

◆ terminate() [1/2]

◆ terminate() [2/2]

void terminate ( )
overrideinherited

Receive and dispatch Signal for termination of the event processing.

Definition at line 42 of file CompositeProcessingSignalListener.cc.

48{
50 psl->terminate();
51 }
53}
void terminate() override
Receive and dispatch Signal for termination of the event processing.

Member Data Documentation

◆ m_initialized [1/2]

bool m_initialized
privateinherited

Flag to keep track whether initialization happened before.

Definition at line 52 of file ProcessingSignalListener.h.

◆ m_initialized [2/2]

bool m_initialized = false
privateinherited

Flag to keep track whether initialization happened before.

Definition at line 52 of file ProcessingSignalListener.h.

◆ m_initializedAs [1/2]

std::string m_initializedAs
privateinherited

Name of the type during initialisation.

Definition at line 58 of file ProcessingSignalListener.h.

◆ m_initializedAs [2/2]

std::string m_initializedAs
privateinherited

Name of the type during initialisation.

Definition at line 58 of file ProcessingSignalListener.h.

◆ m_param_EtaHitHitCut

double m_param_EtaHitHitCut = 0.8
private

Filter potential relations in eta between hit states.

Definition at line 47 of file InterceptDistancePXDPairFilter.h.

◆ m_param_EtaInterceptToHitCut

double m_param_EtaInterceptToHitCut = 0.2
private

Filter potential relations in eta between seed states (based on PXDIntercepts) and hit states.

Definition at line 39 of file InterceptDistancePXDPairFilter.h.

◆ m_param_EtaOverlapHitHitCut

double m_param_EtaOverlapHitHitCut = 0.15
private

Filter potential relations in eta between hit states in ladder overlap.

Definition at line 51 of file InterceptDistancePXDPairFilter.h.

◆ m_param_EtaRecoTrackToHitCut

double m_param_EtaRecoTrackToHitCut = 0.4
private

Filter potential relations in eta between seed states (based on RecoTracks) and hit states.

Definition at line 43 of file InterceptDistancePXDPairFilter.h.

◆ m_param_PhiHitHitCut

double m_param_PhiHitHitCut = 0.8
private

Filter potential relations in phi between hit states.

Definition at line 45 of file InterceptDistancePXDPairFilter.h.

◆ m_param_PhiInterceptToHitCut

double m_param_PhiInterceptToHitCut = 0.2
private

Filter potential relations in phi between seed states (based on PXDIntercepts) and hit states.

Definition at line 37 of file InterceptDistancePXDPairFilter.h.

◆ m_param_PhiOverlapHitHitCut

double m_param_PhiOverlapHitHitCut = 0.15
private

Filter potential relations in phi between hit states in ladder overlap.

Definition at line 49 of file InterceptDistancePXDPairFilter.h.

◆ m_param_PhiRecoTrackToHitCut

double m_param_PhiRecoTrackToHitCut = 0.5
private

Filter potential relations in phi between seed states (based on RecoTracks) and hit states.

Definition at line 41 of file InterceptDistancePXDPairFilter.h.

◆ m_param_PtThresholdTrackToHitCut

double m_param_PtThresholdTrackToHitCut = 0.5
private

Threshold to apply inverse pT dependent cut [GeV].

Definition at line 35 of file InterceptDistancePXDPairFilter.h.

◆ m_param_PXDInterceptsName

std::string m_param_PXDInterceptsName = "PXDIntercepts"
private

Name of the PXDIntercepts StoreArray.

Definition at line 54 of file InterceptDistancePXDPairFilter.h.

◆ m_subordinaryProcessingSignalListeners [1/2]

std::vector<ProcessingSignalListener*> m_subordinaryProcessingSignalListeners
privateinherited

References to subordinary signal processing listener contained in this findlet.

Definition at line 60 of file CompositeProcessingSignalListener.h.

◆ m_subordinaryProcessingSignalListeners [2/2]

std::vector<ProcessingSignalListener*> m_subordinaryProcessingSignalListeners
privateinherited

References to subordinary signal processing listener contained in this findlet.

Definition at line 60 of file CompositeProcessingSignalListener.h.

◆ m_terminated [1/2]

bool m_terminated
privateinherited

Flag to keep track whether termination happened before.

Definition at line 55 of file ProcessingSignalListener.h.

◆ m_terminated [2/2]

bool m_terminated = false
privateinherited

Flag to keep track whether termination happened before.

Definition at line 55 of file ProcessingSignalListener.h.


The documentation for this class was generated from the following files: