]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/correlationHF/AliAnalysisTaskDxHFEParticleSelection.h
Removing left-over "return".
[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 class TObjArray;
24
25 /**
26  * @class AliAnalysisTaskDxHFEParticleSelection
27  * Selection task for particles uesd in the D0 - HFE correlation studies
28  * Task performs the selection based on a configured AliDxHFEParticleSelection
29  * instance.
30  */
31 class AliAnalysisTaskDxHFEParticleSelection : public AliAnalysisTaskSE {
32   public:
33   /// constructor
34   AliAnalysisTaskDxHFEParticleSelection(const char* opt="");
35   /// destructor
36   virtual ~AliAnalysisTaskDxHFEParticleSelection();
37
38   enum {
39     kD0=0,
40     kElectron=1
41   };
42
43   /// inherited from AliAnalysisTask: connect tree branches at input slots
44   virtual void ConnectInputData(Option_t *option="") {
45     return AliAnalysisTaskSE::ConnectInputData(option);
46   }
47
48   /// inherited from AliAnalysisTaskSE: create output objects
49   virtual void UserCreateOutputObjects();
50   /// inherited from AliAnalysisTaskSE: event processing
51   virtual void UserExec(Option_t*);
52   /// inherited from AliAnalysisTask: called in SlaveTerminate phase for each task
53   virtual void FinishTaskOutput();
54   /// inherited from AliAnalysisTask: final step
55   virtual void Terminate(Option_t*);
56
57   void SetOption(const char* opt) { fOption = opt; }
58   void SetFillOnlyD0D0bar(Int_t flagfill){fFillOnlyD0D0bar=flagfill;}
59   void SetParticleType(int particle){fParticleType=particle;}
60   virtual void SetUseMC(Bool_t useMC){fUseMC=useMC;}
61   //  virtual void SetCuts(AliAnalysisCuts* cuts){fCuts=cuts;}
62   virtual void SetCutList(TList* cuts){fCutList=cuts;}
63   Bool_t GetUseMC() const {return fUseMC;}
64
65  protected:
66
67  private:
68   /// copy constructor prohibited: might change
69   AliAnalysisTaskDxHFEParticleSelection(const AliAnalysisTaskDxHFEParticleSelection&);
70   /// assignment operator prohibited: might change
71   AliAnalysisTaskDxHFEParticleSelection& operator=(const AliAnalysisTaskDxHFEParticleSelection&);
72
73   int DefineSlots();
74   int ParseArguments(const char* arguments);
75
76   TList* fOutput;                       // list send on output slot 1
77   TString fOption;                      // option string
78   TList* fCutList;                         // TList containg cut objects
79   AliAnalysisCuts *fCutsD0;             // Cut Object for D0 
80   AliDxHFEParticleSelection* fSelector; // selector instance
81   bool fUseMC;                          // use MC info
82   Int_t     fFillOnlyD0D0bar;           // flag to set what to fill (0 = both, 1 = D0 only, 2 = D0bar only)
83   TObjArray *fSelectedTracks;           // Array for selected Tracks
84   TObjArray *fMCArray;                  // MC array
85   Int_t fParticleType;                   // Holds which particle to run on
86   Int_t fSystem;                        // holds collisions system (0=pp, 1=PbPb(,2=pPb))
87   Bool_t fUseKine;                      // Whether or not to run on MC stack
88
89
90   ClassDef(AliAnalysisTaskDxHFEParticleSelection, 5);
91 };
92
93 #endif