Add dielectron framework to PWG3
[u/mrichter/AliRoot.git] / PWG3 / dielectron / AliAnalysisTaskDielectronEfficiency.h
CommitLineData
b2a297fa 1#ifndef ALIANALYSISTASKDIELECTRONEFFICIENCY_H
2#define ALIANALYSISTASKDIELECTRONEFFICIENCY_H
3//#####################################################
4//# #
5//# Analysis Task for Event Mixing for dielectron #
6//# #
7//# J.Wiechula (Jens.Wiechula@cern.ch) #
8//# #
9//#####################################################
10
11#include <AliAnalysisTask.h>
12
13class TDatabasePDG;
14
15class AliESDtrackCuts;
16class AliKineTrackCuts;
17class AliDielectronHistos;
18class AliVEvent;
19class AliStack;
20
21class AliAnalysisTaskDielectronEfficiency : public AliAnalysisTask {
22
23public:
24 AliAnalysisTaskDielectronEfficiency();
25 AliAnalysisTaskDielectronEfficiency(const char *name);
26 virtual ~AliAnalysisTaskDielectronEfficiency();
27
28 void SetupDefaultCuts(Int_t type=0);
29
30 virtual void ConnectInputData(Option_t *);
31 virtual void CreateOutputObjects();
32 virtual void Exec(Option_t *option);
33 virtual void Terminate(Option_t *);
34
35// virtual Int_t Merge(TCollection *list);
36 //getters
37 AliESDtrackCuts *GetESDTrackCuts() const {return fESDtrackCuts;}
38 AliKineTrackCuts *GetKineCutsLeg() const {return fKineCutsLegs;}
39 AliKineTrackCuts *GetKineCutsMother() const {return fKineCutsMother;}
40 //
41 Int_t GetIdMother() const {return fIdMCMother;}
42
43 //setters
44 void SetIdMother(Int_t id) {fIdMCMother=id;}
45 void SetIdDaughters(Int_t idPositive, Int_t idNegative) {fIdMCDaughterP=idPositive; fIdMCDaughterN=idNegative;}
46
47private:
48
49 AliVEvent *fInputEvent; //! Input event
50 AliDielectronHistos *fHist; //! Histogram container
51 //cut objects
52 AliESDtrackCuts *fESDtrackCuts; // ESD track cuts
53 AliKineTrackCuts *fKineCutsLegs; // MC cuts on Legs
54 AliKineTrackCuts *fKineCutsMother; // MC cuts on Mother (Id see below)
55
56 Int_t fIdMCMother; // MC Id of mother particle of interest (eg. Jpsi=443)
57 Int_t fIdMCDaughterP; // MC Id of legs without sign
58 Int_t fIdMCDaughterN; // MC Id of legs without sign
59 //
60 TDatabasePDG *fPDG; //! PDG database
61
62 void FillPlots(AliVEvent *event);
63 void FillMCInfo(AliStack *pStack);
64
65 AliAnalysisTaskDielectronEfficiency(const AliAnalysisTaskDielectronEfficiency &c);
66 AliAnalysisTaskDielectronEfficiency& operator= (const AliAnalysisTaskDielectronEfficiency &c);
67
68 ClassDef(AliAnalysisTaskDielectronEfficiency, 1);
69};
70#endif