CMS 3D CMS Logo

JetAnalyzer.cc
Go to the documentation of this file.
1 
16 
29 
33 
53 
54 #include <string>
55 
56 #include <cmath>
57 
58 using namespace edm;
59 using namespace reco;
60 using namespace std;
61 
62 // ***********************************************************
64 //: trackPropagator_(new jetAnalysis::TrackPropagatorToCalo)//,
65 //sOverNCalculator_(new jetAnalysis::StripSignalOverNoiseCalculator)
66 {
67  parameters_ = pSet.getParameter<edm::ParameterSet>("jetAnalysis");
68  mInputCollection_ = pSet.getParameter<edm::InputTag>("jetsrc");
69  m_l1algoname_ = pSet.getParameter<std::string>("l1algoname");
70  m_bitAlgTechTrig_ = -1;
71 
72  jetType_ = pSet.getParameter<std::string>("JetType");
73  m_l1algoname_ = pSet.getParameter<std::string>("l1algoname");
74 
75  fill_jet_high_level_histo = pSet.getParameter<bool>("filljetHighLevel"),
76  filljetsubstruc_ = pSet.getParameter<bool>("fillsubstructure");
77  pt_min_boosted_ = pSet.getParameter<double>("ptMinBoosted");
78 
79  isCaloJet_ = (std::string("calo") == jetType_);
80  //isJPTJet_ = (std::string("jpt") ==jetType_);
81  isPFJet_ = (std::string("pf") == jetType_);
82  isPUPPIJet_ = (std::string("puppi") == jetType_);
83  isMiniAODJet_ = (std::string("miniaod") == jetType_);
84  jetCorrectorTag_ = pSet.getParameter<edm::InputTag>("JetCorrections");
85  if (!isMiniAODJet_) { //in MiniAOD jet is already corrected
86  jetCorrectorToken_ = consumes<reco::JetCorrector>(jetCorrectorTag_);
87  }
88 
89  if (isCaloJet_) {
90  caloJetsToken_ = consumes<reco::CaloJetCollection>(mInputCollection_);
91  // MET information
92  caloMetToken_ =
93  consumes<reco::CaloMETCollection>(edm::InputTag(pSet.getParameter<edm::InputTag>("METCollectionLabel")));
94  }
95  //if (isJPTJet_) jptJetsToken_ = consumes<reco::JPTJetCollection>(mInputCollection_);
96  if (isPFJet_) {
97  pfJetsToken_ = consumes<reco::PFJetCollection>(mInputCollection_);
98  MuonsToken_ = consumes<reco::MuonCollection>(pSet.getParameter<edm::InputTag>("muonsrc"));
99  pfMetToken_ =
100  consumes<reco::PFMETCollection>(edm::InputTag(pSet.getParameter<edm::InputTag>("METCollectionLabel")));
101  }
102  if (isPUPPIJet_) {
103  puppiJetsToken_ = consumes<reco::PFJetCollection>(mInputCollection_);
104  MuonsToken_ = consumes<reco::MuonCollection>(pSet.getParameter<edm::InputTag>("muonsrc"));
105  puppiMetToken_ =
106  consumes<reco::PFMETCollection>(edm::InputTag(pSet.getParameter<edm::InputTag>("METCollectionLabel")));
107  }
108  if (isMiniAODJet_) {
109  patJetsToken_ = consumes<pat::JetCollection>(mInputCollection_);
110  patMetToken_ = consumes<pat::METCollection>(edm::InputTag(pSet.getParameter<edm::InputTag>("METCollectionLabel")));
111  }
112  cutBasedPUDiscriminantToken_ =
113  consumes<edm::ValueMap<float> >(pSet.getParameter<edm::InputTag>("InputCutPUIDDiscriminant"));
114  cutBasedPUIDToken_ = consumes<edm::ValueMap<int> >(pSet.getParameter<edm::InputTag>("InputCutPUIDValue"));
115  mvaPUIDToken_ = consumes<edm::ValueMap<int> >(pSet.getParameter<edm::InputTag>("InputMVAPUIDValue"));
116  mvaFullPUDiscriminantToken_ =
117  consumes<edm::ValueMap<float> >(pSet.getParameter<edm::InputTag>("InputMVAPUIDDiscriminant"));
118 
119  qgMultiplicityToken_ = consumes<edm::ValueMap<int> >(pSet.getParameter<edm::InputTag>("InputQGMultiplicity"));
120  qgLikelihoodToken_ = consumes<edm::ValueMap<float> >(pSet.getParameter<edm::InputTag>("InputQGLikelihood"));
121  qgptDToken_ = consumes<edm::ValueMap<float> >(pSet.getParameter<edm::InputTag>("InputQGPtDToken"));
122  qgaxis2Token_ = consumes<edm::ValueMap<float> >(pSet.getParameter<edm::InputTag>("InputQGAxis2"));
123 
124  fill_CHS_histos = pSet.getParameter<bool>("fillCHShistos");
125 
126  JetIDQuality_ = pSet.getParameter<string>("JetIDQuality");
127  JetIDVersion_ = pSet.getParameter<string>("JetIDVersion");
128 
129  // JetID definitions for Calo and JPT Jets
130  if (isCaloJet_) {
131  inputJetIDValueMap = pSet.getParameter<edm::InputTag>("InputJetIDValueMap");
132  jetID_ValueMapToken_ = consumes<edm::ValueMap<reco::JetID> >(inputJetIDValueMap);
133  if (JetIDVersion_ == "PURE09") {
134  jetidversion = JetIDSelectionFunctor::PURE09;
135  } else if (JetIDVersion_ == "DQM09") {
136  jetidversion = JetIDSelectionFunctor::DQM09;
137  } else if (JetIDVersion_ == "CRAFT08") {
138  jetidversion = JetIDSelectionFunctor::CRAFT08;
139  } else {
140  if (verbose_)
141  std::cout << "no Valid JetID version given" << std::endl;
142  }
143  if (JetIDQuality_ == "MINIMAL") {
144  jetidquality = JetIDSelectionFunctor::MINIMAL;
145  } else if (JetIDQuality_ == "LOOSE_AOD") {
146  jetidquality = JetIDSelectionFunctor::LOOSE_AOD;
147  } else if (JetIDQuality_ == "LOOSE") {
148  jetidquality = JetIDSelectionFunctor::LOOSE;
149  } else if (JetIDQuality_ == "TIGHT") {
150  jetidquality = JetIDSelectionFunctor::TIGHT;
151  } else {
152  if (verbose_)
153  std::cout << "no Valid JetID quality given" << std::endl;
154  }
155  jetIDFunctor = JetIDSelectionFunctor(jetidversion, jetidquality);
156  }
157 
158  //Jet ID definitions for PFJets
159  if (isPFJet_ || isMiniAODJet_ || isPUPPIJet_) {
160  if (JetIDVersion_ == "FIRSTDATA") {
161  pfjetidversion = PFJetIDSelectionFunctor::FIRSTDATA;
162  } else if (JetIDVersion_ == "RUNIISTARTUP") {
163  pfjetidversion = PFJetIDSelectionFunctor::RUNIISTARTUP;
164  } else if (JetIDVersion_ == "WINTER16") {
165  pfjetidversion = PFJetIDSelectionFunctor::WINTER16;
166  } else if (JetIDVersion_ == "WINTER17") {
167  pfjetidversion = PFJetIDSelectionFunctor::WINTER17;
168  } else if (JetIDVersion_ == "WINTER17PUPPI") {
170  } else if (JetIDVersion_ == "RUN2ULCHS") {
171  pfjetidversion = PFJetIDSelectionFunctor::RUN2ULCHS;
172  } else if (JetIDVersion_ == "RUN2ULPUPPI") {
173  pfjetidversion = PFJetIDSelectionFunctor::RUN2ULPUPPI;
174  } else {
175  if (verbose_)
176  std::cout << "no valid PF JetID version given" << std::endl;
177  }
178  if (JetIDQuality_ == "LOOSE") {
179  pfjetidquality = PFJetIDSelectionFunctor::LOOSE;
180  } else if (JetIDQuality_ == "TIGHT") {
181  pfjetidquality = PFJetIDSelectionFunctor::TIGHT;
182  } else {
183  if (verbose_)
184  std::cout << "no Valid PFJetID quality given" << std::endl;
185  }
186  pfjetIDFunctor = PFJetIDSelectionFunctor(pfjetidversion, pfjetidquality);
187  }
188  //check later if some of those are also needed for PFJets
189  leadJetFlag_ = 0;
190  jetLoPass_ = 0;
191  jetHiPass_ = 0;
192  ptThreshold_ = 20.;
193  ptThresholdUnc_ = 20.;
194  asymmetryThirdJetCut_ = 5.;
195  balanceThirdJetCut_ = 0.2;
196 
197  theTriggerResultsLabel_ = pSet.getParameter<edm::InputTag>("TriggerResultsLabel");
198  triggerResultsToken_ = consumes<edm::TriggerResults>(edm::InputTag(theTriggerResultsLabel_));
199  //
200  runcosmics_ = pSet.getUntrackedParameter<bool>("runcosmics", false);
201  jetCleaningFlag_ = pSet.getUntrackedParameter<bool>("JetCleaningFlag", true);
202 
203  if (runcosmics_) {
204  jetCleaningFlag_ = false;
205  }
206 
207  // ==========================================================
208  //DCS information
209  // ==========================================================
210  edm::ConsumesCollector iC = consumesCollector();
211  DCSFilterForJetMonitoring_ = new JetMETDQMDCSFilter(pSet.getParameter<ParameterSet>("DCSFilterForJetMonitoring"), iC);
212  DCSFilterForDCSMonitoring_ = new JetMETDQMDCSFilter("ecal:hbhe:hf:ho:pixel:sistrip:es:muon", iC);
213 
214  //Trigger selectoin
215  edm::ParameterSet highptjetparms = pSet.getParameter<edm::ParameterSet>("highPtJetTrigger");
216  edm::ParameterSet lowptjetparms = pSet.getParameter<edm::ParameterSet>("lowPtJetTrigger");
217 
218  highPtJetEventFlag_ =
219  new GenericTriggerEventFlag(highptjetparms, consumesCollector(), *this, l1t::UseEventSetupIn::Run);
220  lowPtJetEventFlag_ =
221  new GenericTriggerEventFlag(lowptjetparms, consumesCollector(), *this, l1t::UseEventSetupIn::Run);
222 
223  highPtJetExpr_ = highptjetparms.getParameter<std::vector<std::string> >("hltPaths");
224  lowPtJetExpr_ = lowptjetparms.getParameter<std::vector<std::string> >("hltPaths");
225 
226  processname_ = pSet.getParameter<std::string>("processname");
227 
228  //jet cleanup parameters
229  cleaningParameters_ = pSet.getParameter<ParameterSet>("CleaningParameters");
230 
231  bypassAllPVChecks_ = cleaningParameters_.getParameter<bool>("bypassAllPVChecks");
232  vertexLabel_ = cleaningParameters_.getParameter<edm::InputTag>("vertexCollection");
233  vertexToken_ = consumes<std::vector<reco::Vertex> >(edm::InputTag(vertexLabel_));
234 
235  gtLabel_ = cleaningParameters_.getParameter<edm::InputTag>("gtLabel");
236  gtToken_ = consumes<L1GlobalTriggerReadoutRecord>(edm::InputTag(gtLabel_));
237 
238  std::string inputCollectionLabel(mInputCollection_.label());
239  verbose_ = parameters_.getParameter<int>("verbose");
240  // monitoring of eta parameter
241  etaBin_ = parameters_.getParameter<int>("etaBin");
242  etaMin_ = parameters_.getParameter<double>("etaMin");
243  etaMax_ = parameters_.getParameter<double>("etaMax");
244  // monitoring of phi paramater
245  phiBin_ = parameters_.getParameter<int>("phiBin");
246  phiMin_ = parameters_.getParameter<double>("phiMin");
247  phiMax_ = parameters_.getParameter<double>("phiMax");
248  // monitoring of the transverse momentum
249  ptBin_ = parameters_.getParameter<int>("ptBin");
250  ptMin_ = parameters_.getParameter<double>("ptMin");
251  ptMax_ = parameters_.getParameter<double>("ptMax");
252  //
253  eBin_ = parameters_.getParameter<int>("eBin");
254  eMin_ = parameters_.getParameter<double>("eMin");
255  eMax_ = parameters_.getParameter<double>("eMax");
256  //
257  pBin_ = parameters_.getParameter<int>("pBin");
258  pMin_ = parameters_.getParameter<double>("pMin");
259  pMax_ = parameters_.getParameter<double>("pMax");
260  //
261  nbinsPV_ = parameters_.getParameter<int>("pVBin");
262  nPVlow_ = parameters_.getParameter<double>("pVMin");
263  nPVhigh_ = parameters_.getParameter<double>("pVMax");
264  //
265  ptThreshold_ = parameters_.getParameter<double>("ptThreshold");
266  ptThresholdUnc_ = parameters_.getParameter<double>("ptThresholdUnc");
267  asymmetryThirdJetCut_ = parameters_.getParameter<double>("asymmetryThirdJetCut");
268  balanceThirdJetCut_ = parameters_.getParameter<double>("balanceThirdJetCut");
269 
270  l1gtTrigMenuToken_ = esConsumes<edm::Transition::BeginRun>();
271 }
272 
273 // ***********************************************************
275  delete highPtJetEventFlag_;
276  delete lowPtJetEventFlag_;
277 
278  delete DCSFilterForDCSMonitoring_;
279  delete DCSFilterForJetMonitoring_;
280  LogTrace("JetAnalyzer") << "[JetAnalyzer] Saving the histos";
281 }
282 
283 // ***********************************************************
285  if (jetCleaningFlag_) {
286  ibooker.setCurrentFolder("JetMET/Jet/Cleaned" + mInputCollection_.label());
287  DirName = "JetMET/Jet/Cleaned" + mInputCollection_.label();
288  } else {
289  ibooker.setCurrentFolder("JetMET/Jet/Uncleaned" + mInputCollection_.label());
290  DirName = "JetMET/Jet/Uncleaned" + mInputCollection_.label();
291  }
292 
293  jetME = ibooker.book1D("jetReco", "jetReco", 5, 1, 5);
294  jetME->setBinLabel(1, "CaloJets", 1);
295  jetME->setBinLabel(2, "PFJets", 1);
296  jetME->setBinLabel(3, "JPTJets", 1);
297  jetME->setBinLabel(4, "MiniAODJets", 1);
298  jetME->setBinLabel(5, "PUPPIJets", 1);
299 
300  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "jetReco", jetME));
301 
302  mPt = ibooker.book1D("Pt", "pt", ptBin_, ptMin_, ptMax_);
303  mEta = ibooker.book1D("Eta", "eta", etaBin_, etaMin_, etaMax_);
304  mPhi = ibooker.book1D("Phi", "phi", phiBin_, phiMin_, phiMax_);
305  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt", mPt));
306  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta", mEta));
307  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi", mPhi));
308 
309  //if(!isJPTJet_){
310  mConstituents = ibooker.book1D("Constituents", "# of constituents", 50, 0, 100);
311  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Constituents", mConstituents));
312  //}
313  mJetEnergyCorr = ibooker.book1D("JetEnergyCorr", "jet energy correction factor", 50, 0.0, 3.0);
314  mJetEnergyCorrVSEta = ibooker.bookProfile(
315  "JetEnergyCorrVSEta", "jet energy correction factor VS eta", etaBin_, etaMin_, etaMax_, 0.0, 3.0);
316  mJetEnergyCorrVSPt =
317  ibooker.bookProfile("JetEnergyCorrVSPt", "jet energy correction factor VS pt", ptBin_, ptMin_, ptMax_, 0.0, 3.0);
318  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetEnergyCorr", mJetEnergyCorr));
319  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetEnergyCorrVSEta", mJetEnergyCorrVSEta));
320  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetEnergyCorrVSPt", mJetEnergyCorrVSPt));
321 
322  mPt_uncor = ibooker.book1D("Pt_uncor", "pt for uncorrected jets", ptBin_, ptThresholdUnc_, ptMax_);
323  mEta_uncor = ibooker.book1D("Eta_uncor", "eta for uncorrected jets", etaBin_, etaMin_, etaMax_);
324  mPhi_uncor = ibooker.book1D("Phi_uncor", "phi for uncorrected jets", phiBin_, phiMin_, phiMax_);
325  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_uncor", mPt_uncor));
326  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta_uncor", mEta_uncor));
327  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_uncor", mPhi_uncor));
328  //if(!isJPTJet_){
329  mConstituents_uncor = ibooker.book1D("Constituents_uncor", "# of constituents for uncorrected jets", 50, 0, 100);
330  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Constituents_uncor", mConstituents_uncor));
331  //}
332 
333  mDPhi = ibooker.book1D("DPhi", "dPhi btw the two leading jets", 100, 0., acos(-1.));
334  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DPhi", mDPhi));
335 
336  // Book NPV profiles
337  //----------------------------------------------------------------------------
338  mPt_profile = ibooker.bookProfile("Pt_profile", "pt", nbinsPV_, nPVlow_, nPVhigh_, ptBin_, ptMin_, ptMax_);
339  mEta_profile = ibooker.bookProfile("Eta_profile", "eta", nbinsPV_, nPVlow_, nPVhigh_, etaBin_, etaMin_, etaMax_);
340  mPhi_profile = ibooker.bookProfile("Phi_profile", "phi", nbinsPV_, nPVlow_, nPVhigh_, phiBin_, phiMin_, phiMax_);
341  //if(!isJPTJet_){
342  mConstituents_profile =
343  ibooker.bookProfile("Constituents_profile", "# of constituents", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
344  //}
345  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_profile", mPt_profile));
346  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta_profile", mEta_profile));
347  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_profile", mPhi_profile));
348 
349  if (!runcosmics_) { //JIDPassFrac_ defines a collection of cleaned jets, for which we will want to fill the cleaning passing fraction
350  mLooseJIDPassFractionVSeta =
351  ibooker.bookProfile("JetIDPassFractionVSeta", "JetIDPassFractionVSeta", etaBin_, etaMin_, etaMax_, 0., 1.2);
352  mLooseJIDPassFractionVSpt =
353  ibooker.bookProfile("JetIDPassFractionVSpt", "JetIDPassFractionVSpt", ptBin_, ptMin_, ptMax_, 0., 1.2);
354  mLooseJIDPassFractionVSptNoHF =
355  ibooker.bookProfile("JetIDPassFractionVSptNoHF", "JetIDPassFractionVSptNoHF", ptBin_, ptMin_, ptMax_, 0., 1.2);
356  map_of_MEs.insert(
357  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetIDPassFractionVSeta", mLooseJIDPassFractionVSeta));
358  map_of_MEs.insert(
359  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetIDPassFractionVSpt", mLooseJIDPassFractionVSpt));
360  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetIDPassFractionVSptNoHF",
361  mLooseJIDPassFractionVSptNoHF));
362  }
363 
364  mNJets_profile = ibooker.bookProfile("NJets_profile", "number of jets", nbinsPV_, nPVlow_, nPVhigh_, 100, 0, 100);
365 
366  // Set NPV profiles x-axis title
367  //----------------------------------------------------------------------------
368  mPt_profile->setAxisTitle("nvtx", 1);
369  mEta_profile->setAxisTitle("nvtx", 1);
370  mPhi_profile->setAxisTitle("nvtx", 1);
371  //if(!isJPTJet_){
372  mConstituents_profile->setAxisTitle("nvtx", 1);
373  map_of_MEs.insert(
374  std::pair<std::string, MonitorElement*>(DirName + "/" + "Constituents_profile", mConstituents_profile));
375  //}
376  mNJets_profile->setAxisTitle("nvtx", 1);
377 
378  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_profile", mPt_profile));
379  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta_profile", mEta_profile));
380  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_profile", mPhi_profile));
381  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NJets_profile", mNJets_profile));
382 
383  mPhiVSEta = ibooker.book2D("PhiVSEta", "PhiVSEta", 50, etaMin_, etaMax_, 24, phiMin_, phiMax_);
384  mPhiVSEta->setOption("colz");
385  mPhiVSEta->setAxisTitle("#eta", 1);
386  mPhiVSEta->setAxisTitle("#phi", 2);
387  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhiVSEta", mPhiVSEta));
388 
389  mPt_1 = ibooker.book1D("Pt_1", "Pt spectrum of jets - range 1", 20, 0, 100);
390  mPt_2 = ibooker.book1D("Pt_2", "Pt spectrum of jets - range 2", 60, 0, 300);
391  mPt_3 = ibooker.book1D("Pt_3", "Pt spectrum of jets - range 3", 100, 0, 5000);
392  mPt_log = ibooker.book1D("Pt_log", "Pt spectrum of jets - log", 100, 0, 50);
393  // Low and high pt trigger paths
394  mPt_Lo = ibooker.book1D("Pt_Lo", "Pt (Pass Low Pt Jet Trigger)", 20, 0, 100);
395  //mEta_Lo = ibooker.book1D("Eta_Lo", "Eta (Pass Low Pt Jet Trigger)", etaBin_, etaMin_, etaMax_);
396  mPhi_Lo = ibooker.book1D("Phi_Lo", "Phi (Pass Low Pt Jet Trigger)", phiBin_, phiMin_, phiMax_);
397 
398  mPt_Hi = ibooker.book1D("Pt_Hi", "Pt (Pass Hi Pt Jet Trigger)", 60, 0, 300);
399  mEta_Hi = ibooker.book1D("Eta_Hi", "Eta (Pass Hi Pt Jet Trigger)", etaBin_, etaMin_, etaMax_);
400  mPhi_Hi = ibooker.book1D("Phi_Hi", "Phi (Pass Hi Pt Jet Trigger)", phiBin_, phiMin_, phiMax_);
401  mNJets = ibooker.book1D("NJets", "number of jets", 100, 0, 100);
402 
403  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_1", mPt_1));
404  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_2", mPt_2));
405  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_3", mPt_3));
406  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_log", mPt_log));
407  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_Lo", mPt_Lo));
408  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_Lo", mPhi_Lo));
409  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_Hi", mPt_Hi));
410  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta_Hi", mEta_Hi));
411  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_Hi", mPhi_Hi));
412  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NJets", mNJets));
413 
414  //mPt_Barrel_Lo = ibooker.book1D("Pt_Barrel_Lo", "Pt Barrel (Pass Low Pt Jet Trigger)", 20, 0, 100);
415  //mPhi_Barrel_Lo = ibooker.book1D("Phi_Barrel_Lo", "Phi Barrel (Pass Low Pt Jet Trigger)", phiBin_, phiMin_, phiMax_);
416  //if(!isJPTJet_){
417  mConstituents_Barrel = ibooker.book1D("Constituents_Barrel", "Constituents Barrel", 50, 0, 100);
418  map_of_MEs.insert(
419  std::pair<std::string, MonitorElement*>(DirName + "/" + "Constituents_Barrel", mConstituents_Barrel));
420  //}
421 
422  //mPt_EndCap_Lo = ibooker.book1D("Pt_EndCap_Lo", "Pt EndCap (Pass Low Pt Jet Trigger)", 20, 0, 100);
423  //mPhi_EndCap_Lo = ibooker.book1D("Phi_EndCap_Lo", "Phi EndCap (Pass Low Pt Jet Trigger)", phiBin_, phiMin_, phiMax_);
424  //if(!isJPTJet_){
425  mConstituents_EndCap = ibooker.book1D("Constituents_EndCap", "Constituents EndCap", 50, 0, 100);
426  map_of_MEs.insert(
427  std::pair<std::string, MonitorElement*>(DirName + "/" + "Constituents_EndCap", mConstituents_EndCap));
428  //}
429 
430  //mPt_Forward_Lo = ibooker.book1D("Pt_Forward_Lo", "Pt Forward (Pass Low Pt Jet Trigger)", 20, 0, 100);
431  //mPhi_Forward_Lo = ibooker.book1D("Phi_Forward_Lo", "Phi Forward (Pass Low Pt Jet Trigger)", phiBin_, phiMin_, phiMax_);
432  //if(!isJPTJet_){
433  mConstituents_Forward = ibooker.book1D("Constituents_Forward", "Constituents Forward", 50, 0, 100);
434  map_of_MEs.insert(
435  std::pair<std::string, MonitorElement*>(DirName + "/" + "Constituents_Forward", mConstituents_Forward));
436  //}
437 
438  mPt_Barrel_Hi = ibooker.book1D("Pt_Barrel_Hi", "Pt Barrel (Pass Hi Pt Jet Trigger)", 60, 0, 300);
439  mPhi_Barrel_Hi = ibooker.book1D("Phi_Barrel_Hi", "Phi Barrel (Pass Hi Pt Jet Trigger)", phiBin_, phiMin_, phiMax_);
440 
441  mPt_EndCap_Hi = ibooker.book1D("Pt_EndCap_Hi", "Pt EndCap (Pass Hi Pt Jet Trigger)", 60, 0, 300);
442  mPhi_EndCap_Hi = ibooker.book1D("Phi_EndCap_Hi", "Phi EndCap (Pass Hi Pt Jet Trigger)", phiBin_, phiMin_, phiMax_);
443 
444  mPt_Forward_Hi = ibooker.book1D("Pt_Forward_Hi", "Pt Forward (Pass Hi Pt Jet Trigger)", 60, 0, 300);
445  mPhi_Forward_Hi = ibooker.book1D("Phi_Forward_Hi", "Phi Forward (Pass Hi Pt Jet Trigger)", phiBin_, phiMin_, phiMax_);
446 
447  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_Barrel_Hi", mPt_Barrel_Hi));
448  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_Barrel_Hi", mPhi_Barrel_Hi));
449  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_EndCap_Hi", mPt_EndCap_Hi));
450  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_EndCap_Hi", mPhi_EndCap_Hi));
451  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_Forward_Hi", mPt_Forward_Hi));
452  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_Forward_Hi", mPhi_Forward_Hi));
453 
454  mPhi_Barrel = ibooker.book1D("Phi_Barrel", "Phi_Barrel", phiBin_, phiMin_, phiMax_);
455  mPt_Barrel = ibooker.book1D("Pt_Barrel", "Pt_Barrel", ptBin_, ptMin_, ptMax_);
456 
457  mPhi_EndCap = ibooker.book1D("Phi_EndCap", "Phi_EndCap", phiBin_, phiMin_, phiMax_);
458  mPt_EndCap = ibooker.book1D("Pt_EndCap", "Pt_EndCap", ptBin_, ptMin_, ptMax_);
459 
460  mPhi_Forward = ibooker.book1D("Phi_Forward", "Phi_Forward", phiBin_, phiMin_, phiMax_);
461  mPt_Forward = ibooker.book1D("Pt_Forward", "Pt_Forward", ptBin_, ptMin_, ptMax_);
462 
463  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_Barrel", mPt_Barrel));
464  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_Barrel", mPhi_Barrel));
465  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_EndCap", mPt_EndCap));
466  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_EndCap", mPhi_EndCap));
467  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_Forward", mPt_Forward));
468  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_Forward", mPhi_Forward));
469 
470  // Leading Jet Parameters
471  mEtaFirst = ibooker.book1D("EtaFirst", "EtaFirst", 50, -5, 5);
472  mPhiFirst = ibooker.book1D("PhiFirst", "PhiFirst", 70, phiMin_, phiMax_);
473  mPtFirst = ibooker.book1D("PtFirst", "PtFirst", ptBin_, ptMin_, ptMax_);
474 
475  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EtaFirst", mEtaFirst));
476  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PtFirst", mPtFirst));
477  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhiFirst", mPhiFirst));
478 
479  //--- Calo jet selection only
480  if (isCaloJet_) {
481  // CaloJet specific
482  mHadEnergyInHO = ibooker.book1D("HadEnergyInHO", "HadEnergyInHO", 50, 0, 20);
483  mHadEnergyInHB = ibooker.book1D("HadEnergyInHB", "HadEnergyInHB", 50, 0, 100);
484  mHadEnergyInHF = ibooker.book1D("HadEnergyInHF", "HadEnergyInHF", 50, 0, 100);
485  mHadEnergyInHE = ibooker.book1D("HadEnergyInHE", "HadEnergyInHE", 50, 0, 200);
486  mEmEnergyInEB = ibooker.book1D("EmEnergyInEB", "EmEnergyInEB", 50, 0, 100);
487  mEmEnergyInEE = ibooker.book1D("EmEnergyInEE", "EmEnergyInEE", 50, 0, 100);
488  mEmEnergyInHF = ibooker.book1D("EmEnergyInHF", "EmEnergyInHF", 60, -20, 200);
489  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HadEnergyInHO", mHadEnergyInHO));
490  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HadEnergyInHB", mHadEnergyInHB));
491  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HadEnergyInHF", mHadEnergyInHF));
492  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HadEnergyInHE", mHadEnergyInHE));
493  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EmEnergyInEB", mEmEnergyInEB));
494  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EmEnergyInEE", mEmEnergyInEE));
495  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EmEnergyInHF", mEmEnergyInHF));
496 
497  //JetID variables
498  mresEMF = ibooker.book1D("resEMF", "resEMF", 50, 0., 1.);
499  mN90Hits = ibooker.book1D("N90Hits", "N90Hits", 50, 0., 50);
500  mfHPD = ibooker.book1D("fHPD", "fHPD", 50, 0., 1.);
501  mfRBX = ibooker.book1D("fRBX", "fRBX", 50, 0., 1.);
502  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "resEMF", mresEMF));
503  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "N90Hits", mN90Hits));
504  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "fHPD", mfHPD));
505  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "fRBX", mfRBX));
506 
507  mHFrac = ibooker.book1D("HFrac", "HFrac", 70, -0.2, 1.2);
508  mEFrac = ibooker.book1D("EFrac", "EFrac", 52, -0.02, 1.02);
509  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFrac", mHFrac));
510  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EFrac", mEFrac));
511  mHFrac_profile = ibooker.bookProfile("HFrac_profile", "HFrac", nbinsPV_, nPVlow_, nPVhigh_, 70, -0.2, 1.2);
512  mEFrac_profile = ibooker.bookProfile("EFrac_profile", "EFrac", nbinsPV_, nPVlow_, nPVhigh_, 52, -0.02, 1.02);
513  mHFrac_profile->setAxisTitle("nvtx", 1);
514  mEFrac_profile->setAxisTitle("nvtx", 1);
515  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFrac_profile", mHFrac_profile));
516  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EFrac_profile", mEFrac_profile));
517  mHFrac_Barrel = ibooker.book1D("HFrac_Barrel", "HFrac Barrel", 50, 0, 1);
518  mEFrac_Barrel = ibooker.book1D("EFrac_Barrel", "EFrac Barrel", 52, -0.02, 1.02);
519  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFrac_Barrel", mHFrac_Barrel));
520  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EFrac_Barrel", mEFrac_Barrel));
521  mHFrac_EndCap = ibooker.book1D("HFrac_EndCap", "HFrac EndCap", 50, 0, 1);
522  mEFrac_EndCap = ibooker.book1D("EFrac_EndCap", "EFrac EndCap", 52, -0.02, 1.02);
523  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFrac_EndCap", mHFrac_EndCap));
524  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EFrac_EndCap", mEFrac_EndCap));
525  mHFrac_Forward = ibooker.book1D("HFrac_Forward", "HFrac Forward", 70, -0.2, 1.2);
526  mEFrac_Forward = ibooker.book1D("EFrac_Forward", "EFrac Forward", 52, -0.02, 1.02);
527  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFrac_Forward", mHFrac_Forward));
528  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EFrac_Forward", mEFrac_Forward));
529  }
530 
531  if (isPFJet_) {
532  /* remove quark gluon plots for default jet selection, but select physics signatures which monitor gluon and quark
533  if(jetCleaningFlag_){
534  //gluon quark separation axis
535  if(fill_CHS_histos){
536  mAxis2_lowPt_Barrel = ibooker.book1D("qg_Axis2_lowPt_Barrel","qg Axis2 #sigma_{2} lowPt Barrel",50,0.,0.20);
537  mpTD_lowPt_Barrel= ibooker.book1D("qg_pTD_lowPt_Barrel","qg fragmentation function p_{T}^{D} lowPt Barrel",50,0.15,1.05);
538  mMultiplicityQG_lowPt_Barrel= ibooker.book1D("qg_multiplicity_lowPt_Barrel","qg multiplicity lowPt Barrel",50,0,50);
539  mqgLikelihood_lowPt_Barrel= ibooker.book1D("qg_Likelihood_lowPt_Barrel","qg likelihood lowPt Barrel",50,-1.1,1.1);
540  mAxis2_lowPt_EndCap = ibooker.book1D("qg_Axis2_lowPt_EndCap","qg Axis2 #sigma_{2} lowPt EndCap",50,0.,0.20);
541  mpTD_lowPt_EndCap= ibooker.book1D("qg_pTD_lowPt_EndCap","qg fragmentation function p_{T}^{D} lowPt EndCap",50,0.15,1.05);
542  mMultiplicityQG_lowPt_EndCap= ibooker.book1D("qg_multiplicity_lowPt_EndCap","qg multiplicity lowPt EndCap",50,0,100);
543  mqgLikelihood_lowPt_EndCap= ibooker.book1D("qg_Likelihood_lowPt_EndCap","qg likelihood lowPt EndCap",50,-1.1,1.1);
544  mAxis2_lowPt_Forward = ibooker.book1D("qg_Axis2_lowPt_Forward","qg Axis2 #sigma_{2} lowPt Forward",50,0.,0.20);
545  mpTD_lowPt_Forward= ibooker.book1D("qg_pTD_lowPt_Forward","qg fragmentation function p_{T}^{D} lowPt Forward",50,0.15,1.05);
546  mMultiplicityQG_lowPt_Forward= ibooker.book1D("qg_multiplicity_lowPt_Forward","qg multiplicity lowPt Forward",50,0,100);
547  mqgLikelihood_lowPt_Forward= ibooker.book1D("qg_Likelihood_lowPt_Forward","qg likelihood lowPt Forward",50,-1.1,1.1);
548 
549  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_lowPt_Barrel" ,mAxis2_lowPt_Barrel));
550  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_lowPt_Barrel" ,mpTD_lowPt_Barrel));
551  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_lowPt_Barrel" ,mMultiplicityQG_lowPt_Barrel));
552  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_lowPt_Barrel" ,mqgLikelihood_lowPt_Barrel));
553  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_lowPt_EndCap" ,mAxis2_lowPt_EndCap));
554  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_lowPt_EndCap" ,mpTD_lowPt_EndCap));
555  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_lowPt_EndCap" ,mMultiplicityQG_lowPt_EndCap));
556  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_lowPt_EndCap" ,mqgLikelihood_lowPt_EndCap));
557  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_lowPt_Forward" ,mAxis2_lowPt_Forward));
558  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_lowPt_Forward" ,mpTD_lowPt_Forward));
559  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_lowPt_Forward" ,mMultiplicityQG_lowPt_Forward));
560  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_lowPt_Forward" ,mqgLikelihood_lowPt_Forward));
561 
562  mAxis2_mediumPt_Barrel = ibooker.book1D("qg_Axis2_mediumPt_Barrel","qg Axis2 #sigma_{2} mediumPt Barrel",50,0.,0.20);
563  mpTD_mediumPt_Barrel= ibooker.book1D("qg_pTD_mediumPt_Barrel","qg fragmentation function p_{T}^{D} mediumPt Barrel",50,0.15,1.05);
564  mMultiplicityQG_mediumPt_Barrel= ibooker.book1D("qg_multiplicity_mediumPt_Barrel","qg multiplicity mediumPt Barrel",50,0,100);
565  mqgLikelihood_mediumPt_Barrel= ibooker.book1D("qg_Likelihood_mediumPt_Barrel","qg likelihood mediumPt Barrel",50,-1.1,1.1);
566  mAxis2_mediumPt_EndCap = ibooker.book1D("qg_Axis2_mediumPt_EndCap","qg Axis2 #sigma_{2} mediumPt EndCap",50,0.,0.20);
567  mpTD_mediumPt_EndCap= ibooker.book1D("qg_pTD_mediumPt_EndCap","qg fragmentation function p_{T}^{D} mediumPt EndCap",50,0.15,1.05);
568  mMultiplicityQG_mediumPt_EndCap= ibooker.book1D("qg_multiplicity_mediumPt_EndCap","qg multiplicity mediumPt EndCap",50,0,100);
569  mqgLikelihood_mediumPt_EndCap= ibooker.book1D("qg_Likelihood_mediumPt_EndCap","qg likelihood mediumPt EndCap",50,-1.1,1.1);
570  mAxis2_mediumPt_Forward = ibooker.book1D("qg_Axis2_mediumPt_Forward","qg Axis2 #sigma_{2} mediumPt Forward",50,0.,0.20);
571  mpTD_mediumPt_Forward= ibooker.book1D("qg_pTD_mediumPt_Forward","qg fragmentation function p_{T}^{D} mediumPt Forward",50,0.15,1.05);
572  mMultiplicityQG_mediumPt_Forward= ibooker.book1D("qg_multiplicity_mediumPt_Forward","qg multiplicity mediumPt Forward",50,0,100);
573  mqgLikelihood_mediumPt_Forward= ibooker.book1D("qg_Likelihood_mediumPt_Forward","qg likelihood mediumPt Forward",50,-1.1,1.1);
574 
575  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_mediumPt_Barrel" ,mAxis2_mediumPt_Barrel));
576  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_mediumPt_Barrel" ,mpTD_mediumPt_Barrel));
577  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_mediumPt_Barrel" ,mMultiplicityQG_mediumPt_Barrel));
578  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_mediumPt_Barrel" ,mqgLikelihood_mediumPt_Barrel));
579  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_mediumPt_EndCap" ,mAxis2_mediumPt_EndCap));
580  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_mediumPt_EndCap" ,mpTD_mediumPt_EndCap));
581  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_mediumPt_EndCap" ,mMultiplicityQG_mediumPt_EndCap));
582  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_mediumPt_EndCap" ,mqgLikelihood_mediumPt_EndCap));
583  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_mediumPt_Forward" ,mAxis2_mediumPt_Forward));
584  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_mediumPt_Forward" ,mpTD_mediumPt_Forward));
585  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_mediumPt_Forward" ,mMultiplicityQG_mediumPt_Forward));
586  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_mediumPt_Forward" ,mqgLikelihood_mediumPt_Forward));
587 
588  mAxis2_highPt_Barrel = ibooker.book1D("qg_Axis2_highPt_Barrel","qg Axis2 #sigma_{2} highPt Barrel",50,0.,0.20);
589  mpTD_highPt_Barrel= ibooker.book1D("qg_pTD_highPt_Barrel","qg fragmentation function p_{T}^{D} highPt Barrel",50,0.15,1.05);
590  mMultiplicityQG_highPt_Barrel= ibooker.book1D("qg_multiplicity_highPt_Barrel","qg multiplicity highPt Barrel",50,0,100);
591  mqgLikelihood_highPt_Barrel= ibooker.book1D("qg_Likelihood_highPt_Barrel","qg likelihood highPt Barrel",50,-1.1,1.1);
592  mAxis2_highPt_EndCap = ibooker.book1D("qg_Axis2_highPt_EndCap","qg Axis2 #sigma_{2} highPt EndCap",50,0.,0.20);
593  mpTD_highPt_EndCap= ibooker.book1D("qg_pTD_highPt_EndCap","qg fragmentation function p_{T}^{D} highPt EndCap",50,0.15,1.05);
594  mMultiplicityQG_highPt_EndCap= ibooker.book1D("qg_multiplicity_highPt_EndCap","qg multiplicity highPt EndCap",50,0,100);
595  mqgLikelihood_highPt_EndCap= ibooker.book1D("qg_Likelihood_highPt_EndCap","qg likelihood highPt EndCap",50,-1.1,1.1);
596  mAxis2_highPt_Forward = ibooker.book1D("qg_Axis2_highPt_Forward","qg Axis2 #sigma_{2} highPt Forward",50,0.,0.20);
597  mpTD_highPt_Forward= ibooker.book1D("qg_pTD_highPt_Forward","qg fragmentation function p_{T}^{D} highPt Forward",50,0.15,1.05);
598  mMultiplicityQG_highPt_Forward= ibooker.book1D("qg_multiplicity_highPt_Forward","qg multiplicity highPt Forward",50,0,100);
599  mqgLikelihood_highPt_Forward= ibooker.book1D("qg_Likelihood_highPt_Forward","qg likelihood highPt Forward",50,-1.1,1.1);
600 
601  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_highPt_Barrel" ,mAxis2_highPt_Barrel));
602  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_highPt_Barrel" ,mpTD_highPt_Barrel));
603  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_highPt_Barrel" ,mMultiplicityQG_highPt_Barrel));
604  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_highPt_Barrel" ,mqgLikelihood_highPt_Barrel));
605  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_highPt_EndCap" ,mAxis2_highPt_EndCap));
606  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_highPt_EndCap" ,mpTD_highPt_EndCap));
607  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_highPt_EndCap" ,mMultiplicityQG_highPt_EndCap));
608  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_highPt_EndCap" ,mqgLikelihood_highPt_EndCap));
609  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_highPt_Forward" ,mAxis2_highPt_Forward));
610  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_highPt_Forward" ,mpTD_highPt_Forward));
611  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_highPt_Forward" ,mMultiplicityQG_highPt_Forward));
612  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_highPt_Forward" ,mqgLikelihood_highPt_Forward));
613  }
614  }*/
615  //PFJet specific histograms
616  mCHFracVSeta_lowPt =
617  ibooker.bookProfile("CHFracVSeta_lowPt", "CHFracVSeta_lowPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
618  mNHFracVSeta_lowPt =
619  ibooker.bookProfile("NHFacVSeta_lowPt", "NHFracVSeta_lowPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
620  mPhFracVSeta_lowPt =
621  ibooker.bookProfile("PhFracVSeta_lowPt", "PhFracVSeta_lowPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
622  mCHFracVSeta_mediumPt =
623  ibooker.bookProfile("CHFracVSeta_mediumPt", "CHFracVSeta_mediumPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
624  mNHFracVSeta_mediumPt =
625  ibooker.bookProfile("NHFracVSeta_mediumPt", "NHFracVSeta_mediumPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
626  mPhFracVSeta_mediumPt =
627  ibooker.bookProfile("PhFracVSeta_mediumPt", "PhFracVSeta_mediumPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
628  mCHFracVSeta_highPt =
629  ibooker.bookProfile("CHFracVSeta_highPt", "CHFracVSeta_highPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
630  mNHFracVSeta_highPt =
631  ibooker.bookProfile("NHFracVSeta_highPt", "NHFracVSeta_highPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
632  mPhFracVSeta_highPt =
633  ibooker.bookProfile("PhFracVSeta_highPt", "PhFracVSeta_highPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
634 
635  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracVSeta_lowPt", mCHFracVSeta_lowPt));
636  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracVSeta_lowPt", mNHFracVSeta_lowPt));
637  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracVSeta_lowPt", mPhFracVSeta_lowPt));
638  map_of_MEs.insert(
639  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracVSeta_mediumPt", mCHFracVSeta_mediumPt));
640  map_of_MEs.insert(
641  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracVSeta_mediumPt", mNHFracVSeta_mediumPt));
642  map_of_MEs.insert(
643  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracVSeta_mediumPt", mPhFracVSeta_mediumPt));
644  map_of_MEs.insert(
645  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracVSeta_highPt", mCHFracVSeta_highPt));
646  map_of_MEs.insert(
647  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracVSeta_highPt", mNHFracVSeta_highPt));
648  map_of_MEs.insert(
649  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracVSeta_highPt", mPhFracVSeta_highPt));
650 
651  mLooseMVAPUJIDPassFractionVSeta = ibooker.bookProfile(
652  "LooseMVAPUIDPassFractionVSeta", "LooseMVAPUIDPassFractionVSeta", etaBin_, etaMin_, etaMax_, 0., 1.2);
653  mLooseMVAPUJIDPassFractionVSpt = ibooker.bookProfile(
654  "LooseMVAPUIDPassFractionVSpt", "LooseMVAPUIDPassFractionVSpt", ptBin_, ptMin_, ptMax_, 0., 1.2);
655  mMediumMVAPUJIDPassFractionVSeta = ibooker.bookProfile(
656  "MediumMVAPUIDPassFractionVSeta", "MediumMVAPUIDPassFractionVSeta", etaBin_, etaMin_, etaMax_, 0., 1.2);
657  mMediumMVAPUJIDPassFractionVSpt = ibooker.bookProfile(
658  "MediumMVAPUIDPassFractionVSpt", "MediumMVAPUIDPassFractionVSpt", ptBin_, ptMin_, ptMax_, 0., 1.2);
659  mTightMVAPUJIDPassFractionVSeta = ibooker.bookProfile(
660  "TightMVAPUIDPassFractionVSeta", "TightMVAPUIDPassFractionVSeta", etaBin_, etaMin_, etaMax_, 0., 1.2);
661  mTightMVAPUJIDPassFractionVSpt = ibooker.bookProfile(
662  "TightMVAPUIDPassFractionVSpt", "TightMVAPUIDPassFractionVSpt", ptBin_, ptMin_, ptMax_, 0., 1.2);
663 
664  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "LooseMVAPUIDPassFractionVSeta",
665  mLooseMVAPUJIDPassFractionVSeta));
666  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "LooseMVAPUIDPassFractionVSpt",
667  mLooseMVAPUJIDPassFractionVSpt));
668  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MediumMVAPUIDPassFractionVSeta",
669  mMediumMVAPUJIDPassFractionVSeta));
670  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MediumMVAPUIDPassFractionVSpt",
671  mMediumMVAPUJIDPassFractionVSpt));
672  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "TightMVAPUIDPassFractionVSeta",
673  mTightMVAPUJIDPassFractionVSeta));
674  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "TightMVAPUIDPassFractionVSpt",
675  mTightMVAPUJIDPassFractionVSpt));
676 
677  mLooseCutPUJIDPassFractionVSeta = ibooker.bookProfile(
678  "LooseCutPUIDPassFractionVSeta", "LooseCutPUIDPassFractionVSeta", etaBin_, etaMin_, etaMax_, 0., 1.2);
679  mLooseCutPUJIDPassFractionVSpt = ibooker.bookProfile(
680  "LooseCutPUIDPassFractionVSpt", "LooseCutPUIDPassFractionVSpt", ptBin_, ptMin_, ptMax_, 0., 1.2);
681  mMediumCutPUJIDPassFractionVSeta = ibooker.bookProfile(
682  "MediumCutPUIDPassFractionVSeta", "MediumCutPUIDPassFractionVSeta", etaBin_, etaMin_, etaMax_, 0., 1.2);
683  mMediumCutPUJIDPassFractionVSpt = ibooker.bookProfile(
684  "MediumCutPUIDPassFractionVSpt", "MediumCutPUIDPassFractionVSpt", ptBin_, ptMin_, ptMax_, 0., 1.2);
685  mTightCutPUJIDPassFractionVSeta = ibooker.bookProfile(
686  "TightCutPUIDPassFractionVSeta", "TightCutPUIDPassFractionVSeta", etaBin_, etaMin_, etaMax_, 0., 1.2);
687  mTightCutPUJIDPassFractionVSpt = ibooker.bookProfile(
688  "TightCutPUIDPassFractionVSpt", "TightCutPUIDPassFractionVSpt", ptBin_, ptMin_, ptMax_, 0., 1.2);
689  mCutPUJIDDiscriminant_lowPt_Barrel =
690  ibooker.book1D("CutPUJIDDiscriminant_lowPt_Barrel", "CutPUJIDDiscriminant_lowPt_Barrel", 50, -1.00, 1.00);
691  mCutPUJIDDiscriminant_lowPt_EndCap =
692  ibooker.book1D("CutPUJIDDiscriminant_lowPt_EndCap", "CutPUJIDDiscriminant_lowPt_EndCap", 50, -1.00, 1.00);
693  mCutPUJIDDiscriminant_lowPt_Forward =
694  ibooker.book1D("CutPUJIDDiscriminant_lowPt_Forward", "CutPUJIDDiscriminant_lowPt_Forward", 50, -1.00, 1.00);
695  mCutPUJIDDiscriminant_mediumPt_Barrel =
696  ibooker.book1D("CutPUJIDDiscriminant_mediumPt_Barrel", "CutPUJIDDiscriminant_mediumPt_Barrel", 50, -1.00, 1.00);
697  mCutPUJIDDiscriminant_mediumPt_EndCap =
698  ibooker.book1D("CutPUJIDDiscriminant_mediumPt_EndCap", "CutPUJIDDiscriminant_mediumPt_EndCap", 50, -1.00, 1.00);
699  mCutPUJIDDiscriminant_mediumPt_Forward = ibooker.book1D(
700  "CutPUJIDDiscriminant_mediumPt_Forward", "CutPUJIDDiscriminant_mediumPt_Forward", 50, -1.00, 1.00);
701  mCutPUJIDDiscriminant_highPt_Barrel =
702  ibooker.book1D("CutPUJIDDiscriminant_highPt_Barrel", "CutPUJIDDiscriminant_highPt_Barrel", 50, -1.00, 1.00);
703  mCutPUJIDDiscriminant_highPt_EndCap =
704  ibooker.book1D("CutPUJIDDiscriminant_highPt_EndCap", "CutPUJIDDiscriminant_highPt_EndCap", 50, -1.00, 1.00);
705  mCutPUJIDDiscriminant_highPt_Forward =
706  ibooker.book1D("CutPUJIDDiscriminant_highPt_Forward", "CutPUJIDDiscriminant_highPt_Forward", 50, -1.00, 1.00);
707 
708  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "LooseCutPUIDPassFractionVSeta",
709  mLooseCutPUJIDPassFractionVSeta));
710  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "LooseCutPUIDPassFractionVSpt",
711  mLooseCutPUJIDPassFractionVSpt));
712  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MediumCutPUIDPassFractionVSeta",
713  mMediumCutPUJIDPassFractionVSeta));
714  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MediumCutPUIDPassFractionVSpt",
715  mMediumCutPUJIDPassFractionVSpt));
716  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "TightCutPUIDPassFractionVSeta",
717  mTightCutPUJIDPassFractionVSeta));
718  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "TightCutPUIDPassFractionVSpt",
719  mTightCutPUJIDPassFractionVSpt));
720  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_lowPt_Barrel",
721  mCutPUJIDDiscriminant_lowPt_Barrel));
722  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_lowPt_EndCap",
723  mCutPUJIDDiscriminant_lowPt_EndCap));
724  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_lowPt_Forward",
725  mCutPUJIDDiscriminant_lowPt_Forward));
726  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_mediumPt_Barrel",
727  mCutPUJIDDiscriminant_mediumPt_Barrel));
728  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_mediumPt_EndCap",
729  mCutPUJIDDiscriminant_mediumPt_EndCap));
730  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_mediumPt_Forward",
731  mCutPUJIDDiscriminant_mediumPt_Forward));
732  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_highPt_Barrel",
733  mCutPUJIDDiscriminant_highPt_Barrel));
734  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_highPt_EndCap",
735  mCutPUJIDDiscriminant_highPt_EndCap));
736  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_highPt_Forward",
737  mCutPUJIDDiscriminant_highPt_Forward));
738  //barrel histograms for PFJets
739  // energy fractions
740  mCHFrac_lowPt_Barrel = ibooker.book1D("CHFrac_lowPt_Barrel", "CHFrac_lowPt_Barrel", 120, -0.1, 1.1);
741  mNHFrac_lowPt_Barrel = ibooker.book1D("NHFrac_lowPt_Barrel", "NHFrac_lowPt_Barrel", 120, -0.1, 1.1);
742  mPhFrac_lowPt_Barrel = ibooker.book1D("PhFrac_lowPt_Barrel", "PhFrac_lowPt_Barrel", 120, -0.1, 1.1);
743  mCHFrac_mediumPt_Barrel = ibooker.book1D("CHFrac_mediumPt_Barrel", "CHFrac_mediumPt_Barrel", 120, -0.1, 1.1);
744  mNHFrac_mediumPt_Barrel = ibooker.book1D("NHFrac_mediumPt_Barrel", "NHFrac_mediumPt_Barrel", 120, -0.1, 1.1);
745  mPhFrac_mediumPt_Barrel = ibooker.book1D("PhFrac_mediumPt_Barrel", "PhFrac_mediumPt_Barrel", 120, -0.1, 1.1);
746  mCHFrac_highPt_Barrel = ibooker.book1D("CHFrac_highPt_Barrel", "CHFrac_highPt_Barrel", 120, -0.1, 1.1);
747  mNHFrac_highPt_Barrel = ibooker.book1D("NHFrac_highPt_Barrel", "NHFrac_highPt_Barrel", 120, -0.1, 1.1);
748  mPhFrac_highPt_Barrel = ibooker.book1D("PhFrac_highPt_Barrel", "PhFrac_highPt_Barrel", 120, -0.1, 1.1);
749 
750  map_of_MEs.insert(
751  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFrac_lowPt_Barrel", mCHFrac_lowPt_Barrel));
752  map_of_MEs.insert(
753  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFrac_lowPt_Barrel", mNHFrac_lowPt_Barrel));
754  map_of_MEs.insert(
755  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFrac_lowPt_Barrel", mPhFrac_lowPt_Barrel));
756  map_of_MEs.insert(
757  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFrac_mediumPt_Barrel", mCHFrac_mediumPt_Barrel));
758  map_of_MEs.insert(
759  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFrac_mediumPt_Barrel", mNHFrac_mediumPt_Barrel));
760  map_of_MEs.insert(
761  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFrac_mediumPt_Barrel", mPhFrac_mediumPt_Barrel));
762  map_of_MEs.insert(
763  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFrac_highPt_Barrel", mCHFrac_highPt_Barrel));
764  map_of_MEs.insert(
765  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFrac_highPt_Barrel", mNHFrac_highPt_Barrel));
766  map_of_MEs.insert(
767  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFrac_highPt_Barrel", mPhFrac_highPt_Barrel));
768 
769  mMass_lowPt_Barrel = ibooker.book1D("JetMass_lowPt_Barrel", "JetMass_lowPt_Barrel", 50, 0, 150);
770  mMass_lowPt_EndCap = ibooker.book1D("JetMass_lowPt_EndCap", "JetMass_lowPt_EndCap", 50, 0, 150);
771  mMass_lowPt_Forward = ibooker.book1D("JetMass_lowPt_Forward", "JetMass_lowPt_Forward", 50, 0, 150);
772  mMass_mediumPt_Barrel = ibooker.book1D("JetMass_mediumPt_Barrel", "JetMass_mediumPt_Barrel", 50, 0, 150);
773  mMass_mediumPt_EndCap = ibooker.book1D("JetMass_mediumPt_EndCap", "JetMass_mediumPt_EndCap", 50, 0, 150);
774  mMass_mediumPt_Forward = ibooker.book1D("JetMass_mediumPt_Forward", "JetMass_mediumPt_Forward", 75, 0, 150);
775  mMass_highPt_Barrel = ibooker.book1D("JetMass_highPt_Barrel", "JetMass_highPt_Barrel", 50, 0, 150);
776  mMass_highPt_EndCap = ibooker.book1D("JetMass_highPt_EndCap", "JetMass_highPt_EndCap", 50, 0, 150);
777  mMass_highPt_Forward = ibooker.book1D("JetMass_highPt_Forward", "JetMass_highPt_Forward", 50, 0, 150);
778 
779  map_of_MEs.insert(
780  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_lowPt_Barrel", mMass_lowPt_Barrel));
781  map_of_MEs.insert(
782  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_lowPt_EndCap", mMass_lowPt_EndCap));
783  map_of_MEs.insert(
784  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_lowPt_Forward", mMass_lowPt_Forward));
785  map_of_MEs.insert(
786  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_mediumPt_Barrel", mMass_mediumPt_Barrel));
787  map_of_MEs.insert(
788  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_mediumPt_EndCap", mMass_mediumPt_EndCap));
789  map_of_MEs.insert(
790  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_mediumPt_Forward", mMass_mediumPt_Forward));
791  map_of_MEs.insert(
792  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_highPt_Barrel", mMass_highPt_Barrel));
793  map_of_MEs.insert(
794  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_highPt_EndCap", mMass_highPt_EndCap));
795  map_of_MEs.insert(
796  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_highPt_Forward", mMass_highPt_Forward));
797 
798  //energies
799  mCHEn_lowPt_Barrel = ibooker.book1D("CHEn_lowPt_Barrel", "CHEn_lowPt_Barrel", ptBin_, 0., ptMax_);
800  mNHEn_lowPt_Barrel = ibooker.book1D("NHEn_lowPt_Barrel", "NHEn_lowPt_Barrel", ptBin_, 0., ptMax_);
801  mPhEn_lowPt_Barrel = ibooker.book1D("PhEn_lowPt_Barrel", "PhEn_lowPt_Barrel", ptBin_, 0., ptMax_);
802  mElEn_lowPt_Barrel = ibooker.book1D("ElEn_lowPt_Barrel", "ElEn_lowPt_Barrel", ptBin_, 0., 100);
803  mMuEn_lowPt_Barrel = ibooker.book1D("MuEn_lowPt_Barrel", "MuEn_lowPt_Barrel", ptBin_, 0., 100);
804  mCHEn_mediumPt_Barrel = ibooker.book1D("CHEn_mediumPt_Barrel", "CHEn_mediumPt_Barrel", ptBin_, 0., ptMax_);
805  mNHEn_mediumPt_Barrel = ibooker.book1D("NHEn_mediumPt_Barrel", "NHEn_mediumPt_Barrel", ptBin_, 0., ptMax_);
806  mPhEn_mediumPt_Barrel = ibooker.book1D("PhEn_mediumPt_Barrel", "PhEn_mediumPt_Barrel", ptBin_, 0., ptMax_);
807  mElEn_mediumPt_Barrel = ibooker.book1D("ElEn_mediumPt_Barrel", "ElEn_mediumPt_Barrel", ptBin_, 0., 100);
808  mMuEn_mediumPt_Barrel = ibooker.book1D("MuEn_mediumPt_Barrel", "MuEn_mediumPt_Barrel", ptBin_, 0., 100);
809  mCHEn_highPt_Barrel = ibooker.book1D("CHEn_highPt_Barrel", "CHEn_highPt_Barrel", ptBin_, 0., 1.1 * ptMax_);
810  mNHEn_highPt_Barrel = ibooker.book1D("NHEn_highPt_Barrel", "NHEn_highPt_Barrel", ptBin_, 0., ptMax_);
811  mPhEn_highPt_Barrel = ibooker.book1D("PhEn_highPt_Barrel", "PhEn_highPt_Barrel", ptBin_, 0., ptMax_);
812  mElEn_highPt_Barrel = ibooker.book1D("ElEn_highPt_Barrel", "ElEn_highPt_Barrel", ptBin_, 0., 100);
813  mMuEn_highPt_Barrel = ibooker.book1D("MuEn_highPt_Barrel", "MuEn_highPt_Barrel", ptBin_, 0., 100);
814 
815  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHEn_lowPt_Barrel", mCHEn_lowPt_Barrel));
816  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHEn_lowPt_Barrel", mNHEn_lowPt_Barrel));
817  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhEn_lowPt_Barrel", mPhEn_lowPt_Barrel));
818  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ElEn_lowPt_Barrel", mElEn_lowPt_Barrel));
819  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuEn_lowPt_Barrel", mMuEn_lowPt_Barrel));
820  map_of_MEs.insert(
821  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHEn_mediumPt_Barrel", mCHEn_mediumPt_Barrel));
822  map_of_MEs.insert(
823  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHEn_mediumPt_Barrel", mNHEn_mediumPt_Barrel));
824  map_of_MEs.insert(
825  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhEn_mediumPt_Barrel", mPhEn_mediumPt_Barrel));
826  map_of_MEs.insert(
827  std::pair<std::string, MonitorElement*>(DirName + "/" + "ElEn_mediumPt_Barrel", mElEn_mediumPt_Barrel));
828  map_of_MEs.insert(
829  std::pair<std::string, MonitorElement*>(DirName + "/" + "MuEn_mediumPt_Barrel", mMuEn_mediumPt_Barrel));
830  map_of_MEs.insert(
831  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHEn_highPt_Barrel", mCHEn_highPt_Barrel));
832  map_of_MEs.insert(
833  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHEn_highPt_Barrel", mNHEn_highPt_Barrel));
834  map_of_MEs.insert(
835  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhEn_highPt_Barrel", mPhEn_highPt_Barrel));
836  map_of_MEs.insert(
837  std::pair<std::string, MonitorElement*>(DirName + "/" + "ElEn_highPt_Barrel", mElEn_highPt_Barrel));
838  map_of_MEs.insert(
839  std::pair<std::string, MonitorElement*>(DirName + "/" + "MuEn_highPt_Barrel", mMuEn_highPt_Barrel));
840 
841  //multiplicities
842  mChMultiplicity_lowPt_Barrel =
843  ibooker.book1D("ChMultiplicity_lowPt_Barrel", "ChMultiplicity_lowPt_Barrel", 60, 0, 60);
844  mNeutMultiplicity_lowPt_Barrel =
845  ibooker.book1D("NeutMultiplicity_lowPt_Barrel", "NeutMultiplicity_lowPt_Barrel", 60, 0, 60);
846  mMuMultiplicity_lowPt_Barrel =
847  ibooker.book1D("MuMultiplicity_lowPt_Barrel", "MuMultiplicity_lowPt_Barrel", 10, 0, 10);
848  mChMultiplicity_mediumPt_Barrel =
849  ibooker.book1D("ChMultiplicity_mediumPt_Barrel", "ChMultiplicity_mediumPt_Barrel", 60, 0, 60);
850  mNeutMultiplicity_mediumPt_Barrel =
851  ibooker.book1D("NeutMultiplicity_mediumPt_Barrel", "NeutMultiplicity_mediumPt_Barrel", 60, 0, 60);
852  mMuMultiplicity_mediumPt_Barrel =
853  ibooker.book1D("MuMultiplicity_mediumPt_Barrel", "MuMultiplicity_mediumPt_Barrel", 10, 0, 10);
854  mChMultiplicity_highPt_Barrel =
855  ibooker.book1D("ChMultiplicity_highPt_Barrel", "ChMultiplicity_highPt_Barrel", 60, 0, 60);
856  mNeutMultiplicity_highPt_Barrel =
857  ibooker.book1D("NeutMultiplicity_highPt_Barrel", "NeutMultiplicity_highPt_Barrel", 60, 0, 60);
858  mMuMultiplicity_highPt_Barrel =
859  ibooker.book1D("MuMultiplicity_highPt_Barrel", "MuMultiplicity_highPt_Barrel", 10, 0, 10);
860 
861  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChMultiplicity_lowPt_Barrel",
862  mChMultiplicity_lowPt_Barrel));
863  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_lowPt_Barrel",
864  mNeutMultiplicity_lowPt_Barrel));
865  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuMultiplicity_lowPt_Barrel",
866  mMuMultiplicity_lowPt_Barrel));
867  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChMultiplicity_mediumPt_Barrel",
868  mChMultiplicity_mediumPt_Barrel));
869  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_mediumPt_Barrel",
870  mNeutMultiplicity_mediumPt_Barrel));
871  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuMultiplicity_mediumPt_Barrel",
872  mMuMultiplicity_mediumPt_Barrel));
873  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChMultiplicity_highPt_Barrel",
874  mChMultiplicity_highPt_Barrel));
875  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_highPt_Barrel",
876  mNeutMultiplicity_highPt_Barrel));
877  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuMultiplicity_highPt_Barrel",
878  mMuMultiplicity_highPt_Barrel));
879  }
880  //
881  if (isMiniAODJet_ || isPFJet_ || isPUPPIJet_) {
882  if (!filljetsubstruc_) { //not available for ak8 -> so just take out
883  mMVAPUJIDDiscriminant_lowPt_Barrel =
884  ibooker.book1D("MVAPUJIDDiscriminant_lowPt_Barrel", "MVAPUJIDDiscriminant_lowPt_Barrel", 50, -1.00, 1.00);
885  mMVAPUJIDDiscriminant_lowPt_EndCap =
886  ibooker.book1D("MVAPUJIDDiscriminant_lowPt_EndCap", "MVAPUJIDDiscriminant_lowPt_EndCap", 50, -1.00, 1.00);
887  mMVAPUJIDDiscriminant_lowPt_Forward =
888  ibooker.book1D("MVAPUJIDDiscriminant_lowPt_Forward", "MVAPUJIDDiscriminant_lowPt_Forward", 50, -1.00, 1.00);
889  mMVAPUJIDDiscriminant_mediumPt_Barrel = ibooker.book1D(
890  "MVAPUJIDDiscriminant_mediumPt_Barrel", "MVAPUJIDDiscriminant_mediumPt_Barrel", 50, -1.00, 1.00);
891  mMVAPUJIDDiscriminant_mediumPt_EndCap = ibooker.book1D(
892  "MVAPUJIDDiscriminant_mediumPt_EndCap", "MVAPUJIDDiscriminant_mediumPt_EndCap", 50, -1.00, 1.00);
893  mMVAPUJIDDiscriminant_mediumPt_Forward = ibooker.book1D(
894  "MVAPUJIDDiscriminant_mediumPt_Forward", "MVAPUJIDDiscriminant_mediumPt_Forward", 50, -1.00, 1.00);
895  mMVAPUJIDDiscriminant_highPt_Barrel =
896  ibooker.book1D("MVAPUJIDDiscriminant_highPt_Barrel", "MVAPUJIDDiscriminant_highPt_Barrel", 50, -1.00, 1.00);
897  mMVAPUJIDDiscriminant_highPt_EndCap =
898  ibooker.book1D("MVAPUJIDDiscriminant_highPt_EndCap", "MVAPUJIDDiscriminant_highPt_EndCap", 50, -1.00, 1.00);
899  mMVAPUJIDDiscriminant_highPt_Forward =
900  ibooker.book1D("MVAPUJIDDiscriminant_highPt_Forward", "MVAPUJIDDiscriminant_highPt_Forward", 50, -1.00, 1.00);
901 
902  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_lowPt_Barrel",
903  mMVAPUJIDDiscriminant_lowPt_Barrel));
904  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_lowPt_EndCap",
905  mMVAPUJIDDiscriminant_lowPt_EndCap));
906  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_lowPt_Forward",
907  mMVAPUJIDDiscriminant_lowPt_Forward));
908  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_Barrel",
909  mMVAPUJIDDiscriminant_mediumPt_Barrel));
910  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_EndCap",
911  mMVAPUJIDDiscriminant_mediumPt_EndCap));
912  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_Forward",
913  mMVAPUJIDDiscriminant_mediumPt_Forward));
914  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_highPt_Barrel",
915  mMVAPUJIDDiscriminant_highPt_Barrel));
916  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_highPt_EndCap",
917  mMVAPUJIDDiscriminant_highPt_EndCap));
918  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_highPt_Forward",
919  mMVAPUJIDDiscriminant_highPt_Forward));
920  }
921  mCHFracVSpT_Barrel = ibooker.bookProfile("CHFracVSpT_Barrel", "CHFracVSpT_Barrel", ptBin_, ptMin_, ptMax_, 0., 1.2);
922  mNHFracVSpT_Barrel = ibooker.bookProfile("NHFracVSpT_Barrel", "NHFracVSpT_Barrel", ptBin_, ptMin_, ptMax_, 0., 1.2);
923  mPhFracVSpT_Barrel = ibooker.bookProfile("PhFracVSpT_Barrel", "PhFracVSpT_Barrel", ptBin_, ptMin_, ptMax_, 0., 1.2);
924  mCHFracVSpT_EndCap = ibooker.bookProfile("CHFracVSpT_EndCap", "CHFracVSpT_EndCap", ptBin_, ptMin_, ptMax_, 0., 1.2);
925  mNHFracVSpT_EndCap = ibooker.bookProfile("NHFracVSpT_EndCap", "NHFracVSpT_EndCap", ptBin_, ptMin_, ptMax_, 0., 1.2);
926  mPhFracVSpT_EndCap = ibooker.bookProfile("PhFracVSpT_EndCap", "PhFracVSpT_EndCap", ptBin_, ptMin_, ptMax_, 0., 1.2);
927  mHFHFracVSpT_Forward =
928  ibooker.bookProfile("HFHFracVSpT_Forward", "HFHFracVSpT_Forward", ptBin_, ptMin_, ptMax_, -0.2, 1.2);
929  mHFEFracVSpT_Forward =
930  ibooker.bookProfile("HFEFracVSpT_Forward", "HFEFracVSpT_Forward", ptBin_, ptMin_, ptMax_, -0.2, 1.2);
931 
932  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracVSpT_Barrel", mCHFracVSpT_Barrel));
933  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracVSpT_Barrel", mNHFracVSpT_Barrel));
934  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracVSpT_Barrel", mPhFracVSpT_Barrel));
935  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracVSpT_EndCap", mCHFracVSpT_EndCap));
936  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracVSpT_EndCap", mNHFracVSpT_EndCap));
937  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracVSpT_EndCap", mPhFracVSpT_EndCap));
938  map_of_MEs.insert(
939  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFracVSpT_Forward", mHFHFracVSpT_Forward));
940  map_of_MEs.insert(
941  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEFracVSpT_Forward", mHFEFracVSpT_Forward));
942  }
943  if (isPFJet_) {
944  //endcap monitoring
945  //energy fractions
946  mCHFrac_lowPt_EndCap = ibooker.book1D("CHFrac_lowPt_EndCap", "CHFrac_lowPt_EndCap", 120, -0.1, 1.1);
947  mNHFrac_lowPt_EndCap = ibooker.book1D("NHFrac_lowPt_EndCap", "NHFrac_lowPt_EndCap", 120, -0.1, 1.1);
948  mPhFrac_lowPt_EndCap = ibooker.book1D("PhFrac_lowPt_EndCap", "PhFrac_lowPt_EndCap", 120, -0.1, 1.1);
949  mCHFrac_mediumPt_EndCap = ibooker.book1D("CHFrac_mediumPt_EndCap", "CHFrac_mediumPt_EndCap", 120, -0.1, 1.1);
950  mNHFrac_mediumPt_EndCap = ibooker.book1D("NHFrac_mediumPt_EndCap", "NHFrac_mediumPt_EndCap", 120, -0.1, 1.1);
951  mPhFrac_mediumPt_EndCap = ibooker.book1D("PhFrac_mediumPt_EndCap", "PhFrac_mediumPt_EndCap", 120, -0.1, 1.1);
952  mCHFrac_highPt_EndCap = ibooker.book1D("CHFrac_highPt_EndCap", "CHFrac_highPt_EndCap", 120, -0.1, 1.1);
953  mNHFrac_highPt_EndCap = ibooker.book1D("NHFrac_highPt_EndCap", "NHFrac_highPt_EndCap", 120, -0.1, 1.1);
954  mPhFrac_highPt_EndCap = ibooker.book1D("PhFrac_highPt_EndCap", "PhFrac_highPt_EndCap", 120, -0.1, 1.1);
955 
956  map_of_MEs.insert(
957  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFrac_lowPt_EndCap", mCHFrac_lowPt_EndCap));
958  map_of_MEs.insert(
959  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFrac_lowPt_EndCap", mNHFrac_lowPt_EndCap));
960  map_of_MEs.insert(
961  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFrac_lowPt_EndCap", mPhFrac_lowPt_EndCap));
962  map_of_MEs.insert(
963  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFrac_mediumPt_EndCap", mCHFrac_mediumPt_EndCap));
964  map_of_MEs.insert(
965  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFrac_mediumPt_EndCap", mNHFrac_mediumPt_EndCap));
966  map_of_MEs.insert(
967  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFrac_mediumPt_EndCap", mPhFrac_mediumPt_EndCap));
968  map_of_MEs.insert(
969  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFrac_highPt_EndCap", mCHFrac_highPt_EndCap));
970  map_of_MEs.insert(
971  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFrac_highPt_EndCap", mNHFrac_highPt_EndCap));
972  map_of_MEs.insert(
973  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFrac_highPt_EndCap", mPhFrac_highPt_EndCap));
974 
975  //energies
976  mCHEn_lowPt_EndCap = ibooker.book1D("CHEn_lowPt_EndCap", "CHEn_lowPt_EndCap", ptBin_, 0., ptMax_);
977  mNHEn_lowPt_EndCap = ibooker.book1D("NHEn_lowPt_EndCap", "NHEn_lowPt_EndCap", ptBin_, 0., ptMax_);
978  mPhEn_lowPt_EndCap = ibooker.book1D("PhEn_lowPt_EndCap", "PhEn_lowPt_EndCap", ptBin_, 0., ptMax_);
979  mElEn_lowPt_EndCap = ibooker.book1D("ElEn_lowPt_EndCap", "ElEn_lowPt_EndCap", ptBin_, 0., 100);
980  mMuEn_lowPt_EndCap = ibooker.book1D("MuEn_lowPt_EndCap", "MuEn_lowPt_EndCap", ptBin_, 0., 100);
981  mCHEn_mediumPt_EndCap = ibooker.book1D("CHEn_mediumPt_EndCap", "CHEn_mediumPt_EndCap", ptBin_, 0., ptMax_);
982  mNHEn_mediumPt_EndCap = ibooker.book1D("NHEn_mediumPt_EndCap", "NHEn_mediumPt_EndCap", ptBin_, 0., ptMax_);
983  mPhEn_mediumPt_EndCap = ibooker.book1D("PhEn_mediumPt_EndCap", "PhEn_mediumPt_EndCap", ptBin_, 0., ptMax_);
984  mElEn_mediumPt_EndCap = ibooker.book1D("ElEn_mediumPt_EndCap", "ElEn_mediumPt_EndCap", ptBin_, 0., 100);
985  mMuEn_mediumPt_EndCap = ibooker.book1D("MuEn_mediumPt_EndCap", "MuEn_mediumPt_EndCap", ptBin_, 0., 100);
986  mCHEn_highPt_EndCap = ibooker.book1D("CHEn_highPt_EndCap", "CHEn_highPt_EndCap", ptBin_, 0., 1.5 * ptMax_);
987  mNHEn_highPt_EndCap = ibooker.book1D("NHEn_highPt_EndCap", "NHEn_highPt_EndCap", ptBin_, 0., 1.5 * ptMax_);
988  mPhEn_highPt_EndCap = ibooker.book1D("PhEn_highPt_EndCap", "PhEn_highPt_EndCap", ptBin_, 0., 1.5 * ptMax_);
989  mElEn_highPt_EndCap = ibooker.book1D("ElEn_highPt_EndCap", "ElEn_highPt_EndCap", ptBin_, 0., 100);
990  mMuEn_highPt_EndCap = ibooker.book1D("MuEn_highPt_EndCap", "MuEn_highPt_EndCap", ptBin_, 0., 100);
991 
992  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHEn_lowPt_EndCap", mCHEn_lowPt_EndCap));
993  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHEn_lowPt_EndCap", mNHEn_lowPt_EndCap));
994  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhEn_lowPt_EndCap", mPhEn_lowPt_EndCap));
995  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ElEn_lowPt_EndCap", mElEn_lowPt_EndCap));
996  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuEn_lowPt_EndCap", mMuEn_lowPt_EndCap));
997  map_of_MEs.insert(
998  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHEn_mediumPt_EndCap", mCHEn_mediumPt_EndCap));
999  map_of_MEs.insert(
1000  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHEn_mediumPt_EndCap", mNHEn_mediumPt_EndCap));
1001  map_of_MEs.insert(
1002  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhEn_mediumPt_EndCap", mPhEn_mediumPt_EndCap));
1003  map_of_MEs.insert(
1004  std::pair<std::string, MonitorElement*>(DirName + "/" + "ElEn_mediumPt_EndCap", mElEn_mediumPt_EndCap));
1005  map_of_MEs.insert(
1006  std::pair<std::string, MonitorElement*>(DirName + "/" + "MuEn_mediumPt_EndCap", mMuEn_mediumPt_EndCap));
1007  map_of_MEs.insert(
1008  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHEn_highPt_EndCap", mCHEn_highPt_EndCap));
1009  map_of_MEs.insert(
1010  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHEn_highPt_EndCap", mNHEn_highPt_EndCap));
1011  map_of_MEs.insert(
1012  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhEn_highPt_EndCap", mPhEn_highPt_EndCap));
1013  map_of_MEs.insert(
1014  std::pair<std::string, MonitorElement*>(DirName + "/" + "ElEn_highPt_EndCap", mElEn_highPt_EndCap));
1015  map_of_MEs.insert(
1016  std::pair<std::string, MonitorElement*>(DirName + "/" + "MuEn_highPt_EndCap", mMuEn_highPt_EndCap));
1017  /*
1018  //now get handle on OOT PU
1019  mePhFracBarrel_BXm2BXm1Empty = ibooker.book1D("PhFracBarrel_BXm2BXm1Empty", "PHFrac prev empty 2 bunches (Barrel)", 50, 0, 1);
1020  mePhFracBarrel_BXm2BXm1Filled = ibooker.book1D("PhFracBarrel_BXm2BXm1Filled", "PHFrac prev filled 2 bunches (Barrel)", 50, 0, 1);
1021  meNHFracBarrel_BXm2BXm1Empty = ibooker.book1D("NHFracBarrel_BXm2BXm1Empty", "NHFrac prev empty 2 bunches (Barrel)", 50, 0, 1);
1022  meNHFracBarrel_BXm2BXm1Filled = ibooker.book1D("NHFracBarrel_BXm2BXm1Filled", "NHFrac prev filled 2 bunches (Barrel)", 50, 0, 1);
1023  meCHFracBarrel_BXm2BXm1Empty = ibooker.book1D("CHFracBarrel_BXm2BXm1Empty", "CHFrac prev empty 2 bunches (Barrel)", 50, 0, 1);
1024  meCHFracBarrel_BXm2BXm1Filled = ibooker.book1D("CHFracBarrel_BXm2BXm1Filled", "CHFrac prev filled 2 bunches (Barrel)", 50, 0, 1);
1025  mePtBarrel_BXm2BXm1Empty = ibooker.book1D("PtBarrel_BXm2BXm1Empty", "pT prev empty 2 bunches (Barrel)", ptBin_, ptMin_, ptMax_);
1026  mePtBarrel_BXm2BXm1Filled = ibooker.book1D("PtBarrel_BXm2BXm1Filled", "pT prev filled 2 bunches (Barrel)", ptBin_, ptMin_, ptMax_);
1027  mePhFracEndCapPlus_BXm2BXm1Empty = ibooker.book1D("PhFracEndCapPlus_BXm2BXm1Empty", "PHFrac prev empty 2 bunches (EndCapPlus)", 50, 0, 1);
1028  mePhFracEndCapPlus_BXm2BXm1Filled = ibooker.book1D("PhFracEndCapPlus_BXm2BXm1Filled", "PHFrac prev filled 2 bunches (EndCapPlus)", 50, 0, 1);
1029  meNHFracEndCapPlus_BXm2BXm1Empty = ibooker.book1D("NHFracEndCapPlus_BXm2BXm1Empty", "NHFrac prev empty 2 bunches (EndCapPlus)", 50, 0, 1);
1030  meNHFracEndCapPlus_BXm2BXm1Filled = ibooker.book1D("NHFracEndCapPlus_BXm2BXm1Filled", "NHFrac prev filled 2 bunches (EndCapPlus)", 50, 0, 1);
1031  meCHFracEndCapPlus_BXm2BXm1Empty = ibooker.book1D("CHFracEndCapPlus_BXm2BXm1Empty", "CHFrac prev empty 2 bunches (EndCapPlus)", 50, 0, 1);
1032  meCHFracEndCapPlus_BXm2BXm1Filled = ibooker.book1D("CHFracEndCapPlus_BXm2BXm1Filled", "CHFrac prev filled 2 bunches (EndCapPlus)", 50, 0, 1);
1033  mePtEndCapPlus_BXm2BXm1Empty = ibooker.book1D("PtEndCapPlus_BXm2BXm1Empty", "pT prev empty 2 bunches (EndCapPlus)", ptBin_, ptMin_, ptMax_);
1034  mePtEndCapPlus_BXm2BXm1Filled = ibooker.book1D("PtEndCapPlus_BXm2BXm1Filled", "pT prev filled 2 bunches (EndCapPlus)", ptBin_, ptMin_, ptMax_);
1035  meHFHFracPlus_BXm2BXm1Empty = ibooker.book1D("HFHFracPlus_BXm2BXm1Empty", "HFHFrac prev empty 2 bunches (EndCapPlus)", 50, 0, 1);
1036  meHFHFracPlus_BXm2BXm1Filled = ibooker.book1D("HFHFracPlus_BXm2BXm1Filled", "HFHFrac prev filled 2 bunches (EndCapPlus)", 50, 0, 1);
1037  meHFEMFracPlus_BXm2BXm1Empty = ibooker.book1D("HFEMFracPlus_BXm2BXm1Empty", "HFEMFrac prev empty 2 bunches (EndCapPlus)", 50, 0, 1);
1038  meHFEMFracPlus_BXm2BXm1Filled = ibooker.book1D("HFEMFracPlus_BXm2BXm1Filled", "HFEMFrac prev filled 2 bunches (EndCapPlus)", 50, 0, 1);
1039  mePtForwardPlus_BXm2BXm1Empty = ibooker.book1D("PtForwardPlus_BXm2BXm1Empty", "pT prev empty 2 bunches (ForwardPlus)", ptBin_, ptMin_, ptMax_);
1040  mePtForwardPlus_BXm2BXm1Filled = ibooker.book1D("PtForwardPlus_BXm2BXm1Filled", "pT prev filled 2 bunches (ForwardPlus)", ptBin_, ptMin_, ptMax_);
1041  mePhFracEndCapMinus_BXm2BXm1Empty = ibooker.book1D("PhFracEndCapMinus_BXm2BXm1Empty", "PHFrac prev empty 2 bunches (EndCapMinus)", 50, 0, 1);
1042  mePhFracEndCapMinus_BXm2BXm1Filled = ibooker.book1D("PhFracEndCapMinus_BXm2BXm1Filled", "PHFrac prev filled 2 bunches (EndCapMinus)", 50, 0, 1);
1043  meNHFracEndCapMinus_BXm2BXm1Empty = ibooker.book1D("NHFracEndCapMinus_BXm2BXm1Empty", "NHFrac prev empty 2 bunches (EndCapMinus)", 50, 0, 1);
1044  meNHFracEndCapMinus_BXm2BXm1Filled = ibooker.book1D("NHFracEndCapMinus_BXm2BXm1Filled", "NHFrac prev filled 2 bunches (EndCapMinus)", 50, 0, 1);
1045  meCHFracEndCapMinus_BXm2BXm1Empty = ibooker.book1D("CHFracEndCapMinus_BXm2BXm1Empty", "CHFrac prev empty 2 bunches (EndCapMinus)", 50, 0, 1);
1046  meCHFracEndCapMinus_BXm2BXm1Filled = ibooker.book1D("CHFracEndCapMinus_BXm2BXm1Filled", "CHFrac prev filled 2 bunches (EndCapMinus)", 50, 0, 1);
1047  mePtEndCapMinus_BXm2BXm1Empty = ibooker.book1D("PtEndCapMinus_BXm2BXm1Empty", "pT prev empty 2 bunches (EndCapMinus)", ptBin_, ptMin_, ptMax_);
1048  mePtEndCapMinus_BXm2BXm1Filled = ibooker.book1D("PtEndCapMinus_BXm2BXm1Filled", "pT prev filled 2 bunches (EndCapMinus)", ptBin_, ptMin_, ptMax_);
1049  meHFHFracMinus_BXm2BXm1Empty = ibooker.book1D("HFHFracMinus_BXm2BXm1Empty", "HFHFrac prev empty 2 bunches (EndCapMinus)", 50, 0, 1);
1050  meHFHFracMinus_BXm2BXm1Filled = ibooker.book1D("HFHFracMinus_BXm2BXm1Filled", "HFHFrac prev filled 2 bunches (EndCapMinus)", 50, 0, 1);
1051  meHFEMFracMinus_BXm2BXm1Empty = ibooker.book1D("HFEMFracMinus_BXm2BXm1Empty", "HFEMFrac prev empty 2 bunches (EndCapMinus)", 50, 0, 1);
1052  meHFEMFracMinus_BXm2BXm1Filled = ibooker.book1D("HFEMFracMinus_BXm2BXm1Filled", "HFEMFrac prev filled 2 bunches (EndCapMinus)", 50, 0, 1);
1053  mePtForwardMinus_BXm2BXm1Empty = ibooker.book1D("PtForwardMinus_BXm2BXm1Empty", "pT prev empty 2 bunches (ForwardMinus)", ptBin_, ptMin_, ptMax_);
1054  mePtForwardMinus_BXm2BXm1Filled = ibooker.book1D("PtForwardMinus_BXm2BXm1Filled", "pT prev filled 2 bunches (ForwardMinus)", ptBin_, ptMin_, ptMax_);
1055  meEta_BXm2BXm1Empty = ibooker.book1D("Eta_BXm2BXm1Empty", "eta prev empty 2 bunches", etaBin_, etaMin_, etaMax_);
1056  meEta_BXm2BXm1Filled = ibooker.book1D("Eta_BXm2BXm1Filled", "eta prev filled 2 bunches", etaBin_, etaMin_, etaMax_);
1057 
1058  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PhFracBarrel_BXm2BXm1Empty" ,mePhFracBarrel_BXm2BXm1Empty));
1059  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PhFracBarrel_BXm2BXm1Filled" ,mePhFracBarrel_BXm2BXm1Filled));
1060  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"NHFracBarrel_BXm2BXm1Empty" ,meNHFracBarrel_BXm2BXm1Empty));
1061  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"NHFracBarrel_BXm2BXm1Filled" ,meNHFracBarrel_BXm2BXm1Filled));
1062  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CHFracBarrel_BXm2BXm1Empty" ,meCHFracBarrel_BXm2BXm1Empty));
1063  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CHFracBarrel_BXm2BXm1Filled" ,meCHFracBarrel_BXm2BXm1Filled));
1064  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtBarrel_BXm2BXm1Empty" ,mePtBarrel_BXm2BXm1Empty));
1065  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtBarrel_BXm2BXm1Filled" ,mePtBarrel_BXm2BXm1Filled));
1066  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PhFracEndCapPlus_BXm2BXm1Empty" ,mePhFracEndCapPlus_BXm2BXm1Empty));
1067  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PhFracEndCapPlus_BXm2BXm1Filled" ,mePhFracEndCapPlus_BXm2BXm1Filled));
1068  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"NHFracEndCapPlus_BXm2BXm1Empty" ,meNHFracEndCapPlus_BXm2BXm1Empty));
1069  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"NHFracEndCapPlus_BXm2BXm1Filled" ,meNHFracEndCapPlus_BXm2BXm1Filled));
1070  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CHFracEndCapPlus_BXm2BXm1Empty" ,meCHFracEndCapPlus_BXm2BXm1Empty));
1071  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CHFracEndCapPlus_BXm2BXm1Filled" ,meCHFracEndCapPlus_BXm2BXm1Filled));
1072  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtEndCapPlus_BXm2BXm1Empty" ,mePtEndCapPlus_BXm2BXm1Empty));
1073  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtEndCapPlus_BXm2BXm1Filled" ,mePtEndCapPlus_BXm2BXm1Filled));
1074  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HFHFracPlus_BXm2BXm1Empty" ,meHFHFracPlus_BXm2BXm1Empty));
1075  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HFHFracPlus_BXm2BXm1Filled" ,meHFHFracPlus_BXm2BXm1Filled));
1076  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HFEMFracPlus_BXm2BXm1Empty" ,meHFEMFracPlus_BXm2BXm1Empty));
1077  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HFEMFracPlus_BXm2BXm1Filled" ,meHFEMFracPlus_BXm2BXm1Filled));
1078  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtForwardPlus_BXm2BXm1Empty" ,mePtForwardPlus_BXm2BXm1Empty));
1079  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtForwardPlus_BXm2BXm1Filled" ,mePtForwardPlus_BXm2BXm1Filled));
1080  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PhFracEndCapMinus_BXm2BXm1Empty" ,mePhFracEndCapMinus_BXm2BXm1Empty));
1081  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PhFracEndCapMinus_BXm2BXm1Filled" ,mePhFracEndCapMinus_BXm2BXm1Filled));
1082  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"NHFracEndCapMinus_BXm2BXm1Empty" ,meNHFracEndCapMinus_BXm2BXm1Empty));
1083  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"NHFracEndCapMinus_BXm2BXm1Filled" ,meNHFracEndCapMinus_BXm2BXm1Filled));
1084  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CHFracEndCapMinus_BXm2BXm1Empty" ,meCHFracEndCapMinus_BXm2BXm1Empty));
1085  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CHFracEndCapMinus_BXm2BXm1Filled" ,meCHFracEndCapMinus_BXm2BXm1Filled));
1086  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtEndCapMinus_BXm2BXm1Empty" ,mePtEndCapMinus_BXm2BXm1Empty));
1087  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtEndCapMinus_BXm2BXm1Filled" ,mePtEndCapMinus_BXm2BXm1Filled));
1088  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HFHFracMinus_BXm2BXm1Empty" ,meHFHFracMinus_BXm2BXm1Empty));
1089  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HFHFracMinus_BXm2BXm1Filled" ,meHFHFracMinus_BXm2BXm1Filled));
1090  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HFEMFracMinus_BXm2BXm1Empty" ,meHFEMFracMinus_BXm2BXm1Empty));
1091  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HFEMFracMinus_BXm2BXm1Filled" ,meHFEMFracMinus_BXm2BXm1Filled));
1092  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtForwardMinus_BXm2BXm1Empty" ,mePtForwardMinus_BXm2BXm1Empty));
1093  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtForwardMinus_BXm2BXm1Filled" ,mePtForwardMinus_BXm2BXm1Filled));
1094  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"Eta_BXm2BXm1Empty" ,meEta_BXm2BXm1Empty));
1095  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"Eta_BXm2BXm1Filled",meEta_BXm2BXm1Filled));
1096  */
1097  mePhFracBarrel_BXm1Empty = ibooker.book1D("PhFracBarrel_BXm1Empty", "PHFrac prev empty 1 bunch (Barrel)", 50, 0, 1);
1098  mePhFracBarrel_BXm1Filled =
1099  ibooker.book1D("PhFracBarrel_BXm1Filled", "PHFrac prev filled 1 bunch (Barrel)", 50, 0, 1);
1100  meNHFracBarrel_BXm1Empty = ibooker.book1D("NHFracBarrel_BXm1Empty", "NHFrac prev empty 1 bunch (Barrel)", 50, 0, 1);
1101  meNHFracBarrel_BXm1Filled =
1102  ibooker.book1D("NHFracBarrel_BXm1Filled", "NHFrac prev filled 1 bunch (Barrel)", 50, 0, 1);
1103  meCHFracBarrel_BXm1Empty = ibooker.book1D("CHFracBarrel_BXm1Empty", "CHFrac prev empty 1 bunch (Barrel)", 50, 0, 1);
1104  meCHFracBarrel_BXm1Filled =
1105  ibooker.book1D("CHFracBarrel_BXm1Filled", "CHFrac prev filled 1 bunch (Barrel)", 50, 0, 1);
1106  mePtBarrel_BXm1Empty =
1107  ibooker.book1D("PtBarrel_BXm1Empty", "pT prev empty 1 bunch (Barrel)", ptBin_, ptMin_, ptMax_);
1108  mePtBarrel_BXm1Filled =
1109  ibooker.book1D("PtBarrel_BXm1Filled", "pT prev filled 1 bunch (Barrel)", ptBin_, ptMin_, ptMax_);
1110  mePhFracEndCapPlus_BXm1Empty =
1111  ibooker.book1D("PhFracEndCapPlus_BXm1Empty", "PHFrac prev empty 1 bunch (EndCapPlus)", 50, 0, 1);
1112  mePhFracEndCapPlus_BXm1Filled =
1113  ibooker.book1D("PhFracEndCapPlus_BXm1Filled", "PHFrac prev filled 1 bunch (EndCapPlus)", 50, 0, 1);
1114  meNHFracEndCapPlus_BXm1Empty =
1115  ibooker.book1D("NHFracEndCapPlus_BXm1Empty", "NHFrac prev empty 1 bunch (EndCapPlus)", 50, 0, 1);
1116  meNHFracEndCapPlus_BXm1Filled =
1117  ibooker.book1D("NHFracEndCapPlus_BXm1Filled", "NHFrac prev filled 1 bunch (EndCapPlus)", 50, 0, 1);
1118  meCHFracEndCapPlus_BXm1Empty =
1119  ibooker.book1D("CHFracEndCapPlus_BXm1Empty", "CHFrac prev empty 1 bunch (EndCapPlus)", 50, 0, 1);
1120  meCHFracEndCapPlus_BXm1Filled =
1121  ibooker.book1D("CHFracEndCapPlus_BXm1Filled", "CHFrac prev filled 1 bunch (EndCapPlus)", 50, 0, 1);
1122  mePtEndCapPlus_BXm1Empty =
1123  ibooker.book1D("PtEndCapPlus_BXm1Empty", "pT prev empty 1 bunch (EndCapPlus)", ptBin_, ptMin_, ptMax_);
1124  mePtEndCapPlus_BXm1Filled =
1125  ibooker.book1D("PtEndCapPlus_BXm1Filled", "pT prev filled 1 bunch (EndCapPlus)", ptBin_, ptMin_, ptMax_);
1126  meHFHFracPlus_BXm1Empty =
1127  ibooker.book1D("HFHFracPlus_BXm1Empty", "HFHFrac prev empty 1 bunch (EndCapPlus)", 50, 0, 1);
1128  meHFHFracPlus_BXm1Filled =
1129  ibooker.book1D("HFHFracPlus_BXm1Filled", "HFHFrac prev filled 1 bunch (EndCapPlus)", 50, 0, 1);
1130  meHFEMFracPlus_BXm1Empty =
1131  ibooker.book1D("HFEMFracPlus_BXm1Empty", "HFEMFrac prev empty 1 bunch (EndCapPlus)", 50, 0, 1);
1132  meHFEMFracPlus_BXm1Filled =
1133  ibooker.book1D("HFEMFracPlus_BXm1Filled", "HFEMFrac prev filled 1 bunch (EndCapPlus)", 50, 0, 1);
1134  mePtForwardPlus_BXm1Empty =
1135  ibooker.book1D("PtForwardPlus_BXm1Empty", "pT prev empty 1 bunch (ForwardPlus)", ptBin_, ptMin_, ptMax_);
1136  mePtForwardPlus_BXm1Filled =
1137  ibooker.book1D("PtForwardPlus_BXm1Filled", "pT prev filled 1 bunch (ForwardPlus)", ptBin_, ptMin_, ptMax_);
1138  mePhFracEndCapMinus_BXm1Empty =
1139  ibooker.book1D("PhFracEndCapMinus_BXm1Empty", "PHFrac prev empty 1 bunch (EndCapMinus)", 50, 0, 1);
1140  mePhFracEndCapMinus_BXm1Filled =
1141  ibooker.book1D("PhFracEndCapMinus_BXm1Filled", "PHFrac prev filled 1 bunch (EndCapMinus)", 50, 0, 1);
1142  meNHFracEndCapMinus_BXm1Empty =
1143  ibooker.book1D("NHFracEndCapMinus_BXm1Empty", "NHFrac prev empty 1 bunch (EndCapMinus)", 50, 0, 1);
1144  meNHFracEndCapMinus_BXm1Filled =
1145  ibooker.book1D("NHFracEndCapMinus_BXm1Filled", "NHFrac prev filled 1 bunch (EndCapMinus)", 50, 0, 1);
1146  meCHFracEndCapMinus_BXm1Empty =
1147  ibooker.book1D("CHFracEndCapMinus_BXm1Empty", "CHFrac prev empty 1 bunch (EndCapMinus)", 50, 0, 1);
1148  meCHFracEndCapMinus_BXm1Filled =
1149  ibooker.book1D("CHFracEndCapMinus_BXm1Filled", "CHFrac prev filled 1 bunch (EndCapMinus)", 50, 0, 1);
1150  mePtEndCapMinus_BXm1Empty =
1151  ibooker.book1D("PtEndCapMinus_BXm1Empty", "pT prev empty 1 bunch (EndCapMinus)", ptBin_, ptMin_, ptMax_);
1152  mePtEndCapMinus_BXm1Filled =
1153  ibooker.book1D("PtEndCapMinus_BXm1Filled", "pT prev filled 1 bunch (EndCapMinus)", ptBin_, ptMin_, ptMax_);
1154  meHFHFracMinus_BXm1Empty =
1155  ibooker.book1D("HFHFracMinus_BXm1Empty", "HFHFrac prev empty 1 bunch (EndCapMinus)", 50, 0, 1);
1156  meHFHFracMinus_BXm1Filled =
1157  ibooker.book1D("HFHFracMinus_BXm1Filled", "HFHFrac prev filled 1 bunch (EndCapMinus)", 50, 0, 1);
1158  meHFEMFracMinus_BXm1Empty =
1159  ibooker.book1D("HFEMFracMinus_BXm1Empty", "HFEMFrac prev empty 1 bunch (EndCapMinus)", 50, 0, 1);
1160  meHFEMFracMinus_BXm1Filled =
1161  ibooker.book1D("HFEMFracMinus_BXm1Filled", "HFEMFrac prev filled 1 bunch (EndCapMinus)", 50, 0, 1);
1162  mePtForwardMinus_BXm1Empty =
1163  ibooker.book1D("PtForwardMinus_BXm1Empty", "pT prev empty 1 bunch (ForwardMinus)", ptBin_, ptMin_, ptMax_);
1164  mePtForwardMinus_BXm1Filled =
1165  ibooker.book1D("PtForwardMinus_BXm1Filled", "pT prev filled 1 bunch (ForwardMinus)", ptBin_, ptMin_, ptMax_);
1166  meEta_BXm1Empty = ibooker.book1D("Eta_BXm1Empty", "eta prev empty 1 bunch", etaBin_, etaMin_, etaMax_);
1167  meEta_BXm1Filled = ibooker.book1D("Eta_BXm1Filled", "eta prev filled 1 bunch", etaBin_, etaMin_, etaMax_);
1168 
1169  map_of_MEs.insert(
1170  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracBarrel_BXm1Empty", mePhFracBarrel_BXm1Empty));
1171  map_of_MEs.insert(
1172  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracBarrel_BXm1Filled", mePhFracBarrel_BXm1Filled));
1173  map_of_MEs.insert(
1174  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracBarrel_BXm1Empty", meNHFracBarrel_BXm1Empty));
1175  map_of_MEs.insert(
1176  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracBarrel_BXm1Filled", meNHFracBarrel_BXm1Filled));
1177  map_of_MEs.insert(
1178  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracBarrel_BXm1Empty", meCHFracBarrel_BXm1Empty));
1179  map_of_MEs.insert(
1180  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracBarrel_BXm1Filled", meCHFracBarrel_BXm1Filled));
1181  map_of_MEs.insert(
1182  std::pair<std::string, MonitorElement*>(DirName + "/" + "PtBarrel_BXm1Empty", mePtBarrel_BXm1Empty));
1183  map_of_MEs.insert(
1184  std::pair<std::string, MonitorElement*>(DirName + "/" + "PtBarrel_BXm1Filled", mePtBarrel_BXm1Filled));
1185  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracEndCapPlus_BXm1Empty",
1186  mePhFracEndCapPlus_BXm1Empty));
1187  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracEndCapPlus_BXm1Filled",
1188  mePhFracEndCapPlus_BXm1Filled));
1189  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracEndCapPlus_BXm1Empty",
1190  meNHFracEndCapPlus_BXm1Empty));
1191  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracEndCapPlus_BXm1Filled",
1192  meNHFracEndCapPlus_BXm1Filled));
1193  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracEndCapPlus_BXm1Empty",
1194  meCHFracEndCapPlus_BXm1Empty));
1195  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracEndCapPlus_BXm1Filled",
1196  meCHFracEndCapPlus_BXm1Filled));
1197  map_of_MEs.insert(
1198  std::pair<std::string, MonitorElement*>(DirName + "/" + "PtEndCapPlus_BXm1Empty", mePtEndCapPlus_BXm1Empty));
1199  map_of_MEs.insert(
1200  std::pair<std::string, MonitorElement*>(DirName + "/" + "PtEndCapPlus_BXm1Filled", mePtEndCapPlus_BXm1Filled));
1201  map_of_MEs.insert(
1202  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFracPlus_BXm1Empty", meHFHFracPlus_BXm1Empty));
1203  map_of_MEs.insert(
1204  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFracPlus_BXm1Filled", meHFHFracPlus_BXm1Filled));
1205  map_of_MEs.insert(
1206  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEMFracPlus_BXm1Empty", meHFEMFracPlus_BXm1Empty));
1207  map_of_MEs.insert(
1208  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEMFracPlus_BXm1Filled", meHFEMFracPlus_BXm1Filled));
1209  map_of_MEs.insert(
1210  std::pair<std::string, MonitorElement*>(DirName + "/" + "PtForwardPlus_BXm1Empty", mePtForwardPlus_BXm1Empty));
1211  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PtForwardPlus_BXm1Filled",
1212  mePtForwardPlus_BXm1Filled));
1213  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracEndCapMinus_BXm1Empty",
1214  mePhFracEndCapMinus_BXm1Empty));
1215  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracEndCapMinus_BXm1Filled",
1216  mePhFracEndCapMinus_BXm1Filled));
1217  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracEndCapMinus_BXm1Empty",
1218  meNHFracEndCapMinus_BXm1Empty));
1219  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracEndCapMinus_BXm1Filled",
1220  meNHFracEndCapMinus_BXm1Filled));
1221  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracEndCapMinus_BXm1Empty",
1222  meCHFracEndCapMinus_BXm1Empty));
1223  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracEndCapMinus_BXm1Filled",
1224  meCHFracEndCapMinus_BXm1Filled));
1225  map_of_MEs.insert(
1226  std::pair<std::string, MonitorElement*>(DirName + "/" + "PtEndCapMinus_BXm1Empty", mePtEndCapMinus_BXm1Empty));
1227  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PtEndCapMinus_BXm1Filled",
1228  mePtEndCapMinus_BXm1Filled));
1229  map_of_MEs.insert(
1230  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFracMinus_BXm1Empty", meHFHFracMinus_BXm1Empty));
1231  map_of_MEs.insert(
1232  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFracMinus_BXm1Filled", meHFHFracMinus_BXm1Filled));
1233  map_of_MEs.insert(
1234  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEMFracMinus_BXm1Empty", meHFEMFracMinus_BXm1Empty));
1235  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEMFracMinus_BXm1Filled",
1236  meHFEMFracMinus_BXm1Filled));
1237  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PtForwardMinus_BXm1Empty",
1238  mePtForwardMinus_BXm1Empty));
1239  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PtForwardMinus_BXm1Filled",
1240  mePtForwardMinus_BXm1Filled));
1241  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta_BXm1Empty", meEta_BXm1Empty));
1242  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta_BXm1Filled", meEta_BXm1Filled));
1243 
1244  //multiplicities
1245  mChMultiplicity_lowPt_EndCap =
1246  ibooker.book1D("ChMultiplicity_lowPt_EndCap", "ChMultiplicity_lowPt_EndCap", 60, 0, 60);
1247  mNeutMultiplicity_lowPt_EndCap =
1248  ibooker.book1D("NeutMultiplicity_lowPt_EndCap", "NeutMultiplicity_lowPt_EndCap", 60, 0, 60);
1249  mMuMultiplicity_lowPt_EndCap =
1250  ibooker.book1D("MuMultiplicity_lowPt_EndCap", "MuMultiplicity_lowPt_EndCap", 10, 0, 10);
1251  mChMultiplicity_mediumPt_EndCap =
1252  ibooker.book1D("ChMultiplicity_mediumPt_EndCap", "ChMultiplicity_mediumPt_EndCap", 60, 0, 60);
1253  mNeutMultiplicity_mediumPt_EndCap =
1254  ibooker.book1D("NeutMultiplicity_mediumPt_EndCap", "NeutMultiplicity_mediumPt_EndCap", 60, 0, 60);
1255  mMuMultiplicity_mediumPt_EndCap =
1256  ibooker.book1D("MuMultiplicity_mediumPt_EndCap", "MuMultiplicity_mediumPt_EndCap", 10, 0, 10);
1257  mChMultiplicity_highPt_EndCap =
1258  ibooker.book1D("ChMultiplicity_highPt_EndCap", "ChMultiplicity_highPt_EndCap", 60, 0, 60);
1259  mNeutMultiplicity_highPt_EndCap =
1260  ibooker.book1D("NeutMultiplicity_highPt_EndCap", "NeutMultiplicity_highPt_EndCap", 60, 0, 60);
1261  mMuMultiplicity_highPt_EndCap =
1262  ibooker.book1D("MuMultiplicity_highPt_EndCap", "MuMultiplicity_highPt_EndCap", 10, 0, 10);
1263 
1264  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChMultiplicity_lowPt_EndCap",
1265  mChMultiplicity_lowPt_EndCap));
1266  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_lowPt_EndCap",
1267  mNeutMultiplicity_lowPt_EndCap));
1268  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuMultiplicity_lowPt_EndCap",
1269  mMuMultiplicity_lowPt_EndCap));
1270  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChMultiplicity_mediumPt_EndCap",
1271  mChMultiplicity_mediumPt_EndCap));
1272  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_mediumPt_EndCap",
1273  mNeutMultiplicity_mediumPt_EndCap));
1274  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuMultiplicity_mediumPt_EndCap",
1275  mMuMultiplicity_mediumPt_EndCap));
1276  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChMultiplicity_highPt_EndCap",
1277  mChMultiplicity_highPt_EndCap));
1278  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_highPt_EndCap",
1279  mNeutMultiplicity_highPt_EndCap));
1280  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuMultiplicity_highPt_EndCap",
1281  mMuMultiplicity_highPt_EndCap));
1282 
1283  //forward monitoring
1284  //energy fraction
1285  mHFEFrac_lowPt_Forward = ibooker.book1D("HFEFrac_lowPt_Forward", "HFEFrac_lowPt_Forward", 70, -0.2, 1.2);
1286  mHFHFrac_lowPt_Forward = ibooker.book1D("HFHFrac_lowPt_Forward", "HFHFrac_lowPt_Forward", 70, -0.2, 1.2);
1287  mHFEFrac_mediumPt_Forward = ibooker.book1D("HFEFrac_mediumPt_Forward", "HFEFrac_mediumPt_Forward", 70, -0.2, 1.2);
1288  mHFHFrac_mediumPt_Forward = ibooker.book1D("HFHFrac_mediumPt_Forward", "HFHFrac_mediumPt_Forward", 70, -0.2, 1.2);
1289  mHFEFrac_highPt_Forward = ibooker.book1D("HFEFrac_highPt_Forward", "HFEFrac_highPt_Forward", 70, -0.2, 1.2);
1290  mHFHFrac_highPt_Forward = ibooker.book1D("HFHFrac_highPt_Forward", "HFHFrac_highPt_Forward", 70, -0.2, 1.2);
1291  map_of_MEs.insert(
1292  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFrac_lowPt_Forward", mHFHFrac_lowPt_Forward));
1293  map_of_MEs.insert(
1294  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEFrac_lowPt_Forward", mHFEFrac_lowPt_Forward));
1295  map_of_MEs.insert(
1296  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFrac_mediumPt_Forward", mHFHFrac_mediumPt_Forward));
1297  map_of_MEs.insert(
1298  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEFrac_mediumPt_Forward", mHFEFrac_mediumPt_Forward));
1299  map_of_MEs.insert(
1300  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFrac_highPt_Forward", mHFHFrac_highPt_Forward));
1301  map_of_MEs.insert(
1302  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEFrac_highPt_Forward", mHFEFrac_highPt_Forward));
1303 
1304  //energies
1305  mHFEEn_lowPt_Forward = ibooker.book1D("HFEEn_lowPt_Forward", "HFEEn_lowPt_Forward", ptBin_, 0., ptMax_);
1306  mHFHEn_lowPt_Forward = ibooker.book1D("HFHEn_lowPt_Forward", "HFHEn_lowPt_Forward", ptBin_, 0., 2.0 * ptMax_);
1307  mHFEEn_mediumPt_Forward =
1308  ibooker.book1D("HFEEn_mediumPt_Forward", "HFEEn_mediumPt_Forward", ptBin_, 0., 1.5 * ptMax_);
1309  mHFHEn_mediumPt_Forward =
1310  ibooker.book1D("HFHEn_mediumPt_Forward", "HFHEn_mediumPt_Forward", ptBin_, 0., 2.5 * ptMax_);
1311  mHFEEn_highPt_Forward = ibooker.book1D("HFEEn_highPt_Forward", "HFEEn_highPt_Forward", ptBin_, 0., 1.5 * ptMax_);
1312  mHFHEn_highPt_Forward = ibooker.book1D("HFHEn_highPt_Forward", "HFHEn_highPt_Forward", ptBin_, 0., 5.0 * ptMax_);
1313  map_of_MEs.insert(
1314  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHEn_lowPt_Forward", mHFHEn_lowPt_Forward));
1315  map_of_MEs.insert(
1316  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEEn_lowPt_Forward", mHFEEn_lowPt_Forward));
1317  map_of_MEs.insert(
1318  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHEn_mediumPt_Forward", mHFHEn_mediumPt_Forward));
1319  map_of_MEs.insert(
1320  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEEn_mediumPt_Forward", mHFEEn_mediumPt_Forward));
1321  map_of_MEs.insert(
1322  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHEn_highPt_Forward", mHFHEn_highPt_Forward));
1323  map_of_MEs.insert(
1324  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEEn_highPt_Forward", mHFEEn_highPt_Forward));
1325  //multiplicities
1326  mNeutMultiplicity_lowPt_Forward =
1327  ibooker.book1D("NeutMultiplicity_lowPt_Forward", "NeutMultiplicity_lowPt_Forward", 60, 0, 60);
1328  mNeutMultiplicity_mediumPt_Forward =
1329  ibooker.book1D("NeutMultiplicity_mediumPt_Forward", "NeutMultiplicity_mediumPt_Forward", 60, 0, 60);
1330  mNeutMultiplicity_highPt_Forward =
1331  ibooker.book1D("NeutMultiplicity_highPt_Forward", "NeutMultiplicity_highPt_Forward", 60, 0, 60);
1332 
1333  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_lowPt_Forward",
1334  mNeutMultiplicity_lowPt_Forward));
1335  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_mediumPt_Forward",
1336  mNeutMultiplicity_mediumPt_Forward));
1337  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_highPt_Forward",
1338  mNeutMultiplicity_highPt_Forward));
1339 
1340  mChargedHadronEnergy = ibooker.book1D("ChargedHadronEnergy", "charged HAD energy", 50, 0, 100);
1341  mNeutralHadronEnergy = ibooker.book1D("NeutralHadronEnergy", "neutral HAD energy", 50, 0, 100);
1342  mChargedEmEnergy = ibooker.book1D("ChargedEmEnergy", "charged EM energy ", 50, 0, 100);
1343  mChargedMuEnergy = ibooker.book1D("ChargedMuEnergy", "charged Mu energy", 50, 0, 100);
1344  mNeutralEmEnergy = ibooker.book1D("NeutralEmEnergy", "neutral EM energy", 50, 0, 100);
1345  mChargedMultiplicity = ibooker.book1D("ChargedMultiplicity", "charged multiplicity ", 50, 0, 100);
1346  mNeutralMultiplicity = ibooker.book1D("NeutralMultiplicity", "neutral multiplicity", 50, 0, 100);
1347  mMuonMultiplicity = ibooker.book1D("MuonMultiplicity", "muon multiplicity", 50, 0, 100);
1348  map_of_MEs.insert(
1349  std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedHadronEnergy", mChargedHadronEnergy));
1350  map_of_MEs.insert(
1351  std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralHadronEnergy", mNeutralHadronEnergy));
1352  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedEmEnergy", mChargedEmEnergy));
1353  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedMuEnergy", mChargedMuEnergy));
1354  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralEmEnergy", mNeutralEmEnergy));
1355  map_of_MEs.insert(
1356  std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedMultiplicity", mChargedMultiplicity));
1357  map_of_MEs.insert(
1358  std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralMultiplicity", mNeutralMultiplicity));
1359  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuonMultiplicity", mMuonMultiplicity));
1360 
1361  // Book NPV profiles
1362  //----------------------------------------------------------------------------
1363  mChargedHadronEnergy_profile = ibooker.bookProfile(
1364  "ChargedHadronEnergy_profile", "charged HAD energy", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1365  mNeutralHadronEnergy_profile = ibooker.bookProfile(
1366  "NeutralHadronEnergy_profile", "neutral HAD energy", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1367  mChargedEmEnergy_profile =
1368  ibooker.bookProfile("ChargedEmEnergy_profile", "charged EM energy", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1369  mChargedMuEnergy_profile =
1370  ibooker.bookProfile("ChargedMuEnergy_profile", "charged Mu energy", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1371  mNeutralEmEnergy_profile =
1372  ibooker.bookProfile("NeutralEmEnergy_profile", "neutral EM energy", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1373  mChargedMultiplicity_profile = ibooker.bookProfile(
1374  "ChargedMultiplicity_profile", "charged multiplicity", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1375  mNeutralMultiplicity_profile = ibooker.bookProfile(
1376  "NeutralMultiplicity_profile", "neutral multiplicity", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1377  mMuonMultiplicity_profile =
1378  ibooker.bookProfile("MuonMultiplicity_profile", "muon multiplicity", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1379 
1380  // Set NPV profiles x-axis title
1381  //----------------------------------------------------------------------------
1382  mChargedHadronEnergy_profile->setAxisTitle("nvtx", 1);
1383  mNeutralHadronEnergy_profile->setAxisTitle("nvtx", 1);
1384  mChargedEmEnergy_profile->setAxisTitle("nvtx", 1);
1385  mChargedMuEnergy_profile->setAxisTitle("nvtx", 1);
1386  mNeutralEmEnergy_profile->setAxisTitle("nvtx", 1);
1387  mChargedMultiplicity_profile->setAxisTitle("nvtx", 1);
1388  mNeutralMultiplicity_profile->setAxisTitle("nvtx", 1);
1389  mMuonMultiplicity_profile->setAxisTitle("nvtx", 1);
1390 
1391  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedHadronEnergy_profile",
1392  mChargedHadronEnergy_profile));
1393  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralHadronEnergy_profile",
1394  mNeutralHadronEnergy_profile));
1395  map_of_MEs.insert(
1396  std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedEmEnergy_profile", mChargedEmEnergy_profile));
1397  map_of_MEs.insert(
1398  std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedMuEnergy_profile", mChargedMuEnergy_profile));
1399  map_of_MEs.insert(
1400  std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralEmEnergy_profile", mNeutralEmEnergy_profile));
1401  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedMultiplicity_profile",
1402  mChargedMultiplicity_profile));
1403  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralMultiplicity_profile",
1404  mNeutralMultiplicity_profile));
1405  map_of_MEs.insert(
1406  std::pair<std::string, MonitorElement*>(DirName + "/" + "MuonMultiplicity_profile", mMuonMultiplicity_profile));
1407 
1408  mNeutralFraction = ibooker.book1D("NeutralConstituentsFraction", "Neutral Constituents Fraction", 100, 0, 1);
1409  map_of_MEs.insert(
1410  std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralConstituentsFraction", mNeutralFraction));
1411  }
1412 
1413  //
1414  if (isMiniAODJet_) {
1415  mMass_Barrel = ibooker.book1D("JetMass_Barrel", "JetMass_Barrel", 50, 0, 250);
1416  mMass_EndCap = ibooker.book1D("JetMass_EndCap", "JetMass_EndCap", 50, 0, 250);
1417  mMass_Forward = ibooker.book1D("JetMass_Forward", "JetMass_Forward", 50, 0, 250);
1418 
1419  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_Barrel", mMass_Barrel));
1420  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_EndCap", mMass_EndCap));
1421  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_Forward", mMass_Forward));
1422  if (!filljetsubstruc_) {
1423  //done only for MINIAOD
1424  mPt_CaloJet = ibooker.book1D("Pt_CaloJet", "Pt_CaloJet", ptBin_, 10, ptMax_);
1425  mEMF_CaloJet = ibooker.book1D("EMF_CaloJet", "EMF_CaloJet", 52, -0.02, 1.02);
1426  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_CaloJet", mPt_CaloJet));
1427  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EMF_CaloJet", mEMF_CaloJet));
1428  }
1429  if (filljetsubstruc_) {
1430  //miniaod specific variables, especially for substructure
1431  mSoftDropMass = ibooker.book1D("SoftDropMass", "SoftDropMass", 50, 0, 250);
1432  mPrunedMass = ibooker.book1D("PrunedMass", "PrunedMass", 50, 0, 250);
1433  mTrimmedMass = ibooker.book1D("TrimmedMass", "TrimmedMass", 50, 0, 250);
1434  mFilteredMass = ibooker.book1D("FilteredMass", "FilteredMass", 50, 0, 250);
1435  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SoftDropMass", mSoftDropMass));
1436  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PrunedMass", mPrunedMass));
1437  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "TrimmedMass", mTrimmedMass));
1438  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "FilteredMass", mFilteredMass));
1439 
1440  mtau2_over_tau1 = ibooker.book1D("tau2_over_tau1", "tau2_over_tau1", 50, 0, 1);
1441  mtau3_over_tau2 = ibooker.book1D("tau3_over_tau2", "tau3_over_tau2", 50, 0, 1);
1442  mCATopTag_topMass = ibooker.book1D("CATopTag_topMass", "CATopTag_topMass", 50, 50, 250);
1443  mCATopTag_minMass = ibooker.book1D("CATopTag_minMass", "CATopTag_minMass", 50, 0, 250);
1444  mCATopTag_nSubJets = ibooker.book1D("nSubJets_CATopTag", "nSubJets_CATopTag", 10, 0, 10);
1445  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "tau2_over_tau1", mtau2_over_tau1));
1446  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "tau3_over_tau2", mtau3_over_tau2));
1447  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CATopTag_topMass", mCATopTag_topMass));
1448  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CATopTag_minMass", mCATopTag_minMass));
1449  map_of_MEs.insert(
1450  std::pair<std::string, MonitorElement*>(DirName + "/" + "nSubJets_CATopTag", mCATopTag_nSubJets));
1451 
1452  mnSubJetsCMSTopTag = ibooker.book1D("nSubJets_CMSTopTag", "nSubJets_CMSTopTag", 10, 0, 10);
1453  mSubJet1_CMSTopTag_pt = ibooker.book1D("SubJet1_CMSTopTag_pt", "SubJet1_CMSTopTag_pt", ptBin_, ptMin_, ptMax_);
1454  mSubJet1_CMSTopTag_eta =
1455  ibooker.book1D("SubJet1_CMSTopTag_eta", "SubJet1_CMSTopTag_eta", etaBin_, etaMin_, etaMax_);
1456  mSubJet1_CMSTopTag_phi =
1457  ibooker.book1D("SubJet1_CMSTopTag_phi", "SubJet1_CMSTopTag_phi", phiBin_, phiMin_, phiMax_);
1458  mSubJet1_CMSTopTag_mass = ibooker.book1D("SubJet1_CMSTopTag_mass", "SubJet1_CMSTopTag_mass", 50, 0, 250);
1459  mSubJet2_CMSTopTag_pt = ibooker.book1D("SubJet2_CMSTopTag_pt", "SubJet2_CMSTopTag_pt", ptBin_, ptMin_, ptMax_);
1460  mSubJet2_CMSTopTag_eta =
1461  ibooker.book1D("SubJet2_CMSTopTag_eta", "SubJet2_CMSTopTag_eta", etaBin_, etaMin_, etaMax_);
1462  mSubJet2_CMSTopTag_phi =
1463  ibooker.book1D("SubJet2_CMSTopTag_phi", "SubJet2_CMSTopTag_phi", phiBin_, phiMin_, phiMax_);
1464  mSubJet2_CMSTopTag_mass = ibooker.book1D("SubJet2_CMSTopTag_mass", "SubJet2_CMSTopTag_mass", 50, 0, 250);
1465  mSubJet3_CMSTopTag_pt = ibooker.book1D("SubJet3_CMSTopTag_pt", "SubJet3_CMSTopTag_pt", ptBin_, ptMin_, ptMax_);
1466  mSubJet3_CMSTopTag_eta =
1467  ibooker.book1D("SubJet3_CMSTopTag_eta", "SubJet3_CMSTopTag_eta", etaBin_, etaMin_, etaMax_);
1468  mSubJet3_CMSTopTag_phi =
1469  ibooker.book1D("SubJet3_CMSTopTag_phi", "SubJet3_CMSTopTag_phi", phiBin_, phiMin_, phiMax_);
1470  mSubJet3_CMSTopTag_mass = ibooker.book1D("SubJet3_CMSTopTag_mass", "SubJet3_CMSTopTag_mass", 50, 0, 250);
1471  mSubJet4_CMSTopTag_pt = ibooker.book1D("SubJet4_CMSTopTag_pt", "SubJet4_CMSTopTag_pt", ptBin_, ptMin_, ptMax_);
1472  mSubJet4_CMSTopTag_eta =
1473  ibooker.book1D("SubJet4_CMSTopTag_eta", "SubJet4_CMSTopTag_eta", etaBin_, etaMin_, etaMax_);
1474  mSubJet4_CMSTopTag_phi =
1475  ibooker.book1D("SubJet4_CMSTopTag_phi", "SubJet4_CMSTopTag_phi", phiBin_, phiMin_, phiMax_);
1476  mSubJet4_CMSTopTag_mass = ibooker.book1D("SubJet4_CMSTopTag_mass", "SubJet4_CMSTopTag_mass", 50, 0, 250);
1477 
1478  map_of_MEs.insert(
1479  std::pair<std::string, MonitorElement*>(DirName + "/" + "nSubJets_CMSTopTag", mnSubJetsCMSTopTag));
1480  map_of_MEs.insert(
1481  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_CMSTopTag_pt", mSubJet1_CMSTopTag_pt));
1482  map_of_MEs.insert(
1483  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_CMSTopTag_eta", mSubJet1_CMSTopTag_eta));
1484  map_of_MEs.insert(
1485  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_CMSTopTag_phi", mSubJet1_CMSTopTag_phi));
1486  map_of_MEs.insert(
1487  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_CMSTopTag_mass", mSubJet1_CMSTopTag_mass));
1488  map_of_MEs.insert(
1489  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_CMSTopTag_pt", mSubJet2_CMSTopTag_pt));
1490  map_of_MEs.insert(
1491  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_CMSTopTag_eta", mSubJet2_CMSTopTag_eta));
1492  map_of_MEs.insert(
1493  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_CMSTopTag_phi", mSubJet2_CMSTopTag_phi));
1494  map_of_MEs.insert(
1495  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_CMSTopTag_mass", mSubJet2_CMSTopTag_mass));
1496  map_of_MEs.insert(
1497  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet3_CMSTopTag_pt", mSubJet3_CMSTopTag_pt));
1498  map_of_MEs.insert(
1499  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet3_CMSTopTag_eta", mSubJet3_CMSTopTag_eta));
1500  map_of_MEs.insert(
1501  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet3_CMSTopTag_phi", mSubJet3_CMSTopTag_phi));
1502  map_of_MEs.insert(
1503  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet3_CMSTopTag_mass", mSubJet3_CMSTopTag_mass));
1504  map_of_MEs.insert(
1505  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet4_CMSTopTag_pt", mSubJet4_CMSTopTag_pt));
1506  map_of_MEs.insert(
1507  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet4_CMSTopTag_eta", mSubJet4_CMSTopTag_eta));
1508  map_of_MEs.insert(
1509  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet4_CMSTopTag_phi", mSubJet4_CMSTopTag_phi));
1510  map_of_MEs.insert(
1511  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet4_CMSTopTag_mass", mSubJet4_CMSTopTag_mass));
1512 
1513  mnSubJetsSoftDrop = ibooker.book1D("nSubJets_SoftDrop", "nSubJets_SoftDrop", 10, 0, 10);
1514  mSubJet1_SoftDrop_pt = ibooker.book1D("SubJet1_SoftDrop_pt", "SubJet1_SoftDrop_pt", ptBin_, ptMin_, ptMax_);
1515  mSubJet1_SoftDrop_eta = ibooker.book1D("SubJet1_SoftDrop_eta", "SubJet1_SoftDrop_eta", etaBin_, etaMin_, etaMax_);
1516  mSubJet1_SoftDrop_phi = ibooker.book1D("SubJet1_SoftDrop_phi", "SubJet1_SoftDrop_phi", phiBin_, phiMin_, phiMax_);
1517  mSubJet1_SoftDrop_mass = ibooker.book1D("SubJet1_SoftDrop_mass", "SubJet1_SoftDrop_mass", 50, 0, 250);
1518  mSubJet2_SoftDrop_pt = ibooker.book1D("SubJet2_SoftDrop_pt", "SubJet2_SoftDrop_pt", ptBin_, ptMin_, ptMax_);
1519  mSubJet2_SoftDrop_eta = ibooker.book1D("SubJet2_SoftDrop_eta", "SubJet2_SoftDrop_eta", etaBin_, etaMin_, etaMax_);
1520  mSubJet2_SoftDrop_phi = ibooker.book1D("SubJet2_SoftDrop_phi", "SubJet2_SoftDrop_phi", phiBin_, phiMin_, phiMax_);
1521  mSubJet2_SoftDrop_mass = ibooker.book1D("SubJet2_SoftDrop_mass", "SubJet2_SoftDrop_mass", 50, 0, 250);
1522 
1523  map_of_MEs.insert(
1524  std::pair<std::string, MonitorElement*>(DirName + "/" + "nSubJets_SoftDrop", mnSubJetsSoftDrop));
1525  map_of_MEs.insert(
1526  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_SoftDrop_pt", mSubJet1_SoftDrop_pt));
1527  map_of_MEs.insert(
1528  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_SoftDrop_eta", mSubJet1_SoftDrop_eta));
1529  map_of_MEs.insert(
1530  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_SoftDrop_phi", mSubJet1_SoftDrop_phi));
1531  map_of_MEs.insert(
1532  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_SoftDrop_mass", mSubJet1_SoftDrop_mass));
1533  map_of_MEs.insert(
1534  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_SoftDrop_pt", mSubJet2_SoftDrop_pt));
1535  map_of_MEs.insert(
1536  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_SoftDrop_eta", mSubJet2_SoftDrop_eta));
1537  map_of_MEs.insert(
1538  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_SoftDrop_phi", mSubJet2_SoftDrop_phi));
1539  map_of_MEs.insert(
1540  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_SoftDrop_mass", mSubJet2_SoftDrop_mass));
1541  //miniaod specific variables, especially for substructure for boosted stuff
1542  mSoftDropMass_boosted = ibooker.book1D("SoftDropMass_boosted", "SoftDropMass_boosted", 50, 0, 250);
1543  mPrunedMass_boosted = ibooker.book1D("PrunedMass_boosted", "PrunedMass_boosted", 50, 0, 250);
1544  mTrimmedMass_boosted = ibooker.book1D("TrimmedMass_boosted", "TrimmedMass_boosted", 50, 0, 250);
1545  mFilteredMass_boosted = ibooker.book1D("FilteredMass_boosted", "FilteredMass_boosted", 50, 0, 250);
1546  map_of_MEs.insert(
1547  std::pair<std::string, MonitorElement*>(DirName + "/" + "SoftDropMass_boosted", mSoftDropMass_boosted));
1548  map_of_MEs.insert(
1549  std::pair<std::string, MonitorElement*>(DirName + "/" + "PrunedMass_boosted", mPrunedMass_boosted));
1550  map_of_MEs.insert(
1551  std::pair<std::string, MonitorElement*>(DirName + "/" + "TrimmedMass_boosted", mTrimmedMass_boosted));
1552  map_of_MEs.insert(
1553  std::pair<std::string, MonitorElement*>(DirName + "/" + "FilteredMass_boosted", mFilteredMass_boosted));
1554 
1555  mtau2_over_tau1_boosted = ibooker.book1D("tau2_over_tau1_boosted", "tau2_over_tau1_boosted", 50, 0, 1);
1556  mtau3_over_tau2_boosted = ibooker.book1D("tau3_over_tau2_boosted", "tau3_over_tau2_boosted", 50, 0, 1);
1557  mCATopTag_topMass_boosted = ibooker.book1D("CATopTag_topMass_boosted", "CATopTag_topMass_boosted", 50, 50, 250);
1558  mCATopTag_minMass_boosted = ibooker.book1D("CATopTag_minMass_boosted", "CATopTag_minMass_boosted", 50, 0, 250);
1559  mCATopTag_nSubJets_boosted = ibooker.book1D("nSubJets_CATopTag_boosted", "nSubJets_CATopTag_boosted", 10, 0, 10);
1560  map_of_MEs.insert(
1561  std::pair<std::string, MonitorElement*>(DirName + "/" + "tau2_over_tau1_boosted", mtau2_over_tau1_boosted));
1562  map_of_MEs.insert(
1563  std::pair<std::string, MonitorElement*>(DirName + "/" + "tau3_over_tau2_boosted", mtau3_over_tau2_boosted));
1564  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CATopTag_topMass_boosted",
1565  mCATopTag_topMass_boosted));
1566  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CATopTag_minMass_boosted",
1567  mCATopTag_minMass_boosted));
1568  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "nSubJets_CATopTag_boosted",
1569  mCATopTag_nSubJets_boosted));
1570 
1571  mnSubJetsCMSTopTag_boosted =
1572  ibooker.book1D("nSubJets_CMSTopTag_boosted", "nSubJets_CMSTopTag_boosted", 10, 0, 10);
1573  mSubJet1_CMSTopTag_pt_boosted =
1574  ibooker.book1D("SubJet1_CMSTopTag_pt_boosted", "SubJet1_CMSTopTag_pt_boosted", ptBin_, ptMin_, 2 * ptMax_);
1575  mSubJet1_CMSTopTag_eta_boosted =
1576  ibooker.book1D("SubJet1_CMSTopTag_eta_boosted", "SubJet1_CMSTopTag_eta_boosted", etaBin_, etaMin_, etaMax_);
1577  mSubJet1_CMSTopTag_phi_boosted =
1578  ibooker.book1D("SubJet1_CMSTopTag_phi_boosted", "SubJet1_CMSTopTag_phi_boosted", phiBin_, phiMin_, phiMax_);
1579  mSubJet1_CMSTopTag_mass_boosted =
1580  ibooker.book1D("SubJet1_CMSTopTag_mass_boosted", "SubJet1_CMSTopTag_mass_boosted", 50, 0, 250);
1581  mSubJet2_CMSTopTag_pt_boosted =
1582  ibooker.book1D("SubJet2_CMSTopTag_pt_boosted", "SubJet2_CMSTopTag_pt_boosted", ptBin_, ptMin_, 2 * ptMax_);
1583  mSubJet2_CMSTopTag_eta_boosted =
1584  ibooker.book1D("SubJet2_CMSTopTag_eta_boosted", "SubJet2_CMSTopTag_eta_boosted", etaBin_, etaMin_, etaMax_);
1585  mSubJet2_CMSTopTag_phi_boosted =
1586  ibooker.book1D("SubJet2_CMSTopTag_phi_boosted", "SubJet2_CMSTopTag_phi_boosted", phiBin_, phiMin_, phiMax_);
1587  mSubJet2_CMSTopTag_mass_boosted =
1588  ibooker.book1D("SubJet2_CMSTopTag_mass_boosted", "SubJet2_CMSTopTag_mass_boosted", 50, 0, 250);
1589  mSubJet3_CMSTopTag_pt_boosted =
1590  ibooker.book1D("SubJet3_CMSTopTag_pt_boosted", "SubJet3_CMSTopTag_pt_boosted", ptBin_, ptMin_, ptMax_);
1591  mSubJet3_CMSTopTag_eta_boosted =
1592  ibooker.book1D("SubJet3_CMSTopTag_eta_boosted", "SubJet3_CMSTopTag_eta_boosted", etaBin_, etaMin_, etaMax_);
1593  mSubJet3_CMSTopTag_phi_boosted =
1594  ibooker.book1D("SubJet3_CMSTopTag_phi_boosted", "SubJet3_CMSTopTag_phi_boosted", phiBin_, phiMin_, phiMax_);
1595  mSubJet3_CMSTopTag_mass_boosted =
1596  ibooker.book1D("SubJet3_CMSTopTag_mass_boosted", "SubJet3_CMSTopTag_mass_boosted", 50, 0, 250);
1597  mSubJet4_CMSTopTag_pt_boosted =
1598  ibooker.book1D("SubJet4_CMSTopTag_pt_boosted", "SubJet4_CMSTopTag_pt_boosted", ptBin_, ptMin_, ptMax_);
1599  mSubJet4_CMSTopTag_eta_boosted =
1600  ibooker.book1D("SubJet4_CMSTopTag_eta_boosted", "SubJet4_CMSTopTag_eta_boosted", etaBin_, etaMin_, etaMax_);
1601  mSubJet4_CMSTopTag_phi_boosted =
1602  ibooker.book1D("SubJet4_CMSTopTag_phi_boosted", "SubJet4_CMSTopTag_phi_boosted", phiBin_, phiMin_, phiMax_);
1603  mSubJet4_CMSTopTag_mass_boosted =
1604  ibooker.book1D("SubJet4_CMSTopTag_mass_boosted", "SubJet4_CMSTopTag_mass_boosted", 50, 0, 250);
1605 
1606  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "nSubJets_CMSTopTag_boosted",
1607  mnSubJetsCMSTopTag_boosted));
1608  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_CMSTopTag_pt_boosted",
1609  mSubJet1_CMSTopTag_pt_boosted));
1610  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_CMSTopTag_eta_boosted",
1611  mSubJet1_CMSTopTag_eta_boosted));
1612  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_CMSTopTag_phi_boosted",
1613  mSubJet1_CMSTopTag_phi_boosted));
1614  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_CMSTopTag_mass_boosted",
1615  mSubJet1_CMSTopTag_mass_boosted));
1616  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_CMSTopTag_pt_boosted",
1617  mSubJet2_CMSTopTag_pt_boosted));
1618  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_CMSTopTag_eta_boosted",
1619  mSubJet2_CMSTopTag_eta_boosted));
1620  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_CMSTopTag_phi_boosted",
1621  mSubJet2_CMSTopTag_phi_boosted));
1622  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_CMSTopTag_mass_boosted",
1623  mSubJet2_CMSTopTag_mass_boosted));
1624  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet3_CMSTopTag_pt_boosted",
1625  mSubJet3_CMSTopTag_pt_boosted));
1626  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet3_CMSTopTag_eta_boosted",
1627  mSubJet3_CMSTopTag_eta_boosted));
1628  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet3_CMSTopTag_phi_boosted",
1629  mSubJet3_CMSTopTag_phi_boosted));
1630  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet3_CMSTopTag_mass_boosted",
1631  mSubJet3_CMSTopTag_mass_boosted));
1632  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet4_CMSTopTag_pt_boosted",
1633  mSubJet4_CMSTopTag_pt_boosted));
1634  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet4_CMSTopTag_eta_boosted",
1635  mSubJet4_CMSTopTag_eta_boosted));
1636  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet4_CMSTopTag_phi_boosted",
1637  mSubJet4_CMSTopTag_phi_boosted));
1638  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet4_CMSTopTag_mass_boosted",
1639  mSubJet4_CMSTopTag_mass_boosted));
1640 
1641  mnSubJetsSoftDrop_boosted = ibooker.book1D("nSubJets_SoftDrop_boosted", "nSubJets_SoftDrop_boosted", 10, 0, 10);
1642  mSubJet1_SoftDrop_pt_boosted =
1643  ibooker.book1D("SubJet1_SoftDrop_pt_boosted", "SubJet1_SoftDrop_pt_boosted", ptBin_, ptMin_, 2 * ptMax_);
1644  mSubJet1_SoftDrop_eta_boosted =
1645  ibooker.book1D("SubJet1_SoftDrop_eta_boosted", "SubJet1_SoftDrop_eta_boosted", etaBin_, etaMin_, etaMax_);
1646  mSubJet1_SoftDrop_phi_boosted =
1647  ibooker.book1D("SubJet1_SoftDrop_phi_boosted", "SubJet1_SoftDrop_phi_boosted", phiBin_, phiMin_, phiMax_);
1648  mSubJet1_SoftDrop_mass_boosted =
1649  ibooker.book1D("SubJet1_SoftDrop_mass_boosted", "SubJet1_SoftDrop_mass_boosted", 50, 0, 250);
1650  mSubJet2_SoftDrop_pt_boosted =
1651  ibooker.book1D("SubJet2_SoftDrop_pt_boosted", "SubJet2_SoftDrop_pt_boosted", ptBin_, ptMin_, 2 * ptMax_);
1652  mSubJet2_SoftDrop_eta_boosted =
1653  ibooker.book1D("SubJet2_SoftDrop_eta_boosted", "SubJet2_SoftDrop_eta_boosted", etaBin_, etaMin_, etaMax_);
1654  mSubJet2_SoftDrop_phi_boosted =
1655  ibooker.book1D("SubJet2_SoftDrop_phi_boosted", "SubJet2_SoftDrop_phi_boosted", phiBin_, phiMin_, phiMax_);
1656  mSubJet2_SoftDrop_mass_boosted =
1657  ibooker.book1D("SubJet2_SoftDrop_mass_boosted", "SubJet2_SoftDrop_mass_boosted", 50, 0, 250);
1658 
1659  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "nSubJets_SoftDrop_boosted",
1660  mnSubJetsSoftDrop_boosted));
1661  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_SoftDrop_pt_boosted",
1662  mSubJet1_SoftDrop_pt_boosted));
1663  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_SoftDrop_eta_boosted",
1664  mSubJet1_SoftDrop_eta_boosted));
1665  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_SoftDrop_phi_boosted",
1666  mSubJet1_SoftDrop_phi_boosted));
1667  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_SoftDrop_mass_boosted",
1668  mSubJet1_SoftDrop_mass_boosted));
1669  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_SoftDrop_pt_boosted",
1670  mSubJet2_SoftDrop_pt_boosted));
1671  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_SoftDrop_eta_boosted",
1672  mSubJet2_SoftDrop_eta_boosted));
1673  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_SoftDrop_phi_boosted",
1674  mSubJet2_SoftDrop_phi_boosted));
1675  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_SoftDrop_mass_boosted",
1676  mSubJet2_SoftDrop_mass_boosted));
1677  }
1678  }
1679 
1680  if (jetCleaningFlag_) {
1681  //so far we have only one additional selection -> implement to make it expandable
1682  folderNames_.push_back("DiJet");
1683  if (isPFJet_) { //check for now only for PFJets
1684  folderNames_.push_back("ZJets");
1685  }
1686  //book for each of these selection default histograms
1687  for (std::vector<std::string>::const_iterator ic = folderNames_.begin(); ic != folderNames_.end(); ic++) {
1688  bookMESetSelection(DirName + "/" + *ic, ibooker);
1689  }
1690  }
1691 
1692  ibooker.setCurrentFolder("JetMET");
1693  cleanupME = ibooker.book1D("cleanup", "cleanup", 10, 0., 10.);
1694  cleanupME->setBinLabel(1, "Primary Vertex");
1695  cleanupME->setBinLabel(2, "DCS::Pixel");
1696  cleanupME->setBinLabel(3, "DCS::SiStrip");
1697  cleanupME->setBinLabel(4, "DCS::ECAL");
1698  cleanupME->setBinLabel(5, "DCS::ES");
1699  cleanupME->setBinLabel(6, "DCS::HBHE");
1700  cleanupME->setBinLabel(7, "DCS::HF");
1701  cleanupME->setBinLabel(8, "DCS::HO");
1702  cleanupME->setBinLabel(9, "DCS::Muon");
1703  map_of_MEs.insert(std::pair<std::string, MonitorElement*>("JetMET/cleanup", cleanupME));
1704 
1705  verticesME = ibooker.book1D("vertices", "vertices", 100, 0, 100);
1706  map_of_MEs.insert(std::pair<std::string, MonitorElement*>("JetMET/vertices", verticesME));
1707 }
1708 
1710  ibooker.setCurrentFolder(DirName);
1711  // Generic jet parameters
1712  mPt = ibooker.book1D("Pt", "pt", ptBin_, ptMin_, ptMax_);
1713  mEta = ibooker.book1D("Eta", "eta", etaBin_, etaMin_, etaMax_);
1714  mPhi = ibooker.book1D("Phi", "phi", phiBin_, phiMin_, phiMax_);
1715  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt", mPt));
1716  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta", mEta));
1717  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi", mPhi));
1718  //if(!isJPTJet_){
1719  mConstituents = ibooker.book1D("Constituents", "# of constituents", 50, 0, 100);
1720  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Constituents", mConstituents));
1721  //}
1722  mJetEnergyCorr = ibooker.book1D("JetEnergyCorr", "jet energy correction factor", 50, 0.0, 3.0);
1723  mJetEnergyCorrVSEta = ibooker.bookProfile(
1724  "JetEnergyCorrVSEta", "jet energy correction factor VS eta", etaBin_, etaMin_, etaMax_, 0.0, 3.0);
1725  mJetEnergyCorrVSPt =
1726  ibooker.bookProfile("JetEnergyCorrVSPt", "jet energy correction factor VS pt", ptBin_, ptMin_, ptMax_, 0.0, 3.0);
1727 
1728  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetEnergyCorr", mJetEnergyCorr));
1729  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetEnergyCorrVSEta", mJetEnergyCorrVSEta));
1730  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetEnergyCorrVSPt", mJetEnergyCorrVSPt));
1731 
1732  //fill for Dijets: concentrates on gluon jets -> fill leading two jets
1733  //fill for ZJets: concentrates on quark jets -> fill leading jet
1734  if (fill_CHS_histos && isPFJet_) {
1735  mAxis2_lowPt_Barrel = ibooker.book1D("qg_Axis2_lowPt_Barrel", "qg Axis2 #sigma_{2} lowPt Barrel", 50, 0., 0.20);
1736  mpTD_lowPt_Barrel =
1737  ibooker.book1D("qg_pTD_lowPt_Barrel", "qg fragmentation function p_{T}^{D} lowPt Barrel", 50, 0.15, 1.05);
1738  mMultiplicityQG_lowPt_Barrel =
1739  ibooker.book1D("qg_multiplicity_lowPt_Barrel", "qg multiplicity lowPt Barrel", 50, 0, 50);
1740  mqgLikelihood_lowPt_Barrel =
1741  ibooker.book1D("qg_Likelihood_lowPt_Barrel", "qg likelihood lowPt Barrel", 50, -1.1, 1.1);
1742  mAxis2_lowPt_EndCap = ibooker.book1D("qg_Axis2_lowPt_EndCap", "qg Axis2 #sigma_{2} lowPt EndCap", 50, 0., 0.20);
1743  mpTD_lowPt_EndCap =
1744  ibooker.book1D("qg_pTD_lowPt_EndCap", "qg fragmentation function p_{T}^{D} lowPt EndCap", 50, 0.15, 1.05);
1745  mMultiplicityQG_lowPt_EndCap =
1746  ibooker.book1D("qg_multiplicity_lowPt_EndCap", "qg multiplicity lowPt EndCap", 50, 0, 100);
1747  mqgLikelihood_lowPt_EndCap =
1748  ibooker.book1D("qg_Likelihood_lowPt_EndCap", "qg likelihood lowPt EndCap", 50, -1.1, 1.1);
1749  mAxis2_lowPt_Forward = ibooker.book1D("qg_Axis2_lowPt_Forward", "qg Axis2 #sigma_{2} lowPt Forward", 50, 0., 0.20);
1750  mpTD_lowPt_Forward =
1751  ibooker.book1D("qg_pTD_lowPt_Forward", "qg fragmentation function p_{T}^{D} lowPt Forward", 50, 0.15, 1.05);
1752  mMultiplicityQG_lowPt_Forward =
1753  ibooker.book1D("qg_multiplicity_lowPt_Forward", "qg multiplicity lowPt Forward", 50, 0, 100);
1754  mqgLikelihood_lowPt_Forward =
1755  ibooker.book1D("qg_Likelihood_lowPt_Forward", "qg likelihood lowPt Forward", 50, -1.1, 1.1);
1756 
1757  map_of_MEs.insert(
1758  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_lowPt_Barrel", mAxis2_lowPt_Barrel));
1759  map_of_MEs.insert(
1760  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_lowPt_Barrel", mpTD_lowPt_Barrel));
1761  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_lowPt_Barrel",
1762  mMultiplicityQG_lowPt_Barrel));
1763  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_lowPt_Barrel",
1764  mqgLikelihood_lowPt_Barrel));
1765  map_of_MEs.insert(
1766  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_lowPt_EndCap", mAxis2_lowPt_EndCap));
1767  map_of_MEs.insert(
1768  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_lowPt_EndCap", mpTD_lowPt_EndCap));
1769  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_lowPt_EndCap",
1770  mMultiplicityQG_lowPt_EndCap));
1771  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_lowPt_EndCap",
1772  mqgLikelihood_lowPt_EndCap));
1773  map_of_MEs.insert(
1774  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_lowPt_Forward", mAxis2_lowPt_Forward));
1775  map_of_MEs.insert(
1776  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_lowPt_Forward", mpTD_lowPt_Forward));
1777  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_lowPt_Forward",
1778  mMultiplicityQG_lowPt_Forward));
1779  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_lowPt_Forward",
1780  mqgLikelihood_lowPt_Forward));
1781 
1782  mAxis2_mediumPt_Barrel =
1783  ibooker.book1D("qg_Axis2_mediumPt_Barrel", "qg Axis2 #sigma_{2} mediumPt Barrel", 50, 0., 0.20);
1784  mpTD_mediumPt_Barrel =
1785  ibooker.book1D("qg_pTD_mediumPt_Barrel", "qg fragmentation function p_{T}^{D} mediumPt Barrel", 50, 0.15, 1.05);
1786  mMultiplicityQG_mediumPt_Barrel =
1787  ibooker.book1D("qg_multiplicity_mediumPt_Barrel", "qg multiplicity mediumPt Barrel", 50, 0, 100);
1788  mqgLikelihood_mediumPt_Barrel =
1789  ibooker.book1D("qg_Likelihood_mediumPt_Barrel", "qg likelihood mediumPt Barrel", 50, -1.1, 1.1);
1790  mAxis2_mediumPt_EndCap =
1791  ibooker.book1D("qg_Axis2_mediumPt_EndCap", "qg Axis2 #sigma_{2} mediumPt EndCap", 50, 0., 0.20);
1792  mpTD_mediumPt_EndCap =
1793  ibooker.book1D("qg_pTD_mediumPt_EndCap", "qg fragmentation function p_{T}^{D} mediumPt EndCap", 50, 0.15, 1.05);
1794  mMultiplicityQG_mediumPt_EndCap =
1795  ibooker.book1D("qg_multiplicity_mediumPt_EndCap", "qg multiplicity mediumPt EndCap", 50, 0, 100);
1796  mqgLikelihood_mediumPt_EndCap =
1797  ibooker.book1D("qg_Likelihood_mediumPt_EndCap", "qg likelihood mediumPt EndCap", 50, -1.1, 1.1);
1798  mAxis2_mediumPt_Forward =
1799  ibooker.book1D("qg_Axis2_mediumPt_Forward", "qg Axis2 #sigma_{2} mediumPt Forward", 50, 0., 0.20);
1800  mpTD_mediumPt_Forward = ibooker.book1D(
1801  "qg_pTD_mediumPt_Forward", "qg fragmentation function p_{T}^{D} mediumPt Forward", 50, 0.15, 1.05);
1802  mMultiplicityQG_mediumPt_Forward =
1803  ibooker.book1D("qg_multiplicity_mediumPt_Forward", "qg multiplicity mediumPt Forward", 50, 0, 100);
1804  mqgLikelihood_mediumPt_Forward =
1805  ibooker.book1D("qg_Likelihood_mediumPt_Forward", "qg likelihood mediumPt Forward", 50, -1.1, 1.1);
1806 
1807  map_of_MEs.insert(
1808  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_mediumPt_Barrel", mAxis2_mediumPt_Barrel));
1809  map_of_MEs.insert(
1810  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_mediumPt_Barrel", mpTD_mediumPt_Barrel));
1811  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_mediumPt_Barrel",
1812  mMultiplicityQG_mediumPt_Barrel));
1813  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_mediumPt_Barrel",
1814  mqgLikelihood_mediumPt_Barrel));
1815  map_of_MEs.insert(
1816  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_mediumPt_EndCap", mAxis2_mediumPt_EndCap));
1817  map_of_MEs.insert(
1818  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_mediumPt_EndCap", mpTD_mediumPt_EndCap));
1819  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_mediumPt_EndCap",
1820  mMultiplicityQG_mediumPt_EndCap));
1821  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_mediumPt_EndCap",
1822  mqgLikelihood_mediumPt_EndCap));
1823  map_of_MEs.insert(
1824  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_mediumPt_Forward", mAxis2_mediumPt_Forward));
1825  map_of_MEs.insert(
1826  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_mediumPt_Forward", mpTD_mediumPt_Forward));
1827  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_mediumPt_Forward",
1828  mMultiplicityQG_mediumPt_Forward));
1829  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_mediumPt_Forward",
1830  mqgLikelihood_mediumPt_Forward));
1831 
1832  mAxis2_highPt_Barrel = ibooker.book1D("qg_Axis2_highPt_Barrel", "qg Axis2 #sigma_{2} highPt Barrel", 50, 0., 0.20);
1833  mpTD_highPt_Barrel =
1834  ibooker.book1D("qg_pTD_highPt_Barrel", "qg fragmentation function p_{T}^{D} highPt Barrel", 50, 0.15, 1.05);
1835  mMultiplicityQG_highPt_Barrel =
1836  ibooker.book1D("qg_multiplicity_highPt_Barrel", "qg multiplicity highPt Barrel", 50, 0, 100);
1837  mqgLikelihood_highPt_Barrel =
1838  ibooker.book1D("qg_Likelihood_highPt_Barrel", "qg likelihood highPt Barrel", 50, -1.1, 1.1);
1839  mAxis2_highPt_EndCap = ibooker.book1D("qg_Axis2_highPt_EndCap", "qg Axis2 #sigma_{2} highPt EndCap", 50, 0., 0.20);
1840  mpTD_highPt_EndCap =
1841  ibooker.book1D("qg_pTD_highPt_EndCap", "qg fragmentation function p_{T}^{D} highPt EndCap", 50, 0.15, 1.05);
1842  mMultiplicityQG_highPt_EndCap =
1843  ibooker.book1D("qg_multiplicity_highPt_EndCap", "qg multiplicity highPt EndCap", 50, 0, 100);
1844  mqgLikelihood_highPt_EndCap =
1845  ibooker.book1D("qg_Likelihood_highPt_EndCap", "qg likelihood highPt EndCap", 50, -1.1, 1.1);
1846  mAxis2_highPt_Forward =
1847  ibooker.book1D("qg_Axis2_highPt_Forward", "qg Axis2 #sigma_{2} highPt Forward", 50, 0., 0.20);
1848  mpTD_highPt_Forward =
1849  ibooker.book1D("qg_pTD_highPt_Forward", "qg fragmentation function p_{T}^{D} highPt Forward", 50, 0.15, 1.05);
1850  mMultiplicityQG_highPt_Forward =
1851  ibooker.book1D("qg_multiplicity_highPt_Forward", "qg multiplicity highPt Forward", 50, 0, 100);
1852  mqgLikelihood_highPt_Forward =
1853  ibooker.book1D("qg_Likelihood_highPt_Forward", "qg likelihood highPt Forward", 50, -1.1, 1.1);
1854 
1855  map_of_MEs.insert(
1856  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_highPt_Barrel", mAxis2_highPt_Barrel));
1857  map_of_MEs.insert(
1858  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_highPt_Barrel", mpTD_highPt_Barrel));
1859  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_highPt_Barrel",
1860  mMultiplicityQG_highPt_Barrel));
1861  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_highPt_Barrel",
1862  mqgLikelihood_highPt_Barrel));
1863  map_of_MEs.insert(
1864  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_highPt_EndCap", mAxis2_highPt_EndCap));
1865  map_of_MEs.insert(
1866  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_highPt_EndCap", mpTD_highPt_EndCap));
1867  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_highPt_EndCap",
1868  mMultiplicityQG_highPt_EndCap));
1869  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_highPt_EndCap",
1870  mqgLikelihood_highPt_EndCap));
1871  map_of_MEs.insert(
1872  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_highPt_Forward", mAxis2_highPt_Forward));
1873  map_of_MEs.insert(
1874  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_highPt_Forward", mpTD_highPt_Forward));
1875  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_highPt_Forward",
1876  mMultiplicityQG_highPt_Forward));
1877  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_highPt_Forward",
1878  mqgLikelihood_highPt_Forward));
1879  }
1880 
1881  if (DirName.find("DiJet") != std::string::npos) {
1882  mDPhi = ibooker.book1D("DPhi", "dPhi btw the two leading jets", 100, 0., acos(-1.));
1883  mDijetAsymmetry = ibooker.book1D("DijetAsymmetry", "DijetAsymmetry", 100, -1., 1.);
1884  mDijetBalance = ibooker.book1D("DijetBalance", "DijetBalance", 100, -2., 2.);
1885  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DPhi", mDPhi));
1886  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DijetAsymmetry", mDijetAsymmetry));
1887  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DijetBalance", mDijetBalance));
1888 
1889  if (isPFJet_ || isMiniAODJet_) {
1890  mChargedMultiplicity = ibooker.book1D("ChargedMultiplicity", "charged multiplicity ", 50, 0, 100);
1891  mNeutralMultiplicity = ibooker.book1D("NeutralMultiplicity", "neutral multiplicity", 50, 0, 100);
1892  mMuonMultiplicity = ibooker.book1D("MuonMultiplicity", "muon multiplicity", 50, 0, 100);
1893 
1894  map_of_MEs.insert(
1895  std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedMultiplicity", mChargedMultiplicity));
1896  map_of_MEs.insert(
1897  std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralMultiplicity", mNeutralMultiplicity));
1898  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuonMultiplicity", mMuonMultiplicity));
1899 
1900  mChargedMultiplicity_profile = ibooker.bookProfile(
1901  "ChargedMultiplicity_profile", "charged multiplicity", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1902  mNeutralMultiplicity_profile = ibooker.bookProfile(
1903  "NeutralMultiplicity_profile", "neutral multiplicity", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1904  mMuonMultiplicity_profile =
1905  ibooker.bookProfile("MuonMultiplicity_profile", "muon multiplicity", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1906  mChargedMultiplicity_profile->setAxisTitle("nvtx", 1);
1907  mNeutralMultiplicity_profile->setAxisTitle("nvtx", 1);
1908  mMuonMultiplicity_profile->setAxisTitle("nvtx", 1);
1909 
1910  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedMultiplicity_profile",
1911  mChargedMultiplicity_profile));
1912  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralMultiplicity_profile",
1913  mNeutralMultiplicity_profile));
1914  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuonMultiplicity_profile",
1915  mMuonMultiplicity_profile));
1916 
1917  mNeutralFraction = ibooker.book1D("NeutralConstituentsFraction", "Neutral Constituents Fraction", 100, 0, 1);
1918  map_of_MEs.insert(
1919  std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralConstituentsFraction", mNeutralFraction));
1920  }
1921  }
1922 
1923  if (DirName.find("ZJets") != std::string::npos) {
1924  mZMass = ibooker.book1D("DiMuonMass", "DiMuonMass", 50, 71., 111.);
1925  mDPhiZJet = ibooker.book1D("DPhiZJ", "dPhi btw Z and Jet1", 100, 0., acos(-1.));
1926  mZJetAsymmetry = ibooker.book1D("ZJetAsymmetry", "ZJetAsymmetry", 100, -1., 1.);
1927  mJetZBalance_lowZPt_J_Barrel =
1928  ibooker.book1D("JZB_lowZPt_J_Barrel", "ZJetBalance (pTJet1-pTZ) (30<pTZ<90), |#eta_{jet}|<1.3", 50, -75., 75);
1929  mJetZBalance_mediumZPt_J_Barrel =
1930  ibooker.book1D("JZB_mediumZPt_J_Barrel", "ZJetBalance (90<pTZ<140), |#eta_{jet}|<1.3", 50, -75., 75);
1931  mJetZBalance_highZPt_J_Barrel =
1932  ibooker.book1D("JZB_highZPt_J_Barrel", "ZJetBalance (pTZ>140), |#eta_{jet}|<1.3", 50, -75., 75.);
1933  mJetZBalance_lowZPt_J_EndCap =
1934  ibooker.book1D("JZB_lowZPt_J_EndCap", "ZJetBalance (30<pTZ<90), 1.3<|#eta_{jet}|<3.0", 50, -75., 75);
1935  mJetZBalance_mediumZPt_J_EndCap =
1936  ibooker.book1D("JZB_mediumZPt_J_EndCap", "ZJetBalance (90<pTZ<140), 1.3<|#eta_{jet}|<3.0", 50, -75., 75);
1937  mJetZBalance_highZPt_J_EndCap =
1938  ibooker.book1D("JZB_highZPt_J_EndCap", "ZJetBalance (pTZ>140), 1.3<|#eta_{jet}|<3.0", 50, -75., 75.);
1939  mJetZBalance_lowZPt_J_Forward =
1940  ibooker.book1D("JZB_lowZPt_J_Forward", "ZJetBalance (30<pTZ<90), |#eta_{jet}|>3.0", 50, -75., 75);
1941  mJetZBalance_mediumZPt_J_Forward =
1942  ibooker.book1D("JZB_mediumZPt_J_Forward", "ZJetBalance (90<pTZ<140), |#eta_{jet}|>3.0", 50, -75., 75);
1943  mJetZBalance_highZPt_J_Forward =
1944  ibooker.book1D("JZB_highZPt_J_Forward", "ZJetBalance (pTZ>140), |#eta_{jet}|>3.0", 50, -75., 75.);
1945 
1946  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DiMuonMass", mZMass));
1947  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DPhiZJ", mDPhiZJet));
1948  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ZJetAsymmetry", mZJetAsymmetry));
1949  map_of_MEs.insert(
1950  std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_lowZPt_J_Barrel", mJetZBalance_lowZPt_J_Barrel));
1951  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_mediumZPt_J_Barrel",
1952  mJetZBalance_mediumZPt_J_Barrel));
1953  map_of_MEs.insert(
1954  std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_highZPt_J_Barrel", mJetZBalance_highZPt_J_Barrel));
1955  map_of_MEs.insert(
1956  std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_lowZPt_J_EndCap", mJetZBalance_lowZPt_J_EndCap));
1957  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_mediumZPt_J_EndCap",
1958  mJetZBalance_mediumZPt_J_EndCap));
1959  map_of_MEs.insert(
1960  std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_highZPt_J_EndCap", mJetZBalance_highZPt_J_EndCap));
1961  map_of_MEs.insert(
1962  std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_lowZPt_J_Forward", mJetZBalance_lowZPt_J_Forward));
1963  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_mediumZPt_J_Forward",
1964  mJetZBalance_mediumZPt_J_Forward));
1965  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_highZPt_J_Forward",
1966  mJetZBalance_highZPt_J_Forward));
1967 
1968  mJ1Pt_over_ZPt_J_Barrel = ibooker.book1D("J1Pt_over_ZPt_J_Barrel", "Jet1_Pt/ZPt, Barrel", 50, 0., 3.0);
1969  mJ1Pt_over_ZPt_J_EndCap = ibooker.book1D("J1Pt_over_ZPt_J_EndCap", "Jet1_Pt/ZPt, EndCap", 50, 0., 3.0);
1970  mJ1Pt_over_ZPt_J_Forward = ibooker.book1D("J1Pt_over_ZPt_J_Forward", "Jet1_Pt/ZPt, Forward", 50, 0., 3.0);
1971 
1972  map_of_MEs.insert(
1973  std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_J_Barrel", mJ1Pt_over_ZPt_J_Barrel));
1974  map_of_MEs.insert(
1975  std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_J_EndCap", mJ1Pt_over_ZPt_J_EndCap));
1976  map_of_MEs.insert(
1977  std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_J_Forward", mJ1Pt_over_ZPt_J_Forward));
1978 
1979  mJ1Pt_over_ZPt_lowZPt_J_Barrel =
1980  ibooker.book1D("J1Pt_over_ZPt_lowZPt_J_Barrel", "Jet1_Pt/ZPt (30<pTZ<90), |#eta_{jet}|<1.3", 50, 0., 3.0);
1981  mJ1Pt_over_ZPt_mediumZPt_J_Barrel =
1982  ibooker.book1D("J1Pt_over_ZPt_mediumZPt_J_Barrel", "Jet1_Pt/ZPt (90<pTZ<140), |#eta_{jet}|<1.3", 50, 0., 3.0);
1983  mJ1Pt_over_ZPt_highZPt_J_Barrel =
1984  ibooker.book1D("J1Pt_over_ZPt_highPt_J_Barrel", "Jet1_Pt/ZPt (pTZ>140), |#eta_{jet}|<1.3", 50, 0., 3.0);
1985  mJ1Pt_over_ZPt_lowZPt_J_EndCap =
1986  ibooker.book1D("J1Pt_over_ZPt_lowZPt_J_EndCap", "Jet1_Pt/ZPt (30<pTZ<90), 1.3<|#eta_{jet}|<3.0", 50, 0., 3.0);
1987  mJ1Pt_over_ZPt_mediumZPt_J_EndCap = ibooker.book1D(
1988  "J1Pt_over_ZPt_mediumZPt_J_EndCap", "Jet1_Pt/ZPt (90<pTZ<140), 1.3<|#eta_{jet}|<3.0", 50, 0., 3.0);
1989  mJ1Pt_over_ZPt_highZPt_J_EndCap =
1990  ibooker.book1D("J1Pt_over_ZPt_highZPt_J_EndCap", "Jet1_Pt/ZPt (pTZ>140), 1.3<|#eta_{jet}|<3.0", 50, 0., 3.0);
1991  mJ1Pt_over_ZPt_lowZPt_J_Forward =
1992  ibooker.book1D("J1Pt_over_ZPt_lowZPt_J_Forward", "Jet1_Pt/ZPt (30<pTZ<90), |#eta_{jet}|>3.0", 50, 0., 3.0);
1993  mJ1Pt_over_ZPt_mediumZPt_J_Forward =
1994  ibooker.book1D("J1Pt_over_ZPt_mediumPt_J_Forward", "Jet1_Pt/ZPt (90<pTZ<140), |#eta_{jet}|>3.0", 50, 0., 3.0);
1995  mJ1Pt_over_ZPt_highZPt_J_Forward =
1996  ibooker.book1D("J1Pt_over_ZPt_highZPt_J_Forward", "Jet1_Pt/ZPt (pTZ>140), |#eta_{jet}|>3.0", 50, 0., 3.0);
1997 
1998  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_lowZPt_J_Barrel",
1999  mJ1Pt_over_ZPt_lowZPt_J_Barrel));
2000  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_mediumZPt_J_Barrel",
2001  mJ1Pt_over_ZPt_mediumZPt_J_Barrel));
2002  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_highZPt_J_Barrel",
2003  mJ1Pt_over_ZPt_highZPt_J_Barrel));
2004  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_lowZPt_J_EndCap",
2005  mJ1Pt_over_ZPt_lowZPt_J_EndCap));
2006  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_mediumZPt_J_EndCap",
2007  mJ1Pt_over_ZPt_mediumZPt_J_EndCap));
2008  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_highZPt_J_EndCap",
2009  mJ1Pt_over_ZPt_highZPt_J_EndCap));
2010  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_lowZPt_J_Forward",
2011  mJ1Pt_over_ZPt_lowZPt_J_Forward));
2012  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_mediumZPt_J_Forward",
2013  mJ1Pt_over_ZPt_mediumZPt_J_Forward));
2014  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_highZPt_J_Forward",
2015  mJ1Pt_over_ZPt_highZPt_J_Forward));
2016 
2017  mMPF_J_Barrel = ibooker.book1D("MPF_J_Barrel", "Jet1_Pt/ZPt, Barrel", 50, 0., 2.0);
2018  mMPF_J_EndCap = ibooker.book1D("MPF_J_EndCap", "Jet1_Pt/ZPt, EndCap", 50, 0., 2.0);
2019  mMPF_J_Forward = ibooker.book1D("MPF_J_Forward", "Jet1_Pt/ZPt, Forward", 50, 0., 2.0);
2020 
2021  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_J_Barrel", mMPF_J_Barrel));
2022  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_J_EndCap", mMPF_J_EndCap));
2023  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_J_Forward", mMPF_J_Forward));
2024 
2025  mMPF_lowZPt_J_Barrel =
2026  ibooker.book1D("MPF_lowZPt_J_Barrel", "Jet1_Pt/ZPt (30<pTZ<90), |#eta_{jet}|<1.3", 50, 0., 2.0);
2027  mMPF_mediumZPt_J_Barrel =
2028  ibooker.book1D("MPF_mediumZPt_J_Barrel", "Jet1_Pt/ZPt (90<pTZ<140), |#eta_{jet}|<1.3", 50, 0., 2.0);
2029  mMPF_highZPt_J_Barrel =
2030  ibooker.book1D("MPF_highPt_J_Barrel", "Jet1_Pt/ZPt (pTZ>140), |#eta_{jet}|<1.3", 50, 0., 2.0);
2031  mMPF_lowZPt_J_EndCap =
2032  ibooker.book1D("MPF_lowZPt_J_EndCap", "Jet1_Pt/ZPt (30<pTZ<90), 1.3<|#eta_{jet}|<3.0", 50, 0., 2.0);
2033  mMPF_mediumZPt_J_EndCap =
2034  ibooker.book1D("MPF_mediumZPt_J_EndCap", "Jet1_Pt/ZPt (90<pTZ<140), 1.3<|#eta_{jet}|<3.0", 50, 0., 2.0);
2035  mMPF_highZPt_J_EndCap =
2036  ibooker.book1D("MPF_highZPt_J_EndCap", "Jet1_Pt/ZPt (pTZ>140), 1.3<|#eta_{jet}|<3.0", 50, 0., 2.0);
2037  mMPF_lowZPt_J_Forward =
2038  ibooker.book1D("MPF_lowZPt_J_Forward", "Jet1_Pt/ZPt (30<pTZ<90), |#eta_{jet}|>3.0", 50, 0., 2.0);
2039  mMPF_mediumZPt_J_Forward =
2040  ibooker.book1D("MPF_mediumPt_J_Forward", "Jet1_Pt/ZPt (90<pTZ<140), |#eta_{jet}|>3.0", 50, 0., 2.0);
2041  mMPF_highZPt_J_Forward =
2042  ibooker.book1D("MPF_highZPt_J_Forward", "Jet1_Pt/ZPt (pTZ>140), |#eta_{jet}|>3.0", 50, 0., 2.0);
2043 
2044  map_of_MEs.insert(
2045  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_lowZPt_J_Barrel", mMPF_lowZPt_J_Barrel));
2046  map_of_MEs.insert(
2047  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_mediumZPt_J_Barrel", mMPF_mediumZPt_J_Barrel));
2048  map_of_MEs.insert(
2049  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_highZPt_J_Barrel", mMPF_highZPt_J_Barrel));
2050  map_of_MEs.insert(
2051  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_lowZPt_J_EndCap", mMPF_lowZPt_J_EndCap));
2052  map_of_MEs.insert(
2053  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_mediumZPt_J_EndCap", mMPF_mediumZPt_J_EndCap));
2054  map_of_MEs.insert(
2055  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_highZPt_J_EndCap", mMPF_highZPt_J_EndCap));
2056  map_of_MEs.insert(
2057  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_lowZPt_J_Forward", mMPF_lowZPt_J_Forward));
2058  map_of_MEs.insert(
2059  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_mediumZPt_J_Forward", mMPF_mediumZPt_J_Forward));
2060  map_of_MEs.insert(
2061  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_highZPt_J_Forward", mMPF_highZPt_J_Forward));
2062 
2063  mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel =
2064  ibooker.book1D("DeltaPt_Z_j1_over_ZPt_30_55_J_Barrel", "DeltaPt_Z_j1_over_ZPt_30_55_J_Barrel", 50, -1.00, 1.00);
2065  mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel =
2066  ibooker.book1D("DeltaPt_Z_j1_over_ZPt_55_75_J_Barrel", "DeltaPt_Z_j1_over_ZPt_55_75_J_Barrel", 50, -1.00, 1.00);
2067  mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel = ibooker.book1D(
2068  "DeltaPt_Z_j1_over_ZPt_75_150_J_Barrel", "DeltaPt_Z_j1_over_ZPt_75_150_J_Barrel", 50, -1.00, 1.00);
2069  mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel = ibooker.book1D(
2070  "DeltaPt_Z_j1_over_ZPt_150_290_J_Barrel", "DeltaPt_Z_j1_over_ZPt_150_290_J_Barrel", 50, -1.00, 1.00);
2071  mDeltaPt_Z_j1_over_ZPt_290_J_Barrel =
2072  ibooker.book1D("DeltaPt_Z_j1_over_ZPt_290_J_Barrel", "DeltaPt_Z_j1_over_ZPt_290_J_Barrel", 50, -1.00, 1.00);
2073  mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap =
2074  ibooker.book1D("DeltaPt_Z_j1_over_ZPt_30_55_J_EndCap", "DeltaPt_Z_j1_over_ZPt_30_55_J_EndCap", 50, -1.00, 1.00);
2075  mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap =
2076  ibooker.book1D("DeltaPt_Z_j1_over_ZPt_55_75_J_EndCap", "DeltaPt_Z_j1_over_ZPt_55_75_J_EndCap", 50, -1.00, 1.00);
2077  mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap = ibooker.book1D(
2078  "DeltaPt_Z_j1_over_ZPt_75_150_J_EndCap", "DeltaPt_Z_j1_over_ZPt_75_150_J_EndCap", 50, -1.00, 1.00);
2079  mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap = ibooker.book1D(
2080  "DeltaPt_Z_j1_over_ZPt_150_290_J_EndCap", "DeltaPt_Z_j1_over_ZPt_150_290_J_EndCap", 50, -1.00, 1.00);
2081  mDeltaPt_Z_j1_over_ZPt_290_J_EndCap =
2082  ibooker.book1D("DeltaPt_Z_j1_over_ZPt_290_J_EndCap", "DeltaPt_Z_j1_over_ZPt_290_J_EndCap", 50, -1.00, 1.00);
2083  mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward = ibooker.book1D(
2084  "DeltaPt_Z_j1_over_ZPt_30_55_J_Forward", "DeltaPt_Z_j1_over_ZPt_30_55_J_Forward", 50, -1.00, 1.00);
2085  mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward = ibooker.book1D(
2086  "DeltaPt_Z_j1_over_ZPt_55_100_J_Forward", "DeltaPt_Z_j1_over_ZPt_55_100_J_Forward", 50, -1.00, 1.00);
2087  mDeltaPt_Z_j1_over_ZPt_100_J_Forward =
2088  ibooker.book1D("DeltaPt_Z_j1_over_ZPt_100_J_Forward", "DeltaPt_Z_j1_over_ZPt_100_J_Forward", 50, -1.00, 1.00);
2089 
2090  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_30_55_J_Barrel",
2091  mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel));
2092  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_55_75_J_Barrel",
2093  mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel));
2094  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_75_150_J_Barrel",
2095  mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel));
2096  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_150_290_J_Barrel",
2097  mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel));
2098  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_290_J_Barrel",
2099  mDeltaPt_Z_j1_over_ZPt_290_J_Barrel));
2100  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_30_55_J_EndCap",
2101  mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap));
2102  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_55_75_J_EndCap",
2103  mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap));
2104  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_75_150_J_EndCap",
2105  mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap));
2106  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_150_290_J_EndCap",
2107  mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap));
2108  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_290_J_EndCap",
2109  mDeltaPt_Z_j1_over_ZPt_290_J_EndCap));
2110  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_30_55_J_Forward",
2111  mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward));
2112  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_55_100_J_Forward",
2113  mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward));
2114  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_100_J_Forward",
2115  mDeltaPt_Z_j1_over_ZPt_100_J_Forward));
2116  }
2117  // Book NPV profiles
2118  //----------------------------------------------------------------------------
2119  mPt_profile = ibooker.bookProfile("Pt_profile", "pt", nbinsPV_, nPVlow_, nPVhigh_, ptBin_, ptMin_, ptMax_);
2120  mEta_profile = ibooker.bookProfile("Eta_profile", "eta", nbinsPV_, nPVlow_, nPVhigh_, etaBin_, etaMin_, etaMax_);
2121  mPhi_profile = ibooker.bookProfile("Phi_profile", "phi", nbinsPV_, nPVlow_, nPVhigh_, phiBin_, phiMin_, phiMax_);
2122  //if(!isJPTJet_){
2123  mConstituents_profile =
2124  ibooker.bookProfile("Constituents_profile", "# of constituents", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
2125  //}
2126  // met NPV profiles x-axis title
2127  //----------------------------------------------------------------------------
2128  mPt_profile->setAxisTitle("nvtx", 1);
2129  mEta_profile->setAxisTitle("nvtx", 1);
2130  mPhi_profile->setAxisTitle("nvtx", 1);
2131  //if(!isJPTJet_){
2132  mConstituents_profile->setAxisTitle("nvtx", 1);
2133  map_of_MEs.insert(
2134  std::pair<std::string, MonitorElement*>(DirName + "/" + "Constituents_profile", mConstituents_profile));
2135  //}
2136 
2137  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_profile", mPt_profile));
2138  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta_profile", mEta_profile));
2139  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_profile", mPhi_profile));
2140  //
2141  //--- Calo jet melection only
2142 
2143  if (isCaloJet_) {
2144  mHFrac = ibooker.book1D("HFrac", "HFrac", 140, -0.2, 1.2);
2145  mEFrac = ibooker.book1D("EFrac", "EFrac", 140, -0.2, 1.2);
2146  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFrac", mHFrac));
2147  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EFrac", mEFrac));
2148 
2149  mHFrac_profile = ibooker.bookProfile("HFrac_profile", "HFrac", nbinsPV_, nPVlow_, nPVhigh_, 140, -0.2, 1.2);
2150  mEFrac_profile = ibooker.bookProfile("EFrac_profile", "EFrac", nbinsPV_, nPVlow_, nPVhigh_, 140, -0.2, 1.2);
2151  mHFrac_profile->setAxisTitle("nvtx", 1);
2152  mEFrac_profile->setAxisTitle("nvtx", 1);
2153  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFrac_profile", mHFrac_profile));
2154  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EFrac_profile", mEFrac_profile));
2155 
2156  // CaloJet specific
2157  //JetID variables
2158  mresEMF = ibooker.book1D("resEMF", "resEMF", 50, 0., 1.);
2159  mN90Hits = ibooker.book1D("N90Hits", "N90Hits", 50, 0., 100);
2160  mfHPD = ibooker.book1D("fHPD", "fHPD", 50, 0., 1.);
2161  mfRBX = ibooker.book1D("fRBX", "fRBX", 50, 0., 1.);
2162 
2163  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "resEMF", mresEMF));
2164  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "N90Hits", mN90Hits));
2165  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "fHPD", mfHPD));
2166  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "fRBX", mfRBX));
2167  }
2168 
2169  if (isPFJet_ || isMiniAODJet_) {
2170  //barrel histograms for PFJets
2171  // energy fractions
2172  mCHFrac = ibooker.book1D("CHFrac", "CHFrac", 120, -0.1, 1.1);
2173  mNHFrac = ibooker.book1D("NHFrac", "NHFrac", 120, -0.1, 1.1);
2174  mPhFrac = ibooker.book1D("PhFrac", "PhFrac", 120, -0.1, 1.1);
2175  mHFEMFrac = ibooker.book1D("HFEMFrac", "HFEMFrac", 120, -0.1, 1.1);
2176  mHFHFrac = ibooker.book1D("HFHFrac", "HFHFrac", 120, -0.1, 1.1);
2177 
2178  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFrac", mCHFrac));
2179  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFrac", mNHFrac));
2180  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFrac", mPhFrac));
2181  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEMFrac", mHFEMFrac));
2182  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFrac", mHFHFrac));
2183 
2184  // Book NPV profiles
2185  //----------------------------------------------------------------------------
2186  mCHFrac_profile =
2187  ibooker.bookProfile("CHFrac_profile", "charged HAD fraction profile", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 1);
2188  mNHFrac_profile =
2189  ibooker.bookProfile("NHFrac_profile", "neutral HAD fraction profile", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 1);
2190  mPhFrac_profile =
2191  ibooker.bookProfile("PhFrac_profile", "Photon Fraction Profile", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 1);
2192  mHFEMFrac_profile = ibooker.bookProfile(
2193  "HFEMFrac_profile", "HF electomagnetic fraction Profile", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 1);
2194  mHFHFrac_profile =
2195  ibooker.bookProfile("HFHFrac_profile", "HF hadronic fraction profile", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 1);
2196 
2197  // met NPV profiles x-axis title
2198  //----------------------------------------------------------------------------
2199  mCHFrac_profile->setAxisTitle("nvtx", 1);
2200  mNHFrac_profile->setAxisTitle("nvtx", 1);
2201  mPhFrac_profile->setAxisTitle("nvtx", 1);
2202  mHFEMFrac_profile->setAxisTitle("nvtx", 1);
2203  mHFHFrac_profile->setAxisTitle("nvtx", 1);
2204 
2205  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFrac_profile", mCHFrac_profile));
2206  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFrac_profile", mNHFrac_profile));
2207  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFrac_profile", mPhFrac_profile));
2208  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEMFrac_profile", mHFEMFrac_profile));
2209  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFrac_profile", mHFHFrac_profile));
2210  }
2211 }
2212 
2213 // ***********************************************************
2214 void JetAnalyzer::dqmBeginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) {
2215  //LogDebug("JetAnalyzer") << "beginRun, run " << run.id();
2216  //
2217 
2218  if (highPtJetEventFlag_->on())
2219  highPtJetEventFlag_->initRun(iRun, iSetup);
2220  if (lowPtJetEventFlag_->on())
2221  lowPtJetEventFlag_->initRun(iRun, iSetup);
2222 
2223  if (highPtJetEventFlag_->on() &&
2224  highPtJetEventFlag_->expressionsFromDB(highPtJetEventFlag_->hltDBKey(), iSetup)[0] != "CONFIG_ERROR")
2225  highPtJetExpr_ = highPtJetEventFlag_->expressionsFromDB(highPtJetEventFlag_->hltDBKey(), iSetup);
2226  if (lowPtJetEventFlag_->on() &&
2227  lowPtJetEventFlag_->expressionsFromDB(lowPtJetEventFlag_->hltDBKey(), iSetup)[0] != "CONFIG_ERROR")
2228  lowPtJetExpr_ = lowPtJetEventFlag_->expressionsFromDB(lowPtJetEventFlag_->hltDBKey(), iSetup);
2229  // if (!jetCorrectionService_.empty()){
2230  // energycorrected=true;
2231  // }
2232  //--- htlConfig_
2233  //processname_="HLT";
2234  bool changed(true);
2235  hltInitialized_ = hltConfig_.init(iRun, iSetup, processname_, changed);
2236  if (!hltInitialized_) {
2237  //if (!hltConfig_.init(iRun,iSetup,processname_,changed)) {
2238  processname_ = "FU";
2239  hltInitialized_ = hltConfig_.init(iRun, iSetup, processname_, changed);
2240  if (!hltInitialized_) {
2241  //if (!hltConfig_.init(iRun,iSetup,processname_,changed)){
2242  LogDebug("JetAnalyzer") << "HLTConfigProvider failed to initialize.";
2243  }
2244  }
2245 
2246  const L1GtTriggerMenu* menu = &iSetup.getData(l1gtTrigMenuToken_);
2247  for (CItAlgo techTrig = menu->gtTechnicalTriggerMap().begin(); techTrig != menu->gtTechnicalTriggerMap().end();
2248  ++techTrig) {
2249  if ((techTrig->second).algoName() == m_l1algoname_) {
2250  m_bitAlgTechTrig_ = (techTrig->second).algoBitNumber();
2251  break;
2252  }
2253  }
2254 }
2255 
2256 // ***********************************************************
2258  //set general folders first --> change later on for different folders
2259  if (jetCleaningFlag_) {
2260  //dbe_->setCurrentFolder("JetMET/Jet/Cleaned"+mInputCollection_.label());
2261  DirName = "JetMET/Jet/Cleaned" + mInputCollection_.label();
2262  } else {
2263  //dbe_->setCurrentFolder("JetMET/Jet/Uncleaned"+mInputCollection_.label());
2264  DirName = "JetMET/Jet/Uncleaned" + mInputCollection_.label();
2265  }
2266 
2267  Handle<ValueMap<float> > puJetIdMva;
2268  Handle<ValueMap<int> > puJetIdFlagMva;
2269  Handle<ValueMap<float> > puJetId;
2270  Handle<ValueMap<int> > puJetIdFlag;
2271 
2272  Handle<ValueMap<int> > qgMultiplicity;
2273  Handle<ValueMap<float> > qgLikelihood;
2274  Handle<ValueMap<float> > qgptD;
2275  Handle<ValueMap<float> > qgaxis2;
2276 
2277  //should insure we have a PFJet in with CHS
2278  if (fill_CHS_histos) {
2279  iEvent.getByToken(qgMultiplicityToken_, qgMultiplicity);
2280  iEvent.getByToken(qgLikelihoodToken_, qgLikelihood);
2281  iEvent.getByToken(qgptDToken_, qgptD);
2282  iEvent.getByToken(qgaxis2Token_, qgaxis2);
2283  }
2284 
2285  if (!isMiniAODJet_) {
2286  iEvent.getByToken(mvaPUIDToken_, puJetIdFlagMva);
2287  iEvent.getByToken(cutBasedPUDiscriminantToken_, puJetId);
2288  iEvent.getByToken(cutBasedPUIDToken_, puJetIdFlag);
2289  iEvent.getByToken(mvaFullPUDiscriminantToken_, puJetIdMva);
2290  }
2291 
2292  // **** Get the TriggerResults container
2294  iEvent.getByToken(triggerResultsToken_, triggerResults);
2295 
2296  Int_t JetLoPass = 0;
2297  Int_t JetHiPass = 0;
2298 
2299  if (triggerResults.isValid()) {
2300  const edm::TriggerNames& triggerNames = iEvent.triggerNames(*triggerResults);
2301 
2302  const unsigned int nTrig(triggerNames.size());
2303  for (unsigned int i = 0; i < nTrig; ++i) {
2304  if (triggerNames.triggerName(i).find(highPtJetExpr_[0].substr(0, highPtJetExpr_[0].rfind("_v") + 2)) !=
2305  std::string::npos &&
2306  triggerResults->accept(i))
2307  JetHiPass = 1;
2308  else if (triggerNames.triggerName(i).find(lowPtJetExpr_[0].substr(0, lowPtJetExpr_[0].rfind("_v") + 2)) !=
2309  std::string::npos &&
2310  triggerResults->accept(i))
2311  JetLoPass = 1;
2312  }
2313  }
2314 
2315  if (verbose_)
2316  std::cout << "trigger label " << theTriggerResultsLabel_ << std::endl;
2317 
2318  if (verbose_) {
2319  std::cout << ">>> Trigger Lo = " << JetLoPass << " Hi = " << JetHiPass << std::endl;
2320  }
2321 
2322  // ==========================================================
2323  //Vertex information
2324  Handle<VertexCollection> vertexHandle;
2325  iEvent.getByToken(vertexToken_, vertexHandle);
2326 
2327  if (!vertexHandle.isValid()) {
2328  LogDebug("") << "CaloMETAnalyzer: Could not find vertex collection" << std::endl;
2329  if (verbose_)
2330  std::cout << "CaloMETAnalyzer: Could not find vertex collection" << std::endl;
2331  }
2332  int numPV = 0;
2333  if (vertexHandle.isValid()) {
2334  VertexCollection vertexCollection = *(vertexHandle.product());
2335  numPV = vertexCollection.size();
2336  }
2337  bool bPrimaryVertex = (bypassAllPVChecks_ || (numPV > 0));
2338  if (fill_jet_high_level_histo) { //should be filled for all events, no selection up to this point
2339  verticesME = map_of_MEs["JetMET/vertices"];
2340  if (verticesME && verticesME->getRootObject())
2341  verticesME->Fill(numPV);
2342  }
2343  // ==========================================================
2345  iEvent.getByToken(gtToken_, gtReadoutRecord);
2346 
2347  if (!gtReadoutRecord.isValid()) {
2348  LogInfo("JetAnalyzer") << "JetAnalyzer: Could not find GT readout record" << std::endl;
2349  if (verbose_)
2350  std::cout << "JetAnalyzer: Could not find GT readout record product" << std::endl;
2351  }
2352 
2353  //bool techTriggerResultBxE = false;
2354  bool techTriggerResultBxF = false;
2355  bool techTriggerResultBx0 = false;
2356 
2357  if (!gtReadoutRecord.isValid()) {
2358  LogDebug("") << "CaloMETAnalyzer: Could not find GT readout record" << std::endl;
2359  if (verbose_)
2360  std::cout << "CaloMETAnalyzer: Could not find GT readout record product" << std::endl;
2361  } else {
2362  // trigger results before mask for BxInEvent -2 (E), -1 (F), 0 (L1A), 1, 2
2363  //const TechnicalTriggerWord& technicalTriggerWordBeforeMaskBxE = gtReadoutRecord->technicalTriggerWord(-2);
2364  const TechnicalTriggerWord& technicalTriggerWordBeforeMaskBxF = gtReadoutRecord->technicalTriggerWord(-1);
2365  const TechnicalTriggerWord& technicalTriggerWordBeforeMaskBx0 = gtReadoutRecord->technicalTriggerWord();
2366  //const TechnicalTriggerWord& technicalTriggerWordBeforeMaskBxG = gtReadoutRecord->technicalTriggerWord(1);
2367  //const TechnicalTriggerWord& technicalTriggerWordBeforeMaskBxH = gtReadoutRecord->technicalTriggerWord(2);
2368  if (m_bitAlgTechTrig_ > -1 && !technicalTriggerWordBeforeMaskBx0.empty()) {
2369  techTriggerResultBx0 = technicalTriggerWordBeforeMaskBx0.at(m_bitAlgTechTrig_);
2370  if (techTriggerResultBx0 != 0) {
2371  //techTriggerResultBxE = technicalTriggerWordBeforeMaskBxE.at(m_bitAlgTechTrig_);
2372  techTriggerResultBxF = technicalTriggerWordBeforeMaskBxF.at(m_bitAlgTechTrig_);
2373  }
2374  }
2375  }
2376 
2377  DCSFilterForDCSMonitoring_->filter(iEvent, iSetup);
2378  if (fill_jet_high_level_histo) { //should be filled only once
2379  cleanupME = map_of_MEs["JetMET/cleanup"];
2380  if (cleanupME && cleanupME->getRootObject()) {
2381  if (bPrimaryVertex)
2382  cleanupME->Fill(0.5);
2383  if (DCSFilterForDCSMonitoring_->passPIX)
2384  cleanupME->Fill(1.5);
2385  if (DCSFilterForDCSMonitoring_->passSiStrip)
2386  cleanupME->Fill(2.5);
2387  if (DCSFilterForDCSMonitoring_->passECAL)
2388  cleanupME->Fill(3.5);
2389  if (DCSFilterForDCSMonitoring_->passES)
2390  cleanupME->Fill(4.5);
2391  if (DCSFilterForDCSMonitoring_->passHBHE)
2392  cleanupME->Fill(5.5);
2393  if (DCSFilterForDCSMonitoring_->passHF)
2394  cleanupME->Fill(6.5);
2395  if (DCSFilterForDCSMonitoring_->passHO)
2396  cleanupME->Fill(7.5);
2397  if (DCSFilterForDCSMonitoring_->passMuon)
2398  cleanupME->Fill(8.5);
2399  }
2400  }
2405  edm::Handle<PFJetCollection> puppiJets;
2406 
2408 
2409  bool pass_Z_selection = false;
2411 
2412  int mu_index0 = -1;
2413  int mu_index1 = -1;
2414 
2415  if (isCaloJet_)
2416  iEvent.getByToken(caloJetsToken_, caloJets);
2417  //if (isJPTJet_) iEvent.getByToken(jptJetsToken_, jptJets);
2418  if (isPFJet_) {
2419  iEvent.getByToken(pfJetsToken_, pfJets);
2420  iEvent.getByToken(MuonsToken_, Muons);
2421  double pt0 = -1;
2422  double pt1 = -1;
2423  //fill it only for cleaned jets
2424  if (jetCleaningFlag_ && Muons.isValid() && Muons->size() > 1) {
2425  for (unsigned int i = 0; i < Muons->size(); i++) {
2426  bool pass_muon_id = false;
2427  bool pass_muon_iso = false;
2428  double dxy = fabs((*Muons)[i].muonBestTrack()->dxy());
2429  double dz = fabs((*Muons)[i].muonBestTrack()->dz());
2430  if (numPV > 0) {
2431  dxy = fabs((*Muons)[i].muonBestTrack()->dxy((*vertexHandle)[0].position()));
2432  dz = fabs((*Muons)[i].muonBestTrack()->dz((*vertexHandle)[0].position()));
2433  }
2434  if ((*Muons)[i].pt() > 20 && fabs((*Muons)[i].eta()) < 2.3) {
2435  if ((*Muons)[i].isGlobalMuon() && (*Muons)[i].isPFMuon() &&
2436  (*Muons)[i].globalTrack()->hitPattern().numberOfValidMuonHits() > 0 &&
2437  (*Muons)[i].numberOfMatchedStations() > 1 && dxy < 0.2 && (*Muons)[i].numberOfMatchedStations() > 1 &&
2438  dz < 0.5 && (*Muons)[i].innerTrack()->hitPattern().numberOfValidPixelHits() > 0 &&
2439  (*Muons)[i].innerTrack()->hitPattern().trackerLayersWithMeasurement() > 5) {
2440  pass_muon_id = true;
2441  }
2442  // Muon pf isolation DB corrected
2443  float muonIsoPFdb =
2444  ((*Muons)[i].pfIsolationR04().sumChargedHadronPt +
2445  std::max(0.,
2446  (*Muons)[i].pfIsolationR04().sumNeutralHadronEt + (*Muons)[i].pfIsolationR04().sumPhotonEt -
2447  0.5 * (*Muons)[i].pfIsolationR04().sumPUPt)) /
2448  (*Muons)[i].pt();
2449  if (muonIsoPFdb < 0.12) {
2450  pass_muon_iso = true;
2451  }
2452 
2453  if (pass_muon_id && pass_muon_iso) {
2454  if ((*Muons)[i].pt() > pt0) {
2455  mu_index1 = mu_index0;
2456  pt1 = pt0;
2457  mu_index0 = i;
2458  pt0 = (*Muons)[i].pt();
2459  } else if ((*Muons)[i].pt() > pt1) {
2460  mu_index1 = i;
2461  pt1 = (*Muons)[i].pt();
2462  }
2463  }
2464  }
2465  }
2466  if (mu_index0 >= 0 && mu_index1 >= 0) {
2467  if ((*Muons)[mu_index0].charge() * (*Muons)[mu_index1].charge() < 0) {
2468  zCand = (*Muons)[mu_index0].polarP4() + (*Muons)[mu_index1].polarP4();
2469  if (fabs(zCand.M() - 91.) < 20 && zCand.Pt() > 30) {
2470  pass_Z_selection = true;
2471  }
2472  }
2473  }
2474  }
2475  }
2476  if (isPUPPIJet_) {
2477  iEvent.getByToken(puppiJetsToken_, puppiJets);
2478  double pt0 = -1;
2479  double pt1 = -1;
2480  //fill it only for cleaned jets
2481  if (jetCleaningFlag_ && Muons.isValid() && Muons->size() > 1) {
2482  for (unsigned int i = 0; i < Muons->size(); i++) {
2483  bool pass_muon_id = false;
2484  bool pass_muon_iso = false;
2485  double dxy = fabs((*Muons)[i].muonBestTrack()->dxy());
2486  double dz = fabs((*Muons)[i].muonBestTrack()->dz());
2487  if (numPV > 0) {
2488  dxy = fabs((*Muons)[i].muonBestTrack()->dxy((*vertexHandle)[0].position()));
2489  dz = fabs((*Muons)[i].muonBestTrack()->dz((*vertexHandle)[0].position()));
2490  }
2491  if ((*Muons)[i].pt() > 20 && fabs((*Muons)[i].eta()) < 2.3) {
2492  if ((*Muons)[i].isGlobalMuon() && (*Muons)[i].isPFMuon() &&
2493  (*Muons)[i].globalTrack()->hitPattern().numberOfValidMuonHits() > 0 &&
2494  (*Muons)[i].numberOfMatchedStations() > 1 && dxy < 0.2 && (*Muons)[i].numberOfMatchedStations() > 1 &&
2495  dz < 0.5 && (*Muons)[i].innerTrack()->hitPattern().numberOfValidPixelHits() > 0 &&
2496  (*Muons)[i].innerTrack()->hitPattern().trackerLayersWithMeasurement() > 5) {
2497  pass_muon_id = true;
2498  }
2499  // Muon pf isolation DB corrected
2500  float muonIsoPFdb =
2501  ((*Muons)[i].pfIsolationR04().sumChargedHadronPt +
2502  std::max(0.,
2503  (*Muons)[i].pfIsolationR04().sumNeutralHadronEt + (*Muons)[i].pfIsolationR04().sumPhotonEt -
2504  0.5 * (*Muons)[i].pfIsolationR04().sumPUPt)) /
2505  (*Muons)[i].pt();
2506  if (muonIsoPFdb < 0.12) {
2507  pass_muon_iso = true;
2508  }
2509 
2510  if (pass_muon_id && pass_muon_iso) {
2511  if ((*Muons)[i].pt() > pt0) {
2512  mu_index1 = mu_index0;
2513  pt1 = pt0;
2514  mu_index0 = i;
2515  pt0 = (*Muons)[i].pt();
2516  } else if ((*Muons)[i].pt() > pt1) {
2517  mu_index1 = i;
2518  pt1 = (*Muons)[i].pt();
2519  }
2520  }
2521  }
2522  }
2523  if (mu_index0 >= 0 && mu_index1 >= 0) {
2524  if ((*Muons)[mu_index0].charge() * (*Muons)[mu_index1].charge() < 0) {
2525  zCand = (*Muons)[mu_index0].polarP4() + (*Muons)[mu_index1].polarP4();
2526  if (fabs(zCand.M() - 91.) < 20 && zCand.Pt() > 30) {
2527  pass_Z_selection = true;
2528  }
2529  }
2530  }
2531  }
2532  }
2533  if (isMiniAODJet_)
2534  iEvent.getByToken(patJetsToken_, patJets);
2535 
2536  edm::Handle<edm::ValueMap<reco::JetID> > jetID_ValueMap_Handle;
2537  if (/*isJPTJet_ || */ isCaloJet_) {
2538  if (!runcosmics_) {
2539  iEvent.getByToken(jetID_ValueMapToken_, jetID_ValueMap_Handle);
2540  }
2541  }
2542 
2543  //check for collections AND DCS filters
2544  bool dcsDecision = DCSFilterForJetMonitoring_->filter(iEvent, iSetup);
2545  bool jetCollectionIsValid = false;
2546  if (isCaloJet_)
2547  jetCollectionIsValid = caloJets.isValid();
2548  //if (isJPTJet_) jetCollectionIsValid = jptJets.isValid();
2549  if (isPFJet_)
2550  jetCollectionIsValid = pfJets.isValid();
2551  if (isPUPPIJet_)
2552  jetCollectionIsValid = puppiJets.isValid();
2553  if (isMiniAODJet_)
2554  jetCollectionIsValid = patJets.isValid();
2555 
2556  if (jetCleaningFlag_ && (!jetCollectionIsValid || !bPrimaryVertex || !dcsDecision))
2557  return;
2558 
2559  unsigned int collSize = -1;
2560  if (isCaloJet_)
2561  collSize = caloJets->size();
2562  //if (isJPTJet_) {
2563  //collSize=jptJets->size();
2564  //if(collSize>0){
2565  // //update the track propagator and strip noise calculator
2566  // trackPropagator_->update(iSetup);
2567  // //sOverNCalculator_->update(iSetup);
2568  //}
2569  //}
2570  if (isPFJet_)
2571  collSize = pfJets->size();
2572  if (isMiniAODJet_)
2573  collSize = patJets->size();
2574  if (isPUPPIJet_) {
2575  collSize = puppiJets->size();
2576  }
2577 
2578  double scale = -1;
2579  //now start changes for jets
2580  std::vector<Jet> corJets;
2581  corJets.clear();
2582 
2583  //maybe not most elegant solution, but works for sure
2584  int ind1 = -1;
2585  double pt1 = -1;
2586  int ind2 = -1;
2587  double pt2 = -1;
2588  int ind3 = -1;
2589  double pt3 = -1;
2590 
2591  bool cleaned_first_jet = false;
2592  bool cleaned_second_jet = false;
2593  //bool cleaned_third_jet=false;
2594  //for ZJets selection check for muon jet overlap
2595  int ind1_mu_vetoed = -1;
2596  double pt1_mu_vetoed = -1;
2597  int ind2_mu_vetoed = -1;
2598  double pt2_mu_vetoed = -1;
2599  bool cleaned_first_jet_mu_vetoed = false;
2600  bool cleaned_second_jet_mu_vetoed = false;
2601 
2602  //now start changes for jets
2603  std::vector<Jet> recoJets;
2604  recoJets.clear();
2605 
2606  int numofjets = 0;
2607 
2609  bool pass_correction_flag = false;
2610  if (!isMiniAODJet_ && !jetCorrectorTag_.label().empty()) {
2611  iEvent.getByToken(jetCorrectorToken_, jetCorr);
2612  if (jetCorr.isValid()) {
2613  pass_correction_flag = true;
2614  }
2615  }
2616  if (isMiniAODJet_) {
2617  pass_correction_flag = true;
2618  }
2619 
2620  for (unsigned int ijet = 0; ijet < collSize; ijet++) {
2621  //bool thiscleaned=false;
2622  Jet correctedJet;
2623  bool pass_uncorrected = false;
2624  bool pass_corrected = false;
2625  if (isCaloJet_) {
2626  correctedJet = (*caloJets)[ijet];
2627  }
2628  //if (isJPTJet_){
2629  //correctedJet=(*jptJets)[ijet];
2630  //}
2631  if (isPFJet_) {
2632  correctedJet = (*pfJets)[ijet];
2633  }
2634  if (isPUPPIJet_) {
2635  correctedJet = (*puppiJets)[ijet];
2636  }
2637  if (isMiniAODJet_) {
2638  correctedJet = (*patJets)[ijet];
2639  }
2640  if (!isMiniAODJet_ && correctedJet.pt() > ptThresholdUnc_) {
2641  pass_uncorrected = true;
2642  }
2643  if (isMiniAODJet_ && (correctedJet.pt() * (*patJets)[ijet].jecFactor("Uncorrected")) > ptThresholdUnc_) {
2644  pass_uncorrected = true;
2645  }
2646  if (pass_correction_flag && !isMiniAODJet_) {
2647  if (isCaloJet_) {
2648  scale = jetCorr->correction((*caloJets)[ijet]);
2649  }
2650  if (isPFJet_) {
2651  scale = jetCorr->correction((*pfJets)[ijet]);
2652  }
2653  correctedJet.scaleEnergy(scale);
2654  }
2655  if (correctedJet.pt() > ptThreshold_) {
2656  pass_corrected = true;
2657  }
2658  //if (!pass_corrected && !pass_uncorrected) continue;
2659  //remove the continue line, for physics selections we might losen the pt-thresholds as we care only about leading jets
2660  //fill only corrected jets -> check ID for uncorrected jets
2661  if (pass_corrected) {
2662  recoJets.push_back(correctedJet);
2663  }
2664  bool jetpassid = true;
2665  bool Thiscleaned = true;
2666  bool JetIDWPU = true;
2667  //jet ID for calojets
2668  if (isCaloJet_) {
2669  reco::CaloJetRef calojetref(caloJets, ijet);
2670  if (!runcosmics_) {
2671  reco::JetID jetID = (*jetID_ValueMap_Handle)[calojetref];
2672  jetpassid = jetIDFunctor((*caloJets)[ijet], jetID);
2673  JetIDWPU = jetpassid;
2674  if (jetCleaningFlag_) {
2675  Thiscleaned = jetpassid;
2676  }
2677  if (Thiscleaned && pass_corrected) { //if cleaning requested->jet passes a loose ID
2678  mN90Hits = map_of_MEs[DirName + "/" + "N90Hits"];
2679  if (mN90Hits && mN90Hits->getRootObject())
2680  mN90Hits->Fill(jetID.n90Hits);
2681  mfHPD = map_of_MEs[DirName + "/" + "fHPD"];
2682  if (mfHPD && mfHPD->getRootObject())
2683  mfHPD->Fill(jetID.fHPD);
2684  mresEMF = map_of_MEs[DirName + "/" + "resEMF"];
2685  if (mresEMF && mresEMF->getRootObject())
2686  mresEMF->Fill(jetID.restrictedEMF);
2687  mfRBX = map_of_MEs[DirName + "/" + "fRBX"];
2688  if (mfRBX && mfRBX->getRootObject())
2689  mfRBX->Fill(jetID.fRBX);
2690  }
2691  }
2692  if (jetCleaningFlag_) {
2693  Thiscleaned = jetpassid;
2694  }
2695  if (Thiscleaned && pass_uncorrected) {
2696  mPt_uncor = map_of_MEs[DirName + "/" + "Pt_uncor"];
2697  if (mPt_uncor && mPt_uncor->getRootObject())
2698  mPt_uncor->Fill((*caloJets)[ijet].pt());
2699  mEta_uncor = map_of_MEs[DirName + "/" + "Eta_uncor"];
2700  if (mEta_uncor && mEta_uncor->getRootObject())
2701  mEta_uncor->Fill((*caloJets)[ijet].eta());
2702  mPhi_uncor = map_of_MEs[DirName + "/" + "Phi_uncor"];
2703  if (mPhi_uncor && mPhi_uncor->getRootObject())
2704  mPhi_uncor->Fill((*caloJets)[ijet].phi());
2705  mConstituents_uncor = map_of_MEs[DirName + "/" + "Constituents_uncor"];
2706  if (mConstituents_uncor && mConstituents_uncor->getRootObject())
2707  mConstituents_uncor->Fill((*caloJets)[ijet].nConstituents());
2708  }
2709  //now do calojet specific fractions and histograms ->H and E fracs
2710  if (Thiscleaned && pass_corrected) { //if cleaning requested->jet passes a loose ID
2711  mHFrac = map_of_MEs[DirName + "/" + "HFrac"];
2712  if (mHFrac && mHFrac->getRootObject())
2713  mHFrac->Fill((*caloJets)[ijet].energyFractionHadronic());
2714  mEFrac = map_of_MEs[DirName + "/" + "EFrac"];
2715  if (mEFrac && mHFrac->getRootObject())
2716  mEFrac->Fill((*caloJets)[ijet].emEnergyFraction());
2717  mHFrac_profile = map_of_MEs[DirName + "/" + "HFrac_profile"];
2718  if (mHFrac_profile && mHFrac_profile->getRootObject())
2719  mHFrac_profile->Fill(numPV, (*caloJets)[ijet].energyFractionHadronic());
2720  mEFrac_profile = map_of_MEs[DirName + "/" + "EFrac_profile"];
2721  if (mEFrac_profile && mEFrac_profile->getRootObject())
2722  mEFrac_profile->Fill(numPV, (*caloJets)[ijet].emEnergyFraction());
2723  if (fabs((*caloJets)[ijet].eta()) <= 1.3) {
2724  mHFrac_Barrel = map_of_MEs[DirName + "/" + "HFrac_Barrel"];
2725  if (mHFrac_Barrel && mHFrac_Barrel->getRootObject())
2726  mHFrac_Barrel->Fill((*caloJets)[ijet].energyFractionHadronic());
2727  mEFrac_Barrel = map_of_MEs[DirName + "/" + "EFrac_Barrel"];
2728  if (mEFrac_Barrel && mEFrac_Barrel->getRootObject())
2729  mEFrac_Barrel->Fill((*caloJets)[ijet].emEnergyFraction());
2730  } else if (fabs((*caloJets)[ijet].eta()) < 3.0) {
2731  mHFrac_EndCap = map_of_MEs[DirName + "/" + "HFrac_EndCap"];
2732  if (mHFrac_EndCap && mHFrac_EndCap->getRootObject())
2733  mHFrac_EndCap->Fill((*caloJets)[ijet].energyFractionHadronic());
2734  mEFrac_EndCap = map_of_MEs[DirName + "/" + "EFrac_EndCap"];
2735  if (mEFrac_EndCap && mEFrac_EndCap->getRootObject())
2736  mEFrac_EndCap->Fill((*caloJets)[ijet].emEnergyFraction());
2737  } else {
2738  mHFrac_Forward = map_of_MEs[DirName + "/" + "HFrac_Forward"];
2739  if (mHFrac_Forward && mHFrac_Forward->getRootObject())
2740  mHFrac_Forward->Fill((*caloJets)[ijet].energyFractionHadronic());
2741  mEFrac_Forward = map_of_MEs[DirName + "/" + "EFrac_Forward"];
2742  if (mEFrac_Forward && mEFrac_Forward->getRootObject())
2743  mEFrac_Forward->Fill((*caloJets)[ijet].emEnergyFraction());
2744  }
2745  mHadEnergyInHO = map_of_MEs[DirName + "/" + "HadEnergyInHO"];
2746  if (mHadEnergyInHO && mHadEnergyInHO->getRootObject())
2747  mHadEnergyInHO->Fill((*caloJets)[ijet].hadEnergyInHO());
2748  mHadEnergyInHB = map_of_MEs[DirName + "/" + "HadEnergyInHB"];
2749  if (mHadEnergyInHB && mHadEnergyInHB->getRootObject())
2750  mHadEnergyInHB->Fill((*caloJets)[ijet].hadEnergyInHB());
2751  mHadEnergyInHF = map_of_MEs[DirName + "/" + "HadEnergyInHF"];
2752  if (mHadEnergyInHF && mHadEnergyInHF->getRootObject())
2753  mHadEnergyInHF->Fill((*caloJets)[ijet].hadEnergyInHF());
2754  mHadEnergyInHE = map_of_MEs[DirName + "/" + "HadEnergyInHE"];
2755  if (mHadEnergyInHE && mHadEnergyInHE->getRootObject())
2756  mHadEnergyInHE->Fill((*caloJets)[ijet].hadEnergyInHE());
2757  mEmEnergyInEB = map_of_MEs[DirName + "/" + "EmEnergyInEB"];
2758  if (mEmEnergyInEB && mEmEnergyInEB->getRootObject())
2759  mEmEnergyInEB->Fill((*caloJets)[ijet].emEnergyInEB());
2760  mEmEnergyInEE = map_of_MEs[DirName + "/" + "EmEnergyInEE"];
2761  if (mEmEnergyInEE && mEmEnergyInEE->getRootObject())
2762  mEmEnergyInEE->Fill((*caloJets)[ijet].emEnergyInEE());
2763  mEmEnergyInHF = map_of_MEs[DirName + "/" + "EmEnergyInHF"];
2764  if (mEmEnergyInHF && mEmEnergyInHF->getRootObject())
2765  mEmEnergyInHF->Fill((*caloJets)[ijet].emEnergyInHF());
2766  }
2767  }
2768  if (isMiniAODJet_ && (*patJets)[ijet].isPFJet()) {
2769  // You can't check the jet ID without the specifics. If they were dropped for space savings,
2770  // don't monitor this jet.
2771  if (!(*patJets)[ijet].hasPFSpecific())
2772  continue;
2773 
2774  pat::strbitset stringbitset = pfjetIDFunctor.getBitTemplate();
2775  jetpassid = pfjetIDFunctor((*patJets)[ijet], stringbitset);
2776  if (jetCleaningFlag_) {
2777  Thiscleaned = jetpassid;
2778  JetIDWPU = jetpassid;
2779  }
2780  if (Thiscleaned && pass_uncorrected) {
2781  mPt_uncor = map_of_MEs[DirName + "/" + "Pt_uncor"];
2782  if (mPt_uncor && mPt_uncor->getRootObject())
2783  if (mPt_uncor)
2784  mPt_uncor->Fill((*patJets)[ijet].pt() * (*patJets)[ijet].jecFactor("Uncorrected"));
2785  mEta_uncor = map_of_MEs[DirName + "/" + "Eta_uncor"];
2786  if (mEta_uncor && mEta_uncor->getRootObject())
2787  if (mEta_uncor)
2788  mEta_uncor->Fill((*patJets)[ijet].eta());
2789  mPhi_uncor = map_of_MEs[DirName + "/" + "Phi_uncor"];
2790  if (mPhi_uncor && mPhi_uncor->getRootObject())
2791  if (mPhi_uncor)
2792  mPhi_uncor->Fill((*patJets)[ijet].phi());
2793  mConstituents_uncor = map_of_MEs[DirName + "/" + "Constituents_uncor"];
2794  if (mConstituents_uncor && mConstituents_uncor->getRootObject())
2795  if (mConstituents_uncor)
2796  mConstituents_uncor->Fill((*patJets)[ijet].nConstituents());
2797  }
2798  if (Thiscleaned && pass_corrected) {
2799  mPt_CaloJet = map_of_MEs[DirName + "/" + "Pt_CaloJet"];
2800  if (mPt_CaloJet && mPt_CaloJet->getRootObject() && (*patJets)[ijet].hasUserFloat("caloJetMap:pt"))
2801  mPt_CaloJet->Fill((*patJets)[ijet].userFloat("caloJetMap:pt"));
2802  mEMF_CaloJet = map_of_MEs[DirName + "/" + "EMF_CaloJet"];
2803  if (mEMF_CaloJet && mEMF_CaloJet->getRootObject() &&
2804  (*patJets)[ijet].hasUserFloat("caloJetMap:emEnergyFraction"))
2805  mEMF_CaloJet->Fill((*patJets)[ijet].userFloat("caloJetMap:emEnergyFraction"));
2806  if (fabs(correctedJet.eta()) <= 1.3) {
2807  if (correctedJet.pt() <= 50.) {
2808  mMVAPUJIDDiscriminant_lowPt_Barrel = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_lowPt_Barrel"];
2809  if (mMVAPUJIDDiscriminant_lowPt_Barrel && mMVAPUJIDDiscriminant_lowPt_Barrel->getRootObject()) {
2810  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2811  mMVAPUJIDDiscriminant_lowPt_Barrel->Fill((*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2812  }
2813  }
2814  if (correctedJet.pt() > 50. && correctedJet.pt() <= 140.) {
2815  mMVAPUJIDDiscriminant_mediumPt_Barrel = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_Barrel"];
2816  if (mMVAPUJIDDiscriminant_mediumPt_Barrel && mMVAPUJIDDiscriminant_mediumPt_Barrel->getRootObject()) {
2817  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2818  mMVAPUJIDDiscriminant_mediumPt_Barrel->Fill((*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2819  }
2820  }
2821  if (correctedJet.pt() > 140.) {
2822  mMVAPUJIDDiscriminant_highPt_Barrel = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_highPt_Barrel"];
2823  if (mMVAPUJIDDiscriminant_highPt_Barrel && mMVAPUJIDDiscriminant_highPt_Barrel->getRootObject()) {
2824  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2825  mMVAPUJIDDiscriminant_highPt_Barrel->Fill((*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2826  }
2827  }
2828  mMass_Barrel = map_of_MEs[DirName + "/" + "JetMass_Barrel"];
2829  if (mMass_Barrel && mMass_Barrel->getRootObject())
2830  mMass_Barrel->Fill((*patJets)[ijet].mass());
2831  mCHFracVSpT_Barrel = map_of_MEs[DirName + "/" + "CHFracVSpT_Barrel"];
2832  if (mCHFracVSpT_Barrel && mCHFracVSpT_Barrel->getRootObject())
2833  mCHFracVSpT_Barrel->Fill(correctedJet.pt(), (*patJets)[ijet].chargedHadronEnergyFraction());
2834  mNHFracVSpT_Barrel = map_of_MEs[DirName + "/" + "NHFracVSpT_Barrel"];
2835  if (mNHFracVSpT_Barrel && mNHFracVSpT_Barrel->getRootObject())
2836  mNHFracVSpT_Barrel->Fill(correctedJet.pt(), (*patJets)[ijet].neutralHadronEnergyFraction());
2837  mPhFracVSpT_Barrel = map_of_MEs[DirName + "/" + "PhFracVSpT_Barrel"];
2838  if (mPhFracVSpT_Barrel && mPhFracVSpT_Barrel->getRootObject())
2839  mPhFracVSpT_Barrel->Fill(correctedJet.pt(), (*patJets)[ijet].neutralEmEnergyFraction());
2840  } else if (fabs(correctedJet.eta()) <= 3) {
2841  if (correctedJet.pt() <= 50.) {
2842  mMVAPUJIDDiscriminant_lowPt_EndCap = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_lowPt_EndCap"];
2843  if (mMVAPUJIDDiscriminant_lowPt_EndCap && mMVAPUJIDDiscriminant_lowPt_EndCap->getRootObject()) {
2844  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2845  mMVAPUJIDDiscriminant_lowPt_EndCap->Fill((*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2846  }
2847  }
2848  if (correctedJet.pt() > 50. && correctedJet.pt() <= 140.) {
2849  mMVAPUJIDDiscriminant_mediumPt_EndCap = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_EndCap"];
2850  if (mMVAPUJIDDiscriminant_mediumPt_EndCap && mMVAPUJIDDiscriminant_mediumPt_EndCap->getRootObject()) {
2851  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2852  mMVAPUJIDDiscriminant_mediumPt_EndCap->Fill((*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2853  }
2854  }
2855  if (correctedJet.pt() > 140.) {
2856  mMVAPUJIDDiscriminant_highPt_EndCap = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_highPt_EndCap"];
2857  if (mMVAPUJIDDiscriminant_highPt_EndCap && mMVAPUJIDDiscriminant_highPt_EndCap->getRootObject()) {
2858  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2859  mMVAPUJIDDiscriminant_highPt_EndCap->Fill((*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2860  }
2861  }
2862  mMass_EndCap = map_of_MEs[DirName + "/" + "JetMass_EndCap"];
2863  if (mMass_EndCap && mMass_EndCap->getRootObject())
2864  mMass_EndCap->Fill((*patJets)[ijet].mass());
2865  mCHFracVSpT_EndCap = map_of_MEs[DirName + "/" + "CHFracVSpT_EndCap"];
2866  if (mCHFracVSpT_EndCap && mCHFracVSpT_EndCap->getRootObject())
2867  mCHFracVSpT_EndCap->Fill(correctedJet.pt(), (*patJets)[ijet].chargedHadronEnergyFraction());
2868  mNHFracVSpT_EndCap = map_of_MEs[DirName + "/" + "NHFracVSpT_EndCap"];
2869  if (mNHFracVSpT_EndCap && mNHFracVSpT_EndCap->getRootObject())
2870  mNHFracVSpT_EndCap->Fill(correctedJet.pt(), (*patJets)[ijet].neutralHadronEnergyFraction());
2871  mPhFracVSpT_EndCap = map_of_MEs[DirName + "/" + "PhFracVSpT_EndCap"];
2872  if (mPhFracVSpT_EndCap && mPhFracVSpT_EndCap->getRootObject())
2873  mPhFracVSpT_EndCap->Fill(correctedJet.pt(), (*patJets)[ijet].neutralEmEnergyFraction());
2874  } else if (fabs(correctedJet.eta()) <= 5) {
2875  if (correctedJet.pt() <= 50.) {
2876  mMVAPUJIDDiscriminant_lowPt_Forward = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_lowPt_Forward"];
2877  if (mMVAPUJIDDiscriminant_lowPt_Forward && mMVAPUJIDDiscriminant_lowPt_Forward->getRootObject()) {
2878  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2879  mMVAPUJIDDiscriminant_lowPt_Forward->Fill((*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2880  }
2881  }
2882  if (correctedJet.pt() > 50. && correctedJet.pt() <= 140.) {
2883  mMVAPUJIDDiscriminant_mediumPt_Forward =
2884  map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_Forward"];
2885  if (mMVAPUJIDDiscriminant_mediumPt_Forward && mMVAPUJIDDiscriminant_mediumPt_Forward->getRootObject()) {
2886  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2887  mMVAPUJIDDiscriminant_mediumPt_Forward->Fill(
2888  (*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2889  }
2890  }
2891  if (correctedJet.pt() > 140.) {
2892  mMVAPUJIDDiscriminant_highPt_Forward = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_highPt_Forward"];
2893  if (mMVAPUJIDDiscriminant_highPt_Forward && mMVAPUJIDDiscriminant_highPt_Forward->getRootObject()) {
2894  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2895  mMVAPUJIDDiscriminant_highPt_Forward->Fill((*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2896  }
2897  }
2898  mMass_Forward = map_of_MEs[DirName + "/" + "JetMass_Forward"];
2899  if (mMass_Forward && mMass_Forward->getRootObject())
2900  mMass_Forward->Fill((*patJets)[ijet].mass());
2901  mHFHFracVSpT_Forward = map_of_MEs[DirName + "/" + "HFHFracVSpT_Forward"];
2902  if (mHFHFracVSpT_Forward && mHFHFracVSpT_Forward->getRootObject())
2903  mHFHFracVSpT_Forward->Fill(correctedJet.pt(), (*patJets)[ijet].HFHadronEnergyFraction());
2904  mHFEFracVSpT_Forward = map_of_MEs[DirName + "/" + "HFEFracVSpT_Forward"];
2905  if (mHFEFracVSpT_Forward && mHFEFracVSpT_Forward->getRootObject())
2906  mHFEFracVSpT_Forward->Fill(correctedJet.pt(), (*patJets)[ijet].HFEMEnergyFraction());
2907  }
2908  }
2909  }
2910  if (isPFJet_) {
2911  reco::PFJetRef pfjetref(pfJets, ijet);
2912  float puidmva = -1;
2913  float puidcut = -1;
2914  int puidmvaflag = -10;
2915  int puidcutflag = -10;
2916  puidmva = (*puJetIdMva)[pfjetref];
2917  puidcut = (*puJetId)[pfjetref];
2918  puidmvaflag = (*puJetIdFlagMva)[pfjetref];
2919  puidcutflag = (*puJetIdFlag)[pfjetref];
2920  jetpassid = pfjetIDFunctor((*pfJets)[ijet]);
2921  if (jetCleaningFlag_) {
2922  Thiscleaned = jetpassid;
2923  JetIDWPU = jetpassid; // && PileupJetIdentifier::passJetId( puidmvaflag, PileupJetIdentifier::kLoose )
2924  }
2925  if (Thiscleaned && pass_uncorrected) {
2926  mPt_uncor = map_of_MEs[DirName + "/" + "Pt_uncor"];
2927  if (mPt_uncor && mPt_uncor->getRootObject())
2928  mPt_uncor->Fill((*pfJets)[ijet].pt());
2929  mEta_uncor = map_of_MEs[DirName + "/" + "Eta_uncor"];
2930  if (mEta_uncor && mEta_uncor->getRootObject())
2931  mEta_uncor->Fill((*pfJets)[ijet].eta());
2932  mPhi_uncor = map_of_MEs[DirName + "/" + "Phi_uncor"];
2933  if (mPhi_uncor && mPhi_uncor->getRootObject())
2934  mPhi_uncor->Fill((*pfJets)[ijet].phi());
2935  mConstituents_uncor = map_of_MEs[DirName + "/" + "Constituents_uncor"];
2936  if (mConstituents_uncor && mConstituents_uncor->getRootObject())
2937  mConstituents_uncor->Fill((*pfJets)[ijet].nConstituents());
2938  }
2939  if (Thiscleaned && pass_corrected) {
2941  mLooseCutPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "LooseCutPUIDPassFractionVSeta"];
2942  if (mLooseCutPUJIDPassFractionVSeta && mLooseCutPUJIDPassFractionVSeta->getRootObject())
2943  mLooseCutPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 1.);
2944  mLooseCutPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "LooseCutPUIDPassFractionVSpt"];
2945  if (mLooseCutPUJIDPassFractionVSpt && mLooseCutPUJIDPassFractionVSpt->getRootObject())
2946  mLooseCutPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 1.);
2947  } else {
2948  mLooseCutPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "LooseCutPUIDPassFractionVSeta"];
2949  if (mLooseCutPUJIDPassFractionVSeta && mLooseCutPUJIDPassFractionVSeta->getRootObject())
2950  mLooseCutPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 0.);
2951  mLooseCutPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "LooseCutPUIDPassFractionVSpt"];
2952  if (mLooseCutPUJIDPassFractionVSpt && mLooseCutPUJIDPassFractionVSpt->getRootObject())
2953  mLooseCutPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 0.);
2954  }
2956  mMediumCutPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "MediumCutPUIDPassFractionVSeta"];
2957  if (mMediumCutPUJIDPassFractionVSeta && mMediumCutPUJIDPassFractionVSeta->getRootObject())
2958  mMediumCutPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 1.);
2959  mMediumCutPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "MediumCutPUIDPassFractionVSpt"];
2960  if (mMediumCutPUJIDPassFractionVSpt && mMediumCutPUJIDPassFractionVSpt->getRootObject())
2961  mMediumCutPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 1.);
2962  } else {
2963  mMediumCutPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "MediumCutPUIDPassFractionVSeta"];
2964  if (mMediumCutPUJIDPassFractionVSeta && mMediumCutPUJIDPassFractionVSeta->getRootObject())
2965  mMediumCutPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 0.);
2966  mMediumCutPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "MediumCutPUIDPassFractionVSpt"];
2967  if (mMediumCutPUJIDPassFractionVSpt && mMediumCutPUJIDPassFractionVSpt->getRootObject())
2968  mMediumCutPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 0.);
2969  }
2971  mTightCutPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "TightCutPUIDPassFractionVSeta"];
2972  if (mTightCutPUJIDPassFractionVSeta && mTightCutPUJIDPassFractionVSeta->getRootObject())
2973  mTightCutPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 1.);
2974  mTightCutPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "TightCutPUIDPassFractionVSpt"];
2975  if (mTightCutPUJIDPassFractionVSpt && mTightCutPUJIDPassFractionVSpt->getRootObject())
2976  mTightCutPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 1.);
2977  } else {
2978  mTightCutPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "TightCutPUIDPassFractionVSeta"];
2979  if (mTightCutPUJIDPassFractionVSeta && mTightCutPUJIDPassFractionVSeta->getRootObject())
2980  mTightCutPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 0.);
2981  mTightCutPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "TightCutPUIDPassFractionVSpt"];
2982  if (mTightCutPUJIDPassFractionVSpt && mTightCutPUJIDPassFractionVSpt->getRootObject())
2983  mTightCutPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 0.);
2984  }
2986  mLooseMVAPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "LooseMVAPUIDPassFractionVSeta"];
2987  if (mLooseMVAPUJIDPassFractionVSeta && mLooseMVAPUJIDPassFractionVSeta->getRootObject())
2988  mLooseMVAPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 1.);
2989  mLooseMVAPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "LooseMVAPUIDPassFractionVSpt"];
2990  if (mLooseMVAPUJIDPassFractionVSpt && mLooseMVAPUJIDPassFractionVSpt->getRootObject())
2991  mLooseMVAPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 1.);
2992  } else {
2993  mLooseMVAPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "LooseMVAPUIDPassFractionVSeta"];
2994  if (mLooseMVAPUJIDPassFractionVSeta && mLooseMVAPUJIDPassFractionVSeta->getRootObject())
2995  mLooseMVAPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 0.);
2996  mLooseMVAPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "LooseMVAPUIDPassFractionVSpt"];
2997  if (mLooseMVAPUJIDPassFractionVSpt && mLooseMVAPUJIDPassFractionVSpt->getRootObject())
2998  mLooseMVAPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 0.);
2999  }
3001  mMediumMVAPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "MediumMVAPUIDPassFractionVSeta"];
3002  if (mMediumMVAPUJIDPassFractionVSeta && mMediumMVAPUJIDPassFractionVSeta->getRootObject())
3003  mMediumMVAPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 1.);
3004  mMediumMVAPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "MediumMVAPUIDPassFractionVSpt"];
3005  if (mMediumMVAPUJIDPassFractionVSpt && mMediumMVAPUJIDPassFractionVSpt->getRootObject())
3006  mMediumMVAPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 1.);
3007  } else {
3008  mMediumMVAPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "MediumMVAPUIDPassFractionVSeta"];
3009  if (mMediumMVAPUJIDPassFractionVSeta && mMediumMVAPUJIDPassFractionVSeta->getRootObject())
3010  mMediumMVAPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 0.);
3011  mMediumMVAPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "MediumMVAPUIDPassFractionVSpt"];
3012  if (mMediumMVAPUJIDPassFractionVSpt && mMediumMVAPUJIDPassFractionVSpt->getRootObject())
3013  mMediumMVAPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 0.);
3014  }
3016  mTightMVAPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "TightMVAPUIDPassFractionVSeta"];
3017  if (mTightMVAPUJIDPassFractionVSeta && mTightMVAPUJIDPassFractionVSeta->getRootObject())
3018  mTightMVAPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 1.);
3019  mTightMVAPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "TightMVAPUIDPassFractionVSpt"];
3020  if (mTightMVAPUJIDPassFractionVSpt && mTightMVAPUJIDPassFractionVSpt->getRootObject())
3021  mTightMVAPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 1.);
3022  } else {
3023  mTightMVAPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "TightMVAPUIDPassFractionVSeta"];
3024  if (mTightMVAPUJIDPassFractionVSeta && mTightMVAPUJIDPassFractionVSeta->getRootObject())
3025  mTightMVAPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 0.);
3026  mTightMVAPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "TightMVAPUIDPassFractionVSpt"];
3027  if (mTightMVAPUJIDPassFractionVSpt && mTightMVAPUJIDPassFractionVSpt->getRootObject())
3028  mTightMVAPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 0.);
3029  }
3030  if (correctedJet.pt() <= 50) {
3031  mCHFracVSeta_lowPt = map_of_MEs[DirName + "/" + "CHFracVSeta_lowPt"];
3032  if (mCHFracVSeta_lowPt && mCHFracVSeta_lowPt->getRootObject())
3033  mCHFracVSeta_lowPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].chargedHadronEnergyFraction());
3034  mNHFracVSeta_lowPt = map_of_MEs[DirName + "/" + "NHFracVSeta_lowPt"];
3035  if (mNHFracVSeta_lowPt && mNHFracVSeta_lowPt->getRootObject())
3036  mNHFracVSeta_lowPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].neutralHadronEnergyFraction());
3037  mPhFracVSeta_lowPt = map_of_MEs[DirName + "/" + "PhFracVSeta_lowPt"];
3038  if (mPhFracVSeta_lowPt && mPhFracVSeta_lowPt->getRootObject())
3039  mPhFracVSeta_lowPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].neutralEmEnergyFraction());
3040  }
3041  if (correctedJet.pt() > 50. && correctedJet.pt() <= 140.) {
3042  mCHFracVSeta_mediumPt = map_of_MEs[DirName + "/" + "CHFracVSeta_mediumPt"];
3043  if (mCHFracVSeta_mediumPt && mCHFracVSeta_mediumPt->getRootObject())
3044  mCHFracVSeta_mediumPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].chargedHadronEnergyFraction());
3045  mNHFracVSeta_mediumPt = map_of_MEs[DirName + "/" + "NHFracVSeta_mediumPt"];
3046  if (mNHFracVSeta_mediumPt && mNHFracVSeta_mediumPt->getRootObject())
3047  mNHFracVSeta_mediumPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].neutralHadronEnergyFraction());
3048  mPhFracVSeta_mediumPt = map_of_MEs[DirName + "/" + "PhFracVSeta_mediumPt"];
3049  if (mPhFracVSeta_mediumPt && mPhFracVSeta_mediumPt->getRootObject())
3050  mPhFracVSeta_mediumPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].neutralEmEnergyFraction());
3051  }
3052  if (correctedJet.pt() > 140.) {
3053  mCHFracVSeta_highPt = map_of_MEs[DirName + "/" + "CHFracVSeta_highPt"];
3054  if (mCHFracVSeta_highPt && mCHFracVSeta_highPt->getRootObject())
3055  mCHFracVSeta_highPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].chargedHadronEnergyFraction());
3056  mNHFracVSeta_highPt = map_of_MEs[DirName + "/" + "NHFracVSeta_highPt"];
3057  if (mNHFracVSeta_highPt && mNHFracVSeta_highPt->getRootObject())
3058  mNHFracVSeta_highPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].neutralHadronEnergyFraction());
3059  mPhFracVSeta_highPt = map_of_MEs[DirName + "/" + "PhFracVSeta_highPt"];
3060  if (mPhFracVSeta_highPt && mPhFracVSeta_highPt->getRootObject())
3061  mPhFracVSeta_highPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].neutralEmEnergyFraction());
3062  }
3063  if (fabs(correctedJet.eta()) <= 1.3) {
3064  //fractions for barrel
3065  if (correctedJet.pt() <= 50.) {
3066  //mAxis2_lowPt_Barrel = map_of_MEs[DirName+"/"+"qg_Axis2_lowPt_Barrel"];if(mAxis2_lowPt_Barrel && mAxis2_lowPt_Barrel->getRootObject()) mAxis2_lowPt_Barrel->Fill(QGaxis2);
3067  //mpTD_lowPt_Barrel = map_of_MEs[DirName+"/"+"qg_pTD_lowPt_Barrel"]; if(mpTD_lowPt_Barrel && mpTD_lowPt_Barrel->getRootObject()) mpTD_lowPt_Barrel->Fill(QGptD);
3068  //mMultiplicityQG_lowPt_Barrel = map_of_MEs[DirName+"/"+"qg_multiplicity_lowPt_Barrel"]; if(mMultiplicityQG_lowPt_Barrel && mMultiplicityQG_lowPt_Barrel->getRootObject()) mMultiplicityQG_lowPt_Barrel->Fill(QGmulti);
3069  //mqgLikelihood_lowPt_Barrel = map_of_MEs[DirName+"/"+"qg_Likelihood_lowPt_Barrel"]; if(mqgLikelihood_lowPt_Barrel && mqgLikelihood_lowPt_Barrel->getRootObject()) mqgLikelihood_lowPt_Barrel->Fill(QGLikelihood);
3070  mMass_lowPt_Barrel = map_of_MEs[DirName + "/" + "JetMass_lowPt_Barrel"];
3071  if (mMass_lowPt_Barrel && mMass_lowPt_Barrel->getRootObject())
3072  mMass_lowPt_Barrel->Fill((*pfJets)[ijet].mass());
3073  mMVAPUJIDDiscriminant_lowPt_Barrel = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_lowPt_Barrel"];
3074  if (mMVAPUJIDDiscriminant_lowPt_Barrel && mMVAPUJIDDiscriminant_lowPt_Barrel->getRootObject())
3075  mMVAPUJIDDiscriminant_lowPt_Barrel->Fill(puidmva);
3076  mCutPUJIDDiscriminant_lowPt_Barrel = map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_lowPt_Barrel"];
3077  if (mCutPUJIDDiscriminant_lowPt_Barrel && mCutPUJIDDiscriminant_lowPt_Barrel->getRootObject())
3078  mCutPUJIDDiscriminant_lowPt_Barrel->Fill(puidcut);
3079  mCHFrac_lowPt_Barrel = map_of_MEs[DirName + "/" + "CHFrac_lowPt_Barrel"];
3080  if (mCHFrac_lowPt_Barrel && mCHFrac_lowPt_Barrel->getRootObject())
3081  mCHFrac_lowPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3082  mNHFrac_lowPt_Barrel = map_of_MEs[DirName + "/" + "NHFrac_lowPt_Barrel"];
3083  if (mNHFrac_lowPt_Barrel && mNHFrac_lowPt_Barrel->getRootObject())
3084  mNHFrac_lowPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3085  mPhFrac_lowPt_Barrel = map_of_MEs[DirName + "/" + "PhFrac_lowPt_Barrel"];
3086  if (mPhFrac_lowPt_Barrel && mPhFrac_lowPt_Barrel->getRootObject())
3087  mPhFrac_lowPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergyFraction());
3088  mCHEn_lowPt_Barrel = map_of_MEs[DirName + "/" + "CHEn_lowPt_Barrel"];
3089  if (mCHEn_lowPt_Barrel && mCHEn_lowPt_Barrel->getRootObject())
3090  mCHEn_lowPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergy());
3091  mNHEn_lowPt_Barrel = map_of_MEs[DirName + "/" + "NHEn_lowPt_Barrel"];
3092  if (mNHEn_lowPt_Barrel && mNHEn_lowPt_Barrel->getRootObject())
3093  mNHEn_lowPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergy());
3094  mPhEn_lowPt_Barrel = map_of_MEs[DirName + "/" + "PhEn_lowPt_Barrel"];
3095  if (mPhEn_lowPt_Barrel && mPhEn_lowPt_Barrel->getRootObject())
3096  mPhEn_lowPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergy());
3097  mElEn_lowPt_Barrel = map_of_MEs[DirName + "/" + "ElEn_lowPt_Barrel"];
3098  if (mElEn_lowPt_Barrel && mElEn_lowPt_Barrel->getRootObject())
3099  mElEn_lowPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergy());
3100  mMuEn_lowPt_Barrel = map_of_MEs[DirName + "/" + "MuEn_lowPt_Barrel"];
3101  if (mMuEn_lowPt_Barrel && mMuEn_lowPt_Barrel->getRootObject())
3102  mMuEn_lowPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergy());
3103  mChMultiplicity_lowPt_Barrel = map_of_MEs[DirName + "/" + "ChMultiplicity_lowPt_Barrel"];
3104  if (mChMultiplicity_lowPt_Barrel && mChMultiplicity_lowPt_Barrel->getRootObject())
3105  mChMultiplicity_lowPt_Barrel->Fill((*pfJets)[ijet].chargedMultiplicity());
3106  mNeutMultiplicity_lowPt_Barrel = map_of_MEs[DirName + "/" + "NeutMultiplicity_lowPt_Barrel"];
3107  if (mNeutMultiplicity_lowPt_Barrel && mNeutMultiplicity_lowPt_Barrel->getRootObject())
3108  mNeutMultiplicity_lowPt_Barrel->Fill((*pfJets)[ijet].neutralMultiplicity());
3109  mMuMultiplicity_lowPt_Barrel = map_of_MEs[DirName + "/" + "MuMultiplicity_lowPt_Barrel"];
3110  if (mMuMultiplicity_lowPt_Barrel && mMuMultiplicity_lowPt_Barrel->getRootObject())
3111  mMuMultiplicity_lowPt_Barrel->Fill((*pfJets)[ijet].muonMultiplicity());
3112  }
3113  if (correctedJet.pt() > 50. && correctedJet.pt() <= 140.) {
3114  //mAxis2_mediumPt_Barrel = map_of_MEs[DirName+"/"+"qg_Axis2_mediumPt_Barrel"];if(mAxis2_mediumPt_Barrel && mAxis2_mediumPt_Barrel->getRootObject()) mAxis2_mediumPt_Barrel->Fill(QGaxis2);
3115  //mpTD_mediumPt_Barrel = map_of_MEs[DirName+"/"+"qg_pTD_mediumPt_Barrel"]; if(mpTD_mediumPt_Barrel && mpTD_mediumPt_Barrel->getRootObject()) mpTD_mediumPt_Barrel->Fill(QGptD);
3116  //mMultiplicityQG_mediumPt_Barrel = map_of_MEs[DirName+"/"+"qg_multiplicity_mediumPt_Barrel"]; if(mMultiplicityQG_mediumPt_Barrel && mMultiplicityQG_mediumPt_Barrel->getRootObject()) mMultiplicityQG_mediumPt_Barrel->Fill(QGmulti);
3117  //mqgLikelihood_mediumPt_Barrel = map_of_MEs[DirName+"/"+"qg_Likelihood_mediumPt_Barrel"]; if(mqgLikelihood_mediumPt_Barrel && mqgLikelihood_mediumPt_Barrel->getRootObject()) mqgLikelihood_mediumPt_Barrel->Fill(QGLikelihood);
3118  mMass_mediumPt_Barrel = map_of_MEs[DirName + "/" + "JetMass_mediumPt_Barrel"];
3119  if (mMass_mediumPt_Barrel && mMass_mediumPt_Barrel->getRootObject())
3120  mMass_mediumPt_Barrel->Fill((*pfJets)[ijet].mass());
3121  mMVAPUJIDDiscriminant_mediumPt_Barrel = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_Barrel"];
3122  if (mMVAPUJIDDiscriminant_mediumPt_Barrel && mMVAPUJIDDiscriminant_mediumPt_Barrel->getRootObject())
3123  mMVAPUJIDDiscriminant_mediumPt_Barrel->Fill(puidmva);
3124  mCutPUJIDDiscriminant_mediumPt_Barrel = map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_mediumPt_Barrel"];
3125  if (mCutPUJIDDiscriminant_mediumPt_Barrel && mCutPUJIDDiscriminant_mediumPt_Barrel->getRootObject())
3126  mCutPUJIDDiscriminant_mediumPt_Barrel->Fill(puidcut);
3127  mCHFrac_mediumPt_Barrel = map_of_MEs[DirName + "/" + "CHFrac_mediumPt_Barrel"];
3128  if (mCHFrac_mediumPt_Barrel && mCHFrac_mediumPt_Barrel->getRootObject())
3129  mCHFrac_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3130  mNHFrac_mediumPt_Barrel = map_of_MEs[DirName + "/" + "NHFrac_mediumPt_Barrel"];
3131  if (mNHFrac_mediumPt_Barrel && mNHFrac_mediumPt_Barrel->getRootObject())
3132  mNHFrac_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3133  mPhFrac_mediumPt_Barrel = map_of_MEs[DirName + "/" + "PhFrac_mediumPt_Barrel"];
3134  if (mPhFrac_mediumPt_Barrel && mPhFrac_mediumPt_Barrel->getRootObject())
3135  mPhFrac_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergyFraction());
3136  mCHEn_mediumPt_Barrel = map_of_MEs[DirName + "/" + "CHEn_mediumPt_Barrel"];
3137  if (mCHEn_mediumPt_Barrel && mCHEn_mediumPt_Barrel->getRootObject())
3138  mCHEn_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergy());
3139  mNHEn_mediumPt_Barrel = map_of_MEs[DirName + "/" + "NHEn_mediumPt_Barrel"];
3140  if (mNHEn_mediumPt_Barrel && mNHEn_mediumPt_Barrel->getRootObject())
3141  mNHEn_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergy());
3142  mPhEn_mediumPt_Barrel = map_of_MEs[DirName + "/" + "PhEn_mediumPt_Barrel"];
3143  if (mPhEn_mediumPt_Barrel && mPhEn_mediumPt_Barrel->getRootObject())
3144  mPhEn_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergy());
3145  mElEn_mediumPt_Barrel = map_of_MEs[DirName + "/" + "ElEn_mediumPt_Barrel"];
3146  if (mElEn_mediumPt_Barrel && mElEn_mediumPt_Barrel->getRootObject())
3147  mElEn_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergy());
3148  mMuEn_mediumPt_Barrel = map_of_MEs[DirName + "/" + "MuEn_mediumPt_Barrel"];
3149  if (mMuEn_mediumPt_Barrel && mMuEn_mediumPt_Barrel->getRootObject())
3150  mMuEn_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergy());
3151  mChMultiplicity_mediumPt_Barrel = map_of_MEs[DirName + "/" + "ChMultiplicity_mediumPt_Barrel"];
3152  if (mChMultiplicity_mediumPt_Barrel && mChMultiplicity_mediumPt_Barrel->getRootObject())
3153  mChMultiplicity_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedMultiplicity());
3154  mNeutMultiplicity_mediumPt_Barrel = map_of_MEs[DirName + "/" + "NeutMultiplicity_mediumPt_Barrel"];
3155  if (mNeutMultiplicity_mediumPt_Barrel && mNeutMultiplicity_mediumPt_Barrel->getRootObject())
3156  mNeutMultiplicity_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralMultiplicity());
3157  mMuMultiplicity_mediumPt_Barrel = map_of_MEs[DirName + "/" + "MuMultiplicity_mediumPt_Barrel"];
3158  if (mMuMultiplicity_mediumPt_Barrel && mMuMultiplicity_mediumPt_Barrel->getRootObject())
3159  mMuMultiplicity_mediumPt_Barrel->Fill((*pfJets)[ijet].muonMultiplicity());
3160  }
3161  if (correctedJet.pt() > 140.) {
3162  //mAxis2_highPt_Barrel = map_of_MEs[DirName+"/"+"qg_Axis2_highPt_Barrel"];if(mAxis2_highPt_Barrel && mAxis2_highPt_Barrel->getRootObject()) mAxis2_highPt_Barrel->Fill(QGaxis2);
3163  //mpTD_highPt_Barrel = map_of_MEs[DirName+"/"+"qg_pTD_highPt_Barrel"]; if(mpTD_highPt_Barrel && mpTD_highPt_Barrel->getRootObject()) mpTD_highPt_Barrel->Fill(QGptD);
3164  //mMultiplicityQG_highPt_Barrel = map_of_MEs[DirName+"/"+"qg_multiplicity_highPt_Barrel"]; if(mMultiplicityQG_highPt_Barrel && mMultiplicityQG_highPt_Barrel->getRootObject()) mMultiplicityQG_highPt_Barrel->Fill(QGmulti);
3165  //mqgLikelihood_highPt_Barrel = map_of_MEs[DirName+"/"+"qg_Likelihood_highPt_Barrel"]; if(mqgLikelihood_highPt_Barrel && mqgLikelihood_highPt_Barrel->getRootObject()) mqgLikelihood_highPt_Barrel->Fill(QGLikelihood);
3166  mMass_highPt_Barrel = map_of_MEs[DirName + "/" + "JetMass_highPt_Barrel"];
3167  if (mMass_highPt_Barrel && mMass_highPt_Barrel->getRootObject())
3168  mMass_highPt_Barrel->Fill((*pfJets)[ijet].mass());
3169  mMVAPUJIDDiscriminant_highPt_Barrel = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_highPt_Barrel"];
3170  if (mMVAPUJIDDiscriminant_highPt_Barrel && mMVAPUJIDDiscriminant_highPt_Barrel->getRootObject())
3171  mMVAPUJIDDiscriminant_highPt_Barrel->Fill(puidmva);
3172  mCutPUJIDDiscriminant_highPt_Barrel = map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_highPt_Barrel"];
3173  if (mCutPUJIDDiscriminant_highPt_Barrel && mCutPUJIDDiscriminant_highPt_Barrel->getRootObject())
3174  mCutPUJIDDiscriminant_highPt_Barrel->Fill(puidcut);
3175  mCHFrac_highPt_Barrel = map_of_MEs[DirName + "/" + "CHFrac_highPt_Barrel"];
3176  if (mCHFrac_highPt_Barrel && mCHFrac_highPt_Barrel->getRootObject())
3177  mCHFrac_highPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3178  mNHFrac_highPt_Barrel = map_of_MEs[DirName + "/" + "NHFrac_highPt_Barrel"];
3179  if (mNHFrac_highPt_Barrel && mNHFrac_highPt_Barrel->getRootObject())
3180  mNHFrac_highPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3181  mPhFrac_highPt_Barrel = map_of_MEs[DirName + "/" + "PhFrac_highPt_Barrel"];
3182  if (mPhFrac_highPt_Barrel && mPhFrac_highPt_Barrel->getRootObject())
3183  mPhFrac_highPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergyFraction());
3184  mCHEn_highPt_Barrel = map_of_MEs[DirName + "/" + "CHEn_highPt_Barrel"];
3185  if (mCHEn_highPt_Barrel && mCHEn_highPt_Barrel->getRootObject())
3186  mCHEn_highPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergy());
3187  mNHEn_highPt_Barrel = map_of_MEs[DirName + "/" + "NHEn_highPt_Barrel"];
3188  if (mNHEn_highPt_Barrel && mNHEn_highPt_Barrel->getRootObject())
3189  mNHEn_highPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergy());
3190  mPhEn_highPt_Barrel = map_of_MEs[DirName + "/" + "PhEn_highPt_Barrel"];
3191  if (mPhEn_highPt_Barrel && mPhEn_highPt_Barrel->getRootObject())
3192  mPhEn_highPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergy());
3193  mElEn_highPt_Barrel = map_of_MEs[DirName + "/" + "ElEn_highPt_Barrel"];
3194  if (mElEn_highPt_Barrel && mElEn_highPt_Barrel->getRootObject())
3195  mElEn_highPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergy());
3196  mMuEn_highPt_Barrel = map_of_MEs[DirName + "/" + "MuEn_highPt_Barrel"];
3197  if (mMuEn_highPt_Barrel && mMuEn_highPt_Barrel->getRootObject())
3198  mMuEn_highPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergy());
3199  mChMultiplicity_highPt_Barrel = map_of_MEs[DirName + "/" + "ChMultiplicity_highPt_Barrel"];
3200  if (mChMultiplicity_highPt_Barrel && mChMultiplicity_highPt_Barrel->getRootObject())
3201  mChMultiplicity_highPt_Barrel->Fill((*pfJets)[ijet].chargedMultiplicity());
3202  mNeutMultiplicity_highPt_Barrel = map_of_MEs[DirName + "/" + "NeutMultiplicity_highPt_Barrel"];
3203  if (mNeutMultiplicity_highPt_Barrel && mNeutMultiplicity_highPt_Barrel->getRootObject())
3204  mNeutMultiplicity_highPt_Barrel->Fill((*pfJets)[ijet].neutralMultiplicity());
3205  mMuMultiplicity_highPt_Barrel = map_of_MEs[DirName + "/" + "MuMultiplicity_highPt_Barrel"];
3206  if (mMuMultiplicity_highPt_Barrel && mMuMultiplicity_highPt_Barrel->getRootObject())
3207  mMuMultiplicity_highPt_Barrel->Fill((*pfJets)[ijet].muonMultiplicity());
3208  }
3209  mCHFracVSpT_Barrel = map_of_MEs[DirName + "/" + "CHFracVSpT_Barrel"];
3210  if (mCHFracVSpT_Barrel && mCHFracVSpT_Barrel->getRootObject())
3211  mCHFracVSpT_Barrel->Fill(correctedJet.pt(), (*pfJets)[ijet].chargedHadronEnergyFraction());
3212  mNHFracVSpT_Barrel = map_of_MEs[DirName + "/" + "NHFracVSpT_Barrel"];
3213  if (mNHFracVSpT_Barrel && mNHFracVSpT_Barrel->getRootObject())
3214  mNHFracVSpT_Barrel->Fill(correctedJet.pt(), (*pfJets)[ijet].neutralHadronEnergyFraction());
3215  mPhFracVSpT_Barrel = map_of_MEs[DirName + "/" + "PhFracVSpT_Barrel"];
3216  if (mPhFracVSpT_Barrel && mPhFracVSpT_Barrel->getRootObject())
3217  mPhFracVSpT_Barrel->Fill(correctedJet.pt(), (*pfJets)[ijet].neutralEmEnergyFraction());
3218  } else if (fabs(correctedJet.eta()) <= 3) {
3219  //fractions for endcap
3220  if (correctedJet.pt() <= 50.) {
3221  //mAxis2_lowPt_EndCap = map_of_MEs[DirName+"/"+"qg_Axis2_lowPt_EndCap"];if(mAxis2_lowPt_EndCap && mAxis2_lowPt_EndCap->getRootObject()) mAxis2_lowPt_EndCap->Fill(QGaxis2);
3222  //mpTD_lowPt_EndCap = map_of_MEs[DirName+"/"+"qg_pTD_lowPt_EndCap"]; if(mpTD_lowPt_EndCap && mpTD_lowPt_EndCap->getRootObject()) mpTD_lowPt_EndCap->Fill(QGptD);
3223  //mMultiplicityQG_lowPt_EndCap = map_of_MEs[DirName+"/"+"qg_multiplicity_lowPt_EndCap"]; if(mMultiplicityQG_lowPt_EndCap && mMultiplicityQG_lowPt_EndCap->getRootObject()) mMultiplicityQG_lowPt_EndCap->Fill(QGmulti);
3224  //mqgLikelihood_lowPt_EndCap = map_of_MEs[DirName+"/"+"qg_Likelihood_lowPt_EndCap"]; if(mqgLikelihood_lowPt_EndCap && mqgLikelihood_lowPt_EndCap->getRootObject()) mqgLikelihood_lowPt_EndCap->Fill(QGLikelihood);
3225  mMass_lowPt_EndCap = map_of_MEs[DirName + "/" + "JetMass_lowPt_EndCap"];
3226  if (mMass_lowPt_EndCap && mMass_lowPt_EndCap->getRootObject())
3227  mMass_lowPt_EndCap->Fill((*pfJets)[ijet].mass());
3228  mMVAPUJIDDiscriminant_lowPt_EndCap = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_lowPt_EndCap"];
3229  if (mMVAPUJIDDiscriminant_lowPt_EndCap && mMVAPUJIDDiscriminant_lowPt_EndCap->getRootObject())
3230  mMVAPUJIDDiscriminant_lowPt_EndCap->Fill(puidmva);
3231  mCutPUJIDDiscriminant_lowPt_EndCap = map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_lowPt_EndCap"];
3232  if (mCutPUJIDDiscriminant_lowPt_EndCap && mCutPUJIDDiscriminant_lowPt_EndCap->getRootObject())
3233  mCutPUJIDDiscriminant_lowPt_EndCap->Fill(puidcut);
3234  mCHFrac_lowPt_EndCap = map_of_MEs[DirName + "/" + "CHFrac_lowPt_EndCap"];
3235  if (mCHFrac_lowPt_EndCap && mCHFrac_lowPt_EndCap->getRootObject())
3236  mCHFrac_lowPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3237  mNHFrac_lowPt_EndCap = map_of_MEs[DirName + "/" + "NHFrac_lowPt_EndCap"];
3238  if (mNHFrac_lowPt_EndCap && mNHFrac_lowPt_EndCap->getRootObject())
3239  mNHFrac_lowPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3240  mPhFrac_lowPt_EndCap = map_of_MEs[DirName + "/" + "PhFrac_lowPt_EndCap"];
3241  if (mPhFrac_lowPt_EndCap && mPhFrac_lowPt_EndCap->getRootObject())
3242  mPhFrac_lowPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergyFraction());
3243  mCHEn_lowPt_EndCap = map_of_MEs[DirName + "/" + "CHEn_lowPt_EndCap"];
3244  if (mCHEn_lowPt_EndCap && mCHEn_lowPt_EndCap->getRootObject())
3245  mCHEn_lowPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergy());
3246  mNHEn_lowPt_EndCap = map_of_MEs[DirName + "/" + "NHEn_lowPt_EndCap"];
3247  if (mNHEn_lowPt_EndCap && mNHEn_lowPt_EndCap->getRootObject())
3248  mNHEn_lowPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergy());
3249  mPhEn_lowPt_EndCap = map_of_MEs[DirName + "/" + "PhEn_lowPt_EndCap"];
3250  if (mPhEn_lowPt_EndCap && mPhEn_lowPt_EndCap->getRootObject())
3251  mPhEn_lowPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergy());
3252  mElEn_lowPt_EndCap = map_of_MEs[DirName + "/" + "ElEn_lowPt_EndCap"];
3253  if (mElEn_lowPt_EndCap && mElEn_lowPt_EndCap->getRootObject())
3254  mElEn_lowPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergy());
3255  mMuEn_lowPt_EndCap = map_of_MEs[DirName + "/" + "MuEn_lowPt_EndCap"];
3256  if (mMuEn_lowPt_EndCap && mMuEn_lowPt_EndCap->getRootObject())
3257  mMuEn_lowPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergy());
3258  mChMultiplicity_lowPt_EndCap = map_of_MEs[DirName + "/" + "ChMultiplicity_lowPt_EndCap"];
3259  if (mChMultiplicity_lowPt_EndCap && mChMultiplicity_lowPt_EndCap->getRootObject())
3260  mChMultiplicity_lowPt_EndCap->Fill((*pfJets)[ijet].chargedMultiplicity());
3261  mNeutMultiplicity_lowPt_EndCap = map_of_MEs[DirName + "/" + "NeutMultiplicity_lowPt_EndCap"];
3262  if (mNeutMultiplicity_lowPt_EndCap && mNeutMultiplicity_lowPt_EndCap->getRootObject())
3263  mNeutMultiplicity_lowPt_EndCap->Fill((*pfJets)[ijet].neutralMultiplicity());
3264  mMuMultiplicity_lowPt_EndCap = map_of_MEs[DirName + "/" + "MuMultiplicity_lowPt_EndCap"];
3265  if (mMuMultiplicity_lowPt_EndCap && mMuMultiplicity_lowPt_EndCap->getRootObject())
3266  mMuMultiplicity_lowPt_EndCap->Fill((*pfJets)[ijet].muonMultiplicity());
3267  }
3268  if (correctedJet.pt() > 50. && correctedJet.pt() <= 140.) {
3269  //mAxis2_mediumPt_EndCap = map_of_MEs[DirName+"/"+"qg_Axis2_mediumPt_EndCap"];if(mAxis2_mediumPt_EndCap && mAxis2_mediumPt_EndCap->getRootObject()) mAxis2_mediumPt_EndCap->Fill(QGaxis2);
3270  //mpTD_mediumPt_EndCap = map_of_MEs[DirName+"/"+"qg_pTD_mediumPt_EndCap"]; if(mpTD_mediumPt_EndCap && mpTD_mediumPt_EndCap->getRootObject()) mpTD_mediumPt_EndCap->Fill(QGptD);
3271  //mMultiplicityQG_mediumPt_EndCap = map_of_MEs[DirName+"/"+"qg_multiplicity_mediumPt_EndCap"]; if(mMultiplicityQG_mediumPt_EndCap && mMultiplicityQG_mediumPt_EndCap->getRootObject()) mMultiplicityQG_mediumPt_EndCap->Fill(QGmulti);
3272  //mqgLikelihood_mediumPt_EndCap = map_of_MEs[DirName+"/"+"qg_Likelihood_mediumPt_EndCap"]; if(mqgLikelihood_mediumPt_EndCap && mqgLikelihood_mediumPt_EndCap->getRootObject()) mqgLikelihood_mediumPt_EndCap->Fill(QGLikelihood);
3273  mMass_mediumPt_EndCap = map_of_MEs[DirName + "/" + "JetMass_mediumPt_EndCap"];
3274  if (mMass_mediumPt_EndCap && mMass_mediumPt_EndCap->getRootObject())
3275  mMass_mediumPt_EndCap->Fill((*pfJets)[ijet].mass());
3276  mMVAPUJIDDiscriminant_mediumPt_EndCap = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_EndCap"];
3277  if (mMVAPUJIDDiscriminant_mediumPt_EndCap && mMVAPUJIDDiscriminant_mediumPt_EndCap->getRootObject())
3278  mMVAPUJIDDiscriminant_mediumPt_EndCap->Fill(puidmva);
3279  mCutPUJIDDiscriminant_mediumPt_EndCap = map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_mediumPt_EndCap"];
3280  if (mCutPUJIDDiscriminant_mediumPt_EndCap && mCutPUJIDDiscriminant_mediumPt_EndCap->getRootObject())
3281  mCutPUJIDDiscriminant_mediumPt_EndCap->Fill(puidcut);
3282  mCHFrac_mediumPt_EndCap = map_of_MEs[DirName + "/" + "CHFrac_mediumPt_EndCap"];
3283  if (mCHFrac_mediumPt_EndCap && mCHFrac_mediumPt_EndCap->getRootObject())
3284  mCHFrac_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3285  mNHFrac_mediumPt_EndCap = map_of_MEs[DirName + "/" + "NHFrac_mediumPt_EndCap"];
3286  if (mNHFrac_mediumPt_EndCap && mNHFrac_mediumPt_EndCap->getRootObject())
3287  mNHFrac_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3288  mPhFrac_mediumPt_EndCap = map_of_MEs[DirName + "/" + "PhFrac_mediumPt_EndCap"];
3289  if (mPhFrac_mediumPt_EndCap && mPhFrac_mediumPt_EndCap->getRootObject())
3290  mPhFrac_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergyFraction());
3291  mCHEn_mediumPt_EndCap = map_of_MEs[DirName + "/" + "CHEn_mediumPt_EndCap"];
3292  if (mCHEn_mediumPt_EndCap && mCHEn_mediumPt_EndCap->getRootObject())
3293  mCHEn_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergy());
3294  mNHEn_mediumPt_EndCap = map_of_MEs[DirName + "/" + "NHEn_mediumPt_EndCap"];
3295  if (mNHEn_mediumPt_EndCap && mNHEn_mediumPt_EndCap->getRootObject())
3296  mNHEn_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergy());
3297  mPhEn_mediumPt_EndCap = map_of_MEs[DirName + "/" + "PhEn_mediumPt_EndCap"];
3298  if (mPhEn_mediumPt_EndCap && mPhEn_mediumPt_EndCap->getRootObject())
3299  mPhEn_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergy());
3300  mElEn_mediumPt_EndCap = map_of_MEs[DirName + "/" + "ElEn_mediumPt_EndCap"];
3301  if (mElEn_mediumPt_EndCap && mElEn_mediumPt_EndCap->getRootObject())
3302  mElEn_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergy());
3303  mMuEn_mediumPt_EndCap = map_of_MEs[DirName + "/" + "MuEn_mediumPt_EndCap"];
3304  if (mMuEn_mediumPt_EndCap && mMuEn_mediumPt_EndCap->getRootObject())
3305  mMuEn_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergy());
3306  mChMultiplicity_mediumPt_EndCap = map_of_MEs[DirName + "/" + "ChMultiplicity_mediumPt_EndCap"];
3307  if (mChMultiplicity_mediumPt_EndCap && mChMultiplicity_mediumPt_EndCap->getRootObject())
3308  mChMultiplicity_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedMultiplicity());
3309  mNeutMultiplicity_mediumPt_EndCap = map_of_MEs[DirName + "/" + "NeutMultiplicity_mediumPt_EndCap"];
3310  if (mNeutMultiplicity_mediumPt_EndCap && mNeutMultiplicity_mediumPt_EndCap->getRootObject())
3311  mNeutMultiplicity_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralMultiplicity());
3312  mMuMultiplicity_mediumPt_EndCap = map_of_MEs[DirName + "/" + "MuMultiplicity_mediumPt_EndCap"];
3313  if (mMuMultiplicity_mediumPt_EndCap && mMuMultiplicity_mediumPt_EndCap->getRootObject())
3314  mMuMultiplicity_mediumPt_EndCap->Fill((*pfJets)[ijet].muonMultiplicity());
3315  }
3316  if (correctedJet.pt() > 140.) {
3317  //mAxis2_highPt_EndCap = map_of_MEs[DirName+"/"+"qg_Axis2_highPt_EndCap"];if(mAxis2_highPt_EndCap && mAxis2_highPt_EndCap->getRootObject()) mAxis2_highPt_EndCap->Fill(QGaxis2);
3318  //mpTD_highPt_EndCap = map_of_MEs[DirName+"/"+"qg_pTD_highPt_EndCap"]; if(mpTD_highPt_EndCap && mpTD_highPt_EndCap->getRootObject()) mpTD_highPt_EndCap->Fill(QGptD);
3319  //mMultiplicityQG_highPt_EndCap = map_of_MEs[DirName+"/"+"qg_multiplicity_highPt_EndCap"]; if(mMultiplicityQG_highPt_EndCap && mMultiplicityQG_highPt_EndCap->getRootObject()) mMultiplicityQG_highPt_EndCap->Fill(QGmulti);
3320  //mqgLikelihood_highPt_EndCap = map_of_MEs[DirName+"/"+"qg_Likelihood_highPt_EndCap"]; if(mqgLikelihood_highPt_EndCap && mqgLikelihood_highPt_EndCap->getRootObject()) mqgLikelihood_highPt_EndCap->Fill(QGLikelihood);
3321  mMass_highPt_EndCap = map_of_MEs[DirName + "/" + "JetMass_highPt_EndCap"];
3322  if (mMass_highPt_EndCap && mMass_highPt_EndCap->getRootObject())
3323  mMass_highPt_EndCap->Fill((*pfJets)[ijet].mass());
3324  mMVAPUJIDDiscriminant_highPt_EndCap = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_highPt_EndCap"];
3325  if (mMVAPUJIDDiscriminant_highPt_EndCap && mMVAPUJIDDiscriminant_highPt_EndCap->getRootObject())
3326  mMVAPUJIDDiscriminant_highPt_EndCap->Fill(puidmva);
3327  mCutPUJIDDiscriminant_highPt_EndCap = map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_highPt_EndCap"];
3328  if (mCutPUJIDDiscriminant_highPt_EndCap && mCutPUJIDDiscriminant_highPt_EndCap->getRootObject())
3329  mCutPUJIDDiscriminant_highPt_EndCap->Fill(puidcut);
3330  mCHFrac_highPt_EndCap = map_of_MEs[DirName + "/" + "CHFrac_highPt_EndCap"];
3331  if (mCHFrac_highPt_EndCap && mCHFrac_highPt_EndCap->getRootObject())
3332  mCHFrac_highPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3333  mNHFrac_highPt_EndCap = map_of_MEs[DirName + "/" + "NHFrac_highPt_EndCap"];
3334  if (mNHFrac_highPt_EndCap && mNHFrac_highPt_EndCap->getRootObject())
3335  mNHFrac_highPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3336  mPhFrac_highPt_EndCap = map_of_MEs[DirName + "/" + "PhFrac_highPt_EndCap"];
3337  if (mPhFrac_highPt_EndCap && mPhFrac_highPt_EndCap->getRootObject())
3338  mPhFrac_highPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergyFraction());
3339  mCHEn_highPt_EndCap = map_of_MEs[DirName + "/" + "CHEn_highPt_EndCap"];
3340  if (mCHEn_highPt_EndCap && mCHEn_highPt_EndCap->getRootObject())
3341  mCHEn_highPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergy());
3342  mNHEn_highPt_EndCap = map_of_MEs[DirName + "/" + "NHEn_highPt_EndCap"];
3343  if (mNHEn_highPt_EndCap && mNHEn_highPt_EndCap->getRootObject())
3344  mNHEn_highPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergy());
3345  mPhEn_highPt_EndCap = map_of_MEs[DirName + "/" + "PhEn_highPt_EndCap"];
3346  if (mPhEn_highPt_EndCap && mPhEn_highPt_EndCap->getRootObject())
3347  mPhEn_highPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergy());
3348  mElEn_highPt_EndCap = map_of_MEs[DirName + "/" + "ElEn_highPt_EndCap"];
3349  if (mElEn_highPt_EndCap && mElEn_highPt_EndCap->getRootObject())
3350  mElEn_highPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergy());
3351  mMuEn_highPt_EndCap = map_of_MEs[DirName + "/" + "MuEn_highPt_EndCap"];
3352  if (mMuEn_highPt_EndCap && mMuEn_highPt_EndCap->getRootObject())
3353  mMuEn_highPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergy());
3354  mChMultiplicity_highPt_EndCap = map_of_MEs[DirName + "/" + "ChMultiplicity_highPt_EndCap"];
3355  if (mChMultiplicity_highPt_EndCap && mChMultiplicity_highPt_EndCap->getRootObject())
3356  mChMultiplicity_highPt_EndCap->Fill((*pfJets)[ijet].chargedMultiplicity());
3357  mNeutMultiplicity_highPt_EndCap = map_of_MEs[DirName + "/" + "NeutMultiplicity_highPt_EndCap"];
3358  if (mNeutMultiplicity_highPt_EndCap && mNeutMultiplicity_highPt_EndCap->getRootObject())
3359  mNeutMultiplicity_highPt_EndCap->Fill((*pfJets)[ijet].neutralMultiplicity());
3360  mMuMultiplicity_highPt_EndCap = map_of_MEs[DirName + "/" + "MuMultiplicity_highPt_EndCap"];
3361  if (mMuMultiplicity_highPt_EndCap && mMuMultiplicity_highPt_EndCap->getRootObject())
3362  mMuMultiplicity_highPt_EndCap->Fill((*pfJets)[ijet].muonMultiplicity());
3363  }
3364  mCHFracVSpT_EndCap = map_of_MEs[DirName + "/" + "CHFracVSpT_EndCap"];
3365  if (mCHFracVSpT_EndCap && mCHFracVSpT_EndCap->getRootObject())
3366  mCHFracVSpT_EndCap->Fill(correctedJet.pt(), (*pfJets)[ijet].chargedHadronEnergyFraction());
3367  mNHFracVSpT_EndCap = map_of_MEs[DirName + "/" + "NHFracVSpT_EndCap"];
3368  if (mNHFracVSpT_EndCap && mNHFracVSpT_EndCap->getRootObject())
3369  mNHFracVSpT_EndCap->Fill(correctedJet.pt(), (*pfJets)[ijet].neutralHadronEnergyFraction());
3370  mPhFracVSpT_EndCap = map_of_MEs[DirName + "/" + "PhFracVSpT_EndCap"];
3371  if (mPhFracVSpT_EndCap && mPhFracVSpT_EndCap->getRootObject())
3372  mPhFracVSpT_EndCap->Fill(correctedJet.pt(), (*pfJets)[ijet].neutralEmEnergyFraction());
3373  } else {
3374  mHFHFracVSpT_Forward = map_of_MEs[DirName + "/" + "HFHFracVSpT_Forward"];
3375  if (mHFHFracVSpT_Forward && mHFHFracVSpT_Forward->getRootObject())
3376  mHFHFracVSpT_Forward->Fill(correctedJet.pt(), (*pfJets)[ijet].HFHadronEnergyFraction());
3377  mHFEFracVSpT_Forward = map_of_MEs[DirName + "/" + "HFEFracVSpT_Forward"];
3378  if (mHFEFracVSpT_Forward && mHFEFracVSpT_Forward->getRootObject())
3379  mHFEFracVSpT_Forward->Fill(correctedJet.pt(), (*pfJets)[ijet].HFEMEnergyFraction());
3380  //fractions
3381  if (correctedJet.pt() <= 50.) {
3382  //mAxis2_lowPt_Forward = map_of_MEs[DirName+"/"+"qg_Axis2_lowPt_Forward"];if(mAxis2_lowPt_Forward && mAxis2_lowPt_Forward->getRootObject()) mAxis2_lowPt_Forward->Fill(QGaxis2);
3383  //mpTD_lowPt_Forward = map_of_MEs[DirName+"/"+"qg_pTD_lowPt_Forward"]; if(mpTD_lowPt_Forward && mpTD_lowPt_Forward->getRootObject()) mpTD_lowPt_Forward->Fill(QGptD);
3384  //mMultiplicityQG_lowPt_Forward = map_of_MEs[DirName+"/"+"qg_multiplicity_lowPt_Forward"]; if(mMultiplicityQG_lowPt_Forward && mMultiplicityQG_lowPt_Forward->getRootObject()) mMultiplicityQG_lowPt_Forward->Fill(QGmulti);
3385  //mqgLikelihood_lowPt_Forward = map_of_MEs[DirName+"/"+"qg_Likelihood_lowPt_Forward"]; if(mqgLikelihood_lowPt_Forward && mqgLikelihood_lowPt_Forward->getRootObject()) mqgLikelihood_lowPt_Forward->Fill(QGLikelihood);
3386  mMass_lowPt_Forward = map_of_MEs[DirName + "/" + "JetMass_lowPt_Forward"];
3387  if (mMass_lowPt_Forward && mMass_lowPt_Forward->getRootObject())
3388  mMass_lowPt_Forward->Fill((*pfJets)[ijet].mass());
3389  mMVAPUJIDDiscriminant_lowPt_Forward = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_lowPt_Forward"];
3390  if (mMVAPUJIDDiscriminant_lowPt_Forward && mMVAPUJIDDiscriminant_lowPt_Forward->getRootObject())
3391  mMVAPUJIDDiscriminant_lowPt_Forward->Fill(puidmva);
3392  mCutPUJIDDiscriminant_lowPt_Forward = map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_lowPt_Forward"];
3393  if (mCutPUJIDDiscriminant_lowPt_Forward && mCutPUJIDDiscriminant_lowPt_Forward->getRootObject())
3394  mCutPUJIDDiscriminant_lowPt_Forward->Fill(puidcut);
3395  mHFEFrac_lowPt_Forward = map_of_MEs[DirName + "/" + "HFEFrac_lowPt_Forward"];
3396  if (mHFEFrac_lowPt_Forward && mHFEFrac_lowPt_Forward->getRootObject())
3397  mHFEFrac_lowPt_Forward->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3398  mHFHFrac_lowPt_Forward = map_of_MEs[DirName + "/" + "HFHFrac_lowPt_Forward"];
3399  if (mHFHFrac_lowPt_Forward && mHFHFrac_lowPt_Forward->getRootObject())
3400  mHFHFrac_lowPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3401  mHFEEn_lowPt_Forward = map_of_MEs[DirName + "/" + "HFEEn_lowPt_Forward"];
3402  if (mHFEEn_lowPt_Forward && mHFEEn_lowPt_Forward->getRootObject())
3403  mHFEEn_lowPt_Forward->Fill((*pfJets)[ijet].HFEMEnergy());
3404  mHFHEn_lowPt_Forward = map_of_MEs[DirName + "/" + "HFHEn_lowPt_Forward"];
3405  if (mHFHEn_lowPt_Forward && mHFHEn_lowPt_Forward->getRootObject())
3406  mHFHEn_lowPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergy());
3407  mNeutMultiplicity_lowPt_Forward = map_of_MEs[DirName + "/" + "NeutMultiplicity_lowPt_Forward"];
3408  if (mNeutMultiplicity_lowPt_Forward && mNeutMultiplicity_lowPt_Forward->getRootObject())
3409  mNeutMultiplicity_lowPt_Forward->Fill((*pfJets)[ijet].neutralMultiplicity());
3410  }
3411  if (correctedJet.pt() > 50. && correctedJet.pt() <= 140.) {
3412  //mAxis2_mediumPt_Forward = map_of_MEs[DirName+"/"+"qg_Axis2_mediumPt_Forward"];if(mAxis2_mediumPt_Forward && mAxis2_mediumPt_Forward->getRootObject()) mAxis2_mediumPt_Forward->Fill(QGaxis2);
3413  //mpTD_mediumPt_Forward = map_of_MEs[DirName+"/"+"qg_pTD_mediumPt_Forward"]; if(mpTD_mediumPt_Forward && mpTD_mediumPt_Forward->getRootObject()) mpTD_mediumPt_Forward->Fill(QGptD);
3414  //mMultiplicityQG_mediumPt_Forward = map_of_MEs[DirName+"/"+"qg_multiplicity_mediumPt_Forward"]; if(mMultiplicityQG_mediumPt_Forward && mMultiplicityQG_mediumPt_Forward->getRootObject()) mMultiplicityQG_mediumPt_Forward->Fill(QGmulti);
3415  //mqgLikelihood_mediumPt_Forward = map_of_MEs[DirName+"/"+"qg_Likelihood_mediumPt_Forward"]; if(mqgLikelihood_mediumPt_Forward && mqgLikelihood_mediumPt_Forward->getRootObject()) mqgLikelihood_mediumPt_Forward->Fill(QGLikelihood);
3416  mMass_mediumPt_Forward = map_of_MEs[DirName + "/" + "JetMass_mediumPt_Forward"];
3417  if (mMass_mediumPt_Forward && mMass_mediumPt_Forward->getRootObject())
3418  mMass_mediumPt_Forward->Fill((*pfJets)[ijet].mass());
3419  mMVAPUJIDDiscriminant_mediumPt_Forward =
3420  map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_Forward"];
3421  if (mMVAPUJIDDiscriminant_mediumPt_Forward && mMVAPUJIDDiscriminant_mediumPt_Forward->getRootObject())
3422  mMVAPUJIDDiscriminant_mediumPt_Forward->Fill(puidmva);
3423  mCutPUJIDDiscriminant_mediumPt_Forward =
3424  map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_mediumPt_Forward"];
3425  if (mCutPUJIDDiscriminant_mediumPt_Forward && mCutPUJIDDiscriminant_mediumPt_Forward->getRootObject())
3426  mCutPUJIDDiscriminant_mediumPt_Forward->Fill(puidcut);
3427  mHFEFrac_mediumPt_Forward = map_of_MEs[DirName + "/" + "HFEFrac_mediumPt_Forward"];
3428  if (mHFEFrac_mediumPt_Forward && mHFEFrac_mediumPt_Forward->getRootObject())
3429  mHFEFrac_mediumPt_Forward->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3430  mHFHFrac_mediumPt_Forward = map_of_MEs[DirName + "/" + "HFHFrac_mediumPt_Forward"];
3431  if (mHFHFrac_mediumPt_Forward && mHFHFrac_mediumPt_Forward->getRootObject())
3432  mHFHFrac_mediumPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3433  mHFEEn_mediumPt_Forward = map_of_MEs[DirName + "/" + "HFEEn_mediumPt_Forward"];
3434  if (mHFEEn_mediumPt_Forward && mHFEEn_mediumPt_Forward->getRootObject())
3435  mHFEEn_mediumPt_Forward->Fill((*pfJets)[ijet].HFEMEnergy());
3436  mHFHEn_mediumPt_Forward = map_of_MEs[DirName + "/" + "HFHEn_mediumPt_Forward"];
3437  if (mHFHEn_mediumPt_Forward && mHFHEn_mediumPt_Forward->getRootObject())
3438  mHFHEn_mediumPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergy());
3439  mNeutMultiplicity_mediumPt_Forward = map_of_MEs[DirName + "/" + "NeutMultiplicity_mediumPt_Forward"];
3440  if (mNeutMultiplicity_mediumPt_Forward && mNeutMultiplicity_mediumPt_Forward->getRootObject())
3441  mNeutMultiplicity_mediumPt_Forward->Fill((*pfJets)[ijet].neutralMultiplicity());
3442  }
3443  if (correctedJet.pt() > 140.) {
3444  //mAxis2_highPt_Forward = map_of_MEs[DirName+"/"+"qg_Axis2_highPt_Forward"];if(mAxis2_highPt_Forward && mAxis2_highPt_Forward->getRootObject()) mAxis2_highPt_Forward->Fill(QGaxis2);
3445  //mpTD_highPt_Forward = map_of_MEs[DirName+"/"+"qg_pTD_highPt_Forward"]; if(mpTD_highPt_Forward && mpTD_highPt_Forward->getRootObject()) mpTD_highPt_Forward->Fill(QGptD);
3446  //mMultiplicityQG_highPt_Forward = map_of_MEs[DirName+"/"+"qg_multiplicity_highPt_Forward"]; if(mMultiplicityQG_highPt_Forward && mMultiplicityQG_highPt_Forward->getRootObject()) mMultiplicityQG_highPt_Forward->Fill(QGmulti);
3447  //mqgLikelihood_highPt_Forward = map_of_MEs[DirName+"/"+"qg_Likelihood_highPt_Forward"]; if(mqgLikelihood_highPt_Forward && mqgLikelihood_highPt_Forward->getRootObject()) mqgLikelihood_highPt_Forward->Fill(QGLikelihood);
3448  mMass_highPt_Forward = map_of_MEs[DirName + "/" + "JetMass_highPt_Forward"];
3449  if (mMass_highPt_Forward && mMass_highPt_Forward->getRootObject())
3450  mMass_highPt_Forward->Fill((*pfJets)[ijet].mass());
3451  mMVAPUJIDDiscriminant_highPt_Forward = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_highPt_Forward"];
3452  if (mMVAPUJIDDiscriminant_highPt_Forward && mMVAPUJIDDiscriminant_highPt_Forward->getRootObject())
3453  mMVAPUJIDDiscriminant_highPt_Forward->Fill(puidmva);
3454  mCutPUJIDDiscriminant_highPt_Forward = map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_highPt_Forward"];
3455  if (mCutPUJIDDiscriminant_highPt_Forward && mCutPUJIDDiscriminant_highPt_Forward->getRootObject())
3456  mCutPUJIDDiscriminant_highPt_Forward->Fill(puidcut);
3457  mHFEFrac_highPt_Forward = map_of_MEs[DirName + "/" + "HFEFrac_highPt_Forward"];
3458  if (mHFEFrac_highPt_Forward && mHFEFrac_highPt_Forward->getRootObject())
3459  mHFEFrac_highPt_Forward->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3460  mHFHFrac_highPt_Forward = map_of_MEs[DirName + "/" + "HFHFrac_highPt_Forward"];
3461  if (mHFHFrac_highPt_Forward && mHFHFrac_highPt_Forward->getRootObject())
3462  mHFHFrac_highPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3463  mHFEEn_highPt_Forward = map_of_MEs[DirName + "/" + "HFEEn_highPt_Forward"];
3464  if (mHFEEn_highPt_Forward && mHFEEn_highPt_Forward->getRootObject())
3465  mHFEEn_highPt_Forward->Fill((*pfJets)[ijet].HFEMEnergy());
3466  mHFHEn_highPt_Forward = map_of_MEs[DirName + "/" + "HFHEn_highPt_Forward"];
3467  if (mHFHEn_highPt_Forward && mHFHEn_highPt_Forward->getRootObject())
3468  mHFHEn_highPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergy());
3469  mNeutMultiplicity_highPt_Forward = map_of_MEs[DirName + "/" + "NeutMultiplicity_highPt_Forward"];
3470  if (mNeutMultiplicity_highPt_Forward && mNeutMultiplicity_highPt_Forward->getRootObject())
3471  mNeutMultiplicity_highPt_Forward->Fill((*pfJets)[ijet].neutralMultiplicity());
3472  }
3473  }
3474  //OOT plots
3475  /*
3476  if(techTriggerResultBx0 && techTriggerResultBxE && techTriggerResultBxF){
3477  meEta_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"Eta_BXm2BXm1Filled"]; if ( meEta_BXm2BXm1Filled && meEta_BXm2BXm1Filled ->getRootObject()) meEta_BXm2BXm1Filled ->Fill((*pfJets)[ijet].eta());
3478  if(fabs(correctedJet.eta()) <= 1.3) {
3479  mePhFracBarrel_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PhFracBarrel_BXm2BXm1Filled"]; if ( mePhFracBarrel_BXm2BXm1Filled && mePhFracBarrel_BXm2BXm1Filled ->getRootObject()) mePhFracBarrel_BXm2BXm1Filled ->Fill((*pfJets)[ijet].photonEnergyFraction());
3480  meNHFracBarrel_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"NHFracBarrel_BXm2BXm1Filled"]; if ( meNHFracBarrel_BXm2BXm1Filled && meNHFracBarrel_BXm2BXm1Filled ->getRootObject()) meNHFracBarrel_BXm2BXm1Filled ->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3481  meCHFracBarrel_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"CHFracBarrel_BXm2BXm1Filled"]; if ( meCHFracBarrel_BXm2BXm1Filled && meCHFracBarrel_BXm2BXm1Filled ->getRootObject()) meCHFracBarrel_BXm2BXm1Filled ->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3482  mePtBarrel_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PtBarrel_BXm2BXm1Filled"]; if ( mePtBarrel_BXm2BXm1Filled && mePtBarrel_BXm2BXm1Filled ->getRootObject()) mePtBarrel_BXm2BXm1Filled ->Fill((*pfJets)[ijet].pt());
3483  }else if (correctedJet.eta() > -3.0 && correctedJet.eta() <= -1.3) {
3484  mePhFracEndCapMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PhFracEndCapMinus_BXm2BXm1Filled"]; if ( mePhFracEndCapMinus_BXm2BXm1Filled && mePhFracEndCapMinus_BXm2BXm1Filled ->getRootObject()) mePhFracEndCapMinus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].photonEnergyFraction());
3485  meNHFracEndCapMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"NHFracEndCapMinus_BXm2BXm1Filled"]; if ( meNHFracEndCapMinus_BXm2BXm1Filled && meNHFracEndCapMinus_BXm2BXm1Filled ->getRootObject()) meNHFracEndCapMinus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3486  meCHFracEndCapMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"CHFracEndCapMinus_BXm2BXm1Filled"]; if ( meCHFracEndCapMinus_BXm2BXm1Filled && meCHFracEndCapMinus_BXm2BXm1Filled ->getRootObject()) meCHFracEndCapMinus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3487  mePtEndCapMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PtEndCapMinus_BXm2BXm1Filled"]; if ( mePtEndCapMinus_BXm2BXm1Filled && mePtEndCapMinus_BXm2BXm1Filled ->getRootObject()) mePtEndCapMinus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].pt());
3488  }else if (correctedJet.eta() >= 1.3 && correctedJet.eta() < 3.0) {
3489  mePhFracEndCapPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PhFracEndCapPlus_BXm2BXm1Filled"]; if ( mePhFracEndCapPlus_BXm2BXm1Filled && mePhFracEndCapPlus_BXm2BXm1Filled ->getRootObject()) mePhFracEndCapPlus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].photonEnergyFraction());
3490  meNHFracEndCapPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"NHFracEndCapPlus_BXm2BXm1Filled"]; if ( meNHFracEndCapPlus_BXm2BXm1Filled && meNHFracEndCapPlus_BXm2BXm1Filled ->getRootObject()) meNHFracEndCapPlus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3491  meCHFracEndCapPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"CHFracEndCapPlus_BXm2BXm1Filled"]; if ( meCHFracEndCapPlus_BXm2BXm1Filled && meCHFracEndCapPlus_BXm2BXm1Filled ->getRootObject()) meCHFracEndCapPlus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3492  mePtEndCapPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PtEndCapPlus_BXm2BXm1Filled"]; if ( mePtEndCapPlus_BXm2BXm1Filled && mePtEndCapPlus_BXm2BXm1Filled ->getRootObject()) mePtEndCapPlus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].pt());
3493  }else if (correctedJet.eta() > -5.0 && correctedJet.eta() <= -3.0) {
3494  mePtForwardMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PtForwardMinus_BXm2BXm1Filled"]; if ( mePtForwardMinus_BXm2BXm1Filled && mePtForwardMinus_BXm2BXm1Filled ->getRootObject()) mePtForwardMinus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].pt());
3495  meHFHFracMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"HFHFracMinus_BXm2BXm1Filled"]; if ( meHFHFracMinus_BXm2BXm1Filled && meHFHFracMinus_BXm2BXm1Filled ->getRootObject()) meHFHFracMinus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3496  meHFEMFracMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"HFEMFracMinus_BXm2BXm1Filled"]; if ( meHFEMFracMinus_BXm2BXm1Filled && meHFEMFracMinus_BXm2BXm1Filled ->getRootObject()) meHFEMFracMinus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3497  }else if (correctedJet.eta() >= 3.0 && correctedJet.eta() < 5.0) {
3498  mePtForwardPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PtForwardPlus_BXm2BXm1Filled"]; if ( mePtForwardPlus_BXm2BXm1Filled && mePtForwardPlus_BXm2BXm1Filled ->getRootObject()) mePtForwardPlus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].pt());
3499  meHFHFracPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"HFHFracPlus_BXm2BXm1Filled"]; if ( meHFHFracPlus_BXm2BXm1Filled && meHFHFracPlus_BXm2BXm1Filled ->getRootObject()) meHFHFracPlus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3500  meHFEMFracPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"HFEMFracPlus_BXm2BXm1Filled"]; if ( meHFEMFracPlus_BXm2BXm1Filled && meHFEMFracPlus_BXm2BXm1Filled ->getRootObject()) meHFEMFracPlus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3501  }
3502  }*/
3503  if (techTriggerResultBx0 && techTriggerResultBxF) {
3504  meEta_BXm1Filled = map_of_MEs[DirName + "/" + "Eta_BXm1Filled"];
3505  if (meEta_BXm1Filled && meEta_BXm1Filled->getRootObject())
3506  meEta_BXm1Filled->Fill((*pfJets)[ijet].eta());
3507  if (fabs(correctedJet.eta()) <= 1.3) {
3508  mePhFracBarrel_BXm1Filled = map_of_MEs[DirName + "/" + "PhFracBarrel_BXm1Filled"];
3509  if (mePhFracBarrel_BXm1Filled && mePhFracBarrel_BXm1Filled->getRootObject())
3510  mePhFracBarrel_BXm1Filled->Fill((*pfJets)[ijet].photonEnergyFraction());
3511  meNHFracBarrel_BXm1Filled = map_of_MEs[DirName + "/" + "NHFracBarrel_BXm1Filled"];
3512  if (meNHFracBarrel_BXm1Filled && meNHFracBarrel_BXm1Filled->getRootObject())
3513  meNHFracBarrel_BXm1Filled->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3514  meCHFracBarrel_BXm1Filled = map_of_MEs[DirName + "/" + "CHFracBarrel_BXm1Filled"];
3515  if (meCHFracBarrel_BXm1Filled && meCHFracBarrel_BXm1Filled->getRootObject())
3516  meCHFracBarrel_BXm1Filled->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3517  mePtBarrel_BXm1Filled = map_of_MEs[DirName + "/" + "PtBarrel_BXm1Filled"];
3518  if (mePtBarrel_BXm1Filled && mePtBarrel_BXm1Filled->getRootObject())
3519  mePtBarrel_BXm1Filled->Fill((*pfJets)[ijet].pt());
3520  } else if (correctedJet.eta() > -3.0 && correctedJet.eta() <= -1.3) {
3521  mePhFracEndCapMinus_BXm1Filled = map_of_MEs[DirName + "/" + "PhFracEndCapMinus_BXm1Filled"];
3522  if (mePhFracEndCapMinus_BXm1Filled && mePhFracEndCapMinus_BXm1Filled->getRootObject())
3523  mePhFracEndCapMinus_BXm1Filled->Fill((*pfJets)[ijet].photonEnergyFraction());
3524  meNHFracEndCapMinus_BXm1Filled = map_of_MEs[DirName + "/" + "NHFracEndCapMinus_BXm1Filled"];
3525  if (meNHFracEndCapMinus_BXm1Filled && meNHFracEndCapMinus_BXm1Filled->getRootObject())
3526  meNHFracEndCapMinus_BXm1Filled->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3527  meCHFracEndCapMinus_BXm1Filled = map_of_MEs[DirName + "/" + "CHFracEndCapMinus_BXm1Filled"];
3528  if (meCHFracEndCapMinus_BXm1Filled && meCHFracEndCapMinus_BXm1Filled->getRootObject())
3529  meCHFracEndCapMinus_BXm1Filled->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3530  mePtEndCapMinus_BXm1Filled = map_of_MEs[DirName + "/" + "PtEndCapMinus_BXm1Filled"];
3531  if (mePtEndCapMinus_BXm1Filled && mePtEndCapMinus_BXm1Filled->getRootObject())
3532  mePtEndCapMinus_BXm1Filled->Fill((*pfJets)[ijet].pt());
3533  } else if (correctedJet.eta() >= 1.3 && correctedJet.eta() < 3.0) {
3534  mePhFracEndCapPlus_BXm1Filled = map_of_MEs[DirName + "/" + "PhFracEndCapPlus_BXm1Filled"];
3535  if (mePhFracEndCapPlus_BXm1Filled && mePhFracEndCapPlus_BXm1Filled->getRootObject())
3536  mePhFracEndCapPlus_BXm1Filled->Fill((*pfJets)[ijet].photonEnergyFraction());
3537  meNHFracEndCapPlus_BXm1Filled = map_of_MEs[DirName + "/" + "NHFracEndCapPlus_BXm1Filled"];
3538  if (meNHFracEndCapPlus_BXm1Filled && meNHFracEndCapPlus_BXm1Filled->getRootObject())
3539  meNHFracEndCapPlus_BXm1Filled->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3540  meCHFracEndCapPlus_BXm1Filled = map_of_MEs[DirName + "/" + "CHFracEndCapPlus_BXm1Filled"];
3541  if (meCHFracEndCapPlus_BXm1Filled && meCHFracEndCapPlus_BXm1Filled->getRootObject())
3542  meCHFracEndCapPlus_BXm1Filled->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3543  mePtEndCapPlus_BXm1Filled = map_of_MEs[DirName + "/" + "PtEndCapPlus_BXm1Filled"];
3544  if (mePtEndCapPlus_BXm1Filled && mePtEndCapPlus_BXm1Filled->getRootObject())
3545  mePtEndCapPlus_BXm1Filled->Fill((*pfJets)[ijet].pt());
3546  } else if (correctedJet.eta() > -5.0 && correctedJet.eta() <= -3.0) {
3547  mePtForwardMinus_BXm1Filled = map_of_MEs[DirName + "/" + "PtForwardMinus_BXm1Filled"];
3548  if (mePtForwardMinus_BXm1Filled && mePtForwardMinus_BXm1Filled->getRootObject())
3549  mePtForwardMinus_BXm1Filled->Fill((*pfJets)[ijet].pt());
3550  meHFHFracMinus_BXm1Filled = map_of_MEs[DirName + "/" + "HFHFracMinus_BXm1Filled"];
3551  if (meHFHFracMinus_BXm1Filled && meHFHFracMinus_BXm1Filled->getRootObject())
3552  meHFHFracMinus_BXm1Filled->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3553  meHFEMFracMinus_BXm1Filled = map_of_MEs[DirName + "/" + "HFEMFracMinus_BXm1Filled"];
3554  if (meHFEMFracMinus_BXm1Filled && meHFEMFracMinus_BXm1Filled->getRootObject())
3555  meHFEMFracMinus_BXm1Filled->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3556  } else if (correctedJet.eta() >= 3.0 && correctedJet.eta() < 5.0) {
3557  mePtForwardPlus_BXm1Filled = map_of_MEs[DirName + "/" + "PtForwardPlus_BXm1Filled"];
3558  if (mePtForwardPlus_BXm1Filled && mePtForwardPlus_BXm1Filled->getRootObject())
3559  mePtForwardPlus_BXm1Filled->Fill((*pfJets)[ijet].pt());
3560  meHFHFracPlus_BXm1Filled = map_of_MEs[DirName + "/" + "HFHFracPlus_BXm1Filled"];
3561  if (meHFHFracPlus_BXm1Filled && meHFHFracPlus_BXm1Filled->getRootObject())
3562  meHFHFracPlus_BXm1Filled->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3563  meHFEMFracPlus_BXm1Filled = map_of_MEs[DirName + "/" + "HFEMFracPlus_BXm1Filled"];
3564  if (meHFEMFracPlus_BXm1Filled && meHFEMFracPlus_BXm1Filled->getRootObject())
3565  meHFEMFracPlus_BXm1Filled->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3566  }
3567  } /*
3568  if(techTriggerResultBx0 && !techTriggerResultBxE && !techTriggerResultBxF){
3569  meEta_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"Eta_BXm2BXm1Empty"]; if ( meEta_BXm2BXm1Empty && meEta_BXm2BXm1Empty ->getRootObject()) meEta_BXm2BXm1Empty ->Fill((*pfJets)[ijet].eta());
3570  if(fabs(correctedJet.eta()) <= 1.3) {
3571  mePhFracBarrel_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PhFracBarrel_BXm2BXm1Empty"]; if ( mePhFracBarrel_BXm2BXm1Empty && mePhFracBarrel_BXm2BXm1Empty ->getRootObject()) mePhFracBarrel_BXm2BXm1Empty ->Fill((*pfJets)[ijet].photonEnergyFraction());
3572  meNHFracBarrel_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"NHFracBarrel_BXm2BXm1Empty"]; if ( meNHFracBarrel_BXm2BXm1Empty && meNHFracBarrel_BXm2BXm1Empty ->getRootObject()) meNHFracBarrel_BXm2BXm1Empty ->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3573  meCHFracBarrel_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"CHFracBarrel_BXm2BXm1Empty"]; if ( meCHFracBarrel_BXm2BXm1Empty && meCHFracBarrel_BXm2BXm1Empty ->getRootObject()) meCHFracBarrel_BXm2BXm1Empty ->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3574  mePtBarrel_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PtBarrel_BXm2BXm1Empty"]; if ( mePtBarrel_BXm2BXm1Empty && mePtBarrel_BXm2BXm1Empty ->getRootObject()) mePtBarrel_BXm2BXm1Empty ->Fill((*pfJets)[ijet].pt());
3575  }else if (correctedJet.eta() > -3.0 && correctedJet.eta() <= -1.3) {
3576  mePhFracEndCapMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PhFracEndCapMinus_BXm2BXm1Empty"]; if ( mePhFracEndCapMinus_BXm2BXm1Empty && mePhFracEndCapMinus_BXm2BXm1Empty ->getRootObject()) mePhFracEndCapMinus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].photonEnergyFraction());
3577  meNHFracEndCapMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"NHFracEndCapMinus_BXm2BXm1Empty"]; if ( meNHFracEndCapMinus_BXm2BXm1Empty && meNHFracEndCapMinus_BXm2BXm1Empty ->getRootObject()) meNHFracEndCapMinus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3578  meCHFracEndCapMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"CHFracEndCapMinus_BXm2BXm1Empty"]; if ( meCHFracEndCapMinus_BXm2BXm1Empty && meCHFracEndCapMinus_BXm2BXm1Empty ->getRootObject()) meCHFracEndCapMinus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3579  mePtEndCapMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PtEndCapMinus_BXm2BXm1Empty"]; if ( mePtEndCapMinus_BXm2BXm1Empty && mePtEndCapMinus_BXm2BXm1Empty ->getRootObject()) mePtEndCapMinus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].pt());
3580  }else if (correctedJet.eta() >= 1.3 && correctedJet.eta() < 3.0) {
3581  mePhFracEndCapPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PhFracEndCapPlus_BXm2BXm1Empty"]; if ( mePhFracEndCapPlus_BXm2BXm1Empty && mePhFracEndCapPlus_BXm2BXm1Empty ->getRootObject()) mePhFracEndCapPlus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].photonEnergyFraction());
3582  meNHFracEndCapPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"NHFracEndCapPlus_BXm2BXm1Empty"]; if ( meNHFracEndCapPlus_BXm2BXm1Empty && meNHFracEndCapPlus_BXm2BXm1Empty ->getRootObject()) meNHFracEndCapPlus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3583  meCHFracEndCapPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"CHFracEndCapPlus_BXm2BXm1Empty"]; if ( meCHFracEndCapPlus_BXm2BXm1Empty && meCHFracEndCapPlus_BXm2BXm1Empty ->getRootObject()) meCHFracEndCapPlus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3584  mePtEndCapPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PtEndCapPlus_BXm2BXm1Empty"]; if ( mePtEndCapPlus_BXm2BXm1Empty && mePtEndCapPlus_BXm2BXm1Empty ->getRootObject()) mePtEndCapPlus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].pt());
3585  }else if (correctedJet.eta() > -5.0 && correctedJet.eta() <= -3.0) {
3586  mePtForwardMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PtForwardMinus_BXm2BXm1Empty"]; if ( mePtForwardMinus_BXm2BXm1Empty && mePtForwardMinus_BXm2BXm1Empty ->getRootObject()) mePtForwardMinus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].pt());
3587  meHFHFracMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"HFHFracMinus_BXm2BXm1Empty"]; if ( meHFHFracMinus_BXm2BXm1Empty && meHFHFracMinus_BXm2BXm1Empty ->getRootObject()) meHFHFracMinus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3588  meHFEMFracMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"HFEMFracMinus_BXm2BXm1Empty"]; if ( meHFEMFracMinus_BXm2BXm1Empty && meHFEMFracMinus_BXm2BXm1Empty ->getRootObject()) meHFEMFracMinus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3589  }else if (correctedJet.eta() >= 3.0 && correctedJet.eta() < 5.0) {
3590  mePtForwardPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PtForwardPlus_BXm2BXm1Empty"]; if ( mePtForwardPlus_BXm2BXm1Empty && mePtForwardPlus_BXm2BXm1Empty ->getRootObject()) mePtForwardPlus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].pt());
3591  meHFHFracPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"HFHFracPlus_BXm2BXm1Empty"]; if ( meHFHFracPlus_BXm2BXm1Empty && meHFHFracPlus_BXm2BXm1Empty ->getRootObject()) meHFHFracPlus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3592  meHFEMFracPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"HFEMFracPlus_BXm2BXm1Empty"]; if ( meHFEMFracPlus_BXm2BXm1Empty && meHFEMFracPlus_BXm2BXm1Empty ->getRootObject()) meHFEMFracPlus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3593  }
3594  }*/
3595  if (techTriggerResultBx0 && !techTriggerResultBxF) {
3596  meEta_BXm1Empty = map_of_MEs[DirName + "/" + "Eta_BXm1Empty"];
3597  if (meEta_BXm1Empty && meEta_BXm1Empty->getRootObject())
3598  meEta_BXm1Empty->Fill((*pfJets)[ijet].eta());
3599  if (fabs(correctedJet.eta()) <= 1.3) {
3600  mePhFracBarrel_BXm1Empty = map_of_MEs[DirName + "/" + "PhFracBarrel_BXm1Empty"];
3601  if (mePhFracBarrel_BXm1Empty && mePhFracBarrel_BXm1Empty->getRootObject())
3602  mePhFracBarrel_BXm1Empty->Fill((*pfJets)[ijet].photonEnergyFraction());
3603  meNHFracBarrel_BXm1Empty = map_of_MEs[DirName + "/" + "NHFracBarrel_BXm1Empty"];
3604  if (meNHFracBarrel_BXm1Empty && meNHFracBarrel_BXm1Empty->getRootObject())
3605  meNHFracBarrel_BXm1Empty->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3606  meCHFracBarrel_BXm1Empty = map_of_MEs[DirName + "/" + "CHFracBarrel_BXm1Empty"];
3607  if (meCHFracBarrel_BXm1Empty && meCHFracBarrel_BXm1Empty->getRootObject())
3608  meCHFracBarrel_BXm1Empty->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3609  mePtBarrel_BXm1Empty = map_of_MEs[DirName + "/" + "PtBarrel_BXm1Empty"];
3610  if (mePtBarrel_BXm1Empty && mePtBarrel_BXm1Empty->getRootObject())
3611  mePtBarrel_BXm1Empty->Fill((*pfJets)[ijet].pt());
3612  } else if (correctedJet.eta() > -3.0 && correctedJet.eta() <= -1.3) {
3613  mePhFracEndCapMinus_BXm1Empty = map_of_MEs[DirName + "/" + "PhFracEndCapMinus_BXm1Empty"];
3614  if (mePhFracEndCapMinus_BXm1Empty && mePhFracEndCapMinus_BXm1Empty->getRootObject())
3615  mePhFracEndCapMinus_BXm1Empty->Fill((*pfJets)[ijet].photonEnergyFraction());
3616  meNHFracEndCapMinus_BXm1Empty = map_of_MEs[DirName + "/" + "NHFracEndCapMinus_BXm1Empty"];
3617  if (meNHFracEndCapMinus_BXm1Empty && meNHFracEndCapMinus_BXm1Empty->getRootObject())
3618  meNHFracEndCapMinus_BXm1Empty->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3619  meCHFracEndCapMinus_BXm1Empty = map_of_MEs[DirName + "/" + "CHFracEndCapMinus_BXm1Empty"];
3620  if (meCHFracEndCapMinus_BXm1Empty && meCHFracEndCapMinus_BXm1Empty->getRootObject())
3621  meCHFracEndCapMinus_BXm1Empty->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3622  mePtEndCapMinus_BXm1Empty = map_of_MEs[DirName + "/" + "PtEndCapMinus_BXm1Empty"];
3623  if (mePtEndCapMinus_BXm1Empty && mePtEndCapMinus_BXm1Empty->getRootObject())
3624  mePtEndCapMinus_BXm1Empty->Fill((*pfJets)[ijet].pt());
3625  } else if (correctedJet.eta() >= 1.3 && correctedJet.eta() < 3.0) {
3626  mePhFracEndCapPlus_BXm1Empty = map_of_MEs[DirName + "/" + "PhFracEndCapPlus_BXm1Empty"];
3627  if (mePhFracEndCapPlus_BXm1Empty && mePhFracEndCapPlus_BXm1Empty->getRootObject())
3628  mePhFracEndCapPlus_BXm1Empty->Fill((*pfJets)[ijet].photonEnergyFraction());
3629  meNHFracEndCapPlus_BXm1Empty = map_of_MEs[DirName + "/" + "NHFracEndCapPlus_BXm1Empty"];
3630  if (meNHFracEndCapPlus_BXm1Empty && meNHFracEndCapPlus_BXm1Empty->getRootObject())
3631  meNHFracEndCapPlus_BXm1Empty->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3632  meCHFracEndCapPlus_BXm1Empty = map_of_MEs[DirName + "/" + "CHFracEndCapPlus_BXm1Empty"];
3633  if (meCHFracEndCapPlus_BXm1Empty && meCHFracEndCapPlus_BXm1Empty->getRootObject())
3634  meCHFracEndCapPlus_BXm1Empty->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3635  mePtEndCapPlus_BXm1Empty = map_of_MEs[DirName + "/" + "PtEndCapPlus_BXm1Empty"];
3636  if (mePtEndCapPlus_BXm1Empty && mePtEndCapPlus_BXm1Empty->getRootObject())
3637  mePtEndCapPlus_BXm1Empty->Fill((*pfJets)[ijet].pt());
3638  } else if (correctedJet.eta() > -5.0 && correctedJet.eta() <= -3.0) {
3639  mePtForwardMinus_BXm1Empty = map_of_MEs[DirName + "/" + "PtForwardMinus_BXm1Empty"];
3640  if (mePtForwardMinus_BXm1Empty && mePtForwardMinus_BXm1Empty->getRootObject())
3641  mePtForwardMinus_BXm1Empty->Fill((*pfJets)[ijet].pt());
3642  meHFHFracMinus_BXm1Empty = map_of_MEs[DirName + "/" + "HFHFracMinus_BXm1Empty"];
3643  if (meHFHFracMinus_BXm1Empty && meHFHFracMinus_BXm1Empty->getRootObject())
3644  meHFHFracMinus_BXm1Empty->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3645  meHFEMFracMinus_BXm1Empty = map_of_MEs[DirName + "/" + "HFEMFracMinus_BXm1Empty"];
3646  if (meHFEMFracMinus_BXm1Empty && meHFEMFracMinus_BXm1Empty->getRootObject())
3647  meHFEMFracMinus_BXm1Empty->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3648  } else if (correctedJet.eta() >= 3.0 && correctedJet.eta() < 5.0) {
3649  mePtForwardPlus_BXm1Empty = map_of_MEs[DirName + "/" + "PtForwardPlus_BXm1Empty"];
3650  if (mePtForwardPlus_BXm1Empty && mePtForwardPlus_BXm1Empty->getRootObject())
3651  mePtForwardPlus_BXm1Empty->Fill((*pfJets)[ijet].pt());
3652  meHFHFracPlus_BXm1Empty = map_of_MEs[DirName + "/" + "HFHFracPlus_BXm1Empty"];
3653  if (meHFHFracPlus_BXm1Empty && meHFHFracPlus_BXm1Empty->getRootObject())
3654  meHFHFracPlus_BXm1Empty->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3655  meHFEMFracPlus_BXm1Empty = map_of_MEs[DirName + "/" + "HFEMFracPlus_BXm1Empty"];
3656  if (meHFEMFracPlus_BXm1Empty && meHFEMFracPlus_BXm1Empty->getRootObject())
3657  meHFEMFracPlus_BXm1Empty->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3658  }
3659  }
3660  mChargedHadronEnergy = map_of_MEs[DirName + "/" + "ChargedHadronEnergy"];
3661  if (mChargedHadronEnergy && mChargedHadronEnergy->getRootObject())
3662  mChargedHadronEnergy->Fill((*pfJets)[ijet].chargedHadronEnergy());
3663  mNeutralHadronEnergy = map_of_MEs[DirName + "/" + "NeutralHadronEnergy"];
3664  if (mNeutralHadronEnergy && mNeutralHadronEnergy->getRootObject())
3665  mNeutralHadronEnergy->Fill((*pfJets)[ijet].neutralHadronEnergy());
3666  mChargedEmEnergy = map_of_MEs[DirName + "/" + "ChargedEmEnergy"];
3667  if (mChargedEmEnergy && mChargedEmEnergy->getRootObject())
3668  mChargedEmEnergy->Fill((*pfJets)[ijet].chargedEmEnergy());
3669  mChargedMuEnergy = map_of_MEs[DirName + "/" + "ChargedMuEnergy"];
3670  if (mChargedMuEnergy && mChargedMuEnergy->getRootObject())
3671  mChargedMuEnergy->Fill((*pfJets)[ijet].chargedMuEnergy());
3672  mNeutralEmEnergy = map_of_MEs[DirName + "/" + "NeutralEmEnergy"];
3673  if (mNeutralEmEnergy && mNeutralEmEnergy->getRootObject())
3674  mNeutralEmEnergy->Fill((*pfJets)[ijet].neutralEmEnergy());
3675  mChargedMultiplicity = map_of_MEs[DirName + "/" + "ChargedMultiplicity"];
3676  if (mChargedMultiplicity && mChargedMultiplicity->getRootObject())
3677  mChargedMultiplicity->Fill((*pfJets)[ijet].chargedMultiplicity());
3678  mNeutralMultiplicity = map_of_MEs[DirName + "/" + "NeutralMultiplicity"];
3679  if (mNeutralMultiplicity && mNeutralMultiplicity->getRootObject())
3680  mNeutralMultiplicity->Fill((*pfJets)[ijet].neutralMultiplicity());
3681  mMuonMultiplicity = map_of_MEs[DirName + "/" + "MuonMultiplicity"];
3682  if (mMuonMultiplicity && mMuonMultiplicity->getRootObject())
3683  mMuonMultiplicity->Fill((*pfJets)[ijet].muonMultiplicity());
3684  //_______________________________________________________
3685  mNeutralFraction = map_of_MEs[DirName + "/" + "NeutralConstituentsFraction"];
3686  if (mNeutralFraction && mNeutralFraction->getRootObject())
3687  mNeutralFraction->Fill((double)(*pfJets)[ijet].neutralMultiplicity() /
3688  (double)(*pfJets)[ijet].nConstituents());
3689  mChargedHadronEnergy_profile = map_of_MEs[DirName + "/" + "ChargedHadronEnergy_profile"];
3690  if (mChargedHadronEnergy_profile && mChargedHadronEnergy_profile->getRootObject())
3691  mChargedHadronEnergy_profile->Fill(numPV, (*pfJets)[ijet].chargedHadronEnergy());
3692  mNeutralHadronEnergy_profile = map_of_MEs[DirName + "/" + "NeutralHadronEnergy_profile"];
3693  if (mNeutralHadronEnergy_profile && mNeutralHadronEnergy_profile->getRootObject())
3694  mNeutralHadronEnergy_profile->Fill(numPV, (*pfJets)[ijet].neutralHadronEnergy());
3695  mChargedEmEnergy_profile = map_of_MEs[DirName + "/" + "ChargedEmEnergy_profile"];
3696  if (mChargedEmEnergy_profile && mChargedEmEnergy_profile->getRootObject())
3697  mChargedEmEnergy_profile->Fill(numPV, (*pfJets)[ijet].chargedEmEnergy());
3698  mChargedMuEnergy_profile = map_of_MEs[DirName + "/" + "ChargedMuEnergy_profile"];
3699  if (mChargedMuEnergy_profile && mChargedMuEnergy_profile->getRootObject())
3700  mChargedMuEnergy_profile->Fill(numPV, (*pfJets)[ijet].chargedMuEnergy());
3701  mNeutralEmEnergy_profile = map_of_MEs[DirName + "/" + "NeutralEmEnergy_profile"];
3702  if (mNeutralEmEnergy_profile && mNeutralEmEnergy_profile->getRootObject())
3703  mNeutralEmEnergy_profile->Fill(numPV, (*pfJets)[ijet].neutralEmEnergy());
3704  mChargedMultiplicity_profile = map_of_MEs[DirName + "/" + "ChargedMultiplicity_profile"];
3705  if (mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject())
3706  mChargedMultiplicity_profile->Fill(numPV, (*pfJets)[ijet].chargedMultiplicity());
3707  mNeutralMultiplicity_profile = map_of_MEs[DirName + "/" + "NeutralMultiplicity_profile"];
3708  if (mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject())
3709  mNeutralMultiplicity_profile->Fill(numPV, (*pfJets)[ijet].neutralMultiplicity());
3710  mMuonMultiplicity_profile = map_of_MEs[DirName + "/" + "MuonMultiplicity_profile"];
3711  if (mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject())
3712  mMuonMultiplicity_profile->Fill(numPV, (*pfJets)[ijet].muonMultiplicity());
3713  } //cleaned PFJets
3714  } //PFJet specific loop
3715  //IDs have been defined by now
3716  //check here already for ordering of jets -> if we choose later to soften pt-thresholds for physics selections
3717  //compared to the default jet histograms
3718  if (pass_Z_selection) { //if Z selection not passed, don't need to find out of muons and Jets are overlapping
3719  if (deltaR((*Muons)[mu_index0].eta(), (*Muons)[mu_index0].phi(), correctedJet.eta(), correctedJet.phi()) > 0.2 &&
3720  deltaR((*Muons)[mu_index1].eta(), (*Muons)[mu_index1].phi(), correctedJet.eta(), correctedJet.phi()) > 0.2) {
3721  if (correctedJet.pt() > pt1_mu_vetoed) {
3722  pt2_mu_vetoed = pt1_mu_vetoed;
3723  ind2_mu_vetoed = ind1_mu_vetoed;
3724  cleaned_second_jet_mu_vetoed = cleaned_first_jet_mu_vetoed;
3725  pt1_mu_vetoed = correctedJet.pt();
3726  ind1_mu_vetoed = ijet;
3727  cleaned_first_jet_mu_vetoed = JetIDWPU;
3728  } else if (correctedJet.pt() > pt2_mu_vetoed) {
3729  pt2_mu_vetoed = correctedJet.pt();
3730  ind2_mu_vetoed = ijet;
3731  cleaned_second_jet_mu_vetoed = JetIDWPU;
3732  }
3733  }
3734  }
3735 
3736  if (correctedJet.pt() > pt1) {
3737  pt3 = pt2;
3738  ind3 = ind2;
3739  //cleaned_third_jet=cleaned_second_jet;
3740  pt2 = pt1;
3741  ind2 = ind1;
3742  cleaned_second_jet = cleaned_first_jet;
3743  pt1 = correctedJet.pt();
3744  ind1 = ijet;
3745  cleaned_first_jet = JetIDWPU;
3746  } else if (correctedJet.pt() > pt2) {
3747  pt3 = pt2;
3748  ind3 = ind2;
3749  //cleaned_third_jet=cleaned_second_jet;
3750  pt2 = correctedJet.pt();
3751  ind2 = ijet;
3752  cleaned_second_jet = JetIDWPU;
3753  } else if (correctedJet.pt() > pt3) {
3754  pt3 = correctedJet.pt();
3755  ind3 = ijet;
3756  //cleaned_third_jet=JetIDWPU;
3757  }
3758  if (!pass_corrected) {
3759  continue;
3760  }
3761  //after jettype specific variables are filled -> perform histograms for all jets
3762  //fill JetID efficiencies if uncleaned selection is chosen
3763  if (!runcosmics_ && pass_corrected) {
3764  if (jetpassid) {
3765  mLooseJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "JetIDPassFractionVSeta"];
3766  if (mLooseJIDPassFractionVSeta && mLooseJIDPassFractionVSeta->getRootObject())
3767  mLooseJIDPassFractionVSeta->Fill(correctedJet.eta(), 1.);
3768  mLooseJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "JetIDPassFractionVSpt"];
3769  if (mLooseJIDPassFractionVSpt && mLooseJIDPassFractionVSpt->getRootObject())
3770  mLooseJIDPassFractionVSpt->Fill(correctedJet.pt(), 1.);
3771  if (fabs(correctedJet.eta()) < 3.0) {
3772  mLooseJIDPassFractionVSptNoHF = map_of_MEs[DirName + "/" + "JetIDPassFractionVSptNoHF"];
3773  if (mLooseJIDPassFractionVSptNoHF && mLooseJIDPassFractionVSptNoHF->getRootObject())
3774  mLooseJIDPassFractionVSptNoHF->Fill(correctedJet.pt(), 1.);
3775  }
3776  } else {
3777  mLooseJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "JetIDPassFractionVSeta"];
3778  if (mLooseJIDPassFractionVSeta && mLooseJIDPassFractionVSeta->getRootObject())
3779  mLooseJIDPassFractionVSeta->Fill(correctedJet.eta(), 0.);
3780  mLooseJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "JetIDPassFractionVSpt"];
3781  if (mLooseJIDPassFractionVSpt && mLooseJIDPassFractionVSpt->getRootObject())
3782  mLooseJIDPassFractionVSpt->Fill(correctedJet.pt(), 0.);
3783  if (fabs(correctedJet.eta()) < 3.0) {
3784  mLooseJIDPassFractionVSptNoHF = map_of_MEs[DirName + "/" + "JetIDPassFractionVSptNoHF"];
3785  if (mLooseJIDPassFractionVSptNoHF && mLooseJIDPassFractionVSptNoHF->getRootObject())
3786  mLooseJIDPassFractionVSptNoHF->Fill(correctedJet.pt(), 0.);
3787  }
3788  }
3789  }
3790  //here we so far consider calojets ->check for PFJets and JPT jets again
3791  if (Thiscleaned && pass_corrected) { //might be softer than loose jet ID
3792  numofjets++;
3793  if (isCaloJet_) {
3794  jetME = map_of_MEs[DirName + "/" + "jetReco"];
3795  if (jetME && jetME->getRootObject())
3796  jetME->Fill(1);
3797  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
3798  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
3799  mJetEnergyCorr->Fill(correctedJet.pt() / (*caloJets)[ijet].pt());
3800  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
3801  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
3802  mJetEnergyCorrVSEta->Fill(correctedJet.eta(), correctedJet.pt() / (*caloJets)[ijet].pt());
3803  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
3804  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
3805  mJetEnergyCorrVSPt->Fill(correctedJet.pt(), correctedJet.pt() / (*caloJets)[ijet].pt());
3806  }
3807  if (isPFJet_) {
3808  jetME = map_of_MEs[DirName + "/" + "jetReco"];
3809  if (jetME && jetME->getRootObject())
3810  jetME->Fill(2);
3811  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
3812  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
3813  mJetEnergyCorr->Fill(correctedJet.pt() / (*pfJets)[ijet].pt());
3814  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
3815  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
3816  mJetEnergyCorrVSEta->Fill(correctedJet.eta(), correctedJet.pt() / (*pfJets)[ijet].pt());
3817  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
3818  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
3819  mJetEnergyCorrVSPt->Fill(correctedJet.pt(), correctedJet.pt() / (*pfJets)[ijet].pt());
3820  }
3821  if (isMiniAODJet_) {
3822  jetME = map_of_MEs[DirName + "/" + "jetReco"];
3823  if (jetME && jetME->getRootObject())
3824  jetME->Fill(4);
3825  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
3826  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
3827  mJetEnergyCorr->Fill(1. / (*patJets)[ijet].jecFactor("Uncorrected"));
3828  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
3829  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
3830  mJetEnergyCorrVSEta->Fill(correctedJet.eta(), 1. / (*patJets)[ijet].jecFactor("Uncorrected"));
3831  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
3832  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
3833  mJetEnergyCorrVSPt->Fill(correctedJet.pt(), 1. / (*patJets)[ijet].jecFactor("Uncorrected"));
3834  if (filljetsubstruc_) {
3835  //miniaod specific variables, especially for substructure
3836  mSoftDropMass = map_of_MEs[DirName + "/" + "SoftDropMass"];
3837  if (mSoftDropMass && mSoftDropMass->getRootObject() &&
3838  (*patJets)[ijet].hasUserFloat("ak8PFJetsPuppiSoftDropMass"))
3839  mSoftDropMass->Fill((*patJets)[ijet].userFloat("ak8PFJetsPuppiSoftDropMass"));
3840  mPrunedMass = map_of_MEs[DirName + "/" + "PrunedMass"];
3841  mtau2_over_tau1 = map_of_MEs[DirName + "/" + "tau2_over_tau1"];
3842  if (mtau2_over_tau1 && mtau2_over_tau1->getRootObject() &&
3843  ((*patJets)[ijet].hasUserFloat("NjettinessAK8Puppi:tau1") &&
3844  (*patJets)[ijet].hasUserFloat("NjettinessAK8Puppi:tau2")))
3845  mtau2_over_tau1->Fill((*patJets)[ijet].userFloat("NjettinessAK8Puppi:tau2") /
3846  (*patJets)[ijet].userFloat("NjettinessAK8Puppi:tau1"));
3847  mtau3_over_tau2 = map_of_MEs[DirName + "/" + "tau3_over_tau2"];
3848  if (mtau3_over_tau2 && mtau3_over_tau2->getRootObject() &&
3849  ((*patJets)[ijet].hasUserFloat("NjettinessAK8Puppi:tau2") &&
3850  (*patJets)[ijet].hasUserFloat("NjettinessAK8Puppi:tau3")))
3851  mtau3_over_tau2->Fill((*patJets)[ijet].userFloat("NjettinessAK8Puppi:tau3") /
3852  (*patJets)[ijet].userFloat("NjettinessAK8Puppi:tau2"));
3853 
3854  if ((*patJets)[ijet].hasSubjets("SoftDropPuppi")) {
3855  mnSubJetsSoftDrop = map_of_MEs[DirName + "/" + "nSubJets_SoftDrop"];
3856  if (mnSubJetsSoftDrop && mnSubJetsSoftDrop->getRootObject())
3857  mnSubJetsSoftDrop->Fill((*patJets)[ijet].subjets("SoftDropPuppi").size());
3858  }
3859  if ((*patJets)[ijet].hasSubjets("SoftDropPuppi") && !(*patJets)[ijet].subjets("SoftDropPuppi").empty()) {
3860  mSubJet1_SoftDrop_pt = map_of_MEs[DirName + "/" + "SubJet1_SoftDrop_pt"];
3861  if (mSubJet1_SoftDrop_pt && mSubJet1_SoftDrop_pt->getRootObject())
3862  mSubJet1_SoftDrop_pt->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[0]->pt());
3863  mSubJet1_SoftDrop_eta = map_of_MEs[DirName + "/" + "SubJet1_SoftDrop_eta"];
3864  if (mSubJet1_SoftDrop_eta && mSubJet1_SoftDrop_eta->getRootObject())
3865  mSubJet1_SoftDrop_eta->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[0]->eta());
3866  mSubJet1_SoftDrop_phi = map_of_MEs[DirName + "/" + "SubJet1_SoftDrop_phi"];
3867  if (mSubJet1_SoftDrop_phi && mSubJet1_SoftDrop_phi->getRootObject())
3868  mSubJet1_SoftDrop_phi->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[0]->phi());
3869  mSubJet1_SoftDrop_mass = map_of_MEs[DirName + "/" + "SubJet1_SoftDrop_mass"];
3870  if (mSubJet1_SoftDrop_mass && mSubJet1_SoftDrop_mass->getRootObject())
3871  mSubJet1_SoftDrop_mass->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[0]->mass());
3872  if ((*patJets)[ijet].subjets("SoftDropPuppi").size() > 1) {
3873  mSubJet2_SoftDrop_pt = map_of_MEs[DirName + "/" + "SubJet2_SoftDrop_pt"];
3874  if (mSubJet2_SoftDrop_pt && mSubJet2_SoftDrop_pt->getRootObject())
3875  mSubJet2_SoftDrop_pt->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[1]->pt());
3876  mSubJet2_SoftDrop_eta = map_of_MEs[DirName + "/" + "SubJet2_SoftDrop_eta"];
3877  if (mSubJet2_SoftDrop_eta && mSubJet2_SoftDrop_eta->getRootObject())
3878  mSubJet2_SoftDrop_eta->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[1]->eta());
3879  mSubJet2_SoftDrop_phi = map_of_MEs[DirName + "/" + "SubJet2_SoftDrop_phi"];
3880  if (mSubJet2_SoftDrop_phi && mSubJet2_SoftDrop_phi->getRootObject())
3881  mSubJet2_SoftDrop_phi->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[1]->phi());
3882  mSubJet2_SoftDrop_mass = map_of_MEs[DirName + "/" + "SubJet2_SoftDrop_mass"];
3883  if (mSubJet2_SoftDrop_mass && mSubJet2_SoftDrop_mass->getRootObject())
3884  mSubJet2_SoftDrop_mass->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[1]->mass());
3885  }
3886  } //soft drop jets
3887  if ((*patJets)[ijet].pt() > pt_min_boosted_) {
3888  //miniaod specific variables, especially for boosted substructure
3889  mSoftDropMass_boosted = map_of_MEs[DirName + "/" + "SoftDropMass_boosted"];
3890  if (mSoftDropMass_boosted && mSoftDropMass_boosted->getRootObject() &&
3891  (*patJets)[ijet].hasUserFloat("ak8PFJetsPuppiSoftDropMass"))
3892  mSoftDropMass_boosted->Fill((*patJets)[ijet].userFloat("ak8PFJetsPuppiSoftDropMass"));
3893  mPrunedMass_boosted = map_of_MEs[DirName + "/" + "PrunedMass_boosted"];
3894  mtau2_over_tau1_boosted = map_of_MEs[DirName + "/" + "tau2_over_tau1_boosted"];
3895  if (mtau2_over_tau1_boosted && mtau2_over_tau1_boosted->getRootObject() &&
3896  ((*patJets)[ijet].hasUserFloat("NjettinessAK8Puppi:tau1") &&
3897  (*patJets)[ijet].hasUserFloat("NjettinessAK8Puppi:tau2")))
3898  mtau2_over_tau1_boosted->Fill((*patJets)[ijet].userFloat("NjettinessAK8Puppi:tau2") /
3899  (*patJets)[ijet].userFloat("NjettinessAK8Puppi:tau1"));
3900  mtau3_over_tau2_boosted = map_of_MEs[DirName + "/" + "tau3_over_tau2_boosted"];
3901  if (mtau3_over_tau2_boosted && mtau3_over_tau2_boosted->getRootObject() &&
3902  ((*patJets)[ijet].hasUserFloat("NjettinessAK8Puppi:tau2") &&
3903  (*patJets)[ijet].hasUserFloat("NjettinessAK8Puppi:tau3")))
3904  mtau3_over_tau2_boosted->Fill((*patJets)[ijet].userFloat("NjettinessAK8Puppi:tau3") /
3905  (*patJets)[ijet].userFloat("NjettinessAK8Puppi:tau2"));
3906  if ((*patJets)[ijet].hasSubjets("SoftDropPuppi")) {
3907  mnSubJetsSoftDrop_boosted = map_of_MEs[DirName + "/" + "nSubJets_SoftDrop_boosted"];
3908  if (mnSubJetsSoftDrop_boosted && mnSubJetsSoftDrop_boosted->getRootObject())
3909  mnSubJetsSoftDrop_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi").size());
3910  }
3911  if ((*patJets)[ijet].hasSubjets("SoftDropPuppi") && !(*patJets)[ijet].subjets("SoftDropPuppi").empty()) {
3912  mSubJet1_SoftDrop_pt_boosted = map_of_MEs[DirName + "/" + "SubJet1_SoftDrop_pt_boosted"];
3913  if (mSubJet1_SoftDrop_pt_boosted && mSubJet1_SoftDrop_pt_boosted->getRootObject())
3914  mSubJet1_SoftDrop_pt_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[0]->pt());
3915  mSubJet1_SoftDrop_eta_boosted = map_of_MEs[DirName + "/" + "SubJet1_SoftDrop_eta_boosted"];
3916  if (mSubJet1_SoftDrop_eta_boosted && mSubJet1_SoftDrop_eta_boosted->getRootObject())
3917  mSubJet1_SoftDrop_eta_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[0]->eta());
3918  mSubJet1_SoftDrop_phi_boosted = map_of_MEs[DirName + "/" + "SubJet1_SoftDrop_phi_boosted"];
3919  if (mSubJet1_SoftDrop_phi_boosted && mSubJet1_SoftDrop_phi_boosted->getRootObject())
3920  mSubJet1_SoftDrop_phi_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[0]->phi());
3921  mSubJet1_SoftDrop_mass_boosted = map_of_MEs[DirName + "/" + "SubJet1_SoftDrop_mass_boosted"];
3922  if (mSubJet1_SoftDrop_mass_boosted && mSubJet1_SoftDrop_mass_boosted->getRootObject())
3923  mSubJet1_SoftDrop_mass_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[0]->mass());
3924  if ((*patJets)[ijet].subjets("SoftDropPuppi").size() > 1) {
3925  mSubJet2_SoftDrop_pt_boosted = map_of_MEs[DirName + "/" + "SubJet2_SoftDrop_pt_boosted"];
3926  if (mSubJet2_SoftDrop_pt_boosted && mSubJet2_SoftDrop_pt_boosted->getRootObject())
3927  mSubJet2_SoftDrop_pt_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[1]->pt());
3928  mSubJet2_SoftDrop_eta_boosted = map_of_MEs[DirName + "/" + "SubJet2_SoftDrop_eta_boosted"];
3929  if (mSubJet2_SoftDrop_eta_boosted && mSubJet2_SoftDrop_eta_boosted->getRootObject())
3930  mSubJet2_SoftDrop_eta_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[1]->eta());
3931  mSubJet2_SoftDrop_phi_boosted = map_of_MEs[DirName + "/" + "SubJet2_SoftDrop_phi_boosted"];
3932  if (mSubJet2_SoftDrop_phi_boosted && mSubJet2_SoftDrop_phi_boosted->getRootObject())
3933  mSubJet2_SoftDrop_phi_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[1]->phi());
3934  mSubJet2_SoftDrop_mass_boosted = map_of_MEs[DirName + "/" + "SubJet2_SoftDrop_mass_boosted"];
3935  if (mSubJet2_SoftDrop_mass_boosted && mSubJet2_SoftDrop_mass_boosted->getRootObject())
3936  mSubJet2_SoftDrop_mass_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[1]->mass());
3937  }
3938  }
3939  } //substructure filling for boosted
3940  } //substructure filling
3941  }
3942  // --- Event passed the low pt jet trigger
3943  if (jetLoPass_ == 1) {
3944  mPhi_Lo = map_of_MEs[DirName + "/" + "Phi_Lo"];
3945  if (mPhi_Lo && mPhi_Lo->getRootObject())
3946  mPhi_Lo->Fill(correctedJet.phi());
3947  mPt_Lo = map_of_MEs[DirName + "/" + "Pt_Lo"];
3948  if (mPt_Lo && mPt_Lo->getRootObject())
3949  mPt_Lo->Fill(correctedJet.pt());
3950  }
3951  // --- Event passed the high pt jet trigger
3952  if (jetHiPass_ == 1 && correctedJet.pt() > 100.) {
3953  mEta_Hi = map_of_MEs[DirName + "/" + "Eta_Hi"];
3954  if (mEta_Hi && mEta_Hi->getRootObject())
3955  mEta_Hi->Fill(correctedJet.eta());
3956  mPhi_Hi = map_of_MEs[DirName + "/" + "Phi_Hi"];
3957  if (mPhi_Hi && mPhi_Hi->getRootObject())
3958  mPhi_Hi->Fill(correctedJet.phi());
3959  mPt_Hi = map_of_MEs[DirName + "/" + "Pt_Hi"];
3960  if (mPt_Hi && mPt_Hi->getRootObject())
3961  mPt_Hi->Fill(correctedJet.pt());
3962  }
3963  mPt = map_of_MEs[DirName + "/" + "Pt"];
3964  if (mPt && mPt->getRootObject())
3965  mPt->Fill(correctedJet.pt());
3966  mPt_1 = map_of_MEs[DirName + "/" + "Pt_1"];
3967  if (mPt_1 && mPt_1->getRootObject())
3968  mPt_1->Fill(correctedJet.pt());
3969  mPt_2 = map_of_MEs[DirName + "/" + "Pt_2"];
3970  if (mPt_2 && mPt_2->getRootObject())
3971  mPt_2->Fill(correctedJet.pt());
3972  mPt_3 = map_of_MEs[DirName + "/" + "Pt_3"];
3973  if (mPt_3 && mPt_3->getRootObject())
3974  mPt_3->Fill(correctedJet.pt());
3975  mPt_log = map_of_MEs[DirName + "/" + "Pt_log"];
3976  if (mPt_log && mPt_log->getRootObject())
3977  mPt_log->Fill(log10(correctedJet.pt()));
3978  mEta = map_of_MEs[DirName + "/" + "Eta"];
3979  if (mEta && mEta->getRootObject())
3980  mEta->Fill(correctedJet.eta());
3981  mPhi = map_of_MEs[DirName + "/" + "Phi"];
3982  if (mPhi && mPhi->getRootObject())
3983  mPhi->Fill(correctedJet.phi());
3984 
3985  mPhiVSEta = map_of_MEs[DirName + "/" + "PhiVSEta"];
3986  if (mPhiVSEta && mPhiVSEta->getRootObject())
3987  mPhiVSEta->Fill(correctedJet.eta(), correctedJet.phi());
3988  //if(!isJPTJet_){
3989  float nConstituents = correctedJet.nConstituents();
3990  mConstituents = map_of_MEs[DirName + "/" + "Constituents"];
3991  if (mConstituents && mConstituents->getRootObject())
3992  mConstituents->Fill(nConstituents);
3993  //}
3994  // Fill NPV profiles
3995  //--------------------------------------------------------------------
3996  mPt_profile = map_of_MEs[DirName + "/" + "Pt_profile"];
3997  if (mPt_profile && mPt_profile->getRootObject())
3998  mPt_profile->Fill(numPV, correctedJet.pt());
3999  mEta_profile = map_of_MEs[DirName + "/" + "Eta_profile"];
4000  if (mEta_profile && mEta_profile->getRootObject())
4001  mEta_profile->Fill(numPV, correctedJet.eta());
4002  mPhi_profile = map_of_MEs[DirName + "/" + "Phi_profile"];
4003  if (mPhi_profile && mPhi_profile->getRootObject())
4004  mPhi_profile->Fill(numPV, correctedJet.phi());
4005  //if(!isJPTJet_){
4006  mConstituents_profile = map_of_MEs[DirName + "/" + "Constituents_profile"];
4007  if (mConstituents_profile && mConstituents_profile->getRootObject())
4008  mConstituents_profile->Fill(numPV, nConstituents);
4009  //}
4010  if (fabs(correctedJet.eta()) <= 1.3) {
4011  mPt_Barrel = map_of_MEs[DirName + "/" + "Pt_Barrel"];
4012  if (mPt_Barrel && mPt_Barrel->getRootObject())
4013  mPt_Barrel->Fill(correctedJet.pt());
4014  mPhi_Barrel = map_of_MEs[DirName + "/" + "Phi_Barrel"];
4015  if (mPhi_Barrel && mPhi_Barrel->getRootObject())
4016  mPhi_Barrel->Fill(correctedJet.phi());
4017  //if (mE_Barrel) mE_Barrel->Fill (correctedJet.energy());
4018  //if(!isJPTJet_){
4019  mConstituents_Barrel = map_of_MEs[DirName + "/" + "Constituents_Barrel"];
4020  if (mConstituents_Barrel && mConstituents_Barrel->getRootObject())
4021  mConstituents_Barrel->Fill(nConstituents);
4022  //}
4023  } else if (fabs(correctedJet.eta()) <= 3) {
4024  mPt_EndCap = map_of_MEs[DirName + "/" + "Pt_EndCap"];
4025  if (mPt_EndCap && mPt_EndCap->getRootObject())
4026  mPt_EndCap->Fill(correctedJet.pt());
4027  mPhi_EndCap = map_of_MEs[DirName + "/" + "Phi_EndCap"];
4028  if (mPhi_EndCap && mPhi_EndCap->getRootObject())
4029  mPhi_EndCap->Fill(correctedJet.phi());
4030  //if (mE_EndCap) mE_EndCap->Fill (correctedJet.energy());
4031  //if(!isJPTJet_){
4032  mConstituents_EndCap = map_of_MEs[DirName + "/" + "Constituents_EndCap"];
4033  if (mConstituents_EndCap && mConstituents_EndCap->getRootObject())
4034  mConstituents_EndCap->Fill(nConstituents);
4035  //}
4036  } else {
4037  mPt_Forward = map_of_MEs[DirName + "/" + "Pt_Forward"];
4038  if (mPt_Forward && mPt_Forward->getRootObject())
4039  mPt_Forward->Fill(correctedJet.pt());
4040  mPhi_Forward = map_of_MEs[DirName + "/" + "Phi_Forward"];
4041  if (mPhi_Forward && mPhi_Forward->getRootObject())
4042  mPhi_Forward->Fill(correctedJet.phi());
4043  //if (mE_Forward) mE_Forward->Fill (correctedJet.energy());
4044  //if(!isJPTJet_){
4045  mConstituents_Forward = map_of_MEs[DirName + "/" + "Constituents_Forward"];
4046  if (mConstituents_Forward && mConstituents_Forward->getRootObject())
4047  mConstituents_Forward->Fill(nConstituents);
4048  //}
4049  }
4050  } // pass ID for corrected jets --> inclusive selection
4051  } //loop over uncorrected jets
4052 
4053  mNJets = map_of_MEs[DirName + "/" + "NJets"];
4054  if (mNJets && mNJets->getRootObject())
4055  mNJets->Fill(numofjets);
4056  mNJets_profile = map_of_MEs[DirName + "/" + "NJets_profile"];
4057  if (mNJets_profile && mNJets_profile->getRootObject())
4058  mNJets_profile->Fill(numPV, numofjets);
4059 
4060  sort(recoJets.begin(), recoJets.end(), jetSortingRule);
4061 
4062  //for non dijet selection, otherwise numofjets==0
4063  if (numofjets > 0) { //keep threshold for dijet counting at the original one
4064  //check ID of the leading jet
4065 
4066  if (cleaned_first_jet) {
4067  mEtaFirst = map_of_MEs[DirName + "/" + "EtaFirst"];
4068  if (mEtaFirst && mEtaFirst->getRootObject())
4069  mEtaFirst->Fill((recoJets)[0].eta());
4070  mPhiFirst = map_of_MEs[DirName + "/" + "PhiFirst"];
4071  if (mPhiFirst && mPhiFirst->getRootObject())
4072  mPhiFirst->Fill((recoJets)[0].phi());
4073  mPtFirst = map_of_MEs[DirName + "/" + "PtFirst"];
4074  if (mPtFirst && mPtFirst->getRootObject())
4075  mPtFirst->Fill((recoJets)[0].pt());
4076  //check ID of second check for DPhi plots
4077  if (numofjets > 1 && cleaned_second_jet) {
4078  double dphi = fabs((recoJets)[0].phi() - (recoJets)[1].phi());
4079  if (dphi > acos(-1.)) {
4080  dphi = 2 * acos(-1.) - dphi;
4081  }
4082  mDPhi = map_of_MEs[DirName + "/" + "DPhi"];
4083  if (mDPhi && mDPhi->getRootObject())
4084  mDPhi->Fill(dphi);
4085  }
4086  }
4087  //if(cleaned_second_jet && isJPTJet_){
4088  //mPtSecond = map_of_MEs[DirName+"/"+"PtSecond"]; if (mPtSecond && mPtSecond->getRootObject()) mPtSecond->Fill(recoJets[1].pt());
4089  //}
4090  //if(cleaned_third_jet && isJPTJet_){
4091  //mPtThird = map_of_MEs[DirName+"/"+"PtThird"]; if (mPtThird && mPtThird->getRootObject()) mPtThird->Fill(recoJets[2].pt());
4092  //}
4093  }
4094  //dijet selection -> recoJets are on corrected level, both jets cleaned, fill folder only for cleaned jet selection
4095  if (jetCleaningFlag_ && recoJets.size() > 1 && cleaned_first_jet && cleaned_second_jet) {
4096  //pt threshold checked before filling
4097  if (jetCleaningFlag_) {
4098  DirName = "JetMET/Jet/Cleaned" + mInputCollection_.label() + "/DiJet";
4099  }
4100  //if(fabs(recoJets[0].eta())<3. && fabs(recoJets[1].eta())<3. ){
4101  //calculate dphi
4102  double dphi = fabs((recoJets)[0].phi() - (recoJets)[1].phi());
4103  if (dphi > acos(-1.)) {
4104  dphi = 2 * acos(-1.) - dphi;
4105  }
4106  mDPhi = map_of_MEs[DirName + "/" + "DPhi"];
4107  if (mDPhi && mDPhi->getRootObject())
4108  if (mDPhi)
4109  mDPhi->Fill(dphi);
4110  //dphi cut
4111  if (fabs(dphi) > 2.1) {
4112  if (isCaloJet_) {
4113  if (!runcosmics_) {
4114  reco::CaloJetRef calojetref1(caloJets, ind1);
4115  reco::JetID jetID1 = (*jetID_ValueMap_Handle)[calojetref1];
4116  reco::CaloJetRef calojetref2(caloJets, ind2);
4117  reco::JetID jetID2 = (*jetID_ValueMap_Handle)[calojetref2];
4118  mN90Hits = map_of_MEs[DirName + "/" + "N90Hits"];
4119  if (mN90Hits && mN90Hits->getRootObject())
4120  mN90Hits->Fill(jetID1.n90Hits);
4121  mfHPD = map_of_MEs[DirName + "/" + "fHPD"];
4122  if (mfHPD && mfHPD->getRootObject())
4123  mfHPD->Fill(jetID1.fHPD);
4124  mresEMF = map_of_MEs[DirName + "/" + "resEMF"];
4125  if (mresEMF && mresEMF->getRootObject())
4126  mresEMF->Fill(jetID1.restrictedEMF);
4127  mfRBX = map_of_MEs[DirName + "/" + "fRBX"];
4128  if (mfRBX && mfRBX->getRootObject())
4129  mfRBX->Fill(jetID1.fRBX);
4130  mN90Hits = map_of_MEs[DirName + "/" + "N90Hits"];
4131  if (mN90Hits && mN90Hits->getRootObject())
4132  mN90Hits->Fill(jetID2.n90Hits);
4133  mfHPD = map_of_MEs[DirName + "/" + "fHPD"];
4134  if (mfHPD && mfHPD->getRootObject())
4135  mfHPD->Fill(jetID2.fHPD);
4136  mresEMF = map_of_MEs[DirName + "/" + "resEMF"];
4137  if (mresEMF && mresEMF->getRootObject())
4138  mresEMF->Fill(jetID2.restrictedEMF);
4139  mfRBX = map_of_MEs[DirName + "/" + "fRBX"];
4140  if (mfRBX && mfRBX->getRootObject())
4141  mfRBX->Fill(jetID2.fRBX);
4142  }
4143  mHFrac = map_of_MEs[DirName + "/" + "HFrac"];
4144  if (mHFrac && mHFrac->getRootObject())
4145  mHFrac->Fill((*caloJets)[ind1].energyFractionHadronic());
4146  mEFrac = map_of_MEs[DirName + "/" + "EFrac"];
4147  if (mEFrac && mHFrac->getRootObject())
4148  mEFrac->Fill((*caloJets)[ind1].emEnergyFraction());
4149  mHFrac = map_of_MEs[DirName + "/" + "HFrac"];
4150  if (mHFrac && mHFrac->getRootObject())
4151  mHFrac->Fill((*caloJets)[ind2].energyFractionHadronic());
4152  mEFrac = map_of_MEs[DirName + "/" + "EFrac"];
4153  if (mEFrac && mHFrac->getRootObject())
4154  mEFrac->Fill((*caloJets)[ind2].emEnergyFraction());
4155  mHFrac_profile = map_of_MEs[DirName + "/" + "HFrac_profile"];
4156  if (mHFrac_profile && mHFrac_profile->getRootObject())
4157  mHFrac_profile->Fill(numPV, (*caloJets)[ind1].energyFractionHadronic());
4158  mEFrac_profile = map_of_MEs[DirName + "/" + "EFrac_profile"];
4159  if (mEFrac_profile && mEFrac_profile->getRootObject())
4160  mEFrac_profile->Fill(numPV, (*caloJets)[ind1].emEnergyFraction());
4161  mHFrac_profile = map_of_MEs[DirName + "/" + "HFrac_profile"];
4162  if (mHFrac_profile && mHFrac_profile->getRootObject())
4163  mHFrac_profile->Fill(numPV, (*caloJets)[ind2].energyFractionHadronic());
4164  mEFrac_profile = map_of_MEs[DirName + "/" + "EFrac_profile"];
4165  if (mEFrac_profile && mEFrac_profile->getRootObject())
4166  mEFrac_profile->Fill(numPV, (*caloJets)[ind2].emEnergyFraction());
4167 
4168  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4169  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4170  mJetEnergyCorr->Fill(recoJets[0].pt() / (*caloJets)[ind1].pt());
4171  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4172  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4173  mJetEnergyCorrVSEta->Fill(recoJets[0].eta(), recoJets[0].pt() / (*caloJets)[ind1].pt());
4174  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4175  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4176  mJetEnergyCorrVSPt->Fill(recoJets[0].pt(), recoJets[0].pt() / (*caloJets)[ind1].pt());
4177  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4178  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4179  mJetEnergyCorr->Fill(recoJets[1].pt() / (*caloJets)[ind2].pt());
4180  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4181  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4182  mJetEnergyCorrVSEta->Fill(recoJets[1].eta(), recoJets[1].pt() / (*caloJets)[ind2].pt());
4183  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4184  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4185  mJetEnergyCorrVSPt->Fill(recoJets[1].pt(), recoJets[1].pt() / (*caloJets)[ind2].pt());
4186  }
4187  //if(isJPTJet_){
4188  //mHFrac = map_of_MEs[DirName+"/"+"HFrac"]; if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*jptJets)[ind1].chargedHadronEnergyFraction()+(*jptJets)[ind1].neutralHadronEnergyFraction());
4189  //mEFrac = map_of_MEs[DirName+"/"+"EFrac"]; if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill (1.-(*jptJets)[ind1].chargedHadronEnergyFraction()-(*jptJets)[ind1].neutralHadronEnergyFraction());
4190  //mHFrac_profile = map_of_MEs[DirName+"/"+"HFrac_profile"]; mHFrac_profile ->Fill(numPV, (*jptJets)[ind1].chargedHadronEnergyFraction()+(*jptJets)[ind1].neutralHadronEnergyFraction());
4191  //mEFrac_profile = map_of_MEs[DirName+"/"+"EFrac_profile"]; mEFrac_profile ->Fill(numPV, 1.-(*jptJets)[ind1].chargedHadronEnergyFraction()-(*jptJets)[ind1].neutralHadronEnergyFraction());
4192  //mHFrac = map_of_MEs[DirName+"/"+"HFrac"]; if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*jptJets)[ind2].chargedHadronEnergyFraction()+(*jptJets)[ind2].neutralHadronEnergyFraction());
4193  //mEFrac = map_of_MEs[DirName+"/"+"EFrac"]; if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill (1.-(*jptJets)[ind2].chargedHadronEnergyFraction()-(*jptJets)[ind2].neutralHadronEnergyFraction());
4194  //mHFrac_profile = map_of_MEs[DirName+"/"+"HFrac_profile"]; mHFrac_profile ->Fill(numPV, (*jptJets)[ind2].chargedHadronEnergyFraction()+(*jptJets)[ind2].neutralHadronEnergyFraction());
4195  //mEFrac_profile = map_of_MEs[DirName+"/"+"EFrac_profile"]; mEFrac_profile ->Fill(numPV, 1.-(*jptJets)[ind2].chargedHadronEnergyFraction()-(*jptJets)[ind2].neutralHadronEnergyFraction());
4196  //
4197  //mJetEnergyCorr = map_of_MEs[DirName+"/"+"JetEnergyCorr"]; if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[0].pt()/(*jptJets)[ind1].pt());
4198  //mJetEnergyCorrVSEta = map_of_MEs[DirName+"/"+"JetEnergyCorrVSEta"]; if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[0].eta(),recoJets[0].pt()/(*jptJets)[ind1].pt());
4199  //mJetEnergyCorrVSPt = map_of_MEs[DirName+"/"+"JetEnergyCorrVSPt"]; if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[0].pt(),recoJets[0].pt()/(*jptJets)[ind1].pt());
4200  //mJetEnergyCorr = map_of_MEs[DirName+"/"+"JetEnergyCorr"]; if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[1].pt()/(*jptJets)[ind2].pt());
4201  //mJetEnergyCorrVSEta = map_of_MEs[DirName+"/"+"JetEnergyCorrVSEta"]; if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[1].eta(),recoJets[1].pt()/(*jptJets)[ind2].pt());
4202  //mJetEnergyCorrVSPt = map_of_MEs[DirName+"/"+"JetEnergyCorrVSPt"]; if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[1].pt(),recoJets[1].pt()/(*jptJets)[ind2].pt());
4203  //}
4204  if (isPFJet_) {
4205  mCHFrac = map_of_MEs[DirName + "/" + "CHFrac"];
4206  if (mCHFrac && mCHFrac->getRootObject())
4207  mCHFrac->Fill((*pfJets)[ind1].chargedHadronEnergyFraction());
4208  mNHFrac = map_of_MEs[DirName + "/" + "NHFrac"];
4209  if (mNHFrac && mNHFrac->getRootObject())
4210  mNHFrac->Fill((*pfJets)[ind1].neutralHadronEnergyFraction());
4211  mPhFrac = map_of_MEs[DirName + "/" + "PhFrac"];
4212  if (mPhFrac && mPhFrac->getRootObject())
4213  mPhFrac->Fill((*pfJets)[ind1].neutralEmEnergyFraction());
4214  mHFEMFrac = map_of_MEs[DirName + "/" + "HFEMFrac"];
4215  if (mHFEMFrac && mHFEMFrac->getRootObject())
4216  mHFEMFrac->Fill((*pfJets)[ind1].HFEMEnergyFraction());
4217  mHFHFrac = map_of_MEs[DirName + "/" + "HFHFrac"];
4218  if (mHFHFrac && mHFHFrac->getRootObject())
4219  mHFHFrac->Fill((*pfJets)[ind1].HFHadronEnergyFraction());
4220 
4221  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4222  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4223  mJetEnergyCorr->Fill(recoJets[0].pt() / (*pfJets)[ind1].pt());
4224  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4225  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4226  mJetEnergyCorrVSEta->Fill(recoJets[0].eta(), recoJets[0].pt() / (*pfJets)[ind1].pt());
4227  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4228  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4229  mJetEnergyCorrVSPt->Fill(recoJets[0].pt(), recoJets[0].pt() / (*pfJets)[ind1].pt());
4230  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4231  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4232  mJetEnergyCorr->Fill(recoJets[1].pt() / (*pfJets)[ind2].pt());
4233  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4234  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4235  mJetEnergyCorrVSEta->Fill(recoJets[1].eta(), recoJets[1].pt() / (*pfJets)[ind2].pt());
4236  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4237  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4238  mJetEnergyCorrVSPt->Fill(recoJets[1].pt(), recoJets[1].pt() / (*pfJets)[ind2].pt());
4239 
4240  mChargedMultiplicity = map_of_MEs[DirName + "/" + "ChargedMultiplicity"];
4241  if (mChargedMultiplicity && mChargedMultiplicity->getRootObject())
4242  mChargedMultiplicity->Fill((*pfJets)[ind1].chargedMultiplicity());
4243  mNeutralMultiplicity = map_of_MEs[DirName + "/" + "NeutralMultiplicity"];
4244  if (mNeutralMultiplicity && mNeutralMultiplicity->getRootObject())
4245  mNeutralMultiplicity->Fill((*pfJets)[ind1].neutralMultiplicity());
4246  mMuonMultiplicity = map_of_MEs[DirName + "/" + "MuonMultiplicity"];
4247  if (mMuonMultiplicity && mMuonMultiplicity->getRootObject())
4248  mMuonMultiplicity->Fill((*pfJets)[ind1].muonMultiplicity());
4249  //Filling variables for second jet
4250  mCHFrac = map_of_MEs[DirName + "/" + "CHFrac"];
4251  if (mCHFrac && mCHFrac->getRootObject())
4252  mCHFrac->Fill((*pfJets)[ind2].chargedHadronEnergyFraction());
4253  mNHFrac = map_of_MEs[DirName + "/" + "NHFrac"];
4254  if (mNHFrac && mNHFrac->getRootObject())
4255  mNHFrac->Fill((*pfJets)[ind2].neutralHadronEnergyFraction());
4256  mPhFrac = map_of_MEs[DirName + "/" + "PhFrac"];
4257  if (mPhFrac && mPhFrac->getRootObject())
4258  mPhFrac->Fill((*pfJets)[ind2].neutralEmEnergyFraction());
4259  mHFEMFrac = map_of_MEs[DirName + "/" + "HFEMFrac"];
4260  if (mHFEMFrac && mHFEMFrac->getRootObject())
4261  mHFEMFrac->Fill((*pfJets)[ind2].HFEMEnergyFraction());
4262  mHFHFrac = map_of_MEs[DirName + "/" + "HFHFrac"];
4263  if (mHFHFrac && mHFHFrac->getRootObject())
4264  mHFHFrac->Fill((*pfJets)[ind2].HFHadronEnergyFraction());
4265 
4266  mNeutralFraction = map_of_MEs[DirName + "/" + "NeutralConstituentsFraction"];
4267  if (mNeutralFraction && mNeutralFraction->getRootObject())
4268  mNeutralFraction->Fill((double)(*pfJets)[ind1].neutralMultiplicity() /
4269  (double)(*pfJets)[ind1].nConstituents());
4270 
4271  mChargedMultiplicity = map_of_MEs[DirName + "/" + "ChargedMultiplicity"];
4272  if (mChargedMultiplicity && mChargedMultiplicity->getRootObject())
4273  mChargedMultiplicity->Fill((*pfJets)[ind2].chargedMultiplicity());
4274  mNeutralMultiplicity = map_of_MEs[DirName + "/" + "NeutralMultiplicity"];
4275  if (mNeutralMultiplicity && mNeutralMultiplicity->getRootObject())
4276  mNeutralMultiplicity->Fill((*pfJets)[ind2].neutralMultiplicity());
4277  mMuonMultiplicity = map_of_MEs[DirName + "/" + "MuonMultiplicity"];
4278  if (mMuonMultiplicity && mMuonMultiplicity->getRootObject())
4279  mMuonMultiplicity->Fill((*pfJets)[ind2].muonMultiplicity());
4280 
4281  //now fill PFJet profiles for leading jet
4282  mCHFrac_profile = map_of_MEs[DirName + "/" + "CHFrac_profile"];
4283  if (mCHFrac_profile && mCHFrac_profile->getRootObject())
4284  mCHFrac_profile->Fill(numPV, (*pfJets)[ind1].chargedHadronEnergyFraction());
4285  mNHFrac_profile = map_of_MEs[DirName + "/" + "NHFrac_profile"];
4286  if (mNHFrac_profile && mNHFrac_profile->getRootObject())
4287  mNHFrac_profile->Fill(numPV, (*pfJets)[ind1].neutralHadronEnergyFraction());
4288  mPhFrac_profile = map_of_MEs[DirName + "/" + "PhFrac_profile"];
4289  if (mPhFrac_profile && mPhFrac_profile->getRootObject())
4290  mPhFrac_profile->Fill(numPV, (*pfJets)[ind1].neutralEmEnergyFraction());
4291  mHFEMFrac_profile = map_of_MEs[DirName + "/" + "HFEMFrac_profile"];
4292  if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject())
4293  mHFEMFrac_profile->Fill(numPV, (*pfJets)[ind1].HFEMEnergyFraction());
4294  mHFHFrac_profile = map_of_MEs[DirName + "/" + "HFHFrac_profile"];
4295  if (mHFHFrac_profile && mHFHFrac_profile->getRootObject())
4296  mHFHFrac_profile->Fill(numPV, (*pfJets)[ind1].HFHadronEnergyFraction());
4297 
4298  mNeutralFraction = map_of_MEs[DirName + "/" + "NeutralConstituentsFraction"];
4299  if (mNeutralFraction && mNeutralFraction->getRootObject())
4300  mNeutralFraction->Fill((double)(*pfJets)[ind2].neutralMultiplicity() /
4301  (double)(*pfJets)[ind2].nConstituents());
4302 
4303  mChargedMultiplicity_profile = map_of_MEs[DirName + "/" + "ChargedMultiplicity_profile"];
4304  if (mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject())
4305  mChargedMultiplicity_profile->Fill(numPV, (*pfJets)[ind1].chargedMultiplicity());
4306  mNeutralMultiplicity_profile = map_of_MEs[DirName + "/" + "NeutralMultiplicity_profile"];
4307  if (mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject())
4308  mNeutralMultiplicity_profile->Fill(numPV, (*pfJets)[ind1].neutralMultiplicity());
4309  mMuonMultiplicity_profile = map_of_MEs[DirName + "/" + "MuonMultiplicity_profile"];
4310  if (mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject())
4311  mMuonMultiplicity->Fill(numPV, (*pfJets)[ind1].muonMultiplicity());
4312  //now fill PFJet profiles for second leading jet
4313  mCHFrac_profile = map_of_MEs[DirName + "/" + "CHFrac_profile"];
4314  if (mCHFrac_profile && mCHFrac_profile->getRootObject())
4315  mCHFrac_profile->Fill(numPV, (*pfJets)[ind2].chargedHadronEnergyFraction());
4316  mNHFrac_profile = map_of_MEs[DirName + "/" + "NHFrac_profile"];
4317  if (mNHFrac_profile && mNHFrac_profile->getRootObject())
4318  mNHFrac_profile->Fill(numPV, (*pfJets)[ind2].neutralHadronEnergyFraction());
4319  mPhFrac_profile = map_of_MEs[DirName + "/" + "PhFrac_profile"];
4320  if (mPhFrac_profile && mPhFrac_profile->getRootObject())
4321  mPhFrac_profile->Fill(numPV, (*pfJets)[ind2].neutralEmEnergyFraction());
4322  mHFEMFrac_profile = map_of_MEs[DirName + "/" + "HFEMFrac_profile"];
4323  if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject())
4324  mHFEMFrac_profile->Fill(numPV, (*pfJets)[ind2].HFEMEnergyFraction());
4325  mHFHFrac_profile = map_of_MEs[DirName + "/" + "HFHFrac_profile"];
4326  if (mHFHFrac_profile && mHFHFrac_profile->getRootObject())
4327  mHFHFrac_profile->Fill(numPV, (*pfJets)[ind2].HFHadronEnergyFraction());
4328 
4329  mChargedMultiplicity_profile = map_of_MEs[DirName + "/" + "ChargedMultiplicity_profile"];
4330  if (mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject())
4331  mChargedMultiplicity_profile->Fill(numPV, (*pfJets)[ind2].chargedMultiplicity());
4332  mNeutralMultiplicity_profile = map_of_MEs[DirName + "/" + "NeutralMultiplicity_profile"];
4333  if (mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject())
4334  mNeutralMultiplicity_profile->Fill(numPV, (*pfJets)[ind2].neutralMultiplicity());
4335  mMuonMultiplicity_profile = map_of_MEs[DirName + "/" + "MuonMultiplicity_profile"];
4336  if (mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject())
4337  mMuonMultiplicity_profile->Fill(numPV, (*pfJets)[ind2].muonMultiplicity());
4338 
4339  int QGmulti = -1;
4340  float QGLikelihood = -10;
4341  float QGptD = -10;
4342  float QGaxis2 = -10;
4343  if (fill_CHS_histos) {
4344  reco::PFJetRef pfjetref(pfJets, ind1);
4345  QGmulti = (*qgMultiplicity)[pfjetref];
4346  QGLikelihood = (*qgLikelihood)[pfjetref];
4347  QGptD = (*qgptD)[pfjetref];
4348  QGaxis2 = (*qgaxis2)[pfjetref];
4349  if (fabs(recoJets[0].eta()) < 1.3) { //barrel jets
4350  //fractions for barrel
4351  if (recoJets[0].pt() >= 20. && recoJets[0].pt() <= 50.) {
4352  mAxis2_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Barrel"];
4353  if (mAxis2_lowPt_Barrel && mAxis2_lowPt_Barrel->getRootObject())
4354  mAxis2_lowPt_Barrel->Fill(QGaxis2);
4355  mpTD_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Barrel"];
4356  if (mpTD_lowPt_Barrel && mpTD_lowPt_Barrel->getRootObject())
4357  mpTD_lowPt_Barrel->Fill(QGptD);
4358  mMultiplicityQG_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Barrel"];
4359  if (mMultiplicityQG_lowPt_Barrel && mMultiplicityQG_lowPt_Barrel->getRootObject())
4360  mMultiplicityQG_lowPt_Barrel->Fill(QGmulti);
4361  mqgLikelihood_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Barrel"];
4362  if (mqgLikelihood_lowPt_Barrel && mqgLikelihood_lowPt_Barrel->getRootObject())
4363  mqgLikelihood_lowPt_Barrel->Fill(QGLikelihood);
4364  }
4365  if (recoJets[0].pt() > 50. && recoJets[0].pt() <= 140.) {
4366  mAxis2_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Barrel"];
4367  if (mAxis2_mediumPt_Barrel && mAxis2_mediumPt_Barrel->getRootObject())
4368  mAxis2_mediumPt_Barrel->Fill(QGaxis2);
4369  mpTD_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Barrel"];
4370  if (mpTD_mediumPt_Barrel && mpTD_mediumPt_Barrel->getRootObject())
4371  mpTD_mediumPt_Barrel->Fill(QGptD);
4372  mMultiplicityQG_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Barrel"];
4373  if (mMultiplicityQG_mediumPt_Barrel && mMultiplicityQG_mediumPt_Barrel->getRootObject())
4374  mMultiplicityQG_mediumPt_Barrel->Fill(QGmulti);
4375  mqgLikelihood_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Barrel"];
4376  if (mqgLikelihood_mediumPt_Barrel && mqgLikelihood_mediumPt_Barrel->getRootObject())
4377  mqgLikelihood_mediumPt_Barrel->Fill(QGLikelihood);
4378  }
4379  if (recoJets[0].pt() > 140.) {
4380  mAxis2_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Barrel"];
4381  if (mAxis2_highPt_Barrel && mAxis2_highPt_Barrel->getRootObject())
4382  mAxis2_highPt_Barrel->Fill(QGaxis2);
4383  mpTD_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Barrel"];
4384  if (mpTD_highPt_Barrel && mpTD_highPt_Barrel->getRootObject())
4385  mpTD_highPt_Barrel->Fill(QGptD);
4386  mMultiplicityQG_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Barrel"];
4387  if (mMultiplicityQG_highPt_Barrel && mMultiplicityQG_highPt_Barrel->getRootObject())
4388  mMultiplicityQG_highPt_Barrel->Fill(QGmulti);
4389  mqgLikelihood_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Barrel"];
4390  if (mqgLikelihood_highPt_Barrel && mqgLikelihood_highPt_Barrel->getRootObject())
4391  mqgLikelihood_highPt_Barrel->Fill(QGLikelihood);
4392  }
4393  } else if (fabs(recoJets[0].eta()) < 3.0) { //endcap jets
4394  if (recoJets[0].pt() > 20. && recoJets[0].pt() <= 50.) {
4395  mAxis2_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_EndCap"];
4396  if (mAxis2_lowPt_EndCap && mAxis2_lowPt_EndCap->getRootObject())
4397  mAxis2_lowPt_EndCap->Fill(QGaxis2);
4398  mpTD_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_EndCap"];
4399  if (mpTD_lowPt_EndCap && mpTD_lowPt_EndCap->getRootObject())
4400  mpTD_lowPt_EndCap->Fill(QGptD);
4401  mMultiplicityQG_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_EndCap"];
4402  if (mMultiplicityQG_lowPt_EndCap && mMultiplicityQG_lowPt_EndCap->getRootObject())
4403  mMultiplicityQG_lowPt_EndCap->Fill(QGmulti);
4404  mqgLikelihood_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_EndCap"];
4405  if (mqgLikelihood_lowPt_EndCap && mqgLikelihood_lowPt_EndCap->getRootObject())
4406  mqgLikelihood_lowPt_EndCap->Fill(QGLikelihood);
4407  }
4408  if (recoJets[0].pt() > 50. && recoJets[0].pt() <= 140.) {
4409  mAxis2_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_EndCap"];
4410  if (mAxis2_mediumPt_EndCap && mAxis2_mediumPt_EndCap->getRootObject())
4411  mAxis2_mediumPt_EndCap->Fill(QGaxis2);
4412  mpTD_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_EndCap"];
4413  if (mpTD_mediumPt_EndCap && mpTD_mediumPt_EndCap->getRootObject())
4414  mpTD_mediumPt_EndCap->Fill(QGptD);
4415  mMultiplicityQG_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_EndCap"];
4416  if (mMultiplicityQG_mediumPt_EndCap && mMultiplicityQG_mediumPt_EndCap->getRootObject())
4417  mMultiplicityQG_mediumPt_EndCap->Fill(QGmulti);
4418  mqgLikelihood_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_EndCap"];
4419  if (mqgLikelihood_mediumPt_EndCap && mqgLikelihood_mediumPt_EndCap->getRootObject())
4420  mqgLikelihood_mediumPt_EndCap->Fill(QGLikelihood);
4421  }
4422  if (recoJets[0].pt() > 140.) {
4423  mAxis2_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_EndCap"];
4424  if (mAxis2_highPt_EndCap && mAxis2_highPt_EndCap->getRootObject())
4425  mAxis2_highPt_EndCap->Fill(QGaxis2);
4426  mpTD_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_highPt_EndCap"];
4427  if (mpTD_highPt_EndCap && mpTD_highPt_EndCap->getRootObject())
4428  mpTD_highPt_EndCap->Fill(QGptD);
4429  mMultiplicityQG_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_EndCap"];
4430  if (mMultiplicityQG_highPt_EndCap && mMultiplicityQG_highPt_EndCap->getRootObject())
4431  mMultiplicityQG_highPt_EndCap->Fill(QGmulti);
4432  mqgLikelihood_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_EndCap"];
4433  if (mqgLikelihood_highPt_EndCap && mqgLikelihood_highPt_EndCap->getRootObject())
4434  mqgLikelihood_highPt_EndCap->Fill(QGLikelihood);
4435  }
4436  } else {
4437  if (recoJets[0].pt() > 20. && recoJets[0].pt() <= 50.) {
4438  mAxis2_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Forward"];
4439  if (mAxis2_lowPt_Forward && mAxis2_lowPt_Forward->getRootObject())
4440  mAxis2_lowPt_Forward->Fill(QGaxis2);
4441  mpTD_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Forward"];
4442  if (mpTD_lowPt_Forward && mpTD_lowPt_Forward->getRootObject())
4443  mpTD_lowPt_Forward->Fill(QGptD);
4444  mMultiplicityQG_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Forward"];
4445  if (mMultiplicityQG_lowPt_Forward && mMultiplicityQG_lowPt_Forward->getRootObject())
4446  mMultiplicityQG_lowPt_Forward->Fill(QGmulti);
4447  mqgLikelihood_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Forward"];
4448  if (mqgLikelihood_lowPt_Forward && mqgLikelihood_lowPt_Forward->getRootObject())
4449  mqgLikelihood_lowPt_Forward->Fill(QGLikelihood);
4450  }
4451  if (recoJets[0].pt() > 50. && recoJets[0].pt() <= 140.) {
4452  mAxis2_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Forward"];
4453  if (mAxis2_mediumPt_Forward && mAxis2_mediumPt_Forward->getRootObject())
4454  mAxis2_mediumPt_Forward->Fill(QGaxis2);
4455  mpTD_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Forward"];
4456  if (mpTD_mediumPt_Forward && mpTD_mediumPt_Forward->getRootObject())
4457  mpTD_mediumPt_Forward->Fill(QGptD);
4458  mMultiplicityQG_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Forward"];
4459  if (mMultiplicityQG_mediumPt_Forward && mMultiplicityQG_mediumPt_Forward->getRootObject())
4460  mMultiplicityQG_mediumPt_Forward->Fill(QGmulti);
4461  mqgLikelihood_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Forward"];
4462  if (mqgLikelihood_mediumPt_Forward && mqgLikelihood_mediumPt_Forward->getRootObject())
4463  mqgLikelihood_mediumPt_Forward->Fill(QGLikelihood);
4464  }
4465  if (recoJets[0].pt() > 140.) {
4466  mAxis2_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Forward"];
4467  if (mAxis2_highPt_Forward && mAxis2_highPt_Forward->getRootObject())
4468  mAxis2_highPt_Forward->Fill(QGaxis2);
4469  mpTD_highPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Forward"];
4470  if (mpTD_highPt_Forward && mpTD_highPt_Forward->getRootObject())
4471  mpTD_highPt_Forward->Fill(QGptD);
4472  mMultiplicityQG_highPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Forward"];
4473  if (mMultiplicityQG_highPt_Forward && mMultiplicityQG_highPt_Forward->getRootObject())
4474  mMultiplicityQG_highPt_Forward->Fill(QGmulti);
4475  mqgLikelihood_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Forward"];
4476  if (mqgLikelihood_highPt_Forward && mqgLikelihood_highPt_Forward->getRootObject())
4477  mqgLikelihood_highPt_Forward->Fill(QGLikelihood);
4478  }
4479  } //done for first jet
4480  reco::PFJetRef pfjetref1(pfJets, ind2);
4481  QGmulti = (*qgMultiplicity)[pfjetref1];
4482  QGLikelihood = (*qgLikelihood)[pfjetref1];
4483  QGptD = (*qgptD)[pfjetref1];
4484  QGaxis2 = (*qgaxis2)[pfjetref1];
4485  if (fabs(recoJets[1].eta()) < 1.3) { //barrel jets
4486  //fractions for barrel
4487  if (recoJets[1].pt() >= 20. && recoJets[1].pt() <= 50.) {
4488  mAxis2_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Barrel"];
4489  if (mAxis2_lowPt_Barrel && mAxis2_lowPt_Barrel->getRootObject())
4490  mAxis2_lowPt_Barrel->Fill(QGaxis2);
4491  mpTD_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Barrel"];
4492  if (mpTD_lowPt_Barrel && mpTD_lowPt_Barrel->getRootObject())
4493  mpTD_lowPt_Barrel->Fill(QGptD);
4494  mMultiplicityQG_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Barrel"];
4495  if (mMultiplicityQG_lowPt_Barrel && mMultiplicityQG_lowPt_Barrel->getRootObject())
4496  mMultiplicityQG_lowPt_Barrel->Fill(QGmulti);
4497  mqgLikelihood_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Barrel"];
4498  if (mqgLikelihood_lowPt_Barrel && mqgLikelihood_lowPt_Barrel->getRootObject())
4499  mqgLikelihood_lowPt_Barrel->Fill(QGLikelihood);
4500  }
4501  if (recoJets[1].pt() > 50. && recoJets[1].pt() <= 140.) {
4502  mAxis2_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Barrel"];
4503  if (mAxis2_mediumPt_Barrel && mAxis2_mediumPt_Barrel->getRootObject())
4504  mAxis2_mediumPt_Barrel->Fill(QGaxis2);
4505  mpTD_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Barrel"];
4506  if (mpTD_mediumPt_Barrel && mpTD_mediumPt_Barrel->getRootObject())
4507  mpTD_mediumPt_Barrel->Fill(QGptD);
4508  mMultiplicityQG_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Barrel"];
4509  if (mMultiplicityQG_mediumPt_Barrel && mMultiplicityQG_mediumPt_Barrel->getRootObject())
4510  mMultiplicityQG_mediumPt_Barrel->Fill(QGmulti);
4511  mqgLikelihood_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Barrel"];
4512  if (mqgLikelihood_mediumPt_Barrel && mqgLikelihood_mediumPt_Barrel->getRootObject())
4513  mqgLikelihood_mediumPt_Barrel->Fill(QGLikelihood);
4514  }
4515  if (recoJets[1].pt() > 140.) {
4516  mAxis2_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Barrel"];
4517  if (mAxis2_highPt_Barrel && mAxis2_highPt_Barrel->getRootObject())
4518  mAxis2_highPt_Barrel->Fill(QGaxis2);
4519  mpTD_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Barrel"];
4520  if (mpTD_highPt_Barrel && mpTD_highPt_Barrel->getRootObject())
4521  mpTD_highPt_Barrel->Fill(QGptD);
4522  mMultiplicityQG_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Barrel"];
4523  if (mMultiplicityQG_highPt_Barrel && mMultiplicityQG_highPt_Barrel->getRootObject())
4524  mMultiplicityQG_highPt_Barrel->Fill(QGmulti);
4525  mqgLikelihood_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Barrel"];
4526  if (mqgLikelihood_highPt_Barrel && mqgLikelihood_highPt_Barrel->getRootObject())
4527  mqgLikelihood_highPt_Barrel->Fill(QGLikelihood);
4528  }
4529  } else if (fabs(recoJets[1].eta()) < 3.0) { //endcap jets
4530  if (recoJets[1].pt() > 20. && recoJets[1].pt() <= 50.) {
4531  mAxis2_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_EndCap"];
4532  if (mAxis2_lowPt_EndCap && mAxis2_lowPt_EndCap->getRootObject())
4533  mAxis2_lowPt_EndCap->Fill(QGaxis2);
4534  mpTD_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_EndCap"];
4535  if (mpTD_lowPt_EndCap && mpTD_lowPt_EndCap->getRootObject())
4536  mpTD_lowPt_EndCap->Fill(QGptD);
4537  mMultiplicityQG_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_EndCap"];
4538  if (mMultiplicityQG_lowPt_EndCap && mMultiplicityQG_lowPt_EndCap->getRootObject())
4539  mMultiplicityQG_lowPt_EndCap->Fill(QGmulti);
4540  mqgLikelihood_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_EndCap"];
4541  if (mqgLikelihood_lowPt_EndCap && mqgLikelihood_lowPt_EndCap->getRootObject())
4542  mqgLikelihood_lowPt_EndCap->Fill(QGLikelihood);
4543  }
4544  if (recoJets[1].pt() > 50. && recoJets[1].pt() <= 140.) {
4545  mAxis2_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_EndCap"];
4546  if (mAxis2_mediumPt_EndCap && mAxis2_mediumPt_EndCap->getRootObject())
4547  mAxis2_mediumPt_EndCap->Fill(QGaxis2);
4548  mpTD_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_EndCap"];
4549  if (mpTD_mediumPt_EndCap && mpTD_mediumPt_EndCap->getRootObject())
4550  mpTD_mediumPt_EndCap->Fill(QGptD);
4551  mMultiplicityQG_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_EndCap"];
4552  if (mMultiplicityQG_mediumPt_EndCap && mMultiplicityQG_mediumPt_EndCap->getRootObject())
4553  mMultiplicityQG_mediumPt_EndCap->Fill(QGmulti);
4554  mqgLikelihood_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_EndCap"];
4555  if (mqgLikelihood_mediumPt_EndCap && mqgLikelihood_mediumPt_EndCap->getRootObject())
4556  mqgLikelihood_mediumPt_EndCap->Fill(QGLikelihood);
4557  }
4558  if (recoJets[1].pt() > 140.) {
4559  mAxis2_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_EndCap"];
4560  if (mAxis2_highPt_EndCap && mAxis2_highPt_EndCap->getRootObject())
4561  mAxis2_highPt_EndCap->Fill(QGaxis2);
4562  mpTD_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_highPt_EndCap"];
4563  if (mpTD_highPt_EndCap && mpTD_highPt_EndCap->getRootObject())
4564  mpTD_highPt_EndCap->Fill(QGptD);
4565  mMultiplicityQG_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_EndCap"];
4566  if (mMultiplicityQG_highPt_EndCap && mMultiplicityQG_highPt_EndCap->getRootObject())
4567  mMultiplicityQG_highPt_EndCap->Fill(QGmulti);
4568  mqgLikelihood_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_EndCap"];
4569  if (mqgLikelihood_highPt_EndCap && mqgLikelihood_highPt_EndCap->getRootObject())
4570  mqgLikelihood_highPt_EndCap->Fill(QGLikelihood);
4571  }
4572  } else {
4573  if (recoJets[1].pt() > 20. && recoJets[1].pt() <= 50.) {
4574  mAxis2_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Forward"];
4575  if (mAxis2_lowPt_Forward && mAxis2_lowPt_Forward->getRootObject())
4576  mAxis2_lowPt_Forward->Fill(QGaxis2);
4577  mpTD_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Forward"];
4578  if (mpTD_lowPt_Forward && mpTD_lowPt_Forward->getRootObject())
4579  mpTD_lowPt_Forward->Fill(QGptD);
4580  mMultiplicityQG_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Forward"];
4581  if (mMultiplicityQG_lowPt_Forward && mMultiplicityQG_lowPt_Forward->getRootObject())
4582  mMultiplicityQG_lowPt_Forward->Fill(QGmulti);
4583  mqgLikelihood_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Forward"];
4584  if (mqgLikelihood_lowPt_Forward && mqgLikelihood_lowPt_Forward->getRootObject())
4585  mqgLikelihood_lowPt_Forward->Fill(QGLikelihood);
4586  }
4587  if (recoJets[1].pt() > 50. && recoJets[1].pt() <= 140.) {
4588  mAxis2_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Forward"];
4589  if (mAxis2_mediumPt_Forward && mAxis2_mediumPt_Forward->getRootObject())
4590  mAxis2_mediumPt_Forward->Fill(QGaxis2);
4591  mpTD_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Forward"];
4592  if (mpTD_mediumPt_Forward && mpTD_mediumPt_Forward->getRootObject())
4593  mpTD_mediumPt_Forward->Fill(QGptD);
4594  mMultiplicityQG_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Forward"];
4595  if (mMultiplicityQG_mediumPt_Forward && mMultiplicityQG_mediumPt_Forward->getRootObject())
4596  mMultiplicityQG_mediumPt_Forward->Fill(QGmulti);
4597  mqgLikelihood_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Forward"];
4598  if (mqgLikelihood_mediumPt_Forward && mqgLikelihood_mediumPt_Forward->getRootObject())
4599  mqgLikelihood_mediumPt_Forward->Fill(QGLikelihood);
4600  }
4601  if (recoJets[1].pt() > 140.) {
4602  mAxis2_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Forward"];
4603  if (mAxis2_highPt_Forward && mAxis2_highPt_Forward->getRootObject())
4604  mAxis2_highPt_Forward->Fill(QGaxis2);
4605  mpTD_highPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Forward"];
4606  if (mpTD_highPt_Forward && mpTD_highPt_Forward->getRootObject())
4607  mpTD_highPt_Forward->Fill(QGptD);
4608  mMultiplicityQG_highPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Forward"];
4609  if (mMultiplicityQG_highPt_Forward && mMultiplicityQG_highPt_Forward->getRootObject())
4610  mMultiplicityQG_highPt_Forward->Fill(QGmulti);
4611  mqgLikelihood_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Forward"];
4612  if (mqgLikelihood_highPt_Forward && mqgLikelihood_highPt_Forward->getRootObject())
4613  mqgLikelihood_highPt_Forward->Fill(QGLikelihood);
4614  }
4615  } //deal with second jet
4616  } //fill quark gluon tagged variables
4617  } //pfjet
4618  if (isMiniAODJet_) {
4619  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4620  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4621  mJetEnergyCorr->Fill(1. / (*patJets)[ind1].jecFactor("Uncorrected"));
4622  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4623  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4624  mJetEnergyCorrVSEta->Fill(recoJets[0].eta(), 1. / (*patJets)[ind1].jecFactor("Uncorrected"));
4625  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4626  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4627  mJetEnergyCorrVSPt->Fill(recoJets[0].pt(), 1. / (*patJets)[ind1].jecFactor("Uncorrected"));
4628  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4629  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4630  mJetEnergyCorr->Fill(1. / (*patJets)[ind2].jecFactor("Uncorrected"));
4631  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4632  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4633  mJetEnergyCorrVSEta->Fill(recoJets[0].eta(), 1. / (*patJets)[ind2].jecFactor("Uncorrected"));
4634  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4635  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4636  mJetEnergyCorrVSPt->Fill(recoJets[0].pt(), 1. / (*patJets)[ind2].jecFactor("Uncorrected"));
4637 
4638  // In MINIAOD, can drop PFSpecifics just to save space, so check they are available.
4639  if ((*patJets)[ind1].hasPFSpecific()) {
4640  mCHFrac = map_of_MEs[DirName + "/" + "CHFrac"];
4641  if (mCHFrac && mCHFrac->getRootObject())
4642  mCHFrac->Fill((*patJets)[ind1].chargedHadronEnergyFraction());
4643  mNHFrac = map_of_MEs[DirName + "/" + "NHFrac"];
4644  if (mNHFrac && mNHFrac->getRootObject())
4645  mNHFrac->Fill((*patJets)[ind1].neutralHadronEnergyFraction());
4646  mPhFrac = map_of_MEs[DirName + "/" + "PhFrac"];
4647  if (mPhFrac && mPhFrac->getRootObject())
4648  mPhFrac->Fill((*patJets)[ind1].neutralEmEnergyFraction());
4649  mHFEMFrac = map_of_MEs[DirName + "/" + "HFEMFrac"];
4650  if (mHFEMFrac && mHFEMFrac->getRootObject())
4651  mHFEMFrac->Fill((*patJets)[ind1].HFEMEnergyFraction());
4652  mHFHFrac = map_of_MEs[DirName + "/" + "HFHFrac"];
4653  if (mHFHFrac && mHFHFrac->getRootObject())
4654  mHFHFrac->Fill((*patJets)[ind1].HFHadronEnergyFraction());
4655  mChargedMultiplicity = map_of_MEs[DirName + "/" + "ChargedMultiplicity"];
4656  if (mChargedMultiplicity && mChargedMultiplicity->getRootObject())
4657  mChargedMultiplicity->Fill((*patJets)[ind1].chargedMultiplicity());
4658  mNeutralMultiplicity = map_of_MEs[DirName + "/" + "NeutralMultiplicity"];
4659  if (mNeutralMultiplicity && mNeutralMultiplicity->getRootObject())
4660  mNeutralMultiplicity->Fill((*patJets)[ind1].neutralMultiplicity());
4661  mMuonMultiplicity = map_of_MEs[DirName + "/" + "MuonMultiplicity"];
4662  if (mMuonMultiplicity && mMuonMultiplicity->getRootObject())
4663  mMuonMultiplicity->Fill((*patJets)[ind1].muonMultiplicity());
4664  mNeutralFraction = map_of_MEs[DirName + "/" + "NeutralConstituentsFraction"];
4665  if (mNeutralFraction && mNeutralFraction->getRootObject())
4666  mNeutralFraction->Fill((double)(*patJets)[ind1].neutralMultiplicity() /
4667  (double)(*patJets)[ind1].nConstituents());
4668  mCHFrac_profile = map_of_MEs[DirName + "/" + "CHFrac_profile"];
4669  if (mCHFrac_profile && mCHFrac_profile->getRootObject())
4670  mCHFrac_profile->Fill(numPV, (*patJets)[ind1].chargedHadronEnergyFraction());
4671  mNHFrac_profile = map_of_MEs[DirName + "/" + "NHFrac_profile"];
4672  if (mNHFrac_profile && mNHFrac_profile->getRootObject())
4673  mNHFrac_profile->Fill(numPV, (*patJets)[ind1].neutralHadronEnergyFraction());
4674  mPhFrac_profile = map_of_MEs[DirName + "/" + "PhFrac_profile"];
4675  if (mPhFrac_profile && mPhFrac_profile->getRootObject())
4676  mPhFrac_profile->Fill(numPV, (*patJets)[ind1].neutralEmEnergyFraction());
4677  mHFEMFrac_profile = map_of_MEs[DirName + "/" + "HFEMFrac_profile"];
4678  if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject())
4679  mHFEMFrac_profile->Fill(numPV, (*patJets)[ind1].HFEMEnergyFraction());
4680  mHFHFrac_profile = map_of_MEs[DirName + "/" + "HFHFrac_profile"];
4681  if (mHFHFrac_profile && mHFHFrac_profile->getRootObject())
4682  mHFHFrac_profile->Fill(numPV, (*patJets)[ind1].HFHadronEnergyFraction());
4683  mChargedMultiplicity_profile = map_of_MEs[DirName + "/" + "ChargedMultiplicity_profile"];
4684  if (mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject())
4685  mChargedMultiplicity_profile->Fill(numPV, (*patJets)[ind1].chargedMultiplicity());
4686  mNeutralMultiplicity_profile = map_of_MEs[DirName + "/" + "NeutralMultiplicity_profile"];
4687  if (mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject())
4688  mNeutralMultiplicity_profile->Fill(numPV, (*patJets)[ind1].neutralMultiplicity());
4689  mMuonMultiplicity_profile = map_of_MEs[DirName + "/" + "MuonMultiplicity_profile"];
4690  if (mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject())
4691  mMuonMultiplicity->Fill(numPV, (*patJets)[ind1].muonMultiplicity());
4692  }
4693 
4694  // In MINIAOD, can drop PFSpecifics just to save space, so check they are available.
4695  //Filling variables for second jet
4696  if ((*patJets)[ind2].hasPFSpecific()) {
4697  mCHFrac = map_of_MEs[DirName + "/" + "CHFrac"];
4698  if (mCHFrac && mCHFrac->getRootObject())
4699  mCHFrac->Fill((*patJets)[ind2].chargedHadronEnergyFraction());
4700  mNHFrac = map_of_MEs[DirName + "/" + "NHFrac"];
4701  if (mNHFrac && mNHFrac->getRootObject())
4702  mNHFrac->Fill((*patJets)[ind2].neutralHadronEnergyFraction());
4703  mPhFrac = map_of_MEs[DirName + "/" + "PhFrac"];
4704  if (mPhFrac && mPhFrac->getRootObject())
4705  mPhFrac->Fill((*patJets)[ind2].neutralEmEnergyFraction());
4706  mHFEMFrac = map_of_MEs[DirName + "/" + "HFEMFrac"];
4707  if (mHFEMFrac && mHFEMFrac->getRootObject())
4708  mHFEMFrac->Fill((*patJets)[ind2].HFEMEnergyFraction());
4709  mHFHFrac = map_of_MEs[DirName + "/" + "HFHFrac"];
4710  if (mHFHFrac && mHFHFrac->getRootObject())
4711  mHFHFrac->Fill((*patJets)[ind2].HFHadronEnergyFraction());
4712 
4713  mChargedMultiplicity = map_of_MEs[DirName + "/" + "ChargedMultiplicity"];
4714  if (mChargedMultiplicity && mChargedMultiplicity->getRootObject())
4715  mChargedMultiplicity->Fill((*patJets)[ind2].chargedMultiplicity());
4716  mNeutralMultiplicity = map_of_MEs[DirName + "/" + "NeutralMultiplicity"];
4717  if (mNeutralMultiplicity && mNeutralMultiplicity->getRootObject())
4718  mNeutralMultiplicity->Fill((*patJets)[ind2].neutralMultiplicity());
4719  mMuonMultiplicity = map_of_MEs[DirName + "/" + "MuonMultiplicity"];
4720  if (mMuonMultiplicity && mMuonMultiplicity->getRootObject())
4721  mMuonMultiplicity->Fill((*patJets)[ind2].muonMultiplicity());
4722 
4723  mNeutralFraction = map_of_MEs[DirName + "/" + "NeutralConstituentsFraction"];
4724  if (mNeutralFraction && mNeutralFraction->getRootObject())
4725  mNeutralFraction->Fill((double)(*patJets)[ind2].neutralMultiplicity() /
4726  (double)(*patJets)[ind2].nConstituents());
4727 
4728  //now fill PATJet profiles for second leading jet
4729  mCHFrac_profile = map_of_MEs[DirName + "/" + "CHFrac_profile"];
4730  if (mCHFrac_profile && mCHFrac_profile->getRootObject())
4731  mCHFrac_profile->Fill(numPV, (*patJets)[ind2].chargedHadronEnergyFraction());
4732  mNHFrac_profile = map_of_MEs[DirName + "/" + "NHFrac_profile"];
4733  if (mNHFrac_profile && mNHFrac_profile->getRootObject())
4734  mNHFrac_profile->Fill(numPV, (*patJets)[ind2].neutralHadronEnergyFraction());
4735  mPhFrac_profile = map_of_MEs[DirName + "/" + "PhFrac_profile"];
4736  if (mPhFrac_profile && mPhFrac_profile->getRootObject())
4737  mPhFrac_profile->Fill(numPV, (*patJets)[ind2].neutralEmEnergyFraction());
4738  mHFEMFrac_profile = map_of_MEs[DirName + "/" + "HFEMFrac_profile"];
4739  if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject())
4740  mHFEMFrac_profile->Fill(numPV, (*patJets)[ind2].HFEMEnergyFraction());
4741  mHFHFrac_profile = map_of_MEs[DirName + "/" + "HFHFrac_profile"];
4742  if (mHFHFrac_profile && mHFHFrac_profile->getRootObject())
4743  mHFHFrac_profile->Fill(numPV, (*patJets)[ind2].HFHadronEnergyFraction());
4744 
4745  mChargedMultiplicity_profile = map_of_MEs[DirName + "/" + "ChargedMultiplicity_profile"];
4746  if (mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject())
4747  mChargedMultiplicity_profile->Fill(numPV, (*patJets)[ind2].chargedMultiplicity());
4748  mNeutralMultiplicity_profile = map_of_MEs[DirName + "/" + "NeutralMultiplicity_profile"];
4749  if (mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject())
4750  mNeutralMultiplicity_profile->Fill(numPV, (*patJets)[ind2].neutralMultiplicity());
4751  mMuonMultiplicity_profile = map_of_MEs[DirName + "/" + "MuonMultiplicity_profile"];
4752  if (mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject())
4753  mMuonMultiplicity_profile->Fill(numPV, (*patJets)[ind2].muonMultiplicity());
4754  }
4755  }
4756 
4757  //fill histos for first jet
4758  mPt = map_of_MEs[DirName + "/" + "Pt"];
4759  if (mPt && mPt->getRootObject())
4760  mPt->Fill(recoJets[0].pt());
4761  mEta = map_of_MEs[DirName + "/" + "Eta"];
4762  if (mEta && mEta->getRootObject())
4763  mEta->Fill(recoJets[0].eta());
4764  mPhi = map_of_MEs[DirName + "/" + "Phi"];
4765  if (mPhi && mPhi->getRootObject())
4766  mPhi->Fill(recoJets[0].phi());
4767  mPhiVSEta = map_of_MEs[DirName + "/" + "PhiVSEta"];
4768  if (mPhiVSEta && mPhiVSEta->getRootObject())
4769  mPhiVSEta->Fill(recoJets[0].eta(), recoJets[0].phi());
4770  //if(!isJPTJet_){
4771  mConstituents = map_of_MEs[DirName + "/" + "Constituents"];
4772  if (mConstituents && mConstituents->getRootObject())
4773  mConstituents->Fill(recoJets[0].nConstituents());
4774  //}
4775  mPt = map_of_MEs[DirName + "/" + "Pt"];
4776  if (mPt && mPt->getRootObject())
4777  mPt->Fill(recoJets[1].pt());
4778  mEta = map_of_MEs[DirName + "/" + "Eta"];
4779  if (mEta && mEta->getRootObject())
4780  mEta->Fill(recoJets[1].eta());
4781  mPhi = map_of_MEs[DirName + "/" + "Phi"];
4782  if (mPhi && mPhi->getRootObject())
4783  mPhi->Fill(recoJets[1].phi());
4784  mPhiVSEta = map_of_MEs[DirName + "/" + "PhiVSEta"];
4785  if (mPhiVSEta && mPhiVSEta->getRootObject())
4786  mPhiVSEta->Fill(recoJets[1].eta(), recoJets[1].phi());
4787  //if(!isJPTJet_){
4788  mConstituents = map_of_MEs[DirName + "/" + "Constituents"];
4789  if (mConstituents && mConstituents->getRootObject())
4790  mConstituents->Fill(recoJets[1].nConstituents());
4791  //}
4792  //PV profiles
4793  mPt_profile = map_of_MEs[DirName + "/" + "Pt_profile"];
4794  if (mPt_profile && mPt_profile->getRootObject())
4795  mPt_profile->Fill(numPV, recoJets[0].pt());
4796  mEta_profile = map_of_MEs[DirName + "/" + "Eta_profile"];
4797  if (mEta_profile && mEta_profile->getRootObject())
4798  mEta_profile->Fill(numPV, recoJets[0].eta());
4799  mPhi_profile = map_of_MEs[DirName + "/" + "Phi_profile"];
4800  if (mPhi_profile && mPhi_profile->getRootObject())
4801  mPhi_profile->Fill(numPV, recoJets[0].phi());
4802  //if(!isJPTJet_){
4803  mConstituents_profile = map_of_MEs[DirName + "/" + "Constituents_profile"];
4804  if (mConstituents_profile && mConstituents_profile->getRootObject())
4805  mConstituents_profile->Fill(numPV, recoJets[0].nConstituents());
4806  //}
4807  mPt_profile = map_of_MEs[DirName + "/" + "Pt_profile"];
4808  if (mPt_profile && mPt_profile->getRootObject())
4809  mPt_profile->Fill(numPV, recoJets[1].pt());
4810  mEta_profile = map_of_MEs[DirName + "/" + "Eta_profile"];
4811  if (mEta_profile && mEta_profile->getRootObject())
4812  mEta_profile->Fill(numPV, recoJets[1].eta());
4813  mPhi_profile = map_of_MEs[DirName + "/" + "Phi_profile"];
4814  if (mPhi_profile && mPhi_profile->getRootObject())
4815  mPhi_profile->Fill(numPV, recoJets[1].phi());
4816  //if(!isJPTJet_){
4817  mConstituents_profile = map_of_MEs[DirName + "/" + "Constituents_profile"];
4818  if (mConstituents_profile && mConstituents_profile->getRootObject())
4819  mConstituents_profile->Fill(numPV, recoJets[1].nConstituents());
4820  //}
4821  if (fabs(recoJets[0].eta() < 1.4)) {
4822  double pt_dijet = (recoJets[0].pt() + recoJets[1].pt()) / 2;
4823  if (dphi > 2.7) { //cut even toughter on dijet balance
4824  double pt_probe;
4825  double pt_barrel;
4826  int jet1, jet2;
4827  //int randJet = rand() % 2;
4828  int randJet = iEvent.id().event() % 2;
4829  if (fabs(recoJets[1].eta() < 1.4)) {
4830  if (randJet) {
4831  jet1 = 0;
4832  jet2 = 1;
4833  } else {
4834  jet1 = 1;
4835  jet2 = 0;
4836  }
4837  // ***Di-Jet Asymmetry****
4838  // * leading jets eta < 1.4
4839  // * leading jets dphi > 2.7
4840  // * pt_third jet < threshold
4841  // * A = (pt_1 - pt_2)/(pt_1 + pt_2)
4842  // * jets 1 and two are randomly ordered
4843  // **
4844  bool thirdJetCut = true;
4845  //that doesn't make any sense -> imagine you have 5 jets,
4846  //jet 3 is quite hard (almost as hard as the second jet, i.e. 200/80/79/20/15, cutoff is 30
4847  //the 4th and 5th jet are soft enough -> then you would fill the asymmetry twice,
4848  //although jet 2 and 3 are basically identical
4849  //do third jet relative to second jet
4850  //JME-10-014 suggests pt3/pt_dijet<0.15
4851  if (ind3 > 0) {
4852  if (pt3 > asymmetryThirdJetCut_) {
4853  thirdJetCut = false;
4854  }
4855  }
4856  if (thirdJetCut) {
4857  double dijetAsymmetry =
4858  (recoJets[jet1].pt() - recoJets[jet2].pt()) / (recoJets[jet1].pt() + recoJets[jet2].pt());
4859  mDijetAsymmetry = map_of_MEs[DirName + "/" + "DijetAsymmetry"];
4860  if (mDijetAsymmetry && mDijetAsymmetry->getRootObject())
4861  mDijetAsymmetry->Fill(dijetAsymmetry);
4862  } // end restriction on third jet pt in asymmetry calculation
4863 
4864  } else {
4865  jet1 = 0;
4866  jet2 = 1;
4867  }
4868 
4869  pt_barrel = recoJets[jet1].pt();
4870  pt_probe = recoJets[jet2].pt();
4871 
4872  //dijet balance cuts
4873  // ***Di-Jet Balance****
4874  // * pt_dijet = (pt_probe+pt_barrel)/2
4875  // * leading jets dphi > 2.7
4876  // * reject evnets where pt_third/pt_dijet > 0.2
4877  // * pv selection
4878  // * B = (pt_probe - pt_barrel)/pt_dijet
4879  // * select probe randomly from 2 jets if both leading jets are in the barrel
4880  bool thirdJetCut = true;
4881  if (ind3 > 0) {
4882  if (pt3 / pt_dijet > balanceThirdJetCut_) {
4883  thirdJetCut = false;
4884  }
4885  }
4886  if (thirdJetCut) {
4887  double dijetBalance = (pt_probe - pt_barrel) / pt_dijet;
4888  mDijetBalance = map_of_MEs[DirName + "/" + "DijetBalance"];
4889  if (mDijetBalance && mDijetBalance->getRootObject())
4890  mDijetBalance->Fill(dijetBalance);
4891  } // end restriction on third jet pt ratio in balance calculation
4892 
4893  } // dPhi > 2.7 for dijetbalance and asymmetrie
4894  } //leading jet in barrel
4895  } //DPhi cut of 2.1
4896  } //dijet selection, check if both leading jets are IDed
4897  //now do the ZJets selection -> pass_Z_selection cuts already on the Z-pt>30 GeV
4898  if (pass_Z_selection && ind1_mu_vetoed >= 0 && pt1_mu_vetoed > 12 && cleaned_first_jet_mu_vetoed && isPFJet_) {
4899  bool pass_second_jet_mu_vetoed = false;
4900  if (cleaned_second_jet_mu_vetoed) {
4901  if (ind2_mu_vetoed >= 0 && pt2_mu_vetoed / zCand.Pt() < 0.2) {
4902  pass_second_jet_mu_vetoed = true;
4903  }
4904  }
4905  if (pass_second_jet_mu_vetoed) {
4906  Jet recoJet1;
4907  if (isPFJet_) {
4908  recoJet1 = (*pfJets)[ind1_mu_vetoed];
4909  }
4910  if (pass_correction_flag && !isMiniAODJet_) {
4911  double scale = 1;
4912  if (isCaloJet_) {
4913  scale = jetCorr->correction((*caloJets)[ind1_mu_vetoed]);
4914  }
4915  if (isPFJet_) {
4916  scale = jetCorr->correction((*pfJets)[ind1_mu_vetoed]);
4917  }
4918  recoJet1.scaleEnergy(scale);
4919  }
4920  double dphi = fabs(recoJet1.phi() - zCand.Phi());
4921  if (dphi > acos(-1.)) {
4922  dphi = 2 * acos(-1.) - dphi;
4923  }
4924  if (jetCleaningFlag_) {
4925  DirName = "JetMET/Jet/Cleaned" + mInputCollection_.label() + "/ZJets";
4926  }
4927  mDPhiZJet = map_of_MEs[DirName + "/" + "DPhiZJ"];
4928  if (mDPhiZJet && mDPhiZJet->getRootObject())
4929  mDPhiZJet->Fill(dphi);
4930  if (fabs(dphi - acos(-1.)) < 0.34) {
4931  //get now MET collections for MPF studies
4934  //edm::Handle<pat::METCollection> patmetcoll;
4935  const MET* met = nullptr;
4936  if (isCaloJet_) {
4937  iEvent.getByToken(caloMetToken_, calometcoll);
4938  if (!calometcoll.isValid())
4939  return;
4940  met = &(calometcoll->front());
4941  }
4942  if (isPFJet_) {
4943  iEvent.getByToken(pfMetToken_, pfmetcoll);
4944  if (!pfmetcoll.isValid())
4945  return;
4946  met = &(pfmetcoll->front());
4947  }
4948  //if(isMiniAODJet_){
4949  //iEvent.getByToken(patMetToken_, patmetcoll);
4950  //if(!patmetcoll.isValid()) return;
4951  //met=&(patmetcoll->front());
4952  //}
4953  mZMass = map_of_MEs[DirName + "/" + "DiMuonMass"];
4954  if (mZMass && mZMass->getRootObject())
4955  mZMass->Fill(zCand.M());
4956  mZJetAsymmetry = map_of_MEs[DirName + "/" + "ZJetAsymmetry"];
4957  if (mZJetAsymmetry && mZJetAsymmetry->getRootObject())
4958  mZJetAsymmetry->Fill((zCand.Pt() - recoJet1.pt()) / (zCand.Pt() + recoJet1.pt()));
4959  if (recoJet1.pt() > 20) {
4960  mPt = map_of_MEs[DirName + "/" + "Pt"];
4961  if (mPt && mPt->getRootObject())
4962  mPt->Fill(recoJet1.pt());
4963  mEta = map_of_MEs[DirName + "/" + "Eta"];
4964  if (mEta && mEta->getRootObject())
4965  mEta->Fill(recoJet1.eta());
4966  mPhi = map_of_MEs[DirName + "/" + "Phi"];
4967  if (mPhi && mPhi->getRootObject())
4968  mPhi->Fill(recoJet1.phi());
4969  //PV profiles
4970  mPt_profile = map_of_MEs[DirName + "/" + "Pt_profile"];
4971  if (mPt_profile && mPt_profile->getRootObject())
4972  mPt_profile->Fill(numPV, recoJet1.pt());
4973  mEta_profile = map_of_MEs[DirName + "/" + "Eta_profile"];
4974  if (mEta_profile && mEta_profile->getRootObject())
4975  mEta_profile->Fill(numPV, recoJet1.eta());
4976  mPhi_profile = map_of_MEs[DirName + "/" + "Phi_profile"];
4977  if (mPhi_profile && mPhi_profile->getRootObject())
4978  mPhi_profile->Fill(numPV, recoJet1.phi());
4979  mConstituents = map_of_MEs[DirName + "/" + "Constituents"];
4980  if (mConstituents && mConstituents->getRootObject())
4981  mConstituents->Fill(recoJet1.nConstituents());
4982  mConstituents_profile = map_of_MEs[DirName + "/" + "Constituents_profile"];
4983  if (mConstituents_profile && mConstituents_profile->getRootObject())
4984  mConstituents_profile->Fill(numPV, recoJet1.nConstituents());
4985  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4986  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4987  mJetEnergyCorr->Fill(recoJet1.pt() / (*pfJets)[ind1_mu_vetoed].pt());
4988  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4989  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4990  mJetEnergyCorrVSEta->Fill(recoJet1.eta(), recoJet1.pt() / (*pfJets)[ind1_mu_vetoed].pt());
4991  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4992  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4993  mJetEnergyCorrVSPt->Fill(recoJet1.pt(), recoJet1.pt() / (*pfJets)[ind1_mu_vetoed].pt());
4994  mCHFrac = map_of_MEs[DirName + "/" + "CHFrac"];
4995  if (mCHFrac && mCHFrac->getRootObject())
4996  mCHFrac->Fill((*pfJets)[ind1_mu_vetoed].chargedHadronEnergyFraction());
4997  mNHFrac = map_of_MEs[DirName + "/" + "NHFrac"];
4998  if (mNHFrac && mNHFrac->getRootObject())
4999  mNHFrac->Fill((*pfJets)[ind1_mu_vetoed].neutralHadronEnergyFraction());
5000  mPhFrac = map_of_MEs[DirName + "/" + "PhFrac"];
5001  if (mPhFrac && mPhFrac->getRootObject())
5002  mPhFrac->Fill((*pfJets)[ind1_mu_vetoed].neutralEmEnergyFraction());
5003  mHFEMFrac = map_of_MEs[DirName + "/" + "HFEMFrac"];
5004  if (mHFEMFrac && mHFEMFrac->getRootObject())
5005  mHFEMFrac->Fill((*pfJets)[ind1_mu_vetoed].HFEMEnergyFraction());
5006  mHFHFrac = map_of_MEs[DirName + "/" + "HFHFrac"];
5007  if (mHFHFrac && mHFHFrac->getRootObject())
5008  mHFHFrac->Fill((*pfJets)[ind1_mu_vetoed].HFHadronEnergyFraction());
5009  //now fill PFJet profiles for second leading jet
5010  mCHFrac_profile = map_of_MEs[DirName + "/" + "CHFrac_profile"];
5011  if (mCHFrac_profile && mCHFrac_profile->getRootObject())
5012  mCHFrac_profile->Fill(numPV, (*pfJets)[ind1_mu_vetoed].chargedHadronEnergyFraction());
5013  mNHFrac_profile = map_of_MEs[DirName + "/" + "NHFrac_profile"];
5014  if (mNHFrac_profile && mNHFrac_profile->getRootObject())
5015  mNHFrac_profile->Fill(numPV, (*pfJets)[ind1_mu_vetoed].neutralHadronEnergyFraction());
5016  mPhFrac_profile = map_of_MEs[DirName + "/" + "PhFrac_profile"];
5017  if (mPhFrac_profile && mPhFrac_profile->getRootObject())
5018  mPhFrac_profile->Fill(numPV, (*pfJets)[ind1_mu_vetoed].neutralEmEnergyFraction());
5019  mHFEMFrac_profile = map_of_MEs[DirName + "/" + "HFEMFrac_profile"];
5020  if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject())
5021  mHFEMFrac_profile->Fill(numPV, (*pfJets)[ind1_mu_vetoed].HFEMEnergyFraction());
5022  mHFHFrac_profile = map_of_MEs[DirName + "/" + "HFHFrac_profile"];
5023  if (mHFHFrac_profile && mHFHFrac_profile->getRootObject())
5024  mHFHFrac_profile->Fill(numPV, (*pfJets)[ind1_mu_vetoed].HFHadronEnergyFraction());
5025  }
5026  double MPF = 1. + (met->px() * zCand.Px() + met->py() * zCand.Py()) / (zCand.Pt() * zCand.Pt());
5027  if (fabs(recoJet1.eta()) < 1.3) { //barrel jets
5028  mJ1Pt_over_ZPt_J_Barrel = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_J_Barrel"];
5029  if (mJ1Pt_over_ZPt_J_Barrel && mJ1Pt_over_ZPt_J_Barrel->getRootObject())
5030  mJ1Pt_over_ZPt_J_Barrel->Fill(recoJet1.pt() / zCand.Pt());
5031  mMPF_J_Barrel = map_of_MEs[DirName + "/" + "MPF_J_Barrel"];
5032  if (mMPF_J_Barrel && mMPF_J_Barrel->getRootObject())
5033  mMPF_J_Barrel->Fill(MPF);
5034  if (zCand.Pt() < 90) { //lower cut on 30 already right from the start
5035  mJetZBalance_lowZPt_J_Barrel = map_of_MEs[DirName + "/" + "JZB_lowZPt_J_Barrel"];
5036  if (mJetZBalance_lowZPt_J_Barrel && mJetZBalance_lowZPt_J_Barrel->getRootObject())
5037  mJetZBalance_lowZPt_J_Barrel->Fill(recoJet1.pt() - zCand.Pt());
5038  mJ1Pt_over_ZPt_lowZPt_J_Barrel = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_lowZPt_J_Barrel"];
5039  if (mJ1Pt_over_ZPt_lowZPt_J_Barrel && mJ1Pt_over_ZPt_lowZPt_J_Barrel->getRootObject())
5040  mJ1Pt_over_ZPt_lowZPt_J_Barrel->Fill(recoJet1.pt() / zCand.Pt());
5041  mMPF_lowZPt_J_Barrel = map_of_MEs[DirName + "/" + "MPF_lowZPt_J_Barrel"];
5042  if (mMPF_lowZPt_J_Barrel && mMPF_lowZPt_J_Barrel->getRootObject())
5043  mMPF_lowZPt_J_Barrel->Fill(MPF);
5044  //mMPF_J_Barrel = map_of_MEs[DirName+"/"+"MPF_J_Barrel"]; if(mMPF_J_Barrel && mMPF_J_Barrel->getRootObject())mMPF_J_Barrel->Fill(MPF);
5045  } else if (zCand.Pt() < 140) {
5046  mJetZBalance_mediumZPt_J_Barrel = map_of_MEs[DirName + "/" + "JZB_mediumZPt_J_Barrel"];
5047  if (mJetZBalance_mediumZPt_J_Barrel && mJetZBalance_mediumZPt_J_Barrel->getRootObject())
5048  mJetZBalance_mediumZPt_J_Barrel->Fill(recoJet1.pt() - zCand.Pt());
5049  mJ1Pt_over_ZPt_mediumZPt_J_Barrel = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_mediumZPt_J_Barrel"];
5050  if (mJ1Pt_over_ZPt_mediumZPt_J_Barrel && mJ1Pt_over_ZPt_mediumZPt_J_Barrel->getRootObject())
5051  mJ1Pt_over_ZPt_mediumZPt_J_Barrel->Fill(recoJet1.pt() / zCand.Pt());
5052  mMPF_mediumZPt_J_Barrel = map_of_MEs[DirName + "/" + "MPF_mediumZPt_J_Barrel"];
5053  if (mMPF_mediumZPt_J_Barrel && mMPF_mediumZPt_J_Barrel->getRootObject())
5054  mMPF_mediumZPt_J_Barrel->Fill(MPF);
5055  } else {
5056  mJetZBalance_highZPt_J_Barrel = map_of_MEs[DirName + "/" + "JZB_highZPt_J_Barrel"];
5057  if (mJetZBalance_highZPt_J_Barrel && mJetZBalance_highZPt_J_Barrel->getRootObject())
5058  mJetZBalance_highZPt_J_Barrel->Fill(recoJet1.pt() - zCand.Pt());
5059  mJ1Pt_over_ZPt_highZPt_J_Barrel = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_highZPt_J_Barrel"];
5060  if (mJ1Pt_over_ZPt_highZPt_J_Barrel && mJ1Pt_over_ZPt_highZPt_J_Barrel->getRootObject())
5061  mJ1Pt_over_ZPt_highZPt_J_Barrel->Fill(recoJet1.pt() / zCand.Pt());
5062  mMPF_highZPt_J_Barrel = map_of_MEs[DirName + "/" + "MPF_highZPt_J_Barrel"];
5063  if (mMPF_highZPt_J_Barrel && mMPF_highZPt_J_Barrel->getRootObject())
5064  mMPF_highZPt_J_Barrel->Fill(MPF);
5065  }
5066  if (zCand.Pt() > 30) {
5067  if (zCand.Pt() < 55) {
5068  mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel =
5069  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_30_55_J_Barrel"];
5070  if (mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel && mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel->getRootObject())
5071  mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5072  } else if (zCand.Pt() < 75) {
5073  mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel =
5074  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_55_75_J_Barrel"];
5075  if (mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel && mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel->getRootObject())
5076  mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5077  } else if (zCand.Pt() < 150) {
5078  mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel =
5079  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_75_150_J_Barrel"];
5080  if (mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel && mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel->getRootObject())
5081  mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5082  } else if (zCand.Pt() < 290) {
5083  mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel =
5084  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_150_290_J_Barrel"];
5085  if (mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel && mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel->getRootObject())
5086  mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5087  } else {
5088  mDeltaPt_Z_j1_over_ZPt_290_J_Barrel = map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_290_J_Barrel"];
5089  if (mDeltaPt_Z_j1_over_ZPt_290_J_Barrel && mDeltaPt_Z_j1_over_ZPt_290_J_Barrel->getRootObject())
5090  mDeltaPt_Z_j1_over_ZPt_290_J_Barrel->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5091  }
5092  }
5093  } else if (fabs(recoJet1.eta()) < 3.0) { //endcap jets
5094  mJ1Pt_over_ZPt_J_EndCap = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_J_EndCap"];
5095  if (mJ1Pt_over_ZPt_J_EndCap && mJ1Pt_over_ZPt_J_EndCap->getRootObject())
5096  mJ1Pt_over_ZPt_J_EndCap->Fill(recoJet1.pt() / zCand.Pt());
5097  mMPF_J_EndCap = map_of_MEs[DirName + "/" + "MPF_J_EndCap"];
5098  if (mMPF_J_EndCap && mMPF_J_EndCap->getRootObject())
5099  mMPF_J_EndCap->Fill(MPF);
5100  if (zCand.Pt() < 90) { //lower cut on 30 already right from the start
5101  mJetZBalance_lowZPt_J_EndCap = map_of_MEs[DirName + "/" + "JZB_lowZPt_J_EndCap"];
5102  if (mJetZBalance_lowZPt_J_EndCap && mJetZBalance_lowZPt_J_EndCap->getRootObject())
5103  mJetZBalance_lowZPt_J_EndCap->Fill(recoJet1.pt() - zCand.Pt());
5104  mJ1Pt_over_ZPt_lowZPt_J_EndCap = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_lowZPt_J_EndCap"];
5105  if (mJ1Pt_over_ZPt_lowZPt_J_EndCap && mJ1Pt_over_ZPt_lowZPt_J_EndCap->getRootObject())
5106  mJ1Pt_over_ZPt_lowZPt_J_EndCap->Fill(recoJet1.pt() / zCand.Pt());
5107  mMPF_lowZPt_J_EndCap = map_of_MEs[DirName + "/" + "MPF_lowZPt_J_EndCap"];
5108  if (mMPF_lowZPt_J_EndCap && mMPF_lowZPt_J_EndCap->getRootObject())
5109  mMPF_lowZPt_J_EndCap->Fill(MPF);
5110  } else if (zCand.Pt() < 140) {
5111  mJetZBalance_mediumZPt_J_EndCap = map_of_MEs[DirName + "/" + "JZB_mediumZPt_J_EndCap"];
5112  if (mJetZBalance_mediumZPt_J_EndCap && mJetZBalance_mediumZPt_J_EndCap->getRootObject())
5113  mJetZBalance_mediumZPt_J_EndCap->Fill(recoJet1.pt() - zCand.Pt());
5114  mJ1Pt_over_ZPt_mediumZPt_J_EndCap = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_mediumZPt_J_EndCap"];
5115  if (mJ1Pt_over_ZPt_mediumZPt_J_EndCap && mJ1Pt_over_ZPt_mediumZPt_J_EndCap->getRootObject())
5116  mJ1Pt_over_ZPt_mediumZPt_J_EndCap->Fill(recoJet1.pt() / zCand.Pt());
5117  mMPF_mediumZPt_J_EndCap = map_of_MEs[DirName + "/" + "MPF_mediumZPt_J_EndCap"];
5118  if (mMPF_mediumZPt_J_EndCap && mMPF_mediumZPt_J_EndCap->getRootObject())
5119  mMPF_mediumZPt_J_EndCap->Fill(MPF);
5120  } else {
5121  mJetZBalance_highZPt_J_EndCap = map_of_MEs[DirName + "/" + "JZB_highZPt_J_EndCap"];
5122  if (mJetZBalance_highZPt_J_EndCap && mJetZBalance_highZPt_J_EndCap->getRootObject())
5123  mJetZBalance_highZPt_J_EndCap->Fill(recoJet1.pt() - zCand.Pt());
5124  mJ1Pt_over_ZPt_highZPt_J_EndCap = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_highZPt_J_EndCap"];
5125  if (mJ1Pt_over_ZPt_highZPt_J_EndCap && mJ1Pt_over_ZPt_highZPt_J_EndCap->getRootObject())
5126  mJ1Pt_over_ZPt_highZPt_J_EndCap->Fill(recoJet1.pt() / zCand.Pt());
5127  mMPF_highZPt_J_EndCap = map_of_MEs[DirName + "/" + "MPF_highZPt_J_EndCap"];
5128  if (mMPF_highZPt_J_EndCap && mMPF_highZPt_J_EndCap->getRootObject())
5129  mMPF_highZPt_J_EndCap->Fill(MPF);
5130  }
5131  if (zCand.Pt() > 30) {
5132  if (zCand.Pt() < 55) {
5133  mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap =
5134  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_30_55_J_EndCap"];
5135  if (mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap && mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap->getRootObject())
5136  mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5137  } else if (zCand.Pt() < 75) {
5138  mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap =
5139  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_55_75_J_EndCap"];
5140  if (mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap && mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap->getRootObject())
5141  mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5142  } else if (zCand.Pt() < 150) {
5143  mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap =
5144  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_75_150_J_EndCap"];
5145  if (mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap && mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap->getRootObject())
5146  mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5147  } else if (zCand.Pt() < 290) {
5148  mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap =
5149  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_150_290_J_EndCap"];
5150  if (mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap && mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap->getRootObject())
5151  mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5152  } else {
5153  mDeltaPt_Z_j1_over_ZPt_290_J_EndCap = map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_290_J_EndCap"];
5154  if (mDeltaPt_Z_j1_over_ZPt_290_J_EndCap && mDeltaPt_Z_j1_over_ZPt_290_J_EndCap->getRootObject())
5155  mDeltaPt_Z_j1_over_ZPt_290_J_EndCap->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5156  }
5157  }
5158  } else { //forward jets
5159  mJ1Pt_over_ZPt_J_Forward = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_J_Forward"];
5160  if (mJ1Pt_over_ZPt_J_Forward && mJ1Pt_over_ZPt_J_Forward->getRootObject())
5161  mJ1Pt_over_ZPt_J_Forward->Fill(recoJet1.pt() / zCand.Pt());
5162  mMPF_J_Forward = map_of_MEs[DirName + "/" + "MPF_J_Forward"];
5163  if (mMPF_J_Forward && mMPF_J_Forward->getRootObject())
5164  mMPF_J_Forward->Fill(MPF);
5165  if (zCand.Pt() < 90) { //lower cut on 30 already right from the start
5166  mJetZBalance_lowZPt_J_Forward = map_of_MEs[DirName + "/" + "JZB_lowZPt_J_Forward"];
5167  if (mJetZBalance_lowZPt_J_Forward && mJetZBalance_lowZPt_J_Forward->getRootObject())
5168  mJetZBalance_lowZPt_J_Forward->Fill(recoJet1.pt() - zCand.Pt());
5169  mJ1Pt_over_ZPt_lowZPt_J_Forward = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_lowZPt_J_Forward"];
5170  if (mJ1Pt_over_ZPt_lowZPt_J_Forward && mJ1Pt_over_ZPt_lowZPt_J_Forward->getRootObject())
5171  mJ1Pt_over_ZPt_lowZPt_J_Forward->Fill(recoJet1.pt() / zCand.Pt());
5172  mMPF_lowZPt_J_Forward = map_of_MEs[DirName + "/" + "MPF_lowZPt_J_Forward"];
5173  if (mMPF_lowZPt_J_Forward && mMPF_lowZPt_J_Forward->getRootObject())
5174  mMPF_lowZPt_J_Forward->Fill(MPF);
5175  } else if (zCand.Pt() < 140) {
5176  mJetZBalance_mediumZPt_J_Forward = map_of_MEs[DirName + "/" + "JZB_mediumZPt_J_Forward"];
5177  if (mJetZBalance_mediumZPt_J_Forward && mJetZBalance_mediumZPt_J_Forward->getRootObject())
5178  mJetZBalance_mediumZPt_J_Forward->Fill(recoJet1.pt() - zCand.Pt());
5179  mJ1Pt_over_ZPt_mediumZPt_J_Forward = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_mediumZPt_J_Forward"];
5180  if (mJ1Pt_over_ZPt_mediumZPt_J_Forward && mJ1Pt_over_ZPt_mediumZPt_J_Forward->getRootObject())
5181  mJ1Pt_over_ZPt_mediumZPt_J_Forward->Fill(recoJet1.pt() / zCand.Pt());
5182  mMPF_mediumZPt_J_Forward = map_of_MEs[DirName + "/" + "MPF_mediumZPt_J_Forward"];
5183  if (mMPF_mediumZPt_J_Forward && mMPF_mediumZPt_J_Forward->getRootObject())
5184  mMPF_mediumZPt_J_Forward->Fill(MPF);
5185  } else {
5186  mJetZBalance_highZPt_J_Forward = map_of_MEs[DirName + "/" + "JZB_highZPt_J_Forward"];
5187  if (mJetZBalance_highZPt_J_Forward && mJetZBalance_highZPt_J_Forward->getRootObject())
5188  mJetZBalance_highZPt_J_Forward->Fill(recoJet1.pt() - zCand.Pt());
5189  mJ1Pt_over_ZPt_highZPt_J_Forward = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_highZPt_J_Forward"];
5190  if (mJ1Pt_over_ZPt_highZPt_J_Forward && mJ1Pt_over_ZPt_highZPt_J_Forward->getRootObject())
5191  mJ1Pt_over_ZPt_highZPt_J_Forward->Fill(recoJet1.pt() / zCand.Pt());
5192  mMPF_highZPt_J_Forward = map_of_MEs[DirName + "/" + "MPF_highZPt_J_Forward"];
5193  if (mMPF_highZPt_J_Forward && mMPF_highZPt_J_Forward->getRootObject())
5194  mMPF_highZPt_J_Forward->Fill(MPF);
5195  }
5196  if (zCand.Pt() > 30) {
5197  if (zCand.Pt() < 55) {
5198  mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward =
5199  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_30_55_J_Forward"];
5200  if (mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward && mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward->getRootObject())
5201  mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5202  } else if (zCand.Pt() < 100) {
5203  mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward =
5204  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_55_100_J_Forward"];
5205  if (mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward && mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward->getRootObject())
5206  mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5207  } else {
5208  mDeltaPt_Z_j1_over_ZPt_100_J_Forward = map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_100_J_Forward"];
5209  if (mDeltaPt_Z_j1_over_ZPt_100_J_Forward && mDeltaPt_Z_j1_over_ZPt_100_J_Forward->getRootObject())
5210  mDeltaPt_Z_j1_over_ZPt_100_J_Forward->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5211  }
5212  }
5213  }
5214  int QGmulti = -1;
5215  float QGLikelihood = -10;
5216  float QGptD = -10;
5217  float QGaxis2 = -10;
5218  if (fill_CHS_histos) {
5219  reco::PFJetRef pfjetref(pfJets, ind1_mu_vetoed);
5220  QGmulti = (*qgMultiplicity)[pfjetref];
5221  QGLikelihood = (*qgLikelihood)[pfjetref];
5222  QGptD = (*qgptD)[pfjetref];
5223  QGaxis2 = (*qgaxis2)[pfjetref];
5224  if (fabs(recoJet1.eta()) < 1.3) { //barrel jets
5225  //fractions for barrel
5226  if (recoJet1.pt() >= 20. && recoJet1.pt() <= 50.) {
5227  mAxis2_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Barrel"];
5228  if (mAxis2_lowPt_Barrel && mAxis2_lowPt_Barrel->getRootObject())
5229  mAxis2_lowPt_Barrel->Fill(QGaxis2);
5230  mpTD_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Barrel"];
5231  if (mpTD_lowPt_Barrel && mpTD_lowPt_Barrel->getRootObject())
5232  mpTD_lowPt_Barrel->Fill(QGptD);
5233  mMultiplicityQG_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Barrel"];
5234  if (mMultiplicityQG_lowPt_Barrel && mMultiplicityQG_lowPt_Barrel->getRootObject())
5235  mMultiplicityQG_lowPt_Barrel->Fill(QGmulti);
5236  mqgLikelihood_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Barrel"];
5237  if (mqgLikelihood_lowPt_Barrel && mqgLikelihood_lowPt_Barrel->getRootObject())
5238  mqgLikelihood_lowPt_Barrel->Fill(QGLikelihood);
5239  }
5240  if (recoJet1.pt() > 50. && recoJet1.pt() <= 140.) {
5241  mAxis2_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Barrel"];
5242  if (mAxis2_mediumPt_Barrel && mAxis2_mediumPt_Barrel->getRootObject())
5243  mAxis2_mediumPt_Barrel->Fill(QGaxis2);
5244  mpTD_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Barrel"];
5245  if (mpTD_mediumPt_Barrel && mpTD_mediumPt_Barrel->getRootObject())
5246  mpTD_mediumPt_Barrel->Fill(QGptD);
5247  mMultiplicityQG_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Barrel"];
5248  if (mMultiplicityQG_mediumPt_Barrel && mMultiplicityQG_mediumPt_Barrel->getRootObject())
5249  mMultiplicityQG_mediumPt_Barrel->Fill(QGmulti);
5250  mqgLikelihood_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Barrel"];
5251  if (mqgLikelihood_mediumPt_Barrel && mqgLikelihood_mediumPt_Barrel->getRootObject())
5252  mqgLikelihood_mediumPt_Barrel->Fill(QGLikelihood);
5253  }
5254  if (recoJet1.pt() > 140.) {
5255  mAxis2_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Barrel"];
5256  if (mAxis2_highPt_Barrel && mAxis2_highPt_Barrel->getRootObject())
5257  mAxis2_highPt_Barrel->Fill(QGaxis2);
5258  mpTD_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Barrel"];
5259  if (mpTD_highPt_Barrel && mpTD_highPt_Barrel->getRootObject())
5260  mpTD_highPt_Barrel->Fill(QGptD);
5261  mMultiplicityQG_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Barrel"];
5262  if (mMultiplicityQG_highPt_Barrel && mMultiplicityQG_highPt_Barrel->getRootObject())
5263  mMultiplicityQG_highPt_Barrel->Fill(QGmulti);
5264  mqgLikelihood_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Barrel"];
5265  if (mqgLikelihood_highPt_Barrel && mqgLikelihood_highPt_Barrel->getRootObject())
5266  mqgLikelihood_highPt_Barrel->Fill(QGLikelihood);
5267  }
5268  } else if (fabs(recoJet1.eta()) < 3.0) { //endcap jets
5269  if (recoJet1.pt() > 20. && recoJet1.pt() <= 50.) {
5270  mAxis2_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_EndCap"];
5271  if (mAxis2_lowPt_EndCap && mAxis2_lowPt_EndCap->getRootObject())
5272  mAxis2_lowPt_EndCap->Fill(QGaxis2);
5273  mpTD_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_EndCap"];
5274  if (mpTD_lowPt_EndCap && mpTD_lowPt_EndCap->getRootObject())
5275  mpTD_lowPt_EndCap->Fill(QGptD);
5276  mMultiplicityQG_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_EndCap"];
5277  if (mMultiplicityQG_lowPt_EndCap && mMultiplicityQG_lowPt_EndCap->getRootObject())
5278  mMultiplicityQG_lowPt_EndCap->Fill(QGmulti);
5279  mqgLikelihood_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_EndCap"];
5280  if (mqgLikelihood_lowPt_EndCap && mqgLikelihood_lowPt_EndCap->getRootObject())
5281  mqgLikelihood_lowPt_EndCap->Fill(QGLikelihood);
5282  }
5283  if (recoJet1.pt() > 50. && recoJet1.pt() <= 140.) {
5284  mAxis2_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_EndCap"];
5285  if (mAxis2_mediumPt_EndCap && mAxis2_mediumPt_EndCap->getRootObject())
5286  mAxis2_mediumPt_EndCap->Fill(QGaxis2);
5287  mpTD_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_EndCap"];
5288  if (mpTD_mediumPt_EndCap && mpTD_mediumPt_EndCap->getRootObject())
5289  mpTD_mediumPt_EndCap->Fill(QGptD);
5290  mMultiplicityQG_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_EndCap"];
5291  if (mMultiplicityQG_mediumPt_EndCap && mMultiplicityQG_mediumPt_EndCap->getRootObject())
5292  mMultiplicityQG_mediumPt_EndCap->Fill(QGmulti);
5293  mqgLikelihood_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_EndCap"];
5294  if (mqgLikelihood_mediumPt_EndCap && mqgLikelihood_mediumPt_EndCap->getRootObject())
5295  mqgLikelihood_mediumPt_EndCap->Fill(QGLikelihood);
5296  }
5297  if (recoJet1.pt() > 140.) {
5298  mAxis2_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_EndCap"];
5299  if (mAxis2_highPt_EndCap && mAxis2_highPt_EndCap->getRootObject())
5300  mAxis2_highPt_EndCap->Fill(QGaxis2);
5301  mpTD_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_highPt_EndCap"];
5302  if (mpTD_highPt_EndCap && mpTD_highPt_EndCap->getRootObject())
5303  mpTD_highPt_EndCap->Fill(QGptD);
5304  mMultiplicityQG_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_EndCap"];
5305  if (mMultiplicityQG_highPt_EndCap && mMultiplicityQG_highPt_EndCap->getRootObject())
5306  mMultiplicityQG_highPt_EndCap->Fill(QGmulti);
5307  mqgLikelihood_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_EndCap"];
5308  if (mqgLikelihood_highPt_EndCap && mqgLikelihood_highPt_EndCap->getRootObject())
5309  mqgLikelihood_highPt_EndCap->Fill(QGLikelihood);
5310  }
5311  } else {
5312  if (recoJet1.pt() > 20. && recoJet1.pt() <= 50.) {
5313  mAxis2_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Forward"];
5314  if (mAxis2_lowPt_Forward && mAxis2_lowPt_Forward->getRootObject())
5315  mAxis2_lowPt_Forward->Fill(QGaxis2);
5316  mpTD_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Forward"];
5317  if (mpTD_lowPt_Forward && mpTD_lowPt_Forward->getRootObject())
5318  mpTD_lowPt_Forward->Fill(QGptD);
5319  mMultiplicityQG_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Forward"];
5320  if (mMultiplicityQG_lowPt_Forward && mMultiplicityQG_lowPt_Forward->getRootObject())
5321  mMultiplicityQG_lowPt_Forward->Fill(QGmulti);
5322  mqgLikelihood_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Forward"];
5323  if (mqgLikelihood_lowPt_Forward && mqgLikelihood_lowPt_Forward->getRootObject())
5324  mqgLikelihood_lowPt_Forward->Fill(QGLikelihood);
5325  }
5326  if (recoJet1.pt() > 50. && recoJet1.pt() <= 140.) {
5327  mAxis2_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Forward"];
5328  if (mAxis2_mediumPt_Forward && mAxis2_mediumPt_Forward->getRootObject())
5329  mAxis2_mediumPt_Forward->Fill(QGaxis2);
5330  mpTD_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Forward"];
5331  if (mpTD_mediumPt_Forward && mpTD_mediumPt_Forward->getRootObject())
5332  mpTD_mediumPt_Forward->Fill(QGptD);
5333  mMultiplicityQG_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Forward"];
5334  if (mMultiplicityQG_mediumPt_Forward && mMultiplicityQG_mediumPt_Forward->getRootObject())
5335  mMultiplicityQG_mediumPt_Forward->Fill(QGmulti);
5336  mqgLikelihood_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Forward"];
5337  if (mqgLikelihood_mediumPt_Forward && mqgLikelihood_mediumPt_Forward->getRootObject())
5338  mqgLikelihood_mediumPt_Forward->Fill(QGLikelihood);
5339  }
5340  if (recoJet1.pt() > 140.) {
5341  mAxis2_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Forward"];
5342  if (mAxis2_highPt_Forward && mAxis2_highPt_Forward->getRootObject())
5343  mAxis2_highPt_Forward->Fill(QGaxis2);
5344  mpTD_highPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Forward"];
5345  if (mpTD_highPt_Forward && mpTD_highPt_Forward->getRootObject())
5346  mpTD_highPt_Forward->Fill(QGptD);
5347  mMultiplicityQG_highPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Forward"];
5348  if (mMultiplicityQG_highPt_Forward && mMultiplicityQG_highPt_Forward->getRootObject())
5349  mMultiplicityQG_highPt_Forward->Fill(QGmulti);
5350  mqgLikelihood_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Forward"];
5351  if (mqgLikelihood_highPt_Forward && mqgLikelihood_highPt_Forward->getRootObject())
5352  mqgLikelihood_highPt_Forward->Fill(QGLikelihood);
5353  }
5354  }
5355  } //fill quark gluon tagged variables
5356  } //jet back to back to Z
5357  } //2nd jet veto
5358  } //Z selection + hard leading jet
5359 }
~JetAnalyzer() override
Destructor.
Definition: JetAnalyzer.cc:274
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
Initialize run-based parameters.
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
virtual void scaleEnergy(double fScale)
scale energy of the jet
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
Definition: EventSetup.h:119
double pt() const final
transverse momentum
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
JetAnalyzer(const edm::ParameterSet &)
Constructor.
Definition: JetAnalyzer.cc:63
float fHPD
Definition: JetID.h:41
virtual void setOption(const char *option)
T const * product() const
Definition: Handle.h:70
float restrictedEMF
Definition: JetID.h:48
float fRBX
Definition: JetID.h:42
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
Jet ID object.
Definition: JetID.h:16
double correction(const LorentzVector &fJet) const
get correction using Jet information only
Definition: JetCorrector.h:46
#define LogTrace(id)
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
T getUntrackedParameter(std::string const &, T const &) const
void analyze(const edm::Event &, const edm::EventSetup &) override
Get the analysis.
static bool passJetId(int flag, Id level)
int iEvent
Definition: GenABIO.cc:224
Definition: Jet.py:1
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:399
Definition: MET.h:41
virtual int nConstituents() const
of constituents
Definition: Jet.h:65
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
const TechnicalTriggerWord & technicalTriggerWord(int bxInEventValue) const
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
PF Jet selector for pat::Jets.
Log< level::Info, false > LogInfo
Jet selector for pat::Jets and for CaloJets.
static std::string const triggerResults("TriggerResults")
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:212
bool isValid() const
Definition: HandleBase.h:70
fixed size matrix
HLT enums.
static int position[264][3]
Definition: ReadPGInfo.cc:289
void bookMESetSelection(std::string, DQMStore::IBooker &)
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Inizialize parameters for histo binning.
Definition: JetAnalyzer.cc:284
double phi() const final
momentum azimuthal angle
short n90Hits
Definition: JetID.h:43
Definition: Run.h:45
#define LogDebug(id)
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: Candidate.h:38
double eta() const final
momentum pseudorapidity