3 AliAnalysisTaskSOH* AddTaskSOH()
5 // Get the pointer to the existing analysis manager via the static access method.
6 //==============================================================================
7 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
10 ::Error("AddTaskSOH", "No analysis manager to connect to.");
14 // Check the analysis type using the event handlers connected to the analysis manager.
15 //==============================================================================
16 if (!mgr->GetInputEventHandler())
18 ::Error("AddTaskSOH", "This task requires an input event handler");
22 //-------------------------------------------------------
23 // Init the task and do settings
24 //-------------------------------------------------------
26 AliAnalysisTaskSOH *taskSOH = new AliAnalysisTaskSOH("AliAnalysisTaskSOH");
28 AliESDtrackCuts *esdTrackCuts = 0x0;
29 AliESDtrackCuts *hybridTrackCuts1 = 0x0;
30 AliESDtrackCuts *hybridTrackCuts2 = 0x0;
31 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/macros/CreateTrackCutsPWGJE.C");
33 esdTrackCuts = CreateTrackCutsPWGJE(10001006);
34 hybridTrackCuts1 = CreateTrackCutsPWGJE(1006);
35 hybridTrackCuts2 = CreateTrackCutsPWGJE(10041006);
37 taskSOH->SetEsdTrackCuts(esdTrackCuts);
38 taskSOH->SetHybridTrackCuts1(hybridTrackCuts1);
39 taskSOH->SetHybridTrackCuts2(hybridTrackCuts2);
41 taskSOH->SetMcProcess(kTRUE);
42 taskSOH->SetTrackProcess(kTRUE);
43 taskSOH->SetSFProcess(kFALSE);
44 taskSOH->SetClusterProcess(kFALSE);
48 mgr->AddTask(taskSOH);
51 AliESDInputHandler* esdH = new AliESDInputHandler();
52 mgr->SetInputEventHandler(esdH);
55 AliMCEventHandler* mcEvtHdl = new AliMCEventHandler();
56 mcEvtHdl->SetReadTR(kTRUE);
57 mgr->SetMCtruthEventHandler(mcEvtHdl);
59 // Create containers for input/output
60 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
61 AliAnalysisDataContainer *coutputpt = mgr->CreateContainer("soh",
63 AliAnalysisManager::kOutputContainer,
64 "AnalysisResults.root");
66 // Connect input/output
67 mgr->ConnectInput(taskSOH, 0, cinput);
68 mgr->ConnectOutput(taskSOH, 1, coutputpt);