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",
54 B2ASSERT(
"Inner hit is invalid",
58 outerStateCache.localNormalizedv);
60 innerStateCache.localNormalizedv);
64 const auto*
filter = outerStaticSector->getFilter2sp(innerSecID);
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.
VXDTFFilters< point_t > * getFilters(const std::string &setupName)
Gives access to the sector map and filters of a given setup.
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 beginRun() override
Receive and dispatch signal for the beginning of a new run.
FullSecID getFullID(VxdID aSensorID, double normalizedU, double normalizedV) const
returns fullSecID for given sensorID and local coordinates.
bool areCoordinatesValid(VxdID aSensorID, double normalizedU, double normalizedV) const
check if using getFullID() would be safe (true if it is safe):
const staticSector_t * getStaticSector(const FullSecID secID) const
returns pointer to static sector for given fullSecID.
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.
B2Vector3D outerHit(0, 0, 0)
testing out of range behavior
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.