void AliAnalysisTaskSEVertexingHFTest()
{
//
// Test macro for the AliAnalysisTaskSE for heavy-flavour vertexing
// A.Dainese, andrea.dainese@lnl.infn.it
//
Bool_t inputAOD=kFALSE; // otherwise, ESD
Bool_t createAOD=kTRUE; // kTRUE: create AOD and use it as input to vertexing
// kFALSE: use ESD as input to vertexing
Bool_t writeKineToAOD = kFALSE;
TString mode="local"; // otherwise, "grid"
Bool_t useParFiles=kFALSE;
Bool_t doCentrality=kTRUE;
gROOT->LoadMacro("$ALICE_ROOT/PWGHF/vertexingHF/macros/LoadLibraries.C");
LoadLibraries(useParFiles);
gSystem->Load("libPWGmuon");
TChain *chain = 0;
if(mode=="local") {
// Local files
TString treeName,fileName;
if(inputAOD) {
treeName="aodTree";
fileName="AliAOD.root";
} else {
treeName="esdTree";
fileName="AliESDs.root";
}
chain = new TChain(treeName.Data());
chain->Add(fileName.Data());
} else if (mode=="grid") {
//Fetch files with AliEn :
const char *collectionfile = "Collection.xml";
TGrid::Connect("alien://") ;
TAlienCollection *coll = TAlienCollection::Open(collectionfile);
if(inputAOD) { // input AOD
chain = new TChain("aodTree");
while(coll->Next()) chain->Add(coll->GetTURL(""));
} else { // input ESD
//Create an AliRunTagCuts and an AliEventTagCuts Object and impose some selection criteria
AliRunTagCuts *runCuts = new AliRunTagCuts();
AliEventTagCuts *eventCuts = new AliEventTagCuts();
AliLHCTagCuts *lhcCuts = new AliLHCTagCuts();
AliDetectorTagCuts *detCuts = new AliDetectorTagCuts();
eventCuts->SetMultiplicityRange(0,20000);
//Create an AliTagAnalysis Object and chain the tags
AliTagAnalysis *tagAna = new AliTagAnalysis();
tagAna->SetType("ESD");
TGridResult *tagResult = coll->GetGridResult("",0,0);
tagResult->Print();
tagAna->ChainGridTags(tagResult);
//Create a new esd chain and assign the chain that is returned by querying the tags
chain = tagAna->QueryTags(runCuts,lhcCuts,detCuts,eventCuts);
}
} else {
printf("ERROR: mode has to be \"local\" or \"grid\" \n");
return;
}
// Create the analysis manager
AliAnalysisManager *mgr = new AliAnalysisManager("My Manager","My Manager");
mgr->SetDebugLevel(10);
// Input Handler
AliInputEventHandler *inputHandler = 0;
if(inputAOD) {
inputHandler = new AliAODInputHandler();
} else {
inputHandler = new AliESDInputHandler();
}
mgr->SetInputEventHandler(inputHandler);
// Output
AliAODHandler *aodHandler = new AliAODHandler();
const char* deltaAODfname="AliAOD.VertexingHF.root";
if(createAOD) {
aodHandler->SetOutputFileName("AliAOD.root");
} else {
aodHandler->SetOutputFileName(deltaAODfname);
aodHandler->SetAODExtensionMode();
}
mgr->SetOutputEventHandler(aodHandler);
mgr->RegisterExtraFile(deltaAODfname);
if(!inputAOD && createAOD) {
// MC Truth
AliMCEventHandler* mcHandler = new AliMCEventHandler();
if(writeKineToAOD) mgr->SetMCtruthEventHandler(mcHandler);
AliAnalysisTaskMCParticleFilter *kinefilter = new AliAnalysisTaskMCParticleFilter("Particle Filter");
if(writeKineToAOD) mgr->AddTask(kinefilter);
// Centrality
if(doCentrality){
gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
AliCentralitySelectionTask *taskCentrality = AddTaskCentrality();
}
gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskESDFilter.C");
AliAnalysisTaskESDfilter *filter = AddTaskESDFilter(writeKineToAOD);
}
// Vertexing analysis task
gROOT->LoadMacro("$ALICE_ROOT/PWGHF/vertexingHF/macros/AddTaskVertexingHF.C");
AliAnalysisTaskSEVertexingHF *hfTask = AddTaskVertexingHF(deltaAODfname);
//
// Run the analysis
//
printf("CHAIN HAS %d ENTRIES\n",(Int_t)chain->GetEntries());
if(!mgr->InitAnalysis()) return;
mgr->PrintStatus();
TStopwatch watch;
watch.Start();
mgr->StartAnalysis(mode.Data(),chain);
watch.Stop();
watch.Print();
return;
}
AliAnalysisTaskSEVertexingHFTest.C:1 AliAnalysisTaskSEVertexingHFTest.C:2 AliAnalysisTaskSEVertexingHFTest.C:3 AliAnalysisTaskSEVertexingHFTest.C:4 AliAnalysisTaskSEVertexingHFTest.C:5 AliAnalysisTaskSEVertexingHFTest.C:6 AliAnalysisTaskSEVertexingHFTest.C:7 AliAnalysisTaskSEVertexingHFTest.C:8 AliAnalysisTaskSEVertexingHFTest.C:9 AliAnalysisTaskSEVertexingHFTest.C:10 AliAnalysisTaskSEVertexingHFTest.C:11 AliAnalysisTaskSEVertexingHFTest.C:12 AliAnalysisTaskSEVertexingHFTest.C:13 AliAnalysisTaskSEVertexingHFTest.C:14 AliAnalysisTaskSEVertexingHFTest.C:15 AliAnalysisTaskSEVertexingHFTest.C:16 AliAnalysisTaskSEVertexingHFTest.C:17 AliAnalysisTaskSEVertexingHFTest.C:18 AliAnalysisTaskSEVertexingHFTest.C:19 AliAnalysisTaskSEVertexingHFTest.C:20 AliAnalysisTaskSEVertexingHFTest.C:21 AliAnalysisTaskSEVertexingHFTest.C:22 AliAnalysisTaskSEVertexingHFTest.C:23 AliAnalysisTaskSEVertexingHFTest.C:24 AliAnalysisTaskSEVertexingHFTest.C:25 AliAnalysisTaskSEVertexingHFTest.C:26 AliAnalysisTaskSEVertexingHFTest.C:27 AliAnalysisTaskSEVertexingHFTest.C:28 AliAnalysisTaskSEVertexingHFTest.C:29 AliAnalysisTaskSEVertexingHFTest.C:30 AliAnalysisTaskSEVertexingHFTest.C:31 AliAnalysisTaskSEVertexingHFTest.C:32 AliAnalysisTaskSEVertexingHFTest.C:33 AliAnalysisTaskSEVertexingHFTest.C:34 AliAnalysisTaskSEVertexingHFTest.C:35 AliAnalysisTaskSEVertexingHFTest.C:36 AliAnalysisTaskSEVertexingHFTest.C:37 AliAnalysisTaskSEVertexingHFTest.C:38 AliAnalysisTaskSEVertexingHFTest.C:39 AliAnalysisTaskSEVertexingHFTest.C:40 AliAnalysisTaskSEVertexingHFTest.C:41 AliAnalysisTaskSEVertexingHFTest.C:42 AliAnalysisTaskSEVertexingHFTest.C:43 AliAnalysisTaskSEVertexingHFTest.C:44 AliAnalysisTaskSEVertexingHFTest.C:45 AliAnalysisTaskSEVertexingHFTest.C:46 AliAnalysisTaskSEVertexingHFTest.C:47 AliAnalysisTaskSEVertexingHFTest.C:48 AliAnalysisTaskSEVertexingHFTest.C:49 AliAnalysisTaskSEVertexingHFTest.C:50 AliAnalysisTaskSEVertexingHFTest.C:51 AliAnalysisTaskSEVertexingHFTest.C:52 AliAnalysisTaskSEVertexingHFTest.C:53 AliAnalysisTaskSEVertexingHFTest.C:54 AliAnalysisTaskSEVertexingHFTest.C:55 AliAnalysisTaskSEVertexingHFTest.C:56 AliAnalysisTaskSEVertexingHFTest.C:57 AliAnalysisTaskSEVertexingHFTest.C:58 AliAnalysisTaskSEVertexingHFTest.C:59 AliAnalysisTaskSEVertexingHFTest.C:60 AliAnalysisTaskSEVertexingHFTest.C:61 AliAnalysisTaskSEVertexingHFTest.C:62 AliAnalysisTaskSEVertexingHFTest.C:63 AliAnalysisTaskSEVertexingHFTest.C:64 AliAnalysisTaskSEVertexingHFTest.C:65 AliAnalysisTaskSEVertexingHFTest.C:66 AliAnalysisTaskSEVertexingHFTest.C:67 AliAnalysisTaskSEVertexingHFTest.C:68 AliAnalysisTaskSEVertexingHFTest.C:69 AliAnalysisTaskSEVertexingHFTest.C:70 AliAnalysisTaskSEVertexingHFTest.C:71 AliAnalysisTaskSEVertexingHFTest.C:72 AliAnalysisTaskSEVertexingHFTest.C:73 AliAnalysisTaskSEVertexingHFTest.C:74 AliAnalysisTaskSEVertexingHFTest.C:75 AliAnalysisTaskSEVertexingHFTest.C:76 AliAnalysisTaskSEVertexingHFTest.C:77 AliAnalysisTaskSEVertexingHFTest.C:78 AliAnalysisTaskSEVertexingHFTest.C:79 AliAnalysisTaskSEVertexingHFTest.C:80 AliAnalysisTaskSEVertexingHFTest.C:81 AliAnalysisTaskSEVertexingHFTest.C:82 AliAnalysisTaskSEVertexingHFTest.C:83 AliAnalysisTaskSEVertexingHFTest.C:84 AliAnalysisTaskSEVertexingHFTest.C:85 AliAnalysisTaskSEVertexingHFTest.C:86 AliAnalysisTaskSEVertexingHFTest.C:87 AliAnalysisTaskSEVertexingHFTest.C:88 AliAnalysisTaskSEVertexingHFTest.C:89 AliAnalysisTaskSEVertexingHFTest.C:90 AliAnalysisTaskSEVertexingHFTest.C:91 AliAnalysisTaskSEVertexingHFTest.C:92 AliAnalysisTaskSEVertexingHFTest.C:93 AliAnalysisTaskSEVertexingHFTest.C:94 AliAnalysisTaskSEVertexingHFTest.C:95 AliAnalysisTaskSEVertexingHFTest.C:96 AliAnalysisTaskSEVertexingHFTest.C:97 AliAnalysisTaskSEVertexingHFTest.C:98 AliAnalysisTaskSEVertexingHFTest.C:99 AliAnalysisTaskSEVertexingHFTest.C:100 AliAnalysisTaskSEVertexingHFTest.C:101 AliAnalysisTaskSEVertexingHFTest.C:102 AliAnalysisTaskSEVertexingHFTest.C:103 AliAnalysisTaskSEVertexingHFTest.C:104 AliAnalysisTaskSEVertexingHFTest.C:105 AliAnalysisTaskSEVertexingHFTest.C:106 AliAnalysisTaskSEVertexingHFTest.C:107 AliAnalysisTaskSEVertexingHFTest.C:108 AliAnalysisTaskSEVertexingHFTest.C:109 AliAnalysisTaskSEVertexingHFTest.C:110 AliAnalysisTaskSEVertexingHFTest.C:111 AliAnalysisTaskSEVertexingHFTest.C:112 AliAnalysisTaskSEVertexingHFTest.C:113 AliAnalysisTaskSEVertexingHFTest.C:114 AliAnalysisTaskSEVertexingHFTest.C:115 AliAnalysisTaskSEVertexingHFTest.C:116 AliAnalysisTaskSEVertexingHFTest.C:117 AliAnalysisTaskSEVertexingHFTest.C:118 AliAnalysisTaskSEVertexingHFTest.C:119 AliAnalysisTaskSEVertexingHFTest.C:120 AliAnalysisTaskSEVertexingHFTest.C:121 AliAnalysisTaskSEVertexingHFTest.C:122 AliAnalysisTaskSEVertexingHFTest.C:123 AliAnalysisTaskSEVertexingHFTest.C:124 AliAnalysisTaskSEVertexingHFTest.C:125 AliAnalysisTaskSEVertexingHFTest.C:126 AliAnalysisTaskSEVertexingHFTest.C:127