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