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