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

Class to identify a filter type used by sectorFriends. More...

#include <FilterID.h>

Collaboration diagram for FilterID:

Public Types

enum  filterTypes {
  distance3D ,
  distanceXY ,
  distanceZ ,
  slopeRZ ,
  normedDistance3D ,
  anglesHighOccupancy3D ,
  anglesHighOccupancyXY ,
  anglesHighOccupancyRZ ,
  distanceHighOccupancy2IP ,
  deltaSlopeHighOccupancyRZ ,
  pTHighOccupancy ,
  helixParameterHighOccupancyFit ,
  angles3D ,
  anglesRZ ,
  anglesXY ,
  deltaSlopeRZ ,
  pT ,
  distance2IP ,
  helixParameterFit ,
  deltaSOverZ ,
  deltaSlopeZOverS ,
  deltapTHighOccupancy ,
  deltaDistanceHighOccupancy2IP ,
  deltapT ,
  deltaDistance2IP ,
  nbFinderLost ,
  cellularAutomaton ,
  ziggZaggXY ,
  ziggZaggXYWithSigma ,
  ziggZaggRZ ,
  circlefit ,
  helixfit ,
  simpleLineFit3D ,
  hopfield ,
  greedy ,
  tcDuel ,
  tcFinderCurr ,
  calcQIbyKalman ,
  overlapping ,
  silentTcc ,
  silentHitFinder ,
  silentSegFinder ,
  alwaysTrue2Hit ,
  alwaysFalse2Hit ,
  alwaysTrue3Hit ,
  alwaysFalse3Hit ,
  alwaysTrue4Hit ,
  alwaysFalse4Hit ,
  random2Hit ,
  random3Hit ,
  random4Hit ,
  overHighestAllowedLayer ,
  outOfSectorRange ,
  numFilters
}
 filterTyoes contains enums assigning unique values for each filter type allowing fast filter type recognition More...
 

Public Member Functions

 FilterID ()
 Constructor.
 
 ~FilterID ()
 Destructor.
 

Static Public Member Functions

static filterTypes getFilterType (const std::string &filterString)
 converts existing string with name of filter type into suitable enum value.
 
static filterTypes getFilterType (int filterInt)
 converts existing int with filter type-compativble value into suitable enum value.
 
static std::string getFilterString (filterTypes filterType)
 converts existing enum value into suitable string with name of filter type.
 
static std::string getFilterString (int filterType)
 converts int value into suitable string with name of filter type (if int value is equal to values of enum).
 
static std::string getTypeName (filterTypes filterType)
 returns name of given type, needed for compatibility with other modules More...
 
static filterTypes getTypeEnum (const std::string &filterString)
 returns type of given name, needed for compatibility with other modules.
 

Static Public Attributes

static const std::string nameDistance3D = "distance3D"
 string name of filter d3D
 
static const std::string nameDistanceXY = "distanceXY"
 string name of filter dXY
 
static const std::string nameDistanceZ = "distanceZ"
 string name of filter dZ
 
static const std::string nameSlopeRZ = "slopeRZ"
 string name of filter slopeRZ
 
static const std::string nameNormedDistance3D = "normedDistance3D"
 string name of filter nd3D
 
static const std::string nameAnglesHighOccupancy3D = "HioCangles3D"
 string name of filter a3D high occupancy
 
static const std::string nameAnglesHighOccupancyXY = "HioCanglesXY"
 string name of filter aXY high occupancy
 
static const std::string nameAnglesHighOccupancyRZ = "HioCanglesRZ"
 string name of filter aRZ high occupancy
 
static const std::string nameDistanceHighOccupancy2IP = "HioCdistance2IP"
 string name of filter d2IP high occupancy
 
static const std::string nameDeltaSlopeHighOccupancyRZ = "HioCdeltaSlopeRZ"
 string name of filter dslopeRZ high occupancy
 
static const std::string namePTHighOccupancy = "HioCpT"
 string name of filter pT high occupancy
 
static const std::string nameHelixParameterHighOccupancyFit = "HioChelixFit"
 string name of filter hFit high occupancy
 
static const std::string nameAngles3D = "angles3D"
 string name of filter a3D
 
static const std::string nameAnglesRZ = "anglesRZ"
 string name of filter aRZ
 
static const std::string nameAnglesXY = "anglesXY"
 string name of filter aXY
 
static const std::string nameDeltaSlopeRZ = "deltaSlopeRZ"
 string name of filter dslopeRZ
 
static const std::string namePT = "pT"
 string name of filter pT
 
static const std::string nameDistance2IP = "distance2IP"
 string name of filter d2IP
 
static const std::string nameHelixParameterFit = "helixParameterFit"
 string name of filter helix Parameter Fit
 
static const std::string nameDeltaSOverZ = "deltaSOverZ"
 string name deltaSOverZ Filter
 
static const std::string nameDeltaSlopeZOverS = "deltaSlopeZOverS"
 string name deltaSlopeZOverS Filter
 
static const std::string nameDeltapTHighOccupancy = "HioCdeltaPt"
 string name of filter dPt high occupancy
 
static const std::string nameDeltaDistanceHighOccupancy2IP = "HioCdeltaDistance2IP"
 string name of filter dd2IP high occupancy
 
static const std::string nameDeltapT = "deltaPt"
 string name of filter dPt
 
static const std::string nameDeltaDistance2IP = "deltaDistance2IP"
 string name of filter dd2IP
 
static const std::string nameNbFinderLost = "NbFinderLost"
 string name Nb Finder filter
 
static const std::string nameCellularAutomaton = "CellularAutomaton"
 string name CA filter
 
static const std::string nameZiggZaggXY = "ZiggZaggXY"
 string name ZiggZaggXY filter
 
static const std::string nameZiggZaggXYWithSigma = "ZiggZaggXYWithSigma"
 string name ZiggZaggXYWithSigma filter
 
static const std::string nameZiggZaggRZ = "ZiggZaggRZ"
 string name ZiggZaggRZ filter
 
static const std::string nameCirclefit = "Circlefit"
 string name Circlefit filter
 
static const std::string nameHelixfit = "Helixfit"
 string name Helix Fit filter
 
static const std::string nameSimpleLineFit3D = "SimpleLineFit3D"
 string name SimpleLineFit3D filter
 
static const std::string nameHopfield = "Hopfield"
 string name Hopfield filter
 
static const std::string nameGreedy = "Greedy"
 string name Greedy filter
 
static const std::string nameTcDuel = "TcDuel"
 string name TC Duel filter
 
static const std::string nameTcFinderCurr = "TcFinderCurr"
 string name TC Finder Curr filter
 
static const std::string nameCalcQIbyKalman = "CalcQIbyKalman"
 string name CalcQIbyKalman filter
 
static const std::string nameOverlapping = "Overlapping"
 string name Overlapping filter
 
static const std::string nameSilentTcc = "SilentTcc"
 WARNING FIXME TODO some things are missing here (calcQIbyLineFit) and similar stuff. More...
 
static const std::string nameSilentHitFinder = "SilentHitFinder"
 string name Silent Kill Hit Finder filter
 
static const std::string nameSilentSegFinder = "SilentSegFinder"
 string name Silent Kill Seg Finder filter
 
static const std::string nameAlwaysTrue2Hit = "alwaysTrue2Hit"
 string name of a filter which will always say yes
 
static const std::string nameAlwaysFalse2Hit = "alwaysFalse2Hit"
 string name of a filter which will always say no
 
static const std::string nameAlwaysTrue3Hit = "alwaysTrue3Hit"
 string name of a filter which will always say yes
 
static const std::string nameAlwaysFalse3Hit = "alwaysFalse3Hit"
 string name of a filter which will always say no
 
static const std::string nameAlwaysTrue4Hit = "alwaysTrue4Hit"
 string name of a filter which will always say yes
 
static const std::string nameAlwaysFalse4Hit = "alwaysFalse4Hit"
 string name of a filter which will always say no
 
static const std::string nameRandom2Hit = "random2Hit"
 string name of a filter which will say yes or no by random choice
 
static const std::string nameRandom3Hit = "random3Hit"
 string name of a filter which will say yes or no by random choice
 
static const std::string nameRandom4Hit = "random4Hit"
 string name of a filter which will say yes or no by random choice
 
static const std::string nameOverHighestAllowedLayer = "overHighestAllowedLayer"
 string name of OverHighestAllowedLayer Filter
 
static const std::string nameOutOfSectorRange = "outOfSectorRange"
 string name out of sector range filter
 
static const boost::array< std::string, numFiltersnameVector
 array storing all the strings where the enums can be used to access their position
 
static const boost::array< FilterID::filterTypes, FilterID::numFiltersenumVector
 array storing all the enums where ints can be used to access their position (this is needed since enums can be converted to int but not otherwise)
 

Detailed Description

Class to identify a filter type used by sectorFriends.

is a simple converter to convert the enum used to access the filter-values (cutoffs) into readable values it contains enum values for speed optimized access of filter-data and strings for human-readable output

Definition at line 28 of file FilterID.h.

Member Enumeration Documentation

◆ filterTypes

filterTyoes contains enums assigning unique values for each filter type allowing fast filter type recognition

Enumerator
distance3D 

string name of filter d3D

distanceXY 

string name of filter dXY

distanceZ 

string name of filter dZ

slopeRZ 

string name of filter slopeRZ

normedDistance3D 

string name of filter nd3D

anglesHighOccupancy3D 

string name of filter a3D high occupancy

anglesHighOccupancyXY 

string name of filter aXY high occupancy

anglesHighOccupancyRZ 

string name of filter aRZ high occupancy

distanceHighOccupancy2IP 

string name of filter d2IP high occupancy

deltaSlopeHighOccupancyRZ 

string name of filter dslopeRZ high occupancy

pTHighOccupancy 

string name of filter pT high occupancy

helixParameterHighOccupancyFit 

string name of filter hFit high occupancy

angles3D 

string name of filter a3D

anglesRZ 

string name of filter aRZ

anglesXY 

string name of filter aXY

deltaSlopeRZ 

string name of filter dslopeRZ

pT 

string name of filter pT

distance2IP 

string name of filter d2IP

helixParameterFit 

string name of filter helix Paramater Fit

deltaSOverZ 

deltaSOverZ Filter

deltaSlopeZOverS 

deltaSlopeZOverS Filter

deltapTHighOccupancy 

string name of filter dPt high occupancy

deltaDistanceHighOccupancy2IP 

string name of filter dd2IP high occupancy

deltapT 

string name of filter dPt

deltaDistance2IP 

string name of filter dd2IP

nbFinderLost 

Nb Finder filter.

cellularAutomaton 

CA filter.

ziggZaggXY 

ziggZaggXY filter

ziggZaggXYWithSigma 

ziggZaggXYWithSigma filter

ziggZaggRZ 

ziggZaggRZ filter

circlefit 

circlefit filter

helixfit 

Helix Fit filter.

simpleLineFit3D 

simpleLineFit3D filter

hopfield 

Hopfield filter.

greedy 

Greedy filter.

tcDuel 

TC Duel filter.

tcFinderCurr 

TC Finder Curr filter.

calcQIbyKalman 

calcQIbyKalman filter

overlapping 

overlapping filter

silentTcc 

Silent Kill TCC filter.

silentHitFinder 

Silent Kill HitFinder filter.

silentSegFinder 

Silent Kill SefFinder filter.

alwaysTrue2Hit 

a filter with this ID will always say True

alwaysFalse2Hit 

a filter with this ID will always say False

alwaysTrue3Hit 

a filter with this ID will always say True

alwaysFalse3Hit 

a filter with this ID will always say False

alwaysTrue4Hit 

a filter with this ID will always say True

alwaysFalse4Hit 

a filter with this ID will always say False

random2Hit 

a filter with this ID will say yes or no by random choice

random3Hit 

a filter with this ID will say yes or no by random choice

random4Hit 

a filter with this ID will say yes or no by random choice

overHighestAllowedLayer 

OverHighestAllowedLayer Filter.

outOfSectorRange 

out of sector range filter

numFilters 

knows number of filters existing.

If a member returns this value, the input-value was wrong

Definition at line 31 of file FilterID.h.

31  {
32  // 2hit:
33  distance3D,
34  distanceXY,
35  distanceZ,
36  slopeRZ,
40  //2+1hit:
50  //3hit:
51  angles3D,
52  anglesRZ,
53  anglesXY,
54  deltaSlopeRZ,
55  pT,
56  distance2IP,
58  deltaSOverZ,
62  //3+1hit:
67  //4hit:
68  deltapT,
72  //Collector FilterIDs
73  nbFinderLost,
77  // trackletFilters:
78  ziggZaggXY,
80  ziggZaggRZ,
81  circlefit,
82  helixfit,
86  //TF-steps:
87  hopfield,
88  greedy,
89  tcDuel,
90  tcFinderCurr,
92  overlapping,
95  // for display: silent kills
96  silentTcc,
101  // tests which are only for debugging and validation processes
108  random2Hit,
109  random3Hit,
110  random4Hit,
113  // other stuff
118  numFilters
120  };
@ random3Hit
a filter with this ID will say yes or no by random choice
Definition: FilterID.h:109
@ hopfield
Hopfield filter.
Definition: FilterID.h:87
@ silentTcc
Silent Kill TCC filter.
Definition: FilterID.h:96
@ nbFinderLost
Nb Finder filter.
Definition: FilterID.h:73
@ alwaysTrue2Hit
a filter with this ID will always say True
Definition: FilterID.h:102
@ numFilters
knows number of filters existing.
Definition: FilterID.h:118
@ distanceHighOccupancy2IP
string name of filter d2IP high occupancy
Definition: FilterID.h:44
@ alwaysFalse3Hit
a filter with this ID will always say False
Definition: FilterID.h:105
@ deltaDistance2IP
string name of filter dd2IP
Definition: FilterID.h:69
@ distance2IP
string name of filter d2IP
Definition: FilterID.h:56
@ deltaSlopeHighOccupancyRZ
string name of filter dslopeRZ high occupancy
Definition: FilterID.h:45
@ helixfit
Helix Fit filter.
Definition: FilterID.h:82
@ tcDuel
TC Duel filter.
Definition: FilterID.h:89
@ overlapping
overlapping filter
Definition: FilterID.h:92
@ anglesHighOccupancy3D
string name of filter a3D high occupancy
Definition: FilterID.h:41
@ random4Hit
a filter with this ID will say yes or no by random choice
Definition: FilterID.h:110
@ simpleLineFit3D
simpleLineFit3D filter
Definition: FilterID.h:83
@ deltapT
string name of filter dPt
Definition: FilterID.h:68
@ overHighestAllowedLayer
OverHighestAllowedLayer Filter.
Definition: FilterID.h:114
@ cellularAutomaton
CA filter.
Definition: FilterID.h:74
@ distanceXY
string name of filter dXY
Definition: FilterID.h:34
@ anglesXY
string name of filter aXY
Definition: FilterID.h:53
@ tcFinderCurr
TC Finder Curr filter.
Definition: FilterID.h:90
@ silentSegFinder
Silent Kill SefFinder filter.
Definition: FilterID.h:98
@ normedDistance3D
string name of filter nd3D
Definition: FilterID.h:37
@ slopeRZ
string name of filter slopeRZ
Definition: FilterID.h:36
@ circlefit
circlefit filter
Definition: FilterID.h:81
@ silentHitFinder
Silent Kill HitFinder filter.
Definition: FilterID.h:97
@ outOfSectorRange
out of sector range filter
Definition: FilterID.h:115
@ distance3D
string name of filter d3D
Definition: FilterID.h:33
@ ziggZaggRZ
ziggZaggRZ filter
Definition: FilterID.h:80
@ anglesHighOccupancyXY
string name of filter aXY high occupancy
Definition: FilterID.h:42
@ helixParameterFit
string name of filter helix Paramater Fit
Definition: FilterID.h:57
@ alwaysTrue3Hit
a filter with this ID will always say True
Definition: FilterID.h:104
@ alwaysFalse2Hit
a filter with this ID will always say False
Definition: FilterID.h:103
@ deltaSlopeRZ
string name of filter dslopeRZ
Definition: FilterID.h:54
@ ziggZaggXY
ziggZaggXY filter
Definition: FilterID.h:78
@ alwaysFalse4Hit
a filter with this ID will always say False
Definition: FilterID.h:107
@ deltaDistanceHighOccupancy2IP
string name of filter dd2IP high occupancy
Definition: FilterID.h:64
@ helixParameterHighOccupancyFit
string name of filter hFit high occupancy
Definition: FilterID.h:47
@ ziggZaggXYWithSigma
ziggZaggXYWithSigma filter
Definition: FilterID.h:79
@ deltapTHighOccupancy
string name of filter dPt high occupancy
Definition: FilterID.h:63
@ alwaysTrue4Hit
a filter with this ID will always say True
Definition: FilterID.h:106
@ greedy
Greedy filter.
Definition: FilterID.h:88
@ pTHighOccupancy
string name of filter pT high occupancy
Definition: FilterID.h:46
@ random2Hit
a filter with this ID will say yes or no by random choice
Definition: FilterID.h:108
@ angles3D
string name of filter a3D
Definition: FilterID.h:51
@ anglesRZ
string name of filter aRZ
Definition: FilterID.h:52
@ deltaSlopeZOverS
deltaSlopeZOverS Filter
Definition: FilterID.h:59
@ distanceZ
string name of filter dZ
Definition: FilterID.h:35
@ deltaSOverZ
deltaSOverZ Filter
Definition: FilterID.h:58
@ pT
string name of filter pT
Definition: FilterID.h:55
@ calcQIbyKalman
calcQIbyKalman filter
Definition: FilterID.h:91
@ anglesHighOccupancyRZ
string name of filter aRZ high occupancy
Definition: FilterID.h:43

Member Function Documentation

◆ getTypeName()

std::string getTypeName ( FilterID::filterTypes  type)
static

returns name of given type, needed for compatibility with other modules

for given FilterID the corresponding std::string-name will be returned.

For invalid types, UnknownType will be passed

TODO

Definition at line 434 of file FilterID.cc.

435 {
437  auto pos = std::find(enumVector.begin(), enumVector.end(), type);
438  if (pos == enumVector.end()) {
439  B2WARNING("FilterID::getTypeName(): given iD " << type <<
440  " is not a valid FilterID, return UnknownType!");
441  return std::string("UnknownType");
442  }
443  return FilterID::nameVector[type];
444 }
static const boost::array< std::string, numFilters > nameVector
array storing all the strings where the enums can be used to access their position
Definition: FilterID.h:213
static const boost::array< FilterID::filterTypes, FilterID::numFilters > enumVector
array storing all the enums where ints can be used to access their position (this is needed since enu...
Definition: FilterID.h:216

Member Data Documentation

◆ nameSilentTcc

const std::string nameSilentTcc = "SilentTcc"
static

WARNING FIXME TODO some things are missing here (calcQIbyLineFit) and similar stuff.

string name Silent Kill TCC filter

Definition at line 189 of file FilterID.h.


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