Example for analysis on kine tree.
[u/mrichter/AliRoot.git] / JETAN / JetAnalysisManagerKine.C
1 void JetAnalysisManagerKine()
2 {
3       gSystem->Load("libTree.so");
4       gSystem->Load("libPhysics.so");
5       gSystem->Load("libGeom.so");
6       gSystem->Load("libVMC.so");
7       gSystem->Load("libANALYSIS.so");
8       gSystem->Load("libSTEERBase.so");
9       gSystem->Load("libAOD.so");
10       gSystem->Load("libESD.so");
11       gSystem->Load("libANALYSISalice.so");
12       gSystem->Load("libJETAN.so");
13
14      //
15     if (gApplication) gApplication->InitializeGraphics();
16     // Create the chain
17     //
18     gROOT->LoadMacro("CreateESDChain.C");
19     TChain* chain = new TChain("TE");
20     chain->Add("/home/morsch/AliRoot/newtrunk/FASTSIM/jets/galice.root");
21     /////////////////////////////////////////////////////////////////////////////////// 
22     // Create the analysis manager
23     //
24     // Output
25     AliAODHandler* aodHandler = new AliAODHandler();
26     aodHandler->SetOutputFileName("aod.root");
27     // MC Truth
28     AliMCEventHandler* mcHandler = new AliMCEventHandler();
29     AliAnalysisManager *mgr  = new AliAnalysisManager("Jet Manager", "Jet Manager");
30     mgr->SetOutputEventHandler (aodHandler);
31     mgr->SetMCtruthEventHandler(mcHandler);
32     mgr->SetDebugLevel(10);
33
34     AliAnalysisTaskKineFilter *kinefilter = new AliAnalysisTaskKineFilter("Kine Filter");
35     mgr->AddTask(kinefilter);
36     
37     
38     AliAnalysisTaskJets *jetana = new AliAnalysisTaskJets("JetAnalysis");
39     jetana->SetDebugLevel(10);
40     mgr->AddTask(jetana);
41
42     //
43     // Create containers for input/output
44     AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain",TChain::Class(), 
45                                                              AliAnalysisManager::kInputContainer);
46
47     AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("tree", TTree::Class(),
48                                                               AliAnalysisManager::kOutputContainer, "default");
49     AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("histos", TList::Class(),
50                                                               AliAnalysisManager::kOutputContainer, "histos.root");
51
52     mgr->ConnectInput  (kinefilter,     0, cinput1  );
53     mgr->ConnectOutput (kinefilter,     0, coutput1 );
54
55     mgr->ConnectInput  (jetana,     0, cinput1  );
56     mgr->ConnectOutput (jetana,     0, coutput1 );
57     mgr->ConnectOutput (jetana,     1, coutput2 );
58
59
60     //
61     // Run the analysis
62     //    
63     mgr->InitAnalysis();
64     mgr->PrintStatus();
65     mgr->StartAnalysis("local",chain);
66 }