8#include <tracking/vxdHoughTracking/findlets/SVDHoughTracking.h>
9#include <tracking/vxdHoughTracking/findlets/RawTrackCandCleaner.icc.h>
10#include <tracking/vxdHoughTracking/utilities/SVDHoughTrackingHelpers.h>
11#include <tracking/spacePointCreation/SpacePointTrackCand.h>
12#include <tracking/trackFindingCDC/utilities/StringManipulation.h>
13#include <framework/logging/Logger.h>
14#include <framework/core/ModuleParamList.h>
17using namespace TrackFindingCDC;
18using namespace vxdHoughTracking;
41 m_overlapResolver.exposeParameters(moduleParamList, TrackFindingCDC::prefixed(prefix,
"finalOverlapResolver"));
43 m_roiFinder.exposeParameters(moduleParamList, prefix);
45 moduleParamList->
getParameter<std::string>(
"relationFilter").setDefaultValue(
"angleAndTime");
46 moduleParamList->
getParameter<std::string>(
"twoHitFilter").setDefaultValue(
"twoHitVirtualIPQI");
47 moduleParamList->
getParameter<std::string>(
"threeHitFilter").setDefaultValue(
"qualityIndicator");
48 moduleParamList->
getParameter<std::string>(
"fourHitFilter").setDefaultValue(
"qualityIndicator");
49 moduleParamList->
getParameter<std::string>(
"fiveHitFilter").setDefaultValue(
"qualityIndicator");
51 moduleParamList->
addParameter(TrackFindingCDC::prefixed(prefix,
"useMultiHoughSpaceInterceptFinding"),
53 "Use Hough spaces working on a subset of hits (=true), or just one Hough space working on all hits at the same time (=false)?",
88 return ((a.getNHits() > b.getNHits()) or
89 (a.getNHits() == b.getNHits() and a.getQualityIndicator() > b.getQualityIndicator()));
The Module parameter list class.
Storage for (VXD) SpacePoint-based track candidates.
void addProcessingSignalListener(ProcessingSignalListener *psl)
void beginEvent() override
virtual void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix)
SpacePointLoaderAndPreparer m_spacePointLoaderAndPreparer
Findlets:
MultiHoughSpaceFastInterceptFinder m_multiHouthSpaceInterceptFinder
Hough Space intercept finder.
std::vector< VXDHoughState > m_vxdHoughStates
Vector containing the cached hit information.
RawTrackCandCleaner< VXDHoughState > m_rawTCCleaner
Raw track candidate cleaner.
std::vector< const SpacePoint * > m_spacePointVector
Container to share data between findlets.
SingleHoughSpaceFastInterceptFinder m_singleHouthSpaceInterceptFinder
Simple Hough Space intercept finder.
TrackCandidateOverlapResolver m_overlapResolver
Resolve hit overlaps in track candidates.
std::vector< SpacePointTrackCand > m_trackCandidates
A track candidate is a vector of SpacePoint, and in each event multiple track candidates will be crea...
SVDHoughTracking()
Constructor for adding the subfindlets.
void beginEvent() override
Clear the object pools.
std::vector< std::vector< VXDHoughState * > > m_rawTrackCandidates
Vector containing raw track candidates.
~SVDHoughTracking()
Default destructor.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
RecoTrackStorer m_recoTrackStorer
Store tracks as RecoTracks.
void apply() override
Function to call all the sub-findlets.
bool m_useMultiHoughSpaceInterceptFinding
Use the elaborate FastInterceptFinder2D with multiple Hough spaces (true) or the simple one with just...
ROIFinder m_roiFinder
ROIFinder findlet, calculates PXD intercepts and ROIs.
ModuleParam< T > & getParameter(const std::string &name) const
Returns a reference to a parameter.
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.