8#include <tracking/trackFindingCDC/findlets/minimal/TrackExporter.h>
10#include <tracking/trackingUtilities/eventdata/tracks/CDCTrack.h>
12#include <tracking/trackFindingCDC/eventdata/utils/RecoTrackUtil.h>
14#include <tracking/trackingUtilities/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;
25using namespace TrackingUtilities;
29 return "Creates a RecoTrack from each CDCTrack.";
34 moduleParamList->
addParameter(prefixed(prefix,
"RecoTracksStoreArrayName"),
36 "Name of the output StoreArray of RecoTracks.",
39 moduleParamList->
addParameter(prefixed(prefix,
"WriteRecoTracks"),
41 "Alias for exportTracks",
44 moduleParamList->
addParameter(prefixed(prefix,
"exportTracks"),
46 "Switch for the creation of reco tracks for each cdc track.",
49 moduleParamList->
addParameter(prefixed(prefix,
"discardCovarianceMatrix"),
51 "Discard covariance matrix in favour of a hand written one.",
53 moduleParamList->
addParameter(prefixed(prefix,
"monopoleMomSeed"),
55 "If non-zero, estimate seeds as for monopoles and set the momentum magnitude as this value.",
72 TMatrixDSym defaultCovSeed(6);
73 defaultCovSeed(0, 0) = 1e-3;
74 defaultCovSeed(1, 1) = 1e-3;
75 defaultCovSeed(2, 2) = 4e-3;
76 defaultCovSeed(3, 3) = 0.01e-3;
77 defaultCovSeed(4, 4) = 0.01e-3;
78 defaultCovSeed(5, 5) = 0.04e-3;
83 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.
void initialize() final
Signal initialisation phase to register store array for export.
void apply(std::vector< TrackingUtilities::CDCTrack > &tracks) final
Write give tracks into track store array.
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.
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.
std::string m_param_RecoTracksName
Parameter: Name of the output StoreArray of the RecoTracks generated by this module.
Class representing a sequence of three dimensional reconstructed hits.
void initialize() override
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 TrackingUtilities::CDCTrack &track, StoreArray< RecoTrack > &recoTracks, const double momentumSeedMagnitude)
For magnetic monopoles; estimates charge sign from all stereo hits, momentum direction from hits in c...