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 
110  // EDIT from 2019 (S. Rappoccio): Change CMS top tagger algorithm from ancient Run 1
111  // definition to modern soft-drop based tagger.
114 
117 
120 
122  // Parameters
124 
125  std::vector<double> jetPtMins_;
126 
127  double allHadPtCut_; // pt of both jets
128  double allHadRapidityCut_; // rapidity difference |y0-y1| max
129  double allHadDeltaPhiCut_; // |phi0 - phi1| min
130 
131  double semiMu_HadJetPtCut_; // min pt of hadronic-side jet
132  double semiMu_LepJetPtCut_; // min pt of leptonic-side jet
133  double semiMu_dphiHadCut_; // min deltaPhi between muon and hadronic-side jet
134  double semiMu_dRMin_; // min deltaR between muon and nearest jet for 2d cut
135  double semiMu_ptRel_; // max ptRel between muon and nearest jet for 2d cut
136  std::shared_ptr<StringCutObjectSelector<reco::Muon> > muonSelect_; // Selection on all muons
137 
138  double semiE_HadJetPtCut_; // pt of hadronic-side jet
139  double semiE_LepJetPtCut_; // min pt of leptonic-side jet
140  double semiE_dphiHadCut_; // min deltaPhi between electron and hadronic-side
141  // jet
142  double semiE_dRMin_; // min deltaR between electron and nearest jet for 2d
143  // cut
144  double semiE_ptRel_; // max ptRel between electron and nearest jet for 2d cut
145  std::shared_ptr<StringCutObjectSelector<reco::GsfElectron> > elecSelect_; // Kinematic selection on all electrons
146 
149  // Histograms
151  std::vector<MonitorElement*> pfJet_pt;
152  std::vector<MonitorElement*> pfJet_y;
153  std::vector<MonitorElement*> pfJet_phi;
154  std::vector<MonitorElement*> pfJet_m;
155  std::vector<MonitorElement*> pfJet_chef;
156  std::vector<MonitorElement*> pfJet_nhef;
157  std::vector<MonitorElement*> pfJet_cemf;
158  std::vector<MonitorElement*> pfJet_nemf;
159  std::vector<MonitorElement*> boostedJet_subjetPt;
160  std::vector<MonitorElement*> boostedJet_subjetY;
161  std::vector<MonitorElement*> boostedJet_subjetPhi;
162  std::vector<MonitorElement*> boostedJet_subjetM;
163  std::vector<MonitorElement*> boostedJet_subjetN;
164  std::vector<MonitorElement*> boostedJet_massDrop;
165  std::vector<MonitorElement*> boostedJet_wMass;
168 
181 
194 
206 };
207 
208 #endif
double semiMu_dphiHadCut_
Definition: B2GDQM.h:133
std::vector< MonitorElement * > pfJet_nhef
Definition: B2GDQM.h:156
MonitorElement * semiE_hadJetPhi
Definition: B2GDQM.h:190
std::vector< MonitorElement * > boostedJet_subjetY
Definition: B2GDQM.h:160
std::vector< MonitorElement * > pfJet_phi
Definition: B2GDQM.h:153
MonitorElement * pfMet_pt
Definition: B2GDQM.h:166
MonitorElement * semiMu_muPtRel
Definition: B2GDQM.h:173
MonitorElement * allHad_wMass1
Definition: B2GDQM.h:204
virtual void analyzeSemiMu(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:362
double semiMu_HadJetPtCut_
Definition: B2GDQM.h:131
~B2GDQM() override
Definition: B2GDQM.cc:131
virtual void analyzeAllHad(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:314
double semiE_HadJetPtCut_
Definition: B2GDQM.h:138
MonitorElement * semiE_eEta
Definition: B2GDQM.h:183
MonitorElement * semiMu_muPt
Definition: B2GDQM.h:169
MonitorElement * semiE_ePtRel
Definition: B2GDQM.h:186
std::vector< MonitorElement * > pfJet_cemf
Definition: B2GDQM.h:157
MonitorElement * allHad_y0
Definition: B2GDQM.h:196
std::vector< MonitorElement * > pfJet_nemf
Definition: B2GDQM.h:158
MonitorElement * allHad_pt0
Definition: B2GDQM.h:195
MonitorElement * semiE_ePt
Definition: B2GDQM.h:182
MonitorElement * allHad_wMass0
Definition: B2GDQM.h:199
std::vector< double > jetPtMins_
Definition: B2GDQM.h:125
MonitorElement * semiMu_mttbar
Definition: B2GDQM.h:180
edm::InputTag theTriggerResultsCollection
Definition: B2GDQM.h:100
double semiE_ptRel_
Definition: B2GDQM.h:144
std::vector< MonitorElement * > boostedJet_subjetPhi
Definition: B2GDQM.h:161
int ievt
Definition: B2GDQM.h:94
edm::InputTag electronLabel_
Definition: B2GDQM.h:118
std::vector< MonitorElement * > pfJet_y
Definition: B2GDQM.h:152
MonitorElement * allHad_phi0
Definition: B2GDQM.h:197
void bookHistograms(DQMStore::IBooker &bei, edm::Run const &, edm::EventSetup const &) override
Definition: B2GDQM.cc:139
edm::InputTag muonLabel_
Definition: B2GDQM.h:115
MonitorElement * allHad_y1
Definition: B2GDQM.h:201
edm::EDGetTokenT< edm::View< reco::Muon > > muonToken_
Definition: B2GDQM.h:116
MonitorElement * semiMu_muPhi
Definition: B2GDQM.h:171
Definition: B2GDQM.h:78
double allHadDeltaPhiCut_
Definition: B2GDQM.h:129
double semiE_dphiHadCut_
Definition: B2GDQM.h:140
MonitorElement * semiE_eDRMin
Definition: B2GDQM.h:185
MonitorElement * semiMu_hadJetY
Definition: B2GDQM.h:176
MonitorElement * semiMu_muDRMin
Definition: B2GDQM.h:172
MonitorElement * semiMu_hadJetDR
Definition: B2GDQM.h:174
HLTConfigProvider hltConfigProvider_
Definition: B2GDQM.h:96
std::string PFJetCorService_
Definition: B2GDQM.h:147
MonitorElement * semiE_hadJetPt
Definition: B2GDQM.h:188
int irun
Definition: B2GDQM.h:94
MonitorElement * allHad_mass0
Definition: B2GDQM.h:198
std::vector< MonitorElement * > boostedJet_subjetN
Definition: B2GDQM.h:163
edm::InputTag sdjetLabel_
Definition: B2GDQM.h:112
std::vector< MonitorElement * > boostedJet_subjetPt
Definition: B2GDQM.h:159
int nLumiSecs_
Definition: B2GDQM.h:93
double semiE_dRMin_
Definition: B2GDQM.h:142
std::shared_ptr< StringCutObjectSelector< reco::Muon > > muonSelect_
Definition: B2GDQM.h:136
MonitorElement * allHad_mass1
Definition: B2GDQM.h:203
virtual void analyzeSemiE(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:444
MonitorElement * semiE_hadJetMass
Definition: B2GDQM.h:191
MonitorElement * semiE_mttbar
Definition: B2GDQM.h:193
MonitorElement * semiMu_hadJetWMass
Definition: B2GDQM.h:179
std::vector< edm::InputTag > jetLabels_
Definition: B2GDQM.h:105
MonitorElement * semiE_hadJetDR
Definition: B2GDQM.h:187
MonitorElement * semiMu_muEta
Definition: B2GDQM.h:170
double semiMu_ptRel_
Definition: B2GDQM.h:135
double allHadPtCut_
Definition: B2GDQM.h:127
std::vector< edm::EDGetTokenT< edm::View< reco::Jet > > > jetTokens_
Definition: B2GDQM.h:106
double semiE_LepJetPtCut_
Definition: B2GDQM.h:139
B2GDQM(const edm::ParameterSet &ps)
Definition: B2GDQM.cc:74
MonitorElement * allHad_pt1
Definition: B2GDQM.h:200
void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override
Definition: B2GDQM.cc:226
std::vector< MonitorElement * > pfJet_m
Definition: B2GDQM.h:154
MonitorElement * semiMu_hadJetPt
Definition: B2GDQM.h:175
MonitorElement * semiE_hadJetY
Definition: B2GDQM.h:189
edm::EDGetTokenT< edm::TriggerResults > triggerToken_
Definition: B2GDQM.h:101
MonitorElement * allHad_mttbar
Definition: B2GDQM.h:205
bool isValidHltConfig_
Definition: B2GDQM.h:97
double allHadRapidityCut_
Definition: B2GDQM.h:128
int nEvents_
Definition: B2GDQM.h:94
virtual void analyzeJets(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: B2GDQM.cc:233
std::vector< MonitorElement * > pfJet_pt
Definition: B2GDQM.h:151
edm::Handle< edm::TriggerResults > triggerResults_
Definition: B2GDQM.h:103
std::shared_ptr< StringCutObjectSelector< reco::GsfElectron > > elecSelect_
Definition: B2GDQM.h:145
std::vector< MonitorElement * > boostedJet_massDrop
Definition: B2GDQM.h:164
edm::EDGetTokenT< edm::View< reco::BasicJet > > sdjetToken_
Definition: B2GDQM.h:113
MonitorElement * semiE_ePhi
Definition: B2GDQM.h:184
std::vector< MonitorElement * > pfJet_chef
Definition: B2GDQM.h:155
double semiMu_dRMin_
Definition: B2GDQM.h:134
edm::EDGetTokenT< std::vector< reco::PFMET > > PFMETToken_
Definition: B2GDQM.h:108
std::vector< MonitorElement * > boostedJet_wMass
Definition: B2GDQM.h:165
MonitorElement * semiMu_hadJetPhi
Definition: B2GDQM.h:177
MonitorElement * semiE_hadJetWMass
Definition: B2GDQM.h:192
double semiMu_LepJetPtCut_
Definition: B2GDQM.h:132
MonitorElement * pfMet_phi
Definition: B2GDQM.h:167
MonitorElement * allHad_phi1
Definition: B2GDQM.h:202
Definition: Run.h:45
MonitorElement * semiMu_hadJetMass
Definition: B2GDQM.h:178
edm::InputTag PFMETLabel_
Definition: B2GDQM.h:107
edm::EDGetTokenT< edm::View< reco::GsfElectron > > electronToken_
Definition: B2GDQM.h:119
std::vector< MonitorElement * > boostedJet_subjetM
Definition: B2GDQM.h:162