1 void Pi0Spectrum(const char* dataset="collection.xml")
6 gSystem->Load("libTree");
7 gSystem->Load("libGeom");
8 gSystem->Load("libVMC");
9 gSystem->Load("libPhysics");
11 //load analysis framework
12 gSystem->Load("libANALYSIS");
13 gSystem->Load("libANALYSISalice"); //AliAnalysisTaskSE
15 gSystem->AddIncludePath("-I$ALICE_ROOT/include -I$ALICE_ROOT/PHOS");
17 // A task can be compiled dynamically with AClic
18 gROOT->LoadMacro("AliCaloPhoton.cxx+g");
19 gROOT->LoadMacro("AliPHOSEPFlattener.cxx++") ;
20 gROOT->LoadMacro("AliAnalysisTaskPi0Flow.cxx+g");
23 TString token = gSystem->Getenv("GRID_TOKEN") ;
24 if (1) // token == "OK" )
25 TGrid::Connect("alien://");
27 AliInfo("You are not connected to the GRID") ;
29 cout << "Pi0Analysis: processing collection " << dataset << endl;
32 TChain* chain = new TChain("esdTree");
34 TGridCollection * collection = dynamic_cast<TGridCollection*>(TAlienCollection::Open(dataset));
36 TAlienResult* result = collection->GetGridResult("",0 ,0);
37 TList* rawFileList = result->GetFileInfoList();
39 for (Int_t counter=0 ; counter < rawFileList->GetEntries() ; counter++) {
40 TFileInfo * fi = static_cast<TFileInfo*>(rawFileList->At(counter)) ;
41 const char * rawFile = fi->GetCurrentUrl()->GetUrl() ;
42 printf("Processing %s\n", rawFile) ;
44 printf("Chain: %d entries.\n",chain->GetEntries());
48 // Make the analysis manager
49 AliAnalysisManager *mgr = new AliAnalysisManager("Pi0Spectrum");
52 AliESDInputHandler* esdH = new AliESDInputHandler();
53 esdH->SetReadFriends(kFALSE);
54 mgr->SetInputEventHandler(esdH);
58 mgr->SetDebugLevel(0);
60 // Add physics selection
61 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
62 AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection();
64 gROOT->LoadMacro("$ALICE_ROOT/OADB/macros/AddTaskCentrality.C");
65 AliCentralitySelectionTask *taskCentrality = AddTaskCentrality() ;
66 // taskCentrality->SetPass(2); // remember to set the pass you are processing!!!
68 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskEventplane.C");
69 AliEPSelectionTask *taskEP = AddTaskEventplane() ;
72 AliAnalysisTaskPi0Flow *task1 = new AliAnalysisTaskPi0Flow("Pi0Spectrum");
74 TFile *fBadMap = TFile::Open("alien:///alice/cern.ch/user/p/prsnko/BadMaps/BadMap_LHC10h_period1.root");
75 // TFile *fBadMap = TFile::Open("BadMap_LHC10h_period1.root");
76 if(fBadMap->IsOpen()){
77 printf("\n\n...Adding PHOS bad channel map \n") ;
80 for(Int_t mod=1;mod<4; mod++){
81 sprintf(key,"PHOS_BadMap_mod%d",mod) ;
82 TH2I * h = (TH2I*)fBadMap->Get(key) ;
84 task1->SetPHOSBadMap(mod,h) ;
89 task1->SelectCollisionCandidates();
93 // Create containers for input/output
94 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
95 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("histESD",TList::Class(),AliAnalysisManager::kOutputContainer,"histos.root");
97 // Connect input/output
98 mgr->ConnectInput(task1 , 0, cinput);
99 mgr->ConnectOutput(task1, 1, coutput1);
101 if (mgr->InitAnalysis()) {
103 mgr->StartAnalysis("local", chain);