]> git.uio.no Git - u/mrichter/AliRoot.git/blame - JETAN/jetan2004/AliTkChargedJet.cxx
Record changes.
[u/mrichter/AliRoot.git] / JETAN / jetan2004 / AliTkChargedJet.cxx
CommitLineData
b9a6a391 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//-------------------------------------------------------------------------
13ClassImp(AliTkChargedJet)
14
15AliTkChargedJet::AliTkChargedJet() : TObject()
16{
17 fEta=-999;
18 fPhi=-999;
19 fPt=-999;
20 fParticles=new TClonesArray("TParticle",1000);
21}
22
23AliTkChargedJet::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
38AliTkChargedJet::~AliTkChargedJet()
39{
40 if(fParticles) {
41 fParticles->Clear();
42 delete fParticles;
43 }
44}
45
46Float_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
62Int_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
78Int_t AliTkChargedJet::getNChargedInRadius(Float_t /*r*/) const
79{
80 return -1;
81}
82
83Int_t AliTkChargedJet::getNNeutralInRadius(Float_t /*r*/) const
84{
85 return -1;
86}