Event embedding tasks for PHOS are added (D.Peressounko)
[u/mrichter/AliRoot.git] / PWG4 / UserTasks / PHOS_embedding / Analyze.C
1 void Analyze()
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("AliAnalysisTaskPi0Efficiency.cxx+g");
18   
19   // Create the chain
20   TChain* chain = new TChain("aodTree");
21   chain->AddFile("AliAODout.root") ;
22
23   // Make the analysis manager
24   AliAnalysisManager *mgr = new AliAnalysisManager("Pi0EmbeddingManager");
25   
26   // ESD input handler
27   AliAODInputHandler* aodH = new AliAODInputHandler();
28   mgr->SetInputEventHandler(aodH);
29
30   // Output
31   
32   // Debug level
33   mgr->SetDebugLevel(0);
34
35   AliAnalysisTaskPi0Efficiency * task = new AliAnalysisTaskPi0Efficiency("Pi0Efficiency") ;
36   
37   TFile *fBadMap = TFile::Open("BadMap_LHC10h.root");
38   if(fBadMap->IsOpen()){
39     printf("\n\n...Adding PHOS bad channel map \n") ;
40     gROOT->cd();
41     char key[55] ;
42     for(Int_t mod=1;mod<4; mod++){
43       sprintf(key,"PHOS_BadMap_mod%d",mod) ;
44       TH2I * h = (TH2I*)fBadMap->Get(key) ;
45       if(h)
46         task->SetPHOSBadMap(mod,h) ;
47     }
48     fBadMap->Close() ;
49   }
50
51
52   mgr->AddTask(task);
53
54
55   // Create containers for input/output
56   AliAnalysisDataContainer *cinput   = mgr->GetCommonInputContainer(); 
57   AliAnalysisDataContainer *coutput = mgr->CreateContainer("histESD",TList::Class(),AliAnalysisManager::kOutputContainer,"histos.root");
58   
59   // Connect input/output
60   mgr->ConnectInput(task , 0, cinput);
61   mgr->ConnectOutput(task, 1,coutput);
62
63   if (mgr->InitAnalysis()) {
64     mgr->PrintStatus();
65     mgr->StartAnalysis("local", chain);
66   }
67   
68 }