"caloClusters",
"fmdClusters",
"pmdClusters",
- "dimuons"
+ "dimuons",
+ "AliAODVZERO"
};
//______________________________________________________________________________
fCaloClusters(0),
fFmdClusters(0),
fPmdClusters(0),
- fDimuons(0)
+ fDimuons(0),
+ fAODVZERO(0)
{
// default constructor
}
fCaloClusters(new TClonesArray(*aod.fCaloClusters)),
fFmdClusters(new TClonesArray(*aod.fFmdClusters)),
fPmdClusters(new TClonesArray(*aod.fPmdClusters)),
- fDimuons(new TClonesArray(*aod.fDimuons))
+ fDimuons(new TClonesArray(*aod.fDimuons)),
+ fAODVZERO(new AliAODVZERO(*aod.fAODVZERO))
{
// Copy constructor
AddObject(fHeader);
AddObject(fFmdClusters);
AddObject(fPmdClusters);
AddObject(fDimuons);
+ AddObject(fAODVZERO);
fConnected = aod.fConnected;
GetStdContent();
CreateStdFolders();
// Please be aware that in order to increase performance you should
// refrain from using TObjArrays (if possible). Use TClonesArrays, instead.
- fAODObjects->AddLast(obj);
+ if ( !fAODObjects->FindObject(obj) )
+ {
+ fAODObjects->AddLast(obj);
+ }
}
//______________________________________________________________________________
AddObject(new TClonesArray("AliAODFmdCluster", 0));
AddObject(new TClonesArray("AliAODPmdCluster", 0));
AddObject(new TClonesArray("AliAODDimuon", 0));
+ AddObject(new AliAODVZERO());
// set names
SetStdNames();
fFmdClusters = (TClonesArray*)fAODObjects->FindObject("fmdClusters");
fPmdClusters = (TClonesArray*)fAODObjects->FindObject("pmdClusters");
fDimuons = (TClonesArray*)fAODObjects->FindObject("dimuons");
+ fAODVZERO = (AliAODVZERO*)fAODObjects->FindObject("AliAODVZERO");
}
//______________________________________________________________________________
{
// deletes content of standard arrays and resets size
- fTracks->Delete();
- if (trkArrSize > fTracks->GetSize())
- fTracks->Expand(trkArrSize);
-
- fVertices->Delete();
- if (vtxArrSize > fVertices->GetSize())
- fVertices->Expand(vtxArrSize);
-
- fV0s->Delete();
- if (v0ArrSize > fV0s->GetSize())
- fV0s->Expand(v0ArrSize);
-
- fCascades->Delete();
- if (cascadeArrSize > fCascades->GetSize())
- fCascades->Expand(cascadeArrSize);
-
- fJets->Delete();
- if (jetSize > fJets->GetSize())
- fJets->Expand(jetSize);
-
- fCaloClusters->Delete();
- if (caloClusSize > fCaloClusters->GetSize())
- fCaloClusters->Expand(caloClusSize);
-
- fFmdClusters->Delete();
- if (fmdClusSize > fFmdClusters->GetSize())
- fFmdClusters->Expand(fmdClusSize);
-
- fPmdClusters->Delete();
- if (pmdClusSize > fPmdClusters->GetSize())
- fPmdClusters->Expand(pmdClusSize);
-
- fDimuons->Delete();
- if (dimuonArrSize > fDimuons->GetSize())
- fDimuons->Expand(dimuonArrSize);
-
- // Reset the tracklets
- fTracklets->DeleteContainer();
- fPhosCells->DeleteContainer();
- fEmcalCells->DeleteContainer();
-
+ if (fTracks) {
+ fTracks->Delete();
+ if (trkArrSize > fTracks->GetSize())
+ fTracks->Expand(trkArrSize);
+ }
+ if (fVertices) {
+ fVertices->Delete();
+ if (vtxArrSize > fVertices->GetSize())
+ fVertices->Expand(vtxArrSize);
+ }
+ if (fV0s) {
+ fV0s->Delete();
+ if (v0ArrSize > fV0s->GetSize())
+ fV0s->Expand(v0ArrSize);
+ }
+ if (fCascades) {
+ fCascades->Delete();
+ if (cascadeArrSize > fCascades->GetSize())
+ fCascades->Expand(cascadeArrSize);
+ }
+ if (fJets) {
+ fJets->Delete();
+ if (jetSize > fJets->GetSize())
+ fJets->Expand(jetSize);
+ }
+ if (fCaloClusters) {
+ fCaloClusters->Delete();
+ if (caloClusSize > fCaloClusters->GetSize())
+ fCaloClusters->Expand(caloClusSize);
+ }
+ if (fFmdClusters) {
+ fFmdClusters->Delete();
+ if (fmdClusSize > fFmdClusters->GetSize())
+ fFmdClusters->Expand(fmdClusSize);
+ }
+ if (fPmdClusters) {
+ fPmdClusters->Delete();
+ if (pmdClusSize > fPmdClusters->GetSize())
+ fPmdClusters->Expand(pmdClusSize);
+ }
+ if (fDimuons) {
+ fDimuons->Delete();
+ if (dimuonArrSize > fDimuons->GetSize())
+ fDimuons->Expand(dimuonArrSize);
+ }
+ if (fTracklets)
+ fTracklets->DeleteContainer();
+ if (fPhosCells)
+ fPhosCells->DeleteContainer();
+ if (fEmcalCells)
+ fEmcalCells->DeleteContainer();
}
void AliAODEvent::ClearStd()
{
// clears the standard arrays
- fHeader ->RemoveQTheta();
- fTracks ->Delete();
- fVertices ->Delete();
- fV0s ->Delete();
- fCascades ->Delete();
- fTracklets ->DeleteContainer();
- fJets ->Delete();
- fEmcalCells ->DeleteContainer();
- fPhosCells ->DeleteContainer();
- fCaloClusters ->Delete();
- fFmdClusters ->Clear();
- fPmdClusters ->Clear();
- fDimuons ->Clear();
+ if (fHeader)
+ fHeader ->Clear();
+ if (fTracks)
+ fTracks ->Delete();
+ if (fVertices)
+ fVertices ->Delete();
+ if (fV0s)
+ fV0s ->Delete();
+ if (fCascades)
+ fCascades ->Delete();
+ if (fTracklets)
+ fTracklets ->DeleteContainer();
+ if (fJets)
+ fJets ->Delete();
+ if (fEmcalCells)
+ fEmcalCells ->DeleteContainer();
+ if (fPhosCells)
+ fPhosCells ->DeleteContainer();
+ if (fCaloClusters)
+ fCaloClusters ->Delete();
+ if (fFmdClusters)
+ fFmdClusters ->Clear();
+ if (fPmdClusters)
+ fPmdClusters ->Clear();
+ if (fDimuons)
+ fDimuons ->Clear();
}
//_________________________________________________________________
// copy constructor does not work...
fAODObjects = (TList*)(aodEvent->GetList()->Clone());
fAODObjects->SetOwner(kTRUE);
- if(fAODObjects->GetEntries()<kAODListN){
- printf("%s %d AliAODEvent::ReadFromTree() TList contains less than the standard contents %d < %d \n",
- (char*)__FILE__,__LINE__,fAODObjects->GetEntries(),kAODListN);
+ if(fAODObjects->GetEntries()<kAODListN)
+ {
+ AliWarning(Form("AliAODEvent::ReadFromTree() TList contains less than the standard contents %d < %d"
+ " That might be fine though (at least for filtered AODs)",fAODObjects->GetEntries(),kAODListN));
}
//
// Let's find out whether we have friends
} // has userinfo
} // friend loop
} // has friends
-
-
// set the branch addresses
TIter next(fAODObjects);
TNamed *el;
}
//______________________________________________________________________________
AliAODVertex* AliAODEvent::GetPrimaryVertexSPD() const{
- //
+ // Get SPD primary vertex
Int_t nVertices=GetNumberOfVertices();
for(Int_t iVert=0; iVert<nVertices; iVert++){
AliAODVertex *v=GetVertex(iVert);
}
//______________________________________________________________________________
AliAODVertex* AliAODEvent::GetPileupVertexSPD(Int_t iV) const{
- //
+ // Get pile-up vertex iV
Int_t nVertices=GetNumberOfVertices();
Int_t counter=0;
for(Int_t iVert=0; iVert<nVertices; iVert++){
}
//______________________________________________________________________________
AliAODVertex* AliAODEvent::GetPileupVertexTracks(Int_t iV) const{
- //
+ // Get pile-up vertex iV
Int_t nVertices=GetNumberOfVertices();
Int_t counter=0;
for(Int_t iVert=0; iVert<nVertices; iVert++){
return;
}
-void AliAODEvent::AssignIDtoCollection(TCollection* col)
+void AliAODEvent::AssignIDtoCollection(const TCollection* col)
{
// Static method which assigns a ID to each object in a collection
// In this way the objects are marked as referenced and written with