Belle II Software
release-08-01-10
|
Filter for three hits. More...
#include <ThreeHitFilter.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 | |
TrackFindingCDC::Weight | operator() (const BasePathFilter::Object &pair) override |
Return the weight based on the ThreeHitVariables. More... | |
void | exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) override |
Expose the parameters. | |
void | beginRun () override |
set BField value for estimator | |
virtual bool | needsTruthInformation () |
Indicates if the filter requires Monte Carlo information. | |
Weight | operator() (const Object *obj) |
Function to evaluate the object. More... | |
void | initialize () override |
Receive and dispatch signal before the start of the event processing. | |
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 = ProcessingSignalListener |
Type of the base class. | |
Private Attributes | |
double | m_cosRZCut = 0.95 |
cut for cosine in RZ between the two vectors (oHit - cHit) and (cHit - iHit) | |
double | m_circleIPDistanceCut = 2.0 |
cut on the difference between circle radius and circle center position in the x-y plane to check if the track is compatible with passing through the IP | |
ThreeHitVariables | m_threeHitVariables |
Construct empty ThreeHitVariables instance. | |
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 happend before. | |
bool | m_terminated = false |
Flag to keep track whether termination happend before. | |
std::string | m_initializedAs |
Name of the type during initialisation. | |
Filter for three hits.
Basic working principle: use ThreeHitVariables and provide three B2Vector3D to each variable. These are oHit (outer hit), cHit (middle hit), and iHit (inner hit) and then calculate the variables specified in ThreeHitVariables using the three positions, often using the difference (oHit - cHit) and (cHit - iHit).
Definition at line 26 of file ThreeHitFilter.h.
|
overridevirtual |
Return the weight based on the ThreeHitVariables.
Returns NAN if m_threeHitVariables.getCosAngleRZSimple() of the hit triplet is smaller than m_cosRZCut Returns NAN if m_threeHitVariables.getCircleDistanceIP() of the hit triplet is larger than m_circleIPDistanceCut Returns 1/m_threeHitVariables.getCircleDistanceIP() else
Reimplemented from Filter< AObject >.
Definition at line 35 of file ThreeHitFilter.cc.
|
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.