10 #include <tracking/modules/fitter/GenfitTrackCreatorModule.h>
11 #include <tracking/dataobjects/RecoTrack.h>
12 #include <framework/datastore/RelationArray.h>
14 #include <genfit/Track.h>
24 setDescription(
"Module turning reco tracks to genfit tracks (will be unneeded once we use reco tracks everywhere).");
25 setPropertyFlags(c_ParallelProcessingCertified);
27 addParam(
"genfitTracksStoreArrayName", m_param_genfitTrackStoreArrayName,
"StoreArray name of the output tracks.",
28 m_param_genfitTrackStoreArrayName);
29 addParam(
"genfitTrackCandsStoreArrayName", m_param_genfitTrackCandsStoreArrayName,
30 "StoreArray name of the related track candidates.",
31 m_param_genfitTrackCandsStoreArrayName);
32 addParam(
"recoTracksStoreArrayName", m_param_recoTracksStoreArrayName,
"StoreArray name of the input reco tracks.",
33 m_param_recoTracksStoreArrayName);
36 void GenfitTrackCreatorModule::initialize()
38 B2WARNING(
"This module is depricated as it uses genfit::Track(Cand)s instead of RecoTracks. It will be removed in the future. If you need information on the transition, please contact Nils Braun (nils.braun@kit.edu).");
40 recoTracks.isRequired();
43 genfitTracks.registerInDataStore();
51 void GenfitTrackCreatorModule::event()
60 RelationArray relationsFromTrackCandsToTracks(genfitTrackCands, genfitTracks);
61 unsigned int trackCounter = 0;
64 if (recoTrack.wasFitSuccessful()) {
65 genfitTracks.
appendNew(RecoTrackGenfitAccess::getGenfitTrack(recoTrack));
67 m_param_genfitTrackCandsStoreArrayName);
70 int relatedTrackCandidateCounter = -1;
71 int trackCandidateCounter = 0;
74 if (&trackCandidate == relatedTrackCand) {
75 relatedTrackCandidateCounter = trackCandidateCounter;
78 trackCandidateCounter++;
81 if (relatedTrackCandidateCounter != -1) {
82 relationsFromTrackCandsToTracks.
add(relatedTrackCandidateCounter, trackCounter);
84 B2WARNING(
"Related TrackCandidate is invalid. Do not add relation.");