]>
Commit | Line | Data |
---|---|---|
34d2adbe | 1 | #include <iostream> |
2 | #include "TSystem.h" | |
3 | #include "TFileMerger.h" | |
4 | #include "TGrid.h" | |
5 | #include "TAlienCollection.h" | |
6 | #include "TFile.h" | |
7 | #include "TH1F.h" | |
8 | #include "TList.h" | |
9 | #include "TH1I.h" | |
10 | #include "TMath.h" | |
11 | #include "TGraphErrors.h" | |
12 | #include "AliAnalysisTaskdNdetaMC.h" | |
13 | #include "TROOT.h" | |
14 | ||
15 | using namespace std; | |
16 | ||
17 | ||
18 | ||
19 | void MergeCollectionFromGrid(const char * incollection = "test.xml", const char * outputfile= "dndeta_merged.root") | |
20 | { | |
21 | // for running with root only | |
22 | gSystem->Load("libTree.so"); | |
23 | gSystem->Load("libGeom.so"); | |
24 | gSystem->Load("libVMC.so"); | |
25 | gSystem->Load("libSTEERBase.so"); | |
26 | gSystem->Load("libESD.so"); | |
27 | gSystem->Load("libAOD.so"); | |
28 | ||
29 | // load analysis framework | |
30 | gSystem->Load("libANALYSIS"); | |
31 | gSystem->Load("libANALYSISalice"); | |
32 | ||
33 | // load dndeta task | |
34 | gROOT->LoadMacro("AliAnalysisTaskdNdetaMC.cxx+"); | |
35 | ||
36 | ||
37 | TFileMerger * fileMerger = new TFileMerger(0); // dont merge local files | |
38 | ||
39 | TGrid::Connect("alien://"); | |
40 | TGridCollection * coll = TAlienCollection::Open (incollection); | |
41 | Int_t ifile=0; | |
42 | while(coll->Next()){ | |
43 | fileMerger->AddFile(TString("alien://")+coll->GetLFN()); | |
44 | ifile++; | |
45 | // if(ifile>2) break; | |
46 | } | |
47 | fileMerger->OutputFile("tmp.root"); | |
48 | fileMerger->Merge(); | |
49 | ||
50 | // Reopen the merged file, normalize histos and save them back. | |
51 | // SOME DUPLICATED CODE... SOME CLEAN UP WOULD BE GOOD | |
52 | AliAnalysisTaskdNdetaMC * localTask = new AliAnalysisTaskdNdetaMC("merger", "tmp.root"); | |
53 | localTask->Finalize(); | |
54 | ||
55 | TFile * fout = new TFile (outputfile, "recreate"); | |
56 | localTask->GetList()->Write(); | |
57 | fout->Close(); | |
58 | } |