ROOT logo
#ifndef ALIANALYSISTASKDIELECTRONME_H
#define ALIANALYSISTASKDIELECTRONME_H
/* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

//#####################################################
//#                                                   # 
//#        Basic Analysis task for Dielectron         #
//#          single event analysis                    #
//#                                                   #
//#  by WooJin J. Park, GSI / W.J.Park@gsi.de         #
//#     Ionut C. Arsene, GSI / I.C.Arsene@gsi.de      #
//#     Magnus Mager, CERN / Magnus.Mager@cern.ch     #
//#     Jens Wiechula, Uni HD / Jens.Wiechula@cern.ch #
//#                                                   #
//#####################################################

#include "TList.h"

#include "AliAnalysisTaskME.h"

#include "AliDielectronPID.h"

class AliDielectron;
class TH1D;

class AliAnalysisTaskDielectronME : public AliAnalysisTaskME {
  
public:
  AliAnalysisTaskDielectronME();
  AliAnalysisTaskDielectronME(const char *name);
  virtual ~AliAnalysisTaskDielectronME(){  }

  virtual void UserExec(Option_t *option);
  virtual void UserCreateOutputObjects();
  virtual void FinishTaskOutput();
  //temporary
  //virtual void NotifyRun(){AliDielectronPID::SetCorrVal((Double_t)fCurrentRunNumber);}
  virtual void NotifyRun(){AliDielectronPID::SetCorrVal((Double_t)GetEvent(0)->GetRunNumber());}
  
  void UsePhysicsSelection(Bool_t phy=kTRUE) {fSelectPhysics=phy;}
  void SetTriggerMask(UInt_t mask) {fTriggerMask=mask;}
  UInt_t GetTriggerMask() const { return fTriggerMask; }
  void SetPoolDepth(Int_t depth=2){fPoolDepth=depth;}
  
  void AddDielectron(AliDielectron * const die) { fListDielectron.Add(die); }
  
private:
  
  TList fListDielectron;             // List of dielectron framework instances
  TList fListHistos;                 //! List of histogram manager lists in the framework classes
  TList fListCF;                     //! List with CF Managers

  Int_t fPoolDepth;                  // Pool depth for event mixing
  Bool_t fSelectPhysics;             // Whether to use physics selection
  UInt_t fTriggerMask;               // Event trigger mask

  TH1D *fEventStat;                  //! Histogram with event statistics
  
  AliAnalysisTaskDielectronME(const AliAnalysisTaskDielectronME &c);
  AliAnalysisTaskDielectronME& operator= (const AliAnalysisTaskDielectronME &c);
  
  ClassDef(AliAnalysisTaskDielectronME, 1); //Analysis Task handling multiple instances of AliDielectron
};
#endif
 AliAnalysisTaskDielectronME.h:1
 AliAnalysisTaskDielectronME.h:2
 AliAnalysisTaskDielectronME.h:3
 AliAnalysisTaskDielectronME.h:4
 AliAnalysisTaskDielectronME.h:5
 AliAnalysisTaskDielectronME.h:6
 AliAnalysisTaskDielectronME.h:7
 AliAnalysisTaskDielectronME.h:8
 AliAnalysisTaskDielectronME.h:9
 AliAnalysisTaskDielectronME.h:10
 AliAnalysisTaskDielectronME.h:11
 AliAnalysisTaskDielectronME.h:12
 AliAnalysisTaskDielectronME.h:13
 AliAnalysisTaskDielectronME.h:14
 AliAnalysisTaskDielectronME.h:15
 AliAnalysisTaskDielectronME.h:16
 AliAnalysisTaskDielectronME.h:17
 AliAnalysisTaskDielectronME.h:18
 AliAnalysisTaskDielectronME.h:19
 AliAnalysisTaskDielectronME.h:20
 AliAnalysisTaskDielectronME.h:21
 AliAnalysisTaskDielectronME.h:22
 AliAnalysisTaskDielectronME.h:23
 AliAnalysisTaskDielectronME.h:24
 AliAnalysisTaskDielectronME.h:25
 AliAnalysisTaskDielectronME.h:26
 AliAnalysisTaskDielectronME.h:27
 AliAnalysisTaskDielectronME.h:28
 AliAnalysisTaskDielectronME.h:29
 AliAnalysisTaskDielectronME.h:30
 AliAnalysisTaskDielectronME.h:31
 AliAnalysisTaskDielectronME.h:32
 AliAnalysisTaskDielectronME.h:33
 AliAnalysisTaskDielectronME.h:34
 AliAnalysisTaskDielectronME.h:35
 AliAnalysisTaskDielectronME.h:36
 AliAnalysisTaskDielectronME.h:37
 AliAnalysisTaskDielectronME.h:38
 AliAnalysisTaskDielectronME.h:39
 AliAnalysisTaskDielectronME.h:40
 AliAnalysisTaskDielectronME.h:41
 AliAnalysisTaskDielectronME.h:42
 AliAnalysisTaskDielectronME.h:43
 AliAnalysisTaskDielectronME.h:44
 AliAnalysisTaskDielectronME.h:45
 AliAnalysisTaskDielectronME.h:46
 AliAnalysisTaskDielectronME.h:47
 AliAnalysisTaskDielectronME.h:48
 AliAnalysisTaskDielectronME.h:49
 AliAnalysisTaskDielectronME.h:50
 AliAnalysisTaskDielectronME.h:51
 AliAnalysisTaskDielectronME.h:52
 AliAnalysisTaskDielectronME.h:53
 AliAnalysisTaskDielectronME.h:54
 AliAnalysisTaskDielectronME.h:55
 AliAnalysisTaskDielectronME.h:56
 AliAnalysisTaskDielectronME.h:57
 AliAnalysisTaskDielectronME.h:58
 AliAnalysisTaskDielectronME.h:59
 AliAnalysisTaskDielectronME.h:60
 AliAnalysisTaskDielectronME.h:61
 AliAnalysisTaskDielectronME.h:62
 AliAnalysisTaskDielectronME.h:63
 AliAnalysisTaskDielectronME.h:64
 AliAnalysisTaskDielectronME.h:65