]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/correlationHF/AliAnalysisTaskDxHFEParticleSelection.h
Usage of D0 efficiency introduced
[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;
2229ac91 23class 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 */
31class 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