19 TClonesArray *
JetEvent::fgTracks = 0;
30 if (!fgTracks) fgTracks =
new TClonesArray(
"Track", 100);
31 if (!fgJets) fgJets =
new TClonesArray(
"Jet", 10);
32 if (!fgHitsA) fgHitsA =
new TClonesArray(
"Hit", 10000);
33 if (!fgHitsB) fgHitsB =
new TClonesArray(
"Hit", 1000);
51 Int_t ObjectNumber = TProcessID::GetObjectCount();
59 fVertex.SetXYZ(gRandom->Gaus(0,0.1),
63 Int_t njets = (Int_t)gRandom->Gaus(jetm,1);
if (njets < 1) njets = 1;
64 for (Int_t j=0;j<njets;j++) {
66 jet->
fPt = gRandom->Gaus(0,10);
67 jet->
fPhi = 2*TMath::Pi()*gRandom->Rndm();
68 Int_t ntracks = (Int_t)gRandom->Gaus(trackm,3);
if (ntracks < 1) ntracks = 1;
69 for (Int_t t=0;t<ntracks;t++) {
71 track->
fPx = gRandom->Gaus(0,1);
72 track->
fPy = gRandom->Gaus(0,1);
73 track->
fPz = gRandom->Gaus(0,5);
75 Int_t nhitsA = (Int_t)gRandom->Gaus(hitam,5);
76 for (Int_t ha=0;ha<nhitsA;ha++) {
78 hit->
fX = 10000*j + 100*t +ha;
79 hit->
fY = 10000*j + 100*t +ha+0.1;
80 hit->
fZ = 10000*j + 100*t +ha+0.2;
81 track->
fHits.Add(hit);
83 Int_t nhitsB = (Int_t)gRandom->Gaus(hitbm,2);
84 for (Int_t hb=0;hb<nhitsB;hb++) {
86 hit->
fX = 20000*j + 100*t +hb+0.3;
87 hit->
fY = 20000*j + 100*t +hb+0.4;
88 hit->
fZ = 20000*j + 100*t +hb+0.5;
89 track->
fHits.Add(hit);
91 track->
fNhit = nhitsA + nhitsB;
98 TProcessID::SetObjectCount(ObjectNumber);
107 TClonesArray &jets = *
fJets;
118 TClonesArray &tracks = *
fTracks;
129 TClonesArray &hitsA = *
fHitsA;
139 TClonesArray &hitsB = *
fHitsB;
147 fJets->Clear(option);