1 //===========================================================================================
3 // Analysis Train driving an AliAnalysisTaskCreateMixedDimuons multiple-event task
4 // creating mixed muon pairs
6 // Authors Alessandro De Falco and Antonio Uras, INFN Cagliari
7 // alessandro.de.falco@ca.infn.it antonio.uras@ca.infn.it
9 //===========================================================================================
11 void AnalysisTrainCreateMixedDimuons(Char_t *nameTagDir = ".",
12 Char_t *nameOutFileAOD = "AliAODsMixedEvents.root",
13 Int_t bufferSize = 2) {
15 gSystem->Load("libANALYSIS.so");
16 gSystem->Load("libANALYSISalice.so");
17 gSystem->Load("libCORRFW.so");
18 gSystem->Load("libPWG3muon.so");
20 AliMultiEventInputHandler *inputHandler = new AliMultiEventInputHandler(bufferSize);
22 // setting pools definition...
24 AliEventPoolMuon *pool = new AliEventPoolMuon("eventPool", "AOD");
25 pool->SetTagDirectory(nameTagDir);
26 pool->SetMultiplicityRange(1, 100, 100); // min, max, step
27 pool->SetNFWMuonRange(1, 10, 10); // min, max, step
28 pool->SetPrimaryVertexZRange(-100., -90., 1.); // min, max, step
33 AliAnalysisManager *mgr = new AliAnalysisManager("MixingAnalysisTest");
34 mgr -> SetInputEventHandler(inputHandler);
35 mgr -> SetEventPool(pool);
37 inputHandler->SetEventPool(pool);
39 AliAnalysisTaskCreateMixedDimuons *mixTask = new AliAnalysisTaskCreateMixedDimuons("AliAnalysisTaskCreateMixedDimuons");
40 mixTask -> SetDebugLevel(10);
41 mgr -> AddTask(mixTask);
43 AliAnalysisDataContainer *cInputChain = mgr->GetCommonInputContainer();
45 AliAnalysisDataContainer *cOutputUserAODTree = mgr->CreateContainer("cOutputUserAODTree", TTree::Class(),
46 AliAnalysisManager::kOutputContainer,
49 mgr -> ConnectInput (mixTask, 0, cInputChain);
50 mgr -> ConnectOutput(mixTask, 1, cOutputUserAODTree);
52 mgr -> SetDebugLevel(10);
54 if (!mgr->InitAnalysis()) return;
56 mgr->StartAnalysis("mix");
60 //===========================================================================================