CMS 3D CMS Logo

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