]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/AliAnalysisTaskVertexingHFTest.C
Updating some information.
[u/mrichter/AliRoot.git] / PWG3 / AliAnalysisTaskVertexingHFTest.C
1 void AliAnalysisTaskVertexingHFTest() {
2
3   gSystem->Load("libANALYSIS");
4   gSystem->Load("libANALYSISRL");
5   gSystem->Load("libAOD.so");
6   gSystem->Load("libPWG3base.so");
7   //This file can cause problems :
8   if (!gSystem->AccessPathName("$ALICE_ROOT/ANALYSIS/AliAnalysisSelector_cxx.so",kFileExists)) {
9     printf("File $ALICE_ROOT/ANALYSIS/AliAnalysisSelector_cxx.so exists and can cause problems, delete it if you can...");
10     return;
11   }
12
13  
14   //Run over local files :
15   TChain *chain= new TChain("esdTree");
16   chain->Add("AliESDs.root"); // put path to your files here
17   
18   // OR :
19  
20   /*
21   //Fetch files with AliEn :
22   const char *collectionfile = "essai6000CollectionTags1.xml";
23   TGrid::Connect("alien://") ;
24   //Create an AliRunTagCuts and an AliEventTagCuts Object and impose some selection criteria
25   AliRunTagCuts      *runCuts   = new AliRunTagCuts();
26   AliEventTagCuts    *eventCuts = new AliEventTagCuts();
27   AliLHCTagCuts      *lhcCuts   = new AliLHCTagCuts();
28   AliDetectorTagCuts *detCuts   = new AliDetectorTagCuts();
29   eventCuts->SetMultiplicityRange(0,20000);
30   //Create an AliTagAnalysis Object and chain the tags
31   AliTagAnalysis   *tagAna = new AliTagAnalysis();
32   tagAna->SetType("ESD");
33   TAlienCollection *coll   = TAlienCollection::Open(collectionfile);
34   TGridResult      *tagResult = coll->GetGridResult("",0,0);
35   tagResult->Print();
36   tagAna->ChainGridTags(tagResult);
37   //Create a new esd chain and assign the chain that is returned by querying the tags
38   TChain* chain = tagAna->QueryTags(runCuts,lhcCuts,detCuts,eventCuts);
39   */
40  
41   //Temporary solution to avoid memory leaks : 
42   chain->SetBranchStatus("*FMD*",0);
43   chain->SetBranchStatus("*CaloClusters*",0);
44
45   //Create tasks
46   AliAnalysisManager *analManager = new AliAnalysisManager("myAnalysisManager");
47   //analManager->SetDebugLevel(10);
48   AliAnalysisTaskVertexingHF *task1 = new AliAnalysisTaskVertexingHF("myTask");
49   analManager->AddTask(task1);
50   //Create containers for input/output
51   AliAnalysisDataContainer *cinput1 = analManager->CreateContainer("cchain1",TChain::Class(),AliAnalysisManager::kInputContainer);
52   AliAnalysisDataContainer *coutput1 = analManager->CreateContainer("tree1", TTree::Class(),AliAnalysisManager::kOutputContainer,"HFtrees.root");
53   AliAnalysisDataContainer *coutput2 = analManager->CreateContainer("tree2", TTree::Class(),AliAnalysisManager::kOutputContainer,"HFtrees.root");
54   AliAnalysisDataContainer *coutput3 = analManager->CreateContainer("tree3", TTree::Class(),AliAnalysisManager::kOutputContainer,"HFtrees.root");
55   AliAnalysisDataContainer *coutput4 = analManager->CreateContainer("tree4", TTree::Class(),AliAnalysisManager::kOutputContainer,"HFtrees.root");
56   analManager->ConnectInput(task1,0,cinput1);
57   analManager->ConnectOutput(task1,0,coutput1);
58   analManager->ConnectOutput(task1,1,coutput2);
59   analManager->ConnectOutput(task1,2,coutput3);
60   analManager->ConnectOutput(task1,3,coutput4);
61   cinput1->SetData(chain);
62  
63   printf("CHAIN HAS %d ENTRIES\n",(Int_t)chain->GetEntries());
64   if (analManager->InitAnalysis()) {
65     analManager->PrintStatus();
66     //analManager->StartAnalysis("grid",chain);
67     analManager->StartAnalysis("local",chain);
68   }
69  
70   return;
71 }
72
73
74