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 *
8 /// @file AliAnalysisTaskDxHFEParticleSelection.h
9 /// @author Sedat Altinpinar, Hege Erdal, Matthias Richter
11 /// @brief AnalysisTask electron selection for D0 - HFE correlation
14 #ifndef ALIANALYSISTASKDXHFEPARTICLESELECTION_H
15 #define ALIANALYSISTASKDXHFEPARTICLESELECTION_H
17 #include "AliAnalysisTaskSE.h"
20 class AliDxHFEParticleSelection;
21 class AliAnalysisCuts;
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
30 class AliAnalysisTaskDxHFEParticleSelection : public AliAnalysisTaskSE {
33 AliAnalysisTaskDxHFEParticleSelection(const char* opt="");
35 virtual ~AliAnalysisTaskDxHFEParticleSelection();
37 /// inherited from AliAnalysisTask: connect tree branches at input slots
38 virtual void ConnectInputData(Option_t *option="") {
39 return AliAnalysisTaskSE::ConnectInputData(option);
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*);
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;}
60 /// copy constructor prohibited: might change
61 AliAnalysisTaskDxHFEParticleSelection(const AliAnalysisTaskDxHFEParticleSelection&);
62 /// assignment operator prohibited: might change
63 AliAnalysisTaskDxHFEParticleSelection& operator=(const AliAnalysisTaskDxHFEParticleSelection&);
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)
75 ClassDef(AliAnalysisTaskDxHFEParticleSelection, 2);