1 |
#ifndef L1RpcTriggerAnalysis_BestMuonFinder_H
|
2 |
#define L1RpcTriggerAnalysis_BestMuonFinder_H
|
3 |
|
4 |
#include "FWCore/ParameterSet/interface/ParameterSet.h"
|
5 |
#include "DataFormats/Provenance/interface/RunID.h"
|
6 |
#include "DataFormats/Provenance/interface/EventID.h"
|
7 |
|
8 |
namespace edm { class Event; class EventSetup; }
|
9 |
namespace reco { class Muon; }
|
10 |
|
11 |
class TH1D;
|
12 |
class TH2D;
|
13 |
class TObjArray;
|
14 |
|
15 |
class BestMuonFinder {
|
16 |
|
17 |
public:
|
18 |
BestMuonFinder( const edm::ParameterSet& cfg);
|
19 |
const reco::Muon* result( const edm::Event &ev, const edm::EventSetup &es) { run(ev,es); return theMuon; }
|
20 |
bool isUnique( const edm::Event &ev, const edm::EventSetup &es) { run(ev,es); return theUnique;}
|
21 |
unsigned int numberOfAllMuons( const edm::Event &ev, const edm::EventSetup &es) { run(ev,es); return theAllMuons; }
|
22 |
void initHistos( TObjArray & histos);
|
23 |
|
24 |
unsigned int numberOfValidMuonRPCHits() const { return theRPCHits; }
|
25 |
unsigned int numberOfValidMuonDTHits() const { return theDTHits; }
|
26 |
unsigned int numberOfValidMuonCSCHits() const { return theCSCHits; }
|
27 |
unsigned int numberOfValidTrackerHits() const { return theTrackerHits; }
|
28 |
|
29 |
private:
|
30 |
bool run(const edm::Event &ev, const edm::EventSetup &es);
|
31 |
|
32 |
private:
|
33 |
edm::EventNumber_t lastEvent;
|
34 |
edm::RunNumber_t lastRun;
|
35 |
edm::ParameterSet theConfig;
|
36 |
|
37 |
bool theUnique;
|
38 |
unsigned int theAllMuons;
|
39 |
const reco::Muon* theMuon;
|
40 |
|
41 |
unsigned int theTrackerHits, theRPCHits, theDTHits, theCSCHits;
|
42 |
|
43 |
TH1D *hMuChi2Tk, *hMuChi2Gl, *hMuNHitsTk ;
|
44 |
TH2D *hMuPtVsEta, *hMuHitsRPCvsCSC, *hMuHitsRPCvsDT;
|
45 |
TH1D *hMuonPt_BMF, *hMuonEta_BMF, *hMuonPhi_BMF;
|
46 |
|
47 |
|
48 |
};
|
49 |
#endif
|