}
Int_t dType = -1; // Will be set to kESD or kAOD.
- MiniEvent* sTracks = 0; // Vector of selected AliMiniTracks.
+ MiniEvent* sTracks = new MiniEvent(0); // deleted by pool mgr.
Double_t centCL1 = -1;
LoadBranches();
// Get array of selected tracks
if (dType == kESD) {
- sTracks = GetESDTrax();
+ GetESDTracks(sTracks);
}
if (dType == kAOD) {
- sTracks = GetAODTrax();
+ GetAODTracks(sTracks);
}
// Get pool containing tracks from other events like this one
if (!pool) {
AliWarning(Form("No pool found. Centrality %f, ZVertex %f",
fCentrality, fZVertex));
- sTracks->clear();
return;
}
}
//________________________________________________________________________
-MiniEvent* AliDhcTask::GetESDTrax() const
+void AliDhcTask::GetESDTracks(MiniEvent* miniEvt)
{
// Loop twice: 1. Count sel. tracks. 2. Fill vector.
const AliESDVertex *vtxSPD = fESD->GetPrimaryVertexSPD();
if (!vtxSPD)
- return 0;
+ return;
Int_t nTrax = fESD->GetNumberOfTracks();
if (fVerbosity > 2)
nSelTrax++;
}
- MiniEvent* miniEvt = new MiniEvent(0);
- miniEvt->reserve(nSelTrax);
+ if (miniEvt)
+ miniEvt->reserve(nSelTrax);
+ else {
+ AliError("!miniEvt");
+ return;
+ }
// Loop 2.
for (Int_t i = 0; i < nSelTrax; ++i) {
Int_t sign = esdtrack->Charge() > 0 ? 1 : -1;
miniEvt->push_back(AliMiniTrack(pt, eta, phi, sign));
}
- return miniEvt;
+ // return miniEvt;
}
//________________________________________________________________________
-MiniEvent* AliDhcTask::GetAODTrax() const
+void AliDhcTask::GetAODTracks(MiniEvent* miniEvt)
{
// Loop twice: 1. Count sel. tracks. 2. Fill vector.
nSelTrax++;
}
- MiniEvent* miniEvt = new MiniEvent(0);
- miniEvt->reserve(nSelTrax);
-
+ if (miniEvt)
+ miniEvt->reserve(nSelTrax);
+ else {
+ AliError("!miniEvt");
+ return;
+ }
+
// Loop 2.
for (Int_t i = 0; i < nTrax; ++i) {
AliAODTrack* aodtrack = fAOD->GetTrack(i);
Int_t sign = aodtrack->Charge() > 0 ? 1 : -1;
miniEvt->push_back(AliMiniTrack(pt, eta, phi, sign));
}
- return miniEvt;
+ // return miniEvt;
}
//________________________________________________________________________
void BookHistos();
void InitEventMixer();
- MiniEvent* GetESDTrax() const;
- MiniEvent* GetAODTrax() const;
+ void GetESDTracks(MiniEvent*);
+ void GetAODTracks(MiniEvent*);
Bool_t VertexOk(TObject* obj) const;
Double_t DeltaPhi(Double_t phia, Double_t phib,
Double_t rangeMin = -TMath::Pi()/2,