]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/AliAnalysisTaskSEVertexingHFTest.C
New AliAnalysisTaskSE for vertexing HF (Andrea)
[u/mrichter/AliRoot.git] / PWG3 / AliAnalysisTaskSEVertexingHFTest.C
CommitLineData
699a38d6 1void AliAnalysisTaskSEVertexingHFTest()\r
2{\r
3 //\r
4 // Test macro for the AliAnalysisTaskSE for heavy-flavour vertexing\r
5 // A.Dainese, andrea.dainese@lnl.infn.it\r
6 //\r
7\r
8 gSystem->Load("libTree.so");\r
9 gSystem->Load("libGeom.so");\r
10 gSystem->Load("libPhysics.so");\r
11 gSystem->Load("libVMC.so");\r
12 gSystem->Load("libSTEERBase.so");\r
13 gSystem->Load("libESD.so");\r
14 gSystem->Load("libAOD.so"); \r
15 gSystem->Load("libANALYSIS.so");\r
16 gSystem->Load("libANALYSISalice.so");\r
17 gSystem->Load("libPWG3base.so");\r
18\r
19\r
20 // Local files \r
21 TChain *chain = new TChain("esdTree");\r
22 chain->Add("./AliESDs.root");\r
23\r
24 // or:\r
25 /*\r
26 //Fetch files with AliEn :\r
27 const char *collectionfile = "CollectionTags.xml";\r
28 TGrid::Connect("alien://") ;\r
29 //Create an AliRunTagCuts and an AliEventTagCuts Object and impose some selection criteria\r
30 AliRunTagCuts *runCuts = new AliRunTagCuts();\r
31 AliEventTagCuts *eventCuts = new AliEventTagCuts();\r
32 AliLHCTagCuts *lhcCuts = new AliLHCTagCuts();\r
33 AliDetectorTagCuts *detCuts = new AliDetectorTagCuts();\r
34 eventCuts->SetMultiplicityRange(0,20000);\r
35 //Create an AliTagAnalysis Object and chain the tags\r
36 AliTagAnalysis *tagAna = new AliTagAnalysis();\r
37 tagAna->SetType("ESD");\r
38 TAlienCollection *coll = TAlienCollection::Open(collectionfile);\r
39 TGridResult *tagResult = coll->GetGridResult("",0,0);\r
40 tagResult->Print();\r
41 tagAna->ChainGridTags(tagResult);\r
42 //Create a new esd chain and assign the chain that is returned by querying the tags\r
43 TChain* chain = tagAna->QueryTags(runCuts,lhcCuts,detCuts,eventCuts);\r
44 */\r
45\r
46\r
47 // Create the analysis manager\r
48 AliAnalysisManager *mgr = new AliAnalysisManager("My Manager","My Manager");\r
49 mgr->SetDebugLevel(10);\r
50 \r
51 // Input Handler\r
52 //AliAODInputHandler *inputHandler = new AliAODInputHandler();\r
53 AliESDInputHandler *inputHandler = new AliESDInputHandler();\r
54 inputHandler->SetInactiveBranches("FMD CaloCluster");\r
55 mgr->SetInputEventHandler(inputHandler);\r
56 \r
57 // Output \r
58 AliAODHandler *aodHandler = new AliAODHandler();\r
59 aodHandler->SetOutputFileName("AliAOD.VertexingHF.root");\r
60 aodHandler->SetCreateNonStandardAOD();\r
61 mgr->SetOutputEventHandler(aodHandler);\r
62 \r
63 // Vertexing analysis task \r
64 AliAnalysisTaskSEVertexingHF *hfTask = new AliAnalysisTaskSEVertexingHF("VertexingHFAnalysis");\r
65 hfTask->SetDebugLevel(2);\r
66 \r
67 mgr->AddTask(hfTask);\r
68 \r
69 //\r
70 // Create containers for input/output\r
71 AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain",TChain::Class(), \r
72 AliAnalysisManager::kInputContainer);\r
73 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("tree", TTree::Class(),\r
74 AliAnalysisManager::kOutputContainer, \r
75 "default");\r
76 mgr->ConnectInput(hfTask,0,cinput1);\r
77 mgr->ConnectOutput(hfTask,0,coutput1);\r
78\r
79 //\r
80 // Run the analysis\r
81 // \r
82 printf("CHAIN HAS %d ENTRIES\n",(Int_t)chain->GetEntries());\r
83 if(mgr->InitAnalysis()) {\r
84 mgr->PrintStatus();\r
85 mgr->StartAnalysis("local",chain);\r
86 //mgr->StartAnalysis("grid",chain);\r
87 }\r
88\r
89 return;\r
90}\r