From faa02a100d02d8d1c4e77ac494bc417773e8a686 Mon Sep 17 00:00:00 2001 From: coppedis Date: Fri, 31 May 2013 10:41:19 +0000 Subject: [PATCH] updating task --- .../FORWARD/GEO/AliAnalysisTaskZDCTreeMaker.h | 4 +- PWGLF/FORWARD/macros/AddTaskZDCTree.C | 57 +++++++++++++++++++ 2 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 PWGLF/FORWARD/macros/AddTaskZDCTree.C diff --git a/PWGLF/FORWARD/GEO/AliAnalysisTaskZDCTreeMaker.h b/PWGLF/FORWARD/GEO/AliAnalysisTaskZDCTreeMaker.h index 54305bbffef..54af9facbd7 100644 --- a/PWGLF/FORWARD/GEO/AliAnalysisTaskZDCTreeMaker.h +++ b/PWGLF/FORWARD/GEO/AliAnalysisTaskZDCTreeMaker.h @@ -31,9 +31,9 @@ class AliAnalysisTaskZDCTreeMaker : public AliAnalysisTaskSE { virtual void Terminate(Option_t *); virtual void SetDebugLevel(Int_t level) {fDebug = level;} - void SetInput(const char* input) {fAnalysisInput = input;} + void SetInput(int input) {fAnalysisInput = input;} void SetMCInput() {fIsMCInput = kTRUE;} - void SetUseSpecialOutput(Bool_t v=kTRUE) {fUseSpecialOutput = v;} + void SetUseSpecialOutput(Bool_t v=kTRUE) {fUseSpecialOutput = v;} private: diff --git a/PWGLF/FORWARD/macros/AddTaskZDCTree.C b/PWGLF/FORWARD/macros/AddTaskZDCTree.C new file mode 100644 index 00000000000..8cf447a3ee3 --- /dev/null +++ b/PWGLF/FORWARD/macros/AddTaskZDCTree.C @@ -0,0 +1,57 @@ +AliAnalysisTaskSE* AddTaskZDCTree(Bool_t applyPS = kTRUE, + TString outfname = "ZDCpPb", + Bool_t isMC = kFALSE) +{ + + // Get the pointer to the existing analysis manager via the static access method. + //============================================================================== + AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); + if(!mgr){ + ::Error("AddTaskZDCPbPb", "No analysis manager to connect to."); + return NULL; + } + + AliVEventHandler *inputHandler = mgr->GetInputEventHandler(); + + // Check the analysis type using the event handlers connected to the analysis manager. + //============================================================================== + if(!inputHandler){ + ::Error("AddTaskZDCPbPb", "This task requires an input event handler"); + return NULL; + } + TString inputDataType = inputHandler->GetDataType(); // can be "ESD" or "AOD" + + // Configure analysis + //=========================================================================== + AliAnalysisTaskZDCTreeMaker* task = new AliAnalysisTaskZDCTreeMaker("taskZDC"); + + if(inputDataType.CompareTo("ESD")==0){ + task->SetInput(1); + //printf(" AliAnalysisTaskZDCTreeMaker initialized for ESD analysis\n"); + // + // apply physics selection + if(applyPS) task->SelectCollisionCandidates(); + } + else if(inputDataType.CompareTo("AOD")==0){ + task->SetInput(2); + //printf(" AliAnalysisTaskZDCTreeMaker initialized for AOD analysis\n"); + } + + if(isMC==kTRUE) task->SetMCInput(); + + mgr->AddTask(task); + + TString outputFileName = AliAnalysisManager::GetCommonFileName(); + + AliAnalysisDataContainer *coutput = mgr->CreateContainer(outfname.Data(), + TList::Class(), + AliAnalysisManager::kOutputContainer, + Form("%s:ZDCHistos", mgr->GetCommonFileName())); + + mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer()); + mgr->ConnectOutput (task, 1, coutput); + + return task; +} + + -- 2.39.3