Example macro for jet analysis.
[u/mrichter/AliRoot.git] / JETAN / JetAnalysisManager.C
1 void JetAnalysisManager()
2 {
3     //
4     // Load relevant libraries
5     //
6     gSystem->Load("libEG.so");
7     gSystem->Load("libGeom.so");
8     gSystem->Load("libANALYSIS_NEW.so");
9     gSystem->Load("libESD.so"); 
10     gSystem->Load("libJETAN.so");
11     //
12     // Connect to alien
13     //
14     TGrid::Connect("alien://"); 
15     //
16     // Prepare the input event chain
17     //
18     AliTagAnalysis *TagAna = new AliTagAnalysis(); 
19     // create an EventTagCut object
20     AliEventTagCuts *EvCuts = new AliEventTagCuts();
21     AliRunTagCuts   *RuCuts = new AliRunTagCuts();
22     TAlienCollection* coll = TAlienCollection::Open("tags/tag100.xml");
23     TGridResult* TagResult = coll->GetGridResult("");
24     TagAna->ChainGridTags(TagResult);
25     TChain* chain1 = 0x0;
26     chain1 = TagAna->QueryTags(RuCuts, EvCuts);
27     //
28     // Make the analysis manager
29     //
30     AliAnalysisManager *mgr = new AliAnalysisManager();
31     AliAnalysisTask *jetana = new AliAnalysisTaskJets("JetAnalysis");
32     
33     mgr->AddTask(jetana);
34     // Create containers for input/output
35     AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain1",TChain::Class(), 
36                                                              AliAnalysisManager::kInputContainer);
37     AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("chist1", TH1::Class(),
38                                                               AliAnalysisManager::kOutputContainer);
39     printf("Connectiong I/O \n");
40     
41     mgr->ConnectInput (jetana,0,cinput1);
42     mgr->ConnectOutput(jetana,0,coutput1);
43     cinput1->SetData(chain1);
44
45 //
46 // Run the analysis
47 //    
48
49     if (mgr->InitAnalysis()) {
50         mgr->PrintStatus();
51         chain1->Process(mgr);
52     }
53 }