]>
Commit | Line | Data |
---|---|---|
3ec50490 | 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 |