Belle II Software  release-08-01-10
MCFacetFilter Class Reference

Filter for the constuction of good facets based on monte carlo information. More...

#include <MCFacetFilter.h>

Inheritance diagram for MCFacetFilter:
Collaboration diagram for MCFacetFilter:

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

 MCFacetFilter (bool allowReverse=true)
 Constructor also setting the switch, if the reversed version of a facet (in comparision to MC truth) shall be accepted.
 
Weight operator() (const CDCFacet &facet) final
 Main filter method returning the weight of the facet. More...
 
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
 Initialize the before event processing.
 
void beginEvent () override
 Signal the beginning of a new event.
 
bool needsTruthInformation () final
 Indicates that the filter requires Monte Carlo information.
 
virtual void setAllowReverse (bool allowReverse)
 Setter for the allow reverse parameter.
 
bool getAllowReverse () const
 Getter for the allow reverse parameter.
 
virtual Weight operator() (const Object &obj)
 Function to evaluate the object. More...
 
Weight operator() (const Object *obj)
 Function to evaluate the object. More...
 
void beginRun () override
 Receive and dispatch signal for the beginning of a new 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.
 

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 = MCSymmetric< BaseFacetFilter >
 Type of the super class.
 

Private Member Functions

bool operator() (const CDCRLWireHitTriple &rlWireHitTriple, int maxInTrackHitIdDifference)
 Indicated if the oriented triple is a correct hypotheses.
 

Private Attributes

bool m_param_allowReverse
 Switch to indicate if the reversed version of the object shall also be accepted (default is true).
 
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.
 

Detailed Description

Filter for the constuction of good facets based on monte carlo information.

Definition at line 24 of file MCFacetFilter.h.

Member Function Documentation

◆ operator()() [1/3]

Weight operator() ( const CDCFacet facet)
final

Main filter method returning the weight of the facet.

Returns NAN, if the cell shall be rejected.

Definition at line 30 of file MCFacetFilter.cc.

31 {
32  const int maxInTrackHitIdDifference = 3;
33  bool isCorrectFacet = operator()(facet, maxInTrackHitIdDifference);
34 
35  bool isCorrectReverseFacet =
36  this->getAllowReverse() and operator()(facet.reversed(), maxInTrackHitIdDifference);
37 
38  if (isCorrectFacet) {
39  if (facet.getFitLine()->isInvalid()) {
40  facet.adjustFitLine();
41  }
42  return 3.0;
43  } else if (isCorrectReverseFacet) {
44  if (facet.getFitLine()->isInvalid()) {
45  facet.adjustFitLine();
46  }
47  return -3.0;
48  } else {
49  return NAN;
50  }
51 }
const UncertainParameterLine2D & getFitLine() const
Getter for the contained line fit information.
Definition: CDCFacet.h:61
void adjustFitLine() const
Adjusts the contained fit line to touch such that it touches the first and third hit.
Definition: CDCFacet.cc:61
Weight operator()(const CDCFacet &facet) final
Main filter method returning the weight of the facet.
bool getAllowReverse() const
Getter for the allow reverse parameter.
bool isInvalid() const
Check it the line is in an invalid state.

◆ operator()() [2/3]

◆ operator()() [3/3]

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 58 of file Filter.icc.h.


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