CMS 3D CMS Logo

JetAnalyzer.cc
Go to the documentation of this file.
1 
16 
29 
33 
53 
54 #include <string>
55 
56 #include <cmath>
57 
58 using namespace edm;
59 using namespace reco;
60 using namespace std;
61 
62 // ***********************************************************
64 //: trackPropagator_(new jetAnalysis::TrackPropagatorToCalo)//,
65 //sOverNCalculator_(new jetAnalysis::StripSignalOverNoiseCalculator)
66 {
67  parameters_ = pSet.getParameter<edm::ParameterSet>("jetAnalysis");
68  mInputCollection_ = pSet.getParameter<edm::InputTag>("jetsrc");
69  m_l1algoname_ = pSet.getParameter<std::string>("l1algoname");
70  m_bitAlgTechTrig_ = -1;
71 
72  jetType_ = pSet.getParameter<std::string>("JetType");
73  m_l1algoname_ = pSet.getParameter<std::string>("l1algoname");
74 
75  fill_jet_high_level_histo = pSet.getParameter<bool>("filljetHighLevel"),
76  filljetsubstruc_ = pSet.getParameter<bool>("fillsubstructure");
77  pt_min_boosted_ = pSet.getParameter<double>("ptMinBoosted");
78 
79  isCaloJet_ = (std::string("calo") == jetType_);
80  //isJPTJet_ = (std::string("jpt") ==jetType_);
81  isPFJet_ = (std::string("pf") == jetType_);
82  isMiniAODJet_ = (std::string("miniaod") == jetType_);
83  jetCorrectorTag_ = pSet.getParameter<edm::InputTag>("JetCorrections");
84  if (!isMiniAODJet_) { //in MiniAOD jet is already corrected
85  jetCorrectorToken_ = consumes<reco::JetCorrector>(jetCorrectorTag_);
86  }
87 
88  if (isCaloJet_) {
89  caloJetsToken_ = consumes<reco::CaloJetCollection>(mInputCollection_);
90  // MET information
91  caloMetToken_ =
92  consumes<reco::CaloMETCollection>(edm::InputTag(pSet.getParameter<edm::InputTag>("METCollectionLabel")));
93  }
94  //if (isJPTJet_) jptJetsToken_ = consumes<reco::JPTJetCollection>(mInputCollection_);
95  if (isPFJet_) {
96  pfJetsToken_ = consumes<reco::PFJetCollection>(mInputCollection_);
97  MuonsToken_ = consumes<reco::MuonCollection>(pSet.getParameter<edm::InputTag>("muonsrc"));
98  pfMetToken_ =
99  consumes<reco::PFMETCollection>(edm::InputTag(pSet.getParameter<edm::InputTag>("METCollectionLabel")));
100  }
101  if (isMiniAODJet_) {
102  patJetsToken_ = consumes<pat::JetCollection>(mInputCollection_);
103  patMetToken_ = consumes<pat::METCollection>(edm::InputTag(pSet.getParameter<edm::InputTag>("METCollectionLabel")));
104  }
105  cutBasedPUDiscriminantToken_ =
106  consumes<edm::ValueMap<float> >(pSet.getParameter<edm::InputTag>("InputCutPUIDDiscriminant"));
107  cutBasedPUIDToken_ = consumes<edm::ValueMap<int> >(pSet.getParameter<edm::InputTag>("InputCutPUIDValue"));
108  mvaPUIDToken_ = consumes<edm::ValueMap<int> >(pSet.getParameter<edm::InputTag>("InputMVAPUIDValue"));
109  mvaFullPUDiscriminantToken_ =
110  consumes<edm::ValueMap<float> >(pSet.getParameter<edm::InputTag>("InputMVAPUIDDiscriminant"));
111 
112  qgMultiplicityToken_ = consumes<edm::ValueMap<int> >(pSet.getParameter<edm::InputTag>("InputQGMultiplicity"));
113  qgLikelihoodToken_ = consumes<edm::ValueMap<float> >(pSet.getParameter<edm::InputTag>("InputQGLikelihood"));
114  qgptDToken_ = consumes<edm::ValueMap<float> >(pSet.getParameter<edm::InputTag>("InputQGPtDToken"));
115  qgaxis2Token_ = consumes<edm::ValueMap<float> >(pSet.getParameter<edm::InputTag>("InputQGAxis2"));
116 
117  fill_CHS_histos = pSet.getParameter<bool>("fillCHShistos");
118 
119  JetIDQuality_ = pSet.getParameter<string>("JetIDQuality");
120  JetIDVersion_ = pSet.getParameter<string>("JetIDVersion");
121 
122  // JetID definitions for Calo and JPT Jets
123  if (isCaloJet_) {
124  inputJetIDValueMap = pSet.getParameter<edm::InputTag>("InputJetIDValueMap");
125  jetID_ValueMapToken_ = consumes<edm::ValueMap<reco::JetID> >(inputJetIDValueMap);
126  if (JetIDVersion_ == "PURE09") {
127  jetidversion = JetIDSelectionFunctor::PURE09;
128  } else if (JetIDVersion_ == "DQM09") {
129  jetidversion = JetIDSelectionFunctor::DQM09;
130  } else if (JetIDVersion_ == "CRAFT08") {
131  jetidversion = JetIDSelectionFunctor::CRAFT08;
132  } else {
133  if (verbose_)
134  std::cout << "no Valid JetID version given" << std::endl;
135  }
136  if (JetIDQuality_ == "MINIMAL") {
137  jetidquality = JetIDSelectionFunctor::MINIMAL;
138  } else if (JetIDQuality_ == "LOOSE_AOD") {
139  jetidquality = JetIDSelectionFunctor::LOOSE_AOD;
140  } else if (JetIDQuality_ == "LOOSE") {
141  jetidquality = JetIDSelectionFunctor::LOOSE;
142  } else if (JetIDQuality_ == "TIGHT") {
143  jetidquality = JetIDSelectionFunctor::TIGHT;
144  } else {
145  if (verbose_)
146  std::cout << "no Valid JetID quality given" << std::endl;
147  }
148  jetIDFunctor = JetIDSelectionFunctor(jetidversion, jetidquality);
149  }
150 
151  //Jet ID definitions for PFJets
152  if (isPFJet_ || isMiniAODJet_) {
153  if (JetIDVersion_ == "FIRSTDATA") {
154  pfjetidversion = PFJetIDSelectionFunctor::FIRSTDATA;
155  } else if (JetIDVersion_ == "RUNIISTARTUP") {
156  pfjetidversion = PFJetIDSelectionFunctor::RUNIISTARTUP;
157  } else if (JetIDVersion_ == "WINTER16") {
158  pfjetidversion = PFJetIDSelectionFunctor::WINTER16;
159  } else if (JetIDVersion_ == "WINTER17") {
160  pfjetidversion = PFJetIDSelectionFunctor::WINTER17;
161  } else if (JetIDVersion_ == "WINTER17PUPPI") {
163  } else if (JetIDVersion_ == "RUN2ULCHS") {
164  pfjetidversion = PFJetIDSelectionFunctor::RUN2ULCHS;
165  } else if (JetIDVersion_ == "RUN2ULPUPPI") {
166  pfjetidversion = PFJetIDSelectionFunctor::RUN2ULPUPPI;
167  } else {
168  if (verbose_)
169  std::cout << "no valid PF JetID version given" << std::endl;
170  }
171  if (JetIDQuality_ == "LOOSE") {
172  pfjetidquality = PFJetIDSelectionFunctor::LOOSE;
173  } else if (JetIDQuality_ == "TIGHT") {
174  pfjetidquality = PFJetIDSelectionFunctor::TIGHT;
175  } else {
176  if (verbose_)
177  std::cout << "no Valid PFJetID quality given" << std::endl;
178  }
179  pfjetIDFunctor = PFJetIDSelectionFunctor(pfjetidversion, pfjetidquality);
180  }
181  //check later if some of those are also needed for PFJets
182  leadJetFlag_ = 0;
183  jetLoPass_ = 0;
184  jetHiPass_ = 0;
185  ptThreshold_ = 20.;
186  ptThresholdUnc_ = 20.;
187  asymmetryThirdJetCut_ = 5.;
188  balanceThirdJetCut_ = 0.2;
189 
190  theTriggerResultsLabel_ = pSet.getParameter<edm::InputTag>("TriggerResultsLabel");
191  triggerResultsToken_ = consumes<edm::TriggerResults>(edm::InputTag(theTriggerResultsLabel_));
192  //
193  runcosmics_ = pSet.getUntrackedParameter<bool>("runcosmics", false);
194  jetCleaningFlag_ = pSet.getUntrackedParameter<bool>("JetCleaningFlag", true);
195 
196  if (runcosmics_) {
197  jetCleaningFlag_ = false;
198  }
199 
200  // ==========================================================
201  //DCS information
202  // ==========================================================
203  edm::ConsumesCollector iC = consumesCollector();
204  DCSFilterForJetMonitoring_ = new JetMETDQMDCSFilter(pSet.getParameter<ParameterSet>("DCSFilterForJetMonitoring"), iC);
205  DCSFilterForDCSMonitoring_ = new JetMETDQMDCSFilter("ecal:hbhe:hf:ho:pixel:sistrip:es:muon", iC);
206 
207  //Trigger selectoin
208  edm::ParameterSet highptjetparms = pSet.getParameter<edm::ParameterSet>("highPtJetTrigger");
209  edm::ParameterSet lowptjetparms = pSet.getParameter<edm::ParameterSet>("lowPtJetTrigger");
210 
211  highPtJetEventFlag_ =
212  new GenericTriggerEventFlag(highptjetparms, consumesCollector(), *this, l1t::UseEventSetupIn::Run);
213  lowPtJetEventFlag_ =
214  new GenericTriggerEventFlag(lowptjetparms, consumesCollector(), *this, l1t::UseEventSetupIn::Run);
215 
216  highPtJetExpr_ = highptjetparms.getParameter<std::vector<std::string> >("hltPaths");
217  lowPtJetExpr_ = lowptjetparms.getParameter<std::vector<std::string> >("hltPaths");
218 
219  processname_ = pSet.getParameter<std::string>("processname");
220 
221  //jet cleanup parameters
222  cleaningParameters_ = pSet.getParameter<ParameterSet>("CleaningParameters");
223 
224  bypassAllPVChecks_ = cleaningParameters_.getParameter<bool>("bypassAllPVChecks");
225  vertexLabel_ = cleaningParameters_.getParameter<edm::InputTag>("vertexCollection");
226  vertexToken_ = consumes<std::vector<reco::Vertex> >(edm::InputTag(vertexLabel_));
227 
228  gtLabel_ = cleaningParameters_.getParameter<edm::InputTag>("gtLabel");
229  gtToken_ = consumes<L1GlobalTriggerReadoutRecord>(edm::InputTag(gtLabel_));
230 
231  std::string inputCollectionLabel(mInputCollection_.label());
232  verbose_ = parameters_.getParameter<int>("verbose");
233  // monitoring of eta parameter
234  etaBin_ = parameters_.getParameter<int>("etaBin");
235  etaMin_ = parameters_.getParameter<double>("etaMin");
236  etaMax_ = parameters_.getParameter<double>("etaMax");
237  // monitoring of phi paramater
238  phiBin_ = parameters_.getParameter<int>("phiBin");
239  phiMin_ = parameters_.getParameter<double>("phiMin");
240  phiMax_ = parameters_.getParameter<double>("phiMax");
241  // monitoring of the transverse momentum
242  ptBin_ = parameters_.getParameter<int>("ptBin");
243  ptMin_ = parameters_.getParameter<double>("ptMin");
244  ptMax_ = parameters_.getParameter<double>("ptMax");
245  //
246  eBin_ = parameters_.getParameter<int>("eBin");
247  eMin_ = parameters_.getParameter<double>("eMin");
248  eMax_ = parameters_.getParameter<double>("eMax");
249  //
250  pBin_ = parameters_.getParameter<int>("pBin");
251  pMin_ = parameters_.getParameter<double>("pMin");
252  pMax_ = parameters_.getParameter<double>("pMax");
253  //
254  nbinsPV_ = parameters_.getParameter<int>("pVBin");
255  nPVlow_ = parameters_.getParameter<double>("pVMin");
256  nPVhigh_ = parameters_.getParameter<double>("pVMax");
257  //
258  ptThreshold_ = parameters_.getParameter<double>("ptThreshold");
259  ptThresholdUnc_ = parameters_.getParameter<double>("ptThresholdUnc");
260  asymmetryThirdJetCut_ = parameters_.getParameter<double>("asymmetryThirdJetCut");
261  balanceThirdJetCut_ = parameters_.getParameter<double>("balanceThirdJetCut");
262 
263  l1gtTrigMenuToken_ = esConsumes<edm::Transition::BeginRun>();
264 }
265 
266 // ***********************************************************
268  delete highPtJetEventFlag_;
269  delete lowPtJetEventFlag_;
270 
271  delete DCSFilterForDCSMonitoring_;
272  delete DCSFilterForJetMonitoring_;
273  LogTrace("JetAnalyzer") << "[JetAnalyzer] Saving the histos";
274 }
275 
276 // ***********************************************************
278  if (jetCleaningFlag_) {
279  ibooker.setCurrentFolder("JetMET/Jet/Cleaned" + mInputCollection_.label());
280  DirName = "JetMET/Jet/Cleaned" + mInputCollection_.label();
281  } else {
282  ibooker.setCurrentFolder("JetMET/Jet/Uncleaned" + mInputCollection_.label());
283  DirName = "JetMET/Jet/Uncleaned" + mInputCollection_.label();
284  }
285 
286  jetME = ibooker.book1D("jetReco", "jetReco", 4, 1, 5);
287  jetME->setBinLabel(1, "CaloJets", 1);
288  jetME->setBinLabel(2, "PFJets", 1);
289  jetME->setBinLabel(3, "JPTJets", 1);
290  jetME->setBinLabel(4, "MiniAODJets", 1);
291 
292  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "jetReco", jetME));
293 
294  mPt = ibooker.book1D("Pt", "pt", ptBin_, ptMin_, ptMax_);
295  mEta = ibooker.book1D("Eta", "eta", etaBin_, etaMin_, etaMax_);
296  mPhi = ibooker.book1D("Phi", "phi", phiBin_, phiMin_, phiMax_);
297  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt", mPt));
298  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta", mEta));
299  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi", mPhi));
300 
301  //if(!isJPTJet_){
302  mConstituents = ibooker.book1D("Constituents", "# of constituents", 50, 0, 100);
303  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Constituents", mConstituents));
304  //}
305  mJetEnergyCorr = ibooker.book1D("JetEnergyCorr", "jet energy correction factor", 50, 0.0, 3.0);
306  mJetEnergyCorrVSEta = ibooker.bookProfile(
307  "JetEnergyCorrVSEta", "jet energy correction factor VS eta", etaBin_, etaMin_, etaMax_, 0.0, 3.0);
308  mJetEnergyCorrVSPt =
309  ibooker.bookProfile("JetEnergyCorrVSPt", "jet energy correction factor VS pt", ptBin_, ptMin_, ptMax_, 0.0, 3.0);
310  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetEnergyCorr", mJetEnergyCorr));
311  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetEnergyCorrVSEta", mJetEnergyCorrVSEta));
312  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetEnergyCorrVSPt", mJetEnergyCorrVSPt));
313 
314  mPt_uncor = ibooker.book1D("Pt_uncor", "pt for uncorrected jets", ptBin_, ptThresholdUnc_, ptMax_);
315  mEta_uncor = ibooker.book1D("Eta_uncor", "eta for uncorrected jets", etaBin_, etaMin_, etaMax_);
316  mPhi_uncor = ibooker.book1D("Phi_uncor", "phi for uncorrected jets", phiBin_, phiMin_, phiMax_);
317  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_uncor", mPt_uncor));
318  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta_uncor", mEta_uncor));
319  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_uncor", mPhi_uncor));
320  //if(!isJPTJet_){
321  mConstituents_uncor = ibooker.book1D("Constituents_uncor", "# of constituents for uncorrected jets", 50, 0, 100);
322  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Constituents_uncor", mConstituents_uncor));
323  //}
324 
325  mDPhi = ibooker.book1D("DPhi", "dPhi btw the two leading jets", 100, 0., acos(-1.));
326  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "DPhi", mDPhi));
327 
328  // Book NPV profiles
329  //----------------------------------------------------------------------------
330  mPt_profile = ibooker.bookProfile("Pt_profile", "pt", nbinsPV_, nPVlow_, nPVhigh_, ptBin_, ptMin_, ptMax_);
331  mEta_profile = ibooker.bookProfile("Eta_profile", "eta", nbinsPV_, nPVlow_, nPVhigh_, etaBin_, etaMin_, etaMax_);
332  mPhi_profile = ibooker.bookProfile("Phi_profile", "phi", nbinsPV_, nPVlow_, nPVhigh_, phiBin_, phiMin_, phiMax_);
333  //if(!isJPTJet_){
334  mConstituents_profile =
335  ibooker.bookProfile("Constituents_profile", "# of constituents", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100);
336  //}
337  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_profile", mPt_profile));
338  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta_profile", mEta_profile));
339  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_profile", mPhi_profile));
340 
341  if (!runcosmics_) { //JIDPassFrac_ defines a collection of cleaned jets, for which we will want to fill the cleaning passing fraction
342  mLooseJIDPassFractionVSeta =
343  ibooker.bookProfile("JetIDPassFractionVSeta", "JetIDPassFractionVSeta", etaBin_, etaMin_, etaMax_, 0., 1.2);
344  mLooseJIDPassFractionVSpt =
345  ibooker.bookProfile("JetIDPassFractionVSpt", "JetIDPassFractionVSpt", ptBin_, ptMin_, ptMax_, 0., 1.2);
346  mLooseJIDPassFractionVSptNoHF =
347  ibooker.bookProfile("JetIDPassFractionVSptNoHF", "JetIDPassFractionVSptNoHF", ptBin_, ptMin_, ptMax_, 0., 1.2);
348  map_of_MEs.insert(
349  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetIDPassFractionVSeta", mLooseJIDPassFractionVSeta));
350  map_of_MEs.insert(
351  std::pair<std::string, MonitorElement*>(DirName + "/" + "JetIDPassFractionVSpt", mLooseJIDPassFractionVSpt));
352  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "JetIDPassFractionVSptNoHF",
353  mLooseJIDPassFractionVSptNoHF));
354  }
355 
356  mNJets_profile = ibooker.bookProfile("NJets_profile", "number of jets", nbinsPV_, nPVlow_, nPVhigh_, 100, 0, 100);
357 
358  // Set NPV profiles x-axis title
359  //----------------------------------------------------------------------------
360  mPt_profile->setAxisTitle("nvtx", 1);
361  mEta_profile->setAxisTitle("nvtx", 1);
362  mPhi_profile->setAxisTitle("nvtx", 1);
363  //if(!isJPTJet_){
364  mConstituents_profile->setAxisTitle("nvtx", 1);
365  map_of_MEs.insert(
366  std::pair<std::string, MonitorElement*>(DirName + "/" + "Constituents_profile", mConstituents_profile));
367  //}
368  mNJets_profile->setAxisTitle("nvtx", 1);
369 
370  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Pt_profile", mPt_profile));
371  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Eta_profile", mEta_profile));
372  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "Phi_profile", mPhi_profile));
373  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "NJets_profile", mNJets_profile));
374 
375  mPhiVSEta = ibooker.book2D("PhiVSEta", "PhiVSEta", 50, etaMin_, etaMax_, 24, phiMin_, phiMax_);
376  mPhiVSEta->setOption("colz");
377  mPhiVSEta->setAxisTitle("#eta", 1);
378  mPhiVSEta->setAxisTitle("#phi", 2);
379  map_of_MEs.insert(std::pair<std::string, MonitorElement*>(DirName + "/" + "PhiVSEta", mPhiVSEta));
380 
381  mPt_1 = ibooker.book1D("Pt_1", "Pt spectrum of jets - range 1", 20, 0, 100);
382  mPt_2 = ibooker.book1D("Pt_2", "Pt spectrum of jets - range 2", 60, 0, 300);
383  mPt_3 = ibooker.book1D("Pt_3", "Pt spectrum of jets - range 3", 100, 0, 5000);
384  // 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 
2236  const L1GtTriggerMenu* menu = &iSetup.getData(l1gtTrigMenuToken_);
2237  for (CItAlgo techTrig = menu->gtTechnicalTriggerMap().begin(); techTrig != menu->gtTechnicalTriggerMap().end();
2238  ++techTrig) {
2239  if ((techTrig->second).algoName() == m_l1algoname_) {
2240  m_bitAlgTechTrig_ = (techTrig->second).algoBitNumber();
2241  break;
2242  }
2243  }
2244 }
2245 
2246 // ***********************************************************
2248  //set general folders first --> change later on for different folders
2249  if (jetCleaningFlag_) {
2250  //dbe_->setCurrentFolder("JetMET/Jet/Cleaned"+mInputCollection_.label());
2251  DirName = "JetMET/Jet/Cleaned" + mInputCollection_.label();
2252  } else {
2253  //dbe_->setCurrentFolder("JetMET/Jet/Uncleaned"+mInputCollection_.label());
2254  DirName = "JetMET/Jet/Uncleaned" + mInputCollection_.label();
2255  }
2256 
2257  Handle<ValueMap<float> > puJetIdMva;
2258  Handle<ValueMap<int> > puJetIdFlagMva;
2259  Handle<ValueMap<float> > puJetId;
2260  Handle<ValueMap<int> > puJetIdFlag;
2261 
2262  Handle<ValueMap<int> > qgMultiplicity;
2263  Handle<ValueMap<float> > qgLikelihood;
2264  Handle<ValueMap<float> > qgptD;
2265  Handle<ValueMap<float> > qgaxis2;
2266 
2267  //should insure we have a PFJet in with CHS
2268  if (fill_CHS_histos) {
2269  iEvent.getByToken(qgMultiplicityToken_, qgMultiplicity);
2270  iEvent.getByToken(qgLikelihoodToken_, qgLikelihood);
2271  iEvent.getByToken(qgptDToken_, qgptD);
2272  iEvent.getByToken(qgaxis2Token_, qgaxis2);
2273  }
2274 
2275  if (!isMiniAODJet_) {
2276  iEvent.getByToken(mvaPUIDToken_, puJetIdFlagMva);
2277  iEvent.getByToken(cutBasedPUDiscriminantToken_, puJetId);
2278  iEvent.getByToken(cutBasedPUIDToken_, puJetIdFlag);
2279  iEvent.getByToken(mvaFullPUDiscriminantToken_, puJetIdMva);
2280  }
2281 
2282  // **** Get the TriggerResults container
2284  iEvent.getByToken(triggerResultsToken_, triggerResults);
2285 
2286  Int_t JetLoPass = 0;
2287  Int_t JetHiPass = 0;
2288 
2289  if (triggerResults.isValid()) {
2290  const edm::TriggerNames& triggerNames = iEvent.triggerNames(*triggerResults);
2291 
2292  const unsigned int nTrig(triggerNames.size());
2293  for (unsigned int i = 0; i < nTrig; ++i) {
2294  if (triggerNames.triggerName(i).find(highPtJetExpr_[0].substr(0, highPtJetExpr_[0].rfind("_v") + 2)) !=
2295  std::string::npos &&
2296  triggerResults->accept(i))
2297  JetHiPass = 1;
2298  else if (triggerNames.triggerName(i).find(lowPtJetExpr_[0].substr(0, lowPtJetExpr_[0].rfind("_v") + 2)) !=
2299  std::string::npos &&
2300  triggerResults->accept(i))
2301  JetLoPass = 1;
2302  }
2303  }
2304 
2305  if (verbose_)
2306  std::cout << "trigger label " << theTriggerResultsLabel_ << std::endl;
2307 
2308  if (verbose_) {
2309  std::cout << ">>> Trigger Lo = " << JetLoPass << " Hi = " << JetHiPass << std::endl;
2310  }
2311 
2312  // ==========================================================
2313  //Vertex information
2314  Handle<VertexCollection> vertexHandle;
2315  iEvent.getByToken(vertexToken_, vertexHandle);
2316 
2317  if (!vertexHandle.isValid()) {
2318  LogDebug("") << "CaloMETAnalyzer: Could not find vertex collection" << std::endl;
2319  if (verbose_)
2320  std::cout << "CaloMETAnalyzer: Could not find vertex collection" << std::endl;
2321  }
2322  int numPV = 0;
2323  if (vertexHandle.isValid()) {
2324  VertexCollection vertexCollection = *(vertexHandle.product());
2325  numPV = vertexCollection.size();
2326  }
2327  bool bPrimaryVertex = (bypassAllPVChecks_ || (numPV > 0));
2328  if (fill_jet_high_level_histo) { //should be filled for all events, no selection up to this point
2329  verticesME = map_of_MEs["JetMET/vertices"];
2330  if (verticesME && verticesME->getRootObject())
2331  verticesME->Fill(numPV);
2332  }
2333  // ==========================================================
2335  iEvent.getByToken(gtToken_, gtReadoutRecord);
2336 
2337  if (!gtReadoutRecord.isValid()) {
2338  LogInfo("JetAnalyzer") << "JetAnalyzer: Could not find GT readout record" << std::endl;
2339  if (verbose_)
2340  std::cout << "JetAnalyzer: Could not find GT readout record product" << std::endl;
2341  }
2342 
2343  //bool techTriggerResultBxE = false;
2344  bool techTriggerResultBxF = false;
2345  bool techTriggerResultBx0 = false;
2346 
2347  if (!gtReadoutRecord.isValid()) {
2348  LogDebug("") << "CaloMETAnalyzer: Could not find GT readout record" << std::endl;
2349  if (verbose_)
2350  std::cout << "CaloMETAnalyzer: Could not find GT readout record product" << std::endl;
2351  } else {
2352  // trigger results before mask for BxInEvent -2 (E), -1 (F), 0 (L1A), 1, 2
2353  //const TechnicalTriggerWord& technicalTriggerWordBeforeMaskBxE = gtReadoutRecord->technicalTriggerWord(-2);
2354  const TechnicalTriggerWord& technicalTriggerWordBeforeMaskBxF = gtReadoutRecord->technicalTriggerWord(-1);
2355  const TechnicalTriggerWord& technicalTriggerWordBeforeMaskBx0 = gtReadoutRecord->technicalTriggerWord();
2356  //const TechnicalTriggerWord& technicalTriggerWordBeforeMaskBxG = gtReadoutRecord->technicalTriggerWord(1);
2357  //const TechnicalTriggerWord& technicalTriggerWordBeforeMaskBxH = gtReadoutRecord->technicalTriggerWord(2);
2358  if (m_bitAlgTechTrig_ > -1 && !technicalTriggerWordBeforeMaskBx0.empty()) {
2359  techTriggerResultBx0 = technicalTriggerWordBeforeMaskBx0.at(m_bitAlgTechTrig_);
2360  if (techTriggerResultBx0 != 0) {
2361  //techTriggerResultBxE = technicalTriggerWordBeforeMaskBxE.at(m_bitAlgTechTrig_);
2362  techTriggerResultBxF = technicalTriggerWordBeforeMaskBxF.at(m_bitAlgTechTrig_);
2363  }
2364  }
2365  }
2366 
2367  DCSFilterForDCSMonitoring_->filter(iEvent, iSetup);
2368  if (fill_jet_high_level_histo) { //should be filled only once
2369  cleanupME = map_of_MEs["JetMET/cleanup"];
2370  if (cleanupME && cleanupME->getRootObject()) {
2371  if (bPrimaryVertex)
2372  cleanupME->Fill(0.5);
2373  if (DCSFilterForDCSMonitoring_->passPIX)
2374  cleanupME->Fill(1.5);
2375  if (DCSFilterForDCSMonitoring_->passSiStrip)
2376  cleanupME->Fill(2.5);
2377  if (DCSFilterForDCSMonitoring_->passECAL)
2378  cleanupME->Fill(3.5);
2379  if (DCSFilterForDCSMonitoring_->passES)
2380  cleanupME->Fill(4.5);
2381  if (DCSFilterForDCSMonitoring_->passHBHE)
2382  cleanupME->Fill(5.5);
2383  if (DCSFilterForDCSMonitoring_->passHF)
2384  cleanupME->Fill(6.5);
2385  if (DCSFilterForDCSMonitoring_->passHO)
2386  cleanupME->Fill(7.5);
2387  if (DCSFilterForDCSMonitoring_->passMuon)
2388  cleanupME->Fill(8.5);
2389  }
2390  }
2395 
2397 
2398  bool pass_Z_selection = false;
2400 
2401  int mu_index0 = -1;
2402  int mu_index1 = -1;
2403 
2404  if (isCaloJet_)
2405  iEvent.getByToken(caloJetsToken_, caloJets);
2406  //if (isJPTJet_) iEvent.getByToken(jptJetsToken_, jptJets);
2407  if (isPFJet_) {
2408  iEvent.getByToken(pfJetsToken_, pfJets);
2409  iEvent.getByToken(MuonsToken_, Muons);
2410  double pt0 = -1;
2411  double pt1 = -1;
2412  //fill it only for cleaned jets
2413  if (jetCleaningFlag_ && Muons.isValid() && Muons->size() > 1) {
2414  for (unsigned int i = 0; i < Muons->size(); i++) {
2415  bool pass_muon_id = false;
2416  bool pass_muon_iso = false;
2417  double dxy = fabs((*Muons)[i].muonBestTrack()->dxy());
2418  double dz = fabs((*Muons)[i].muonBestTrack()->dz());
2419  if (numPV > 0) {
2420  dxy = fabs((*Muons)[i].muonBestTrack()->dxy((*vertexHandle)[0].position()));
2421  dz = fabs((*Muons)[i].muonBestTrack()->dz((*vertexHandle)[0].position()));
2422  }
2423  if ((*Muons)[i].pt() > 20 && fabs((*Muons)[i].eta()) < 2.3) {
2424  if ((*Muons)[i].isGlobalMuon() && (*Muons)[i].isPFMuon() &&
2425  (*Muons)[i].globalTrack()->hitPattern().numberOfValidMuonHits() > 0 &&
2426  (*Muons)[i].numberOfMatchedStations() > 1 && dxy < 0.2 && (*Muons)[i].numberOfMatchedStations() > 1 &&
2427  dz < 0.5 && (*Muons)[i].innerTrack()->hitPattern().numberOfValidPixelHits() > 0 &&
2428  (*Muons)[i].innerTrack()->hitPattern().trackerLayersWithMeasurement() > 5) {
2429  pass_muon_id = true;
2430  }
2431  // Muon pf isolation DB corrected
2432  float muonIsoPFdb =
2433  ((*Muons)[i].pfIsolationR04().sumChargedHadronPt +
2434  std::max(0.,
2435  (*Muons)[i].pfIsolationR04().sumNeutralHadronEt + (*Muons)[i].pfIsolationR04().sumPhotonEt -
2436  0.5 * (*Muons)[i].pfIsolationR04().sumPUPt)) /
2437  (*Muons)[i].pt();
2438  if (muonIsoPFdb < 0.12) {
2439  pass_muon_iso = true;
2440  }
2441 
2442  if (pass_muon_id && pass_muon_iso) {
2443  if ((*Muons)[i].pt() > pt0) {
2444  mu_index1 = mu_index0;
2445  pt1 = pt0;
2446  mu_index0 = i;
2447  pt0 = (*Muons)[i].pt();
2448  } else if ((*Muons)[i].pt() > pt1) {
2449  mu_index1 = i;
2450  pt1 = (*Muons)[i].pt();
2451  }
2452  }
2453  }
2454  }
2455  if (mu_index0 >= 0 && mu_index1 >= 0) {
2456  if ((*Muons)[mu_index0].charge() * (*Muons)[mu_index1].charge() < 0) {
2457  zCand = (*Muons)[mu_index0].polarP4() + (*Muons)[mu_index1].polarP4();
2458  if (fabs(zCand.M() - 91.) < 20 && zCand.Pt() > 30) {
2459  pass_Z_selection = true;
2460  }
2461  }
2462  }
2463  }
2464  }
2465  if (isMiniAODJet_)
2466  iEvent.getByToken(patJetsToken_, patJets);
2467 
2468  edm::Handle<edm::ValueMap<reco::JetID> > jetID_ValueMap_Handle;
2469  if (/*isJPTJet_ || */ isCaloJet_) {
2470  if (!runcosmics_) {
2471  iEvent.getByToken(jetID_ValueMapToken_, jetID_ValueMap_Handle);
2472  }
2473  }
2474 
2475  //check for collections AND DCS filters
2476  bool dcsDecision = DCSFilterForJetMonitoring_->filter(iEvent, iSetup);
2477  bool jetCollectionIsValid = false;
2478  if (isCaloJet_)
2479  jetCollectionIsValid = caloJets.isValid();
2480  //if (isJPTJet_) jetCollectionIsValid = jptJets.isValid();
2481  if (isPFJet_)
2482  jetCollectionIsValid = pfJets.isValid();
2483  if (isMiniAODJet_)
2484  jetCollectionIsValid = patJets.isValid();
2485 
2486  if (jetCleaningFlag_ && (!jetCollectionIsValid || !bPrimaryVertex || !dcsDecision))
2487  return;
2488 
2489  unsigned int collSize = -1;
2490  if (isCaloJet_)
2491  collSize = caloJets->size();
2492  //if (isJPTJet_) {
2493  //collSize=jptJets->size();
2494  //if(collSize>0){
2495  // //update the track propagator and strip noise calculator
2496  // trackPropagator_->update(iSetup);
2497  // //sOverNCalculator_->update(iSetup);
2498  //}
2499  //}
2500  if (isPFJet_)
2501  collSize = pfJets->size();
2502  if (isMiniAODJet_)
2503  collSize = patJets->size();
2504 
2505  double scale = -1;
2506  //now start changes for jets
2507  std::vector<Jet> corJets;
2508  corJets.clear();
2509 
2510  //maybe not most elegant solution, but works for sure
2511  int ind1 = -1;
2512  double pt1 = -1;
2513  int ind2 = -1;
2514  double pt2 = -1;
2515  int ind3 = -1;
2516  double pt3 = -1;
2517 
2518  bool cleaned_first_jet = false;
2519  bool cleaned_second_jet = false;
2520  //bool cleaned_third_jet=false;
2521  //for ZJets selection check for muon jet overlap
2522  int ind1_mu_vetoed = -1;
2523  double pt1_mu_vetoed = -1;
2524  int ind2_mu_vetoed = -1;
2525  double pt2_mu_vetoed = -1;
2526  bool cleaned_first_jet_mu_vetoed = false;
2527  bool cleaned_second_jet_mu_vetoed = false;
2528 
2529  //now start changes for jets
2530  std::vector<Jet> recoJets;
2531  recoJets.clear();
2532 
2533  int numofjets = 0;
2534 
2536  bool pass_correction_flag = false;
2537  if (!isMiniAODJet_ && !jetCorrectorTag_.label().empty()) {
2538  iEvent.getByToken(jetCorrectorToken_, jetCorr);
2539  if (jetCorr.isValid()) {
2540  pass_correction_flag = true;
2541  }
2542  }
2543  if (isMiniAODJet_) {
2544  pass_correction_flag = true;
2545  }
2546 
2547  for (unsigned int ijet = 0; ijet < collSize; ijet++) {
2548  //bool thiscleaned=false;
2549  Jet correctedJet;
2550  bool pass_uncorrected = false;
2551  bool pass_corrected = false;
2552  if (isCaloJet_) {
2553  correctedJet = (*caloJets)[ijet];
2554  }
2555  //if (isJPTJet_){
2556  //correctedJet=(*jptJets)[ijet];
2557  //}
2558  if (isPFJet_) {
2559  correctedJet = (*pfJets)[ijet];
2560  }
2561  if (isMiniAODJet_) {
2562  correctedJet = (*patJets)[ijet];
2563  }
2564  if (!isMiniAODJet_ && correctedJet.pt() > ptThresholdUnc_) {
2565  pass_uncorrected = true;
2566  }
2567  if (isMiniAODJet_ && (correctedJet.pt() * (*patJets)[ijet].jecFactor("Uncorrected")) > ptThresholdUnc_) {
2568  pass_uncorrected = true;
2569  }
2570  if (pass_correction_flag && !isMiniAODJet_) {
2571  if (isCaloJet_) {
2572  scale = jetCorr->correction((*caloJets)[ijet]);
2573  }
2574  if (isPFJet_) {
2575  scale = jetCorr->correction((*pfJets)[ijet]);
2576  }
2577  correctedJet.scaleEnergy(scale);
2578  }
2579  if (correctedJet.pt() > ptThreshold_) {
2580  pass_corrected = true;
2581  }
2582  //if (!pass_corrected && !pass_uncorrected) continue;
2583  //remove the continue line, for physics selections we might losen the pt-thresholds as we care only about leading jets
2584  //fill only corrected jets -> check ID for uncorrected jets
2585  if (pass_corrected) {
2586  recoJets.push_back(correctedJet);
2587  }
2588  bool jetpassid = true;
2589  bool Thiscleaned = true;
2590  bool JetIDWPU = true;
2591  //jet ID for calojets
2592  if (isCaloJet_) {
2593  reco::CaloJetRef calojetref(caloJets, ijet);
2594  if (!runcosmics_) {
2595  reco::JetID jetID = (*jetID_ValueMap_Handle)[calojetref];
2596  jetpassid = jetIDFunctor((*caloJets)[ijet], jetID);
2597  JetIDWPU = jetpassid;
2598  if (jetCleaningFlag_) {
2599  Thiscleaned = jetpassid;
2600  }
2601  if (Thiscleaned && pass_corrected) { //if cleaning requested->jet passes a loose ID
2602  mN90Hits = map_of_MEs[DirName + "/" + "N90Hits"];
2603  if (mN90Hits && mN90Hits->getRootObject())
2604  mN90Hits->Fill(jetID.n90Hits);
2605  mfHPD = map_of_MEs[DirName + "/" + "fHPD"];
2606  if (mfHPD && mfHPD->getRootObject())
2607  mfHPD->Fill(jetID.fHPD);
2608  mresEMF = map_of_MEs[DirName + "/" + "resEMF"];
2609  if (mresEMF && mresEMF->getRootObject())
2610  mresEMF->Fill(jetID.restrictedEMF);
2611  mfRBX = map_of_MEs[DirName + "/" + "fRBX"];
2612  if (mfRBX && mfRBX->getRootObject())
2613  mfRBX->Fill(jetID.fRBX);
2614  }
2615  }
2616  if (jetCleaningFlag_) {
2617  Thiscleaned = jetpassid;
2618  }
2619  if (Thiscleaned && pass_uncorrected) {
2620  mPt_uncor = map_of_MEs[DirName + "/" + "Pt_uncor"];
2621  if (mPt_uncor && mPt_uncor->getRootObject())
2622  mPt_uncor->Fill((*caloJets)[ijet].pt());
2623  mEta_uncor = map_of_MEs[DirName + "/" + "Eta_uncor"];
2624  if (mEta_uncor && mEta_uncor->getRootObject())
2625  mEta_uncor->Fill((*caloJets)[ijet].eta());
2626  mPhi_uncor = map_of_MEs[DirName + "/" + "Phi_uncor"];
2627  if (mPhi_uncor && mPhi_uncor->getRootObject())
2628  mPhi_uncor->Fill((*caloJets)[ijet].phi());
2629  mConstituents_uncor = map_of_MEs[DirName + "/" + "Constituents_uncor"];
2630  if (mConstituents_uncor && mConstituents_uncor->getRootObject())
2631  mConstituents_uncor->Fill((*caloJets)[ijet].nConstituents());
2632  }
2633  //now do calojet specific fractions and histograms ->H and E fracs
2634  if (Thiscleaned && pass_corrected) { //if cleaning requested->jet passes a loose ID
2635  mHFrac = map_of_MEs[DirName + "/" + "HFrac"];
2636  if (mHFrac && mHFrac->getRootObject())
2637  mHFrac->Fill((*caloJets)[ijet].energyFractionHadronic());
2638  mEFrac = map_of_MEs[DirName + "/" + "EFrac"];
2639  if (mEFrac && mHFrac->getRootObject())
2640  mEFrac->Fill((*caloJets)[ijet].emEnergyFraction());
2641  mHFrac_profile = map_of_MEs[DirName + "/" + "HFrac_profile"];
2642  if (mHFrac_profile && mHFrac_profile->getRootObject())
2643  mHFrac_profile->Fill(numPV, (*caloJets)[ijet].energyFractionHadronic());
2644  mEFrac_profile = map_of_MEs[DirName + "/" + "EFrac_profile"];
2645  if (mEFrac_profile && mEFrac_profile->getRootObject())
2646  mEFrac_profile->Fill(numPV, (*caloJets)[ijet].emEnergyFraction());
2647  if (fabs((*caloJets)[ijet].eta()) <= 1.3) {
2648  mHFrac_Barrel = map_of_MEs[DirName + "/" + "HFrac_Barrel"];
2649  if (mHFrac_Barrel && mHFrac_Barrel->getRootObject())
2650  mHFrac_Barrel->Fill((*caloJets)[ijet].energyFractionHadronic());
2651  mEFrac_Barrel = map_of_MEs[DirName + "/" + "EFrac_Barrel"];
2652  if (mEFrac_Barrel && mEFrac_Barrel->getRootObject())
2653  mEFrac_Barrel->Fill((*caloJets)[ijet].emEnergyFraction());
2654  } else if (fabs((*caloJets)[ijet].eta()) < 3.0) {
2655  mHFrac_EndCap = map_of_MEs[DirName + "/" + "HFrac_EndCap"];
2656  if (mHFrac_EndCap && mHFrac_EndCap->getRootObject())
2657  mHFrac_EndCap->Fill((*caloJets)[ijet].energyFractionHadronic());
2658  mEFrac_EndCap = map_of_MEs[DirName + "/" + "EFrac_EndCap"];
2659  if (mEFrac_EndCap && mEFrac_EndCap->getRootObject())
2660  mEFrac_EndCap->Fill((*caloJets)[ijet].emEnergyFraction());
2661  } else {
2662  mHFrac_Forward = map_of_MEs[DirName + "/" + "HFrac_Forward"];
2663  if (mHFrac_Forward && mHFrac_Forward->getRootObject())
2664  mHFrac_Forward->Fill((*caloJets)[ijet].energyFractionHadronic());
2665  mEFrac_Forward = map_of_MEs[DirName + "/" + "EFrac_Forward"];
2666  if (mEFrac_Forward && mEFrac_Forward->getRootObject())
2667  mEFrac_Forward->Fill((*caloJets)[ijet].emEnergyFraction());
2668  }
2669  mHadEnergyInHO = map_of_MEs[DirName + "/" + "HadEnergyInHO"];
2670  if (mHadEnergyInHO && mHadEnergyInHO->getRootObject())
2671  mHadEnergyInHO->Fill((*caloJets)[ijet].hadEnergyInHO());
2672  mHadEnergyInHB = map_of_MEs[DirName + "/" + "HadEnergyInHB"];
2673  if (mHadEnergyInHB && mHadEnergyInHB->getRootObject())
2674  mHadEnergyInHB->Fill((*caloJets)[ijet].hadEnergyInHB());
2675  mHadEnergyInHF = map_of_MEs[DirName + "/" + "HadEnergyInHF"];
2676  if (mHadEnergyInHF && mHadEnergyInHF->getRootObject())
2677  mHadEnergyInHF->Fill((*caloJets)[ijet].hadEnergyInHF());
2678  mHadEnergyInHE = map_of_MEs[DirName + "/" + "HadEnergyInHE"];
2679  if (mHadEnergyInHE && mHadEnergyInHE->getRootObject())
2680  mHadEnergyInHE->Fill((*caloJets)[ijet].hadEnergyInHE());
2681  mEmEnergyInEB = map_of_MEs[DirName + "/" + "EmEnergyInEB"];
2682  if (mEmEnergyInEB && mEmEnergyInEB->getRootObject())
2683  mEmEnergyInEB->Fill((*caloJets)[ijet].emEnergyInEB());
2684  mEmEnergyInEE = map_of_MEs[DirName + "/" + "EmEnergyInEE"];
2685  if (mEmEnergyInEE && mEmEnergyInEE->getRootObject())
2686  mEmEnergyInEE->Fill((*caloJets)[ijet].emEnergyInEE());
2687  mEmEnergyInHF = map_of_MEs[DirName + "/" + "EmEnergyInHF"];
2688  if (mEmEnergyInHF && mEmEnergyInHF->getRootObject())
2689  mEmEnergyInHF->Fill((*caloJets)[ijet].emEnergyInHF());
2690  }
2691  }
2692  if (isMiniAODJet_ && (*patJets)[ijet].isPFJet()) {
2693  // You can't check the jet ID without the specifics. If they were dropped for space savings,
2694  // don't monitor this jet.
2695  if (!(*patJets)[ijet].hasPFSpecific())
2696  continue;
2697 
2698  pat::strbitset stringbitset = pfjetIDFunctor.getBitTemplate();
2699  jetpassid = pfjetIDFunctor((*patJets)[ijet], stringbitset);
2700  if (jetCleaningFlag_) {
2701  Thiscleaned = jetpassid;
2702  JetIDWPU = jetpassid;
2703  }
2704  if (Thiscleaned && pass_uncorrected) {
2705  mPt_uncor = map_of_MEs[DirName + "/" + "Pt_uncor"];
2706  if (mPt_uncor && mPt_uncor->getRootObject())
2707  if (mPt_uncor)
2708  mPt_uncor->Fill((*patJets)[ijet].pt() * (*patJets)[ijet].jecFactor("Uncorrected"));
2709  mEta_uncor = map_of_MEs[DirName + "/" + "Eta_uncor"];
2710  if (mEta_uncor && mEta_uncor->getRootObject())
2711  if (mEta_uncor)
2712  mEta_uncor->Fill((*patJets)[ijet].eta());
2713  mPhi_uncor = map_of_MEs[DirName + "/" + "Phi_uncor"];
2714  if (mPhi_uncor && mPhi_uncor->getRootObject())
2715  if (mPhi_uncor)
2716  mPhi_uncor->Fill((*patJets)[ijet].phi());
2717  mConstituents_uncor = map_of_MEs[DirName + "/" + "Constituents_uncor"];
2718  if (mConstituents_uncor && mConstituents_uncor->getRootObject())
2719  if (mConstituents_uncor)
2720  mConstituents_uncor->Fill((*patJets)[ijet].nConstituents());
2721  }
2722  if (Thiscleaned && pass_corrected) {
2723  mPt_CaloJet = map_of_MEs[DirName + "/" + "Pt_CaloJet"];
2724  if (mPt_CaloJet && mPt_CaloJet->getRootObject() && (*patJets)[ijet].hasUserFloat("caloJetMap:pt"))
2725  mPt_CaloJet->Fill((*patJets)[ijet].userFloat("caloJetMap:pt"));
2726  mEMF_CaloJet = map_of_MEs[DirName + "/" + "EMF_CaloJet"];
2727  if (mEMF_CaloJet && mEMF_CaloJet->getRootObject() &&
2728  (*patJets)[ijet].hasUserFloat("caloJetMap:emEnergyFraction"))
2729  mEMF_CaloJet->Fill((*patJets)[ijet].userFloat("caloJetMap:emEnergyFraction"));
2730  if (fabs(correctedJet.eta()) <= 1.3) {
2731  if (correctedJet.pt() <= 50.) {
2732  mMVAPUJIDDiscriminant_lowPt_Barrel = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_lowPt_Barrel"];
2733  if (mMVAPUJIDDiscriminant_lowPt_Barrel && mMVAPUJIDDiscriminant_lowPt_Barrel->getRootObject()) {
2734  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2735  mMVAPUJIDDiscriminant_lowPt_Barrel->Fill((*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2736  }
2737  }
2738  if (correctedJet.pt() > 50. && correctedJet.pt() <= 140.) {
2739  mMVAPUJIDDiscriminant_mediumPt_Barrel = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_Barrel"];
2740  if (mMVAPUJIDDiscriminant_mediumPt_Barrel && mMVAPUJIDDiscriminant_mediumPt_Barrel->getRootObject()) {
2741  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2742  mMVAPUJIDDiscriminant_mediumPt_Barrel->Fill((*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2743  }
2744  }
2745  if (correctedJet.pt() > 140.) {
2746  mMVAPUJIDDiscriminant_highPt_Barrel = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_highPt_Barrel"];
2747  if (mMVAPUJIDDiscriminant_highPt_Barrel && mMVAPUJIDDiscriminant_highPt_Barrel->getRootObject()) {
2748  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2749  mMVAPUJIDDiscriminant_highPt_Barrel->Fill((*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2750  }
2751  }
2752  mMass_Barrel = map_of_MEs[DirName + "/" + "JetMass_Barrel"];
2753  if (mMass_Barrel && mMass_Barrel->getRootObject())
2754  mMass_Barrel->Fill((*patJets)[ijet].mass());
2755  mCHFracVSpT_Barrel = map_of_MEs[DirName + "/" + "CHFracVSpT_Barrel"];
2756  if (mCHFracVSpT_Barrel && mCHFracVSpT_Barrel->getRootObject())
2757  mCHFracVSpT_Barrel->Fill(correctedJet.pt(), (*patJets)[ijet].chargedHadronEnergyFraction());
2758  mNHFracVSpT_Barrel = map_of_MEs[DirName + "/" + "NHFracVSpT_Barrel"];
2759  if (mNHFracVSpT_Barrel && mNHFracVSpT_Barrel->getRootObject())
2760  mNHFracVSpT_Barrel->Fill(correctedJet.pt(), (*patJets)[ijet].neutralHadronEnergyFraction());
2761  mPhFracVSpT_Barrel = map_of_MEs[DirName + "/" + "PhFracVSpT_Barrel"];
2762  if (mPhFracVSpT_Barrel && mPhFracVSpT_Barrel->getRootObject())
2763  mPhFracVSpT_Barrel->Fill(correctedJet.pt(), (*patJets)[ijet].neutralEmEnergyFraction());
2764  } else if (fabs(correctedJet.eta()) <= 3) {
2765  if (correctedJet.pt() <= 50.) {
2766  mMVAPUJIDDiscriminant_lowPt_EndCap = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_lowPt_EndCap"];
2767  if (mMVAPUJIDDiscriminant_lowPt_EndCap && mMVAPUJIDDiscriminant_lowPt_EndCap->getRootObject()) {
2768  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2769  mMVAPUJIDDiscriminant_lowPt_EndCap->Fill((*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2770  }
2771  }
2772  if (correctedJet.pt() > 50. && correctedJet.pt() <= 140.) {
2773  mMVAPUJIDDiscriminant_mediumPt_EndCap = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_EndCap"];
2774  if (mMVAPUJIDDiscriminant_mediumPt_EndCap && mMVAPUJIDDiscriminant_mediumPt_EndCap->getRootObject()) {
2775  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2776  mMVAPUJIDDiscriminant_mediumPt_EndCap->Fill((*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2777  }
2778  }
2779  if (correctedJet.pt() > 140.) {
2780  mMVAPUJIDDiscriminant_highPt_EndCap = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_highPt_EndCap"];
2781  if (mMVAPUJIDDiscriminant_highPt_EndCap && mMVAPUJIDDiscriminant_highPt_EndCap->getRootObject()) {
2782  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2783  mMVAPUJIDDiscriminant_highPt_EndCap->Fill((*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2784  }
2785  }
2786  mMass_EndCap = map_of_MEs[DirName + "/" + "JetMass_EndCap"];
2787  if (mMass_EndCap && mMass_EndCap->getRootObject())
2788  mMass_EndCap->Fill((*patJets)[ijet].mass());
2789  mCHFracVSpT_EndCap = map_of_MEs[DirName + "/" + "CHFracVSpT_EndCap"];
2790  if (mCHFracVSpT_EndCap && mCHFracVSpT_EndCap->getRootObject())
2791  mCHFracVSpT_EndCap->Fill(correctedJet.pt(), (*patJets)[ijet].chargedHadronEnergyFraction());
2792  mNHFracVSpT_EndCap = map_of_MEs[DirName + "/" + "NHFracVSpT_EndCap"];
2793  if (mNHFracVSpT_EndCap && mNHFracVSpT_EndCap->getRootObject())
2794  mNHFracVSpT_EndCap->Fill(correctedJet.pt(), (*patJets)[ijet].neutralHadronEnergyFraction());
2795  mPhFracVSpT_EndCap = map_of_MEs[DirName + "/" + "PhFracVSpT_EndCap"];
2796  if (mPhFracVSpT_EndCap && mPhFracVSpT_EndCap->getRootObject())
2797  mPhFracVSpT_EndCap->Fill(correctedJet.pt(), (*patJets)[ijet].neutralEmEnergyFraction());
2798  } else if (fabs(correctedJet.eta()) <= 5) {
2799  if (correctedJet.pt() <= 50.) {
2800  mMVAPUJIDDiscriminant_lowPt_Forward = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_lowPt_Forward"];
2801  if (mMVAPUJIDDiscriminant_lowPt_Forward && mMVAPUJIDDiscriminant_lowPt_Forward->getRootObject()) {
2802  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2803  mMVAPUJIDDiscriminant_lowPt_Forward->Fill((*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2804  }
2805  }
2806  if (correctedJet.pt() > 50. && correctedJet.pt() <= 140.) {
2807  mMVAPUJIDDiscriminant_mediumPt_Forward =
2808  map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_Forward"];
2809  if (mMVAPUJIDDiscriminant_mediumPt_Forward && mMVAPUJIDDiscriminant_mediumPt_Forward->getRootObject()) {
2810  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2811  mMVAPUJIDDiscriminant_mediumPt_Forward->Fill(
2812  (*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2813  }
2814  }
2815  if (correctedJet.pt() > 140.) {
2816  mMVAPUJIDDiscriminant_highPt_Forward = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_highPt_Forward"];
2817  if (mMVAPUJIDDiscriminant_highPt_Forward && mMVAPUJIDDiscriminant_highPt_Forward->getRootObject()) {
2818  if ((*patJets)[ijet].hasUserFloat("pileupJetId:fullDiscriminant"))
2819  mMVAPUJIDDiscriminant_highPt_Forward->Fill((*patJets)[ijet].userFloat("pileupJetId:fullDiscriminant"));
2820  }
2821  }
2822  mMass_Forward = map_of_MEs[DirName + "/" + "JetMass_Forward"];
2823  if (mMass_Forward && mMass_Forward->getRootObject())
2824  mMass_Forward->Fill((*patJets)[ijet].mass());
2825  mHFHFracVSpT_Forward = map_of_MEs[DirName + "/" + "HFHFracVSpT_Forward"];
2826  if (mHFHFracVSpT_Forward && mHFHFracVSpT_Forward->getRootObject())
2827  mHFHFracVSpT_Forward->Fill(correctedJet.pt(), (*patJets)[ijet].HFHadronEnergyFraction());
2828  mHFEFracVSpT_Forward = map_of_MEs[DirName + "/" + "HFEFracVSpT_Forward"];
2829  if (mHFEFracVSpT_Forward && mHFEFracVSpT_Forward->getRootObject())
2830  mHFEFracVSpT_Forward->Fill(correctedJet.pt(), (*patJets)[ijet].HFEMEnergyFraction());
2831  }
2832  }
2833  }
2834  if (isPFJet_) {
2835  reco::PFJetRef pfjetref(pfJets, ijet);
2836  float puidmva = -1;
2837  float puidcut = -1;
2838  int puidmvaflag = -10;
2839  int puidcutflag = -10;
2840  puidmva = (*puJetIdMva)[pfjetref];
2841  puidcut = (*puJetId)[pfjetref];
2842  puidmvaflag = (*puJetIdFlagMva)[pfjetref];
2843  puidcutflag = (*puJetIdFlag)[pfjetref];
2844  jetpassid = pfjetIDFunctor((*pfJets)[ijet]);
2845  if (jetCleaningFlag_) {
2846  Thiscleaned = jetpassid;
2847  JetIDWPU = jetpassid; // && PileupJetIdentifier::passJetId( puidmvaflag, PileupJetIdentifier::kLoose )
2848  }
2849  if (Thiscleaned && pass_uncorrected) {
2850  mPt_uncor = map_of_MEs[DirName + "/" + "Pt_uncor"];
2851  if (mPt_uncor && mPt_uncor->getRootObject())
2852  mPt_uncor->Fill((*pfJets)[ijet].pt());
2853  mEta_uncor = map_of_MEs[DirName + "/" + "Eta_uncor"];
2854  if (mEta_uncor && mEta_uncor->getRootObject())
2855  mEta_uncor->Fill((*pfJets)[ijet].eta());
2856  mPhi_uncor = map_of_MEs[DirName + "/" + "Phi_uncor"];
2857  if (mPhi_uncor && mPhi_uncor->getRootObject())
2858  mPhi_uncor->Fill((*pfJets)[ijet].phi());
2859  mConstituents_uncor = map_of_MEs[DirName + "/" + "Constituents_uncor"];
2860  if (mConstituents_uncor && mConstituents_uncor->getRootObject())
2861  mConstituents_uncor->Fill((*pfJets)[ijet].nConstituents());
2862  }
2863  if (Thiscleaned && pass_corrected) {
2865  mLooseCutPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "LooseCutPUIDPassFractionVSeta"];
2866  if (mLooseCutPUJIDPassFractionVSeta && mLooseCutPUJIDPassFractionVSeta->getRootObject())
2867  mLooseCutPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 1.);
2868  mLooseCutPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "LooseCutPUIDPassFractionVSpt"];
2869  if (mLooseCutPUJIDPassFractionVSpt && mLooseCutPUJIDPassFractionVSpt->getRootObject())
2870  mLooseCutPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 1.);
2871  } else {
2872  mLooseCutPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "LooseCutPUIDPassFractionVSeta"];
2873  if (mLooseCutPUJIDPassFractionVSeta && mLooseCutPUJIDPassFractionVSeta->getRootObject())
2874  mLooseCutPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 0.);
2875  mLooseCutPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "LooseCutPUIDPassFractionVSpt"];
2876  if (mLooseCutPUJIDPassFractionVSpt && mLooseCutPUJIDPassFractionVSpt->getRootObject())
2877  mLooseCutPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 0.);
2878  }
2880  mMediumCutPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "MediumCutPUIDPassFractionVSeta"];
2881  if (mMediumCutPUJIDPassFractionVSeta && mMediumCutPUJIDPassFractionVSeta->getRootObject())
2882  mMediumCutPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 1.);
2883  mMediumCutPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "MediumCutPUIDPassFractionVSpt"];
2884  if (mMediumCutPUJIDPassFractionVSpt && mMediumCutPUJIDPassFractionVSpt->getRootObject())
2885  mMediumCutPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 1.);
2886  } else {
2887  mMediumCutPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "MediumCutPUIDPassFractionVSeta"];
2888  if (mMediumCutPUJIDPassFractionVSeta && mMediumCutPUJIDPassFractionVSeta->getRootObject())
2889  mMediumCutPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 0.);
2890  mMediumCutPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "MediumCutPUIDPassFractionVSpt"];
2891  if (mMediumCutPUJIDPassFractionVSpt && mMediumCutPUJIDPassFractionVSpt->getRootObject())
2892  mMediumCutPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 0.);
2893  }
2895  mTightCutPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "TightCutPUIDPassFractionVSeta"];
2896  if (mTightCutPUJIDPassFractionVSeta && mTightCutPUJIDPassFractionVSeta->getRootObject())
2897  mTightCutPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 1.);
2898  mTightCutPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "TightCutPUIDPassFractionVSpt"];
2899  if (mTightCutPUJIDPassFractionVSpt && mTightCutPUJIDPassFractionVSpt->getRootObject())
2900  mTightCutPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 1.);
2901  } else {
2902  mTightCutPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "TightCutPUIDPassFractionVSeta"];
2903  if (mTightCutPUJIDPassFractionVSeta && mTightCutPUJIDPassFractionVSeta->getRootObject())
2904  mTightCutPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 0.);
2905  mTightCutPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "TightCutPUIDPassFractionVSpt"];
2906  if (mTightCutPUJIDPassFractionVSpt && mTightCutPUJIDPassFractionVSpt->getRootObject())
2907  mTightCutPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 0.);
2908  }
2910  mLooseMVAPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "LooseMVAPUIDPassFractionVSeta"];
2911  if (mLooseMVAPUJIDPassFractionVSeta && mLooseMVAPUJIDPassFractionVSeta->getRootObject())
2912  mLooseMVAPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 1.);
2913  mLooseMVAPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "LooseMVAPUIDPassFractionVSpt"];
2914  if (mLooseMVAPUJIDPassFractionVSpt && mLooseMVAPUJIDPassFractionVSpt->getRootObject())
2915  mLooseMVAPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 1.);
2916  } else {
2917  mLooseMVAPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "LooseMVAPUIDPassFractionVSeta"];
2918  if (mLooseMVAPUJIDPassFractionVSeta && mLooseMVAPUJIDPassFractionVSeta->getRootObject())
2919  mLooseMVAPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 0.);
2920  mLooseMVAPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "LooseMVAPUIDPassFractionVSpt"];
2921  if (mLooseMVAPUJIDPassFractionVSpt && mLooseMVAPUJIDPassFractionVSpt->getRootObject())
2922  mLooseMVAPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 0.);
2923  }
2925  mMediumMVAPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "MediumMVAPUIDPassFractionVSeta"];
2926  if (mMediumMVAPUJIDPassFractionVSeta && mMediumMVAPUJIDPassFractionVSeta->getRootObject())
2927  mMediumMVAPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 1.);
2928  mMediumMVAPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "MediumMVAPUIDPassFractionVSpt"];
2929  if (mMediumMVAPUJIDPassFractionVSpt && mMediumMVAPUJIDPassFractionVSpt->getRootObject())
2930  mMediumMVAPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 1.);
2931  } else {
2932  mMediumMVAPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "MediumMVAPUIDPassFractionVSeta"];
2933  if (mMediumMVAPUJIDPassFractionVSeta && mMediumMVAPUJIDPassFractionVSeta->getRootObject())
2934  mMediumMVAPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 0.);
2935  mMediumMVAPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "MediumMVAPUIDPassFractionVSpt"];
2936  if (mMediumMVAPUJIDPassFractionVSpt && mMediumMVAPUJIDPassFractionVSpt->getRootObject())
2937  mMediumMVAPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 0.);
2938  }
2940  mTightMVAPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "TightMVAPUIDPassFractionVSeta"];
2941  if (mTightMVAPUJIDPassFractionVSeta && mTightMVAPUJIDPassFractionVSeta->getRootObject())
2942  mTightMVAPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 1.);
2943  mTightMVAPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "TightMVAPUIDPassFractionVSpt"];
2944  if (mTightMVAPUJIDPassFractionVSpt && mTightMVAPUJIDPassFractionVSpt->getRootObject())
2945  mTightMVAPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 1.);
2946  } else {
2947  mTightMVAPUJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "TightMVAPUIDPassFractionVSeta"];
2948  if (mTightMVAPUJIDPassFractionVSeta && mTightMVAPUJIDPassFractionVSeta->getRootObject())
2949  mTightMVAPUJIDPassFractionVSeta->Fill(correctedJet.eta(), 0.);
2950  mTightMVAPUJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "TightMVAPUIDPassFractionVSpt"];
2951  if (mTightMVAPUJIDPassFractionVSpt && mTightMVAPUJIDPassFractionVSpt->getRootObject())
2952  mTightMVAPUJIDPassFractionVSpt->Fill(correctedJet.pt(), 0.);
2953  }
2954  if (correctedJet.pt() <= 50) {
2955  mCHFracVSeta_lowPt = map_of_MEs[DirName + "/" + "CHFracVSeta_lowPt"];
2956  if (mCHFracVSeta_lowPt && mCHFracVSeta_lowPt->getRootObject())
2957  mCHFracVSeta_lowPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].chargedHadronEnergyFraction());
2958  mNHFracVSeta_lowPt = map_of_MEs[DirName + "/" + "NHFracVSeta_lowPt"];
2959  if (mNHFracVSeta_lowPt && mNHFracVSeta_lowPt->getRootObject())
2960  mNHFracVSeta_lowPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].neutralHadronEnergyFraction());
2961  mPhFracVSeta_lowPt = map_of_MEs[DirName + "/" + "PhFracVSeta_lowPt"];
2962  if (mPhFracVSeta_lowPt && mPhFracVSeta_lowPt->getRootObject())
2963  mPhFracVSeta_lowPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].neutralEmEnergyFraction());
2964  }
2965  if (correctedJet.pt() > 50. && correctedJet.pt() <= 140.) {
2966  mCHFracVSeta_mediumPt = map_of_MEs[DirName + "/" + "CHFracVSeta_mediumPt"];
2967  if (mCHFracVSeta_mediumPt && mCHFracVSeta_mediumPt->getRootObject())
2968  mCHFracVSeta_mediumPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].chargedHadronEnergyFraction());
2969  mNHFracVSeta_mediumPt = map_of_MEs[DirName + "/" + "NHFracVSeta_mediumPt"];
2970  if (mNHFracVSeta_mediumPt && mNHFracVSeta_mediumPt->getRootObject())
2971  mNHFracVSeta_mediumPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].neutralHadronEnergyFraction());
2972  mPhFracVSeta_mediumPt = map_of_MEs[DirName + "/" + "PhFracVSeta_mediumPt"];
2973  if (mPhFracVSeta_mediumPt && mPhFracVSeta_mediumPt->getRootObject())
2974  mPhFracVSeta_mediumPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].neutralEmEnergyFraction());
2975  }
2976  if (correctedJet.pt() > 140.) {
2977  mCHFracVSeta_highPt = map_of_MEs[DirName + "/" + "CHFracVSeta_highPt"];
2978  if (mCHFracVSeta_highPt && mCHFracVSeta_highPt->getRootObject())
2979  mCHFracVSeta_highPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].chargedHadronEnergyFraction());
2980  mNHFracVSeta_highPt = map_of_MEs[DirName + "/" + "NHFracVSeta_highPt"];
2981  if (mNHFracVSeta_highPt && mNHFracVSeta_highPt->getRootObject())
2982  mNHFracVSeta_highPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].neutralHadronEnergyFraction());
2983  mPhFracVSeta_highPt = map_of_MEs[DirName + "/" + "PhFracVSeta_highPt"];
2984  if (mPhFracVSeta_highPt && mPhFracVSeta_highPt->getRootObject())
2985  mPhFracVSeta_highPt->Fill((*pfJets)[ijet].eta(), (*pfJets)[ijet].neutralEmEnergyFraction());
2986  }
2987  if (fabs(correctedJet.eta()) <= 1.3) {
2988  //fractions for barrel
2989  if (correctedJet.pt() <= 50.) {
2990  //mAxis2_lowPt_Barrel = map_of_MEs[DirName+"/"+"qg_Axis2_lowPt_Barrel"];if(mAxis2_lowPt_Barrel && mAxis2_lowPt_Barrel->getRootObject()) mAxis2_lowPt_Barrel->Fill(QGaxis2);
2991  //mpTD_lowPt_Barrel = map_of_MEs[DirName+"/"+"qg_pTD_lowPt_Barrel"]; if(mpTD_lowPt_Barrel && mpTD_lowPt_Barrel->getRootObject()) mpTD_lowPt_Barrel->Fill(QGptD);
2992  //mMultiplicityQG_lowPt_Barrel = map_of_MEs[DirName+"/"+"qg_multiplicity_lowPt_Barrel"]; if(mMultiplicityQG_lowPt_Barrel && mMultiplicityQG_lowPt_Barrel->getRootObject()) mMultiplicityQG_lowPt_Barrel->Fill(QGmulti);
2993  //mqgLikelihood_lowPt_Barrel = map_of_MEs[DirName+"/"+"qg_Likelihood_lowPt_Barrel"]; if(mqgLikelihood_lowPt_Barrel && mqgLikelihood_lowPt_Barrel->getRootObject()) mqgLikelihood_lowPt_Barrel->Fill(QGLikelihood);
2994  mMass_lowPt_Barrel = map_of_MEs[DirName + "/" + "JetMass_lowPt_Barrel"];
2995  if (mMass_lowPt_Barrel && mMass_lowPt_Barrel->getRootObject())
2996  mMass_lowPt_Barrel->Fill((*pfJets)[ijet].mass());
2997  mMVAPUJIDDiscriminant_lowPt_Barrel = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_lowPt_Barrel"];
2998  if (mMVAPUJIDDiscriminant_lowPt_Barrel && mMVAPUJIDDiscriminant_lowPt_Barrel->getRootObject())
2999  mMVAPUJIDDiscriminant_lowPt_Barrel->Fill(puidmva);
3000  mCutPUJIDDiscriminant_lowPt_Barrel = map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_lowPt_Barrel"];
3001  if (mCutPUJIDDiscriminant_lowPt_Barrel && mCutPUJIDDiscriminant_lowPt_Barrel->getRootObject())
3002  mCutPUJIDDiscriminant_lowPt_Barrel->Fill(puidcut);
3003  mCHFrac_lowPt_Barrel = map_of_MEs[DirName + "/" + "CHFrac_lowPt_Barrel"];
3004  if (mCHFrac_lowPt_Barrel && mCHFrac_lowPt_Barrel->getRootObject())
3005  mCHFrac_lowPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3006  mNHFrac_lowPt_Barrel = map_of_MEs[DirName + "/" + "NHFrac_lowPt_Barrel"];
3007  if (mNHFrac_lowPt_Barrel && mNHFrac_lowPt_Barrel->getRootObject())
3008  mNHFrac_lowPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3009  mPhFrac_lowPt_Barrel = map_of_MEs[DirName + "/" + "PhFrac_lowPt_Barrel"];
3010  if (mPhFrac_lowPt_Barrel && mPhFrac_lowPt_Barrel->getRootObject())
3011  mPhFrac_lowPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergyFraction());
3012  mCHEn_lowPt_Barrel = map_of_MEs[DirName + "/" + "CHEn_lowPt_Barrel"];
3013  if (mCHEn_lowPt_Barrel && mCHEn_lowPt_Barrel->getRootObject())
3014  mCHEn_lowPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergy());
3015  mNHEn_lowPt_Barrel = map_of_MEs[DirName + "/" + "NHEn_lowPt_Barrel"];
3016  if (mNHEn_lowPt_Barrel && mNHEn_lowPt_Barrel->getRootObject())
3017  mNHEn_lowPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergy());
3018  mPhEn_lowPt_Barrel = map_of_MEs[DirName + "/" + "PhEn_lowPt_Barrel"];
3019  if (mPhEn_lowPt_Barrel && mPhEn_lowPt_Barrel->getRootObject())
3020  mPhEn_lowPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergy());
3021  mElEn_lowPt_Barrel = map_of_MEs[DirName + "/" + "ElEn_lowPt_Barrel"];
3022  if (mElEn_lowPt_Barrel && mElEn_lowPt_Barrel->getRootObject())
3023  mElEn_lowPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergy());
3024  mMuEn_lowPt_Barrel = map_of_MEs[DirName + "/" + "MuEn_lowPt_Barrel"];
3025  if (mMuEn_lowPt_Barrel && mMuEn_lowPt_Barrel->getRootObject())
3026  mMuEn_lowPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergy());
3027  mChMultiplicity_lowPt_Barrel = map_of_MEs[DirName + "/" + "ChMultiplicity_lowPt_Barrel"];
3028  if (mChMultiplicity_lowPt_Barrel && mChMultiplicity_lowPt_Barrel->getRootObject())
3029  mChMultiplicity_lowPt_Barrel->Fill((*pfJets)[ijet].chargedMultiplicity());
3030  mNeutMultiplicity_lowPt_Barrel = map_of_MEs[DirName + "/" + "NeutMultiplicity_lowPt_Barrel"];
3031  if (mNeutMultiplicity_lowPt_Barrel && mNeutMultiplicity_lowPt_Barrel->getRootObject())
3032  mNeutMultiplicity_lowPt_Barrel->Fill((*pfJets)[ijet].neutralMultiplicity());
3033  mMuMultiplicity_lowPt_Barrel = map_of_MEs[DirName + "/" + "MuMultiplicity_lowPt_Barrel"];
3034  if (mMuMultiplicity_lowPt_Barrel && mMuMultiplicity_lowPt_Barrel->getRootObject())
3035  mMuMultiplicity_lowPt_Barrel->Fill((*pfJets)[ijet].muonMultiplicity());
3036  }
3037  if (correctedJet.pt() > 50. && correctedJet.pt() <= 140.) {
3038  //mAxis2_mediumPt_Barrel = map_of_MEs[DirName+"/"+"qg_Axis2_mediumPt_Barrel"];if(mAxis2_mediumPt_Barrel && mAxis2_mediumPt_Barrel->getRootObject()) mAxis2_mediumPt_Barrel->Fill(QGaxis2);
3039  //mpTD_mediumPt_Barrel = map_of_MEs[DirName+"/"+"qg_pTD_mediumPt_Barrel"]; if(mpTD_mediumPt_Barrel && mpTD_mediumPt_Barrel->getRootObject()) mpTD_mediumPt_Barrel->Fill(QGptD);
3040  //mMultiplicityQG_mediumPt_Barrel = map_of_MEs[DirName+"/"+"qg_multiplicity_mediumPt_Barrel"]; if(mMultiplicityQG_mediumPt_Barrel && mMultiplicityQG_mediumPt_Barrel->getRootObject()) mMultiplicityQG_mediumPt_Barrel->Fill(QGmulti);
3041  //mqgLikelihood_mediumPt_Barrel = map_of_MEs[DirName+"/"+"qg_Likelihood_mediumPt_Barrel"]; if(mqgLikelihood_mediumPt_Barrel && mqgLikelihood_mediumPt_Barrel->getRootObject()) mqgLikelihood_mediumPt_Barrel->Fill(QGLikelihood);
3042  mMass_mediumPt_Barrel = map_of_MEs[DirName + "/" + "JetMass_mediumPt_Barrel"];
3043  if (mMass_mediumPt_Barrel && mMass_mediumPt_Barrel->getRootObject())
3044  mMass_mediumPt_Barrel->Fill((*pfJets)[ijet].mass());
3045  mMVAPUJIDDiscriminant_mediumPt_Barrel = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_Barrel"];
3046  if (mMVAPUJIDDiscriminant_mediumPt_Barrel && mMVAPUJIDDiscriminant_mediumPt_Barrel->getRootObject())
3047  mMVAPUJIDDiscriminant_mediumPt_Barrel->Fill(puidmva);
3048  mCutPUJIDDiscriminant_mediumPt_Barrel = map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_mediumPt_Barrel"];
3049  if (mCutPUJIDDiscriminant_mediumPt_Barrel && mCutPUJIDDiscriminant_mediumPt_Barrel->getRootObject())
3050  mCutPUJIDDiscriminant_mediumPt_Barrel->Fill(puidcut);
3051  mCHFrac_mediumPt_Barrel = map_of_MEs[DirName + "/" + "CHFrac_mediumPt_Barrel"];
3052  if (mCHFrac_mediumPt_Barrel && mCHFrac_mediumPt_Barrel->getRootObject())
3053  mCHFrac_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3054  mNHFrac_mediumPt_Barrel = map_of_MEs[DirName + "/" + "NHFrac_mediumPt_Barrel"];
3055  if (mNHFrac_mediumPt_Barrel && mNHFrac_mediumPt_Barrel->getRootObject())
3056  mNHFrac_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3057  mPhFrac_mediumPt_Barrel = map_of_MEs[DirName + "/" + "PhFrac_mediumPt_Barrel"];
3058  if (mPhFrac_mediumPt_Barrel && mPhFrac_mediumPt_Barrel->getRootObject())
3059  mPhFrac_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergyFraction());
3060  mCHEn_mediumPt_Barrel = map_of_MEs[DirName + "/" + "CHEn_mediumPt_Barrel"];
3061  if (mCHEn_mediumPt_Barrel && mCHEn_mediumPt_Barrel->getRootObject())
3062  mCHEn_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergy());
3063  mNHEn_mediumPt_Barrel = map_of_MEs[DirName + "/" + "NHEn_mediumPt_Barrel"];
3064  if (mNHEn_mediumPt_Barrel && mNHEn_mediumPt_Barrel->getRootObject())
3065  mNHEn_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergy());
3066  mPhEn_mediumPt_Barrel = map_of_MEs[DirName + "/" + "PhEn_mediumPt_Barrel"];
3067  if (mPhEn_mediumPt_Barrel && mPhEn_mediumPt_Barrel->getRootObject())
3068  mPhEn_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergy());
3069  mElEn_mediumPt_Barrel = map_of_MEs[DirName + "/" + "ElEn_mediumPt_Barrel"];
3070  if (mElEn_mediumPt_Barrel && mElEn_mediumPt_Barrel->getRootObject())
3071  mElEn_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergy());
3072  mMuEn_mediumPt_Barrel = map_of_MEs[DirName + "/" + "MuEn_mediumPt_Barrel"];
3073  if (mMuEn_mediumPt_Barrel && mMuEn_mediumPt_Barrel->getRootObject())
3074  mMuEn_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergy());
3075  mChMultiplicity_mediumPt_Barrel = map_of_MEs[DirName + "/" + "ChMultiplicity_mediumPt_Barrel"];
3076  if (mChMultiplicity_mediumPt_Barrel && mChMultiplicity_mediumPt_Barrel->getRootObject())
3077  mChMultiplicity_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedMultiplicity());
3078  mNeutMultiplicity_mediumPt_Barrel = map_of_MEs[DirName + "/" + "NeutMultiplicity_mediumPt_Barrel"];
3079  if (mNeutMultiplicity_mediumPt_Barrel && mNeutMultiplicity_mediumPt_Barrel->getRootObject())
3080  mNeutMultiplicity_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralMultiplicity());
3081  mMuMultiplicity_mediumPt_Barrel = map_of_MEs[DirName + "/" + "MuMultiplicity_mediumPt_Barrel"];
3082  if (mMuMultiplicity_mediumPt_Barrel && mMuMultiplicity_mediumPt_Barrel->getRootObject())
3083  mMuMultiplicity_mediumPt_Barrel->Fill((*pfJets)[ijet].muonMultiplicity());
3084  }
3085  if (correctedJet.pt() > 140.) {
3086  //mAxis2_highPt_Barrel = map_of_MEs[DirName+"/"+"qg_Axis2_highPt_Barrel"];if(mAxis2_highPt_Barrel && mAxis2_highPt_Barrel->getRootObject()) mAxis2_highPt_Barrel->Fill(QGaxis2);
3087  //mpTD_highPt_Barrel = map_of_MEs[DirName+"/"+"qg_pTD_highPt_Barrel"]; if(mpTD_highPt_Barrel && mpTD_highPt_Barrel->getRootObject()) mpTD_highPt_Barrel->Fill(QGptD);
3088  //mMultiplicityQG_highPt_Barrel = map_of_MEs[DirName+"/"+"qg_multiplicity_highPt_Barrel"]; if(mMultiplicityQG_highPt_Barrel && mMultiplicityQG_highPt_Barrel->getRootObject()) mMultiplicityQG_highPt_Barrel->Fill(QGmulti);
3089  //mqgLikelihood_highPt_Barrel = map_of_MEs[DirName+"/"+"qg_Likelihood_highPt_Barrel"]; if(mqgLikelihood_highPt_Barrel && mqgLikelihood_highPt_Barrel->getRootObject()) mqgLikelihood_highPt_Barrel->Fill(QGLikelihood);
3090  mMass_highPt_Barrel = map_of_MEs[DirName + "/" + "JetMass_highPt_Barrel"];
3091  if (mMass_highPt_Barrel && mMass_highPt_Barrel->getRootObject())
3092  mMass_highPt_Barrel->Fill((*pfJets)[ijet].mass());
3093  mMVAPUJIDDiscriminant_highPt_Barrel = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_highPt_Barrel"];
3094  if (mMVAPUJIDDiscriminant_highPt_Barrel && mMVAPUJIDDiscriminant_highPt_Barrel->getRootObject())
3095  mMVAPUJIDDiscriminant_highPt_Barrel->Fill(puidmva);
3096  mCutPUJIDDiscriminant_highPt_Barrel = map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_highPt_Barrel"];
3097  if (mCutPUJIDDiscriminant_highPt_Barrel && mCutPUJIDDiscriminant_highPt_Barrel->getRootObject())
3098  mCutPUJIDDiscriminant_highPt_Barrel->Fill(puidcut);
3099  mCHFrac_highPt_Barrel = map_of_MEs[DirName + "/" + "CHFrac_highPt_Barrel"];
3100  if (mCHFrac_highPt_Barrel && mCHFrac_highPt_Barrel->getRootObject())
3101  mCHFrac_highPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3102  mNHFrac_highPt_Barrel = map_of_MEs[DirName + "/" + "NHFrac_highPt_Barrel"];
3103  if (mNHFrac_highPt_Barrel && mNHFrac_highPt_Barrel->getRootObject())
3104  mNHFrac_highPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3105  mPhFrac_highPt_Barrel = map_of_MEs[DirName + "/" + "PhFrac_highPt_Barrel"];
3106  if (mPhFrac_highPt_Barrel && mPhFrac_highPt_Barrel->getRootObject())
3107  mPhFrac_highPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergyFraction());
3108  mCHEn_highPt_Barrel = map_of_MEs[DirName + "/" + "CHEn_highPt_Barrel"];
3109  if (mCHEn_highPt_Barrel && mCHEn_highPt_Barrel->getRootObject())
3110  mCHEn_highPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergy());
3111  mNHEn_highPt_Barrel = map_of_MEs[DirName + "/" + "NHEn_highPt_Barrel"];
3112  if (mNHEn_highPt_Barrel && mNHEn_highPt_Barrel->getRootObject())
3113  mNHEn_highPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergy());
3114  mPhEn_highPt_Barrel = map_of_MEs[DirName + "/" + "PhEn_highPt_Barrel"];
3115  if (mPhEn_highPt_Barrel && mPhEn_highPt_Barrel->getRootObject())
3116  mPhEn_highPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergy());
3117  mElEn_highPt_Barrel = map_of_MEs[DirName + "/" + "ElEn_highPt_Barrel"];
3118  if (mElEn_highPt_Barrel && mElEn_highPt_Barrel->getRootObject())
3119  mElEn_highPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergy());
3120  mMuEn_highPt_Barrel = map_of_MEs[DirName + "/" + "MuEn_highPt_Barrel"];
3121  if (mMuEn_highPt_Barrel && mMuEn_highPt_Barrel->getRootObject())
3122  mMuEn_highPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergy());
3123  mChMultiplicity_highPt_Barrel = map_of_MEs[DirName + "/" + "ChMultiplicity_highPt_Barrel"];
3124  if (mChMultiplicity_highPt_Barrel && mChMultiplicity_highPt_Barrel->getRootObject())
3125  mChMultiplicity_highPt_Barrel->Fill((*pfJets)[ijet].chargedMultiplicity());
3126  mNeutMultiplicity_highPt_Barrel = map_of_MEs[DirName + "/" + "NeutMultiplicity_highPt_Barrel"];
3127  if (mNeutMultiplicity_highPt_Barrel && mNeutMultiplicity_highPt_Barrel->getRootObject())
3128  mNeutMultiplicity_highPt_Barrel->Fill((*pfJets)[ijet].neutralMultiplicity());
3129  mMuMultiplicity_highPt_Barrel = map_of_MEs[DirName + "/" + "MuMultiplicity_highPt_Barrel"];
3130  if (mMuMultiplicity_highPt_Barrel && mMuMultiplicity_highPt_Barrel->getRootObject())
3131  mMuMultiplicity_highPt_Barrel->Fill((*pfJets)[ijet].muonMultiplicity());
3132  }
3133  mCHFracVSpT_Barrel = map_of_MEs[DirName + "/" + "CHFracVSpT_Barrel"];
3134  if (mCHFracVSpT_Barrel && mCHFracVSpT_Barrel->getRootObject())
3135  mCHFracVSpT_Barrel->Fill(correctedJet.pt(), (*pfJets)[ijet].chargedHadronEnergyFraction());
3136  mNHFracVSpT_Barrel = map_of_MEs[DirName + "/" + "NHFracVSpT_Barrel"];
3137  if (mNHFracVSpT_Barrel && mNHFracVSpT_Barrel->getRootObject())
3138  mNHFracVSpT_Barrel->Fill(correctedJet.pt(), (*pfJets)[ijet].neutralHadronEnergyFraction());
3139  mPhFracVSpT_Barrel = map_of_MEs[DirName + "/" + "PhFracVSpT_Barrel"];
3140  if (mPhFracVSpT_Barrel && mPhFracVSpT_Barrel->getRootObject())
3141  mPhFracVSpT_Barrel->Fill(correctedJet.pt(), (*pfJets)[ijet].neutralEmEnergyFraction());
3142  } else if (fabs(correctedJet.eta()) <= 3) {
3143  //fractions for endcap
3144  if (correctedJet.pt() <= 50.) {
3145  //mAxis2_lowPt_EndCap = map_of_MEs[DirName+"/"+"qg_Axis2_lowPt_EndCap"];if(mAxis2_lowPt_EndCap && mAxis2_lowPt_EndCap->getRootObject()) mAxis2_lowPt_EndCap->Fill(QGaxis2);
3146  //mpTD_lowPt_EndCap = map_of_MEs[DirName+"/"+"qg_pTD_lowPt_EndCap"]; if(mpTD_lowPt_EndCap && mpTD_lowPt_EndCap->getRootObject()) mpTD_lowPt_EndCap->Fill(QGptD);
3147  //mMultiplicityQG_lowPt_EndCap = map_of_MEs[DirName+"/"+"qg_multiplicity_lowPt_EndCap"]; if(mMultiplicityQG_lowPt_EndCap && mMultiplicityQG_lowPt_EndCap->getRootObject()) mMultiplicityQG_lowPt_EndCap->Fill(QGmulti);
3148  //mqgLikelihood_lowPt_EndCap = map_of_MEs[DirName+"/"+"qg_Likelihood_lowPt_EndCap"]; if(mqgLikelihood_lowPt_EndCap && mqgLikelihood_lowPt_EndCap->getRootObject()) mqgLikelihood_lowPt_EndCap->Fill(QGLikelihood);
3149  mMass_lowPt_EndCap = map_of_MEs[DirName + "/" + "JetMass_lowPt_EndCap"];
3150  if (mMass_lowPt_EndCap && mMass_lowPt_EndCap->getRootObject())
3151  mMass_lowPt_EndCap->Fill((*pfJets)[ijet].mass());
3152  mMVAPUJIDDiscriminant_lowPt_EndCap = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_lowPt_EndCap"];
3153  if (mMVAPUJIDDiscriminant_lowPt_EndCap && mMVAPUJIDDiscriminant_lowPt_EndCap->getRootObject())
3154  mMVAPUJIDDiscriminant_lowPt_EndCap->Fill(puidmva);
3155  mCutPUJIDDiscriminant_lowPt_EndCap = map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_lowPt_EndCap"];
3156  if (mCutPUJIDDiscriminant_lowPt_EndCap && mCutPUJIDDiscriminant_lowPt_EndCap->getRootObject())
3157  mCutPUJIDDiscriminant_lowPt_EndCap->Fill(puidcut);
3158  mCHFrac_lowPt_EndCap = map_of_MEs[DirName + "/" + "CHFrac_lowPt_EndCap"];
3159  if (mCHFrac_lowPt_EndCap && mCHFrac_lowPt_EndCap->getRootObject())
3160  mCHFrac_lowPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3161  mNHFrac_lowPt_EndCap = map_of_MEs[DirName + "/" + "NHFrac_lowPt_EndCap"];
3162  if (mNHFrac_lowPt_EndCap && mNHFrac_lowPt_EndCap->getRootObject())
3163  mNHFrac_lowPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3164  mPhFrac_lowPt_EndCap = map_of_MEs[DirName + "/" + "PhFrac_lowPt_EndCap"];
3165  if (mPhFrac_lowPt_EndCap && mPhFrac_lowPt_EndCap->getRootObject())
3166  mPhFrac_lowPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergyFraction());
3167  mCHEn_lowPt_EndCap = map_of_MEs[DirName + "/" + "CHEn_lowPt_EndCap"];
3168  if (mCHEn_lowPt_EndCap && mCHEn_lowPt_EndCap->getRootObject())
3169  mCHEn_lowPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergy());
3170  mNHEn_lowPt_EndCap = map_of_MEs[DirName + "/" + "NHEn_lowPt_EndCap"];
3171  if (mNHEn_lowPt_EndCap && mNHEn_lowPt_EndCap->getRootObject())
3172  mNHEn_lowPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergy());
3173  mPhEn_lowPt_EndCap = map_of_MEs[DirName + "/" + "PhEn_lowPt_EndCap"];
3174  if (mPhEn_lowPt_EndCap && mPhEn_lowPt_EndCap->getRootObject())
3175  mPhEn_lowPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergy());
3176  mElEn_lowPt_EndCap = map_of_MEs[DirName + "/" + "ElEn_lowPt_EndCap"];
3177  if (mElEn_lowPt_EndCap && mElEn_lowPt_EndCap->getRootObject())
3178  mElEn_lowPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergy());
3179  mMuEn_lowPt_EndCap = map_of_MEs[DirName + "/" + "MuEn_lowPt_EndCap"];
3180  if (mMuEn_lowPt_EndCap && mMuEn_lowPt_EndCap->getRootObject())
3181  mMuEn_lowPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergy());
3182  mChMultiplicity_lowPt_EndCap = map_of_MEs[DirName + "/" + "ChMultiplicity_lowPt_EndCap"];
3183  if (mChMultiplicity_lowPt_EndCap && mChMultiplicity_lowPt_EndCap->getRootObject())
3184  mChMultiplicity_lowPt_EndCap->Fill((*pfJets)[ijet].chargedMultiplicity());
3185  mNeutMultiplicity_lowPt_EndCap = map_of_MEs[DirName + "/" + "NeutMultiplicity_lowPt_EndCap"];
3186  if (mNeutMultiplicity_lowPt_EndCap && mNeutMultiplicity_lowPt_EndCap->getRootObject())
3187  mNeutMultiplicity_lowPt_EndCap->Fill((*pfJets)[ijet].neutralMultiplicity());
3188  mMuMultiplicity_lowPt_EndCap = map_of_MEs[DirName + "/" + "MuMultiplicity_lowPt_EndCap"];
3189  if (mMuMultiplicity_lowPt_EndCap && mMuMultiplicity_lowPt_EndCap->getRootObject())
3190  mMuMultiplicity_lowPt_EndCap->Fill((*pfJets)[ijet].muonMultiplicity());
3191  }
3192  if (correctedJet.pt() > 50. && correctedJet.pt() <= 140.) {
3193  //mAxis2_mediumPt_EndCap = map_of_MEs[DirName+"/"+"qg_Axis2_mediumPt_EndCap"];if(mAxis2_mediumPt_EndCap && mAxis2_mediumPt_EndCap->getRootObject()) mAxis2_mediumPt_EndCap->Fill(QGaxis2);
3194  //mpTD_mediumPt_EndCap = map_of_MEs[DirName+"/"+"qg_pTD_mediumPt_EndCap"]; if(mpTD_mediumPt_EndCap && mpTD_mediumPt_EndCap->getRootObject()) mpTD_mediumPt_EndCap->Fill(QGptD);
3195  //mMultiplicityQG_mediumPt_EndCap = map_of_MEs[DirName+"/"+"qg_multiplicity_mediumPt_EndCap"]; if(mMultiplicityQG_mediumPt_EndCap && mMultiplicityQG_mediumPt_EndCap->getRootObject()) mMultiplicityQG_mediumPt_EndCap->Fill(QGmulti);
3196  //mqgLikelihood_mediumPt_EndCap = map_of_MEs[DirName+"/"+"qg_Likelihood_mediumPt_EndCap"]; if(mqgLikelihood_mediumPt_EndCap && mqgLikelihood_mediumPt_EndCap->getRootObject()) mqgLikelihood_mediumPt_EndCap->Fill(QGLikelihood);
3197  mMass_mediumPt_EndCap = map_of_MEs[DirName + "/" + "JetMass_mediumPt_EndCap"];
3198  if (mMass_mediumPt_EndCap && mMass_mediumPt_EndCap->getRootObject())
3199  mMass_mediumPt_EndCap->Fill((*pfJets)[ijet].mass());
3200  mMVAPUJIDDiscriminant_mediumPt_EndCap = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_EndCap"];
3201  if (mMVAPUJIDDiscriminant_mediumPt_EndCap && mMVAPUJIDDiscriminant_mediumPt_EndCap->getRootObject())
3202  mMVAPUJIDDiscriminant_mediumPt_EndCap->Fill(puidmva);
3203  mCutPUJIDDiscriminant_mediumPt_EndCap = map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_mediumPt_EndCap"];
3204  if (mCutPUJIDDiscriminant_mediumPt_EndCap && mCutPUJIDDiscriminant_mediumPt_EndCap->getRootObject())
3205  mCutPUJIDDiscriminant_mediumPt_EndCap->Fill(puidcut);
3206  mCHFrac_mediumPt_EndCap = map_of_MEs[DirName + "/" + "CHFrac_mediumPt_EndCap"];
3207  if (mCHFrac_mediumPt_EndCap && mCHFrac_mediumPt_EndCap->getRootObject())
3208  mCHFrac_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3209  mNHFrac_mediumPt_EndCap = map_of_MEs[DirName + "/" + "NHFrac_mediumPt_EndCap"];
3210  if (mNHFrac_mediumPt_EndCap && mNHFrac_mediumPt_EndCap->getRootObject())
3211  mNHFrac_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3212  mPhFrac_mediumPt_EndCap = map_of_MEs[DirName + "/" + "PhFrac_mediumPt_EndCap"];
3213  if (mPhFrac_mediumPt_EndCap && mPhFrac_mediumPt_EndCap->getRootObject())
3214  mPhFrac_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergyFraction());
3215  mCHEn_mediumPt_EndCap = map_of_MEs[DirName + "/" + "CHEn_mediumPt_EndCap"];
3216  if (mCHEn_mediumPt_EndCap && mCHEn_mediumPt_EndCap->getRootObject())
3217  mCHEn_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergy());
3218  mNHEn_mediumPt_EndCap = map_of_MEs[DirName + "/" + "NHEn_mediumPt_EndCap"];
3219  if (mNHEn_mediumPt_EndCap && mNHEn_mediumPt_EndCap->getRootObject())
3220  mNHEn_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergy());
3221  mPhEn_mediumPt_EndCap = map_of_MEs[DirName + "/" + "PhEn_mediumPt_EndCap"];
3222  if (mPhEn_mediumPt_EndCap && mPhEn_mediumPt_EndCap->getRootObject())
3223  mPhEn_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergy());
3224  mElEn_mediumPt_EndCap = map_of_MEs[DirName + "/" + "ElEn_mediumPt_EndCap"];
3225  if (mElEn_mediumPt_EndCap && mElEn_mediumPt_EndCap->getRootObject())
3226  mElEn_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergy());
3227  mMuEn_mediumPt_EndCap = map_of_MEs[DirName + "/" + "MuEn_mediumPt_EndCap"];
3228  if (mMuEn_mediumPt_EndCap && mMuEn_mediumPt_EndCap->getRootObject())
3229  mMuEn_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergy());
3230  mChMultiplicity_mediumPt_EndCap = map_of_MEs[DirName + "/" + "ChMultiplicity_mediumPt_EndCap"];
3231  if (mChMultiplicity_mediumPt_EndCap && mChMultiplicity_mediumPt_EndCap->getRootObject())
3232  mChMultiplicity_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedMultiplicity());
3233  mNeutMultiplicity_mediumPt_EndCap = map_of_MEs[DirName + "/" + "NeutMultiplicity_mediumPt_EndCap"];
3234  if (mNeutMultiplicity_mediumPt_EndCap && mNeutMultiplicity_mediumPt_EndCap->getRootObject())
3235  mNeutMultiplicity_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralMultiplicity());
3236  mMuMultiplicity_mediumPt_EndCap = map_of_MEs[DirName + "/" + "MuMultiplicity_mediumPt_EndCap"];
3237  if (mMuMultiplicity_mediumPt_EndCap && mMuMultiplicity_mediumPt_EndCap->getRootObject())
3238  mMuMultiplicity_mediumPt_EndCap->Fill((*pfJets)[ijet].muonMultiplicity());
3239  }
3240  if (correctedJet.pt() > 140.) {
3241  //mAxis2_highPt_EndCap = map_of_MEs[DirName+"/"+"qg_Axis2_highPt_EndCap"];if(mAxis2_highPt_EndCap && mAxis2_highPt_EndCap->getRootObject()) mAxis2_highPt_EndCap->Fill(QGaxis2);
3242  //mpTD_highPt_EndCap = map_of_MEs[DirName+"/"+"qg_pTD_highPt_EndCap"]; if(mpTD_highPt_EndCap && mpTD_highPt_EndCap->getRootObject()) mpTD_highPt_EndCap->Fill(QGptD);
3243  //mMultiplicityQG_highPt_EndCap = map_of_MEs[DirName+"/"+"qg_multiplicity_highPt_EndCap"]; if(mMultiplicityQG_highPt_EndCap && mMultiplicityQG_highPt_EndCap->getRootObject()) mMultiplicityQG_highPt_EndCap->Fill(QGmulti);
3244  //mqgLikelihood_highPt_EndCap = map_of_MEs[DirName+"/"+"qg_Likelihood_highPt_EndCap"]; if(mqgLikelihood_highPt_EndCap && mqgLikelihood_highPt_EndCap->getRootObject()) mqgLikelihood_highPt_EndCap->Fill(QGLikelihood);
3245  mMass_highPt_EndCap = map_of_MEs[DirName + "/" + "JetMass_highPt_EndCap"];
3246  if (mMass_highPt_EndCap && mMass_highPt_EndCap->getRootObject())
3247  mMass_highPt_EndCap->Fill((*pfJets)[ijet].mass());
3248  mMVAPUJIDDiscriminant_highPt_EndCap = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_highPt_EndCap"];
3249  if (mMVAPUJIDDiscriminant_highPt_EndCap && mMVAPUJIDDiscriminant_highPt_EndCap->getRootObject())
3250  mMVAPUJIDDiscriminant_highPt_EndCap->Fill(puidmva);
3251  mCutPUJIDDiscriminant_highPt_EndCap = map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_highPt_EndCap"];
3252  if (mCutPUJIDDiscriminant_highPt_EndCap && mCutPUJIDDiscriminant_highPt_EndCap->getRootObject())
3253  mCutPUJIDDiscriminant_highPt_EndCap->Fill(puidcut);
3254  mCHFrac_highPt_EndCap = map_of_MEs[DirName + "/" + "CHFrac_highPt_EndCap"];
3255  if (mCHFrac_highPt_EndCap && mCHFrac_highPt_EndCap->getRootObject())
3256  mCHFrac_highPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3257  mNHFrac_highPt_EndCap = map_of_MEs[DirName + "/" + "NHFrac_highPt_EndCap"];
3258  if (mNHFrac_highPt_EndCap && mNHFrac_highPt_EndCap->getRootObject())
3259  mNHFrac_highPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3260  mPhFrac_highPt_EndCap = map_of_MEs[DirName + "/" + "PhFrac_highPt_EndCap"];
3261  if (mPhFrac_highPt_EndCap && mPhFrac_highPt_EndCap->getRootObject())
3262  mPhFrac_highPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergyFraction());
3263  mCHEn_highPt_EndCap = map_of_MEs[DirName + "/" + "CHEn_highPt_EndCap"];
3264  if (mCHEn_highPt_EndCap && mCHEn_highPt_EndCap->getRootObject())
3265  mCHEn_highPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergy());
3266  mNHEn_highPt_EndCap = map_of_MEs[DirName + "/" + "NHEn_highPt_EndCap"];
3267  if (mNHEn_highPt_EndCap && mNHEn_highPt_EndCap->getRootObject())
3268  mNHEn_highPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergy());
3269  mPhEn_highPt_EndCap = map_of_MEs[DirName + "/" + "PhEn_highPt_EndCap"];
3270  if (mPhEn_highPt_EndCap && mPhEn_highPt_EndCap->getRootObject())
3271  mPhEn_highPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergy());
3272  mElEn_highPt_EndCap = map_of_MEs[DirName + "/" + "ElEn_highPt_EndCap"];
3273  if (mElEn_highPt_EndCap && mElEn_highPt_EndCap->getRootObject())
3274  mElEn_highPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergy());
3275  mMuEn_highPt_EndCap = map_of_MEs[DirName + "/" + "MuEn_highPt_EndCap"];
3276  if (mMuEn_highPt_EndCap && mMuEn_highPt_EndCap->getRootObject())
3277  mMuEn_highPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergy());
3278  mChMultiplicity_highPt_EndCap = map_of_MEs[DirName + "/" + "ChMultiplicity_highPt_EndCap"];
3279  if (mChMultiplicity_highPt_EndCap && mChMultiplicity_highPt_EndCap->getRootObject())
3280  mChMultiplicity_highPt_EndCap->Fill((*pfJets)[ijet].chargedMultiplicity());
3281  mNeutMultiplicity_highPt_EndCap = map_of_MEs[DirName + "/" + "NeutMultiplicity_highPt_EndCap"];
3282  if (mNeutMultiplicity_highPt_EndCap && mNeutMultiplicity_highPt_EndCap->getRootObject())
3283  mNeutMultiplicity_highPt_EndCap->Fill((*pfJets)[ijet].neutralMultiplicity());
3284  mMuMultiplicity_highPt_EndCap = map_of_MEs[DirName + "/" + "MuMultiplicity_highPt_EndCap"];
3285  if (mMuMultiplicity_highPt_EndCap && mMuMultiplicity_highPt_EndCap->getRootObject())
3286  mMuMultiplicity_highPt_EndCap->Fill((*pfJets)[ijet].muonMultiplicity());
3287  }
3288  mCHFracVSpT_EndCap = map_of_MEs[DirName + "/" + "CHFracVSpT_EndCap"];
3289  if (mCHFracVSpT_EndCap && mCHFracVSpT_EndCap->getRootObject())
3290  mCHFracVSpT_EndCap->Fill(correctedJet.pt(), (*pfJets)[ijet].chargedHadronEnergyFraction());
3291  mNHFracVSpT_EndCap = map_of_MEs[DirName + "/" + "NHFracVSpT_EndCap"];
3292  if (mNHFracVSpT_EndCap && mNHFracVSpT_EndCap->getRootObject())
3293  mNHFracVSpT_EndCap->Fill(correctedJet.pt(), (*pfJets)[ijet].neutralHadronEnergyFraction());
3294  mPhFracVSpT_EndCap = map_of_MEs[DirName + "/" + "PhFracVSpT_EndCap"];
3295  if (mPhFracVSpT_EndCap && mPhFracVSpT_EndCap->getRootObject())
3296  mPhFracVSpT_EndCap->Fill(correctedJet.pt(), (*pfJets)[ijet].neutralEmEnergyFraction());
3297  } else {
3298  mHFHFracVSpT_Forward = map_of_MEs[DirName + "/" + "HFHFracVSpT_Forward"];
3299  if (mHFHFracVSpT_Forward && mHFHFracVSpT_Forward->getRootObject())
3300  mHFHFracVSpT_Forward->Fill(correctedJet.pt(), (*pfJets)[ijet].HFHadronEnergyFraction());
3301  mHFEFracVSpT_Forward = map_of_MEs[DirName + "/" + "HFEFracVSpT_Forward"];
3302  if (mHFEFracVSpT_Forward && mHFEFracVSpT_Forward->getRootObject())
3303  mHFEFracVSpT_Forward->Fill(correctedJet.pt(), (*pfJets)[ijet].HFEMEnergyFraction());
3304  //fractions
3305  if (correctedJet.pt() <= 50.) {
3306  //mAxis2_lowPt_Forward = map_of_MEs[DirName+"/"+"qg_Axis2_lowPt_Forward"];if(mAxis2_lowPt_Forward && mAxis2_lowPt_Forward->getRootObject()) mAxis2_lowPt_Forward->Fill(QGaxis2);
3307  //mpTD_lowPt_Forward = map_of_MEs[DirName+"/"+"qg_pTD_lowPt_Forward"]; if(mpTD_lowPt_Forward && mpTD_lowPt_Forward->getRootObject()) mpTD_lowPt_Forward->Fill(QGptD);
3308  //mMultiplicityQG_lowPt_Forward = map_of_MEs[DirName+"/"+"qg_multiplicity_lowPt_Forward"]; if(mMultiplicityQG_lowPt_Forward && mMultiplicityQG_lowPt_Forward->getRootObject()) mMultiplicityQG_lowPt_Forward->Fill(QGmulti);
3309  //mqgLikelihood_lowPt_Forward = map_of_MEs[DirName+"/"+"qg_Likelihood_lowPt_Forward"]; if(mqgLikelihood_lowPt_Forward && mqgLikelihood_lowPt_Forward->getRootObject()) mqgLikelihood_lowPt_Forward->Fill(QGLikelihood);
3310  mMass_lowPt_Forward = map_of_MEs[DirName + "/" + "JetMass_lowPt_Forward"];
3311  if (mMass_lowPt_Forward && mMass_lowPt_Forward->getRootObject())
3312  mMass_lowPt_Forward->Fill((*pfJets)[ijet].mass());
3313  mMVAPUJIDDiscriminant_lowPt_Forward = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_lowPt_Forward"];
3314  if (mMVAPUJIDDiscriminant_lowPt_Forward && mMVAPUJIDDiscriminant_lowPt_Forward->getRootObject())
3315  mMVAPUJIDDiscriminant_lowPt_Forward->Fill(puidmva);
3316  mCutPUJIDDiscriminant_lowPt_Forward = map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_lowPt_Forward"];
3317  if (mCutPUJIDDiscriminant_lowPt_Forward && mCutPUJIDDiscriminant_lowPt_Forward->getRootObject())
3318  mCutPUJIDDiscriminant_lowPt_Forward->Fill(puidcut);
3319  mHFEFrac_lowPt_Forward = map_of_MEs[DirName + "/" + "HFEFrac_lowPt_Forward"];
3320  if (mHFEFrac_lowPt_Forward && mHFEFrac_lowPt_Forward->getRootObject())
3321  mHFEFrac_lowPt_Forward->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3322  mHFHFrac_lowPt_Forward = map_of_MEs[DirName + "/" + "HFHFrac_lowPt_Forward"];
3323  if (mHFHFrac_lowPt_Forward && mHFHFrac_lowPt_Forward->getRootObject())
3324  mHFHFrac_lowPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3325  mHFEEn_lowPt_Forward = map_of_MEs[DirName + "/" + "HFEEn_lowPt_Forward"];
3326  if (mHFEEn_lowPt_Forward && mHFEEn_lowPt_Forward->getRootObject())
3327  mHFEEn_lowPt_Forward->Fill((*pfJets)[ijet].HFEMEnergy());
3328  mHFHEn_lowPt_Forward = map_of_MEs[DirName + "/" + "HFHEn_lowPt_Forward"];
3329  if (mHFHEn_lowPt_Forward && mHFHEn_lowPt_Forward->getRootObject())
3330  mHFHEn_lowPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergy());
3331  mNeutMultiplicity_lowPt_Forward = map_of_MEs[DirName + "/" + "NeutMultiplicity_lowPt_Forward"];
3332  if (mNeutMultiplicity_lowPt_Forward && mNeutMultiplicity_lowPt_Forward->getRootObject())
3333  mNeutMultiplicity_lowPt_Forward->Fill((*pfJets)[ijet].neutralMultiplicity());
3334  }
3335  if (correctedJet.pt() > 50. && correctedJet.pt() <= 140.) {
3336  //mAxis2_mediumPt_Forward = map_of_MEs[DirName+"/"+"qg_Axis2_mediumPt_Forward"];if(mAxis2_mediumPt_Forward && mAxis2_mediumPt_Forward->getRootObject()) mAxis2_mediumPt_Forward->Fill(QGaxis2);
3337  //mpTD_mediumPt_Forward = map_of_MEs[DirName+"/"+"qg_pTD_mediumPt_Forward"]; if(mpTD_mediumPt_Forward && mpTD_mediumPt_Forward->getRootObject()) mpTD_mediumPt_Forward->Fill(QGptD);
3338  //mMultiplicityQG_mediumPt_Forward = map_of_MEs[DirName+"/"+"qg_multiplicity_mediumPt_Forward"]; if(mMultiplicityQG_mediumPt_Forward && mMultiplicityQG_mediumPt_Forward->getRootObject()) mMultiplicityQG_mediumPt_Forward->Fill(QGmulti);
3339  //mqgLikelihood_mediumPt_Forward = map_of_MEs[DirName+"/"+"qg_Likelihood_mediumPt_Forward"]; if(mqgLikelihood_mediumPt_Forward && mqgLikelihood_mediumPt_Forward->getRootObject()) mqgLikelihood_mediumPt_Forward->Fill(QGLikelihood);
3340  mMass_mediumPt_Forward = map_of_MEs[DirName + "/" + "JetMass_mediumPt_Forward"];
3341  if (mMass_mediumPt_Forward && mMass_mediumPt_Forward->getRootObject())
3342  mMass_mediumPt_Forward->Fill((*pfJets)[ijet].mass());
3343  mMVAPUJIDDiscriminant_mediumPt_Forward =
3344  map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_mediumPt_Forward"];
3345  if (mMVAPUJIDDiscriminant_mediumPt_Forward && mMVAPUJIDDiscriminant_mediumPt_Forward->getRootObject())
3346  mMVAPUJIDDiscriminant_mediumPt_Forward->Fill(puidmva);
3347  mCutPUJIDDiscriminant_mediumPt_Forward =
3348  map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_mediumPt_Forward"];
3349  if (mCutPUJIDDiscriminant_mediumPt_Forward && mCutPUJIDDiscriminant_mediumPt_Forward->getRootObject())
3350  mCutPUJIDDiscriminant_mediumPt_Forward->Fill(puidcut);
3351  mHFEFrac_mediumPt_Forward = map_of_MEs[DirName + "/" + "HFEFrac_mediumPt_Forward"];
3352  if (mHFEFrac_mediumPt_Forward && mHFEFrac_mediumPt_Forward->getRootObject())
3353  mHFEFrac_mediumPt_Forward->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3354  mHFHFrac_mediumPt_Forward = map_of_MEs[DirName + "/" + "HFHFrac_mediumPt_Forward"];
3355  if (mHFHFrac_mediumPt_Forward && mHFHFrac_mediumPt_Forward->getRootObject())
3356  mHFHFrac_mediumPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3357  mHFEEn_mediumPt_Forward = map_of_MEs[DirName + "/" + "HFEEn_mediumPt_Forward"];
3358  if (mHFEEn_mediumPt_Forward && mHFEEn_mediumPt_Forward->getRootObject())
3359  mHFEEn_mediumPt_Forward->Fill((*pfJets)[ijet].HFEMEnergy());
3360  mHFHEn_mediumPt_Forward = map_of_MEs[DirName + "/" + "HFHEn_mediumPt_Forward"];
3361  if (mHFHEn_mediumPt_Forward && mHFHEn_mediumPt_Forward->getRootObject())
3362  mHFHEn_mediumPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergy());
3363  mNeutMultiplicity_mediumPt_Forward = map_of_MEs[DirName + "/" + "NeutMultiplicity_mediumPt_Forward"];
3364  if (mNeutMultiplicity_mediumPt_Forward && mNeutMultiplicity_mediumPt_Forward->getRootObject())
3365  mNeutMultiplicity_mediumPt_Forward->Fill((*pfJets)[ijet].neutralMultiplicity());
3366  }
3367  if (correctedJet.pt() > 140.) {
3368  //mAxis2_highPt_Forward = map_of_MEs[DirName+"/"+"qg_Axis2_highPt_Forward"];if(mAxis2_highPt_Forward && mAxis2_highPt_Forward->getRootObject()) mAxis2_highPt_Forward->Fill(QGaxis2);
3369  //mpTD_highPt_Forward = map_of_MEs[DirName+"/"+"qg_pTD_highPt_Forward"]; if(mpTD_highPt_Forward && mpTD_highPt_Forward->getRootObject()) mpTD_highPt_Forward->Fill(QGptD);
3370  //mMultiplicityQG_highPt_Forward = map_of_MEs[DirName+"/"+"qg_multiplicity_highPt_Forward"]; if(mMultiplicityQG_highPt_Forward && mMultiplicityQG_highPt_Forward->getRootObject()) mMultiplicityQG_highPt_Forward->Fill(QGmulti);
3371  //mqgLikelihood_highPt_Forward = map_of_MEs[DirName+"/"+"qg_Likelihood_highPt_Forward"]; if(mqgLikelihood_highPt_Forward && mqgLikelihood_highPt_Forward->getRootObject()) mqgLikelihood_highPt_Forward->Fill(QGLikelihood);
3372  mMass_highPt_Forward = map_of_MEs[DirName + "/" + "JetMass_highPt_Forward"];
3373  if (mMass_highPt_Forward && mMass_highPt_Forward->getRootObject())
3374  mMass_highPt_Forward->Fill((*pfJets)[ijet].mass());
3375  mMVAPUJIDDiscriminant_highPt_Forward = map_of_MEs[DirName + "/" + "MVAPUJIDDiscriminant_highPt_Forward"];
3376  if (mMVAPUJIDDiscriminant_highPt_Forward && mMVAPUJIDDiscriminant_highPt_Forward->getRootObject())
3377  mMVAPUJIDDiscriminant_highPt_Forward->Fill(puidmva);
3378  mCutPUJIDDiscriminant_highPt_Forward = map_of_MEs[DirName + "/" + "CutPUJIDDiscriminant_highPt_Forward"];
3379  if (mCutPUJIDDiscriminant_highPt_Forward && mCutPUJIDDiscriminant_highPt_Forward->getRootObject())
3380  mCutPUJIDDiscriminant_highPt_Forward->Fill(puidcut);
3381  mHFEFrac_highPt_Forward = map_of_MEs[DirName + "/" + "HFEFrac_highPt_Forward"];
3382  if (mHFEFrac_highPt_Forward && mHFEFrac_highPt_Forward->getRootObject())
3383  mHFEFrac_highPt_Forward->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3384  mHFHFrac_highPt_Forward = map_of_MEs[DirName + "/" + "HFHFrac_highPt_Forward"];
3385  if (mHFHFrac_highPt_Forward && mHFHFrac_highPt_Forward->getRootObject())
3386  mHFHFrac_highPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3387  mHFEEn_highPt_Forward = map_of_MEs[DirName + "/" + "HFEEn_highPt_Forward"];
3388  if (mHFEEn_highPt_Forward && mHFEEn_highPt_Forward->getRootObject())
3389  mHFEEn_highPt_Forward->Fill((*pfJets)[ijet].HFEMEnergy());
3390  mHFHEn_highPt_Forward = map_of_MEs[DirName + "/" + "HFHEn_highPt_Forward"];
3391  if (mHFHEn_highPt_Forward && mHFHEn_highPt_Forward->getRootObject())
3392  mHFHEn_highPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergy());
3393  mNeutMultiplicity_highPt_Forward = map_of_MEs[DirName + "/" + "NeutMultiplicity_highPt_Forward"];
3394  if (mNeutMultiplicity_highPt_Forward && mNeutMultiplicity_highPt_Forward->getRootObject())
3395  mNeutMultiplicity_highPt_Forward->Fill((*pfJets)[ijet].neutralMultiplicity());
3396  }
3397  }
3398  //OOT plots
3399  /*
3400  if(techTriggerResultBx0 && techTriggerResultBxE && techTriggerResultBxF){
3401  meEta_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"Eta_BXm2BXm1Filled"]; if ( meEta_BXm2BXm1Filled && meEta_BXm2BXm1Filled ->getRootObject()) meEta_BXm2BXm1Filled ->Fill((*pfJets)[ijet].eta());
3402  if(fabs(correctedJet.eta()) <= 1.3) {
3403  mePhFracBarrel_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PhFracBarrel_BXm2BXm1Filled"]; if ( mePhFracBarrel_BXm2BXm1Filled && mePhFracBarrel_BXm2BXm1Filled ->getRootObject()) mePhFracBarrel_BXm2BXm1Filled ->Fill((*pfJets)[ijet].photonEnergyFraction());
3404  meNHFracBarrel_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"NHFracBarrel_BXm2BXm1Filled"]; if ( meNHFracBarrel_BXm2BXm1Filled && meNHFracBarrel_BXm2BXm1Filled ->getRootObject()) meNHFracBarrel_BXm2BXm1Filled ->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3405  meCHFracBarrel_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"CHFracBarrel_BXm2BXm1Filled"]; if ( meCHFracBarrel_BXm2BXm1Filled && meCHFracBarrel_BXm2BXm1Filled ->getRootObject()) meCHFracBarrel_BXm2BXm1Filled ->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3406  mePtBarrel_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PtBarrel_BXm2BXm1Filled"]; if ( mePtBarrel_BXm2BXm1Filled && mePtBarrel_BXm2BXm1Filled ->getRootObject()) mePtBarrel_BXm2BXm1Filled ->Fill((*pfJets)[ijet].pt());
3407  }else if (correctedJet.eta() > -3.0 && correctedJet.eta() <= -1.3) {
3408  mePhFracEndCapMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PhFracEndCapMinus_BXm2BXm1Filled"]; if ( mePhFracEndCapMinus_BXm2BXm1Filled && mePhFracEndCapMinus_BXm2BXm1Filled ->getRootObject()) mePhFracEndCapMinus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].photonEnergyFraction());
3409  meNHFracEndCapMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"NHFracEndCapMinus_BXm2BXm1Filled"]; if ( meNHFracEndCapMinus_BXm2BXm1Filled && meNHFracEndCapMinus_BXm2BXm1Filled ->getRootObject()) meNHFracEndCapMinus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3410  meCHFracEndCapMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"CHFracEndCapMinus_BXm2BXm1Filled"]; if ( meCHFracEndCapMinus_BXm2BXm1Filled && meCHFracEndCapMinus_BXm2BXm1Filled ->getRootObject()) meCHFracEndCapMinus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3411  mePtEndCapMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PtEndCapMinus_BXm2BXm1Filled"]; if ( mePtEndCapMinus_BXm2BXm1Filled && mePtEndCapMinus_BXm2BXm1Filled ->getRootObject()) mePtEndCapMinus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].pt());
3412  }else if (correctedJet.eta() >= 1.3 && correctedJet.eta() < 3.0) {
3413  mePhFracEndCapPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PhFracEndCapPlus_BXm2BXm1Filled"]; if ( mePhFracEndCapPlus_BXm2BXm1Filled && mePhFracEndCapPlus_BXm2BXm1Filled ->getRootObject()) mePhFracEndCapPlus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].photonEnergyFraction());
3414  meNHFracEndCapPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"NHFracEndCapPlus_BXm2BXm1Filled"]; if ( meNHFracEndCapPlus_BXm2BXm1Filled && meNHFracEndCapPlus_BXm2BXm1Filled ->getRootObject()) meNHFracEndCapPlus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3415  meCHFracEndCapPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"CHFracEndCapPlus_BXm2BXm1Filled"]; if ( meCHFracEndCapPlus_BXm2BXm1Filled && meCHFracEndCapPlus_BXm2BXm1Filled ->getRootObject()) meCHFracEndCapPlus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3416  mePtEndCapPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PtEndCapPlus_BXm2BXm1Filled"]; if ( mePtEndCapPlus_BXm2BXm1Filled && mePtEndCapPlus_BXm2BXm1Filled ->getRootObject()) mePtEndCapPlus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].pt());
3417  }else if (correctedJet.eta() > -5.0 && correctedJet.eta() <= -3.0) {
3418  mePtForwardMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PtForwardMinus_BXm2BXm1Filled"]; if ( mePtForwardMinus_BXm2BXm1Filled && mePtForwardMinus_BXm2BXm1Filled ->getRootObject()) mePtForwardMinus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].pt());
3419  meHFHFracMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"HFHFracMinus_BXm2BXm1Filled"]; if ( meHFHFracMinus_BXm2BXm1Filled && meHFHFracMinus_BXm2BXm1Filled ->getRootObject()) meHFHFracMinus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3420  meHFEMFracMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"HFEMFracMinus_BXm2BXm1Filled"]; if ( meHFEMFracMinus_BXm2BXm1Filled && meHFEMFracMinus_BXm2BXm1Filled ->getRootObject()) meHFEMFracMinus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3421  }else if (correctedJet.eta() >= 3.0 && correctedJet.eta() < 5.0) {
3422  mePtForwardPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PtForwardPlus_BXm2BXm1Filled"]; if ( mePtForwardPlus_BXm2BXm1Filled && mePtForwardPlus_BXm2BXm1Filled ->getRootObject()) mePtForwardPlus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].pt());
3423  meHFHFracPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"HFHFracPlus_BXm2BXm1Filled"]; if ( meHFHFracPlus_BXm2BXm1Filled && meHFHFracPlus_BXm2BXm1Filled ->getRootObject()) meHFHFracPlus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3424  meHFEMFracPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"HFEMFracPlus_BXm2BXm1Filled"]; if ( meHFEMFracPlus_BXm2BXm1Filled && meHFEMFracPlus_BXm2BXm1Filled ->getRootObject()) meHFEMFracPlus_BXm2BXm1Filled ->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3425  }
3426  }*/
3427  if (techTriggerResultBx0 && techTriggerResultBxF) {
3428  meEta_BXm1Filled = map_of_MEs[DirName + "/" + "Eta_BXm1Filled"];
3429  if (meEta_BXm1Filled && meEta_BXm1Filled->getRootObject())
3430  meEta_BXm1Filled->Fill((*pfJets)[ijet].eta());
3431  if (fabs(correctedJet.eta()) <= 1.3) {
3432  mePhFracBarrel_BXm1Filled = map_of_MEs[DirName + "/" + "PhFracBarrel_BXm1Filled"];
3433  if (mePhFracBarrel_BXm1Filled && mePhFracBarrel_BXm1Filled->getRootObject())
3434  mePhFracBarrel_BXm1Filled->Fill((*pfJets)[ijet].photonEnergyFraction());
3435  meNHFracBarrel_BXm1Filled = map_of_MEs[DirName + "/" + "NHFracBarrel_BXm1Filled"];
3436  if (meNHFracBarrel_BXm1Filled && meNHFracBarrel_BXm1Filled->getRootObject())
3437  meNHFracBarrel_BXm1Filled->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3438  meCHFracBarrel_BXm1Filled = map_of_MEs[DirName + "/" + "CHFracBarrel_BXm1Filled"];
3439  if (meCHFracBarrel_BXm1Filled && meCHFracBarrel_BXm1Filled->getRootObject())
3440  meCHFracBarrel_BXm1Filled->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3441  mePtBarrel_BXm1Filled = map_of_MEs[DirName + "/" + "PtBarrel_BXm1Filled"];
3442  if (mePtBarrel_BXm1Filled && mePtBarrel_BXm1Filled->getRootObject())
3443  mePtBarrel_BXm1Filled->Fill((*pfJets)[ijet].pt());
3444  } else if (correctedJet.eta() > -3.0 && correctedJet.eta() <= -1.3) {
3445  mePhFracEndCapMinus_BXm1Filled = map_of_MEs[DirName + "/" + "PhFracEndCapMinus_BXm1Filled"];
3446  if (mePhFracEndCapMinus_BXm1Filled && mePhFracEndCapMinus_BXm1Filled->getRootObject())
3447  mePhFracEndCapMinus_BXm1Filled->Fill((*pfJets)[ijet].photonEnergyFraction());
3448  meNHFracEndCapMinus_BXm1Filled = map_of_MEs[DirName + "/" + "NHFracEndCapMinus_BXm1Filled"];
3449  if (meNHFracEndCapMinus_BXm1Filled && meNHFracEndCapMinus_BXm1Filled->getRootObject())
3450  meNHFracEndCapMinus_BXm1Filled->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3451  meCHFracEndCapMinus_BXm1Filled = map_of_MEs[DirName + "/" + "CHFracEndCapMinus_BXm1Filled"];
3452  if (meCHFracEndCapMinus_BXm1Filled && meCHFracEndCapMinus_BXm1Filled->getRootObject())
3453  meCHFracEndCapMinus_BXm1Filled->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3454  mePtEndCapMinus_BXm1Filled = map_of_MEs[DirName + "/" + "PtEndCapMinus_BXm1Filled"];
3455  if (mePtEndCapMinus_BXm1Filled && mePtEndCapMinus_BXm1Filled->getRootObject())
3456  mePtEndCapMinus_BXm1Filled->Fill((*pfJets)[ijet].pt());
3457  } else if (correctedJet.eta() >= 1.3 && correctedJet.eta() < 3.0) {
3458  mePhFracEndCapPlus_BXm1Filled = map_of_MEs[DirName + "/" + "PhFracEndCapPlus_BXm1Filled"];
3459  if (mePhFracEndCapPlus_BXm1Filled && mePhFracEndCapPlus_BXm1Filled->getRootObject())
3460  mePhFracEndCapPlus_BXm1Filled->Fill((*pfJets)[ijet].photonEnergyFraction());
3461  meNHFracEndCapPlus_BXm1Filled = map_of_MEs[DirName + "/" + "NHFracEndCapPlus_BXm1Filled"];
3462  if (meNHFracEndCapPlus_BXm1Filled && meNHFracEndCapPlus_BXm1Filled->getRootObject())
3463  meNHFracEndCapPlus_BXm1Filled->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3464  meCHFracEndCapPlus_BXm1Filled = map_of_MEs[DirName + "/" + "CHFracEndCapPlus_BXm1Filled"];
3465  if (meCHFracEndCapPlus_BXm1Filled && meCHFracEndCapPlus_BXm1Filled->getRootObject())
3466  meCHFracEndCapPlus_BXm1Filled->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3467  mePtEndCapPlus_BXm1Filled = map_of_MEs[DirName + "/" + "PtEndCapPlus_BXm1Filled"];
3468  if (mePtEndCapPlus_BXm1Filled && mePtEndCapPlus_BXm1Filled->getRootObject())
3469  mePtEndCapPlus_BXm1Filled->Fill((*pfJets)[ijet].pt());
3470  } else if (correctedJet.eta() > -5.0 && correctedJet.eta() <= -3.0) {
3471  mePtForwardMinus_BXm1Filled = map_of_MEs[DirName + "/" + "PtForwardMinus_BXm1Filled"];
3472  if (mePtForwardMinus_BXm1Filled && mePtForwardMinus_BXm1Filled->getRootObject())
3473  mePtForwardMinus_BXm1Filled->Fill((*pfJets)[ijet].pt());
3474  meHFHFracMinus_BXm1Filled = map_of_MEs[DirName + "/" + "HFHFracMinus_BXm1Filled"];
3475  if (meHFHFracMinus_BXm1Filled && meHFHFracMinus_BXm1Filled->getRootObject())
3476  meHFHFracMinus_BXm1Filled->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3477  meHFEMFracMinus_BXm1Filled = map_of_MEs[DirName + "/" + "HFEMFracMinus_BXm1Filled"];
3478  if (meHFEMFracMinus_BXm1Filled && meHFEMFracMinus_BXm1Filled->getRootObject())
3479  meHFEMFracMinus_BXm1Filled->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3480  } else if (correctedJet.eta() >= 3.0 && correctedJet.eta() < 5.0) {
3481  mePtForwardPlus_BXm1Filled = map_of_MEs[DirName + "/" + "PtForwardPlus_BXm1Filled"];
3482  if (mePtForwardPlus_BXm1Filled && mePtForwardPlus_BXm1Filled->getRootObject())
3483  mePtForwardPlus_BXm1Filled->Fill((*pfJets)[ijet].pt());
3484  meHFHFracPlus_BXm1Filled = map_of_MEs[DirName + "/" + "HFHFracPlus_BXm1Filled"];
3485  if (meHFHFracPlus_BXm1Filled && meHFHFracPlus_BXm1Filled->getRootObject())
3486  meHFHFracPlus_BXm1Filled->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3487  meHFEMFracPlus_BXm1Filled = map_of_MEs[DirName + "/" + "HFEMFracPlus_BXm1Filled"];
3488  if (meHFEMFracPlus_BXm1Filled && meHFEMFracPlus_BXm1Filled->getRootObject())
3489  meHFEMFracPlus_BXm1Filled->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3490  }
3491  } /*
3492  if(techTriggerResultBx0 && !techTriggerResultBxE && !techTriggerResultBxF){
3493  meEta_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"Eta_BXm2BXm1Empty"]; if ( meEta_BXm2BXm1Empty && meEta_BXm2BXm1Empty ->getRootObject()) meEta_BXm2BXm1Empty ->Fill((*pfJets)[ijet].eta());
3494  if(fabs(correctedJet.eta()) <= 1.3) {
3495  mePhFracBarrel_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PhFracBarrel_BXm2BXm1Empty"]; if ( mePhFracBarrel_BXm2BXm1Empty && mePhFracBarrel_BXm2BXm1Empty ->getRootObject()) mePhFracBarrel_BXm2BXm1Empty ->Fill((*pfJets)[ijet].photonEnergyFraction());
3496  meNHFracBarrel_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"NHFracBarrel_BXm2BXm1Empty"]; if ( meNHFracBarrel_BXm2BXm1Empty && meNHFracBarrel_BXm2BXm1Empty ->getRootObject()) meNHFracBarrel_BXm2BXm1Empty ->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3497  meCHFracBarrel_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"CHFracBarrel_BXm2BXm1Empty"]; if ( meCHFracBarrel_BXm2BXm1Empty && meCHFracBarrel_BXm2BXm1Empty ->getRootObject()) meCHFracBarrel_BXm2BXm1Empty ->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3498  mePtBarrel_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PtBarrel_BXm2BXm1Empty"]; if ( mePtBarrel_BXm2BXm1Empty && mePtBarrel_BXm2BXm1Empty ->getRootObject()) mePtBarrel_BXm2BXm1Empty ->Fill((*pfJets)[ijet].pt());
3499  }else if (correctedJet.eta() > -3.0 && correctedJet.eta() <= -1.3) {
3500  mePhFracEndCapMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PhFracEndCapMinus_BXm2BXm1Empty"]; if ( mePhFracEndCapMinus_BXm2BXm1Empty && mePhFracEndCapMinus_BXm2BXm1Empty ->getRootObject()) mePhFracEndCapMinus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].photonEnergyFraction());
3501  meNHFracEndCapMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"NHFracEndCapMinus_BXm2BXm1Empty"]; if ( meNHFracEndCapMinus_BXm2BXm1Empty && meNHFracEndCapMinus_BXm2BXm1Empty ->getRootObject()) meNHFracEndCapMinus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3502  meCHFracEndCapMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"CHFracEndCapMinus_BXm2BXm1Empty"]; if ( meCHFracEndCapMinus_BXm2BXm1Empty && meCHFracEndCapMinus_BXm2BXm1Empty ->getRootObject()) meCHFracEndCapMinus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3503  mePtEndCapMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PtEndCapMinus_BXm2BXm1Empty"]; if ( mePtEndCapMinus_BXm2BXm1Empty && mePtEndCapMinus_BXm2BXm1Empty ->getRootObject()) mePtEndCapMinus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].pt());
3504  }else if (correctedJet.eta() >= 1.3 && correctedJet.eta() < 3.0) {
3505  mePhFracEndCapPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PhFracEndCapPlus_BXm2BXm1Empty"]; if ( mePhFracEndCapPlus_BXm2BXm1Empty && mePhFracEndCapPlus_BXm2BXm1Empty ->getRootObject()) mePhFracEndCapPlus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].photonEnergyFraction());
3506  meNHFracEndCapPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"NHFracEndCapPlus_BXm2BXm1Empty"]; if ( meNHFracEndCapPlus_BXm2BXm1Empty && meNHFracEndCapPlus_BXm2BXm1Empty ->getRootObject()) meNHFracEndCapPlus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3507  meCHFracEndCapPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"CHFracEndCapPlus_BXm2BXm1Empty"]; if ( meCHFracEndCapPlus_BXm2BXm1Empty && meCHFracEndCapPlus_BXm2BXm1Empty ->getRootObject()) meCHFracEndCapPlus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3508  mePtEndCapPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PtEndCapPlus_BXm2BXm1Empty"]; if ( mePtEndCapPlus_BXm2BXm1Empty && mePtEndCapPlus_BXm2BXm1Empty ->getRootObject()) mePtEndCapPlus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].pt());
3509  }else if (correctedJet.eta() > -5.0 && correctedJet.eta() <= -3.0) {
3510  mePtForwardMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PtForwardMinus_BXm2BXm1Empty"]; if ( mePtForwardMinus_BXm2BXm1Empty && mePtForwardMinus_BXm2BXm1Empty ->getRootObject()) mePtForwardMinus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].pt());
3511  meHFHFracMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"HFHFracMinus_BXm2BXm1Empty"]; if ( meHFHFracMinus_BXm2BXm1Empty && meHFHFracMinus_BXm2BXm1Empty ->getRootObject()) meHFHFracMinus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3512  meHFEMFracMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"HFEMFracMinus_BXm2BXm1Empty"]; if ( meHFEMFracMinus_BXm2BXm1Empty && meHFEMFracMinus_BXm2BXm1Empty ->getRootObject()) meHFEMFracMinus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3513  }else if (correctedJet.eta() >= 3.0 && correctedJet.eta() < 5.0) {
3514  mePtForwardPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PtForwardPlus_BXm2BXm1Empty"]; if ( mePtForwardPlus_BXm2BXm1Empty && mePtForwardPlus_BXm2BXm1Empty ->getRootObject()) mePtForwardPlus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].pt());
3515  meHFHFracPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"HFHFracPlus_BXm2BXm1Empty"]; if ( meHFHFracPlus_BXm2BXm1Empty && meHFHFracPlus_BXm2BXm1Empty ->getRootObject()) meHFHFracPlus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3516  meHFEMFracPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"HFEMFracPlus_BXm2BXm1Empty"]; if ( meHFEMFracPlus_BXm2BXm1Empty && meHFEMFracPlus_BXm2BXm1Empty ->getRootObject()) meHFEMFracPlus_BXm2BXm1Empty ->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3517  }
3518  }*/
3519  if (techTriggerResultBx0 && !techTriggerResultBxF) {
3520  meEta_BXm1Empty = map_of_MEs[DirName + "/" + "Eta_BXm1Empty"];
3521  if (meEta_BXm1Empty && meEta_BXm1Empty->getRootObject())
3522  meEta_BXm1Empty->Fill((*pfJets)[ijet].eta());
3523  if (fabs(correctedJet.eta()) <= 1.3) {
3524  mePhFracBarrel_BXm1Empty = map_of_MEs[DirName + "/" + "PhFracBarrel_BXm1Empty"];
3525  if (mePhFracBarrel_BXm1Empty && mePhFracBarrel_BXm1Empty->getRootObject())
3526  mePhFracBarrel_BXm1Empty->Fill((*pfJets)[ijet].photonEnergyFraction());
3527  meNHFracBarrel_BXm1Empty = map_of_MEs[DirName + "/" + "NHFracBarrel_BXm1Empty"];
3528  if (meNHFracBarrel_BXm1Empty && meNHFracBarrel_BXm1Empty->getRootObject())
3529  meNHFracBarrel_BXm1Empty->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3530  meCHFracBarrel_BXm1Empty = map_of_MEs[DirName + "/" + "CHFracBarrel_BXm1Empty"];
3531  if (meCHFracBarrel_BXm1Empty && meCHFracBarrel_BXm1Empty->getRootObject())
3532  meCHFracBarrel_BXm1Empty->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3533  mePtBarrel_BXm1Empty = map_of_MEs[DirName + "/" + "PtBarrel_BXm1Empty"];
3534  if (mePtBarrel_BXm1Empty && mePtBarrel_BXm1Empty->getRootObject())
3535  mePtBarrel_BXm1Empty->Fill((*pfJets)[ijet].pt());
3536  } else if (correctedJet.eta() > -3.0 && correctedJet.eta() <= -1.3) {
3537  mePhFracEndCapMinus_BXm1Empty = map_of_MEs[DirName + "/" + "PhFracEndCapMinus_BXm1Empty"];
3538  if (mePhFracEndCapMinus_BXm1Empty && mePhFracEndCapMinus_BXm1Empty->getRootObject())
3539  mePhFracEndCapMinus_BXm1Empty->Fill((*pfJets)[ijet].photonEnergyFraction());
3540  meNHFracEndCapMinus_BXm1Empty = map_of_MEs[DirName + "/" + "NHFracEndCapMinus_BXm1Empty"];
3541  if (meNHFracEndCapMinus_BXm1Empty && meNHFracEndCapMinus_BXm1Empty->getRootObject())
3542  meNHFracEndCapMinus_BXm1Empty->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3543  meCHFracEndCapMinus_BXm1Empty = map_of_MEs[DirName + "/" + "CHFracEndCapMinus_BXm1Empty"];
3544  if (meCHFracEndCapMinus_BXm1Empty && meCHFracEndCapMinus_BXm1Empty->getRootObject())
3545  meCHFracEndCapMinus_BXm1Empty->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3546  mePtEndCapMinus_BXm1Empty = map_of_MEs[DirName + "/" + "PtEndCapMinus_BXm1Empty"];
3547  if (mePtEndCapMinus_BXm1Empty && mePtEndCapMinus_BXm1Empty->getRootObject())
3548  mePtEndCapMinus_BXm1Empty->Fill((*pfJets)[ijet].pt());
3549  } else if (correctedJet.eta() >= 1.3 && correctedJet.eta() < 3.0) {
3550  mePhFracEndCapPlus_BXm1Empty = map_of_MEs[DirName + "/" + "PhFracEndCapPlus_BXm1Empty"];
3551  if (mePhFracEndCapPlus_BXm1Empty && mePhFracEndCapPlus_BXm1Empty->getRootObject())
3552  mePhFracEndCapPlus_BXm1Empty->Fill((*pfJets)[ijet].photonEnergyFraction());
3553  meNHFracEndCapPlus_BXm1Empty = map_of_MEs[DirName + "/" + "NHFracEndCapPlus_BXm1Empty"];
3554  if (meNHFracEndCapPlus_BXm1Empty && meNHFracEndCapPlus_BXm1Empty->getRootObject())
3555  meNHFracEndCapPlus_BXm1Empty->Fill((*pfJets)[ijet].neutralHadronEnergyFraction());
3556  meCHFracEndCapPlus_BXm1Empty = map_of_MEs[DirName + "/" + "CHFracEndCapPlus_BXm1Empty"];
3557  if (meCHFracEndCapPlus_BXm1Empty && meCHFracEndCapPlus_BXm1Empty->getRootObject())
3558  meCHFracEndCapPlus_BXm1Empty->Fill((*pfJets)[ijet].chargedHadronEnergyFraction());
3559  mePtEndCapPlus_BXm1Empty = map_of_MEs[DirName + "/" + "PtEndCapPlus_BXm1Empty"];
3560  if (mePtEndCapPlus_BXm1Empty && mePtEndCapPlus_BXm1Empty->getRootObject())
3561  mePtEndCapPlus_BXm1Empty->Fill((*pfJets)[ijet].pt());
3562  } else if (correctedJet.eta() > -5.0 && correctedJet.eta() <= -3.0) {
3563  mePtForwardMinus_BXm1Empty = map_of_MEs[DirName + "/" + "PtForwardMinus_BXm1Empty"];
3564  if (mePtForwardMinus_BXm1Empty && mePtForwardMinus_BXm1Empty->getRootObject())
3565  mePtForwardMinus_BXm1Empty->Fill((*pfJets)[ijet].pt());
3566  meHFHFracMinus_BXm1Empty = map_of_MEs[DirName + "/" + "HFHFracMinus_BXm1Empty"];
3567  if (meHFHFracMinus_BXm1Empty && meHFHFracMinus_BXm1Empty->getRootObject())
3568  meHFHFracMinus_BXm1Empty->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3569  meHFEMFracMinus_BXm1Empty = map_of_MEs[DirName + "/" + "HFEMFracMinus_BXm1Empty"];
3570  if (meHFEMFracMinus_BXm1Empty && meHFEMFracMinus_BXm1Empty->getRootObject())
3571  meHFEMFracMinus_BXm1Empty->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3572  } else if (correctedJet.eta() >= 3.0 && correctedJet.eta() < 5.0) {
3573  mePtForwardPlus_BXm1Empty = map_of_MEs[DirName + "/" + "PtForwardPlus_BXm1Empty"];
3574  if (mePtForwardPlus_BXm1Empty && mePtForwardPlus_BXm1Empty->getRootObject())
3575  mePtForwardPlus_BXm1Empty->Fill((*pfJets)[ijet].pt());
3576  meHFHFracPlus_BXm1Empty = map_of_MEs[DirName + "/" + "HFHFracPlus_BXm1Empty"];
3577  if (meHFHFracPlus_BXm1Empty && meHFHFracPlus_BXm1Empty->getRootObject())
3578  meHFHFracPlus_BXm1Empty->Fill((*pfJets)[ijet].HFHadronEnergyFraction());
3579  meHFEMFracPlus_BXm1Empty = map_of_MEs[DirName + "/" + "HFEMFracPlus_BXm1Empty"];
3580  if (meHFEMFracPlus_BXm1Empty && meHFEMFracPlus_BXm1Empty->getRootObject())
3581  meHFEMFracPlus_BXm1Empty->Fill((*pfJets)[ijet].HFEMEnergyFraction());
3582  }
3583  }
3584  mChargedHadronEnergy = map_of_MEs[DirName + "/" + "ChargedHadronEnergy"];
3585  if (mChargedHadronEnergy && mChargedHadronEnergy->getRootObject())
3586  mChargedHadronEnergy->Fill((*pfJets)[ijet].chargedHadronEnergy());
3587  mNeutralHadronEnergy = map_of_MEs[DirName + "/" + "NeutralHadronEnergy"];
3588  if (mNeutralHadronEnergy && mNeutralHadronEnergy->getRootObject())
3589  mNeutralHadronEnergy->Fill((*pfJets)[ijet].neutralHadronEnergy());
3590  mChargedEmEnergy = map_of_MEs[DirName + "/" + "ChargedEmEnergy"];
3591  if (mChargedEmEnergy && mChargedEmEnergy->getRootObject())
3592  mChargedEmEnergy->Fill((*pfJets)[ijet].chargedEmEnergy());
3593  mChargedMuEnergy = map_of_MEs[DirName + "/" + "ChargedMuEnergy"];
3594  if (mChargedMuEnergy && mChargedMuEnergy->getRootObject())
3595  mChargedMuEnergy->Fill((*pfJets)[ijet].chargedMuEnergy());
3596  mNeutralEmEnergy = map_of_MEs[DirName + "/" + "NeutralEmEnergy"];
3597  if (mNeutralEmEnergy && mNeutralEmEnergy->getRootObject())
3598  mNeutralEmEnergy->Fill((*pfJets)[ijet].neutralEmEnergy());
3599  mChargedMultiplicity = map_of_MEs[DirName + "/" + "ChargedMultiplicity"];
3600  if (mChargedMultiplicity && mChargedMultiplicity->getRootObject())
3601  mChargedMultiplicity->Fill((*pfJets)[ijet].chargedMultiplicity());
3602  mNeutralMultiplicity = map_of_MEs[DirName + "/" + "NeutralMultiplicity"];
3603  if (mNeutralMultiplicity && mNeutralMultiplicity->getRootObject())
3604  mNeutralMultiplicity->Fill((*pfJets)[ijet].neutralMultiplicity());
3605  mMuonMultiplicity = map_of_MEs[DirName + "/" + "MuonMultiplicity"];
3606  if (mMuonMultiplicity && mMuonMultiplicity->getRootObject())
3607  mMuonMultiplicity->Fill((*pfJets)[ijet].muonMultiplicity());
3608  //_______________________________________________________
3609  mNeutralFraction = map_of_MEs[DirName + "/" + "NeutralConstituentsFraction"];
3610  if (mNeutralFraction && mNeutralFraction->getRootObject())
3611  mNeutralFraction->Fill((double)(*pfJets)[ijet].neutralMultiplicity() /
3612  (double)(*pfJets)[ijet].nConstituents());
3613  mChargedHadronEnergy_profile = map_of_MEs[DirName + "/" + "ChargedHadronEnergy_profile"];
3614  if (mChargedHadronEnergy_profile && mChargedHadronEnergy_profile->getRootObject())
3615  mChargedHadronEnergy_profile->Fill(numPV, (*pfJets)[ijet].chargedHadronEnergy());
3616  mNeutralHadronEnergy_profile = map_of_MEs[DirName + "/" + "NeutralHadronEnergy_profile"];
3617  if (mNeutralHadronEnergy_profile && mNeutralHadronEnergy_profile->getRootObject())
3618  mNeutralHadronEnergy_profile->Fill(numPV, (*pfJets)[ijet].neutralHadronEnergy());
3619  mChargedEmEnergy_profile = map_of_MEs[DirName + "/" + "ChargedEmEnergy_profile"];
3620  if (mChargedEmEnergy_profile && mChargedEmEnergy_profile->getRootObject())
3621  mChargedEmEnergy_profile->Fill(numPV, (*pfJets)[ijet].chargedEmEnergy());
3622  mChargedMuEnergy_profile = map_of_MEs[DirName + "/" + "ChargedMuEnergy_profile"];
3623  if (mChargedMuEnergy_profile && mChargedMuEnergy_profile->getRootObject())
3624  mChargedMuEnergy_profile->Fill(numPV, (*pfJets)[ijet].chargedMuEnergy());
3625  mNeutralEmEnergy_profile = map_of_MEs[DirName + "/" + "NeutralEmEnergy_profile"];
3626  if (mNeutralEmEnergy_profile && mNeutralEmEnergy_profile->getRootObject())
3627  mNeutralEmEnergy_profile->Fill(numPV, (*pfJets)[ijet].neutralEmEnergy());
3628  mChargedMultiplicity_profile = map_of_MEs[DirName + "/" + "ChargedMultiplicity_profile"];
3629  if (mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject())
3630  mChargedMultiplicity_profile->Fill(numPV, (*pfJets)[ijet].chargedMultiplicity());
3631  mNeutralMultiplicity_profile = map_of_MEs[DirName + "/" + "NeutralMultiplicity_profile"];
3632  if (mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject())
3633  mNeutralMultiplicity_profile->Fill(numPV, (*pfJets)[ijet].neutralMultiplicity());
3634  mMuonMultiplicity_profile = map_of_MEs[DirName + "/" + "MuonMultiplicity_profile"];
3635  if (mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject())
3636  mMuonMultiplicity_profile->Fill(numPV, (*pfJets)[ijet].muonMultiplicity());
3637  } //cleaned PFJets
3638  } //PFJet specific loop
3639  //IDs have been defined by now
3640  //check here already for ordering of jets -> if we choose later to soften pt-thresholds for physics selections
3641  //compared to the default jet histograms
3642  if (pass_Z_selection) { //if Z selection not passed, don't need to find out of muons and Jets are overlapping
3643  if (deltaR((*Muons)[mu_index0].eta(), (*Muons)[mu_index0].phi(), correctedJet.eta(), correctedJet.phi()) > 0.2 &&
3644  deltaR((*Muons)[mu_index1].eta(), (*Muons)[mu_index1].phi(), correctedJet.eta(), correctedJet.phi()) > 0.2) {
3645  if (correctedJet.pt() > pt1_mu_vetoed) {
3646  pt2_mu_vetoed = pt1_mu_vetoed;
3647  ind2_mu_vetoed = ind1_mu_vetoed;
3648  cleaned_second_jet_mu_vetoed = cleaned_first_jet_mu_vetoed;
3649  pt1_mu_vetoed = correctedJet.pt();
3650  ind1_mu_vetoed = ijet;
3651  cleaned_first_jet_mu_vetoed = JetIDWPU;
3652  } else if (correctedJet.pt() > pt2_mu_vetoed) {
3653  pt2_mu_vetoed = correctedJet.pt();
3654  ind2_mu_vetoed = ijet;
3655  cleaned_second_jet_mu_vetoed = JetIDWPU;
3656  }
3657  }
3658  }
3659 
3660  if (correctedJet.pt() > pt1) {
3661  pt3 = pt2;
3662  ind3 = ind2;
3663  //cleaned_third_jet=cleaned_second_jet;
3664  pt2 = pt1;
3665  ind2 = ind1;
3666  cleaned_second_jet = cleaned_first_jet;
3667  pt1 = correctedJet.pt();
3668  ind1 = ijet;
3669  cleaned_first_jet = JetIDWPU;
3670  } else if (correctedJet.pt() > pt2) {
3671  pt3 = pt2;
3672  ind3 = ind2;
3673  //cleaned_third_jet=cleaned_second_jet;
3674  pt2 = correctedJet.pt();
3675  ind2 = ijet;
3676  cleaned_second_jet = JetIDWPU;
3677  } else if (correctedJet.pt() > pt3) {
3678  pt3 = correctedJet.pt();
3679  ind3 = ijet;
3680  //cleaned_third_jet=JetIDWPU;
3681  }
3682  if (!pass_corrected) {
3683  continue;
3684  }
3685  //after jettype specific variables are filled -> perform histograms for all jets
3686  //fill JetID efficiencies if uncleaned selection is chosen
3687  if (!runcosmics_ && pass_corrected) {
3688  if (jetpassid) {
3689  mLooseJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "JetIDPassFractionVSeta"];
3690  if (mLooseJIDPassFractionVSeta && mLooseJIDPassFractionVSeta->getRootObject())
3691  mLooseJIDPassFractionVSeta->Fill(correctedJet.eta(), 1.);
3692  mLooseJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "JetIDPassFractionVSpt"];
3693  if (mLooseJIDPassFractionVSpt && mLooseJIDPassFractionVSpt->getRootObject())
3694  mLooseJIDPassFractionVSpt->Fill(correctedJet.pt(), 1.);
3695  if (fabs(correctedJet.eta()) < 3.0) {
3696  mLooseJIDPassFractionVSptNoHF = map_of_MEs[DirName + "/" + "JetIDPassFractionVSptNoHF"];
3697  if (mLooseJIDPassFractionVSptNoHF && mLooseJIDPassFractionVSptNoHF->getRootObject())
3698  mLooseJIDPassFractionVSptNoHF->Fill(correctedJet.pt(), 1.);
3699  }
3700  } else {
3701  mLooseJIDPassFractionVSeta = map_of_MEs[DirName + "/" + "JetIDPassFractionVSeta"];
3702  if (mLooseJIDPassFractionVSeta && mLooseJIDPassFractionVSeta->getRootObject())
3703  mLooseJIDPassFractionVSeta->Fill(correctedJet.eta(), 0.);
3704  mLooseJIDPassFractionVSpt = map_of_MEs[DirName + "/" + "JetIDPassFractionVSpt"];
3705  if (mLooseJIDPassFractionVSpt && mLooseJIDPassFractionVSpt->getRootObject())
3706  mLooseJIDPassFractionVSpt->Fill(correctedJet.pt(), 0.);
3707  if (fabs(correctedJet.eta()) < 3.0) {
3708  mLooseJIDPassFractionVSptNoHF = map_of_MEs[DirName + "/" + "JetIDPassFractionVSptNoHF"];
3709  if (mLooseJIDPassFractionVSptNoHF && mLooseJIDPassFractionVSptNoHF->getRootObject())
3710  mLooseJIDPassFractionVSptNoHF->Fill(correctedJet.pt(), 0.);
3711  }
3712  }
3713  }
3714  //here we so far consider calojets ->check for PFJets and JPT jets again
3715  if (Thiscleaned && pass_corrected) { //might be softer than loose jet ID
3716  numofjets++;
3717  if (isCaloJet_) {
3718  jetME = map_of_MEs[DirName + "/" + "jetReco"];
3719  if (jetME && jetME->getRootObject())
3720  jetME->Fill(1);
3721  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
3722  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
3723  mJetEnergyCorr->Fill(correctedJet.pt() / (*caloJets)[ijet].pt());
3724  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
3725  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
3726  mJetEnergyCorrVSEta->Fill(correctedJet.eta(), correctedJet.pt() / (*caloJets)[ijet].pt());
3727  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
3728  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
3729  mJetEnergyCorrVSPt->Fill(correctedJet.pt(), correctedJet.pt() / (*caloJets)[ijet].pt());
3730  }
3731  if (isPFJet_) {
3732  jetME = map_of_MEs[DirName + "/" + "jetReco"];
3733  if (jetME && jetME->getRootObject())
3734  jetME->Fill(2);
3735  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
3736  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
3737  mJetEnergyCorr->Fill(correctedJet.pt() / (*pfJets)[ijet].pt());
3738  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
3739  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
3740  mJetEnergyCorrVSEta->Fill(correctedJet.eta(), correctedJet.pt() / (*pfJets)[ijet].pt());
3741  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
3742  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
3743  mJetEnergyCorrVSPt->Fill(correctedJet.pt(), correctedJet.pt() / (*pfJets)[ijet].pt());
3744  }
3745  if (isMiniAODJet_) {
3746  jetME = map_of_MEs[DirName + "/" + "jetReco"];
3747  if (jetME && jetME->getRootObject())
3748  jetME->Fill(4);
3749  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
3750  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
3751  mJetEnergyCorr->Fill(1. / (*patJets)[ijet].jecFactor("Uncorrected"));
3752  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
3753  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
3754  mJetEnergyCorrVSEta->Fill(correctedJet.eta(), 1. / (*patJets)[ijet].jecFactor("Uncorrected"));
3755  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
3756  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
3757  mJetEnergyCorrVSPt->Fill(correctedJet.pt(), 1. / (*patJets)[ijet].jecFactor("Uncorrected"));
3758  if (filljetsubstruc_) {
3759  //miniaod specific variables, especially for substructure
3760  mSoftDropMass = map_of_MEs[DirName + "/" + "SoftDropMass"];
3761  if (mSoftDropMass && mSoftDropMass->getRootObject() &&
3762  (*patJets)[ijet].hasUserFloat("ak8PFJetsPuppiSoftDropMass"))
3763  mSoftDropMass->Fill((*patJets)[ijet].userFloat("ak8PFJetsPuppiSoftDropMass"));
3764  mPrunedMass = map_of_MEs[DirName + "/" + "PrunedMass"];
3765  mtau2_over_tau1 = map_of_MEs[DirName + "/" + "tau2_over_tau1"];
3766  if (mtau2_over_tau1 && mtau2_over_tau1->getRootObject() &&
3767  ((*patJets)[ijet].hasUserFloat("NjettinessAK8Puppi:tau1") &&
3768  (*patJets)[ijet].hasUserFloat("NjettinessAK8Puppi:tau2")))
3769  mtau2_over_tau1->Fill((*patJets)[ijet].userFloat("NjettinessAK8Puppi:tau2") /
3770  (*patJets)[ijet].userFloat("NjettinessAK8Puppi:tau1"));
3771  mtau3_over_tau2 = map_of_MEs[DirName + "/" + "tau3_over_tau2"];
3772  if (mtau3_over_tau2 && mtau3_over_tau2->getRootObject() &&
3773  ((*patJets)[ijet].hasUserFloat("NjettinessAK8Puppi:tau2") &&
3774  (*patJets)[ijet].hasUserFloat("NjettinessAK8Puppi:tau3")))
3775  mtau3_over_tau2->Fill((*patJets)[ijet].userFloat("NjettinessAK8Puppi:tau3") /
3776  (*patJets)[ijet].userFloat("NjettinessAK8Puppi:tau2"));
3777 
3778  if ((*patJets)[ijet].hasSubjets("SoftDropPuppi")) {
3779  mnSubJetsSoftDrop = map_of_MEs[DirName + "/" + "nSubJets_SoftDrop"];
3780  if (mnSubJetsSoftDrop && mnSubJetsSoftDrop->getRootObject())
3781  mnSubJetsSoftDrop->Fill((*patJets)[ijet].subjets("SoftDropPuppi").size());
3782  }
3783  if ((*patJets)[ijet].hasSubjets("SoftDropPuppi") && !(*patJets)[ijet].subjets("SoftDropPuppi").empty()) {
3784  mSubJet1_SoftDrop_pt = map_of_MEs[DirName + "/" + "SubJet1_SoftDrop_pt"];
3785  if (mSubJet1_SoftDrop_pt && mSubJet1_SoftDrop_pt->getRootObject())
3786  mSubJet1_SoftDrop_pt->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[0]->pt());
3787  mSubJet1_SoftDrop_eta = map_of_MEs[DirName + "/" + "SubJet1_SoftDrop_eta"];
3788  if (mSubJet1_SoftDrop_eta && mSubJet1_SoftDrop_eta->getRootObject())
3789  mSubJet1_SoftDrop_eta->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[0]->eta());
3790  mSubJet1_SoftDrop_phi = map_of_MEs[DirName + "/" + "SubJet1_SoftDrop_phi"];
3791  if (mSubJet1_SoftDrop_phi && mSubJet1_SoftDrop_phi->getRootObject())
3792  mSubJet1_SoftDrop_phi->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[0]->phi());
3793  mSubJet1_SoftDrop_mass = map_of_MEs[DirName + "/" + "SubJet1_SoftDrop_mass"];
3794  if (mSubJet1_SoftDrop_mass && mSubJet1_SoftDrop_mass->getRootObject())
3795  mSubJet1_SoftDrop_mass->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[0]->mass());
3796  if ((*patJets)[ijet].subjets("SoftDropPuppi").size() > 1) {
3797  mSubJet2_SoftDrop_pt = map_of_MEs[DirName + "/" + "SubJet2_SoftDrop_pt"];
3798  if (mSubJet2_SoftDrop_pt && mSubJet2_SoftDrop_pt->getRootObject())
3799  mSubJet2_SoftDrop_pt->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[1]->pt());
3800  mSubJet2_SoftDrop_eta = map_of_MEs[DirName + "/" + "SubJet2_SoftDrop_eta"];
3801  if (mSubJet2_SoftDrop_eta && mSubJet2_SoftDrop_eta->getRootObject())
3802  mSubJet2_SoftDrop_eta->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[1]->eta());
3803  mSubJet2_SoftDrop_phi = map_of_MEs[DirName + "/" + "SubJet2_SoftDrop_phi"];
3804  if (mSubJet2_SoftDrop_phi && mSubJet2_SoftDrop_phi->getRootObject())
3805  mSubJet2_SoftDrop_phi->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[1]->phi());
3806  mSubJet2_SoftDrop_mass = map_of_MEs[DirName + "/" + "SubJet2_SoftDrop_mass"];
3807  if (mSubJet2_SoftDrop_mass && mSubJet2_SoftDrop_mass->getRootObject())
3808  mSubJet2_SoftDrop_mass->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[1]->mass());
3809  }
3810  } //soft drop jets
3811  if ((*patJets)[ijet].pt() > pt_min_boosted_) {
3812  //miniaod specific variables, especially for boosted substructure
3813  mSoftDropMass_boosted = map_of_MEs[DirName + "/" + "SoftDropMass_boosted"];
3814  if (mSoftDropMass_boosted && mSoftDropMass_boosted->getRootObject() &&
3815  (*patJets)[ijet].hasUserFloat("ak8PFJetsPuppiSoftDropMass"))
3816  mSoftDropMass_boosted->Fill((*patJets)[ijet].userFloat("ak8PFJetsPuppiSoftDropMass"));
3817  mPrunedMass_boosted = map_of_MEs[DirName + "/" + "PrunedMass_boosted"];
3818  mtau2_over_tau1_boosted = map_of_MEs[DirName + "/" + "tau2_over_tau1_boosted"];
3819  if (mtau2_over_tau1_boosted && mtau2_over_tau1_boosted->getRootObject() &&
3820  ((*patJets)[ijet].hasUserFloat("NjettinessAK8Puppi:tau1") &&
3821  (*patJets)[ijet].hasUserFloat("NjettinessAK8Puppi:tau2")))
3822  mtau2_over_tau1_boosted->Fill((*patJets)[ijet].userFloat("NjettinessAK8Puppi:tau2") /
3823  (*patJets)[ijet].userFloat("NjettinessAK8Puppi:tau1"));
3824  mtau3_over_tau2_boosted = map_of_MEs[DirName + "/" + "tau3_over_tau2_boosted"];
3825  if (mtau3_over_tau2_boosted && mtau3_over_tau2_boosted->getRootObject() &&
3826  ((*patJets)[ijet].hasUserFloat("NjettinessAK8Puppi:tau2") &&
3827  (*patJets)[ijet].hasUserFloat("NjettinessAK8Puppi:tau3")))
3828  mtau3_over_tau2_boosted->Fill((*patJets)[ijet].userFloat("NjettinessAK8Puppi:tau3") /
3829  (*patJets)[ijet].userFloat("NjettinessAK8Puppi:tau2"));
3830  if ((*patJets)[ijet].hasSubjets("SoftDropPuppi")) {
3831  mnSubJetsSoftDrop_boosted = map_of_MEs[DirName + "/" + "nSubJets_SoftDrop_boosted"];
3832  if (mnSubJetsSoftDrop_boosted && mnSubJetsSoftDrop_boosted->getRootObject())
3833  mnSubJetsSoftDrop_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi").size());
3834  }
3835  if ((*patJets)[ijet].hasSubjets("SoftDropPuppi") && !(*patJets)[ijet].subjets("SoftDropPuppi").empty()) {
3836  mSubJet1_SoftDrop_pt_boosted = map_of_MEs[DirName + "/" + "SubJet1_SoftDrop_pt_boosted"];
3837  if (mSubJet1_SoftDrop_pt_boosted && mSubJet1_SoftDrop_pt_boosted->getRootObject())
3838  mSubJet1_SoftDrop_pt_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[0]->pt());
3839  mSubJet1_SoftDrop_eta_boosted = map_of_MEs[DirName + "/" + "SubJet1_SoftDrop_eta_boosted"];
3840  if (mSubJet1_SoftDrop_eta_boosted && mSubJet1_SoftDrop_eta_boosted->getRootObject())
3841  mSubJet1_SoftDrop_eta_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[0]->eta());
3842  mSubJet1_SoftDrop_phi_boosted = map_of_MEs[DirName + "/" + "SubJet1_SoftDrop_phi_boosted"];
3843  if (mSubJet1_SoftDrop_phi_boosted && mSubJet1_SoftDrop_phi_boosted->getRootObject())
3844  mSubJet1_SoftDrop_phi_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[0]->phi());
3845  mSubJet1_SoftDrop_mass_boosted = map_of_MEs[DirName + "/" + "SubJet1_SoftDrop_mass_boosted"];
3846  if (mSubJet1_SoftDrop_mass_boosted && mSubJet1_SoftDrop_mass_boosted->getRootObject())
3847  mSubJet1_SoftDrop_mass_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[0]->mass());
3848  if ((*patJets)[ijet].subjets("SoftDropPuppi").size() > 1) {
3849  mSubJet2_SoftDrop_pt_boosted = map_of_MEs[DirName + "/" + "SubJet2_SoftDrop_pt_boosted"];
3850  if (mSubJet2_SoftDrop_pt_boosted && mSubJet2_SoftDrop_pt_boosted->getRootObject())
3851  mSubJet2_SoftDrop_pt_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[1]->pt());
3852  mSubJet2_SoftDrop_eta_boosted = map_of_MEs[DirName + "/" + "SubJet2_SoftDrop_eta_boosted"];
3853  if (mSubJet2_SoftDrop_eta_boosted && mSubJet2_SoftDrop_eta_boosted->getRootObject())
3854  mSubJet2_SoftDrop_eta_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[1]->eta());
3855  mSubJet2_SoftDrop_phi_boosted = map_of_MEs[DirName + "/" + "SubJet2_SoftDrop_phi_boosted"];
3856  if (mSubJet2_SoftDrop_phi_boosted && mSubJet2_SoftDrop_phi_boosted->getRootObject())
3857  mSubJet2_SoftDrop_phi_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[1]->phi());
3858  mSubJet2_SoftDrop_mass_boosted = map_of_MEs[DirName + "/" + "SubJet2_SoftDrop_mass_boosted"];
3859  if (mSubJet2_SoftDrop_mass_boosted && mSubJet2_SoftDrop_mass_boosted->getRootObject())
3860  mSubJet2_SoftDrop_mass_boosted->Fill((*patJets)[ijet].subjets("SoftDropPuppi")[1]->mass());
3861  }
3862  }
3863  } //substructure filling for boosted
3864  } //substructure filling
3865  }
3866  // --- Event passed the low pt jet trigger
3867  if (jetLoPass_ == 1) {
3868  mPhi_Lo = map_of_MEs[DirName + "/" + "Phi_Lo"];
3869  if (mPhi_Lo && mPhi_Lo->getRootObject())
3870  mPhi_Lo->Fill(correctedJet.phi());
3871  mPt_Lo = map_of_MEs[DirName + "/" + "Pt_Lo"];
3872  if (mPt_Lo && mPt_Lo->getRootObject())
3873  mPt_Lo->Fill(correctedJet.pt());
3874  }
3875  // --- Event passed the high pt jet trigger
3876  if (jetHiPass_ == 1 && correctedJet.pt() > 100.) {
3877  mEta_Hi = map_of_MEs[DirName + "/" + "Eta_Hi"];
3878  if (mEta_Hi && mEta_Hi->getRootObject())
3879  mEta_Hi->Fill(correctedJet.eta());
3880  mPhi_Hi = map_of_MEs[DirName + "/" + "Phi_Hi"];
3881  if (mPhi_Hi && mPhi_Hi->getRootObject())
3882  mPhi_Hi->Fill(correctedJet.phi());
3883  mPt_Hi = map_of_MEs[DirName + "/" + "Pt_Hi"];
3884  if (mPt_Hi && mPt_Hi->getRootObject())
3885  mPt_Hi->Fill(correctedJet.pt());
3886  }
3887  mPt = map_of_MEs[DirName + "/" + "Pt"];
3888  if (mPt && mPt->getRootObject())
3889  mPt->Fill(correctedJet.pt());
3890  mPt_1 = map_of_MEs[DirName + "/" + "Pt_1"];
3891  if (mPt_1 && mPt_1->getRootObject())
3892  mPt_1->Fill(correctedJet.pt());
3893  mPt_2 = map_of_MEs[DirName + "/" + "Pt_2"];
3894  if (mPt_2 && mPt_2->getRootObject())
3895  mPt_2->Fill(correctedJet.pt());
3896  mPt_3 = map_of_MEs[DirName + "/" + "Pt_3"];
3897  if (mPt_3 && mPt_3->getRootObject())
3898  mPt_3->Fill(correctedJet.pt());
3899  mEta = map_of_MEs[DirName + "/" + "Eta"];
3900  if (mEta && mEta->getRootObject())
3901  mEta->Fill(correctedJet.eta());
3902  mPhi = map_of_MEs[DirName + "/" + "Phi"];
3903  if (mPhi && mPhi->getRootObject())
3904  mPhi->Fill(correctedJet.phi());
3905 
3906  mPhiVSEta = map_of_MEs[DirName + "/" + "PhiVSEta"];
3907  if (mPhiVSEta && mPhiVSEta->getRootObject())
3908  mPhiVSEta->Fill(correctedJet.eta(), correctedJet.phi());
3909  //if(!isJPTJet_){
3910  float nConstituents = correctedJet.nConstituents();
3911  mConstituents = map_of_MEs[DirName + "/" + "Constituents"];
3912  if (mConstituents && mConstituents->getRootObject())
3913  mConstituents->Fill(nConstituents);
3914  //}
3915  // Fill NPV profiles
3916  //--------------------------------------------------------------------
3917  mPt_profile = map_of_MEs[DirName + "/" + "Pt_profile"];
3918  if (mPt_profile && mPt_profile->getRootObject())
3919  mPt_profile->Fill(numPV, correctedJet.pt());
3920  mEta_profile = map_of_MEs[DirName + "/" + "Eta_profile"];
3921  if (mEta_profile && mEta_profile->getRootObject())
3922  mEta_profile->Fill(numPV, correctedJet.eta());
3923  mPhi_profile = map_of_MEs[DirName + "/" + "Phi_profile"];
3924  if (mPhi_profile && mPhi_profile->getRootObject())
3925  mPhi_profile->Fill(numPV, correctedJet.phi());
3926  //if(!isJPTJet_){
3927  mConstituents_profile = map_of_MEs[DirName + "/" + "Constituents_profile"];
3928  if (mConstituents_profile && mConstituents_profile->getRootObject())
3929  mConstituents_profile->Fill(numPV, nConstituents);
3930  //}
3931  if (fabs(correctedJet.eta()) <= 1.3) {
3932  mPt_Barrel = map_of_MEs[DirName + "/" + "Pt_Barrel"];
3933  if (mPt_Barrel && mPt_Barrel->getRootObject())
3934  mPt_Barrel->Fill(correctedJet.pt());
3935  mPhi_Barrel = map_of_MEs[DirName + "/" + "Phi_Barrel"];
3936  if (mPhi_Barrel && mPhi_Barrel->getRootObject())
3937  mPhi_Barrel->Fill(correctedJet.phi());
3938  //if (mE_Barrel) mE_Barrel->Fill (correctedJet.energy());
3939  //if(!isJPTJet_){
3940  mConstituents_Barrel = map_of_MEs[DirName + "/" + "Constituents_Barrel"];
3941  if (mConstituents_Barrel && mConstituents_Barrel->getRootObject())
3942  mConstituents_Barrel->Fill(nConstituents);
3943  //}
3944  } else if (fabs(correctedJet.eta()) <= 3) {
3945  mPt_EndCap = map_of_MEs[DirName + "/" + "Pt_EndCap"];
3946  if (mPt_EndCap && mPt_EndCap->getRootObject())
3947  mPt_EndCap->Fill(correctedJet.pt());
3948  mPhi_EndCap = map_of_MEs[DirName + "/" + "Phi_EndCap"];
3949  if (mPhi_EndCap && mPhi_EndCap->getRootObject())
3950  mPhi_EndCap->Fill(correctedJet.phi());
3951  //if (mE_EndCap) mE_EndCap->Fill (correctedJet.energy());
3952  //if(!isJPTJet_){
3953  mConstituents_EndCap = map_of_MEs[DirName + "/" + "Constituents_EndCap"];
3954  if (mConstituents_EndCap && mConstituents_EndCap->getRootObject())
3955  mConstituents_EndCap->Fill(nConstituents);
3956  //}
3957  } else {
3958  mPt_Forward = map_of_MEs[DirName + "/" + "Pt_Forward"];
3959  if (mPt_Forward && mPt_Forward->getRootObject())
3960  mPt_Forward->Fill(correctedJet.pt());
3961  mPhi_Forward = map_of_MEs[DirName + "/" + "Phi_Forward"];
3962  if (mPhi_Forward && mPhi_Forward->getRootObject())
3963  mPhi_Forward->Fill(correctedJet.phi());
3964  //if (mE_Forward) mE_Forward->Fill (correctedJet.energy());
3965  //if(!isJPTJet_){
3966  mConstituents_Forward = map_of_MEs[DirName + "/" + "Constituents_Forward"];
3967  if (mConstituents_Forward && mConstituents_Forward->getRootObject())
3968  mConstituents_Forward->Fill(nConstituents);
3969  //}
3970  }
3971  } // pass ID for corrected jets --> inclusive selection
3972  } //loop over uncorrected jets
3973 
3974  mNJets = map_of_MEs[DirName + "/" + "NJets"];
3975  if (mNJets && mNJets->getRootObject())
3976  mNJets->Fill(numofjets);
3977  mNJets_profile = map_of_MEs[DirName + "/" + "NJets_profile"];
3978  if (mNJets_profile && mNJets_profile->getRootObject())
3979  mNJets_profile->Fill(numPV, numofjets);
3980 
3981  sort(recoJets.begin(), recoJets.end(), jetSortingRule);
3982 
3983  //for non dijet selection, otherwise numofjets==0
3984  if (numofjets > 0) { //keep threshold for dijet counting at the original one
3985  //check ID of the leading jet
3986 
3987  if (cleaned_first_jet) {
3988  mEtaFirst = map_of_MEs[DirName + "/" + "EtaFirst"];
3989  if (mEtaFirst && mEtaFirst->getRootObject())
3990  mEtaFirst->Fill((recoJets)[0].eta());
3991  mPhiFirst = map_of_MEs[DirName + "/" + "PhiFirst"];
3992  if (mPhiFirst && mPhiFirst->getRootObject())
3993  mPhiFirst->Fill((recoJets)[0].phi());
3994  mPtFirst = map_of_MEs[DirName + "/" + "PtFirst"];
3995  if (mPtFirst && mPtFirst->getRootObject())
3996  mPtFirst->Fill((recoJets)[0].pt());
3997  //check ID of second check for DPhi plots
3998  if (numofjets > 1 && cleaned_second_jet) {
3999  double dphi = fabs((recoJets)[0].phi() - (recoJets)[1].phi());
4000  if (dphi > acos(-1.)) {
4001  dphi = 2 * acos(-1.) - dphi;
4002  }
4003  mDPhi = map_of_MEs[DirName + "/" + "DPhi"];
4004  if (mDPhi && mDPhi->getRootObject())
4005  mDPhi->Fill(dphi);
4006  }
4007  }
4008  //if(cleaned_second_jet && isJPTJet_){
4009  //mPtSecond = map_of_MEs[DirName+"/"+"PtSecond"]; if (mPtSecond && mPtSecond->getRootObject()) mPtSecond->Fill(recoJets[1].pt());
4010  //}
4011  //if(cleaned_third_jet && isJPTJet_){
4012  //mPtThird = map_of_MEs[DirName+"/"+"PtThird"]; if (mPtThird && mPtThird->getRootObject()) mPtThird->Fill(recoJets[2].pt());
4013  //}
4014  }
4015  //dijet selection -> recoJets are on corrected level, both jets cleaned, fill folder only for cleaned jet selection
4016  if (jetCleaningFlag_ && recoJets.size() > 1 && cleaned_first_jet && cleaned_second_jet) {
4017  //pt threshold checked before filling
4018  if (jetCleaningFlag_) {
4019  DirName = "JetMET/Jet/Cleaned" + mInputCollection_.label() + "/DiJet";
4020  }
4021  //if(fabs(recoJets[0].eta())<3. && fabs(recoJets[1].eta())<3. ){
4022  //calculate dphi
4023  double dphi = fabs((recoJets)[0].phi() - (recoJets)[1].phi());
4024  if (dphi > acos(-1.)) {
4025  dphi = 2 * acos(-1.) - dphi;
4026  }
4027  mDPhi = map_of_MEs[DirName + "/" + "DPhi"];
4028  if (mDPhi && mDPhi->getRootObject())
4029  if (mDPhi)
4030  mDPhi->Fill(dphi);
4031  //dphi cut
4032  if (fabs(dphi) > 2.1) {
4033  if (isCaloJet_) {
4034  if (!runcosmics_) {
4035  reco::CaloJetRef calojetref1(caloJets, ind1);
4036  reco::JetID jetID1 = (*jetID_ValueMap_Handle)[calojetref1];
4037  reco::CaloJetRef calojetref2(caloJets, ind2);
4038  reco::JetID jetID2 = (*jetID_ValueMap_Handle)[calojetref2];
4039  mN90Hits = map_of_MEs[DirName + "/" + "N90Hits"];
4040  if (mN90Hits && mN90Hits->getRootObject())
4041  mN90Hits->Fill(jetID1.n90Hits);
4042  mfHPD = map_of_MEs[DirName + "/" + "fHPD"];
4043  if (mfHPD && mfHPD->getRootObject())
4044  mfHPD->Fill(jetID1.fHPD);
4045  mresEMF = map_of_MEs[DirName + "/" + "resEMF"];
4046  if (mresEMF && mresEMF->getRootObject())
4047  mresEMF->Fill(jetID1.restrictedEMF);
4048  mfRBX = map_of_MEs[DirName + "/" + "fRBX"];
4049  if (mfRBX && mfRBX->getRootObject())
4050  mfRBX->Fill(jetID1.fRBX);
4051  mN90Hits = map_of_MEs[DirName + "/" + "N90Hits"];
4052  if (mN90Hits && mN90Hits->getRootObject())
4053  mN90Hits->Fill(jetID2.n90Hits);
4054  mfHPD = map_of_MEs[DirName + "/" + "fHPD"];
4055  if (mfHPD && mfHPD->getRootObject())
4056  mfHPD->Fill(jetID2.fHPD);
4057  mresEMF = map_of_MEs[DirName + "/" + "resEMF"];
4058  if (mresEMF && mresEMF->getRootObject())
4059  mresEMF->Fill(jetID2.restrictedEMF);
4060  mfRBX = map_of_MEs[DirName + "/" + "fRBX"];
4061  if (mfRBX && mfRBX->getRootObject())
4062  mfRBX->Fill(jetID2.fRBX);
4063  }
4064  mHFrac = map_of_MEs[DirName + "/" + "HFrac"];
4065  if (mHFrac && mHFrac->getRootObject())
4066  mHFrac->Fill((*caloJets)[ind1].energyFractionHadronic());
4067  mEFrac = map_of_MEs[DirName + "/" + "EFrac"];
4068  if (mEFrac && mHFrac->getRootObject())
4069  mEFrac->Fill((*caloJets)[ind1].emEnergyFraction());
4070  mHFrac = map_of_MEs[DirName + "/" + "HFrac"];
4071  if (mHFrac && mHFrac->getRootObject())
4072  mHFrac->Fill((*caloJets)[ind2].energyFractionHadronic());
4073  mEFrac = map_of_MEs[DirName + "/" + "EFrac"];
4074  if (mEFrac && mHFrac->getRootObject())
4075  mEFrac->Fill((*caloJets)[ind2].emEnergyFraction());
4076  mHFrac_profile = map_of_MEs[DirName + "/" + "HFrac_profile"];
4077  if (mHFrac_profile && mHFrac_profile->getRootObject())
4078  mHFrac_profile->Fill(numPV, (*caloJets)[ind1].energyFractionHadronic());
4079  mEFrac_profile = map_of_MEs[DirName + "/" + "EFrac_profile"];
4080  if (mEFrac_profile && mEFrac_profile->getRootObject())
4081  mEFrac_profile->Fill(numPV, (*caloJets)[ind1].emEnergyFraction());
4082  mHFrac_profile = map_of_MEs[DirName + "/" + "HFrac_profile"];
4083  if (mHFrac_profile && mHFrac_profile->getRootObject())
4084  mHFrac_profile->Fill(numPV, (*caloJets)[ind2].energyFractionHadronic());
4085  mEFrac_profile = map_of_MEs[DirName + "/" + "EFrac_profile"];
4086  if (mEFrac_profile && mEFrac_profile->getRootObject())
4087  mEFrac_profile->Fill(numPV, (*caloJets)[ind2].emEnergyFraction());
4088 
4089  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4090  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4091  mJetEnergyCorr->Fill(recoJets[0].pt() / (*caloJets)[ind1].pt());
4092  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4093  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4094  mJetEnergyCorrVSEta->Fill(recoJets[0].eta(), recoJets[0].pt() / (*caloJets)[ind1].pt());
4095  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4096  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4097  mJetEnergyCorrVSPt->Fill(recoJets[0].pt(), recoJets[0].pt() / (*caloJets)[ind1].pt());
4098  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4099  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4100  mJetEnergyCorr->Fill(recoJets[1].pt() / (*caloJets)[ind2].pt());
4101  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4102  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4103  mJetEnergyCorrVSEta->Fill(recoJets[1].eta(), recoJets[1].pt() / (*caloJets)[ind2].pt());
4104  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4105  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4106  mJetEnergyCorrVSPt->Fill(recoJets[1].pt(), recoJets[1].pt() / (*caloJets)[ind2].pt());
4107  }
4108  //if(isJPTJet_){
4109  //mHFrac = map_of_MEs[DirName+"/"+"HFrac"]; if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*jptJets)[ind1].chargedHadronEnergyFraction()+(*jptJets)[ind1].neutralHadronEnergyFraction());
4110  //mEFrac = map_of_MEs[DirName+"/"+"EFrac"]; if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill (1.-(*jptJets)[ind1].chargedHadronEnergyFraction()-(*jptJets)[ind1].neutralHadronEnergyFraction());
4111  //mHFrac_profile = map_of_MEs[DirName+"/"+"HFrac_profile"]; mHFrac_profile ->Fill(numPV, (*jptJets)[ind1].chargedHadronEnergyFraction()+(*jptJets)[ind1].neutralHadronEnergyFraction());
4112  //mEFrac_profile = map_of_MEs[DirName+"/"+"EFrac_profile"]; mEFrac_profile ->Fill(numPV, 1.-(*jptJets)[ind1].chargedHadronEnergyFraction()-(*jptJets)[ind1].neutralHadronEnergyFraction());
4113  //mHFrac = map_of_MEs[DirName+"/"+"HFrac"]; if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*jptJets)[ind2].chargedHadronEnergyFraction()+(*jptJets)[ind2].neutralHadronEnergyFraction());
4114  //mEFrac = map_of_MEs[DirName+"/"+"EFrac"]; if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill (1.-(*jptJets)[ind2].chargedHadronEnergyFraction()-(*jptJets)[ind2].neutralHadronEnergyFraction());
4115  //mHFrac_profile = map_of_MEs[DirName+"/"+"HFrac_profile"]; mHFrac_profile ->Fill(numPV, (*jptJets)[ind2].chargedHadronEnergyFraction()+(*jptJets)[ind2].neutralHadronEnergyFraction());
4116  //mEFrac_profile = map_of_MEs[DirName+"/"+"EFrac_profile"]; mEFrac_profile ->Fill(numPV, 1.-(*jptJets)[ind2].chargedHadronEnergyFraction()-(*jptJets)[ind2].neutralHadronEnergyFraction());
4117  //
4118  //mJetEnergyCorr = map_of_MEs[DirName+"/"+"JetEnergyCorr"]; if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[0].pt()/(*jptJets)[ind1].pt());
4119  //mJetEnergyCorrVSEta = map_of_MEs[DirName+"/"+"JetEnergyCorrVSEta"]; if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[0].eta(),recoJets[0].pt()/(*jptJets)[ind1].pt());
4120  //mJetEnergyCorrVSPt = map_of_MEs[DirName+"/"+"JetEnergyCorrVSPt"]; if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[0].pt(),recoJets[0].pt()/(*jptJets)[ind1].pt());
4121  //mJetEnergyCorr = map_of_MEs[DirName+"/"+"JetEnergyCorr"]; if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[1].pt()/(*jptJets)[ind2].pt());
4122  //mJetEnergyCorrVSEta = map_of_MEs[DirName+"/"+"JetEnergyCorrVSEta"]; if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[1].eta(),recoJets[1].pt()/(*jptJets)[ind2].pt());
4123  //mJetEnergyCorrVSPt = map_of_MEs[DirName+"/"+"JetEnergyCorrVSPt"]; if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[1].pt(),recoJets[1].pt()/(*jptJets)[ind2].pt());
4124  //}
4125  if (isPFJet_) {
4126  mCHFrac = map_of_MEs[DirName + "/" + "CHFrac"];
4127  if (mCHFrac && mCHFrac->getRootObject())
4128  mCHFrac->Fill((*pfJets)[ind1].chargedHadronEnergyFraction());
4129  mNHFrac = map_of_MEs[DirName + "/" + "NHFrac"];
4130  if (mNHFrac && mNHFrac->getRootObject())
4131  mNHFrac->Fill((*pfJets)[ind1].neutralHadronEnergyFraction());
4132  mPhFrac = map_of_MEs[DirName + "/" + "PhFrac"];
4133  if (mPhFrac && mPhFrac->getRootObject())
4134  mPhFrac->Fill((*pfJets)[ind1].neutralEmEnergyFraction());
4135  mHFEMFrac = map_of_MEs[DirName + "/" + "HFEMFrac"];
4136  if (mHFEMFrac && mHFEMFrac->getRootObject())
4137  mHFEMFrac->Fill((*pfJets)[ind1].HFEMEnergyFraction());
4138  mHFHFrac = map_of_MEs[DirName + "/" + "HFHFrac"];
4139  if (mHFHFrac && mHFHFrac->getRootObject())
4140  mHFHFrac->Fill((*pfJets)[ind1].HFHadronEnergyFraction());
4141 
4142  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4143  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4144  mJetEnergyCorr->Fill(recoJets[0].pt() / (*pfJets)[ind1].pt());
4145  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4146  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4147  mJetEnergyCorrVSEta->Fill(recoJets[0].eta(), recoJets[0].pt() / (*pfJets)[ind1].pt());
4148  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4149  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4150  mJetEnergyCorrVSPt->Fill(recoJets[0].pt(), recoJets[0].pt() / (*pfJets)[ind1].pt());
4151  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4152  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4153  mJetEnergyCorr->Fill(recoJets[1].pt() / (*pfJets)[ind2].pt());
4154  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4155  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4156  mJetEnergyCorrVSEta->Fill(recoJets[1].eta(), recoJets[1].pt() / (*pfJets)[ind2].pt());
4157  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4158  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4159  mJetEnergyCorrVSPt->Fill(recoJets[1].pt(), recoJets[1].pt() / (*pfJets)[ind2].pt());
4160 
4161  mChargedMultiplicity = map_of_MEs[DirName + "/" + "ChargedMultiplicity"];
4162  if (mChargedMultiplicity && mChargedMultiplicity->getRootObject())
4163  mChargedMultiplicity->Fill((*pfJets)[ind1].chargedMultiplicity());
4164  mNeutralMultiplicity = map_of_MEs[DirName + "/" + "NeutralMultiplicity"];
4165  if (mNeutralMultiplicity && mNeutralMultiplicity->getRootObject())
4166  mNeutralMultiplicity->Fill((*pfJets)[ind1].neutralMultiplicity());
4167  mMuonMultiplicity = map_of_MEs[DirName + "/" + "MuonMultiplicity"];
4168  if (mMuonMultiplicity && mMuonMultiplicity->getRootObject())
4169  mMuonMultiplicity->Fill((*pfJets)[ind1].muonMultiplicity());
4170  //Filling variables for second jet
4171  mCHFrac = map_of_MEs[DirName + "/" + "CHFrac"];
4172  if (mCHFrac && mCHFrac->getRootObject())
4173  mCHFrac->Fill((*pfJets)[ind2].chargedHadronEnergyFraction());
4174  mNHFrac = map_of_MEs[DirName + "/" + "NHFrac"];
4175  if (mNHFrac && mNHFrac->getRootObject())
4176  mNHFrac->Fill((*pfJets)[ind2].neutralHadronEnergyFraction());
4177  mPhFrac = map_of_MEs[DirName + "/" + "PhFrac"];
4178  if (mPhFrac && mPhFrac->getRootObject())
4179  mPhFrac->Fill((*pfJets)[ind2].neutralEmEnergyFraction());
4180  mHFEMFrac = map_of_MEs[DirName + "/" + "HFEMFrac"];
4181  if (mHFEMFrac && mHFEMFrac->getRootObject())
4182  mHFEMFrac->Fill((*pfJets)[ind2].HFEMEnergyFraction());
4183  mHFHFrac = map_of_MEs[DirName + "/" + "HFHFrac"];
4184  if (mHFHFrac && mHFHFrac->getRootObject())
4185  mHFHFrac->Fill((*pfJets)[ind2].HFHadronEnergyFraction());
4186 
4187  mNeutralFraction = map_of_MEs[DirName + "/" + "NeutralConstituentsFraction"];
4188  if (mNeutralFraction && mNeutralFraction->getRootObject())
4189  mNeutralFraction->Fill((double)(*pfJets)[ind1].neutralMultiplicity() /
4190  (double)(*pfJets)[ind1].nConstituents());
4191 
4192  mChargedMultiplicity = map_of_MEs[DirName + "/" + "ChargedMultiplicity"];
4193  if (mChargedMultiplicity && mChargedMultiplicity->getRootObject())
4194  mChargedMultiplicity->Fill((*pfJets)[ind2].chargedMultiplicity());
4195  mNeutralMultiplicity = map_of_MEs[DirName + "/" + "NeutralMultiplicity"];
4196  if (mNeutralMultiplicity && mNeutralMultiplicity->getRootObject())
4197  mNeutralMultiplicity->Fill((*pfJets)[ind2].neutralMultiplicity());
4198  mMuonMultiplicity = map_of_MEs[DirName + "/" + "MuonMultiplicity"];
4199  if (mMuonMultiplicity && mMuonMultiplicity->getRootObject())
4200  mMuonMultiplicity->Fill((*pfJets)[ind2].muonMultiplicity());
4201 
4202  //now fill PFJet profiles for leading jet
4203  mCHFrac_profile = map_of_MEs[DirName + "/" + "CHFrac_profile"];
4204  if (mCHFrac_profile && mCHFrac_profile->getRootObject())
4205  mCHFrac_profile->Fill(numPV, (*pfJets)[ind1].chargedHadronEnergyFraction());
4206  mNHFrac_profile = map_of_MEs[DirName + "/" + "NHFrac_profile"];
4207  if (mNHFrac_profile && mNHFrac_profile->getRootObject())
4208  mNHFrac_profile->Fill(numPV, (*pfJets)[ind1].neutralHadronEnergyFraction());
4209  mPhFrac_profile = map_of_MEs[DirName + "/" + "PhFrac_profile"];
4210  if (mPhFrac_profile && mPhFrac_profile->getRootObject())
4211  mPhFrac_profile->Fill(numPV, (*pfJets)[ind1].neutralEmEnergyFraction());
4212  mHFEMFrac_profile = map_of_MEs[DirName + "/" + "HFEMFrac_profile"];
4213  if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject())
4214  mHFEMFrac_profile->Fill(numPV, (*pfJets)[ind1].HFEMEnergyFraction());
4215  mHFHFrac_profile = map_of_MEs[DirName + "/" + "HFHFrac_profile"];
4216  if (mHFHFrac_profile && mHFHFrac_profile->getRootObject())
4217  mHFHFrac_profile->Fill(numPV, (*pfJets)[ind1].HFHadronEnergyFraction());
4218 
4219  mNeutralFraction = map_of_MEs[DirName + "/" + "NeutralConstituentsFraction"];
4220  if (mNeutralFraction && mNeutralFraction->getRootObject())
4221  mNeutralFraction->Fill((double)(*pfJets)[ind2].neutralMultiplicity() /
4222  (double)(*pfJets)[ind2].nConstituents());
4223 
4224  mChargedMultiplicity_profile = map_of_MEs[DirName + "/" + "ChargedMultiplicity_profile"];
4225  if (mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject())
4226  mChargedMultiplicity_profile->Fill(numPV, (*pfJets)[ind1].chargedMultiplicity());
4227  mNeutralMultiplicity_profile = map_of_MEs[DirName + "/" + "NeutralMultiplicity_profile"];
4228  if (mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject())
4229  mNeutralMultiplicity_profile->Fill(numPV, (*pfJets)[ind1].neutralMultiplicity());
4230  mMuonMultiplicity_profile = map_of_MEs[DirName + "/" + "MuonMultiplicity_profile"];
4231  if (mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject())
4232  mMuonMultiplicity->Fill(numPV, (*pfJets)[ind1].muonMultiplicity());
4233  //now fill PFJet profiles for second leading jet
4234  mCHFrac_profile = map_of_MEs[DirName + "/" + "CHFrac_profile"];
4235  if (mCHFrac_profile && mCHFrac_profile->getRootObject())
4236  mCHFrac_profile->Fill(numPV, (*pfJets)[ind2].chargedHadronEnergyFraction());
4237  mNHFrac_profile = map_of_MEs[DirName + "/" + "NHFrac_profile"];
4238  if (mNHFrac_profile && mNHFrac_profile->getRootObject())
4239  mNHFrac_profile->Fill(numPV, (*pfJets)[ind2].neutralHadronEnergyFraction());
4240  mPhFrac_profile = map_of_MEs[DirName + "/" + "PhFrac_profile"];
4241  if (mPhFrac_profile && mPhFrac_profile->getRootObject())
4242  mPhFrac_profile->Fill(numPV, (*pfJets)[ind2].neutralEmEnergyFraction());
4243  mHFEMFrac_profile = map_of_MEs[DirName + "/" + "HFEMFrac_profile"];
4244  if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject())
4245  mHFEMFrac_profile->Fill(numPV, (*pfJets)[ind2].HFEMEnergyFraction());
4246  mHFHFrac_profile = map_of_MEs[DirName + "/" + "HFHFrac_profile"];
4247  if (mHFHFrac_profile && mHFHFrac_profile->getRootObject())
4248  mHFHFrac_profile->Fill(numPV, (*pfJets)[ind2].HFHadronEnergyFraction());
4249 
4250  mChargedMultiplicity_profile = map_of_MEs[DirName + "/" + "ChargedMultiplicity_profile"];
4251  if (mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject())
4252  mChargedMultiplicity_profile->Fill(numPV, (*pfJets)[ind2].chargedMultiplicity());
4253  mNeutralMultiplicity_profile = map_of_MEs[DirName + "/" + "NeutralMultiplicity_profile"];
4254  if (mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject())
4255  mNeutralMultiplicity_profile->Fill(numPV, (*pfJets)[ind2].neutralMultiplicity());
4256  mMuonMultiplicity_profile = map_of_MEs[DirName + "/" + "MuonMultiplicity_profile"];
4257  if (mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject())
4258  mMuonMultiplicity_profile->Fill(numPV, (*pfJets)[ind2].muonMultiplicity());
4259 
4260  int QGmulti = -1;
4261  float QGLikelihood = -10;
4262  float QGptD = -10;
4263  float QGaxis2 = -10;
4264  if (fill_CHS_histos) {
4265  reco::PFJetRef pfjetref(pfJets, ind1);
4266  QGmulti = (*qgMultiplicity)[pfjetref];
4267  QGLikelihood = (*qgLikelihood)[pfjetref];
4268  QGptD = (*qgptD)[pfjetref];
4269  QGaxis2 = (*qgaxis2)[pfjetref];
4270  if (fabs(recoJets[0].eta()) < 1.3) { //barrel jets
4271  //fractions for barrel
4272  if (recoJets[0].pt() >= 20. && recoJets[0].pt() <= 50.) {
4273  mAxis2_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Barrel"];
4274  if (mAxis2_lowPt_Barrel && mAxis2_lowPt_Barrel->getRootObject())
4275  mAxis2_lowPt_Barrel->Fill(QGaxis2);
4276  mpTD_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Barrel"];
4277  if (mpTD_lowPt_Barrel && mpTD_lowPt_Barrel->getRootObject())
4278  mpTD_lowPt_Barrel->Fill(QGptD);
4279  mMultiplicityQG_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Barrel"];
4280  if (mMultiplicityQG_lowPt_Barrel && mMultiplicityQG_lowPt_Barrel->getRootObject())
4281  mMultiplicityQG_lowPt_Barrel->Fill(QGmulti);
4282  mqgLikelihood_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Barrel"];
4283  if (mqgLikelihood_lowPt_Barrel && mqgLikelihood_lowPt_Barrel->getRootObject())
4284  mqgLikelihood_lowPt_Barrel->Fill(QGLikelihood);
4285  }
4286  if (recoJets[0].pt() > 50. && recoJets[0].pt() <= 140.) {
4287  mAxis2_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Barrel"];
4288  if (mAxis2_mediumPt_Barrel && mAxis2_mediumPt_Barrel->getRootObject())
4289  mAxis2_mediumPt_Barrel->Fill(QGaxis2);
4290  mpTD_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Barrel"];
4291  if (mpTD_mediumPt_Barrel && mpTD_mediumPt_Barrel->getRootObject())
4292  mpTD_mediumPt_Barrel->Fill(QGptD);
4293  mMultiplicityQG_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Barrel"];
4294  if (mMultiplicityQG_mediumPt_Barrel && mMultiplicityQG_mediumPt_Barrel->getRootObject())
4295  mMultiplicityQG_mediumPt_Barrel->Fill(QGmulti);
4296  mqgLikelihood_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Barrel"];
4297  if (mqgLikelihood_mediumPt_Barrel && mqgLikelihood_mediumPt_Barrel->getRootObject())
4298  mqgLikelihood_mediumPt_Barrel->Fill(QGLikelihood);
4299  }
4300  if (recoJets[0].pt() > 140.) {
4301  mAxis2_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Barrel"];
4302  if (mAxis2_highPt_Barrel && mAxis2_highPt_Barrel->getRootObject())
4303  mAxis2_highPt_Barrel->Fill(QGaxis2);
4304  mpTD_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Barrel"];
4305  if (mpTD_highPt_Barrel && mpTD_highPt_Barrel->getRootObject())
4306  mpTD_highPt_Barrel->Fill(QGptD);
4307  mMultiplicityQG_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Barrel"];
4308  if (mMultiplicityQG_highPt_Barrel && mMultiplicityQG_highPt_Barrel->getRootObject())
4309  mMultiplicityQG_highPt_Barrel->Fill(QGmulti);
4310  mqgLikelihood_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Barrel"];
4311  if (mqgLikelihood_highPt_Barrel && mqgLikelihood_highPt_Barrel->getRootObject())
4312  mqgLikelihood_highPt_Barrel->Fill(QGLikelihood);
4313  }
4314  } else if (fabs(recoJets[0].eta()) < 3.0) { //endcap jets
4315  if (recoJets[0].pt() > 20. && recoJets[0].pt() <= 50.) {
4316  mAxis2_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_EndCap"];
4317  if (mAxis2_lowPt_EndCap && mAxis2_lowPt_EndCap->getRootObject())
4318  mAxis2_lowPt_EndCap->Fill(QGaxis2);
4319  mpTD_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_EndCap"];
4320  if (mpTD_lowPt_EndCap && mpTD_lowPt_EndCap->getRootObject())
4321  mpTD_lowPt_EndCap->Fill(QGptD);
4322  mMultiplicityQG_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_EndCap"];
4323  if (mMultiplicityQG_lowPt_EndCap && mMultiplicityQG_lowPt_EndCap->getRootObject())
4324  mMultiplicityQG_lowPt_EndCap->Fill(QGmulti);
4325  mqgLikelihood_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_EndCap"];
4326  if (mqgLikelihood_lowPt_EndCap && mqgLikelihood_lowPt_EndCap->getRootObject())
4327  mqgLikelihood_lowPt_EndCap->Fill(QGLikelihood);
4328  }
4329  if (recoJets[0].pt() > 50. && recoJets[0].pt() <= 140.) {
4330  mAxis2_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_EndCap"];
4331  if (mAxis2_mediumPt_EndCap && mAxis2_mediumPt_EndCap->getRootObject())
4332  mAxis2_mediumPt_EndCap->Fill(QGaxis2);
4333  mpTD_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_EndCap"];
4334  if (mpTD_mediumPt_EndCap && mpTD_mediumPt_EndCap->getRootObject())
4335  mpTD_mediumPt_EndCap->Fill(QGptD);
4336  mMultiplicityQG_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_EndCap"];
4337  if (mMultiplicityQG_mediumPt_EndCap && mMultiplicityQG_mediumPt_EndCap->getRootObject())
4338  mMultiplicityQG_mediumPt_EndCap->Fill(QGmulti);
4339  mqgLikelihood_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_EndCap"];
4340  if (mqgLikelihood_mediumPt_EndCap && mqgLikelihood_mediumPt_EndCap->getRootObject())
4341  mqgLikelihood_mediumPt_EndCap->Fill(QGLikelihood);
4342  }
4343  if (recoJets[0].pt() > 140.) {
4344  mAxis2_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_EndCap"];
4345  if (mAxis2_highPt_EndCap && mAxis2_highPt_EndCap->getRootObject())
4346  mAxis2_highPt_EndCap->Fill(QGaxis2);
4347  mpTD_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_highPt_EndCap"];
4348  if (mpTD_highPt_EndCap && mpTD_highPt_EndCap->getRootObject())
4349  mpTD_highPt_EndCap->Fill(QGptD);
4350  mMultiplicityQG_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_EndCap"];
4351  if (mMultiplicityQG_highPt_EndCap && mMultiplicityQG_highPt_EndCap->getRootObject())
4352  mMultiplicityQG_highPt_EndCap->Fill(QGmulti);
4353  mqgLikelihood_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_EndCap"];
4354  if (mqgLikelihood_highPt_EndCap && mqgLikelihood_highPt_EndCap->getRootObject())
4355  mqgLikelihood_highPt_EndCap->Fill(QGLikelihood);
4356  }
4357  } else {
4358  if (recoJets[0].pt() > 20. && recoJets[0].pt() <= 50.) {
4359  mAxis2_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Forward"];
4360  if (mAxis2_lowPt_Forward && mAxis2_lowPt_Forward->getRootObject())
4361  mAxis2_lowPt_Forward->Fill(QGaxis2);
4362  mpTD_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Forward"];
4363  if (mpTD_lowPt_Forward && mpTD_lowPt_Forward->getRootObject())
4364  mpTD_lowPt_Forward->Fill(QGptD);
4365  mMultiplicityQG_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Forward"];
4366  if (mMultiplicityQG_lowPt_Forward && mMultiplicityQG_lowPt_Forward->getRootObject())
4367  mMultiplicityQG_lowPt_Forward->Fill(QGmulti);
4368  mqgLikelihood_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Forward"];
4369  if (mqgLikelihood_lowPt_Forward && mqgLikelihood_lowPt_Forward->getRootObject())
4370  mqgLikelihood_lowPt_Forward->Fill(QGLikelihood);
4371  }
4372  if (recoJets[0].pt() > 50. && recoJets[0].pt() <= 140.) {
4373  mAxis2_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Forward"];
4374  if (mAxis2_mediumPt_Forward && mAxis2_mediumPt_Forward->getRootObject())
4375  mAxis2_mediumPt_Forward->Fill(QGaxis2);
4376  mpTD_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Forward"];
4377  if (mpTD_mediumPt_Forward && mpTD_mediumPt_Forward->getRootObject())
4378  mpTD_mediumPt_Forward->Fill(QGptD);
4379  mMultiplicityQG_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Forward"];
4380  if (mMultiplicityQG_mediumPt_Forward && mMultiplicityQG_mediumPt_Forward->getRootObject())
4381  mMultiplicityQG_mediumPt_Forward->Fill(QGmulti);
4382  mqgLikelihood_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Forward"];
4383  if (mqgLikelihood_mediumPt_Forward && mqgLikelihood_mediumPt_Forward->getRootObject())
4384  mqgLikelihood_mediumPt_Forward->Fill(QGLikelihood);
4385  }
4386  if (recoJets[0].pt() > 140.) {
4387  mAxis2_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Forward"];
4388  if (mAxis2_highPt_Forward && mAxis2_highPt_Forward->getRootObject())
4389  mAxis2_highPt_Forward->Fill(QGaxis2);
4390  mpTD_highPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Forward"];
4391  if (mpTD_highPt_Forward && mpTD_highPt_Forward->getRootObject())
4392  mpTD_highPt_Forward->Fill(QGptD);
4393  mMultiplicityQG_highPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Forward"];
4394  if (mMultiplicityQG_highPt_Forward && mMultiplicityQG_highPt_Forward->getRootObject())
4395  mMultiplicityQG_highPt_Forward->Fill(QGmulti);
4396  mqgLikelihood_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Forward"];
4397  if (mqgLikelihood_highPt_Forward && mqgLikelihood_highPt_Forward->getRootObject())
4398  mqgLikelihood_highPt_Forward->Fill(QGLikelihood);
4399  }
4400  } //done for first jet
4401  reco::PFJetRef pfjetref1(pfJets, ind2);
4402  QGmulti = (*qgMultiplicity)[pfjetref1];
4403  QGLikelihood = (*qgLikelihood)[pfjetref1];
4404  QGptD = (*qgptD)[pfjetref1];
4405  QGaxis2 = (*qgaxis2)[pfjetref1];
4406  if (fabs(recoJets[1].eta()) < 1.3) { //barrel jets
4407  //fractions for barrel
4408  if (recoJets[1].pt() >= 20. && recoJets[1].pt() <= 50.) {
4409  mAxis2_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Barrel"];
4410  if (mAxis2_lowPt_Barrel && mAxis2_lowPt_Barrel->getRootObject())
4411  mAxis2_lowPt_Barrel->Fill(QGaxis2);
4412  mpTD_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Barrel"];
4413  if (mpTD_lowPt_Barrel && mpTD_lowPt_Barrel->getRootObject())
4414  mpTD_lowPt_Barrel->Fill(QGptD);
4415  mMultiplicityQG_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Barrel"];
4416  if (mMultiplicityQG_lowPt_Barrel && mMultiplicityQG_lowPt_Barrel->getRootObject())
4417  mMultiplicityQG_lowPt_Barrel->Fill(QGmulti);
4418  mqgLikelihood_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Barrel"];
4419  if (mqgLikelihood_lowPt_Barrel && mqgLikelihood_lowPt_Barrel->getRootObject())
4420  mqgLikelihood_lowPt_Barrel->Fill(QGLikelihood);
4421  }
4422  if (recoJets[1].pt() > 50. && recoJets[1].pt() <= 140.) {
4423  mAxis2_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Barrel"];
4424  if (mAxis2_mediumPt_Barrel && mAxis2_mediumPt_Barrel->getRootObject())
4425  mAxis2_mediumPt_Barrel->Fill(QGaxis2);
4426  mpTD_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Barrel"];
4427  if (mpTD_mediumPt_Barrel && mpTD_mediumPt_Barrel->getRootObject())
4428  mpTD_mediumPt_Barrel->Fill(QGptD);
4429  mMultiplicityQG_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Barrel"];
4430  if (mMultiplicityQG_mediumPt_Barrel && mMultiplicityQG_mediumPt_Barrel->getRootObject())
4431  mMultiplicityQG_mediumPt_Barrel->Fill(QGmulti);
4432  mqgLikelihood_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Barrel"];
4433  if (mqgLikelihood_mediumPt_Barrel && mqgLikelihood_mediumPt_Barrel->getRootObject())
4434  mqgLikelihood_mediumPt_Barrel->Fill(QGLikelihood);
4435  }
4436  if (recoJets[1].pt() > 140.) {
4437  mAxis2_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Barrel"];
4438  if (mAxis2_highPt_Barrel && mAxis2_highPt_Barrel->getRootObject())
4439  mAxis2_highPt_Barrel->Fill(QGaxis2);
4440  mpTD_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Barrel"];
4441  if (mpTD_highPt_Barrel && mpTD_highPt_Barrel->getRootObject())
4442  mpTD_highPt_Barrel->Fill(QGptD);
4443  mMultiplicityQG_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Barrel"];
4444  if (mMultiplicityQG_highPt_Barrel && mMultiplicityQG_highPt_Barrel->getRootObject())
4445  mMultiplicityQG_highPt_Barrel->Fill(QGmulti);
4446  mqgLikelihood_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Barrel"];
4447  if (mqgLikelihood_highPt_Barrel && mqgLikelihood_highPt_Barrel->getRootObject())
4448  mqgLikelihood_highPt_Barrel->Fill(QGLikelihood);
4449  }
4450  } else if (fabs(recoJets[1].eta()) < 3.0) { //endcap jets
4451  if (recoJets[1].pt() > 20. && recoJets[1].pt() <= 50.) {
4452  mAxis2_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_EndCap"];
4453  if (mAxis2_lowPt_EndCap && mAxis2_lowPt_EndCap->getRootObject())
4454  mAxis2_lowPt_EndCap->Fill(QGaxis2);
4455  mpTD_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_EndCap"];
4456  if (mpTD_lowPt_EndCap && mpTD_lowPt_EndCap->getRootObject())
4457  mpTD_lowPt_EndCap->Fill(QGptD);
4458  mMultiplicityQG_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_EndCap"];
4459  if (mMultiplicityQG_lowPt_EndCap && mMultiplicityQG_lowPt_EndCap->getRootObject())
4460  mMultiplicityQG_lowPt_EndCap->Fill(QGmulti);
4461  mqgLikelihood_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_EndCap"];
4462  if (mqgLikelihood_lowPt_EndCap && mqgLikelihood_lowPt_EndCap->getRootObject())
4463  mqgLikelihood_lowPt_EndCap->Fill(QGLikelihood);
4464  }
4465  if (recoJets[1].pt() > 50. && recoJets[1].pt() <= 140.) {
4466  mAxis2_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_EndCap"];
4467  if (mAxis2_mediumPt_EndCap && mAxis2_mediumPt_EndCap->getRootObject())
4468  mAxis2_mediumPt_EndCap->Fill(QGaxis2);
4469  mpTD_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_EndCap"];
4470  if (mpTD_mediumPt_EndCap && mpTD_mediumPt_EndCap->getRootObject())
4471  mpTD_mediumPt_EndCap->Fill(QGptD);
4472  mMultiplicityQG_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_EndCap"];
4473  if (mMultiplicityQG_mediumPt_EndCap && mMultiplicityQG_mediumPt_EndCap->getRootObject())
4474  mMultiplicityQG_mediumPt_EndCap->Fill(QGmulti);
4475  mqgLikelihood_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_EndCap"];
4476  if (mqgLikelihood_mediumPt_EndCap && mqgLikelihood_mediumPt_EndCap->getRootObject())
4477  mqgLikelihood_mediumPt_EndCap->Fill(QGLikelihood);
4478  }
4479  if (recoJets[1].pt() > 140.) {
4480  mAxis2_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_EndCap"];
4481  if (mAxis2_highPt_EndCap && mAxis2_highPt_EndCap->getRootObject())
4482  mAxis2_highPt_EndCap->Fill(QGaxis2);
4483  mpTD_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_highPt_EndCap"];
4484  if (mpTD_highPt_EndCap && mpTD_highPt_EndCap->getRootObject())
4485  mpTD_highPt_EndCap->Fill(QGptD);
4486  mMultiplicityQG_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_EndCap"];
4487  if (mMultiplicityQG_highPt_EndCap && mMultiplicityQG_highPt_EndCap->getRootObject())
4488  mMultiplicityQG_highPt_EndCap->Fill(QGmulti);
4489  mqgLikelihood_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_EndCap"];
4490  if (mqgLikelihood_highPt_EndCap && mqgLikelihood_highPt_EndCap->getRootObject())
4491  mqgLikelihood_highPt_EndCap->Fill(QGLikelihood);
4492  }
4493  } else {
4494  if (recoJets[1].pt() > 20. && recoJets[1].pt() <= 50.) {
4495  mAxis2_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Forward"];
4496  if (mAxis2_lowPt_Forward && mAxis2_lowPt_Forward->getRootObject())
4497  mAxis2_lowPt_Forward->Fill(QGaxis2);
4498  mpTD_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Forward"];
4499  if (mpTD_lowPt_Forward && mpTD_lowPt_Forward->getRootObject())
4500  mpTD_lowPt_Forward->Fill(QGptD);
4501  mMultiplicityQG_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Forward"];
4502  if (mMultiplicityQG_lowPt_Forward && mMultiplicityQG_lowPt_Forward->getRootObject())
4503  mMultiplicityQG_lowPt_Forward->Fill(QGmulti);
4504  mqgLikelihood_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Forward"];
4505  if (mqgLikelihood_lowPt_Forward && mqgLikelihood_lowPt_Forward->getRootObject())
4506  mqgLikelihood_lowPt_Forward->Fill(QGLikelihood);
4507  }
4508  if (recoJets[1].pt() > 50. && recoJets[1].pt() <= 140.) {
4509  mAxis2_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Forward"];
4510  if (mAxis2_mediumPt_Forward && mAxis2_mediumPt_Forward->getRootObject())
4511  mAxis2_mediumPt_Forward->Fill(QGaxis2);
4512  mpTD_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Forward"];
4513  if (mpTD_mediumPt_Forward && mpTD_mediumPt_Forward->getRootObject())
4514  mpTD_mediumPt_Forward->Fill(QGptD);
4515  mMultiplicityQG_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Forward"];
4516  if (mMultiplicityQG_mediumPt_Forward && mMultiplicityQG_mediumPt_Forward->getRootObject())
4517  mMultiplicityQG_mediumPt_Forward->Fill(QGmulti);
4518  mqgLikelihood_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Forward"];
4519  if (mqgLikelihood_mediumPt_Forward && mqgLikelihood_mediumPt_Forward->getRootObject())
4520  mqgLikelihood_mediumPt_Forward->Fill(QGLikelihood);
4521  }
4522  if (recoJets[1].pt() > 140.) {
4523  mAxis2_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Forward"];
4524  if (mAxis2_highPt_Forward && mAxis2_highPt_Forward->getRootObject())
4525  mAxis2_highPt_Forward->Fill(QGaxis2);
4526  mpTD_highPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Forward"];
4527  if (mpTD_highPt_Forward && mpTD_highPt_Forward->getRootObject())
4528  mpTD_highPt_Forward->Fill(QGptD);
4529  mMultiplicityQG_highPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Forward"];
4530  if (mMultiplicityQG_highPt_Forward && mMultiplicityQG_highPt_Forward->getRootObject())
4531  mMultiplicityQG_highPt_Forward->Fill(QGmulti);
4532  mqgLikelihood_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Forward"];
4533  if (mqgLikelihood_highPt_Forward && mqgLikelihood_highPt_Forward->getRootObject())
4534  mqgLikelihood_highPt_Forward->Fill(QGLikelihood);
4535  }
4536  } //deal with second jet
4537  } //fill quark gluon tagged variables
4538  } //pfjet
4539  if (isMiniAODJet_) {
4540  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4541  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4542  mJetEnergyCorr->Fill(1. / (*patJets)[ind1].jecFactor("Uncorrected"));
4543  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4544  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4545  mJetEnergyCorrVSEta->Fill(recoJets[0].eta(), 1. / (*patJets)[ind1].jecFactor("Uncorrected"));
4546  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4547  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4548  mJetEnergyCorrVSPt->Fill(recoJets[0].pt(), 1. / (*patJets)[ind1].jecFactor("Uncorrected"));
4549  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4550  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4551  mJetEnergyCorr->Fill(1. / (*patJets)[ind2].jecFactor("Uncorrected"));
4552  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4553  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4554  mJetEnergyCorrVSEta->Fill(recoJets[0].eta(), 1. / (*patJets)[ind2].jecFactor("Uncorrected"));
4555  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4556  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4557  mJetEnergyCorrVSPt->Fill(recoJets[0].pt(), 1. / (*patJets)[ind2].jecFactor("Uncorrected"));
4558 
4559  // In MINIAOD, can drop PFSpecifics just to save space, so check they are available.
4560  if ((*patJets)[ind1].hasPFSpecific()) {
4561  mCHFrac = map_of_MEs[DirName + "/" + "CHFrac"];
4562  if (mCHFrac && mCHFrac->getRootObject())
4563  mCHFrac->Fill((*patJets)[ind1].chargedHadronEnergyFraction());
4564  mNHFrac = map_of_MEs[DirName + "/" + "NHFrac"];
4565  if (mNHFrac && mNHFrac->getRootObject())
4566  mNHFrac->Fill((*patJets)[ind1].neutralHadronEnergyFraction());
4567  mPhFrac = map_of_MEs[DirName + "/" + "PhFrac"];
4568  if (mPhFrac && mPhFrac->getRootObject())
4569  mPhFrac->Fill((*patJets)[ind1].neutralEmEnergyFraction());
4570  mHFEMFrac = map_of_MEs[DirName + "/" + "HFEMFrac"];
4571  if (mHFEMFrac && mHFEMFrac->getRootObject())
4572  mHFEMFrac->Fill((*patJets)[ind1].HFEMEnergyFraction());
4573  mHFHFrac = map_of_MEs[DirName + "/" + "HFHFrac"];
4574  if (mHFHFrac && mHFHFrac->getRootObject())
4575  mHFHFrac->Fill((*patJets)[ind1].HFHadronEnergyFraction());
4576  mChargedMultiplicity = map_of_MEs[DirName + "/" + "ChargedMultiplicity"];
4577  if (mChargedMultiplicity && mChargedMultiplicity->getRootObject())
4578  mChargedMultiplicity->Fill((*patJets)[ind1].chargedMultiplicity());
4579  mNeutralMultiplicity = map_of_MEs[DirName + "/" + "NeutralMultiplicity"];
4580  if (mNeutralMultiplicity && mNeutralMultiplicity->getRootObject())
4581  mNeutralMultiplicity->Fill((*patJets)[ind1].neutralMultiplicity());
4582  mMuonMultiplicity = map_of_MEs[DirName + "/" + "MuonMultiplicity"];
4583  if (mMuonMultiplicity && mMuonMultiplicity->getRootObject())
4584  mMuonMultiplicity->Fill((*patJets)[ind1].muonMultiplicity());
4585  mNeutralFraction = map_of_MEs[DirName + "/" + "NeutralConstituentsFraction"];
4586  if (mNeutralFraction && mNeutralFraction->getRootObject())
4587  mNeutralFraction->Fill((double)(*patJets)[ind1].neutralMultiplicity() /
4588  (double)(*patJets)[ind1].nConstituents());
4589  mCHFrac_profile = map_of_MEs[DirName + "/" + "CHFrac_profile"];
4590  if (mCHFrac_profile && mCHFrac_profile->getRootObject())
4591  mCHFrac_profile->Fill(numPV, (*patJets)[ind1].chargedHadronEnergyFraction());
4592  mNHFrac_profile = map_of_MEs[DirName + "/" + "NHFrac_profile"];
4593  if (mNHFrac_profile && mNHFrac_profile->getRootObject())
4594  mNHFrac_profile->Fill(numPV, (*patJets)[ind1].neutralHadronEnergyFraction());
4595  mPhFrac_profile = map_of_MEs[DirName + "/" + "PhFrac_profile"];
4596  if (mPhFrac_profile && mPhFrac_profile->getRootObject())
4597  mPhFrac_profile->Fill(numPV, (*patJets)[ind1].neutralEmEnergyFraction());
4598  mHFEMFrac_profile = map_of_MEs[DirName + "/" + "HFEMFrac_profile"];
4599  if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject())
4600  mHFEMFrac_profile->Fill(numPV, (*patJets)[ind1].HFEMEnergyFraction());
4601  mHFHFrac_profile = map_of_MEs[DirName + "/" + "HFHFrac_profile"];
4602  if (mHFHFrac_profile && mHFHFrac_profile->getRootObject())
4603  mHFHFrac_profile->Fill(numPV, (*patJets)[ind1].HFHadronEnergyFraction());
4604  mChargedMultiplicity_profile = map_of_MEs[DirName + "/" + "ChargedMultiplicity_profile"];
4605  if (mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject())
4606  mChargedMultiplicity_profile->Fill(numPV, (*patJets)[ind1].chargedMultiplicity());
4607  mNeutralMultiplicity_profile = map_of_MEs[DirName + "/" + "NeutralMultiplicity_profile"];
4608  if (mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject())
4609  mNeutralMultiplicity_profile->Fill(numPV, (*patJets)[ind1].neutralMultiplicity());
4610  mMuonMultiplicity_profile = map_of_MEs[DirName + "/" + "MuonMultiplicity_profile"];
4611  if (mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject())
4612  mMuonMultiplicity->Fill(numPV, (*patJets)[ind1].muonMultiplicity());
4613  }
4614 
4615  // In MINIAOD, can drop PFSpecifics just to save space, so check they are available.
4616  //Filling variables for second jet
4617  if ((*patJets)[ind2].hasPFSpecific()) {
4618  mCHFrac = map_of_MEs[DirName + "/" + "CHFrac"];
4619  if (mCHFrac && mCHFrac->getRootObject())
4620  mCHFrac->Fill((*patJets)[ind2].chargedHadronEnergyFraction());
4621  mNHFrac = map_of_MEs[DirName + "/" + "NHFrac"];
4622  if (mNHFrac && mNHFrac->getRootObject())
4623  mNHFrac->Fill((*patJets)[ind2].neutralHadronEnergyFraction());
4624  mPhFrac = map_of_MEs[DirName + "/" + "PhFrac"];
4625  if (mPhFrac && mPhFrac->getRootObject())
4626  mPhFrac->Fill((*patJets)[ind2].neutralEmEnergyFraction());
4627  mHFEMFrac = map_of_MEs[DirName + "/" + "HFEMFrac"];
4628  if (mHFEMFrac && mHFEMFrac->getRootObject())
4629  mHFEMFrac->Fill((*patJets)[ind2].HFEMEnergyFraction());
4630  mHFHFrac = map_of_MEs[DirName + "/" + "HFHFrac"];
4631  if (mHFHFrac && mHFHFrac->getRootObject())
4632  mHFHFrac->Fill((*patJets)[ind2].HFHadronEnergyFraction());
4633 
4634  mChargedMultiplicity = map_of_MEs[DirName + "/" + "ChargedMultiplicity"];
4635  if (mChargedMultiplicity && mChargedMultiplicity->getRootObject())
4636  mChargedMultiplicity->Fill((*patJets)[ind2].chargedMultiplicity());
4637  mNeutralMultiplicity = map_of_MEs[DirName + "/" + "NeutralMultiplicity"];
4638  if (mNeutralMultiplicity && mNeutralMultiplicity->getRootObject())
4639  mNeutralMultiplicity->Fill((*patJets)[ind2].neutralMultiplicity());
4640  mMuonMultiplicity = map_of_MEs[DirName + "/" + "MuonMultiplicity"];
4641  if (mMuonMultiplicity && mMuonMultiplicity->getRootObject())
4642  mMuonMultiplicity->Fill((*patJets)[ind2].muonMultiplicity());
4643 
4644  mNeutralFraction = map_of_MEs[DirName + "/" + "NeutralConstituentsFraction"];
4645  if (mNeutralFraction && mNeutralFraction->getRootObject())
4646  mNeutralFraction->Fill((double)(*patJets)[ind2].neutralMultiplicity() /
4647  (double)(*patJets)[ind2].nConstituents());
4648 
4649  //now fill PATJet profiles for second leading jet
4650  mCHFrac_profile = map_of_MEs[DirName + "/" + "CHFrac_profile"];
4651  if (mCHFrac_profile && mCHFrac_profile->getRootObject())
4652  mCHFrac_profile->Fill(numPV, (*patJets)[ind2].chargedHadronEnergyFraction());
4653  mNHFrac_profile = map_of_MEs[DirName + "/" + "NHFrac_profile"];
4654  if (mNHFrac_profile && mNHFrac_profile->getRootObject())
4655  mNHFrac_profile->Fill(numPV, (*patJets)[ind2].neutralHadronEnergyFraction());
4656  mPhFrac_profile = map_of_MEs[DirName + "/" + "PhFrac_profile"];
4657  if (mPhFrac_profile && mPhFrac_profile->getRootObject())
4658  mPhFrac_profile->Fill(numPV, (*patJets)[ind2].neutralEmEnergyFraction());
4659  mHFEMFrac_profile = map_of_MEs[DirName + "/" + "HFEMFrac_profile"];
4660  if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject())
4661  mHFEMFrac_profile->Fill(numPV, (*patJets)[ind2].HFEMEnergyFraction());
4662  mHFHFrac_profile = map_of_MEs[DirName + "/" + "HFHFrac_profile"];
4663  if (mHFHFrac_profile && mHFHFrac_profile->getRootObject())
4664  mHFHFrac_profile->Fill(numPV, (*patJets)[ind2].HFHadronEnergyFraction());
4665 
4666  mChargedMultiplicity_profile = map_of_MEs[DirName + "/" + "ChargedMultiplicity_profile"];
4667  if (mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject())
4668  mChargedMultiplicity_profile->Fill(numPV, (*patJets)[ind2].chargedMultiplicity());
4669  mNeutralMultiplicity_profile = map_of_MEs[DirName + "/" + "NeutralMultiplicity_profile"];
4670  if (mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject())
4671  mNeutralMultiplicity_profile->Fill(numPV, (*patJets)[ind2].neutralMultiplicity());
4672  mMuonMultiplicity_profile = map_of_MEs[DirName + "/" + "MuonMultiplicity_profile"];
4673  if (mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject())
4674  mMuonMultiplicity_profile->Fill(numPV, (*patJets)[ind2].muonMultiplicity());
4675  }
4676  }
4677 
4678  //fill histos for first jet
4679  mPt = map_of_MEs[DirName + "/" + "Pt"];
4680  if (mPt && mPt->getRootObject())
4681  mPt->Fill(recoJets[0].pt());
4682  mEta = map_of_MEs[DirName + "/" + "Eta"];
4683  if (mEta && mEta->getRootObject())
4684  mEta->Fill(recoJets[0].eta());
4685  mPhi = map_of_MEs[DirName + "/" + "Phi"];
4686  if (mPhi && mPhi->getRootObject())
4687  mPhi->Fill(recoJets[0].phi());
4688  mPhiVSEta = map_of_MEs[DirName + "/" + "PhiVSEta"];
4689  if (mPhiVSEta && mPhiVSEta->getRootObject())
4690  mPhiVSEta->Fill(recoJets[0].eta(), recoJets[0].phi());
4691  //if(!isJPTJet_){
4692  mConstituents = map_of_MEs[DirName + "/" + "Constituents"];
4693  if (mConstituents && mConstituents->getRootObject())
4694  mConstituents->Fill(recoJets[0].nConstituents());
4695  //}
4696  mPt = map_of_MEs[DirName + "/" + "Pt"];
4697  if (mPt && mPt->getRootObject())
4698  mPt->Fill(recoJets[1].pt());
4699  mEta = map_of_MEs[DirName + "/" + "Eta"];
4700  if (mEta && mEta->getRootObject())
4701  mEta->Fill(recoJets[1].eta());
4702  mPhi = map_of_MEs[DirName + "/" + "Phi"];
4703  if (mPhi && mPhi->getRootObject())
4704  mPhi->Fill(recoJets[1].phi());
4705  mPhiVSEta = map_of_MEs[DirName + "/" + "PhiVSEta"];
4706  if (mPhiVSEta && mPhiVSEta->getRootObject())
4707  mPhiVSEta->Fill(recoJets[1].eta(), recoJets[1].phi());
4708  //if(!isJPTJet_){
4709  mConstituents = map_of_MEs[DirName + "/" + "Constituents"];
4710  if (mConstituents && mConstituents->getRootObject())
4711  mConstituents->Fill(recoJets[1].nConstituents());
4712  //}
4713  //PV profiles
4714  mPt_profile = map_of_MEs[DirName + "/" + "Pt_profile"];
4715  if (mPt_profile && mPt_profile->getRootObject())
4716  mPt_profile->Fill(numPV, recoJets[0].pt());
4717  mEta_profile = map_of_MEs[DirName + "/" + "Eta_profile"];
4718  if (mEta_profile && mEta_profile->getRootObject())
4719  mEta_profile->Fill(numPV, recoJets[0].eta());
4720  mPhi_profile = map_of_MEs[DirName + "/" + "Phi_profile"];
4721  if (mPhi_profile && mPhi_profile->getRootObject())
4722  mPhi_profile->Fill(numPV, recoJets[0].phi());
4723  //if(!isJPTJet_){
4724  mConstituents_profile = map_of_MEs[DirName + "/" + "Constituents_profile"];
4725  if (mConstituents_profile && mConstituents_profile->getRootObject())
4726  mConstituents_profile->Fill(numPV, recoJets[0].nConstituents());
4727  //}
4728  mPt_profile = map_of_MEs[DirName + "/" + "Pt_profile"];
4729  if (mPt_profile && mPt_profile->getRootObject())
4730  mPt_profile->Fill(numPV, recoJets[1].pt());
4731  mEta_profile = map_of_MEs[DirName + "/" + "Eta_profile"];
4732  if (mEta_profile && mEta_profile->getRootObject())
4733  mEta_profile->Fill(numPV, recoJets[1].eta());
4734  mPhi_profile = map_of_MEs[DirName + "/" + "Phi_profile"];
4735  if (mPhi_profile && mPhi_profile->getRootObject())
4736  mPhi_profile->Fill(numPV, recoJets[1].phi());
4737  //if(!isJPTJet_){
4738  mConstituents_profile = map_of_MEs[DirName + "/" + "Constituents_profile"];
4739  if (mConstituents_profile && mConstituents_profile->getRootObject())
4740  mConstituents_profile->Fill(numPV, recoJets[1].nConstituents());
4741  //}
4742  if (fabs(recoJets[0].eta() < 1.4)) {
4743  double pt_dijet = (recoJets[0].pt() + recoJets[1].pt()) / 2;
4744  if (dphi > 2.7) { //cut even toughter on dijet balance
4745  double pt_probe;
4746  double pt_barrel;
4747  int jet1, jet2;
4748  //int randJet = rand() % 2;
4749  int randJet = iEvent.id().event() % 2;
4750  if (fabs(recoJets[1].eta() < 1.4)) {
4751  if (randJet) {
4752  jet1 = 0;
4753  jet2 = 1;
4754  } else {
4755  jet1 = 1;
4756  jet2 = 0;
4757  }
4758  // ***Di-Jet Asymmetry****
4759  // * leading jets eta < 1.4
4760  // * leading jets dphi > 2.7
4761  // * pt_third jet < threshold
4762  // * A = (pt_1 - pt_2)/(pt_1 + pt_2)
4763  // * jets 1 and two are randomly ordered
4764  // **
4765  bool thirdJetCut = true;
4766  //that doesn't make any sense -> imagine you have 5 jets,
4767  //jet 3 is quite hard (almost as hard as the second jet, i.e. 200/80/79/20/15, cutoff is 30
4768  //the 4th and 5th jet are soft enough -> then you would fill the asymmetry twice,
4769  //although jet 2 and 3 are basically identical
4770  //do third jet relative to second jet
4771  //JME-10-014 suggests pt3/pt_dijet<0.15
4772  if (ind3 > 0) {
4773  if (pt3 > asymmetryThirdJetCut_) {
4774  thirdJetCut = false;
4775  }
4776  }
4777  if (thirdJetCut) {
4778  double dijetAsymmetry =
4779  (recoJets[jet1].pt() - recoJets[jet2].pt()) / (recoJets[jet1].pt() + recoJets[jet2].pt());
4780  mDijetAsymmetry = map_of_MEs[DirName + "/" + "DijetAsymmetry"];
4781  if (mDijetAsymmetry && mDijetAsymmetry->getRootObject())
4782  mDijetAsymmetry->Fill(dijetAsymmetry);
4783  } // end restriction on third jet pt in asymmetry calculation
4784 
4785  } else {
4786  jet1 = 0;
4787  jet2 = 1;
4788  }
4789 
4790  pt_barrel = recoJets[jet1].pt();
4791  pt_probe = recoJets[jet2].pt();
4792 
4793  //dijet balance cuts
4794  // ***Di-Jet Balance****
4795  // * pt_dijet = (pt_probe+pt_barrel)/2
4796  // * leading jets dphi > 2.7
4797  // * reject evnets where pt_third/pt_dijet > 0.2
4798  // * pv selection
4799  // * B = (pt_probe - pt_barrel)/pt_dijet
4800  // * select probe randomly from 2 jets if both leading jets are in the barrel
4801  bool thirdJetCut = true;
4802  if (ind3 > 0) {
4803  if (pt3 / pt_dijet > balanceThirdJetCut_) {
4804  thirdJetCut = false;
4805  }
4806  }
4807  if (thirdJetCut) {
4808  double dijetBalance = (pt_probe - pt_barrel) / pt_dijet;
4809  mDijetBalance = map_of_MEs[DirName + "/" + "DijetBalance"];
4810  if (mDijetBalance && mDijetBalance->getRootObject())
4811  mDijetBalance->Fill(dijetBalance);
4812  } // end restriction on third jet pt ratio in balance calculation
4813 
4814  } // dPhi > 2.7 for dijetbalance and asymmetrie
4815  } //leading jet in barrel
4816  } //DPhi cut of 2.1
4817  } //dijet selection, check if both leading jets are IDed
4818  //now do the ZJets selection -> pass_Z_selection cuts already on the Z-pt>30 GeV
4819  if (pass_Z_selection && ind1_mu_vetoed >= 0 && pt1_mu_vetoed > 12 && cleaned_first_jet_mu_vetoed && isPFJet_) {
4820  bool pass_second_jet_mu_vetoed = false;
4821  if (cleaned_second_jet_mu_vetoed) {
4822  if (ind2_mu_vetoed >= 0 && pt2_mu_vetoed / zCand.Pt() < 0.2) {
4823  pass_second_jet_mu_vetoed = true;
4824  }
4825  }
4826  if (pass_second_jet_mu_vetoed) {
4827  Jet recoJet1;
4828  if (isPFJet_) {
4829  recoJet1 = (*pfJets)[ind1_mu_vetoed];
4830  }
4831  if (pass_correction_flag && !isMiniAODJet_) {
4832  double scale = 1;
4833  if (isCaloJet_) {
4834  scale = jetCorr->correction((*caloJets)[ind1_mu_vetoed]);
4835  }
4836  if (isPFJet_) {
4837  scale = jetCorr->correction((*pfJets)[ind1_mu_vetoed]);
4838  }
4839  recoJet1.scaleEnergy(scale);
4840  }
4841  double dphi = fabs(recoJet1.phi() - zCand.Phi());
4842  if (dphi > acos(-1.)) {
4843  dphi = 2 * acos(-1.) - dphi;
4844  }
4845  if (jetCleaningFlag_) {
4846  DirName = "JetMET/Jet/Cleaned" + mInputCollection_.label() + "/ZJets";
4847  }
4848  mDPhiZJet = map_of_MEs[DirName + "/" + "DPhiZJ"];
4849  if (mDPhiZJet && mDPhiZJet->getRootObject())
4850  mDPhiZJet->Fill(dphi);
4851  if (fabs(dphi - acos(-1.)) < 0.34) {
4852  //get now MET collections for MPF studies
4855  //edm::Handle<pat::METCollection> patmetcoll;
4856  const MET* met = nullptr;
4857  if (isCaloJet_) {
4858  iEvent.getByToken(caloMetToken_, calometcoll);
4859  if (!calometcoll.isValid())
4860  return;
4861  met = &(calometcoll->front());
4862  }
4863  if (isPFJet_) {
4864  iEvent.getByToken(pfMetToken_, pfmetcoll);
4865  if (!pfmetcoll.isValid())
4866  return;
4867  met = &(pfmetcoll->front());
4868  }
4869  //if(isMiniAODJet_){
4870  //iEvent.getByToken(patMetToken_, patmetcoll);
4871  //if(!patmetcoll.isValid()) return;
4872  //met=&(patmetcoll->front());
4873  //}
4874  mZMass = map_of_MEs[DirName + "/" + "DiMuonMass"];
4875  if (mZMass && mZMass->getRootObject())
4876  mZMass->Fill(zCand.M());
4877  mZJetAsymmetry = map_of_MEs[DirName + "/" + "ZJetAsymmetry"];
4878  if (mZJetAsymmetry && mZJetAsymmetry->getRootObject())
4879  mZJetAsymmetry->Fill((zCand.Pt() - recoJet1.pt()) / (zCand.Pt() + recoJet1.pt()));
4880  if (recoJet1.pt() > 20) {
4881  mPt = map_of_MEs[DirName + "/" + "Pt"];
4882  if (mPt && mPt->getRootObject())
4883  mPt->Fill(recoJet1.pt());
4884  mEta = map_of_MEs[DirName + "/" + "Eta"];
4885  if (mEta && mEta->getRootObject())
4886  mEta->Fill(recoJet1.eta());
4887  mPhi = map_of_MEs[DirName + "/" + "Phi"];
4888  if (mPhi && mPhi->getRootObject())
4889  mPhi->Fill(recoJet1.phi());
4890  //PV profiles
4891  mPt_profile = map_of_MEs[DirName + "/" + "Pt_profile"];
4892  if (mPt_profile && mPt_profile->getRootObject())
4893  mPt_profile->Fill(numPV, recoJet1.pt());
4894  mEta_profile = map_of_MEs[DirName + "/" + "Eta_profile"];
4895  if (mEta_profile && mEta_profile->getRootObject())
4896  mEta_profile->Fill(numPV, recoJet1.eta());
4897  mPhi_profile = map_of_MEs[DirName + "/" + "Phi_profile"];
4898  if (mPhi_profile && mPhi_profile->getRootObject())
4899  mPhi_profile->Fill(numPV, recoJet1.phi());
4900  mConstituents = map_of_MEs[DirName + "/" + "Constituents"];
4901  if (mConstituents && mConstituents->getRootObject())
4902  mConstituents->Fill(recoJet1.nConstituents());
4903  mConstituents_profile = map_of_MEs[DirName + "/" + "Constituents_profile"];
4904  if (mConstituents_profile && mConstituents_profile->getRootObject())
4905  mConstituents_profile->Fill(numPV, recoJet1.nConstituents());
4906  mJetEnergyCorr = map_of_MEs[DirName + "/" + "JetEnergyCorr"];
4907  if (mJetEnergyCorr && mJetEnergyCorr->getRootObject())
4908  mJetEnergyCorr->Fill(recoJet1.pt() / (*pfJets)[ind1_mu_vetoed].pt());
4909  mJetEnergyCorrVSEta = map_of_MEs[DirName + "/" + "JetEnergyCorrVSEta"];
4910  if (mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())
4911  mJetEnergyCorrVSEta->Fill(recoJet1.eta(), recoJet1.pt() / (*pfJets)[ind1_mu_vetoed].pt());
4912  mJetEnergyCorrVSPt = map_of_MEs[DirName + "/" + "JetEnergyCorrVSPt"];
4913  if (mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject())
4914  mJetEnergyCorrVSPt->Fill(recoJet1.pt(), recoJet1.pt() / (*pfJets)[ind1_mu_vetoed].pt());
4915  mCHFrac = map_of_MEs[DirName + "/" + "CHFrac"];
4916  if (mCHFrac && mCHFrac->getRootObject())
4917  mCHFrac->Fill((*pfJets)[ind1_mu_vetoed].chargedHadronEnergyFraction());
4918  mNHFrac = map_of_MEs[DirName + "/" + "NHFrac"];
4919  if (mNHFrac && mNHFrac->getRootObject())
4920  mNHFrac->Fill((*pfJets)[ind1_mu_vetoed].neutralHadronEnergyFraction());
4921  mPhFrac = map_of_MEs[DirName + "/" + "PhFrac"];
4922  if (mPhFrac && mPhFrac->getRootObject())
4923  mPhFrac->Fill((*pfJets)[ind1_mu_vetoed].neutralEmEnergyFraction());
4924  mHFEMFrac = map_of_MEs[DirName + "/" + "HFEMFrac"];
4925  if (mHFEMFrac && mHFEMFrac->getRootObject())
4926  mHFEMFrac->Fill((*pfJets)[ind1_mu_vetoed].HFEMEnergyFraction());
4927  mHFHFrac = map_of_MEs[DirName + "/" + "HFHFrac"];
4928  if (mHFHFrac && mHFHFrac->getRootObject())
4929  mHFHFrac->Fill((*pfJets)[ind1_mu_vetoed].HFHadronEnergyFraction());
4930  //now fill PFJet profiles for second leading jet
4931  mCHFrac_profile = map_of_MEs[DirName + "/" + "CHFrac_profile"];
4932  if (mCHFrac_profile && mCHFrac_profile->getRootObject())
4933  mCHFrac_profile->Fill(numPV, (*pfJets)[ind1_mu_vetoed].chargedHadronEnergyFraction());
4934  mNHFrac_profile = map_of_MEs[DirName + "/" + "NHFrac_profile"];
4935  if (mNHFrac_profile && mNHFrac_profile->getRootObject())
4936  mNHFrac_profile->Fill(numPV, (*pfJets)[ind1_mu_vetoed].neutralHadronEnergyFraction());
4937  mPhFrac_profile = map_of_MEs[DirName + "/" + "PhFrac_profile"];
4938  if (mPhFrac_profile && mPhFrac_profile->getRootObject())
4939  mPhFrac_profile->Fill(numPV, (*pfJets)[ind1_mu_vetoed].neutralEmEnergyFraction());
4940  mHFEMFrac_profile = map_of_MEs[DirName + "/" + "HFEMFrac_profile"];
4941  if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject())
4942  mHFEMFrac_profile->Fill(numPV, (*pfJets)[ind1_mu_vetoed].HFEMEnergyFraction());
4943  mHFHFrac_profile = map_of_MEs[DirName + "/" + "HFHFrac_profile"];
4944  if (mHFHFrac_profile && mHFHFrac_profile->getRootObject())
4945  mHFHFrac_profile->Fill(numPV, (*pfJets)[ind1_mu_vetoed].HFHadronEnergyFraction());
4946  }
4947  double MPF = 1. + (met->px() * zCand.Px() + met->py() * zCand.Py()) / (zCand.Pt() * zCand.Pt());
4948  if (fabs(recoJet1.eta()) < 1.3) { //barrel jets
4949  mJ1Pt_over_ZPt_J_Barrel = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_J_Barrel"];
4950  if (mJ1Pt_over_ZPt_J_Barrel && mJ1Pt_over_ZPt_J_Barrel->getRootObject())
4951  mJ1Pt_over_ZPt_J_Barrel->Fill(recoJet1.pt() / zCand.Pt());
4952  mMPF_J_Barrel = map_of_MEs[DirName + "/" + "MPF_J_Barrel"];
4953  if (mMPF_J_Barrel && mMPF_J_Barrel->getRootObject())
4954  mMPF_J_Barrel->Fill(MPF);
4955  if (zCand.Pt() < 90) { //lower cut on 30 already right from the start
4956  mJetZBalance_lowZPt_J_Barrel = map_of_MEs[DirName + "/" + "JZB_lowZPt_J_Barrel"];
4957  if (mJetZBalance_lowZPt_J_Barrel && mJetZBalance_lowZPt_J_Barrel->getRootObject())
4958  mJetZBalance_lowZPt_J_Barrel->Fill(recoJet1.pt() - zCand.Pt());
4959  mJ1Pt_over_ZPt_lowZPt_J_Barrel = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_lowZPt_J_Barrel"];
4960  if (mJ1Pt_over_ZPt_lowZPt_J_Barrel && mJ1Pt_over_ZPt_lowZPt_J_Barrel->getRootObject())
4961  mJ1Pt_over_ZPt_lowZPt_J_Barrel->Fill(recoJet1.pt() / zCand.Pt());
4962  mMPF_lowZPt_J_Barrel = map_of_MEs[DirName + "/" + "MPF_lowZPt_J_Barrel"];
4963  if (mMPF_lowZPt_J_Barrel && mMPF_lowZPt_J_Barrel->getRootObject())
4964  mMPF_lowZPt_J_Barrel->Fill(MPF);
4965  //mMPF_J_Barrel = map_of_MEs[DirName+"/"+"MPF_J_Barrel"]; if(mMPF_J_Barrel && mMPF_J_Barrel->getRootObject())mMPF_J_Barrel->Fill(MPF);
4966  } else if (zCand.Pt() < 140) {
4967  mJetZBalance_mediumZPt_J_Barrel = map_of_MEs[DirName + "/" + "JZB_mediumZPt_J_Barrel"];
4968  if (mJetZBalance_mediumZPt_J_Barrel && mJetZBalance_mediumZPt_J_Barrel->getRootObject())
4969  mJetZBalance_mediumZPt_J_Barrel->Fill(recoJet1.pt() - zCand.Pt());
4970  mJ1Pt_over_ZPt_mediumZPt_J_Barrel = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_mediumZPt_J_Barrel"];
4971  if (mJ1Pt_over_ZPt_mediumZPt_J_Barrel && mJ1Pt_over_ZPt_mediumZPt_J_Barrel->getRootObject())
4972  mJ1Pt_over_ZPt_mediumZPt_J_Barrel->Fill(recoJet1.pt() / zCand.Pt());
4973  mMPF_mediumZPt_J_Barrel = map_of_MEs[DirName + "/" + "MPF_mediumZPt_J_Barrel"];
4974  if (mMPF_mediumZPt_J_Barrel && mMPF_mediumZPt_J_Barrel->getRootObject())
4975  mMPF_mediumZPt_J_Barrel->Fill(MPF);
4976  } else {
4977  mJetZBalance_highZPt_J_Barrel = map_of_MEs[DirName + "/" + "JZB_highZPt_J_Barrel"];
4978  if (mJetZBalance_highZPt_J_Barrel && mJetZBalance_highZPt_J_Barrel->getRootObject())
4979  mJetZBalance_highZPt_J_Barrel->Fill(recoJet1.pt() - zCand.Pt());
4980  mJ1Pt_over_ZPt_highZPt_J_Barrel = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_highZPt_J_Barrel"];
4981  if (mJ1Pt_over_ZPt_highZPt_J_Barrel && mJ1Pt_over_ZPt_highZPt_J_Barrel->getRootObject())
4982  mJ1Pt_over_ZPt_highZPt_J_Barrel->Fill(recoJet1.pt() / zCand.Pt());
4983  mMPF_highZPt_J_Barrel = map_of_MEs[DirName + "/" + "MPF_highZPt_J_Barrel"];
4984  if (mMPF_highZPt_J_Barrel && mMPF_highZPt_J_Barrel->getRootObject())
4985  mMPF_highZPt_J_Barrel->Fill(MPF);
4986  }
4987  if (zCand.Pt() > 30) {
4988  if (zCand.Pt() < 55) {
4989  mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel =
4990  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_30_55_J_Barrel"];
4991  if (mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel && mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel->getRootObject())
4992  mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
4993  } else if (zCand.Pt() < 75) {
4994  mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel =
4995  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_55_75_J_Barrel"];
4996  if (mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel && mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel->getRootObject())
4997  mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
4998  } else if (zCand.Pt() < 150) {
4999  mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel =
5000  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_75_150_J_Barrel"];
5001  if (mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel && mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel->getRootObject())
5002  mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5003  } else if (zCand.Pt() < 290) {
5004  mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel =
5005  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_150_290_J_Barrel"];
5006  if (mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel && mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel->getRootObject())
5007  mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5008  } else {
5009  mDeltaPt_Z_j1_over_ZPt_290_J_Barrel = map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_290_J_Barrel"];
5010  if (mDeltaPt_Z_j1_over_ZPt_290_J_Barrel && mDeltaPt_Z_j1_over_ZPt_290_J_Barrel->getRootObject())
5011  mDeltaPt_Z_j1_over_ZPt_290_J_Barrel->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5012  }
5013  }
5014  } else if (fabs(recoJet1.eta()) < 3.0) { //endcap jets
5015  mJ1Pt_over_ZPt_J_EndCap = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_J_EndCap"];
5016  if (mJ1Pt_over_ZPt_J_EndCap && mJ1Pt_over_ZPt_J_EndCap->getRootObject())
5017  mJ1Pt_over_ZPt_J_EndCap->Fill(recoJet1.pt() / zCand.Pt());
5018  mMPF_J_EndCap = map_of_MEs[DirName + "/" + "MPF_J_EndCap"];
5019  if (mMPF_J_EndCap && mMPF_J_EndCap->getRootObject())
5020  mMPF_J_EndCap->Fill(MPF);
5021  if (zCand.Pt() < 90) { //lower cut on 30 already right from the start
5022  mJetZBalance_lowZPt_J_EndCap = map_of_MEs[DirName + "/" + "JZB_lowZPt_J_EndCap"];
5023  if (mJetZBalance_lowZPt_J_EndCap && mJetZBalance_lowZPt_J_EndCap->getRootObject())
5024  mJetZBalance_lowZPt_J_EndCap->Fill(recoJet1.pt() - zCand.Pt());
5025  mJ1Pt_over_ZPt_lowZPt_J_EndCap = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_lowZPt_J_EndCap"];
5026  if (mJ1Pt_over_ZPt_lowZPt_J_EndCap && mJ1Pt_over_ZPt_lowZPt_J_EndCap->getRootObject())
5027  mJ1Pt_over_ZPt_lowZPt_J_EndCap->Fill(recoJet1.pt() / zCand.Pt());
5028  mMPF_lowZPt_J_EndCap = map_of_MEs[DirName + "/" + "MPF_lowZPt_J_EndCap"];
5029  if (mMPF_lowZPt_J_EndCap && mMPF_lowZPt_J_EndCap->getRootObject())
5030  mMPF_lowZPt_J_EndCap->Fill(MPF);
5031  } else if (zCand.Pt() < 140) {
5032  mJetZBalance_mediumZPt_J_EndCap = map_of_MEs[DirName + "/" + "JZB_mediumZPt_J_EndCap"];
5033  if (mJetZBalance_mediumZPt_J_EndCap && mJetZBalance_mediumZPt_J_EndCap->getRootObject())
5034  mJetZBalance_mediumZPt_J_EndCap->Fill(recoJet1.pt() - zCand.Pt());
5035  mJ1Pt_over_ZPt_mediumZPt_J_EndCap = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_mediumZPt_J_EndCap"];
5036  if (mJ1Pt_over_ZPt_mediumZPt_J_EndCap && mJ1Pt_over_ZPt_mediumZPt_J_EndCap->getRootObject())
5037  mJ1Pt_over_ZPt_mediumZPt_J_EndCap->Fill(recoJet1.pt() / zCand.Pt());
5038  mMPF_mediumZPt_J_EndCap = map_of_MEs[DirName + "/" + "MPF_mediumZPt_J_EndCap"];
5039  if (mMPF_mediumZPt_J_EndCap && mMPF_mediumZPt_J_EndCap->getRootObject())
5040  mMPF_mediumZPt_J_EndCap->Fill(MPF);
5041  } else {
5042  mJetZBalance_highZPt_J_EndCap = map_of_MEs[DirName + "/" + "JZB_highZPt_J_EndCap"];
5043  if (mJetZBalance_highZPt_J_EndCap && mJetZBalance_highZPt_J_EndCap->getRootObject())
5044  mJetZBalance_highZPt_J_EndCap->Fill(recoJet1.pt() - zCand.Pt());
5045  mJ1Pt_over_ZPt_highZPt_J_EndCap = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_highZPt_J_EndCap"];
5046  if (mJ1Pt_over_ZPt_highZPt_J_EndCap && mJ1Pt_over_ZPt_highZPt_J_EndCap->getRootObject())
5047  mJ1Pt_over_ZPt_highZPt_J_EndCap->Fill(recoJet1.pt() / zCand.Pt());
5048  mMPF_highZPt_J_EndCap = map_of_MEs[DirName + "/" + "MPF_highZPt_J_EndCap"];
5049  if (mMPF_highZPt_J_EndCap && mMPF_highZPt_J_EndCap->getRootObject())
5050  mMPF_highZPt_J_EndCap->Fill(MPF);
5051  }
5052  if (zCand.Pt() > 30) {
5053  if (zCand.Pt() < 55) {
5054  mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap =
5055  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_30_55_J_EndCap"];
5056  if (mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap && mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap->getRootObject())
5057  mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5058  } else if (zCand.Pt() < 75) {
5059  mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap =
5060  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_55_75_J_EndCap"];
5061  if (mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap && mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap->getRootObject())
5062  mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5063  } else if (zCand.Pt() < 150) {
5064  mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap =
5065  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_75_150_J_EndCap"];
5066  if (mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap && mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap->getRootObject())
5067  mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5068  } else if (zCand.Pt() < 290) {
5069  mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap =
5070  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_150_290_J_EndCap"];
5071  if (mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap && mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap->getRootObject())
5072  mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5073  } else {
5074  mDeltaPt_Z_j1_over_ZPt_290_J_EndCap = map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_290_J_EndCap"];
5075  if (mDeltaPt_Z_j1_over_ZPt_290_J_EndCap && mDeltaPt_Z_j1_over_ZPt_290_J_EndCap->getRootObject())
5076  mDeltaPt_Z_j1_over_ZPt_290_J_EndCap->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5077  }
5078  }
5079  } else { //forward jets
5080  mJ1Pt_over_ZPt_J_Forward = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_J_Forward"];
5081  if (mJ1Pt_over_ZPt_J_Forward && mJ1Pt_over_ZPt_J_Forward->getRootObject())
5082  mJ1Pt_over_ZPt_J_Forward->Fill(recoJet1.pt() / zCand.Pt());
5083  mMPF_J_Forward = map_of_MEs[DirName + "/" + "MPF_J_Forward"];
5084  if (mMPF_J_Forward && mMPF_J_Forward->getRootObject())
5085  mMPF_J_Forward->Fill(MPF);
5086  if (zCand.Pt() < 90) { //lower cut on 30 already right from the start
5087  mJetZBalance_lowZPt_J_Forward = map_of_MEs[DirName + "/" + "JZB_lowZPt_J_Forward"];
5088  if (mJetZBalance_lowZPt_J_Forward && mJetZBalance_lowZPt_J_Forward->getRootObject())
5089  mJetZBalance_lowZPt_J_Forward->Fill(recoJet1.pt() - zCand.Pt());
5090  mJ1Pt_over_ZPt_lowZPt_J_Forward = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_lowZPt_J_Forward"];
5091  if (mJ1Pt_over_ZPt_lowZPt_J_Forward && mJ1Pt_over_ZPt_lowZPt_J_Forward->getRootObject())
5092  mJ1Pt_over_ZPt_lowZPt_J_Forward->Fill(recoJet1.pt() / zCand.Pt());
5093  mMPF_lowZPt_J_Forward = map_of_MEs[DirName + "/" + "MPF_lowZPt_J_Forward"];
5094  if (mMPF_lowZPt_J_Forward && mMPF_lowZPt_J_Forward->getRootObject())
5095  mMPF_lowZPt_J_Forward->Fill(MPF);
5096  } else if (zCand.Pt() < 140) {
5097  mJetZBalance_mediumZPt_J_Forward = map_of_MEs[DirName + "/" + "JZB_mediumZPt_J_Forward"];
5098  if (mJetZBalance_mediumZPt_J_Forward && mJetZBalance_mediumZPt_J_Forward->getRootObject())
5099  mJetZBalance_mediumZPt_J_Forward->Fill(recoJet1.pt() - zCand.Pt());
5100  mJ1Pt_over_ZPt_mediumZPt_J_Forward = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_mediumZPt_J_Forward"];
5101  if (mJ1Pt_over_ZPt_mediumZPt_J_Forward && mJ1Pt_over_ZPt_mediumZPt_J_Forward->getRootObject())
5102  mJ1Pt_over_ZPt_mediumZPt_J_Forward->Fill(recoJet1.pt() / zCand.Pt());
5103  mMPF_mediumZPt_J_Forward = map_of_MEs[DirName + "/" + "MPF_mediumZPt_J_Forward"];
5104  if (mMPF_mediumZPt_J_Forward && mMPF_mediumZPt_J_Forward->getRootObject())
5105  mMPF_mediumZPt_J_Forward->Fill(MPF);
5106  } else {
5107  mJetZBalance_highZPt_J_Forward = map_of_MEs[DirName + "/" + "JZB_highZPt_J_Forward"];
5108  if (mJetZBalance_highZPt_J_Forward && mJetZBalance_highZPt_J_Forward->getRootObject())
5109  mJetZBalance_highZPt_J_Forward->Fill(recoJet1.pt() - zCand.Pt());
5110  mJ1Pt_over_ZPt_highZPt_J_Forward = map_of_MEs[DirName + "/" + "J1Pt_over_ZPt_highZPt_J_Forward"];
5111  if (mJ1Pt_over_ZPt_highZPt_J_Forward && mJ1Pt_over_ZPt_highZPt_J_Forward->getRootObject())
5112  mJ1Pt_over_ZPt_highZPt_J_Forward->Fill(recoJet1.pt() / zCand.Pt());
5113  mMPF_highZPt_J_Forward = map_of_MEs[DirName + "/" + "MPF_highZPt_J_Forward"];
5114  if (mMPF_highZPt_J_Forward && mMPF_highZPt_J_Forward->getRootObject())
5115  mMPF_highZPt_J_Forward->Fill(MPF);
5116  }
5117  if (zCand.Pt() > 30) {
5118  if (zCand.Pt() < 55) {
5119  mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward =
5120  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_30_55_J_Forward"];
5121  if (mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward && mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward->getRootObject())
5122  mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5123  } else if (zCand.Pt() < 100) {
5124  mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward =
5125  map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_55_100_J_Forward"];
5126  if (mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward && mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward->getRootObject())
5127  mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5128  } else {
5129  mDeltaPt_Z_j1_over_ZPt_100_J_Forward = map_of_MEs[DirName + "/" + "DeltaPt_Z_j1_over_ZPt_100_J_Forward"];
5130  if (mDeltaPt_Z_j1_over_ZPt_100_J_Forward && mDeltaPt_Z_j1_over_ZPt_100_J_Forward->getRootObject())
5131  mDeltaPt_Z_j1_over_ZPt_100_J_Forward->Fill((zCand.Pt() - recoJet1.pt()) / zCand.Pt());
5132  }
5133  }
5134  }
5135  int QGmulti = -1;
5136  float QGLikelihood = -10;
5137  float QGptD = -10;
5138  float QGaxis2 = -10;
5139  if (fill_CHS_histos) {
5140  reco::PFJetRef pfjetref(pfJets, ind1_mu_vetoed);
5141  QGmulti = (*qgMultiplicity)[pfjetref];
5142  QGLikelihood = (*qgLikelihood)[pfjetref];
5143  QGptD = (*qgptD)[pfjetref];
5144  QGaxis2 = (*qgaxis2)[pfjetref];
5145  if (fabs(recoJet1.eta()) < 1.3) { //barrel jets
5146  //fractions for barrel
5147  if (recoJet1.pt() >= 20. && recoJet1.pt() <= 50.) {
5148  mAxis2_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Barrel"];
5149  if (mAxis2_lowPt_Barrel && mAxis2_lowPt_Barrel->getRootObject())
5150  mAxis2_lowPt_Barrel->Fill(QGaxis2);
5151  mpTD_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Barrel"];
5152  if (mpTD_lowPt_Barrel && mpTD_lowPt_Barrel->getRootObject())
5153  mpTD_lowPt_Barrel->Fill(QGptD);
5154  mMultiplicityQG_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Barrel"];
5155  if (mMultiplicityQG_lowPt_Barrel && mMultiplicityQG_lowPt_Barrel->getRootObject())
5156  mMultiplicityQG_lowPt_Barrel->Fill(QGmulti);
5157  mqgLikelihood_lowPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Barrel"];
5158  if (mqgLikelihood_lowPt_Barrel && mqgLikelihood_lowPt_Barrel->getRootObject())
5159  mqgLikelihood_lowPt_Barrel->Fill(QGLikelihood);
5160  }
5161  if (recoJet1.pt() > 50. && recoJet1.pt() <= 140.) {
5162  mAxis2_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Barrel"];
5163  if (mAxis2_mediumPt_Barrel && mAxis2_mediumPt_Barrel->getRootObject())
5164  mAxis2_mediumPt_Barrel->Fill(QGaxis2);
5165  mpTD_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Barrel"];
5166  if (mpTD_mediumPt_Barrel && mpTD_mediumPt_Barrel->getRootObject())
5167  mpTD_mediumPt_Barrel->Fill(QGptD);
5168  mMultiplicityQG_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Barrel"];
5169  if (mMultiplicityQG_mediumPt_Barrel && mMultiplicityQG_mediumPt_Barrel->getRootObject())
5170  mMultiplicityQG_mediumPt_Barrel->Fill(QGmulti);
5171  mqgLikelihood_mediumPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Barrel"];
5172  if (mqgLikelihood_mediumPt_Barrel && mqgLikelihood_mediumPt_Barrel->getRootObject())
5173  mqgLikelihood_mediumPt_Barrel->Fill(QGLikelihood);
5174  }
5175  if (recoJet1.pt() > 140.) {
5176  mAxis2_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Barrel"];
5177  if (mAxis2_highPt_Barrel && mAxis2_highPt_Barrel->getRootObject())
5178  mAxis2_highPt_Barrel->Fill(QGaxis2);
5179  mpTD_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Barrel"];
5180  if (mpTD_highPt_Barrel && mpTD_highPt_Barrel->getRootObject())
5181  mpTD_highPt_Barrel->Fill(QGptD);
5182  mMultiplicityQG_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Barrel"];
5183  if (mMultiplicityQG_highPt_Barrel && mMultiplicityQG_highPt_Barrel->getRootObject())
5184  mMultiplicityQG_highPt_Barrel->Fill(QGmulti);
5185  mqgLikelihood_highPt_Barrel = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Barrel"];
5186  if (mqgLikelihood_highPt_Barrel && mqgLikelihood_highPt_Barrel->getRootObject())
5187  mqgLikelihood_highPt_Barrel->Fill(QGLikelihood);
5188  }
5189  } else if (fabs(recoJet1.eta()) < 3.0) { //endcap jets
5190  if (recoJet1.pt() > 20. && recoJet1.pt() <= 50.) {
5191  mAxis2_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_EndCap"];
5192  if (mAxis2_lowPt_EndCap && mAxis2_lowPt_EndCap->getRootObject())
5193  mAxis2_lowPt_EndCap->Fill(QGaxis2);
5194  mpTD_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_EndCap"];
5195  if (mpTD_lowPt_EndCap && mpTD_lowPt_EndCap->getRootObject())
5196  mpTD_lowPt_EndCap->Fill(QGptD);
5197  mMultiplicityQG_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_EndCap"];
5198  if (mMultiplicityQG_lowPt_EndCap && mMultiplicityQG_lowPt_EndCap->getRootObject())
5199  mMultiplicityQG_lowPt_EndCap->Fill(QGmulti);
5200  mqgLikelihood_lowPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_EndCap"];
5201  if (mqgLikelihood_lowPt_EndCap && mqgLikelihood_lowPt_EndCap->getRootObject())
5202  mqgLikelihood_lowPt_EndCap->Fill(QGLikelihood);
5203  }
5204  if (recoJet1.pt() > 50. && recoJet1.pt() <= 140.) {
5205  mAxis2_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_EndCap"];
5206  if (mAxis2_mediumPt_EndCap && mAxis2_mediumPt_EndCap->getRootObject())
5207  mAxis2_mediumPt_EndCap->Fill(QGaxis2);
5208  mpTD_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_EndCap"];
5209  if (mpTD_mediumPt_EndCap && mpTD_mediumPt_EndCap->getRootObject())
5210  mpTD_mediumPt_EndCap->Fill(QGptD);
5211  mMultiplicityQG_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_EndCap"];
5212  if (mMultiplicityQG_mediumPt_EndCap && mMultiplicityQG_mediumPt_EndCap->getRootObject())
5213  mMultiplicityQG_mediumPt_EndCap->Fill(QGmulti);
5214  mqgLikelihood_mediumPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_EndCap"];
5215  if (mqgLikelihood_mediumPt_EndCap && mqgLikelihood_mediumPt_EndCap->getRootObject())
5216  mqgLikelihood_mediumPt_EndCap->Fill(QGLikelihood);
5217  }
5218  if (recoJet1.pt() > 140.) {
5219  mAxis2_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_EndCap"];
5220  if (mAxis2_highPt_EndCap && mAxis2_highPt_EndCap->getRootObject())
5221  mAxis2_highPt_EndCap->Fill(QGaxis2);
5222  mpTD_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_pTD_highPt_EndCap"];
5223  if (mpTD_highPt_EndCap && mpTD_highPt_EndCap->getRootObject())
5224  mpTD_highPt_EndCap->Fill(QGptD);
5225  mMultiplicityQG_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_EndCap"];
5226  if (mMultiplicityQG_highPt_EndCap && mMultiplicityQG_highPt_EndCap->getRootObject())
5227  mMultiplicityQG_highPt_EndCap->Fill(QGmulti);
5228  mqgLikelihood_highPt_EndCap = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_EndCap"];
5229  if (mqgLikelihood_highPt_EndCap && mqgLikelihood_highPt_EndCap->getRootObject())
5230  mqgLikelihood_highPt_EndCap->Fill(QGLikelihood);
5231  }
5232  } else {
5233  if (recoJet1.pt() > 20. && recoJet1.pt() <= 50.) {
5234  mAxis2_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_lowPt_Forward"];
5235  if (mAxis2_lowPt_Forward && mAxis2_lowPt_Forward->getRootObject())
5236  mAxis2_lowPt_Forward->Fill(QGaxis2);
5237  mpTD_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_lowPt_Forward"];
5238  if (mpTD_lowPt_Forward && mpTD_lowPt_Forward->getRootObject())
5239  mpTD_lowPt_Forward->Fill(QGptD);
5240  mMultiplicityQG_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_lowPt_Forward"];
5241  if (mMultiplicityQG_lowPt_Forward && mMultiplicityQG_lowPt_Forward->getRootObject())
5242  mMultiplicityQG_lowPt_Forward->Fill(QGmulti);
5243  mqgLikelihood_lowPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_lowPt_Forward"];
5244  if (mqgLikelihood_lowPt_Forward && mqgLikelihood_lowPt_Forward->getRootObject())
5245  mqgLikelihood_lowPt_Forward->Fill(QGLikelihood);
5246  }
5247  if (recoJet1.pt() > 50. && recoJet1.pt() <= 140.) {
5248  mAxis2_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_mediumPt_Forward"];
5249  if (mAxis2_mediumPt_Forward && mAxis2_mediumPt_Forward->getRootObject())
5250  mAxis2_mediumPt_Forward->Fill(QGaxis2);
5251  mpTD_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_mediumPt_Forward"];
5252  if (mpTD_mediumPt_Forward && mpTD_mediumPt_Forward->getRootObject())
5253  mpTD_mediumPt_Forward->Fill(QGptD);
5254  mMultiplicityQG_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_mediumPt_Forward"];
5255  if (mMultiplicityQG_mediumPt_Forward && mMultiplicityQG_mediumPt_Forward->getRootObject())
5256  mMultiplicityQG_mediumPt_Forward->Fill(QGmulti);
5257  mqgLikelihood_mediumPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_mediumPt_Forward"];
5258  if (mqgLikelihood_mediumPt_Forward && mqgLikelihood_mediumPt_Forward->getRootObject())
5259  mqgLikelihood_mediumPt_Forward->Fill(QGLikelihood);
5260  }
5261  if (recoJet1.pt() > 140.) {
5262  mAxis2_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Axis2_highPt_Forward"];
5263  if (mAxis2_highPt_Forward && mAxis2_highPt_Forward->getRootObject())
5264  mAxis2_highPt_Forward->Fill(QGaxis2);
5265  mpTD_highPt_Forward = map_of_MEs[DirName + "/" + "qg_pTD_highPt_Forward"];
5266  if (mpTD_highPt_Forward && mpTD_highPt_Forward->getRootObject())
5267  mpTD_highPt_Forward->Fill(QGptD);
5268  mMultiplicityQG_highPt_Forward = map_of_MEs[DirName + "/" + "qg_multiplicity_highPt_Forward"];
5269  if (mMultiplicityQG_highPt_Forward && mMultiplicityQG_highPt_Forward->getRootObject())
5270  mMultiplicityQG_highPt_Forward->Fill(QGmulti);
5271  mqgLikelihood_highPt_Forward = map_of_MEs[DirName + "/" + "qg_Likelihood_highPt_Forward"];
5272  if (mqgLikelihood_highPt_Forward && mqgLikelihood_highPt_Forward->getRootObject())
5273  mqgLikelihood_highPt_Forward->Fill(QGLikelihood);
5274  }
5275  }
5276  } //fill quark gluon tagged variables
5277  } //jet back to back to Z
5278  } //2nd jet veto
5279  } //Z selection + hard leading jet
5280 }
~JetAnalyzer() override
Destructor.
Definition: JetAnalyzer.cc:267
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
Initialize run-based parameters.
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
virtual void scaleEnergy(double fScale)
scale energy of the jet
double pt() const final
transverse momentum
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
JetAnalyzer(const edm::ParameterSet &)
Constructor.
Definition: JetAnalyzer.cc:63
float fHPD
Definition: JetID.h:41
virtual void setOption(const char *option)
T const * product() const
Definition: Handle.h:70
float restrictedEMF
Definition: JetID.h:48
float fRBX
Definition: JetID.h:42
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
Jet ID object.
Definition: JetID.h:16
double correction(const LorentzVector &fJet) const
get correction using Jet information only
Definition: JetCorrector.h:46
#define LogTrace(id)
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
T getUntrackedParameter(std::string const &, T const &) const
void analyze(const edm::Event &, const edm::EventSetup &) override
Get the analysis.
static bool passJetId(int flag, Id level)
int iEvent
Definition: GenABIO.cc:224
Definition: Jet.py:1
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:399
Definition: MET.h:41
virtual int nConstituents() const
of constituents
Definition: Jet.h:65
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
const TechnicalTriggerWord & technicalTriggerWord(int bxInEventValue) const
bool getData(T &iHolder) const
Definition: EventSetup.h:122
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
PF Jet selector for pat::Jets.
Log< level::Info, false > LogInfo
Jet selector for pat::Jets and for CaloJets.
static std::string const triggerResults("TriggerResults")
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:212
bool isValid() const
Definition: HandleBase.h:70
fixed size matrix
HLT enums.
static int position[264][3]
Definition: ReadPGInfo.cc:289
void bookMESetSelection(std::string, DQMStore::IBooker &)
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Inizialize parameters for histo binning.
Definition: JetAnalyzer.cc:277
double phi() const final
momentum azimuthal angle
short n90Hits
Definition: JetID.h:43
Definition: Run.h:45
#define LogDebug(id)
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: Candidate.h:38
double eta() const final
momentum pseudorapidity