]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskSOH.C
updates salvatore
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskSOH.C
CommitLineData
f628a7df 1// $Id$
2
83888eef 3AliAnalysisTaskSOH* AddTaskSOH(const char *name, Bool_t ScaleFactorP=kFALSE, Bool_t ClusterP=kFALSE, Double_t Zvtx=10)
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
83888eef 26 AliAnalysisTaskSOH *taskSOH = new AliAnalysisTaskSOH(Form("QA_soh_%s",name));
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);
43 taskSOH->SetSFProcess(ScaleFactorP);
44 taskSOH->SetClusterProcess(ClusterP);
45 taskSOH->SetZvtx(Zvtx);
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();
83888eef 61 AliAnalysisDataContainer *coutputpt = mgr->CreateContainer(name, TList::Class(), AliAnalysisManager::kOutputContainer, "AnalysisResults_soh.root");
f628a7df 62
63 // Connect input/output
64 mgr->ConnectInput(taskSOH, 0, cinput);
65 mgr->ConnectOutput(taskSOH, 1, coutputpt);
66
67 return taskSOH;
68}