]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/genLevelSimulation/MergeCollectionFromGrid.C
- Adding pt histograms for electrons and muons
[u/mrichter/AliRoot.git] / PWG0 / genLevelSimulation / MergeCollectionFromGrid.C
CommitLineData
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
15using namespace std;
16
17
18
19void 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}