116 CaloJetAlgorithm( cfg.getParameter<string>(
"CaloJetAlgorithm" ) ),
117 GenJetAlgorithm( cfg.getParameter<string>(
"GenJetAlgorithm" ) )
133 h_pt = fs->
make<TH1F>(
"pt",
"Jet p_{T}", 100, 0, 50 );
134 h_ptRBX = fs->
make<TH1F>(
"ptRBX",
"RBX: Jet p_{T}", 100, 0, 50 );
135 h_ptHPD = fs->
make<TH1F>(
"ptHPD",
"HPD: Jet p_{T}", 100, 0, 50 );
136 h_ptTower = fs->
make<TH1F>(
"ptTower",
"Jet p_{T}", 100, 0, 50 );
137 h_et = fs->
make<TH1F>(
"et",
"Jet E_{T}", 100, 0, 50 );
138 h_eta = fs->
make<TH1F>(
"eta",
"Jet #eta", 100, -4, 4 );
142 hitEtaEt = fs->
make<TH1F>(
"hitEtaEt",
"RecHit #eta", 90, -45, 45 );
143 hitEta = fs->
make<TH1F>(
"hitEta",
"RecHit #eta", 90, -45, 45 );
144 hitPhi = fs->
make<TH1F>(
"hitPhi",
"RecHit #phi", 73, 0, 73 );
146 caloEtaEt = fs->
make<TH1F>(
"caloEtaEt",
"CaloTower #eta", 100, -4, 4 );
147 caloEta = fs->
make<TH1F>(
"caloEta",
"CaloTower #eta", 100, -4, 4 );
150 dijetMass = fs->
make<TH1F>(
"dijetMass",
"DiJet Mass",100,0,100);
155 hadEneLeadJetEta1 = fs->
make<TH1F>(
"hadEneLeadJetEta1",
"Hadronic Energy Lead Jet Eta1 1",100,0,1500);
156 hadEneLeadJetEta2 = fs->
make<TH1F>(
"hadEneLeadJetEta2",
"Hadronic Energy Lead Jet Eta2 1",100,0,1500);
157 hadEneLeadJetEta3 = fs->
make<TH1F>(
"hadEneLeadJetEta3",
"Hadronic Energy Lead Jet Eta3 1",100,0,1500);
163 hadFracEta1 = fs->
make<TH1F>(
"hadFracEta11",
"Hadronic Fraction Eta1 Jet 1",100,0,1);
164 hadFracEta2 = fs->
make<TH1F>(
"hadFracEta21",
"Hadronic Fraction Eta2 Jet 1",100,0,1);
165 hadFracEta3 = fs->
make<TH1F>(
"hadFracEta31",
"Hadronic Fraction Eta3 Jet 1",100,0,1);
167 SumEt = fs->
make<TH1F>(
"SumEt",
"SumEt",100,0,100);
168 MET = fs->
make<TH1F>(
"MET",
"MET",100,0,50);
169 METSig = fs->
make<TH1F>(
"METSig",
"METSig",100,0,50);
170 MEx = fs->
make<TH1F>(
"MEx",
"MEx",100,-20,20);
171 MEy = fs->
make<TH1F>(
"MEy",
"MEy",100,-20,20);
172 METPhi = fs->
make<TH1F>(
"METPhi",
"METPhi",315,0,3.15);
173 MET_RBX = fs->
make<TH1F>(
"MET_RBX",
"MET",100,0,1000);
174 MET_HPD = fs->
make<TH1F>(
"MET_HPD",
"MET",100,0,1000);
178 h_Vx = fs->
make<TH1F>(
"Vx",
"Vx",100,-0.5,0.5);
179 h_Vy = fs->
make<TH1F>(
"Vy",
"Vy",100,-0.5,0.5);
180 h_Vz = fs->
make<TH1F>(
"Vz",
"Vz",100,-20,20);
191 ETime = fs->
make<TH1F>(
"ETime",
"Ecal Time",200,-200,200);
192 HTime = fs->
make<TH1F>(
"HTime",
"Hcal Time",200,-200,200);
194 towerHadEn = fs->
make<TH1F>(
"towerHadEn" ,
"Hadronic Energy in Calo Tower",2000,-100,100);
195 towerEmEn = fs->
make<TH1F>(
"towerEmEn" ,
"EM Energy in Calo Tower",2000,-100,100);
196 towerOuterEn = fs->
make<TH1F>(
"towerOuterEn" ,
"HO Energy in Calo Tower",2000,-100,100);
198 towerEmFrac = fs->
make<TH1F>(
"towerEmFrac",
"EM Fraction of Energy in Calo Tower",100,-1.,1.);
200 RBX_et = fs->
make<TH1F>(
"RBX_et",
"ET in RBX",1000,-20,100);
201 RBX_hadEnergy = fs->
make<TH1F>(
"RBX_hadEnergy",
"Hcal Energy in RBX",1000,-20,100);
202 RBX_hcalTime = fs->
make<TH1F>(
"RBX_hcalTime",
"Hcal Time in RBX",200,-200,200);
203 RBX_nTowers = fs->
make<TH1F>(
"RBX_nTowers",
"Number of Towers in RBX",75,0,75);
204 RBX_N = fs->
make<TH1F>(
"RBX_N",
"Number of RBX",10,0,10);
206 HPD_et = fs->
make<TH1F>(
"HPD_et",
"ET in HPD",1000,-20,100);
207 HPD_hadEnergy = fs->
make<TH1F>(
"HPD_hadEnergy",
"Hcal Energy in HPD",1000,-20,100);
208 HPD_hcalTime = fs->
make<TH1F>(
"HPD_hcalTime",
"Hcal Time in HPD",200,-200,200);
209 HPD_nTowers = fs->
make<TH1F>(
"HPD_nTowers",
"Number of Towers in HPD",20,0,20);
210 HPD_N = fs->
make<TH1F>(
"HPD_N",
"Number of HPD",10,0,10);
212 nTowers1 = fs->
make<TH1F>(
"nTowers1",
"Number of Towers pt 0.5",100,0,200);
213 nTowers2 = fs->
make<TH1F>(
"nTowers2",
"Number of Towers pt 1.0",100,0,200);
214 nTowers3 = fs->
make<TH1F>(
"nTowers3",
"Number of Towers pt 1.5",100,0,200);
215 nTowers4 = fs->
make<TH1F>(
"nTowers4",
"Number of Towers pt 2.0",100,0,200);
217 nTowersLeadJetPt1 = fs->
make<TH1F>(
"nTowersLeadJetPt1",
"Number of Towers in Lead Jet pt 0.5",100,0,100);
218 nTowersLeadJetPt2 = fs->
make<TH1F>(
"nTowersLeadJetPt2",
"Number of Towers in Lead Jet pt 1.0",100,0,100);
219 nTowersLeadJetPt3 = fs->
make<TH1F>(
"nTowersLeadJetPt3",
"Number of Towers in Lead Jet pt 1.5",100,0,100);
220 nTowersLeadJetPt4 = fs->
make<TH1F>(
"nTowersLeadJetPt4",
"Number of Towers in Lead Jet pt 2.0",100,0,100);
222 h_nCalJets = fs->
make<TH1F>(
"nCalJets",
"Number of CalJets", 20, 0, 20 );
224 HBEneOOT = fs->
make<TH1F>(
"HBEneOOT",
"HBEneOOT", 200, -5, 10 );
225 HEEneOOT = fs->
make<TH1F>(
"HEEneOOT",
"HEEneOOT", 200, -5, 10 );
226 HFEneOOT = fs->
make<TH1F>(
"HFEneOOT",
"HFEneOOT", 200, -5, 10 );
227 HOEneOOT = fs->
make<TH1F>(
"HOEneOOT",
"HOEneOOT", 200, -5, 10 );
229 HBEne = fs->
make<TH1F>(
"HBEne",
"HBEne", 200, -5, 10 );
230 HBEneTh = fs->
make<TH1F>(
"HBEneTh",
"HBEneTh", 200, -5, 10 );
231 HBEneX = fs->
make<TH1F>(
"HBEneX",
"HBEneX", 200, -5, 10 );
232 HBEneY = fs->
make<TH1F>(
"HBEneY",
"HBEnedY", 200, -5, 10 );
233 HBTime = fs->
make<TH1F>(
"HBTime",
"HBTime", 200, -100, 100 );
234 HBTimeTh = fs->
make<TH1F>(
"HBTimeTh",
"HBTimeTh", 200, -100, 100 );
235 HBTimeX = fs->
make<TH1F>(
"HBTimeX",
"HBTimeX", 200, -100, 100 );
236 HBTimeY = fs->
make<TH1F>(
"HBTimeY",
"HBTimeY", 200, -100, 100 );
237 HEEne = fs->
make<TH1F>(
"HEEne",
"HEEne", 200, -5, 10 );
238 HEEneTh = fs->
make<TH1F>(
"HEEneTh",
"HEEneTh", 200, -5, 10 );
239 HEEneX = fs->
make<TH1F>(
"HEEneX",
"HEEneX", 200, -5, 10 );
240 HEEneY = fs->
make<TH1F>(
"HEEneY",
"HEEneY", 200, -5, 10 );
241 HEposEne = fs->
make<TH1F>(
"HEposEne",
"HEposEne", 200, -5, 10 );
242 HEnegEne = fs->
make<TH1F>(
"HEnegEne",
"HEnegEne", 200, -5, 10 );
243 HETime = fs->
make<TH1F>(
"HETime",
"HETime", 200, -100, 100 );
244 HETimeTh = fs->
make<TH1F>(
"HETimeTh",
"HETimeTh", 200, -100, 100 );
245 HETimeX = fs->
make<TH1F>(
"HETimeX",
"HETimeX", 200, -100, 100 );
246 HETimeY = fs->
make<TH1F>(
"HETimeY",
"HETimeY", 200, -100, 100 );
247 HEposTime = fs->
make<TH1F>(
"HEposTime",
"HEposTime", 200, -100, 100 );
248 HEnegTime = fs->
make<TH1F>(
"HEnegTime",
"HEnegTime", 200, -100, 100 );
249 HOEne = fs->
make<TH1F>(
"HOEne",
"HOEne", 200, -5, 10 );
250 HOEneTh = fs->
make<TH1F>(
"HOEneTh",
"HOEneTh", 200, -5, 10 );
251 HOTime = fs->
make<TH1F>(
"HOTime",
"HOTime", 200, -100, 100 );
252 HOTimeTh = fs->
make<TH1F>(
"HOTimeTh",
"HOTimeTh", 200, -100, 100 );
255 HOSEne = fs->
make<TH1F>(
"HOSEne",
"HOSEne", 12000, -20, 100 );
256 HOSTime = fs->
make<TH1F>(
"HOSTime",
"HOSTime", 200, -100, 100 );
257 HOHEne = fs->
make<TH1F>(
"HOHEne",
"HOHEne", 12000, -20, 100 );
258 HOHTime = fs->
make<TH1F>(
"HOHTime",
"HOHTime", 200, -100, 100 );
260 HOHr0Ene = fs->
make<TH1F>(
"HOHr0Ene" ,
"HOHr0Ene", 12000, -20 , 100 );
261 HOHr0Time = fs->
make<TH1F>(
"HOHr0Time" ,
"HOHr0Time", 200, -200, 200 );
262 HOHrm1Ene = fs->
make<TH1F>(
"HOHrm1Ene" ,
"HOHrm1Ene", 12000, -20 , 100 );
263 HOHrm1Time = fs->
make<TH1F>(
"HOHrm1Time",
"HOHrm1Time", 200, -200, 200 );
264 HOHrm2Ene = fs->
make<TH1F>(
"HOHrm2Ene" ,
"HOHrm2Ene", 12000, -20 , 100 );
265 HOHrm2Time = fs->
make<TH1F>(
"HOHrm2Time",
"HOHrm2Time", 200, -200, 200 );
266 HOHrp1Ene = fs->
make<TH1F>(
"HOHrp1Ene" ,
"HOHrp1Ene", 12000, -20 , 100 );
267 HOHrp1Time = fs->
make<TH1F>(
"HOHrp1Time",
"HOHrp1Time", 200, -200, 200 );
268 HOHrp2Ene = fs->
make<TH1F>(
"HOHrp2Ene" ,
"HOHrp2Ene", 12000, -20 , 100 );
269 HOHrp2Time = fs->
make<TH1F>(
"HOHrp2Time",
"HOHrp2Time", 200, -200, 200 );
271 HBTvsE = fs->
make<TH2F>(
"HBTvsE",
"HBTvsE",100, -5, 50, 100, -100, 100);
272 HETvsE = fs->
make<TH2F>(
"HETvsE",
"HETvsE",100, -5, 50, 100, -100, 100);
273 HFTvsE = fs->
make<TH2F>(
"HFTvsE",
"HFTvsE",100, -5, 50, 100, -100, 100);
274 HOTvsE = fs->
make<TH2F>(
"HOTvsE",
"HOTvsE",100, -5, 50, 100, -100, 100);
276 HFvsZ = fs->
make<TH2F>(
"HFvsZ",
"HFvsZ",100,-50,50,100,-50,50);
278 HOocc = fs->
make<TH2F>(
"HOocc",
"HOocc",81,-40.5,40.5,70,0.5,70.5);
279 HBocc = fs->
make<TH2F>(
"HBocc",
"HBocc",81,-40.5,40.5,70,0.5,70.5);
280 HEocc = fs->
make<TH2F>(
"HEocc",
"HEocc",81,-40.5,40.5,70,0.5,70.5);
281 HFocc = fs->
make<TH2F>(
"HFocc",
"HFocc",81,-40.5,40.5,70,0.5,70.5);
283 HFEne = fs->
make<TH1F>(
"HFEne",
"HFEne", 210, -10, 200 );
284 HFEneTh = fs->
make<TH1F>(
"HFEneTh",
"HFEneTh", 210, -10, 200 );
285 HFEneP = fs->
make<TH1F>(
"HFEneP",
"HFEneP", 200, -5, 10 );
286 HFEneM = fs->
make<TH1F>(
"HFEneM",
"HFEneM", 200, -5, 10 );
287 HFTime = fs->
make<TH1F>(
"HFTime",
"HFTime", 200, -100, 100 );
288 HFTimeTh = fs->
make<TH1F>(
"HFTimeTh",
"HFTimeTh", 200, -100, 100 );
289 HFTimeP = fs->
make<TH1F>(
"HFTimeP",
"HFTimeP", 100, -100, 50 );
290 HFTimeM = fs->
make<TH1F>(
"HFTimeM",
"HFTimeM", 100, -100, 50 );
291 HFTimePMa = fs->
make<TH1F>(
"HFTimePMa",
"HFTimePMa", 100, -100, 100 );
292 HFTimePM = fs->
make<TH1F>(
"HFTimePM",
"HFTimePM", 100, -100, 100 );
295 HFLEne = fs->
make<TH1F>(
"HFLEne",
"HFLEne", 200, -5, 10 );
296 HFLTime = fs->
make<TH1F>(
"HFLTime",
"HFLTime", 200, -100, 100 );
297 HFSEne = fs->
make<TH1F>(
"HFSEne",
"HFSEne", 200, -5, 10 );
298 HFSTime = fs->
make<TH1F>(
"HFSTime",
"HFSTime", 200, -100, 100 );
300 HFLvsS = fs->
make<TH2F>(
"HFLvsS",
"HFLvsS",220,-20,200,220,-20,200);
303 EBEne = fs->
make<TH1F>(
"EBEne",
"EBEne", 200, -5, 10 );
304 EBEneTh = fs->
make<TH1F>(
"EBEneTh",
"EBEneTh", 200, -5, 10 );
305 EBEneX = fs->
make<TH1F>(
"EBEneX",
"EBEneX", 200, -5, 10 );
306 EBEneY = fs->
make<TH1F>(
"EBEneY",
"EBEneY", 200, -5, 10 );
307 EBTime = fs->
make<TH1F>(
"EBTime",
"EBTime", 200, -100, 100 );
308 EBTimeTh = fs->
make<TH1F>(
"EBTimeTh",
"EBTimeTh", 200, -100, 100 );
309 EBTimeX = fs->
make<TH1F>(
"EBTimeX",
"EBTimeX", 200, -100, 100 );
310 EBTimeY = fs->
make<TH1F>(
"EBTimeY",
"EBTimeY", 200, -100, 100 );
311 EEEne = fs->
make<TH1F>(
"EEEne",
"EEEne", 200, -5, 10 );
312 EEEneTh = fs->
make<TH1F>(
"EEEneTh",
"EEEneTh", 200, -5, 10 );
313 EEEneX = fs->
make<TH1F>(
"EEEneX",
"EEEneX", 200, -5, 10 );
314 EEEneY = fs->
make<TH1F>(
"EEEneY",
"EEEneY", 200, -5, 10 );
315 EEnegEne = fs->
make<TH1F>(
"EEnegEne",
"EEnegEne", 200, -5, 10 );
316 EEposEne = fs->
make<TH1F>(
"EEposEne",
"EEposEne", 200, -5, 10 );
317 EETime = fs->
make<TH1F>(
"EETime",
"EETime", 200, -100, 100 );
318 EETimeTh = fs->
make<TH1F>(
"EETimeTh",
"EETimeTh", 200, -100, 100 );
319 EETimeX = fs->
make<TH1F>(
"EETimeX",
"EETimeX", 200, -100, 100 );
320 EETimeY = fs->
make<TH1F>(
"EETimeY",
"EETimeY", 200, -100, 100 );
321 EEnegTime = fs->
make<TH1F>(
"EEnegTime",
"EEnegTime", 200, -100, 100 );
322 EEposTime = fs->
make<TH1F>(
"EEposTime",
"EEposTime", 200, -100, 100 );
324 h_ptCal = fs->
make<TH1F>(
"ptCal",
"p_{T} of CalJet", 100, 0, 50 );
325 h_etaCal = fs->
make<TH1F>(
"etaCal",
"#eta of CalJet", 100, -4, 4 );
328 h_nGenJets = fs->
make<TH1F>(
"nGenJets",
"Number of GenJets", 20, 0, 20 );
330 h_ptGen = fs->
make<TH1F>(
"ptGen",
"p_{T} of GenJet", 100, 0, 50 );
331 h_etaGen = fs->
make<TH1F>(
"etaGen",
"#eta of GenJet", 100, -4, 4 );
334 h_ptGenL = fs->
make<TH1F>(
"ptGenL",
"p_{T} of GenJetL", 100, 0, 50 );
335 h_etaGenL = fs->
make<TH1F>(
"etaGenL",
"#eta of GenJetL", 100, -4, 4 );
338 h_jetEt = fs->
make<TH1F>(
"jetEt",
"Total Jet Et", 100, 0, 3000 );
340 h_jet1Pt = fs->
make<TH1F>(
"jet1Pt",
"Jet1 Pt", 100, 0, 1000 );
341 h_jet2Pt = fs->
make<TH1F>(
"jet2Pt",
"Jet2 Pt", 100, 0, 1000 );
342 h_jet1PtHLT = fs->
make<TH1F>(
"jet1PtHLT",
"Jet1 Pt HLT", 100, 0, 1000 );
353 jetHOEne = fs->
make<TH1F>(
"jetHOEne" ,
"HO Energy in Jet",100, 0,100);
354 jetEMFraction = fs->
make<TH1F>(
"jetEMFraction",
"Jet EM Fraction", 100, -1.1, 1.1 );
355 NTowers = fs->
make<TH1F>(
"NTowers",
"Number of Towers", 100, 0, 100 );
358 h_EmEnergy = fs->
make<TH2F>(
"EmEnergy",
"Em Energy", 90, -45, 45, 73, 0, 73 );
359 h_HadEnergy = fs->
make<TH2F>(
"HadEnergy",
"Had Energy", 90, -45, 45, 73, 0, 73 );
361 st_Pt = fs->
make<TH1F>(
"st_Pt",
"Pt", 200, 0, 200 );
363 st_Energy = fs->
make<TH1F>(
"st_Energy",
"Tower Energy", 200, 0, 200 );
364 st_EmEnergy = fs->
make<TH1F>(
"st_EmEnergy",
"Tower EmEnergy", 200, 0, 200 );
365 st_HadEnergy = fs->
make<TH1F>(
"st_HadEnergy",
"Tower HadEnergy", 200, 0, 200 );
366 st_OuterEnergy = fs->
make<TH1F>(
"st_OuterEnergy",
"Tower OuterEnergy", 200, 0, 200 );
367 st_Eta = fs->
make<TH1F>(
"st_Eta",
"Eta", 100, -4, 4 );
369 st_iEta = fs->
make<TH1F>(
"st_iEta",
"iEta", 60, -30, 30 );
370 st_iPhi = fs->
make<TH1F>(
"st_iPhi",
"iPhi", 80, 0, 80 );
371 st_Frac = fs->
make<TH1F>(
"st_Frac",
"Frac", 100, 0, 1 );
374 EBvHB = fs->
make<TH2F>(
"EBvHB",
"EB vs HB",1000,0,4500000.,1000,0,1000000.);
375 EEvHE = fs->
make<TH2F>(
"EEvHE",
"EE vs HE",1000,0,4500000.,1000,0,200000.);
377 ECALvHCAL = fs->
make<TH2F>(
"ECALvHCAL",
"ECAL vs HCAL",100,0,20000000.,100,-500000,500000.);
378 ECALvHCALEta1 = fs->
make<TH2F>(
"ECALvHCALEta1",
"ECAL vs HCALEta1",100,0,20000000.,100,-500000,500000.);
379 ECALvHCALEta2 = fs->
make<TH2F>(
"ECALvHCALEta2",
"ECAL vs HCALEta2",100,0,20000000.,100,-500000,500000.);
380 ECALvHCALEta3 = fs->
make<TH2F>(
"ECALvHCALEta3",
"ECAL vs HCALEta3",100,0,20000000.,100,-500000,500000.);
382 EMF_Eta = fs->
make<TProfile>(
"EMF_Eta",
"EMF Eta", 100, -50, 50, 0, 10);
383 EMF_Phi = fs->
make<TProfile>(
"EMF_Phi",
"EMF Phi", 100, 0, 100, 0, 10);
384 EMF_EtaX = fs->
make<TProfile>(
"EMF_EtaX",
"EMF EtaX", 100, -50, 50, 0, 10);
385 EMF_PhiX = fs->
make<TProfile>(
"EMF_PhiX",
"EMF PhiX", 100, 0, 100, 0, 10);
389 for (
int i=0;
i<4000;
i++)
nBNC[
i] = 0;
399 bool Pass, Pass_HFTime, Pass_DiJet, Pass_BunchCrossing, Pass_Trigger, Pass_Vertex;
401 int EtaOk10, EtaOk13, EtaOk40;
407 double towerEtCut, towerECut, towerE;
412 double HBHEThreshold = 2.0;
413 double HFThreshold = 2.0;
414 double HOThreshold = 2.0;
415 double EBEEThreshold = 2.0;
420 float minJetPt10 = 10.;
421 int jetInd, allJetInd;
441 <<
" Event = " << evt.
id().
event()
470 if (triggerResults.isValid()) {
473 unsigned int n = triggerResults->size();
474 for (
unsigned int i=0;
i!=
n;
i++) {
498 Pass_Trigger =
false;
506 triggerResults = (*tr);
513 edm::LogInfo(
"myJetAna") <<
"TriggerResults::HLT not found, "
514 "automatically select events";
544 if (evt.
id().
run() == 122294)
547 if (evt.
id().
run() == 122314)
550 if (evt.
id().
run() == 123575)
552 if (evt.
id().
run() == 123596)
556 if (evt.
id().
run() == 124009) {
564 if (evt.
id().
run() == 124020) {
572 if (evt.
id().
run() == 124024) {
586 Pass_BunchCrossing =
true;
588 Pass_BunchCrossing =
false;
596 double HFM_ETime, HFP_ETime;
605 for (
int i=0;
i<100;
i++) {
606 for (
int j=0;
j<100;
j++) {
614 std::vector<edm::Handle<HFRecHitCollection> > colls;
616 std::vector<edm::Handle<HFRecHitCollection> >::iterator
i;
617 for (i=colls.begin(); i!=colls.end(); i++) {
621 float en =
j->energy();
623 int ieta =
id.ieta();
624 int iphi =
id.iphi();
625 int depth =
id.depth();
627 HFRecHit[ieta+41][iphi][depth-1] = en;
629 if (
j->id().ieta()<0) {
630 if (
j->energy() > HFThreshold) {
631 HFM_ETime +=
j->energy()*
j->time();
632 HFM_E +=
j->energy();
635 if (
j->energy() > HFThreshold) {
636 HFP_ETime +=
j->energy()*
j->time();
637 HFP_E +=
j->energy();
645 cout <<
"No HF RecHits." << endl;
648 if ((HFP_E > 0.) && (HFM_E > 0.)) {
649 HF_PMM = (HFP_ETime / HFP_E) - (HFM_ETime / HFM_E);
656 if (fabs(HF_PMM) < 10.) {
679 for( CaloJetCollection::const_iterator cal = caloJets->begin(); cal != caloJets->end(); ++ cal ) {
682 if (nJet == 0) p4tmp[0] = cal->p4();
683 if (nJet == 1) p4tmp[1] = cal->p4();
685 if ( (cal->pt() > 3.) &&
686 (fabs(cal->eta()) < 3.0) ) {
713 std::cout <<
"Reconstructed "<< vC.size() <<
" vertices" << std::endl ;
716 for (reco::VertexCollection::const_iterator vertex=vC.begin(); vertex!=vC.end(); vertex++){
720 if ( (fabs(VTX) < 20.) && (nVTX > 0) ){
750 if (evt.
id().
run() == 1) {
758 if ( (Pass_BunchCrossing) &&
789 for (
int i=0;
i<36;
i++) {
797 for (
int i=0;
i<144;
i++) {
806 double ETotal, emFrac;
807 double HCALTotalCaloTowerE, ECALTotalCaloTowerE;
808 double HCALTotalCaloTowerE_Eta1, ECALTotalCaloTowerE_Eta1;
809 double HCALTotalCaloTowerE_Eta2, ECALTotalCaloTowerE_Eta2;
810 double HCALTotalCaloTowerE_Eta3, ECALTotalCaloTowerE_Eta3;
815 HCALTotalCaloTowerE = 0;
816 ECALTotalCaloTowerE = 0;
817 HCALTotalCaloTowerE_Eta1 = 0.;
818 ECALTotalCaloTowerE_Eta1 = 0.;
819 HCALTotalCaloTowerE_Eta2 = 0.;
820 ECALTotalCaloTowerE_Eta2 = 0.;
821 HCALTotalCaloTowerE_Eta3 = 0.;
822 ECALTotalCaloTowerE_Eta3 = 0.;
825 tower != caloTowers->end(); tower++) {
826 ETotal += tower->hadEnergy();
827 ETotal += tower->emEnergy();
831 tower != caloTowers->end(); tower++) {
843 if ((tower->emEnergy()+tower->hadEnergy()) != 0) {
844 emFrac = tower->emEnergy()/(tower->emEnergy()+tower->hadEnergy());
859 if (
abs(tower->iphi()) < 100)
EMF_Phi->Fill(tower->iphi(), emFrac);
860 if (
abs(tower->ieta()) < 100)
EMF_Eta->Fill(tower->ieta(), emFrac);
861 if ( (evt.
id().
run() == 120020) && (evt.
id().
event() == 453) ) {
866 if (
abs(tower->iphi()) < 100)
EMF_PhiX->Fill(tower->iphi(), emFrac);
867 if (
abs(tower->ieta()) < 100)
EMF_EtaX->Fill(tower->ieta(), emFrac);
870 HCALTotalCaloTowerE += tower->hadEnergy();
871 ECALTotalCaloTowerE += tower->emEnergy();
873 towerE = tower->hadEnergy() + tower->emEnergy();
874 if (tower->et() > towerEtCut)
caloEtaEt->Fill(tower->eta());
875 if (towerE > towerECut)
caloEta->Fill(tower->eta());
878 if (fabs(tower->eta()) < 1.3) {
879 HCALTotalCaloTowerE_Eta1 += tower->hadEnergy();
880 ECALTotalCaloTowerE_Eta1 += tower->emEnergy();
882 if ((fabs(tower->eta()) >= 1.3) && (fabs(tower->eta()) < 2.5)) {
883 HCALTotalCaloTowerE_Eta2 += tower->hadEnergy();
884 ECALTotalCaloTowerE_Eta2 += tower->emEnergy();
886 if (fabs(tower->eta()) > 2.5) {
887 HCALTotalCaloTowerE_Eta3 += tower->hadEnergy();
888 ECALTotalCaloTowerE_Eta3 += tower->emEnergy();
899 if ((tower->hadEnergy() + tower->emEnergy()) > 2.0) {
901 int iRBX = tower->iphi();
903 if (iRBX == 0) iRBX = 17;
904 if (iRBX == -1) iRBX = 18;
907 if (tower->ieta() < 0) iRBX += 18;
922 int iHPD = tower->iphi();
923 if (tower->ieta() < 0) iHPD = iHPD + 72;
943 ECALvHCAL->Fill(HCALTotalCaloTowerE, ECALTotalCaloTowerE);
944 ECALvHCALEta1->Fill(HCALTotalCaloTowerE_Eta1, ECALTotalCaloTowerE_Eta1);
945 ECALvHCALEta2->Fill(HCALTotalCaloTowerE_Eta2, ECALTotalCaloTowerE_Eta2);
946 ECALvHCALEta3->Fill(HCALTotalCaloTowerE_Eta3, ECALTotalCaloTowerE_Eta3);
948 std::cout <<
" Total CaloTower Energy : "
949 <<
" ETotal= " << ETotal
950 <<
" HCAL= " << HCALTotalCaloTowerE
951 <<
" ECAL= " << ECALTotalCaloTowerE
968 for (
int i=0;
i<36;
i++) {
979 if ( (nRBX == 1) && (nTowers > 24) ) {
985 for (
int i=0;
i<144;
i++) {
996 if ( (nHPD == 1) && (nTowers > 6) ) {
998 cout <<
" nHPD = " << nHPD
999 <<
" Towers = " << nTowers
1000 <<
" Type = " << evtType
1012 Int_t JetLoPass = 0;
1014 if (triggerResults.
isValid()) {
1017 unsigned int n = triggerResults->size();
1018 for (
unsigned int i=0;
i!=
n;
i++) {
1029 JetLoPass = triggerResults->accept(
i);
1040 triggerResults = (*tr);
1047 edm::LogInfo(
"myJetAna") <<
"TriggerResults::HLT not found, "
1048 "automatically select events";
1088 for( CaloJetCollection::const_iterator cal = caloJets->begin(); cal != caloJets->end(); ++ cal ) {
1092 double corPt = scale*cal->pt();
1096 if (corPt>highestPt) {
1098 p4cortmp[1] = p4cortmp[0];
1100 p4cortmp[0] = scale*cal->p4();
1101 }
else if (corPt>nextPt) {
1103 p4cortmp[1] = scale*cal->p4();
1107 if (allJetInd == 1) {
1109 if (JetLoPass != 0)
h_jet1PtHLT->Fill( cal->pt() );
1111 p4tmp[0] = cal->p4();
1112 if ( fabs(cal->eta()) < 1.0) EtaOk10++;
1113 if ( fabs(cal->eta()) < 1.3) EtaOk13++;
1114 if ( fabs(cal->eta()) < 4.0) EtaOk40++;
1116 if (allJetInd == 2) {
1118 p4tmp[1] = cal->p4();
1119 if ( fabs(cal->eta()) < 1.0) EtaOk10++;
1120 if ( fabs(cal->eta()) < 1.3) EtaOk13++;
1121 if ( fabs(cal->eta()) < 4.0) EtaOk40++;
1124 if ( cal->pt() > minJetPt) {
1135 LeadMass = (p4tmp[0]+p4tmp[1]).mass();
1144 int nTow1, nTow2, nTow3, nTow4;
1151 for ( CaloJetCollection::const_iterator ijet=caloJets->begin(); ijet!=caloJets->end(); ijet++) {
1154 float hadEne = ijet->hadEnergyInHB() + ijet->hadEnergyInHO() +
1155 ijet->hadEnergyInHE() + ijet->hadEnergyInHF();
1156 float emEne = ijet->emEnergyInEB() + ijet->emEnergyInEE() + ijet->emEnergyInHF();
1157 float had = ijet->energyFractionHadronic();
1159 float j_et = ijet->et();
1162 if (fabs(ijet->eta()) < 1.3) {
1167 if (ijet->pt() > minJetPt10)
1172 if ((fabs(ijet->eta()) > 1.3) && (fabs(ijet->eta()) < 3.) ) {
1178 if (ijet->pt() > minJetPt10)
1183 if (fabs(ijet->eta()) > 3.) {
1189 if (ijet->pt() > minJetPt10)
1194 const std::vector<CaloTowerPtr> jetCaloRefs = ijet->getCaloConstituents();
1195 int nConstituents = jetCaloRefs.size();
1200 nTow1 = nTow2 = nTow3 = nTow4 = 0;
1201 for (
int i = 0;
i <nConstituents ;
i++){
1203 float et = jetCaloRefs[
i]->et();
1205 if (et > 0.5) nTow1++;
1206 if (et > 1.0) nTow2++;
1207 if (et > 1.5) nTow3++;
1208 if (et > 2.0) nTow4++;
1230 double SumEtNotJets(0);
1231 double SumEtJets(0);
1232 double SumEtTowers(0);
1233 double TotalClusteredE(0);
1234 double TotalUnclusteredE(0);
1239 double sumTowerAllPx(0);
1240 double sumTowerAllPy(0);
1242 double sumTowerAllEx(0);
1243 double sumTowerAllEy(0);
1245 double HCALTotalE, HBTotalE, HETotalE, HOTotalE, HFTotalE;
1246 double ECALTotalE, EBTotalE, EETotalE;
1248 std::vector<CaloTowerPtr> UsedTowerList;
1249 std::vector<CaloTower> TowerUsedInJets;
1250 std::vector<CaloTower> TowerNotUsedInJets;
1258 HCALTotalE = HBTotalE = HETotalE = HOTotalE = HFTotalE = 0.;
1260 std::vector<edm::Handle<HBHERecHitCollection> > colls;
1262 std::vector<edm::Handle<HBHERecHitCollection> >::iterator
i;
1263 for (i=colls.begin(); i!=colls.end(); i++) {
1267 HBEne->Fill(
j->energy());
1269 HBTvsE->Fill(
j->energy(),
j->time());
1271 if ((
j->time()<25.) || (
j->time()>75.)) {
1275 if (
j->energy() > HBHEThreshold) {
1278 HBTotalE +=
j->energy();
1279 HBocc->Fill(
j->id().ieta(),
j->id().iphi());
1283 if ( (evt.
id().
run() == 120020) && (evt.
id().
event() == 453) ) {
1285 if (
j->energy() > HBHEThreshold)
HBTimeX->Fill(
j->time());
1287 if ( (evt.
id().
run() == 120020) && (evt.
id().
event() == 457) ) {
1289 if (
j->energy() > HBHEThreshold)
HBTimeY->Fill(
j->time());
1293 HEEne->Fill(
j->energy());
1295 HETvsE->Fill(
j->energy(),
j->time());
1297 if ((
j->time()<25.) || (
j->time()>75.)) {
1301 if (
j->energy() > HBHEThreshold) {
1304 HETotalE +=
j->energy();
1305 HEocc->Fill(
j->id().ieta(),
j->id().iphi());
1310 if ( (evt.
id().
run() == 120020) && (evt.
id().
event() == 453) ) {
1312 if (
j->energy() > HBHEThreshold)
HETimeX->Fill(
j->time());
1314 if ( (evt.
id().
run() == 120020) && (evt.
id().
event() == 457) ) {
1316 if (
j->energy() > HBHEThreshold)
HETimeY->Fill(
j->time());
1320 if (
j->id().ieta()<0) {
1322 if (
j->energy() > HBHEThreshold) {
1327 if (
j->energy() > HBHEThreshold) {
1346 cout <<
"No HB/HE RecHits." << endl;
1356 std::vector<edm::Handle<HFRecHitCollection> > colls;
1358 std::vector<edm::Handle<HFRecHitCollection> >::iterator
i;
1359 for (i=colls.begin(); i!=colls.end(); i++) {
1373 HFEne->Fill(
j->energy());
1375 HFTvsE->Fill(
j->energy(),
j->time());
1376 if (
j->energy() > HFThreshold) {
1379 HFTotalE +=
j->energy();
1380 HFocc->Fill(
j->id().ieta(),
j->id().iphi());
1385 if (
j->id().ieta()<0) {
1386 if (
j->energy() > HFThreshold) {
1389 HFM_ETime +=
j->energy()*
j->time();
1390 HFM_E +=
j->energy();
1393 if (
j->energy() > HFThreshold) {
1396 HFP_ETime +=
j->energy()*
j->time();
1397 HFP_E +=
j->energy();
1402 if (
j->id().depth() == 1){
1404 if (
j->energy() > HFThreshold)
HFLTime->Fill(
j->time());
1407 if (
j->energy() > HFThreshold)
HFSTime->Fill(
j->time());
1413 cout <<
"No HF RecHits." << endl;
1416 for (
int i=0;
i<100;
i++) {
1417 for (
int j=0;
j<100;
j++) {
1422 if (HFP_E > 0.)
HFTimeP->Fill(HFP_ETime / HFP_E);
1423 if (HFM_E > 0.)
HFTimeM->Fill(HFM_ETime / HFM_E);
1425 if ((HFP_E > 0.) && (HFM_E > 0.)) {
1426 HF_PMM = (HFP_ETime / HFP_E) - (HFM_ETime / HFM_E);
1435 std::vector<edm::Handle<HORecHitCollection> > colls;
1437 std::vector<edm::Handle<HORecHitCollection> >::iterator
i;
1438 for (i=colls.begin(); i!=colls.end(); i++) {
1441 HOEne->Fill(
j->energy());
1443 HOTvsE->Fill(
j->energy(),
j->time());
1444 if (
j->energy() > HOThreshold) {
1447 HOTotalE +=
j->energy();
1448 HOocc->Fill(
j->id().ieta(),
j->id().iphi());
1452 if (((
j->id().iphi()>=59 &&
j->id().iphi()<=70 &&
1453 j->id().ieta()>=11 &&
j->id().ieta()<=15) ||
1454 (
j->id().iphi()>=47 &&
j->id().iphi()<=58 &&
1455 j->id().ieta()>=5 &&
j->id().ieta()<=10)))
1458 if (
j->energy() > HOThreshold)
HOSTime->Fill(
j->time());
1459 }
else if ((
j->id().iphi()<59 ||
j->id().iphi()>70 ||
1460 j->id().ieta()<11 ||
j->id().ieta()>15) &&
1461 (
j->id().iphi()<47 ||
j->id().iphi()>58 ||
1462 j->id().ieta()<5 ||
j->id().ieta()>10))
1465 if (
j->energy() > HOThreshold)
HOHTime->Fill(
j->time());
1467 if (
j->id().ieta()<= -11){
1469 if (
j->energy() > HOThreshold)
HOHrm2Time->Fill(
j->time());
1470 }
else if (
j->id().ieta()>= -10 &&
j->id().ieta() <= -5) {
1472 if (
j->energy() > HOThreshold)
HOHrm1Time->Fill(
j->time());
1473 }
else if (
j->id().ieta()>= -4 &&
j->id().ieta() <= 4) {
1475 if (
j->energy() > HOThreshold)
HOHr0Time->Fill(
j->time());
1476 }
else if (
j->id().ieta()>= 5 &&
j->id().ieta() <= 10) {
1478 if (
j->energy() > HOThreshold)
HOHrp1Time->Fill(
j->time());
1479 }
else if (
j->id().ieta()>= 11) {
1481 if (
j->energy() > HOThreshold)
HOHrp2Time->Fill(
j->time());
1483 std::cout <<
"Finding events that are in no ring !?!" << std::endl;
1484 std::cout <<
"eta = " <<
j->id().ieta() << std::endl;
1488 std::cout <<
"Finding events that are neither SiPM nor HPD!?" << std::endl;
1498 cout <<
"No HO RecHits." << endl;
1501 HCALTotalE = HBTotalE + HETotalE + HFTotalE + HOTotalE;
1502 ECALTotalE = EBTotalE = EETotalE = 0.;
1506 std::vector<edm::Handle<EcalRecHitCollection> > colls;
1508 std::vector<edm::Handle<EcalRecHitCollection> >::iterator
i;
1509 for (i=colls.begin(); i!=colls.end(); i++) {
1512 EBEne->Fill(
j->energy());
1514 if (
j->energy() > EBEEThreshold) {
1518 if ( (evt.
id().
run() == 120020) && (evt.
id().
event() == 453) ) {
1522 if ( (evt.
id().
run() == 120020) && (evt.
id().
event() == 457) ) {
1526 EBTotalE +=
j->energy();
1529 EEEne->Fill(
j->energy());
1531 if (
j->energy() > EBEEThreshold) {
1535 if ( (evt.
id().
run() == 120020) && (evt.
id().
event() == 453) ) {
1539 if ( (evt.
id().
run() == 120020) && (evt.
id().
event() == 457 ) ) {
1543 EETotalE +=
j->energy();
1550 cout <<
"No ECAL RecHits." << endl;
1553 EBvHB->Fill(HBTotalE, EBTotalE);
1554 EEvHE->Fill(HETotalE, EETotalE);
1606 ECALTotalE = EBTotalE + EETotalE;
1608 if ( (EBTotalE > 320000) && (EBTotalE < 330000) &&
1609 (HBTotalE > 2700000) && (HBTotalE < 2800000) ) {
1616 std::cout <<
" Rechits: Total Energy : "
1617 <<
" HCAL= " << HCALTotalE
1618 <<
" ECAL= " << ECALTotalE
1619 <<
" HB = " << HBTotalE
1620 <<
" EB = " << EBTotalE
1630 nTow1 = nTow2 = nTow3 = nTow4 = 0;
1632 double sum_et = 0.0;
1633 double sum_ex = 0.0;
1634 double sum_ey = 0.0;
1641 tower != caloTowers->end(); tower++) {
1643 Double_t
et = tower->et();
1645 if (et > 0.5) nTow1++;
1646 if (et > 1.0) nTow2++;
1647 if (et > 1.5) nTow3++;
1648 if (et > 2.0) nTow4++;
1654 if (tower->emEnergy() > 2.0) {
1655 h_EmEnergy->Fill (tower->ieta(), tower->iphi(), tower->emEnergy());
1657 if (tower->hadEnergy() > 2.0) {
1658 h_HadEnergy->Fill (tower->ieta(), tower->iphi(), tower->hadEnergy());
1663 ETime->Fill(tower->ecalTime());
1664 HTime->Fill(tower->hcalTime());
1667 double phix = tower->phi();
1672 double et = tower->et();
1676 sum_ex += et*
cos(phix);
1677 sum_ey += et*
sin(phix);
1680 Double_t
phi = tower->phi();
1681 SumEtTowers += tower->et();
1683 sumTowerAllEx += et*
cos(phi);
1684 sumTowerAllEy += et*
sin(phi);
1705 UsedTowerList.clear();
1706 TowerUsedInJets.clear();
1707 TowerNotUsedInJets.clear();
1711 for ( CaloJetCollection::const_iterator ijet=caloJets->begin(); ijet!=caloJets->end(); ijet++) {
1713 Double_t
jetPt = ijet->pt();
1714 Double_t
jetEta = ijet->eta();
1715 Double_t
jetPhi = ijet->phi();
1719 Double_t jetPx = jetPt*
cos(jetPhi);
1720 Double_t jetPy = jetPt*
sin(jetPhi);
1725 const std::vector<CaloTowerPtr> jetCaloRefs = ijet->getCaloConstituents();
1726 int nConstituents = jetCaloRefs.size();
1727 for (
int i = 0;
i <nConstituents ;
i++){
1729 UsedTowerList.push_back(jetCaloRefs[
i]);
1736 if ( (jetPt>80.0) && (fabs(jetEta) < 1.3) ){
1737 st_Pt->Fill( jetPt );
1738 int nConstituents = ijet->getCaloConstituents().size();
1744 for(
unsigned twr=0; twr<ijet->getCaloConstituents().size(); ++twr){
1745 CaloTowerPtr tower = (ijet->getCaloConstituents())[twr];
1747 if( tower->et()>0. ){
1749 if (tower->energy() > maxEne) maxEne = tower->energy();
1750 totEne += tower->energy();
1757 st_Eta->Fill( tower->eta() );
1758 st_Phi->Fill( tower->phi() );
1760 st_iEta->Fill( tower->ieta() );
1761 st_iPhi->Fill( tower->iphi() );
1779 st_Frac->Fill( maxEne / totEne );
1785 int NTowersUsed = UsedTowerList.size();
1789 tower != caloTowers->end(); tower++) {
1792 Double_t
et = tower->et();
1796 Double_t
phi = tower->phi();
1797 SumEtTowers += tower->et();
1799 sumTowerAllPx += et*
cos(phi);
1800 sumTowerAllPy += et*
sin(phi);
1804 for(
int i=0;
i<NTowersUsed;
i++){
1805 if(tower->id() == UsedTowerList[
i]->id()){
1812 TowerUsedInJets.push_back(t);
1814 TowerNotUsedInJets.push_back(t);
1819 int nUsed = TowerUsedInJets.size();
1820 int nNotUsed = TowerNotUsedInJets.size();
1824 TotalClusteredE = 0;
1825 TotalUnclusteredE = 0;
1827 for(
int i=0;
i<nUsed;
i++){
1828 SumEtJets += TowerUsedInJets[
i].et();
1830 if (TowerUsedInJets[
i].
energy() > 1.0)
1831 TotalClusteredE += TowerUsedInJets[
i].energy();
1835 for(
int i=0;
i<nNotUsed;
i++){
1836 if (TowerNotUsedInJets[
i].
et() > 0.5)
1837 SumEtNotJets += TowerNotUsedInJets[
i].et();
1841 if (TowerNotUsedInJets[
i].
energy() > 1.0)
1842 TotalUnclusteredE += TowerNotUsedInJets[
i].energy();
1858 calomet = &(calometcol->front());
1860 double caloSumET = calomet->
sumEt();
1861 double caloMET = calomet->
pt();
1862 double caloMETSig = calomet->
mEtSig();
1863 double caloMEx = calomet->
px();
1864 double caloMEy = calomet->
py();
1865 double caloMETPhi = calomet->
phi();
1867 SumEt->Fill(caloSumET);
1869 if (evtType == 0)
MET_Tower->Fill(caloMET);
1870 if (evtType == 1)
MET_RBX->Fill(caloMET);
1871 if (evtType == 2)
MET_HPD->Fill(caloMET);
1872 METSig->Fill(caloMETSig);
1875 METPhi->Fill(caloMETPhi);
1902 evt.
getByLabel(
"offlinePrimaryVertices", vertexCollection);
1905 std::cout <<
"Reconstructed "<< vC.size() <<
" vertices" << std::endl ;
1907 for (reco::VertexCollection::const_iterator vertex=vC.begin(); vertex!=vC.end(); vertex++){
1909 h_Vx->Fill(vertex->x());
1910 h_Vy->Fill(vertex->y());
1911 h_Vz->Fill(vertex->z());
1917 if ((HF_PMM !=
INVALID) || (nVTX > 0)) {
1918 HFvsZ->Fill(HF_PMM,VTX);
1926 evt.
getByLabel(
"generalTracks", trackCollection);
1930 std::cout <<
"ANA: Reconstructed "<< tC.size() <<
" tracks" << std::endl ;
1933 for (reco::TrackCollection::const_iterator
track=tC.begin();
track!=tC.end();
track++){
1994 for( CaloJetCollection::const_iterator ijet = caloJets->begin(); ijet != caloJets->end(); ++ ijet ) {
2004 cout <<
" CaloJet: Event Type = " << evtType
2005 <<
" pt = " << ijet->pt()
2008 h_pt->Fill(ijet->pt());
2009 if (evtType == 0)
h_ptTower->Fill(ijet->pt());
2010 if (evtType == 1)
h_ptRBX->Fill(ijet->pt());
2011 if (evtType == 2)
h_ptHPD->Fill(ijet->pt());
2012 h_et->Fill(ijet->et());
2013 h_eta->Fill(ijet->eta());
2014 h_phi->Fill(ijet->phi());
2016 jetHOEne->Fill(ijet->hadEnergyInHO());
2069 for (
int i=0;
i<4000;
i++) {
void getManyByType(std::vector< Handle< PROD > > &results) const
T getParameter(std::string const &) const
EventNumber_t event() const
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
double deltaPhi(float phi1, float phi2)
#define DEFINE_FWK_MODULE(type)
Sin< T >::type sin(const T &t)
std::vector< Track > TrackCollection
collection of Tracks
std::vector< T >::const_iterator const_iterator
int bunchCrossing() const
edm::LuminosityBlockNumber_t luminosityBlock() const
std::vector< Vertex > VertexCollection
collection of Vertex objects
TH1F * h_TotalUnclusteredE
void analyze(const edm::Event &, const edm::EventSetup &)
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
std::string CaloJetAlgorithm
TH1F * h_TotalUnclusteredEt
edm::InputTag theTriggerResultsLabel
Cos< T >::type cos(const T &t)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
virtual double px() const
x coordinate of momentum vector
virtual double pt() const
transverse momentum
std::string const & triggerName(unsigned int index) const
T const * product() const
T * make() const
make new ROOT object
myJetAna(const edm::ParameterSet &)
virtual double phi() const
momentum azimuthal angle
virtual double py() const
y coordinate of momentum vector