CMS 3D CMS Logo

B2GDQM.h
Go to the documentation of this file.
1 #ifndef B2GDQM_H
2 #define B2GDQM_H
3 
14 
15 // Trigger stuff
18 
26 
31 
33 
34 // ParticleFlow
36 
37 // EGamma
42 
43 // Muon
48 
49 // Jets
53 
54 // MET
62 
63 //
66 
68 
70 
71 #include <iostream>
72 #include <fstream>
73 #include <string>
74 #include <vector>
75 #include <map>
76 #include <cmath>
77 
78 class B2GDQM : public DQMEDAnalyzer {
79 public:
80  B2GDQM(const edm::ParameterSet& ps);
81  ~B2GDQM() override;
82 
83 protected:
84  void analyze(edm::Event const& e, edm::EventSetup const& eSetup) override;
85 
86  virtual void analyzeJets(edm::Event const& e, edm::EventSetup const& eSetup);
87  virtual void analyzeSemiMu(edm::Event const& e, edm::EventSetup const& eSetup);
88  virtual void analyzeSemiE(edm::Event const& e, edm::EventSetup const& eSetup);
89  virtual void analyzeAllHad(edm::Event const& e, edm::EventSetup const& eSetup);
90 
91 private:
92  void bookHistograms(DQMStore::IBooker& bei, edm::Run const&, edm::EventSetup const&) override;
95 
98 
99  // Variables from config file
102 
104 
105  std::vector<edm::InputTag> jetLabels_;
106  std::vector<edm::EDGetTokenT<edm::View<reco::Jet> > > jetTokens_;
109 
112 
115 
118 
120  // Parameters
122 
123  std::vector<double> jetPtMins_;
124 
125  double allHadPtCut_; // pt of both jets
126  double allHadRapidityCut_; // rapidity difference |y0-y1| max
127  double allHadDeltaPhiCut_; // |phi0 - phi1| min
128 
129  double semiMu_HadJetPtCut_; // min pt of hadronic-side jet
130  double semiMu_LepJetPtCut_; // min pt of leptonic-side jet
131  double semiMu_dphiHadCut_; // min deltaPhi between muon and hadronic-side jet
132  double semiMu_dRMin_; // min deltaR between muon and nearest jet for 2d cut
133  double semiMu_ptRel_; // max ptRel between muon and nearest jet for 2d cut
134  std::shared_ptr<StringCutObjectSelector<reco::Muon> > muonSelect_; // Selection on all muons
135 
136  double semiE_HadJetPtCut_; // pt of hadronic-side jet
137  double semiE_LepJetPtCut_; // min pt of leptonic-side jet
138  double semiE_dphiHadCut_; // min deltaPhi between electron and hadronic-side
139  // jet
140  double semiE_dRMin_; // min deltaR between electron and nearest jet for 2d
141  // cut
142  double semiE_ptRel_; // max ptRel between electron and nearest jet for 2d cut
143  std::shared_ptr<StringCutObjectSelector<reco::GsfElectron> > elecSelect_; // Kinematic selection on all electrons
144 
147  // Histograms
149  std::vector<MonitorElement*> pfJet_pt;
150  std::vector<MonitorElement*> pfJet_y;
151  std::vector<MonitorElement*> pfJet_phi;
152  std::vector<MonitorElement*> pfJet_m;
153  std::vector<MonitorElement*> pfJet_chef;
154  std::vector<MonitorElement*> pfJet_nhef;
155  std::vector<MonitorElement*> pfJet_cemf;
156  std::vector<MonitorElement*> pfJet_nemf;
157  std::vector<MonitorElement*> boostedJet_subjetPt;
158  std::vector<MonitorElement*> boostedJet_subjetY;
159  std::vector<MonitorElement*> boostedJet_subjetPhi;
160  std::vector<MonitorElement*> boostedJet_subjetM;
161  std::vector<MonitorElement*> boostedJet_subjetN;
162  std::vector<MonitorElement*> boostedJet_massDrop;
163  std::vector<MonitorElement*> boostedJet_minMass;
166 
179 
192 
204 };
205 
206 #endif
double semiMu_dphiHadCut_
Definition: B2GDQM.h:131
std::vector< MonitorElement * > pfJet_nhef
Definition: B2GDQM.h:154
MonitorElement * semiE_hadJetPhi
Definition: B2GDQM.h:188
std::vector< MonitorElement * > boostedJet_subjetY
Definition: B2GDQM.h:158
std::vector< MonitorElement * > pfJet_phi
Definition: B2GDQM.h:151
MonitorElement * pfMet_pt
Definition: B2GDQM.h:164
MonitorElement * semiMu_muPtRel
Definition: B2GDQM.h:171
edm::InputTag cmsTagLabel_
Definition: B2GDQM.h:110
virtual void analyzeSemiMu(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:386
double semiMu_HadJetPtCut_
Definition: B2GDQM.h:129
~B2GDQM() override
Definition: B2GDQM.cc:138
virtual void analyzeAllHad(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:338
double semiE_HadJetPtCut_
Definition: B2GDQM.h:136
MonitorElement * semiE_eEta
Definition: B2GDQM.h:181
MonitorElement * semiMu_muPt
Definition: B2GDQM.h:167
MonitorElement * semiE_ePtRel
Definition: B2GDQM.h:184
std::vector< MonitorElement * > pfJet_cemf
Definition: B2GDQM.h:155
MonitorElement * allHad_y0
Definition: B2GDQM.h:194
std::vector< MonitorElement * > pfJet_nemf
Definition: B2GDQM.h:156
MonitorElement * allHad_pt0
Definition: B2GDQM.h:193
MonitorElement * semiE_hadJetMinMass
Definition: B2GDQM.h:190
MonitorElement * semiE_ePt
Definition: B2GDQM.h:180
std::vector< double > jetPtMins_
Definition: B2GDQM.h:123
MonitorElement * semiMu_mttbar
Definition: B2GDQM.h:178
edm::InputTag theTriggerResultsCollection
Definition: B2GDQM.h:100
double semiE_ptRel_
Definition: B2GDQM.h:142
MonitorElement * allHad_minMass1
Definition: B2GDQM.h:202
std::vector< MonitorElement * > boostedJet_subjetPhi
Definition: B2GDQM.h:159
int ievt
Definition: B2GDQM.h:94
edm::InputTag electronLabel_
Definition: B2GDQM.h:116
std::vector< MonitorElement * > pfJet_y
Definition: B2GDQM.h:150
MonitorElement * allHad_phi0
Definition: B2GDQM.h:195
void bookHistograms(DQMStore::IBooker &bei, edm::Run const &, edm::EventSetup const &) override
Definition: B2GDQM.cc:146
edm::InputTag muonLabel_
Definition: B2GDQM.h:113
MonitorElement * allHad_y1
Definition: B2GDQM.h:199
edm::EDGetTokenT< edm::View< reco::Muon > > muonToken_
Definition: B2GDQM.h:114
MonitorElement * semiMu_muPhi
Definition: B2GDQM.h:169
MonitorElement * allHad_minMass0
Definition: B2GDQM.h:197
Definition: B2GDQM.h:78
double allHadDeltaPhiCut_
Definition: B2GDQM.h:127
double semiE_dphiHadCut_
Definition: B2GDQM.h:138
MonitorElement * semiE_eDRMin
Definition: B2GDQM.h:183
MonitorElement * semiMu_hadJetY
Definition: B2GDQM.h:174
MonitorElement * semiMu_muDRMin
Definition: B2GDQM.h:170
MonitorElement * semiMu_hadJetDR
Definition: B2GDQM.h:172
HLTConfigProvider hltConfigProvider_
Definition: B2GDQM.h:96
std::string PFJetCorService_
Definition: B2GDQM.h:145
MonitorElement * semiE_hadJetPt
Definition: B2GDQM.h:186
edm::EDGetTokenT< edm::View< reco::BasicJet > > cmsTagToken_
Definition: B2GDQM.h:111
int irun
Definition: B2GDQM.h:94
MonitorElement * allHad_mass0
Definition: B2GDQM.h:196
std::vector< MonitorElement * > boostedJet_subjetN
Definition: B2GDQM.h:161
std::vector< MonitorElement * > boostedJet_subjetPt
Definition: B2GDQM.h:157
int nLumiSecs_
Definition: B2GDQM.h:93
double semiE_dRMin_
Definition: B2GDQM.h:140
std::shared_ptr< StringCutObjectSelector< reco::Muon > > muonSelect_
Definition: B2GDQM.h:134
MonitorElement * allHad_mass1
Definition: B2GDQM.h:201
virtual void analyzeSemiE(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:469
MonitorElement * semiE_hadJetMass
Definition: B2GDQM.h:189
MonitorElement * semiE_mttbar
Definition: B2GDQM.h:191
std::vector< edm::InputTag > jetLabels_
Definition: B2GDQM.h:105
MonitorElement * semiE_hadJetDR
Definition: B2GDQM.h:185
std::vector< MonitorElement * > boostedJet_minMass
Definition: B2GDQM.h:163
MonitorElement * semiMu_muEta
Definition: B2GDQM.h:168
double semiMu_ptRel_
Definition: B2GDQM.h:133
double allHadPtCut_
Definition: B2GDQM.h:125
std::vector< edm::EDGetTokenT< edm::View< reco::Jet > > > jetTokens_
Definition: B2GDQM.h:106
double semiE_LepJetPtCut_
Definition: B2GDQM.h:137
MonitorElement * semiMu_hadJetMinMass
Definition: B2GDQM.h:177
B2GDQM(const edm::ParameterSet &ps)
Definition: B2GDQM.cc:81
MonitorElement * allHad_pt1
Definition: B2GDQM.h:198
void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override
Definition: B2GDQM.cc:236
std::vector< MonitorElement * > pfJet_m
Definition: B2GDQM.h:152
MonitorElement * semiMu_hadJetPt
Definition: B2GDQM.h:173
MonitorElement * semiE_hadJetY
Definition: B2GDQM.h:187
edm::EDGetTokenT< edm::TriggerResults > triggerToken_
Definition: B2GDQM.h:101
MonitorElement * allHad_mttbar
Definition: B2GDQM.h:203
bool isValidHltConfig_
Definition: B2GDQM.h:97
double allHadRapidityCut_
Definition: B2GDQM.h:126
int nEvents_
Definition: B2GDQM.h:94
virtual void analyzeJets(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:243
std::vector< MonitorElement * > pfJet_pt
Definition: B2GDQM.h:149
edm::Handle< edm::TriggerResults > triggerResults_
Definition: B2GDQM.h:103
std::shared_ptr< StringCutObjectSelector< reco::GsfElectron > > elecSelect_
Definition: B2GDQM.h:143
std::vector< MonitorElement * > boostedJet_massDrop
Definition: B2GDQM.h:162
MonitorElement * semiE_ePhi
Definition: B2GDQM.h:182
std::vector< MonitorElement * > pfJet_chef
Definition: B2GDQM.h:153
double semiMu_dRMin_
Definition: B2GDQM.h:132
edm::EDGetTokenT< std::vector< reco::PFMET > > PFMETToken_
Definition: B2GDQM.h:108
MonitorElement * semiMu_hadJetPhi
Definition: B2GDQM.h:175
double semiMu_LepJetPtCut_
Definition: B2GDQM.h:130
MonitorElement * pfMet_phi
Definition: B2GDQM.h:165
MonitorElement * allHad_phi1
Definition: B2GDQM.h:200
Definition: Run.h:45
MonitorElement * semiMu_hadJetMass
Definition: B2GDQM.h:176
edm::InputTag PFMETLabel_
Definition: B2GDQM.h:107
edm::EDGetTokenT< edm::View< reco::GsfElectron > > electronToken_
Definition: B2GDQM.h:117
std::vector< MonitorElement * > boostedJet_subjetM
Definition: B2GDQM.h:160