1 void AliAnalysisTaskSECompareHFTest()
\r
4 // Test macro for the AliAnalysisTaskSE for heavy-flavour candidates
\r
5 // association with MC truth (using MC info in AOD)
\r
6 // A.Dainese, andrea.dainese@lnl.infn.it
\r
8 TString mode="local"; // otherwise, "grid"
\r
10 Bool_t useParFiles=kFALSE;
\r
12 gROOT->LoadMacro("$ALICE_ROOT/PWG3/vertexingHF/LoadLibraries.C");
\r
13 LoadLibraries(useParFiles);
\r
15 TChain *chainAOD = 0;
\r
16 TChain *chainAODfriend = 0;
\r
18 chainAOD = new TChain("aodTree");
\r
19 chainAODfriend = new TChain("aodTree");
\r
23 chainAOD->Add("./AliAOD.root");
\r
24 chainAODfriend->Add("./AliAOD.VertexingHF.root");
\r
25 // ... add more if needed
\r
26 } else { // grid (NOT TESTED YET)
\r
27 //Fetch files with AliEn
\r
28 // xml: need to check the 1-to-1 correspondence
\r
29 const char *collectionfileAOD = "CollectionAOD.xml";
\r
30 const char *collectionfileAODfriend = "CollectionAODfriend.xml";
\r
31 TGrid::Connect("alien://");
\r
32 //Create an AliTagAnalysis Object and chain the tags
\r
33 AliTagAnalysis *tagAna = new AliTagAnalysis();
\r
34 chainAOD = tagAna->GetChainFromCollection(collectionfileAOD,"aodTree");
\r
35 chainAODfriend = tagAna->GetChainFromCollection(collectionfileAODfriend,"aodTree");
\r
38 // attach the friend chain
\r
39 chainAOD->AddFriend(chainAODfriend);
\r
41 // Create the analysis manager
\r
42 AliAnalysisManager *mgr = new AliAnalysisManager("My Manager","My Manager");
\r
43 mgr->SetDebugLevel(10);
\r
47 AliAODInputHandler *inputHandler = new AliAODInputHandler();
\r
48 //inputHandler->AddFriend("AliAOD.VertexingHF.root");//should not be needed
\r
49 mgr->SetInputEventHandler(inputHandler);
\r
53 AliAnalysisTaskSECompareHF *hfTask = new AliAnalysisTaskSECompareHF("CompareHFAnalysis");
\r
54 hfTask->SetDebugLevel(2);
\r
55 mgr->AddTask(hfTask);
\r
58 // Create containers for input/output
\r
59 AliAnalysisDataContainer *cinput = mgr->CreateContainer("cinput",TChain::Class(),
\r
60 AliAnalysisManager::kInputContainer);
\r
61 AliAnalysisDataContainer *coutput = mgr->CreateContainer("coutput",TList::Class(),
\r
62 AliAnalysisManager::kOutputContainer,
\r
64 mgr->ConnectInput(hfTask,0,cinput);
\r
65 mgr->ConnectOutput(hfTask,1,coutput);
\r
70 printf("CHAIN HAS %d ENTRIES\n",(Int_t)chainAOD->GetEntries());
\r
71 if(mgr->InitAnalysis()) {
\r
73 mgr->StartAnalysis(mode.Data(),chainAOD);
\r