#include <TFile.h>
#include <TParticle.h>
#include <TDatabasePDG.h>
#include <TTree.h>
#include "AliGenReaderEcalJets.h"
ClassImp(AliGenReaderEcalJets)
AliGenReaderEcalJets::AliGenReaderEcalJets():
fNcurrent(0),
fNparticle(0),
fNev(0),
fNpart(0),
fNjet(0),
fNsjet(0),
fNpjet(0),
fTreeNtuple(0)
{
for (Int_t i = 0; i < 200; i++) {
if (i < 2) {
fX[i] = 0.;
fXtyp[i] = 0;
} else if (i < 10) {
fJet[i] = 0.;
fJeta[i] = 0.;
fJphi[i] = 0.;
fJset[i] = 0.;
fJseta[i] = 0.;
fJsphi[i] = 0.;
fJpet[i] = 0.;
fJpeta[i] = 0.;
fJpphi[i] = 0.;
} else {
fXpt[i] = 0.;
fXeta[i] = 0.;
fXphi[i] = 0.;
fXid[i] = 0;
}
}
}
AliGenReaderEcalJets::AliGenReaderEcalJets(const AliGenReaderEcalJets &reader)
:AliGenReader(reader),
fNcurrent(0),
fNparticle(0),
fNev(0),
fNpart(0),
fNjet(0),
fNsjet(0),
fNpjet(0),
fTreeNtuple(0)
{
for (Int_t i = 0; i < 200; i++) {
if (i < 2) {
fX[i] = 0.;
fXtyp[i] = 0;
} else if (i < 10) {
fJet[i] = 0.;
fJeta[i] = 0.;
fJphi[i] = 0.;
fJset[i] = 0.;
fJseta[i] = 0.;
fJsphi[i] = 0.;
fJpet[i] = 0.;
fJpeta[i] = 0.;
fJpphi[i] = 0.;
} else {
fXpt[i] = 0.;
fXeta[i] = 0.;
fXphi[i] = 0.;
fXid[i] = 0;
}
}
reader.Copy(*this);
}
void AliGenReaderEcalJets::Init()
{
TFile *pFile=0;
if (!pFile) {
pFile = new TFile(fFileName);
pFile->cd();
printf("\n I have opened %s file \n", fFileName);
}
fTreeNtuple = (TTree*)gDirectory->Get("h1");
TTree *h1=fTreeNtuple;
h1->SetMakeClass(1);
h1->SetBranchAddress("nev", &fNev);
h1->SetBranchAddress("x", fX);
h1->SetBranchAddress("xtyp", fXtyp);
h1->SetBranchAddress("npart", &fNpart);
h1->SetBranchAddress("xpt", fXpt);
h1->SetBranchAddress("xeta", fXeta);
h1->SetBranchAddress("xphi", fXphi);
h1->SetBranchAddress("xid", fXid);
h1->SetBranchAddress("njet", &fNjet);
h1->SetBranchAddress("jet", fJet);
h1->SetBranchAddress("jeta", fJeta);
h1->SetBranchAddress("jphi", fJphi);
h1->SetBranchAddress("nsjet", &fNsjet);
h1->SetBranchAddress("jset", fJset);
h1->SetBranchAddress("jseta", fJseta);
h1->SetBranchAddress("jsphi", fJsphi);
h1->SetBranchAddress("npjet", &fNpjet);
h1->SetBranchAddress("jpet", fJpet);
h1->SetBranchAddress("jpeta", fJpeta);
h1->SetBranchAddress("jpphi", fJpphi);
}
Int_t AliGenReaderEcalJets::NextEvent()
{
Int_t nTracks=0, nread=0;
TFile* pFile = fTreeNtuple->GetCurrentFile();
pFile->cd();
Int_t nentries = (Int_t) fTreeNtuple->GetEntries();
if (fNcurrent < nentries) {
Int_t nb = (Int_t)fTreeNtuple->GetEvent(fNcurrent);
nread += nb;
fNcurrent++;
printf("\n Next event contains %d tracks! \n", fNpjet);
nTracks = fNpjet;
fNparticle = 0;
return nTracks;
}
return 0;
}
TParticle* AliGenReaderEcalJets::NextParticle()
{
Float_t p[4];
Int_t ipart = fXid[fNparticle];
Float_t pt = fXpt[fNparticle];
Float_t eta = fXeta[fNparticle];
Float_t phi = fXphi[fNparticle];
Float_t theta = 2.*TMath::ATan(TMath::Exp(-eta));
Double_t amass = TDatabasePDG::Instance()->GetParticle(ipart)->Mass();
p[0] = pt*TMath::Sin(phi);
p[1] = pt*TMath::Cos(phi);
p[2] = pt/TMath::Cos(theta);
p[3] = TMath::Sqrt(pt*pt+p[2]*p[2]+amass*amass);
TParticle* particle =
new TParticle(ipart, 0, -1, -1, -1, -1, p[0], p[1], p[2], p[3],
0., 0., 0., 0.);
fNparticle++;
return particle;
}
AliGenReaderEcalJets& AliGenReaderEcalJets::operator=(const AliGenReaderEcalJets& rhs)
{
rhs.Copy(*this);
return (*this);
}
void AliGenReaderEcalJets::Copy(TObject&) const
{
Fatal("Copy","Not implemented!\n");
}
AliGenReaderEcalJets.cxx:1 AliGenReaderEcalJets.cxx:2 AliGenReaderEcalJets.cxx:3 AliGenReaderEcalJets.cxx:4 AliGenReaderEcalJets.cxx:5 AliGenReaderEcalJets.cxx:6 AliGenReaderEcalJets.cxx:7 AliGenReaderEcalJets.cxx:8 AliGenReaderEcalJets.cxx:9 AliGenReaderEcalJets.cxx:10 AliGenReaderEcalJets.cxx:11 AliGenReaderEcalJets.cxx:12 AliGenReaderEcalJets.cxx:13 AliGenReaderEcalJets.cxx:14 AliGenReaderEcalJets.cxx:15 AliGenReaderEcalJets.cxx:16 AliGenReaderEcalJets.cxx:17 AliGenReaderEcalJets.cxx:18 AliGenReaderEcalJets.cxx:19 AliGenReaderEcalJets.cxx:20 AliGenReaderEcalJets.cxx:21 AliGenReaderEcalJets.cxx:22 AliGenReaderEcalJets.cxx:23 AliGenReaderEcalJets.cxx:24 AliGenReaderEcalJets.cxx:25 AliGenReaderEcalJets.cxx:26 AliGenReaderEcalJets.cxx:27 AliGenReaderEcalJets.cxx:28 AliGenReaderEcalJets.cxx:29 AliGenReaderEcalJets.cxx:30 AliGenReaderEcalJets.cxx:31 AliGenReaderEcalJets.cxx:32 AliGenReaderEcalJets.cxx:33 AliGenReaderEcalJets.cxx:34 AliGenReaderEcalJets.cxx:35 AliGenReaderEcalJets.cxx:36 AliGenReaderEcalJets.cxx:37 AliGenReaderEcalJets.cxx:38 AliGenReaderEcalJets.cxx:39 AliGenReaderEcalJets.cxx:40 AliGenReaderEcalJets.cxx:41 AliGenReaderEcalJets.cxx:42 AliGenReaderEcalJets.cxx:43 AliGenReaderEcalJets.cxx:44 AliGenReaderEcalJets.cxx:45 AliGenReaderEcalJets.cxx:46 AliGenReaderEcalJets.cxx:47 AliGenReaderEcalJets.cxx:48 AliGenReaderEcalJets.cxx:49 AliGenReaderEcalJets.cxx:50 AliGenReaderEcalJets.cxx:51 AliGenReaderEcalJets.cxx:52 AliGenReaderEcalJets.cxx:53 AliGenReaderEcalJets.cxx:54 AliGenReaderEcalJets.cxx:55 AliGenReaderEcalJets.cxx:56 AliGenReaderEcalJets.cxx:57 AliGenReaderEcalJets.cxx:58 AliGenReaderEcalJets.cxx:59 AliGenReaderEcalJets.cxx:60 AliGenReaderEcalJets.cxx:61 AliGenReaderEcalJets.cxx:62 AliGenReaderEcalJets.cxx:63 AliGenReaderEcalJets.cxx:64 AliGenReaderEcalJets.cxx:65 AliGenReaderEcalJets.cxx:66 AliGenReaderEcalJets.cxx:67 AliGenReaderEcalJets.cxx:68 AliGenReaderEcalJets.cxx:69 AliGenReaderEcalJets.cxx:70 AliGenReaderEcalJets.cxx:71 AliGenReaderEcalJets.cxx:72 AliGenReaderEcalJets.cxx:73 AliGenReaderEcalJets.cxx:74 AliGenReaderEcalJets.cxx:75 AliGenReaderEcalJets.cxx:76 AliGenReaderEcalJets.cxx:77 AliGenReaderEcalJets.cxx:78 AliGenReaderEcalJets.cxx:79 AliGenReaderEcalJets.cxx:80 AliGenReaderEcalJets.cxx:81 AliGenReaderEcalJets.cxx:82 AliGenReaderEcalJets.cxx:83 AliGenReaderEcalJets.cxx:84 AliGenReaderEcalJets.cxx:85 AliGenReaderEcalJets.cxx:86 AliGenReaderEcalJets.cxx:87 AliGenReaderEcalJets.cxx:88 AliGenReaderEcalJets.cxx:89 AliGenReaderEcalJets.cxx:90 AliGenReaderEcalJets.cxx:91 AliGenReaderEcalJets.cxx:92 AliGenReaderEcalJets.cxx:93 AliGenReaderEcalJets.cxx:94 AliGenReaderEcalJets.cxx:95 AliGenReaderEcalJets.cxx:96 AliGenReaderEcalJets.cxx:97 AliGenReaderEcalJets.cxx:98 AliGenReaderEcalJets.cxx:99 AliGenReaderEcalJets.cxx:100 AliGenReaderEcalJets.cxx:101 AliGenReaderEcalJets.cxx:102 AliGenReaderEcalJets.cxx:103 AliGenReaderEcalJets.cxx:104 AliGenReaderEcalJets.cxx:105 AliGenReaderEcalJets.cxx:106 AliGenReaderEcalJets.cxx:107 AliGenReaderEcalJets.cxx:108 AliGenReaderEcalJets.cxx:109 AliGenReaderEcalJets.cxx:110 AliGenReaderEcalJets.cxx:111 AliGenReaderEcalJets.cxx:112 AliGenReaderEcalJets.cxx:113 AliGenReaderEcalJets.cxx:114 AliGenReaderEcalJets.cxx:115 AliGenReaderEcalJets.cxx:116 AliGenReaderEcalJets.cxx:117 AliGenReaderEcalJets.cxx:118 AliGenReaderEcalJets.cxx:119 AliGenReaderEcalJets.cxx:120 AliGenReaderEcalJets.cxx:121 AliGenReaderEcalJets.cxx:122 AliGenReaderEcalJets.cxx:123 AliGenReaderEcalJets.cxx:124 AliGenReaderEcalJets.cxx:125 AliGenReaderEcalJets.cxx:126 AliGenReaderEcalJets.cxx:127 AliGenReaderEcalJets.cxx:128 AliGenReaderEcalJets.cxx:129 AliGenReaderEcalJets.cxx:130 AliGenReaderEcalJets.cxx:131 AliGenReaderEcalJets.cxx:132 AliGenReaderEcalJets.cxx:133 AliGenReaderEcalJets.cxx:134 AliGenReaderEcalJets.cxx:135 AliGenReaderEcalJets.cxx:136 AliGenReaderEcalJets.cxx:137 AliGenReaderEcalJets.cxx:138 AliGenReaderEcalJets.cxx:139 AliGenReaderEcalJets.cxx:140 AliGenReaderEcalJets.cxx:141 AliGenReaderEcalJets.cxx:142 AliGenReaderEcalJets.cxx:143 AliGenReaderEcalJets.cxx:144 AliGenReaderEcalJets.cxx:145 AliGenReaderEcalJets.cxx:146 AliGenReaderEcalJets.cxx:147 AliGenReaderEcalJets.cxx:148 AliGenReaderEcalJets.cxx:149 AliGenReaderEcalJets.cxx:150 AliGenReaderEcalJets.cxx:151 AliGenReaderEcalJets.cxx:152 AliGenReaderEcalJets.cxx:153 AliGenReaderEcalJets.cxx:154 AliGenReaderEcalJets.cxx:155 AliGenReaderEcalJets.cxx:156 AliGenReaderEcalJets.cxx:157 AliGenReaderEcalJets.cxx:158 AliGenReaderEcalJets.cxx:159 AliGenReaderEcalJets.cxx:160 AliGenReaderEcalJets.cxx:161 AliGenReaderEcalJets.cxx:162 AliGenReaderEcalJets.cxx:163 AliGenReaderEcalJets.cxx:164 AliGenReaderEcalJets.cxx:165 AliGenReaderEcalJets.cxx:166 AliGenReaderEcalJets.cxx:167 AliGenReaderEcalJets.cxx:168 AliGenReaderEcalJets.cxx:169 AliGenReaderEcalJets.cxx:170 AliGenReaderEcalJets.cxx:171 AliGenReaderEcalJets.cxx:172 AliGenReaderEcalJets.cxx:173 AliGenReaderEcalJets.cxx:174 AliGenReaderEcalJets.cxx:175 AliGenReaderEcalJets.cxx:176 AliGenReaderEcalJets.cxx:177 AliGenReaderEcalJets.cxx:178 AliGenReaderEcalJets.cxx:179 AliGenReaderEcalJets.cxx:180 AliGenReaderEcalJets.cxx:181 AliGenReaderEcalJets.cxx:182 AliGenReaderEcalJets.cxx:183 AliGenReaderEcalJets.cxx:184 AliGenReaderEcalJets.cxx:185 AliGenReaderEcalJets.cxx:186 AliGenReaderEcalJets.cxx:187 AliGenReaderEcalJets.cxx:188 AliGenReaderEcalJets.cxx:189 AliGenReaderEcalJets.cxx:190 AliGenReaderEcalJets.cxx:191 AliGenReaderEcalJets.cxx:192 AliGenReaderEcalJets.cxx:193 AliGenReaderEcalJets.cxx:194 AliGenReaderEcalJets.cxx:195 AliGenReaderEcalJets.cxx:196 AliGenReaderEcalJets.cxx:197 AliGenReaderEcalJets.cxx:198 AliGenReaderEcalJets.cxx:199 AliGenReaderEcalJets.cxx:200 AliGenReaderEcalJets.cxx:201 AliGenReaderEcalJets.cxx:202 AliGenReaderEcalJets.cxx:203 AliGenReaderEcalJets.cxx:204 AliGenReaderEcalJets.cxx:205 AliGenReaderEcalJets.cxx:206 AliGenReaderEcalJets.cxx:207 AliGenReaderEcalJets.cxx:208 AliGenReaderEcalJets.cxx:209 AliGenReaderEcalJets.cxx:210 AliGenReaderEcalJets.cxx:211 AliGenReaderEcalJets.cxx:212