]> git.uio.no Git - u/mrichter/AliRoot.git/blob - JETAN/AliTkChargedJet.cxx
Removing extra namespace (alpha)
[u/mrichter/AliRoot.git] / JETAN / AliTkChargedJet.cxx
1 // $Id$
2
3 #include <Riostream.h>
4 #include <TROOT.h>
5 #include <TParticle.h>
6 #include <TClonesArray.h>
7
8 #include "AliTkChargedJet.h"
9
10 //-------------------------------------------------------------------------
11 // implemenatation of AliTkChargedJet
12 //-------------------------------------------------------------------------
13 ClassImp(AliTkChargedJet)
14
15 AliTkChargedJet::AliTkChargedJet() : TObject() 
16 {
17   fEta=-999; 
18   fPhi=-999; 
19   fPt=-999; 
20   fParticles=new TClonesArray("TParticle",1000);
21 }
22
23 AliTkChargedJet::AliTkChargedJet(jet j) : TObject() 
24 {
25   // save center of the jet (eg. of seed particle)
26   AliTkEtaPhiVector center = j.getCentroid();
27   fEta = center.Eta();
28   fPhi = center.Phi();
29   fPt = j.getPt();
30   fNParticles = j.getNParticles();
31
32   fParticles = j.getParticles();
33   if (fParticles->GetEntries() != j.getNParticles()) {
34     cerr << "AliTkChargedJet: cannot happen!" << endl;
35   }
36 }
37
38 AliTkChargedJet::~AliTkChargedJet() 
39 {
40  if(fParticles) {
41    fParticles->Clear(); 
42    delete fParticles;
43  }
44 }
45
46 Float_t AliTkChargedJet::getPtInRadius(Float_t r) const
47 {
48   Float_t pt = 0.0;
49   Float_t rSq = r*r;
50   AliTkEtaPhiVector center(this->getEta(), this->getPhi());
51   TIterator *iter = this->fParticles->MakeIterator();
52   TParticle *particle;
53   while ((particle = (TParticle *) iter->Next()) != NULL) {
54     AliTkEtaPhiVector v(particle->Eta(),particle->Phi());
55     if (center.diffSq(v) < rSq) {
56       pt += particle->Pt();
57     }
58   }
59   return pt;
60 }
61
62 Int_t AliTkChargedJet::getParticlesInRadius(Float_t r) const
63 {
64   Int_t part = 0;
65   Float_t rSq = r*r;
66   AliTkEtaPhiVector center(this->getEta(), this->getPhi());
67   TIterator *iter = this->fParticles->MakeIterator();
68   TParticle *particle;
69   while ((particle = (TParticle *) iter->Next()) != NULL) {
70     AliTkEtaPhiVector v(particle->Eta(),particle->Phi());
71     if (center.diffSq(v) < rSq) {
72       part ++;
73     }
74   }
75   return part;
76 }
77
78 Int_t AliTkChargedJet::getNChargedInRadius(Float_t /*r*/) const
79 {
80   return -1;
81 }
82
83 Int_t AliTkChargedJet::getNNeutralInRadius(Float_t /*r*/) const
84 {
85   return -1;
86 }