1 void PHOSPbPbQA(const char* dataset="collection.xml")
3 gSystem->Load("libTree.so");
4 gSystem->Load("libGeom.so");
5 gSystem->Load("libVMC.so");
6 gSystem->Load("libPhysics.so");
8 //load analysis framework
9 gSystem->Load("libANALYSIS");
10 gSystem->Load("libANALYSISalice"); //AliAnalysisTaskSE
12 gSystem->Load("libPWG4UserTasks.so");
14 gSystem->AddIncludePath("-I$ALICE_ROOT/include -I$ALICE_ROOT/PHOS");
16 // A task can be compiled dynamically with AClic
17 // gROOT->LoadMacro("AliCaloPhoton.cxx+g");
18 gROOT->LoadMacro("AliAnalysisTaskPHOSPbPbQA.cxx+g");
20 cout << "PbPbQA: processing collection " << dataset << endl;
22 TString data = dataset;
25 if(data.Contains(".xml")) {
27 TGrid::Connect("alien://");
29 chain = new TChain("esdTree");
30 TGridCollection * collection = dynamic_cast<TGridCollection*>(TAlienCollection::Open(dataset));
32 TAlienResult* result = collection->GetGridResult("",0 ,0);
33 TList* rawFileList = result->GetFileInfoList();
35 for (Int_t counter=0 ; counter < rawFileList->GetEntries() ; counter++) {
36 TFileInfo * fi = static_cast<TFileInfo*>(rawFileList->At(counter)) ;
37 const char * rawFile = fi->GetCurrentUrl()->GetUrl() ;
38 printf("Processing %s\n", rawFile) ;
40 printf("Chain: %d entries.\n",chain->GetEntries());
44 if(data.Contains(".txt")) {
45 gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C");
46 chain = CreateESDChain(dataset, 300);
49 if(data.Contains(".root")) {
50 chain = new TChain("esdTree");
54 AliLog::SetGlobalLogLevel(AliLog::kError);
56 Int_t nentr = chain->GetEntries();
57 printf("Number of events in the collection is %d\n",nentr);
59 // Make the analysis manager
60 AliAnalysisManager *mgr = new AliAnalysisManager("Manager", "Manager");
63 AliESDInputHandler *esdHandler = new AliESDInputHandler();
64 mgr->SetInputEventHandler(esdHandler);
67 AliESDHandler* esdoutHandler = new AliESDHandler();
70 mgr->SetDebugLevel(0);
72 //Add centrality task!
73 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
74 AliCentralitySelectionTask *taskCentrality = AddTaskCentrality() ;
75 taskCentrality->SetMCInput();
77 //Add REACTION PLANE task!
78 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskEventplane.C");
79 AliEPSelectionTask*taskEP= AddTaskEventplane() ;
82 AliAnalysisTaskPHOSPbPbQA *task1 = new AliAnalysisTaskPHOSPbPbQA("PbPbQA");
85 // Create containers for input/output
86 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
87 AliAnalysisDataContainer *coutput = mgr->CreateContainer("histESD",TList::Class(),
88 AliAnalysisManager::kOutputContainer,
91 // Connect input/output for task1
92 mgr->ConnectInput(task1 , 0, cinput);
93 mgr->ConnectOutput(task1, 1, coutput);
95 if (mgr->InitAnalysis()) {
97 mgr->StartAnalysis("local", chain);
100 cout <<" Analysis ended sucessfully "<< endl ;