From e6d12457a12c72f72bb618d823b356d79584f6c4 Mon Sep 17 00:00:00 2001 From: prsnko Date: Mon, 10 Dec 2012 16:34:25 +0000 Subject: [PATCH] Add PHOSTender for AOD --- PWGGA/CMakelibPWGGAPHOSTasks.pkg | 2 + .../PHOSTasks/PHOS_PbPb/AliPHOSTenderTask.cxx | 78 +++++++++++++++++++ PWGGA/PHOSTasks/PHOS_PbPb/AliPHOSTenderTask.h | 34 ++++++++ PWGGA/PWGGAPHOSTasksLinkDef.h | 2 + 4 files changed, 116 insertions(+) create mode 100644 PWGGA/PHOSTasks/PHOS_PbPb/AliPHOSTenderTask.cxx create mode 100644 PWGGA/PHOSTasks/PHOS_PbPb/AliPHOSTenderTask.h diff --git a/PWGGA/CMakelibPWGGAPHOSTasks.pkg b/PWGGA/CMakelibPWGGAPHOSTasks.pkg index 271c24f066e..e7a78304b7f 100644 --- a/PWGGA/CMakelibPWGGAPHOSTasks.pkg +++ b/PWGGA/CMakelibPWGGAPHOSTasks.pkg @@ -29,8 +29,10 @@ set ( SRCS PHOSTasks/PHOS_pp_pi0/AliCaloPhoton.cxx PHOSTasks/PHOS_pp_pi0/AliAnalysisTaskPi0.cxx + PHOSTasks/PHOS_PbPb/AliPHOSEPFlattener.cxx PHOSTasks/PHOS_PbPb/AliAnalysisTaskPi0Flow.cxx PHOSTasks/PHOS_PbPb/AliPHOSEPFlattener.cxx + PHOSTasks/PHOS_PbPb/AliPHOSTenderTask.cxx PHOSTasks/PHOS_embedding/AliPHOSEmbedding.cxx PHOSTasks/PHOS_embedding/AliAnalysisTaskPi0Efficiency.cxx PHOSTasks/PHOS_embedding/AliAnalysisTaskPi0DiffEfficiency.cxx diff --git a/PWGGA/PHOSTasks/PHOS_PbPb/AliPHOSTenderTask.cxx b/PWGGA/PHOSTasks/PHOS_PbPb/AliPHOSTenderTask.cxx new file mode 100644 index 00000000000..cc3d51414a9 --- /dev/null +++ b/PWGGA/PHOSTasks/PHOS_PbPb/AliPHOSTenderTask.cxx @@ -0,0 +1,78 @@ +// Task to hold TenderSupply in case of running on AOD. +// +// Author: D.Peressounko after EMCAL Tender task + +#include +#include + +#include "AliAnalysisManager.h" +#include "TenderSupplies/AliPHOSTenderSupply.h" +#include "AliAODEvent.h" + +#include "AliPHOSTenderTask.h" + +ClassImp(AliPHOSTenderTask) + +//______________________________________________________________________________ +AliPHOSTenderTask::AliPHOSTenderTask(): + AliAnalysisTaskSE(), + fPHOSTender(NULL) +{ + // Default constructor. +} + +//______________________________________________________________________________ +AliPHOSTenderTask::AliPHOSTenderTask(const char* name): + AliAnalysisTaskSE(name), + fPHOSTender(NULL) +{ + // Constructor. + DefineOutput(1, AliAODEvent::Class()); +} + +//______________________________________________________________________________ +AliPHOSTenderTask::~AliPHOSTenderTask() +{ + // Destructor + + if (fPHOSTender) + fPHOSTender->Delete(); +} + +//______________________________________________________________________________ +void AliPHOSTenderTask::SetPHOSTenderSupply(AliPHOSTenderSupply *supply) +{ + // Set tender supply. + + fPHOSTender = supply; + supply->SetTask(this); +} + +//______________________________________________________________________________ +void AliPHOSTenderTask::ConnectInputData(Option_t *option) +{ + // Connect input data. + + AliAnalysisTaskSE::ConnectInputData(option); + fPHOSTender->Init(); +} + +//______________________________________________________________________________ +void AliPHOSTenderTask::UserCreateOutputObjects() +{ + // Nothing to be done. +} + +//______________________________________________________________________________ +void AliPHOSTenderTask::UserExec(Option_t*) +{ + // Process the event. + + fPHOSTender->ProcessEvent(); +} +//______________________________________________________________________________ +void AliPHOSTenderTask::NotifyRun(){ + //Change of the run number + + fPHOSTender->InitTender(); +} diff --git a/PWGGA/PHOSTasks/PHOS_PbPb/AliPHOSTenderTask.h b/PWGGA/PHOSTasks/PHOS_PbPb/AliPHOSTenderTask.h new file mode 100644 index 00000000000..16ecf30d20f --- /dev/null +++ b/PWGGA/PHOSTasks/PHOS_PbPb/AliPHOSTenderTask.h @@ -0,0 +1,34 @@ +#ifndef ALIPHOSTENDERTASK_H +#define ALIPHOSTENDERTASK_H + + +#ifndef ALIANALYSISTASKSE_H +#include "AliAnalysisTaskSE.h" +#endif + +class AliPHOSTenderSupply; + +class AliPHOSTenderTask : public AliAnalysisTaskSE { + +protected: + AliPHOSTenderSupply *fPHOSTender; + +private: + AliPHOSTenderTask(const AliPHOSTenderTask &other); + AliPHOSTenderTask& operator=(const AliPHOSTenderTask &other); + +public: + AliPHOSTenderTask(); + AliPHOSTenderTask(const char *name); + virtual ~AliPHOSTenderTask(); + + void SetPHOSTenderSupply(AliPHOSTenderSupply *supply); + + virtual void ConnectInputData(Option_t *option); + virtual void UserCreateOutputObjects(); + virtual void UserExec(Option_t*); + virtual void NotifyRun(); + + ClassDef(AliPHOSTenderTask,1) // Wrapper class to hold tender supply for AOD usage +}; +#endif diff --git a/PWGGA/PWGGAPHOSTasksLinkDef.h b/PWGGA/PWGGAPHOSTasksLinkDef.h index c0cf5205473..cd61769d308 100644 --- a/PWGGA/PWGGAPHOSTasksLinkDef.h +++ b/PWGGA/PWGGAPHOSTasksLinkDef.h @@ -9,8 +9,10 @@ #pragma link C++ class AliAnalysisTaskPi0+; //PHOS_PbPb +#pragma link C++ class AliPHOSEPFlattener+; #pragma link C++ class AliAnalysisTaskPi0Flow+; #pragma link C++ class AliPHOSEPFlattener+; +#pragma link C++ class AliPHOSTenderTask+; // PHOS_embedding #pragma link C++ class AliPHOSEmbedding+; -- 2.43.0