]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALTasks/macros/AddTaskEMCalpi0ClusterEvaluation.C
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / macros / AddTaskEMCalpi0ClusterEvaluation.C
1 //Task to run over AOD EMCal Clusters and tender
2 //Astrid Morreale 2013
3 //Esd
4 //___________________________________________________
5 void load_libraries( void )
6 {
7
8     // Root libraries
9     gSystem->Load("libTree");
10     gSystem->Load("libGeom");
11     gSystem->Load("libVMC");
12     gSystem->Load("libPhysics");
13     gSystem->Load("libMinuit");
14
15     // Analysis framework libraries
16     gSystem->Load("libSTEERBase");
17     gSystem->Load("libESD");
18     gSystem->Load("libAOD");
19     gSystem->Load("libANALYSIS");
20     gSystem->Load("libOADB");
21     gSystem->Load("libANALYSISalice");
22
23     // AliRoot libraries
24     gSystem->Load("libGui.so");
25     gSystem->Load("libXMLParser.so");
26     gSystem->Load("libCDB.so");
27     gSystem->Load("libProof.so");
28     gSystem->Load("libRAWDatabase.so");
29     gSystem->Load("libRAWDatarec.so");
30     gSystem->Load("libSTEERBase.so");
31     gSystem->Load("libSTEER.so");
32     gSystem->Load("libTRDbase.so");
33     gSystem->Load("libTOFbase.so");
34     gSystem->Load("libTOFrec.so");
35     gSystem->Load("libVZERObase.so");
36     gSystem->Load("libVZEROrec.so");
37     gSystem->Load("libMinuit.so");
38     gSystem->Load("libEMCALUtils.so");
39     gSystem->Load("libEMCALraw.so");
40     gSystem->Load("libEMCALbase.so");
41     gSystem->Load("libEMCALrec.so");
42     gSystem->Load("libANALYSIS.so");
43     gSystem->Load("libANALYSISalice.so");
44     gSystem->Load("libPHOSUtils.so");
45     gSystem->Load("libTENDER.so");
46     gSystem->Load("libTENDERSupplies.so");
47     gSystem->Load("libPWGflowBase.so");
48     gSystem->Load("libPWGflowTasks.so");
49
50 }
51
52 //______________________________________________________
53 void AddTaskEMCalpi0ClusterEvaluation( UInt_t triggerMaskPbPb = AliVEvent::kEMCEGA )
54 {
55
56     // load libraries
57     load_libraries();
58
59     // Use AliRoot includes to compile our task
60     gROOT->ProcessLine(".include $ALICE_ROOT");
61     gROOT->ProcessLine(".include $ALICE_ROOT/include");
62     gROOT->ProcessLine(".include $ALICE_ROOT/PWG/FLOW/Base");
63
64
65
66
67     // analysis manager
68     AliAnalysisManager *analysisManager =  AliAnalysisManager::GetAnalysisManager();
69
70     if (!analysisManager)
71     {
72     ::Error("AddTaskEMCalpi0ClusterEvaluation", "No analysis manager to connect to.");
73     return NULL;
74     }
75
76   if (!analysisManager->GetInputEventHandler()) {
77     ::Error("AddTaskEMCALpi0ClusterEValuation", "This task requires an input event handler");
78     return NULL;
79    }
80
81   TString type = analysisManager->GetInputEventHandler()->GetDataType();
82
83   AliAnalysisDataContainer *cinput1  = analysisManager->GetCommonInputContainer();
84   AliAnalysisDataContainer *coutput1 = analysisManager->CreateContainer("MassHistos", TList::Class(), AliAnalysisManager::kOutputContainer, "AllMBLHC11h.root");
85
86    // cluster evaluation
87     gROOT->LoadMacro("AliEMCalpi0ClusterEvaluationTask.cxx");
88
89     // create task
90     AliEMCalpi0ClusterEvaluationTask*clusterEvaluation = new AliEMCalpi0ClusterEvaluationTask( "clusterEvaluation" );
91     clusterEvaluation->SelectCollisionCandidates(triggerMaskPbPb);
92
93     // add task to manager
94     analysisManager->AddTask(clusterEvaluation);
95
96     gSystem->AddIncludePath("-I$ALICE_ROOT/ANALYSIS ");
97
98
99     // I/O
100     analysisManager->ConnectInput( clusterEvaluation, 0, cinput1 );
101     analysisManager->ConnectOutput( clusterEvaluation, 1, coutput1 );
102
103
104    return clusterEvaluation;
105
106
107 }