]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskSOH.C
Protection against re-initialization of histograms if not already
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskSOH.C
CommitLineData
f628a7df 1// $Id$
2
6418e58f 3AliAnalysisTaskSOH* AddTaskSOH()
f628a7df 4{
5 // Get the pointer to the existing analysis manager via the static access method.
6 //==============================================================================
7 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
8 if (!mgr)
9 {
10 ::Error("AddTaskSOH", "No analysis manager to connect to.");
11 return NULL;
12 }
13
14 // Check the analysis type using the event handlers connected to the analysis manager.
15 //==============================================================================
16 if (!mgr->GetInputEventHandler())
17 {
18 ::Error("AddTaskSOH", "This task requires an input event handler");
19 return NULL;
20 }
21
22 //-------------------------------------------------------
23 // Init the task and do settings
24 //-------------------------------------------------------
25
6418e58f 26 AliAnalysisTaskSOH *taskSOH = new AliAnalysisTaskSOH("AliAnalysisTaskSOH");
f628a7df 27
28 AliESDtrackCuts *esdTrackCuts = 0x0;
29 AliESDtrackCuts *hybridTrackCuts1 = 0x0;
30 AliESDtrackCuts *hybridTrackCuts2 = 0x0;
31 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/macros/CreateTrackCutsPWGJE.C");
32
33 esdTrackCuts = CreateTrackCutsPWGJE(10001006);
34 hybridTrackCuts1 = CreateTrackCutsPWGJE(1006);
35 hybridTrackCuts2 = CreateTrackCutsPWGJE(10041006);
36
37 taskSOH->SetEsdTrackCuts(esdTrackCuts);
38 taskSOH->SetHybridTrackCuts1(hybridTrackCuts1);
39 taskSOH->SetHybridTrackCuts2(hybridTrackCuts2);
40
83888eef 41 taskSOH->SetMcProcess(kTRUE);
42 taskSOH->SetTrackProcess(kTRUE);
6418e58f 43 taskSOH->SetSFProcess(kFALSE);
44 taskSOH->SetClusterProcess(kFALSE);
45 taskSOH->SetZvtx(10);
83888eef 46
f628a7df 47 // Add task(s)
48 mgr->AddTask(taskSOH);
49
83888eef 50 // ESD handler
51 AliESDInputHandler* esdH = new AliESDInputHandler();
52 mgr->SetInputEventHandler(esdH);
53
54 // MC truth handler
55 AliMCEventHandler* mcEvtHdl = new AliMCEventHandler();
56 mcEvtHdl->SetReadTR(kTRUE);
57 mgr->SetMCtruthEventHandler(mcEvtHdl);
f628a7df 58
59 // Create containers for input/output
60 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
6418e58f 61 AliAnalysisDataContainer *coutputpt = mgr->CreateContainer("soh",
62 TList::Class(),
63 AliAnalysisManager::kOutputContainer,
64 "AnalysisResults.root");
f628a7df 65
66 // Connect input/output
67 mgr->ConnectInput(taskSOH, 0, cinput);
68 mgr->ConnectOutput(taskSOH, 1, coutputpt);
69
70 return taskSOH;
71}