]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/NetParticle/AliAnalysisTaskNetParticle.h
flat friends update
[u/mrichter/AliRoot.git] / PWGCF / EBYE / NetParticle / AliAnalysisTaskNetParticle.h
CommitLineData
cb68eb1d 1//-*- Mode: C++ -*-
2
3#ifndef ALIANALYSISTASKNETPARTICLE_H
4#define ALIANALYSISTASKNETPARTICLE_H
5
6/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice */
8
4918c45f 9/**
a2ddc3d0 10 * Class for NetParticle Distributions
4918c45f 11 * -- AnalysisTask
12 * Authors: Jochen Thaeder <jochen@thaeder.de>
13 * Michael Weber <m.weber@cern.ch>
14 */
cb68eb1d 15
16#include "AliAnalysisTaskSE.h"
17#include "TList.h"
18#include "THnSparse.h"
19
20#include "AliAnalysisNetParticleHelper.h"
21#include "AliAnalysisNetParticleEffCont.h"
22#include "AliAnalysisNetParticleDCA.h"
23#include "AliAnalysisNetParticleDistribution.h"
5de3d4d1 24#include "AliAnalysisNetParticleQA.h"
cb68eb1d 25
26class AliESDEvent;
27class AliESDInputHandler;
9be43c8e 28class AliAODEvent;
29class AliAODInputHandler;
cb68eb1d 30class AliMCEvent;
31class AliStack;
32class AliPIDResponse;
33class AliESDResponse;
34
35class AliAnalysisTaskNetParticle : public AliAnalysisTaskSE {
36
37 public:
38
cb68eb1d 39 AliAnalysisTaskNetParticle(const char *name = "AliAnalysisTaskNetParticle");
40 virtual ~AliAnalysisTaskNetParticle();
41
42 /*
43 * ---------------------------------------------------------------------------------
44 * Task Methods
45 * ---------------------------------------------------------------------------------
46 */
47
48 virtual void UserCreateOutputObjects();
49 virtual void UserExec(Option_t *option);
50 virtual void Terminate(Option_t *);
51
52 /*
53 * ---------------------------------------------------------------------------------
54 * Public Methods
55 * ---------------------------------------------------------------------------------
56 */
57
58 /** Initialize Task */
59 Int_t Initialize();
60
61 /*
62 * ---------------------------------------------------------------------------------
63 * Setter
64 * ---------------------------------------------------------------------------------
65 */
66
478c95cf 67 void SetIsMC() {fIsMC = kTRUE;}
68 void SetIsAOD(Bool_t b) {fIsAOD = b;}
cb68eb1d 69
478c95cf 70 void SetESDTrackCutMode(Int_t i) {fESDTrackCutMode = i;}
71 void SetModeEffCreation(Int_t i) {fModeEffCreation = i;}
72 void SetModeDCACreation(Int_t i) {fModeDCACreation = i;}
73 void SetModeDistCreation(Int_t i) {fModeDistCreation = i;}
74 void SetModeQACreation(Int_t i) {fModeQACreation = i;}
cb68eb1d 75
478c95cf 76 void SetEtaMax(Float_t f) {fEtaMax = f;}
8c6128b7 77 void SetEtaMaxEff(Float_t f) {fEtaMaxEff = f;}
478c95cf 78 void SetPtRange(Float_t f1, Float_t f2) {fPtRange[0] = f1; fPtRange[1] = f2;}
79 void SetPtRangeEff(Float_t f1, Float_t f2) {fPtRangeEff[0] = f1; fPtRangeEff[1] = f2;}
cb68eb1d 80
478c95cf 81 void SetTrackFilterBit(Int_t i) {fAODtrackCutBit = i;}
82
83 void SetNetParticleHelper(AliAnalysisNetParticleHelper *helper) {
84 if (fHelper)
85 delete fHelper;
86 fHelper = helper;
cb68eb1d 87 }
88
cb68eb1d 89 ///////////////////////////////////////////////////////////////////////////////////
90
91 private:
92
93 AliAnalysisTaskNetParticle(const AliAnalysisTaskNetParticle&); // not implemented
94 AliAnalysisTaskNetParticle& operator=(const AliAnalysisTaskNetParticle&); // not implemented
95
96 /*
97 * ---------------------------------------------------------------------------------
98 * Setup/Reset Methods - private
99 * ---------------------------------------------------------------------------------
100 */
101
102 /** Setup Event */
103 Int_t SetupEvent();
104
105 /** Setup ESD Event */
106 Int_t SetupESDEvent();
107
9be43c8e 108 /** Setup AOD Event */
109 Int_t SetupAODEvent();
110
cb68eb1d 111 /** Setup MC Event */
112 Int_t SetupMCEvent();
113
114 /** Reset Event */
115 void ResetEvent();
478c95cf 116
cb68eb1d 117 /*
118 * ---------------------------------------------------------------------------------
119 * Members - private
120 * ---------------------------------------------------------------------------------
121 */
122
8c6128b7 123 AliAnalysisNetParticleHelper *fHelper; // Helper class
cb68eb1d 124 AliAnalysisNetParticleEffCont *fEffCont; //! Efficiency and Contamination class
125 AliAnalysisNetParticleDCA *fDCA; //! DCA class
126 AliAnalysisNetParticleDistribution *fDist; //! Distributions class
a2ddc3d0 127 AliAnalysisNetParticleQA *fQA; //! QA class
cb68eb1d 128
129 // --- OutLists ----------------------------------------------------------
cb68eb1d 130 TList *fOutList; //! Ptr to output data container
131 TList *fOutListEff; //! Ptr to output data container - efficiency
132 TList *fOutListCont; //! Ptr to output data container - contamination
133 TList *fOutListDCA; //! Ptr to output data container - DCA
a2ddc3d0 134 TList *fOutListQA; //! Ptr to output data container - QA
cb68eb1d 135
136 // --- ESD only ----------------------------------------------------------
cb68eb1d 137 AliESDEvent *fESD; //! Ptr to ESD event
138 AliESDInputHandler *fESDHandler; //! Ptr to ESD Handler
a2ddc3d0 139 // -----------------------------------------------------------------------
cb68eb1d 140 AliESDtrackCuts *fESDTrackCutsBase; //! ESD cuts - base settings
141 AliESDtrackCuts *fESDTrackCuts; //! ESD cuts
142 AliESDtrackCuts *fESDTrackCutsBkg; //! ESD cuts for Bkg
143 AliESDtrackCuts *fESDTrackCutsEff; //! ESD cuts for efficiency determination -> larger pt Range
9be43c8e 144
145 // --- AOD only ----------------------------------------------------------
9be43c8e 146 AliAODEvent *fAOD; //! Ptr to AOD event
147 AliAODInputHandler *fAODHandler; //! Ptr to AOD Handler
cb68eb1d 148
149 // --- Flags -------------------------------------------------------------
4918c45f 150 Bool_t fIsMC; // Is MC event
151 Bool_t fIsAOD; // analysis mode : 0 = ESDs | 1 = AODs
152 Int_t fESDTrackCutMode; // ESD track cut mode : 0 = clean | 1 = dirty
153 Int_t fModeEffCreation ; // Correction creation mode : 1 = on | 0 = off
154 Int_t fModeDCACreation; // DCA creation mode : 1 = on | 0 = off
155 Int_t fModeDistCreation; // Dist creation mode : 1 = on | 0 = off
156 Int_t fModeQACreation; // QA creation mode : 1 = on | 0 = off
cb68eb1d 157
158 // --- MC only -----------------------------------------------------------
4918c45f 159 AliMCEvent *fMCEvent; //! Ptr to MC event
160 AliStack *fMCStack; //! Ptr to MC stack
cb68eb1d 161 // -----------------------------------------------------------------------
4918c45f 162 Float_t fEtaMax; // Max, absolut eta
163 Float_t fEtaMaxEff; // Max, absolut eta for efficiency
164 Float_t fPtRange[2]; // Array of pt [min,max]
165 Float_t fPtRangeEff[2]; // Array of pt [min,max] for efficiency
a2ddc3d0 166 // -----------------------------------------------------------------------
4918c45f 167 Int_t fAODtrackCutBit; // Track filter bit for AOD tracks
a2ddc3d0 168 // =======================================================================
9be43c8e 169
cb68eb1d 170
171 ClassDef(AliAnalysisTaskNetParticle, 1);
172};
173
174#endif