9f7d4058f4586da5d3a2c5f6b7c9aa437bb206e2
[u/mrichter/AliRoot.git] / HLT / JET / macros / tasks / JetAnalysisManagerHLT.C
1 void JetAnalysisManagerHLT() {
2
3   if ( getenv("FASTJET") ) {
4     gSystem->Load("libCGAL.so");
5     gSystem->Load("libfastjet.so");
6     gSystem->Load("libSISConePlugin.so");
7   }
8
9   gSystem->Load("libTree.so");
10   gSystem->Load("libPhysics.so");
11   gSystem->Load("libGeom.so");
12   gSystem->Load("libVMC.so");
13   gSystem->Load("libANALYSIS.so");
14   gSystem->Load("libSTEERBase.so");
15   gSystem->Load("libAOD.so");
16   gSystem->Load("libESD.so");
17   gSystem->Load("libANALYSISalice.so");
18   gSystem->Load("libJETAN.so");
19   
20   gSystem->Load("libHLTbase.so");
21   gSystem->Load("libAliHLTUtil.so");
22   gSystem->Load("libAliHLTJET.so");
23   
24   // --------------------------------------------------------------------------------  
25     
26   if (gApplication) gApplication->InitializeGraphics();
27
28   // --------------------------------------------------------------------------------  
29   //
30   // Create the chain
31   //
32   // --------------------------------------------------------------------------------  
33
34   gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C");
35   TChain* chain = new TChain("esdTree");
36   
37   chain->Add("~/jet/data/HEAD_2009-06-04/kPythia6Jets104_125_14TeV/JET-ETA=-0.2,0.2_JET-ET=10,1000_R=0.7_100ev/AliESDs.root");
38   //chain->Add("~/jet/data/HEAD_2009-06-04/kPythia6Jets104_125_14TeV/JET-ETA=-0.2,0.2_JET-ET=10,1000_R=0.7_1ev/AliESDs.root");
39
40   // --------------------------------------------------------------------------------  
41   //
42   // Create the analysis manager
43   //
44   // --------------------------------------------------------------------------------  
45
46   // Input 
47   AliESDInputHandler* inpHandler = new AliESDInputHandler();
48
49   // Output
50   AliAODHandler* aodHandler = new AliAODHandler();
51   aodHandler->SetOutputFileName("aod.root");
52
53   // MC Truth
54   AliMCEventHandler* mcHandler = new AliMCEventHandler();
55     
56   AliAnalysisManager *mgr  = new AliAnalysisManager("Jet Manager", "Jet Manager");
57   mgr->SetInputEventHandler  (inpHandler);
58   mgr->SetOutputEventHandler (aodHandler);
59   mgr->SetMCtruthEventHandler(mcHandler);
60   mgr->SetDebugLevel(0);
61
62   // --------------------------------------------------------------------------------
63   //
64   // Set Configfiles
65   //
66   // --------------------------------------------------------------------------------
67
68   // -- HLT FFSC
69   AliAnalysisTaskJets *jetana = new AliAnalysisTaskJets("JetAnalysisHLT");
70   jetana->SetConfigFile("./tasks/ConfigJetAnalysisHLT.C");
71   jetana->SetNonStdBranch("jetsHLT");
72   jetana->SetDebugLevel(10);
73   mgr->AddTask(jetana);  
74
75   // -- HLT FFSC - MC
76   AliAnalysisTaskJets *jetanaMC = new AliAnalysisTaskJets("JetAnalysisHLTMC");
77   jetanaMC->SetConfigFile("./tasks/ConfigJetAnalysisHLTMC.C");
78   jetanaMC->SetNonStdBranch("jetsHLTMC");
79   jetanaMC->SetDebugLevel(0);
80   mgr->AddTask(jetanaMC);
81
82   // --------------------------------------------------------------------------------
83   //
84   // Create containers for input/output
85   //
86   // --------------------------------------------------------------------------------  
87
88   AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
89   AliAnalysisDataContainer *coutput1 = mgr->GetCommonOutputContainer();
90   AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("histos", TList::Class(), AliAnalysisManager::kOutputContainer, "histos.root");
91   AliAnalysisDataContainer *coutputMC2 = mgr->CreateContainer("histosMC", TList::Class(), AliAnalysisManager::kOutputContainer, "histosMC.root");
92   
93   mgr->ConnectInput  (jetana,     0, cinput1  );
94   mgr->ConnectOutput (jetana,     0, coutput1 );
95   mgr->ConnectOutput (jetana,     1, coutput2 );
96     
97   mgr->ConnectInput  (jetanaMC,     0, cinput1  );
98   mgr->ConnectOutput (jetanaMC,     0, coutput1 );
99   mgr->ConnectOutput (jetanaMC,     1, coutputMC2 );
100   
101   // --------------------------------------------------------------------------------  
102   //
103   // Run the analysis
104   //    
105   // --------------------------------------------------------------------------------  
106   
107   mgr->InitAnalysis();
108   mgr->PrintStatus();
109   mgr->StartAnalysis("local",chain);
110 }