59 |
|
useCentrality_ = iConfig.getUntrackedParameter<bool>("useCentrality",false); |
60 |
|
useVtx_ = iConfig.getUntrackedParameter<bool>("useVtx",true); |
61 |
|
useJEC_ = iConfig.getUntrackedParameter<bool>("useJEC",true); |
62 |
+ |
usePat_ = iConfig.getUntrackedParameter<bool>("usePAT",true); |
63 |
|
|
64 |
|
if(!isMC_){ |
65 |
|
L1gtReadout_ = iConfig.getParameter<edm::InputTag>("L1gtReadout"); |
103 |
|
string jetTagTitle = jetTag_.label()+" Jet Analysis Tree"; |
104 |
|
t = fs1->make<TTree>("t",jetTagTitle.c_str()); |
105 |
|
|
105 |
– |
|
106 |
|
// TTree* t= new TTree("t","Jet Response Analyzer"); |
107 |
|
t->Branch("run",&jets_.run,"run/I"); |
108 |
|
t->Branch("evt",&jets_.evt,"evt/I"); |
119 |
|
t->Branch("jteta",jets_.jteta,"jteta[nref]/F"); |
120 |
|
t->Branch("jty",jets_.jty,"jty[nref]/F"); |
121 |
|
t->Branch("jtphi",jets_.jtphi,"jtphi[nref]/F"); |
122 |
+ |
t->Branch("jtpu",jets_.jtpu,"jtpu[nref]/F"); |
123 |
|
|
124 |
|
if(isMC_){ |
125 |
|
t->Branch("pthat",&jets_.pthat,"pthat/F"); |
237 |
|
} |
238 |
|
} |
239 |
|
|
240 |
< |
|
241 |
< |
|
242 |
< |
edm::Handle<pat::JetCollection> jets; |
240 |
> |
edm::Handle<pat::JetCollection> patjets; |
241 |
> |
if(usePat_)iEvent.getByLabel(jetTag_, patjets); |
242 |
> |
|
243 |
> |
edm::Handle<reco::JetView> jets; |
244 |
|
iEvent.getByLabel(jetTag_, jets); |
245 |
|
|
244 |
– |
|
246 |
|
// FILL JRA TREE |
247 |
|
|
248 |
|
jets_.b = b; |
254 |
|
} |
255 |
|
|
256 |
|
for(unsigned int j = 0 ; j < jets->size(); ++j){ |
257 |
< |
const pat::Jet& jet = (*jets)[j]; |
257 |
> |
const reco::Jet& jet = (*jets)[j]; |
258 |
|
|
259 |
|
//cout<<" jet pt "<<jet.pt()<<endl; |
260 |
|
//if(jet.pt() < jetPtMin) continue; |
261 |
< |
if (useJEC_) jets_.rawpt[jets_.nref]=jet.correctedJet("Uncorrected").pt(); |
261 |
> |
if (useJEC_ && usePat_){ |
262 |
> |
jets_.rawpt[jets_.nref]=(*patjets)[j].correctedJet("Uncorrected").pt(); |
263 |
> |
} |
264 |
|
jets_.jtpt[jets_.nref] = jet.pt(); |
265 |
|
jets_.jteta[jets_.nref] = jet.eta(); |
266 |
|
jets_.jtphi[jets_.nref] = jet.phi(); |
267 |
|
jets_.jty[jets_.nref] = jet.eta(); |
268 |
< |
|
268 |
> |
jets_.jtpu[jets_.nref] = jet.pileup(); |
269 |
|
|
270 |
< |
if(jet.genJet()){ |
271 |
< |
jets_.refpt[jets_.nref] = jet.genJet()->pt(); |
272 |
< |
jets_.refeta[jets_.nref] = jet.genJet()->eta(); |
273 |
< |
jets_.refphi[jets_.nref] = jet.genJet()->phi(); |
274 |
< |
jets_.refy[jets_.nref] = jet.genJet()->eta(); |
275 |
< |
jets_.refdphijt[jets_.nref] = reco::deltaPhi(jet.phi(),jet.genJet()->phi()); |
276 |
< |
jets_.refdrjt[jets_.nref] = reco::deltaR(jet.eta(),jet.phi(),jet.genJet()->eta(),jet.genJet()->phi()); |
277 |
< |
} |
278 |
< |
else{ |
279 |
< |
jets_.refpt[jets_.nref] = -999.; |
280 |
< |
jets_.refeta[jets_.nref] = -999.; |
281 |
< |
jets_.refphi[jets_.nref] = -999.; |
282 |
< |
jets_.refy[jets_.nref] = -999.; |
283 |
< |
jets_.refdphijt[jets_.nref] = -999.; |
284 |
< |
jets_.refdrjt[jets_.nref] = -999.; |
285 |
< |
} |
286 |
< |
|
287 |
< |
// matched partons |
288 |
< |
if (jet.genParton()) { |
289 |
< |
jets_.refparton_pt[jets_.nref] = jet.genParton()->pt(); |
290 |
< |
jets_.refparton_flavor[jets_.nref] = jet.genParton()->pdgId(); |
270 |
> |
if(isMC_ && usePat_){ |
271 |
> |
const reco::GenJet* genjet = (*patjets)[j].genJet(); |
272 |
> |
if(genjet){ |
273 |
> |
jets_.refpt[jets_.nref] = genjet->pt(); |
274 |
> |
jets_.refeta[jets_.nref] = genjet->eta(); |
275 |
> |
jets_.refphi[jets_.nref] = genjet->phi(); |
276 |
> |
jets_.refy[jets_.nref] = genjet->eta(); |
277 |
> |
jets_.refdphijt[jets_.nref] = reco::deltaPhi(jet.phi(), genjet->phi()); |
278 |
> |
jets_.refdrjt[jets_.nref] = reco::deltaR(jet.eta(),jet.phi(),genjet->eta(),genjet->phi()); |
279 |
> |
}else{ |
280 |
> |
jets_.refpt[jets_.nref] = -999.; |
281 |
> |
jets_.refeta[jets_.nref] = -999.; |
282 |
> |
jets_.refphi[jets_.nref] = -999.; |
283 |
> |
jets_.refy[jets_.nref] = -999.; |
284 |
> |
jets_.refdphijt[jets_.nref] = -999.; |
285 |
> |
jets_.refdrjt[jets_.nref] = -999.; |
286 |
> |
} |
287 |
> |
|
288 |
> |
// matched partons |
289 |
> |
const reco::GenParticle * parton = (*patjets)[j].genParton(); |
290 |
> |
if(parton){ |
291 |
> |
jets_.refparton_pt[jets_.nref] = parton->pt(); |
292 |
> |
jets_.refparton_flavor[jets_.nref] = parton->pdgId(); |
293 |
|
} else { |
294 |
|
jets_.refparton_pt[jets_.nref] = -999; |
295 |
|
jets_.refparton_flavor[jets_.nref] = -999; |
296 |
|
} |
297 |
< |
|
297 |
> |
} |
298 |
|
|
299 |
|
jets_.nref++; |
300 |
|
|