CMS 3D CMS Logo

TTTrackAssociator.h
Go to the documentation of this file.
1 
13 #ifndef L1_TRACK_TRIGGER_TRACK_ASSOCIATOR_H
14 #define L1_TRACK_TRIGGER_TRACK_ASSOCIATOR_H
15 
23 
25 
34 
35 #include <memory>
36 #include <map>
37 #include <vector>
38 
39 template <typename T>
43 public:
45  explicit TTTrackAssociator(const edm::ParameterSet& iConfig);
46 
48  ~TTTrackAssociator() override;
49 
50 private:
52  std::vector<edm::InputTag> TTTracksInputTags;
53 
54  std::vector<edm::EDGetTokenT<std::vector<TTTrack<T> > > > TTTracksTokens;
55 
58 
60 
62  void beginRun(const edm::Run& run, const edm::EventSetup& iSetup) override;
63  void endRun(const edm::Run& run, const edm::EventSetup& iSetup) override;
64  void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
65 
66 };
67 
75 template <typename T>
78  TTTracksInputTags = iConfig.getParameter<std::vector<edm::InputTag> >("TTTracks");
79  TTClusterTruthToken = consumes<TTClusterAssociationMap<T> >(iConfig.getParameter<edm::InputTag>("TTClusterTruth"));
80  TTStubTruthToken = consumes<TTStubAssociationMap<T> >(iConfig.getParameter<edm::InputTag>("TTStubTruth"));
81  TTTrackAllowOneFalse2SStub = iConfig.getParameter<bool>("TTTrackAllowOneFalse2SStub");
83  edm::LogInfo("TTTrackAssociator< ") << "Allow track if no more than one 2S stub doesn't match truth.";
84  } else {
85  edm::LogInfo("TTTrackAssociator< ") << "All 2S stubs must match truth.";
86  }
87 
88  for (auto iTag = TTTracksInputTags.begin(); iTag != TTTracksInputTags.end(); iTag++) {
89  TTTracksTokens.push_back(consumes<std::vector<TTTrack<T> > >(*iTag));
90 
91  produces<TTTrackAssociationMap<T> >((*iTag).instance());
92  }
93 }
94 
96 template <typename T>
98 
100 template <typename T>
103  edm::LogInfo("TTStubAssociator< ") << "TTTrackAssociator< " << templateNameFinder<T>() << " > loaded.";
104 }
105 
107 template <typename T>
109 
111 template <>
113 
114 #endif
T getParameter(std::string const &) const
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
~TTTrackAssociator() override
Destructor.
TTTrackAssociator(const edm::ParameterSet &iConfig)
Constructors.
int iEvent
Definition: GenABIO.cc:224
edm::EDGetTokenT< TTClusterAssociationMap< T > > TTClusterTruthToken
Plugin to create the MC truth for TTTracks.
void endRun(const edm::Run &run, const edm::EventSetup &iSetup) override
End run.
edm::EDGetTokenT< TTStubAssociationMap< T > > TTStubTruthToken
std::vector< edm::InputTag > TTTracksInputTags
Data members.
Class to store the L1 Track Trigger tracks.
Definition: TTTrack.h:25
void beginRun(const edm::Run &run, const edm::EventSetup &iSetup) override
Mandatory methods.
std::vector< edm::EDGetTokenT< std::vector< TTTrack< T > > > > TTTracksTokens
Definition: Run.h:45