]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/PHOSTasks/PHOS_PbPb/macros/GRID/Pi0Spectrum.C
organized some macros in subdirectories of PHOS_PbPb/macros
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / PHOS_PbPb / macros / GRID / Pi0Spectrum.C
CommitLineData
2cde7444 1void Pi0Spectrum(const char* dataset="collection.xml")
2{
b8bea077 3
4 /* $Id$ */
2cde7444 5
6 gSystem->Load("libTree.so");
7 gSystem->Load("libGeom.so");
8 gSystem->Load("libVMC.so");
9 gSystem->Load("libPhysics.so");
10
11 //load analysis framework
12 gSystem->Load("libANALYSIS");
13 gSystem->Load("libANALYSISalice"); //AliAnalysisTaskSE
14
15 gSystem->AddIncludePath("-I$ALICE_ROOT/include -I$ALICE_ROOT/PHOS");
16
17 // A task can be compiled dynamically with AClic
18 gROOT->LoadMacro("AliCaloPhoton.cxx+g");
b509e3a5 19 gROOT->LoadMacro("AliPHOSEPFlattener.cxx++") ;
2cde7444 20 gROOT->LoadMacro("AliAnalysisTaskPi0Flow.cxx+g");
21
22 // Connect to alien
23 TString token = gSystem->Getenv("GRID_TOKEN") ;
24 if (1) // token == "OK" )
25 TGrid::Connect("alien://");
26 else
27 AliInfo("You are not connected to the GRID") ;
28
29 cout << "Pi0Analysis: processing collection " << dataset << endl;
30
31 // Create the chain
32 TChain* chain = new TChain("esdTree");
33
34 TGridCollection * collection = dynamic_cast<TGridCollection*>(TAlienCollection::Open(dataset));
35
36 TAlienResult* result = collection->GetGridResult("",0 ,0);
37 TList* rawFileList = result->GetFileInfoList();
38
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) ;
43 chain->Add(rawFile);
44 printf("Chain: %d entries.\n",chain->GetEntries());
45 }
46
47
48 // Make the analysis manager
49 AliAnalysisManager *mgr = new AliAnalysisManager("Pi0Spectrum");
50
51 // ESD input handler
52 AliESDInputHandler* esdH = new AliESDInputHandler();
53 esdH->SetReadFriends(kFALSE);
54 mgr->SetInputEventHandler(esdH);
55
56
57 // Debug level
58 mgr->SetDebugLevel(0);
59
60 // Add physics selection
61 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
62 AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection();
63
64 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
65 AliCentralitySelectionTask *taskCentrality = AddTaskCentrality() ;
66 // taskCentrality->SetPass(2); // remember to set the pass you are processing!!!
67
68 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskEventplane.C");
69 AliEPSelectionTask *taskEP = AddTaskEventplane() ;
70
71 // Add my task
72 AliAnalysisTaskPi0Flow *task1 = new AliAnalysisTaskPi0Flow("Pi0Spectrum");
73
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") ;
78 gROOT->cd();
79 char key[55] ;
80 for(Int_t mod=1;mod<4; mod++){
81 sprintf(key,"PHOS_BadMap_mod%d",mod) ;
82 TH2I * h = (TH2I*)fBadMap->Get(key) ;
83 if(h)
84 task1->SetPHOSBadMap(mod,h) ;
85 }
86 fBadMap->Close() ;
87 }
88
89 task1->SelectCollisionCandidates();
90 mgr->AddTask(task1);
91
92
93 // Create containers for input/output
94 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
95 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("histESD",TList::Class(),AliAnalysisManager::kOutputContainer,"histos.root");
96
97 // Connect input/output
98 mgr->ConnectInput(task1 , 0, cinput);
99 mgr->ConnectOutput(task1, 1, coutput1);
100
101 if (mgr->InitAnalysis()) {
102 mgr->PrintStatus();
103 mgr->StartAnalysis("local", chain);
104 }
105
106}