]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/correlationHF/AliAnalysisTaskDxHFEParticleSelection.h
cleanup
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliAnalysisTaskDxHFEParticleSelection.h
CommitLineData
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 20class AliDxHFEParticleSelection;
9535cec9 21class AliAnalysisCuts;
22class TList;
72c0a987 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 */
30class 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; }
d731501a 52 void SetFillOnlyD0D0bar(Int_t flagfill){fFillOnlyD0D0bar=flagfill;}
9535cec9 53 virtual void SetUseMC(Bool_t useMC){fUseMC=useMC;}
54 virtual void SetCuts(AliAnalysisCuts* cuts){fCuts=cuts;}
55 Bool_t GetUseMC() const {return fUseMC;}
72c0a987 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
9535cec9 67 TList* fOutput; // list send on output slot 1
68 TString fOption; // option string
69 AliAnalysisCuts* fCuts; // Cuts
72c0a987 70 AliDxHFEParticleSelection* fSelector; // selector instance
9535cec9 71 bool fUseMC; // use MC info
d731501a 72 Int_t fFillOnlyD0D0bar; // flag to set what to fill (0 = both, 1 = D0 only, 2 = D0bar only)
73
72c0a987 74
9535cec9 75 ClassDef(AliAnalysisTaskDxHFEParticleSelection, 2);
72c0a987 76};
77
78#endif