Error("ProcessEvent","Analysis <<%s>> option not specified.",GetName());
return 1;
}
- if ( Rejected(aodrec,aodsim) ) return 0;
+ if ( Rejected(aodrec,aodsim) )
+ {
+// Double_t x = 0, y = 0, z = 0;
+// aodrec->GetPrimaryVertex(x,y,z);
+// Info("ProcessEvent","Event has vertex at %f %f %f",x,y,z);
+ Info("ProcessEvent","Nch is %d",aodsim->GetNumberOfCharged());
+ Info("ProcessEvent","%s: Event cut rejected this event",GetName());
+ return 0;
+ }
//Move event to the apparent vertex -> must be after the event cut
//It is important for any cut that use any spacial coordiantes,
AliAOD * trackEvent = aodrec, *partEvent = aodsim;
AliAOD* trackEvent1 = new AliAOD();
AliAOD* partEvent1 = new AliAOD();
- partEvent1->SetOwner(kTRUE);
- trackEvent1->SetOwner(kTRUE);
AliAOD * trackEvent2,*partEvent2;
part1= partEvent->GetParticle(j);
track1= trackEvent->GetParticle(j);
-
+
Bool_t firstcut = (this->*fkPass1)(part1,track1);
if (fBufferSize != 0)
if ( (firstcut == kFALSE) || ( (this->*fkPass2)(part1,track1) == kFALSE ) )
//accepted by any cut
// we have to copy because reader keeps only one event
- partEvent1->AddParticle(new AliAODParticle(*part1));
- trackEvent1->AddParticle(new AliAODParticle(*track1));
+ partEvent1->AddParticle(part1);
+ trackEvent1->AddParticle(track1);
}
if (firstcut) continue;
AliAOD* partEvent = aodsim;
AliAOD* partEvent1 = new AliAOD();
- partEvent1->SetOwner(kTRUE);
AliAOD* partEvent2;
//accepted by any cut
// we have to copy because reader keeps only one event
- partEvent1->AddParticle(new AliAODParticle(*part1));
+ partEvent1->AddParticle(part1);
}
if (firstcut) continue;
AliAOD* trackEvent = aodrec;
AliAOD* trackEvent1 = new AliAOD();
- trackEvent1->SetOwner(kTRUE);
AliAOD* trackEvent2;
//accepted by any cut
// we have to copy because reader keeps only one event
- trackEvent1->AddParticle(new AliAODParticle(*track1));
+ trackEvent1->AddParticle(track1);
}
if (firstcut) continue;
static AliAOD aodsim1;
AliAOD * trackEvent1=&aodrec1,*partEvent1=&aodsim1;//Particle that passes first particle cut, this event
+ trackEvent1->Reset();
+ partEvent1->Reset();
AliAOD * trackEvent2=0x0,*partEvent2=0x0;//Particle that passes second particle cut, this event
AliAOD * trackEvent3=0x0,*partEvent3=0x0;//Particle that passes second particle cut, events from buffer
register UInt_t ii;
-
- trackEvent1 = new AliAOD();
- partEvent1 = new AliAOD();
- trackEvent1->SetOwner(kFALSE);
- partEvent1->SetOwner(kFALSE);;
-
/********************************/
/* Filtering out */
/********************************/
{
partEvent2 = new AliAOD();
trackEvent2 = new AliAOD();
- partEvent2->SetOwner(kTRUE);
- trackEvent2->SetOwner(kTRUE);
}
FilterOut(partEvent1, partEvent2, rawpartEvent, trackEvent1, trackEvent2, rawtrackEvent);
}
}
- if ( fBufferSize == 0) continue;//do not mix diff histograms
- /***************************************/
- /***** Filling denominators *********/
- /***************************************/
- fPartBuffer->ResetIter();
- fTrackBuffer->ResetIter();
+ if ( fBufferSize == 0) continue;//do not mix diff histograms
+ /***************************************/
+ /***** Filling denominators *********/
+ /***************************************/
+ fPartBuffer->ResetIter();
+ fTrackBuffer->ResetIter();
- Int_t nmonitor = 0;
+ Int_t nmonitor = 0;
- while ( (partEvent3 = fPartBuffer->Next() ) != 0x0)
- {
- trackEvent3 = fTrackBuffer->Next();
+ while ( (partEvent3 = fPartBuffer->Next() ) != 0x0)
+ {
+ trackEvent3 = fTrackBuffer->Next();
- if ( (j%fDisplayMixingInfo) == 0)
- Info("ProcessTracksAndParticlesNonIdentAnal",
- "Mixing particle %d from current event with particles from event%d",j,-(++nmonitor));
+ if ( (j%fDisplayMixingInfo) == 0)
+ Info("ProcessTracksAndParticlesNonIdentAnal",
+ "Mixing particle %d from current event with particles from event%d",j,-(++nmonitor));
- for (Int_t k = 0; k < partEvent3->GetNumberOfParticles() ; k++)
- {
- part2= partEvent3->GetParticle(k);
- partpair->SetParticles(part1,part2);
+ for (Int_t k = 0; k < partEvent3->GetNumberOfParticles() ; k++)
+ {
+ part2= partEvent3->GetParticle(k);
+ partpair->SetParticles(part1,part2);
- track2= trackEvent3->GetParticle(k);
- trackpair->SetParticles(track1,track2);
+ track2= trackEvent3->GetParticle(k);
+ trackpair->SetParticles(track1,track2);
- if( (this->*fkPassPairProp)(partpair,trackpair) ) //check pair cut
- { //do not meets crietria of the pair cut
- continue;
- }
- else
- {//meets criteria of the pair cut
- UInt_t ii;
- for(ii = 0;ii<fNParticleFunctions;ii++)
- fParticleFunctions[ii]->ProcessDiffEventParticles(partpair);
+ if( (this->*fkPassPairProp)(partpair,trackpair) ) //check pair cut
+ { //do not meets crietria of the pair cut
+ continue;
+ }
+ else
+ {//meets criteria of the pair cut
+ UInt_t ii;
+ for(ii = 0;ii<fNParticleFunctions;ii++)
+ fParticleFunctions[ii]->ProcessDiffEventParticles(partpair);
- for(ii = 0;ii<fNTrackFunctions;ii++)
- fTrackFunctions[ii]->ProcessDiffEventParticles(trackpair);
+ for(ii = 0;ii<fNTrackFunctions;ii++)
+ fTrackFunctions[ii]->ProcessDiffEventParticles(trackpair);
- for(ii = 0;ii<fNParticleAndTrackFunctions;ii++)
- fParticleAndTrackFunctions[ii]->ProcessDiffEventParticles(trackpair,partpair);
- }
- }// for particles event2
- }//while event2
+ for(ii = 0;ii<fNParticleAndTrackFunctions;ii++)
+ fParticleAndTrackFunctions[ii]->ProcessDiffEventParticles(trackpair,partpair);
+ }
+ }// for particles event2
+ }//while event2
}//for over particles in event1
delete fPartBuffer->Push(partEvent2);
static AliAOD aodsim1;
AliAOD* partEvent1=&aodsim1;//Particle that passes first particle cut, this event
+ partEvent1->Reset();
AliAOD* partEvent2=0x0;//Particle that passes second particle cut, this event
AliAOD* partEvent3=0x0;//Particle that passes second particle cut, events from buffer
register UInt_t ii;
-
- partEvent1 = new AliAOD();
- partEvent1->SetOwner(kFALSE);;
-
-
/********************************/
/* Filtering out */
/********************************/
if (partEvent2==0x0)//in case fBufferSize == 0 and pointers are created do not eneter
{
partEvent2 = new AliAOD();
- partEvent2->SetOwner(kTRUE);
}
FilterOut(partEvent1, partEvent2, rawpartEvent);
AliVAODParticle * track1, * track2;
static AliAOD aodrec1;
-
AliAOD * trackEvent1=&aodrec1;//Particle that passes first particle cut, this event
+ trackEvent1->Reset();
AliAOD * trackEvent2=0x0;//Particle that passes second particle cut, this event
AliAOD * trackEvent3=0x0;//Particle that passes second particle cut, events from buffer
-
AliAOD* rawtrackEvent = aodrec;//this we get from Reader
static AliHBTPair tpair;
register UInt_t ii;
- trackEvent1 = new AliAOD();
- trackEvent1->SetOwner(kFALSE);
-
/********************************/
/* Filtering out */
/********************************/
if ( trackEvent2==0x0 )//in case fBufferSize == 0 and pointers are created do not eneter
{
trackEvent2 = new AliAOD();
- trackEvent2->SetOwner(kTRUE);
}
FilterOut(trackEvent1, trackEvent2, rawtrackEvent);
if (in2)
{
- outpart2->AddParticle(new AliAODParticle(*part));
- outtrack2->AddParticle(new AliAODParticle(*track));
+ outpart2->AddParticle(part);
+ outtrack2->AddParticle(track);
continue;
}
}