/
GEMOfflineMonitor.h
42 lines (31 loc) · 1.63 KB
/
GEMOfflineMonitor.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef DQMOffline_Muon_GEMOfflineMonitor_h
#define DQMOffline_Muon_GEMOfflineMonitor_h
#include "DQMOffline/Muon/interface/GEMOfflineDQMBase.h"
#include "FWCore/Utilities/interface/EDGetToken.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "DataFormats/GEMDigi/interface/GEMDigiCollection.h"
#include "DataFormats/GEMRecHit/interface/GEMRecHitCollection.h"
#include "Geometry/Records/interface/MuonGeometryRecord.h"
class GEMOfflineMonitor : public GEMOfflineDQMBase {
public:
explicit GEMOfflineMonitor(const edm::ParameterSet &);
~GEMOfflineMonitor() override;
static void fillDescriptions(edm::ConfigurationDescriptions &);
protected:
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
void analyze(const edm::Event &event, const edm::EventSetup &eventSetup) override;
private:
void bookDigiOccupancy(DQMStore::IBooker &, const edm::ESHandle<GEMGeometry> &);
void bookHitOccupancy(DQMStore::IBooker &, const edm::ESHandle<GEMGeometry> &);
void doDigiOccupancy(const edm::ESHandle<GEMGeometry> &, const edm::Handle<GEMDigiCollection> &);
void doHitOccupancy(const edm::ESHandle<GEMGeometry> &, const edm::Handle<GEMRecHitCollection> &);
edm::EDGetTokenT<GEMDigiCollection> digi_token_;
edm::EDGetTokenT<GEMRecHitCollection> rechit_token_;
const edm::ESGetToken<GEMGeometry, MuonGeometryRecord> gemToken_;
bool do_digi_occupancy_;
bool do_hit_occupancy_;
MEMap me_digi_det_; // TH2F, region-station
MEMap me_hit_det_; // TH2F, region-station
};
#endif // DQMOffline_Muon_GEMOfflineMonitor_h