]>
Commit | Line | Data |
---|---|---|
539b6cb4 | 1 | TChain* CreateESDChain(const char* aDataDir, Bool_t aAddHeader = kTRUE) |
2 | { | |
3 | if (!aDataDir) | |
4 | return 0; | |
5 | ||
6 | TChain* chain = new TChain("esdTree"); | |
7 | TChain* chaingAlice = 0; | |
8 | ||
9 | if (aAddHeader != kFALSE) | |
10 | chaingAlice = new TChain("TE"); | |
11 | ||
12 | TString execDir(gSystem->pwd()); | |
13 | TSystemDirectory* baseDir = new TSystemDirectory(".", aDataDir); | |
14 | TList* dirList = baseDir->GetListOfFiles(); | |
15 | Int_t nDirs = dirList->GetEntries(); | |
16 | gSystem->cd(execDir); | |
17 | ||
18 | for (Int_t iDir=0; iDir<nDirs; ++iDir) | |
19 | { | |
20 | TSystemFile* presentDir = (TSystemFile*) dirList->At(iDir); | |
21 | if (!presentDir || !presentDir->IsDirectory() || strcmp(presentDir->GetName(), ".") == 0 || strcmp(presentDir->GetName(), "..") == 0) | |
22 | continue; | |
23 | ||
24 | TString presentDirName(aDataDir); | |
25 | presentDirName += "/"; | |
26 | presentDirName += presentDir->GetName(); | |
27 | ||
28 | chain->Add(presentDirName + "/AliESDs.root/esdTree"); | |
29 | ||
30 | if (aAddHeader != kFALSE) | |
31 | chaingAlice->Add(presentDirName + "/galice.root/TE"); | |
32 | } | |
33 | ||
34 | if (aAddHeader != kFALSE) | |
35 | chain->AddFriend(chaingAlice); | |
36 | ||
37 | return chain; | |
38 | } |