Belle II Software  release-05-02-19
XHitFilterFactory.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2013 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Jakob Lettenbichler (jakob.lettenbichler@oeaw.ac.at *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 
14 #include <tracking/dataobjects/FilterID.h>
15 
16 // 2-hit:
17 #include <tracking/vxdCaTracking/TwoHitFilters.h>
18 // 3-hit:
19 #include <tracking/vxdCaTracking/ThreeHitFilters.h>
20 // 4-hit:
21 #include <tracking/vxdCaTracking/FourHitFilters.h>
22 
23 #include <framework/logging/Logger.h>
24 
25 #include <string>
26 
27 #include <TVector3.h>
28 
29 
30 namespace Belle2 {
37  template<class PointType>
38  class XHitFilterFactory {
39  public:
40 
42  XHitFilterFactory(double x = 0, double y = 0, double z = 0, double mField = 1.5) :
43  m_virtualIP(x, y, z)
44  {
47  }
48 
49 
50 
52  /* XHitFilterFactory() : m_virtualIP(0, 0, 0) {}*/
53 
54 
55 
58 
60  using TwoHitFunction = typename std::function<double(const PointType&, const PointType&)>;
61 
63  using ThreeHitFunction = typename std::function<double(const PointType&, const PointType&, const PointType&)>;
64 
66  using FourHitFunction = typename std::function<double(const PointType&, const PointType&, const PointType&, const PointType&)>;
67 
68 
69 
71  TwoHitFunction get2HitInterface(std::string variableName)
72  {
73  XHitFilterType varType = FilterID::getTypeEnum(variableName);
74  return get2HitInterface(varType);
75  }
76 
77 
78 
81  {
82  // prepare stuff for 2-hit-filters:
83  auto prepareStuff = [ = ](const PointType & outerHit, const PointType & innerHit) -> void {
84  TVector3 tOuterHit(outerHit.X(), outerHit.Y(), outerHit.Z());
85  TVector3 tInnerHit(innerHit.X(), innerHit.Y(), innerHit.Z());
86  m_twoHit.resetValues(tOuterHit, tInnerHit);
87  };
88 
90  if (variableType == FilterID::distance3D) {
91  return [ = ](const PointType & outerHit, const PointType & innerHit) -> double {
92  prepareStuff(outerHit, innerHit);
93  return m_twoHit.calcDist3D();
94  };
95  }
96 
97  if (variableType == FilterID::distanceXY) {
98  return [ = ](const PointType & outerHit, const PointType & innerHit) -> double {
99  prepareStuff(outerHit, innerHit);
100  return m_twoHit.calcDistXY();
101  };
102  }
103 
104  if (variableType == FilterID::distanceZ) {
105  return [ = ](const PointType & outerHit, const PointType & innerHit) -> double {
106  prepareStuff(outerHit, innerHit);
107  return m_twoHit.calcDistZ();
108  };
109  }
110 
111  if (variableType == FilterID::slopeRZ) {
112  return [ = ](const PointType & outerHit, const PointType & innerHit) -> double {
113  prepareStuff(outerHit, innerHit);
114  return m_twoHit.calcSlopeRZ();
115  };
116  }
117 
118  if (variableType == FilterID::normedDistance3D) {
119  return [ = ](const PointType & outerHit, const PointType & innerHit) -> double {
120  prepareStuff(outerHit, innerHit);
121  return m_twoHit.calcNormedDist3D();
122  };
123  }
124 
125  // prepare stuff for 2+1-hit-filters
126  auto prepareStuffHiOc = [ = ](const PointType & outerHit, const PointType & innerHit) -> void {
127  TVector3 tOuterHit(outerHit.X(), outerHit.Y(), outerHit.Z());
128  TVector3 tInnerHit(innerHit.X(), innerHit.Y(), innerHit.Z());
129  m_threeHit.resetValues(tOuterHit, tInnerHit, m_virtualIP);
130  };
131 
132 
134  if (variableType == FilterID::anglesHighOccupancy3D) {
135  return [ = ](const PointType & outerHit, const PointType & innerHit) -> double {
136  prepareStuffHiOc(outerHit, innerHit);
137  return m_threeHit.calcAngle3D();
138  };
139  }
140 
141  if (variableType == FilterID::anglesHighOccupancyXY) {
142  return [ = ](const PointType & outerHit, const PointType & innerHit) -> double {
143  prepareStuffHiOc(outerHit, innerHit);
144  return m_threeHit.calcAngleXY();
145  };
146  }
147 
148  if (variableType == FilterID::anglesHighOccupancyRZ) {
149  return [ = ](const PointType & outerHit, const PointType & innerHit) -> double {
150  prepareStuffHiOc(outerHit, innerHit);
151  return m_threeHit.calcAngleRZ();
152  };
153  }
154 
155  if (variableType == FilterID::distanceHighOccupancy2IP) {
156  return [ = ](const PointType & outerHit, const PointType & innerHit) -> double {
157  prepareStuffHiOc(outerHit, innerHit);
158  return m_threeHit.calcCircleDist2IP();
159  };
160  }
161 
162  if (variableType == FilterID::deltaSlopeHighOccupancyRZ) {
163  return [ = ](const PointType & outerHit, const PointType & innerHit) -> double {
164  prepareStuffHiOc(outerHit, innerHit);
165  return m_threeHit.calcDeltaSlopeRZ();
166  };
167  }
168 
169  if (variableType == FilterID::pTHighOccupancy) {
170  return [ = ](const PointType & outerHit, const PointType & innerHit) -> double {
171  prepareStuffHiOc(outerHit, innerHit);
172  return m_threeHit.calcPt();
173  };
174  }
175 
176  if (variableType == FilterID::helixParameterHighOccupancyFit) {
177  return [ = ](const PointType & outerHit, const PointType & innerHit) -> double {
178  prepareStuffHiOc(outerHit, innerHit);
180  };
181  }
182 
183 
184 
185  B2ERROR(" XHitFilterAdapter-2Hit: given name (raw/full): " << variableType <<
186  "/" << FilterID::getTypeName(variableType) <<
187  " is not known, returning dummy function with 0.0 as a result instead!");
188 
189  return [&](const PointType&, const PointType&) -> double { return 0.0; };
190  }
191 
192 
193 
195  ThreeHitFunction get3HitInterface(std::string variableName)
196  {
197  XHitFilterType varType = FilterID::getTypeEnum(variableName);
198  return get3HitInterface(varType);
199  }
200 
201 
202 
205  {
206  // prepare stuff for 3-hit-filters
207  auto prepareStuff3Hit = [ = ](const PointType & outerHit, const PointType & centerHit, const PointType & innerHit) -> void {
208  TVector3 tOuterHit(outerHit.X(), outerHit.Y(), outerHit.Z());
209  TVector3 tCenterHit(centerHit.X(), centerHit.Y(), centerHit.Z());
210  TVector3 tInnerHit(innerHit.X(), innerHit.Y(), innerHit.Z());
211  m_threeHit.resetValues(tOuterHit, tCenterHit, tInnerHit);
212  };
213 
215  if (variableType == FilterID::angles3D) {
216  return [ = ](const PointType & outerHit, const PointType & centerHit, const PointType & innerHit) -> double {
217  prepareStuff3Hit(outerHit, centerHit, innerHit);
218  return m_threeHit.calcAngle3D();
219  };
220  }
221 
222  if (variableType == FilterID::anglesRZ) {
223  return [ = ](const PointType & outerHit, const PointType & centerHit, const PointType & innerHit) -> double {
224  prepareStuff3Hit(outerHit, centerHit, innerHit);
225  return m_threeHit.calcAngleRZ();
226  };
227  }
228 
229  if (variableType == FilterID::anglesXY) {
230  return [ = ](const PointType & outerHit, const PointType & centerHit, const PointType & innerHit) -> double {
231  prepareStuff3Hit(outerHit, centerHit, innerHit);
232  return m_threeHit.calcAngleXY();
233  };
234  }
235 
236  if (variableType == FilterID::deltaSlopeRZ) {
237  return [ = ](const PointType & outerHit, const PointType & centerHit, const PointType & innerHit) -> double {
238  prepareStuff3Hit(outerHit, centerHit, innerHit);
239  return m_threeHit.calcDeltaSlopeRZ();
240  };
241  }
242 
243  if (variableType == FilterID::pT) {
244  return [ = ](const PointType & outerHit, const PointType & centerHit, const PointType & innerHit) -> double {
245  prepareStuff3Hit(outerHit, centerHit, innerHit);
246  return m_threeHit.calcPt();
247  };
248  }
249 
250  if (variableType == FilterID::distance2IP) {
251  return [ = ](const PointType & outerHit, const PointType & centerHit, const PointType & innerHit) -> double {
252  prepareStuff3Hit(outerHit, centerHit, innerHit);
253  return m_threeHit.calcCircleDist2IP();
254  };
255  }
256 
257  if (variableType == FilterID::helixParameterFit) {
258  return [ = ](const PointType & outerHit, const PointType & centerHit, const PointType & innerHit) -> double {
259  prepareStuff3Hit(outerHit, centerHit, innerHit);
261  };
262  }
263 
264  if (variableType == FilterID::deltaSOverZ) {
265  return [ = ](const PointType & outerHit, const PointType & centerHit, const PointType & innerHit) -> double {
266  prepareStuff3Hit(outerHit, centerHit, innerHit);
267  return m_threeHit.calcDeltaSOverZ();
268  };
269  }
270 
271  if (variableType == FilterID::deltaSlopeZOverS) {
272  return [ = ](const PointType & outerHit, const PointType & centerHit, const PointType & innerHit) -> double {
273  prepareStuff3Hit(outerHit, centerHit, innerHit);
275  };
276  }
277 
278 
279  // prepare stuff for 3+1-hit-filters
280  auto prepareStuff4Hit = [ = ](const PointType & outerHit, const PointType & centerHit,
281  const PointType & innerHit) -> void {
282  TVector3 tOuterHit(outerHit.X(), outerHit.Y(), outerHit.Z());
283  TVector3 tCenterHit(centerHit.X(), centerHit.Y(), centerHit.Z());
284  TVector3 tInnerHit(innerHit.X(), innerHit.Y(), innerHit.Z());
285  m_fourHit.resetValues(tOuterHit, tCenterHit, tInnerHit, m_virtualIP);
286  };
287 
289  if (variableType == FilterID::deltapTHighOccupancy) {
290  return [ = ](const PointType & outerHit, const PointType & centerHit, const PointType & innerHit) -> double {
291  prepareStuff4Hit(outerHit, centerHit, innerHit);
292  return m_fourHit.calcDeltapT();
293  };
294  }
295 
296  if (variableType == FilterID::deltaDistanceHighOccupancy2IP) {
297  return [ = ](const PointType & outerHit, const PointType & centerHit, const PointType & innerHit) -> double {
298  prepareStuff4Hit(outerHit, centerHit, innerHit);
300  };
301  }
302 
303 
304  B2ERROR(" XHitFilterAdapter-3Hit: given name (raw/full): " << variableType <<
305  "/" << FilterID::getTypeName(variableType) <<
306  " is not known, returning dummy function with 0.0 as a result instead!");
307 
308  return [&](const PointType&, const PointType&, const PointType&) -> double { return 0.0; };
309  }
310 
311 
312 
314  FourHitFunction get4HitInterface(std::string variableName)
315  {
316  XHitFilterType varType = FilterID::getTypeEnum(variableName);
317  return get4HitInterface(varType);
318  }
319 
320 
321 
324  {
325 
326  // prepare stuff for 4-hit-filters
327  auto prepareStuff4Hit = [ = ](const PointType & outerHit, const PointType & outerCenterHit,
328  const PointType & innerCenterHit, const PointType & innerHit) -> void {
329  TVector3 tOuterHit(outerHit.X(), outerHit.Y(), outerHit.Z());
330  TVector3 tOuterCenterHit(outerCenterHit.X(), outerCenterHit.Y(), outerCenterHit.Z());
331  TVector3 tInnerCenterHit(innerCenterHit.X(), innerCenterHit.Y(), innerCenterHit.Z());
332  TVector3 tInnerHit(innerHit.X(), innerHit.Y(), innerHit.Z());
333  m_fourHit.resetValues(tOuterHit, tOuterCenterHit, tInnerCenterHit, tInnerHit);
334  };
335 
337  if (variableType == FilterID::deltapT) {
338  return [ = ](const PointType & outerHit, const PointType & outerCenterHit,
339  const PointType & innerCenterHit , const PointType & innerHit) -> double {
340  prepareStuff4Hit(outerHit, outerCenterHit, innerCenterHit, innerHit);
341  return m_fourHit.calcDeltapT();
342  };
343  }
344 
345  if (variableType == FilterID::deltaDistance2IP) {
346  return [ = ](const PointType & outerHit, const PointType & outerCenterHit,
347  const PointType & innerCenterHit , const PointType & innerHit) -> double {
348  prepareStuff4Hit(outerHit, outerCenterHit, innerCenterHit, innerHit);
350  };
351  }
352 
353 
354  B2ERROR(" XHitFilterAdapter-4Hit: given name (raw/full): " << variableType <<
355  "/" << FilterID::getTypeName(variableType) <<
356  " is not known, returning dummy function with 0.0 as a result instead!");
357 
358  return [&](const PointType&, const PointType&, const PointType&, const PointType&) -> double { return 0.0; };
359  }
360 
361 
362 
363  protected:
364 
365  TwoHitFilters m_twoHit;
366  ThreeHitFilters m_threeHit;
367  FourHitFilters m_fourHit;
369  TVector3 m_virtualIP;
370  };
372 }
373 
374 
Belle2::FilterID::distanceZ
@ distanceZ
string name of filter dZ
Definition: FilterID.h:45
Belle2::ThreeHitFilters::resetValues
void resetValues(TVector3 &outerHit, TVector3 &centerHit, TVector3 &innerHit)
Overrides Constructor-Setup.
Definition: ThreeHitFilters.h:75
Belle2::ThreeHitFilters::calcAngleRZ
double calcAngleRZ()
calculates the angle between the hits/vectors (RZ), returning unit: none (calculation for degrees is ...
Definition: ThreeHitFilters.h:152
Belle2::XHitFilterFactory< Belle2::SecMapTrainerHit >::TwoHitFunction
typename std::function< double(const Belle2::SecMapTrainerHit &, const Belle2::SecMapTrainerHit &)> TwoHitFunction
typedef for more readable function-type - to be used for 2-hit-selectionVariables.
Definition: XHitFilterFactory.h:68
Belle2::FilterID::helixParameterFit
@ helixParameterFit
string name of filter helix Paramater Fit
Definition: FilterID.h:67
Belle2::TwoHitFilters::calcDist3D
double calcDist3D() const
calculates the distance between the hits (3D), returning unit: cm^2 for speed optimization
Definition: TwoHitFilters.h:65
Belle2::FilterID::anglesHighOccupancy3D
@ anglesHighOccupancy3D
string name of filter a3D high occupancy
Definition: FilterID.h:51
Belle2::FilterID::normedDistance3D
@ normedDistance3D
string name of filter nd3D
Definition: FilterID.h:47
Belle2::XHitFilterFactory::m_twoHit
TwoHitFilters m_twoHit
contains all 2-hit-filters.
Definition: XHitFilterFactory.h:373
Belle2::XHitFilterFactory::get2HitInterface
TwoHitFunction get2HitInterface(std::string variableName)
For given name of a variableType a function for the corresponding Filter is returned.
Definition: XHitFilterFactory.h:79
Belle2::FilterID::angles3D
@ angles3D
string name of filter a3D
Definition: FilterID.h:61
Belle2::ThreeHitFilters::calcCircleDist2IP
double calcCircleDist2IP()
calculates the distance of the point of closest approach of circle to the IP, returning unit: cm
Definition: ThreeHitFilters.h:174
Belle2::TwoHitFilters::calcNormedDist3D
double calcNormedDist3D() const
calculates the normed distance between the hits (3D), return unit: none
Definition: TwoHitFilters.h:91
Belle2::FourHitFilters::resetValues
void resetValues(TVector3 &outer, TVector3 &outerCenter, TVector3 &innerCenter, TVector3 &inner)
Overrides Constructor-Setup.
Definition: FourHitFilters.h:58
Belle2::XHitFilterFactory::get3HitInterface
ThreeHitFunction get3HitInterface(std::string variableName)
For given name of a variableType a function for the corresponding Filter is returned.
Definition: XHitFilterFactory.h:203
Belle2::ThreeHitFilters::calcDeltaSlopeRZ
double calcDeltaSlopeRZ()
calculates deviations in the slope of the inner segment and the outer segment, returning unit: none
Definition: ThreeHitFilters.h:204
Belle2::TwoHitFilters::calcSlopeRZ
double calcSlopeRZ() const
calculates the angle of the slope of the hits in RZ, returnValue = theta = atan(r/z)
Definition: TwoHitFilters.h:80
Belle2::FilterID::slopeRZ
@ slopeRZ
string name of filter slopeRZ
Definition: FilterID.h:46
Belle2::TwoHitFilters::calcDistZ
double calcDistZ() const
calculates the distance between the hits (Z only), returning unit: cm
Definition: TwoHitFilters.h:77
Belle2::FilterID::anglesRZ
@ anglesRZ
string name of filter aRZ
Definition: FilterID.h:62
Belle2::FilterID::pT
@ pT
string name of filter pT
Definition: FilterID.h:65
Belle2::FilterID::deltaSlopeZOverS
@ deltaSlopeZOverS
deltaSlopeZOverS Filter
Definition: FilterID.h:69
Belle2::XHitFilterFactory< Belle2::SecMapTrainerHit >::FourHitFunction
typename std::function< double(const Belle2::SecMapTrainerHit &, const Belle2::SecMapTrainerHit &, const Belle2::SecMapTrainerHit &, const Belle2::SecMapTrainerHit &)> FourHitFunction
typedef for more readable function-type - to be used for 4-hit-selectionVariables.
Definition: XHitFilterFactory.h:74
Belle2::FilterID::deltapT
@ deltapT
string name of filter dPt
Definition: FilterID.h:78
Belle2::FilterID::distance2IP
@ distance2IP
string name of filter d2IP
Definition: FilterID.h:66
Belle2::FilterID::deltapTHighOccupancy
@ deltapTHighOccupancy
string name of filter dPt high occupancy
Definition: FilterID.h:73
Belle2::ThreeHitFilters::calcAngleXY
double calcAngleXY()
calculates the angle between the hits/vectors (XY), returning unit: none (calculation for degrees is ...
Definition: ThreeHitFilters.h:133
Belle2::FilterID::distanceXY
@ distanceXY
string name of filter dXY
Definition: FilterID.h:44
Belle2::FilterID::distanceHighOccupancy2IP
@ distanceHighOccupancy2IP
string name of filter d2IP high occupancy
Definition: FilterID.h:54
Belle2::XHitFilterFactory::XHitFilterFactory
XHitFilterFactory(double x=0, double y=0, double z=0, double mField=1.5)
constructor where virtual IP has been passed
Definition: XHitFilterFactory.h:50
Belle2::ThreeHitFilters::calcAngle3D
double calcAngle3D()
calculates the angle between the hits/vectors (3D), returning unit: none (calculation for degrees is ...
Definition: ThreeHitFilters.h:113
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::XHitFilterFactory::m_threeHit
ThreeHitFilters m_threeHit
contains all 3-hit-filters.
Definition: XHitFilterFactory.h:374
Belle2::FilterID::pTHighOccupancy
@ pTHighOccupancy
string name of filter pT high occupancy
Definition: FilterID.h:56
Belle2::FilterID::deltaDistance2IP
@ deltaDistance2IP
string name of filter dd2IP
Definition: FilterID.h:79
Belle2::FilterID::anglesHighOccupancyXY
@ anglesHighOccupancyXY
string name of filter aXY high occupancy
Definition: FilterID.h:52
Belle2::FourHitFilters::calcDeltaDistCircleCenter
double calcDeltaDistCircleCenter()
calculates ddist2IP-value directly (ddist2IP= difference in magnitude of the points of closest approa...
Definition: FourHitFilters.cc:29
Belle2::XHitFilterFactory::m_fourHit
FourHitFilters m_fourHit
contains all 4-hit-filters.
Definition: XHitFilterFactory.h:375
Belle2::XHitFilterFactory::get4HitInterface
FourHitFunction get4HitInterface(std::string variableName)
For given name of a variableType a function for the corresponding Filter is returned.
Definition: XHitFilterFactory.h:322
Belle2::FilterID::distance3D
@ distance3D
string name of filter d3D
Definition: FilterID.h:43
Belle2::FilterID::getTypeName
static std::string getTypeName(filterTypes filterType)
returns name of given type, needed for compatibility with other modules
Definition: FilterID.cc:437
Belle2::FourHitFilters::resetMagneticField
void resetMagneticField(double magneticFieldStrength=1.5)
Overrides Constructor-Setup for magnetic field.
Definition: FourHitFilters.h:70
Belle2::XHitFilterFactory::m_virtualIP
TVector3 m_virtualIP
contains global coordinates of virtual interaction point.
Definition: XHitFilterFactory.h:377
Belle2::ThreeHitFilters::calcHelixParameterFit
double calcHelixParameterFit()
calculates the helixparameter describing the deviation in z per unit angle, returning unit: none
Definition: ThreeHitFilters.h:253
Belle2::ThreeHitFilters::calcDeltaSlopeZOverS
double calcDeltaSlopeZOverS()
compares the "slopes" z over arc length.
Definition: ThreeHitFilters.h:237
Belle2::ThreeHitFilters::resetMagneticField
void resetMagneticField(double magneticFieldStrength=1.5)
Overrides Constructor-Setup for magnetic field.
Definition: ThreeHitFilters.h:98
Belle2::FilterID::deltaDistanceHighOccupancy2IP
@ deltaDistanceHighOccupancy2IP
string name of filter dd2IP high occupancy
Definition: FilterID.h:74
Belle2::FilterID::filterTypes
filterTypes
filterTyoes contains enums assigning unique values for each filter type allowing fast filter type rec...
Definition: FilterID.h:41
Belle2::FilterID::getTypeEnum
static filterTypes getTypeEnum(const std::string &filterString)
returns type of given name, needed for compatibility with other modules.
Definition: FilterID.h:250
Belle2::TwoHitFilters::resetValues
void resetValues(TVector3 &outerHit, TVector3 &innerHit)
Overrides Constructor-Setup.
Definition: TwoHitFilters.h:56
Belle2::ThreeHitFilters::calcDeltaSOverZ
double calcDeltaSOverZ()
calculates the helixparameter describing the deviation in arc length per unit in z.
Definition: ThreeHitFilters.h:220
Belle2::TwoHitFilters::calcDistXY
double calcDistXY() const
calculates the distance between the hits (XY), returning unit: cm^2 for speed optimization
Definition: TwoHitFilters.h:71
Belle2::FilterID::anglesXY
@ anglesXY
string name of filter aXY
Definition: FilterID.h:63
Belle2::FilterID::deltaSlopeRZ
@ deltaSlopeRZ
string name of filter dslopeRZ
Definition: FilterID.h:64
Belle2::XHitFilterFactory::XHitFilterType
FilterID::filterTypes XHitFilterType
constructor where nothing has been passed
Definition: XHitFilterFactory.h:65
Belle2::FilterID::deltaSOverZ
@ deltaSOverZ
deltaSOverZ Filter
Definition: FilterID.h:68
Belle2::FourHitFilters::calcDeltapT
double calcDeltapT()
calculates dpt-value (dpt= difference in transverse momentum of 2 subsets of the hits),...
Definition: FourHitFilters.cc:20
Belle2::XHitFilterFactory< Belle2::SecMapTrainerHit >::ThreeHitFunction
typename std::function< double(const Belle2::SecMapTrainerHit &, const Belle2::SecMapTrainerHit &, const Belle2::SecMapTrainerHit &)> ThreeHitFunction
typedef for more readable function-type - to be used for 3-hit-selectionVariables.
Definition: XHitFilterFactory.h:71
Belle2::FilterID::anglesHighOccupancyRZ
@ anglesHighOccupancyRZ
string name of filter aRZ high occupancy
Definition: FilterID.h:53
Belle2::FilterID::helixParameterHighOccupancyFit
@ helixParameterHighOccupancyFit
string name of filter hFit high occupancy
Definition: FilterID.h:57
Belle2::ThreeHitFilters::calcPt
double calcPt()
calculates the estimation of the transverse momentum of the 3-hit-tracklet, returning unit: GeV/c
Definition: ThreeHitFilters.h:184
Belle2::FilterID::deltaSlopeHighOccupancyRZ
@ deltaSlopeHighOccupancyRZ
string name of filter dslopeRZ high occupancy
Definition: FilterID.h:55