]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/correlationHF/AliAnalysisTaskDxHFEParticleSelection.h
- update for electron selection, PID for TOF and TOF+TPC combined
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliAnalysisTaskDxHFEParticleSelection.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4 //* This file is property of and copyright by the ALICE Project        * 
5 //* ALICE Experiment at CERN, All rights reserved.                     *
6 //* See cxx source for full Copyright notice                           *
7
8 /// @file   AliAnalysisTaskDxHFEParticleSelection.h
9 /// @author Sedat Altinpinar, Hege Erdal, Matthias Richter
10 /// @date   2012-03-19
11 /// @brief  AnalysisTask electron selection for D0 - HFE correlation
12 ///
13
14 #ifndef ALIANALYSISTASKDXHFEPARTICLESELECTION_H
15 #define ALIANALYSISTASKDXHFEPARTICLESELECTION_H
16
17 #include "AliAnalysisTaskSE.h"
18 #include "TString.h"
19
20 class AliDxHFEParticleSelection;
21 class AliAnalysisCuts;
22 class TList;
23
24 /**
25  * @class AliAnalysisTaskDxHFEParticleSelection
26  * Selection task for particles uesd in the D0 - HFE correlation studies
27  * Task performs the selection based on a configured AliDxHFEParticleSelection
28  * instance.
29  */
30 class AliAnalysisTaskDxHFEParticleSelection : public AliAnalysisTaskSE {
31   public:
32   /// constructor
33   AliAnalysisTaskDxHFEParticleSelection(const char* opt="");
34   /// destructor
35   virtual ~AliAnalysisTaskDxHFEParticleSelection();
36
37   /// inherited from AliAnalysisTask: connect tree branches at input slots
38   virtual void ConnectInputData(Option_t *option="") {
39     return AliAnalysisTaskSE::ConnectInputData(option);
40   }
41
42   /// inherited from AliAnalysisTaskSE: create output objects
43   virtual void UserCreateOutputObjects();
44   /// inherited from AliAnalysisTaskSE: event processing
45   virtual void UserExec(Option_t*);
46   /// inherited from AliAnalysisTask: called in SlaveTerminate phase for each task
47   virtual void FinishTaskOutput();
48   /// inherited from AliAnalysisTask: final step
49   virtual void Terminate(Option_t*);
50
51   void SetOption(const char* opt) { fOption = opt; }
52   void SetFillOnlyD0D0bar(Int_t flagfill){fFillOnlyD0D0bar=flagfill;}
53   virtual void SetUseMC(Bool_t useMC){fUseMC=useMC;}
54   virtual void SetCuts(AliAnalysisCuts* cuts){fCuts=cuts;}
55   Bool_t GetUseMC() const {return fUseMC;}
56
57  protected:
58
59  private:
60   /// copy constructor prohibited: might change
61   AliAnalysisTaskDxHFEParticleSelection(const AliAnalysisTaskDxHFEParticleSelection&);
62   /// assignment operator prohibited: might change
63   AliAnalysisTaskDxHFEParticleSelection& operator=(const AliAnalysisTaskDxHFEParticleSelection&);
64
65   int DefineSlots();
66
67   TList* fOutput;                       // list send on output slot 1
68   TString fOption;                      //  option string
69   AliAnalysisCuts* fCuts;               //  Cuts 
70   AliDxHFEParticleSelection* fSelector; // selector instance
71   bool fUseMC;                          // use MC info
72   Int_t     fFillOnlyD0D0bar;            // flag to set what to fill (0 = both, 1 = D0 only, 2 = D0bar only)
73
74
75   ClassDef(AliAnalysisTaskDxHFEParticleSelection, 2);
76 };
77
78 #endif