1 |
|
#ifndef TrackToL1ObjMatcher_H |
2 |
|
#define TrackToL1ObjMatcher_H |
3 |
|
|
4 |
– |
#include "UserCode/L1RpcTriggerAnalysis/interface/L1Obj.h" |
4 |
|
#include "FWCore/ParameterSet/interface/ParameterSet.h" |
5 |
|
namespace edm { class Event; class EventSetup; } |
6 |
+ |
namespace reco { class Muon; } |
7 |
|
class TrajectoryStateOnSurface; |
8 |
|
|
9 |
|
class TrackToL1ObjMatcher { |
10 |
|
public: |
11 |
< |
TrackToL1ObjMatcher(const edm::ParameterSet & cfg) : theConfig(cfg) {} |
12 |
< |
bool operator()(const L1Obj& l1, const TrajectoryStateOnSurface & tsos, const edm::Event&ev, const edm::EventSetup& es) const; |
11 |
> |
struct LastResult { bool isValid; float deltaEta, deltaPhi; }; |
12 |
> |
public: |
13 |
> |
TrackToL1ObjMatcher(const edm::ParameterSet & cfg); |
14 |
> |
bool operator()(float l1Eta, float l1Phi, const reco::Muon *mu, const edm::Event&ev, const edm::EventSetup& es) const; |
15 |
> |
bool operator()(float l1Eta, float l1Phi, const TrajectoryStateOnSurface & tsos, const edm::Event&ev, const edm::EventSetup& es) const; |
16 |
> |
const LastResult & lastResult() const { return theLastResult; } |
17 |
|
private: |
18 |
+ |
bool compare(float l1Eta, float l1Phi, float stateEta, float statePhi) const; |
19 |
|
edm::ParameterSet theConfig; |
20 |
< |
|
20 |
> |
mutable LastResult theLastResult; |
21 |
|
}; |
22 |
|
#endif |