8 #include "trg/cdc/modules/mcmatcher/CDCTriggerRecoHitMatcherModule.h"
10 #include <cdc/dataobjects/CDCHit.h>
12 #include <framework/gearbox/Const.h>
18 struct iter_pair_range : std::pair<Iter, Iter> {
19 explicit iter_pair_range(std::pair<Iter, Iter>
const& x) : std::pair<Iter, Iter>(x) {}
20 Iter begin()
const {
return this->first;}
21 Iter end()
const {
return this->second;}
25 inline iter_pair_range<Iter> as_range(std::pair<Iter, Iter>
const& x)
27 return iter_pair_range<Iter>(x);
33 typedef float Efficiency;
47 setDescription(
"A module to match CDCTriggerTracks to RecoTracks.\n"
48 "First makes relations from RecoTracks to CDCTriggerSegmentHits, "
49 "then makes relations from RecoTracks to CDCTriggerTracks "
52 addParam(
"RecoTrackCollectionName", m_RecoTrackCollectionName,
53 "Name of the RecoTrack StoreArray to be matched.",
54 string(
"RecoTracks"));
55 addParam(
"MCParticleCollectionName", m_MCParticleCollectionName,
56 "Name of the MCParticle StoreArray to be matched.",
57 string(
"MCParticles"));
58 addParam(
"MCTrackableCollectionName", m_MCTrackableCollectionName,
59 "Name of a new StoreArray holding MCParticles considered as trackable.",
61 addParam(
"RecoTrackableCollectionName", m_RecoTrackableCollectionName,
63 "Name of the StoreArray holding primary MCParticle matched to a RecoTrack, but the vertex and momentum is overridden with the RecoTrack values.",
64 string(
"RecoTrackable"));
65 addParam(
"hitCollectionName", m_hitCollectionName,
66 "Name of the StoreArray of CDCTriggerSegmentHits used for the matching.",
68 addParam(
"TrackCollectionName", m_TrackCollectionName,
69 "Name of the Track StoreArray.",
77 m_segmentHits.isRequired(m_hitCollectionName);
78 m_recoTracks.isRequired(m_RecoTrackCollectionName);
79 m_recoTrackable.registerInDataStore(m_RecoTrackableCollectionName);
80 m_mdstTracks.isRequired(m_TrackCollectionName);
82 m_recoTracks.registerRelationTo(m_segmentHits);
83 m_recoTrackable.registerRelationTo(m_segmentHits);
84 m_recoTrackable.registerRelationTo(m_recoTracks);
A module to match CDCTriggerTracks to RecoTracks.
virtual void initialize() override
Initialize the module.
virtual void event() override
Called once for each event.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.