8 #include <tracking/vxdHoughTracking/filters/relations/SimpleRelationFilter.h>
9 #include <tracking/trackFindingCDC/filters/base/Filter.icc.h>
10 #include <tracking/trackFindingCDC/utilities/StringManipulation.h>
11 #include <framework/core/ModuleParamList.templateDetails.h>
14 using namespace TrackFindingCDC;
15 using namespace vxdHoughTracking;
17 void SimpleRelationFilter::exposeParameters(
ModuleParamList* moduleParamList,
const std::string& prefix)
19 moduleParamList->
addParameter(TrackFindingCDC::prefixed(prefix,
"simpleThetaCutDeltaL0"), m_SimpleThetaCutDeltaL0,
20 "Simple cut in theta for the overlay region of different ladders in the same layer.",
21 m_SimpleThetaCutDeltaL0);
22 moduleParamList->
addParameter(TrackFindingCDC::prefixed(prefix,
"simpleThetaCutDeltaL1"), m_SimpleThetaCutDeltaL1,
23 "Simple cut in theta for relations between hits with Delta_Layer = +-1.", m_SimpleThetaCutDeltaL1);
24 moduleParamList->
addParameter(TrackFindingCDC::prefixed(prefix,
"simpleThetaCutDeltaL2"), m_SimpleThetaCutDeltaL2,
25 "Simple cut in theta for relations between hits with Delta_Layer = +-2.", m_SimpleThetaCutDeltaL2);
28 TrackFindingCDC::Weight
29 SimpleRelationFilter::operator()(
const std::pair<const VXDHoughState*, const VXDHoughState*>& relation)
34 const double absThetaDiff = abs(currentVXDHoughState.
theta - nextVXDHoughState.
theta);
38 if (currentVXDHoughState.
layer == nextVXDHoughState.
layer) {
39 if (absThetaDiff > m_SimpleThetaCutDeltaL0) {
48 const ushort absLayerDiff = abs(currentVXDHoughState.
layer - nextVXDHoughState.
layer);
49 if ((absLayerDiff == 1 and absThetaDiff < m_SimpleThetaCutDeltaL1) or
50 (absLayerDiff == 2 and absThetaDiff < m_SimpleThetaCutDeltaL2)) {
The Module parameter list class.
void addParameter(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module list.
Abstract base class for different kinds of events.
Cache containing the most important information of this state which will often be needed.
unsigned short layer
Geometrical Layer this state is based on.
float theta
Theta value of SpacePoint.