"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");
}
//______________________________________________________________________________
void AliAODEvent::ClearStd()
{
// clears the standard arrays
- fHeader ->RemoveQTheta();
+ fHeader ->Clear();
fTracks ->Delete();
fVertices ->Delete();
fV0s ->Delete();
AliAODTrack *track = 0;
for (Int_t iTrack = 0; iTrack < GetNTracks(); iTrack++) {
- if ((track = GetTrack(iTrack))->IsMuonTrack()) {
+ track = GetTrack(iTrack);
+ if (track->IsMuonTrack()) {
muonTracks->Add(track);
}
}
{
// get number of muon tracks
Int_t nMuonTracks=0;
- AliAODTrack *track = 0;
for (Int_t iTrack = 0; iTrack < GetNTracks(); iTrack++) {
- if ((track = GetTrack(iTrack))->IsMuonTrack()) {
+ if ((GetTrack(iTrack))->IsMuonTrack()) {
nMuonTracks++;
}
}
TList* connectedList = (TList*) (tree->GetUserInfo()->FindObject("AODObjectsConnectedToTree"));
if (connectedList && (strcmp(opt, "reconnect"))) {
// If connected use the connected list of objects
- fAODObjects->Delete();
- fAODObjects = connectedList;
- GetStdContent();
- fConnected = kTRUE;
- return;
+ fAODObjects->Delete();
+ fAODObjects = connectedList;
+ GetStdContent();
+ fConnected = kTRUE;
+ return;
}
// Connect to tree
// prevent a memory leak when reading back the TList
- // if (!(strcmp(opt, "reconnect"))) fAODObjects->Delete();
+// if (!(strcmp(opt, "reconnect"))) fAODObjects->Delete();
// create a new TList from the UserInfo TList...
// 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
while ((obj = next()))
TProcessID::AssignID(obj);
}
+
+Bool_t AliAODEvent::IsPileupFromSPDInMultBins() const {
+ Int_t nTracklets=GetTracklets()->GetNumberOfTracklets();
+ if(nTracklets<20) return IsPileupFromSPD(3,0.8);
+ else if(nTracklets<50) return IsPileupFromSPD(4,0.8);
+ else return IsPileupFromSPD(5,0.8);
+}
+