24 jetCollectionTag_(conf.getUntrackedParameter<edm::
InputTag>(
"jetCollectionTag")),
25 widejetsCollectionTag_(conf.getUntrackedParameter<edm::
InputTag>(
"widejetsCollectionTag")),
26 metCollectionTag_(conf.getUntrackedParameter<edm::
InputTag>(
"metCollectionTag")),
27 metCleanCollectionTag_(conf.getUntrackedParameter<edm::
InputTag>(
"metCleanCollectionTag")),
28 numwidejets_(conf.getParameter<unsigned int>(
"numwidejets")),
29 etawidejets_(conf.getParameter<double>(
"etawidejets")),
30 ptwidejets_(conf.getParameter<double>(
"ptwidejets")),
31 detawidejets_(conf.getParameter<double>(
"detawidejets")),
32 dphiwidejets_(conf.getParameter<double>(
"dphiwidejets")),
33 maxEMfraction_(conf.getParameter<double>(
"maxEMfraction")),
34 maxHADfraction_(conf.getParameter<double>(
"maxHADfraction")),
35 HLTpathMain_(triggerExpression::
parse(conf.getParameter<std::
string>(
"HLTpathMain"))),
36 HLTpathMonitor_(triggerExpression::
parse(conf.getParameter<std::
string>(
"HLTpathMonitor"))),
37 triggerConfiguration_(conf.
getParameterSet(
"triggerConfiguration"), consumesCollector()) {
55 const int N_mass_bins = 83;
56 float massBins[N_mass_bins + 1] = {
57 1, 3, 6, 10, 16, 23, 31, 40, 50, 61, 74, 88, 103, 119, 137, 156, 176,
58 197, 220, 244, 270, 296, 325, 354, 386, 419, 453, 489, 526, 565, 606, 649, 693, 740,
59 788, 838, 890, 944, 1000, 1058, 1118, 1181, 1246, 1313, 1383, 1455, 1530, 1607, 1687, 1770, 1856,
60 1945, 2037, 2132, 2231, 2332, 2438, 2546, 2659, 2775, 2895, 3019, 3147, 3279, 3416, 3558, 3704, 3854,
61 4010, 4171, 4337, 4509, 4686, 4869, 5058, 5253, 5455, 5663, 5877, 6099, 6328, 6564, 6808, 7000};
74 "h1_MjjWide_finalSel",
75 "M_{jj} WideJets (final selection)",
79 "M_{jj} WideJets [GeV]",
83 "h1_MjjWide_finalSel_varbin",
84 "M_{jj} WideJets (final selection)",
87 "M_{jj} WideJets [GeV]",
91 "h1_MjjWide_finalSel_WithoutNoiseFilter",
92 "M_{jj} WideJets (final selection, without noise filters)",
96 "M_{jj} WideJets [GeV]",
101 "h1_MjjWide_finalSel_WithoutNoiseFilter_varbin",
102 "M_{jj} WideJets (final selection, without noise filters)",
105 "M_{jj} WideJets [GeV]",
109 "h1_MjjWide_deta_0p0_0p5",
110 "M_{jj} WideJets (0.0<=#Delta#eta<0.5)",
114 "M_{jj} WideJets [GeV]",
118 "h1_MjjWide_deta_0p5_1p0",
119 "M_{jj} WideJets (0.5<=#Delta#eta<1.0)",
123 "M_{jj} WideJets [GeV]",
127 "h1_MjjWide_deta_1p0_1p5",
128 "M_{jj} WideJets (1.0<=#Delta#eta<1.5)",
132 "M_{jj} WideJets [GeV]",
136 "h1_MjjWide_deta_1p5_2p0",
137 "M_{jj} WideJets (1.5<=#Delta#eta<2.0)",
141 "M_{jj} WideJets [GeV]",
145 "h1_MjjWide_deta_2p0_2p5",
146 "M_{jj} WideJets (2.0<=#Delta#eta<2.5)",
150 "M_{jj} WideJets [GeV]",
154 "h1_MjjWide_deta_2p5_3p0",
155 "M_{jj} WideJets (2.5<=#Delta#eta<3.0)",
159 "M_{jj} WideJets [GeV]",
163 "h1_MjjWide_deta_3p0_inf",
164 "M_{jj} WideJets (#Delta#eta>=3.0)",
168 "M_{jj} WideJets [GeV]",
172 "h1_MjjWide_den_NOdeta",
173 "HLT Efficiency Studies (no deta cut)",
177 "M_{jj} WideJets [GeV]",
181 "h1_MjjWide_num_NOdeta",
182 "HLT Efficiency Studies (no deta cut)",
186 "M_{jj} WideJets [GeV]",
190 "h1_MjjWide_den_detaL4",
191 "HLT Efficiency Studies (deta cut < 4.0)",
195 "M_{jj} WideJets [GeV]",
199 "h1_MjjWide_num_detaL4",
200 "HLT Efficiency Studies (deta cut < 4.0)",
204 "M_{jj} WideJets [GeV]",
208 "h1_MjjWide_den_detaL3",
209 "HLT Efficiency Studies (deta cut < 3.0)",
213 "M_{jj} WideJets [GeV]",
217 "h1_MjjWide_num_detaL3",
218 "HLT Efficiency Studies (deta cut < 3.0)",
222 "M_{jj} WideJets [GeV]",
226 "h1_MjjWide_den_detaL2",
227 "HLT Efficiency Studies (deta cut < 2.0)",
231 "M_{jj} WideJets [GeV]",
235 "h1_MjjWide_num_detaL2",
236 "HLT Efficiency Studies (deta cut < 2.0)",
240 "M_{jj} WideJets [GeV]",
245 "HLT Efficiency Studies (default deta cut)",
249 "M_{jj} WideJets [GeV]",
254 "HLT Efficiency Studies (default deta cut)",
258 "M_{jj} WideJets [GeV]",
262 "h1_DetajjWide_finalSel",
263 "#Delta#eta_{jj} WideJets (final selection)",
267 "#Delta#eta_{jj} WideJets",
272 "#Delta#eta_{jj} WideJets (final selection except #Delta#eta cut)",
276 "#Delta#eta_{jj} WideJets",
280 "h1_DphijjWide_finalSel",
281 "#Delta#phi_{jj} WideJets (final selection)",
285 "#Delta#phi_{jj} WideJets [rad.]",
289 iBooker,
"h1_selJets_pt",
"Selected CaloJets", 500, 0., 5000.,
"Jet Pt [GeV]",
"Number of events");
292 bookH1withSumw2(iBooker,
"h1_selJets_eta",
"Selected CaloJets", 100, -5., 5.,
"#eta",
"Number of events");
295 iBooker,
"h1_selJets_phi",
"Selected CaloJets", 100, -
TMath::Pi(),
TMath::Pi(),
"#phi (rad.)",
"Number of events");
298 "h1_selJets_hadEnergyFraction",
303 "HAD Energy Fraction",
307 "h1_selJets_emEnergyFraction",
312 "EM Energy Fraction",
316 iBooker,
"h1_selJets_towersArea",
"Selected CaloJets", 200, 0., 2.,
"towers area",
"Number of events");
319 iBooker,
"h1_metDiff",
"Met - MetCleaned", 500, -1000., 1000.,
"met - metcleaned [GeV]",
"Number of events");
327 iBooker,
"h1_metCaseNoMetClean",
"Met - MetCleaned", 1000, 0., 2000.,
"MET [GeV]",
"Number of events");
330 bookH1withSumw2(iBooker,
"h1_HT_inclusive",
"HT (inclusive)", 150, 0., 15000.,
"HT [GeV]",
"Number of events");
333 iBooker,
"h1_HT_finalSel",
"HT (final selection)", 150, 0., 15000.,
"HT [GeV]",
"Number of events");
337 "h2_DetajjVsMjjWide",
338 "#Delta#eta_{jj} vs M_{jj} WideJets",
345 "M_{jj} WideJets [GeV]",
346 "#Delta#eta_{jj} WideJets");
349 "h2_DetajjVsMjjWide_rebin",
350 "#Delta#eta_{jj} vs M_{jj} WideJets",
357 "M_{jj} WideJets [GeV]",
358 "#Delta#eta_{jj} WideJets");
361 iBooker,
"h2_metVSmetclean",
"MET clean vs MET", 100, 0., 2000., 100, 0., 2000.,
"MET [GeV]",
"MET clean [GeV]");
368 using namespace reco;
377 for (reco::CaloJetCollection::const_iterator it = calojets_handle->begin(); it != calojets_handle->end(); ++it) {
398 TLorentzVector wdijet;
401 double DeltaEtaJJWide = -1;
402 double DeltaPhiJJWide = -1;
404 if (widejets_handle->size() >= 2) {
405 wj1.SetPtEtaPhiM(widejets_handle->at(0).pt(),
406 widejets_handle->at(0).eta(),
407 widejets_handle->at(0).phi(),
408 widejets_handle->at(0).mass());
409 wj2.SetPtEtaPhiM(widejets_handle->at(1).pt(),
410 widejets_handle->at(1).eta(),
411 widejets_handle->at(1).phi(),
412 widejets_handle->at(1).mass());
414 MJJWide = wdijet.M();
415 DeltaEtaJJWide = fabs(wj1.Eta() - wj2.Eta());
416 DeltaPhiJJWide = fabs(wj1.DeltaPhi(wj2));
427 if (calomet_handle.isValid() && calometClean_handle.isValid()) {
437 m_metDiff->
Fill((calomet_handle->front()).
pt() - (calometClean_handle->front()).
pt());
439 }
else if (calomet_handle.isValid() && !calometClean_handle.isValid()) {
442 }
else if (!calomet_handle.isValid() && calometClean_handle.isValid()) {
447 bool pass_nocut =
false;
448 bool pass_twowidejets =
false;
449 bool pass_etaptcuts =
false;
450 bool pass_deta =
false;
451 bool pass_JetIDtwojets =
true;
452 bool pass_dphi =
false;
453 bool pass_metFilter =
true;
455 bool pass_deta_L4 =
false;
456 bool pass_deta_L3 =
false;
457 bool pass_deta_L2 =
false;
459 bool pass_fullsel_NOdeta =
false;
460 bool pass_fullsel_detaL4 =
false;
461 bool pass_fullsel_detaL3 =
false;
462 bool pass_fullsel_detaL2 =
false;
463 bool pass_fullsel =
false;
471 pass_twowidejets =
true;
476 pass_etaptcuts =
true;
488 if (DeltaEtaJJWide < 4.0)
491 if (DeltaEtaJJWide < 3.0)
494 if (DeltaEtaJJWide < 2.0)
500 reco::CaloJetCollection::const_iterator thisJet = calojets_handle->begin();
504 pass_JetIDtwojets =
false;
511 pass_JetIDtwojets =
false;
514 if (calomet_handle.isValid() && calometClean_handle.isValid()) {
515 if (fabs((calomet_handle->front()).
pt() - (calometClean_handle->front()).
pt()) > 0.1)
516 pass_metFilter =
false;
519 if (pass_nocut && pass_twowidejets && pass_etaptcuts && pass_JetIDtwojets && pass_dphi && pass_metFilter)
520 pass_fullsel_NOdeta =
true;
522 if (pass_nocut && pass_twowidejets && pass_etaptcuts && pass_JetIDtwojets && pass_dphi && pass_metFilter &&
524 pass_fullsel_detaL4 =
true;
525 if (pass_nocut && pass_twowidejets && pass_etaptcuts && pass_JetIDtwojets && pass_dphi && pass_metFilter &&
527 pass_fullsel_detaL3 =
true;
528 if (pass_nocut && pass_twowidejets && pass_etaptcuts && pass_JetIDtwojets && pass_dphi && pass_metFilter &&
530 pass_fullsel_detaL2 =
true;
532 if (pass_nocut && pass_twowidejets && pass_etaptcuts && pass_deta && pass_JetIDtwojets && pass_dphi && pass_metFilter)
539 if (pass_nocut && pass_twowidejets)
541 if (pass_nocut && pass_twowidejets && pass_etaptcuts)
543 if (pass_nocut && pass_twowidejets && pass_etaptcuts && pass_deta)
545 if (pass_nocut && pass_twowidejets && pass_etaptcuts && pass_deta && pass_JetIDtwojets)
547 if (pass_nocut && pass_twowidejets && pass_etaptcuts && pass_deta && pass_JetIDtwojets && pass_dphi)
562 if (pass_nocut && pass_twowidejets && pass_etaptcuts && pass_deta) {
567 if (pass_fullsel_NOdeta) {
570 if (DeltaEtaJJWide >= 0.0 && DeltaEtaJJWide < 0.5)
572 if (DeltaEtaJJWide >= 0.5 && DeltaEtaJJWide < 1.0)
574 if (DeltaEtaJJWide >= 1.0 && DeltaEtaJJWide < 1.5)
576 if (DeltaEtaJJWide >= 1.5 && DeltaEtaJJWide < 2.0)
578 if (DeltaEtaJJWide >= 2.0 && DeltaEtaJJWide < 2.5)
580 if (DeltaEtaJJWide >= 2.5 && DeltaEtaJJWide < 3.0)
582 if (DeltaEtaJJWide >= 3.0)
597 int HLTpathMain_fired = -1;
598 int HLTpathMonitor_fired = -1;
625 if (pass_fullsel_NOdeta && HLTpathMonitor_fired == 1) {
629 if (HLTpathMain_fired == 1) {
635 if (pass_fullsel_detaL4 && HLTpathMonitor_fired == 1) {
639 if (HLTpathMain_fired == 1) {
645 if (pass_fullsel_detaL3 && HLTpathMonitor_fired == 1) {
649 if (HLTpathMain_fired == 1) {
655 if (pass_fullsel_detaL2 && HLTpathMonitor_fired == 1) {
659 if (HLTpathMain_fired == 1) {
665 if (pass_fullsel && HLTpathMonitor_fired == 1) {
669 if (HLTpathMain_fired == 1) {
MonitorElement * m_HT_finalSel
MonitorElement * m_MjjWide_num_NOdeta
T getUntrackedParameter(std::string const &, T const &) const
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
vector< string > parse(string line, const string &delimiter)
MonitorElement * m_MjjWide_num_detaL4
MonitorElement * m_MjjWide_den_detaL3
const edm::EventSetup & c
MonitorElement * m_HT_inclusive
MonitorElement * m_MjjWide_den_NOdeta
bool configurationUpdated() const
MonitorElement * m_MjjWide_num_detaL2
unsigned int numwidejets_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * m_selJets_towersArea
void prepareBooking(DQMStore::IBooker &)
MonitorElement * m_metCaseNoMetClean
edm::EDGetTokenT< reco::CaloJetCollection > jetCollectionTagToken_
ParameterSet const & getParameterSet(ParameterSetID const &id)
MonitorElement * m_MjjWide_deta_0p0_0p5
triggerExpression::Evaluator * HLTpathMonitor_
triggerExpression::Data triggerConfiguration_
MonitorElement * m_metDiff
MonitorElement * bookH1withSumw2(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, const std::string &titleX="", const std::string &titleY="Events", Option_t *option="E1 P")
MonitorElement * m_MjjWide_num_detaL3
MonitorElement * m_MjjWide_deta_3p0_inf
MonitorElement * m_MjjWide_deta_1p0_1p5
MonitorElement * bookH1withSumw2BinArray(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, float *xbinsize, const std::string &titleX="", const std::string &titleY="Events", Option_t *option="E1 P")
MonitorElement * m_selJets_emEnergyFraction
DiJetVarAnalyzer(const edm::ParameterSet &)
MonitorElement * m_selJets_phi
MonitorElement * m_MjjWide_num
MonitorElement * m_selJets_pt
MonitorElement * m_MjjWide_finalSel_varbin
MonitorElement * m_cutFlow
virtual void init(const Data &data)
MonitorElement * m_MjjWide_finalSel_WithoutNoiseFilter
MonitorElement * bookH2withSumw2(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const std::string &titleX="", const std::string &titleY="", Option_t *option="COLZ")
MonitorElement * m_metVSmetclean
MonitorElement * m_MjjWide_den
edm::EDGetTokenT< reco::CaloMETCollection > metCollectionTagToken_
triggerExpression::Evaluator * HLTpathMain_
MonitorElement * m_DphijjWide_finalSel
MonitorElement * m_MjjWide_deta_0p5_1p0
bool setEvent(const edm::Event &event, const edm::EventSetup &setup)
edm::EDGetTokenT< reco::CaloMETCollection > metCleanCollectionTagToken_
MonitorElement * m_MjjWide_deta_2p0_2p5
MonitorElement * m_MjjWide_den_detaL2
MonitorElement * m_DetajjVsMjjWide_rebin
MonitorElement * m_selJets_eta
MonitorElement * m_MjjWide_deta_2p5_3p0
MonitorElement * m_DetajjVsMjjWide
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * m_MjjWide_deta_1p5_2p0
MonitorElement * m_MjjWide_finalSel_WithoutNoiseFilter_varbin
MonitorElement * m_DetajjWide_finalSel
~DiJetVarAnalyzer() override
MonitorElement * m_MjjWide_finalSel
MonitorElement * m_MjjWide_den_detaL4
edm::EDGetTokenT< std::vector< math::PtEtaPhiMLorentzVector > > widejetsCollectionTagToken_
MonitorElement * m_DetajjWide
MonitorElement * m_selJets_hadEnergyFraction
MonitorElement * m_metCases