Fork me on GitHub

source: git/classes/DelphesClasses.cc@ 4564cba

Last change on this file since 4564cba was cc8716b, checked in by GitHub <noreply@…>, 3 years ago

Update to handle CMS endcap muon detector showers for long-lived particles (#103)

Co-authored-by: christinaw97 <christina.wang@…>

  • Property mode set to 100644
File size: 15.2 KB
RevLine 
[b443089]1/*
2 * Delphes: a framework for fast simulation of a generic collider experiment
3 * Copyright (C) 2012-2014 Universite catholique de Louvain (UCL), Belgium
[1fa50c2]4 *
[b443089]5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
[1fa50c2]9 *
[b443089]10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
[1fa50c2]14 *
[b443089]15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
[d7d2da3]19/**
20 *
21 * Definition of classes to be stored in the root tree.
22 * Function CompareXYZ sorts objects by the variable XYZ that MUST be
23 * present in the data members of the root tree class of the branch.
24 *
25 * \author P. Demin - UCL, Louvain-la-Neuve
26 *
27 */
28
29#include "classes/DelphesClasses.h"
30#include "classes/DelphesFactory.h"
31#include "classes/SortableObject.h"
32
33CompBase *GenParticle::fgCompare = 0;
34CompBase *Photon::fgCompare = CompPT<Photon>::Instance();
35CompBase *Electron::fgCompare = CompPT<Electron>::Instance();
36CompBase *Muon::fgCompare = CompPT<Muon>::Instance();
[cc8716b]37
[d7d2da3]38CompBase *Jet::fgCompare = CompPT<Jet>::Instance();
39CompBase *Track::fgCompare = CompPT<Track>::Instance();
40CompBase *Tower::fgCompare = CompE<Tower>::Instance();
[4d7014e]41CompBase *ParticleFlowCandidate::fgCompare = CompE<ParticleFlowCandidate>::Instance();
[8f7db23]42CompBase *HectorHit::fgCompare = CompE<HectorHit>::Instance();
[3c46e17]43CompBase *Vertex::fgCompare = CompSumPT2<Vertex>::Instance();
[d7d2da3]44CompBase *Candidate::fgCompare = CompMomentumPt<Candidate>::Instance();
[cc8716b]45CompBase *CscCluster::fgCompare = CompE<CscCluster>::Instance();
[d7d2da3]46
47//------------------------------------------------------------------------------
48
[2b3ef28]49TLorentzVector GenParticle::P4() const
[d7d2da3]50{
51 TLorentzVector vec;
52 vec.SetPxPyPzE(Px, Py, Pz, E);
53 return vec;
54}
55
56//------------------------------------------------------------------------------
57
[2b3ef28]58TLorentzVector MissingET::P4() const
[4ad7b96]59{
60 TLorentzVector vec;
61 vec.SetPtEtaPhiM(MET, Eta, Phi, 0.0);
62 return vec;
63}
64
65//------------------------------------------------------------------------------
66
[2b3ef28]67TLorentzVector Photon::P4() const
[d7d2da3]68{
69 TLorentzVector vec;
70 vec.SetPtEtaPhiM(PT, Eta, Phi, 0.0);
71 return vec;
72}
73
74//------------------------------------------------------------------------------
75
[2b3ef28]76TLorentzVector Electron::P4() const
[d7d2da3]77{
78 TLorentzVector vec;
79 vec.SetPtEtaPhiM(PT, Eta, Phi, 0.0);
80 return vec;
81}
82
83//------------------------------------------------------------------------------
84
[2b3ef28]85TLorentzVector Muon::P4() const
[d7d2da3]86{
87 TLorentzVector vec;
88 vec.SetPtEtaPhiM(PT, Eta, Phi, 0.0);
89 return vec;
90}
91
92//------------------------------------------------------------------------------
93
[2b3ef28]94TLorentzVector Jet::P4() const
[d7d2da3]95{
96 TLorentzVector vec;
97 vec.SetPtEtaPhiM(PT, Eta, Phi, Mass);
98 return vec;
99}
100
101//------------------------------------------------------------------------------
102
[2b3ef28]103TLorentzVector Track::P4() const
[d7d2da3]104{
105 TLorentzVector vec;
[9cc5aeb]106 vec.SetPtEtaPhiM(PT, Eta, Phi, Mass);
[d7d2da3]107 return vec;
108}
109
[2671df6]110//------------------------------------------------------------------------------
111
112TMatrixDSym Track::CovarianceMatrix() const
113{
114 TMatrixDSym Cv;
115 Cv.ResizeTo(5, 5);
[363e269]116
[2671df6]117 // convert diagonal term to original units
[363e269]118 Cv(0, 0)=TMath::Power(ErrorD0, 2.);
[2671df6]119 Cv(1, 1)=TMath::Power(ErrorPhi, 2.);
[363e269]120 Cv(2, 2)=TMath::Power(ErrorC, 2.);
121 Cv(3, 3)=TMath::Power(ErrorDZ, 2.);
[2671df6]122 Cv(4, 4)=TMath::Power(ErrorCtgTheta, 2.);
123
124 // off diagonal terms
125 Cv(0, 1)=ErrorD0Phi;
126 Cv(0, 2)=ErrorD0C;
127 Cv(0, 3)=ErrorD0DZ;
128 Cv(0, 4)=ErrorD0CtgTheta;
129 Cv(1, 2)=ErrorPhiC;
130 Cv(1, 3)=ErrorPhiDZ;
131 Cv(1, 4)=ErrorPhiCtgTheta;
132 Cv(2, 3)=ErrorCDZ;
133 Cv(2, 4)=ErrorCCtgTheta;
134 Cv(3, 4)=ErrorDZCtgTheta;
135
136 Cv(1, 0)=Cv(0, 1);
137 Cv(2, 0)=Cv(0, 2);
138 Cv(3, 0)=Cv(0, 3);
139 Cv(4, 0)=Cv(0, 4);
140 Cv(2, 1)=Cv(1, 2);
141 Cv(3, 1)=Cv(1, 3);
142 Cv(4, 1)=Cv(1, 4);
143 Cv(3, 2)=Cv(2, 3);
144 Cv(4, 2)=Cv(2, 4);
145 Cv(4, 3)=Cv(3, 4);
146
147 return Cv;
148}
149
150
[d7d2da3]151//------------------------------------------------------------------------------
152
[2b3ef28]153TLorentzVector Tower::P4() const
[d7d2da3]154{
155 TLorentzVector vec;
156 vec.SetPtEtaPhiM(ET, Eta, Phi, 0.0);
157 return vec;
158}
159
160//------------------------------------------------------------------------------
161
[4d7014e]162TLorentzVector ParticleFlowCandidate::P4() const
163{
164 TLorentzVector vec;
[9cc5aeb]165 vec.SetPtEtaPhiM(PT, Eta, Phi, Mass);
[4d7014e]166 return vec;
167}
168
169//------------------------------------------------------------------------------
170
[2671df6]171TMatrixDSym ParticleFlowCandidate::CovarianceMatrix() const
172{
173 TMatrixDSym Cv;
174 Cv.ResizeTo(5, 5);
[363e269]175
[2671df6]176 // convert diagonal term to original units
[363e269]177 Cv(0, 0)=TMath::Power(ErrorD0, 2.);
[2671df6]178 Cv(1, 1)=TMath::Power(ErrorPhi, 2.);
[363e269]179 Cv(2, 2)=TMath::Power(ErrorC, 2.);
180 Cv(3, 3)=TMath::Power(ErrorDZ, 2.);
[2671df6]181 Cv(4, 4)=TMath::Power(ErrorCtgTheta, 2.);
182
183 // off diagonal terms
184 Cv(0, 1)=ErrorD0Phi;
185 Cv(0, 2)=ErrorD0C;
186 Cv(0, 3)=ErrorD0DZ;
187 Cv(0, 4)=ErrorD0CtgTheta;
188 Cv(1, 2)=ErrorPhiC;
189 Cv(1, 3)=ErrorPhiDZ;
190 Cv(1, 4)=ErrorPhiCtgTheta;
191 Cv(2, 3)=ErrorCDZ;
192 Cv(2, 4)=ErrorCCtgTheta;
193 Cv(3, 4)=ErrorDZCtgTheta;
194
195 Cv(1, 0)=Cv(0, 1);
196 Cv(2, 0)=Cv(0, 2);
197 Cv(3, 0)=Cv(0, 3);
198 Cv(4, 0)=Cv(0, 4);
199 Cv(2, 1)=Cv(1, 2);
200 Cv(3, 1)=Cv(1, 3);
201 Cv(4, 1)=Cv(1, 4);
202 Cv(3, 2)=Cv(2, 3);
203 Cv(4, 2)=Cv(2, 4);
204 Cv(4, 3)=Cv(3, 4);
205
206 return Cv;
207}
208
209//------------------------------------------------------------------------------
210
[d7d2da3]211Candidate::Candidate() :
212 PID(0), Status(0), M1(-1), M2(-1), D1(-1), D2(-1),
213 Charge(0), Mass(0.0),
[5d2481f]214 IsPU(0), IsRecoPU(0), IsConstituent(0), IsFromConversion(0),
[fe0273c]215 Flavor(0), FlavorAlgo(0), FlavorPhys(0),
216 BTag(0), BTagAlgo(0), BTagPhys(0),
[61dccd3]217 TauTag(0), TauWeight(0.0), Eem(0.0), Ehad(0.0), Etrk(0.0),
[d7d2da3]218 DeltaEta(0.0), DeltaPhi(0.0),
219 Momentum(0.0, 0.0, 0.0, 0.0),
220 Position(0.0, 0.0, 0.0, 0.0),
[2118a6a]221 InitialPosition(0.0, 0.0, 0.0, 0.0),
[cc8716b]222 DecayPosition(0.0, 0.0, 0.0, 0.0),
[1a4956e]223 PositionError(0.0, 0.0, 0.0, 0.0),
[d7d2da3]224 Area(0.0, 0.0, 0.0, 0.0),
[3051ea17]225 TrackCovariance(5),
[80306e6]226 L(0),
[341014c]227 D0(0), ErrorD0(0),
228 DZ(0), ErrorDZ(0),
229 P(0), ErrorP(0),
[3051ea17]230 C(0), ErrorC(0),
[341014c]231 PT(0), ErrorPT(0),
232 CtgTheta(0), ErrorCtgTheta(0),
233 Phi(0), ErrorPhi(0),
234 Xd(0), Yd(0), Zd(0),
[3a105e5]235 XFirstHit(0), YFirstHit(0), ZFirstHit(0),
[a95da74]236 Nclusters(0.0),
[781af69]237 dNdx(0.0),
[a98c7ef]238 TrackResolution(0),
[24d005f]239 NCharged(0),
240 NNeutrals(0),
[c614dd7]241 NeutralEnergyFraction(0), // charged energy fraction
[363e269]242 ChargedEnergyFraction(0), // neutral energy fraction
[24d005f]243 Beta(0),
244 BetaStar(0),
245 MeanSqDeltaR(0),
[da00c35]246 PTD(0),
[839deb7]247 NTimeHits(-1),
[b62c2da]248 IsolationVar(-999),
249 IsolationVarRhoCorr(-999),
250 SumPtCharged(-999),
251 SumPtNeutral(-999),
252 SumPtChargedPU(-999),
253 SumPt(-999),
[1a4956e]254 ClusterIndex(-1), ClusterNDF(0), ClusterSigma(0), SumPT2(0), BTVSumPT2(0), GenDeltaZ(0), GenSumPT2(0),
[839deb7]255 NSubJetsTrimmed(0),
256 NSubJetsPruned(0),
257 NSubJetsSoftDropped(0),
[e9c0d73]258 ExclYmerge23(0),
259 ExclYmerge34(0),
260 ExclYmerge45(0),
261 ExclYmerge56(0),
[7e83689]262 ParticleDensity(0),
[da00c35]263 fFactory(0),
264 fArray(0)
[d7d2da3]265{
[8d200a6]266 int i;
[d7d2da3]267 Edges[0] = 0.0;
268 Edges[1] = 0.0;
269 Edges[2] = 0.0;
270 Edges[3] = 0.0;
[24d005f]271 FracPt[0] = 0.0;
272 FracPt[1] = 0.0;
273 FracPt[2] = 0.0;
274 FracPt[3] = 0.0;
275 FracPt[4] = 0.0;
[63178fb]276 Tau[0] = 0.0;
277 Tau[1] = 0.0;
278 Tau[2] = 0.0;
279 Tau[3] = 0.0;
280 Tau[4] = 0.0;
[ba75867]281
282 SoftDroppedJet.SetXYZT(0.0, 0.0, 0.0, 0.0);
283 SoftDroppedSubJet1.SetXYZT(0.0, 0.0, 0.0, 0.0);
284 SoftDroppedSubJet2.SetXYZT(0.0, 0.0, 0.0, 0.0);
285
[8d200a6]286 for(i = 0; i < 5; ++i)
287 {
288 TrimmedP4[i].SetXYZT(0.0, 0.0, 0.0, 0.0);
289 PrunedP4[i].SetXYZT(0.0, 0.0, 0.0, 0.0);
290 SoftDroppedP4[i].SetXYZT(0.0, 0.0, 0.0, 0.0);
291 }
[d7d2da3]292}
293
294//------------------------------------------------------------------------------
295
296void Candidate::AddCandidate(Candidate *object)
297{
298 if(!fArray) fArray = fFactory->NewArray();
299 fArray->Add(object);
300}
301
302//------------------------------------------------------------------------------
303
304TObjArray *Candidate::GetCandidates()
305{
306 if(!fArray) fArray = fFactory->NewArray();
307 return fArray;
308}
309
310//------------------------------------------------------------------------------
311
312Bool_t Candidate::Overlaps(const Candidate *object) const
313{
314 const Candidate *candidate;
315
316 if(object->GetUniqueID() == GetUniqueID()) return kTRUE;
317
318 if(fArray)
319 {
320 TIter it(fArray);
321 while((candidate = static_cast<Candidate *>(it.Next())))
322 {
323 if(candidate->Overlaps(object)) return kTRUE;
324 }
325 }
326
327 if(object->fArray)
328 {
329 TIter it(object->fArray);
330 while((candidate = static_cast<Candidate *>(it.Next())))
331 {
332 if(candidate->Overlaps(this)) return kTRUE;
333 }
334 }
335
336 return kFALSE;
337}
338
339//------------------------------------------------------------------------------
340
341TObject *Candidate::Clone(const char *newname) const
342{
343 Candidate *object = fFactory->NewCandidate();
344 Copy(*object);
345 return object;
346}
347
348//------------------------------------------------------------------------------
349
350void Candidate::Copy(TObject &obj) const
351{
352 Candidate &object = static_cast<Candidate &>(obj);
353 Candidate *candidate;
354
355 object.PID = PID;
356 object.Status = Status;
357 object.M1 = M1;
358 object.M2 = M2;
359 object.D1 = D1;
360 object.D2 = D2;
361 object.Charge = Charge;
362 object.Mass = Mass;
363 object.IsPU = IsPU;
[84733ae]364 object.IsRecoPU = IsRecoPU;
[d7d2da3]365 object.IsConstituent = IsConstituent;
[5d2481f]366 object.IsFromConversion = IsFromConversion;
[2118a6a]367 object.ClusterIndex = ClusterIndex;
368 object.ClusterNDF = ClusterNDF;
369 object.ClusterSigma = ClusterSigma;
370 object.SumPT2 = SumPT2;
371 object.BTVSumPT2 = BTVSumPT2;
372 object.GenDeltaZ = GenDeltaZ;
373 object.GenSumPT2 = GenSumPT2;
[fe0273c]374 object.Flavor = Flavor;
375 object.FlavorAlgo = FlavorAlgo;
376 object.FlavorPhys = FlavorPhys;
[d7d2da3]377 object.BTag = BTag;
[edf10ba]378 object.BTagAlgo = BTagAlgo;
[fe0273c]379 object.BTagPhys = BTagPhys;
[d7d2da3]380 object.TauTag = TauTag;
[7429c6a]381 object.TauWeight = TauWeight;
[d7d2da3]382 object.Eem = Eem;
383 object.Ehad = Ehad;
[61dccd3]384 object.Etrk = Etrk;
[d7d2da3]385 object.Edges[0] = Edges[0];
386 object.Edges[1] = Edges[1];
387 object.Edges[2] = Edges[2];
388 object.Edges[3] = Edges[3];
389 object.DeltaEta = DeltaEta;
390 object.DeltaPhi = DeltaPhi;
391 object.Momentum = Momentum;
392 object.Position = Position;
[2118a6a]393 object.InitialPosition = InitialPosition;
[cc8716b]394 object.DecayPosition = DecayPosition;
[2118a6a]395 object.PositionError = PositionError;
[43c646a]396 object.Area = Area;
[80306e6]397 object.L = L;
[28c722a]398 object.ErrorT = ErrorT;
[80306e6]399 object.D0 = D0;
400 object.ErrorD0 = ErrorD0;
401 object.DZ = DZ;
402 object.ErrorDZ = ErrorDZ;
403 object.P = P;
404 object.ErrorP = ErrorP;
[3051ea17]405 object.C = C;
406 object.ErrorC = ErrorC;
[80306e6]407 object.PT = PT;
408 object.ErrorPT = ErrorPT;
[341014c]409 object.CtgTheta = CtgTheta;
[80306e6]410 object.ErrorCtgTheta = ErrorCtgTheta;
411 object.Phi = Phi;
[341014c]412 object.ErrorPhi = ErrorPhi;
[a0431dc]413 object.Xd = Xd;
414 object.Yd = Yd;
415 object.Zd = Zd;
[3a105e5]416 object.XFirstHit = XFirstHit;
417 object.YFirstHit = YFirstHit;
418 object.ZFirstHit = ZFirstHit;
[a95da74]419 object.Nclusters = Nclusters;
[781af69]420 object.dNdx = dNdx;
[a98c7ef]421 object.TrackResolution = TrackResolution;
[24d005f]422 object.NCharged = NCharged;
423 object.NNeutrals = NNeutrals;
[c614dd7]424 object.NeutralEnergyFraction = NeutralEnergyFraction;
425 object.ChargedEnergyFraction = ChargedEnergyFraction;
[24d005f]426 object.Beta = Beta;
427 object.BetaStar = BetaStar;
428 object.MeanSqDeltaR = MeanSqDeltaR;
429 object.PTD = PTD;
[839deb7]430 object.NTimeHits = NTimeHits;
[b62c2da]431 object.IsolationVar = IsolationVar;
432 object.IsolationVarRhoCorr = IsolationVarRhoCorr;
433 object.SumPtCharged = SumPtCharged;
434 object.SumPtNeutral = SumPtNeutral;
435 object.SumPtChargedPU = SumPtChargedPU;
436 object.SumPt = SumPt;
[ab3bdd9]437 object.ClusterIndex = ClusterIndex;
438 object.ClusterNDF = ClusterNDF;
[341014c]439 object.ClusterSigma = ClusterSigma;
[ab3bdd9]440 object.SumPT2 = SumPT2;
[341014c]441
[24d005f]442 object.FracPt[0] = FracPt[0];
443 object.FracPt[1] = FracPt[1];
444 object.FracPt[2] = FracPt[2];
445 object.FracPt[3] = FracPt[3];
446 object.FracPt[4] = FracPt[4];
[63178fb]447 object.Tau[0] = Tau[0];
448 object.Tau[1] = Tau[1];
449 object.Tau[2] = Tau[2];
450 object.Tau[3] = Tau[3];
451 object.Tau[4] = Tau[4];
[839deb7]452
[de6d698]453 object.TrimmedP4[0] = TrimmedP4[0];
454 object.TrimmedP4[1] = TrimmedP4[1];
455 object.TrimmedP4[2] = TrimmedP4[2];
456 object.TrimmedP4[3] = TrimmedP4[3];
457 object.TrimmedP4[4] = TrimmedP4[4];
458 object.PrunedP4[0] = PrunedP4[0];
459 object.PrunedP4[1] = PrunedP4[1];
460 object.PrunedP4[2] = PrunedP4[2];
461 object.PrunedP4[3] = PrunedP4[3];
462 object.PrunedP4[4] = PrunedP4[4];
463 object.SoftDroppedP4[0] = SoftDroppedP4[0];
464 object.SoftDroppedP4[1] = SoftDroppedP4[1];
465 object.SoftDroppedP4[2] = SoftDroppedP4[2];
466 object.SoftDroppedP4[3] = SoftDroppedP4[3];
467 object.SoftDroppedP4[4] = SoftDroppedP4[4];
468
[edf10ba]469 object.NSubJetsTrimmed = NSubJetsTrimmed;
470 object.NSubJetsPruned = NSubJetsPruned;
[de6d698]471 object.NSubJetsSoftDropped = NSubJetsSoftDropped;
[e4c3fef]472
[341014c]473 object.SoftDroppedJet = SoftDroppedJet;
[ba75867]474 object.SoftDroppedSubJet1 = SoftDroppedSubJet1;
475 object.SoftDroppedSubJet2 = SoftDroppedSubJet2;
[3051ea17]476 object.TrackCovariance = TrackCovariance;
[d7d2da3]477 object.fFactory = fFactory;
478 object.fArray = 0;
479
[839deb7]480 // copy cluster timing info
481 copy(ECalEnergyTimePairs.begin(), ECalEnergyTimePairs.end(), back_inserter(object.ECalEnergyTimePairs));
[3db5282]482
[d7d2da3]483 if(fArray && fArray->GetEntriesFast() > 0)
484 {
485 TIter itArray(fArray);
486 TObjArray *array = object.GetCandidates();
487 while((candidate = static_cast<Candidate *>(itArray.Next())))
488 {
489 array->Add(candidate);
490 }
491 }
492}
493
494//------------------------------------------------------------------------------
495
[341014c]496void Candidate::Clear(Option_t *option)
[d7d2da3]497{
[8d200a6]498 int i;
[d7d2da3]499 SetUniqueID(0);
500 ResetBit(kIsReferenced);
501 PID = 0;
502 Status = 0;
[341014c]503 M1 = -1;
504 M2 = -1;
505 D1 = -1;
506 D2 = -1;
[d7d2da3]507 Charge = 0;
508 Mass = 0.0;
509 IsPU = 0;
[d759c46]510 IsRecoPU = 0;
[d7d2da3]511 IsConstituent = 0;
[5d2481f]512 IsFromConversion = 0;
[fe0273c]513 Flavor = 0;
514 FlavorAlgo = 0;
515 FlavorPhys = 0;
[d7d2da3]516 BTag = 0;
[edf10ba]517 BTagAlgo = 0;
[fe0273c]518 BTagPhys = 0;
[d7d2da3]519 TauTag = 0;
[7429c6a]520 TauWeight = 0.0;
[d7d2da3]521 Eem = 0.0;
522 Ehad = 0.0;
[61dccd3]523 Etrk = 0.0;
[d7d2da3]524 Edges[0] = 0.0;
525 Edges[1] = 0.0;
526 Edges[2] = 0.0;
527 Edges[3] = 0.0;
528 DeltaEta = 0.0;
529 DeltaPhi = 0.0;
530 Momentum.SetXYZT(0.0, 0.0, 0.0, 0.0);
531 Position.SetXYZT(0.0, 0.0, 0.0, 0.0);
[80306e6]532 InitialPosition.SetXYZT(0.0, 0.0, 0.0, 0.0);
[cc8716b]533 DecayPosition.SetXYZT(0.0, 0.0, 0.0, 0.0);
[d7d2da3]534 Area.SetXYZT(0.0, 0.0, 0.0, 0.0);
[3051ea17]535 TrackCovariance.Zero();
[80306e6]536 L = 0.0;
[28c722a]537 ErrorT = 0.0;
[341014c]538 D0 = 0.0;
[80306e6]539 ErrorD0 = 0.0;
540 DZ = 0.0;
541 ErrorDZ = 0.0;
[341014c]542 P = 0.0;
543 ErrorP = 0.0;
[3051ea17]544 C = 0.0;
545 ErrorC = 0.0;
[80306e6]546 PT = 0.0;
547 ErrorPT = 0.0;
548 CtgTheta = 0.0;
549 ErrorCtgTheta = 0.0;
550 Phi = 0.0;
551 ErrorPhi = 0.0;
[a0431dc]552 Xd = 0.0;
553 Yd = 0.0;
554 Zd = 0.0;
[3a105e5]555 XFirstHit = 0.0;
556 YFirstHit = 0.0;
557 ZFirstHit = 0.0;
[a95da74]558 Nclusters = 0.0;
[781af69]559 dNdx = 0.0;
[a98c7ef]560 TrackResolution = 0.0;
[24d005f]561 NCharged = 0;
562 NNeutrals = 0;
563 Beta = 0.0;
564 BetaStar = 0.0;
565 MeanSqDeltaR = 0.0;
566 PTD = 0.0;
[839deb7]567
568 NTimeHits = 0;
569 ECalEnergyTimePairs.clear();
570
[b62c2da]571 IsolationVar = -999;
572 IsolationVarRhoCorr = -999;
573 SumPtCharged = -999;
574 SumPtNeutral = -999;
575 SumPtChargedPU = -999;
576 SumPt = -999;
[839deb7]577
[ab3bdd9]578 ClusterIndex = -1;
579 ClusterNDF = -99;
[341014c]580 ClusterSigma = 0.0;
[ab3bdd9]581 SumPT2 = 0.0;
582 BTVSumPT2 = 0.0;
583 GenDeltaZ = 0.0;
[341014c]584 GenSumPT2 = 0.0;
585
[24d005f]586 FracPt[0] = 0.0;
587 FracPt[1] = 0.0;
588 FracPt[2] = 0.0;
589 FracPt[3] = 0.0;
590 FracPt[4] = 0.0;
[63178fb]591 Tau[0] = 0.0;
592 Tau[1] = 0.0;
593 Tau[2] = 0.0;
594 Tau[3] = 0.0;
595 Tau[4] = 0.0;
[839deb7]596
[ba75867]597 SoftDroppedJet.SetXYZT(0.0, 0.0, 0.0, 0.0);
598 SoftDroppedSubJet1.SetXYZT(0.0, 0.0, 0.0, 0.0);
599 SoftDroppedSubJet2.SetXYZT(0.0, 0.0, 0.0, 0.0);
600
[8d200a6]601 for(i = 0; i < 5; ++i)
602 {
603 TrimmedP4[i].SetXYZT(0.0, 0.0, 0.0, 0.0);
[839deb7]604 PrunedP4[i].SetXYZT(0.0, 0.0, 0.0, 0.0);
[8d200a6]605 SoftDroppedP4[i].SetXYZT(0.0, 0.0, 0.0, 0.0);
606 }
607
[edf10ba]608 NSubJetsTrimmed = 0;
609 NSubJetsPruned = 0;
[de6d698]610 NSubJetsSoftDropped = 0;
[839deb7]611
[d7d2da3]612 fArray = 0;
613}
Note: See TracBrowser for help on using the repository browser.