]>
Commit | Line | Data |
---|---|---|
72c0a987 | 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" | |
9535cec9 | 19 | |
72c0a987 | 20 | class AliDxHFEParticleSelection; |
9535cec9 | 21 | class AliAnalysisCuts; |
22 | class TList; | |
2229ac91 | 23 | class TObjArray; |
72c0a987 | 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 | ||
2229ac91 | 38 | enum { |
39 | kD0=0, | |
40 | kElectron=1 | |
41 | }; | |
42 | ||
72c0a987 | 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; } | |
d731501a | 58 | void SetFillOnlyD0D0bar(Int_t flagfill){fFillOnlyD0D0bar=flagfill;} |
2229ac91 | 59 | void SetParticleType(int particle){fParticleType=particle;} |
9535cec9 | 60 | virtual void SetUseMC(Bool_t useMC){fUseMC=useMC;} |
2229ac91 | 61 | // virtual void SetCuts(AliAnalysisCuts* cuts){fCuts=cuts;} |
62 | virtual void SetCutList(TList* cuts){fCutList=cuts;} | |
9535cec9 | 63 | Bool_t GetUseMC() const {return fUseMC;} |
72c0a987 | 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(); | |
2229ac91 | 74 | int ParseArguments(const char* arguments); |
72c0a987 | 75 | |
9535cec9 | 76 | TList* fOutput; // list send on output slot 1 |
2229ac91 | 77 | TString fOption; // option string |
78 | TList* fCutList; // TList containg cut objects | |
79 | AliAnalysisCuts *fCutsD0; // Cut Object for D0 | |
72c0a987 | 80 | AliDxHFEParticleSelection* fSelector; // selector instance |
9535cec9 | 81 | bool fUseMC; // use MC info |
2229ac91 | 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 | |
b4779749 | 84 | TObjArray *fMCArray; // MC array |
2229ac91 | 85 | Int_t fParticleType; // Holds which particle to run on |
86 | Int_t fSystem; // holds collisions system (0=pp, 1=PbPb(,2=pPb)) | |
b4779749 | 87 | Bool_t fUseKine; // Whether or not to run on MC stack |
d731501a | 88 | |
72c0a987 | 89 | |
fad30eb8 | 90 | ClassDef(AliAnalysisTaskDxHFEParticleSelection, 5); |
72c0a987 | 91 | }; |
92 | ||
93 | #endif |