29 |
|
const HbbAnalysis::JetVars & aAll, |
30 |
|
const HbbAnalysis::CaloJetVars & aCalo, |
31 |
|
const HbbAnalysis::JetBtagVars & aBtag, |
32 |
< |
const HbbAnalysis::JetIDVars & aId |
33 |
< |
){ |
32 |
> |
const HbbAnalysis::JetIDVars & aId, |
33 |
> |
const HbbAnalysis::JetECorVars & aCor |
34 |
> |
){ |
35 |
|
Clear(); |
36 |
|
jetType_ = 0;//calo jet |
37 |
|
genVars(aGen); |
41 |
|
caloVars(aCalo); |
42 |
|
btagVars(aBtag); |
43 |
|
idVars(aId); |
44 |
+ |
ecorVars(aCor); |
45 |
|
}; |
46 |
|
|
47 |
|
Jet(const HbbAnalysis::GenVars & aGen, |
48 |
|
const HbbAnalysis::GenVars & aGenJet, |
49 |
|
const HbbAnalysis::BaseVars & aReco, |
50 |
|
const HbbAnalysis::JetVars & aAll, |
51 |
+ |
const HbbAnalysis::CaloJetVars & aCalo, |
52 |
|
const HbbAnalysis::JPTJetVars & aJpt, |
53 |
|
const HbbAnalysis::JPTPFJetVars & aJptPf, |
54 |
|
const HbbAnalysis::JetBtagVars & aBtag, |
55 |
< |
const HbbAnalysis::JetIDVars & aId |
56 |
< |
){ |
55 |
> |
const HbbAnalysis::JetIDVars & aId, |
56 |
> |
const HbbAnalysis::JetECorVars & aCor |
57 |
> |
){ |
58 |
|
Clear(); |
59 |
|
jetType_ = 2;//jpt jet |
60 |
|
genVars(aGen); |
61 |
|
genJetVars(aGenJet); |
62 |
|
recoVars(aReco); |
63 |
|
commonVars(aAll); |
64 |
+ |
caloVars(aCalo); |
65 |
|
jptVars(aJpt); |
66 |
|
jptPfVars(aJptPf); |
67 |
|
btagVars(aBtag); |
68 |
|
idVars(aId); |
69 |
+ |
ecorVars(aCor); |
70 |
|
}; |
71 |
|
|
72 |
|
Jet(const HbbAnalysis::GenVars & aGen, |
75 |
|
const HbbAnalysis::JetVars & aAll, |
76 |
|
const HbbAnalysis::PFJetVars & aPF, |
77 |
|
const HbbAnalysis::JPTPFJetVars & aJptPF, |
78 |
< |
const HbbAnalysis::JetBtagVars & aBtag |
79 |
< |
){ |
78 |
> |
const HbbAnalysis::JetBtagVars & aBtag, |
79 |
> |
const HbbAnalysis::JetECorVars & aCor |
80 |
> |
){ |
81 |
|
Clear(); |
82 |
|
jetType_ = 1;//PF jet |
83 |
|
genVars(aGen); |
87 |
|
jptPfVars(aJptPF); |
88 |
|
pfVars(aPF); |
89 |
|
btagVars(aBtag); |
90 |
+ |
ecorVars(aCor); |
91 |
|
}; |
92 |
|
|
93 |
|
inline const unsigned short jetType() const { |
134 |
|
return id_; |
135 |
|
}; |
136 |
|
|
137 |
+ |
inline const HbbAnalysis::JetECorVars & ecorVars() const { |
138 |
+ |
return ecor_; |
139 |
+ |
}; |
140 |
+ |
|
141 |
|
inline void jetType(const unsigned short aType) { |
142 |
|
jetType_ = aType; |
143 |
|
}; |
182 |
|
id_ = aId; |
183 |
|
}; |
184 |
|
|
185 |
+ |
inline void ecorVars(const HbbAnalysis::JetECorVars & aCor){ |
186 |
+ |
ecor_ = aCor; |
187 |
+ |
}; |
188 |
+ |
|
189 |
|
inline void Clear(){ |
190 |
|
gen_.valid = false; |
191 |
|
gen_.E = 0; |
224 |
|
reco_.vx = 0; |
225 |
|
reco_.vy = 0; |
226 |
|
reco_.vz = 0; |
227 |
+ |
reco_.hltMatch = false; |
228 |
|
|
229 |
|
common_.flavour = 0; |
230 |
|
common_.partonFlavour = 0; |
235 |
|
common_.etaEtaMoment = 0; |
236 |
|
common_.phiPhiMoment = 0; |
237 |
|
common_.etaPhiMoment = 0; |
221 |
– |
common_.l1Match = false; |
222 |
– |
common_.hltMatch = false; |
238 |
|
//common_.rawEta = 0; |
239 |
|
//common_.rawPhi = 0; |
240 |
|
|
255 |
|
|
256 |
|
jpt_.zspCorrection = 0; |
257 |
|
jpt_.elecMultiplicity = 0; |
258 |
< |
jpt_.pionsInCone.clear(); |
259 |
< |
jpt_.pionsCurledOut.clear(); |
260 |
< |
jpt_.pionsCurledIn.clear(); |
261 |
< |
jpt_.elecsInCone.clear(); |
262 |
< |
jpt_.elecsCurledOut.clear(); |
263 |
< |
jpt_.elecsCurledIn.clear(); |
264 |
< |
jpt_.muonsInCone.clear(); |
265 |
< |
jpt_.muonsCurledOut.clear(); |
266 |
< |
jpt_.muonsCurledIn.clear(); |
258 |
> |
jpt_.calopT = 0; |
259 |
> |
jpt_.caloEta = 0; |
260 |
> |
jpt_.particleStatusPt.clear(); |
261 |
> |
//jpt_.pionsInCone.clear(); |
262 |
> |
//jpt_.pionsCurledOut.clear(); |
263 |
> |
//jpt_.pionsCurledIn.clear(); |
264 |
> |
//jpt_.elecsInCone.clear(); |
265 |
> |
//jpt_.elecsCurledOut.clear(); |
266 |
> |
//jpt_.elecsCurledIn.clear(); |
267 |
> |
//jpt_.muonsInCone.clear(); |
268 |
> |
//jpt_.muonsCurledOut.clear(); |
269 |
> |
//jpt_.muonsCurledIn.clear(); |
270 |
|
|
271 |
|
jptPf_.chargedHadronEnergy = 0; |
272 |
|
jptPf_.chargedHadronEnergyFraction = 0; |
302 |
|
id_.fRBX = 0; |
303 |
|
id_.n90Hits = 0; |
304 |
|
id_.hitsInN90 = 0; |
305 |
+ |
id_.restrictedEMF = 0; |
306 |
+ |
id_.nHCALTowers = 0; |
307 |
+ |
id_.nECALTowers = 0; |
308 |
|
|
309 |
< |
|
309 |
> |
ecor_.Levels.clear(); |
310 |
|
}; |
311 |
|
|
312 |
|
template <class T> |
313 |
|
const double deltaRwithLepton(const std::vector<T> & aCol) const; |
314 |
+ |
void setRecopT(double new_pt) { |
315 |
+ |
reco_.pT = new_pt; |
316 |
+ |
} |
317 |
|
|
318 |
|
private: |
319 |
|
|
328 |
|
HbbAnalysis::PFJetVars pf_; |
329 |
|
HbbAnalysis::JetBtagVars btag_; |
330 |
|
HbbAnalysis::JetIDVars id_; |
331 |
+ |
HbbAnalysis::JetECorVars ecor_; |
332 |
|
}; |
333 |
|
|
334 |
|
inline bool operator < (const Jet & one, const Jet & two) |
348 |
|
|
349 |
|
for (iLepton= aCol.begin(); |
350 |
|
iLepton != aCol.end(); |
351 |
< |
iLepton++) |
351 |
> |
++iLepton) |
352 |
|
{ |
353 |
|
double lDeltaEta = recoVars().eta-(*iLepton).recoVars().eta; |
354 |
|
double lDeltaPhi = recoVars().phi-(*iLepton).recoVars().phi; |
355 |
< |
if (lDeltaPhi<0) lDeltaPhi+= 2*TMath::Pi(); |
355 |
> |
//phi between -pi and pi: no need to add 2pi if negative.... |
356 |
|
|
357 |
|
double lDeltaR = sqrt(lDeltaEta*lDeltaEta+lDeltaPhi*lDeltaPhi); |
358 |
|
|