8#include <tracking/modules/vxdCDCTrackMerger/MCVXDCDCTrackMergerModule.h>
9#include <tracking/dataobjects/RecoTrack.h>
11#include <tracking/mcMatcher/TrackMatchLookUp.h>
12#include <tracking/trackFindingCDC/utilities/StringManipulation.h>
33 "Only use fitted CDC tracks as otherwise the comparison with the CKF is unfair.",
40 std::vector<RecoTrack*> cdcRecoTrackVector;
41 std::vector<RecoTrack*> vxdRecoTrackVector;
46 std::vector<TrackFindingCDC::WeightedRelation<RecoTrack*, RecoTrack* const>> weightedRelations;
47 weightedRelations.reserve(cdcRecoTrackVector.size() * vxdRecoTrackVector.size());
51 for (
auto& cdcRecoTrack : cdcRecoTrackVector) {
58 if (not cdcMCRecoTrack) {
62 for (
auto& vxdRecoTrack : vxdRecoTrackVector) {
64 if (not vxdMCRecoTrack) {
68 if (cdcMCRecoTrack != vxdMCRecoTrack) {
74 weightedRelations.emplace_back(&cdcRecoTrack, matchedEfficiency, &vxdRecoTrack);
81 for (
auto& relation : weightedRelations) {
82 relation.setWeight(-1);
StoreArrayMerger m_storeArrayMerger
Get and write back the relations to the store array.
TrackFindingCDC::BestMatchSelector< RecoTrack *, RecoTrack * > m_bestMatchSelector
Make a best candidate selection.
MCVXDCDCTrackMergerFindlet()
Constructor, for setting module description and parameters.
TrackFindingCDC::RelationAdder< RecoTrack *, RecoTrack * > m_relationAdder
Use the weighted relations to turn them into real DataStore relations.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
void apply() override
Do the track merging.
bool m_param_onlyFittedCDCTracks
Only use fitted CDC tracks, as otherwise the comparison with the CKF is unfair.
The Module parameter list class.
This is the Reconstruction Event-Data Model Track.
const std::string & getCDCStoreArrayName()
Get the name of the CDC StoreArray<RecoTrack>
void apply(std::vector< RecoTrack * > &cdcRecoTrackVector, std::vector< RecoTrack * > &vxdRecoTrackVector) override
Fetch the RecoTracks from the two input Store Arrays and fill them into two vectors.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the findlet.
const std::string & getVXDStoreArrayName()
Get the name of the VXD StoreArray<RecoTrack>
void addProcessingSignalListener(ProcessingSignalListener *psl)
Register a processing signal listener to be notified.
Class to provide convenient methods to look up matching information between pattern recognition and M...
const RecoTrack * getAnyChargeMatchedMCRecoTrack(const RecoTrack &prRecoTrack) const
Check whether any matched MC RecoTracks for the given prRecoTrack, independent of whether both patter...
float getMatchedEfficiency(const RecoTrack &recoTrack) const
Get the hit efficiency of the matched track.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
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.