10#include <tracking/trackingUtilities/findlets/base/FindletModule.h>
11#include <tracking/ckf/svd/findlets/CKFToSVDFindlet.h>
12#include <tracking/ckf/pxd/findlets/CKFToPXDFindlet.h>
13#include <tracking/ckf/cdc/findlets/CKFToCDCFindlet.h>
14#include <tracking/ckf/svd/findlets/CKFToSVDSeedFindlet.h>
15#include <tracking/ckf/cdc/findlets/CKFToCDCFromEclFindlet.h>
17#include <tracking/dbobjects/SVDToCDCCKFParameters.h>
19#include <tracking/trackingUtilities/eventdata/utils/ClassMnemomics.h>
21#include <boost/variant/variant.hpp>
39 setDescription(
"Combinatorial Kalman Filter used for extrapolating CDC tracks into "
40 "SVD and create merged tracks.");
55 setDescription(
"Combinatorial Kalman Filter used for merging existing CDC tracks and SVD tracks.");
70 setDescription(
"Combinatorial Kalman Filter used for extrapolating SVD/CDC tracks into "
71 "PXD and create merged tracks.");
86 setDescription(
"Combinatorial Kalman Filter used for extrapolating SVD tracks into "
87 "CDC and create merged tracks.");
90 std::vector<std::string> payloadVarNames = {
"maximalDeltaPhi",
"firstActiveCDCLayer",
"maximalLayerJump",
"maximalLayerJumpBackwardSeed",
"pathMaximalCandidatesInFlight",
"stateMaximalHitCandidates",
"stateBasicFilterParameters"};
92 for (
const auto& varName : payloadVarNames) {
95 ModuleParamBase* paramPtr =
nullptr;
96 if (typeInfo ==
"int") {
98 }
else if (typeInfo ==
"double") {
100 }
else if (typeInfo ==
"float") {
102 }
else if (typeInfo ==
"unsigned long int") {
104 }
else if (typeInfo ==
"dict(str -> variant(bool, int, float, str, list(str)))") {
105 using variantType = boost::variant<bool, int, double, std::string, std::vector<std::string> >;
108 B2FATAL(
"Type " << typeInfo <<
" not supported ");
111 paramPtr->setDescription(
"[WARNING: may be overridden by payload] " + paramPtr->getDescription());
125 if (!payload.isValid()) {
126 B2FATAL(
"ToCDCCKFModule: DB payload 'SVDToCDCCKFParameters' not found or not valid for current run.");
130 paramRef.setValue(payload->getStateCreatorFirstCDCLayer());
133 using variantType = boost::variant<bool, int, double, std::string, std::vector<std::string> >;
136 std::vector<std::string> filterNames = {
139 "stateExtrapolationFilter",
143 for (
const std::string& filterName : filterNames) {
146 if (filterNameValue.find(
"rough") != filterNameValue.npos) {
147 std::map<std::string, variantType>& value =
149 value[
"maximalArcLengthDistance"] = payload->getMaxArcLengthRoughCDCStateFilter();
172 setDescription(
"Combinatorial Kalman Filter used for extrapolating ECL showers into "
173 "CDC and create merged tracks.");
CDCToSVDSeedCKFModule()
Set description.
CDCToSVDSpacePointCKFModule()
Set description.
Main findlet of the ToCDCCKF module.
Main findlet of the ToCDCCKF module.
Class for accessing objects in the database.
std::string getParameterTypeInfo(const std::string &name) const
Returns the type info of a parameter given by its name.
void setDescription(const std::string &description)
const ModuleParamList & getParamList() const
void beginRun() override
Signal the beginning of a new run.
ToCDCCKFModule()
Set description.
ToCDCFromEclCKFModule()
Set description.
ToPXDCKFModule()
Set description.
Adapter of a findlet to a module that exposes the parameters of the findlet and manages the IO with t...
FindletModule(const std::array< std::string, c_nTypes > &storeVectorNames={})
virtual void beginRun() override
Signal the beginning of a new run.
ModuleParam< T > & getParameter(const std::string &name) const
Returns a reference to a parameter.
ModuleParam< T > & getParam(const std::string &name) const
Returns a reference to a parameter.
Abstract base class for different kinds of events.