]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/AliAnalysisTaskVertexingHFTest.C
Bug fix (Marek)
[u/mrichter/AliRoot.git] / PWG3 / AliAnalysisTaskVertexingHFTest.C
CommitLineData
3ec50490 1void 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