]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/vertexingHF/AliAnalysisTaskSESelectHFTest.C
New structure of PWG3: PWG3base, PWG3muon, PWG3vertexingHF and PWG3vertexingOld ...
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliAnalysisTaskSESelectHFTest.C
CommitLineData
0de9de87 1void AliAnalysisTaskSESelectHFTest()\r
2{\r
3 //\r
4 // Test macro for the AliAnalysisTaskSE for heavy-flavour selection\r
5 // and creation of a stand-alone AOD\r
6 // A.Dainese, andrea.dainese@lnl.infn.it\r
7 //\r
8\r
9 gSystem->Load("libTree.so");\r
10 gSystem->Load("libGeom.so");\r
11 gSystem->Load("libPhysics.so");\r
12 gSystem->Load("libVMC.so");\r
13 gSystem->Load("libSTEERBase.so");\r
14 gSystem->Load("libESD.so");\r
15 gSystem->Load("libAOD.so"); \r
16 gSystem->Load("libANALYSIS.so");\r
17 gSystem->Load("libANALYSISalice.so");\r
18 gSystem->Load("libPWG3base.so");\r
19\r
20\r
21 // Local files \r
22 TChain *chain = new TChain("aodTree");\r
23 chain->Add("./AliAOD.root");\r
24\r
25 // or:\r
26 /*\r
27 //Fetch files with AliEn :\r
28 const char *collectionfile = "CollectionTags.xml";\r
29 TGrid::Connect("alien://") ;\r
30 //Create an AliRunTagCuts and an AliEventTagCuts Object and impose some selection criteria\r
31 AliRunTagCuts *runCuts = new AliRunTagCuts();\r
32 AliEventTagCuts *eventCuts = new AliEventTagCuts();\r
33 AliLHCTagCuts *lhcCuts = new AliLHCTagCuts();\r
34 AliDetectorTagCuts *detCuts = new AliDetectorTagCuts();\r
35 eventCuts->SetMultiplicityRange(0,20000);\r
36 //Create an AliTagAnalysis Object and chain the tags\r
37 AliTagAnalysis *tagAna = new AliTagAnalysis();\r
38 tagAna->SetType("AOD");\r
39 TAlienCollection *coll = TAlienCollection::Open(collectionfile);\r
40 TGridResult *tagResult = coll->GetGridResult("",0,0);\r
41 tagResult->Print();\r
42 tagAna->ChainGridTags(tagResult);\r
43 //Create a new aod chain and assign the chain that is returned by querying the tags\r
44 TChain* chain = tagAna->QueryTags(runCuts,lhcCuts,detCuts,eventCuts);\r
45 */\r
46\r
47\r
48 // Create the analysis manager\r
49 AliAnalysisManager *mgr = new AliAnalysisManager("My Manager","My Manager");\r
50 mgr->SetDebugLevel(10);\r
51 \r
52\r
53 // Input\r
54 AliAODInputHandler *inputHandler = new AliAODInputHandler();\r
55 inputHandler->AddFriend("AliAOD.VertexingHF.root");\r
56 mgr->SetInputEventHandler(inputHandler);\r
57\r
58 // Output \r
59 AliAODHandler *aodHandler = new AliAODHandler();\r
60 aodHandler->SetOutputFileName("AliAOD.VertexingHF.sa.root");\r
61 aodHandler->SetCreateNonStandardAOD();\r
62 mgr->SetOutputEventHandler(aodHandler);\r
63\r
64 \r
65 // Aanalysis task \r
66 AliAnalysisTaskSESelectHF *hfTask = new AliAnalysisTaskSESelectHF("SelectHFAnalysis");\r
67 hfTask->SetDebugLevel(2);\r
68 Double_t cutsD0[9]=\r
69 // cutsD0[0] = inv. mass half width [GeV]\r
70 // cutsD0[1] = dca [cm]\r
71 // cutsD0[2] = cosThetaStar\r
72 // cutsD0[3] = pTK [GeV/c]\r
73 // cutsD0[4] = pTPi [GeV/c]\r
74 // cutsD0[5] = d0K [cm] upper limit!\r
75 // cutsD0[6] = d0Pi [cm] upper limit!\r
76 // cutsD0[7] = d0d0 [cm^2]\r
77 // cutsD0[8] = cosThetaPoint\r
78 {1,\r
79 100000.,\r
80 1.1,\r
81 0.,\r
82 0.,\r
83 100000.,\r
84 100000.,\r
85 100000000.,\r
0bd2832b 86 -0.9}; \r
0de9de87 87 hfTask->SetD0toKpiCuts(cutsD0);\r
88 \r
89 mgr->AddTask(hfTask);\r
90 \r
91 //\r
92 // Create containers for input/output\r
93 AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain",TChain::Class(), \r
94 AliAnalysisManager::kInputContainer);\r
95 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("tree", TTree::Class(),\r
96 AliAnalysisManager::kOutputContainer, \r
97 "default");\r
98 mgr->ConnectInput(hfTask,0,cinput1);\r
99 mgr->ConnectOutput(hfTask,0,coutput1);\r
100\r
101 //\r
102 // Run the analysis\r
103 // \r
104 printf("CHAIN HAS %d ENTRIES\n",(Int_t)chain->GetEntries());\r
105 if(mgr->InitAnalysis()) {\r
106 mgr->PrintStatus();\r
107 mgr->StartAnalysis("local",chain);\r
108 //mgr->StartAnalysis("grid",chain);\r
109 }\r
110\r
111 return;\r
112}\r