]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/AliAnalysisTaskSEVertexingHFTest.C
Some fixes and cleanup (Andrea)
[u/mrichter/AliRoot.git] / PWG3 / AliAnalysisTaskSEVertexingHFTest.C
1 void 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