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