8 #include <tracking/modules/fitter/RecoTrackCreatorModule.h>
9 #include <tracking/dataobjects/RecoTrack.h>
10 #include <tracking/dataobjects/RecoHitInformation.h>
11 #include <mdst/dataobjects/MCParticle.h>
21 setDescription(
"Converts the given genfit::TrackCands in the StoreArray to RecoTracks for further use in the fitter.");
22 setPropertyFlags(c_ParallelProcessingCertified);
24 addParam(
"trackCandidatesStoreArrayName", m_param_trackCandidatesStoreArrayName,
"StoreArray name of the input track candidates.",
25 m_param_trackCandidatesStoreArrayName);
26 addParam(
"recoTracksStoreArrayName", m_param_recoTracksStoreArrayName,
"StoreArray name of the output reco tracks.",
27 m_param_recoTracksStoreArrayName);
28 addParam(
"recoHitInformationStoreArrayName", m_param_recoHitInformationStoreArrayName,
29 "StoreArray name of the output reco hit information.", m_param_recoHitInformationStoreArrayName);
31 addParam(
"recreateSortingParameters", m_param_recreateSortingParameters,
32 "Flag to recreate the sorting parameters of the hit out of the stored order.", m_param_recreateSortingParameters);
34 addParam(
"pxdHitsStoreArrayName", m_param_pxdHitsStoreArrayName,
"StoreArray name of the input PXD hits.",
35 m_param_pxdHitsStoreArrayName);
36 addParam(
"svdHitsStoreArrayName", m_param_svdHitsStoreArrayName,
"StoreArray name of the input SVD hits.",
37 m_param_svdHitsStoreArrayName);
38 addParam(
"cdcHitsStoreArrayName", m_param_cdcHitsStoreArrayName,
"StoreArray name of the input CDC hits.",
39 m_param_cdcHitsStoreArrayName);
40 addParam(
"bklmHitsStoreArrayName", m_param_bklmHitsStoreArrayName,
"StoreArray name of the input BKLM hits.",
41 m_param_bklmHitsStoreArrayName);
42 addParam(
"eklmHitsStoreArrayName", m_param_eklmHitsStoreArrayName,
"StoreArray name of the input EKLM hits.",
43 m_param_eklmHitsStoreArrayName);
46 void RecoTrackCreatorModule::initialize()
63 RecoTrack::registerRequiredRelations(recoTracks,
64 m_param_pxdHitsStoreArrayName,
65 m_param_svdHitsStoreArrayName,
66 m_param_cdcHitsStoreArrayName,
67 m_param_bklmHitsStoreArrayName,
68 m_param_eklmHitsStoreArrayName,
69 m_param_recoHitInformationStoreArrayName);
72 void RecoTrackCreatorModule::event()
86 if (trackCandidate.getNHits() < 3) {
87 B2WARNING(
"Number of hits of track candidate is smaller than 3. Not creating track out of it.");
91 RecoTrack* newRecoTrack = RecoTrack::createFromTrackCand(trackCandidate, m_param_recoTracksStoreArrayName,
92 m_param_cdcHitsStoreArrayName, m_param_svdHitsStoreArrayName, m_param_pxdHitsStoreArrayName,
93 m_param_recoHitInformationStoreArrayName,
94 "",
"", m_param_recreateSortingParameters);
100 const int mcParticleID = trackCandidate.getMcTrackId();
102 MCParticle* relatedMCParticle = mcParticles[mcParticleID];
103 if (relatedMCParticle) {
106 B2WARNING(
"Related MCParticle is invalid. Can not make a relation.");
A Class to store the Monte Carlo particle information.
Module turning trackCands to reco tracks (will be unneeded once we create reco tracks from the beginn...
This is the Reconstruction Event-Data Model Track.
void addRelationTo(const RelationsInterface< BASE > *object, float weight=1.0, const std::string &namedRelation="") const
Add a relation from this object to another object (with caching).
bool isRequired(const std::string &name="")
Ensure this array/object has been registered previously.
bool isOptional(const std::string &name="")
Tell the DataStore about an optional input.
bool registerInDataStore(DataStore::EStoreFlags storeFlags=DataStore::c_WriteOut)
Register the object/array in the DataStore.
Accessor to arrays stored in the data store.
int getEntries() const
Get the number of objects in the array.
bool registerRelationTo(const StoreArray< TO > &toArray, DataStore::EDurability durability=DataStore::c_Event, DataStore::EStoreFlags storeFlags=DataStore::c_WriteOut, const std::string &namedRelation="") const
Register a relation to the given StoreArray.
Track candidate – seed values and indices.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.