8#include <tracking/ckf/svd/filters/relations/SectorMapBasedSVDPairFilter.h>
9#include <tracking/trackFindingCDC/filters/base/Filter.icc.h>
11#include <tracking/trackFindingCDC/utilities/StringManipulation.h>
13#include <tracking/spacePointCreation/SpacePoint.h>
14#include <framework/core/ModuleParamList.templateDetails.h>
15#include <tracking/dataobjects/FullSecID.h>
44 B2ASSERT(
"From and to state must be set", fromState and toState);
46 const CKFToSVDState::stateCache& outerStateCache = fromState->
getStateCache();
47 const CKFToSVDState::stateCache& innerStateCache = toState->
getStateCache();
49 B2ASSERT(
"Both hits must be present!", outerStateCache.isHitState and innerStateCache.isHitState);
52 B2ASSERT(
"Outer hit is invalid",
53 m_vxdtfFilters->areCoordinatesValid(outerStateCache.sensorID, outerStateCache.localNormalizedu, outerStateCache.localNormalizedv));
54 B2ASSERT(
"Inner hit is invalid",
55 m_vxdtfFilters->areCoordinatesValid(innerStateCache.sensorID, innerStateCache.localNormalizedu, innerStateCache.localNormalizedv));
58 outerStateCache.localNormalizedv);
60 innerStateCache.localNormalizedv);
62 const auto* outerStaticSector =
m_vxdtfFilters->getStaticSector(outerSecID);
64 const auto*
filter = outerStaticSector->getFilter2sp(innerSecID);
72 if (not
filter->accept(*outerHit, *innerHit)) {
const Hit * getHit() const
Return the SP this state is related to. May be nullptr.
Specialized CKF State for extrapolating into the SVD.
const struct stateCache & getStateCache() const
Get the cached data of this state.
Class to identify a sector inside of the VXD.
VxdID getVxdID() const
returns VxdID of sensor.
The Module parameter list class.
SectorMapFilter * m_vxdtfFilters
The sector map filter, will be set in begin run.
std::string m_param_sectorMapName
Name of the sector map to use.
FilterContainer & m_filtersContainer
The filter container to use.
SpacePoint typically is build from 1 PXDCluster or 1-2 SVDClusters.
void addParameter(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module list.
std::map< ExpRun, std::pair< double, double > > filter(const std::map< ExpRun, std::pair< double, double > > &runs, double cut, std::map< ExpRun, std::pair< double, double > > &runsRemoved)
filter events to remove runs shorter than cut, it stores removed runs in runsRemoved
void beginRun() final
Initialize the sector map.
TrackFindingCDC::Weight operator()(const std::pair< const CKFToSVDState *, const CKFToSVDState * > &relation) override
Give a final weight to the possibilities by asking the filter.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters of the filter.
Abstract base class for different kinds of events.