8#include <tracking/trackFindingCDC/findlets/minimal/TrackExporter.h>
10#include <tracking/trackFindingCDC/eventdata/tracks/CDCTrack.h>
12#include <tracking/trackFindingCDC/eventdata/utils/RecoTrackUtil.h>
14#include <tracking/trackFindingCDC/utilities/StringManipulation.h>
16#include <tracking/dataobjects/RecoTrack.h>
18#include <framework/datastore/StoreArray.h>
19#include <framework/core/ModuleParamList.templateDetails.h>
21#include <TMatrixDSym.h>
24using namespace TrackFindingCDC;
28 return "Creates a RecoTrack from each CDCTrack.";
33 moduleParamList->
addParameter(prefixed(prefix,
"RecoTracksStoreArrayName"),
35 "Alias for exportTracksInto",
38 moduleParamList->
addParameter(prefixed(prefix,
"WriteRecoTracks"),
40 "Alias for exportTracks",
43 moduleParamList->
addParameter(prefixed(prefix,
"exportTracks"),
45 "Switch for the creation of reco tracks for each cdc track.",
48 moduleParamList->
addParameter(prefixed(prefix,
"exportTracksInto"),
50 "Name of the output StoreArray of RecoTracks.",
53 moduleParamList->
addParameter(prefixed(prefix,
"discardCovarianceMatrix"),
55 "Discard covariance matrix in favour of a hand written one.",
57 moduleParamList->
addParameter(prefixed(prefix,
"monopoleMomSeed"),
59 "If non-zero, estimate seeds as for monopoles and set the momentum magnitude as this value.",
76 TMatrixDSym defaultCovSeed(6);
77 defaultCovSeed(0, 0) = 1e-3;
78 defaultCovSeed(1, 1) = 1e-3;
79 defaultCovSeed(2, 2) = 4e-3;
80 defaultCovSeed(3, 3) = 0.01e-3;
81 defaultCovSeed(4, 4) = 0.01e-3;
82 defaultCovSeed(5, 5) = 0.04e-3;
87 for (
const CDCTrack& track : tracks) {
@ c_ErrorIfAlreadyRegistered
If the object/array was already registered, produce an error (aborting initialisation).
The Module parameter list class.
This is the Reconstruction Event-Data Model Track.
void setSeedCovariance(const TMatrixDSym &seedCovariance)
Set the covariance of the seed. ATTENTION: This is not the fitted covariance.
void setQualityIndicator(const float qualityIndicator)
Set the quality index attached to this RecoTrack. 0 means likely fake.
static void registerRequiredRelations(StoreArray< RecoTrack > &recoTracks, std::string const &pxdHitsStoreArrayName="", std::string const &svdHitsStoreArrayName="", std::string const &cdcHitsStoreArrayName="", std::string const &bklmHitsStoreArrayName="", std::string const &eklmHitsStoreArrayName="", std::string const &recoHitInformationStoreArrayName="")
Convenience method which registers all relations required to fully use a RecoTrack.
bool registerInDataStore(DataStore::EStoreFlags storeFlags=DataStore::c_WriteOut)
Register the object/array in the DataStore.
Accessor to arrays stored in the data store.
Class representing a sequence of three dimensional reconstructed hits.
void initialize() override
Receive and dispatch signal before the start of the event processing.
void apply(std::vector< CDCTrack > &tracks) final
Write give tracks into track store array.
void initialize() final
Signal initialisation phase to register store array for export.
bool m_param_exportTracks
Parameter: Switch if a RecoTrack be generated for each track.
std::string getDescription() final
Short description of the findlet.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
std::string m_param_exportTracksInto
Parameter: Name of the output StoreArray of the RecoTracks generated by this module.
bool m_param_discardCovarianceMatrix
Parameter: Discard covariance matrix in favour of a hand written one.
double m_param_monopoleMomSeed
Parameter: If non-zero, estimate seeds as for monopoles and set the momentum magnitude as this value.
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.
static RecoTrack * storeInto(const CDCTrack &track, StoreArray< RecoTrack > &recoTracks, const double momentumSeedMagnitude)
For magnetic monopoles; estimates charge sign from all stereo hits, momentum direction from hits in c...