void AliJetEventParticles::AddParticle(const AliJetParticle* part)
{
//Adds new particle to the event
- fParticles->AddAt(new AliJetParticle(*part),fNParticles++);
+ new((*fParticles)[fNParticles++]) AliJetParticle(*part);
}
/**************************************************************************/
AliJetEventParticles* GetEventParticles(Bool_t o)
{fOwner=o; return fEventParticles;} //return particles and set ownership
- Int_t GetNumberOfDirs() const {return (fDirs)?fDirs->GetEntries():0;}
- Int_t GetCurEventNumber() const {return fCurrentEvent;}
- Int_t GetCurDirNumber() const {return fCurrentDir;}
- Int_t GetTotEventsRead() const {return fNEventsRead;}
- Int_t GetFirstEvent() const {return fFirst;}
- Int_t GetLastEvent() const {return fLast;}
+ Int_t GetNumberOfDirs() const {return (fDirs)?fDirs->GetEntries():0;}
+ Int_t GetCurEventNumber() const {return fCurrentEvent;}
+ Int_t GetCurDirNumber() const {return fCurrentDir;}
+ Int_t GetTotEventsRead() const {return fNEventsRead;}
+ Int_t GetFirstEvent() const {return fFirst;}
+ Int_t GetLastEvent() const {return fLast;}
protected:
if((!fOwner) || (fEventParticles == 0))
fEventParticles = new AliJetEventParticles();
- do
+ while(fCurrentDir < GetNumberOfDirs())
{
if (!OpenFile(fCurrentDir))
{
{
TParticle *p = stack->Particle(i);
if(!p) continue;
- if(p->GetFirstMother() >= 0) continue;
+ Int_t child1 = p->GetFirstDaughter();
+ //Int_t child2 = p->GetLastDaughter();
+ //Int_t mother = p->GetFirstMother();
+ if((child1>=0) && (child1<npart)) continue;
+ //cout << child1 << " " << child2 << " " << mother << endl;
if(IsAcceptedParticle(p)) //put particle in event
fEventParticles->AddParticle(p,i);
}
-
fCurrentEvent++;
+ fCurrentDir++;
fNEventsRead++;
return kTRUE;
- } while(fCurrentDir < GetNumberOfDirs());
+ }
//end of loop over directories specified in fDirs Obj Array
return kFALSE;
}
}
TString filename = dirname +"/"+ fFileName;
+ if(fRunLoader) delete fRunLoader;
fRunLoader = AliRunLoader::Open(filename.Data());
if (fRunLoader == 0)
inline Bool_t AliJetParticlesReaderKine::IsAcceptedParticle(TParticle *p) const
{
- //if(p->GetStatusCode()%100!=1) return kFALSE;
+ //p->Print();
+
Int_t pcode=p->GetPdgCode();
if ((pcode==11)||(pcode==-11)||(pcode==22)) {
if(!fEM) return kFALSE;