CMS 3D CMS Logo

JetAnalyzer.cc
Go to the documentation of this file.
1 
16 
29 
33 
54 
55 #include <string>
56 
57 #include <cmath>
58 
59 using namespace edm;
60 using namespace reco;
61 using namespace std;
62 
63 // ***********************************************************
65 //: trackPropagator_(new jetAnalysis::TrackPropagatorToCalo)//,
66 //sOverNCalculator_(new jetAnalysis::StripSignalOverNoiseCalculator)
67 {
68  parameters_ = pSet.getParameter<edm::ParameterSet>("jetAnalysis");
69  mInputCollection_ = pSet.getParameter<edm::InputTag>("jetsrc");
70  m_l1algoname_ = pSet.getParameter<std::string>("l1algoname");
71  m_bitAlgTechTrig_ = -1;
72 
73  jetType_ = pSet.getParameter<std::string>("JetType");
74  m_l1algoname_ = pSet.getParameter<std::string>("l1algoname");
75 
76  fill_jet_high_level_histo = pSet.getParameter<bool>("filljetHighLevel"),
77  filljetsubstruc_ = pSet.getParameter<bool>("fillsubstructure");
78  pt_min_boosted_ = pSet.getParameter<double>("ptMinBoosted");
79 
80  isCaloJet_ = (std::string("calo") == jetType_);
81  //isJPTJet_ = (std::string("jpt") ==jetType_);
82  isPFJet_ = (std::string("pf") == jetType_);
83  isMiniAODJet_ = (std::string("miniaod") == jetType_);
84  jetCorrectorTag_ = pSet.getParameter<edm::InputTag>("JetCorrections");
85  if (!isMiniAODJet_) { //in MiniAOD jet is already corrected
86  jetCorrectorToken_ = consumes<reco::JetCorrector>(jetCorrectorTag_);
87  }
88 
89  if (isCaloJet_) {
90  caloJetsToken_ = consumes<reco::CaloJetCollection>(mInputCollection_);
91  // MET information
92  caloMetToken_ =
93  consumes<reco::CaloMETCollection>(edm::InputTag(pSet.getParameter<edm::InputTag>("METCollectionLabel")));
94  }
95  //if (isJPTJet_) jptJetsToken_ = consumes<reco::JPTJetCollection>(mInputCollection_);
96  if (isPFJet_) {
97  pfJetsToken_ = consumes<reco::PFJetCollection>(mInputCollection_);
98  MuonsToken_ = consumes<reco::MuonCollection>(pSet.getParameter<edm::InputTag>("muonsrc"));
99  pfMetToken_ =
100  consumes<reco::PFMETCollection>(edm::InputTag(pSet.getParameter<edm::InputTag>("METCollectionLabel")));
101  }
102  if (isMiniAODJet_) {
103  patJetsToken_ = consumes<pat::JetCollection>(mInputCollection_);
104  patMetToken_ = consumes<pat::METCollection>(edm::InputTag(pSet.getParameter<edm::InputTag>("METCollectionLabel")));
105  }
106  cutBasedPUDiscriminantToken_ =
107  consumes<edm::ValueMap<float> >(pSet.getParameter<edm::InputTag>("InputCutPUIDDiscriminant"));
108  cutBasedPUIDToken_ = consumes<edm::ValueMap<int> >(pSet.getParameter<edm::InputTag>("InputCutPUIDValue"));
109  mvaPUIDToken_ = consumes<edm::ValueMap<int> >(pSet.getParameter<edm::InputTag>("InputMVAPUIDValue"));
110  mvaFullPUDiscriminantToken_ =
111  consumes<edm::ValueMap<float> >(pSet.getParameter<edm::InputTag>("InputMVAPUIDDiscriminant"));
112 
113  qgMultiplicityToken_ = consumes<edm::ValueMap<int> >(pSet.getParameter<edm::InputTag>("InputQGMultiplicity"));
114  qgLikelihoodToken_ = consumes<edm::ValueMap<float> >(pSet.getParameter<edm::InputTag>("InputQGLikelihood"));
115  qgptDToken_ = consumes<edm::ValueMap<float> >(pSet.getParameter<edm::InputTag>("InputQGPtDToken"));
116  qgaxis2Token_ = consumes<edm::ValueMap<float> >(pSet.getParameter<edm::InputTag>("InputQGAxis2"));
117 
118  fill_CHS_histos = pSet.getParameter<bool>("fillCHShistos");
119 
120  JetIDQuality_ = pSet.getParameter<string>("JetIDQuality");
121  JetIDVersion_ = pSet.getParameter<string>("JetIDVersion");
122 
123  // JetID definitions for Calo and JPT Jets
124  if (isCaloJet_) {
125  inputJetIDValueMap = pSet.getParameter<edm::InputTag>("InputJetIDValueMap");
126  jetID_ValueMapToken_ = consumes<edm::ValueMap<reco::JetID> >(inputJetIDValueMap);
127  if (JetIDVersion_ == "PURE09") {
128  jetidversion = JetIDSelectionFunctor::PURE09;
129  } else if (JetIDVersion_ == "DQM09") {
130  jetidversion = JetIDSelectionFunctor::DQM09;
131  } else if (JetIDVersion_ == "CRAFT08") {
132  jetidversion = JetIDSelectionFunctor::CRAFT08;
133  } else {
134  if (verbose_)
135  std::cout << "no Valid JetID version given" << std::endl;
136  }
137  if (JetIDQuality_ == "MINIMAL") {
138  jetidquality = JetIDSelectionFunctor::MINIMAL;
139  } else if (JetIDQuality_ == "LOOSE_AOD") {
140  jetidquality = JetIDSelectionFunctor::LOOSE_AOD;
141  } else if (JetIDQuality_ == "LOOSE") {
142  jetidquality = JetIDSelectionFunctor::LOOSE;
143  } else if (JetIDQuality_ == "TIGHT") {
144  jetidquality = JetIDSelectionFunctor::TIGHT;
145  } else {
146  if (verbose_)
147  std::cout << "no Valid JetID quality given" << std::endl;
148  }
149  jetIDFunctor = JetIDSelectionFunctor(jetidversion, jetidquality);
150  }
151 
152  //Jet ID definitions for PFJets
153  if (isPFJet_ || isMiniAODJet_) {
154  if (JetIDVersion_ == "FIRSTDATA") {
155  pfjetidversion = PFJetIDSelectionFunctor::FIRSTDATA;
156  } else if (JetIDVersion_ == "RUNIISTARTUP") {
157  pfjetidversion = PFJetIDSelectionFunctor::RUNIISTARTUP;
158  } else if (JetIDVersion_ == "WINTER16") {
159  pfjetidversion = PFJetIDSelectionFunctor::WINTER16;
160  } else if (JetIDVersion_ == "WINTER17") {
161  pfjetidversion = PFJetIDSelectionFunctor::WINTER17;
162  } else if (JetIDVersion_ == "WINTER17PUPPI") {
164  } else if (JetIDVersion_ == "RUN2ULCHS") {
165  pfjetidversion = PFJetIDSelectionFunctor::RUN2ULCHS;
166  } else if (JetIDVersion_ == "RUN2ULPUPPI") {
167  pfjetidversion = PFJetIDSelectionFunctor::RUN2ULPUPPI;
168  } else {
169  if (verbose_)
170  std::cout << "no valid PF JetID version given" << std::endl;
171  }
172  if (JetIDQuality_ == "LOOSE") {
173  pfjetidquality = PFJetIDSelectionFunctor::LOOSE;
174  } else if (JetIDQuality_ == "TIGHT") {
175  pfjetidquality = PFJetIDSelectionFunctor::TIGHT;
176  } else {
177  if (verbose_)
178  std::cout << "no Valid PFJetID quality given" << std::endl;
179  }
180  pfjetIDFunctor = PFJetIDSelectionFunctor(pfjetidversion, pfjetidquality);
181  }
182  //check later if some of those are also needed for PFJets
183  leadJetFlag_ = 0;
184  jetLoPass_ = 0;
185  jetHiPass_ = 0;
186  ptThreshold_ = 20.;
187  ptThresholdUnc_ = 20.;
188  asymmetryThirdJetCut_ = 5.;
189  balanceThirdJetCut_ = 0.2;
190 
191  theTriggerResultsLabel_ = pSet.getParameter<edm::InputTag>("TriggerResultsLabel");
192  triggerResultsToken_ = consumes<edm::TriggerResults>(edm::InputTag(theTriggerResultsLabel_));
193  //
194  runcosmics_ = pSet.getUntrackedParameter<bool>("runcosmics", false);
195  jetCleaningFlag_ = pSet.getUntrackedParameter<bool>("JetCleaningFlag", true);
196 
197  if (runcosmics_) {
198  jetCleaningFlag_ = false;
199  }
200 
201  // ==========================================================
202  //DCS information
203  // ==========================================================
204  edm::ConsumesCollector iC = consumesCollector();
205  DCSFilterForJetMonitoring_ = new JetMETDQMDCSFilter(pSet.getParameter<ParameterSet>("DCSFilterForJetMonitoring"), iC);
206  DCSFilterForDCSMonitoring_ = new JetMETDQMDCSFilter("ecal:hbhe:hf:ho:pixel:sistrip:es:muon", iC);
207 
208  //Trigger selectoin
209  edm::ParameterSet highptjetparms = pSet.getParameter<edm::ParameterSet>("highPtJetTrigger");
210  edm::ParameterSet lowptjetparms = pSet.getParameter<edm::ParameterSet>("lowPtJetTrigger");
211 
212  highPtJetEventFlag_ =
213  new GenericTriggerEventFlag(highptjetparms, consumesCollector(), *this, l1t::UseEventSetupIn::Run);
214  lowPtJetEventFlag_ =
215  new GenericTriggerEventFlag(lowptjetparms, consumesCollector(), *this, l1t::UseEventSetupIn::Run);
216 
217  highPtJetExpr_ = highptjetparms.getParameter<std::vector<std::string> >("hltPaths");
218  lowPtJetExpr_ = lowptjetparms.getParameter<std::vector<std::string> >("hltPaths");
219 
220  processname_ = pSet.getParameter<std::string>("processname");
221 
222  //jet cleanup parameters
223  cleaningParameters_ = pSet.getParameter<ParameterSet>("CleaningParameters");
224 
225  bypassAllPVChecks_ = cleaningParameters_.getParameter<bool>("bypassAllPVChecks");
226  vertexLabel_ = cleaningParameters_.getParameter<edm::InputTag>("vertexCollection");
227  vertexToken_ = consumes<std::vector<reco::Vertex> >(edm::InputTag(vertexLabel_));
228 
229  gtLabel_ = cleaningParameters_.getParameter<edm::InputTag>("gtLabel");
230  gtToken_ = consumes<L1GlobalTriggerReadoutRecord>(edm::InputTag(gtLabel_));
231 
232  std::string inputCollectionLabel(mInputCollection_.label());
233  verbose_ = parameters_.getParameter<int>("verbose");
234  // monitoring of eta parameter
235  etaBin_ = parameters_.getParameter<int>("etaBin");
236  etaMin_ = parameters_.getParameter<double>("etaMin");
237  etaMax_ = parameters_.getParameter<double>("etaMax");
238  // monitoring of phi paramater
239  phiBin_ = parameters_.getParameter<int>("phiBin");
240  phiMin_ = parameters_.getParameter<double>("phiMin");
241  phiMax_ = parameters_.getParameter<double>("phiMax");
242  // monitoring of the transverse momentum
243  ptBin_ = parameters_.getParameter<int>("ptBin");
244  ptMin_ = parameters_.getParameter<double>("ptMin");
245  ptMax_ = parameters_.getParameter<double>("ptMax");
246  //
247  eBin_ = parameters_.getParameter<int>("eBin");
248  eMin_ = parameters_.getParameter<double>("eMin");
249  eMax_ = parameters_.getParameter<double>("eMax");
250  //
251  pBin_ = parameters_.getParameter<int>("pBin");
252  pMin_ = parameters_.getParameter<double>("pMin");
253  pMax_ = parameters_.getParameter<double>("pMax");
254  //
255  nbinsPV_ = parameters_.getParameter<int>("pVBin");
256  nPVlow_ = parameters_.getParameter<double>("pVMin");
257  nPVhigh_ = parameters_.getParameter<double>("pVMax");
258  //
259  ptThreshold_ = parameters_.getParameter<double>("ptThreshold");
260  ptThresholdUnc_ = parameters_.getParameter<double>("ptThresholdUnc");
261  asymmetryThirdJetCut_ = parameters_.getParameter<double>("asymmetryThirdJetCut");
262  balanceThirdJetCut_ = parameters_.getParameter<double>("balanceThirdJetCut");
263 }
264 
265 // ***********************************************************
267  delete highPtJetEventFlag_;
268  delete lowPtJetEventFlag_;
269 
270  delete DCSFilterForDCSMonitoring_;
271  delete DCSFilterForJetMonitoring_;
272  LogTrace("JetAnalyzer") << "[JetAnalyzer] Saving the histos";
273 }
274 
275 // ***********************************************************
277  // dbe_ = edm::Service<DQMStore>().operator->();
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  // Low and high pt trigger paths
385  mPt_Lo = ibooker.book1D("Pt_Lo", "Pt (Pass Low Pt Jet Trigger)", 20, 0, 100);
386  //mEta_Lo = ibooker.book1D("Eta_Lo", "Eta (Pass Low Pt Jet Trigger)", etaBin_, etaMin_, etaMax_);
387  mPhi_Lo = ibooker.book1D("Phi_Lo", "Phi (Pass Low Pt Jet Trigger)", phiBin_, phiMin_, phiMax_);
388 
389  mPt_Hi = ibooker.book1D("Pt_Hi", "Pt (Pass Hi Pt Jet Trigger)", 60, 0, 300);
390  mEta_Hi = ibooker.book1D("Eta_Hi", "Eta (Pass Hi Pt Jet Trigger)", etaBin_, etaMin_, etaMax_);
391  mPhi_Hi = ibooker.book1D("Phi_Hi", "Phi (Pass Hi Pt Jet Trigger)", phiBin_, phiMin_, phiMax_);
392  mNJets = ibooker.book1D("NJets", "number of jets", 100, 0, 100);
393 
394  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_1", mPt_1));
395  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_2", mPt_2));
396  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_3", mPt_3));
397  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_Lo", mPt_Lo));
398  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_Lo", mPhi_Lo));
399  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_Hi", mPt_Hi));
400  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta_Hi", mEta_Hi));
401  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_Hi", mPhi_Hi));
402  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NJets", mNJets));
403 
404  //mPt_Barrel_Lo = ibooker.book1D("Pt_Barrel_Lo", "Pt Barrel (Pass Low Pt Jet Trigger)", 20, 0, 100);
405  //mPhi_Barrel_Lo = ibooker.book1D("Phi_Barrel_Lo", "Phi Barrel (Pass Low Pt Jet Trigger)", phiBin_, phiMin_, phiMax_);
406  //if(!isJPTJet_){
407  mConstituents_Barrel = ibooker.book1D("Constituents_Barrel", "Constituents Barrel", 50, 0, 100);
408  map_of_MEs.insert(
409  std::pair<std::string, MonitorElement*>(DirName + "/" + "Constituents_Barrel", mConstituents_Barrel));
410  //}
411 
412  //mPt_EndCap_Lo = ibooker.book1D("Pt_EndCap_Lo", "Pt EndCap (Pass Low Pt Jet Trigger)", 20, 0, 100);
413  //mPhi_EndCap_Lo = ibooker.book1D("Phi_EndCap_Lo", "Phi EndCap (Pass Low Pt Jet Trigger)", phiBin_, phiMin_, phiMax_);
414  //if(!isJPTJet_){
415  mConstituents_EndCap = ibooker.book1D("Constituents_EndCap", "Constituents EndCap", 50, 0, 100);
416  map_of_MEs.insert(
417  std::pair<std::string, MonitorElement*>(DirName + "/" + "Constituents_EndCap", mConstituents_EndCap));
418  //}
419 
420  //mPt_Forward_Lo = ibooker.book1D("Pt_Forward_Lo", "Pt Forward (Pass Low Pt Jet Trigger)", 20, 0, 100);
421  //mPhi_Forward_Lo = ibooker.book1D("Phi_Forward_Lo", "Phi Forward (Pass Low Pt Jet Trigger)", phiBin_, phiMin_, phiMax_);
422  //if(!isJPTJet_){
423  mConstituents_Forward = ibooker.book1D("Constituents_Forward", "Constituents Forward", 50, 0, 100);
424  map_of_MEs.insert(
425  std::pair<std::string, MonitorElement*>(DirName + "/" + "Constituents_Forward", mConstituents_Forward));
426  //}
427 
428  mPt_Barrel_Hi = ibooker.book1D("Pt_Barrel_Hi", "Pt Barrel (Pass Hi Pt Jet Trigger)", 60, 0, 300);
429  mPhi_Barrel_Hi = ibooker.book1D("Phi_Barrel_Hi", "Phi Barrel (Pass Hi Pt Jet Trigger)", phiBin_, phiMin_, phiMax_);
430 
431  mPt_EndCap_Hi = ibooker.book1D("Pt_EndCap_Hi", "Pt EndCap (Pass Hi Pt Jet Trigger)", 60, 0, 300);
432  mPhi_EndCap_Hi = ibooker.book1D("Phi_EndCap_Hi", "Phi EndCap (Pass Hi Pt Jet Trigger)", phiBin_, phiMin_, phiMax_);
433 
434  mPt_Forward_Hi = ibooker.book1D("Pt_Forward_Hi", "Pt Forward (Pass Hi Pt Jet Trigger)", 60, 0, 300);
435  mPhi_Forward_Hi = ibooker.book1D("Phi_Forward_Hi", "Phi Forward (Pass Hi Pt Jet Trigger)", phiBin_, phiMin_, phiMax_);
436 
437  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_Barrel_Hi", mPt_Barrel_Hi));
438  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_Barrel_Hi", mPhi_Barrel_Hi));
439  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_EndCap_Hi", mPt_EndCap_Hi));
440  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_EndCap_Hi", mPhi_EndCap_Hi));
441  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_Forward_Hi", mPt_Forward_Hi));
442  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_Forward_Hi", mPhi_Forward_Hi));
443 
444  mPhi_Barrel = ibooker.book1D("Phi_Barrel", "Phi_Barrel", phiBin_, phiMin_, phiMax_);
445  mPt_Barrel = ibooker.book1D("Pt_Barrel", "Pt_Barrel", ptBin_, ptMin_, ptMax_);
446 
447  mPhi_EndCap = ibooker.book1D("Phi_EndCap", "Phi_EndCap", phiBin_, phiMin_, phiMax_);
448  mPt_EndCap = ibooker.book1D("Pt_EndCap", "Pt_EndCap", ptBin_, ptMin_, ptMax_);
449 
450  mPhi_Forward = ibooker.book1D("Phi_Forward", "Phi_Forward", phiBin_, phiMin_, phiMax_);
451  mPt_Forward = ibooker.book1D("Pt_Forward", "Pt_Forward", ptBin_, ptMin_, ptMax_);
452 
453  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_Barrel", mPt_Barrel));
454  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_Barrel", mPhi_Barrel));
455  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_EndCap", mPt_EndCap));
456  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_EndCap", mPhi_EndCap));
457  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_Forward", mPt_Forward));
458  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_Forward", mPhi_Forward));
459 
460  // Leading Jet Parameters
461  mEtaFirst = ibooker.book1D("EtaFirst", "EtaFirst", 50, -5, 5);
462  mPhiFirst = ibooker.book1D("PhiFirst", "PhiFirst", 70, phiMin_, phiMax_);
463  mPtFirst = ibooker.book1D("PtFirst", "PtFirst", ptBin_, ptMin_, ptMax_);
464 
465  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EtaFirst", mEtaFirst));
466  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PtFirst", mPtFirst));
467  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhiFirst", mPhiFirst));
468 
469  //--- Calo jet selection only
470  if (isCaloJet_) {
471  // CaloJet specific
472  mHadEnergyInHO = ibooker.book1D("HadEnergyInHO", "HadEnergyInHO", 50, 0, 20);
473  mHadEnergyInHB = ibooker.book1D("HadEnergyInHB", "HadEnergyInHB", 50, 0, 100);
474  mHadEnergyInHF = ibooker.book1D("HadEnergyInHF", "HadEnergyInHF", 50, 0, 100);
475  mHadEnergyInHE = ibooker.book1D("HadEnergyInHE", "HadEnergyInHE", 50, 0, 200);
476  mEmEnergyInEB = ibooker.book1D("EmEnergyInEB", "EmEnergyInEB", 50, 0, 100);
477  mEmEnergyInEE = ibooker.book1D("EmEnergyInEE", "EmEnergyInEE", 50, 0, 100);
478  mEmEnergyInHF = ibooker.book1D("EmEnergyInHF", "EmEnergyInHF", 60, -20, 200);
479  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HadEnergyInHO", mHadEnergyInHO));
480  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HadEnergyInHB", mHadEnergyInHB));
481  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HadEnergyInHF", mHadEnergyInHF));
482  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HadEnergyInHE", mHadEnergyInHE));
483  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EmEnergyInEB", mEmEnergyInEB));
484  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EmEnergyInEE", mEmEnergyInEE));
485  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EmEnergyInHF", mEmEnergyInHF));
486 
487  //JetID variables
488  mresEMF = ibooker.book1D("resEMF", "resEMF", 50, 0., 1.);
489  mN90Hits = ibooker.book1D("N90Hits", "N90Hits", 50, 0., 50);
490  mfHPD = ibooker.book1D("fHPD", "fHPD", 50, 0., 1.);
491  mfRBX = ibooker.book1D("fRBX", "fRBX", 50, 0., 1.);
492  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "resEMF", mresEMF));
493  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "N90Hits", mN90Hits));
494  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "fHPD", mfHPD));
495  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "fRBX", mfRBX));
496 
497  mHFrac = ibooker.book1D("HFrac", "HFrac", 70, -0.2, 1.2);
498  mEFrac = ibooker.book1D("EFrac", "EFrac", 52, -0.02, 1.02);
499  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFrac", mHFrac));
500  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EFrac", mEFrac));
501  mHFrac_profile = ibooker.bookProfile("HFrac_profile", "HFrac", nbinsPV_, nPVlow_, nPVhigh_, 70, -0.2, 1.2);
502  mEFrac_profile = ibooker.bookProfile("EFrac_profile", "EFrac", nbinsPV_, nPVlow_, nPVhigh_, 52, -0.02, 1.02);
503  mHFrac_profile->setAxisTitle("nvtx", 1);
504  mEFrac_profile->setAxisTitle("nvtx", 1);
505  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFrac_profile", mHFrac_profile));
506  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EFrac_profile", mEFrac_profile));
507  mHFrac_Barrel = ibooker.book1D("HFrac_Barrel", "HFrac Barrel", 50, 0, 1);
508  mEFrac_Barrel = ibooker.book1D("EFrac_Barrel", "EFrac Barrel", 52, -0.02, 1.02);
509  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFrac_Barrel", mHFrac_Barrel));
510  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EFrac_Barrel", mEFrac_Barrel));
511  mHFrac_EndCap = ibooker.book1D("HFrac_EndCap", "HFrac EndCap", 50, 0, 1);
512  mEFrac_EndCap = ibooker.book1D("EFrac_EndCap", "EFrac EndCap", 52, -0.02, 1.02);
513  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFrac_EndCap", mHFrac_EndCap));
514  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EFrac_EndCap", mEFrac_EndCap));
515  mHFrac_Forward = ibooker.book1D("HFrac_Forward", "HFrac Forward", 70, -0.2, 1.2);
516  mEFrac_Forward = ibooker.book1D("EFrac_Forward", "EFrac Forward", 52, -0.02, 1.02);
517  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFrac_Forward", mHFrac_Forward));
518  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EFrac_Forward", mEFrac_Forward));
519  }
520 
521  if (isPFJet_) {
522  /* remove quark gluon plots for default jet selection, but select physics signatures which monitor gluon and quark
523  if(jetCleaningFlag_){
524  //gluon quark separation axis
525  if(fill_CHS_histos){
526  mAxis2_lowPt_Barrel = ibooker.book1D("qg_Axis2_lowPt_Barrel","qg Axis2 #sigma_{2} lowPt Barrel",50,0.,0.20);
527  mpTD_lowPt_Barrel= ibooker.book1D("qg_pTD_lowPt_Barrel","qg fragmentation function p_{T}^{D} lowPt Barrel",50,0.15,1.05);
528  mMultiplicityQG_lowPt_Barrel= ibooker.book1D("qg_multiplicity_lowPt_Barrel","qg multiplicity lowPt Barrel",50,0,50);
529  mqgLikelihood_lowPt_Barrel= ibooker.book1D("qg_Likelihood_lowPt_Barrel","qg likelihood lowPt Barrel",50,-1.1,1.1);
530  mAxis2_lowPt_EndCap = ibooker.book1D("qg_Axis2_lowPt_EndCap","qg Axis2 #sigma_{2} lowPt EndCap",50,0.,0.20);
531  mpTD_lowPt_EndCap= ibooker.book1D("qg_pTD_lowPt_EndCap","qg fragmentation function p_{T}^{D} lowPt EndCap",50,0.15,1.05);
532  mMultiplicityQG_lowPt_EndCap= ibooker.book1D("qg_multiplicity_lowPt_EndCap","qg multiplicity lowPt EndCap",50,0,100);
533  mqgLikelihood_lowPt_EndCap= ibooker.book1D("qg_Likelihood_lowPt_EndCap","qg likelihood lowPt EndCap",50,-1.1,1.1);
534  mAxis2_lowPt_Forward = ibooker.book1D("qg_Axis2_lowPt_Forward","qg Axis2 #sigma_{2} lowPt Forward",50,0.,0.20);
535  mpTD_lowPt_Forward= ibooker.book1D("qg_pTD_lowPt_Forward","qg fragmentation function p_{T}^{D} lowPt Forward",50,0.15,1.05);
536  mMultiplicityQG_lowPt_Forward= ibooker.book1D("qg_multiplicity_lowPt_Forward","qg multiplicity lowPt Forward",50,0,100);
537  mqgLikelihood_lowPt_Forward= ibooker.book1D("qg_Likelihood_lowPt_Forward","qg likelihood lowPt Forward",50,-1.1,1.1);
538 
539  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_lowPt_Barrel" ,mAxis2_lowPt_Barrel));
540  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_lowPt_Barrel" ,mpTD_lowPt_Barrel));
541  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_lowPt_Barrel" ,mMultiplicityQG_lowPt_Barrel));
542  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_lowPt_Barrel" ,mqgLikelihood_lowPt_Barrel));
543  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_lowPt_EndCap" ,mAxis2_lowPt_EndCap));
544  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_lowPt_EndCap" ,mpTD_lowPt_EndCap));
545  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_lowPt_EndCap" ,mMultiplicityQG_lowPt_EndCap));
546  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_lowPt_EndCap" ,mqgLikelihood_lowPt_EndCap));
547  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_lowPt_Forward" ,mAxis2_lowPt_Forward));
548  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_lowPt_Forward" ,mpTD_lowPt_Forward));
549  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_lowPt_Forward" ,mMultiplicityQG_lowPt_Forward));
550  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_lowPt_Forward" ,mqgLikelihood_lowPt_Forward));
551 
552  mAxis2_mediumPt_Barrel = ibooker.book1D("qg_Axis2_mediumPt_Barrel","qg Axis2 #sigma_{2} mediumPt Barrel",50,0.,0.20);
553  mpTD_mediumPt_Barrel= ibooker.book1D("qg_pTD_mediumPt_Barrel","qg fragmentation function p_{T}^{D} mediumPt Barrel",50,0.15,1.05);
554  mMultiplicityQG_mediumPt_Barrel= ibooker.book1D("qg_multiplicity_mediumPt_Barrel","qg multiplicity mediumPt Barrel",50,0,100);
555  mqgLikelihood_mediumPt_Barrel= ibooker.book1D("qg_Likelihood_mediumPt_Barrel","qg likelihood mediumPt Barrel",50,-1.1,1.1);
556  mAxis2_mediumPt_EndCap = ibooker.book1D("qg_Axis2_mediumPt_EndCap","qg Axis2 #sigma_{2} mediumPt EndCap",50,0.,0.20);
557  mpTD_mediumPt_EndCap= ibooker.book1D("qg_pTD_mediumPt_EndCap","qg fragmentation function p_{T}^{D} mediumPt EndCap",50,0.15,1.05);
558  mMultiplicityQG_mediumPt_EndCap= ibooker.book1D("qg_multiplicity_mediumPt_EndCap","qg multiplicity mediumPt EndCap",50,0,100);
559  mqgLikelihood_mediumPt_EndCap= ibooker.book1D("qg_Likelihood_mediumPt_EndCap","qg likelihood mediumPt EndCap",50,-1.1,1.1);
560  mAxis2_mediumPt_Forward = ibooker.book1D("qg_Axis2_mediumPt_Forward","qg Axis2 #sigma_{2} mediumPt Forward",50,0.,0.20);
561  mpTD_mediumPt_Forward= ibooker.book1D("qg_pTD_mediumPt_Forward","qg fragmentation function p_{T}^{D} mediumPt Forward",50,0.15,1.05);
562  mMultiplicityQG_mediumPt_Forward= ibooker.book1D("qg_multiplicity_mediumPt_Forward","qg multiplicity mediumPt Forward",50,0,100);
563  mqgLikelihood_mediumPt_Forward= ibooker.book1D("qg_Likelihood_mediumPt_Forward","qg likelihood mediumPt Forward",50,-1.1,1.1);
564 
565  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_mediumPt_Barrel" ,mAxis2_mediumPt_Barrel));
566  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_mediumPt_Barrel" ,mpTD_mediumPt_Barrel));
567  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_mediumPt_Barrel" ,mMultiplicityQG_mediumPt_Barrel));
568  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_mediumPt_Barrel" ,mqgLikelihood_mediumPt_Barrel));
569  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_mediumPt_EndCap" ,mAxis2_mediumPt_EndCap));
570  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_mediumPt_EndCap" ,mpTD_mediumPt_EndCap));
571  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_mediumPt_EndCap" ,mMultiplicityQG_mediumPt_EndCap));
572  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_mediumPt_EndCap" ,mqgLikelihood_mediumPt_EndCap));
573  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_mediumPt_Forward" ,mAxis2_mediumPt_Forward));
574  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_mediumPt_Forward" ,mpTD_mediumPt_Forward));
575  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_mediumPt_Forward" ,mMultiplicityQG_mediumPt_Forward));
576  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_mediumPt_Forward" ,mqgLikelihood_mediumPt_Forward));
577 
578  mAxis2_highPt_Barrel = ibooker.book1D("qg_Axis2_highPt_Barrel","qg Axis2 #sigma_{2} highPt Barrel",50,0.,0.20);
579  mpTD_highPt_Barrel= ibooker.book1D("qg_pTD_highPt_Barrel","qg fragmentation function p_{T}^{D} highPt Barrel",50,0.15,1.05);
580  mMultiplicityQG_highPt_Barrel= ibooker.book1D("qg_multiplicity_highPt_Barrel","qg multiplicity highPt Barrel",50,0,100);
581  mqgLikelihood_highPt_Barrel= ibooker.book1D("qg_Likelihood_highPt_Barrel","qg likelihood highPt Barrel",50,-1.1,1.1);
582  mAxis2_highPt_EndCap = ibooker.book1D("qg_Axis2_highPt_EndCap","qg Axis2 #sigma_{2} highPt EndCap",50,0.,0.20);
583  mpTD_highPt_EndCap= ibooker.book1D("qg_pTD_highPt_EndCap","qg fragmentation function p_{T}^{D} highPt EndCap",50,0.15,1.05);
584  mMultiplicityQG_highPt_EndCap= ibooker.book1D("qg_multiplicity_highPt_EndCap","qg multiplicity highPt EndCap",50,0,100);
585  mqgLikelihood_highPt_EndCap= ibooker.book1D("qg_Likelihood_highPt_EndCap","qg likelihood highPt EndCap",50,-1.1,1.1);
586  mAxis2_highPt_Forward = ibooker.book1D("qg_Axis2_highPt_Forward","qg Axis2 #sigma_{2} highPt Forward",50,0.,0.20);
587  mpTD_highPt_Forward= ibooker.book1D("qg_pTD_highPt_Forward","qg fragmentation function p_{T}^{D} highPt Forward",50,0.15,1.05);
588  mMultiplicityQG_highPt_Forward= ibooker.book1D("qg_multiplicity_highPt_Forward","qg multiplicity highPt Forward",50,0,100);
589  mqgLikelihood_highPt_Forward= ibooker.book1D("qg_Likelihood_highPt_Forward","qg likelihood highPt Forward",50,-1.1,1.1);
590 
591  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_highPt_Barrel" ,mAxis2_highPt_Barrel));
592  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_highPt_Barrel" ,mpTD_highPt_Barrel));
593  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_highPt_Barrel" ,mMultiplicityQG_highPt_Barrel));
594  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_highPt_Barrel" ,mqgLikelihood_highPt_Barrel));
595  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_highPt_EndCap" ,mAxis2_highPt_EndCap));
596  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_highPt_EndCap" ,mpTD_highPt_EndCap));
597  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_highPt_EndCap" ,mMultiplicityQG_highPt_EndCap));
598  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_highPt_EndCap" ,mqgLikelihood_highPt_EndCap));
599  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Axis2_highPt_Forward" ,mAxis2_highPt_Forward));
600  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_pTD_highPt_Forward" ,mpTD_highPt_Forward));
601  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_multiplicity_highPt_Forward" ,mMultiplicityQG_highPt_Forward));
602  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"qg_Likelihood_highPt_Forward" ,mqgLikelihood_highPt_Forward));
603  }
604  }*/
605  //PFJet specific histograms
606  mCHFracVSeta_lowPt =
607  ibooker.bookProfile("CHFracVSeta_lowPt", "CHFracVSeta_lowPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
608  mNHFracVSeta_lowPt =
609  ibooker.bookProfile("NHFacVSeta_lowPt", "NHFracVSeta_lowPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
610  mPhFracVSeta_lowPt =
611  ibooker.bookProfile("PhFracVSeta_lowPt", "PhFracVSeta_lowPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
612  mCHFracVSeta_mediumPt =
613  ibooker.bookProfile("CHFracVSeta_mediumPt", "CHFracVSeta_mediumPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
614  mNHFracVSeta_mediumPt =
615  ibooker.bookProfile("NHFracVSeta_mediumPt", "NHFracVSeta_mediumPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
616  mPhFracVSeta_mediumPt =
617  ibooker.bookProfile("PhFracVSeta_mediumPt", "PhFracVSeta_mediumPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
618  mCHFracVSeta_highPt =
619  ibooker.bookProfile("CHFracVSeta_highPt", "CHFracVSeta_highPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
620  mNHFracVSeta_highPt =
621  ibooker.bookProfile("NHFracVSeta_highPt", "NHFracVSeta_highPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
622  mPhFracVSeta_highPt =
623  ibooker.bookProfile("PhFracVSeta_highPt", "PhFracVSeta_highPt", etaBin_, etaMin_, etaMax_, 0., 1.2);
624 
625  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracVSeta_lowPt", mCHFracVSeta_lowPt));
626  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracVSeta_lowPt", mNHFracVSeta_lowPt));
627  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracVSeta_lowPt", mPhFracVSeta_lowPt));
628  map_of_MEs.insert(
629  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracVSeta_mediumPt", mCHFracVSeta_mediumPt));
630  map_of_MEs.insert(
631  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracVSeta_mediumPt", mNHFracVSeta_mediumPt));
632  map_of_MEs.insert(
633  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracVSeta_mediumPt", mPhFracVSeta_mediumPt));
634  map_of_MEs.insert(
635  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracVSeta_highPt", mCHFracVSeta_highPt));
636  map_of_MEs.insert(
637  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracVSeta_highPt", mNHFracVSeta_highPt));
638  map_of_MEs.insert(
639  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracVSeta_highPt", mPhFracVSeta_highPt));
640 
641  mLooseMVAPUJIDPassFractionVSeta = ibooker.bookProfile(
642  "LooseMVAPUIDPassFractionVSeta", "LooseMVAPUIDPassFractionVSeta", etaBin_, etaMin_, etaMax_, 0., 1.2);
643  mLooseMVAPUJIDPassFractionVSpt = ibooker.bookProfile(
644  "LooseMVAPUIDPassFractionVSpt", "LooseMVAPUIDPassFractionVSpt", ptBin_, ptMin_, ptMax_, 0., 1.2);
645  mMediumMVAPUJIDPassFractionVSeta = ibooker.bookProfile(
646  "MediumMVAPUIDPassFractionVSeta", "MediumMVAPUIDPassFractionVSeta", etaBin_, etaMin_, etaMax_, 0., 1.2);
647  mMediumMVAPUJIDPassFractionVSpt = ibooker.bookProfile(
648  "MediumMVAPUIDPassFractionVSpt", "MediumMVAPUIDPassFractionVSpt", ptBin_, ptMin_, ptMax_, 0., 1.2);
649  mTightMVAPUJIDPassFractionVSeta = ibooker.bookProfile(
650  "TightMVAPUIDPassFractionVSeta", "TightMVAPUIDPassFractionVSeta", etaBin_, etaMin_, etaMax_, 0., 1.2);
651  mTightMVAPUJIDPassFractionVSpt = ibooker.bookProfile(
652  "TightMVAPUIDPassFractionVSpt", "TightMVAPUIDPassFractionVSpt", ptBin_, ptMin_, ptMax_, 0., 1.2);
653 
654  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "LooseMVAPUIDPassFractionVSeta",
655  mLooseMVAPUJIDPassFractionVSeta));
656  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "LooseMVAPUIDPassFractionVSpt",
657  mLooseMVAPUJIDPassFractionVSpt));
658  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MediumMVAPUIDPassFractionVSeta",
659  mMediumMVAPUJIDPassFractionVSeta));
660  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MediumMVAPUIDPassFractionVSpt",
661  mMediumMVAPUJIDPassFractionVSpt));
662  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "TightMVAPUIDPassFractionVSeta",
663  mTightMVAPUJIDPassFractionVSeta));
664  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "TightMVAPUIDPassFractionVSpt",
665  mTightMVAPUJIDPassFractionVSpt));
666 
667  mLooseCutPUJIDPassFractionVSeta = ibooker.bookProfile(
668  "LooseCutPUIDPassFractionVSeta", "LooseCutPUIDPassFractionVSeta", etaBin_, etaMin_, etaMax_, 0., 1.2);
669  mLooseCutPUJIDPassFractionVSpt = ibooker.bookProfile(
670  "LooseCutPUIDPassFractionVSpt", "LooseCutPUIDPassFractionVSpt", ptBin_, ptMin_, ptMax_, 0., 1.2);
671  mMediumCutPUJIDPassFractionVSeta = ibooker.bookProfile(
672  "MediumCutPUIDPassFractionVSeta", "MediumCutPUIDPassFractionVSeta", etaBin_, etaMin_, etaMax_, 0., 1.2);
673  mMediumCutPUJIDPassFractionVSpt = ibooker.bookProfile(
674  "MediumCutPUIDPassFractionVSpt", "MediumCutPUIDPassFractionVSpt", ptBin_, ptMin_, ptMax_, 0., 1.2);
675  mTightCutPUJIDPassFractionVSeta = ibooker.bookProfile(
676  "TightCutPUIDPassFractionVSeta", "TightCutPUIDPassFractionVSeta", etaBin_, etaMin_, etaMax_, 0., 1.2);
677  mTightCutPUJIDPassFractionVSpt = ibooker.bookProfile(
678  "TightCutPUIDPassFractionVSpt", "TightCutPUIDPassFractionVSpt", ptBin_, ptMin_, ptMax_, 0., 1.2);
679  mCutPUJIDDiscriminant_lowPt_Barrel =
680  ibooker.book1D("CutPUJIDDiscriminant_lowPt_Barrel", "CutPUJIDDiscriminant_lowPt_Barrel", 50, -1.00, 1.00);
681  mCutPUJIDDiscriminant_lowPt_EndCap =
682  ibooker.book1D("CutPUJIDDiscriminant_lowPt_EndCap", "CutPUJIDDiscriminant_lowPt_EndCap", 50, -1.00, 1.00);
683  mCutPUJIDDiscriminant_lowPt_Forward =
684  ibooker.book1D("CutPUJIDDiscriminant_lowPt_Forward", "CutPUJIDDiscriminant_lowPt_Forward", 50, -1.00, 1.00);
685  mCutPUJIDDiscriminant_mediumPt_Barrel =
686  ibooker.book1D("CutPUJIDDiscriminant_mediumPt_Barrel", "CutPUJIDDiscriminant_mediumPt_Barrel", 50, -1.00, 1.00);
687  mCutPUJIDDiscriminant_mediumPt_EndCap =
688  ibooker.book1D("CutPUJIDDiscriminant_mediumPt_EndCap", "CutPUJIDDiscriminant_mediumPt_EndCap", 50, -1.00, 1.00);
689  mCutPUJIDDiscriminant_mediumPt_Forward = ibooker.book1D(
690  "CutPUJIDDiscriminant_mediumPt_Forward", "CutPUJIDDiscriminant_mediumPt_Forward", 50, -1.00, 1.00);
691  mCutPUJIDDiscriminant_highPt_Barrel =
692  ibooker.book1D("CutPUJIDDiscriminant_highPt_Barrel", "CutPUJIDDiscriminant_highPt_Barrel", 50, -1.00, 1.00);
693  mCutPUJIDDiscriminant_highPt_EndCap =
694  ibooker.book1D("CutPUJIDDiscriminant_highPt_EndCap", "CutPUJIDDiscriminant_highPt_EndCap", 50, -1.00, 1.00);
695  mCutPUJIDDiscriminant_highPt_Forward =
696  ibooker.book1D("CutPUJIDDiscriminant_highPt_Forward", "CutPUJIDDiscriminant_highPt_Forward", 50, -1.00, 1.00);
697 
698  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "LooseCutPUIDPassFractionVSeta",
699  mLooseCutPUJIDPassFractionVSeta));
700  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "LooseCutPUIDPassFractionVSpt",
701  mLooseCutPUJIDPassFractionVSpt));
702  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MediumCutPUIDPassFractionVSeta",
703  mMediumCutPUJIDPassFractionVSeta));
704  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MediumCutPUIDPassFractionVSpt",
705  mMediumCutPUJIDPassFractionVSpt));
706  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "TightCutPUIDPassFractionVSeta",
707  mTightCutPUJIDPassFractionVSeta));
708  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "TightCutPUIDPassFractionVSpt",
709  mTightCutPUJIDPassFractionVSpt));
710  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_lowPt_Barrel",
711  mCutPUJIDDiscriminant_lowPt_Barrel));
712  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_lowPt_EndCap",
713  mCutPUJIDDiscriminant_lowPt_EndCap));
714  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_lowPt_Forward",
715  mCutPUJIDDiscriminant_lowPt_Forward));
716  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_mediumPt_Barrel",
717  mCutPUJIDDiscriminant_mediumPt_Barrel));
718  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_mediumPt_EndCap",
719  mCutPUJIDDiscriminant_mediumPt_EndCap));
720  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_mediumPt_Forward",
721  mCutPUJIDDiscriminant_mediumPt_Forward));
722  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_highPt_Barrel",
723  mCutPUJIDDiscriminant_highPt_Barrel));
724  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_highPt_EndCap",
725  mCutPUJIDDiscriminant_highPt_EndCap));
726  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CutPUJIDDiscriminant_highPt_Forward",
727  mCutPUJIDDiscriminant_highPt_Forward));
728  //barrel histograms for PFJets
729  // energy fractions
730  mCHFrac_lowPt_Barrel = ibooker.book1D("CHFrac_lowPt_Barrel", "CHFrac_lowPt_Barrel", 120, -0.1, 1.1);
731  mNHFrac_lowPt_Barrel = ibooker.book1D("NHFrac_lowPt_Barrel", "NHFrac_lowPt_Barrel", 120, -0.1, 1.1);
732  mPhFrac_lowPt_Barrel = ibooker.book1D("PhFrac_lowPt_Barrel", "PhFrac_lowPt_Barrel", 120, -0.1, 1.1);
733  mCHFrac_mediumPt_Barrel = ibooker.book1D("CHFrac_mediumPt_Barrel", "CHFrac_mediumPt_Barrel", 120, -0.1, 1.1);
734  mNHFrac_mediumPt_Barrel = ibooker.book1D("NHFrac_mediumPt_Barrel", "NHFrac_mediumPt_Barrel", 120, -0.1, 1.1);
735  mPhFrac_mediumPt_Barrel = ibooker.book1D("PhFrac_mediumPt_Barrel", "PhFrac_mediumPt_Barrel", 120, -0.1, 1.1);
736  mCHFrac_highPt_Barrel = ibooker.book1D("CHFrac_highPt_Barrel", "CHFrac_highPt_Barrel", 120, -0.1, 1.1);
737  mNHFrac_highPt_Barrel = ibooker.book1D("NHFrac_highPt_Barrel", "NHFrac_highPt_Barrel", 120, -0.1, 1.1);
738  mPhFrac_highPt_Barrel = ibooker.book1D("PhFrac_highPt_Barrel", "PhFrac_highPt_Barrel", 120, -0.1, 1.1);
739 
740  map_of_MEs.insert(
741  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFrac_lowPt_Barrel", mCHFrac_lowPt_Barrel));
742  map_of_MEs.insert(
743  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFrac_lowPt_Barrel", mNHFrac_lowPt_Barrel));
744  map_of_MEs.insert(
745  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFrac_lowPt_Barrel", mPhFrac_lowPt_Barrel));
746  map_of_MEs.insert(
747  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFrac_mediumPt_Barrel", mCHFrac_mediumPt_Barrel));
748  map_of_MEs.insert(
749  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFrac_mediumPt_Barrel", mNHFrac_mediumPt_Barrel));
750  map_of_MEs.insert(
751  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFrac_mediumPt_Barrel", mPhFrac_mediumPt_Barrel));
752  map_of_MEs.insert(
753  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFrac_highPt_Barrel", mCHFrac_highPt_Barrel));
754  map_of_MEs.insert(
755  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFrac_highPt_Barrel", mNHFrac_highPt_Barrel));
756  map_of_MEs.insert(
757  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFrac_highPt_Barrel", mPhFrac_highPt_Barrel));
758 
759  mMass_lowPt_Barrel = ibooker.book1D("JetMass_lowPt_Barrel", "JetMass_lowPt_Barrel", 50, 0, 150);
760  mMass_lowPt_EndCap = ibooker.book1D("JetMass_lowPt_EndCap", "JetMass_lowPt_EndCap", 50, 0, 150);
761  mMass_lowPt_Forward = ibooker.book1D("JetMass_lowPt_Forward", "JetMass_lowPt_Forward", 50, 0, 150);
762  mMass_mediumPt_Barrel = ibooker.book1D("JetMass_mediumPt_Barrel", "JetMass_mediumPt_Barrel", 50, 0, 150);
763  mMass_mediumPt_EndCap = ibooker.book1D("JetMass_mediumPt_EndCap", "JetMass_mediumPt_EndCap", 50, 0, 150);
764  mMass_mediumPt_Forward = ibooker.book1D("JetMass_mediumPt_Forward", "JetMass_mediumPt_Forward", 75, 0, 150);
765  mMass_highPt_Barrel = ibooker.book1D("JetMass_highPt_Barrel", "JetMass_highPt_Barrel", 50, 0, 150);
766  mMass_highPt_EndCap = ibooker.book1D("JetMass_highPt_EndCap", "JetMass_highPt_EndCap", 50, 0, 150);
767  mMass_highPt_Forward = ibooker.book1D("JetMass_highPt_Forward", "JetMass_highPt_Forward", 50, 0, 150);
768 
769  map_of_MEs.insert(
770  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_lowPt_Barrel", mMass_lowPt_Barrel));
771  map_of_MEs.insert(
772  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_lowPt_EndCap", mMass_lowPt_EndCap));
773  map_of_MEs.insert(
774  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_lowPt_Forward", mMass_lowPt_Forward));
775  map_of_MEs.insert(
776  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_mediumPt_Barrel", mMass_mediumPt_Barrel));
777  map_of_MEs.insert(
778  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_mediumPt_EndCap", mMass_mediumPt_EndCap));
779  map_of_MEs.insert(
780  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_mediumPt_Forward", mMass_mediumPt_Forward));
781  map_of_MEs.insert(
782  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_highPt_Barrel", mMass_highPt_Barrel));
783  map_of_MEs.insert(
784  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_highPt_EndCap", mMass_highPt_EndCap));
785  map_of_MEs.insert(
786  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_highPt_Forward", mMass_highPt_Forward));
787 
788  //energies
789  mCHEn_lowPt_Barrel = ibooker.book1D("CHEn_lowPt_Barrel", "CHEn_lowPt_Barrel", ptBin_, 0., ptMax_);
790  mNHEn_lowPt_Barrel = ibooker.book1D("NHEn_lowPt_Barrel", "NHEn_lowPt_Barrel", ptBin_, 0., ptMax_);
791  mPhEn_lowPt_Barrel = ibooker.book1D("PhEn_lowPt_Barrel", "PhEn_lowPt_Barrel", ptBin_, 0., ptMax_);
792  mElEn_lowPt_Barrel = ibooker.book1D("ElEn_lowPt_Barrel", "ElEn_lowPt_Barrel", ptBin_, 0., 100);
793  mMuEn_lowPt_Barrel = ibooker.book1D("MuEn_lowPt_Barrel", "MuEn_lowPt_Barrel", ptBin_, 0., 100);
794  mCHEn_mediumPt_Barrel = ibooker.book1D("CHEn_mediumPt_Barrel", "CHEn_mediumPt_Barrel", ptBin_, 0., ptMax_);
795  mNHEn_mediumPt_Barrel = ibooker.book1D("NHEn_mediumPt_Barrel", "NHEn_mediumPt_Barrel", ptBin_, 0., ptMax_);
796  mPhEn_mediumPt_Barrel = ibooker.book1D("PhEn_mediumPt_Barrel", "PhEn_mediumPt_Barrel", ptBin_, 0., ptMax_);
797  mElEn_mediumPt_Barrel = ibooker.book1D("ElEn_mediumPt_Barrel", "ElEn_mediumPt_Barrel", ptBin_, 0., 100);
798  mMuEn_mediumPt_Barrel = ibooker.book1D("MuEn_mediumPt_Barrel", "MuEn_mediumPt_Barrel", ptBin_, 0., 100);
799  mCHEn_highPt_Barrel = ibooker.book1D("CHEn_highPt_Barrel", "CHEn_highPt_Barrel", ptBin_, 0., 1.1 * ptMax_);
800  mNHEn_highPt_Barrel = ibooker.book1D("NHEn_highPt_Barrel", "NHEn_highPt_Barrel", ptBin_, 0., ptMax_);
801  mPhEn_highPt_Barrel = ibooker.book1D("PhEn_highPt_Barrel", "PhEn_highPt_Barrel", ptBin_, 0., ptMax_);
802  mElEn_highPt_Barrel = ibooker.book1D("ElEn_highPt_Barrel", "ElEn_highPt_Barrel", ptBin_, 0., 100);
803  mMuEn_highPt_Barrel = ibooker.book1D("MuEn_highPt_Barrel", "MuEn_highPt_Barrel", ptBin_, 0., 100);
804 
805  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHEn_lowPt_Barrel", mCHEn_lowPt_Barrel));
806  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHEn_lowPt_Barrel", mNHEn_lowPt_Barrel));
807  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhEn_lowPt_Barrel", mPhEn_lowPt_Barrel));
808  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ElEn_lowPt_Barrel", mElEn_lowPt_Barrel));
809  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuEn_lowPt_Barrel", mMuEn_lowPt_Barrel));
810  map_of_MEs.insert(
811  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHEn_mediumPt_Barrel", mCHEn_mediumPt_Barrel));
812  map_of_MEs.insert(
813  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHEn_mediumPt_Barrel", mNHEn_mediumPt_Barrel));
814  map_of_MEs.insert(
815  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhEn_mediumPt_Barrel", mPhEn_mediumPt_Barrel));
816  map_of_MEs.insert(
817  std::pair<std::string, MonitorElement*>(DirName + "/" + "ElEn_mediumPt_Barrel", mElEn_mediumPt_Barrel));
818  map_of_MEs.insert(
819  std::pair<std::string, MonitorElement*>(DirName + "/" + "MuEn_mediumPt_Barrel", mMuEn_mediumPt_Barrel));
820  map_of_MEs.insert(
821  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHEn_highPt_Barrel", mCHEn_highPt_Barrel));
822  map_of_MEs.insert(
823  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHEn_highPt_Barrel", mNHEn_highPt_Barrel));
824  map_of_MEs.insert(
825  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhEn_highPt_Barrel", mPhEn_highPt_Barrel));
826  map_of_MEs.insert(
827  std::pair<std::string, MonitorElement*>(DirName + "/" + "ElEn_highPt_Barrel", mElEn_highPt_Barrel));
828  map_of_MEs.insert(
829  std::pair<std::string, MonitorElement*>(DirName + "/" + "MuEn_highPt_Barrel", mMuEn_highPt_Barrel));
830 
831  //multiplicities
832  mChMultiplicity_lowPt_Barrel =
833  ibooker.book1D("ChMultiplicity_lowPt_Barrel", "ChMultiplicity_lowPt_Barrel", 60, 0, 60);
834  mNeutMultiplicity_lowPt_Barrel =
835  ibooker.book1D("NeutMultiplicity_lowPt_Barrel", "NeutMultiplicity_lowPt_Barrel", 60, 0, 60);
836  mMuMultiplicity_lowPt_Barrel =
837  ibooker.book1D("MuMultiplicity_lowPt_Barrel", "MuMultiplicity_lowPt_Barrel", 10, 0, 10);
838  mChMultiplicity_mediumPt_Barrel =
839  ibooker.book1D("ChMultiplicity_mediumPt_Barrel", "ChMultiplicity_mediumPt_Barrel", 60, 0, 60);
840  mNeutMultiplicity_mediumPt_Barrel =
841  ibooker.book1D("NeutMultiplicity_mediumPt_Barrel", "NeutMultiplicity_mediumPt_Barrel", 60, 0, 60);
842  mMuMultiplicity_mediumPt_Barrel =
843  ibooker.book1D("MuMultiplicity_mediumPt_Barrel", "MuMultiplicity_mediumPt_Barrel", 10, 0, 10);
844  mChMultiplicity_highPt_Barrel =
845  ibooker.book1D("ChMultiplicity_highPt_Barrel", "ChMultiplicity_highPt_Barrel", 60, 0, 60);
846  mNeutMultiplicity_highPt_Barrel =
847  ibooker.book1D("NeutMultiplicity_highPt_Barrel", "NeutMultiplicity_highPt_Barrel", 60, 0, 60);
848  mMuMultiplicity_highPt_Barrel =
849  ibooker.book1D("MuMultiplicity_highPt_Barrel", "MuMultiplicity_highPt_Barrel", 10, 0, 10);
850 
851  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChMultiplicity_lowPt_Barrel",
852  mChMultiplicity_lowPt_Barrel));
853  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_lowPt_Barrel",
854  mNeutMultiplicity_lowPt_Barrel));
855  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuMultiplicity_lowPt_Barrel",
856  mMuMultiplicity_lowPt_Barrel));
857  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChMultiplicity_mediumPt_Barrel",
858  mChMultiplicity_mediumPt_Barrel));
859  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_mediumPt_Barrel",
860  mNeutMultiplicity_mediumPt_Barrel));
861  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuMultiplicity_mediumPt_Barrel",
862  mMuMultiplicity_mediumPt_Barrel));
863  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChMultiplicity_highPt_Barrel",
864  mChMultiplicity_highPt_Barrel));
865  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_highPt_Barrel",
866  mNeutMultiplicity_highPt_Barrel));
867  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuMultiplicity_highPt_Barrel",
868  mMuMultiplicity_highPt_Barrel));
869  }
870  //
871  if (isMiniAODJet_ || isPFJet_) {
872  if (!filljetsubstruc_) { //not available for ak8 -> so just take out
873  mMVAPUJIDDiscriminant_lowPt_Barrel =
874  ibooker.book1D("MVAPUJIDDiscriminant_lowPt_Barrel", "MVAPUJIDDiscriminant_lowPt_Barrel", 50, -1.00, 1.00);
875  mMVAPUJIDDiscriminant_lowPt_EndCap =
876  ibooker.book1D("MVAPUJIDDiscriminant_lowPt_EndCap", "MVAPUJIDDiscriminant_lowPt_EndCap", 50, -1.00, 1.00);
877  mMVAPUJIDDiscriminant_lowPt_Forward =
878  ibooker.book1D("MVAPUJIDDiscriminant_lowPt_Forward", "MVAPUJIDDiscriminant_lowPt_Forward", 50, -1.00, 1.00);
879  mMVAPUJIDDiscriminant_mediumPt_Barrel = ibooker.book1D(
880  "MVAPUJIDDiscriminant_mediumPt_Barrel", "MVAPUJIDDiscriminant_mediumPt_Barrel", 50, -1.00, 1.00);
881  mMVAPUJIDDiscriminant_mediumPt_EndCap = ibooker.book1D(
882  "MVAPUJIDDiscriminant_mediumPt_EndCap", "MVAPUJIDDiscriminant_mediumPt_EndCap", 50, -1.00, 1.00);
883  mMVAPUJIDDiscriminant_mediumPt_Forward = ibooker.book1D(
884  "MVAPUJIDDiscriminant_mediumPt_Forward", "MVAPUJIDDiscriminant_mediumPt_Forward", 50, -1.00, 1.00);
885  mMVAPUJIDDiscriminant_highPt_Barrel =
886  ibooker.book1D("MVAPUJIDDiscriminant_highPt_Barrel", "MVAPUJIDDiscriminant_highPt_Barrel", 50, -1.00, 1.00);
887  mMVAPUJIDDiscriminant_highPt_EndCap =
888  ibooker.book1D("MVAPUJIDDiscriminant_highPt_EndCap", "MVAPUJIDDiscriminant_highPt_EndCap", 50, -1.00, 1.00);
889  mMVAPUJIDDiscriminant_highPt_Forward =
890  ibooker.book1D("MVAPUJIDDiscriminant_highPt_Forward", "MVAPUJIDDiscriminant_highPt_Forward", 50, -1.00, 1.00);
891 
892  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_lowPt_Barrel",
893  mMVAPUJIDDiscriminant_lowPt_Barrel));
894  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_lowPt_EndCap",
895  mMVAPUJIDDiscriminant_lowPt_EndCap));
896  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_lowPt_Forward",
897  mMVAPUJIDDiscriminant_lowPt_Forward));
898  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_Barrel",
899  mMVAPUJIDDiscriminant_mediumPt_Barrel));
900  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_EndCap",
901  mMVAPUJIDDiscriminant_mediumPt_EndCap));
902  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_Forward",
903  mMVAPUJIDDiscriminant_mediumPt_Forward));
904  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_highPt_Barrel",
905  mMVAPUJIDDiscriminant_highPt_Barrel));
906  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_highPt_EndCap",
907  mMVAPUJIDDiscriminant_highPt_EndCap));
908  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MVAPUJIDDiscriminant_highPt_Forward",
909  mMVAPUJIDDiscriminant_highPt_Forward));
910  }
911  mCHFracVSpT_Barrel = ibooker.bookProfile("CHFracVSpT_Barrel", "CHFracVSpT_Barrel", ptBin_, ptMin_, ptMax_, 0., 1.2);
912  mNHFracVSpT_Barrel = ibooker.bookProfile("NHFracVSpT_Barrel", "NHFracVSpT_Barrel", ptBin_, ptMin_, ptMax_, 0., 1.2);
913  mPhFracVSpT_Barrel = ibooker.bookProfile("PhFracVSpT_Barrel", "PhFracVSpT_Barrel", ptBin_, ptMin_, ptMax_, 0., 1.2);
914  mCHFracVSpT_EndCap = ibooker.bookProfile("CHFracVSpT_EndCap", "CHFracVSpT_EndCap", ptBin_, ptMin_, ptMax_, 0., 1.2);
915  mNHFracVSpT_EndCap = ibooker.bookProfile("NHFracVSpT_EndCap", "NHFracVSpT_EndCap", ptBin_, ptMin_, ptMax_, 0., 1.2);
916  mPhFracVSpT_EndCap = ibooker.bookProfile("PhFracVSpT_EndCap", "PhFracVSpT_EndCap", ptBin_, ptMin_, ptMax_, 0., 1.2);
917  mHFHFracVSpT_Forward =
918  ibooker.bookProfile("HFHFracVSpT_Forward", "HFHFracVSpT_Forward", ptBin_, ptMin_, ptMax_, -0.2, 1.2);
919  mHFEFracVSpT_Forward =
920  ibooker.bookProfile("HFEFracVSpT_Forward", "HFEFracVSpT_Forward", ptBin_, ptMin_, ptMax_, -0.2, 1.2);
921 
922  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracVSpT_Barrel", mCHFracVSpT_Barrel));
923  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracVSpT_Barrel", mNHFracVSpT_Barrel));
924  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracVSpT_Barrel", mPhFracVSpT_Barrel));
925  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracVSpT_EndCap", mCHFracVSpT_EndCap));
926  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracVSpT_EndCap", mNHFracVSpT_EndCap));
927  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracVSpT_EndCap", mPhFracVSpT_EndCap));
928  map_of_MEs.insert(
929  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFracVSpT_Forward", mHFHFracVSpT_Forward));
930  map_of_MEs.insert(
931  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEFracVSpT_Forward", mHFEFracVSpT_Forward));
932  }
933  if (isPFJet_) {
934  //endcap monitoring
935  //energy fractions
936  mCHFrac_lowPt_EndCap = ibooker.book1D("CHFrac_lowPt_EndCap", "CHFrac_lowPt_EndCap", 120, -0.1, 1.1);
937  mNHFrac_lowPt_EndCap = ibooker.book1D("NHFrac_lowPt_EndCap", "NHFrac_lowPt_EndCap", 120, -0.1, 1.1);
938  mPhFrac_lowPt_EndCap = ibooker.book1D("PhFrac_lowPt_EndCap", "PhFrac_lowPt_EndCap", 120, -0.1, 1.1);
939  mCHFrac_mediumPt_EndCap = ibooker.book1D("CHFrac_mediumPt_EndCap", "CHFrac_mediumPt_EndCap", 120, -0.1, 1.1);
940  mNHFrac_mediumPt_EndCap = ibooker.book1D("NHFrac_mediumPt_EndCap", "NHFrac_mediumPt_EndCap", 120, -0.1, 1.1);
941  mPhFrac_mediumPt_EndCap = ibooker.book1D("PhFrac_mediumPt_EndCap", "PhFrac_mediumPt_EndCap", 120, -0.1, 1.1);
942  mCHFrac_highPt_EndCap = ibooker.book1D("CHFrac_highPt_EndCap", "CHFrac_highPt_EndCap", 120, -0.1, 1.1);
943  mNHFrac_highPt_EndCap = ibooker.book1D("NHFrac_highPt_EndCap", "NHFrac_highPt_EndCap", 120, -0.1, 1.1);
944  mPhFrac_highPt_EndCap = ibooker.book1D("PhFrac_highPt_EndCap", "PhFrac_highPt_EndCap", 120, -0.1, 1.1);
945 
946  map_of_MEs.insert(
947  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFrac_lowPt_EndCap", mCHFrac_lowPt_EndCap));
948  map_of_MEs.insert(
949  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFrac_lowPt_EndCap", mNHFrac_lowPt_EndCap));
950  map_of_MEs.insert(
951  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFrac_lowPt_EndCap", mPhFrac_lowPt_EndCap));
952  map_of_MEs.insert(
953  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFrac_mediumPt_EndCap", mCHFrac_mediumPt_EndCap));
954  map_of_MEs.insert(
955  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFrac_mediumPt_EndCap", mNHFrac_mediumPt_EndCap));
956  map_of_MEs.insert(
957  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFrac_mediumPt_EndCap", mPhFrac_mediumPt_EndCap));
958  map_of_MEs.insert(
959  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFrac_highPt_EndCap", mCHFrac_highPt_EndCap));
960  map_of_MEs.insert(
961  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFrac_highPt_EndCap", mNHFrac_highPt_EndCap));
962  map_of_MEs.insert(
963  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFrac_highPt_EndCap", mPhFrac_highPt_EndCap));
964 
965  //energies
966  mCHEn_lowPt_EndCap = ibooker.book1D("CHEn_lowPt_EndCap", "CHEn_lowPt_EndCap", ptBin_, 0., ptMax_);
967  mNHEn_lowPt_EndCap = ibooker.book1D("NHEn_lowPt_EndCap", "NHEn_lowPt_EndCap", ptBin_, 0., ptMax_);
968  mPhEn_lowPt_EndCap = ibooker.book1D("PhEn_lowPt_EndCap", "PhEn_lowPt_EndCap", ptBin_, 0., ptMax_);
969  mElEn_lowPt_EndCap = ibooker.book1D("ElEn_lowPt_EndCap", "ElEn_lowPt_EndCap", ptBin_, 0., 100);
970  mMuEn_lowPt_EndCap = ibooker.book1D("MuEn_lowPt_EndCap", "MuEn_lowPt_EndCap", ptBin_, 0., 100);
971  mCHEn_mediumPt_EndCap = ibooker.book1D("CHEn_mediumPt_EndCap", "CHEn_mediumPt_EndCap", ptBin_, 0., ptMax_);
972  mNHEn_mediumPt_EndCap = ibooker.book1D("NHEn_mediumPt_EndCap", "NHEn_mediumPt_EndCap", ptBin_, 0., ptMax_);
973  mPhEn_mediumPt_EndCap = ibooker.book1D("PhEn_mediumPt_EndCap", "PhEn_mediumPt_EndCap", ptBin_, 0., ptMax_);
974  mElEn_mediumPt_EndCap = ibooker.book1D("ElEn_mediumPt_EndCap", "ElEn_mediumPt_EndCap", ptBin_, 0., 100);
975  mMuEn_mediumPt_EndCap = ibooker.book1D("MuEn_mediumPt_EndCap", "MuEn_mediumPt_EndCap", ptBin_, 0., 100);
976  mCHEn_highPt_EndCap = ibooker.book1D("CHEn_highPt_EndCap", "CHEn_highPt_EndCap", ptBin_, 0., 1.5 * ptMax_);
977  mNHEn_highPt_EndCap = ibooker.book1D("NHEn_highPt_EndCap", "NHEn_highPt_EndCap", ptBin_, 0., 1.5 * ptMax_);
978  mPhEn_highPt_EndCap = ibooker.book1D("PhEn_highPt_EndCap", "PhEn_highPt_EndCap", ptBin_, 0., 1.5 * ptMax_);
979  mElEn_highPt_EndCap = ibooker.book1D("ElEn_highPt_EndCap", "ElEn_highPt_EndCap", ptBin_, 0., 100);
980  mMuEn_highPt_EndCap = ibooker.book1D("MuEn_highPt_EndCap", "MuEn_highPt_EndCap", ptBin_, 0., 100);
981 
982  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHEn_lowPt_EndCap", mCHEn_lowPt_EndCap));
983  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHEn_lowPt_EndCap", mNHEn_lowPt_EndCap));
984  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhEn_lowPt_EndCap", mPhEn_lowPt_EndCap));
985  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ElEn_lowPt_EndCap", mElEn_lowPt_EndCap));
986  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuEn_lowPt_EndCap", mMuEn_lowPt_EndCap));
987  map_of_MEs.insert(
988  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHEn_mediumPt_EndCap", mCHEn_mediumPt_EndCap));
989  map_of_MEs.insert(
990  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHEn_mediumPt_EndCap", mNHEn_mediumPt_EndCap));
991  map_of_MEs.insert(
992  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhEn_mediumPt_EndCap", mPhEn_mediumPt_EndCap));
993  map_of_MEs.insert(
994  std::pair<std::string, MonitorElement*>(DirName + "/" + "ElEn_mediumPt_EndCap", mElEn_mediumPt_EndCap));
995  map_of_MEs.insert(
996  std::pair<std::string, MonitorElement*>(DirName + "/" + "MuEn_mediumPt_EndCap", mMuEn_mediumPt_EndCap));
997  map_of_MEs.insert(
998  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHEn_highPt_EndCap", mCHEn_highPt_EndCap));
999  map_of_MEs.insert(
1000  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHEn_highPt_EndCap", mNHEn_highPt_EndCap));
1001  map_of_MEs.insert(
1002  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhEn_highPt_EndCap", mPhEn_highPt_EndCap));
1003  map_of_MEs.insert(
1004  std::pair<std::string, MonitorElement*>(DirName + "/" + "ElEn_highPt_EndCap", mElEn_highPt_EndCap));
1005  map_of_MEs.insert(
1006  std::pair<std::string, MonitorElement*>(DirName + "/" + "MuEn_highPt_EndCap", mMuEn_highPt_EndCap));
1007  /*
1008  //now get handle on OOT PU
1009  mePhFracBarrel_BXm2BXm1Empty = ibooker.book1D("PhFracBarrel_BXm2BXm1Empty", "PHFrac prev empty 2 bunches (Barrel)", 50, 0, 1);
1010  mePhFracBarrel_BXm2BXm1Filled = ibooker.book1D("PhFracBarrel_BXm2BXm1Filled", "PHFrac prev filled 2 bunches (Barrel)", 50, 0, 1);
1011  meNHFracBarrel_BXm2BXm1Empty = ibooker.book1D("NHFracBarrel_BXm2BXm1Empty", "NHFrac prev empty 2 bunches (Barrel)", 50, 0, 1);
1012  meNHFracBarrel_BXm2BXm1Filled = ibooker.book1D("NHFracBarrel_BXm2BXm1Filled", "NHFrac prev filled 2 bunches (Barrel)", 50, 0, 1);
1013  meCHFracBarrel_BXm2BXm1Empty = ibooker.book1D("CHFracBarrel_BXm2BXm1Empty", "CHFrac prev empty 2 bunches (Barrel)", 50, 0, 1);
1014  meCHFracBarrel_BXm2BXm1Filled = ibooker.book1D("CHFracBarrel_BXm2BXm1Filled", "CHFrac prev filled 2 bunches (Barrel)", 50, 0, 1);
1015  mePtBarrel_BXm2BXm1Empty = ibooker.book1D("PtBarrel_BXm2BXm1Empty", "pT prev empty 2 bunches (Barrel)", ptBin_, ptMin_, ptMax_);
1016  mePtBarrel_BXm2BXm1Filled = ibooker.book1D("PtBarrel_BXm2BXm1Filled", "pT prev filled 2 bunches (Barrel)", ptBin_, ptMin_, ptMax_);
1017  mePhFracEndCapPlus_BXm2BXm1Empty = ibooker.book1D("PhFracEndCapPlus_BXm2BXm1Empty", "PHFrac prev empty 2 bunches (EndCapPlus)", 50, 0, 1);
1018  mePhFracEndCapPlus_BXm2BXm1Filled = ibooker.book1D("PhFracEndCapPlus_BXm2BXm1Filled", "PHFrac prev filled 2 bunches (EndCapPlus)", 50, 0, 1);
1019  meNHFracEndCapPlus_BXm2BXm1Empty = ibooker.book1D("NHFracEndCapPlus_BXm2BXm1Empty", "NHFrac prev empty 2 bunches (EndCapPlus)", 50, 0, 1);
1020  meNHFracEndCapPlus_BXm2BXm1Filled = ibooker.book1D("NHFracEndCapPlus_BXm2BXm1Filled", "NHFrac prev filled 2 bunches (EndCapPlus)", 50, 0, 1);
1021  meCHFracEndCapPlus_BXm2BXm1Empty = ibooker.book1D("CHFracEndCapPlus_BXm2BXm1Empty", "CHFrac prev empty 2 bunches (EndCapPlus)", 50, 0, 1);
1022  meCHFracEndCapPlus_BXm2BXm1Filled = ibooker.book1D("CHFracEndCapPlus_BXm2BXm1Filled", "CHFrac prev filled 2 bunches (EndCapPlus)", 50, 0, 1);
1023  mePtEndCapPlus_BXm2BXm1Empty = ibooker.book1D("PtEndCapPlus_BXm2BXm1Empty", "pT prev empty 2 bunches (EndCapPlus)", ptBin_, ptMin_, ptMax_);
1024  mePtEndCapPlus_BXm2BXm1Filled = ibooker.book1D("PtEndCapPlus_BXm2BXm1Filled", "pT prev filled 2 bunches (EndCapPlus)", ptBin_, ptMin_, ptMax_);
1025  meHFHFracPlus_BXm2BXm1Empty = ibooker.book1D("HFHFracPlus_BXm2BXm1Empty", "HFHFrac prev empty 2 bunches (EndCapPlus)", 50, 0, 1);
1026  meHFHFracPlus_BXm2BXm1Filled = ibooker.book1D("HFHFracPlus_BXm2BXm1Filled", "HFHFrac prev filled 2 bunches (EndCapPlus)", 50, 0, 1);
1027  meHFEMFracPlus_BXm2BXm1Empty = ibooker.book1D("HFEMFracPlus_BXm2BXm1Empty", "HFEMFrac prev empty 2 bunches (EndCapPlus)", 50, 0, 1);
1028  meHFEMFracPlus_BXm2BXm1Filled = ibooker.book1D("HFEMFracPlus_BXm2BXm1Filled", "HFEMFrac prev filled 2 bunches (EndCapPlus)", 50, 0, 1);
1029  mePtForwardPlus_BXm2BXm1Empty = ibooker.book1D("PtForwardPlus_BXm2BXm1Empty", "pT prev empty 2 bunches (ForwardPlus)", ptBin_, ptMin_, ptMax_);
1030  mePtForwardPlus_BXm2BXm1Filled = ibooker.book1D("PtForwardPlus_BXm2BXm1Filled", "pT prev filled 2 bunches (ForwardPlus)", ptBin_, ptMin_, ptMax_);
1031  mePhFracEndCapMinus_BXm2BXm1Empty = ibooker.book1D("PhFracEndCapMinus_BXm2BXm1Empty", "PHFrac prev empty 2 bunches (EndCapMinus)", 50, 0, 1);
1032  mePhFracEndCapMinus_BXm2BXm1Filled = ibooker.book1D("PhFracEndCapMinus_BXm2BXm1Filled", "PHFrac prev filled 2 bunches (EndCapMinus)", 50, 0, 1);
1033  meNHFracEndCapMinus_BXm2BXm1Empty = ibooker.book1D("NHFracEndCapMinus_BXm2BXm1Empty", "NHFrac prev empty 2 bunches (EndCapMinus)", 50, 0, 1);
1034  meNHFracEndCapMinus_BXm2BXm1Filled = ibooker.book1D("NHFracEndCapMinus_BXm2BXm1Filled", "NHFrac prev filled 2 bunches (EndCapMinus)", 50, 0, 1);
1035  meCHFracEndCapMinus_BXm2BXm1Empty = ibooker.book1D("CHFracEndCapMinus_BXm2BXm1Empty", "CHFrac prev empty 2 bunches (EndCapMinus)", 50, 0, 1);
1036  meCHFracEndCapMinus_BXm2BXm1Filled = ibooker.book1D("CHFracEndCapMinus_BXm2BXm1Filled", "CHFrac prev filled 2 bunches (EndCapMinus)", 50, 0, 1);
1037  mePtEndCapMinus_BXm2BXm1Empty = ibooker.book1D("PtEndCapMinus_BXm2BXm1Empty", "pT prev empty 2 bunches (EndCapMinus)", ptBin_, ptMin_, ptMax_);
1038  mePtEndCapMinus_BXm2BXm1Filled = ibooker.book1D("PtEndCapMinus_BXm2BXm1Filled", "pT prev filled 2 bunches (EndCapMinus)", ptBin_, ptMin_, ptMax_);
1039  meHFHFracMinus_BXm2BXm1Empty = ibooker.book1D("HFHFracMinus_BXm2BXm1Empty", "HFHFrac prev empty 2 bunches (EndCapMinus)", 50, 0, 1);
1040  meHFHFracMinus_BXm2BXm1Filled = ibooker.book1D("HFHFracMinus_BXm2BXm1Filled", "HFHFrac prev filled 2 bunches (EndCapMinus)", 50, 0, 1);
1041  meHFEMFracMinus_BXm2BXm1Empty = ibooker.book1D("HFEMFracMinus_BXm2BXm1Empty", "HFEMFrac prev empty 2 bunches (EndCapMinus)", 50, 0, 1);
1042  meHFEMFracMinus_BXm2BXm1Filled = ibooker.book1D("HFEMFracMinus_BXm2BXm1Filled", "HFEMFrac prev filled 2 bunches (EndCapMinus)", 50, 0, 1);
1043  mePtForwardMinus_BXm2BXm1Empty = ibooker.book1D("PtForwardMinus_BXm2BXm1Empty", "pT prev empty 2 bunches (ForwardMinus)", ptBin_, ptMin_, ptMax_);
1044  mePtForwardMinus_BXm2BXm1Filled = ibooker.book1D("PtForwardMinus_BXm2BXm1Filled", "pT prev filled 2 bunches (ForwardMinus)", ptBin_, ptMin_, ptMax_);
1045  meEta_BXm2BXm1Empty = ibooker.book1D("Eta_BXm2BXm1Empty", "eta prev empty 2 bunches", etaBin_, etaMin_, etaMax_);
1046  meEta_BXm2BXm1Filled = ibooker.book1D("Eta_BXm2BXm1Filled", "eta prev filled 2 bunches", etaBin_, etaMin_, etaMax_);
1047 
1048  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PhFracBarrel_BXm2BXm1Empty" ,mePhFracBarrel_BXm2BXm1Empty));
1049  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PhFracBarrel_BXm2BXm1Filled" ,mePhFracBarrel_BXm2BXm1Filled));
1050  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"NHFracBarrel_BXm2BXm1Empty" ,meNHFracBarrel_BXm2BXm1Empty));
1051  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"NHFracBarrel_BXm2BXm1Filled" ,meNHFracBarrel_BXm2BXm1Filled));
1052  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CHFracBarrel_BXm2BXm1Empty" ,meCHFracBarrel_BXm2BXm1Empty));
1053  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CHFracBarrel_BXm2BXm1Filled" ,meCHFracBarrel_BXm2BXm1Filled));
1054  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtBarrel_BXm2BXm1Empty" ,mePtBarrel_BXm2BXm1Empty));
1055  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtBarrel_BXm2BXm1Filled" ,mePtBarrel_BXm2BXm1Filled));
1056  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PhFracEndCapPlus_BXm2BXm1Empty" ,mePhFracEndCapPlus_BXm2BXm1Empty));
1057  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PhFracEndCapPlus_BXm2BXm1Filled" ,mePhFracEndCapPlus_BXm2BXm1Filled));
1058  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"NHFracEndCapPlus_BXm2BXm1Empty" ,meNHFracEndCapPlus_BXm2BXm1Empty));
1059  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"NHFracEndCapPlus_BXm2BXm1Filled" ,meNHFracEndCapPlus_BXm2BXm1Filled));
1060  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CHFracEndCapPlus_BXm2BXm1Empty" ,meCHFracEndCapPlus_BXm2BXm1Empty));
1061  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CHFracEndCapPlus_BXm2BXm1Filled" ,meCHFracEndCapPlus_BXm2BXm1Filled));
1062  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtEndCapPlus_BXm2BXm1Empty" ,mePtEndCapPlus_BXm2BXm1Empty));
1063  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtEndCapPlus_BXm2BXm1Filled" ,mePtEndCapPlus_BXm2BXm1Filled));
1064  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HFHFracPlus_BXm2BXm1Empty" ,meHFHFracPlus_BXm2BXm1Empty));
1065  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HFHFracPlus_BXm2BXm1Filled" ,meHFHFracPlus_BXm2BXm1Filled));
1066  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HFEMFracPlus_BXm2BXm1Empty" ,meHFEMFracPlus_BXm2BXm1Empty));
1067  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HFEMFracPlus_BXm2BXm1Filled" ,meHFEMFracPlus_BXm2BXm1Filled));
1068  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtForwardPlus_BXm2BXm1Empty" ,mePtForwardPlus_BXm2BXm1Empty));
1069  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtForwardPlus_BXm2BXm1Filled" ,mePtForwardPlus_BXm2BXm1Filled));
1070  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PhFracEndCapMinus_BXm2BXm1Empty" ,mePhFracEndCapMinus_BXm2BXm1Empty));
1071  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PhFracEndCapMinus_BXm2BXm1Filled" ,mePhFracEndCapMinus_BXm2BXm1Filled));
1072  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"NHFracEndCapMinus_BXm2BXm1Empty" ,meNHFracEndCapMinus_BXm2BXm1Empty));
1073  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"NHFracEndCapMinus_BXm2BXm1Filled" ,meNHFracEndCapMinus_BXm2BXm1Filled));
1074  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CHFracEndCapMinus_BXm2BXm1Empty" ,meCHFracEndCapMinus_BXm2BXm1Empty));
1075  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CHFracEndCapMinus_BXm2BXm1Filled" ,meCHFracEndCapMinus_BXm2BXm1Filled));
1076  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtEndCapMinus_BXm2BXm1Empty" ,mePtEndCapMinus_BXm2BXm1Empty));
1077  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtEndCapMinus_BXm2BXm1Filled" ,mePtEndCapMinus_BXm2BXm1Filled));
1078  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HFHFracMinus_BXm2BXm1Empty" ,meHFHFracMinus_BXm2BXm1Empty));
1079  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HFHFracMinus_BXm2BXm1Filled" ,meHFHFracMinus_BXm2BXm1Filled));
1080  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HFEMFracMinus_BXm2BXm1Empty" ,meHFEMFracMinus_BXm2BXm1Empty));
1081  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HFEMFracMinus_BXm2BXm1Filled" ,meHFEMFracMinus_BXm2BXm1Filled));
1082  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtForwardMinus_BXm2BXm1Empty" ,mePtForwardMinus_BXm2BXm1Empty));
1083  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PtForwardMinus_BXm2BXm1Filled" ,mePtForwardMinus_BXm2BXm1Filled));
1084  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"Eta_BXm2BXm1Empty" ,meEta_BXm2BXm1Empty));
1085  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"Eta_BXm2BXm1Filled",meEta_BXm2BXm1Filled));
1086  */
1087  mePhFracBarrel_BXm1Empty = ibooker.book1D("PhFracBarrel_BXm1Empty", "PHFrac prev empty 1 bunch (Barrel)", 50, 0, 1);
1088  mePhFracBarrel_BXm1Filled =
1089  ibooker.book1D("PhFracBarrel_BXm1Filled", "PHFrac prev filled 1 bunch (Barrel)", 50, 0, 1);
1090  meNHFracBarrel_BXm1Empty = ibooker.book1D("NHFracBarrel_BXm1Empty", "NHFrac prev empty 1 bunch (Barrel)", 50, 0, 1);
1091  meNHFracBarrel_BXm1Filled =
1092  ibooker.book1D("NHFracBarrel_BXm1Filled", "NHFrac prev filled 1 bunch (Barrel)", 50, 0, 1);
1093  meCHFracBarrel_BXm1Empty = ibooker.book1D("CHFracBarrel_BXm1Empty", "CHFrac prev empty 1 bunch (Barrel)", 50, 0, 1);
1094  meCHFracBarrel_BXm1Filled =
1095  ibooker.book1D("CHFracBarrel_BXm1Filled", "CHFrac prev filled 1 bunch (Barrel)", 50, 0, 1);
1096  mePtBarrel_BXm1Empty =
1097  ibooker.book1D("PtBarrel_BXm1Empty", "pT prev empty 1 bunch (Barrel)", ptBin_, ptMin_, ptMax_);
1098  mePtBarrel_BXm1Filled =
1099  ibooker.book1D("PtBarrel_BXm1Filled", "pT prev filled 1 bunch (Barrel)", ptBin_, ptMin_, ptMax_);
1100  mePhFracEndCapPlus_BXm1Empty =
1101  ibooker.book1D("PhFracEndCapPlus_BXm1Empty", "PHFrac prev empty 1 bunch (EndCapPlus)", 50, 0, 1);
1102  mePhFracEndCapPlus_BXm1Filled =
1103  ibooker.book1D("PhFracEndCapPlus_BXm1Filled", "PHFrac prev filled 1 bunch (EndCapPlus)", 50, 0, 1);
1104  meNHFracEndCapPlus_BXm1Empty =
1105  ibooker.book1D("NHFracEndCapPlus_BXm1Empty", "NHFrac prev empty 1 bunch (EndCapPlus)", 50, 0, 1);
1106  meNHFracEndCapPlus_BXm1Filled =
1107  ibooker.book1D("NHFracEndCapPlus_BXm1Filled", "NHFrac prev filled 1 bunch (EndCapPlus)", 50, 0, 1);
1108  meCHFracEndCapPlus_BXm1Empty =
1109  ibooker.book1D("CHFracEndCapPlus_BXm1Empty", "CHFrac prev empty 1 bunch (EndCapPlus)", 50, 0, 1);
1110  meCHFracEndCapPlus_BXm1Filled =
1111  ibooker.book1D("CHFracEndCapPlus_BXm1Filled", "CHFrac prev filled 1 bunch (EndCapPlus)", 50, 0, 1);
1112  mePtEndCapPlus_BXm1Empty =
1113  ibooker.book1D("PtEndCapPlus_BXm1Empty", "pT prev empty 1 bunch (EndCapPlus)", ptBin_, ptMin_, ptMax_);
1114  mePtEndCapPlus_BXm1Filled =
1115  ibooker.book1D("PtEndCapPlus_BXm1Filled", "pT prev filled 1 bunch (EndCapPlus)", ptBin_, ptMin_, ptMax_);
1116  meHFHFracPlus_BXm1Empty =
1117  ibooker.book1D("HFHFracPlus_BXm1Empty", "HFHFrac prev empty 1 bunch (EndCapPlus)", 50, 0, 1);
1118  meHFHFracPlus_BXm1Filled =
1119  ibooker.book1D("HFHFracPlus_BXm1Filled", "HFHFrac prev filled 1 bunch (EndCapPlus)", 50, 0, 1);
1120  meHFEMFracPlus_BXm1Empty =
1121  ibooker.book1D("HFEMFracPlus_BXm1Empty", "HFEMFrac prev empty 1 bunch (EndCapPlus)", 50, 0, 1);
1122  meHFEMFracPlus_BXm1Filled =
1123  ibooker.book1D("HFEMFracPlus_BXm1Filled", "HFEMFrac prev filled 1 bunch (EndCapPlus)", 50, 0, 1);
1124  mePtForwardPlus_BXm1Empty =
1125  ibooker.book1D("PtForwardPlus_BXm1Empty", "pT prev empty 1 bunch (ForwardPlus)", ptBin_, ptMin_, ptMax_);
1126  mePtForwardPlus_BXm1Filled =
1127  ibooker.book1D("PtForwardPlus_BXm1Filled", "pT prev filled 1 bunch (ForwardPlus)", ptBin_, ptMin_, ptMax_);
1128  mePhFracEndCapMinus_BXm1Empty =
1129  ibooker.book1D("PhFracEndCapMinus_BXm1Empty", "PHFrac prev empty 1 bunch (EndCapMinus)", 50, 0, 1);
1130  mePhFracEndCapMinus_BXm1Filled =
1131  ibooker.book1D("PhFracEndCapMinus_BXm1Filled", "PHFrac prev filled 1 bunch (EndCapMinus)", 50, 0, 1);
1132  meNHFracEndCapMinus_BXm1Empty =
1133  ibooker.book1D("NHFracEndCapMinus_BXm1Empty", "NHFrac prev empty 1 bunch (EndCapMinus)", 50, 0, 1);
1134  meNHFracEndCapMinus_BXm1Filled =
1135  ibooker.book1D("NHFracEndCapMinus_BXm1Filled", "NHFrac prev filled 1 bunch (EndCapMinus)", 50, 0, 1);
1136  meCHFracEndCapMinus_BXm1Empty =
1137  ibooker.book1D("CHFracEndCapMinus_BXm1Empty", "CHFrac prev empty 1 bunch (EndCapMinus)", 50, 0, 1);
1138  meCHFracEndCapMinus_BXm1Filled =
1139  ibooker.book1D("CHFracEndCapMinus_BXm1Filled", "CHFrac prev filled 1 bunch (EndCapMinus)", 50, 0, 1);
1140  mePtEndCapMinus_BXm1Empty =
1141  ibooker.book1D("PtEndCapMinus_BXm1Empty", "pT prev empty 1 bunch (EndCapMinus)", ptBin_, ptMin_, ptMax_);
1142  mePtEndCapMinus_BXm1Filled =
1143  ibooker.book1D("PtEndCapMinus_BXm1Filled", "pT prev filled 1 bunch (EndCapMinus)", ptBin_, ptMin_, ptMax_);
1144  meHFHFracMinus_BXm1Empty =
1145  ibooker.book1D("HFHFracMinus_BXm1Empty", "HFHFrac prev empty 1 bunch (EndCapMinus)", 50, 0, 1);
1146  meHFHFracMinus_BXm1Filled =
1147  ibooker.book1D("HFHFracMinus_BXm1Filled", "HFHFrac prev filled 1 bunch (EndCapMinus)", 50, 0, 1);
1148  meHFEMFracMinus_BXm1Empty =
1149  ibooker.book1D("HFEMFracMinus_BXm1Empty", "HFEMFrac prev empty 1 bunch (EndCapMinus)", 50, 0, 1);
1150  meHFEMFracMinus_BXm1Filled =
1151  ibooker.book1D("HFEMFracMinus_BXm1Filled", "HFEMFrac prev filled 1 bunch (EndCapMinus)", 50, 0, 1);
1152  mePtForwardMinus_BXm1Empty =
1153  ibooker.book1D("PtForwardMinus_BXm1Empty", "pT prev empty 1 bunch (ForwardMinus)", ptBin_, ptMin_, ptMax_);
1154  mePtForwardMinus_BXm1Filled =
1155  ibooker.book1D("PtForwardMinus_BXm1Filled", "pT prev filled 1 bunch (ForwardMinus)", ptBin_, ptMin_, ptMax_);
1156  meEta_BXm1Empty = ibooker.book1D("Eta_BXm1Empty", "eta prev empty 1 bunch", etaBin_, etaMin_, etaMax_);
1157  meEta_BXm1Filled = ibooker.book1D("Eta_BXm1Filled", "eta prev filled 1 bunch", etaBin_, etaMin_, etaMax_);
1158 
1159  map_of_MEs.insert(
1160  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracBarrel_BXm1Empty", mePhFracBarrel_BXm1Empty));
1161  map_of_MEs.insert(
1162  std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracBarrel_BXm1Filled", mePhFracBarrel_BXm1Filled));
1163  map_of_MEs.insert(
1164  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracBarrel_BXm1Empty", meNHFracBarrel_BXm1Empty));
1165  map_of_MEs.insert(
1166  std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracBarrel_BXm1Filled", meNHFracBarrel_BXm1Filled));
1167  map_of_MEs.insert(
1168  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracBarrel_BXm1Empty", meCHFracBarrel_BXm1Empty));
1169  map_of_MEs.insert(
1170  std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracBarrel_BXm1Filled", meCHFracBarrel_BXm1Filled));
1171  map_of_MEs.insert(
1172  std::pair<std::string, MonitorElement*>(DirName + "/" + "PtBarrel_BXm1Empty", mePtBarrel_BXm1Empty));
1173  map_of_MEs.insert(
1174  std::pair<std::string, MonitorElement*>(DirName + "/" + "PtBarrel_BXm1Filled", mePtBarrel_BXm1Filled));
1175  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracEndCapPlus_BXm1Empty",
1176  mePhFracEndCapPlus_BXm1Empty));
1177  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracEndCapPlus_BXm1Filled",
1178  mePhFracEndCapPlus_BXm1Filled));
1179  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracEndCapPlus_BXm1Empty",
1180  meNHFracEndCapPlus_BXm1Empty));
1181  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracEndCapPlus_BXm1Filled",
1182  meNHFracEndCapPlus_BXm1Filled));
1183  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracEndCapPlus_BXm1Empty",
1184  meCHFracEndCapPlus_BXm1Empty));
1185  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracEndCapPlus_BXm1Filled",
1186  meCHFracEndCapPlus_BXm1Filled));
1187  map_of_MEs.insert(
1188  std::pair<std::string, MonitorElement*>(DirName + "/" + "PtEndCapPlus_BXm1Empty", mePtEndCapPlus_BXm1Empty));
1189  map_of_MEs.insert(
1190  std::pair<std::string, MonitorElement*>(DirName + "/" + "PtEndCapPlus_BXm1Filled", mePtEndCapPlus_BXm1Filled));
1191  map_of_MEs.insert(
1192  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFracPlus_BXm1Empty", meHFHFracPlus_BXm1Empty));
1193  map_of_MEs.insert(
1194  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFracPlus_BXm1Filled", meHFHFracPlus_BXm1Filled));
1195  map_of_MEs.insert(
1196  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEMFracPlus_BXm1Empty", meHFEMFracPlus_BXm1Empty));
1197  map_of_MEs.insert(
1198  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEMFracPlus_BXm1Filled", meHFEMFracPlus_BXm1Filled));
1199  map_of_MEs.insert(
1200  std::pair<std::string, MonitorElement*>(DirName + "/" + "PtForwardPlus_BXm1Empty", mePtForwardPlus_BXm1Empty));
1201  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PtForwardPlus_BXm1Filled",
1202  mePtForwardPlus_BXm1Filled));
1203  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracEndCapMinus_BXm1Empty",
1204  mePhFracEndCapMinus_BXm1Empty));
1205  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFracEndCapMinus_BXm1Filled",
1206  mePhFracEndCapMinus_BXm1Filled));
1207  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracEndCapMinus_BXm1Empty",
1208  meNHFracEndCapMinus_BXm1Empty));
1209  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFracEndCapMinus_BXm1Filled",
1210  meNHFracEndCapMinus_BXm1Filled));
1211  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracEndCapMinus_BXm1Empty",
1212  meCHFracEndCapMinus_BXm1Empty));
1213  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFracEndCapMinus_BXm1Filled",
1214  meCHFracEndCapMinus_BXm1Filled));
1215  map_of_MEs.insert(
1216  std::pair<std::string, MonitorElement*>(DirName + "/" + "PtEndCapMinus_BXm1Empty", mePtEndCapMinus_BXm1Empty));
1217  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PtEndCapMinus_BXm1Filled",
1218  mePtEndCapMinus_BXm1Filled));
1219  map_of_MEs.insert(
1220  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFracMinus_BXm1Empty", meHFHFracMinus_BXm1Empty));
1221  map_of_MEs.insert(
1222  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFracMinus_BXm1Filled", meHFHFracMinus_BXm1Filled));
1223  map_of_MEs.insert(
1224  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEMFracMinus_BXm1Empty", meHFEMFracMinus_BXm1Empty));
1225  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEMFracMinus_BXm1Filled",
1226  meHFEMFracMinus_BXm1Filled));
1227  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PtForwardMinus_BXm1Empty",
1228  mePtForwardMinus_BXm1Empty));
1229  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PtForwardMinus_BXm1Filled",
1230  mePtForwardMinus_BXm1Filled));
1231  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta_BXm1Empty", meEta_BXm1Empty));
1232  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta_BXm1Filled", meEta_BXm1Filled));
1233 
1234  //multiplicities
1235  mChMultiplicity_lowPt_EndCap =
1236  ibooker.book1D("ChMultiplicity_lowPt_EndCap", "ChMultiplicity_lowPt_EndCap", 60, 0, 60);
1237  mNeutMultiplicity_lowPt_EndCap =
1238  ibooker.book1D("NeutMultiplicity_lowPt_EndCap", "NeutMultiplicity_lowPt_EndCap", 60, 0, 60);
1239  mMuMultiplicity_lowPt_EndCap =
1240  ibooker.book1D("MuMultiplicity_lowPt_EndCap", "MuMultiplicity_lowPt_EndCap", 10, 0, 10);
1241  mChMultiplicity_mediumPt_EndCap =
1242  ibooker.book1D("ChMultiplicity_mediumPt_EndCap", "ChMultiplicity_mediumPt_EndCap", 60, 0, 60);
1243  mNeutMultiplicity_mediumPt_EndCap =
1244  ibooker.book1D("NeutMultiplicity_mediumPt_EndCap", "NeutMultiplicity_mediumPt_EndCap", 60, 0, 60);
1245  mMuMultiplicity_mediumPt_EndCap =
1246  ibooker.book1D("MuMultiplicity_mediumPt_EndCap", "MuMultiplicity_mediumPt_EndCap", 10, 0, 10);
1247  mChMultiplicity_highPt_EndCap =
1248  ibooker.book1D("ChMultiplicity_highPt_EndCap", "ChMultiplicity_highPt_EndCap", 60, 0, 60);
1249  mNeutMultiplicity_highPt_EndCap =
1250  ibooker.book1D("NeutMultiplicity_highPt_EndCap", "NeutMultiplicity_highPt_EndCap", 60, 0, 60);
1251  mMuMultiplicity_highPt_EndCap =
1252  ibooker.book1D("MuMultiplicity_highPt_EndCap", "MuMultiplicity_highPt_EndCap", 10, 0, 10);
1253 
1254  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChMultiplicity_lowPt_EndCap",
1255  mChMultiplicity_lowPt_EndCap));
1256  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_lowPt_EndCap",
1257  mNeutMultiplicity_lowPt_EndCap));
1258  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuMultiplicity_lowPt_EndCap",
1259  mMuMultiplicity_lowPt_EndCap));
1260  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChMultiplicity_mediumPt_EndCap",
1261  mChMultiplicity_mediumPt_EndCap));
1262  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_mediumPt_EndCap",
1263  mNeutMultiplicity_mediumPt_EndCap));
1264  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuMultiplicity_mediumPt_EndCap",
1265  mMuMultiplicity_mediumPt_EndCap));
1266  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChMultiplicity_highPt_EndCap",
1267  mChMultiplicity_highPt_EndCap));
1268  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_highPt_EndCap",
1269  mNeutMultiplicity_highPt_EndCap));
1270  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuMultiplicity_highPt_EndCap",
1271  mMuMultiplicity_highPt_EndCap));
1272 
1273  //forward monitoring
1274  //energy fraction
1275  mHFEFrac_lowPt_Forward = ibooker.book1D("HFEFrac_lowPt_Forward", "HFEFrac_lowPt_Forward", 70, -0.2, 1.2);
1276  mHFHFrac_lowPt_Forward = ibooker.book1D("HFHFrac_lowPt_Forward", "HFHFrac_lowPt_Forward", 70, -0.2, 1.2);
1277  mHFEFrac_mediumPt_Forward = ibooker.book1D("HFEFrac_mediumPt_Forward", "HFEFrac_mediumPt_Forward", 70, -0.2, 1.2);
1278  mHFHFrac_mediumPt_Forward = ibooker.book1D("HFHFrac_mediumPt_Forward", "HFHFrac_mediumPt_Forward", 70, -0.2, 1.2);
1279  mHFEFrac_highPt_Forward = ibooker.book1D("HFEFrac_highPt_Forward", "HFEFrac_highPt_Forward", 70, -0.2, 1.2);
1280  mHFHFrac_highPt_Forward = ibooker.book1D("HFHFrac_highPt_Forward", "HFHFrac_highPt_Forward", 70, -0.2, 1.2);
1281  map_of_MEs.insert(
1282  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFrac_lowPt_Forward", mHFHFrac_lowPt_Forward));
1283  map_of_MEs.insert(
1284  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEFrac_lowPt_Forward", mHFEFrac_lowPt_Forward));
1285  map_of_MEs.insert(
1286  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFrac_mediumPt_Forward", mHFHFrac_mediumPt_Forward));
1287  map_of_MEs.insert(
1288  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEFrac_mediumPt_Forward", mHFEFrac_mediumPt_Forward));
1289  map_of_MEs.insert(
1290  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFrac_highPt_Forward", mHFHFrac_highPt_Forward));
1291  map_of_MEs.insert(
1292  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEFrac_highPt_Forward", mHFEFrac_highPt_Forward));
1293 
1294  //energies
1295  mHFEEn_lowPt_Forward = ibooker.book1D("HFEEn_lowPt_Forward", "HFEEn_lowPt_Forward", ptBin_, 0., ptMax_);
1296  mHFHEn_lowPt_Forward = ibooker.book1D("HFHEn_lowPt_Forward", "HFHEn_lowPt_Forward", ptBin_, 0., 2.0 * ptMax_);
1297  mHFEEn_mediumPt_Forward =
1298  ibooker.book1D("HFEEn_mediumPt_Forward", "HFEEn_mediumPt_Forward", ptBin_, 0., 1.5 * ptMax_);
1299  mHFHEn_mediumPt_Forward =
1300  ibooker.book1D("HFHEn_mediumPt_Forward", "HFHEn_mediumPt_Forward", ptBin_, 0., 2.5 * ptMax_);
1301  mHFEEn_highPt_Forward = ibooker.book1D("HFEEn_highPt_Forward", "HFEEn_highPt_Forward", ptBin_, 0., 1.5 * ptMax_);
1302  mHFHEn_highPt_Forward = ibooker.book1D("HFHEn_highPt_Forward", "HFHEn_highPt_Forward", ptBin_, 0., 5.0 * ptMax_);
1303  map_of_MEs.insert(
1304  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHEn_lowPt_Forward", mHFHEn_lowPt_Forward));
1305  map_of_MEs.insert(
1306  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEEn_lowPt_Forward", mHFEEn_lowPt_Forward));
1307  map_of_MEs.insert(
1308  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHEn_mediumPt_Forward", mHFHEn_mediumPt_Forward));
1309  map_of_MEs.insert(
1310  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEEn_mediumPt_Forward", mHFEEn_mediumPt_Forward));
1311  map_of_MEs.insert(
1312  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHEn_highPt_Forward", mHFHEn_highPt_Forward));
1313  map_of_MEs.insert(
1314  std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEEn_highPt_Forward", mHFEEn_highPt_Forward));
1315  //multiplicities
1316  mNeutMultiplicity_lowPt_Forward =
1317  ibooker.book1D("NeutMultiplicity_lowPt_Forward", "NeutMultiplicity_lowPt_Forward", 60, 0, 60);
1318  mNeutMultiplicity_mediumPt_Forward =
1319  ibooker.book1D("NeutMultiplicity_mediumPt_Forward", "NeutMultiplicity_mediumPt_Forward", 60, 0, 60);
1320  mNeutMultiplicity_highPt_Forward =
1321  ibooker.book1D("NeutMultiplicity_highPt_Forward", "NeutMultiplicity_highPt_Forward", 60, 0, 60);
1322 
1323  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_lowPt_Forward",
1324  mNeutMultiplicity_lowPt_Forward));
1325  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_mediumPt_Forward",
1326  mNeutMultiplicity_mediumPt_Forward));
1327  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutMultiplicity_highPt_Forward",
1328  mNeutMultiplicity_highPt_Forward));
1329 
1330  mChargedHadronEnergy = ibooker.book1D("ChargedHadronEnergy", "charged HAD energy", 50, 0, 100);
1331  mNeutralHadronEnergy = ibooker.book1D("NeutralHadronEnergy", "neutral HAD energy", 50, 0, 100);
1332  mChargedEmEnergy = ibooker.book1D("ChargedEmEnergy", "charged EM energy ", 50, 0, 100);
1333  mChargedMuEnergy = ibooker.book1D("ChargedMuEnergy", "charged Mu energy", 50, 0, 100);
1334  mNeutralEmEnergy = ibooker.book1D("NeutralEmEnergy", "neutral EM energy", 50, 0, 100);
1335  mChargedMultiplicity = ibooker.book1D("ChargedMultiplicity", "charged multiplicity ", 50, 0, 100);
1336  mNeutralMultiplicity = ibooker.book1D("NeutralMultiplicity", "neutral multiplicity", 50, 0, 100);
1337  mMuonMultiplicity = ibooker.book1D("MuonMultiplicity", "muon multiplicity", 50, 0, 100);
1338  map_of_MEs.insert(
1339  std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedHadronEnergy", mChargedHadronEnergy));
1340  map_of_MEs.insert(
1341  std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralHadronEnergy", mNeutralHadronEnergy));
1342  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedEmEnergy", mChargedEmEnergy));
1343  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedMuEnergy", mChargedMuEnergy));
1344  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralEmEnergy", mNeutralEmEnergy));
1345  map_of_MEs.insert(
1346  std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedMultiplicity", mChargedMultiplicity));
1347  map_of_MEs.insert(
1348  std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralMultiplicity", mNeutralMultiplicity));
1349  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuonMultiplicity", mMuonMultiplicity));
1350 
1351  // Book NPV profiles
1352  //----------------------------------------------------------------------------
1353  mChargedHadronEnergy_profile = ibooker.bookProfile(
1354  "ChargedHadronEnergy_profile", "charged HAD energy", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1355  mNeutralHadronEnergy_profile = ibooker.bookProfile(
1356  "NeutralHadronEnergy_profile", "neutral HAD energy", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1357  mChargedEmEnergy_profile =
1358  ibooker.bookProfile("ChargedEmEnergy_profile", "charged EM energy", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1359  mChargedMuEnergy_profile =
1360  ibooker.bookProfile("ChargedMuEnergy_profile", "charged Mu energy", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1361  mNeutralEmEnergy_profile =
1362  ibooker.bookProfile("NeutralEmEnergy_profile", "neutral EM energy", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1363  mChargedMultiplicity_profile = ibooker.bookProfile(
1364  "ChargedMultiplicity_profile", "charged multiplicity", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1365  mNeutralMultiplicity_profile = ibooker.bookProfile(
1366  "NeutralMultiplicity_profile", "neutral multiplicity", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1367  mMuonMultiplicity_profile =
1368  ibooker.bookProfile("MuonMultiplicity_profile", "muon multiplicity", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1369 
1370  // Set NPV profiles x-axis title
1371  //----------------------------------------------------------------------------
1372  mChargedHadronEnergy_profile->setAxisTitle("nvtx", 1);
1373  mNeutralHadronEnergy_profile->setAxisTitle("nvtx", 1);
1374  mChargedEmEnergy_profile->setAxisTitle("nvtx", 1);
1375  mChargedMuEnergy_profile->setAxisTitle("nvtx", 1);
1376  mNeutralEmEnergy_profile->setAxisTitle("nvtx", 1);
1377  mChargedMultiplicity_profile->setAxisTitle("nvtx", 1);
1378  mNeutralMultiplicity_profile->setAxisTitle("nvtx", 1);
1379  mMuonMultiplicity_profile->setAxisTitle("nvtx", 1);
1380 
1381  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedHadronEnergy_profile",
1382  mChargedHadronEnergy_profile));
1383  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralHadronEnergy_profile",
1384  mNeutralHadronEnergy_profile));
1385  map_of_MEs.insert(
1386  std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedEmEnergy_profile", mChargedEmEnergy_profile));
1387  map_of_MEs.insert(
1388  std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedMuEnergy_profile", mChargedMuEnergy_profile));
1389  map_of_MEs.insert(
1390  std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralEmEnergy_profile", mNeutralEmEnergy_profile));
1391  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedMultiplicity_profile",
1392  mChargedMultiplicity_profile));
1393  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralMultiplicity_profile",
1394  mNeutralMultiplicity_profile));
1395  map_of_MEs.insert(
1396  std::pair<std::string, MonitorElement*>(DirName + "/" + "MuonMultiplicity_profile", mMuonMultiplicity_profile));
1397 
1398  mNeutralFraction = ibooker.book1D("NeutralConstituentsFraction", "Neutral Constituents Fraction", 100, 0, 1);
1399  map_of_MEs.insert(
1400  std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralConstituentsFraction", mNeutralFraction));
1401  }
1402 
1403  //
1404  if (isMiniAODJet_) {
1405  mMass_Barrel = ibooker.book1D("JetMass_Barrel", "JetMass_Barrel", 50, 0, 250);
1406  mMass_EndCap = ibooker.book1D("JetMass_EndCap", "JetMass_EndCap", 50, 0, 250);
1407  mMass_Forward = ibooker.book1D("JetMass_Forward", "JetMass_Forward", 50, 0, 250);
1408 
1409  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_Barrel", mMass_Barrel));
1410  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_EndCap", mMass_EndCap));
1411  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetMass_Forward", mMass_Forward));
1412  if (!filljetsubstruc_) {
1413  //done only for MINIAOD
1414  mPt_CaloJet = ibooker.book1D("Pt_CaloJet", "Pt_CaloJet", ptBin_, 10, ptMax_);
1415  mEMF_CaloJet = ibooker.book1D("EMF_CaloJet", "EMF_CaloJet", 52, -0.02, 1.02);
1416  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_CaloJet", mPt_CaloJet));
1417  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EMF_CaloJet", mEMF_CaloJet));
1418  }
1419  if (filljetsubstruc_) {
1420  //miniaod specific variables, especially for substructure
1421  mSoftDropMass = ibooker.book1D("SoftDropMass", "SoftDropMass", 50, 0, 250);
1422  mPrunedMass = ibooker.book1D("PrunedMass", "PrunedMass", 50, 0, 250);
1423  mTrimmedMass = ibooker.book1D("TrimmedMass", "TrimmedMass", 50, 0, 250);
1424  mFilteredMass = ibooker.book1D("FilteredMass", "FilteredMass", 50, 0, 250);
1425  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SoftDropMass", mSoftDropMass));
1426  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PrunedMass", mPrunedMass));
1427  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "TrimmedMass", mTrimmedMass));
1428  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "FilteredMass", mFilteredMass));
1429 
1430  mtau2_over_tau1 = ibooker.book1D("tau2_over_tau1", "tau2_over_tau1", 50, 0, 1);
1431  mtau3_over_tau2 = ibooker.book1D("tau3_over_tau2", "tau3_over_tau2", 50, 0, 1);
1432  mCATopTag_topMass = ibooker.book1D("CATopTag_topMass", "CATopTag_topMass", 50, 50, 250);
1433  mCATopTag_minMass = ibooker.book1D("CATopTag_minMass", "CATopTag_minMass", 50, 0, 250);
1434  mCATopTag_nSubJets = ibooker.book1D("nSubJets_CATopTag", "nSubJets_CATopTag", 10, 0, 10);
1435  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "tau2_over_tau1", mtau2_over_tau1));
1436  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "tau3_over_tau2", mtau3_over_tau2));
1437  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CATopTag_topMass", mCATopTag_topMass));
1438  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CATopTag_minMass", mCATopTag_minMass));
1439  map_of_MEs.insert(
1440  std::pair<std::string, MonitorElement*>(DirName + "/" + "nSubJets_CATopTag", mCATopTag_nSubJets));
1441 
1442  mnSubJetsCMSTopTag = ibooker.book1D("nSubJets_CMSTopTag", "nSubJets_CMSTopTag", 10, 0, 10);
1443  mSubJet1_CMSTopTag_pt = ibooker.book1D("SubJet1_CMSTopTag_pt", "SubJet1_CMSTopTag_pt", ptBin_, ptMin_, ptMax_);
1444  mSubJet1_CMSTopTag_eta =
1445  ibooker.book1D("SubJet1_CMSTopTag_eta", "SubJet1_CMSTopTag_eta", etaBin_, etaMin_, etaMax_);
1446  mSubJet1_CMSTopTag_phi =
1447  ibooker.book1D("SubJet1_CMSTopTag_phi", "SubJet1_CMSTopTag_phi", phiBin_, phiMin_, phiMax_);
1448  mSubJet1_CMSTopTag_mass = ibooker.book1D("SubJet1_CMSTopTag_mass", "SubJet1_CMSTopTag_mass", 50, 0, 250);
1449  mSubJet2_CMSTopTag_pt = ibooker.book1D("SubJet2_CMSTopTag_pt", "SubJet2_CMSTopTag_pt", ptBin_, ptMin_, ptMax_);
1450  mSubJet2_CMSTopTag_eta =
1451  ibooker.book1D("SubJet2_CMSTopTag_eta", "SubJet2_CMSTopTag_eta", etaBin_, etaMin_, etaMax_);
1452  mSubJet2_CMSTopTag_phi =
1453  ibooker.book1D("SubJet2_CMSTopTag_phi", "SubJet2_CMSTopTag_phi", phiBin_, phiMin_, phiMax_);
1454  mSubJet2_CMSTopTag_mass = ibooker.book1D("SubJet2_CMSTopTag_mass", "SubJet2_CMSTopTag_mass", 50, 0, 250);
1455  mSubJet3_CMSTopTag_pt = ibooker.book1D("SubJet3_CMSTopTag_pt", "SubJet3_CMSTopTag_pt", ptBin_, ptMin_, ptMax_);
1456  mSubJet3_CMSTopTag_eta =
1457  ibooker.book1D("SubJet3_CMSTopTag_eta", "SubJet3_CMSTopTag_eta", etaBin_, etaMin_, etaMax_);
1458  mSubJet3_CMSTopTag_phi =
1459  ibooker.book1D("SubJet3_CMSTopTag_phi", "SubJet3_CMSTopTag_phi", phiBin_, phiMin_, phiMax_);
1460  mSubJet3_CMSTopTag_mass = ibooker.book1D("SubJet3_CMSTopTag_mass", "SubJet3_CMSTopTag_mass", 50, 0, 250);
1461  mSubJet4_CMSTopTag_pt = ibooker.book1D("SubJet4_CMSTopTag_pt", "SubJet4_CMSTopTag_pt", ptBin_, ptMin_, ptMax_);
1462  mSubJet4_CMSTopTag_eta =
1463  ibooker.book1D("SubJet4_CMSTopTag_eta", "SubJet4_CMSTopTag_eta", etaBin_, etaMin_, etaMax_);
1464  mSubJet4_CMSTopTag_phi =
1465  ibooker.book1D("SubJet4_CMSTopTag_phi", "SubJet4_CMSTopTag_phi", phiBin_, phiMin_, phiMax_);
1466  mSubJet4_CMSTopTag_mass = ibooker.book1D("SubJet4_CMSTopTag_mass", "SubJet4_CMSTopTag_mass", 50, 0, 250);
1467 
1468  map_of_MEs.insert(
1469  std::pair<std::string, MonitorElement*>(DirName + "/" + "nSubJets_CMSTopTag", mnSubJetsCMSTopTag));
1470  map_of_MEs.insert(
1471  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_CMSTopTag_pt", mSubJet1_CMSTopTag_pt));
1472  map_of_MEs.insert(
1473  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_CMSTopTag_eta", mSubJet1_CMSTopTag_eta));
1474  map_of_MEs.insert(
1475  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_CMSTopTag_phi", mSubJet1_CMSTopTag_phi));
1476  map_of_MEs.insert(
1477  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_CMSTopTag_mass", mSubJet1_CMSTopTag_mass));
1478  map_of_MEs.insert(
1479  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_CMSTopTag_pt", mSubJet2_CMSTopTag_pt));
1480  map_of_MEs.insert(
1481  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_CMSTopTag_eta", mSubJet2_CMSTopTag_eta));
1482  map_of_MEs.insert(
1483  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_CMSTopTag_phi", mSubJet2_CMSTopTag_phi));
1484  map_of_MEs.insert(
1485  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_CMSTopTag_mass", mSubJet2_CMSTopTag_mass));
1486  map_of_MEs.insert(
1487  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet3_CMSTopTag_pt", mSubJet3_CMSTopTag_pt));
1488  map_of_MEs.insert(
1489  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet3_CMSTopTag_eta", mSubJet3_CMSTopTag_eta));
1490  map_of_MEs.insert(
1491  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet3_CMSTopTag_phi", mSubJet3_CMSTopTag_phi));
1492  map_of_MEs.insert(
1493  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet3_CMSTopTag_mass", mSubJet3_CMSTopTag_mass));
1494  map_of_MEs.insert(
1495  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet4_CMSTopTag_pt", mSubJet4_CMSTopTag_pt));
1496  map_of_MEs.insert(
1497  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet4_CMSTopTag_eta", mSubJet4_CMSTopTag_eta));
1498  map_of_MEs.insert(
1499  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet4_CMSTopTag_phi", mSubJet4_CMSTopTag_phi));
1500  map_of_MEs.insert(
1501  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet4_CMSTopTag_mass", mSubJet4_CMSTopTag_mass));
1502 
1503  mnSubJetsSoftDrop = ibooker.book1D("nSubJets_SoftDrop", "nSubJets_SoftDrop", 10, 0, 10);
1504  mSubJet1_SoftDrop_pt = ibooker.book1D("SubJet1_SoftDrop_pt", "SubJet1_SoftDrop_pt", ptBin_, ptMin_, ptMax_);
1505  mSubJet1_SoftDrop_eta = ibooker.book1D("SubJet1_SoftDrop_eta", "SubJet1_SoftDrop_eta", etaBin_, etaMin_, etaMax_);
1506  mSubJet1_SoftDrop_phi = ibooker.book1D("SubJet1_SoftDrop_phi", "SubJet1_SoftDrop_phi", phiBin_, phiMin_, phiMax_);
1507  mSubJet1_SoftDrop_mass = ibooker.book1D("SubJet1_SoftDrop_mass", "SubJet1_SoftDrop_mass", 50, 0, 250);
1508  mSubJet2_SoftDrop_pt = ibooker.book1D("SubJet2_SoftDrop_pt", "SubJet2_SoftDrop_pt", ptBin_, ptMin_, ptMax_);
1509  mSubJet2_SoftDrop_eta = ibooker.book1D("SubJet2_SoftDrop_eta", "SubJet2_SoftDrop_eta", etaBin_, etaMin_, etaMax_);
1510  mSubJet2_SoftDrop_phi = ibooker.book1D("SubJet2_SoftDrop_phi", "SubJet2_SoftDrop_phi", phiBin_, phiMin_, phiMax_);
1511  mSubJet2_SoftDrop_mass = ibooker.book1D("SubJet2_SoftDrop_mass", "SubJet2_SoftDrop_mass", 50, 0, 250);
1512 
1513  map_of_MEs.insert(
1514  std::pair<std::string, MonitorElement*>(DirName + "/" + "nSubJets_SoftDrop", mnSubJetsSoftDrop));
1515  map_of_MEs.insert(
1516  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_SoftDrop_pt", mSubJet1_SoftDrop_pt));
1517  map_of_MEs.insert(
1518  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_SoftDrop_eta", mSubJet1_SoftDrop_eta));
1519  map_of_MEs.insert(
1520  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_SoftDrop_phi", mSubJet1_SoftDrop_phi));
1521  map_of_MEs.insert(
1522  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_SoftDrop_mass", mSubJet1_SoftDrop_mass));
1523  map_of_MEs.insert(
1524  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_SoftDrop_pt", mSubJet2_SoftDrop_pt));
1525  map_of_MEs.insert(
1526  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_SoftDrop_eta", mSubJet2_SoftDrop_eta));
1527  map_of_MEs.insert(
1528  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_SoftDrop_phi", mSubJet2_SoftDrop_phi));
1529  map_of_MEs.insert(
1530  std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_SoftDrop_mass", mSubJet2_SoftDrop_mass));
1531  //miniaod specific variables, especially for substructure for boosted stuff
1532  mSoftDropMass_boosted = ibooker.book1D("SoftDropMass_boosted", "SoftDropMass_boosted", 50, 0, 250);
1533  mPrunedMass_boosted = ibooker.book1D("PrunedMass_boosted", "PrunedMass_boosted", 50, 0, 250);
1534  mTrimmedMass_boosted = ibooker.book1D("TrimmedMass_boosted", "TrimmedMass_boosted", 50, 0, 250);
1535  mFilteredMass_boosted = ibooker.book1D("FilteredMass_boosted", "FilteredMass_boosted", 50, 0, 250);
1536  map_of_MEs.insert(
1537  std::pair<std::string, MonitorElement*>(DirName + "/" + "SoftDropMass_boosted", mSoftDropMass_boosted));
1538  map_of_MEs.insert(
1539  std::pair<std::string, MonitorElement*>(DirName + "/" + "PrunedMass_boosted", mPrunedMass_boosted));
1540  map_of_MEs.insert(
1541  std::pair<std::string, MonitorElement*>(DirName + "/" + "TrimmedMass_boosted", mTrimmedMass_boosted));
1542  map_of_MEs.insert(
1543  std::pair<std::string, MonitorElement*>(DirName + "/" + "FilteredMass_boosted", mFilteredMass_boosted));
1544 
1545  mtau2_over_tau1_boosted = ibooker.book1D("tau2_over_tau1_boosted", "tau2_over_tau1_boosted", 50, 0, 1);
1546  mtau3_over_tau2_boosted = ibooker.book1D("tau3_over_tau2_boosted", "tau3_over_tau2_boosted", 50, 0, 1);
1547  mCATopTag_topMass_boosted = ibooker.book1D("CATopTag_topMass_boosted", "CATopTag_topMass_boosted", 50, 50, 250);
1548  mCATopTag_minMass_boosted = ibooker.book1D("CATopTag_minMass_boosted", "CATopTag_minMass_boosted", 50, 0, 250);
1549  mCATopTag_nSubJets_boosted = ibooker.book1D("nSubJets_CATopTag_boosted", "nSubJets_CATopTag_boosted", 10, 0, 10);
1550  map_of_MEs.insert(
1551  std::pair<std::string, MonitorElement*>(DirName + "/" + "tau2_over_tau1_boosted", mtau2_over_tau1_boosted));
1552  map_of_MEs.insert(
1553  std::pair<std::string, MonitorElement*>(DirName + "/" + "tau3_over_tau2_boosted", mtau3_over_tau2_boosted));
1554  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CATopTag_topMass_boosted",
1555  mCATopTag_topMass_boosted));
1556  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CATopTag_minMass_boosted",
1557  mCATopTag_minMass_boosted));
1558  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "nSubJets_CATopTag_boosted",
1559  mCATopTag_nSubJets_boosted));
1560 
1561  mnSubJetsCMSTopTag_boosted =
1562  ibooker.book1D("nSubJets_CMSTopTag_boosted", "nSubJets_CMSTopTag_boosted", 10, 0, 10);
1563  mSubJet1_CMSTopTag_pt_boosted =
1564  ibooker.book1D("SubJet1_CMSTopTag_pt_boosted", "SubJet1_CMSTopTag_pt_boosted", ptBin_, ptMin_, 2 * ptMax_);
1565  mSubJet1_CMSTopTag_eta_boosted =
1566  ibooker.book1D("SubJet1_CMSTopTag_eta_boosted", "SubJet1_CMSTopTag_eta_boosted", etaBin_, etaMin_, etaMax_);
1567  mSubJet1_CMSTopTag_phi_boosted =
1568  ibooker.book1D("SubJet1_CMSTopTag_phi_boosted", "SubJet1_CMSTopTag_phi_boosted", phiBin_, phiMin_, phiMax_);
1569  mSubJet1_CMSTopTag_mass_boosted =
1570  ibooker.book1D("SubJet1_CMSTopTag_mass_boosted", "SubJet1_CMSTopTag_mass_boosted", 50, 0, 250);
1571  mSubJet2_CMSTopTag_pt_boosted =
1572  ibooker.book1D("SubJet2_CMSTopTag_pt_boosted", "SubJet2_CMSTopTag_pt_boosted", ptBin_, ptMin_, 2 * ptMax_);
1573  mSubJet2_CMSTopTag_eta_boosted =
1574  ibooker.book1D("SubJet2_CMSTopTag_eta_boosted", "SubJet2_CMSTopTag_eta_boosted", etaBin_, etaMin_, etaMax_);
1575  mSubJet2_CMSTopTag_phi_boosted =
1576  ibooker.book1D("SubJet2_CMSTopTag_phi_boosted", "SubJet2_CMSTopTag_phi_boosted", phiBin_, phiMin_, phiMax_);
1577  mSubJet2_CMSTopTag_mass_boosted =
1578  ibooker.book1D("SubJet2_CMSTopTag_mass_boosted", "SubJet2_CMSTopTag_mass_boosted", 50, 0, 250);
1579  mSubJet3_CMSTopTag_pt_boosted =
1580  ibooker.book1D("SubJet3_CMSTopTag_pt_boosted", "SubJet3_CMSTopTag_pt_boosted", ptBin_, ptMin_, ptMax_);
1581  mSubJet3_CMSTopTag_eta_boosted =
1582  ibooker.book1D("SubJet3_CMSTopTag_eta_boosted", "SubJet3_CMSTopTag_eta_boosted", etaBin_, etaMin_, etaMax_);
1583  mSubJet3_CMSTopTag_phi_boosted =
1584  ibooker.book1D("SubJet3_CMSTopTag_phi_boosted", "SubJet3_CMSTopTag_phi_boosted", phiBin_, phiMin_, phiMax_);
1585  mSubJet3_CMSTopTag_mass_boosted =
1586  ibooker.book1D("SubJet3_CMSTopTag_mass_boosted", "SubJet3_CMSTopTag_mass_boosted", 50, 0, 250);
1587  mSubJet4_CMSTopTag_pt_boosted =
1588  ibooker.book1D("SubJet4_CMSTopTag_pt_boosted", "SubJet4_CMSTopTag_pt_boosted", ptBin_, ptMin_, ptMax_);
1589  mSubJet4_CMSTopTag_eta_boosted =
1590  ibooker.book1D("SubJet4_CMSTopTag_eta_boosted", "SubJet4_CMSTopTag_eta_boosted", etaBin_, etaMin_, etaMax_);
1591  mSubJet4_CMSTopTag_phi_boosted =
1592  ibooker.book1D("SubJet4_CMSTopTag_phi_boosted", "SubJet4_CMSTopTag_phi_boosted", phiBin_, phiMin_, phiMax_);
1593  mSubJet4_CMSTopTag_mass_boosted =
1594  ibooker.book1D("SubJet4_CMSTopTag_mass_boosted", "SubJet4_CMSTopTag_mass_boosted", 50, 0, 250);
1595 
1596  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "nSubJets_CMSTopTag_boosted",
1597  mnSubJetsCMSTopTag_boosted));
1598  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_CMSTopTag_pt_boosted",
1599  mSubJet1_CMSTopTag_pt_boosted));
1600  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_CMSTopTag_eta_boosted",
1601  mSubJet1_CMSTopTag_eta_boosted));
1602  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_CMSTopTag_phi_boosted",
1603  mSubJet1_CMSTopTag_phi_boosted));
1604  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_CMSTopTag_mass_boosted",
1605  mSubJet1_CMSTopTag_mass_boosted));
1606  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_CMSTopTag_pt_boosted",
1607  mSubJet2_CMSTopTag_pt_boosted));
1608  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_CMSTopTag_eta_boosted",
1609  mSubJet2_CMSTopTag_eta_boosted));
1610  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_CMSTopTag_phi_boosted",
1611  mSubJet2_CMSTopTag_phi_boosted));
1612  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_CMSTopTag_mass_boosted",
1613  mSubJet2_CMSTopTag_mass_boosted));
1614  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet3_CMSTopTag_pt_boosted",
1615  mSubJet3_CMSTopTag_pt_boosted));
1616  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet3_CMSTopTag_eta_boosted",
1617  mSubJet3_CMSTopTag_eta_boosted));
1618  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet3_CMSTopTag_phi_boosted",
1619  mSubJet3_CMSTopTag_phi_boosted));
1620  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet3_CMSTopTag_mass_boosted",
1621  mSubJet3_CMSTopTag_mass_boosted));
1622  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet4_CMSTopTag_pt_boosted",
1623  mSubJet4_CMSTopTag_pt_boosted));
1624  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet4_CMSTopTag_eta_boosted",
1625  mSubJet4_CMSTopTag_eta_boosted));
1626  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet4_CMSTopTag_phi_boosted",
1627  mSubJet4_CMSTopTag_phi_boosted));
1628  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet4_CMSTopTag_mass_boosted",
1629  mSubJet4_CMSTopTag_mass_boosted));
1630 
1631  mnSubJetsSoftDrop_boosted = ibooker.book1D("nSubJets_SoftDrop_boosted", "nSubJets_SoftDrop_boosted", 10, 0, 10);
1632  mSubJet1_SoftDrop_pt_boosted =
1633  ibooker.book1D("SubJet1_SoftDrop_pt_boosted", "SubJet1_SoftDrop_pt_boosted", ptBin_, ptMin_, 2 * ptMax_);
1634  mSubJet1_SoftDrop_eta_boosted =
1635  ibooker.book1D("SubJet1_SoftDrop_eta_boosted", "SubJet1_SoftDrop_eta_boosted", etaBin_, etaMin_, etaMax_);
1636  mSubJet1_SoftDrop_phi_boosted =
1637  ibooker.book1D("SubJet1_SoftDrop_phi_boosted", "SubJet1_SoftDrop_phi_boosted", phiBin_, phiMin_, phiMax_);
1638  mSubJet1_SoftDrop_mass_boosted =
1639  ibooker.book1D("SubJet1_SoftDrop_mass_boosted", "SubJet1_SoftDrop_mass_boosted", 50, 0, 250);
1640  mSubJet2_SoftDrop_pt_boosted =
1641  ibooker.book1D("SubJet2_SoftDrop_pt_boosted", "SubJet2_SoftDrop_pt_boosted", ptBin_, ptMin_, 2 * ptMax_);
1642  mSubJet2_SoftDrop_eta_boosted =
1643  ibooker.book1D("SubJet2_SoftDrop_eta_boosted", "SubJet2_SoftDrop_eta_boosted", etaBin_, etaMin_, etaMax_);
1644  mSubJet2_SoftDrop_phi_boosted =
1645  ibooker.book1D("SubJet2_SoftDrop_phi_boosted", "SubJet2_SoftDrop_phi_boosted", phiBin_, phiMin_, phiMax_);
1646  mSubJet2_SoftDrop_mass_boosted =
1647  ibooker.book1D("SubJet2_SoftDrop_mass_boosted", "SubJet2_SoftDrop_mass_boosted", 50, 0, 250);
1648 
1649  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "nSubJets_SoftDrop_boosted",
1650  mnSubJetsSoftDrop_boosted));
1651  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_SoftDrop_pt_boosted",
1652  mSubJet1_SoftDrop_pt_boosted));
1653  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_SoftDrop_eta_boosted",
1654  mSubJet1_SoftDrop_eta_boosted));
1655  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_SoftDrop_phi_boosted",
1656  mSubJet1_SoftDrop_phi_boosted));
1657  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet1_SoftDrop_mass_boosted",
1658  mSubJet1_SoftDrop_mass_boosted));
1659  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_SoftDrop_pt_boosted",
1660  mSubJet2_SoftDrop_pt_boosted));
1661  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_SoftDrop_eta_boosted",
1662  mSubJet2_SoftDrop_eta_boosted));
1663  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_SoftDrop_phi_boosted",
1664  mSubJet2_SoftDrop_phi_boosted));
1665  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "SubJet2_SoftDrop_mass_boosted",
1666  mSubJet2_SoftDrop_mass_boosted));
1667  }
1668  }
1669 
1670  if (jetCleaningFlag_) {
1671  //so far we have only one additional selection -> implement to make it expandable
1672  folderNames_.push_back("DiJet");
1673  if (isPFJet_) { //check for now only for PFJets
1674  folderNames_.push_back("ZJets");
1675  }
1676  //book for each of these selection default histograms
1677  for (std::vector<std::string>::const_iterator ic = folderNames_.begin(); ic != folderNames_.end(); ic++) {
1678  bookMESetSelection(DirName + "/" + *ic, ibooker);
1679  }
1680  }
1681 
1682  ibooker.setCurrentFolder("JetMET");
1683  cleanupME = ibooker.book1D("cleanup", "cleanup", 10, 0., 10.);
1684  cleanupME->setBinLabel(1, "Primary Vertex");
1685  cleanupME->setBinLabel(2, "DCS::Pixel");
1686  cleanupME->setBinLabel(3, "DCS::SiStrip");
1687  cleanupME->setBinLabel(4, "DCS::ECAL");
1688  cleanupME->setBinLabel(5, "DCS::ES");
1689  cleanupME->setBinLabel(6, "DCS::HBHE");
1690  cleanupME->setBinLabel(7, "DCS::HF");
1691  cleanupME->setBinLabel(8, "DCS::HO");
1692  cleanupME->setBinLabel(9, "DCS::Muon");
1693  map_of_MEs.insert(std::pair<std::string, MonitorElement*>("JetMET/cleanup", cleanupME));
1694 
1695  verticesME = ibooker.book1D("vertices", "vertices", 100, 0, 100);
1696  map_of_MEs.insert(std::pair<std::string, MonitorElement*>("JetMET/vertices", verticesME));
1697 }
1698 
1700  ibooker.setCurrentFolder(DirName);
1701  // Generic jet parameters
1702  mPt = ibooker.book1D("Pt", "pt", ptBin_, ptMin_, ptMax_);
1703  mEta = ibooker.book1D("Eta", "eta", etaBin_, etaMin_, etaMax_);
1704  mPhi = ibooker.book1D("Phi", "phi", phiBin_, phiMin_, phiMax_);
1705  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt", mPt));
1706  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta", mEta));
1707  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi", mPhi));
1708  //if(!isJPTJet_){
1709  mConstituents = ibooker.book1D("Constituents", "# of constituents", 50, 0, 100);
1710  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Constituents", mConstituents));
1711  //}
1712  mJetEnergyCorr = ibooker.book1D("JetEnergyCorr", "jet energy correction factor", 50, 0.0, 3.0);
1713  mJetEnergyCorrVSEta = ibooker.bookProfile(
1714  "JetEnergyCorrVSEta", "jet energy correction factor VS eta", etaBin_, etaMin_, etaMax_, 0.0, 3.0);
1715  mJetEnergyCorrVSPt =
1716  ibooker.bookProfile("JetEnergyCorrVSPt", "jet energy correction factor VS pt", ptBin_, ptMin_, ptMax_, 0.0, 3.0);
1717 
1718  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetEnergyCorr", mJetEnergyCorr));
1719  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetEnergyCorrVSEta", mJetEnergyCorrVSEta));
1720  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetEnergyCorrVSPt", mJetEnergyCorrVSPt));
1721 
1722  //fill for Dijets: concentrates on gluon jets -> fill leading two jets
1723  //fill for ZJets: concentrates on quark jets -> fill leading jet
1724  if (fill_CHS_histos && isPFJet_) {
1725  mAxis2_lowPt_Barrel = ibooker.book1D("qg_Axis2_lowPt_Barrel", "qg Axis2 #sigma_{2} lowPt Barrel", 50, 0., 0.20);
1726  mpTD_lowPt_Barrel =
1727  ibooker.book1D("qg_pTD_lowPt_Barrel", "qg fragmentation function p_{T}^{D} lowPt Barrel", 50, 0.15, 1.05);
1728  mMultiplicityQG_lowPt_Barrel =
1729  ibooker.book1D("qg_multiplicity_lowPt_Barrel", "qg multiplicity lowPt Barrel", 50, 0, 50);
1730  mqgLikelihood_lowPt_Barrel =
1731  ibooker.book1D("qg_Likelihood_lowPt_Barrel", "qg likelihood lowPt Barrel", 50, -1.1, 1.1);
1732  mAxis2_lowPt_EndCap = ibooker.book1D("qg_Axis2_lowPt_EndCap", "qg Axis2 #sigma_{2} lowPt EndCap", 50, 0., 0.20);
1733  mpTD_lowPt_EndCap =
1734  ibooker.book1D("qg_pTD_lowPt_EndCap", "qg fragmentation function p_{T}^{D} lowPt EndCap", 50, 0.15, 1.05);
1735  mMultiplicityQG_lowPt_EndCap =
1736  ibooker.book1D("qg_multiplicity_lowPt_EndCap", "qg multiplicity lowPt EndCap", 50, 0, 100);
1737  mqgLikelihood_lowPt_EndCap =
1738  ibooker.book1D("qg_Likelihood_lowPt_EndCap", "qg likelihood lowPt EndCap", 50, -1.1, 1.1);
1739  mAxis2_lowPt_Forward = ibooker.book1D("qg_Axis2_lowPt_Forward", "qg Axis2 #sigma_{2} lowPt Forward", 50, 0., 0.20);
1740  mpTD_lowPt_Forward =
1741  ibooker.book1D("qg_pTD_lowPt_Forward", "qg fragmentation function p_{T}^{D} lowPt Forward", 50, 0.15, 1.05);
1742  mMultiplicityQG_lowPt_Forward =
1743  ibooker.book1D("qg_multiplicity_lowPt_Forward", "qg multiplicity lowPt Forward", 50, 0, 100);
1744  mqgLikelihood_lowPt_Forward =
1745  ibooker.book1D("qg_Likelihood_lowPt_Forward", "qg likelihood lowPt Forward", 50, -1.1, 1.1);
1746 
1747  map_of_MEs.insert(
1748  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_lowPt_Barrel", mAxis2_lowPt_Barrel));
1749  map_of_MEs.insert(
1750  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_lowPt_Barrel", mpTD_lowPt_Barrel));
1751  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_lowPt_Barrel",
1752  mMultiplicityQG_lowPt_Barrel));
1753  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_lowPt_Barrel",
1754  mqgLikelihood_lowPt_Barrel));
1755  map_of_MEs.insert(
1756  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_lowPt_EndCap", mAxis2_lowPt_EndCap));
1757  map_of_MEs.insert(
1758  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_lowPt_EndCap", mpTD_lowPt_EndCap));
1759  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_lowPt_EndCap",
1760  mMultiplicityQG_lowPt_EndCap));
1761  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_lowPt_EndCap",
1762  mqgLikelihood_lowPt_EndCap));
1763  map_of_MEs.insert(
1764  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_lowPt_Forward", mAxis2_lowPt_Forward));
1765  map_of_MEs.insert(
1766  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_lowPt_Forward", mpTD_lowPt_Forward));
1767  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_lowPt_Forward",
1768  mMultiplicityQG_lowPt_Forward));
1769  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_lowPt_Forward",
1770  mqgLikelihood_lowPt_Forward));
1771 
1772  mAxis2_mediumPt_Barrel =
1773  ibooker.book1D("qg_Axis2_mediumPt_Barrel", "qg Axis2 #sigma_{2} mediumPt Barrel", 50, 0., 0.20);
1774  mpTD_mediumPt_Barrel =
1775  ibooker.book1D("qg_pTD_mediumPt_Barrel", "qg fragmentation function p_{T}^{D} mediumPt Barrel", 50, 0.15, 1.05);
1776  mMultiplicityQG_mediumPt_Barrel =
1777  ibooker.book1D("qg_multiplicity_mediumPt_Barrel", "qg multiplicity mediumPt Barrel", 50, 0, 100);
1778  mqgLikelihood_mediumPt_Barrel =
1779  ibooker.book1D("qg_Likelihood_mediumPt_Barrel", "qg likelihood mediumPt Barrel", 50, -1.1, 1.1);
1780  mAxis2_mediumPt_EndCap =
1781  ibooker.book1D("qg_Axis2_mediumPt_EndCap", "qg Axis2 #sigma_{2} mediumPt EndCap", 50, 0., 0.20);
1782  mpTD_mediumPt_EndCap =
1783  ibooker.book1D("qg_pTD_mediumPt_EndCap", "qg fragmentation function p_{T}^{D} mediumPt EndCap", 50, 0.15, 1.05);
1784  mMultiplicityQG_mediumPt_EndCap =
1785  ibooker.book1D("qg_multiplicity_mediumPt_EndCap", "qg multiplicity mediumPt EndCap", 50, 0, 100);
1786  mqgLikelihood_mediumPt_EndCap =
1787  ibooker.book1D("qg_Likelihood_mediumPt_EndCap", "qg likelihood mediumPt EndCap", 50, -1.1, 1.1);
1788  mAxis2_mediumPt_Forward =
1789  ibooker.book1D("qg_Axis2_mediumPt_Forward", "qg Axis2 #sigma_{2} mediumPt Forward", 50, 0., 0.20);
1790  mpTD_mediumPt_Forward = ibooker.book1D(
1791  "qg_pTD_mediumPt_Forward", "qg fragmentation function p_{T}^{D} mediumPt Forward", 50, 0.15, 1.05);
1792  mMultiplicityQG_mediumPt_Forward =
1793  ibooker.book1D("qg_multiplicity_mediumPt_Forward", "qg multiplicity mediumPt Forward", 50, 0, 100);
1794  mqgLikelihood_mediumPt_Forward =
1795  ibooker.book1D("qg_Likelihood_mediumPt_Forward", "qg likelihood mediumPt Forward", 50, -1.1, 1.1);
1796 
1797  map_of_MEs.insert(
1798  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_mediumPt_Barrel", mAxis2_mediumPt_Barrel));
1799  map_of_MEs.insert(
1800  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_mediumPt_Barrel", mpTD_mediumPt_Barrel));
1801  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_mediumPt_Barrel",
1802  mMultiplicityQG_mediumPt_Barrel));
1803  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_mediumPt_Barrel",
1804  mqgLikelihood_mediumPt_Barrel));
1805  map_of_MEs.insert(
1806  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_mediumPt_EndCap", mAxis2_mediumPt_EndCap));
1807  map_of_MEs.insert(
1808  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_mediumPt_EndCap", mpTD_mediumPt_EndCap));
1809  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_mediumPt_EndCap",
1810  mMultiplicityQG_mediumPt_EndCap));
1811  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_mediumPt_EndCap",
1812  mqgLikelihood_mediumPt_EndCap));
1813  map_of_MEs.insert(
1814  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_mediumPt_Forward", mAxis2_mediumPt_Forward));
1815  map_of_MEs.insert(
1816  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_mediumPt_Forward", mpTD_mediumPt_Forward));
1817  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_mediumPt_Forward",
1818  mMultiplicityQG_mediumPt_Forward));
1819  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_mediumPt_Forward",
1820  mqgLikelihood_mediumPt_Forward));
1821 
1822  mAxis2_highPt_Barrel = ibooker.book1D("qg_Axis2_highPt_Barrel", "qg Axis2 #sigma_{2} highPt Barrel", 50, 0., 0.20);
1823  mpTD_highPt_Barrel =
1824  ibooker.book1D("qg_pTD_highPt_Barrel", "qg fragmentation function p_{T}^{D} highPt Barrel", 50, 0.15, 1.05);
1825  mMultiplicityQG_highPt_Barrel =
1826  ibooker.book1D("qg_multiplicity_highPt_Barrel", "qg multiplicity highPt Barrel", 50, 0, 100);
1827  mqgLikelihood_highPt_Barrel =
1828  ibooker.book1D("qg_Likelihood_highPt_Barrel", "qg likelihood highPt Barrel", 50, -1.1, 1.1);
1829  mAxis2_highPt_EndCap = ibooker.book1D("qg_Axis2_highPt_EndCap", "qg Axis2 #sigma_{2} highPt EndCap", 50, 0., 0.20);
1830  mpTD_highPt_EndCap =
1831  ibooker.book1D("qg_pTD_highPt_EndCap", "qg fragmentation function p_{T}^{D} highPt EndCap", 50, 0.15, 1.05);
1832  mMultiplicityQG_highPt_EndCap =
1833  ibooker.book1D("qg_multiplicity_highPt_EndCap", "qg multiplicity highPt EndCap", 50, 0, 100);
1834  mqgLikelihood_highPt_EndCap =
1835  ibooker.book1D("qg_Likelihood_highPt_EndCap", "qg likelihood highPt EndCap", 50, -1.1, 1.1);
1836  mAxis2_highPt_Forward =
1837  ibooker.book1D("qg_Axis2_highPt_Forward", "qg Axis2 #sigma_{2} highPt Forward", 50, 0., 0.20);
1838  mpTD_highPt_Forward =
1839  ibooker.book1D("qg_pTD_highPt_Forward", "qg fragmentation function p_{T}^{D} highPt Forward", 50, 0.15, 1.05);
1840  mMultiplicityQG_highPt_Forward =
1841  ibooker.book1D("qg_multiplicity_highPt_Forward", "qg multiplicity highPt Forward", 50, 0, 100);
1842  mqgLikelihood_highPt_Forward =
1843  ibooker.book1D("qg_Likelihood_highPt_Forward", "qg likelihood highPt Forward", 50, -1.1, 1.1);
1844 
1845  map_of_MEs.insert(
1846  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_highPt_Barrel", mAxis2_highPt_Barrel));
1847  map_of_MEs.insert(
1848  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_highPt_Barrel", mpTD_highPt_Barrel));
1849  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_highPt_Barrel",
1850  mMultiplicityQG_highPt_Barrel));
1851  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_highPt_Barrel",
1852  mqgLikelihood_highPt_Barrel));
1853  map_of_MEs.insert(
1854  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_highPt_EndCap", mAxis2_highPt_EndCap));
1855  map_of_MEs.insert(
1856  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_highPt_EndCap", mpTD_highPt_EndCap));
1857  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_highPt_EndCap",
1858  mMultiplicityQG_highPt_EndCap));
1859  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_highPt_EndCap",
1860  mqgLikelihood_highPt_EndCap));
1861  map_of_MEs.insert(
1862  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Axis2_highPt_Forward", mAxis2_highPt_Forward));
1863  map_of_MEs.insert(
1864  std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_pTD_highPt_Forward", mpTD_highPt_Forward));
1865  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_multiplicity_highPt_Forward",
1866  mMultiplicityQG_highPt_Forward));
1867  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "qg_Likelihood_highPt_Forward",
1868  mqgLikelihood_highPt_Forward));
1869  }
1870 
1871  if (DirName.find("DiJet") != std::string::npos) {
1872  mDPhi = ibooker.book1D("DPhi", "dPhi btw the two leading jets", 100, 0., acos(-1.));
1873  mDijetAsymmetry = ibooker.book1D("DijetAsymmetry", "DijetAsymmetry", 100, -1., 1.);
1874  mDijetBalance = ibooker.book1D("DijetBalance", "DijetBalance", 100, -2., 2.);
1875  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DPhi", mDPhi));
1876  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DijetAsymmetry", mDijetAsymmetry));
1877  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DijetBalance", mDijetBalance));
1878 
1879  if (isPFJet_ || isMiniAODJet_) {
1880  mChargedMultiplicity = ibooker.book1D("ChargedMultiplicity", "charged multiplicity ", 50, 0, 100);
1881  mNeutralMultiplicity = ibooker.book1D("NeutralMultiplicity", "neutral multiplicity", 50, 0, 100);
1882  mMuonMultiplicity = ibooker.book1D("MuonMultiplicity", "muon multiplicity", 50, 0, 100);
1883 
1884  map_of_MEs.insert(
1885  std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedMultiplicity", mChargedMultiplicity));
1886  map_of_MEs.insert(
1887  std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralMultiplicity", mNeutralMultiplicity));
1888  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuonMultiplicity", mMuonMultiplicity));
1889 
1890  mChargedMultiplicity_profile = ibooker.bookProfile(
1891  "ChargedMultiplicity_profile", "charged multiplicity", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1892  mNeutralMultiplicity_profile = ibooker.bookProfile(
1893  "NeutralMultiplicity_profile", "neutral multiplicity", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1894  mMuonMultiplicity_profile =
1895  ibooker.bookProfile("MuonMultiplicity_profile", "muon multiplicity", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
1896  mChargedMultiplicity_profile->setAxisTitle("nvtx", 1);
1897  mNeutralMultiplicity_profile->setAxisTitle("nvtx", 1);
1898  mMuonMultiplicity_profile->setAxisTitle("nvtx", 1);
1899 
1900  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ChargedMultiplicity_profile",
1901  mChargedMultiplicity_profile));
1902  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralMultiplicity_profile",
1903  mNeutralMultiplicity_profile));
1904  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MuonMultiplicity_profile",
1905  mMuonMultiplicity_profile));
1906 
1907  mNeutralFraction = ibooker.book1D("NeutralConstituentsFraction", "Neutral Constituents Fraction", 100, 0, 1);
1908  map_of_MEs.insert(
1909  std::pair<std::string, MonitorElement*>(DirName + "/" + "NeutralConstituentsFraction", mNeutralFraction));
1910  }
1911  }
1912 
1913  if (DirName.find("ZJets") != std::string::npos) {
1914  mZMass = ibooker.book1D("DiMuonMass", "DiMuonMass", 50, 71., 111.);
1915  mDPhiZJet = ibooker.book1D("DPhiZJ", "dPhi btw Z and Jet1", 100, 0., acos(-1.));
1916  mZJetAsymmetry = ibooker.book1D("ZJetAsymmetry", "ZJetAsymmetry", 100, -1., 1.);
1917  mJetZBalance_lowZPt_J_Barrel =
1918  ibooker.book1D("JZB_lowZPt_J_Barrel", "ZJetBalance (pTJet1-pTZ) (30<pTZ<90), |#eta_{jet}|<1.3", 50, -75., 75);
1919  mJetZBalance_mediumZPt_J_Barrel =
1920  ibooker.book1D("JZB_mediumZPt_J_Barrel", "ZJetBalance (90<pTZ<140), |#eta_{jet}|<1.3", 50, -75., 75);
1921  mJetZBalance_highZPt_J_Barrel =
1922  ibooker.book1D("JZB_highZPt_J_Barrel", "ZJetBalance (pTZ>140), |#eta_{jet}|<1.3", 50, -75., 75.);
1923  mJetZBalance_lowZPt_J_EndCap =
1924  ibooker.book1D("JZB_lowZPt_J_EndCap", "ZJetBalance (30<pTZ<90), 1.3<|#eta_{jet}|<3.0", 50, -75., 75);
1925  mJetZBalance_mediumZPt_J_EndCap =
1926  ibooker.book1D("JZB_mediumZPt_J_EndCap", "ZJetBalance (90<pTZ<140), 1.3<|#eta_{jet}|<3.0", 50, -75., 75);
1927  mJetZBalance_highZPt_J_EndCap =
1928  ibooker.book1D("JZB_highZPt_J_EndCap", "ZJetBalance (pTZ>140), 1.3<|#eta_{jet}|<3.0", 50, -75., 75.);
1929  mJetZBalance_lowZPt_J_Forward =
1930  ibooker.book1D("JZB_lowZPt_J_Forward", "ZJetBalance (30<pTZ<90), |#eta_{jet}|>3.0", 50, -75., 75);
1931  mJetZBalance_mediumZPt_J_Forward =
1932  ibooker.book1D("JZB_mediumZPt_J_Forward", "ZJetBalance (90<pTZ<140), |#eta_{jet}|>3.0", 50, -75., 75);
1933  mJetZBalance_highZPt_J_Forward =
1934  ibooker.book1D("JZB_highZPt_J_Forward", "ZJetBalance (pTZ>140), |#eta_{jet}|>3.0", 50, -75., 75.);
1935 
1936  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DiMuonMass", mZMass));
1937  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DPhiZJ", mDPhiZJet));
1938  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "ZJetAsymmetry", mZJetAsymmetry));
1939  map_of_MEs.insert(
1940  std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_lowZPt_J_Barrel", mJetZBalance_lowZPt_J_Barrel));
1941  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_mediumZPt_J_Barrel",
1942  mJetZBalance_mediumZPt_J_Barrel));
1943  map_of_MEs.insert(
1944  std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_highZPt_J_Barrel", mJetZBalance_highZPt_J_Barrel));
1945  map_of_MEs.insert(
1946  std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_lowZPt_J_EndCap", mJetZBalance_lowZPt_J_EndCap));
1947  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_mediumZPt_J_EndCap",
1948  mJetZBalance_mediumZPt_J_EndCap));
1949  map_of_MEs.insert(
1950  std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_highZPt_J_EndCap", mJetZBalance_highZPt_J_EndCap));
1951  map_of_MEs.insert(
1952  std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_lowZPt_J_Forward", mJetZBalance_lowZPt_J_Forward));
1953  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_mediumZPt_J_Forward",
1954  mJetZBalance_mediumZPt_J_Forward));
1955  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JZB_highZPt_J_Forward",
1956  mJetZBalance_highZPt_J_Forward));
1957 
1958  mJ1Pt_over_ZPt_J_Barrel = ibooker.book1D("J1Pt_over_ZPt_J_Barrel", "Jet1_Pt/ZPt, Barrel", 50, 0., 3.0);
1959  mJ1Pt_over_ZPt_J_EndCap = ibooker.book1D("J1Pt_over_ZPt_J_EndCap", "Jet1_Pt/ZPt, EndCap", 50, 0., 3.0);
1960  mJ1Pt_over_ZPt_J_Forward = ibooker.book1D("J1Pt_over_ZPt_J_Forward", "Jet1_Pt/ZPt, Forward", 50, 0., 3.0);
1961 
1962  map_of_MEs.insert(
1963  std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_J_Barrel", mJ1Pt_over_ZPt_J_Barrel));
1964  map_of_MEs.insert(
1965  std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_J_EndCap", mJ1Pt_over_ZPt_J_EndCap));
1966  map_of_MEs.insert(
1967  std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_J_Forward", mJ1Pt_over_ZPt_J_Forward));
1968 
1969  mJ1Pt_over_ZPt_lowZPt_J_Barrel =
1970  ibooker.book1D("J1Pt_over_ZPt_lowZPt_J_Barrel", "Jet1_Pt/ZPt (30<pTZ<90), |#eta_{jet}|<1.3", 50, 0., 3.0);
1971  mJ1Pt_over_ZPt_mediumZPt_J_Barrel =
1972  ibooker.book1D("J1Pt_over_ZPt_mediumZPt_J_Barrel", "Jet1_Pt/ZPt (90<pTZ<140), |#eta_{jet}|<1.3", 50, 0., 3.0);
1973  mJ1Pt_over_ZPt_highZPt_J_Barrel =
1974  ibooker.book1D("J1Pt_over_ZPt_highPt_J_Barrel", "Jet1_Pt/ZPt (pTZ>140), |#eta_{jet}|<1.3", 50, 0., 3.0);
1975  mJ1Pt_over_ZPt_lowZPt_J_EndCap =
1976  ibooker.book1D("J1Pt_over_ZPt_lowZPt_J_EndCap", "Jet1_Pt/ZPt (30<pTZ<90), 1.3<|#eta_{jet}|<3.0", 50, 0., 3.0);
1977  mJ1Pt_over_ZPt_mediumZPt_J_EndCap = ibooker.book1D(
1978  "J1Pt_over_ZPt_mediumZPt_J_EndCap", "Jet1_Pt/ZPt (90<pTZ<140), 1.3<|#eta_{jet}|<3.0", 50, 0., 3.0);
1979  mJ1Pt_over_ZPt_highZPt_J_EndCap =
1980  ibooker.book1D("J1Pt_over_ZPt_highZPt_J_EndCap", "Jet1_Pt/ZPt (pTZ>140), 1.3<|#eta_{jet}|<3.0", 50, 0., 3.0);
1981  mJ1Pt_over_ZPt_lowZPt_J_Forward =
1982  ibooker.book1D("J1Pt_over_ZPt_lowZPt_J_Forward", "Jet1_Pt/ZPt (30<pTZ<90), |#eta_{jet}|>3.0", 50, 0., 3.0);
1983  mJ1Pt_over_ZPt_mediumZPt_J_Forward =
1984  ibooker.book1D("J1Pt_over_ZPt_mediumPt_J_Forward", "Jet1_Pt/ZPt (90<pTZ<140), |#eta_{jet}|>3.0", 50, 0., 3.0);
1985  mJ1Pt_over_ZPt_highZPt_J_Forward =
1986  ibooker.book1D("J1Pt_over_ZPt_highZPt_J_Forward", "Jet1_Pt/ZPt (pTZ>140), |#eta_{jet}|>3.0", 50, 0., 3.0);
1987 
1988  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_lowZPt_J_Barrel",
1989  mJ1Pt_over_ZPt_lowZPt_J_Barrel));
1990  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_mediumZPt_J_Barrel",
1991  mJ1Pt_over_ZPt_mediumZPt_J_Barrel));
1992  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_highZPt_J_Barrel",
1993  mJ1Pt_over_ZPt_highZPt_J_Barrel));
1994  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_lowZPt_J_EndCap",
1995  mJ1Pt_over_ZPt_lowZPt_J_EndCap));
1996  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_mediumZPt_J_EndCap",
1997  mJ1Pt_over_ZPt_mediumZPt_J_EndCap));
1998  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_highZPt_J_EndCap",
1999  mJ1Pt_over_ZPt_highZPt_J_EndCap));
2000  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_lowZPt_J_Forward",
2001  mJ1Pt_over_ZPt_lowZPt_J_Forward));
2002  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_mediumZPt_J_Forward",
2003  mJ1Pt_over_ZPt_mediumZPt_J_Forward));
2004  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "J1Pt_over_ZPt_highZPt_J_Forward",
2005  mJ1Pt_over_ZPt_highZPt_J_Forward));
2006 
2007  mMPF_J_Barrel = ibooker.book1D("MPF_J_Barrel", "Jet1_Pt/ZPt, Barrel", 50, 0., 2.0);
2008  mMPF_J_EndCap = ibooker.book1D("MPF_J_EndCap", "Jet1_Pt/ZPt, EndCap", 50, 0., 2.0);
2009  mMPF_J_Forward = ibooker.book1D("MPF_J_Forward", "Jet1_Pt/ZPt, Forward", 50, 0., 2.0);
2010 
2011  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_J_Barrel", mMPF_J_Barrel));
2012  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_J_EndCap", mMPF_J_EndCap));
2013  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_J_Forward", mMPF_J_Forward));
2014 
2015  mMPF_lowZPt_J_Barrel =
2016  ibooker.book1D("MPF_lowZPt_J_Barrel", "Jet1_Pt/ZPt (30<pTZ<90), |#eta_{jet}|<1.3", 50, 0., 2.0);
2017  mMPF_mediumZPt_J_Barrel =
2018  ibooker.book1D("MPF_mediumZPt_J_Barrel", "Jet1_Pt/ZPt (90<pTZ<140), |#eta_{jet}|<1.3", 50, 0., 2.0);
2019  mMPF_highZPt_J_Barrel =
2020  ibooker.book1D("MPF_highPt_J_Barrel", "Jet1_Pt/ZPt (pTZ>140), |#eta_{jet}|<1.3", 50, 0., 2.0);
2021  mMPF_lowZPt_J_EndCap =
2022  ibooker.book1D("MPF_lowZPt_J_EndCap", "Jet1_Pt/ZPt (30<pTZ<90), 1.3<|#eta_{jet}|<3.0", 50, 0., 2.0);
2023  mMPF_mediumZPt_J_EndCap =
2024  ibooker.book1D("MPF_mediumZPt_J_EndCap", "Jet1_Pt/ZPt (90<pTZ<140), 1.3<|#eta_{jet}|<3.0", 50, 0., 2.0);
2025  mMPF_highZPt_J_EndCap =
2026  ibooker.book1D("MPF_highZPt_J_EndCap", "Jet1_Pt/ZPt (pTZ>140), 1.3<|#eta_{jet}|<3.0", 50, 0., 2.0);
2027  mMPF_lowZPt_J_Forward =
2028  ibooker.book1D("MPF_lowZPt_J_Forward", "Jet1_Pt/ZPt (30<pTZ<90), |#eta_{jet}|>3.0", 50, 0., 2.0);
2029  mMPF_mediumZPt_J_Forward =
2030  ibooker.book1D("MPF_mediumPt_J_Forward", "Jet1_Pt/ZPt (90<pTZ<140), |#eta_{jet}|>3.0", 50, 0., 2.0);
2031  mMPF_highZPt_J_Forward =
2032  ibooker.book1D("MPF_highZPt_J_Forward", "Jet1_Pt/ZPt (pTZ>140), |#eta_{jet}|>3.0", 50, 0., 2.0);
2033 
2034  map_of_MEs.insert(
2035  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_lowZPt_J_Barrel", mMPF_lowZPt_J_Barrel));
2036  map_of_MEs.insert(
2037  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_mediumZPt_J_Barrel", mMPF_mediumZPt_J_Barrel));
2038  map_of_MEs.insert(
2039  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_highZPt_J_Barrel", mMPF_highZPt_J_Barrel));
2040  map_of_MEs.insert(
2041  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_lowZPt_J_EndCap", mMPF_lowZPt_J_EndCap));
2042  map_of_MEs.insert(
2043  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_mediumZPt_J_EndCap", mMPF_mediumZPt_J_EndCap));
2044  map_of_MEs.insert(
2045  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_highZPt_J_EndCap", mMPF_highZPt_J_EndCap));
2046  map_of_MEs.insert(
2047  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_lowZPt_J_Forward", mMPF_lowZPt_J_Forward));
2048  map_of_MEs.insert(
2049  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_mediumZPt_J_Forward", mMPF_mediumZPt_J_Forward));
2050  map_of_MEs.insert(
2051  std::pair<std::string, MonitorElement*>(DirName + "/" + "MPF_highZPt_J_Forward", mMPF_highZPt_J_Forward));
2052 
2053  mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel =
2054  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);
2055  mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel =
2056  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);
2057  mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel = ibooker.book1D(
2058  "DeltaPt_Z_j1_over_ZPt_75_150_J_Barrel", "DeltaPt_Z_j1_over_ZPt_75_150_J_Barrel", 50, -1.00, 1.00);
2059  mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel = ibooker.book1D(
2060  "DeltaPt_Z_j1_over_ZPt_150_290_J_Barrel", "DeltaPt_Z_j1_over_ZPt_150_290_J_Barrel", 50, -1.00, 1.00);
2061  mDeltaPt_Z_j1_over_ZPt_290_J_Barrel =
2062  ibooker.book1D("DeltaPt_Z_j1_over_ZPt_290_J_Barrel", "DeltaPt_Z_j1_over_ZPt_290_J_Barrel", 50, -1.00, 1.00);
2063  mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap =
2064  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);
2065  mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap =
2066  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);
2067  mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap = ibooker.book1D(
2068  "DeltaPt_Z_j1_over_ZPt_75_150_J_EndCap", "DeltaPt_Z_j1_over_ZPt_75_150_J_EndCap", 50, -1.00, 1.00);
2069  mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap = ibooker.book1D(
2070  "DeltaPt_Z_j1_over_ZPt_150_290_J_EndCap", "DeltaPt_Z_j1_over_ZPt_150_290_J_EndCap", 50, -1.00, 1.00);
2071  mDeltaPt_Z_j1_over_ZPt_290_J_EndCap =
2072  ibooker.book1D("DeltaPt_Z_j1_over_ZPt_290_J_EndCap", "DeltaPt_Z_j1_over_ZPt_290_J_EndCap", 50, -1.00, 1.00);
2073  mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward = ibooker.book1D(
2074  "DeltaPt_Z_j1_over_ZPt_30_55_J_Forward", "DeltaPt_Z_j1_over_ZPt_30_55_J_Forward", 50, -1.00, 1.00);
2075  mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward = ibooker.book1D(
2076  "DeltaPt_Z_j1_over_ZPt_55_100_J_Forward", "DeltaPt_Z_j1_over_ZPt_55_100_J_Forward", 50, -1.00, 1.00);
2077  mDeltaPt_Z_j1_over_ZPt_100_J_Forward =
2078  ibooker.book1D("DeltaPt_Z_j1_over_ZPt_100_J_Forward", "DeltaPt_Z_j1_over_ZPt_100_J_Forward", 50, -1.00, 1.00);
2079 
2080  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_30_55_J_Barrel",
2081  mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel));
2082  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_55_75_J_Barrel",
2083  mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel));
2084  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_75_150_J_Barrel",
2085  mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel));
2086  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_150_290_J_Barrel",
2087  mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel));
2088  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_290_J_Barrel",
2089  mDeltaPt_Z_j1_over_ZPt_290_J_Barrel));
2090  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_30_55_J_EndCap",
2091  mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap));
2092  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_55_75_J_EndCap",
2093  mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap));
2094  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_75_150_J_EndCap",
2095  mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap));
2096  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_150_290_J_EndCap",
2097  mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap));
2098  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_290_J_EndCap",
2099  mDeltaPt_Z_j1_over_ZPt_290_J_EndCap));
2100  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_30_55_J_Forward",
2101  mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward));
2102  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_55_100_J_Forward",
2103  mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward));
2104  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DeltaPt_Z_j1_over_ZPt_100_J_Forward",
2105  mDeltaPt_Z_j1_over_ZPt_100_J_Forward));
2106  }
2107  // Book NPV profiles
2108  //----------------------------------------------------------------------------
2109  mPt_profile = ibooker.bookProfile("Pt_profile", "pt", nbinsPV_, nPVlow_, nPVhigh_, ptBin_, ptMin_, ptMax_);
2110  mEta_profile = ibooker.bookProfile("Eta_profile", "eta", nbinsPV_, nPVlow_, nPVhigh_, etaBin_, etaMin_, etaMax_);
2111  mPhi_profile = ibooker.bookProfile("Phi_profile", "phi", nbinsPV_, nPVlow_, nPVhigh_, phiBin_, phiMin_, phiMax_);
2112  //if(!isJPTJet_){
2113  mConstituents_profile =
2114  ibooker.bookProfile("Constituents_profile", "# of constituents", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
2115  //}
2116  // met NPV profiles x-axis title
2117  //----------------------------------------------------------------------------
2118  mPt_profile->setAxisTitle("nvtx", 1);
2119  mEta_profile->setAxisTitle("nvtx", 1);
2120  mPhi_profile->setAxisTitle("nvtx", 1);
2121  //if(!isJPTJet_){
2122  mConstituents_profile->setAxisTitle("nvtx", 1);
2123  map_of_MEs.insert(
2124  std::pair<std::string, MonitorElement*>(DirName + "/" + "Constituents_profile", mConstituents_profile));
2125  //}
2126 
2127  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_profile", mPt_profile));
2128  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta_profile", mEta_profile));
2129  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_profile", mPhi_profile));
2130  //
2131  //--- Calo jet melection only
2132 
2133  if (isCaloJet_) {
2134  mHFrac = ibooker.book1D("HFrac", "HFrac", 140, -0.2, 1.2);
2135  mEFrac = ibooker.book1D("EFrac", "EFrac", 140, -0.2, 1.2);
2136  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFrac", mHFrac));
2137  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EFrac", mEFrac));
2138 
2139  mHFrac_profile = ibooker.bookProfile("HFrac_profile", "HFrac", nbinsPV_, nPVlow_, nPVhigh_, 140, -0.2, 1.2);
2140  mEFrac_profile = ibooker.bookProfile("EFrac_profile", "EFrac", nbinsPV_, nPVlow_, nPVhigh_, 140, -0.2, 1.2);
2141  mHFrac_profile->setAxisTitle("nvtx", 1);
2142  mEFrac_profile->setAxisTitle("nvtx", 1);
2143  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFrac_profile", mHFrac_profile));
2144  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "EFrac_profile", mEFrac_profile));
2145 
2146  // CaloJet specific
2147  //JetID variables
2148  mresEMF = ibooker.book1D("resEMF", "resEMF", 50, 0., 1.);
2149  mN90Hits = ibooker.book1D("N90Hits", "N90Hits", 50, 0., 100);
2150  mfHPD = ibooker.book1D("fHPD", "fHPD", 50, 0., 1.);
2151  mfRBX = ibooker.book1D("fRBX", "fRBX", 50, 0., 1.);
2152 
2153  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "resEMF", mresEMF));
2154  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "N90Hits", mN90Hits));
2155  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "fHPD", mfHPD));
2156  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "fRBX", mfRBX));
2157  }
2158 
2159  if (isPFJet_ || isMiniAODJet_) {
2160  //barrel histograms for PFJets
2161  // energy fractions
2162  mCHFrac = ibooker.book1D("CHFrac", "CHFrac", 120, -0.1, 1.1);
2163  mNHFrac = ibooker.book1D("NHFrac", "NHFrac", 120, -0.1, 1.1);
2164  mPhFrac = ibooker.book1D("PhFrac", "PhFrac", 120, -0.1, 1.1);
2165  mHFEMFrac = ibooker.book1D("HFEMFrac", "HFEMFrac", 120, -0.1, 1.1);
2166  mHFHFrac = ibooker.book1D("HFHFrac", "HFHFrac", 120, -0.1, 1.1);
2167 
2168  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFrac", mCHFrac));
2169  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFrac", mNHFrac));
2170  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFrac", mPhFrac));
2171  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEMFrac", mHFEMFrac));
2172  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFrac", mHFHFrac));
2173 
2174  // Book NPV profiles
2175  //----------------------------------------------------------------------------
2176  mCHFrac_profile =
2177  ibooker.bookProfile("CHFrac_profile", "charged HAD fraction profile", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 1);
2178  mNHFrac_profile =
2179  ibooker.bookProfile("NHFrac_profile", "neutral HAD fraction profile", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 1);
2180  mPhFrac_profile =
2181  ibooker.bookProfile("PhFrac_profile", "Photon Fraction Profile", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 1);
2182  mHFEMFrac_profile = ibooker.bookProfile(
2183  "HFEMFrac_profile", "HF electomagnetic fraction Profile", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 1);
2184  mHFHFrac_profile =
2185  ibooker.bookProfile("HFHFrac_profile", "HF hadronic fraction profile", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 1);
2186 
2187  // met NPV profiles x-axis title
2188  //----------------------------------------------------------------------------
2189  mCHFrac_profile->setAxisTitle("nvtx", 1);
2190  mNHFrac_profile->setAxisTitle("nvtx", 1);
2191  mPhFrac_profile->setAxisTitle("nvtx", 1);
2192  mHFEMFrac_profile->setAxisTitle("nvtx", 1);
2193  mHFHFrac_profile->setAxisTitle("nvtx", 1);
2194 
2195  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "CHFrac_profile", mCHFrac_profile));
2196  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NHFrac_profile", mNHFrac_profile));
2197  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhFrac_profile", mPhFrac_profile));
2198  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFEMFrac_profile", mHFEMFrac_profile));
2199  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "HFHFrac_profile", mHFHFrac_profile));
2200  }
2201 }
2202 
2203 // ***********************************************************
2204 void JetAnalyzer::dqmBeginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) {
2205  //LogDebug("JetAnalyzer") << "beginRun, run " << run.id();
2206  //
2207 
2208  if (highPtJetEventFlag_->on())
2209  highPtJetEventFlag_->initRun(iRun, iSetup);
2210  if (lowPtJetEventFlag_->on())
2211  lowPtJetEventFlag_->initRun(iRun, iSetup);
2212 
2213  if (highPtJetEventFlag_->on() &&
2214  highPtJetEventFlag_->expressionsFromDB(highPtJetEventFlag_->hltDBKey(), iSetup)[0] != "CONFIG_ERROR")
2215  highPtJetExpr_ = highPtJetEventFlag_->expressionsFromDB(highPtJetEventFlag_->hltDBKey(), iSetup);
2216  if (lowPtJetEventFlag_->on() &&
2217  lowPtJetEventFlag_->expressionsFromDB(lowPtJetEventFlag_->hltDBKey(), iSetup)[0] != "CONFIG_ERROR")
2218  lowPtJetExpr_ = lowPtJetEventFlag_->expressionsFromDB(lowPtJetEventFlag_->hltDBKey(), iSetup);
2219  // if (!jetCorrectionService_.empty()){
2220  // energycorrected=true;
2221  // }
2222  //--- htlConfig_
2223  //processname_="HLT";
2224  bool changed(true);
2225  hltInitialized_ = hltConfig_.init(iRun, iSetup, processname_, changed);
2226  if (!hltInitialized_) {
2227  //if (!hltConfig_.init(iRun,iSetup,processname_,changed)) {
2228  processname_ = "FU";
2229  hltInitialized_ = hltConfig_.init(iRun, iSetup, processname_, changed);
2230  if (!hltInitialized_) {
2231  //if (!hltConfig_.init(iRun,iSetup,processname_,changed)){
2232  LogDebug("JetAnalyzer") << "HLTConfigProvider failed to initialize.";
2233  }
2234  }
2235 
2237  iSetup.get<L1GtTriggerMenuRcd>().get(menuRcd);
2238  const L1GtTriggerMenu* menu = menuRcd.product();
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  mEta = map_of_MEs[DirName + "/" + "Eta"];
3902  if (mEta && mEta->getRootObject())
3903  mEta->Fill(correctedJet.eta());
3904  mPhi = map_of_MEs[DirName + "/" + "Phi"];
3905  if (mPhi && mPhi->getRootObject())
3906  mPhi->Fill(correctedJet.phi());
3907 
3908  mPhiVSEta = map_of_MEs[DirName + "/" + "PhiVSEta"];
3909  if (mPhiVSEta && mPhiVSEta->getRootObject())
3910  mPhiVSEta->Fill(correctedJet.eta(), correctedJet.phi());
3911  //if(!isJPTJet_){
3912  float nConstituents = correctedJet.nConstituents();
3913  mConstituents = map_of_MEs[DirName + "/" + "Constituents"];
3914  if (mConstituents && mConstituents->getRootObject())
3915  mConstituents->Fill(nConstituents);
3916  //}
3917  // Fill NPV profiles
3918  //--------------------------------------------------------------------
3919  mPt_profile = map_of_MEs[DirName + "/" + "Pt_profile"];
3920  if (mPt_profile && mPt_profile->getRootObject())
3921  mPt_profile->Fill(numPV, correctedJet.pt());
3922  mEta_profile = map_of_MEs[DirName + "/" + "Eta_profile"];
3923  if (mEta_profile && mEta_profile->getRootObject())
3924  mEta_profile->Fill(numPV, correctedJet.eta());
3925  mPhi_profile = map_of_MEs[DirName + "/" + "Phi_profile"];
3926  if (mPhi_profile && mPhi_profile->getRootObject())
3927  mPhi_profile->Fill(numPV, correctedJet.phi());
3928  //if(!isJPTJet_){
3929  mConstituents_profile = map_of_MEs[DirName + "/" + "Constituents_profile"];
3930  if (mConstituents_profile && mConstituents_profile->getRootObject())
3931  mConstituents_profile->Fill(numPV, nConstituents);
3932  //}
3933  if (fabs(correctedJet.eta()) <= 1.3) {
3934  mPt_Barrel = map_of_MEs[DirName + "/" + "Pt_Barrel"];
3935  if (mPt_Barrel && mPt_Barrel->getRootObject())
3936  mPt_Barrel->Fill(correctedJet.pt());
3937  mPhi_Barrel = map_of_MEs[DirName + "/" + "Phi_Barrel"];
3938  if (mPhi_Barrel && mPhi_Barrel->getRootObject())
3939  mPhi_Barrel->Fill(correctedJet.phi());
3940  //if (mE_Barrel) mE_Barrel->Fill (correctedJet.energy());
3941  //if(!isJPTJet_){
3942  mConstituents_Barrel = map_of_MEs[DirName + "/" + "Constituents_Barrel"];
3943  if (mConstituents_Barrel && mConstituents_Barrel->getRootObject())
3944  mConstituents_Barrel->Fill(nConstituents);
3945  //}
3946  } else if (fabs(correctedJet.eta()) <= 3) {
3947  mPt_EndCap = map_of_MEs[DirName + "/" + "Pt_EndCap"];
3948  if (mPt_EndCap && mPt_EndCap->getRootObject())
3949  mPt_EndCap->Fill(correctedJet.pt());
3950  mPhi_EndCap = map_of_MEs[DirName + "/" + "Phi_EndCap"];
3951  if (mPhi_EndCap && mPhi_EndCap->getRootObject())
3952  mPhi_EndCap->Fill(correctedJet.phi());
3953  //if (mE_EndCap) mE_EndCap->Fill (correctedJet.energy());
3954  //if(!isJPTJet_){
3955  mConstituents_EndCap = map_of_MEs[DirName + "/" + "Constituents_EndCap"];
3956  if (mConstituents_EndCap && mConstituents_EndCap->getRootObject())
3957  mConstituents_EndCap->Fill(nConstituents);
3958  //}
3959  } else {
3960  mPt_Forward = map_of_MEs[DirName + "/" + "Pt_Forward"];
3961  if (mPt_Forward && mPt_Forward->getRootObject())
3962  mPt_Forward->Fill(correctedJet.pt());
3963  mPhi_Forward = map_of_MEs[DirName + "/" + "Phi_Forward"];
3964  if (mPhi_Forward && mPhi_Forward->getRootObject())
3965  mPhi_Forward->Fill(correctedJet.phi());
3966  //if (mE_Forward) mE_Forward->Fill (correctedJet.energy());
3967  //if(!isJPTJet_){
3968  mConstituents_Forward = map_of_MEs[DirName + "/" + "Constituents_Forward"];
3969  if (mConstituents_Forward && mConstituents_Forward->getRootObject())
3970  mConstituents_Forward->Fill(nConstituents);
3971  //}
3972  }
3973  } // pass ID for corrected jets --> inclusive selection
3974  } //loop over uncorrected jets
3975 
3976  mNJets = map_of_MEs[DirName + "/" + "NJets"];
3977  if (mNJets && mNJets->getRootObject())
3978  mNJets->Fill(numofjets);
3979  mNJets_profile = map_of_MEs[DirName + "/" + "NJets_profile"];
3980  if (mNJets_profile && mNJets_profile->getRootObject())
3981  mNJets_profile->Fill(numPV, numofjets);
3982 
3983  sort(recoJets.begin(), recoJets.end(), jetSortingRule);
3984 
3985  //for non dijet selection, otherwise numofjets==0
3986  if (numofjets > 0) { //keep threshold for dijet counting at the original one
3987  //check ID of the leading jet
3988 
3989  if (cleaned_first_jet) {
3990  mEtaFirst = map_of_MEs[DirName + "/" + "EtaFirst"];
3991  if (mEtaFirst && mEtaFirst->getRootObject())
3992  mEtaFirst->Fill((recoJets)[0].eta());
3993  mPhiFirst = map_of_MEs[DirName + "/" + "PhiFirst"];
3994  if (mPhiFirst && mPhiFirst->getRootObject())
3995  mPhiFirst->Fill((recoJets)[0].phi());
3996  mPtFirst = map_of_MEs[DirName + "/" + "PtFirst"];
3997  if (mPtFirst && mPtFirst->getRootObject())
3998  mPtFirst->Fill((recoJets)[0].pt());
3999  //check ID of second check for DPhi plots
4000  if (numofjets > 1 && cleaned_second_jet) {
4001  double dphi = fabs((recoJets)[0].phi() - (recoJets)[1].phi());
4002  if (dphi > acos(-1.)) {
4003  dphi = 2 * acos(-1.) - dphi;
4004  }
4005  mDPhi = map_of_MEs[DirName + "/" + "DPhi"];
4006  if (mDPhi && mDPhi->getRootObject())
4007  mDPhi->Fill(dphi);
4008  }
4009  }
4010  //if(cleaned_second_jet && isJPTJet_){
4011  //mPtSecond = map_of_MEs[DirName+"/"+"PtSecond"]; if (mPtSecond && mPtSecond->getRootObject()) mPtSecond->Fill(recoJets[1].pt());
4012  //}
4013  //if(cleaned_third_jet && isJPTJet_){
4014  //mPtThird = map_of_MEs[DirName+"/"+"PtThird"]; if (mPtThird && mPtThird->getRootObject()) mPtThird->Fill(recoJets[2].pt());
4015  //}
4016  }
4017  //dijet selection -> recoJets are on corrected level, both jets cleaned, fill folder only for cleaned jet selection
4018  if (jetCleaningFlag_ && recoJets.size() > 1 && cleaned_first_jet && cleaned_second_jet) {
4019  //pt threshold checked before filling
4020  if (jetCleaningFlag_) {
4021  DirName = "JetMET/Jet/Cleaned" + mInputCollection_.label() + "/DiJet";
4022  }
4023  //if(fabs(recoJets[0].eta())<3. && fabs(recoJets[1].eta())<3. ){
4024  //calculate dphi
4025  double dphi = fabs((recoJets)[0].phi() - (recoJets)[1].phi());
4026  if (dphi > acos(-1.)) {
4027  dphi = 2 * acos(-1.) - dphi;
4028  }
4029  mDPhi = map_of_MEs[DirName + "/" + "DPhi"];
4030  if (mDPhi && mDPhi->getRootObject())
4031  if (mDPhi)
4032  mDPhi->Fill(dphi);
4033  //dphi cut
4034  if (fabs(dphi) > 2.1) {
4035  if (isCaloJet_) {
4036  if (!runcosmics_) {
4037  reco::CaloJetRef calojetref1(caloJets, ind1);
4038  reco::JetID jetID1 = (*jetID_ValueMap_Handle)[calojetref1];
4039  reco::CaloJetRef calojetref2(caloJets, ind2);
4040  reco::JetID jetID2 = (*jetID_ValueMap_Handle)[calojetref2];
4041  mN90Hits = map_of_MEs[DirName + "/" + "N90Hits"];
4042  if (mN90Hits && mN90Hits->getRootObject())
4043  mN90Hits->Fill(jetID1.n90Hits);
4044  mfHPD = map_of_MEs[DirName + "/" + "fHPD"];
4045  if (mfHPD && mfHPD->getRootObject())
4046  mfHPD->Fill(jetID1.fHPD);
4047  mresEMF = map_of_MEs[DirName + "/" + "resEMF"];
4048  if (mresEMF && mresEMF->getRootObject())
4049  mresEMF->Fill(jetID1.restrictedEMF);
4050  mfRBX = map_of_MEs[DirName + "/" + "fRBX"];
4051  if (mfRBX && mfRBX->getRootObject())
4052  mfRBX->Fill(jetID1.fRBX);
4053  mN90Hits = map_of_MEs[DirName + "/" + "N90Hits"];
4054  if (mN90Hits && mN90Hits->getRootObject())
4055  mN90Hits->Fill(jetID2.n90Hits);
4056  mfHPD = map_of_MEs[DirName + "/" + "fHPD"];
4057  if (mfHPD && mfHPD->getRootObject())
4058  mfHPD->Fill(jetID2.fHPD);
4059  mresEMF = map_of_MEs[DirName + "/" + "resEMF"];
4060  if (mresEMF && mresEMF->getRootObject())
4061  mresEMF->Fill(jetID2.restrictedEMF);
4062  mfRBX = map_of_MEs[DirName + "/" + "fRBX"];
4063  if (mfRBX && mfRBX->getRootObject())
4064  mfRBX->Fill(jetID2.fRBX);
4065  }
4066  mHFrac = map_of_MEs[DirName + "/" + "HFrac"];
4067  if (mHFrac && mHFrac->getRootObject())
4068  mHFrac->Fill((*caloJets)[ind1].energyFractionHadronic());
4069  mEFrac = map_of_MEs[DirName + "/" + "EFrac"];
4070  if (mEFrac && mHFrac->getRootObject())
4071  mEFrac->Fill((*caloJets)[ind1].emEnergyFraction());
4072  mHFrac = map_of_MEs[DirName + "/" + "HFrac"];
4073  if (mHFrac && mHFrac->getRootObject())
4074  mHFrac->Fill((*caloJets)[ind2].energyFractionHadronic());
4075  mEFrac = map_of_MEs[DirName + "/" + "EFrac"];
4076  if (mEFrac && mHFrac->getRootObject())
4077  mEFrac->Fill((*caloJets)[ind2].emEnergyFraction());
4078  mHFrac_profile = map_of_MEs[DirName + "/" + "HFrac_profile"];
4079  if (mHFrac_profile && mHFrac_profile->getRootObject())
4080  mHFrac_profile->Fill(numPV, (*caloJets)[ind1].energyFractionHadronic());
4081  mEFrac_profile = map_of_MEs[DirName + "/" + "EFrac_profile"];
4082  if (mEFrac_profile && mEFrac_profile->getRootObject())
4083  mEFrac_profile->Fill(numPV, (*caloJets)[ind1].emEnergyFraction());
4084  mHFrac_profile = map_of_MEs[DirName + "/" + "HFrac_profile"];
4085  if (mHFrac_profile && mHFrac_profile->getRootObject())
4086  mHFrac_profile->Fill(numPV, (*caloJets)[ind2].energyFractionHadronic());
4087  mEFrac_profile = map_of_MEs[DirName + "/" + "EFrac_profile"];
4088  if (mEFrac_profile && mEFrac_profile->getRootObject())
4089  mEFrac_profile->Fill(numPV, (*caloJets)[ind2].emEnergyFraction());
4090 
4091  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4092  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4093  mJetEnergyCorr->Fill(recoJets[0].pt() / (*caloJets)[ind1].pt());
4094  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4095  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4096  mJetEnergyCorrVSEta->Fill(recoJets[0].eta(), recoJets[0].pt() / (*caloJets)[ind1].pt());
4097  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4098  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4099  mJetEnergyCorrVSPt->Fill(recoJets[0].pt(), recoJets[0].pt() / (*caloJets)[ind1].pt());
4100  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4101  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4102  mJetEnergyCorr->Fill(recoJets[1].pt() / (*caloJets)[ind2].pt());
4103  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4104  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4105  mJetEnergyCorrVSEta->Fill(recoJets[1].eta(), recoJets[1].pt() / (*caloJets)[ind2].pt());
4106  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4107  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4108  mJetEnergyCorrVSPt->Fill(recoJets[1].pt(), recoJets[1].pt() / (*caloJets)[ind2].pt());
4109  }
4110  //if(isJPTJet_){
4111  //mHFrac = map_of_MEs[DirName+"/"+"HFrac"]; if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*jptJets)[ind1].chargedHadronEnergyFraction()+(*jptJets)[ind1].neutralHadronEnergyFraction());
4112  //mEFrac = map_of_MEs[DirName+"/"+"EFrac"]; if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill (1.-(*jptJets)[ind1].chargedHadronEnergyFraction()-(*jptJets)[ind1].neutralHadronEnergyFraction());
4113  //mHFrac_profile = map_of_MEs[DirName+"/"+"HFrac_profile"]; mHFrac_profile ->Fill(numPV, (*jptJets)[ind1].chargedHadronEnergyFraction()+(*jptJets)[ind1].neutralHadronEnergyFraction());
4114  //mEFrac_profile = map_of_MEs[DirName+"/"+"EFrac_profile"]; mEFrac_profile ->Fill(numPV, 1.-(*jptJets)[ind1].chargedHadronEnergyFraction()-(*jptJets)[ind1].neutralHadronEnergyFraction());
4115  //mHFrac = map_of_MEs[DirName+"/"+"HFrac"]; if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*jptJets)[ind2].chargedHadronEnergyFraction()+(*jptJets)[ind2].neutralHadronEnergyFraction());
4116  //mEFrac = map_of_MEs[DirName+"/"+"EFrac"]; if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill (1.-(*jptJets)[ind2].chargedHadronEnergyFraction()-(*jptJets)[ind2].neutralHadronEnergyFraction());
4117  //mHFrac_profile = map_of_MEs[DirName+"/"+"HFrac_profile"]; mHFrac_profile ->Fill(numPV, (*jptJets)[ind2].chargedHadronEnergyFraction()+(*jptJets)[ind2].neutralHadronEnergyFraction());
4118  //mEFrac_profile = map_of_MEs[DirName+"/"+"EFrac_profile"]; mEFrac_profile ->Fill(numPV, 1.-(*jptJets)[ind2].chargedHadronEnergyFraction()-(*jptJets)[ind2].neutralHadronEnergyFraction());
4119  //
4120  //mJetEnergyCorr = map_of_MEs[DirName+"/"+"JetEnergyCorr"]; if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[0].pt()/(*jptJets)[ind1].pt());
4121  //mJetEnergyCorrVSEta = map_of_MEs[DirName+"/"+"JetEnergyCorrVSEta"]; if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[0].eta(),recoJets[0].pt()/(*jptJets)[ind1].pt());
4122  //mJetEnergyCorrVSPt = map_of_MEs[DirName+"/"+"JetEnergyCorrVSPt"]; if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[0].pt(),recoJets[0].pt()/(*jptJets)[ind1].pt());
4123  //mJetEnergyCorr = map_of_MEs[DirName+"/"+"JetEnergyCorr"]; if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[1].pt()/(*jptJets)[ind2].pt());
4124  //mJetEnergyCorrVSEta = map_of_MEs[DirName+"/"+"JetEnergyCorrVSEta"]; if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[1].eta(),recoJets[1].pt()/(*jptJets)[ind2].pt());
4125  //mJetEnergyCorrVSPt = map_of_MEs[DirName+"/"+"JetEnergyCorrVSPt"]; if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[1].pt(),recoJets[1].pt()/(*jptJets)[ind2].pt());
4126  //}
4127  if (isPFJet_) {
4128  mCHFrac = map_of_MEs[DirName + "/" + "CHFrac"];
4129  if (mCHFrac && mCHFrac->getRootObject())
4130  mCHFrac->Fill((*pfJets)[ind1].chargedHadronEnergyFraction());
4131  mNHFrac = map_of_MEs[DirName + "/" + "NHFrac"];
4132  if (mNHFrac && mNHFrac->getRootObject())
4133  mNHFrac->Fill((*pfJets)[ind1].neutralHadronEnergyFraction());
4134  mPhFrac = map_of_MEs[DirName + "/" + "PhFrac"];
4135  if (mPhFrac && mPhFrac->getRootObject())
4136  mPhFrac->Fill((*pfJets)[ind1].neutralEmEnergyFraction());
4137  mHFEMFrac = map_of_MEs[DirName + "/" + "HFEMFrac"];
4138  if (mHFEMFrac && mHFEMFrac->getRootObject())
4139  mHFEMFrac->Fill((*pfJets)[ind1].HFEMEnergyFraction());
4140  mHFHFrac = map_of_MEs[DirName + "/" + "HFHFrac"];
4141  if (mHFHFrac && mHFHFrac->getRootObject())
4142  mHFHFrac->Fill((*pfJets)[ind1].HFHadronEnergyFraction());
4143 
4144  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4145  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4146  mJetEnergyCorr->Fill(recoJets[0].pt() / (*pfJets)[ind1].pt());
4147  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4148  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4149  mJetEnergyCorrVSEta->Fill(recoJets[0].eta(), recoJets[0].pt() / (*pfJets)[ind1].pt());
4150  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4151  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4152  mJetEnergyCorrVSPt->Fill(recoJets[0].pt(), recoJets[0].pt() / (*pfJets)[ind1].pt());
4153  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4154  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4155  mJetEnergyCorr->Fill(recoJets[1].pt() / (*pfJets)[ind2].pt());
4156  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4157  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4158  mJetEnergyCorrVSEta->Fill(recoJets[1].eta(), recoJets[1].pt() / (*pfJets)[ind2].pt());
4159  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4160  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4161  mJetEnergyCorrVSPt->Fill(recoJets[1].pt(), recoJets[1].pt() / (*pfJets)[ind2].pt());
4162 
4163  mChargedMultiplicity = map_of_MEs[DirName + "/" + "ChargedMultiplicity"];
4164  if (mChargedMultiplicity && mChargedMultiplicity->getRootObject())
4165  mChargedMultiplicity->Fill((*pfJets)[ind1].chargedMultiplicity());
4166  mNeutralMultiplicity = map_of_MEs[DirName + "/" + "NeutralMultiplicity"];
4167  if (mNeutralMultiplicity && mNeutralMultiplicity->getRootObject())
4168  mNeutralMultiplicity->Fill((*pfJets)[ind1].neutralMultiplicity());
4169  mMuonMultiplicity = map_of_MEs[DirName + "/" + "MuonMultiplicity"];
4170  if (mMuonMultiplicity && mMuonMultiplicity->getRootObject())
4171  mMuonMultiplicity->Fill((*pfJets)[ind1].muonMultiplicity());
4172  //Filling variables for second jet
4173  mCHFrac = map_of_MEs[DirName + "/" + "CHFrac"];
4174  if (mCHFrac && mCHFrac->getRootObject())
4175  mCHFrac->Fill((*pfJets)[ind2].chargedHadronEnergyFraction());
4176  mNHFrac = map_of_MEs[DirName + "/" + "NHFrac"];
4177  if (mNHFrac && mNHFrac->getRootObject())
4178  mNHFrac->Fill((*pfJets)[ind2].neutralHadronEnergyFraction());
4179  mPhFrac = map_of_MEs[DirName + "/" + "PhFrac"];
4180  if (mPhFrac && mPhFrac->getRootObject())
4181  mPhFrac->Fill((*pfJets)[ind2].neutralEmEnergyFraction());
4182  mHFEMFrac = map_of_MEs[DirName + "/" + "HFEMFrac"];
4183  if (mHFEMFrac && mHFEMFrac->getRootObject())
4184  mHFEMFrac->Fill((*pfJets)[ind2].HFEMEnergyFraction());
4185  mHFHFrac = map_of_MEs[DirName + "/" + "HFHFrac"];
4186  if (mHFHFrac && mHFHFrac->getRootObject())
4187  mHFHFrac->Fill((*pfJets)[ind2].HFHadronEnergyFraction());
4188 
4189  mNeutralFraction = map_of_MEs[DirName + "/" + "NeutralConstituentsFraction"];
4190  if (mNeutralFraction && mNeutralFraction->getRootObject())
4191  mNeutralFraction->Fill((double)(*pfJets)[ind1].neutralMultiplicity() /
4192  (double)(*pfJets)[ind1].nConstituents());
4193 
4194  mChargedMultiplicity = map_of_MEs[DirName + "/" + "ChargedMultiplicity"];
4195  if (mChargedMultiplicity && mChargedMultiplicity->getRootObject())
4196  mChargedMultiplicity->Fill((*pfJets)[ind2].chargedMultiplicity());
4197  mNeutralMultiplicity = map_of_MEs[DirName + "/" + "NeutralMultiplicity"];
4198  if (mNeutralMultiplicity && mNeutralMultiplicity->getRootObject())
4199  mNeutralMultiplicity->Fill((*pfJets)[ind2].neutralMultiplicity());
4200  mMuonMultiplicity = map_of_MEs[DirName + "/" + "MuonMultiplicity"];
4201  if (mMuonMultiplicity && mMuonMultiplicity->getRootObject())
4202  mMuonMultiplicity->Fill((*pfJets)[ind2].muonMultiplicity());
4203 
4204  //now fill PFJet profiles for leading jet
4205  mCHFrac_profile = map_of_MEs[DirName + "/" + "CHFrac_profile"];
4206  if (mCHFrac_profile && mCHFrac_profile->getRootObject())
4207  mCHFrac_profile->Fill(numPV, (*pfJets)[ind1].chargedHadronEnergyFraction());
4208  mNHFrac_profile = map_of_MEs[DirName + "/" + "NHFrac_profile"];
4209  if (mNHFrac_profile && mNHFrac_profile->getRootObject())
4210  mNHFrac_profile->Fill(numPV, (*pfJets)[ind1].neutralHadronEnergyFraction());
4211  mPhFrac_profile = map_of_MEs[DirName + "/" + "PhFrac_profile"];
4212  if (mPhFrac_profile && mPhFrac_profile->getRootObject())
4213  mPhFrac_profile->Fill(numPV, (*pfJets)[ind1].neutralEmEnergyFraction());
4214  mHFEMFrac_profile = map_of_MEs[DirName + "/" + "HFEMFrac_profile"];
4215  if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject())
4216  mHFEMFrac_profile->Fill(numPV, (*pfJets)[ind1].HFEMEnergyFraction());
4217  mHFHFrac_profile = map_of_MEs[DirName + "/" + "HFHFrac_profile"];
4218  if (mHFHFrac_profile && mHFHFrac_profile->getRootObject())
4219  mHFHFrac_profile->Fill(numPV, (*pfJets)[ind1].HFHadronEnergyFraction());
4220 
4221  mNeutralFraction = map_of_MEs[DirName + "/" + "NeutralConstituentsFraction"];
4222  if (mNeutralFraction && mNeutralFraction->getRootObject())
4223  mNeutralFraction->Fill((double)(*pfJets)[ind2].neutralMultiplicity() /
4224  (double)(*pfJets)[ind2].nConstituents());
4225 
4226  mChargedMultiplicity_profile = map_of_MEs[DirName + "/" + "ChargedMultiplicity_profile"];
4227  if (mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject())
4228  mChargedMultiplicity_profile->Fill(numPV, (*pfJets)[ind1].chargedMultiplicity());
4229  mNeutralMultiplicity_profile = map_of_MEs[DirName + "/" + "NeutralMultiplicity_profile"];
4230  if (mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject())
4231  mNeutralMultiplicity_profile->Fill(numPV, (*pfJets)[ind1].neutralMultiplicity());
4232  mMuonMultiplicity_profile = map_of_MEs[DirName + "/" + "MuonMultiplicity_profile"];
4233  if (mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject())
4234  mMuonMultiplicity->Fill(numPV, (*pfJets)[ind1].muonMultiplicity());
4235  //now fill PFJet profiles for second leading jet
4236  mCHFrac_profile = map_of_MEs[DirName + "/" + "CHFrac_profile"];
4237  if (mCHFrac_profile && mCHFrac_profile->getRootObject())
4238  mCHFrac_profile->Fill(numPV, (*pfJets)[ind2].chargedHadronEnergyFraction());
4239  mNHFrac_profile = map_of_MEs[DirName + "/" + "NHFrac_profile"];
4240  if (mNHFrac_profile && mNHFrac_profile->getRootObject())
4241  mNHFrac_profile->Fill(numPV, (*pfJets)[ind2].neutralHadronEnergyFraction());
4242  mPhFrac_profile = map_of_MEs[DirName + "/" + "PhFrac_profile"];
4243  if (mPhFrac_profile && mPhFrac_profile->getRootObject())
4244  mPhFrac_profile->Fill(numPV, (*pfJets)[ind2].neutralEmEnergyFraction());
4245  mHFEMFrac_profile = map_of_MEs[DirName + "/" + "HFEMFrac_profile"];
4246  if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject())
4247  mHFEMFrac_profile->Fill(numPV, (*pfJets)[ind2].HFEMEnergyFraction());
4248  mHFHFrac_profile = map_of_MEs[DirName + "/" + "HFHFrac_profile"];
4249  if (mHFHFrac_profile && mHFHFrac_profile->getRootObject())
4250  mHFHFrac_profile->Fill(numPV, (*pfJets)[ind2].HFHadronEnergyFraction());
4251 
4252  mChargedMultiplicity_profile = map_of_MEs[DirName + "/" + "ChargedMultiplicity_profile"];
4253  if (mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject())
4254  mChargedMultiplicity_profile->Fill(numPV, (*pfJets)[ind2].chargedMultiplicity());
4255  mNeutralMultiplicity_profile = map_of_MEs[DirName + "/" + "NeutralMultiplicity_profile"];
4256  if (mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject())
4257  mNeutralMultiplicity_profile->Fill(numPV, (*pfJets)[ind2].neutralMultiplicity());
4258  mMuonMultiplicity_profile = map_of_MEs[DirName + "/" + "MuonMultiplicity_profile"];
4259  if (mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject())
4260  mMuonMultiplicity_profile->Fill(numPV, (*pfJets)[ind2].muonMultiplicity());
4261 
4262  int QGmulti = -1;
4263  float QGLikelihood = -10;
4264  float QGptD = -10;
4265  float QGaxis2 = -10;
4266  if (fill_CHS_histos) {
4267  reco::PFJetRef pfjetref(pfJets, ind1);
4268  QGmulti = (*qgMultiplicity)[pfjetref];
4269  QGLikelihood = (*qgLikelihood)[pfjetref];
4270  QGptD = (*qgptD)[pfjetref];
4271  QGaxis2 = (*qgaxis2)[pfjetref];
4272  if (fabs(recoJets[0].eta()) < 1.3) { //barrel jets
4273  //fractions for barrel
4274  if (recoJets[0].pt() >= 20. && recoJets[0].pt() <= 50.) {
4275  mAxis2_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Barrel"];
4276  if (mAxis2_lowPt_Barrel && mAxis2_lowPt_Barrel->getRootObject())
4277  mAxis2_lowPt_Barrel->Fill(QGaxis2);
4278  mpTD_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Barrel"];
4279  if (mpTD_lowPt_Barrel && mpTD_lowPt_Barrel->getRootObject())
4280  mpTD_lowPt_Barrel->Fill(QGptD);
4281  mMultiplicityQG_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Barrel"];
4282  if (mMultiplicityQG_lowPt_Barrel && mMultiplicityQG_lowPt_Barrel->getRootObject())
4283  mMultiplicityQG_lowPt_Barrel->Fill(QGmulti);
4284  mqgLikelihood_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Barrel"];
4285  if (mqgLikelihood_lowPt_Barrel && mqgLikelihood_lowPt_Barrel->getRootObject())
4286  mqgLikelihood_lowPt_Barrel->Fill(QGLikelihood);
4287  }
4288  if (recoJets[0].pt() > 50. && recoJets[0].pt() <= 140.) {
4289  mAxis2_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Barrel"];
4290  if (mAxis2_mediumPt_Barrel && mAxis2_mediumPt_Barrel->getRootObject())
4291  mAxis2_mediumPt_Barrel->Fill(QGaxis2);
4292  mpTD_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Barrel"];
4293  if (mpTD_mediumPt_Barrel && mpTD_mediumPt_Barrel->getRootObject())
4294  mpTD_mediumPt_Barrel->Fill(QGptD);
4295  mMultiplicityQG_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Barrel"];
4296  if (mMultiplicityQG_mediumPt_Barrel && mMultiplicityQG_mediumPt_Barrel->getRootObject())
4297  mMultiplicityQG_mediumPt_Barrel->Fill(QGmulti);
4298  mqgLikelihood_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Barrel"];
4299  if (mqgLikelihood_mediumPt_Barrel && mqgLikelihood_mediumPt_Barrel->getRootObject())
4300  mqgLikelihood_mediumPt_Barrel->Fill(QGLikelihood);
4301  }
4302  if (recoJets[0].pt() > 140.) {
4303  mAxis2_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Barrel"];
4304  if (mAxis2_highPt_Barrel && mAxis2_highPt_Barrel->getRootObject())
4305  mAxis2_highPt_Barrel->Fill(QGaxis2);
4306  mpTD_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Barrel"];
4307  if (mpTD_highPt_Barrel && mpTD_highPt_Barrel->getRootObject())
4308  mpTD_highPt_Barrel->Fill(QGptD);
4309  mMultiplicityQG_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Barrel"];
4310  if (mMultiplicityQG_highPt_Barrel && mMultiplicityQG_highPt_Barrel->getRootObject())
4311  mMultiplicityQG_highPt_Barrel->Fill(QGmulti);
4312  mqgLikelihood_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Barrel"];
4313  if (mqgLikelihood_highPt_Barrel && mqgLikelihood_highPt_Barrel->getRootObject())
4314  mqgLikelihood_highPt_Barrel->Fill(QGLikelihood);
4315  }
4316  } else if (fabs(recoJets[0].eta()) < 3.0) { //endcap jets
4317  if (recoJets[0].pt() > 20. && recoJets[0].pt() <= 50.) {
4318  mAxis2_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_EndCap"];
4319  if (mAxis2_lowPt_EndCap && mAxis2_lowPt_EndCap->getRootObject())
4320  mAxis2_lowPt_EndCap->Fill(QGaxis2);
4321  mpTD_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_EndCap"];
4322  if (mpTD_lowPt_EndCap && mpTD_lowPt_EndCap->getRootObject())
4323  mpTD_lowPt_EndCap->Fill(QGptD);
4324  mMultiplicityQG_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_EndCap"];
4325  if (mMultiplicityQG_lowPt_EndCap && mMultiplicityQG_lowPt_EndCap->getRootObject())
4326  mMultiplicityQG_lowPt_EndCap->Fill(QGmulti);
4327  mqgLikelihood_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_EndCap"];
4328  if (mqgLikelihood_lowPt_EndCap && mqgLikelihood_lowPt_EndCap->getRootObject())
4329  mqgLikelihood_lowPt_EndCap->Fill(QGLikelihood);
4330  }
4331  if (recoJets[0].pt() > 50. && recoJets[0].pt() <= 140.) {
4332  mAxis2_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_EndCap"];
4333  if (mAxis2_mediumPt_EndCap && mAxis2_mediumPt_EndCap->getRootObject())
4334  mAxis2_mediumPt_EndCap->Fill(QGaxis2);
4335  mpTD_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_EndCap"];
4336  if (mpTD_mediumPt_EndCap && mpTD_mediumPt_EndCap->getRootObject())
4337  mpTD_mediumPt_EndCap->Fill(QGptD);
4338  mMultiplicityQG_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_EndCap"];
4339  if (mMultiplicityQG_mediumPt_EndCap && mMultiplicityQG_mediumPt_EndCap->getRootObject())
4340  mMultiplicityQG_mediumPt_EndCap->Fill(QGmulti);
4341  mqgLikelihood_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_EndCap"];
4342  if (mqgLikelihood_mediumPt_EndCap && mqgLikelihood_mediumPt_EndCap->getRootObject())
4343  mqgLikelihood_mediumPt_EndCap->Fill(QGLikelihood);
4344  }
4345  if (recoJets[0].pt() > 140.) {
4346  mAxis2_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_EndCap"];
4347  if (mAxis2_highPt_EndCap && mAxis2_highPt_EndCap->getRootObject())
4348  mAxis2_highPt_EndCap->Fill(QGaxis2);
4349  mpTD_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_highPt_EndCap"];
4350  if (mpTD_highPt_EndCap && mpTD_highPt_EndCap->getRootObject())
4351  mpTD_highPt_EndCap->Fill(QGptD);
4352  mMultiplicityQG_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_EndCap"];
4353  if (mMultiplicityQG_highPt_EndCap && mMultiplicityQG_highPt_EndCap->getRootObject())
4354  mMultiplicityQG_highPt_EndCap->Fill(QGmulti);
4355  mqgLikelihood_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_EndCap"];
4356  if (mqgLikelihood_highPt_EndCap && mqgLikelihood_highPt_EndCap->getRootObject())
4357  mqgLikelihood_highPt_EndCap->Fill(QGLikelihood);
4358  }
4359  } else {
4360  if (recoJets[0].pt() > 20. && recoJets[0].pt() <= 50.) {
4361  mAxis2_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Forward"];
4362  if (mAxis2_lowPt_Forward && mAxis2_lowPt_Forward->getRootObject())
4363  mAxis2_lowPt_Forward->Fill(QGaxis2);
4364  mpTD_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Forward"];
4365  if (mpTD_lowPt_Forward && mpTD_lowPt_Forward->getRootObject())
4366  mpTD_lowPt_Forward->Fill(QGptD);
4367  mMultiplicityQG_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Forward"];
4368  if (mMultiplicityQG_lowPt_Forward && mMultiplicityQG_lowPt_Forward->getRootObject())
4369  mMultiplicityQG_lowPt_Forward->Fill(QGmulti);
4370  mqgLikelihood_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Forward"];
4371  if (mqgLikelihood_lowPt_Forward && mqgLikelihood_lowPt_Forward->getRootObject())
4372  mqgLikelihood_lowPt_Forward->Fill(QGLikelihood);
4373  }
4374  if (recoJets[0].pt() > 50. && recoJets[0].pt() <= 140.) {
4375  mAxis2_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Forward"];
4376  if (mAxis2_mediumPt_Forward && mAxis2_mediumPt_Forward->getRootObject())
4377  mAxis2_mediumPt_Forward->Fill(QGaxis2);
4378  mpTD_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Forward"];
4379  if (mpTD_mediumPt_Forward && mpTD_mediumPt_Forward->getRootObject())
4380  mpTD_mediumPt_Forward->Fill(QGptD);
4381  mMultiplicityQG_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Forward"];
4382  if (mMultiplicityQG_mediumPt_Forward && mMultiplicityQG_mediumPt_Forward->getRootObject())
4383  mMultiplicityQG_mediumPt_Forward->Fill(QGmulti);
4384  mqgLikelihood_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Forward"];
4385  if (mqgLikelihood_mediumPt_Forward && mqgLikelihood_mediumPt_Forward->getRootObject())
4386  mqgLikelihood_mediumPt_Forward->Fill(QGLikelihood);
4387  }
4388  if (recoJets[0].pt() > 140.) {
4389  mAxis2_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Forward"];
4390  if (mAxis2_highPt_Forward && mAxis2_highPt_Forward->getRootObject())
4391  mAxis2_highPt_Forward->Fill(QGaxis2);
4392  mpTD_highPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Forward"];
4393  if (mpTD_highPt_Forward && mpTD_highPt_Forward->getRootObject())
4394  mpTD_highPt_Forward->Fill(QGptD);
4395  mMultiplicityQG_highPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Forward"];
4396  if (mMultiplicityQG_highPt_Forward && mMultiplicityQG_highPt_Forward->getRootObject())
4397  mMultiplicityQG_highPt_Forward->Fill(QGmulti);
4398  mqgLikelihood_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Forward"];
4399  if (mqgLikelihood_highPt_Forward && mqgLikelihood_highPt_Forward->getRootObject())
4400  mqgLikelihood_highPt_Forward->Fill(QGLikelihood);
4401  }
4402  } //done for first jet
4403  reco::PFJetRef pfjetref1(pfJets, ind2);
4404  QGmulti = (*qgMultiplicity)[pfjetref1];
4405  QGLikelihood = (*qgLikelihood)[pfjetref1];
4406  QGptD = (*qgptD)[pfjetref1];
4407  QGaxis2 = (*qgaxis2)[pfjetref1];
4408  if (fabs(recoJets[1].eta()) < 1.3) { //barrel jets
4409  //fractions for barrel
4410  if (recoJets[1].pt() >= 20. && recoJets[1].pt() <= 50.) {
4411  mAxis2_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Barrel"];
4412  if (mAxis2_lowPt_Barrel && mAxis2_lowPt_Barrel->getRootObject())
4413  mAxis2_lowPt_Barrel->Fill(QGaxis2);
4414  mpTD_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Barrel"];
4415  if (mpTD_lowPt_Barrel && mpTD_lowPt_Barrel->getRootObject())
4416  mpTD_lowPt_Barrel->Fill(QGptD);
4417  mMultiplicityQG_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Barrel"];
4418  if (mMultiplicityQG_lowPt_Barrel && mMultiplicityQG_lowPt_Barrel->getRootObject())
4419  mMultiplicityQG_lowPt_Barrel->Fill(QGmulti);
4420  mqgLikelihood_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Barrel"];
4421  if (mqgLikelihood_lowPt_Barrel && mqgLikelihood_lowPt_Barrel->getRootObject())
4422  mqgLikelihood_lowPt_Barrel->Fill(QGLikelihood);
4423  }
4424  if (recoJets[1].pt() > 50. && recoJets[1].pt() <= 140.) {
4425  mAxis2_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Barrel"];
4426  if (mAxis2_mediumPt_Barrel && mAxis2_mediumPt_Barrel->getRootObject())
4427  mAxis2_mediumPt_Barrel->Fill(QGaxis2);
4428  mpTD_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Barrel"];
4429  if (mpTD_mediumPt_Barrel && mpTD_mediumPt_Barrel->getRootObject())
4430  mpTD_mediumPt_Barrel->Fill(QGptD);
4431  mMultiplicityQG_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Barrel"];
4432  if (mMultiplicityQG_mediumPt_Barrel && mMultiplicityQG_mediumPt_Barrel->getRootObject())
4433  mMultiplicityQG_mediumPt_Barrel->Fill(QGmulti);
4434  mqgLikelihood_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Barrel"];
4435  if (mqgLikelihood_mediumPt_Barrel && mqgLikelihood_mediumPt_Barrel->getRootObject())
4436  mqgLikelihood_mediumPt_Barrel->Fill(QGLikelihood);
4437  }
4438  if (recoJets[1].pt() > 140.) {
4439  mAxis2_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Barrel"];
4440  if (mAxis2_highPt_Barrel && mAxis2_highPt_Barrel->getRootObject())
4441  mAxis2_highPt_Barrel->Fill(QGaxis2);
4442  mpTD_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Barrel"];
4443  if (mpTD_highPt_Barrel && mpTD_highPt_Barrel->getRootObject())
4444  mpTD_highPt_Barrel->Fill(QGptD);
4445  mMultiplicityQG_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Barrel"];
4446  if (mMultiplicityQG_highPt_Barrel && mMultiplicityQG_highPt_Barrel->getRootObject())
4447  mMultiplicityQG_highPt_Barrel->Fill(QGmulti);
4448  mqgLikelihood_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Barrel"];
4449  if (mqgLikelihood_highPt_Barrel && mqgLikelihood_highPt_Barrel->getRootObject())
4450  mqgLikelihood_highPt_Barrel->Fill(QGLikelihood);
4451  }
4452  } else if (fabs(recoJets[1].eta()) < 3.0) { //endcap jets
4453  if (recoJets[1].pt() > 20. && recoJets[1].pt() <= 50.) {
4454  mAxis2_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_EndCap"];
4455  if (mAxis2_lowPt_EndCap && mAxis2_lowPt_EndCap->getRootObject())
4456  mAxis2_lowPt_EndCap->Fill(QGaxis2);
4457  mpTD_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_EndCap"];
4458  if (mpTD_lowPt_EndCap && mpTD_lowPt_EndCap->getRootObject())
4459  mpTD_lowPt_EndCap->Fill(QGptD);
4460  mMultiplicityQG_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_EndCap"];
4461  if (mMultiplicityQG_lowPt_EndCap && mMultiplicityQG_lowPt_EndCap->getRootObject())
4462  mMultiplicityQG_lowPt_EndCap->Fill(QGmulti);
4463  mqgLikelihood_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_EndCap"];
4464  if (mqgLikelihood_lowPt_EndCap && mqgLikelihood_lowPt_EndCap->getRootObject())
4465  mqgLikelihood_lowPt_EndCap->Fill(QGLikelihood);
4466  }
4467  if (recoJets[1].pt() > 50. && recoJets[1].pt() <= 140.) {
4468  mAxis2_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_EndCap"];
4469  if (mAxis2_mediumPt_EndCap && mAxis2_mediumPt_EndCap->getRootObject())
4470  mAxis2_mediumPt_EndCap->Fill(QGaxis2);
4471  mpTD_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_EndCap"];
4472  if (mpTD_mediumPt_EndCap && mpTD_mediumPt_EndCap->getRootObject())
4473  mpTD_mediumPt_EndCap->Fill(QGptD);
4474  mMultiplicityQG_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_EndCap"];
4475  if (mMultiplicityQG_mediumPt_EndCap && mMultiplicityQG_mediumPt_EndCap->getRootObject())
4476  mMultiplicityQG_mediumPt_EndCap->Fill(QGmulti);
4477  mqgLikelihood_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_EndCap"];
4478  if (mqgLikelihood_mediumPt_EndCap && mqgLikelihood_mediumPt_EndCap->getRootObject())
4479  mqgLikelihood_mediumPt_EndCap->Fill(QGLikelihood);
4480  }
4481  if (recoJets[1].pt() > 140.) {
4482  mAxis2_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_EndCap"];
4483  if (mAxis2_highPt_EndCap && mAxis2_highPt_EndCap->getRootObject())
4484  mAxis2_highPt_EndCap->Fill(QGaxis2);
4485  mpTD_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_highPt_EndCap"];
4486  if (mpTD_highPt_EndCap && mpTD_highPt_EndCap->getRootObject())
4487  mpTD_highPt_EndCap->Fill(QGptD);
4488  mMultiplicityQG_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_EndCap"];
4489  if (mMultiplicityQG_highPt_EndCap && mMultiplicityQG_highPt_EndCap->getRootObject())
4490  mMultiplicityQG_highPt_EndCap->Fill(QGmulti);
4491  mqgLikelihood_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_EndCap"];
4492  if (mqgLikelihood_highPt_EndCap && mqgLikelihood_highPt_EndCap->getRootObject())
4493  mqgLikelihood_highPt_EndCap->Fill(QGLikelihood);
4494  }
4495  } else {
4496  if (recoJets[1].pt() > 20. && recoJets[1].pt() <= 50.) {
4497  mAxis2_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Forward"];
4498  if (mAxis2_lowPt_Forward && mAxis2_lowPt_Forward->getRootObject())
4499  mAxis2_lowPt_Forward->Fill(QGaxis2);
4500  mpTD_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Forward"];
4501  if (mpTD_lowPt_Forward && mpTD_lowPt_Forward->getRootObject())
4502  mpTD_lowPt_Forward->Fill(QGptD);
4503  mMultiplicityQG_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Forward"];
4504  if (mMultiplicityQG_lowPt_Forward && mMultiplicityQG_lowPt_Forward->getRootObject())
4505  mMultiplicityQG_lowPt_Forward->Fill(QGmulti);
4506  mqgLikelihood_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Forward"];
4507  if (mqgLikelihood_lowPt_Forward && mqgLikelihood_lowPt_Forward->getRootObject())
4508  mqgLikelihood_lowPt_Forward->Fill(QGLikelihood);
4509  }
4510  if (recoJets[1].pt() > 50. && recoJets[1].pt() <= 140.) {
4511  mAxis2_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Forward"];
4512  if (mAxis2_mediumPt_Forward && mAxis2_mediumPt_Forward->getRootObject())
4513  mAxis2_mediumPt_Forward->Fill(QGaxis2);
4514  mpTD_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Forward"];
4515  if (mpTD_mediumPt_Forward && mpTD_mediumPt_Forward->getRootObject())
4516  mpTD_mediumPt_Forward->Fill(QGptD);
4517  mMultiplicityQG_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Forward"];
4518  if (mMultiplicityQG_mediumPt_Forward && mMultiplicityQG_mediumPt_Forward->getRootObject())
4519  mMultiplicityQG_mediumPt_Forward->Fill(QGmulti);
4520  mqgLikelihood_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Forward"];
4521  if (mqgLikelihood_mediumPt_Forward && mqgLikelihood_mediumPt_Forward->getRootObject())
4522  mqgLikelihood_mediumPt_Forward->Fill(QGLikelihood);
4523  }
4524  if (recoJets[1].pt() > 140.) {
4525  mAxis2_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Forward"];
4526  if (mAxis2_highPt_Forward && mAxis2_highPt_Forward->getRootObject())
4527  mAxis2_highPt_Forward->Fill(QGaxis2);
4528  mpTD_highPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Forward"];
4529  if (mpTD_highPt_Forward && mpTD_highPt_Forward->getRootObject())
4530  mpTD_highPt_Forward->Fill(QGptD);
4531  mMultiplicityQG_highPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Forward"];
4532  if (mMultiplicityQG_highPt_Forward && mMultiplicityQG_highPt_Forward->getRootObject())
4533  mMultiplicityQG_highPt_Forward->Fill(QGmulti);
4534  mqgLikelihood_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Forward"];
4535  if (mqgLikelihood_highPt_Forward && mqgLikelihood_highPt_Forward->getRootObject())
4536  mqgLikelihood_highPt_Forward->Fill(QGLikelihood);
4537  }
4538  } //deal with second jet
4539  } //fill quark gluon tagged variables
4540  } //pfjet
4541  if (isMiniAODJet_) {
4542  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4543  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4544  mJetEnergyCorr->Fill(1. / (*patJets)[ind1].jecFactor("Uncorrected"));
4545  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4546  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4547  mJetEnergyCorrVSEta->Fill(recoJets[0].eta(), 1. / (*patJets)[ind1].jecFactor("Uncorrected"));
4548  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4549  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4550  mJetEnergyCorrVSPt->Fill(recoJets[0].pt(), 1. / (*patJets)[ind1].jecFactor("Uncorrected"));
4551  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4552  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4553  mJetEnergyCorr->Fill(1. / (*patJets)[ind2].jecFactor("Uncorrected"));
4554  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4555  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4556  mJetEnergyCorrVSEta->Fill(recoJets[0].eta(), 1. / (*patJets)[ind2].jecFactor("Uncorrected"));
4557  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4558  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4559  mJetEnergyCorrVSPt->Fill(recoJets[0].pt(), 1. / (*patJets)[ind2].jecFactor("Uncorrected"));
4560 
4561  // In MINIAOD, can drop PFSpecifics just to save space, so check they are available.
4562  if ((*patJets)[ind1].hasPFSpecific()) {
4563  mCHFrac = map_of_MEs[DirName + "/" + "CHFrac"];
4564  if (mCHFrac && mCHFrac->getRootObject())
4565  mCHFrac->Fill((*patJets)[ind1].chargedHadronEnergyFraction());
4566  mNHFrac = map_of_MEs[DirName + "/" + "NHFrac"];
4567  if (mNHFrac && mNHFrac->getRootObject())
4568  mNHFrac->Fill((*patJets)[ind1].neutralHadronEnergyFraction());
4569  mPhFrac = map_of_MEs[DirName + "/" + "PhFrac"];
4570  if (mPhFrac && mPhFrac->getRootObject())
4571  mPhFrac->Fill((*patJets)[ind1].neutralEmEnergyFraction());
4572  mHFEMFrac = map_of_MEs[DirName + "/" + "HFEMFrac"];
4573  if (mHFEMFrac && mHFEMFrac->getRootObject())
4574  mHFEMFrac->Fill((*patJets)[ind1].HFEMEnergyFraction());
4575  mHFHFrac = map_of_MEs[DirName + "/" + "HFHFrac"];
4576  if (mHFHFrac && mHFHFrac->getRootObject())
4577  mHFHFrac->Fill((*patJets)[ind1].HFHadronEnergyFraction());
4578  mChargedMultiplicity = map_of_MEs[DirName + "/" + "ChargedMultiplicity"];
4579  if (mChargedMultiplicity && mChargedMultiplicity->getRootObject())
4580  mChargedMultiplicity->Fill((*patJets)[ind1].chargedMultiplicity());
4581  mNeutralMultiplicity = map_of_MEs[DirName + "/" + "NeutralMultiplicity"];
4582  if (mNeutralMultiplicity && mNeutralMultiplicity->getRootObject())
4583  mNeutralMultiplicity->Fill((*patJets)[ind1].neutralMultiplicity());
4584  mMuonMultiplicity = map_of_MEs[DirName + "/" + "MuonMultiplicity"];
4585  if (mMuonMultiplicity && mMuonMultiplicity->getRootObject())
4586  mMuonMultiplicity->Fill((*patJets)[ind1].muonMultiplicity());
4587  mNeutralFraction = map_of_MEs[DirName + "/" + "NeutralConstituentsFraction"];
4588  if (mNeutralFraction && mNeutralFraction->getRootObject())
4589  mNeutralFraction->Fill((double)(*patJets)[ind1].neutralMultiplicity() /
4590  (double)(*patJets)[ind1].nConstituents());
4591  mCHFrac_profile = map_of_MEs[DirName + "/" + "CHFrac_profile"];
4592  if (mCHFrac_profile && mCHFrac_profile->getRootObject())
4593  mCHFrac_profile->Fill(numPV, (*patJets)[ind1].chargedHadronEnergyFraction());
4594  mNHFrac_profile = map_of_MEs[DirName + "/" + "NHFrac_profile"];
4595  if (mNHFrac_profile && mNHFrac_profile->getRootObject())
4596  mNHFrac_profile->Fill(numPV, (*patJets)[ind1].neutralHadronEnergyFraction());
4597  mPhFrac_profile = map_of_MEs[DirName + "/" + "PhFrac_profile"];
4598  if (mPhFrac_profile && mPhFrac_profile->getRootObject())
4599  mPhFrac_profile->Fill(numPV, (*patJets)[ind1].neutralEmEnergyFraction());
4600  mHFEMFrac_profile = map_of_MEs[DirName + "/" + "HFEMFrac_profile"];
4601  if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject())
4602  mHFEMFrac_profile->Fill(numPV, (*patJets)[ind1].HFEMEnergyFraction());
4603  mHFHFrac_profile = map_of_MEs[DirName + "/" + "HFHFrac_profile"];
4604  if (mHFHFrac_profile && mHFHFrac_profile->getRootObject())
4605  mHFHFrac_profile->Fill(numPV, (*patJets)[ind1].HFHadronEnergyFraction());
4606  mChargedMultiplicity_profile = map_of_MEs[DirName + "/" + "ChargedMultiplicity_profile"];
4607  if (mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject())
4608  mChargedMultiplicity_profile->Fill(numPV, (*patJets)[ind1].chargedMultiplicity());
4609  mNeutralMultiplicity_profile = map_of_MEs[DirName + "/" + "NeutralMultiplicity_profile"];
4610  if (mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject())
4611  mNeutralMultiplicity_profile->Fill(numPV, (*patJets)[ind1].neutralMultiplicity());
4612  mMuonMultiplicity_profile = map_of_MEs[DirName + "/" + "MuonMultiplicity_profile"];
4613  if (mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject())
4614  mMuonMultiplicity->Fill(numPV, (*patJets)[ind1].muonMultiplicity());
4615  }
4616 
4617  // In MINIAOD, can drop PFSpecifics just to save space, so check they are available.
4618  //Filling variables for second jet
4619  if ((*patJets)[ind2].hasPFSpecific()) {
4620  mCHFrac = map_of_MEs[DirName + "/" + "CHFrac"];
4621  if (mCHFrac && mCHFrac->getRootObject())
4622  mCHFrac->Fill((*patJets)[ind2].chargedHadronEnergyFraction());
4623  mNHFrac = map_of_MEs[DirName + "/" + "NHFrac"];
4624  if (mNHFrac && mNHFrac->getRootObject())
4625  mNHFrac->Fill((*patJets)[ind2].neutralHadronEnergyFraction());
4626  mPhFrac = map_of_MEs[DirName + "/" + "PhFrac"];
4627  if (mPhFrac && mPhFrac->getRootObject())
4628  mPhFrac->Fill((*patJets)[ind2].neutralEmEnergyFraction());
4629  mHFEMFrac = map_of_MEs[DirName + "/" + "HFEMFrac"];
4630  if (mHFEMFrac && mHFEMFrac->getRootObject())
4631  mHFEMFrac->Fill((*patJets)[ind2].HFEMEnergyFraction());
4632  mHFHFrac = map_of_MEs[DirName + "/" + "HFHFrac"];
4633  if (mHFHFrac && mHFHFrac->getRootObject())
4634  mHFHFrac->Fill((*patJets)[ind2].HFHadronEnergyFraction());
4635 
4636  mChargedMultiplicity = map_of_MEs[DirName + "/" + "ChargedMultiplicity"];
4637  if (mChargedMultiplicity && mChargedMultiplicity->getRootObject())
4638  mChargedMultiplicity->Fill((*patJets)[ind2].chargedMultiplicity());
4639  mNeutralMultiplicity = map_of_MEs[DirName + "/" + "NeutralMultiplicity"];
4640  if (mNeutralMultiplicity && mNeutralMultiplicity->getRootObject())
4641  mNeutralMultiplicity->Fill((*patJets)[ind2].neutralMultiplicity());
4642  mMuonMultiplicity = map_of_MEs[DirName + "/" + "MuonMultiplicity"];
4643  if (mMuonMultiplicity && mMuonMultiplicity->getRootObject())
4644  mMuonMultiplicity->Fill((*patJets)[ind2].muonMultiplicity());
4645 
4646  mNeutralFraction = map_of_MEs[DirName + "/" + "NeutralConstituentsFraction"];
4647  if (mNeutralFraction && mNeutralFraction->getRootObject())
4648  mNeutralFraction->Fill((double)(*patJets)[ind2].neutralMultiplicity() /
4649  (double)(*patJets)[ind2].nConstituents());
4650 
4651  //now fill PATJet profiles for second leading jet
4652  mCHFrac_profile = map_of_MEs[DirName + "/" + "CHFrac_profile"];
4653  if (mCHFrac_profile && mCHFrac_profile->getRootObject())
4654  mCHFrac_profile->Fill(numPV, (*patJets)[ind2].chargedHadronEnergyFraction());
4655  mNHFrac_profile = map_of_MEs[DirName + "/" + "NHFrac_profile"];
4656  if (mNHFrac_profile && mNHFrac_profile->getRootObject())
4657  mNHFrac_profile->Fill(numPV, (*patJets)[ind2].neutralHadronEnergyFraction());
4658  mPhFrac_profile = map_of_MEs[DirName + "/" + "PhFrac_profile"];
4659  if (mPhFrac_profile && mPhFrac_profile->getRootObject())
4660  mPhFrac_profile->Fill(numPV, (*patJets)[ind2].neutralEmEnergyFraction());
4661  mHFEMFrac_profile = map_of_MEs[DirName + "/" + "HFEMFrac_profile"];
4662  if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject())
4663  mHFEMFrac_profile->Fill(numPV, (*patJets)[ind2].HFEMEnergyFraction());
4664  mHFHFrac_profile = map_of_MEs[DirName + "/" + "HFHFrac_profile"];
4665  if (mHFHFrac_profile && mHFHFrac_profile->getRootObject())
4666  mHFHFrac_profile->Fill(numPV, (*patJets)[ind2].HFHadronEnergyFraction());
4667 
4668  mChargedMultiplicity_profile = map_of_MEs[DirName + "/" + "ChargedMultiplicity_profile"];
4669  if (mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject())
4670  mChargedMultiplicity_profile->Fill(numPV, (*patJets)[ind2].chargedMultiplicity());
4671  mNeutralMultiplicity_profile = map_of_MEs[DirName + "/" + "NeutralMultiplicity_profile"];
4672  if (mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject())
4673  mNeutralMultiplicity_profile->Fill(numPV, (*patJets)[ind2].neutralMultiplicity());
4674  mMuonMultiplicity_profile = map_of_MEs[DirName + "/" + "MuonMultiplicity_profile"];
4675  if (mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject())
4676  mMuonMultiplicity_profile->Fill(numPV, (*patJets)[ind2].muonMultiplicity());
4677  }
4678  }
4679 
4680  //fill histos for first jet
4681  mPt = map_of_MEs[DirName + "/" + "Pt"];
4682  if (mPt && mPt->getRootObject())
4683  mPt->Fill(recoJets[0].pt());
4684  mEta = map_of_MEs[DirName + "/" + "Eta"];
4685  if (mEta && mEta->getRootObject())
4686  mEta->Fill(recoJets[0].eta());
4687  mPhi = map_of_MEs[DirName + "/" + "Phi"];
4688  if (mPhi && mPhi->getRootObject())
4689  mPhi->Fill(recoJets[0].phi());
4690  mPhiVSEta = map_of_MEs[DirName + "/" + "PhiVSEta"];
4691  if (mPhiVSEta && mPhiVSEta->getRootObject())
4692  mPhiVSEta->Fill(recoJets[0].eta(), recoJets[0].phi());
4693  //if(!isJPTJet_){
4694  mConstituents = map_of_MEs[DirName + "/" + "Constituents"];
4695  if (mConstituents && mConstituents->getRootObject())
4696  mConstituents->Fill(recoJets[0].nConstituents());
4697  //}
4698  mPt = map_of_MEs[DirName + "/" + "Pt"];
4699  if (mPt && mPt->getRootObject())
4700  mPt->Fill(recoJets[1].pt());
4701  mEta = map_of_MEs[DirName + "/" + "Eta"];
4702  if (mEta && mEta->getRootObject())
4703  mEta->Fill(recoJets[1].eta());
4704  mPhi = map_of_MEs[DirName + "/" + "Phi"];
4705  if (mPhi && mPhi->getRootObject())
4706  mPhi->Fill(recoJets[1].phi());
4707  mPhiVSEta = map_of_MEs[DirName + "/" + "PhiVSEta"];
4708  if (mPhiVSEta && mPhiVSEta->getRootObject())
4709  mPhiVSEta->Fill(recoJets[1].eta(), recoJets[1].phi());
4710  //if(!isJPTJet_){
4711  mConstituents = map_of_MEs[DirName + "/" + "Constituents"];
4712  if (mConstituents && mConstituents->getRootObject())
4713  mConstituents->Fill(recoJets[1].nConstituents());
4714  //}
4715  //PV profiles
4716  mPt_profile = map_of_MEs[DirName + "/" + "Pt_profile"];
4717  if (mPt_profile && mPt_profile->getRootObject())
4718  mPt_profile->Fill(numPV, recoJets[0].pt());
4719  mEta_profile = map_of_MEs[DirName + "/" + "Eta_profile"];
4720  if (mEta_profile && mEta_profile->getRootObject())
4721  mEta_profile->Fill(numPV, recoJets[0].eta());
4722  mPhi_profile = map_of_MEs[DirName + "/" + "Phi_profile"];
4723  if (mPhi_profile && mPhi_profile->getRootObject())
4724  mPhi_profile->Fill(numPV, recoJets[0].phi());
4725  //if(!isJPTJet_){
4726  mConstituents_profile = map_of_MEs[DirName + "/" + "Constituents_profile"];
4727  if (mConstituents_profile && mConstituents_profile->getRootObject())
4728  mConstituents_profile->Fill(numPV, recoJets[0].nConstituents());
4729  //}
4730  mPt_profile = map_of_MEs[DirName + "/" + "Pt_profile"];
4731  if (mPt_profile && mPt_profile->getRootObject())
4732  mPt_profile->Fill(numPV, recoJets[1].pt());
4733  mEta_profile = map_of_MEs[DirName + "/" + "Eta_profile"];
4734  if (mEta_profile && mEta_profile->getRootObject())
4735  mEta_profile->Fill(numPV, recoJets[1].eta());
4736  mPhi_profile = map_of_MEs[DirName + "/" + "Phi_profile"];
4737  if (mPhi_profile && mPhi_profile->getRootObject())
4738  mPhi_profile->Fill(numPV, recoJets[1].phi());
4739  //if(!isJPTJet_){
4740  mConstituents_profile = map_of_MEs[DirName + "/" + "Constituents_profile"];
4741  if (mConstituents_profile && mConstituents_profile->getRootObject())
4742  mConstituents_profile->Fill(numPV, recoJets[1].nConstituents());
4743  //}
4744  if (fabs(recoJets[0].eta() < 1.4)) {
4745  double pt_dijet = (recoJets[0].pt() + recoJets[1].pt()) / 2;
4746  if (dphi > 2.7) { //cut even toughter on dijet balance
4747  double pt_probe;
4748  double pt_barrel;
4749  int jet1, jet2;
4750  //int randJet = rand() % 2;
4751  int randJet = iEvent.id().event() % 2;
4752  if (fabs(recoJets[1].eta() < 1.4)) {
4753  if (randJet) {
4754  jet1 = 0;
4755  jet2 = 1;
4756  } else {
4757  jet1 = 1;
4758  jet2 = 0;
4759  }
4760  // ***Di-Jet Asymmetry****
4761  // * leading jets eta < 1.4
4762  // * leading jets dphi > 2.7
4763  // * pt_third jet < threshold
4764  // * A = (pt_1 - pt_2)/(pt_1 + pt_2)
4765  // * jets 1 and two are randomly ordered
4766  // **
4767  bool thirdJetCut = true;
4768  //that doesn't make any sense -> imagine you have 5 jets,
4769  //jet 3 is quite hard (almost as hard as the second jet, i.e. 200/80/79/20/15, cutoff is 30
4770  //the 4th and 5th jet are soft enough -> then you would fill the asymmetry twice,
4771  //although jet 2 and 3 are basically identical
4772  //do third jet relative to second jet
4773  //JME-10-014 suggests pt3/pt_dijet<0.15
4774  if (ind3 > 0) {
4775  if (pt3 > asymmetryThirdJetCut_) {
4776  thirdJetCut = false;
4777  }
4778  }
4779  if (thirdJetCut) {
4780  double dijetAsymmetry =
4781  (recoJets[jet1].pt() - recoJets[jet2].pt()) / (recoJets[jet1].pt() + recoJets[jet2].pt());
4782  mDijetAsymmetry = map_of_MEs[DirName + "/" + "DijetAsymmetry"];
4783  if (mDijetAsymmetry && mDijetAsymmetry->getRootObject())
4784  mDijetAsymmetry->Fill(dijetAsymmetry);
4785  } // end restriction on third jet pt in asymmetry calculation
4786 
4787  } else {
4788  jet1 = 0;
4789  jet2 = 1;
4790  }
4791 
4792  pt_barrel = recoJets[jet1].pt();
4793  pt_probe = recoJets[jet2].pt();
4794 
4795  //dijet balance cuts
4796  // ***Di-Jet Balance****
4797  // * pt_dijet = (pt_probe+pt_barrel)/2
4798  // * leading jets dphi > 2.7
4799  // * reject evnets where pt_third/pt_dijet > 0.2
4800  // * pv selection
4801  // * B = (pt_probe - pt_barrel)/pt_dijet
4802  // * select probe randomly from 2 jets if both leading jets are in the barrel
4803  bool thirdJetCut = true;
4804  if (ind3 > 0) {
4805  if (pt3 / pt_dijet > balanceThirdJetCut_) {
4806  thirdJetCut = false;
4807  }
4808  }
4809  if (thirdJetCut) {
4810  double dijetBalance = (pt_probe - pt_barrel) / pt_dijet;
4811  mDijetBalance = map_of_MEs[DirName + "/" + "DijetBalance"];
4812  if (mDijetBalance && mDijetBalance->getRootObject())
4813  mDijetBalance->Fill(dijetBalance);
4814  } // end restriction on third jet pt ratio in balance calculation
4815 
4816  } // dPhi > 2.7 for dijetbalance and asymmetrie
4817  } //leading jet in barrel
4818  } //DPhi cut of 2.1
4819  } //dijet selection, check if both leading jets are IDed
4820  //now do the ZJets selection -> pass_Z_selection cuts already on the Z-pt>30 GeV
4821  if (pass_Z_selection && ind1_mu_vetoed >= 0 && pt1_mu_vetoed > 12 && cleaned_first_jet_mu_vetoed && isPFJet_) {
4822  bool pass_second_jet_mu_vetoed = false;
4823  if (cleaned_second_jet_mu_vetoed) {
4824  if (ind2_mu_vetoed >= 0 && pt2_mu_vetoed / zCand.Pt() < 0.2) {
4825  pass_second_jet_mu_vetoed = true;
4826  }
4827  }
4828  if (pass_second_jet_mu_vetoed) {
4829  Jet recoJet1;
4830  if (isPFJet_) {
4831  recoJet1 = (*pfJets)[ind1_mu_vetoed];
4832  }
4833  if (pass_correction_flag && !isMiniAODJet_) {
4834  double scale = 1;
4835  if (isCaloJet_) {
4836  scale = jetCorr->correction((*caloJets)[ind1_mu_vetoed]);
4837  }
4838  if (isPFJet_) {
4839  scale = jetCorr->correction((*pfJets)[ind1_mu_vetoed]);
4840  }
4841  recoJet1.scaleEnergy(scale);
4842  }
4843  double dphi = fabs(recoJet1.phi() - zCand.Phi());
4844  if (dphi > acos(-1.)) {
4845  dphi = 2 * acos(-1.) - dphi;
4846  }
4847  if (jetCleaningFlag_) {
4848  DirName = "JetMET/Jet/Cleaned" + mInputCollection_.label() + "/ZJets";
4849  }
4850  mDPhiZJet = map_of_MEs[DirName + "/" + "DPhiZJ"];
4851  if (mDPhiZJet && mDPhiZJet->getRootObject())
4852  mDPhiZJet->Fill(dphi);
4853  if (fabs(dphi - acos(-1.)) < 0.34) {
4854  //get now MET collections for MPF studies
4857  //edm::Handle<pat::METCollection> patmetcoll;
4858  const MET* met = nullptr;
4859  if (isCaloJet_) {
4860  iEvent.getByToken(caloMetToken_, calometcoll);
4861  if (!calometcoll.isValid())
4862  return;
4863  met = &(calometcoll->front());
4864  }
4865  if (isPFJet_) {
4866  iEvent.getByToken(pfMetToken_, pfmetcoll);
4867  if (!pfmetcoll.isValid())
4868  return;
4869  met = &(pfmetcoll->front());
4870  }
4871  //if(isMiniAODJet_){
4872  //iEvent.getByToken(patMetToken_, patmetcoll);
4873  //if(!patmetcoll.isValid()) return;
4874  //met=&(patmetcoll->front());
4875  //}
4876  mZMass = map_of_MEs[DirName + "/" + "DiMuonMass"];
4877  if (mZMass && mZMass->getRootObject())
4878  mZMass->Fill(zCand.M());
4879  mZJetAsymmetry = map_of_MEs[DirName + "/" + "ZJetAsymmetry"];
4880  if (mZJetAsymmetry && mZJetAsymmetry->getRootObject())
4881  mZJetAsymmetry->Fill((zCand.Pt() - recoJet1.pt()) / (zCand.Pt() + recoJet1.pt()));
4882  if (recoJet1.pt() > 20) {
4883  mPt = map_of_MEs[DirName + "/" + "Pt"];
4884  if (mPt && mPt->getRootObject())
4885  mPt->Fill(recoJet1.pt());
4886  mEta = map_of_MEs[DirName + "/" + "Eta"];
4887  if (mEta && mEta->getRootObject())
4888  mEta->Fill(recoJet1.eta());
4889  mPhi = map_of_MEs[DirName + "/" + "Phi"];
4890  if (mPhi && mPhi->getRootObject())
4891  mPhi->Fill(recoJet1.phi());
4892  //PV profiles
4893  mPt_profile = map_of_MEs[DirName + "/" + "Pt_profile"];
4894  if (mPt_profile && mPt_profile->getRootObject())
4895  mPt_profile->Fill(numPV, recoJet1.pt());
4896  mEta_profile = map_of_MEs[DirName + "/" + "Eta_profile"];
4897  if (mEta_profile && mEta_profile->getRootObject())
4898  mEta_profile->Fill(numPV, recoJet1.eta());
4899  mPhi_profile = map_of_MEs[DirName + "/" + "Phi_profile"];
4900  if (mPhi_profile && mPhi_profile->getRootObject())
4901  mPhi_profile->Fill(numPV, recoJet1.phi());
4902  mConstituents = map_of_MEs[DirName + "/" + "Constituents"];
4903  if (mConstituents && mConstituents->getRootObject())
4904  mConstituents->Fill(recoJet1.nConstituents());
4905  mConstituents_profile = map_of_MEs[DirName + "/" + "Constituents_profile"];
4906  if (mConstituents_profile && mConstituents_profile->getRootObject())
4907  mConstituents_profile->Fill(numPV, recoJet1.nConstituents());
4908  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4909  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4910  mJetEnergyCorr->Fill(recoJet1.pt() / (*pfJets)[ind1_mu_vetoed].pt());
4911  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4912  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4913  mJetEnergyCorrVSEta->Fill(recoJet1.eta(), recoJet1.pt() / (*pfJets)[ind1_mu_vetoed].pt());
4914  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4915  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4916  mJetEnergyCorrVSPt->Fill(recoJet1.pt(), recoJet1.pt() / (*pfJets)[ind1_mu_vetoed].pt());
4917  mCHFrac = map_of_MEs[DirName + "/" + "CHFrac"];
4918  if (mCHFrac && mCHFrac->getRootObject())
4919  mCHFrac->Fill((*pfJets)[ind1_mu_vetoed].chargedHadronEnergyFraction());
4920  mNHFrac = map_of_MEs[DirName + "/" + "NHFrac"];
4921  if (mNHFrac && mNHFrac->getRootObject())
4922  mNHFrac->Fill((*pfJets)[ind1_mu_vetoed].neutralHadronEnergyFraction());
4923  mPhFrac = map_of_MEs[DirName + "/" + "PhFrac"];
4924  if (mPhFrac && mPhFrac->getRootObject())
4925  mPhFrac->Fill((*pfJets)[ind1_mu_vetoed].neutralEmEnergyFraction());
4926  mHFEMFrac = map_of_MEs[DirName + "/" + "HFEMFrac"];
4927  if (mHFEMFrac && mHFEMFrac->getRootObject())
4928  mHFEMFrac->Fill((*pfJets)[ind1_mu_vetoed].HFEMEnergyFraction());
4929  mHFHFrac = map_of_MEs[DirName + "/" + "HFHFrac"];
4930  if (mHFHFrac && mHFHFrac->getRootObject())
4931  mHFHFrac->Fill((*pfJets)[ind1_mu_vetoed].HFHadronEnergyFraction());
4932  //now fill PFJet profiles for second leading jet
4933  mCHFrac_profile = map_of_MEs[DirName + "/" + "CHFrac_profile"];
4934  if (mCHFrac_profile && mCHFrac_profile->getRootObject())
4935  mCHFrac_profile->Fill(numPV, (*pfJets)[ind1_mu_vetoed].chargedHadronEnergyFraction());
4936  mNHFrac_profile = map_of_MEs[DirName + "/" + "NHFrac_profile"];
4937  if (mNHFrac_profile && mNHFrac_profile->getRootObject())
4938  mNHFrac_profile->Fill(numPV, (*pfJets)[ind1_mu_vetoed].neutralHadronEnergyFraction());
4939  mPhFrac_profile = map_of_MEs[DirName + "/" + "PhFrac_profile"];
4940  if (mPhFrac_profile && mPhFrac_profile->getRootObject())
4941  mPhFrac_profile->Fill(numPV, (*pfJets)[ind1_mu_vetoed].neutralEmEnergyFraction());
4942  mHFEMFrac_profile = map_of_MEs[DirName + "/" + "HFEMFrac_profile"];
4943  if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject())
4944  mHFEMFrac_profile->Fill(numPV, (*pfJets)[ind1_mu_vetoed].HFEMEnergyFraction());
4945  mHFHFrac_profile = map_of_MEs[DirName + "/" + "HFHFrac_profile"];
4946  if (mHFHFrac_profile && mHFHFrac_profile->getRootObject())
4947  mHFHFrac_profile->Fill(numPV, (*pfJets)[ind1_mu_vetoed].HFHadronEnergyFraction());
4948  }
4949  double MPF = 1. + (met->px() * zCand.Px() + met->py() * zCand.Py()) / (zCand.Pt() * zCand.Pt());
4950  if (fabs(recoJet1.eta()) < 1.3) { //barrel jets
4951  mJ1Pt_over_ZPt_J_Barrel = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_J_Barrel"];
4952  if (mJ1Pt_over_ZPt_J_Barrel && mJ1Pt_over_ZPt_J_Barrel->getRootObject())
4953  mJ1Pt_over_ZPt_J_Barrel->Fill(recoJet1.pt() / zCand.Pt());
4954  mMPF_J_Barrel = map_of_MEs[DirName + "/" + "MPF_J_Barrel"];
4955  if (mMPF_J_Barrel && mMPF_J_Barrel->getRootObject())
4956  mMPF_J_Barrel->Fill(MPF);
4957  if (zCand.Pt() < 90) { //lower cut on 30 already right from the start
4958  mJetZBalance_lowZPt_J_Barrel = map_of_MEs[DirName + "/" + "JZB_lowZPt_J_Barrel"];
4959  if (mJetZBalance_lowZPt_J_Barrel && mJetZBalance_lowZPt_J_Barrel->getRootObject())
4960  mJetZBalance_lowZPt_J_Barrel->Fill(recoJet1.pt() - zCand.Pt());
4961  mJ1Pt_over_ZPt_lowZPt_J_Barrel = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_lowZPt_J_Barrel"];
4962  if (mJ1Pt_over_ZPt_lowZPt_J_Barrel && mJ1Pt_over_ZPt_lowZPt_J_Barrel->getRootObject())
4963  mJ1Pt_over_ZPt_lowZPt_J_Barrel->Fill(recoJet1.pt() / zCand.Pt());
4964  mMPF_lowZPt_J_Barrel = map_of_MEs[DirName + "/" + "MPF_lowZPt_J_Barrel"];
4965  if (mMPF_lowZPt_J_Barrel && mMPF_lowZPt_J_Barrel->getRootObject())
4966  mMPF_lowZPt_J_Barrel->Fill(MPF);
4967  //mMPF_J_Barrel = map_of_MEs[DirName+"/"+"MPF_J_Barrel"]; if(mMPF_J_Barrel && mMPF_J_Barrel->getRootObject())mMPF_J_Barrel->Fill(MPF);
4968  } else if (zCand.Pt() < 140) {
4969  mJetZBalance_mediumZPt_J_Barrel = map_of_MEs[DirName + "/" + "JZB_mediumZPt_J_Barrel"];
4970  if (mJetZBalance_mediumZPt_J_Barrel && mJetZBalance_mediumZPt_J_Barrel->getRootObject())
4971  mJetZBalance_mediumZPt_J_Barrel->Fill(recoJet1.pt() - zCand.Pt());
4972  mJ1Pt_over_ZPt_mediumZPt_J_Barrel = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_mediumZPt_J_Barrel"];
4973  if (mJ1Pt_over_ZPt_mediumZPt_J_Barrel && mJ1Pt_over_ZPt_mediumZPt_J_Barrel->getRootObject())
4974  mJ1Pt_over_ZPt_mediumZPt_J_Barrel->Fill(recoJet1.pt() / zCand.Pt());
4975  mMPF_mediumZPt_J_Barrel = map_of_MEs[DirName + "/" + "MPF_mediumZPt_J_Barrel"];
4976  if (mMPF_mediumZPt_J_Barrel && mMPF_mediumZPt_J_Barrel->getRootObject())
4977  mMPF_mediumZPt_J_Barrel->Fill(MPF);
4978  } else {
4979  mJetZBalance_highZPt_J_Barrel = map_of_MEs[DirName + "/" + "JZB_highZPt_J_Barrel"];
4980  if (mJetZBalance_highZPt_J_Barrel && mJetZBalance_highZPt_J_Barrel->getRootObject())
4981  mJetZBalance_highZPt_J_Barrel->Fill(recoJet1.pt() - zCand.Pt());
4982  mJ1Pt_over_ZPt_highZPt_J_Barrel = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_highZPt_J_Barrel"];
4983  if (mJ1Pt_over_ZPt_highZPt_J_Barrel && mJ1Pt_over_ZPt_highZPt_J_Barrel->getRootObject())
4984  mJ1Pt_over_ZPt_highZPt_J_Barrel->Fill(recoJet1.pt() / zCand.Pt());
4985  mMPF_highZPt_J_Barrel = map_of_MEs[DirName + "/" + "MPF_highZPt_J_Barrel"];
4986  if (mMPF_highZPt_J_Barrel && mMPF_highZPt_J_Barrel->getRootObject())
4987  mMPF_highZPt_J_Barrel->Fill(MPF);
4988  }
4989  if (zCand.Pt() > 30) {
4990  if (zCand.Pt() < 55) {
4991  mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel =
4992  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_30_55_J_Barrel"];
4993  if (mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel && mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel->getRootObject())
4994  mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
4995  } else if (zCand.Pt() < 75) {
4996  mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel =
4997  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_55_75_J_Barrel"];
4998  if (mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel && mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel->getRootObject())
4999  mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5000  } else if (zCand.Pt() < 150) {
5001  mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel =
5002  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_75_150_J_Barrel"];
5003  if (mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel && mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel->getRootObject())
5004  mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5005  } else if (zCand.Pt() < 290) {
5006  mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel =
5007  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_150_290_J_Barrel"];
5008  if (mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel && mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel->getRootObject())
5009  mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5010  } else {
5011  mDeltaPt_Z_j1_over_ZPt_290_J_Barrel = map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_290_J_Barrel"];
5012  if (mDeltaPt_Z_j1_over_ZPt_290_J_Barrel && mDeltaPt_Z_j1_over_ZPt_290_J_Barrel->getRootObject())
5013  mDeltaPt_Z_j1_over_ZPt_290_J_Barrel->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5014  }
5015  }
5016  } else if (fabs(recoJet1.eta()) < 3.0) { //endcap jets
5017  mJ1Pt_over_ZPt_J_EndCap = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_J_EndCap"];
5018  if (mJ1Pt_over_ZPt_J_EndCap && mJ1Pt_over_ZPt_J_EndCap->getRootObject())
5019  mJ1Pt_over_ZPt_J_EndCap->Fill(recoJet1.pt() / zCand.Pt());
5020  mMPF_J_EndCap = map_of_MEs[DirName + "/" + "MPF_J_EndCap"];
5021  if (mMPF_J_EndCap && mMPF_J_EndCap->getRootObject())
5022  mMPF_J_EndCap->Fill(MPF);
5023  if (zCand.Pt() < 90) { //lower cut on 30 already right from the start
5024  mJetZBalance_lowZPt_J_EndCap = map_of_MEs[DirName + "/" + "JZB_lowZPt_J_EndCap"];
5025  if (mJetZBalance_lowZPt_J_EndCap && mJetZBalance_lowZPt_J_EndCap->getRootObject())
5026  mJetZBalance_lowZPt_J_EndCap->Fill(recoJet1.pt() - zCand.Pt());
5027  mJ1Pt_over_ZPt_lowZPt_J_EndCap = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_lowZPt_J_EndCap"];
5028  if (mJ1Pt_over_ZPt_lowZPt_J_EndCap && mJ1Pt_over_ZPt_lowZPt_J_EndCap->getRootObject())
5029  mJ1Pt_over_ZPt_lowZPt_J_EndCap->Fill(recoJet1.pt() / zCand.Pt());
5030  mMPF_lowZPt_J_EndCap = map_of_MEs[DirName + "/" + "MPF_lowZPt_J_EndCap"];
5031  if (mMPF_lowZPt_J_EndCap && mMPF_lowZPt_J_EndCap->getRootObject())
5032  mMPF_lowZPt_J_EndCap->Fill(MPF);
5033  } else if (zCand.Pt() < 140) {
5034  mJetZBalance_mediumZPt_J_EndCap = map_of_MEs[DirName + "/" + "JZB_mediumZPt_J_EndCap"];
5035  if (mJetZBalance_mediumZPt_J_EndCap && mJetZBalance_mediumZPt_J_EndCap->getRootObject())
5036  mJetZBalance_mediumZPt_J_EndCap->Fill(recoJet1.pt() - zCand.Pt());
5037  mJ1Pt_over_ZPt_mediumZPt_J_EndCap = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_mediumZPt_J_EndCap"];
5038  if (mJ1Pt_over_ZPt_mediumZPt_J_EndCap && mJ1Pt_over_ZPt_mediumZPt_J_EndCap->getRootObject())
5039  mJ1Pt_over_ZPt_mediumZPt_J_EndCap->Fill(recoJet1.pt() / zCand.Pt());
5040  mMPF_mediumZPt_J_EndCap = map_of_MEs[DirName + "/" + "MPF_mediumZPt_J_EndCap"];
5041  if (mMPF_mediumZPt_J_EndCap && mMPF_mediumZPt_J_EndCap->getRootObject())
5042  mMPF_mediumZPt_J_EndCap->Fill(MPF);
5043  } else {
5044  mJetZBalance_highZPt_J_EndCap = map_of_MEs[DirName + "/" + "JZB_highZPt_J_EndCap"];
5045  if (mJetZBalance_highZPt_J_EndCap && mJetZBalance_highZPt_J_EndCap->getRootObject())
5046  mJetZBalance_highZPt_J_EndCap->Fill(recoJet1.pt() - zCand.Pt());
5047  mJ1Pt_over_ZPt_highZPt_J_EndCap = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_highZPt_J_EndCap"];
5048  if (mJ1Pt_over_ZPt_highZPt_J_EndCap && mJ1Pt_over_ZPt_highZPt_J_EndCap->getRootObject())
5049  mJ1Pt_over_ZPt_highZPt_J_EndCap->Fill(recoJet1.pt() / zCand.Pt());
5050  mMPF_highZPt_J_EndCap = map_of_MEs[DirName + "/" + "MPF_highZPt_J_EndCap"];
5051  if (mMPF_highZPt_J_EndCap && mMPF_highZPt_J_EndCap->getRootObject())
5052  mMPF_highZPt_J_EndCap->Fill(MPF);
5053  }
5054  if (zCand.Pt() > 30) {
5055  if (zCand.Pt() < 55) {
5056  mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap =
5057  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_30_55_J_EndCap"];
5058  if (mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap && mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap->getRootObject())
5059  mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5060  } else if (zCand.Pt() < 75) {
5061  mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap =
5062  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_55_75_J_EndCap"];
5063  if (mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap && mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap->getRootObject())
5064  mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5065  } else if (zCand.Pt() < 150) {
5066  mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap =
5067  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_75_150_J_EndCap"];
5068  if (mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap && mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap->getRootObject())
5069  mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5070  } else if (zCand.Pt() < 290) {
5071  mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap =
5072  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_150_290_J_EndCap"];
5073  if (mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap && mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap->getRootObject())
5074  mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5075  } else {
5076  mDeltaPt_Z_j1_over_ZPt_290_J_EndCap = map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_290_J_EndCap"];
5077  if (mDeltaPt_Z_j1_over_ZPt_290_J_EndCap && mDeltaPt_Z_j1_over_ZPt_290_J_EndCap->getRootObject())
5078  mDeltaPt_Z_j1_over_ZPt_290_J_EndCap->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5079  }
5080  }
5081  } else { //forward jets
5082  mJ1Pt_over_ZPt_J_Forward = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_J_Forward"];
5083  if (mJ1Pt_over_ZPt_J_Forward && mJ1Pt_over_ZPt_J_Forward->getRootObject())
5084  mJ1Pt_over_ZPt_J_Forward->Fill(recoJet1.pt() / zCand.Pt());
5085  mMPF_J_Forward = map_of_MEs[DirName + "/" + "MPF_J_Forward"];
5086  if (mMPF_J_Forward && mMPF_J_Forward->getRootObject())
5087  mMPF_J_Forward->Fill(MPF);
5088  if (zCand.Pt() < 90) { //lower cut on 30 already right from the start
5089  mJetZBalance_lowZPt_J_Forward = map_of_MEs[DirName + "/" + "JZB_lowZPt_J_Forward"];
5090  if (mJetZBalance_lowZPt_J_Forward && mJetZBalance_lowZPt_J_Forward->getRootObject())
5091  mJetZBalance_lowZPt_J_Forward->Fill(recoJet1.pt() - zCand.Pt());
5092  mJ1Pt_over_ZPt_lowZPt_J_Forward = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_lowZPt_J_Forward"];
5093  if (mJ1Pt_over_ZPt_lowZPt_J_Forward && mJ1Pt_over_ZPt_lowZPt_J_Forward->getRootObject())
5094  mJ1Pt_over_ZPt_lowZPt_J_Forward->Fill(recoJet1.pt() / zCand.Pt());
5095  mMPF_lowZPt_J_Forward = map_of_MEs[DirName + "/" + "MPF_lowZPt_J_Forward"];
5096  if (mMPF_lowZPt_J_Forward && mMPF_lowZPt_J_Forward->getRootObject())
5097  mMPF_lowZPt_J_Forward->Fill(MPF);
5098  } else if (zCand.Pt() < 140) {
5099  mJetZBalance_mediumZPt_J_Forward = map_of_MEs[DirName + "/" + "JZB_mediumZPt_J_Forward"];
5100  if (mJetZBalance_mediumZPt_J_Forward && mJetZBalance_mediumZPt_J_Forward->getRootObject())
5101  mJetZBalance_mediumZPt_J_Forward->Fill(recoJet1.pt() - zCand.Pt());
5102  mJ1Pt_over_ZPt_mediumZPt_J_Forward = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_mediumZPt_J_Forward"];
5103  if (mJ1Pt_over_ZPt_mediumZPt_J_Forward && mJ1Pt_over_ZPt_mediumZPt_J_Forward->getRootObject())
5104  mJ1Pt_over_ZPt_mediumZPt_J_Forward->Fill(recoJet1.pt() / zCand.Pt());
5105  mMPF_mediumZPt_J_Forward = map_of_MEs[DirName + "/" + "MPF_mediumZPt_J_Forward"];
5106  if (mMPF_mediumZPt_J_Forward && mMPF_mediumZPt_J_Forward->getRootObject())
5107  mMPF_mediumZPt_J_Forward->Fill(MPF);
5108  } else {
5109  mJetZBalance_highZPt_J_Forward = map_of_MEs[DirName + "/" + "JZB_highZPt_J_Forward"];
5110  if (mJetZBalance_highZPt_J_Forward && mJetZBalance_highZPt_J_Forward->getRootObject())
5111  mJetZBalance_highZPt_J_Forward->Fill(recoJet1.pt() - zCand.Pt());
5112  mJ1Pt_over_ZPt_highZPt_J_Forward = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_highZPt_J_Forward"];
5113  if (mJ1Pt_over_ZPt_highZPt_J_Forward && mJ1Pt_over_ZPt_highZPt_J_Forward->getRootObject())
5114  mJ1Pt_over_ZPt_highZPt_J_Forward->Fill(recoJet1.pt() / zCand.Pt());
5115  mMPF_highZPt_J_Forward = map_of_MEs[DirName + "/" + "MPF_highZPt_J_Forward"];
5116  if (mMPF_highZPt_J_Forward && mMPF_highZPt_J_Forward->getRootObject())
5117  mMPF_highZPt_J_Forward->Fill(MPF);
5118  }
5119  if (zCand.Pt() > 30) {
5120  if (zCand.Pt() < 55) {
5121  mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward =
5122  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_30_55_J_Forward"];
5123  if (mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward && mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward->getRootObject())
5124  mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5125  } else if (zCand.Pt() < 100) {
5126  mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward =
5127  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_55_100_J_Forward"];
5128  if (mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward && mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward->getRootObject())
5129  mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5130  } else {
5131  mDeltaPt_Z_j1_over_ZPt_100_J_Forward = map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_100_J_Forward"];
5132  if (mDeltaPt_Z_j1_over_ZPt_100_J_Forward && mDeltaPt_Z_j1_over_ZPt_100_J_Forward->getRootObject())
5133  mDeltaPt_Z_j1_over_ZPt_100_J_Forward->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5134  }
5135  }
5136  }
5137  int QGmulti = -1;
5138  float QGLikelihood = -10;
5139  float QGptD = -10;
5140  float QGaxis2 = -10;
5141  if (fill_CHS_histos) {
5142  reco::PFJetRef pfjetref(pfJets, ind1_mu_vetoed);
5143  QGmulti = (*qgMultiplicity)[pfjetref];
5144  QGLikelihood = (*qgLikelihood)[pfjetref];
5145  QGptD = (*qgptD)[pfjetref];
5146  QGaxis2 = (*qgaxis2)[pfjetref];
5147  if (fabs(recoJet1.eta()) < 1.3) { //barrel jets
5148  //fractions for barrel
5149  if (recoJet1.pt() >= 20. && recoJet1.pt() <= 50.) {
5150  mAxis2_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Barrel"];
5151  if (mAxis2_lowPt_Barrel && mAxis2_lowPt_Barrel->getRootObject())
5152  mAxis2_lowPt_Barrel->Fill(QGaxis2);
5153  mpTD_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Barrel"];
5154  if (mpTD_lowPt_Barrel && mpTD_lowPt_Barrel->getRootObject())
5155  mpTD_lowPt_Barrel->Fill(QGptD);
5156  mMultiplicityQG_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Barrel"];
5157  if (mMultiplicityQG_lowPt_Barrel && mMultiplicityQG_lowPt_Barrel->getRootObject())
5158  mMultiplicityQG_lowPt_Barrel->Fill(QGmulti);
5159  mqgLikelihood_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Barrel"];
5160  if (mqgLikelihood_lowPt_Barrel && mqgLikelihood_lowPt_Barrel->getRootObject())
5161  mqgLikelihood_lowPt_Barrel->Fill(QGLikelihood);
5162  }
5163  if (recoJet1.pt() > 50. && recoJet1.pt() <= 140.) {
5164  mAxis2_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Barrel"];
5165  if (mAxis2_mediumPt_Barrel && mAxis2_mediumPt_Barrel->getRootObject())
5166  mAxis2_mediumPt_Barrel->Fill(QGaxis2);
5167  mpTD_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Barrel"];
5168  if (mpTD_mediumPt_Barrel && mpTD_mediumPt_Barrel->getRootObject())
5169  mpTD_mediumPt_Barrel->Fill(QGptD);
5170  mMultiplicityQG_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Barrel"];
5171  if (mMultiplicityQG_mediumPt_Barrel && mMultiplicityQG_mediumPt_Barrel->getRootObject())
5172  mMultiplicityQG_mediumPt_Barrel->Fill(QGmulti);
5173  mqgLikelihood_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Barrel"];
5174  if (mqgLikelihood_mediumPt_Barrel && mqgLikelihood_mediumPt_Barrel->getRootObject())
5175  mqgLikelihood_mediumPt_Barrel->Fill(QGLikelihood);
5176  }
5177  if (recoJet1.pt() > 140.) {
5178  mAxis2_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Barrel"];
5179  if (mAxis2_highPt_Barrel && mAxis2_highPt_Barrel->getRootObject())
5180  mAxis2_highPt_Barrel->Fill(QGaxis2);
5181  mpTD_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Barrel"];
5182  if (mpTD_highPt_Barrel && mpTD_highPt_Barrel->getRootObject())
5183  mpTD_highPt_Barrel->Fill(QGptD);
5184  mMultiplicityQG_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Barrel"];
5185  if (mMultiplicityQG_highPt_Barrel && mMultiplicityQG_highPt_Barrel->getRootObject())
5186  mMultiplicityQG_highPt_Barrel->Fill(QGmulti);
5187  mqgLikelihood_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Barrel"];
5188  if (mqgLikelihood_highPt_Barrel && mqgLikelihood_highPt_Barrel->getRootObject())
5189  mqgLikelihood_highPt_Barrel->Fill(QGLikelihood);
5190  }
5191  } else if (fabs(recoJet1.eta()) < 3.0) { //endcap jets
5192  if (recoJet1.pt() > 20. && recoJet1.pt() <= 50.) {
5193  mAxis2_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_EndCap"];
5194  if (mAxis2_lowPt_EndCap && mAxis2_lowPt_EndCap->getRootObject())
5195  mAxis2_lowPt_EndCap->Fill(QGaxis2);
5196  mpTD_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_EndCap"];
5197  if (mpTD_lowPt_EndCap && mpTD_lowPt_EndCap->getRootObject())
5198  mpTD_lowPt_EndCap->Fill(QGptD);
5199  mMultiplicityQG_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_EndCap"];
5200  if (mMultiplicityQG_lowPt_EndCap && mMultiplicityQG_lowPt_EndCap->getRootObject())
5201  mMultiplicityQG_lowPt_EndCap->Fill(QGmulti);
5202  mqgLikelihood_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_EndCap"];
5203  if (mqgLikelihood_lowPt_EndCap && mqgLikelihood_lowPt_EndCap->getRootObject())
5204  mqgLikelihood_lowPt_EndCap->Fill(QGLikelihood);
5205  }
5206  if (recoJet1.pt() > 50. && recoJet1.pt() <= 140.) {
5207  mAxis2_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_EndCap"];
5208  if (mAxis2_mediumPt_EndCap && mAxis2_mediumPt_EndCap->getRootObject())
5209  mAxis2_mediumPt_EndCap->Fill(QGaxis2);
5210  mpTD_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_EndCap"];
5211  if (mpTD_mediumPt_EndCap && mpTD_mediumPt_EndCap->getRootObject())
5212  mpTD_mediumPt_EndCap->Fill(QGptD);
5213  mMultiplicityQG_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_EndCap"];
5214  if (mMultiplicityQG_mediumPt_EndCap && mMultiplicityQG_mediumPt_EndCap->getRootObject())
5215  mMultiplicityQG_mediumPt_EndCap->Fill(QGmulti);
5216  mqgLikelihood_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_EndCap"];
5217  if (mqgLikelihood_mediumPt_EndCap && mqgLikelihood_mediumPt_EndCap->getRootObject())
5218  mqgLikelihood_mediumPt_EndCap->Fill(QGLikelihood);
5219  }
5220  if (recoJet1.pt() > 140.) {
5221  mAxis2_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_EndCap"];
5222  if (mAxis2_highPt_EndCap && mAxis2_highPt_EndCap->getRootObject())
5223  mAxis2_highPt_EndCap->Fill(QGaxis2);
5224  mpTD_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_highPt_EndCap"];
5225  if (mpTD_highPt_EndCap && mpTD_highPt_EndCap->getRootObject())
5226  mpTD_highPt_EndCap->Fill(QGptD);
5227  mMultiplicityQG_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_EndCap"];
5228  if (mMultiplicityQG_highPt_EndCap && mMultiplicityQG_highPt_EndCap->getRootObject())
5229  mMultiplicityQG_highPt_EndCap->Fill(QGmulti);
5230  mqgLikelihood_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_EndCap"];
5231  if (mqgLikelihood_highPt_EndCap && mqgLikelihood_highPt_EndCap->getRootObject())
5232  mqgLikelihood_highPt_EndCap->Fill(QGLikelihood);
5233  }
5234  } else {
5235  if (recoJet1.pt() > 20. && recoJet1.pt() <= 50.) {
5236  mAxis2_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Forward"];
5237  if (mAxis2_lowPt_Forward && mAxis2_lowPt_Forward->getRootObject())
5238  mAxis2_lowPt_Forward->Fill(QGaxis2);
5239  mpTD_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Forward"];
5240  if (mpTD_lowPt_Forward && mpTD_lowPt_Forward->getRootObject())
5241  mpTD_lowPt_Forward->Fill(QGptD);
5242  mMultiplicityQG_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Forward"];
5243  if (mMultiplicityQG_lowPt_Forward && mMultiplicityQG_lowPt_Forward->getRootObject())
5244  mMultiplicityQG_lowPt_Forward->Fill(QGmulti);
5245  mqgLikelihood_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Forward"];
5246  if (mqgLikelihood_lowPt_Forward && mqgLikelihood_lowPt_Forward->getRootObject())
5247  mqgLikelihood_lowPt_Forward->Fill(QGLikelihood);
5248  }
5249  if (recoJet1.pt() > 50. && recoJet1.pt() <= 140.) {
5250  mAxis2_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Forward"];
5251  if (mAxis2_mediumPt_Forward && mAxis2_mediumPt_Forward->getRootObject())
5252  mAxis2_mediumPt_Forward->Fill(QGaxis2);
5253  mpTD_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Forward"];
5254  if (mpTD_mediumPt_Forward && mpTD_mediumPt_Forward->getRootObject())
5255  mpTD_mediumPt_Forward->Fill(QGptD);
5256  mMultiplicityQG_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Forward"];
5257  if (mMultiplicityQG_mediumPt_Forward && mMultiplicityQG_mediumPt_Forward->getRootObject())
5258  mMultiplicityQG_mediumPt_Forward->Fill(QGmulti);
5259  mqgLikelihood_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Forward"];
5260  if (mqgLikelihood_mediumPt_Forward && mqgLikelihood_mediumPt_Forward->getRootObject())
5261  mqgLikelihood_mediumPt_Forward->Fill(QGLikelihood);
5262  }
5263  if (recoJet1.pt() > 140.) {
5264  mAxis2_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Forward"];
5265  if (mAxis2_highPt_Forward && mAxis2_highPt_Forward->getRootObject())
5266  mAxis2_highPt_Forward->Fill(QGaxis2);
5267  mpTD_highPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Forward"];
5268  if (mpTD_highPt_Forward && mpTD_highPt_Forward->getRootObject())
5269  mpTD_highPt_Forward->Fill(QGptD);
5270  mMultiplicityQG_highPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Forward"];
5271  if (mMultiplicityQG_highPt_Forward && mMultiplicityQG_highPt_Forward->getRootObject())
5272  mMultiplicityQG_highPt_Forward->Fill(QGmulti);
5273  mqgLikelihood_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Forward"];
5274  if (mqgLikelihood_highPt_Forward && mqgLikelihood_highPt_Forward->getRootObject())
5275  mqgLikelihood_highPt_Forward->Fill(QGLikelihood);
5276  }
5277  }
5278  } //fill quark gluon tagged variables
5279  } //jet back to back to Z
5280  } //2nd jet veto
5281  } //Z selection + hard leading jet
5282 }
PFJetIDSelectionFunctor::RUN2ULPUPPI
Definition: PFJetIDSelectionFunctor.h:36
JetMETDQMDCSFilter
Definition: JetMETDQMDCSFilter.h:24
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
reco::JetID
Jet ID object.
Definition: JetID.h:16
CaloJetCollection.h
cutBasedMuonId_MuonPOG_V0_cff.globalTrack
globalTrack
Definition: cutBasedMuonId_MuonPOG_V0_cff.py:135
PFJetIDSelectionFunctor::FIRSTDATA
Definition: PFJetIDSelectionFunctor.h:28
Handle.h
reco::Jet::scaleEnergy
virtual void scaleEnergy(double fScale)
scale energy of the jet
CaloJet.h
mps_fire.i
i
Definition: mps_fire.py:428
MessageLogger.h
edm::Handle::product
T const * product() const
Definition: Handle.h:70
PileupJetIdentifier::passJetId
static bool passJetId(int flag, Id level)
Definition: PileupJetIdentifier.h:89
ESHandle.h
dqm::impl::MonitorElement::setOption
virtual void setOption(const char *option)
Definition: MonitorElement.cc:887
SiStripGain.h
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
JetIDSelectionFunctor::DQM09
Definition: JetIDSelectionFunctor.h:30
L1GlobalTriggerReadoutSetupFwd.h
edm::Run
Definition: Run.h:45
HLT_FULL_cff.scale
scale
Definition: HLT_FULL_cff.py:6637
PileupJetIdentifier::kTight
Definition: PileupJetIdentifier.h:87
edm
HLT enums.
Definition: AlignableModifier.h:19
reco::Candidate::PolarLorentzVector
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: Candidate.h:38
TrackCollections2monitor_cff.numberOfValidPixelHits
numberOfValidPixelHits
at most 999 lost hits
Definition: TrackCollections2monitor_cff.py:250
reco::VertexCollection
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
gather_cfg.cout
cout
Definition: gather_cfg.py:144
PFJet.h
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89353
PFJetCollection.h
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
l1t::UseEventSetupIn::Run
JetAnalyzer::~JetAnalyzer
~JetAnalyzer() override
Destructor.
Definition: JetAnalyzer.cc:266
SiStripGainRcd.h
SiStripDetId.h
reco::JetCorrector::correction
double correction(const LorentzVector &fJet) const
get correction using Jet information only
Definition: JetCorrector.h:44
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
SiStripNoises.h
JetAnalyzer.h
reco::LeafCandidate::pt
double pt() const final
transverse momentum
Definition: LeafCandidate.h:146
PFJetIDSelectionFunctor::WINTER16
Definition: PFJetIDSelectionFunctor.h:30
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
reco::JetID::fHPD
float fHPD
Definition: JetID.h:41
JetIDSelectionFunctor::CRAFT08
Definition: JetIDSelectionFunctor.h:30
edm::Handle
Definition: AssociativeIterator.h:50
PFJetIDSelectionFunctor
PF Jet selector for pat::Jets.
Definition: PFJetIDSelectionFunctor.h:25
edm::Ref
Definition: AssociativeIterator.h:58
BTaggingMonitor_cfi.met
met
Definition: BTaggingMonitor_cfi.py:84
PFJetIDSelectionFunctor::RUNIISTARTUP
Definition: PFJetIDSelectionFunctor.h:29
reco::MET
Definition: MET.h:41
TrackingRecHit.h
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
Jet
Definition: Jet.py:1
CItAlgo
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
Definition: L1GtTriggerMenuFwd.h:38
L1TEGammaOffline_cfi.triggerNames
triggerNames
Definition: L1TEGammaOffline_cfi.py:40
JetIDSelectionFunctor
Jet selector for pat::Jets and for CaloJets.
Definition: JetIDSelectionFunctor.h:28
PVValHelper::eta
Definition: PVValidationHelpers.h:69
reco::Jet::nConstituents
virtual int nConstituents() const
Definition: Jet.h:65
L1GtTriggerMenuRcd
Definition: L1GtTriggerMenuRcd.h:32
PFJetIDSelectionFunctor::WINTER17PUPPI
Definition: PFJetIDSelectionFunctor.h:32
IdealMagneticFieldRecord.h
edm::ESHandle
Definition: DTSurvey.h:22
dqm::implementation::IBooker::bookProfile
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:322
JetIDSelectionFunctor::LOOSE
Definition: JetIDSelectionFunctor.h:31
reco::JetID::fRBX
float fRBX
Definition: JetID.h:42
HLT_FULL_cff.pt1
pt1
Definition: HLT_FULL_cff.py:9936
isolatedTracks_cfi.caloJets
caloJets
Definition: isolatedTracks_cfi.py:33
JPTJetCollection.h
PbPb_ZMuSkimMuonDPG_cff.deltaR
deltaR
Definition: PbPb_ZMuSkimMuonDPG_cff.py:63
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HLTTauDQMOffline_cfi.Muons
Muons
Definition: HLTTauDQMOffline_cfi.py:51
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
custom_jme_cff.nConstituents
nConstituents
Definition: custom_jme_cff.py:136
optionsL1T.menu
menu
Definition: optionsL1T.py:29
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
edm::ParameterSet
Definition: ParameterSet.h:47
SiStripCluster.h
L1GtTriggerMenu
Definition: L1GtTriggerMenu.h:48
Event.h
reco::LeafCandidate::eta
double eta() const final
momentum pseudorapidity
Definition: LeafCandidate.h:152
L1GlobalTriggerReadoutSetup.h
deltaR.h
GenericTriggerEventFlag
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
Definition: GenericTriggerEventFlag.h:42
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
JetIDSelectionFunctor::PURE09
Definition: JetIDSelectionFunctor.h:30
edm::get
T const & get(Event const &event, InputTag const &tag) noexcept(false)
Definition: Event.h:671
position
static int position[264][3]
Definition: ReadPGInfo.cc:289
TriggerNames.h
iEvent
int iEvent
Definition: GenABIO.cc:224
dqm::impl::MonitorElement::setBinLabel
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)
Definition: MonitorElement.cc:771
susybsm::HSCParticleType::innerTrack
Definition: HSCParticle.h:20
JetAnalyzer::bookMESetSelection
void bookMESetSelection(std::string, DQMStore::IBooker &)
Definition: JetAnalyzer.cc:1699
ProjectedSiStripRecHit2D.h
edm::EventSetup
Definition: EventSetup.h:57
HLT_FULL_cff.pt2
pt2
Definition: HLT_FULL_cff.py:9938
hemisphereProducer_cfi.patJets
patJets
Definition: hemisphereProducer_cfi.py:5
JetAnalyzer::JetAnalyzer
JetAnalyzer(const edm::ParameterSet &)
Constructor.
Definition: JetAnalyzer.cc:64
Jet.h
RecoJets_cff.recoJets
recoJets
Definition: RecoJets_cff.py:19
muons_cfi.pfIsolationR04
pfIsolationR04
Definition: muons_cfi.py:31
PFJetIDSelectionFunctor::TIGHT
Definition: PFJetIDSelectionFunctor.h:39
pat::strbitset
Definition: strbitset.h:23
JetIDSelectionFunctor::MINIMAL
Definition: JetIDSelectionFunctor.h:31
std
Definition: JetResolutionObject.h:76
JetTracksAssociationDRCalo.h
PVValHelper::dxy
Definition: PVValidationHelpers.h:47
reco::LeafCandidate::phi
double phi() const final
momentum azimuthal angle
Definition: LeafCandidate.h:148
PileupJetIdentifier::kLoose
Definition: PileupJetIdentifier.h:87
DetId.h
PVValHelper::dz
Definition: PVValidationHelpers.h:50
JetAnalyzer::dqmBeginRun
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
Initialize run-based parameters.
Definition: JetAnalyzer.cc:2204
spclusmultinvestigator_cfi.vertexCollection
vertexCollection
Definition: spclusmultinvestigator_cfi.py:4
dqm::implementation::IBooker::book2D
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:177
TrackingComponentsRecord.h
SiStripQuality.h
edm::TriggerNames
Definition: TriggerNames.h:55
JetAnalyzer::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Get the analysis.
Definition: JetAnalyzer.cc:2249
SiStripQualityRcd.h
Point3D.h
fed_dqm_sourceclient-live_cfg.DirName
DirName
Definition: fed_dqm_sourceclient-live_cfg.py:57
edm::triggerResults
static const std::string triggerResults("TriggerResults")
JetAnalyzer::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Inizialize parameters for histo binning.
Definition: JetAnalyzer.cc:276
EventSetup.h
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
PFJetIDSelectionFunctor::WINTER17
Definition: PFJetIDSelectionFunctor.h:31
reco::JetID::n90Hits
short n90Hits
Definition: JetID.h:43
dqm::implementation::IBooker
Definition: DQMStore.h:43
JetIDSelectionFunctor::TIGHT
Definition: JetIDSelectionFunctor.h:31
SiStripNoisesRcd.h
Candidate.h
L1GlobalTriggerReadoutRecord::technicalTriggerWord
const TechnicalTriggerWord & technicalTriggerWord(int bxInEventValue) const
Definition: L1GlobalTriggerReadoutRecord.cc:212
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:224
TechnicalTriggerWord
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
Definition: L1GlobalTriggerReadoutSetupFwd.h:41
SiStripMatchedRecHit2D.h
InvalidTrackingRecHit.h
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
edm::Event
Definition: Event.h:73
PileupJetIdentifier::kMedium
Definition: PileupJetIdentifier.h:87
SiStripRecHit2D.h
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
JetIDSelectionFunctor::LOOSE_AOD
Definition: JetIDSelectionFunctor.h:31
edm::InputTag
Definition: InputTag.h:15
L1GlobalTriggerReadoutRecord.h
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
pfJetBenchmark_cfi.pfJets
pfJets
Definition: pfJetBenchmark_cfi.py:4
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
reco::JetID::restrictedEMF
float restrictedEMF
Definition: JetID.h:48
PFJetIDSelectionFunctor::RUN2ULCHS
Definition: PFJetIDSelectionFunctor.h:35
PFJetIDSelectionFunctor::LOOSE
Definition: PFJetIDSelectionFunctor.h:39