ROOT logo
#ifndef ALIANALYSISTASKDIELECTRONEFFICIENCY_H
#define ALIANALYSISTASKDIELECTRONEFFICIENCY_H
//#####################################################
//#                                                   # 
//#  Analysis Task for Event Mixing for dielectron    #
//#                                                   #
//#     J.Wiechula (Jens.Wiechula@cern.ch)            #
//#                                                   #
//#####################################################

#include <AliAnalysisTask.h>

class TDatabasePDG;

class AliESDtrackCuts;
class AliKineTrackCuts;
class AliDielectronHistos;
class AliVEvent;
class AliStack;

class AliAnalysisTaskDielectronEfficiency : public AliAnalysisTask {

public:
  AliAnalysisTaskDielectronEfficiency();
  AliAnalysisTaskDielectronEfficiency(const char *name);
  virtual ~AliAnalysisTaskDielectronEfficiency();
  
  void SetupDefaultCuts(Int_t type=0);
  
	virtual void ConnectInputData(Option_t *);
	virtual void CreateOutputObjects();
  virtual void Exec(Option_t *option);
  virtual void Terminate(Option_t *);

//   virtual Int_t Merge(TCollection *list);
  //getters
  AliESDtrackCuts  *GetESDTrackCuts()   const {return fESDtrackCuts;}
  AliKineTrackCuts *GetKineCutsLeg()    const {return fKineCutsLegs;}
  AliKineTrackCuts *GetKineCutsMother() const {return fKineCutsMother;}
  //
  Int_t GetIdMother() const {return fIdMCMother;}

  //setters
  void SetIdMother(Int_t id) {fIdMCMother=id;}
  void SetIdDaughters(Int_t idPositive, Int_t idNegative) {fIdMCDaughterP=idPositive; fIdMCDaughterN=idNegative;}
  
private:

  AliVEvent           *fInputEvent;     //! Input event
  AliDielectronHistos *fHist;           //! Histogram container
  //cut objects
  AliESDtrackCuts     *fESDtrackCuts;   //  ESD track cuts
  AliKineTrackCuts    *fKineCutsLegs;   //  MC cuts on Legs
  AliKineTrackCuts    *fKineCutsMother; //  MC cuts on Mother (Id see below)
  
  Int_t                fIdMCMother;   //  MC Id of mother particle of interest (eg. Jpsi=443)
  Int_t                fIdMCDaughterP; //  MC Id of legs without sign
  Int_t                fIdMCDaughterN; //  MC Id of legs without sign
  //
  TDatabasePDG        *fPDG;           //! PDG database

  void FillPlots(AliVEvent *event);
  void FillMCInfo(AliStack * const pStack);

  AliAnalysisTaskDielectronEfficiency(const AliAnalysisTaskDielectronEfficiency &c);
  AliAnalysisTaskDielectronEfficiency& operator= (const AliAnalysisTaskDielectronEfficiency &c);
  
	ClassDef(AliAnalysisTaskDielectronEfficiency, 1);
};
#endif
 AliAnalysisTaskDielectronEfficiency.h:1
 AliAnalysisTaskDielectronEfficiency.h:2
 AliAnalysisTaskDielectronEfficiency.h:3
 AliAnalysisTaskDielectronEfficiency.h:4
 AliAnalysisTaskDielectronEfficiency.h:5
 AliAnalysisTaskDielectronEfficiency.h:6
 AliAnalysisTaskDielectronEfficiency.h:7
 AliAnalysisTaskDielectronEfficiency.h:8
 AliAnalysisTaskDielectronEfficiency.h:9
 AliAnalysisTaskDielectronEfficiency.h:10
 AliAnalysisTaskDielectronEfficiency.h:11
 AliAnalysisTaskDielectronEfficiency.h:12
 AliAnalysisTaskDielectronEfficiency.h:13
 AliAnalysisTaskDielectronEfficiency.h:14
 AliAnalysisTaskDielectronEfficiency.h:15
 AliAnalysisTaskDielectronEfficiency.h:16
 AliAnalysisTaskDielectronEfficiency.h:17
 AliAnalysisTaskDielectronEfficiency.h:18
 AliAnalysisTaskDielectronEfficiency.h:19
 AliAnalysisTaskDielectronEfficiency.h:20
 AliAnalysisTaskDielectronEfficiency.h:21
 AliAnalysisTaskDielectronEfficiency.h:22
 AliAnalysisTaskDielectronEfficiency.h:23
 AliAnalysisTaskDielectronEfficiency.h:24
 AliAnalysisTaskDielectronEfficiency.h:25
 AliAnalysisTaskDielectronEfficiency.h:26
 AliAnalysisTaskDielectronEfficiency.h:27
 AliAnalysisTaskDielectronEfficiency.h:28
 AliAnalysisTaskDielectronEfficiency.h:29
 AliAnalysisTaskDielectronEfficiency.h:30
 AliAnalysisTaskDielectronEfficiency.h:31
 AliAnalysisTaskDielectronEfficiency.h:32
 AliAnalysisTaskDielectronEfficiency.h:33
 AliAnalysisTaskDielectronEfficiency.h:34
 AliAnalysisTaskDielectronEfficiency.h:35
 AliAnalysisTaskDielectronEfficiency.h:36
 AliAnalysisTaskDielectronEfficiency.h:37
 AliAnalysisTaskDielectronEfficiency.h:38
 AliAnalysisTaskDielectronEfficiency.h:39
 AliAnalysisTaskDielectronEfficiency.h:40
 AliAnalysisTaskDielectronEfficiency.h:41
 AliAnalysisTaskDielectronEfficiency.h:42
 AliAnalysisTaskDielectronEfficiency.h:43
 AliAnalysisTaskDielectronEfficiency.h:44
 AliAnalysisTaskDielectronEfficiency.h:45
 AliAnalysisTaskDielectronEfficiency.h:46
 AliAnalysisTaskDielectronEfficiency.h:47
 AliAnalysisTaskDielectronEfficiency.h:48
 AliAnalysisTaskDielectronEfficiency.h:49
 AliAnalysisTaskDielectronEfficiency.h:50
 AliAnalysisTaskDielectronEfficiency.h:51
 AliAnalysisTaskDielectronEfficiency.h:52
 AliAnalysisTaskDielectronEfficiency.h:53
 AliAnalysisTaskDielectronEfficiency.h:54
 AliAnalysisTaskDielectronEfficiency.h:55
 AliAnalysisTaskDielectronEfficiency.h:56
 AliAnalysisTaskDielectronEfficiency.h:57
 AliAnalysisTaskDielectronEfficiency.h:58
 AliAnalysisTaskDielectronEfficiency.h:59
 AliAnalysisTaskDielectronEfficiency.h:60
 AliAnalysisTaskDielectronEfficiency.h:61
 AliAnalysisTaskDielectronEfficiency.h:62
 AliAnalysisTaskDielectronEfficiency.h:63
 AliAnalysisTaskDielectronEfficiency.h:64
 AliAnalysisTaskDielectronEfficiency.h:65
 AliAnalysisTaskDielectronEfficiency.h:66
 AliAnalysisTaskDielectronEfficiency.h:67
 AliAnalysisTaskDielectronEfficiency.h:68
 AliAnalysisTaskDielectronEfficiency.h:69
 AliAnalysisTaskDielectronEfficiency.h:70