CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
JetTester_HeavyIons.cc
Go to the documentation of this file.
1 // Producer for validation histograms for Calo and PF background subtracted objects
2 // Modified by Raghav Kunnawalkam Elayavalli, Aug 18th 2014
3 // , Oct 22nd 2014 to run in 73X
4 
5 #include "JetTester_HeavyIons.h"
6 
7 using namespace edm;
8 using namespace reco;
9 using namespace std;
10 
12  mInputCollection (iConfig.getParameter<edm::InputTag> ("src")),
13  mInputGenCollection (iConfig.getParameter<edm::InputTag> ("srcGen")),
14  mInputPFCandCollection (iConfig.getParameter<edm::InputTag> ("PFcands")),
15  // mInputCandCollection (iConfig.getParameter<edm::InputTag> ("Cands")),
16  // rhoTag (iConfig.getParameter<edm::InputTag> ("srcRho")),
17  mOutputFile (iConfig.getUntrackedParameter<std::string>("OutputFile","")),
18  JetType (iConfig.getUntrackedParameter<std::string>("JetType")),
19  UEAlgo (iConfig.getUntrackedParameter<std::string>("UEAlgo")),
20  Background (iConfig.getParameter<edm::InputTag> ("Background")),
21  mRecoJetPtThreshold (iConfig.getParameter<double> ("recoJetPtThreshold")),
22  mMatchGenPtThreshold (iConfig.getParameter<double> ("matchGenPtThreshold")),
23  mGenEnergyFractionThreshold (iConfig.getParameter<double> ("genEnergyFractionThreshold")),
24  mReverseEnergyFractionThreshold(iConfig.getParameter<double> ("reverseEnergyFractionThreshold")),
25  mRThreshold (iConfig.getParameter<double> ("RThreshold")),
26  JetCorrectionService (iConfig.getParameter<std::string> ("JetCorrections"))
27 {
28  std::string inputCollectionLabel(mInputCollection.label());
29 
30  // std::size_t foundCaloCollection = inputCollectionLabel.find("Calo");
31  // std::size_t foundJPTCollection = inputCollectionLabel.find("JetPlusTrack");
32  // std::size_t foundPFCollection = inputCollectionLabel.find("PF");
33 
34  isCaloJet = (std::string("calo")==JetType);
35  isJPTJet = (std::string("jpt") ==JetType);
36  isPFJet = (std::string("pf") ==JetType);
37 
38  //consumes
39  pvToken_ = consumes<std::vector<reco::Vertex> >(edm::InputTag("offlinePrimaryVertices"));
40  caloTowersToken_ = consumes<CaloTowerCollection>(edm::InputTag("towerMaker"));
41  if (isCaloJet) caloJetsToken_ = consumes<reco::CaloJetCollection>(mInputCollection);
42  if (isJPTJet) jptJetsToken_ = consumes<reco::JPTJetCollection>(mInputCollection);
43  if (isPFJet) {
44  if(std::string("Pu")==UEAlgo) basicJetsToken_ = consumes<reco::BasicJetCollection>(mInputCollection);
45  if(std::string("Vs")==UEAlgo) pfJetsToken_ = consumes<reco::PFJetCollection>(mInputCollection);
46  }
47 
48  genJetsToken_ = consumes<reco::GenJetCollection>(edm::InputTag(mInputGenCollection));
49  //evtToken_ = consumes<edm::HepMCProduct>(edm::InputTag("generatorSmeared"));
50  evtToken_ = consumes<GenEventInfoProduct>(edm::InputTag("generator"));
51  pfCandToken_ = consumes<reco::PFCandidateCollection>(mInputPFCandCollection);
52  pfCandViewToken_ = consumes<reco::CandidateView>(mInputPFCandCollection);
53  caloCandViewToken_ = consumes<reco::CandidateView>(edm::InputTag("towerMaker"));
54  backgrounds_ = consumes<edm::ValueMap<reco::VoronoiBackground> >(Background);
55  backgrounds_value_ = consumes<std::vector<float> >(Background);
56  centralityTag_ = iConfig.getParameter<InputTag>("centralitycollection");
57  centralityToken = consumes<reco::Centrality>(centralityTag_);
58 
59  centralityBinTag_ = (iConfig.getParameter<edm::InputTag> ("centralitybincollection"));
60  centralityBinToken = consumes<int>(centralityBinTag_);
61  hiVertexToken_ = consumes<std::vector<reco::Vertex> >(edm::InputTag("hiSelectedVertex"));
62 
63  // need to initialize the PF cand histograms : which are also event variables
64  if(isPFJet){
65  mNPFpart = 0;
66  mPFPt = 0;
67  mPFEta = 0;
68  mPFPhi = 0;
69  mPFVsPt = 0;
70  mPFVsPtInitial = 0;
71  mPFArea = 0;
72  mSumPFVsPt = 0;
74  mSumPFPt = 0;
75  // mSumPFVsPtInitial_eta = 0;
76  // mSumPFVsPt_eta = 0;
77  // mSumPFPt_eta = 0;
80  mSumSquaredPFPt = 0;
81  // mSumSquaredPFVsPtInitial_eta = 0;
82  // mSumSquaredPFVsPt_eta = 0;
83  // mSumSquaredPFPt_eta = 0;
85  mSumPFVsPt_HF = 0;
86  mSumPFPt_HF = 0;
87  // mPFVsPtInitial_eta_phi = 0;
88  // mPFVsPt_eta_phi = 0;
89  // mPFPt_eta_phi = 0;
90 
106 
122 
138 
139  mPFCandpT_vs_eta_Unknown = 0; // pf id 0
140  mPFCandpT_vs_eta_ChargedHadron = 0; // pf id - 1
141  mPFCandpT_vs_eta_electron = 0; // pf id - 2
142  mPFCandpT_vs_eta_muon = 0; // pf id - 3
143  mPFCandpT_vs_eta_photon = 0; // pf id - 4
144  mPFCandpT_vs_eta_NeutralHadron = 0; // pf id - 5
145  mPFCandpT_vs_eta_HadE_inHF = 0; // pf id - 6
146  mPFCandpT_vs_eta_EME_inHF = 0; // pf id - 7
147 
148  mPFCandpT_Barrel_Unknown = 0; // pf id 0
149  mPFCandpT_Barrel_ChargedHadron = 0; // pf id - 1
150  mPFCandpT_Barrel_electron = 0; // pf id - 2
151  mPFCandpT_Barrel_muon = 0; // pf id - 3
152  mPFCandpT_Barrel_photon = 0; // pf id - 4
153  mPFCandpT_Barrel_NeutralHadron = 0; // pf id - 5
154  mPFCandpT_Barrel_HadE_inHF = 0; // pf id - 6
155  mPFCandpT_Barrel_EME_inHF = 0; // pf id - 7
156 
157  mPFCandpT_Endcap_Unknown = 0; // pf id 0
158  mPFCandpT_Endcap_ChargedHadron = 0; // pf id - 1
159  mPFCandpT_Endcap_electron = 0; // pf id - 2
160  mPFCandpT_Endcap_muon = 0; // pf id - 3
161  mPFCandpT_Endcap_photon = 0; // pf id - 4
162  mPFCandpT_Endcap_NeutralHadron = 0; // pf id - 5
163  mPFCandpT_Endcap_HadE_inHF = 0; // pf id - 6
164  mPFCandpT_Endcap_EME_inHF = 0; // pf id - 7
165 
166  mPFCandpT_Forward_Unknown = 0; // pf id 0
167  mPFCandpT_Forward_ChargedHadron = 0; // pf id - 1
168  mPFCandpT_Forward_electron = 0; // pf id - 2
169  mPFCandpT_Forward_muon = 0; // pf id - 3
170  mPFCandpT_Forward_photon = 0; // pf id - 4
171  mPFCandpT_Forward_NeutralHadron = 0; // pf id - 5
172  mPFCandpT_Forward_HadE_inHF = 0; // pf id - 6
173  mPFCandpT_Forward_EME_inHF = 0; // pf id - 7
174 
175  }
176  if(isCaloJet){
177  mNCalopart = 0;
178  mCaloPt = 0;
179  mCaloEta = 0;
180  mCaloPhi = 0;
181  mCaloVsPt = 0;
182  mCaloVsPtInitial = 0;
183  mCaloArea = 0;
184 
185  mSumCaloVsPt = 0;
187  mSumCaloPt = 0;
188  // mSumCaloVsPtInitial_eta = 0;
189  // mSumCaloVsPt_eta = 0;
190  // mSumCaloPt_eta = 0;
193  mSumSquaredCaloPt = 0;
194  // mSumSquaredCaloVsPtInitial_eta = 0;
195  // mSumSquaredCaloVsPt_eta = 0;
196  // mSumSquaredCaloPt_eta = 0;
198  mSumCaloVsPt_HF = 0;
199  mSumCaloPt_HF = 0;
200  // mCaloVsPtInitial_eta_phi = 0;
201  // mCaloVsPt_eta_phi = 0;
202  // mCaloPt_eta_phi = 0;
203 
219 
235 
251 
252  }
253  mSumpt = 0;
254  mvn = 0;
255  mpsin = 0;
256 
257 
258 
259  // Events variables
260  mNvtx = 0;
261  mHF = 0;
262 
263  // added Jan 12th 2015
264 
265  mDeltapT = 0;
266  //mDeltapT_HF = 0;
267  // mDeltapT_eta = 0;
268  // //mDeltapT_phiMinusPsi2 = 0;
269  // mDeltapT_eta_phi = 0;
270 
271  // Jet parameters
272  mEta = 0;
273  mPhi = 0;
274  mEnergy = 0;
275  mP = 0;
276  mPt = 0;
277  mMass = 0;
278  mConstituents = 0;
279  mJetArea = 0;
280  mjetpileup = 0;
281  mNJets_40 = 0;
282  mNJets = 0;
283 
284  // mVs_0_x = 0;
285  // mVs_0_y = 0;
286  // mVs_1_x = 0;
287  // mVs_1_y = 0;
288  // mVs_2_x = 0;
289  // mVs_2_y = 0;
290  // mVs_0_x_versus_HF = 0;
291  // mVs_0_y_versus_HF = 0;
292  // mVs_1_x_versus_HF = 0;
293  // mVs_1_y_versus_HF = 0;
294  // mVs_2_x_versus_HF = 0;
295  // mVs_2_y_versus_HF = 0;
296 
297  mGenEta = 0;
298  mGenPhi = 0;
299  mGenPt = 0;
300  mPtHat = 0;
301 
323 
345 
367 
389 
402 
410 
418 
426 
434 
435 
436 }
437 //DQMStore* dbe = &*edm::Service<DQMStore>();
438 
440 {
441 
442  //if (dbe) {
443  //dbe->setCurrentFolder("JetMET/JetValidation/"+mInputCollection.label());
444 
445  ibooker.setCurrentFolder("JetMET/JetValidation/"+mInputCollection.label());
446 
447  double log10PtMin = 0.50;
448  double log10PtMax = 3.75;
449  int log10PtBins = 26;
450 
451  static const size_t ncms_hcal_edge_pseudorapidity = 82 + 1;
452  static const double cms_hcal_edge_pseudorapidity[ncms_hcal_edge_pseudorapidity] = {
453  -5.191, -4.889, -4.716, -4.538, -4.363, -4.191, -4.013,
454  -3.839, -3.664, -3.489, -3.314, -3.139, -2.964, -2.853,
455  -2.650, -2.500, -2.322, -2.172, -2.043, -1.930, -1.830,
456  -1.740, -1.653, -1.566, -1.479, -1.392, -1.305, -1.218,
457  -1.131, -1.044, -0.957, -0.879, -0.783, -0.696, -0.609,
458  -0.522, -0.435, -0.348, -0.261, -0.174, -0.087,
459  0.000,
460  0.087, 0.174, 0.261, 0.348, 0.435, 0.522, 0.609,
461  0.696, 0.783, 0.879, 0.957, 1.044, 1.131, 1.218,
462  1.305, 1.392, 1.479, 1.566, 1.653, 1.740, 1.830,
463  1.930, 2.043, 2.172, 2.322, 2.500, 2.650, 2.853,
464  2.964, 3.139, 3.314, 3.489, 3.664, 3.839, 4.013,
465  4.191, 4.363, 4.538, 4.716, 4.889, 5.191
466  };
467 
468  double etaRange[91] = {-6.0, -5.8, -5.6, -5.4, -5.2, -5.0, -4.8, -4.6, -4.4, -4.2,
469  -4.0, -3.8, -3.6, -3.4, -3.2, -3.0, -2.9, -2.8, -2.7, -2.6,
470  -2.5, -2.4, -2.3, -2.2, -2.1, -2.0, -1.9, -1.8, -1.7, -1.6,
471  -1.5, -1.4, -1.3, -1.2, -1.1, -1.0, -0.9, -0.8, -0.7, -0.6,
472  -0.5, -0.4, -0.3, -0.2, -0.1,
473  0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9,
474  1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9,
475  2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9,
476  3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4, 4.6, 4.8,
477  5.0, 5.2, 5.4, 5.6, 5.8, 6.0};
478 
479  //cout<<"inside the book histograms function"<<endl;
480 
481  double edge_pseudorapidity[etaBins_ +1] = {-5.191, -2.650, -2.043, -1.740, -1.479, -1.131, -0.783, -0.522, 0.522, 0.783, 1.131, 1.479, 1.740, 2.043, 2.650, 5.191 };
482 
483  TH2F *h2D_etabins_vs_pt2 = new TH2F("h2D_etabins_vs_pt2","etaBins (x axis), sum pt^{2} (y axis)",etaBins_,edge_pseudorapidity,10000,0,10000);
484  TH2F *h2D_etabins_vs_pt = new TH2F("h2D_etabins_vs_pt","etaBins (x axis), sum pt (y axis)",etaBins_,edge_pseudorapidity,10000,-1000,1000);
485  TH2F *h2D_etabins_vs_phi = new TH2F("h2D_etabins_vs_phi","candidate map, eta(x axis), phi (y axis), pt (z axis)",ncms_hcal_edge_pseudorapidity-1,cms_hcal_edge_pseudorapidity,36,-TMath::Pi(),TMath::Pi());
486  TH2F *h2D_pfcand_etabins_vs_pt = new TH2F("h2D_etabins_vs_pt",";#eta;sum p_{T}",etaBins_,edge_pseudorapidity,300, 0, 300);
487 
488  if(isPFJet){
489 
490  mNPFpart = ibooker.book1D("NPFpart","No of particle flow candidates",1000,0,10000);
491  mPFPt = ibooker.book1D("PFPt","PF candidate p_{T}",1000,-5000,5000);
492  mPFEta = ibooker.book1D("PFEta","PF candidate #eta",120,-6,6);
493  mPFPhi = ibooker.book1D("PFPhi","PF candidate #phi",70,-3.5,3.5);
494  mPFVsPt = ibooker.book1D("PFVsPt","Vs PF candidate p_{T}",1000,-5000,5000);
495  mPFVsPtInitial = ibooker.book1D("PFVsPtInitial","Vs background subtracted PF candidate p_{T}",1000,-5000,5000);
496  mPFArea = ibooker.book1D("PFArea","VS PF candidate area",100,0,4);
497 
498  mSumPFVsPt = ibooker.book1D("SumPFVsPt","Sum of final PF VS p_{T}",1000,-10000,10000);
499  mSumPFVsPtInitial= ibooker.book1D("SumPFVsPtInitial","Sum PF VS p_{T} after subtraction",1000,-10000,10000);
500  mSumPFPt = ibooker.book1D("SumPFPt","Sum of initial PF p_{T}",1000,-10000,10000);
501  // mSumPFVsPt_eta = ibooker.book2D("SumPFVsPt_etaBins",h2D_etabins_vs_pt);
502  // mSumPFVsPtInitial_eta = ibooker.book2D("SumPFVsPtInitial_etaBins",h2D_etabins_vs_pt);
503  // mSumPFPt_eta = ibooker.book2D("SumPFPt_etaBins",h2D_etabins_vs_pt);
504 
505  mSumSquaredPFVsPt = ibooker.book1D("SumSquaredPFVsPt","Sum PF Vs p_{T} square",10000,0,10000);
506  mSumSquaredPFVsPtInitial= ibooker.book1D("SumSquaredPFVsPtInitial","Sum PF Vs p_{T} square after subtraction ",10000,0,10000);
507  mSumSquaredPFPt = ibooker.book1D("SumSquaredPFPt","Sum of initial PF p_{T} squared",10000,0,10000);
508  // mSumSquaredPFVsPt_eta = ibooker.book2D("SumSquaredPFVsPt_etaBins",h2D_etabins_vs_pt2);
509  // mSumSquaredPFVsPtInitial_eta = ibooker.book2D("SumSquaredPFVsPtInitial_etaBins",h2D_etabins_vs_pt2);
510  // mSumSquaredPFPt_eta = ibooker.book2D("SumSquaredPFPt_etaBins",h2D_etabins_vs_pt2);
511 
512  mSumPFVsPtInitial_HF = ibooker.book2D("SumPFVsPtInitial_HF","HF Energy (y axis) vs Sum PF Vs p_{T} before subtraction (x axis)",1000,-1000,1000,1000,0,10000);
513  mSumPFVsPt_HF = ibooker.book2D("SumPFVsPt_HF","HF energy (y axis) vs Sum PF Vs p_{T} final (x axis)",1000,-1000,1000,1000,0,10000);
514  mSumPFPt_HF = ibooker.book2D("SumPFPt_HF","HF energy (y axis) vs Sum initial PF p_{T} (x axis)",1000,-1000,1000,1000,0,10000);
515  // mPFVsPtInitial_eta_phi = ibooker.book2D("PFVsPtInitial_eta_phi",h2D_etabins_vs_phi);
516  // mPFVsPt_eta_phi = ibooker.book2D("PFVsPt_eta_phi",h2D_etabins_vs_phi);
517  // mPFPt_eta_phi = ibooker.book2D("PFPt_eta_phi",h2D_etabins_vs_phi);
518 
519  mSumPFVsPtInitial_n5p191_n2p650 = ibooker.book1D("mSumPFVsPtInitial_n5p191_n2p650","Sum PFVsPt Initial variable in the eta range -5.191 to -2.650",1000,-5000,5000);
520  mSumPFVsPtInitial_n2p650_n2p043 = ibooker.book1D("mSumPFVsPtInitial_n2p650_n2p043","Sum PFVsPt Initial variable in the eta range -2.650 to -2.043 ",1000,-5000,5000);
521  mSumPFVsPtInitial_n2p043_n1p740 = ibooker.book1D("mSumPFVsPtInitial_n2p043_n1p740","Sum PFVsPt Initial variable in the eta range -2.043 to -1.740",1000,-1000,1000);
522  mSumPFVsPtInitial_n1p740_n1p479 = ibooker.book1D("mSumPFVsPtInitial_n1p740_n1p479","Sum PFVsPt Initial variable in the eta range -1.740 to -1.479",1000,-1000,1000);
523  mSumPFVsPtInitial_n1p479_n1p131 = ibooker.book1D("mSumPFVsPtInitial_n1p479_n1p131","Sum PFVsPt Initial variable in the eta range -1.479 to -1.131",1000,-1000,1000);
524  mSumPFVsPtInitial_n1p131_n0p783 = ibooker.book1D("mSumPFVsPtInitial_n1p131_n0p783","Sum PFVsPt Initial variable in the eta range -1.131 to -0.783",1000,-1000,1000);
525  mSumPFVsPtInitial_n0p783_n0p522 = ibooker.book1D("mSumPFVsPtInitial_n0p783_n0p522","Sum PFVsPt Initial variable in the eta range -0.783 to -0.522",1000,-1000,1000);
526  mSumPFVsPtInitial_n0p522_0p522 = ibooker.book1D("mSumPFVsPtInitial_n0p522_0p522","Sum PFVsPt Initial variable in the eta range -0.522 to 0.522",1000,-1000,1000);
527  mSumPFVsPtInitial_0p522_0p783 = ibooker.book1D("mSumPFVsPtInitial_0p522_0p783","Sum PFVsPt Initial variable in the eta range 0.522 to 0.783",1000,-1000,1000);
528  mSumPFVsPtInitial_0p783_1p131 = ibooker.book1D("mSumPFVsPtInitial_0p783_1p131","Sum PFVsPt Initial variable in the eta range 0.783 to 1.131",1000,-1000,1000);
529  mSumPFVsPtInitial_1p131_1p479 = ibooker.book1D("mSumPFVsPtInitial_1p131_1p479","Sum PFVsPt Initial variable in the eta range 1.131 to 1.479",1000,-1000,1000);
530  mSumPFVsPtInitial_1p479_1p740 = ibooker.book1D("mSumPFVsPtInitial_1p479_1p740","Sum PFVsPt Initial variable in the eta range 1.479 to 1.740",1000,-1000,1000);
531  mSumPFVsPtInitial_1p740_2p043 = ibooker.book1D("mSumPFVsPtInitial_1p740_2p043","Sum PFVsPt Initial variable in the eta range 1.740 to 2.043",1000,-1000,1000);
532  mSumPFVsPtInitial_2p043_2p650 = ibooker.book1D("mSumPFVsPtInitial_2p043_2p650","Sum PFVsPt Initial variable in the eta range 2.043 to 2.650",1000,-5000,5000);
533  mSumPFVsPtInitial_2p650_5p191 = ibooker.book1D("mSumPFVsPtInitial_2p650_5p191","Sum PFVsPt Initial variable in the eta range 2.650 to 5.191",1000,-5000,5000);
534 
535  mSumPFVsPt_n5p191_n2p650 = ibooker.book1D("mSumPFVsPt_n5p191_n2p650","Sum PFVsPt variable in the eta range -5.191 to -2.650",1000,-5000,5000);
536  mSumPFVsPt_n2p650_n2p043 = ibooker.book1D("mSumPFVsPt_n2p650_n2p043","Sum PFVsPt variable in the eta range -2.650 to -2.043 ",1000,-5000,5000);
537  mSumPFVsPt_n2p043_n1p740 = ibooker.book1D("mSumPFVsPt_n2p043_n1p740","Sum PFVsPt variable in the eta range -2.043 to -1.740",1000,-1000,1000);
538  mSumPFVsPt_n1p740_n1p479 = ibooker.book1D("mSumPFVsPt_n1p740_n1p479","Sum PFVsPt variable in the eta range -1.740 to -1.479",1000,-1000,1000);
539  mSumPFVsPt_n1p479_n1p131 = ibooker.book1D("mSumPFVsPt_n1p479_n1p131","Sum PFVsPt variable in the eta range -1.479 to -1.131",1000,-1000,1000);
540  mSumPFVsPt_n1p131_n0p783 = ibooker.book1D("mSumPFVsPt_n1p131_n0p783","Sum PFVsPt variable in the eta range -1.131 to -0.783",1000,-1000,1000);
541  mSumPFVsPt_n0p783_n0p522 = ibooker.book1D("mSumPFVsPt_n0p783_n0p522","Sum PFVsPt variable in the eta range -0.783 to -0.522",1000,-1000,1000);
542  mSumPFVsPt_n0p522_0p522 = ibooker.book1D("mSumPFVsPt_n0p522_0p522","Sum PFVsPt variable in the eta range -0.522 to 0.522",1000,-1000,1000);
543  mSumPFVsPt_0p522_0p783 = ibooker.book1D("mSumPFVsPt_0p522_0p783","Sum PFVsPt variable in the eta range 0.522 to 0.783",1000,-1000,1000);
544  mSumPFVsPt_0p783_1p131 = ibooker.book1D("mSumPFVsPt_0p783_1p131","Sum PFVsPt variable in the eta range 0.783 to 1.131",1000,-1000,1000);
545  mSumPFVsPt_1p131_1p479 = ibooker.book1D("mSumPFVsPt_1p131_1p479","Sum PFVsPt variable in the eta range 1.131 to 1.479",1000,-1000,1000);
546  mSumPFVsPt_1p479_1p740 = ibooker.book1D("mSumPFVsPt_1p479_1p740","Sum PFVsPt variable in the eta range 1.479 to 1.740",1000,-1000,1000);
547  mSumPFVsPt_1p740_2p043 = ibooker.book1D("mSumPFVsPt_1p740_2p043","Sum PFVsPt variable in the eta range 1.740 to 2.043",1000,-1000,1000);
548  mSumPFVsPt_2p043_2p650 = ibooker.book1D("mSumPFVsPt_2p043_2p650","Sum PFVsPt variable in the eta range 2.043 to 2.650",1000,-5000,5000);
549  mSumPFVsPt_2p650_5p191 = ibooker.book1D("mSumPFVsPt_2p650_5p191","Sum PFVsPt variable in the eta range 2.650 to 5.191",1000,-5000,5000);
550 
551  mSumPFPt_n5p191_n2p650 = ibooker.book1D("mSumPFPt_n5p191_n2p650","Sum PFPt in the eta range -5.191 to -2.650",1000,-5000,5000);
552  mSumPFPt_n2p650_n2p043 = ibooker.book1D("mSumPFPt_n2p650_n2p043","Sum PFPt in the eta range -2.650 to -2.043 ",1000,-5000,5000);
553  mSumPFPt_n2p043_n1p740 = ibooker.book1D("mSumPFPt_n2p043_n1p740","Sum PFPt in the eta range -2.043 to -1.740",1000,-1000,1000);
554  mSumPFPt_n1p740_n1p479 = ibooker.book1D("mSumPFPt_n1p740_n1p479","Sum PFPt in the eta range -1.740 to -1.479",1000,-1000,1000);
555  mSumPFPt_n1p479_n1p131 = ibooker.book1D("mSumPFPt_n1p479_n1p131","Sum PFPt in the eta range -1.479 to -1.131",1000,-1000,1000);
556  mSumPFPt_n1p131_n0p783 = ibooker.book1D("mSumPFPt_n1p131_n0p783","Sum PFPt in the eta range -1.131 to -0.783",1000,-1000,1000);
557  mSumPFPt_n0p783_n0p522 = ibooker.book1D("mSumPFPt_n0p783_n0p522","Sum PFPt in the eta range -0.783 to -0.522",1000,-1000,1000);
558  mSumPFPt_n0p522_0p522 = ibooker.book1D("mSumPFPt_n0p522_0p522","Sum PFPt in the eta range -0.522 to 0.522",1000,-1000,1000);
559  mSumPFPt_0p522_0p783 = ibooker.book1D("mSumPFPt_0p522_0p783","Sum PFPt in the eta range 0.522 to 0.783",1000,-1000,1000);
560  mSumPFPt_0p783_1p131 = ibooker.book1D("mSumPFPt_0p783_1p131","Sum PFPt in the eta range 0.783 to 1.131",1000,-1000,1000);
561  mSumPFPt_1p131_1p479 = ibooker.book1D("mSumPFPt_1p131_1p479","Sum PFPt in the eta range 1.131 to 1.479",1000,-1000,1000);
562  mSumPFPt_1p479_1p740 = ibooker.book1D("mSumPFPt_1p479_1p740","Sum PFPt in the eta range 1.479 to 1.740",1000,-1000,1000);
563  mSumPFPt_1p740_2p043 = ibooker.book1D("mSumPFPt_1p740_2p043","Sum PFPt in the eta range 1.740 to 2.043",1000,-1000,1000);
564  mSumPFPt_2p043_2p650 = ibooker.book1D("mSumPFPt_2p043_2p650","Sum PFPt in the eta range 2.043 to 2.650",1000,-5000,5000);
565  mSumPFPt_2p650_5p191 = ibooker.book1D("mSumPFPt_2p650_5p191","Sum PFPt in the eta range 2.650 to 5.191",1000,-5000,5000);
566 
567  mPFCandpT_vs_eta_Unknown = ibooker.book2D("PF_cand_X_unknown",h2D_pfcand_etabins_vs_pt); // pf id 0
568  mPFCandpT_vs_eta_ChargedHadron = ibooker.book2D("PF_cand_chargedHad",h2D_pfcand_etabins_vs_pt); // pf id - 1
569  mPFCandpT_vs_eta_electron = ibooker.book2D("PF_cand_electron",h2D_pfcand_etabins_vs_pt); // pf id - 2
570  mPFCandpT_vs_eta_muon = ibooker.book2D("PF_cand_muon",h2D_pfcand_etabins_vs_pt); // pf id - 3
571  mPFCandpT_vs_eta_photon = ibooker.book2D("PF_cand_photon",h2D_pfcand_etabins_vs_pt); // pf id - 4
572  mPFCandpT_vs_eta_NeutralHadron = ibooker.book2D("PF_cand_neutralHad",h2D_pfcand_etabins_vs_pt); // pf id - 5
573  mPFCandpT_vs_eta_HadE_inHF = ibooker.book2D("PF_cand_HadEner_inHF",h2D_pfcand_etabins_vs_pt); // pf id - 6
574  mPFCandpT_vs_eta_EME_inHF = ibooker.book2D("PF_cand_EMEner_inHF",h2D_pfcand_etabins_vs_pt); // pf id - 7
575 
576  mPFCandpT_Barrel_Unknown = ibooker.book1D("mPFCandpT_Barrel_Unknown",Form(";PF candidate p_{T}, |#eta|<%2.2f; counts", BarrelEta),300, 0, 300); // pf id - 0
577  mPFCandpT_Barrel_ChargedHadron = ibooker.book1D("mPFCandpT_Barrel_ChargedHadron",Form(";PF candidate p_{T}, |#eta|<%2.2f; counts", BarrelEta),300, 0, 300); // pf id - 1
578  mPFCandpT_Barrel_electron = ibooker.book1D("mPFCandpT_Barrel_electron",Form(";PF candidate p_{T}, |#eta|<%2.2f; counts", BarrelEta),300, 0, 300); // pf id - 2
579  mPFCandpT_Barrel_muon = ibooker.book1D("mPFCandpT_Barrel_muon",Form(";PF candidate p_{T}, |#eta|<%2.2f; counts", BarrelEta),300, 0, 300); // pf id - 3
580  mPFCandpT_Barrel_photon = ibooker.book1D("mPFCandpT_Barrel_photon",Form(";PF candidate p_{T}, |#eta|<%2.2f; counts", BarrelEta),300, 0, 300); // pf id - 4
581  mPFCandpT_Barrel_NeutralHadron = ibooker.book1D("mPFCandpT_Barrel_NeutralHadron",Form(";PF candidate p_{T}, |#eta|<%2.2f; counts", BarrelEta),300, 0, 300); // pf id - 5
582  mPFCandpT_Barrel_HadE_inHF = ibooker.book1D("mPFCandpT_Barrel_HadE_inHF",Form(";PF candidate p_{T}, |#eta|<%2.2f; counts", BarrelEta),300, 0, 300); // pf id - 6
583  mPFCandpT_Barrel_EME_inHF = ibooker.book1D("mPFCandpT_Barrel_EME_inHF",Form(";PF candidate p_{T}, |#eta|<%2.2f; counts", BarrelEta),300, 0, 300); // pf id - 7
584 
585  mPFCandpT_Endcap_Unknown = ibooker.book1D("mPFCandpT_Endcap_Unknown",Form(";PF candidate p_{T}, %2.2f<|#eta|<%2.2f; counts", BarrelEta, EndcapEta),300, 0, 300); // pf id - 0
586  mPFCandpT_Endcap_ChargedHadron = ibooker.book1D("mPFCandpT_Endcap_ChargedHadron",Form(";PF candidate p_{T}, %2.2f<|#eta|<%2.2f; counts", BarrelEta, EndcapEta),300, 0, 300); // pf id - 1
587  mPFCandpT_Endcap_electron = ibooker.book1D("mPFCandpT_Endcap_electron",Form(";PF candidate p_{T}, %2.2f<|#eta|<%2.2f; counts", BarrelEta, EndcapEta),300, 0, 300); // pf id - 2
588  mPFCandpT_Endcap_muon = ibooker.book1D("mPFCandpT_Endcap_muon",Form(";PF candidate p_{T}, %2.2f<|#eta|<%2.2f; counts", BarrelEta, EndcapEta),300, 0, 300); // pf id - 3
589  mPFCandpT_Endcap_photon = ibooker.book1D("mPFCandpT_Endcap_photon",Form(";PF candidate p_{T}, %2.2f<|#eta|<%2.2f; counts", BarrelEta, EndcapEta),300, 0, 300); // pf id - 4
590  mPFCandpT_Endcap_NeutralHadron = ibooker.book1D("mPFCandpT_Endcap_NeutralHadron",Form(";PF candidate p_{T}, %2.2f<|#eta|<%2.2f; counts", BarrelEta, EndcapEta),300, 0, 300); // pf id - 5
591  mPFCandpT_Endcap_HadE_inHF = ibooker.book1D("mPFCandpT_Endcap_HadE_inHF",Form(";PF candidate p_{T}, %2.2f<|#eta|<%2.2f; counts", BarrelEta, EndcapEta),300, 0, 300); // pf id - 6
592  mPFCandpT_Endcap_EME_inHF = ibooker.book1D("mPFCandpT_Endcap_EME_inHF",Form(";PF candidate p_{T}, %2.2f<|#eta|<%2.2f; counts", BarrelEta, EndcapEta),300, 0, 300); // pf id - 7
593 
594  mPFCandpT_Forward_Unknown = ibooker.book1D("mPFCandpT_Forward_Unknown",Form(";PF candidate p_{T}, %2.2f<|#eta|<%2.2f; counts", EndcapEta, ForwardEta),300, 0, 300); // pf id - 0
595  mPFCandpT_Forward_ChargedHadron = ibooker.book1D("mPFCandpT_Forward_ChargedHadron",Form(";PF candidate p_{T}, %2.2f<|#eta|<%2.2f; counts", EndcapEta, ForwardEta),300, 0, 300); // pf id - 1
596  mPFCandpT_Forward_electron = ibooker.book1D("mPFCandpT_Forward_electron",Form(";PF candidate p_{T}, %2.2f<|#eta|<%2.2f; counts", EndcapEta, ForwardEta),300, 0, 300); // pf id - 2
597  mPFCandpT_Forward_muon = ibooker.book1D("mPFCandpT_Forward_muon",Form(";PF candidate p_{T}, %2.2f<|#eta|<%2.2f; counts", EndcapEta, ForwardEta),300, 0, 300); // pf id - 3
598  mPFCandpT_Forward_photon = ibooker.book1D("mPFCandpT_Forward_photon",Form(";PF candidate p_{T}, %2.2f<|#eta|<%2.2f; counts", EndcapEta, ForwardEta),300, 0, 300); // pf id - 4
599  mPFCandpT_Forward_NeutralHadron = ibooker.book1D("mPFCandpT_Forward_NeutralHadron",Form(";PF candidate p_{T}, %2.2f<|#eta|<%2.2f; counts", EndcapEta, ForwardEta),300, 0, 300); // pf id - 5
600  mPFCandpT_Forward_HadE_inHF = ibooker.book1D("mPFCandpT_Forward_HadE_inHF",Form(";PF candidate p_{T}, %2.2f<|#eta|<%2.2f; counts", EndcapEta, ForwardEta),300, 0, 300); // pf id - 6
601  mPFCandpT_Forward_EME_inHF = ibooker.book1D("mPFCandpT_Forward_EME_inHF",Form(";PF candidate p_{T}, %2.2f<|#eta|<%2.2f; counts", EndcapEta, ForwardEta),300, 0, 300); // pf id - 7
602 
603 
604  }
605 
606  if(isCaloJet){
607 
608  mNCalopart = ibooker.book1D("NCalopart","No of particle flow candidates",1000,0,10000);
609  mCaloPt = ibooker.book1D("CaloPt","Calo candidate p_{T}",1000,-5000,5000);
610  mCaloEta = ibooker.book1D("CaloEta","Calo candidate #eta",120,-6,6);
611  mCaloPhi = ibooker.book1D("CaloPhi","Calo candidate #phi",70,-3.5,3.5);
612  mCaloVsPt = ibooker.book1D("CaloVsPt","Vs Calo candidate p_{T}",1000,-5000,5000);
613  mCaloVsPtInitial = ibooker.book1D("CaloVsPtInitial","Vs background subtracted Calo candidate p_{T}",1000,-5000,5000);
614  mCaloArea = ibooker.book1D("CaloArea","VS Calo candidate area",100,0,4);
615 
616  mSumCaloVsPt = ibooker.book1D("SumCaloVsPt","Sum of final Calo VS p_{T} ",1000,-10000,10000);
617  mSumCaloVsPtInitial= ibooker.book1D("SumCaloVsPtInitial","Sum Calo VS p_{T} after subtraction",1000,-10000,10000);
618  mSumCaloPt = ibooker.book1D("SumCaloPt","Sum Calo p_{T}",1000,-10000,10000);
619  // mSumCaloVsPt_eta = ibooker.book2D("SumCaloVsPt_etaBins",h2D_etabins_vs_pt);
620  // mSumCaloVsPtInitial_eta = ibooker.book2D("SumCaloVsPtInitial_etaBins",h2D_etabins_vs_pt);
621  // mSumCaloPt_eta = ibooker.book2D("SumCaloPt_etaBins",h2D_etabins_vs_pt);
622 
623  mSumSquaredCaloVsPt = ibooker.book1D("SumSquaredCaloVsPt","Sum of final Calo VS p_{T} squared",10000,0,10000);
624  mSumSquaredCaloVsPtInitial= ibooker.book1D("SumSquaredCaloVsPtInitial","Sum of subtracted Calo VS p_{T} squared",10000,0,10000);
625  mSumSquaredCaloPt = ibooker.book1D("SumSquaredCaloPt","Sum of initial Calo tower p_{T} squared",10000,0,10000);
626  // mSumSquaredCaloVsPt_eta = ibooker.book2D("SumSquaredCaloVsPt_etaBins",h2D_etabins_vs_pt2);
627  // mSumSquaredCaloVsPtInitial_eta = ibooker.book2D("SumSquaredCaloVsPtInitial_etaBins",h2D_etabins_vs_pt2);
628  // mSumSquaredCaloPt_eta = ibooker.book2D("SumSquaredCaloPt_etaBins",h2D_etabins_vs_pt2);
629 
630  mSumCaloVsPtInitial_HF = ibooker.book2D("SumCaloVsPtInitial_HF","HF Energy (y axis) vs Sum Calo Vs p_{T} before subtraction (x axis)",1000,-1000,1000,1000,0,10000);
631  mSumCaloVsPt_HF = ibooker.book2D("SumCaloVsPt_HF","HF Energy (y axis) vs Sum Calo Vs p_{T} (x axis)",1000,-1000,1000,1000,0,10000);
632  mSumCaloPt_HF = ibooker.book2D("SumCaloPt_HF","HF Energy (y axis) vs Sum Calo tower p_{T}",1000,-1000,1000,1000,0,10000);
633  // mCaloVsPtInitial_eta_phi = ibooker.book2D("CaloVsPtInitial_eta_phi",h2D_etabins_vs_phi);
634  // mCaloVsPt_eta_phi = ibooker.book2D("CaloVsPt_eta_phi",h2D_etabins_vs_phi);
635  // mCaloPt_eta_phi = ibooker.book2D("CaloPt_eta_phi",h2D_etabins_vs_phi);
636 
637  mSumCaloVsPtInitial_n5p191_n2p650 = ibooker.book1D("mSumCaloVsPtInitial_n5p191_n2p650","Sum CaloVsPt Initial variable in the eta range -5.191 to -2.650",1000,-5000,5000);
638  mSumCaloVsPtInitial_n2p650_n2p043 = ibooker.book1D("mSumCaloVsPtInitial_n2p650_n2p043","Sum CaloVsPt Initial variable in the eta range -2.650 to -2.043 ",1000,-5000,5000);
639  mSumCaloVsPtInitial_n2p043_n1p740 = ibooker.book1D("mSumCaloVsPtInitial_n2p043_n1p740","Sum CaloVsPt Initial variable in the eta range -2.043 to -1.740",1000,-1000,1000);
640  mSumCaloVsPtInitial_n1p740_n1p479 = ibooker.book1D("mSumCaloVsPtInitial_n1p740_n1p479","Sum CaloVsPt Initial variable in the eta range -1.740 to -1.479",1000,-1000,1000);
641  mSumCaloVsPtInitial_n1p479_n1p131 = ibooker.book1D("mSumCaloVsPtInitial_n1p479_n1p131","Sum CaloVsPt Initial variable in the eta range -1.479 to -1.131",1000,-1000,1000);
642  mSumCaloVsPtInitial_n1p131_n0p783 = ibooker.book1D("mSumCaloVsPtInitial_n1p131_n0p783","Sum CaloVsPt Initial variable in the eta range -1.131 to -0.783",1000,-1000,1000);
643  mSumCaloVsPtInitial_n0p783_n0p522 = ibooker.book1D("mSumCaloVsPtInitial_n0p783_n0p522","Sum CaloVsPt Initial variable in the eta range -0.783 to -0.522",1000,-1000,1000);
644  mSumCaloVsPtInitial_n0p522_0p522 = ibooker.book1D("mSumCaloVsPtInitial_n0p522_0p522","Sum CaloVsPt Initial variable in the eta range -0.522 to 0.522",1000,-1000,1000);
645  mSumCaloVsPtInitial_0p522_0p783 = ibooker.book1D("mSumCaloVsPtInitial_0p522_0p783","Sum CaloVsPt Initial variable in the eta range 0.522 to 0.783",1000,-1000,1000);
646  mSumCaloVsPtInitial_0p783_1p131 = ibooker.book1D("mSumCaloVsPtInitial_0p783_1p131","Sum CaloVsPt Initial variable in the eta range 0.783 to 1.131",1000,-1000,1000);
647  mSumCaloVsPtInitial_1p131_1p479 = ibooker.book1D("mSumCaloVsPtInitial_1p131_1p479","Sum CaloVsPt Initial variable in the eta range 1.131 to 1.479",1000,-1000,1000);
648  mSumCaloVsPtInitial_1p479_1p740 = ibooker.book1D("mSumCaloVsPtInitial_1p479_1p740","Sum CaloVsPt Initial variable in the eta range 1.479 to 1.740",1000,-1000,1000);
649  mSumCaloVsPtInitial_1p740_2p043 = ibooker.book1D("mSumCaloVsPtInitial_1p740_2p043","Sum CaloVsPt Initial variable in the eta range 1.740 to 2.043",1000,-1000,1000);
650  mSumCaloVsPtInitial_2p043_2p650 = ibooker.book1D("mSumCaloVsPtInitial_2p043_2p650","Sum CaloVsPt Initial variable in the eta range 2.043 to 2.650",1000,-5000,5000);
651  mSumCaloVsPtInitial_2p650_5p191 = ibooker.book1D("mSumCaloVsPtInitial_2p650_5p191","Sum CaloVsPt Initial variable in the eta range 2.650 to 5.191",1000,-5000,5000);
652 
653  mSumCaloVsPt_n5p191_n2p650 = ibooker.book1D("mSumCaloVsPt_n5p191_n2p650","Sum CaloVsPt variable in the eta range -5.191 to -2.650",1000,-5000,5000);
654  mSumCaloVsPt_n2p650_n2p043 = ibooker.book1D("mSumCaloVsPt_n2p650_n2p043","Sum CaloVsPt variable in the eta range -2.650 to -2.043",1000,-5000,5000);
655  mSumCaloVsPt_n2p043_n1p740 = ibooker.book1D("mSumCaloVsPt_n2p043_n1p740","Sum CaloVsPt variable in the eta range -2.043 to -1.740",1000,-1000,1000);
656  mSumCaloVsPt_n1p740_n1p479 = ibooker.book1D("mSumCaloVsPt_n1p740_n1p479","Sum CaloVsPt variable in the eta range -1.740 to -1.479",1000,-1000,1000);
657  mSumCaloVsPt_n1p479_n1p131 = ibooker.book1D("mSumCaloVsPt_n1p479_n1p131","Sum CaloVsPt variable in the eta range -1.479 to -1.131",1000,-1000,1000);
658  mSumCaloVsPt_n1p131_n0p783 = ibooker.book1D("mSumCaloVsPt_n1p131_n0p783","Sum CaloVsPt variable in the eta range -1.131 to -0.783",1000,-1000,1000);
659  mSumCaloVsPt_n0p783_n0p522 = ibooker.book1D("mSumCaloVsPt_n0p783_n0p522","Sum CaloVsPt variable in the eta range -0.783 to -0.522",1000,-1000,1000);
660  mSumCaloVsPt_n0p522_0p522 = ibooker.book1D("mSumCaloVsPt_n0p522_0p522","Sum CaloVsPt variable in the eta range -0.522 to 0.522",1000,-1000,1000);
661  mSumCaloVsPt_0p522_0p783 = ibooker.book1D("mSumCaloVsPt_0p522_0p783","Sum CaloVsPt variable in the eta range 0.522 to 0.783",1000,-1000,1000);
662  mSumCaloVsPt_0p783_1p131 = ibooker.book1D("mSumCaloVsPt_0p783_1p131","Sum CaloVsPt variable in the eta range 0.783 to 1.131",1000,-1000,1000);
663  mSumCaloVsPt_1p131_1p479 = ibooker.book1D("mSumCaloVsPt_1p131_1p479","Sum CaloVsPt variable in the eta range 1.131 to 1.479",1000,-1000,1000);
664  mSumCaloVsPt_1p479_1p740 = ibooker.book1D("mSumCaloVsPt_1p479_1p740","Sum CaloVsPt variable in the eta range 1.479 to 1.740",1000,-1000,1000);
665  mSumCaloVsPt_1p740_2p043 = ibooker.book1D("mSumCaloVsPt_1p740_2p043","Sum CaloVsPt variable in the eta range 1.740 to 2.043",1000,-1000,1000);
666  mSumCaloVsPt_2p043_2p650 = ibooker.book1D("mSumCaloVsPt_2p043_2p650","Sum CaloVsPt variable in the eta range 2.043 to 2.650",1000,-5000,5000);
667  mSumCaloVsPt_2p650_5p191 = ibooker.book1D("mSumCaloVsPt_2p650_5p191","Sum CaloVsPt variable in the eta range 2.650 to 5.191",1000,-5000,5000);
668 
669  mSumCaloPt_n5p191_n2p650 = ibooker.book1D("mSumCaloPt_n5p191_n2p650","Sum Calo tower pT variable in the eta range -5.191 to -2.650",1000,-5000,5000);
670  mSumCaloPt_n2p650_n2p043 = ibooker.book1D("mSumCaloPt_n2p650_n2p043","Sum Calo tower pT variable in the eta range -2.650 to -2.043",1000,-5000,5000);
671  mSumCaloPt_n2p043_n1p740 = ibooker.book1D("mSumCaloPt_n2p043_n1p740","Sum Calo tower pT variable in the eta range -2.043 to -1.740",1000,-1000,1000);
672  mSumCaloPt_n1p740_n1p479 = ibooker.book1D("mSumCaloPt_n1p740_n1p479","Sum Calo tower pT variable in the eta range -1.740 to -1.479",1000,-1000,1000);
673  mSumCaloPt_n1p479_n1p131 = ibooker.book1D("mSumCaloPt_n1p479_n1p131","Sum Calo tower pT variable in the eta range -1.479 to -1.131",1000,-1000,1000);
674  mSumCaloPt_n1p131_n0p783 = ibooker.book1D("mSumCaloPt_n1p131_n0p783","Sum Calo tower pT variable in the eta range -1.131 to -0.783",1000,-1000,1000);
675  mSumCaloPt_n0p783_n0p522 = ibooker.book1D("mSumCaloPt_n0p783_n0p522","Sum Calo tower pT variable in the eta range -0.783 to -0.522",1000,-1000,1000);
676  mSumCaloPt_n0p522_0p522 = ibooker.book1D("mSumCaloPt_n0p522_0p522","Sum Calo tower pT variable in the eta range -0.522 to 0.522",1000,-1000,1000);
677  mSumCaloPt_0p522_0p783 = ibooker.book1D("mSumCaloPt_0p522_0p783","Sum Calo tower pT variable in the eta range 0.522 to 0.783",1000,-1000,1000);
678  mSumCaloPt_0p783_1p131 = ibooker.book1D("mSumCaloPt_0p783_1p131","Sum Calo tower pT variable in the eta range 0.783 to 1.131",1000,-1000,1000);
679  mSumCaloPt_1p131_1p479 = ibooker.book1D("mSumCaloPt_1p131_1p479","Sum Calo tower pT variable in the eta range 1.131 to 1.479",1000,-1000,1000);
680  mSumCaloPt_1p479_1p740 = ibooker.book1D("mSumCaloPt_1p479_1p740","Sum Calo tower pT variable in the eta range 1.479 to 1.740",1000,-1000,1000);
681  mSumCaloPt_1p740_2p043 = ibooker.book1D("mSumCaloPt_1p740_2p043","Sum Calo tower pT variable in the eta range 1.740 to 2.043",1000,-1000,1000);
682  mSumCaloPt_2p043_2p650 = ibooker.book1D("mSumCaloPt_2p043_2p650","Sum Calo tower pT variable in the eta range 2.043 to 2.650",1000,-5000,5000);
683  mSumCaloPt_2p650_5p191 = ibooker.book1D("mSumCaloPt_2p650_5p191","Sum Calo tower pT variable in the eta range 2.650 to 5.191",1000,-5000,5000);
684 
685  }
686 
687  // particle flow variables histograms
688  mSumpt = ibooker.book1D("SumpT","Sum p_{T} of all the PF candidates per event",1000,0,10000);
689  mvn = ibooker.book1D("vn","vn",100,0,10);
690  mpsin = ibooker.book1D("mpsin","psin",100,0,10);
691 
692  // Event variables
693  mNvtx = ibooker.book1D("Nvtx", "number of vertices", 60, 0, 60);
694  mHF = ibooker.book1D("HF", "HF energy distribution",1000,0,10000);
695 
696  // added Jan 12th 2015
697  mDeltapT = ibooker.book1D("DeltapT","amount subtracted from candidate",400,-200,200);
698  //mDeltapT_HF = ibooker.book2D("DeltapT_HF","",400,-200,200,1000,0,10000);
699  mDeltapT_eta = ibooker.book2D("DeltapT_eta","",60,-6,+6,400,-200,200);
700  // //mDeltapT_phiMinusPsi2 = ibooker.book2D("DeltapT_phiMinusPsi2","",400,-200,200,35,-1.75,1.75);
701  // mDeltapT_eta_phi = ibooker.book2D("DeltapT_eta_phi",h2D_etabins_vs_phi);
702 
703  // Jet parameters
704  mEta = ibooker.book1D("Eta", "Eta", 120, -6, 6);
705  mPhi = ibooker.book1D("Phi", "Phi", 70, -3.5, 3.5);
706  mPt = ibooker.book1D("Pt", "Pt", 100, 0, 1000);
707  mP = ibooker.book1D("P", "P", 100, 0, 1000);
708  mEnergy = ibooker.book1D("Energy", "Energy", 100, 0, 1000);
709  mMass = ibooker.book1D("Mass", "Mass", 100, 0, 200);
710  mConstituents = ibooker.book1D("Constituents", "Constituents", 100, 0, 100);
711  mJetArea = ibooker.book1D("JetArea", "JetArea", 100, 0, 4);
712  mjetpileup = ibooker.book1D("jetPileUp","jetPileUp",100,0,150);
713  mNJets_40 = ibooker.book1D("NJets_pt_greater_40", "NJets pT > 40 GeV", 50, 0, 100);
714  mNJets = ibooker.book1D("NJets", "NJets", 50, 0, 100);
715 
716  // mVs_0_x = ibooker.book1D("Vs_0_x","flow modulated sumpT from both HF (+ and -) with cos, vn = 0",1000,-10000,10000);
717  // mVs_0_y = ibooker.book1D("Vs_0_y","flow modulated sumpT from both HF (+ and -) with sin, vn = 0",1000,-10000,10000);
718  // mVs_1_x = ibooker.book1D("Vs_1_x","flow modulated sumpT from both HF (+ and -) with cos, vn = 1",1000,-10000,10000);
719  // mVs_1_y = ibooker.book1D("Vs_1_y","flow modulated sumpT from both HF (+ and -) with sin, vn = 1",1000,-10000,10000);
720  // mVs_2_x = ibooker.book1D("Vs_2_x","flow modulated sumpT from both HF (+ and -) with cos, vn = 2",1000,-10000,10000);
721  // mVs_2_y = ibooker.book1D("Vs_2_y","flow modulated sumpT from both HF (+ and -) with sin, vn = 2",1000,-10000,10000);
722 
723  // mVs_0_x_versus_HF = ibooker.book2D("Vs_0_x_versus_HF","flow modulated sumpT (y axis) from both HF (+ and -) with cos, vn = 0 versus HF energy (x axis)",1000,0,10000,1000,-10000,10000);
724  // mVs_0_y_versus_HF = ibooker.book2D("Vs_0_y_versus_HF","flow modulated sumpT (y axis) from both HF (+ and -) with sin, vn = 0 versus HF energy (x axis)",1000,0,10000,1000,-10000,10000);
725  // mVs_1_x_versus_HF = ibooker.book2D("Vs_1_x_versus_HF","flow modulated sumpT (y axis) from both HF (+ and -) with cos, vn = 1 versus HF energy (x axis)",1000,0,10000,1000,-10000,10000);
726  // mVs_1_y_versus_HF = ibooker.book2D("Vs_1_y_versus_HF","flow modulated sumpT (y axis) from both HF (+ and -) with sin, vn = 1 versus HF energy (x axis)",1000,0,10000,1000,-10000,10000);
727  // mVs_2_x_versus_HF = ibooker.book2D("Vs_2_x_versus_HF","flow modulated sumpT (y axis) from both HF (+ and -) with cos, vn = 2 versus HF energy (x axis)",1000,0,10000,1000,-10000,10000);
728  // mVs_2_y_versus_HF = ibooker.book2D("Vs_2_y_versus_HF","flow modulated sumpT (y axis) from both HF (+ and -) with sin, vn = 2 versus HF energy (x axis)",1000,0,10000,1000,-10000,10000);
729 
730  mPtRecoOverGen_B_20_30_Cent_0_10 = ibooker.book1D("PtRecoOverGen_B_20_30_Cent_0_10", "20<genpt<30; recopt/genpt (0-10%) (Barrel);counts", 90, 0, 2);
731  mPtRecoOverGen_E_20_30_Cent_0_10 = ibooker.book1D("PtRecoOverGen_E_20_30_Cent_0_10", "20<genpt<30; recopt/genpt (0-10%) (EndCap);counts", 90, 0, 2);
732  mPtRecoOverGen_F_20_30_Cent_0_10 = ibooker.book1D("PtRecoOverGen_F_20_30_Cent_0_10", "20<genpt<30; recopt/genpt (0-10%) (Forward);counts", 90, 0, 2);
733  mPtRecoOverGen_B_30_50_Cent_0_10 = ibooker.book1D("PtRecoOverGen_B_30_50_Cent_0_10", "30<genpt<50; recopt/genpt (0-10%) (Barrel);counts", 90, 0, 2);
734  mPtRecoOverGen_E_30_50_Cent_0_10 = ibooker.book1D("PtRecoOverGen_E_30_50_Cent_0_10", "30<genpt<50; recopt/genpt (0-10%) (EndCap);counts", 90, 0, 2);
735  mPtRecoOverGen_F_30_50_Cent_0_10 = ibooker.book1D("PtRecoOverGen_F_30_50_Cent_0_10", "30<genpt<50; recopt/genpt (0-10%) (Forward);counts", 90, 0, 2);
736  mPtRecoOverGen_B_50_80_Cent_0_10 = ibooker.book1D("PtRecoOverGen_B_50_80_Cent_0_10", "50<genpt<80; recopt/genpt (0-10%) (Barrel);counts", 90, 0, 2);
737  mPtRecoOverGen_E_50_80_Cent_0_10 = ibooker.book1D("PtRecoOverGen_E_50_80_Cent_0_10", "50<genpt<80; recopt/genpt (0-10%) (EndCap);counts", 90, 0, 2);
738  mPtRecoOverGen_F_50_80_Cent_0_10 = ibooker.book1D("PtRecoOverGen_F_50_80_Cent_0_10", "50<genpt<80; recopt/genpt (0-10%) (Forward);counts", 90, 0, 2);
739  mPtRecoOverGen_B_80_120_Cent_0_10 = ibooker.book1D("PtRecoOverGen_B_80_120_Cent_0_10", "80<genpt<120; recopt/genpt (0-10%) (Barrel);counts", 90, 0, 2);
740  mPtRecoOverGen_E_80_120_Cent_0_10 = ibooker.book1D("PtRecoOverGen_E_80_120_Cent_0_10", "80<genpt<120; recopt/genpt (0-10%) (EndCap);counts", 90, 0, 2);
741  mPtRecoOverGen_F_80_120_Cent_0_10 = ibooker.book1D("PtRecoOverGen_F_80_120_Cent_0_10", "80<genpt<120; recopt/genpt (0-10%) (Forward);counts", 90, 0, 2);
742  mPtRecoOverGen_B_120_180_Cent_0_10 = ibooker.book1D("PtRecoOverGen_B_120_180_Cent_0_10", "120<genpt<180; recopt/genpt (0-10%) (Barrel);counts", 90, 0, 2);
743  mPtRecoOverGen_E_120_180_Cent_0_10 = ibooker.book1D("PtRecoOverGen_E_120_180_Cent_0_10", "120<genpt<180; recopt/genpt (0-10%) (EndCap);counts", 90, 0, 2);
744  mPtRecoOverGen_F_120_180_Cent_0_10 = ibooker.book1D("PtRecoOverGen_F_120_180_Cent_0_10", "120<genpt<180; recopt/genpt (0-10%) (Forward);counts", 90, 0, 2);
745  mPtRecoOverGen_B_180_300_Cent_0_10 = ibooker.book1D("PtRecoOverGen_B_180_300_Cent_0_10", "180<genpt<300; recopt/genpt (0-10%) (Barrel);counts", 90, 0, 2);
746  mPtRecoOverGen_E_180_300_Cent_0_10 = ibooker.book1D("PtRecoOverGen_E_180_300_Cent_0_10", "180<genpt<300; recopt/genpt (0-10%) (EndCap);counts", 90, 0, 2);
747  mPtRecoOverGen_F_180_300_Cent_0_10 = ibooker.book1D("PtRecoOverGen_F_180_300_Cent_0_10", "180<genpt<300; recopt/genpt (0-10%) (Forward);counts", 90, 0, 2);
748  mPtRecoOverGen_B_300_Inf_Cent_0_10 = ibooker.book1D("PtRecoOverGen_B_300_Inf_Cent_0_10", "300<genpt<Inf; recopt/genpt (0-10%) (Barrel);counts", 90, 0, 2);
749  mPtRecoOverGen_E_300_Inf_Cent_0_10 = ibooker.book1D("PtRecoOverGen_E_300_Inf_Cent_0_10", "300<genpt<Inf; recopt/genpt (0-10%) (EndCap);counts", 90, 0, 2);
750  mPtRecoOverGen_F_300_Inf_Cent_0_10 = ibooker.book1D("PtRecoOverGen_F_300_Inf_Cent_0_10", "300<genpt<Inf; recopt/genpt (0-10%) (Forward);counts", 90, 0, 2);
751 
752 
753  mPtRecoOverGen_B_20_30_Cent_10_30 = ibooker.book1D("PtRecoOverGen_B_20_30_Cent_10_30", "20<genpt<30; recopt/genpt (10-30%) (Barrel);counts", 90, 0, 2);
754  mPtRecoOverGen_E_20_30_Cent_10_30 = ibooker.book1D("PtRecoOverGen_E_20_30_Cent_10_30", "20<genpt<30; recopt/genpt (10-30%) (EndCap);counts", 90, 0, 2);
755  mPtRecoOverGen_F_20_30_Cent_10_30 = ibooker.book1D("PtRecoOverGen_F_20_30_Cent_10_30", "20<genpt<30; recopt/genpt (10-30%) (Forward);counts", 90, 0, 2);
756  mPtRecoOverGen_B_30_50_Cent_10_30 = ibooker.book1D("PtRecoOverGen_B_30_50_Cent_10_30", "30<genpt<50; recopt/genpt (10-30%) (Barrel);counts", 90, 0, 2);
757  mPtRecoOverGen_E_30_50_Cent_10_30 = ibooker.book1D("PtRecoOverGen_E_30_50_Cent_10_30", "30<genpt<50; recopt/genpt (10-30%) (EndCap);counts", 90, 0, 2);
758  mPtRecoOverGen_F_30_50_Cent_10_30 = ibooker.book1D("PtRecoOverGen_F_30_50_Cent_10_30", "30<genpt<50; recopt/genpt (10-30%) (Forward);counts", 90, 0, 2);
759  mPtRecoOverGen_B_50_80_Cent_10_30 = ibooker.book1D("PtRecoOverGen_B_50_80_Cent_10_30", "50<genpt<80; recopt/genpt (10-30%) (Barrel);counts", 90, 0, 2);
760  mPtRecoOverGen_E_50_80_Cent_10_30 = ibooker.book1D("PtRecoOverGen_E_50_80_Cent_10_30", "50<genpt<80; recopt/genpt (10-30%) (EndCap);counts", 90, 0, 2);
761  mPtRecoOverGen_F_50_80_Cent_10_30 = ibooker.book1D("PtRecoOverGen_F_50_80_Cent_10_30", "50<genpt<80; recopt/genpt (10-30%) (Forward);counts", 90, 0, 2);
762  mPtRecoOverGen_B_80_120_Cent_10_30 = ibooker.book1D("PtRecoOverGen_B_80_120_Cent_10_30", "80<genpt<120; recopt/genpt (10-30%) (Barrel);counts", 90, 0, 2);
763  mPtRecoOverGen_E_80_120_Cent_10_30 = ibooker.book1D("PtRecoOverGen_E_80_120_Cent_10_30", "80<genpt<120; recopt/genpt (10-30%) (EndCap);counts", 90, 0, 2);
764  mPtRecoOverGen_F_80_120_Cent_10_30 = ibooker.book1D("PtRecoOverGen_F_80_120_Cent_10_30", "80<genpt<120; recopt/genpt (10-30%) (Forward);counts", 90, 0, 2);
765  mPtRecoOverGen_B_120_180_Cent_10_30 = ibooker.book1D("PtRecoOverGen_B_120_180_Cent_10_30", "120<genpt<180; recopt/genpt (10-30%) (Barrel);counts", 90, 0, 2);
766  mPtRecoOverGen_E_120_180_Cent_10_30 = ibooker.book1D("PtRecoOverGen_E_120_180_Cent_10_30", "120<genpt<180; recopt/genpt (10-30%) (EndCap);counts", 90, 0, 2);
767  mPtRecoOverGen_F_120_180_Cent_10_30 = ibooker.book1D("PtRecoOverGen_F_120_180_Cent_10_30", "120<genpt<180; recopt/genpt (10-30%) (Forward);counts", 90, 0, 2);
768  mPtRecoOverGen_B_180_300_Cent_10_30 = ibooker.book1D("PtRecoOverGen_B_180_300_Cent_10_30", "180<genpt<300; recopt/genpt (10-30%) (Barrel);counts", 90, 0, 2);
769  mPtRecoOverGen_E_180_300_Cent_10_30 = ibooker.book1D("PtRecoOverGen_E_180_300_Cent_10_30", "180<genpt<300; recopt/genpt (10-30%) (EndCap);counts", 90, 0, 2);
770  mPtRecoOverGen_F_180_300_Cent_10_30 = ibooker.book1D("PtRecoOverGen_F_180_300_Cent_10_30", "180<genpt<300; recopt/genpt (10-30%) (Forward);counts", 90, 0, 2);
771  mPtRecoOverGen_B_300_Inf_Cent_10_30 = ibooker.book1D("PtRecoOverGen_B_300_Inf_Cent_10_30", "300<genpt<Inf; recopt/genpt (10-30%) (Barrel);counts", 90, 0, 2);
772  mPtRecoOverGen_E_300_Inf_Cent_10_30 = ibooker.book1D("PtRecoOverGen_E_300_Inf_Cent_10_30", "300<genpt<Inf; recopt/genpt (10-30%) (EndCap);counts", 90, 0, 2);
773  mPtRecoOverGen_F_300_Inf_Cent_10_30 = ibooker.book1D("PtRecoOverGen_F_300_Inf_Cent_10_30", "300<genpt<Inf; recopt/genpt (10-30%) (Forward);counts", 90, 0, 2);
774 
775 
776  mPtRecoOverGen_B_20_30_Cent_30_50 = ibooker.book1D("PtRecoOverGen_B_20_30_Cent_30_50", "20<genpt<30; recopt/genpt (30-50%) (Barrel);counts", 90, 0, 2);
777  mPtRecoOverGen_E_20_30_Cent_30_50 = ibooker.book1D("PtRecoOverGen_E_20_30_Cent_30_50", "20<genpt<30; recopt/genpt (30-50%) (EndCap);counts", 90, 0, 2);
778  mPtRecoOverGen_F_20_30_Cent_30_50 = ibooker.book1D("PtRecoOverGen_F_20_30_Cent_30_50", "20<genpt<30; recopt/genpt (30-50%) (Forward);counts", 90, 0, 2);
779  mPtRecoOverGen_B_30_50_Cent_30_50 = ibooker.book1D("PtRecoOverGen_B_30_50_Cent_30_50", "30<genpt<50; recopt/genpt (30-50%) (Barrel);counts", 90, 0, 2);
780  mPtRecoOverGen_E_30_50_Cent_30_50 = ibooker.book1D("PtRecoOverGen_E_30_50_Cent_30_50", "30<genpt<50; recopt/genpt (30-50%) (EndCap);counts", 90, 0, 2);
781  mPtRecoOverGen_F_30_50_Cent_30_50 = ibooker.book1D("PtRecoOverGen_F_30_50_Cent_30_50", "30<genpt<50; recopt/genpt (30-50%) (Forward);counts", 90, 0, 2);
782  mPtRecoOverGen_B_50_80_Cent_30_50 = ibooker.book1D("PtRecoOverGen_B_50_80_Cent_30_50", "50<genpt<80; recopt/genpt (30-50%) (Barrel);counts", 90, 0, 2);
783  mPtRecoOverGen_E_50_80_Cent_30_50 = ibooker.book1D("PtRecoOverGen_E_50_80_Cent_30_50", "50<genpt<80; recopt/genpt (30-50%) (EndCap);counts", 90, 0, 2);
784  mPtRecoOverGen_F_50_80_Cent_30_50 = ibooker.book1D("PtRecoOverGen_F_50_80_Cent_30_50", "50<genpt<80; recopt/genpt (30-50%) (Forward);counts", 90, 0, 2);
785  mPtRecoOverGen_B_80_120_Cent_30_50 = ibooker.book1D("PtRecoOverGen_B_80_120_Cent_30_50", "80<genpt<120; recopt/genpt (30-50%) (Barrel);counts", 90, 0, 2);
786  mPtRecoOverGen_E_80_120_Cent_30_50 = ibooker.book1D("PtRecoOverGen_E_80_120_Cent_30_50", "80<genpt<120; recopt/genpt (30-50%) (EndCap);counts", 90, 0, 2);
787  mPtRecoOverGen_F_80_120_Cent_30_50 = ibooker.book1D("PtRecoOverGen_F_80_120_Cent_30_50", "80<genpt<120; recopt/genpt (30-50%) (Forward);counts", 90, 0, 2);
788  mPtRecoOverGen_B_120_180_Cent_30_50 = ibooker.book1D("PtRecoOverGen_B_120_180_Cent_30_50", "120<genpt<180; recopt/genpt (30-50%) (Barrel);counts", 90, 0, 2);
789  mPtRecoOverGen_E_120_180_Cent_30_50 = ibooker.book1D("PtRecoOverGen_E_120_180_Cent_30_50", "120<genpt<180; recopt/genpt (30-50%) (EndCap);counts", 90, 0, 2);
790  mPtRecoOverGen_F_120_180_Cent_30_50 = ibooker.book1D("PtRecoOverGen_F_120_180_Cent_30_50", "120<genpt<180; recopt/genpt (30-50%) (Forward);counts", 90, 0, 2);
791  mPtRecoOverGen_B_180_300_Cent_30_50 = ibooker.book1D("PtRecoOverGen_B_180_300_Cent_30_50", "180<genpt<300; recopt/genpt (30-50%) (Barrel);counts", 90, 0, 2);
792  mPtRecoOverGen_E_180_300_Cent_30_50 = ibooker.book1D("PtRecoOverGen_E_180_300_Cent_30_50", "180<genpt<300; recopt/genpt (30-50%) (EndCap);counts", 90, 0, 2);
793  mPtRecoOverGen_F_180_300_Cent_30_50 = ibooker.book1D("PtRecoOverGen_F_180_300_Cent_30_50", "180<genpt<300; recopt/genpt (30-50%) (Forward);counts", 90, 0, 2);
794  mPtRecoOverGen_B_300_Inf_Cent_30_50 = ibooker.book1D("PtRecoOverGen_B_300_Inf_Cent_30_50", "300<genpt<Inf; recopt/genpt (30-50%) (Barrel);counts", 90, 0, 2);
795  mPtRecoOverGen_E_300_Inf_Cent_30_50 = ibooker.book1D("PtRecoOverGen_E_300_Inf_Cent_30_50", "300<genpt<Inf; recopt/genpt (30-50%) (EndCap);counts", 90, 0, 2);
796  mPtRecoOverGen_F_300_Inf_Cent_30_50 = ibooker.book1D("PtRecoOverGen_F_300_Inf_Cent_30_50", "300<genpt<Inf; recopt/genpt (30-50%) (Forward);counts", 90, 0, 2);
797 
798  mPtRecoOverGen_B_20_30_Cent_50_80 = ibooker.book1D("PtRecoOverGen_B_20_30_Cent_50_80", "20<genpt<30; recopt/genpt (50-80%) (Barrel);counts", 90, 0, 2);
799  mPtRecoOverGen_E_20_30_Cent_50_80 = ibooker.book1D("PtRecoOverGen_E_20_30_Cent_50_80", "20<genpt<30; recopt/genpt (50-80%) (EndCap);counts", 90, 0, 2);
800  mPtRecoOverGen_F_20_30_Cent_50_80 = ibooker.book1D("PtRecoOverGen_F_20_30_Cent_50_80", "20<genpt<30; recopt/genpt (50-80%) (Forward);counts", 90, 0, 2);
801  mPtRecoOverGen_B_50_80_Cent_50_80 = ibooker.book1D("PtRecoOverGen_B_50_80_Cent_50_80", "30<genpt<50; recopt/genpt (50-80%) (Barrel);counts", 90, 0, 2);
802  mPtRecoOverGen_E_50_80_Cent_50_80 = ibooker.book1D("PtRecoOverGen_E_50_80_Cent_50_80", "30<genpt<50; recopt/genpt (50-80%) (EndCap);counts", 90, 0, 2);
803  mPtRecoOverGen_F_50_80_Cent_50_80 = ibooker.book1D("PtRecoOverGen_F_50_80_Cent_50_80", "30<genpt<50; recopt/genpt (50-80%) (Forward);counts", 90, 0, 2);
804  mPtRecoOverGen_B_50_80_Cent_50_80 = ibooker.book1D("PtRecoOverGen_B_50_80_Cent_50_80", "50<genpt<80; recopt/genpt (50-80%) (Barrel);counts", 90, 0, 2);
805  mPtRecoOverGen_E_50_80_Cent_50_80 = ibooker.book1D("PtRecoOverGen_E_50_80_Cent_50_80", "50<genpt<80; recopt/genpt (50-80%) (EndCap);counts", 90, 0, 2);
806  mPtRecoOverGen_F_50_80_Cent_50_80 = ibooker.book1D("PtRecoOverGen_F_50_80_Cent_50_80", "50<genpt<80; recopt/genpt (50-80%) (Forward);counts", 90, 0, 2);
807  mPtRecoOverGen_B_80_120_Cent_50_80 = ibooker.book1D("PtRecoOverGen_B_80_120_Cent_50_80", "80<genpt<120; recopt/genpt (50-80%) (Barrel);counts", 90, 0, 2);
808  mPtRecoOverGen_E_80_120_Cent_50_80 = ibooker.book1D("PtRecoOverGen_E_80_120_Cent_50_80", "80<genpt<120; recopt/genpt (50-80%) (EndCap);counts", 90, 0, 2);
809  mPtRecoOverGen_F_80_120_Cent_50_80 = ibooker.book1D("PtRecoOverGen_F_80_120_Cent_50_80", "80<genpt<120; recopt/genpt (50-80%) (Forward);counts", 90, 0, 2);
810  mPtRecoOverGen_B_120_180_Cent_50_80 = ibooker.book1D("PtRecoOverGen_B_120_180_Cent_50_80", "120<genpt<180; recopt/genpt (50-80%) (Barrel);counts", 90, 0, 2);
811  mPtRecoOverGen_E_120_180_Cent_50_80 = ibooker.book1D("PtRecoOverGen_E_120_180_Cent_50_80", "120<genpt<180; recopt/genpt (50-80%) (EndCap);counts", 90, 0, 2);
812  mPtRecoOverGen_F_120_180_Cent_50_80 = ibooker.book1D("PtRecoOverGen_F_120_180_Cent_50_80", "120<genpt<180; recopt/genpt (50-80%) (Forward);counts", 90, 0, 2);
813  mPtRecoOverGen_B_180_300_Cent_50_80 = ibooker.book1D("PtRecoOverGen_B_180_300_Cent_50_80", "180<genpt<300; recopt/genpt (50-80%) (Barrel);counts", 90, 0, 2);
814  mPtRecoOverGen_E_180_300_Cent_50_80 = ibooker.book1D("PtRecoOverGen_E_180_300_Cent_50_80", "180<genpt<300; recopt/genpt (50-80%) (EndCap);counts", 90, 0, 2);
815  mPtRecoOverGen_F_180_300_Cent_50_80 = ibooker.book1D("PtRecoOverGen_F_180_300_Cent_50_80", "180<genpt<300; recopt/genpt (50-80%) (Forward);counts", 90, 0, 2);
816  mPtRecoOverGen_B_300_Inf_Cent_50_80 = ibooker.book1D("PtRecoOverGen_B_300_Inf_Cent_50_80", "300<genpt<Inf; recopt/genpt (50-80%) (Barrel);counts", 90, 0, 2);
817  mPtRecoOverGen_E_300_Inf_Cent_50_80 = ibooker.book1D("PtRecoOverGen_E_300_Inf_Cent_50_80", "300<genpt<Inf; recopt/genpt (50-80%) (EndCap);counts", 90, 0, 2);
818  mPtRecoOverGen_F_300_Inf_Cent_50_80 = ibooker.book1D("PtRecoOverGen_F_300_Inf_Cent_50_80", "300<genpt<Inf; recopt/genpt (50-80%) (Forward);counts", 90, 0, 2);
819 
820 
821  mPtRecoOverGen_GenPt_B_Cent_0_10 = ibooker.bookProfile("PtRecoOverGen_GenPt_B_Cent_0_10", Form("|#eta|<%2.2f, (0-10cent);genpt;recopt/genpt", BarrelEta), log10PtBins, log10PtMin, log10PtMax, 0, 2, " ");
822  mPtRecoOverGen_GenPt_E_Cent_0_10 = ibooker.bookProfile("PtRecoOverGen_GenPt_E_Cent_0_10", Form("%2.2f<|#eta|<%2.2f, (0-10cent);genpt;recopt/genpt", BarrelEta, EndcapEta), log10PtBins, log10PtMin, log10PtMax, 0, 2, " ");
823  mPtRecoOverGen_GenPt_F_Cent_0_10 = ibooker.bookProfile("PtRecoOverGen_GenPt_F_Cent_0_10", Form("%2.2f<|#eta|<%2.2f, (0-10cent);genpt;recopt/genpt", EndcapEta, ForwardEta), log10PtBins, log10PtMin, log10PtMax, 0, 2, " ");
824  mPtRecoOverGen_GenPt_B_Cent_10_30 = ibooker.bookProfile("PtRecoOverGen_GenPt_B_Cent_10_30", Form("|#eta|<%2.2f, (10-30cent);genpt;recopt/genpt", BarrelEta), log10PtBins, log10PtMin, log10PtMax, 0, 2, " ");
825  mPtRecoOverGen_GenPt_E_Cent_10_30 = ibooker.bookProfile("PtRecoOverGen_GenPt_E_Cent_10_30", Form("%2.2f<|#eta|<%2.2f, (10-30cent);genpt;recopt/genpt", BarrelEta, EndcapEta), log10PtBins, log10PtMin, log10PtMax, 0, 2, " ");
826  mPtRecoOverGen_GenPt_F_Cent_10_30 = ibooker.bookProfile("PtRecoOverGen_GenPt_F_Cent_10_30", Form("%2.2f<|#eta|<%2.2f, (10-30cent);genpt;recopt/genpt", EndcapEta, ForwardEta), log10PtBins, log10PtMin, log10PtMax, 0, 2, " ");
827  mPtRecoOverGen_GenPt_B_Cent_30_50 = ibooker.bookProfile("PtRecoOverGen_GenPt_B_Cent_30_50", Form("|#eta|<%2.2f, (30-50cent);genpt;recopt/genpt", BarrelEta), log10PtBins, log10PtMin, log10PtMax, 0, 2, " ");
828  mPtRecoOverGen_GenPt_E_Cent_30_50 = ibooker.bookProfile("PtRecoOverGen_GenPt_E_Cent_30_50", Form("%2.2f<|#eta|<%2.2f, (30-50cent);genpt;recopt/genpt", BarrelEta, EndcapEta), log10PtBins, log10PtMin, log10PtMax, 0, 2, " ");
829  mPtRecoOverGen_GenPt_F_Cent_30_50 = ibooker.bookProfile("PtRecoOverGen_GenPt_F_Cent_30_50", Form("%2.2f<|#eta|<%2.2f, (30-50cent);genpt;recopt/genpt", EndcapEta, ForwardEta), log10PtBins, log10PtMin, log10PtMax, 0, 2, " ");
830  mPtRecoOverGen_GenPt_B_Cent_50_80 = ibooker.bookProfile("PtRecoOverGen_GenPt_B_Cent_50_80", Form("|#eta|<%2.2f, (50-80cent);genpt;recopt/genpt", BarrelEta), log10PtBins, log10PtMin, log10PtMax, 0, 2, " ");
831  mPtRecoOverGen_GenPt_E_Cent_50_80 = ibooker.bookProfile("PtRecoOverGen_GenPt_E_Cent_50_80", Form("%2.2f<|#eta|<%2.2f, (50-80cent);genpt;recopt/genpt", BarrelEta, EndcapEta), log10PtBins, log10PtMin, log10PtMax, 0, 2, " ");
832  mPtRecoOverGen_GenPt_F_Cent_50_80 = ibooker.bookProfile("PtRecoOverGen_GenPt_F_Cent_50_80", Form("%2.2f<|#eta|<%2.2f, (50-80cent);genpt;recopt/genpt", EndcapEta, ForwardEta), log10PtBins, log10PtMin, log10PtMax, 0, 2, " ");
833 
834  mPtRecoOverGen_GenEta_20_30_Cent_0_10 = ibooker.bookProfile("PtRecoOverGen_GenEta_20_30_Cent_0_10","20<genpt<30 (0-10%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
835  mPtRecoOverGen_GenEta_30_50_Cent_0_10 = ibooker.bookProfile("PtRecoOverGen_GenEta_30_50_Cent_0_10","30<genpt<50 (0-10%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
836  mPtRecoOverGen_GenEta_50_80_Cent_0_10 = ibooker.bookProfile("PtRecoOverGen_GenEta_50_80_Cent_0_10","50<genpt<80 (0-10%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
837  mPtRecoOverGen_GenEta_80_120_Cent_0_10 = ibooker.bookProfile("PtRecoOverGen_GenEta_80_120_Cent_0_10","80<genpt<120 (0-10%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
838  mPtRecoOverGen_GenEta_120_180_Cent_0_10 = ibooker.bookProfile("PtRecoOverGen_GenEta_120_180_Cent_0_10","120<genpt<180 (0-10%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
839  mPtRecoOverGen_GenEta_180_300_Cent_0_10 = ibooker.bookProfile("PtRecoOverGen_GenEta_180_300_Cent_0_10","180<genpt<300 (0-10%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
840  mPtRecoOverGen_GenEta_300_Inf_Cent_0_10 = ibooker.bookProfile("PtRecoOverGen_GenEta_300_Inf_Cent_0_10","300<genpt<Inf (0-10%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
841 
842 
843  mPtRecoOverGen_GenEta_20_30_Cent_10_30 = ibooker.bookProfile("PtRecoOverGen_GenEta_20_30_Cent_10_30","20<genpt<30 (10-30%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
844  mPtRecoOverGen_GenEta_30_50_Cent_10_30 = ibooker.bookProfile("PtRecoOverGen_GenEta_30_50_Cent_10_30","30<genpt<50 (10-30%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
845  mPtRecoOverGen_GenEta_50_80_Cent_10_30 = ibooker.bookProfile("PtRecoOverGen_GenEta_50_80_Cent_10_30","50<genpt<80 (10-30%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
846  mPtRecoOverGen_GenEta_80_120_Cent_10_30 = ibooker.bookProfile("PtRecoOverGen_GenEta_80_120_Cent_10_30","80<genpt<120 (10-30%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
847  mPtRecoOverGen_GenEta_120_180_Cent_10_30 = ibooker.bookProfile("PtRecoOverGen_GenEta_120_180_Cent_10_30","120<genpt<180 (10-30%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
848  mPtRecoOverGen_GenEta_180_300_Cent_10_30 = ibooker.bookProfile("PtRecoOverGen_GenEta_180_300_Cent_10_30","180<genpt<300 (10-30%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
849  mPtRecoOverGen_GenEta_300_Inf_Cent_10_30 = ibooker.bookProfile("PtRecoOverGen_GenEta_300_Inf_Cent_10_30","300<genpt<Inf (10-30%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
850 
851  mPtRecoOverGen_GenEta_20_30_Cent_30_50 = ibooker.bookProfile("PtRecoOverGen_GenEta_20_30_Cent_30_50","20<genpt<30 (30-50%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
852  mPtRecoOverGen_GenEta_30_50_Cent_30_50 = ibooker.bookProfile("PtRecoOverGen_GenEta_30_50_Cent_30_50","30<genpt<50 (30-50%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
853  mPtRecoOverGen_GenEta_50_80_Cent_30_50 = ibooker.bookProfile("PtRecoOverGen_GenEta_50_80_Cent_30_50","50<genpt<80 (30-50%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
854  mPtRecoOverGen_GenEta_80_120_Cent_30_50 = ibooker.bookProfile("PtRecoOverGen_GenEta_80_120_Cent_30_50","80<genpt<120 (30-50%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
855  mPtRecoOverGen_GenEta_120_180_Cent_30_50 = ibooker.bookProfile("PtRecoOverGen_GenEta_120_180_Cent_30_50","120<genpt<180 (30-50%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
856  mPtRecoOverGen_GenEta_180_300_Cent_30_50 = ibooker.bookProfile("PtRecoOverGen_GenEta_180_300_Cent_30_50","180<genpt<300 (30-50%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
857  mPtRecoOverGen_GenEta_300_Inf_Cent_30_50 = ibooker.bookProfile("PtRecoOverGen_GenEta_300_Inf_Cent_30_50","300<genpt<Inf (30-50%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
858 
859  mPtRecoOverGen_GenEta_20_30_Cent_50_80 = ibooker.bookProfile("PtRecoOverGen_GenEta_20_30_Cent_50_80","20<genpt<30 (50-80%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
860  mPtRecoOverGen_GenEta_50_80_Cent_50_80 = ibooker.bookProfile("PtRecoOverGen_GenEta_50_80_Cent_50_80","30<genpt<50 (50-80%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
861  mPtRecoOverGen_GenEta_50_80_Cent_50_80 = ibooker.bookProfile("PtRecoOverGen_GenEta_50_80_Cent_50_80","50<genpt<80 (50-80%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
862  mPtRecoOverGen_GenEta_80_120_Cent_50_80 = ibooker.bookProfile("PtRecoOverGen_GenEta_80_120_Cent_50_80","80<genpt<120 (50-80%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
863  mPtRecoOverGen_GenEta_120_180_Cent_50_80 = ibooker.bookProfile("PtRecoOverGen_GenEta_120_180_Cent_50_80","120<genpt<180 (50-80%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
864  mPtRecoOverGen_GenEta_180_300_Cent_50_80 = ibooker.bookProfile("PtRecoOverGen_GenEta_180_300_Cent_50_80","180<genpt<300 (50-80%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
865  mPtRecoOverGen_GenEta_300_Inf_Cent_50_80 = ibooker.bookProfile("PtRecoOverGen_GenEta_300_Inf_Cent_50_80","300<genpt<Inf (50-80%);geneta;recopt/genpt",90, etaRange, 0, 2, " ");
866 
867 
868  if (mOutputFile.empty ())
869  LogInfo("OutputInfo") << " Histograms will NOT be saved";
870  else
871  LogInfo("OutputInfo") << " Histograms will be saved to file:" << mOutputFile;
872 
873  delete h2D_etabins_vs_pt2;
874  delete h2D_etabins_vs_pt;
875  delete h2D_etabins_vs_phi;
876  delete h2D_pfcand_etabins_vs_pt;
877 }
878 
879 
880 
881 //------------------------------------------------------------------------------
882 // ~JetTester_HeavyIons
883 //------------------------------------------------------------------------------
885 
886 
887 //------------------------------------------------------------------------------
888 // beginJob
889 //------------------------------------------------------------------------------
890 //void JetTester_HeavyIons::beginJob() {
891 // //std::cout<<"inside the begin job function"<<endl;
892 //}
893 
894 
895 //------------------------------------------------------------------------------
896 // endJob
897 //------------------------------------------------------------------------------
898 //void JetTester_HeavyIons::endJob()
899 //{
900 // if (!mOutputFile.empty() && &*edm::Service<DQMStore>())
901 // {
902 // edm::Service<DQMStore>()->save(mOutputFile);
903 // }
904 //}
905 
906 
907 //------------------------------------------------------------------------------
908 // analyze
909 //------------------------------------------------------------------------------
910 void JetTester_HeavyIons::analyze(const edm::Event& mEvent, const edm::EventSetup& mSetup)
911 {
912  // Get the primary vertices
913  //----------------------------------------------------------------------------
915  mEvent.getByToken(pvToken_, pvHandle);
916  reco::Vertex::Point vtx(0,0,0);
918  //vtx = getVtx(mEvent);
919 
920  mEvent.getByToken(hiVertexToken_, vtxs);
921  int greatestvtx = 0;
922  int nVertex = vtxs->size();
923 
924  for (unsigned int i = 0 ; i< vtxs->size(); ++i){
925  unsigned int daughter = (*vtxs)[i].tracksSize();
926  if( daughter > (*vtxs)[greatestvtx].tracksSize()) greatestvtx = i;
927  }
928 
929  if(nVertex<=0){
930  vtx = reco::Vertex::Point(0,0,0);
931  }
932  vtx = (*vtxs)[greatestvtx].position();
933 
934  int nGoodVertices = 0;
935 
936  if (pvHandle.isValid())
937  {
938  for (unsigned i=0; i<pvHandle->size(); i++)
939  {
940  if ((*pvHandle)[i].ndof() > 4 &&
941  (fabs((*pvHandle)[i].z()) <= 24) &&
942  (fabs((*pvHandle)[i].position().rho()) <= 2))
943  nGoodVertices++;
944  }
945  }
946 
947  mNvtx->Fill(nGoodVertices);
948 
949  // Get the Jet collection
950  //----------------------------------------------------------------------------
951  //math::XYZTLorentzVector p4tmp[2];
952 
953  std::vector<Jet> recoJets;
954  recoJets.clear();
955 
960 
961  // Get the Particle flow candidates and the Voronoi variables
963  edm::Handle<CaloTowerCollection> caloCandidates;
964  edm::Handle<reco::CandidateView> pfcandidates_;
965  edm::Handle<reco::CandidateView> calocandidates_;
966 
967  //const reco::PFCandidateCollection *pfCandidateColl = pfcandidates.product();
970 
971  // get the centrality
973  mEvent.getByToken(centralityToken, cent); //_centralitytag comes from the cfg
974 
975  mHF->Fill(cent->EtHFtowerSum());
976  Float_t HF_energy = cent->EtHFtowerSum();
977 
978  edm::Handle<int> cbin;
979  mEvent.getByToken(centralityBinToken, cbin);
980  if (!cent.isValid()) return;
981  int hibin = -999;
982  if(cent.isValid()){
983  hibin = *cbin;
984  }
985 
986  bool isCentral = false;
987  bool ismidCentral = false;
988  bool ismidPeripheral = false;
989  bool isPeripheral = false;
990 
991  if(hibin < 20) isCentral = true;
992  if(hibin >= 20 && hibin < 60) ismidCentral = true;
993  if(hibin >= 60 && hibin < 100) ismidPeripheral = true;
994  if(hibin >= 100 && hibin < 160) isPeripheral = true;
995 
996  // for example
997  // edm::Handle<PFCandidate /*name of actual handle*/> pfcand;
998  // mEvent.getByToken(PFCandToken_,pfcand);
999 
1000  if (isCaloJet) mEvent.getByToken(caloJetsToken_, caloJets);
1001  if (isJPTJet) mEvent.getByToken(jptJetsToken_, jptJets);
1002  if (isPFJet) {
1003  if(std::string("Pu")==UEAlgo) mEvent.getByToken(basicJetsToken_, basicJets);
1004  if(std::string("Vs")==UEAlgo) mEvent.getByToken(pfJetsToken_, pfJets);
1005  }
1006 
1007  mEvent.getByToken(pfCandToken_, pfCandidates);
1008  mEvent.getByToken(pfCandViewToken_, pfcandidates_);
1009 
1010  mEvent.getByToken(caloTowersToken_, caloCandidates);
1011  mEvent.getByToken(caloCandViewToken_, calocandidates_);
1012 
1013  mEvent.getByToken(backgrounds_, VsBackgrounds);
1014  mEvent.getByToken(backgrounds_value_, vn_);
1015 
1016  //std::cout<<"HF energy = "<<HF_energy<<std::endl;
1017 
1018  const reco::PFCandidateCollection *pfCandidateColl = pfCandidates.product();
1019  //const CaloTowerCollection *caloCandidateColl = caloCandidates.product();
1020 
1021  Float_t vsPt=0;
1022  Float_t vsPtInitial = 0;
1023  Float_t vsArea = 0;
1024  Int_t NPFpart = 0;
1025  Int_t NCaloTower = 0;
1026  Float_t pfPt = 0;
1027  Float_t pfEta = 0;
1028  Int_t pfID = 0;
1029  Float_t pfPhi = 0;
1030  Float_t caloPt = 0;
1031  Float_t caloEta = 0;
1032  Float_t caloPhi = 0;
1033  Float_t SumPt_value = 0;
1034  // Float_t vn_value[200];
1035  // Float_t psin_value[200];
1036 
1037  // Float_t vn[fourierOrder_][etaBins_];
1038  // Float_t psin[fourierOrder_][etaBins_];
1039  //Float_t sumpT[etaBins_];
1040 
1041  double edge_pseudorapidity[etaBins_ +1] = {-5.191, -2.650, -2.043, -1.740, -1.479, -1.131, -0.783, -0.522, 0.522, 0.783, 1.131, 1.479, 1.740, 2.043, 2.650, 5.191 };
1042 
1044 
1045  // for(int ieta = 0;ieta<etaBins_;++ieta){
1046  // sumpT[ieta] = vnUE.get_sum_pt(ieta);
1047  // for(int ifour = 0;ifour<fourierOrder_; ++ifour){
1048  // vn[ifour][ieta] = vnUE.get_vn(ifour,ieta);
1049  // vn_value[ifour * etaBins_ + ieta]= vnUE.get_vn(ifour,ieta);
1050  // mvn->Fill(vn_value[ifour * etaBins_ + ieta]);
1051 
1052  // psin[ifour][ieta] = vnUE.get_psin(ifour,ieta);
1053  // psin_value[ifour * etaBins_ + ieta] = vnUE.get_psin(ifour,ieta);
1054  // mpsin->Fill(psin_value[ifour * etaBins_ + ieta]);
1055 
1056  // }
1057  // }
1058 
1059 
1060  //lets start making the necessary plots
1061  // Float_t Vs_0_x_minus = sumpT[0]*vn[0][0]*TMath::Cos(0*psin[0][0]);
1062  // Float_t Vs_0_x_plus = sumpT[14]*vn[0][14]*TMath::Cos(0*psin[0][14]);
1063  // Float_t Vs_0_y_minus = sumpT[0]*vn[0][0]*TMath::Sin(0*psin[0][0]);
1064  // Float_t Vs_0_y_plus = sumpT[14]*vn[0][14]*TMath::Sin(0*psin[0][14]);
1065  // Float_t Vs_0_x = Vs_0_x_minus + Vs_0_x_plus;
1066  // Float_t Vs_0_y = Vs_0_y_minus + Vs_0_y_plus;
1067 
1068  // Float_t Vs_1_x_minus = sumpT[0]*vn[1][0]*TMath::Cos(1*psin[1][0]);
1069  // Float_t Vs_1_x_plus = sumpT[14]*vn[1][14]*TMath::Cos(1*psin[1][14]);
1070  // Float_t Vs_1_y_minus = sumpT[0]*vn[1][0]*TMath::Sin(1*psin[1][0]);
1071  // Float_t Vs_1_y_plus = sumpT[14]*vn[1][14]*TMath::Sin(1*psin[1][14]);
1072  // Float_t Vs_1_x = Vs_1_x_minus + Vs_1_x_plus;
1073  // Float_t Vs_1_y = Vs_1_y_minus + Vs_1_y_plus;
1074 
1075  // Float_t Vs_2_x_minus = sumpT[0]*vn[2][0]*TMath::Cos(2*psin[2][0]);
1076  // Float_t Vs_2_x_plus = sumpT[14]*vn[2][14]*TMath::Cos(2*psin[2][14]);
1077  // Float_t Vs_2_y_minus = sumpT[0]*vn[2][0]*TMath::Sin(2*psin[2][0]);
1078  // Float_t Vs_2_y_plus = sumpT[14]*vn[2][14]*TMath::Sin(2*psin[2][14]);
1079  // Float_t Vs_2_x = Vs_2_x_minus + Vs_2_x_plus;
1080  // Float_t Vs_2_y = Vs_2_y_minus + Vs_2_y_plus;
1081 
1082  // Float_t Vs_3_x_minus = sumpT[0]*vn[3][0]*TMath::Cos(3*psin[3][0]);
1083  // Float_t Vs_3_x_plus = sumpT[14]*vn[3][14]*TMath::Cos(3*psin[3][14]);
1084  // Float_t Vs_3_y_minus = sumpT[0]*vn[3][0]*TMath::Sin(3*psin[3][0]);
1085  // Float_t Vs_3_y_plus = sumpT[14]*vn[3][14]*TMath::Sin(3*psin[3][14]);
1086  // Float_t Vs_3_x = Vs_3_x_minus + Vs_3_x_plus;
1087  // Float_t Vs_3_y = Vs_3_y_minus + Vs_3_y_plus;
1088 
1089  // Float_t Vs_4_x_minus = sumpT[0]*vn[4][0]*TMath::Cos(4*psin[4][0]);
1090  // Float_t Vs_4_x_plus = sumpT[14]*vn[4][14]*TMath::Cos(4*psin[4][14]);
1091  // Float_t Vs_4_y_minus = sumpT[0]*vn[4][0]*TMath::Sin(4*psin[4][0]);
1092  // Float_t Vs_4_y_plus = sumpT[14]*vn[4][14]*TMath::Sin(4*psin[4][14]);
1093  // Float_t Vs_4_x = Vs_4_x_minus + Vs_4_x_plus;
1094  // Float_t Vs_4_y = Vs_4_y_minus + Vs_4_y_plus;
1095 
1096  // mVs_0_x->Fill(Vs_0_x);
1097  // mVs_0_y->Fill(Vs_0_y);
1098  // mVs_1_x->Fill(Vs_1_x);
1099  // mVs_1_y->Fill(Vs_1_y);
1100  // mVs_2_x->Fill(Vs_2_x);
1101  // mVs_2_y->Fill(Vs_2_y);
1102 
1103  // mVs_0_x_versus_HF->Fill(HF_energy,Vs_0_x);
1104  // mVs_0_y_versus_HF->Fill(HF_energy,Vs_0_y);
1105  // mVs_1_x_versus_HF->Fill(HF_energy,Vs_1_x);
1106  // mVs_1_y_versus_HF->Fill(HF_energy,Vs_1_y);
1107  // mVs_2_x_versus_HF->Fill(HF_energy,Vs_2_x);
1108  // mVs_2_y_versus_HF->Fill(HF_energy,Vs_2_y);
1109 
1110  Float_t DeltapT = 0;
1111 
1112  if(isCaloJet){
1113 
1114  Float_t SumCaloVsPtInitial[etaBins_];
1115  Float_t SumCaloVsPt[etaBins_];
1116  Float_t SumCaloPt[etaBins_];
1117  Float_t SumSquaredCaloVsPtInitial[etaBins_];
1118  Float_t SumSquaredCaloVsPt[etaBins_];
1119  Float_t SumSquaredCaloPt[etaBins_];
1120 
1121  for(int i = 0;i<etaBins_;i++){
1122 
1123  SumCaloVsPtInitial[i] = 0;
1124  SumCaloVsPt[i] = 0;
1125  SumCaloPt[i] = 0;
1126  SumSquaredCaloVsPtInitial[i] = 0;
1127  SumSquaredCaloVsPt[i] = 0;
1128  SumSquaredCaloPt[i] = 0;
1129 
1130  }
1131 
1132  for(unsigned icand = 0;icand<caloCandidates->size(); icand++){
1133  //for(unsigned icand = 0;icand<10; icand++){
1134 
1135  const CaloTower & tower = (*caloCandidates)[icand];
1136  reco::CandidateViewRef ref(calocandidates_,icand);
1137  //10 is tower pT min
1138  //const GlobalPoint& pos=geo->getPosition(tower.id());
1139  //double et = tower.energy()*sin(pos.theta());
1140  if(tower.p4(vtx).Et() < 0.1) continue;
1141 
1142  //std::cout<<"icand = "<<icand<<std::endl;
1143 
1144  DeltapT = 0;
1145  vsPt = 0;
1146  vsPtInitial = 0;
1147  vsArea = 0;
1148 
1149  if(std::string("Vs")==UEAlgo) {
1150  const reco::VoronoiBackground& voronoi = (*VsBackgrounds)[ref];
1151  vsPt = voronoi.pt();
1152  vsPtInitial = voronoi.pt_subtracted();
1153  vsArea = voronoi.area();
1154 
1155  }
1156 
1157  NCaloTower++;
1158 
1159  caloPt = tower.p4(vtx).Et();
1160  caloEta = tower.p4(vtx).Eta();
1161  caloPhi = tower.p4(vtx).Phi();
1162 
1163  //std::cout<<"tower Pt = "<<caloPt<<std::endl;
1164  //std::cout<<"vsPtInitial = "<<vsPtInitial<<std::endl;
1165  //std::cout<<"vsPt = "<<vsPt<<std::endl;
1166  //std::cout<<"tower eta = "<<caloEta<<std::endl;
1167 
1168  // mCaloVsPtInitial_eta_phi->Fill(caloEta,caloPhi,vsPtInitial);
1169  // mCaloVsPt_eta_phi->Fill(caloEta,caloPhi,vsPt);
1170  // mCaloPt_eta_phi->Fill(caloEta,caloPhi,caloPt);
1171 
1172  DeltapT = caloPt - vsPtInitial;
1173  //std::cout<<"Delta pT = "<<DeltapT<<std::endl;
1174 
1175  mDeltapT->Fill(DeltapT);
1176  mDeltapT_eta->Fill(caloEta,DeltapT);
1177  // mDeltapT_eta_phi->Fill(caloEta,caloPhi,DeltapT);
1178 
1179  for(size_t k = 0;k<nedge_pseudorapidity-1; k++){
1180  if(caloEta >= edge_pseudorapidity[k] && caloEta < edge_pseudorapidity[k+1]){
1181  SumCaloVsPtInitial[k] = SumCaloVsPtInitial[k] + vsPtInitial;
1182  SumCaloVsPt[k] = SumCaloVsPt[k] + vsPt;
1183  SumCaloPt[k] = SumCaloPt[k] + caloPt;
1184  SumSquaredCaloVsPtInitial[k] = SumSquaredCaloVsPtInitial[k] + vsPtInitial*vsPtInitial;
1185  SumSquaredCaloVsPt[k] = SumSquaredCaloVsPt[k] + vsPt*vsPt;
1186  SumSquaredCaloPt[k] = SumSquaredCaloPt[k] + caloPt*caloPt;
1187  //std::cout<<edge_pseudorapidity[k]<<" to "<<edge_pseudorapidity[k+1]<<std::endl;
1188  //std::cout<<" Sum tower Pt["<<k<<"] = "<<SumCaloPt[k]<<std::endl;
1189  //std::cout<<" Sum vsPtInitial["<<k<<"] = "<<SumCaloVsPtInitial[k]<<std::endl;
1190  //std::cout<<" Sum vsPt["<<k<<"] = "<<SumCaloVsPt[k]<<std::endl;
1191  //std::cout<<" SumSquared tower Pt["<<k<<"] = "<<SumSquaredCaloPt[k]<<std::endl;
1192  //std::cout<<" SumSquared vsPtInitial["<<k<<"] = "<<SumSquaredCaloVsPtInitial[k]<<std::endl;
1193  //std::cout<<" SumSquared vsPt["<<k<<"] = "<<SumSquaredCaloVsPt[k]<<std::endl;
1194  break;
1195  }// eta selection statement
1196 
1197  }// eta bin loop
1198 
1199  SumPt_value = SumPt_value + caloPt;
1200 
1201  mCaloPt->Fill(caloPt);
1202  mCaloEta->Fill(caloEta);
1203  mCaloPhi->Fill(caloPhi);
1204  mCaloVsPt->Fill(vsPt);
1205  mCaloVsPtInitial->Fill(vsPtInitial);
1206  //mCaloVsPtEqualized
1207  mCaloArea->Fill(vsArea);
1208 
1209  }// calo tower candidate loop
1210 
1211  Float_t Evt_SumCaloVsPt = 0;
1212  Float_t Evt_SumCaloVsPtInitial = 0;
1213  Float_t Evt_SumCaloPt = 0;
1214 
1215  Float_t Evt_SumSquaredCaloVsPt = 0;
1216  Float_t Evt_SumSquaredCaloVsPtInitial = 0;
1217  Float_t Evt_SumSquaredCaloPt = 0;
1218 
1219  mSumCaloVsPtInitial_n5p191_n2p650->Fill(SumCaloVsPtInitial[0]);
1220  mSumCaloVsPtInitial_n2p650_n2p043->Fill(SumCaloVsPtInitial[1]);
1221  mSumCaloVsPtInitial_n2p043_n1p740->Fill(SumCaloVsPtInitial[2]);
1222  mSumCaloVsPtInitial_n1p740_n1p479->Fill(SumCaloVsPtInitial[3]);
1223  mSumCaloVsPtInitial_n1p479_n1p131->Fill(SumCaloVsPtInitial[4]);
1224  mSumCaloVsPtInitial_n1p131_n0p783->Fill(SumCaloVsPtInitial[5]);
1225  mSumCaloVsPtInitial_n0p783_n0p522->Fill(SumCaloVsPtInitial[6]);
1226  mSumCaloVsPtInitial_n0p522_0p522->Fill(SumCaloVsPtInitial[7]);
1227  mSumCaloVsPtInitial_0p522_0p783->Fill(SumCaloVsPtInitial[8]);
1228  mSumCaloVsPtInitial_0p783_1p131->Fill(SumCaloVsPtInitial[9]);
1229  mSumCaloVsPtInitial_1p131_1p479->Fill(SumCaloVsPtInitial[10]);
1230  mSumCaloVsPtInitial_1p479_1p740->Fill(SumCaloVsPtInitial[11]);
1231  mSumCaloVsPtInitial_1p740_2p043->Fill(SumCaloVsPtInitial[12]);
1232  mSumCaloVsPtInitial_2p043_2p650->Fill(SumCaloVsPtInitial[13]);
1233  mSumCaloVsPtInitial_2p650_5p191->Fill(SumCaloVsPtInitial[14]);
1234 
1235  mSumCaloVsPt_n5p191_n2p650->Fill(SumCaloVsPt[0]);
1236  mSumCaloVsPt_n2p650_n2p043->Fill(SumCaloVsPt[1]);
1237  mSumCaloVsPt_n2p043_n1p740->Fill(SumCaloVsPt[2]);
1238  mSumCaloVsPt_n1p740_n1p479->Fill(SumCaloVsPt[3]);
1239  mSumCaloVsPt_n1p479_n1p131->Fill(SumCaloVsPt[4]);
1240  mSumCaloVsPt_n1p131_n0p783->Fill(SumCaloVsPt[5]);
1241  mSumCaloVsPt_n0p783_n0p522->Fill(SumCaloVsPt[6]);
1242  mSumCaloVsPt_n0p522_0p522->Fill(SumCaloVsPt[7]);
1243  mSumCaloVsPt_0p522_0p783->Fill(SumCaloVsPt[8]);
1244  mSumCaloVsPt_0p783_1p131->Fill(SumCaloVsPt[9]);
1245  mSumCaloVsPt_1p131_1p479->Fill(SumCaloVsPt[10]);
1246  mSumCaloVsPt_1p479_1p740->Fill(SumCaloVsPt[11]);
1247  mSumCaloVsPt_1p740_2p043->Fill(SumCaloVsPt[12]);
1248  mSumCaloVsPt_2p043_2p650->Fill(SumCaloVsPt[13]);
1249  mSumCaloVsPt_2p650_5p191->Fill(SumCaloVsPt[14]);
1250 
1251  mSumCaloPt_n5p191_n2p650->Fill(SumCaloPt[0]);
1252  mSumCaloPt_n2p650_n2p043->Fill(SumCaloPt[1]);
1253  mSumCaloPt_n2p043_n1p740->Fill(SumCaloPt[2]);
1254  mSumCaloPt_n1p740_n1p479->Fill(SumCaloPt[3]);
1255  mSumCaloPt_n1p479_n1p131->Fill(SumCaloPt[4]);
1256  mSumCaloPt_n1p131_n0p783->Fill(SumCaloPt[5]);
1257  mSumCaloPt_n0p783_n0p522->Fill(SumCaloPt[6]);
1258  mSumCaloPt_n0p522_0p522->Fill(SumCaloPt[7]);
1259  mSumCaloPt_0p522_0p783->Fill(SumCaloPt[8]);
1260  mSumCaloPt_0p783_1p131->Fill(SumCaloPt[9]);
1261  mSumCaloPt_1p131_1p479->Fill(SumCaloPt[10]);
1262  mSumCaloPt_1p479_1p740->Fill(SumCaloPt[11]);
1263  mSumCaloPt_1p740_2p043->Fill(SumCaloPt[12]);
1264  mSumCaloPt_2p043_2p650->Fill(SumCaloPt[13]);
1265  mSumCaloPt_2p650_5p191->Fill(SumCaloPt[14]);
1266 
1267  for(size_t k = 0;k<nedge_pseudorapidity-1;k++){
1268 
1269  //mSumCaloVsPtInitial->Fill(SumCaloVsPtInitial[k]);
1270  Evt_SumCaloVsPtInitial = Evt_SumCaloVsPtInitial + SumCaloVsPtInitial[k];
1271  //mSumCaloVsPt->Fill(SumCaloVsPt[k]);
1272  Evt_SumCaloVsPt = Evt_SumCaloVsPt + SumCaloVsPt[k];
1273  //mSumCaloPt->Fill(SumCaloPt[k]);
1274  Evt_SumCaloPt = Evt_SumCaloPt + SumCaloPt[k];
1275 
1276  //mSumSquaredCaloVsPtInitial->Fill(SumSquaredCaloVsPtInitial[k]);
1277  Evt_SumSquaredCaloVsPtInitial = Evt_SumSquaredCaloVsPtInitial + SumSquaredCaloVsPtInitial[k];
1278  //mSumSquaredCaloVsPt->Fill(SumSquaredCaloVsPt[k]);
1279  Evt_SumSquaredCaloVsPt = Evt_SumSquaredCaloVsPt + SumSquaredCaloVsPt[k];
1280  //mSumSquaredCaloPt->Fill(SumSquaredCaloPt[k]);
1281  Evt_SumSquaredCaloPt = Evt_SumSquaredCaloPt + SumSquaredCaloPt[k];
1282 
1283  // mSumCaloVsPtInitial_eta->Fill(edge_pseudorapidity[k],SumCaloVsPtInitial[k]);
1284  // mSumCaloVsPt_eta->Fill(edge_pseudorapidity[k],SumCaloVsPt[k]);
1285  // mSumCaloPt_eta->Fill(edge_pseudorapidity[k],SumCaloPt[k]);
1286 
1287  // mSumSquaredCaloVsPtInitial_eta->Fill(edge_pseudorapidity[k],SumSquaredCaloVsPtInitial[k]);
1288  // mSumSquaredCaloVsPt_eta->Fill(edge_pseudorapidity[k],SumSquaredCaloVsPt[k]);
1289  // mSumSquaredCaloPt_eta->Fill(edge_pseudorapidity[k],SumSquaredCaloPt[k]);
1290 
1291  //std::cout<<"eta iteration = "<<edge_pseudorapidity[k]<<std::endl;
1292  //std::cout<<"event value of sum tower pT = "<<Evt_SumCaloPt<<std::endl;
1293  //std::cout<<"event value of sum Calo Vs pT initial = "<<Evt_SumCaloVsPtInitial<<std::endl;
1294  //std::cout<<"event value of sum Calo VS pT = "<<Evt_SumCaloVsPt<<std::endl;
1295 
1296  }// eta bin loop
1297 
1298  mSumCaloVsPtInitial->Fill(Evt_SumCaloVsPtInitial);
1299  mSumCaloVsPt->Fill(Evt_SumCaloVsPt);
1300  mSumCaloPt->Fill(Evt_SumCaloPt);
1301 
1302  mSumSquaredCaloVsPtInitial->Fill(Evt_SumSquaredCaloVsPtInitial);
1303  mSumSquaredCaloVsPt->Fill(Evt_SumSquaredCaloVsPt);
1304  mSumSquaredCaloPt->Fill(Evt_SumSquaredCaloPt);
1305 
1306  mSumCaloVsPtInitial_HF->Fill(Evt_SumCaloVsPtInitial,HF_energy);
1307  mSumCaloVsPt_HF->Fill(Evt_SumCaloVsPt,HF_energy);
1308  mSumCaloPt_HF->Fill(Evt_SumCaloPt,HF_energy);
1309 
1310  mNCalopart->Fill(NCaloTower);
1311  mSumpt->Fill(SumPt_value);
1312 
1313  }// is calo jet
1314 
1315  if(isPFJet){
1316 
1317  Float_t SumPFVsPtInitial[etaBins_];
1318  Float_t SumPFVsPt[etaBins_];
1319  Float_t SumPFPt[etaBins_];
1320 
1321  Float_t SumSquaredPFVsPtInitial[etaBins_];
1322  Float_t SumSquaredPFVsPt[etaBins_];
1323  Float_t SumSquaredPFPt[etaBins_];
1324 
1325  for(int i = 0;i<etaBins_;i++){
1326 
1327  SumPFVsPtInitial[i] = 0;
1328  SumPFVsPt[i] = 0;
1329  SumPFPt[i] = 0;
1330  SumSquaredPFVsPtInitial[i] = 0;
1331  SumSquaredPFVsPt[i] = 0;
1332  SumSquaredPFPt[i] = 0;
1333 
1334  }
1335 
1336  for(unsigned icand=0;icand<pfCandidateColl->size(); icand++){
1337 
1338  const reco::PFCandidate pfCandidate = pfCandidateColl->at(icand);
1339  reco::CandidateViewRef ref(pfcandidates_,icand);
1340 
1341  if(pfCandidate.pt() < 0.5) continue;
1342 
1343  if(std::string("Vs")==UEAlgo) {
1344 
1345  const reco::VoronoiBackground& voronoi = (*VsBackgrounds)[ref];
1346  vsPt = voronoi.pt();
1347  vsPtInitial = voronoi.pt_subtracted();
1348  vsArea = voronoi.area();
1349 
1350  }
1351 
1352  NPFpart++;
1353  pfPt = pfCandidate.pt();
1354  pfEta = pfCandidate.eta();
1355  pfPhi = pfCandidate.phi();
1356  pfID = pfCandidate.particleId();
1357 
1358  bool inBarrel = false;
1359  bool inEndcap = false;
1360  bool inForward = false;
1361 
1362  if(fabs(pfEta)<BarrelEta) inBarrel = true;
1363  if(fabs(pfEta)>=BarrelEta && fabs(pfEta)<EndcapEta) inEndcap = true;
1364  if(fabs(pfEta)>=EndcapEta && fabs(pfEta)<ForwardEta) inForward = true;
1365 
1366  switch(pfID){
1367  case 0 :
1368  mPFCandpT_vs_eta_Unknown->Fill(pfPt, pfEta);
1369  if(inBarrel) mPFCandpT_Barrel_Unknown->Fill(pfPt);
1370  if(inEndcap) mPFCandpT_Endcap_Unknown->Fill(pfPt);
1371  if(inForward) mPFCandpT_Forward_Unknown->Fill(pfPt);
1372  case 1 :
1373  mPFCandpT_vs_eta_ChargedHadron->Fill(pfPt, pfEta);
1374  if(inBarrel) mPFCandpT_Barrel_ChargedHadron->Fill(pfPt);
1375  if(inEndcap) mPFCandpT_Endcap_ChargedHadron->Fill(pfPt);
1376  if(inForward) mPFCandpT_Forward_ChargedHadron->Fill(pfPt);
1377  case 2 :
1378  mPFCandpT_vs_eta_electron->Fill(pfPt, pfEta);
1379  if(inBarrel) mPFCandpT_Barrel_electron->Fill(pfPt);
1380  if(inEndcap) mPFCandpT_Endcap_electron->Fill(pfPt);
1381  if(inForward) mPFCandpT_Forward_electron->Fill(pfPt);
1382  case 3 :
1383  mPFCandpT_vs_eta_muon->Fill(pfPt, pfEta);
1384  if(inBarrel) mPFCandpT_Barrel_muon->Fill(pfPt);
1385  if(inEndcap) mPFCandpT_Endcap_muon->Fill(pfPt);
1386  if(inForward) mPFCandpT_Forward_muon->Fill(pfPt);
1387  case 4 :
1388  mPFCandpT_vs_eta_photon->Fill(pfPt, pfEta);
1389  if(inBarrel) mPFCandpT_Barrel_photon->Fill(pfPt);
1390  if(inEndcap) mPFCandpT_Endcap_photon->Fill(pfPt);
1391  if(inForward) mPFCandpT_Forward_photon->Fill(pfPt);
1392  case 5 :
1393  mPFCandpT_vs_eta_NeutralHadron->Fill(pfPt, pfEta);
1394  if(inBarrel) mPFCandpT_Barrel_NeutralHadron->Fill(pfPt);
1395  if(inEndcap) mPFCandpT_Endcap_NeutralHadron->Fill(pfPt);
1396  if(inForward) mPFCandpT_Forward_NeutralHadron->Fill(pfPt);
1397  case 6 :
1398  mPFCandpT_vs_eta_HadE_inHF->Fill(pfPt, pfEta);
1399  if(inBarrel) mPFCandpT_Barrel_HadE_inHF->Fill(pfPt);
1400  if(inEndcap) mPFCandpT_Endcap_HadE_inHF->Fill(pfPt);
1401  if(inForward) mPFCandpT_Forward_HadE_inHF->Fill(pfPt);
1402  case 7 :
1403  mPFCandpT_vs_eta_EME_inHF->Fill(pfPt, pfEta);
1404  if(inBarrel) mPFCandpT_Barrel_EME_inHF->Fill(pfPt);
1405  if(inEndcap) mPFCandpT_Endcap_EME_inHF->Fill(pfPt);
1406  if(inForward) mPFCandpT_Forward_EME_inHF->Fill(pfPt);
1407  }
1408 
1409 
1410 
1411  // mPFVsPtInitial_eta_phi->Fill(pfEta,pfPhi,vsPtInitial);
1412  // mPFVsPt_eta_phi->Fill(pfEta,pfPhi,vsPt);
1413  // mPFPt_eta_phi->Fill(pfEta,pfPhi,pfPt);
1414 
1415  DeltapT = pfPt - vsPtInitial;
1416  mDeltapT->Fill(DeltapT);
1417  mDeltapT_eta->Fill(pfEta,DeltapT);
1418  // mDeltapT_eta_phi->Fill(pfEta,pfPhi,DeltapT);
1419 
1420  for(size_t k = 0;k<nedge_pseudorapidity-1; k++){
1421  if(pfEta >= edge_pseudorapidity[k] && pfEta < edge_pseudorapidity[k+1]){
1422  SumPFVsPtInitial[k] = SumPFVsPtInitial[k] + vsPtInitial;
1423  SumPFVsPt[k] = SumPFVsPt[k] + vsPt;
1424  SumPFPt[k] = SumPFPt[k] + pfPt;
1425 
1426  SumSquaredPFVsPtInitial[k] = SumSquaredPFVsPtInitial[k] + vsPtInitial*vsPtInitial;
1427  SumSquaredPFVsPt[k] = SumSquaredPFVsPt[k] + vsPt*vsPt;
1428  SumSquaredPFPt[k] = SumSquaredPFPt[k] + pfPt*pfPt;
1429 
1430  }// eta selection statement
1431 
1432  }// eta bin loop
1433 
1434  SumPt_value = SumPt_value + pfPt;
1435 
1436  mPFPt->Fill(pfPt);
1437  mPFEta->Fill(pfEta);
1438  mPFPhi->Fill(pfPhi);
1439  mPFVsPt->Fill(vsPt);
1440  mPFVsPtInitial->Fill(vsPtInitial);
1441  //mPFVsPtEqualized
1442  mPFArea->Fill(vsArea);
1443 
1444  }// pf candidate loop
1445 
1446  Float_t Evt_SumPFVsPt = 0;
1447  Float_t Evt_SumPFVsPtInitial = 0;
1448  Float_t Evt_SumPFPt = 0;
1449 
1450  Float_t Evt_SumSquaredPFVsPt = 0;
1451  Float_t Evt_SumSquaredPFVsPtInitial = 0;
1452  Float_t Evt_SumSquaredPFPt = 0;
1453 
1454  mSumPFVsPtInitial_n5p191_n2p650->Fill(SumPFVsPtInitial[0]);
1455  mSumPFVsPtInitial_n2p650_n2p043->Fill(SumPFVsPtInitial[1]);
1456  mSumPFVsPtInitial_n2p043_n1p740->Fill(SumPFVsPtInitial[2]);
1457  mSumPFVsPtInitial_n1p740_n1p479->Fill(SumPFVsPtInitial[3]);
1458  mSumPFVsPtInitial_n1p479_n1p131->Fill(SumPFVsPtInitial[4]);
1459  mSumPFVsPtInitial_n1p131_n0p783->Fill(SumPFVsPtInitial[5]);
1460  mSumPFVsPtInitial_n0p783_n0p522->Fill(SumPFVsPtInitial[6]);
1461  mSumPFVsPtInitial_n0p522_0p522->Fill(SumPFVsPtInitial[7]);
1462  mSumPFVsPtInitial_0p522_0p783->Fill(SumPFVsPtInitial[8]);
1463  mSumPFVsPtInitial_0p783_1p131->Fill(SumPFVsPtInitial[9]);
1464  mSumPFVsPtInitial_1p131_1p479->Fill(SumPFVsPtInitial[10]);
1465  mSumPFVsPtInitial_1p479_1p740->Fill(SumPFVsPtInitial[11]);
1466  mSumPFVsPtInitial_1p740_2p043->Fill(SumPFVsPtInitial[12]);
1467  mSumPFVsPtInitial_2p043_2p650->Fill(SumPFVsPtInitial[13]);
1468  mSumPFVsPtInitial_2p650_5p191->Fill(SumPFVsPtInitial[14]);
1469 
1470  mSumPFVsPt_n5p191_n2p650->Fill(SumPFVsPt[0]);
1471  mSumPFVsPt_n2p650_n2p043->Fill(SumPFVsPt[1]);
1472  mSumPFVsPt_n2p043_n1p740->Fill(SumPFVsPt[2]);
1473  mSumPFVsPt_n1p740_n1p479->Fill(SumPFVsPt[3]);
1474  mSumPFVsPt_n1p479_n1p131->Fill(SumPFVsPt[4]);
1475  mSumPFVsPt_n1p131_n0p783->Fill(SumPFVsPt[5]);
1476  mSumPFVsPt_n0p783_n0p522->Fill(SumPFVsPt[6]);
1477  mSumPFVsPt_n0p522_0p522->Fill(SumPFVsPt[7]);
1478  mSumPFVsPt_0p522_0p783->Fill(SumPFVsPt[8]);
1479  mSumPFVsPt_0p783_1p131->Fill(SumPFVsPt[9]);
1480  mSumPFVsPt_1p131_1p479->Fill(SumPFVsPt[10]);
1481  mSumPFVsPt_1p479_1p740->Fill(SumPFVsPt[11]);
1482  mSumPFVsPt_1p740_2p043->Fill(SumPFVsPt[12]);
1483  mSumPFVsPt_2p043_2p650->Fill(SumPFVsPt[13]);
1484  mSumPFVsPt_2p650_5p191->Fill(SumPFVsPt[14]);
1485 
1486  mSumPFPt_n5p191_n2p650->Fill(SumPFPt[0]);
1487  mSumPFPt_n2p650_n2p043->Fill(SumPFPt[1]);
1488  mSumPFPt_n2p043_n1p740->Fill(SumPFPt[2]);
1489  mSumPFPt_n1p740_n1p479->Fill(SumPFPt[3]);
1490  mSumPFPt_n1p479_n1p131->Fill(SumPFPt[4]);
1491  mSumPFPt_n1p131_n0p783->Fill(SumPFPt[5]);
1492  mSumPFPt_n0p783_n0p522->Fill(SumPFPt[6]);
1493  mSumPFPt_n0p522_0p522->Fill(SumPFPt[7]);
1494  mSumPFPt_0p522_0p783->Fill(SumPFPt[8]);
1495  mSumPFPt_0p783_1p131->Fill(SumPFPt[9]);
1496  mSumPFPt_1p131_1p479->Fill(SumPFPt[10]);
1497  mSumPFPt_1p479_1p740->Fill(SumPFPt[11]);
1498  mSumPFPt_1p740_2p043->Fill(SumPFPt[12]);
1499  mSumPFPt_2p043_2p650->Fill(SumPFPt[13]);
1500  mSumPFPt_2p650_5p191->Fill(SumPFPt[14]);
1501 
1502  for(size_t k = 0;k<nedge_pseudorapidity-1;k++){
1503 
1504  //mSumPFVsPtInitial->Fill(SumPFVsPtInitial[k]);
1505  Evt_SumPFVsPtInitial = Evt_SumPFVsPtInitial + SumPFVsPtInitial[k];
1506  //mSumPFVsPt->Fill(SumPFVsPt[k]);
1507  Evt_SumPFVsPt = Evt_SumPFVsPt + SumPFVsPt[k];
1508  //mSumPFPt->Fill(SumPFPt[k]);
1509  Evt_SumPFPt = Evt_SumPFPt + SumPFPt[k];
1510 
1511  // mSumPFVsPtInitial_eta->Fill(edge_pseudorapidity[k],SumPFVsPtInitial[k]);
1512  // mSumPFVsPt_eta->Fill(edge_pseudorapidity[k],SumPFVsPt[k]);
1513  // mSumPFPt_eta->Fill(edge_pseudorapidity[k],SumPFPt[k]);
1514 
1515  //mSumSquaredPFVsPtInitial->Fill(SumSquaredPFVsPtInitial[k]);
1516  Evt_SumSquaredPFVsPtInitial = Evt_SumSquaredPFVsPtInitial + SumSquaredPFVsPtInitial[k];
1517  //mSumSquaredPFVsPt->Fill(SumSquaredPFVsPt[k]);
1518  Evt_SumSquaredPFVsPt = Evt_SumSquaredPFVsPt + SumSquaredPFVsPt[k];
1519  //mSumSquaredPFPt->Fill(SumSquaredPFPt[k]);
1520  Evt_SumSquaredPFPt = Evt_SumSquaredPFPt + SumSquaredPFPt[k];
1521 
1522  // mSumSquaredPFVsPtInitial_eta->Fill(edge_pseudorapidity[k],SumSquaredPFVsPtInitial[k]);
1523  // mSumSquaredPFVsPt_eta->Fill(edge_pseudorapidity[k],SumSquaredPFVsPt[k]);
1524  // mSumSquaredPFPt_eta->Fill(edge_pseudorapidity[k],SumSquaredPFPt[k]);
1525 
1526 
1527  }// eta bin loop
1528 
1529  mSumPFVsPtInitial->Fill(Evt_SumPFVsPtInitial);
1530  mSumPFVsPt->Fill(Evt_SumPFVsPt);
1531  mSumPFPt->Fill(Evt_SumPFPt);
1532 
1533  mSumSquaredPFVsPtInitial->Fill(Evt_SumSquaredPFVsPtInitial);
1534  mSumSquaredPFVsPt->Fill(Evt_SumSquaredPFVsPt);
1535  mSumSquaredPFPt->Fill(Evt_SumSquaredPFPt);
1536 
1537  mSumPFVsPtInitial_HF->Fill(Evt_SumPFVsPtInitial,HF_energy);
1538  mSumPFVsPt_HF->Fill(Evt_SumPFVsPt,HF_energy);
1539  mSumPFPt_HF->Fill(Evt_SumPFPt,HF_energy);
1540 
1541  mNPFpart->Fill(NPFpart);
1542  mSumpt->Fill(SumPt_value);
1543 
1544  }
1545 
1546  if (isCaloJet)
1547  {
1548  for (unsigned ijet=0; ijet<caloJets->size(); ijet++) recoJets.push_back((*caloJets)[ijet]);
1549  }
1550 
1551  if (isJPTJet)
1552  {
1553  for (unsigned ijet=0; ijet<jptJets->size(); ijet++) recoJets.push_back((*jptJets)[ijet]);
1554  }
1555 
1556  if (isPFJet) {
1557  if(std::string("Pu")==UEAlgo){
1558  for (unsigned ijet=0; ijet<basicJets->size();ijet++) recoJets.push_back((*basicJets)[ijet]);
1559  }
1560  if(std::string("Vs")==UEAlgo){
1561  for (unsigned ijet=0; ijet<pfJets->size(); ijet++) recoJets.push_back((*pfJets)[ijet]);
1562  }
1563  }
1564 
1565  if (isCaloJet && !caloJets.isValid()) return;
1566  if (isJPTJet && !jptJets.isValid()) return;
1567  if (isPFJet){
1568  if(std::string("Pu")==UEAlgo){if(!basicJets.isValid()) return;}
1569  if(std::string("Vs")==UEAlgo){if(!pfJets.isValid()) return;}
1570  }
1571 
1572  // int nJet_E_20_40 = 0;
1573  // int nJet_B_20_40 = 0;
1574  // int nJet_E_40 = 0;
1575  // int nJet_B_40 = 0;
1576  int nJet_40 = 0;
1577 
1578  mNJets->Fill(recoJets.size());
1579 
1580  for (unsigned ijet=0; ijet<recoJets.size(); ijet++) {
1581 
1582  if (recoJets[ijet].pt() > mRecoJetPtThreshold) {
1583  //counting forward and barrel jets
1584  // get an idea of no of jets with pT>40 GeV
1585  if(recoJets[ijet].pt() > 40)
1586  nJet_40++;
1587 
1588  if (mEta) mEta->Fill(recoJets[ijet].eta());
1589  if (mjetpileup) mjetpileup->Fill(recoJets[ijet].pileup());
1590  if (mJetArea) mJetArea ->Fill(recoJets[ijet].jetArea());
1591  if (mPhi) mPhi ->Fill(recoJets[ijet].phi());
1592  if (mEnergy) mEnergy ->Fill(recoJets[ijet].energy());
1593  if (mP) mP ->Fill(recoJets[ijet].p());
1594  if (mPt) mPt ->Fill(recoJets[ijet].pt());
1595  if (mMass) mMass ->Fill(recoJets[ijet].mass());
1596  if (mConstituents) mConstituents->Fill(recoJets[ijet].nConstituents());
1597 
1598  }
1599  }
1600 
1601  if (mNJets_40) mNJets_40->Fill(nJet_40);
1602 
1603 
1604  // Gen level information:
1605  if (!mEvent.isRealData()){
1606 
1607  // Get ptHat
1608  //------------------------------------------------------------------------
1610  mEvent.getByToken(evtToken_, myGenEvt);
1611 
1612  if (myGenEvt.isValid()) {
1613  if(myGenEvt->hasBinningValues()){
1614  double ptHat = myGenEvt->binningValues()[0];
1615  if (mPtHat) mPtHat->Fill(ptHat);
1616  }
1617  }
1618  // Gen jets
1619  //------------------------------------------------------------------------
1621  mEvent.getByToken(genJetsToken_, genJets);
1622 
1623  if (!genJets.isValid()) return;
1624 
1625  for (GenJetCollection::const_iterator gjet=genJets->begin(); gjet!=genJets->end(); gjet++) {
1626  if(gjet->pt() > mMatchGenPtThreshold){
1627  if (mGenEta) mGenEta->Fill(gjet->eta());
1628  if (mGenPhi) mGenPhi->Fill(gjet->phi());
1629  if (mGenPt) mGenPt ->Fill(gjet->pt());
1630  }
1631  }
1632 
1633  if (!(mInputGenCollection.label().empty())) {
1634  for (GenJetCollection::const_iterator gjet=genJets->begin(); gjet!=genJets->end(); gjet++) {
1635  if (fabs(gjet->eta()) > 6.) continue; // Out of the detector
1636  if (gjet->pt() < mMatchGenPtThreshold) continue;
1637  if (recoJets.size() <= 0) continue;
1638 
1639  bool inBarrel = false;
1640  bool inEndcap = false;
1641  bool inForward = false;
1642 
1643  if(fabs(gjet->eta())<BarrelEta) inBarrel = true;
1644  if(fabs(gjet->eta())>=BarrelEta && fabs(gjet->eta())<EndcapEta) inEndcap = true;
1645  if(fabs(gjet->eta())>=EndcapEta && fabs(gjet->eta())<ForwardEta) inForward = true;
1646 
1647  // pt response
1648  //------------------------------------------------------------
1649  int iMatch = -1;
1650  double deltaRBest = 999;
1651  double JetPtBest = 0;
1652  for (unsigned ijet=0; ijet<recoJets.size(); ++ijet) {
1653  double recoPt = recoJets[ijet].pt();
1654  if (recoPt > 10) {
1655  double delR = deltaR(gjet->eta(), gjet->phi(), recoJets[ijet].eta(), recoJets[ijet].phi());
1656  if (delR < deltaRBest) {
1657  deltaRBest = delR;
1658  JetPtBest = recoPt;
1659  iMatch = ijet;
1660  }
1661  }
1662  }
1663  if (iMatch<0) continue;
1664 
1665  //fillMatchHists(gjet->eta(), gjet->phi(), gjet->pt(), recoJets[iMatch].eta(), recoJets[iMatch].phi(), recoJets[iMatch].pt(), hibin);
1666  if(deltaRBest < mRThreshold){
1667  double genpt = gjet->pt();
1668  double geneta = gjet->eta();
1669  double response = JetPtBest / genpt;
1670  // Fill all the response histograms here: for each pT bin, eta region, centrality bin
1671 
1672  if(inBarrel) {
1673  if(isCentral)
1674  mPtRecoOverGen_GenPt_B_Cent_0_10->Fill(log10(genpt), response);
1675  if(ismidCentral)
1676  mPtRecoOverGen_GenPt_B_Cent_10_30->Fill(log10(genpt), response);
1677  if(ismidPeripheral)
1678  mPtRecoOverGen_GenPt_B_Cent_30_50->Fill(log10(genpt), response);
1679  if(isPeripheral)
1680  mPtRecoOverGen_GenPt_B_Cent_50_80->Fill(log10(genpt), response);
1681  }
1682  if(inEndcap) {
1683  if(isCentral)
1684  mPtRecoOverGen_GenPt_E_Cent_0_10->Fill(log10(genpt), response);
1685  if(ismidCentral)
1686  mPtRecoOverGen_GenPt_E_Cent_10_30->Fill(log10(genpt), response);
1687  if(ismidPeripheral)
1688  mPtRecoOverGen_GenPt_E_Cent_30_50->Fill(log10(genpt), response);
1689  if(isPeripheral)
1690  mPtRecoOverGen_GenPt_E_Cent_50_80->Fill(log10(genpt), response);
1691  }
1692  if(inForward) {
1693  if(isCentral)
1694  mPtRecoOverGen_GenPt_F_Cent_0_10->Fill(log10(genpt), response);
1695  if(ismidCentral)
1696  mPtRecoOverGen_GenPt_F_Cent_10_30->Fill(log10(genpt), response);
1697  if(ismidPeripheral)
1698  mPtRecoOverGen_GenPt_F_Cent_30_50->Fill(log10(genpt), response);
1699  if(isPeripheral)
1700  mPtRecoOverGen_GenPt_F_Cent_50_80->Fill(log10(genpt), response);
1701  }
1702 
1703  if( gjet->pt() >= 20 && gjet->pt() < 30 ){
1704  if(isCentral){
1705  mPtRecoOverGen_GenEta_20_30_Cent_0_10->Fill(geneta, response);
1706  if(inBarrel)
1708  if(inEndcap)
1710  if(inForward)
1712  }//
1713  if(ismidCentral){
1714  mPtRecoOverGen_GenEta_20_30_Cent_10_30->Fill(geneta, response);
1715  if(inBarrel)
1717  if(inEndcap)
1719  if(inForward)
1721  }//
1722  if(ismidPeripheral){
1723  mPtRecoOverGen_GenEta_20_30_Cent_30_50->Fill(geneta, response);
1724  if(inBarrel)
1726  if(inEndcap)
1728  if(inForward)
1730  }//
1731  if(isPeripheral){
1732  mPtRecoOverGen_GenEta_20_30_Cent_50_80->Fill(geneta, response);
1733  if(inBarrel)
1735  if(inEndcap)
1737  if(inForward)
1739  }//
1740  }// pt bin 20-30
1741 
1742  if( gjet->pt() >= 30 && gjet->pt() < 50 ){
1743  if(isCentral){
1744  mPtRecoOverGen_GenEta_30_50_Cent_0_10->Fill(geneta, response);
1745  if(inBarrel)
1747  if(inEndcap)
1749  if(inForward)
1751  }//
1752  if(ismidCentral){
1753  mPtRecoOverGen_GenEta_30_50_Cent_10_30->Fill(geneta, response);
1754  if(inBarrel)
1756  if(inEndcap)
1758  if(inForward)
1760  }//
1761  if(ismidPeripheral){
1762  mPtRecoOverGen_GenEta_30_50_Cent_30_50->Fill(geneta, response);
1763  if(inBarrel)
1765  if(inEndcap)
1767  if(inForward)
1769  }//
1770  if(isPeripheral){
1771  mPtRecoOverGen_GenEta_30_50_Cent_50_80->Fill(geneta, response);
1772  if(inBarrel)
1774  if(inEndcap)
1776  if(inForward)
1778  }//
1779  }// pt bin 30-50
1780 
1781  if( gjet->pt() >= 50 && gjet->pt() < 80 ){
1782  if(isCentral){
1783  mPtRecoOverGen_GenEta_50_80_Cent_0_10->Fill(geneta, response);
1784  if(inBarrel)
1786  if(inEndcap)
1788  if(inForward)
1790  }//
1791  if(ismidCentral){
1792  mPtRecoOverGen_GenEta_50_80_Cent_10_30->Fill(geneta, response);
1793  if(inBarrel)
1795  if(inEndcap)
1797  if(inForward)
1799  }//
1800  if(ismidPeripheral){
1801  mPtRecoOverGen_GenEta_50_80_Cent_30_50->Fill(geneta, response);
1802  if(inBarrel)
1804  if(inEndcap)
1806  if(inForward)
1808  }//
1809  if(isPeripheral){
1810  mPtRecoOverGen_GenEta_50_80_Cent_50_80->Fill(geneta, response);
1811  if(inBarrel)
1813  if(inEndcap)
1815  if(inForward)
1817  }//
1818  }// pt bin 50-80
1819 
1820  if( gjet->pt() >= 80 && gjet->pt() < 120 ){
1821  if(isCentral){
1822  mPtRecoOverGen_GenEta_80_120_Cent_0_10->Fill(geneta, response);
1823  if(inBarrel)
1825  if(inEndcap)
1827  if(inForward)
1829  }//
1830  if(ismidCentral){
1831  mPtRecoOverGen_GenEta_80_120_Cent_10_30->Fill(geneta, response);
1832  if(inBarrel)
1834  if(inEndcap)
1836  if(inForward)
1838  }//
1839  if(ismidPeripheral){
1840  mPtRecoOverGen_GenEta_80_120_Cent_30_50->Fill(geneta, response);
1841  if(inBarrel)
1843  if(inEndcap)
1845  if(inForward)
1847  }//
1848  if(isPeripheral){
1849  mPtRecoOverGen_GenEta_80_120_Cent_50_80->Fill(geneta, response);
1850  if(inBarrel)
1852  if(inEndcap)
1854  if(inForward)
1856  }//
1857  }// pt bin 80-120
1858 
1859  if( gjet->pt() >= 120 && gjet->pt() < 180 ){
1860  if(isCentral){
1861  mPtRecoOverGen_GenEta_120_180_Cent_0_10->Fill(geneta, response);
1862  if(inBarrel)
1864  if(inEndcap)
1866  if(inForward)
1868  }//
1869  if(ismidCentral){
1871  if(inBarrel)
1873  if(inEndcap)
1875  if(inForward)
1877  }//
1878  if(ismidPeripheral){
1880  if(inBarrel)
1882  if(inEndcap)
1884  if(inForward)
1886  }//
1887  if(isPeripheral){
1889  if(inBarrel)
1891  if(inEndcap)
1893  if(inForward)
1895  }//
1896  }// pt bin 120-180
1897 
1898  if( gjet->pt() >= 180 && gjet->pt() < 300 ){
1899  if(isCentral){
1900  mPtRecoOverGen_GenEta_180_300_Cent_0_10->Fill(geneta, response);
1901  if(inBarrel)
1903  if(inEndcap)
1905  if(inForward)
1907  }//
1908  if(ismidCentral){
1910  if(inBarrel)
1912  if(inEndcap)
1914  if(inForward)
1916  }//
1917  if(ismidPeripheral){
1919  if(inBarrel)
1921  if(inEndcap)
1923  if(inForward)
1925  }//
1926  if(isPeripheral){
1928  if(inBarrel)
1930  if(inEndcap)
1932  if(inForward)
1934  }//
1935  }// pt bin 180-300
1936 
1937  if(gjet->pt() >= 300){
1938  if(isCentral){
1939  mPtRecoOverGen_GenEta_300_Inf_Cent_0_10->Fill(geneta, response);
1940  if(inBarrel)
1942  if(inEndcap)
1944  if(inForward)
1946  }//
1947  if(ismidCentral){
1949  if(inBarrel)
1951  if(inEndcap)
1953  if(inForward)
1955  }//
1956  if(ismidPeripheral){
1958  if(inBarrel)
1960  if(inEndcap)
1962  if(inForward)
1964  }//
1965  if(isPeripheral){
1967  if(inBarrel)
1969  if(inEndcap)
1971  if(inForward)
1973  }//
1974  }// pt bin 300-Inf
1975 
1976  }// delta R < mRthreshold
1977 
1978  }// gen jet collection loop
1979 
1980 
1981  }// not empty gen collection
1982 
1983  }// is the event real
1984 
1985 }
1986 
1987 
1988 //------------------------------------------------------------------------------
1989 // fillMatchHists
1990 //------------------------------------------------------------------------------
1991 // void JetTester_HeavyIons::fillMatchHists(const double GenEta,
1992 // const double GenPhi,
1993 // const double GenPt,
1994 // const double RecoEta,
1995 // const double RecoPhi,
1996 // const double RecoPt,
1997 // const double bin)
1998 // {
1999 
2000 // // nothing for now.
2001 
2002 // }
MonitorElement * mSumPFVsPt_1p131_1p479
MonitorElement * mSumCaloPt_0p522_0p783
MonitorElement * mPtRecoOverGen_B_50_80_Cent_0_10
MonitorElement * mSumPFVsPt_n1p740_n1p479
MonitorElement * mSumSquaredPFVsPt
const double Pi
MonitorElement * mPtRecoOverGen_F_20_30_Cent_30_50
T getParameter(std::string const &) const
MonitorElement * mSumPFVsPt_n0p522_0p522
MonitorElement * mPtRecoOverGen_F_120_180_Cent_30_50
int i
Definition: DBlmapReader.cc:9
MonitorElement * mPtRecoOverGen_E_30_50_Cent_50_80
MonitorElement * mPtRecoOverGen_F_300_Inf_Cent_0_10
MonitorElement * mSumCaloVsPt_n1p479_n1p131
MonitorElement * mSumPFVsPt_HF
MonitorElement * mSumCaloPt_n5p191_n2p650
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * mPtRecoOverGen_F_30_50_Cent_0_10
MonitorElement * mSumCaloPt_2p043_2p650
MonitorElement * mSumPFPt_n0p783_n0p522
MonitorElement * mPFCandpT_Barrel_photon
MonitorElement * mPtRecoOverGen_GenEta_20_30_Cent_30_50
MonitorElement * mPtRecoOverGen_F_120_180_Cent_50_80
MonitorElement * mSumPFVsPtInitial_HF
edm::InputTag mInputCollection
edm::EDGetTokenT< CaloTowerCollection > caloTowersToken_
edm::EDGetTokenT< reco::PFJetCollection > pfJetsToken_
const Double_t EndcapEta
MonitorElement * mSumCaloVsPt_n0p522_0p522
MonitorElement * mPtRecoOverGen_F_30_50_Cent_30_50
MonitorElement * mPtRecoOverGen_GenEta_50_80_Cent_30_50
MonitorElement * mNCalopart
MonitorElement * mCaloArea
MonitorElement * mPtRecoOverGen_GenEta_300_Inf_Cent_50_80
MonitorElement * mSumCaloVsPtInitial_0p522_0p783
math::PtEtaPhiMLorentzVector p4(double vtxZ) const
Definition: CaloTower.cc:129
JetTester_HeavyIons(const edm::ParameterSet &)
MonitorElement * mSumCaloPt_1p479_1p740
MonitorElement * mSumCaloVsPtInitial_n1p740_n1p479
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
MonitorElement * mSumCaloPt_n0p522_0p522
MonitorElement * mSumPFVsPtInitial_n1p131_n0p783
MonitorElement * mEnergy
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:457
static const Int_t etaBins_
MonitorElement * mPtRecoOverGen_F_80_120_Cent_30_50
MonitorElement * mPFPhi
MonitorElement * mPtRecoOverGen_E_50_80_Cent_30_50
MonitorElement * mSumCaloPt
MonitorElement * mSumCaloPt_n1p131_n0p783
MonitorElement * mPtRecoOverGen_B_120_180_Cent_30_50
MonitorElement * mPtRecoOverGen_GenEta_180_300_Cent_30_50
edm::EDGetTokenT< reco::PFCandidateCollection > pfCandToken_
MonitorElement * mSumSquaredCaloPt
MonitorElement * mPtRecoOverGen_E_300_Inf_Cent_10_30
MonitorElement * mCaloPt
edm::InputTag centralityBinTag_
MonitorElement * mPtRecoOverGen_E_120_180_Cent_50_80
MonitorElement * mPFCandpT_vs_eta_EME_inHF
MonitorElement * mSumCaloPt_n2p043_n1p740
MonitorElement * mPtRecoOverGen_F_30_50_Cent_10_30
MonitorElement * mSumPFVsPt_2p650_5p191
MonitorElement * mPtRecoOverGen_B_300_Inf_Cent_30_50
MonitorElement * mNJets
MonitorElement * mSumCaloVsPtInitial_n1p479_n1p131
MonitorElement * mPtRecoOverGen_E_50_80_Cent_10_30
MonitorElement * mPtRecoOverGen_E_30_50_Cent_10_30
MonitorElement * mPtRecoOverGen_GenPt_E_Cent_0_10
MonitorElement * mSumCaloVsPt_1p740_2p043
MonitorElement * mSumCaloVsPtInitial_n1p131_n0p783
MonitorElement * mPtRecoOverGen_E_20_30_Cent_50_80
MonitorElement * mPtRecoOverGen_GenEta_50_80_Cent_0_10
MonitorElement * mPtRecoOverGen_E_80_120_Cent_50_80
MonitorElement * mDeltapT
edm::EDGetTokenT< std::vector< float > > backgrounds_value_
MonitorElement * mSumCaloVsPt_n0p783_n0p522
MonitorElement * mPtRecoOverGen_B_300_Inf_Cent_0_10
edm::InputTag mInputPFCandCollection
static const Int_t fourierOrder_
MonitorElement * mSumCaloVsPtInitial_n0p783_n0p522
MonitorElement * mSumSquaredPFPt
MonitorElement * mSumPFPt_n2p650_n2p043
MonitorElement * mSumCaloVsPt_1p479_1p740
MonitorElement * mSumCaloPt_n2p650_n2p043
MonitorElement * mPtRecoOverGen_GenEta_20_30_Cent_10_30
MonitorElement * mPtRecoOverGen_GenPt_B_Cent_10_30
MonitorElement * mpsin
MonitorElement * mPtRecoOverGen_E_20_30_Cent_0_10
MonitorElement * mGenPt
MonitorElement * mPtRecoOverGen_GenPt_F_Cent_50_80
MonitorElement * mPtRecoOverGen_B_20_30_Cent_0_10
MonitorElement * mSumCaloPt_n1p740_n1p479
MonitorElement * mSumCaloVsPtInitial
MonitorElement * mSumPFVsPtInitial
MonitorElement * mSumCaloVsPtInitial_n2p043_n1p740
MonitorElement * mPFCandpT_Barrel_ChargedHadron
bool isRealData() const
Definition: EventBase.h:64
MonitorElement * mPtRecoOverGen_B_50_80_Cent_30_50
virtual double eta() const
momentum pseudorapidity
virtual double pt() const
transverse momentum
MonitorElement * mPtRecoOverGen_GenEta_180_300_Cent_0_10
MonitorElement * mPtRecoOverGen_GenEta_30_50_Cent_0_10
MonitorElement * mPFCandpT_vs_eta_muon
MonitorElement * mPtRecoOverGen_B_180_300_Cent_10_30
MonitorElement * mSumCaloVsPt_n2p043_n1p740
edm::EDGetTokenT< reco::CandidateView > caloCandViewToken_
MonitorElement * mSumPFPt_0p783_1p131
MonitorElement * mSumPFPt_1p479_1p740
MonitorElement * mPtRecoOverGen_B_20_30_Cent_30_50
void Fill(long long x)
MonitorElement * mPtRecoOverGen_B_20_30_Cent_10_30
std::vector< PFCandidatePtr > pfCandidates(const PFJet &jet, int particleId, bool sort=true)
MonitorElement * mPtRecoOverGen_F_30_50_Cent_50_80
MonitorElement * mPFCandpT_Barrel_HadE_inHF
MonitorElement * mSumSquaredCaloVsPt
MonitorElement * mPtHat
MonitorElement * mPtRecoOverGen_GenPt_B_Cent_50_80
MonitorElement * mPFCandpT_vs_eta_NeutralHadron
MonitorElement * mSumPFPt_n1p131_n0p783
MonitorElement * mSumPFVsPtInitial_n2p650_n2p043
MonitorElement * mPtRecoOverGen_E_20_30_Cent_30_50
MonitorElement * mPFCandpT_Barrel_Unknown
MonitorElement * mPFCandpT_Barrel_EME_inHF
MonitorElement * mPFCandpT_Forward_Unknown
MonitorElement * mPtRecoOverGen_F_180_300_Cent_10_30
MonitorElement * mSumPFVsPt_n2p043_n1p740
MonitorElement * mSumCaloPt_1p131_1p479
MonitorElement * mNJets_40
MonitorElement * mSumCaloVsPtInitial_1p740_2p043
MonitorElement * mSumPFVsPt_2p043_2p650
MonitorElement * mSumCaloVsPt_n1p740_n1p479
MonitorElement * mSumPFVsPt
MonitorElement * mPtRecoOverGen_F_300_Inf_Cent_50_80
MonitorElement * mSumCaloVsPt_1p131_1p479
edm::EDGetTokenT< reco::Centrality > centralityToken
MonitorElement * mPtRecoOverGen_F_20_30_Cent_10_30
MonitorElement * mPtRecoOverGen_GenEta_120_180_Cent_30_50
edm::EDGetTokenT< reco::BasicJetCollection > basicJetsToken_
MonitorElement * mPtRecoOverGen_E_80_120_Cent_10_30
MonitorElement * mPtRecoOverGen_B_80_120_Cent_30_50
MonitorElement * mPtRecoOverGen_F_50_80_Cent_10_30
MonitorElement * mPFCandpT_Endcap_NeutralHadron
MonitorElement * mPtRecoOverGen_E_80_120_Cent_0_10
MonitorElement * mPtRecoOverGen_E_30_50_Cent_0_10
MonitorElement * mSumPFPt_n0p522_0p522
MonitorElement * mSumPFPt_n5p191_n2p650
MonitorElement * mSumPFVsPtInitial_0p783_1p131
MonitorElement * mPtRecoOverGen_GenPt_E_Cent_10_30
MonitorElement * mSumCaloVsPtInitial_n5p191_n2p650
edm::EDGetTokenT< std::vector< reco::Vertex > > hiVertexToken_
MonitorElement * mSumCaloVsPtInitial_0p783_1p131
MonitorElement * mPtRecoOverGen_E_30_50_Cent_30_50
MonitorElement * mJetArea
MonitorElement * mPFCandpT_Forward_NeutralHadron
MonitorElement * mPtRecoOverGen_GenEta_30_50_Cent_50_80
MonitorElement * mSumPFVsPtInitial_n0p522_0p522
MonitorElement * mPFCandpT_vs_eta_photon
MonitorElement * mPFCandpT_Forward_photon
MonitorElement * mPFCandpT_Endcap_photon
MonitorElement * mPtRecoOverGen_B_80_120_Cent_10_30
MonitorElement * mSumPFPt_n2p043_n1p740
MonitorElement * mSumCaloPt_2p650_5p191
MonitorElement * mSumPFVsPt_1p740_2p043
MonitorElement * mPtRecoOverGen_F_20_30_Cent_0_10
MonitorElement * mPtRecoOverGen_GenEta_20_30_Cent_0_10
MonitorElement * mSumPFPt
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
MonitorElement * mPtRecoOverGen_B_30_50_Cent_0_10
MonitorElement * mPtRecoOverGen_GenEta_50_80_Cent_10_30
MonitorElement * mPtRecoOverGen_E_180_300_Cent_10_30
MonitorElement * mPtRecoOverGen_F_50_80_Cent_50_80
MonitorElement * mPtRecoOverGen_F_180_300_Cent_30_50
MonitorElement * mPtRecoOverGen_F_300_Inf_Cent_30_50
MonitorElement * mPtRecoOverGen_GenPt_E_Cent_30_50
MonitorElement * mPtRecoOverGen_B_30_50_Cent_10_30
math::XYZPoint Point
point in the space
Definition: Vertex.h:39
MonitorElement * mNPFpart
MonitorElement * mPtRecoOverGen_GenPt_F_Cent_10_30
MonitorElement * mPFPt
MonitorElement * mPtRecoOverGen_F_80_120_Cent_50_80
MonitorElement * mSumPFVsPtInitial_1p740_2p043
edm::EDGetTokenT< GenEventInfoProduct > evtToken_
MonitorElement * mPtRecoOverGen_F_180_300_Cent_0_10
MonitorElement * mPtRecoOverGen_F_50_80_Cent_0_10
MonitorElement * mPtRecoOverGen_B_120_180_Cent_10_30
edm::EDGetTokenT< reco::JPTJetCollection > jptJetsToken_
MonitorElement * mPFCandpT_Endcap_EME_inHF
MonitorElement * mPFCandpT_Barrel_muon
MonitorElement * mSumPFVsPtInitial_2p650_5p191
MonitorElement * mPtRecoOverGen_GenEta_120_180_Cent_0_10
MonitorElement * mSumPFPt_0p522_0p783
bool isValid() const
Definition: HandleBase.h:75
MonitorElement * mPtRecoOverGen_GenEta_120_180_Cent_50_80
MonitorElement * mSumPFVsPt_n2p650_n2p043
MonitorElement * mPtRecoOverGen_E_300_Inf_Cent_30_50
static const size_t nedge_pseudorapidity
MonitorElement * mPtRecoOverGen_B_300_Inf_Cent_10_30
MonitorElement * mPtRecoOverGen_F_120_180_Cent_10_30
MonitorElement * mPtRecoOverGen_B_50_80_Cent_50_80
MonitorElement * mSumCaloVsPt_n2p650_n2p043
MonitorElement * mPtRecoOverGen_E_20_30_Cent_10_30
MonitorElement * mSumPFPt_1p131_1p479
MonitorElement * mPtRecoOverGen_F_80_120_Cent_10_30
edm::InputTag centralityTag_
MonitorElement * mPFCandpT_Forward_ChargedHadron
MonitorElement * mSumCaloVsPt_2p043_2p650
MonitorElement * mSumPFVsPtInitial_n1p740_n1p479
const Double_t ForwardEta
MonitorElement * mPFCandpT_Endcap_HadE_inHF
double deltaR(double eta1, double eta2, double phi1, double phi2)
Definition: TreeUtility.cc:17
MonitorElement * mSumPFVsPt_n5p191_n2p650
MonitorElement * mPFCandpT_Forward_electron
MonitorElement * mPtRecoOverGen_F_120_180_Cent_0_10
MonitorElement * mConstituents
MonitorElement * mPFCandpT_vs_eta_ChargedHadron
MonitorElement * mPFVsPtInitial
MonitorElement * mSumPFPt_1p740_2p043
edm::EDGetTokenT< reco::CandidateView > pfCandViewToken_
std::vector< reco::PFCandidate > PFCandidateCollection
collection of PFCandidates
MonitorElement * mSumCaloVsPt_n5p191_n2p650
MonitorElement * mSumSquaredPFVsPtInitial
MonitorElement * mSumCaloVsPt_n1p131_n0p783
MonitorElement * mPtRecoOverGen_GenEta_80_120_Cent_50_80
MonitorElement * mPtRecoOverGen_B_30_50_Cent_30_50
MonitorElement * mPtRecoOverGen_B_80_120_Cent_50_80
edm::EDGetTokenT< reco::GenJetCollection > genJetsToken_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
MonitorElement * mSumPFVsPt_n1p131_n0p783
edm::EDGetTokenT< std::vector< reco::Vertex > > pvToken_
MonitorElement * mPFCandpT_Forward_muon
T const * product() const
Definition: Handle.h:81
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
MonitorElement * mPtRecoOverGen_B_80_120_Cent_0_10
MonitorElement * mPtRecoOverGen_GenEta_300_Inf_Cent_30_50
MonitorElement * mSumPFVsPtInitial_n5p191_n2p650
MonitorElement * mSumPFPt_n1p479_n1p131
MonitorElement * mCaloVsPt
MonitorElement * mPtRecoOverGen_B_120_180_Cent_0_10
MonitorElement * mSumPFPt_2p043_2p650
MonitorElement * mSumPFVsPtInitial_1p131_1p479
MonitorElement * mPtRecoOverGen_GenPt_F_Cent_30_50
MonitorElement * mPFCandpT_vs_eta_HadE_inHF
MonitorElement * mCaloVsPtInitial
tuple recoJets
Definition: RecoJets_cff.py:56
MonitorElement * mCaloEta
MonitorElement * mPtRecoOverGen_E_120_180_Cent_10_30
MonitorElement * mPtRecoOverGen_GenEta_30_50_Cent_30_50
MonitorElement * mSumCaloVsPtInitial_n0p522_0p522
MonitorElement * mPFCandpT_Endcap_Unknown
MonitorElement * mSumCaloVsPt_HF
MonitorElement * mSumCaloPt_n0p783_n0p522
MonitorElement * mPFEta
MonitorElement * mGenPhi
MonitorElement * mPtRecoOverGen_B_120_180_Cent_50_80
MonitorElement * mPtRecoOverGen_F_80_120_Cent_0_10
MonitorElement * mSumCaloVsPt_0p783_1p131
MonitorElement * mPFCandpT_vs_eta_electron
MonitorElement * mPFCandpT_vs_eta_Unknown
MonitorElement * mCaloPhi
MonitorElement * mPFCandpT_Endcap_ChargedHadron
MonitorElement * mSumPFVsPtInitial_n2p043_n1p740
std::string const & label() const
Definition: InputTag.h:43
MonitorElement * mSumCaloVsPtInitial_n2p650_n2p043
MonitorElement * mPtRecoOverGen_F_50_80_Cent_30_50
MonitorElement * mPFCandpT_Forward_EME_inHF
MonitorElement * mSumCaloPt_0p783_1p131
MonitorElement * mSumCaloVsPtInitial_2p043_2p650
double pt_subtracted() const
MonitorElement * mPtRecoOverGen_E_80_120_Cent_30_50
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:39
MonitorElement * mSumpt
MonitorElement * mPtRecoOverGen_GenEta_80_120_Cent_0_10
MonitorElement * mPtRecoOverGen_E_180_300_Cent_30_50
MonitorElement * mPtRecoOverGen_E_50_80_Cent_50_80
edm::EDGetTokenT< int > centralityBinToken
MonitorElement * mSumPFPt_HF
MonitorElement * mPtRecoOverGen_GenPt_F_Cent_0_10
MonitorElement * mPtRecoOverGen_GenPt_B_Cent_0_10
static int position[264][3]
Definition: ReadPGInfo.cc:509
MonitorElement * mPtRecoOverGen_B_180_300_Cent_30_50
MonitorElement * mPtRecoOverGen_F_180_300_Cent_50_80
MonitorElement * mSumPFVsPtInitial_0p522_0p783
MonitorElement * mSumPFVsPtInitial_1p479_1p740
MonitorElement * mPtRecoOverGen_GenEta_300_Inf_Cent_10_30
MonitorElement * mSumPFPt_2p650_5p191
MonitorElement * mGenEta
MonitorElement * mPtRecoOverGen_E_300_Inf_Cent_50_80
MonitorElement * mSumPFVsPtInitial_2p043_2p650
MonitorElement * mPtRecoOverGen_GenPt_B_Cent_30_50
MonitorElement * mPtRecoOverGen_GenEta_80_120_Cent_10_30
MonitorElement * mPtRecoOverGen_E_120_180_Cent_30_50
const Double_t BarrelEta
MonitorElement * mPtRecoOverGen_B_180_300_Cent_0_10
MonitorElement * mPtRecoOverGen_B_180_300_Cent_50_80
MonitorElement * mPFCandpT_Barrel_NeutralHadron
MonitorElement * mSumCaloPt_HF
MonitorElement * mPFCandpT_Forward_HadE_inHF
MonitorElement * mNvtx
MonitorElement * mSumPFVsPt_n0p783_n0p522
MonitorElement * mDeltapT_eta
MonitorElement * mPtRecoOverGen_GenEta_180_300_Cent_50_80
MonitorElement * mSumCaloVsPtInitial_HF
MonitorElement * mSumCaloVsPtInitial_1p479_1p740
MonitorElement * mMass
MonitorElement * mPtRecoOverGen_GenEta_300_Inf_Cent_0_10
MonitorElement * mSumPFVsPt_n1p479_n1p131
virtual ParticleType particleId() const
Definition: PFCandidate.h:373
edm::InputTag mInputGenCollection
MonitorElement * mPtRecoOverGen_GenEta_50_80_Cent_50_80
MonitorElement * mSumPFPt_n1p740_n1p479
MonitorElement * mPFArea
MonitorElement * mSumCaloVsPtInitial_1p131_1p479
MonitorElement * mPtRecoOverGen_GenEta_120_180_Cent_10_30
MonitorElement * mPtRecoOverGen_GenEta_20_30_Cent_50_80
MonitorElement * mSumCaloVsPt_2p650_5p191
tuple pfJets
Definition: pfJets_cff.py:8
virtual double phi() const
momentum azimuthal angle
MonitorElement * mPFCandpT_Endcap_electron
MonitorElement * mPtRecoOverGen_B_20_30_Cent_50_80
MonitorElement * mSumPFVsPt_1p479_1p740
MonitorElement * mPFCandpT_Barrel_electron
MonitorElement * mPtRecoOverGen_GenEta_180_300_Cent_10_30
MonitorElement * mSumCaloVsPtInitial_2p650_5p191
MonitorElement * mSumPFVsPt_0p783_1p131
edm::EDGetTokenT< edm::ValueMap< reco::VoronoiBackground > > backgrounds_
MonitorElement * mPtRecoOverGen_E_180_300_Cent_50_80
MonitorElement * mPtRecoOverGen_B_50_80_Cent_10_30
MonitorElement * mSumCaloVsPt_0p522_0p783
MonitorElement * mPtRecoOverGen_GenEta_30_50_Cent_10_30
edm::EDGetTokenT< reco::CaloJetCollection > caloJetsToken_
MonitorElement * mPFCandpT_Endcap_muon
MonitorElement * mPtRecoOverGen_F_300_Inf_Cent_10_30
MonitorElement * mPtRecoOverGen_E_180_300_Cent_0_10
MonitorElement * mSumSquaredCaloVsPtInitial
MonitorElement * mSumPFVsPt_0p522_0p783
MonitorElement * mSumCaloPt_1p740_2p043
MonitorElement * mPtRecoOverGen_GenEta_80_120_Cent_30_50
MonitorElement * mSumPFVsPtInitial_n1p479_n1p131
Definition: Run.h:41
MonitorElement * mPtRecoOverGen_E_50_80_Cent_0_10
MonitorElement * mPtRecoOverGen_GenPt_E_Cent_50_80
MonitorElement * mPtRecoOverGen_B_30_50_Cent_50_80
MonitorElement * mSumCaloPt_n1p479_n1p131
MonitorElement * mPFVsPt
MonitorElement * mPtRecoOverGen_B_300_Inf_Cent_50_80
MonitorElement * mPtRecoOverGen_F_20_30_Cent_50_80
MonitorElement * mSumPFVsPtInitial_n0p783_n0p522
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * mPtRecoOverGen_E_300_Inf_Cent_0_10
MonitorElement * mPtRecoOverGen_E_120_180_Cent_0_10
MonitorElement * mjetpileup
MonitorElement * mSumCaloVsPt