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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
#ifndef EwkDQM_H
#define EwkDQM_H
/** \class EwkDQM
*
* DQM offline for SMP V+Jets
*
* \author Valentina Gori, University of Firenze
*/
#include "FWCore/Framework/interface/Frameworkfwd.h"
// Trigger stuff
#include "DataFormats/Common/interface/TriggerResults.h"
#include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
#include "DataFormats/EgammaCandidates/interface/Electron.h"
#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
#include "DataFormats/MuonReco/interface/MuonFwd.h"
#include "DataFormats/VertexReco/interface/VertexFwd.h"
#include "DQMServices/Core/interface/DQMEDAnalyzer.h"
#include "DQMServices/Core/interface/DQMStore.h"
namespace reco {
class Jet;
class MET;
} // namespace reco
class EwkDQM : public DQMEDAnalyzer {
public:
/// Constructor
EwkDQM(const edm::ParameterSet&);
/// Destructor
~EwkDQM() override;
///
//Book histograms
void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
/// Get the analysis
void analyze(const edm::Event&, const edm::EventSetup&) override;
double calcDeltaPhi(double phi1, double phi2);
private:
// ----------member data ---------------------------
// Switch for verbosity
std::string logTraceName;
HLTConfigProvider hltConfigProvider_;
bool isValidHltConfig_;
// Variables from config file
std::vector<std::string> theElecTriggerPathToPass_;
std::vector<std::string> theMuonTriggerPathToPass_;
edm::InputTag thePFJetCollectionLabel_;
edm::InputTag theCaloMETCollectionLabel_;
edm::InputTag theTriggerResultsCollection_;
edm::EDGetTokenT<edm::TriggerResults> theTriggerResultsToken_;
edm::EDGetTokenT<reco::MuonCollection> theMuonCollectionLabel_;
edm::EDGetTokenT<reco::GsfElectronCollection> theElectronCollectionLabel_;
edm::EDGetTokenT<edm::View<reco::Jet> > thePFJetCollectionToken_;
edm::EDGetTokenT<edm::View<reco::MET> > theCaloMETCollectionToken_;
edm::EDGetTokenT<reco::VertexCollection> theVertexToken_;
double eJetMin_;
// Histograms
MonitorElement* h_vertex_number;
MonitorElement* h_vertex_chi2;
MonitorElement* h_vertex_numTrks;
MonitorElement* h_vertex_sumTrks;
MonitorElement* h_vertex_d0;
MonitorElement* h_jet_count;
MonitorElement* h_jet_et;
MonitorElement* h_jet_pt;
MonitorElement* h_jet_eta;
MonitorElement* h_jet_phi;
MonitorElement* h_jet2_et;
// MonitorElement* h_jet2_pt;
MonitorElement* h_jet2_eta;
MonitorElement* h_jet2_phi;
MonitorElement* h_e1_et;
MonitorElement* h_e2_et;
MonitorElement* h_e1_eta;
MonitorElement* h_e2_eta;
MonitorElement* h_e1_phi;
MonitorElement* h_e2_phi;
MonitorElement* h_m1_pt;
MonitorElement* h_m2_pt;
MonitorElement* h_m1_eta;
MonitorElement* h_m2_eta;
MonitorElement* h_m1_phi;
MonitorElement* h_m2_phi;
// MonitorElement* h_t1_et;
// MonitorElement* h_t1_eta;
// MonitorElement* h_t1_phi;
MonitorElement* h_met;
MonitorElement* h_met_phi;
MonitorElement* h_e_invWMass;
MonitorElement* h_m_invWMass;
MonitorElement* h_mumu_invMass;
MonitorElement* h_ee_invMass;
};
#endif
// Local Variables:
// show-trailing-whitespace: t
// truncate-lines: t
// End:
|