Belle II Software development
LayerPXDRelationFilter.dcl.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10#include <tracking/trackFindingCDC/filters/base/RelationFilter.dcl.h>
11#include <tracking/ckf/pxd/entities/CKFToPXDState.h>
12#include <framework/database/DBObjPtr.h>
13#include <tracking/dbobjects/CKFParameters.h>
14
15namespace Belle2 {
21 template <class AFilter, class APrefilter = AFilter>
25
26 public:
27 using Super::operator();
28
31
34
36 std::vector<CKFToPXDState*> getPossibleTos(CKFToPXDState* from,
37 const std::vector<CKFToPXDState*>& states) const override;
38
40 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
41
43 TrackFindingCDC::Weight operator()(const CKFToPXDState& from, const CKFToPXDState& to) override;
44
45 void initialize() override;
46
47 void beginRun() override;
48
49 private:
59 AFilter m_filter;
61 APrefilter m_prefilter;
63 std::string m_prefix = "";
65 std::unique_ptr<DBObjPtr<CKFParameters>> m_ckfParameters;
66 };
68}
Specialized CKF State for extrapolating into the PXD.
Definition: CKFToPXDState.h:27
Base filter for CKF PXD states.
double m_layerJumpPtThreshold
This are values that are actually used ('m_param_hitJumping==-1' means parameter is read from DB).
std::string m_prefix
Used to get correct payload.
int m_layerJumpLowPt
This are values that are actually used ('m_param_hitJumping==-1' means parameter is read from DB).
int m_layerJumpHighPt
This are values that are actually used ('m_param_hitJumping==-1' means parameter is read from DB).
int m_param_hitJumping
Parameter: Make it possible to jump over N layers (if set to -1, read from DB).
APrefilter m_prefilter
Loose pre-filter to reject possibleTos.
AFilter m_filter
Filter for rejecting the states.
std::unique_ptr< DBObjPtr< CKFParameters > > m_ckfParameters
LayerJump parameter can be read from DB (use pointer as payload name contains 'prefix')
The Module parameter list class.
Base class for filtering the neighborhood of objects.
TrackFindingCDC::Weight operator()(const CKFToPXDState &from, const CKFToPXDState &to) override
Give a final weight to the possibilities by asking the filter.
void initialize() override
Receive signal before the start of the event processing.
LayerPXDRelationFilter()
Add the filter as listener.
void beginRun() override
Receive signal for the beginning of a new run.
std::vector< CKFToPXDState * > getPossibleTos(CKFToPXDState *from, const std::vector< CKFToPXDState * > &states) const override
Return all states the given state is possible related to.
~LayerPXDRelationFilter()
Default destructor.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the filter.
Abstract base class for different kinds of events.