CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PFJetAnalyzer.cc
Go to the documentation of this file.
1 /*
2  * See header file for a description of this class.
3  *
4  * \author F. Chlebana - Fermilab
5  */
6 
9 
11 
13 
14 #include <string>
15 using namespace edm;
16 
17 
19 
20  parameters = pSet;
21  _leadJetFlag = 0;
22  _JetLoPass = 0;
23  _JetHiPass = 0;
24  _ptThreshold = 5.;
25  _asymmetryThirdJetCut = 30.;
26  _balanceThirdJetCut = 0.2;
27  _LooseCHFMin = -999.;
28  _LooseNHFMax = -999.;
29  _LooseCEFMax = -999.;
30  _LooseNEFMax = -999.;
31  _TightCHFMin = -999.;
32  _TightNHFMax = -999.;
33  _TightCEFMax = -999.;
34  _TightNEFMax = -999.;
35  _ThisCHFMin = -999.;
36  _ThisNHFMax = -999.;
37  _ThisCEFMax = -999.;
38  _ThisNEFMax = -999.;
39 
40 }
41 
42 
44 
45 
47 
48  metname = "pFJetAnalyzer";
49 
50  LogTrace(metname)<<"[PFJetAnalyzer] Parameters initialization";
51  //dbe->setCurrentFolder("JetMET/Jet/PFJets");//old version, now name set to source, which
52  //can be set for each instance of PFJetAnalyzer called inside JetMETAnalyzer. Useful, e.g., to
53  //name differently the dir for all jets and cleaned jets
54  dbe->setCurrentFolder("JetMET/Jet/"+_source);
55  // dbe->setCurrentFolder("JetMET/Jet/PFJets");
56 
57  jetME = dbe->book1D("jetReco", "jetReco", 3, 1, 4);
58  jetME->setBinLabel(2,"PFJets",1);
59 
60  // monitoring of eta parameter
61  etaBin = parameters.getParameter<int>("etaBin");
62  etaMin = parameters.getParameter<double>("etaMin");
63  etaMax = parameters.getParameter<double>("etaMax");
64 
65  // monitoring of phi paramater
66  phiBin = parameters.getParameter<int>("phiBin");
67  phiMin = parameters.getParameter<double>("phiMin");
68  phiMax = parameters.getParameter<double>("phiMax");
69 
70  // monitoring of the transverse momentum
71  ptBin = parameters.getParameter<int>("ptBin");
72  ptMin = parameters.getParameter<double>("ptMin");
73  ptMax = parameters.getParameter<double>("ptMax");
74 
75  //
76  eBin = parameters.getParameter<int>("eBin");
77  eMin = parameters.getParameter<double>("eMin");
78  eMax = parameters.getParameter<double>("eMax");
79 
80  //
81  pBin = parameters.getParameter<int>("pBin");
82  pMin = parameters.getParameter<double>("pMin");
83  pMax = parameters.getParameter<double>("pMax");
84 
85  _ptThreshold = parameters.getParameter<double>("ptThreshold");
86  _asymmetryThirdJetCut = parameters.getParameter<double>("asymmetryThirdJetCut");
87  _balanceThirdJetCut = parameters.getParameter<double>("balanceThirdJetCut");
88 
89  _TightCHFMin = parameters.getParameter<double>("TightCHFMin");
90  _TightNHFMax = parameters.getParameter<double>("TightNHFMax");
91  _TightCEFMax = parameters.getParameter<double>("TightCEFMax");
92  _TightNEFMax = parameters.getParameter<double>("TightNEFMax");
93  _LooseCHFMin = parameters.getParameter<double>("LooseCHFMin");
94  _LooseNHFMax = parameters.getParameter<double>("LooseNHFMax");
95  _LooseCEFMax = parameters.getParameter<double>("LooseCEFMax");
96  _LooseNEFMax = parameters.getParameter<double>("LooseNEFMax");
97 
98  fillpfJIDPassFrac = parameters.getParameter<int>("fillpfJIDPassFrac");
99  makedijetselection = parameters.getParameter<int>("makedijetselection");
100 
101  _ThisCHFMin = parameters.getParameter<double>("ThisCHFMin");
102  _ThisNHFMax = parameters.getParameter<double>("ThisNHFMax");
103  _ThisCEFMax = parameters.getParameter<double>("ThisCEFMax");
104  _ThisNEFMax = parameters.getParameter<double>("ThisNEFMax");
105 
106  // Generic Jet Parameters
107  mPt = dbe->book1D("Pt", "Pt", ptBin, ptMin, ptMax);
108  mEta = dbe->book1D("Eta", "Eta", etaBin, etaMin, etaMax);
109  mPhi = dbe->book1D("Phi", "Phi", phiBin, phiMin, phiMax);
110  mConstituents = dbe->book1D("Constituents", "# of constituents", 50, 0, 100);
111  mHFrac = dbe->book1D("HFrac", "HFrac", 120, -0.1, 1.1);
112  mEFrac = dbe->book1D("EFrac", "EFrac", 120, -0.1, 1.1);
113 
114 
115  // Book NPV profiles
116  //----------------------------------------------------------------------------
117  mPt_profile = dbe->bookProfile("Pt_profile", "pt", nbinsPV, PVlow, PVup, ptBin, ptMin, ptMax);
118  mEta_profile = dbe->bookProfile("Eta_profile", "eta", nbinsPV, PVlow, PVup, etaBin, etaMin, etaMax);
119  mPhi_profile = dbe->bookProfile("Phi_profile", "phi", nbinsPV, PVlow, PVup, phiBin, phiMin, phiMax);
120  mConstituents_profile = dbe->bookProfile("Constituents_profile", "# of constituents", nbinsPV, PVlow, PVup, 50, 0, 100);
121  mHFrac_profile = dbe->bookProfile("HFrac_profile", "Hfrac", nbinsPV, PVlow, PVup, 120, -0.1, 1.1);
122  mEFrac_profile = dbe->bookProfile("EFrac_profile", "Efrac", nbinsPV, PVlow, PVup, 120, -0.1, 1.1);
123 
124 
125  // Set NPV profiles x-axis title
126  //----------------------------------------------------------------------------
127  mPt_profile ->setAxisTitle("nvtx",1);
128  mEta_profile ->setAxisTitle("nvtx",1);
129  mPhi_profile ->setAxisTitle("nvtx",1);
130  mConstituents_profile->setAxisTitle("nvtx",1);
131  mHFrac_profile ->setAxisTitle("nvtx",1);
132  mEFrac_profile ->setAxisTitle("nvtx",1);
133 
134 
135  //mE = dbe->book1D("E", "E", eBin, eMin, eMax);
136  //mP = dbe->book1D("P", "P", pBin, pMin, pMax);
137  //mMass = dbe->book1D("Mass", "Mass", 100, 0, 25);
138  //
139  mPhiVSEta = dbe->book2D("PhiVSEta", "PhiVSEta", 50, etaMin, etaMax, 24, phiMin, phiMax);
140 
141  if(makedijetselection!=1) {
142  mPt_1 = dbe->book1D("Pt1", "Pt1", 50, 0, 100);
143  mPt_2 = dbe->book1D("Pt2", "Pt2", 60, 0, 300);
144  mPt_3 = dbe->book1D("Pt3", "Pt3", 100, 0, 5000);
145 
146  // Low and high pt trigger paths
147  mPt_Lo = dbe->book1D("Pt_Lo", "Pt (Pass Low Pt Jet Trigger)", 20, 0, 100);
148  //mEta_Lo = dbe->book1D("Eta_Lo", "Eta (Pass Low Pt Jet Trigger)", etaBin, etaMin, etaMax);
149  mPhi_Lo = dbe->book1D("Phi_Lo", "Phi (Pass Low Pt Jet Trigger)", phiBin, phiMin, phiMax);
150 
151  mPt_Hi = dbe->book1D("Pt_Hi", "Pt (Pass Hi Pt Jet Trigger)", 100, 0, 300);
152  mEta_Hi = dbe->book1D("Eta_Hi", "Eta (Pass Hi Pt Jet Trigger)", etaBin, etaMin, etaMax);
153  mPhi_Hi = dbe->book1D("Phi_Hi", "Phi (Pass Hi Pt Jet Trigger)", phiBin, phiMin, phiMax);
154 
155  mNJets = dbe->book1D("NJets", "number of jets", 100, 0, 100);
156 
157  mCHFracVSeta_lowPt= dbe->bookProfile("CHFracVSeta_lowPt","CHFracVSeta_lowPt",etaBin, etaMin, etaMax,0.,1.2);
158  mNHFracVSeta_lowPt= dbe->bookProfile("NHFracVSeta_lowPt","NHFracVSeta_lowPt",etaBin, etaMin, etaMax,0.,1.2);
159  mPhFracVSeta_lowPt= dbe->bookProfile("PhFracVSeta_lowPt","PhFracVSeta_lowPt",etaBin, etaMin, etaMax,0.,1.2);
160  mElFracVSeta_lowPt= dbe->bookProfile("ElFracVSeta_lowPt","ElFracVSeta_lowPt",etaBin, etaMin, etaMax,0.,1.2);
161  mMuFracVSeta_lowPt= dbe->bookProfile("MuFracVSeta_lowPt","MuFracVSeta_lowPt",etaBin, etaMin, etaMax,0.,1.2);
162  mCHFracVSeta_mediumPt= dbe->bookProfile("CHFracVSeta_mediumPt","CHFracVSeta_mediumPt",etaBin, etaMin, etaMax,0.,1.2);
163  mNHFracVSeta_mediumPt= dbe->bookProfile("NHFracVSeta_mediumPt","NHFracVSeta_mediumPt",etaBin, etaMin, etaMax,0.,1.2);
164  mPhFracVSeta_mediumPt= dbe->bookProfile("PhFracVSeta_mediumPt","PhFracVSeta_mediumPt",etaBin, etaMin, etaMax,0.,1.2);
165  mElFracVSeta_mediumPt= dbe->bookProfile("ElFracVSeta_mediumPt","ElFracVSeta_mediumPt",etaBin, etaMin, etaMax,0.,1.2);
166  mMuFracVSeta_mediumPt= dbe->bookProfile("MuFracVSeta_mediumPt","MuFracVSeta_mediumPt",etaBin, etaMin, etaMax,0.,1.2);
167  mCHFracVSeta_highPt= dbe->bookProfile("CHFracVSeta_highPt","CHFracVSeta_highPt",etaBin, etaMin, etaMax,0.,1.2);
168  mNHFracVSeta_highPt= dbe->bookProfile("NHFracVSeta_highPt","NHFracVSeta_highPt",etaBin, etaMin, etaMax,0.,1.2);
169  mPhFracVSeta_highPt= dbe->bookProfile("PhFracVSeta_highPt","PhFracVSeta_highPt",etaBin, etaMin, etaMax,0.,1.2);
170  mElFracVSeta_highPt= dbe->bookProfile("ElFracVSeta_highPt","ElFracVSeta_highPt",etaBin, etaMin, etaMax,0.,1.2);
171  mMuFracVSeta_highPt= dbe->bookProfile("MuFracVSeta_highPt","MuFracVSeta_highPt",etaBin, etaMin, etaMax,0.,1.2);
172 
173  //mPt_Barrel_Lo = dbe->book1D("Pt_Barrel_Lo", "Pt Barrel (Pass Low Pt Jet Trigger)", 20, 0, 100);
174  //mPhi_Barrel_Lo = dbe->book1D("Phi_Barrel_Lo", "Phi Barrel (Pass Low Pt Jet Trigger)", phiBin, phiMin, phiMax);
175  mConstituents_Barrel = dbe->book1D("Constituents_Barrel", "Constituents Barrel", 50, 0, 100);
176  mHFrac_Barrel = dbe->book1D("HFrac_Barrel", "HFrac Barrel", 100, 0, 1);
177  mEFrac_Barrel = dbe->book1D("EFrac_Barrel", "EFrac Barrel", 110, -0.05, 1.05);
178 
179  //mPt_EndCap_Lo = dbe->book1D("Pt_EndCap_Lo", "Pt EndCap (Pass Low Pt Jet Trigger)", 20, 0, 100);
180  //mPhi_EndCap_Lo = dbe->book1D("Phi_EndCap_Lo", "Phi EndCap (Pass Low Pt Jet Trigger)", phiBin, phiMin, phiMax);
181  mConstituents_EndCap = dbe->book1D("Constituents_EndCap", "Constituents EndCap", 50, 0, 100);
182  mHFrac_EndCap = dbe->book1D("HFrac_Endcap", "HFrac EndCap", 100, 0, 1);
183  mEFrac_EndCap = dbe->book1D("EFrac_Endcap", "EFrac EndCap", 110, -0.05, 1.05);
184 
185  //mPt_Forward_Lo = dbe->book1D("Pt_Forward_Lo", "Pt Forward (Pass Low Pt Jet Trigger)", 20, 0, 100);
186  //mPhi_Forward_Lo = dbe->book1D("Phi_Forward_Lo", "Phi Forward (Pass Low Pt Jet Trigger)", phiBin, phiMin, phiMax);
187  mConstituents_Forward = dbe->book1D("Constituents_Forward", "Constituents Forward", 50, 0, 100);
188  mHFrac_Forward = dbe->book1D("HFrac_Forward", "HFrac Forward", 100, 0, 1);
189  mEFrac_Forward = dbe->book1D("EFrac_Forward", "EFrac Forward", 110, -0.05, 1.05);
190 
191  mPt_Barrel_Hi = dbe->book1D("Pt_Barrel_Hi", "Pt Barrel (Pass Hi Pt Jet Trigger)", 60, 0, 300);
192  mPhi_Barrel_Hi = dbe->book1D("Phi_Barrel_Hi", "Phi Barrel (Pass Hi Pt Jet Trigger)", phiBin, phiMin, phiMax);
193  //mConstituents_Barrel_Hi = dbe->book1D("Constituents_Barrel_Hi", "Constituents Barrel (Pass Hi Pt Jet Trigger)", 50, 0, 100);
194  //mHFrac_Barrel_Hi = dbe->book1D("HFrac_Barrel_Hi", "HFrac Barrel (Pass Hi Pt Jet Trigger)", 100, 0, 1);
195 
196  mPt_EndCap_Hi = dbe->book1D("Pt_EndCap_Hi", "Pt EndCap (Pass Hi Pt Jet Trigger)", 60, 0, 300);
197  mPhi_EndCap_Hi = dbe->book1D("Phi_EndCap_Hi", "Phi EndCap (Pass Hi Pt Jet Trigger)", phiBin, phiMin, phiMax);
198  //mConstituents_EndCap_Hi = dbe->book1D("Constituents_EndCap_Hi", "Constituents EndCap (Pass Hi Pt Jet Trigger)", 50, 0, 100);
199  //mHFrac_EndCap_Hi = dbe->book1D("HFrac_EndCap_Hi", "HFrac EndCap (Pass Hi Pt Jet Trigger)", 100, 0, 1);
200 
201  mPt_Forward_Hi = dbe->book1D("Pt_Forward_Hi", "Pt Forward (Pass Hi Pt Jet Trigger)", 60, 0, 300);
202  mPhi_Forward_Hi = dbe->book1D("Phi_Forward_Hi", "Phi Forward (Pass Hi Pt Jet Trigger)", phiBin, phiMin, phiMax);
203  //mConstituents_Forward_Hi = dbe->book1D("Constituents_Forward_Hi", "Constituents Forward (Pass Hi Pt Jet Trigger)", 50, 0, 100);
204  //mHFrac_Forward_Hi = dbe->book1D("HFrac_Forward_Hi", "HFrac Forward (Pass Hi Pt Jet Trigger)", 100, 0, 1);
205 
206  mPhi_Barrel = dbe->book1D("Phi_Barrel", "Phi_Barrel", phiBin, phiMin, phiMax);
207  //mE_Barrel = dbe->book1D("E_Barrel", "E_Barrel", eBin, eMin, eMax);
208  mPt_Barrel = dbe->book1D("Pt_Barrel", "Pt_Barrel", ptBin, ptMin, ptMax);
209  // energy fractions
210  mCHFrac_lowPt_Barrel = dbe->book1D("CHFrac_lowPt_Barrel", "CHFrac_lowPt_Barrel", 120, -0.1, 1.1);
211  mNHFrac_lowPt_Barrel = dbe->book1D("NHFrac_lowPt_Barrel", "NHFrac_lowPt_Barrel", 120, -0.1, 1.1);
212  mPhFrac_lowPt_Barrel = dbe->book1D("PhFrac_lowPt_Barrel", "PhFrac_lowPt_Barrel", 120, -0.1, 1.1);
213  mElFrac_lowPt_Barrel = dbe->book1D("ElFrac_lowPt_Barrel", "ElFrac_lowPt_Barrel", 120, -0.1, 1.1);
214  mMuFrac_lowPt_Barrel = dbe->book1D("MuFrac_lowPt_Barrel", "MuFrac_lowPt_Barrel", 120, -0.1, 1.1);
215  mCHFrac_mediumPt_Barrel = dbe->book1D("CHFrac_mediumPt_Barrel", "CHFrac_mediumPt_Barrel", 120, -0.1, 1.1);
216  mNHFrac_mediumPt_Barrel = dbe->book1D("NHFrac_mediumPt_Barrel", "NHFrac_mediumPt_Barrel", 120, -0.1, 1.1);
217  mPhFrac_mediumPt_Barrel = dbe->book1D("PhFrac_mediumPt_Barrel", "PhFrac_mediumPt_Barrel", 120, -0.1, 1.1);
218  mElFrac_mediumPt_Barrel = dbe->book1D("ElFrac_mediumPt_Barrel", "ElFrac_mediumPt_Barrel", 120, -0.1, 1.1);
219  mMuFrac_mediumPt_Barrel = dbe->book1D("MuFrac_mediumPt_Barrel", "MuFrac_mediumPt_Barrel", 120, -0.1, 1.1);
220  mCHFrac_highPt_Barrel = dbe->book1D("CHFrac_highPt_Barrel", "CHFrac_highPt_Barrel", 120, -0.1, 1.1);
221  mNHFrac_highPt_Barrel = dbe->book1D("NHFrac_highPt_Barrel", "NHFrac_highPt_Barrel", 120, -0.1, 1.1);
222  mPhFrac_highPt_Barrel = dbe->book1D("PhFrac_highPt_Barrel", "PhFrac_highPt_Barrel", 120, -0.1, 1.1);
223  mElFrac_highPt_Barrel = dbe->book1D("ElFrac_highPt_Barrel", "ElFrac_highPt_Barrel", 120, -0.1, 1.1);
224  mMuFrac_highPt_Barrel = dbe->book1D("MuFrac_highPt_Barrel", "MuFrac_highPt_Barrel", 120, -0.1, 1.1);
225  //energies
226  mCHEn_lowPt_Barrel = dbe->book1D("CHEn_lowPt_Barrel", "CHEn_lowPt_Barrel", ptBin, ptMin, ptMax);
227  mNHEn_lowPt_Barrel = dbe->book1D("NHEn_lowPt_Barrel", "NHEn_lowPt_Barrel", ptBin, ptMin, ptMax);
228  mPhEn_lowPt_Barrel = dbe->book1D("PhEn_lowPt_Barrel", "PhEn_lowPt_Barrel", ptBin, ptMin, ptMax);
229  mElEn_lowPt_Barrel = dbe->book1D("ElEn_lowPt_Barrel", "ElEn_lowPt_Barrel", ptBin, ptMin, ptMax);
230  mMuEn_lowPt_Barrel = dbe->book1D("MuEn_lowPt_Barrel", "MuEn_lowPt_Barrel", ptBin, ptMin, ptMax);
231  mCHEn_mediumPt_Barrel = dbe->book1D("CHEn_mediumPt_Barrel", "CHEn_mediumPt_Barrel", ptBin, ptMin, ptMax);
232  mNHEn_mediumPt_Barrel = dbe->book1D("NHEn_mediumPt_Barrel", "NHEn_mediumPt_Barrel", ptBin, ptMin, ptMax);
233  mPhEn_mediumPt_Barrel = dbe->book1D("PhEn_mediumPt_Barrel", "PhEn_mediumPt_Barrel", ptBin, ptMin, ptMax);
234  mElEn_mediumPt_Barrel = dbe->book1D("ElEn_mediumPt_Barrel", "ElEn_mediumPt_Barrel", ptBin, ptMin, ptMax);
235  mMuEn_mediumPt_Barrel = dbe->book1D("MuEn_mediumPt_Barrel", "MuEn_mediumPt_Barrel", ptBin, ptMin, ptMax);
236  mCHEn_highPt_Barrel = dbe->book1D("CHEn_highPt_Barrel", "CHEn_highPt_Barrel", ptBin, ptMin, ptMax);
237  mNHEn_highPt_Barrel = dbe->book1D("NHEn_highPt_Barrel", "NHEn_highPt_Barrel", ptBin, ptMin, ptMax);
238  mPhEn_highPt_Barrel = dbe->book1D("PhEn_highPt_Barrel", "PhEn_highPt_Barrel", ptBin, ptMin, ptMax);
239  mElEn_highPt_Barrel = dbe->book1D("ElEn_highPt_Barrel", "ElEn_highPt_Barrel", ptBin, ptMin, ptMax);
240  mMuEn_highPt_Barrel = dbe->book1D("MuEn_highPt_Barrel", "MuEn_highPt_Barrel", ptBin, ptMin, ptMax);
241  //multiplicities
242  mChMultiplicity_lowPt_Barrel = dbe->book1D("ChMultiplicity_lowPt_Barrel", "ChMultiplicity_lowPt_Barrel", 30,0,30);
243  mNeuMultiplicity_lowPt_Barrel = dbe->book1D("NeuMultiplicity_lowPt_Barrel", "NeuMultiplicity_lowPt_Barrel", 30,0,30);
244  mMuMultiplicity_lowPt_Barrel = dbe->book1D("MuMultiplicity_lowPt_Barrel", "MuMultiplicity_lowPt_Barrel", 30,0,30);
245  mChMultiplicity_mediumPt_Barrel = dbe->book1D("ChMultiplicity_mediumPt_Barrel", "ChMultiplicity_mediumPt_Barrel", 30,0,30);
246  mNeuMultiplicity_mediumPt_Barrel = dbe->book1D("NeuMultiplicity_mediumPt_Barrel", "NeuMultiplicity_mediumPt_Barrel", 30,0,30);
247  mMuMultiplicity_mediumPt_Barrel = dbe->book1D("MuMultiplicity_mediumPt_Barrel", "MuMultiplicity_mediumPt_Barrel", 30,0,30);
248  mChMultiplicity_highPt_Barrel = dbe->book1D("ChMultiplicity_highPt_Barrel", "ChMultiplicity_highPt_Barrel", 30,0,30);
249  mNeuMultiplicity_highPt_Barrel = dbe->book1D("NeuMultiplicity_highPt_Barrel", "NeuMultiplicity_highPt_Barrel", 30,0,30);
250  mMuMultiplicity_highPt_Barrel = dbe->book1D("MuMultiplicity_highPt_Barrel", "MuMultiplicity_highPt_Barrel", 30,0,30);
251  //
252  mCHFracVSpT_Barrel= dbe->bookProfile("CHFracVSpT_Barrel","CHFracVSpT_Barrel",ptBin, ptMin, ptMax,0.,1.2);
253  mNHFracVSpT_Barrel= dbe->bookProfile("NHFracVSpT_Barrel","NHFracVSpT_Barrel",ptBin, ptMin, ptMax,0.,1.2);
254  mPhFracVSpT_Barrel= dbe->bookProfile("PhFracVSpT_Barrel","PhFracVSpT_Barrel",ptBin, ptMin, ptMax,0.,1.2);
255  mElFracVSpT_Barrel= dbe->bookProfile("ElFracVSpT_Barrel","ElFracVSpT_Barrel",ptBin, ptMin, ptMax,0.,1.2);
256  mMuFracVSpT_Barrel= dbe->bookProfile("MuFracVSpT_Barrel","MuFracVSpT_Barrel",ptBin, ptMin, ptMax,0.,1.2);
257  mCHFracVSpT_EndCap= dbe->bookProfile("CHFracVSpT_EndCap","CHFracVSpT_EndCap",ptBin, ptMin, ptMax,0.,1.2);
258  mNHFracVSpT_EndCap= dbe->bookProfile("NHFracVSpT_EndCap","NHFracVSpT_EndCap",ptBin, ptMin, ptMax,0.,1.2);
259  mPhFracVSpT_EndCap= dbe->bookProfile("PhFracVSpT_EndCap","PhFracVSpT_EndCap",ptBin, ptMin, ptMax,0.,1.2);
260  mElFracVSpT_EndCap= dbe->bookProfile("ElFracVSpT_EndCap","ElFracVSpT_EndCap",ptBin, ptMin, ptMax,0.,1.2);
261  mMuFracVSpT_EndCap= dbe->bookProfile("MuFracVSpT_EndCap","MuFracVSpT_EndCap",ptBin, ptMin, ptMax,0.,1.2);
262  mHFHFracVSpT_Forward= dbe->bookProfile("HFHFracVSpT_Forward","HFHFracVSpT_Forward",ptBin, ptMin, ptMax,0.,1.2);
263  mHFEFracVSpT_Forward= dbe->bookProfile("HFEFracVSpT_Forward","HFEFracVSpT_Forward",ptBin, ptMin, ptMax,0.,1.2);
264 
265  mPhi_EndCap = dbe->book1D("Phi_EndCap", "Phi_EndCap", phiBin, phiMin, phiMax);
266  //mE_EndCap = dbe->book1D("E_EndCap", "E_EndCap", eBin, eMin, eMax);
267  mPt_EndCap = dbe->book1D("Pt_EndCap", "Pt_EndCap", ptBin, ptMin, ptMax);
268  //energy fractions
269  mCHFrac_lowPt_EndCap = dbe->book1D("CHFrac_lowPt_EndCap", "CHFrac_lowPt_EndCap", 120, -0.1, 1.1);
270  mNHFrac_lowPt_EndCap = dbe->book1D("NHFrac_lowPt_EndCap", "NHFrac_lowPt_EndCap", 120, -0.1, 1.1);
271  mPhFrac_lowPt_EndCap = dbe->book1D("PhFrac_lowPt_EndCap", "PhFrac_lowPt_EndCap", 120, -0.1, 1.1);
272  mElFrac_lowPt_EndCap = dbe->book1D("ElFrac_lowPt_EndCap", "ElFrac_lowPt_EndCap", 120, -0.1, 1.1);
273  mMuFrac_lowPt_EndCap = dbe->book1D("MuFrac_lowPt_EndCap", "MuFrac_lowPt_EndCap", 120, -0.1, 1.1);
274  mCHFrac_mediumPt_EndCap = dbe->book1D("CHFrac_mediumPt_EndCap", "CHFrac_mediumPt_EndCap", 120, -0.1, 1.1);
275  mNHFrac_mediumPt_EndCap = dbe->book1D("NHFrac_mediumPt_EndCap", "NHFrac_mediumPt_EndCap", 120, -0.1, 1.1);
276  mPhFrac_mediumPt_EndCap = dbe->book1D("PhFrac_mediumPt_EndCap", "PhFrac_mediumPt_EndCap", 120, -0.1, 1.1);
277  mElFrac_mediumPt_EndCap = dbe->book1D("ElFrac_mediumPt_EndCap", "ElFrac_mediumPt_EndCap", 120, -0.1, 1.1);
278  mMuFrac_mediumPt_EndCap = dbe->book1D("MuFrac_mediumPt_EndCap", "MuFrac_mediumPt_EndCap", 120, -0.1, 1.1);
279  mCHFrac_highPt_EndCap = dbe->book1D("CHFrac_highPt_EndCap", "CHFrac_highPt_EndCap", 120, -0.1, 1.1);
280  mNHFrac_highPt_EndCap = dbe->book1D("NHFrac_highPt_EndCap", "NHFrac_highPt_EndCap", 120, -0.1, 1.1);
281  mPhFrac_highPt_EndCap = dbe->book1D("PhFrac_highPt_EndCap", "PhFrac_highPt_EndCap", 120, -0.1, 1.1);
282  mElFrac_highPt_EndCap = dbe->book1D("ElFrac_highPt_EndCap", "ElFrac_highPt_EndCap", 120, -0.1, 1.1);
283  mMuFrac_highPt_EndCap = dbe->book1D("MuFrac_highPt_EndCap", "MuFrac_highPt_EndCap", 120, -0.1, 1.1);
284  //energies
285  mCHEn_lowPt_EndCap = dbe->book1D("CHEn_lowPt_EndCap", "CHEn_lowPt_EndCap", ptBin, ptMin, ptMax);
286  mNHEn_lowPt_EndCap = dbe->book1D("NHEn_lowPt_EndCap", "NHEn_lowPt_EndCap", ptBin, ptMin, ptMax);
287  mPhEn_lowPt_EndCap = dbe->book1D("PhEn_lowPt_EndCap", "PhEn_lowPt_EndCap", ptBin, ptMin, ptMax);
288  mElEn_lowPt_EndCap = dbe->book1D("ElEn_lowPt_EndCap", "ElEn_lowPt_EndCap", ptBin, ptMin, ptMax);
289  mMuEn_lowPt_EndCap = dbe->book1D("MuEn_lowPt_EndCap", "MuEn_lowPt_EndCap", ptBin, ptMin, ptMax);
290  mCHEn_mediumPt_EndCap = dbe->book1D("CHEn_mediumPt_EndCap", "CHEn_mediumPt_EndCap", ptBin, ptMin, ptMax);
291  mNHEn_mediumPt_EndCap = dbe->book1D("NHEn_mediumPt_EndCap", "NHEn_mediumPt_EndCap", ptBin, ptMin, ptMax);
292  mPhEn_mediumPt_EndCap = dbe->book1D("PhEn_mediumPt_EndCap", "PhEn_mediumPt_EndCap", ptBin, ptMin, ptMax);
293  mElEn_mediumPt_EndCap = dbe->book1D("ElEn_mediumPt_EndCap", "ElEn_mediumPt_EndCap", ptBin, ptMin, ptMax);
294  mMuEn_mediumPt_EndCap = dbe->book1D("MuEn_mediumPt_EndCap", "MuEn_mediumPt_EndCap", ptBin, ptMin, ptMax);
295  mCHEn_highPt_EndCap = dbe->book1D("CHEn_highPt_EndCap", "CHEn_highPt_EndCap", ptBin, ptMin, ptMax);
296  mNHEn_highPt_EndCap = dbe->book1D("NHEn_highPt_EndCap", "NHEn_highPt_EndCap", ptBin, ptMin, ptMax);
297  mPhEn_highPt_EndCap = dbe->book1D("PhEn_highPt_EndCap", "PhEn_highPt_EndCap", ptBin, ptMin, ptMax);
298  mElEn_highPt_EndCap = dbe->book1D("ElEn_highPt_EndCap", "ElEn_highPt_EndCap", ptBin, ptMin, ptMax);
299  mMuEn_highPt_EndCap = dbe->book1D("MuEn_highPt_EndCap", "MuEn_highPt_EndCap", ptBin, ptMin, ptMax);
300  //multiplicities
301  mChMultiplicity_lowPt_EndCap = dbe->book1D("ChMultiplicity_lowPt_EndCap", "ChMultiplicity_lowPt_EndCap", 30,0,30);
302  mNeuMultiplicity_lowPt_EndCap = dbe->book1D("NeuMultiplicity_lowPt_EndCap", "NeuMultiplicity_lowPt_EndCap", 30,0,30);
303  mMuMultiplicity_lowPt_EndCap = dbe->book1D("MuMultiplicity_lowPt_EndCap", "MuMultiplicity_lowPt_EndCap", 30,0,30);
304  mChMultiplicity_mediumPt_EndCap = dbe->book1D("ChMultiplicity_mediumPt_EndCap", "ChMultiplicity_mediumPt_EndCap", 30,0,30);
305  mNeuMultiplicity_mediumPt_EndCap = dbe->book1D("NeuMultiplicity_mediumPt_EndCap", "NeuMultiplicity_mediumPt_EndCap", 30,0,30);
306  mMuMultiplicity_mediumPt_EndCap = dbe->book1D("MuMultiplicity_mediumPt_EndCap", "MuMultiplicity_mediumPt_EndCap", 30,0,30);
307  mChMultiplicity_highPt_EndCap = dbe->book1D("ChMultiplicity_highPt_EndCap", "ChMultiplicity_highPt_EndCap", 30,0,30);
308  mNeuMultiplicity_highPt_EndCap = dbe->book1D("NeuMultiplicity_highPt_EndCap", "NeuMultiplicity_highPt_EndCap", 30,0,30);
309  mMuMultiplicity_highPt_EndCap = dbe->book1D("MuMultiplicity_highPt_EndCap", "MuMultiplicity_highPt_EndCap", 30,0,30);
310 
311  mPhi_Forward = dbe->book1D("Phi_Forward", "Phi_Forward", phiBin, phiMin, phiMax);
312  //mE_Forward = dbe->book1D("E_Forward", "E_Forward", eBin, eMin, eMax);
313  mPt_Forward = dbe->book1D("Pt_Forward", "Pt_Forward", ptBin, ptMin, ptMax);
314  //energy fraction
315  mHFEFrac_lowPt_Forward = dbe->book1D("HFEFrac_lowPt_Forward", "HFEFrac_lowPt_Forward", 120, -0.1, 1.1);
316  mHFHFrac_lowPt_Forward = dbe->book1D("HFHFrac_lowPt_Forward", "HFHFrac_lowPt_Forward", 120, -0.1, 1.1);
317  mHFEFrac_mediumPt_Forward = dbe->book1D("HFEFrac_mediumPt_Forward", "HFEFrac_mediumPt_Forward", 120, -0.1, 1.1);
318  mHFHFrac_mediumPt_Forward = dbe->book1D("HFHFrac_mediumPt_Forward", "HFHFrac_mediumPt_Forward", 120, -0.1, 1.1);
319  mHFEFrac_highPt_Forward = dbe->book1D("HFEFrac_highPt_Forward", "HFEFrac_highPt_Forward", 120, -0.1, 1.1);
320  mHFHFrac_highPt_Forward = dbe->book1D("HFHFrac_highPt_Forward", "HFHFrac_highPt_Forward", 120, -0.1, 1.1);
321  //energies
322  mHFEEn_lowPt_Forward = dbe->book1D("HFEEn_lowPt_Forward", "HFEEn_lowPt_Forward", ptBin, ptMin, ptMax);
323  mHFHEn_lowPt_Forward = dbe->book1D("HFHEn_lowPt_Forward", "HFHEn_lowPt_Forward", ptBin, ptMin, ptMax);
324  mHFEEn_mediumPt_Forward = dbe->book1D("HFEEn_mediumPt_Forward", "HFEEn_mediumPt_Forward", ptBin, ptMin, ptMax);
325  mHFHEn_mediumPt_Forward = dbe->book1D("HFHEn_mediumPt_Forward", "HFHEn_mediumPt_Forward", ptBin, ptMin, ptMax);
326  mHFEEn_highPt_Forward = dbe->book1D("HFEEn_highPt_Forward", "HFEEn_highPt_Forward", ptBin, ptMin, ptMax);
327  mHFHEn_highPt_Forward = dbe->book1D("HFHEn_highPt_Forward", "HFHEn_highPt_Forward", ptBin, ptMin, ptMax);
328  //multiplicities
329  mChMultiplicity_lowPt_Forward = dbe->book1D("ChMultiplicity_lowPt_Forward", "ChMultiplicity_lowPt_Forward", 30,0,30);
330  mNeuMultiplicity_lowPt_Forward = dbe->book1D("NeuMultiplicity_lowPt_Forward", "NeuMultiplicity_lowPt_Forward", 30,0,30);
331  mMuMultiplicity_lowPt_Forward = dbe->book1D("MuMultiplicity_lowPt_Forward", "MuMultiplicity_lowPt_Forward", 30,0,30);
332  mChMultiplicity_mediumPt_Forward = dbe->book1D("ChMultiplicity_mediumPt_Forward", "ChMultiplicity_mediumPt_Forward", 30,0,30);
333  mNeuMultiplicity_mediumPt_Forward = dbe->book1D("NeuMultiplicity_mediumPt_Forward", "NeuMultiplicity_mediumPt_Forward", 30,0,30);
334  mMuMultiplicity_mediumPt_Forward = dbe->book1D("MuMultiplicity_mediumPt_Forward", "MuMultiplicity_mediumPt_Forward", 30,0,30);
335  mChMultiplicity_highPt_Forward = dbe->book1D("ChMultiplicity_highPt_Forward", "ChMultiplicity_highPt_Forward", 30,0,30);
336  mNeuMultiplicity_highPt_Forward = dbe->book1D("NeuMultiplicity_highPt_Forward", "NeuMultiplicity_highPt_Forward", 30,0,30);
337  mMuMultiplicity_highPt_Forward = dbe->book1D("MuMultiplicity_highPt_Forward", "MuMultiplicity_highPt_Forward", 30,0,30);
338 
339 
340 
341  // Leading Jet Parameters
342  mEtaFirst = dbe->book1D("EtaFirst", "EtaFirst", 100, -5, 5);
343  mPhiFirst = dbe->book1D("PhiFirst", "PhiFirst", 70, -3.5, 3.5);
344  //mEFirst = dbe->book1D("EFirst", "EFirst", 100, 0, 1000);
345  mPtFirst = dbe->book1D("PtFirst", "PtFirst", 100, 0, 500);
346  if(fillpfJIDPassFrac==1) {
347  mLooseJIDPassFractionVSeta= dbe->bookProfile("LooseJIDPassFractionVSeta","LooseJIDPassFractionVSeta",etaBin, etaMin, etaMax,0.,1.2);
348  mLooseJIDPassFractionVSpt= dbe->bookProfile("LooseJIDPassFractionVSpt","LooseJIDPassFractionVSpt",ptBin, ptMin, ptMax,0.,1.2);
349  mTightJIDPassFractionVSeta= dbe->bookProfile("TightJIDPassFractionVSeta","TightJIDPassFractionVSeta",etaBin, etaMin, etaMax,0.,1.2);
350  mTightJIDPassFractionVSpt= dbe->bookProfile("TightJIDPassFractionVSpt","TightJIDPassFractionVSpt",ptBin, ptMin, ptMax,0.,1.2);
351  }
352  }
353 
354 
355  mChargedHadronEnergy = dbe->book1D("mChargedHadronEnergy", "charged HAD energy", 100, 0, 100);
356  mNeutralHadronEnergy = dbe->book1D("mNeutralHadronEnergy", "neutral HAD energy", 100, 0, 100);
357  mChargedEmEnergy = dbe->book1D("mChargedEmEnergy ", "charged EM energy ", 100, 0, 100);
358  mChargedMuEnergy = dbe->book1D("mChargedMuEnergy", "charged Mu energy", 100, 0, 100);
359  mNeutralEmEnergy = dbe->book1D("mNeutralEmEnergy", "neutral EM energy", 100, 0, 100);
360  mChargedMultiplicity = dbe->book1D("mChargedMultiplicity", "charged multiplicity ", 100, 0, 100);
361  mNeutralMultiplicity = dbe->book1D("mNeutralMultiplicity", "neutral multiplicity", 100, 0, 100);
362  mMuonMultiplicity = dbe->book1D("mMuonMultiplicity", "muon multiplicity", 100, 0, 100);
363 
364 
365  // Book NPV profiles
366  //----------------------------------------------------------------------------
367  mChargedHadronEnergy_profile = dbe->bookProfile("mChargedHadronEnergy_profile", "charged HAD energy", nbinsPV, PVlow, PVup, 100, 0, 100);
368  mNeutralHadronEnergy_profile = dbe->bookProfile("mNeutralHadronEnergy_profile", "neutral HAD energy", nbinsPV, PVlow, PVup, 100, 0, 100);
369  mChargedEmEnergy_profile = dbe->bookProfile("mChargedEmEnergy_profile", "charged EM energy", nbinsPV, PVlow, PVup, 100, 0, 100);
370  mChargedMuEnergy_profile = dbe->bookProfile("mChargedMuEnergy_profile", "charged Mu energy", nbinsPV, PVlow, PVup, 100, 0, 100);
371  mNeutralEmEnergy_profile = dbe->bookProfile("mNeutralEmEnergy_profile", "neutral EM energy", nbinsPV, PVlow, PVup, 100, 0, 100);
372  mChargedMultiplicity_profile = dbe->bookProfile("mChargedMultiplicity_profile", "charged multiplicity", nbinsPV, PVlow, PVup, 100, 0, 100);
373  mNeutralMultiplicity_profile = dbe->bookProfile("mNeutralMultiplicity_profile", "neutral multiplicity", nbinsPV, PVlow, PVup, 100, 0, 100);
374  mMuonMultiplicity_profile = dbe->bookProfile("mMuonMultiplicity_profile", "muon multiplicity", nbinsPV, PVlow, PVup, 100, 0, 100);
375 
376  if (makedijetselection != 1) {
377  mNJets_profile = dbe->bookProfile("NJets_profile", "number of jets", nbinsPV, PVlow, PVup, 100, 0, 100);
378  }
379 
380 
381  // Set NPV profiles x-axis title
382  //----------------------------------------------------------------------------
383  mChargedHadronEnergy_profile->setAxisTitle("nvtx",1);
384  mNeutralHadronEnergy_profile->setAxisTitle("nvtx",1);
385  mChargedEmEnergy_profile ->setAxisTitle("nvtx",1);
386  mChargedMuEnergy_profile ->setAxisTitle("nvtx",1);
387  mNeutralEmEnergy_profile ->setAxisTitle("nvtx",1);
388  mChargedMultiplicity_profile->setAxisTitle("nvtx",1);
389  mNeutralMultiplicity_profile->setAxisTitle("nvtx",1);
390  mMuonMultiplicity_profile ->setAxisTitle("nvtx",1);
391 
392  if (makedijetselection != 1) {
393  mNJets_profile->setAxisTitle("nvtx",1);
394  }
395 
396 
397  //__________________________________________________
398  mNeutralFraction = dbe->book1D("NeutralFraction","Neutral Fraction",100,0,1);
399  //}
400 
401  mDPhi = dbe->book1D("DPhi", "dPhi btw the two leading jets", 100, 0., acos(-1.));
402 
403  if(makedijetselection==1) {
404  mDijetAsymmetry = dbe->book1D("DijetAsymmetry", "DijetAsymmetry", 100, -1., 1.);
405  mDijetBalance = dbe->book1D("DijetBalance", "DijetBalance", 100, -2., 2.);
406  if (fillpfJIDPassFrac==1) {
407  mLooseJIDPassFractionVSeta = dbe->bookProfile("LooseJIDPassFractionVSeta","LooseJIDPassFractionVSeta",50, -3., 3.,0.,1.2);
408  mLooseJIDPassFractionVSpt = dbe->bookProfile("LooseJIDPassFractionVSpt","LooseJIDPassFractionVSpt",ptBin, ptMin, ptMax,0.,1.2);
409  mTightJIDPassFractionVSeta = dbe->bookProfile("TightJIDPassFractionVSeta","TightJIDPassFractionVSeta",50, -3., 3.,0.,1.2);
410  mTightJIDPassFractionVSpt = dbe->bookProfile("TightJIDPassFractionVSpt","TightJIDPassFractionVSpt",ptBin, ptMin, ptMax,0.,1.2);
411 
412  }
413  }
414 
415 }
416 
418 
419 }
420 
422  const edm::EventSetup& iSetup,
424  const int numPV)
425 {
426  int numofjets=0;
427  double fstPhi=0.;
428  double sndPhi=0.;
429  double diff = 0.;
430  double corr = 0.;
431  double dphi = -999. ;
432 
433  bool Thiscleaned=false;
434  bool Loosecleaned=false;
435  bool Tightcleaned=false;
436  bool ThisCHFcleaned=false;
437  bool LooseCHFcleaned=false;
438  bool TightCHFcleaned=false;
439 
440  srand( iEvent.id().event() % 10000);
441 
442 
443  if (makedijetselection == 1) {
444  //Dijet selection - careful: the pT is uncorrected!
445  //if(makedijetselection==1 && pfJets.size()>=2){
446  if(pfJets.size()>=2){
447  double dphiDJ = -999. ;
448 
449  bool LoosecleanedFirstJet =false;
450  bool LoosecleanedSecondJet=false;
451  bool TightcleanedFirstJet =false;
452  bool TightcleanedSecondJet=false;
453  bool LooseCHFcleanedFirstJet =false;
454  bool LooseCHFcleanedSecondJet=false;
455  bool TightCHFcleanedFirstJet =false;
456  bool TightCHFcleanedSecondJet=false;
457 
458  //both jets pass pt threshold
459  if ((pfJets.at(0)).pt() > _ptThreshold && (pfJets.at(1)).pt() > _ptThreshold ) {
460  if(fabs((pfJets.at(0)).eta())<3. && fabs((pfJets.at(1)).eta())<3. ){
461  //calculate dphi
462  dphiDJ = fabs((pfJets.at(0)).phi()-(pfJets.at(1)).phi());
463  if (dphiDJ > 3.14) dphiDJ=fabs(dphiDJ -6.28 );
464  //fill DPhi histo (before cutting)
465  if (mDPhi) mDPhi->Fill (dphiDJ);
466  //dphi cut
467  if(fabs(dphiDJ)>2.1){
468  //first jet
469  LooseCHFcleanedFirstJet=true;
470  TightCHFcleanedFirstJet=true;
471  if((pfJets.at(0).chargedHadronEnergy()/pfJets.at(0).energy())<=_LooseCHFMin && fabs(pfJets.at(0).eta())<2.4) LooseCHFcleanedFirstJet=false; //apply CHF>0 only if |eta|<2.4
472  if((pfJets.at(0).chargedHadronEnergy()/pfJets.at(0).energy())<=_TightCHFMin && fabs(pfJets.at(0).eta())<2.4) TightCHFcleanedFirstJet=false; //apply CHF>0 only if |eta|<2.4
473  if(LooseCHFcleanedFirstJet && (pfJets.at(0).neutralHadronEnergy()/pfJets.at(0).energy())<_LooseNHFMax && (pfJets.at(0).chargedEmEnergy()/pfJets.at(0).energy())<_LooseCEFMax && (pfJets.at(0).neutralEmEnergy()/pfJets.at(0).energy())<_LooseNEFMax) LoosecleanedFirstJet=true;
474  if(TightCHFcleanedFirstJet && (pfJets.at(0).neutralHadronEnergy()/pfJets.at(0).energy())<_TightNHFMax && (pfJets.at(0).chargedEmEnergy()/pfJets.at(0).energy())<_TightCEFMax && (pfJets.at(0).neutralEmEnergy()/pfJets.at(0).energy())<_TightNEFMax) TightcleanedFirstJet=true;
475 
476  //second jet
477  LooseCHFcleanedSecondJet=true;
478  TightCHFcleanedSecondJet=true;
479  if((pfJets.at(1).chargedHadronEnergy()/pfJets.at(1).energy())<=_LooseCHFMin && fabs(pfJets.at(1).eta())<2.4) LooseCHFcleanedSecondJet=false; //apply CHF>0 only if |eta|<2.4
480  if((pfJets.at(1).chargedHadronEnergy()/pfJets.at(1).energy())<=_TightCHFMin && fabs(pfJets.at(1).eta())<2.4) TightCHFcleanedSecondJet=false; //apply CHF>0 only if |eta|<2.4
481  if(LooseCHFcleanedSecondJet && (pfJets.at(1).neutralHadronEnergy()/pfJets.at(1).energy())<_LooseNHFMax && (pfJets.at(1).chargedEmEnergy()/pfJets.at(1).energy())<_LooseCEFMax && (pfJets.at(1).neutralEmEnergy()/pfJets.at(1).energy())<_LooseNEFMax) LoosecleanedSecondJet=true;
482  if(TightCHFcleanedSecondJet && (pfJets.at(1).neutralHadronEnergy()/pfJets.at(1).energy())<_TightNHFMax && (pfJets.at(1).chargedEmEnergy()/pfJets.at(1).energy())<_TightCEFMax && (pfJets.at(1).neutralEmEnergy()/pfJets.at(1).energy())<_TightNEFMax) TightcleanedSecondJet=true;
483 
484  if(fillpfJIDPassFrac==1) {
485  //fill the profile for jid efficiency
486  if(LoosecleanedFirstJet) {
487  mLooseJIDPassFractionVSeta->Fill(pfJets.at(0).eta(),1.);
488  mLooseJIDPassFractionVSpt->Fill(pfJets.at(0).pt(),1.);
489  } else {
490  mLooseJIDPassFractionVSeta->Fill(pfJets.at(0).eta(),0.);
491  mLooseJIDPassFractionVSpt->Fill(pfJets.at(0).pt(),0.);
492  }
493  if(TightcleanedFirstJet) {
494  mTightJIDPassFractionVSeta->Fill(pfJets.at(0).eta(),1.);
495  mTightJIDPassFractionVSpt->Fill(pfJets.at(0).pt(),1.);
496  } else {
497  mTightJIDPassFractionVSeta->Fill(pfJets.at(0).eta(),0.);
498  mTightJIDPassFractionVSpt->Fill(pfJets.at(0).pt(),0.);
499  }
500 
501  if(LoosecleanedSecondJet) {
502  mLooseJIDPassFractionVSeta->Fill(pfJets.at(1).eta(),1.);
503  mLooseJIDPassFractionVSpt->Fill(pfJets.at(1).pt(),1.);
504  } else {
505  mLooseJIDPassFractionVSeta->Fill(pfJets.at(1).eta(),0.);
506  mLooseJIDPassFractionVSpt->Fill(pfJets.at(1).pt(),0.);
507  }
508  if(TightcleanedSecondJet) {
509  mTightJIDPassFractionVSeta->Fill(pfJets.at(1).eta(),1.);
510  mTightJIDPassFractionVSpt->Fill(pfJets.at(1).pt(),1.);
511  } else {
512  mTightJIDPassFractionVSeta->Fill(pfJets.at(1).eta(),0.);
513  mTightJIDPassFractionVSpt->Fill(pfJets.at(1).pt(),0.);
514  }
515  }
516 
517  if(LoosecleanedFirstJet && LoosecleanedSecondJet) {
518  //Filling variables for first jet
519  if (mPt) mPt->Fill (pfJets.at(0).pt());
520  if (mEta) mEta->Fill (pfJets.at(0).eta());
521  if (mPhi) mPhi->Fill (pfJets.at(0).phi());
522  if (mPhiVSEta) mPhiVSEta->Fill(pfJets.at(0).eta(),pfJets.at(0).phi());
523 
524  if (mConstituents) mConstituents->Fill (pfJets.at(0).nConstituents());
525  if (mHFrac) mHFrac->Fill (pfJets.at(0).chargedHadronEnergyFraction()+pfJets.at(0).neutralHadronEnergyFraction());
526  if (mEFrac) mEFrac->Fill (pfJets.at(0).chargedEmEnergyFraction() +pfJets.at(0).neutralEmEnergyFraction());
527 
528  //if (mE) mE->Fill (pfJets.at(0).energy());
529  //if (mP) mP->Fill (pfJets.at(0).p());
530  //if (mMass) mMass->Fill (pfJets.at(0).mass());
531 
532  if (mChargedHadronEnergy) mChargedHadronEnergy->Fill (pfJets.at(0).chargedHadronEnergy());
533  if (mNeutralHadronEnergy) mNeutralHadronEnergy->Fill (pfJets.at(0).neutralHadronEnergy());
534  if (mChargedEmEnergy) mChargedEmEnergy->Fill(pfJets.at(0).chargedEmEnergy());
535  if (mChargedMuEnergy) mChargedMuEnergy->Fill (pfJets.at(0).chargedMuEnergy ());
536  if (mNeutralEmEnergy) mNeutralEmEnergy->Fill(pfJets.at(0).neutralEmEnergy());
537  if (mChargedMultiplicity ) mChargedMultiplicity->Fill(pfJets.at(0).chargedMultiplicity());
538  if (mNeutralMultiplicity ) mNeutralMultiplicity->Fill(pfJets.at(0).neutralMultiplicity());
539  if (mMuonMultiplicity )mMuonMultiplicity->Fill (pfJets.at(0). muonMultiplicity());
540  //_______________________________________________________
541  if (mNeutralFraction) mNeutralFraction->Fill (pfJets.at(0).neutralMultiplicity()/pfJets.at(0).nConstituents());
542 
543 
544  //Filling variables for second jet
545  if (mPt) mPt->Fill (pfJets.at(1).pt());
546  if (mEta) mEta->Fill (pfJets.at(1).eta());
547  if (mPhi) mPhi->Fill (pfJets.at(1).phi());
548  if (mPhiVSEta) mPhiVSEta->Fill(pfJets.at(1).eta(),pfJets.at(1).phi());
549 
550  if (mConstituents) mConstituents->Fill (pfJets.at(1).nConstituents());
551  if (mHFrac) mHFrac->Fill (pfJets.at(1).chargedHadronEnergyFraction()+pfJets.at(1).neutralHadronEnergyFraction());
552  if (mEFrac) mEFrac->Fill (pfJets.at(1).chargedEmEnergyFraction() +pfJets.at(1).neutralEmEnergyFraction());
553 
554  //if (mE) mE->Fill (pfJets.at(1).energy());
555  //if (mP) mP->Fill (pfJets.at(1).p());
556  //if (mMass) mMass->Fill (pfJets.at(1).mass());
557 
558  if (mChargedHadronEnergy) mChargedHadronEnergy->Fill (pfJets.at(1).chargedHadronEnergy());
559  if (mNeutralHadronEnergy) mNeutralHadronEnergy->Fill (pfJets.at(1).neutralHadronEnergy());
560  if (mChargedEmEnergy) mChargedEmEnergy->Fill(pfJets.at(1).chargedEmEnergy());
561  if (mChargedMuEnergy) mChargedMuEnergy->Fill (pfJets.at(1).chargedMuEnergy ());
562  if (mNeutralEmEnergy) mNeutralEmEnergy->Fill(pfJets.at(1).neutralEmEnergy());
563  if (mChargedMultiplicity ) mChargedMultiplicity->Fill(pfJets.at(1).chargedMultiplicity());
564  if (mNeutralMultiplicity ) mNeutralMultiplicity->Fill(pfJets.at(1).neutralMultiplicity());
565  if (mMuonMultiplicity )mMuonMultiplicity->Fill (pfJets.at(1). muonMultiplicity());
566  //_______________________________________________________
567  if (mNeutralFraction) mNeutralFraction->Fill (pfJets.at(1).neutralMultiplicity()/pfJets.at(1).nConstituents());
568 
569 
570  // Fill NPV profiles
571  //----------------------------------------------------------------
572  for (int iJet=0; iJet<2; iJet++) {
573 
574  if (mPt_profile) mPt_profile ->Fill(numPV, pfJets.at(iJet).pt());
575  if (mEta_profile) mEta_profile ->Fill(numPV, pfJets.at(iJet).eta());
576  if (mPhi_profile) mPhi_profile ->Fill(numPV, pfJets.at(iJet).phi());
577  if (mConstituents_profile) mConstituents_profile->Fill(numPV, pfJets.at(iJet).nConstituents());
578  if (mHFrac_profile) mHFrac_profile ->Fill(numPV, pfJets.at(iJet).chargedHadronEnergyFraction() + pfJets.at(iJet).neutralHadronEnergyFraction());
579  if (mEFrac_profile) mEFrac_profile ->Fill(numPV, pfJets.at(iJet).chargedEmEnergyFraction() + pfJets.at(iJet).neutralEmEnergyFraction());
580 
581  if (mChargedHadronEnergy_profile) mChargedHadronEnergy_profile->Fill(numPV, pfJets.at(iJet).chargedHadronEnergy());
582  if (mNeutralHadronEnergy_profile) mNeutralHadronEnergy_profile->Fill(numPV, pfJets.at(iJet).neutralHadronEnergy());
583  if (mChargedEmEnergy_profile) mChargedEmEnergy_profile ->Fill(numPV, pfJets.at(iJet).chargedEmEnergy());
584  if (mChargedMuEnergy_profile) mChargedMuEnergy_profile ->Fill(numPV, pfJets.at(iJet).chargedMuEnergy());
585  if (mNeutralEmEnergy_profile) mNeutralEmEnergy_profile ->Fill(numPV, pfJets.at(iJet).neutralEmEnergy());
586  if (mChargedMultiplicity_profile) mChargedMultiplicity_profile->Fill(numPV, pfJets.at(iJet).chargedMultiplicity());
587  if (mNeutralMultiplicity_profile) mNeutralMultiplicity_profile->Fill(numPV, pfJets.at(iJet).neutralMultiplicity());
588  if (mMuonMultiplicity_profile) mMuonMultiplicity_profile ->Fill(numPV, pfJets.at(iJet).muonMultiplicity());
589  }
590 
591 
592  }// loose cleaned jets 1 and 2
593  }// fabs dphi < 2.1
594  }// fabs eta < 3
595  }// pt jets > threshold
596  //now do the dijet balance and asymmetry calculations
597  if (fabs(pfJets.at(0).eta() < 1.4)) {
598  double pt_dijet = (pfJets.at(0).pt() + pfJets.at(1).pt())/2;
599 
600  double dPhi = fabs((pfJets.at(0)).phi()-(pfJets.at(1)).phi());
601  if (dPhi > 3.14) dPhi=fabs(dPhi -6.28 );
602 
603  if (dPhi > 2.7) {
604  double pt_probe;
605  double pt_barrel;
606  int jet1, jet2;
607 
608  int randJet = rand() % 2;
609 
610  if (fabs(pfJets.at(1).eta() < 1.4)) {
611  if (randJet) {
612  jet1 = 0;
613  jet2 = 1;
614  }
615  else {
616  jet1 = 1;
617  jet2 = 0;
618  }
619 
620  /***Di-Jet Asymmetry****
621  * leading jets eta < 1.4
622  * leading jets dphi > 2.7
623  * pt_third jet < threshold
624  * A = (pt_1 - pt_2)/(pt_1 + pt_2)
625  * jets 1 and two are randomly ordered
626  */
627  bool thirdJetCut = true;
628  for (unsigned int third = 2; third < pfJets.size(); ++third)
629  if (pfJets.at(third).pt() > _asymmetryThirdJetCut)
630  thirdJetCut = false;
631  if (thirdJetCut) {
632  double dijetAsymmetry = (pfJets.at(jet1).pt() - pfJets.at(jet2).pt()) / (pfJets.at(jet1).pt() + pfJets.at(jet2).pt());
633  mDijetAsymmetry->Fill(dijetAsymmetry);
634  }// end restriction on third jet pt in asymmetry calculation
635 
636  }
637  else {
638  jet1 = 0;
639  jet2 = 1;
640  }
641 
642  pt_barrel = pfJets.at(jet1).pt();
643  pt_probe = pfJets.at(jet2).pt();
644 
645  //dijet balance cuts
646  /***Di-Jet Balance****
647  * pt_dijet = (pt_probe+pt_barrel)/2
648  * leading jets dphi > 2.7
649  * reject evnets where pt_third/pt_dijet > 0.2
650  * pv selection
651  * B = (pt_probe - pt_barrel)/pt_dijet
652  * select probe randomly from 2 jets if both leading jets are in the barrel
653  */
654  bool thirdJetCut = true;
655  for (unsigned int third = 2; third < pfJets.size(); ++third)
656  if (pfJets.at(third).pt()/pt_dijet > _balanceThirdJetCut)
657  thirdJetCut = false;
658  if (thirdJetCut) {
659  double dijetBalance = (pt_probe - pt_barrel) / pt_dijet;
660  mDijetBalance->Fill(dijetBalance);
661  }// end restriction on third jet pt ratio in balance calculation
662  }// dPhi > 2.7
663  }// leading jet eta cut for asymmetry and balance calculations
664  }// jet size >= 2
665  } // do dijet selection
666  else{
667  for (reco::PFJetCollection::const_iterator jet = pfJets.begin(); jet!=pfJets.end(); ++jet){
668  LogTrace(metname)<<"[JetAnalyzer] Analyze PFJet";
669 
670  Thiscleaned=false;
671  Loosecleaned=false;
672  Tightcleaned=false;
673 
674  if (jet == pfJets.begin()) {
675  fstPhi = jet->phi();
676  _leadJetFlag = 1;
677  } else {
678  _leadJetFlag = 0;
679  }
680 
681  if (jet == (pfJets.begin()+1)) sndPhi = jet->phi();
682  // if (jet->pt() < _ptThreshold) return;
683  if (jet->pt() > _ptThreshold) {
684  numofjets++ ;
685  jetME->Fill(2);
686 
687  //calculate the jetID
688  ThisCHFcleaned=true;
689  LooseCHFcleaned=true;
690  TightCHFcleaned=true;
691  if((jet->chargedHadronEnergy()/jet->energy())<=_ThisCHFMin && fabs(jet->eta())<2.4) ThisCHFcleaned=false; //apply CHF>0 only if |eta|<2.4
692  if((jet->chargedHadronEnergy()/jet->energy())<=_LooseCHFMin && fabs(jet->eta())<2.4) LooseCHFcleaned=false; //apply CHF>0 only if |eta|<2.4
693  if((jet->chargedHadronEnergy()/jet->energy())<=_TightCHFMin && fabs(jet->eta())<2.4) TightCHFcleaned=false; //apply CHF>0 only if |eta|<2.4
694  if(ThisCHFcleaned && (jet->neutralHadronEnergy()/jet->energy())<_ThisNHFMax && (jet->chargedEmEnergy()/jet->energy())<_ThisCEFMax && (jet->neutralEmEnergy()/jet->energy())<_ThisNEFMax) Thiscleaned=true;
695  if(LooseCHFcleaned && (jet->neutralHadronEnergy()/jet->energy())<_LooseNHFMax && (jet->chargedEmEnergy()/jet->energy())<_LooseCEFMax && (jet->neutralEmEnergy()/jet->energy())<_LooseNEFMax) Loosecleaned=true;
696  if(TightCHFcleaned && (jet->neutralHadronEnergy()/jet->energy())<_TightNHFMax && (jet->chargedEmEnergy()/jet->energy())<_TightCEFMax && (jet->neutralEmEnergy()/jet->energy())<_TightNEFMax) Tightcleaned=true;
697 
698  if(fillpfJIDPassFrac==1) {
699  //fill the profile for jid efficiency
700  if(Loosecleaned) {
701  mLooseJIDPassFractionVSeta->Fill(jet->eta(),1.);
702  mLooseJIDPassFractionVSpt->Fill(jet->pt(),1.);
703  } else {
704  mLooseJIDPassFractionVSeta->Fill(jet->eta(),0.);
705  mLooseJIDPassFractionVSpt->Fill(jet->pt(),0.);
706  }
707  if(Tightcleaned) {
708  mTightJIDPassFractionVSeta->Fill(jet->eta(),1.);
709  mTightJIDPassFractionVSpt->Fill(jet->pt(),1.);
710  } else {
711  mTightJIDPassFractionVSeta->Fill(jet->eta(),0.);
712  mTightJIDPassFractionVSpt->Fill(jet->pt(),0.);
713  }
714  }
715 
716  if(!Thiscleaned) continue;
717 
718  // Leading jet
719  // Histograms are filled once per event
720  if (_leadJetFlag == 1) {
721 
722  if (mEtaFirst) mEtaFirst->Fill (jet->eta());
723  if (mPhiFirst) mPhiFirst->Fill (jet->phi());
724  //if (mEFirst) mEFirst->Fill (jet->energy());
725  if (mPtFirst) mPtFirst->Fill (jet->pt());
726  }
727 
728  // --- Passed the low pt jet trigger (no longer used)
729  if (_JetLoPass == 1) {
730  /* if (fabs(jet->eta()) <= 1.3) {
731  if (mPt_Barrel_Lo) mPt_Barrel_Lo->Fill(jet->pt());
732  if (mEta_Lo) mEta_Lo->Fill(jet->eta());
733  if (mPhi_Barrel_Lo) mPhi_Barrel_Lo->Fill(jet->phi());
734  }
735  if ( (fabs(jet->eta()) > 1.3) && (fabs(jet->eta()) <= 3) ) {
736  if (mPt_EndCap_Lo) mPt_EndCap_Lo->Fill(jet->pt());
737  if (mEta_Lo) mEta_Lo->Fill(jet->eta());
738  if (mPhi_EndCap_Lo) mPhi_EndCap_Lo->Fill(jet->phi());
739  }
740  if (fabs(jet->eta()) > 3.0) {
741  if (mPt_Forward_Lo) mPt_Forward_Lo->Fill(jet->pt());
742  if (mEta_Lo) mEta_Lo->Fill(jet->eta());
743  if (mPhi_Forward_Lo) mPhi_Forward_Lo->Fill(jet->phi());
744  }*/
745  //if (mEta_Lo) mEta_Lo->Fill (jet->eta());
746  if (mPhi_Lo) mPhi_Lo->Fill (jet->phi());
747  if (mPt_Lo) mPt_Lo->Fill (jet->pt());
748  }
749 
750  // --- Passed the high pt jet trigger
751  if (_JetHiPass == 1) {
752  if (fabs(jet->eta()) <= 1.3) {
753  if (mPt_Barrel_Hi && jet->pt()>100.) mPt_Barrel_Hi->Fill(jet->pt());
754  if (mEta_Hi && jet->pt()>100.) mEta_Hi->Fill(jet->eta());
755  if (mPhi_Barrel_Hi) mPhi_Barrel_Hi->Fill(jet->phi());
756  //if (mConstituents_Barrel_Hi) mConstituents_Barrel_Hi->Fill(jet->nConstituents());
757  //if (mHFrac_Barrel_Hi) mHFrac_Barrel_Hi->Fill(jet->chargedHadronEnergyFraction()+jet->neutralHadronEnergyFraction());
758  }
759  if ( (fabs(jet->eta()) > 1.3) && (fabs(jet->eta()) <= 3) ) {
760  if (mPt_EndCap_Hi && jet->pt()>100.) mPt_EndCap_Hi->Fill(jet->pt());
761  if (mEta_Hi && jet->pt()>100.) mEta_Hi->Fill(jet->eta());
762  if (mPhi_EndCap_Hi) mPhi_EndCap_Hi->Fill(jet->phi());
763  //if (mConstituents_EndCap_Hi) mConstituents_EndCap_Hi->Fill(jet->nConstituents());
764  //if (mHFrac_EndCap_Hi) mHFrac_EndCap_Hi->Fill(jet->chargedHadronEnergyFraction()+jet->neutralHadronEnergyFraction());
765  }
766  if (fabs(jet->eta()) > 3.0) {
767  if (mPt_Forward_Hi && jet->pt()>100.) mPt_Forward_Hi->Fill(jet->pt());
768  if (mEta_Hi && jet->pt()>100.) mEta_Hi->Fill(jet->eta());
769  if (mPhi_Forward_Hi) mPhi_Forward_Hi->Fill(jet->phi());
770  //if (mConstituents_Forward_Hi) mConstituents_Forward_Hi->Fill(jet->nConstituents());
771  //if (mHFrac_Forward_Hi) mHFrac_Forward_Hi->Fill(jet->chargedHadronEnergyFraction()+jet->neutralHadronEnergyFraction());
772  }
773 
774  if (mEta_Hi && jet->pt()>100.) mEta_Hi->Fill (jet->eta());
775  if (mPhi_Hi) mPhi_Hi->Fill (jet->phi());
776  if (mPt_Hi) mPt_Hi->Fill (jet->pt());
777  }
778 
779  if (mPt) mPt->Fill (jet->pt());
780  if (mPt_1) mPt_1->Fill (jet->pt());
781  if (mPt_2) mPt_2->Fill (jet->pt());
782  if (mPt_3) mPt_3->Fill (jet->pt());
783  if (mEta) mEta->Fill (jet->eta());
784  if (mPhi) mPhi->Fill (jet->phi());
785  if (mPhiVSEta) mPhiVSEta->Fill(jet->eta(),jet->phi());
786 
787  if (mConstituents) mConstituents->Fill (jet->nConstituents());
788  if (mHFrac) mHFrac->Fill (jet->chargedHadronEnergyFraction()+jet->neutralHadronEnergyFraction());
789  if (mEFrac) mEFrac->Fill (jet->chargedEmEnergyFraction() +jet->neutralEmEnergyFraction());
790 
791  if (jet->pt()<= 50) {
792  if (mCHFracVSeta_lowPt) mCHFracVSeta_lowPt->Fill(jet->eta(),jet->chargedHadronEnergyFraction());
793  if (mNHFracVSeta_lowPt) mNHFracVSeta_lowPt->Fill(jet->eta(),jet->neutralHadronEnergyFraction());
794  if (mPhFracVSeta_lowPt) mPhFracVSeta_lowPt->Fill(jet->eta(),jet->neutralEmEnergyFraction());
795  if (mElFracVSeta_lowPt) mElFracVSeta_lowPt->Fill(jet->eta(),jet->chargedEmEnergyFraction());
796  if (mMuFracVSeta_lowPt) mMuFracVSeta_lowPt->Fill(jet->eta(),jet->chargedMuEnergyFraction());
797  }
798  if (jet->pt()>50. && jet->pt()<=140.) {
799  if (mCHFracVSeta_mediumPt) mCHFracVSeta_mediumPt->Fill(jet->eta(),jet->chargedHadronEnergyFraction());
800  if (mNHFracVSeta_mediumPt) mNHFracVSeta_mediumPt->Fill(jet->eta(),jet->neutralHadronEnergyFraction());
801  if (mPhFracVSeta_mediumPt) mPhFracVSeta_mediumPt->Fill(jet->eta(),jet->neutralEmEnergyFraction());
802  if (mElFracVSeta_mediumPt) mElFracVSeta_mediumPt->Fill(jet->eta(),jet->chargedEmEnergyFraction());
803  if (mMuFracVSeta_mediumPt) mMuFracVSeta_mediumPt->Fill(jet->eta(),jet->chargedMuEnergyFraction());
804  }
805  if (jet->pt()>140.) {
806  if (mCHFracVSeta_highPt) mCHFracVSeta_highPt->Fill(jet->eta(),jet->chargedHadronEnergyFraction());
807  if (mNHFracVSeta_highPt) mNHFracVSeta_highPt->Fill(jet->eta(),jet->neutralHadronEnergyFraction());
808  if (mPhFracVSeta_highPt) mPhFracVSeta_highPt->Fill(jet->eta(),jet->neutralEmEnergyFraction());
809  if (mElFracVSeta_highPt) mElFracVSeta_highPt->Fill(jet->eta(),jet->chargedEmEnergyFraction());
810  if (mMuFracVSeta_highPt) mMuFracVSeta_highPt->Fill(jet->eta(),jet->chargedMuEnergyFraction());
811  }
812 
813  if (fabs(jet->eta()) <= 1.3) {
814  if (mPt_Barrel) mPt_Barrel->Fill (jet->pt());
815  if (mPhi_Barrel) mPhi_Barrel->Fill (jet->phi());
816  //if (mE_Barrel) mE_Barrel->Fill (jet->energy());
817  if (mConstituents_Barrel) mConstituents_Barrel->Fill(jet->nConstituents());
818  if (mHFrac_Barrel) mHFrac_Barrel->Fill(jet->chargedHadronEnergyFraction() + jet->neutralHadronEnergyFraction() );
819  if (mEFrac_Barrel) mEFrac->Fill (jet->chargedEmEnergyFraction() + jet->neutralEmEnergyFraction());
820  //fractions
821  if (jet->pt()<=50.) {
822  if (mCHFrac_lowPt_Barrel) mCHFrac_lowPt_Barrel->Fill(jet->chargedHadronEnergyFraction());
823  if (mNHFrac_lowPt_Barrel) mNHFrac_lowPt_Barrel->Fill(jet->neutralHadronEnergyFraction());
824  if (mPhFrac_lowPt_Barrel) mPhFrac_lowPt_Barrel->Fill(jet->neutralEmEnergyFraction());
825  if (mElFrac_lowPt_Barrel) mElFrac_lowPt_Barrel->Fill(jet->chargedEmEnergyFraction());
826  if (mMuFrac_lowPt_Barrel) mMuFrac_lowPt_Barrel->Fill(jet->chargedMuEnergyFraction());
827  //
828  if (mCHEn_lowPt_Barrel) mCHEn_lowPt_Barrel->Fill(jet->chargedHadronEnergy());
829  if (mNHEn_lowPt_Barrel) mNHEn_lowPt_Barrel->Fill(jet->neutralHadronEnergy());
830  if (mPhEn_lowPt_Barrel) mPhEn_lowPt_Barrel->Fill(jet->neutralEmEnergy());
831  if (mElEn_lowPt_Barrel) mElEn_lowPt_Barrel->Fill(jet->chargedEmEnergy());
832  if (mMuEn_lowPt_Barrel) mMuEn_lowPt_Barrel->Fill(jet->chargedMuEnergy());
833  }
834  if (jet->pt()>50. && jet->pt()<=140.) {
835  if (mCHFrac_mediumPt_Barrel) mCHFrac_mediumPt_Barrel->Fill(jet->chargedHadronEnergyFraction());
836  if (mNHFrac_mediumPt_Barrel) mNHFrac_mediumPt_Barrel->Fill(jet->neutralHadronEnergyFraction());
837  if (mPhFrac_mediumPt_Barrel) mPhFrac_mediumPt_Barrel->Fill(jet->neutralEmEnergyFraction());
838  if (mElFrac_mediumPt_Barrel) mElFrac_mediumPt_Barrel->Fill(jet->chargedEmEnergyFraction());
839  if (mMuFrac_mediumPt_Barrel) mMuFrac_mediumPt_Barrel->Fill(jet->chargedMuEnergyFraction());
840  //
841  if (mCHEn_mediumPt_Barrel) mCHEn_mediumPt_Barrel->Fill(jet->chargedHadronEnergy());
842  if (mNHEn_mediumPt_Barrel) mNHEn_mediumPt_Barrel->Fill(jet->neutralHadronEnergy());
843  if (mPhEn_mediumPt_Barrel) mPhEn_mediumPt_Barrel->Fill(jet->neutralEmEnergy());
844  if (mElEn_mediumPt_Barrel) mElEn_mediumPt_Barrel->Fill(jet->chargedEmEnergy());
845  if (mMuEn_mediumPt_Barrel) mMuEn_mediumPt_Barrel->Fill(jet->chargedMuEnergy());
846  }
847  if (jet->pt()>140.) {
848  if (mCHFrac_highPt_Barrel) mCHFrac_highPt_Barrel->Fill(jet->chargedHadronEnergyFraction());
849  if (mNHFrac_highPt_Barrel) mNHFrac_highPt_Barrel->Fill(jet->neutralHadronEnergyFraction());
850  if (mPhFrac_highPt_Barrel) mPhFrac_highPt_Barrel->Fill(jet->neutralEmEnergyFraction());
851  if (mElFrac_highPt_Barrel) mElFrac_highPt_Barrel->Fill(jet->chargedEmEnergyFraction());
852  if (mMuFrac_highPt_Barrel) mMuFrac_highPt_Barrel->Fill(jet->chargedMuEnergyFraction());
853  //
854  if (mCHEn_highPt_Barrel) mCHEn_highPt_Barrel->Fill(jet->chargedHadronEnergy());
855  if (mNHEn_highPt_Barrel) mNHEn_highPt_Barrel->Fill(jet->neutralHadronEnergy());
856  if (mPhEn_highPt_Barrel) mPhEn_highPt_Barrel->Fill(jet->neutralEmEnergy());
857  if (mElEn_highPt_Barrel) mElEn_highPt_Barrel->Fill(jet->chargedEmEnergy());
858  if (mMuEn_highPt_Barrel) mMuEn_highPt_Barrel->Fill(jet->chargedMuEnergy());
859  }
860  if(mChMultiplicity_lowPt_Barrel) mChMultiplicity_lowPt_Barrel->Fill(jet->chargedMultiplicity());
861  if(mNeuMultiplicity_lowPt_Barrel) mNeuMultiplicity_lowPt_Barrel->Fill(jet->neutralMultiplicity());
862  if(mMuMultiplicity_lowPt_Barrel) mMuMultiplicity_lowPt_Barrel->Fill(jet->muonMultiplicity());
863  if(mChMultiplicity_mediumPt_Barrel) mChMultiplicity_mediumPt_Barrel->Fill(jet->chargedMultiplicity());
864  if(mNeuMultiplicity_mediumPt_Barrel) mNeuMultiplicity_mediumPt_Barrel->Fill(jet->neutralMultiplicity());
865  if(mMuMultiplicity_mediumPt_Barrel) mMuMultiplicity_mediumPt_Barrel->Fill(jet->muonMultiplicity());
866  if(mChMultiplicity_highPt_Barrel) mChMultiplicity_highPt_Barrel->Fill(jet->chargedMultiplicity());
867  if(mNeuMultiplicity_highPt_Barrel) mNeuMultiplicity_highPt_Barrel->Fill(jet->neutralMultiplicity());
868  if(mMuMultiplicity_highPt_Barrel) mMuMultiplicity_highPt_Barrel->Fill(jet->muonMultiplicity());
869  //
870  if (mCHFracVSpT_Barrel) mCHFracVSpT_Barrel->Fill(jet->pt(),jet->chargedHadronEnergyFraction());
871  if (mNHFracVSpT_Barrel) mNHFracVSpT_Barrel->Fill(jet->pt(),jet->neutralHadronEnergyFraction());
872  if (mPhFracVSpT_Barrel) mPhFracVSpT_Barrel->Fill(jet->pt(),jet->neutralEmEnergyFraction());
873  if (mElFracVSpT_Barrel) mElFracVSpT_Barrel->Fill(jet->pt(),jet->chargedEmEnergyFraction());
874  if (mMuFracVSpT_Barrel) mMuFracVSpT_Barrel->Fill(jet->pt(),jet->chargedMuEnergyFraction());
875  }
876  if ( (fabs(jet->eta()) > 1.3) && (fabs(jet->eta()) <= 3) ) {
877  if (mPt_EndCap) mPt_EndCap->Fill (jet->pt());
878  if (mPhi_EndCap) mPhi_EndCap->Fill (jet->phi());
879  //if (mE_EndCap) mE_EndCap->Fill (jet->energy());
880  if (mConstituents_EndCap) mConstituents_EndCap->Fill(jet->nConstituents());
881  if (mHFrac_EndCap) mHFrac_EndCap->Fill(jet->chargedHadronEnergyFraction() + jet->neutralHadronEnergyFraction());
882  if (mEFrac_EndCap) mEFrac->Fill (jet->chargedEmEnergyFraction() + jet->neutralEmEnergyFraction());
883  //fractions
884  if (jet->pt()<=50.) {
885  if (mCHFrac_lowPt_EndCap) mCHFrac_lowPt_EndCap->Fill(jet->chargedHadronEnergyFraction());
886  if (mNHFrac_lowPt_EndCap) mNHFrac_lowPt_EndCap->Fill(jet->neutralHadronEnergyFraction());
887  if (mPhFrac_lowPt_EndCap) mPhFrac_lowPt_EndCap->Fill(jet->neutralEmEnergyFraction());
888  if (mElFrac_lowPt_EndCap) mElFrac_lowPt_EndCap->Fill(jet->chargedEmEnergyFraction());
889  if (mMuFrac_lowPt_EndCap) mMuFrac_lowPt_EndCap->Fill(jet->chargedMuEnergyFraction());
890  //
891  if (mCHEn_lowPt_EndCap) mCHEn_lowPt_EndCap->Fill(jet->chargedHadronEnergy());
892  if (mNHEn_lowPt_EndCap) mNHEn_lowPt_EndCap->Fill(jet->neutralHadronEnergy());
893  if (mPhEn_lowPt_EndCap) mPhEn_lowPt_EndCap->Fill(jet->neutralEmEnergy());
894  if (mElEn_lowPt_EndCap) mElEn_lowPt_EndCap->Fill(jet->chargedEmEnergy());
895  if (mMuEn_lowPt_EndCap) mMuEn_lowPt_EndCap->Fill(jet->chargedMuEnergy());
896  }
897  if (jet->pt()>50. && jet->pt()<=140.) {
898  if (mCHFrac_mediumPt_EndCap) mCHFrac_mediumPt_EndCap->Fill(jet->chargedHadronEnergyFraction());
899  if (mNHFrac_mediumPt_EndCap) mNHFrac_mediumPt_EndCap->Fill(jet->neutralHadronEnergyFraction());
900  if (mPhFrac_mediumPt_EndCap) mPhFrac_mediumPt_EndCap->Fill(jet->neutralEmEnergyFraction());
901  if (mElFrac_mediumPt_EndCap) mElFrac_mediumPt_EndCap->Fill(jet->chargedEmEnergyFraction());
902  if (mMuFrac_mediumPt_EndCap) mMuFrac_mediumPt_EndCap->Fill(jet->chargedMuEnergyFraction());
903  //
904  if (mCHEn_mediumPt_EndCap) mCHEn_mediumPt_EndCap->Fill(jet->chargedHadronEnergy());
905  if (mNHEn_mediumPt_EndCap) mNHEn_mediumPt_EndCap->Fill(jet->neutralHadronEnergy());
906  if (mPhEn_mediumPt_EndCap) mPhEn_mediumPt_EndCap->Fill(jet->neutralEmEnergy());
907  if (mElEn_mediumPt_EndCap) mElEn_mediumPt_EndCap->Fill(jet->chargedEmEnergy());
908  if (mMuEn_mediumPt_EndCap) mMuEn_mediumPt_EndCap->Fill(jet->chargedMuEnergy());
909  }
910  if (jet->pt()>140.) {
911  if (mCHFrac_highPt_EndCap) mCHFrac_highPt_EndCap->Fill(jet->chargedHadronEnergyFraction());
912  if (mNHFrac_highPt_EndCap) mNHFrac_highPt_EndCap->Fill(jet->neutralHadronEnergyFraction());
913  if (mPhFrac_highPt_EndCap) mPhFrac_highPt_EndCap->Fill(jet->neutralEmEnergyFraction());
914  if (mElFrac_highPt_EndCap) mElFrac_highPt_EndCap->Fill(jet->chargedEmEnergyFraction());
915  if (mMuFrac_highPt_EndCap) mMuFrac_highPt_EndCap->Fill(jet->chargedMuEnergyFraction());
916  //
917  if (mCHEn_highPt_EndCap) mCHEn_highPt_EndCap->Fill(jet->chargedHadronEnergy());
918  if (mNHEn_highPt_EndCap) mNHEn_highPt_EndCap->Fill(jet->neutralHadronEnergy());
919  if (mPhEn_highPt_EndCap) mPhEn_highPt_EndCap->Fill(jet->neutralEmEnergy());
920  if (mElEn_highPt_EndCap) mElEn_highPt_EndCap->Fill(jet->chargedEmEnergy());
921  if (mMuEn_highPt_EndCap) mMuEn_highPt_EndCap->Fill(jet->chargedMuEnergy());
922  }
923  if(mChMultiplicity_lowPt_EndCap) mChMultiplicity_lowPt_EndCap->Fill(jet->chargedMultiplicity());
924  if(mNeuMultiplicity_lowPt_EndCap) mNeuMultiplicity_lowPt_EndCap->Fill(jet->neutralMultiplicity());
925  if(mMuMultiplicity_lowPt_EndCap) mMuMultiplicity_lowPt_EndCap->Fill(jet->muonMultiplicity());
926  if(mChMultiplicity_mediumPt_EndCap) mChMultiplicity_mediumPt_EndCap->Fill(jet->chargedMultiplicity());
927  if(mNeuMultiplicity_mediumPt_EndCap) mNeuMultiplicity_mediumPt_EndCap->Fill(jet->neutralMultiplicity());
928  if(mMuMultiplicity_mediumPt_EndCap) mMuMultiplicity_mediumPt_EndCap->Fill(jet->muonMultiplicity());
929  if(mChMultiplicity_highPt_EndCap) mChMultiplicity_highPt_EndCap->Fill(jet->chargedMultiplicity());
930  if(mNeuMultiplicity_highPt_EndCap) mNeuMultiplicity_highPt_EndCap->Fill(jet->neutralMultiplicity());
931  if(mMuMultiplicity_highPt_EndCap) mMuMultiplicity_highPt_EndCap->Fill(jet->muonMultiplicity());
932  //
933  if (mCHFracVSpT_EndCap) mCHFracVSpT_EndCap->Fill(jet->pt(),jet->chargedHadronEnergyFraction());
934  if (mNHFracVSpT_EndCap) mNHFracVSpT_EndCap->Fill(jet->pt(),jet->neutralHadronEnergyFraction());
935  if (mPhFracVSpT_EndCap) mPhFracVSpT_EndCap->Fill(jet->pt(),jet->neutralEmEnergyFraction());
936  if (mElFracVSpT_EndCap) mElFracVSpT_EndCap->Fill(jet->pt(),jet->chargedEmEnergyFraction());
937  if (mMuFracVSpT_EndCap) mMuFracVSpT_EndCap->Fill(jet->pt(),jet->chargedMuEnergyFraction());
938  }
939  if (fabs(jet->eta()) > 3.0) {
940  if (mPt_Forward) mPt_Forward->Fill (jet->pt());
941  if (mPhi_Forward) mPhi_Forward->Fill (jet->phi());
942  //if (mE_Forward) mE_Forward->Fill (jet->energy());
943  if (mConstituents_Forward) mConstituents_Forward->Fill(jet->nConstituents());
944  if (mHFrac_Forward) mHFrac_Forward->Fill(jet->chargedHadronEnergyFraction() + jet->neutralHadronEnergyFraction());
945  if (mEFrac_Forward) mEFrac->Fill (jet->chargedEmEnergyFraction() + jet->neutralEmEnergyFraction());
946  //fractions
947  if (jet->pt()<=50.) {
948  if(mHFEFrac_lowPt_Forward) mHFEFrac_lowPt_Forward->Fill(jet->HFEMEnergyFraction());
949  if(mHFHFrac_lowPt_Forward) mHFHFrac_lowPt_Forward->Fill(jet->HFHadronEnergyFraction());
950  //
951  if(mHFEEn_lowPt_Forward) mHFEEn_lowPt_Forward->Fill(jet->HFEMEnergy());
952  if(mHFHEn_lowPt_Forward) mHFHEn_lowPt_Forward->Fill(jet->HFHadronEnergy());
953  }
954  if (jet->pt()>50. && jet->pt()<=140.) {
955  if(mHFEFrac_mediumPt_Forward) mHFEFrac_mediumPt_Forward->Fill(jet->HFEMEnergyFraction());
956  if(mHFHFrac_mediumPt_Forward) mHFHFrac_mediumPt_Forward->Fill(jet->HFHadronEnergyFraction());
957  //
958  if(mHFEEn_mediumPt_Forward) mHFEEn_mediumPt_Forward->Fill(jet->HFEMEnergy());
959  if(mHFHEn_mediumPt_Forward) mHFHEn_mediumPt_Forward->Fill(jet->HFHadronEnergy());
960  }
961  if (jet->pt()>140.) {
962  if(mHFEFrac_highPt_Forward) mHFEFrac_highPt_Forward->Fill(jet->HFEMEnergyFraction());
963  if(mHFHFrac_highPt_Forward) mHFHFrac_highPt_Forward->Fill(jet->HFHadronEnergyFraction());
964  //
965  if(mHFEEn_highPt_Forward) mHFEEn_highPt_Forward->Fill(jet->HFEMEnergy());
966  if(mHFHEn_highPt_Forward) mHFHEn_highPt_Forward->Fill(jet->HFHadronEnergy());
967  }
968  if(mChMultiplicity_lowPt_Forward) mChMultiplicity_lowPt_Forward->Fill(jet->chargedMultiplicity());
969  if(mNeuMultiplicity_lowPt_Forward) mNeuMultiplicity_lowPt_Forward->Fill(jet->neutralMultiplicity());
970  if(mMuMultiplicity_lowPt_Forward) mMuMultiplicity_lowPt_Forward->Fill(jet->muonMultiplicity());
971  if(mChMultiplicity_mediumPt_Forward) mChMultiplicity_mediumPt_Forward->Fill(jet->chargedMultiplicity());
972  if(mNeuMultiplicity_mediumPt_Forward) mNeuMultiplicity_mediumPt_Forward->Fill(jet->neutralMultiplicity());
973  if(mMuMultiplicity_mediumPt_Forward) mMuMultiplicity_mediumPt_Forward->Fill(jet->muonMultiplicity());
974  if(mChMultiplicity_highPt_Forward) mChMultiplicity_highPt_Forward->Fill(jet->chargedMultiplicity());
975  if(mNeuMultiplicity_highPt_Forward) mNeuMultiplicity_highPt_Forward->Fill(jet->neutralMultiplicity());
976  if(mMuMultiplicity_highPt_Forward) mMuMultiplicity_highPt_Forward->Fill(jet->muonMultiplicity());
977  if(mHFHFracVSpT_Forward) mHFHFracVSpT_Forward->Fill(jet->pt(),jet->HFHadronEnergyFraction());
978  if(mHFEFracVSpT_Forward) mHFEFracVSpT_Forward->Fill(jet->pt(),jet->HFEMEnergyFraction());
979  }
980  //if (mE) mE->Fill (jet->energy());
981  //if (mP) mP->Fill (jet->p());
982  //if (mMass) mMass->Fill (jet->mass());
983 
984  if (mChargedHadronEnergy) mChargedHadronEnergy->Fill (jet->chargedHadronEnergy());
985  if (mNeutralHadronEnergy) mNeutralHadronEnergy->Fill (jet->neutralHadronEnergy());
986  if (mChargedEmEnergy) mChargedEmEnergy->Fill(jet->chargedEmEnergy());
987  if (mChargedMuEnergy) mChargedMuEnergy->Fill (jet->chargedMuEnergy ());
988  if (mNeutralEmEnergy) mNeutralEmEnergy->Fill(jet->neutralEmEnergy());
989  if (mChargedMultiplicity ) mChargedMultiplicity->Fill(jet->chargedMultiplicity());
990  if (mNeutralMultiplicity ) mNeutralMultiplicity->Fill(jet->neutralMultiplicity());
991  if (mMuonMultiplicity )mMuonMultiplicity->Fill (jet-> muonMultiplicity());
992  //_______________________________________________________
993  if (mNeutralFraction) mNeutralFraction->Fill (jet->neutralMultiplicity()/jet->nConstituents());
994 
995 
996  // Fill NPV profiles
997  //----------------------------------------------------------------------
998  if (mPt_profile) mPt_profile ->Fill(numPV, jet->pt());
999  if (mEta_profile) mEta_profile ->Fill(numPV, jet->eta());
1000  if (mPhi_profile) mPhi_profile ->Fill(numPV, jet->phi());
1001  if (mConstituents_profile) mConstituents_profile->Fill(numPV, jet->nConstituents());
1002  if (mHFrac_profile) mHFrac_profile ->Fill(numPV, jet->chargedHadronEnergyFraction() + jet->neutralHadronEnergyFraction());
1003  if (mEFrac_profile) mEFrac_profile ->Fill(numPV, jet->chargedEmEnergyFraction() + jet->neutralEmEnergyFraction());
1004 
1005  if (mChargedHadronEnergy_profile) mChargedHadronEnergy_profile->Fill(numPV, jet->chargedHadronEnergy());
1006  if (mNeutralHadronEnergy_profile) mNeutralHadronEnergy_profile->Fill(numPV, jet->neutralHadronEnergy());
1007  if (mChargedEmEnergy_profile) mChargedEmEnergy_profile ->Fill(numPV, jet->chargedEmEnergy());
1008  if (mChargedMuEnergy_profile) mChargedMuEnergy_profile ->Fill(numPV, jet->chargedMuEnergy ());
1009  if (mNeutralEmEnergy_profile) mNeutralEmEnergy_profile ->Fill(numPV, jet->neutralEmEnergy());
1010  if (mChargedMultiplicity_profile) mChargedMultiplicity_profile->Fill(numPV, jet->chargedMultiplicity());
1011  if (mNeutralMultiplicity_profile) mNeutralMultiplicity_profile->Fill(numPV, jet->neutralMultiplicity());
1012  if (mMuonMultiplicity_profile) mMuonMultiplicity_profile ->Fill(numPV, jet->muonMultiplicity());
1013 
1014 
1015  //calculate correctly the dphi
1016  if(numofjets>1) {
1017  diff = fabs(fstPhi - sndPhi);
1018  corr = 2*acos(-1.) - diff;
1019  if(diff < acos(-1.)) {
1020  dphi = diff;
1021  } else {
1022  dphi = corr;
1023  }
1024  } // numofjets>1
1025  } // JetPt>_ptThreshold
1026  } // PF jet loop
1027  if (mNJets) mNJets->Fill (numofjets);
1028  if (mDPhi) mDPhi->Fill (dphi);
1029 
1030 
1031  if (mNJets_profile) mNJets_profile->Fill(numPV, numofjets);
1032 
1033 
1034  } // non dijet selection
1035 }
EventNumber_t event() const
Definition: EventID.h:44
dictionary parameters
Definition: Parameters.py:2
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:872
const std::string metname
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
void endJob()
Finish up a job.
T eta() const
const int nbinsPV
const double PVup
int iEvent
Definition: GenABIO.cc:243
double dPhi(double phi1, double phi2)
Definition: JetUtil.h:30
void beginJob(DQMStore *dbe)
Inizialize parameters for histo binning.
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1186
PFJetAnalyzer(const edm::ParameterSet &)
Constructor.
#define LogTrace(id)
const double PVlow
edm::EventID id() const
Definition: EventBase.h:56
std::vector< PFJet > PFJetCollection
collection of PFJet objects
Signal rand(Signal arg)
Definition: vlib.cc:442
void analyze(const edm::Event &, const edm::EventSetup &, const reco::PFJetCollection &pfJets, const int numPV)
Get the analysis.
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:1000
tuple pfJets
Definition: pfJets_cff.py:8
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:584
virtual ~PFJetAnalyzer()
Destructor.
Definition: DDAxes.h:10