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