]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/PHOSTasks/PHOS_PbPb/Pi0SpectrumLHC11h.C
Added AliPHOSEPFlattener recompilation to Pi0SpectrumLHC11h.C,
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / PHOS_PbPb / Pi0SpectrumLHC11h.C
CommitLineData
517e5005 1void Pi0SpectrumLHC11h(const char* dataset="collection.xml",
da09d42f 2 bool recompile = true
517e5005 3)
4{
5 TStopwatch timer;
6 timer.Start();
7
8
9 TStringToken libs("Core,Tree,Geom,VMC,Physics,Minuit,Gui,XMLParser,Minuit2,Proof,STEERBase,ESD,AOD,OADB,ANALYSIS,ANALYSISalice,CDB,RAWDatabase,STEER,CORRFW,PHOSUtils,PHOSbase,PHOSpi0Calib,PHOSrec,PHOSshuttle,PHOSsim,PWGGAPHOSTasks", ",");
10 while( libs.NextToken() )
11 gSystem->Load( Form("lib%s", libs.Data()) );
12
13 gSystem->Load("libTree.so");
14 gSystem->Load("libGeom.so");
15 gSystem->Load("libVMC.so");
16 gSystem->Load("libPhysics.so");
17
18 //load analysis framework
19 gSystem->Load("libANALYSIS");
20 gSystem->Load("libANALYSISalice"); //AliAnalysisTaskSE
21
22 gSystem->AddIncludePath("-I$ALICE_ROOT/include -I$ALICE_ROOT/PHOS");
23
24 // A task can be compiled dynamically with AClic
25 if( recompile ) {
26 gROOT->LoadMacro("AliCaloPhoton.cxx+g");
27 gROOT->LoadMacro("AliAnalysisTaskPi0Flow.cxx+g");
da09d42f 28 gROOT->LoadMacro("AliPHOSEPFlattener.cxx+g");
517e5005 29 }
30 else {
31 gSystem->Load("libPWGGAPHOSTasks.so");
32 }
33
34 // Connect to alien
35 TString token = gSystem->Getenv("GRID_TOKEN") ;
36 if (1) // token == "OK" )
37 TGrid::Connect("alien://");
38 else
39 AliInfo("You are not connected to the GRID") ;
40
41 cout << "Pi0Analysis: processing collection " << dataset << endl;
42
43 // Create the chain
44 TChain* chain = new TChain("aodTree");
45
46 TGridCollection * collection = dynamic_cast<TGridCollection*>(TAlienCollection::Open(dataset));
47
48 TAlienResult* result = collection->GetGridResult("",0 ,0);
49 TList* rawFileList = result->GetFileInfoList();
50
51 for (Int_t counter=0 ; counter < rawFileList->GetEntries() ; counter++) {
52 TFileInfo * fi = static_cast<TFileInfo*>(rawFileList->At(counter)) ;
53 const char * rawFile = fi->GetCurrentUrl()->GetUrl() ;
54 printf("Processing %s\n", rawFile) ;
55 chain->Add(rawFile);
56 printf("Chain: %d entries.\n",chain->GetEntriesFast());
57 }
58
59 // Make the analysis manager
60 AliAnalysisManager *mgr = new AliAnalysisManager("Pi0Spectrum");
61 mgr->SetCommonFileName("histos.root");
62
63 // AOD input handler
64 AliAODInputHandler* aodH = new AliAODInputHandler();
65 mgr->SetInputEventHandler(aodH);
66
67
68 // Debug level
69 mgr->SetDebugLevel(999999);
70
71 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskEventplane.C");
72 AliEPSelectionTask *taskEP = AddTaskEventplane() ;
73
74 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskVZEROEPSelection.C");
75 AliVZEROEPSelectionTask *selTask = AddTaskVZEROEPSelection();
76
77 // Add my task
78 AliAnalysisTaskPi0Flow* task;
79 if ( recompile ) {
80 task = new AliAnalysisTaskPi0Flow("AliAnalysisTaskPi0Flow");
81 //task->SetPeriod(AliAnalysisTaskPi0Flow::kLHC11h);
82 mgr->AddTask(task);
83 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
84 mgr->ConnectOutput(task, 1, mgr->CreateContainer("outCont1", TList::Class(),AliAnalysisManager::kOutputContainer,"output.root"));
85 } else {
86 gROOT->LoadMacro("$ALICE_ROOT/PWGGA/PHOSTasks/PHOS_PbPb/AddTaskPHOSPi0Flow.C");
87 task = AddTaskPHOSPi0Flow();
88 }
89
90/*
91 TFile *fBadMap = TFile::Open("alien:///alice/cern.ch/user/p/prsnko/BadMaps/BadMap_LHC10h_period1.root");
92 // TFile *fBadMap = TFile::Open("BadMap_LHC10h_period1.root");
93 if(fBadMap->IsOpen()){
94 printf("\n\n...Adding PHOS bad channel map \n") ;
95 gROOT->cd();
96 char key[55] ;
97 for(Int_t mod=1;mod<4; mod++){
98 sprintf(key,"PHOS_BadMap_mod%d",mod) ;
99 TH2I * h = (TH2I*)fBadMap->Get(key) ;
100 if(h)
101 task1->SetPHOSBadMap(mod,h) ;
102 }
103 fBadMap->Close() ;
104 }
105*/
106
107
108
109 // // Create containers for input/output
110 // AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
111 // AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("pi0SpecOut1",TList::Class(),AliAnalysisManager::kOutputContainer,"histos.root");
112
113 // // Connect input/output
114 // mgr->ConnectInput(task1 , 0, cinput);
115 // mgr->ConnectOutput(task1, 1, coutput1);
116
117 if (mgr->InitAnalysis()) {
118 mgr->PrintStatus();
119 mgr->StartAnalysis("local", chain);
120 }
121
122 timer.Stop();
123 timer.Print();
124}