]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/NetParticle/AliAnalysisNetParticleDistribution.h
Coverity
[u/mrichter/AliRoot.git] / PWGCF / EBYE / NetParticle / AliAnalysisNetParticleDistribution.h
CommitLineData
cb68eb1d 1//-*- Mode: C++ -*-
2
3#ifndef ALIANALYSISNETPARTICLEDISTRIBUTION_H
4#define ALIANALYSISNETPARTICLEDISTRIBUTION_H
5
6/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice */
8
9// Helper Class for for NetParticle Distributions
10// Authors: Jochen Thaeder <jochen@thaeder.de>
11
12#include "THnSparse.h"
13#include "TH1F.h"
14#include "TF1.h"
15
16#include "AliAnalysisNetParticleHelper.h"
17
18class AliESDtrack;
19class AliMCEvent;
20class AliStack;
21class AliPIDResponse;
22class AliESDInputHandler;
23class AliESDtrackCuts;
9be43c8e 24class AliAODInputHandler;
cb68eb1d 25
26class AliAnalysisNetParticleDistribution : public TNamed {
27
28 public:
29
30 /*
31 * ---------------------------------------------------------------------------------
32 * Constructor / Destructor
33 * ---------------------------------------------------------------------------------
34 */
35
36 AliAnalysisNetParticleDistribution();
37 virtual ~AliAnalysisNetParticleDistribution();
38
39 /*
40 * ---------------------------------------------------------------------------------
41 * Public Methods
42 * ---------------------------------------------------------------------------------
43 */
44
45 /** Initialize */
478c95cf 46 Int_t Initialize(AliAnalysisNetParticleHelper* helper, AliESDtrackCuts* cuts, Bool_t isMC, Float_t *ptRange, Float_t etaMax, Int_t trackCutBit, Int_t nCorrNp);
cb68eb1d 47
48 /** Add histograms to outlist */
49 void CreateHistograms(TList *outList);
50
51 /** Setup Event */
9be43c8e 52 Int_t SetupEvent(AliESDInputHandler *esdHandler, AliAODInputHandler *aodHandler, AliMCEvent *mcEvent);
cb68eb1d 53
478c95cf 54 /** Reset Event */
cb68eb1d 55 void ResetEvent();
56
57 /** Process NetParticle Distributions */
58 Int_t Process();
59
d76957cf 60 /** Update MinPtForTOFRequired, using the pT log-scale */
61 void UpdateMinPtForTOFRequired();
62
cb68eb1d 63 ///////////////////////////////////////////////////////////////////////////////////
64
65 private:
66
67 AliAnalysisNetParticleDistribution(const AliAnalysisNetParticleDistribution&); // not implemented
68 AliAnalysisNetParticleDistribution& operator=(const AliAnalysisNetParticleDistribution&); // not implemented
69
70 /*
71 * ---------------------------------------------------------------------------------
72 * Process - Private
73 * ---------------------------------------------------------------------------------
74 */
75 /** Process ESD tracks and fill histograms */
76 Int_t ProcessESDTracks();
77
9be43c8e 78 /** Process AOD tracks and fill histograms */
79 Int_t ProcessAODTracks();
80
cb68eb1d 81 /** Process primary particles from the stack and fill histograms */
82 Int_t ProcessStackParticles();
83
84 /** Process control particles from the stack and fill histograms */
85 Int_t ProcessStackControlParticles();
86
478c95cf 87 /*
cb68eb1d 88 * ---------------------------------------------------------------------------------
89 * Helper Methods - private
90 * ---------------------------------------------------------------------------------
91 */
92
93 /** Add set of histograms */
94 void AddHistSet(const Char_t *name, const Char_t *title);
95
96 /** Fill set of histograms */
97 void FillHistSet(const Char_t *name, Float_t *np, Int_t controlIdx = -1);
98
99 /*
100 * ---------------------------------------------------------------------------------
101 * Members - private
102 * ---------------------------------------------------------------------------------
103 */
104
105 AliAnalysisNetParticleHelper *fHelper; //! Ptr to helper class
106
107 TList *fOutList; //! Output data container
108 // -----------------------------------------------------------------------
109 AliESDInputHandler *fESDHandler; //! Ptr to ESD handler
110 AliPIDResponse *fPIDResponse; //! Ptr to PID response Object
111 AliESDEvent *fESD; //! Ptr to ESD event
112
9be43c8e 113 AliAODInputHandler *fAODHandler; //! Ptr to AOD handler
114 AliAODEvent *fAOD; //! Ptr to AOD event
115
cb68eb1d 116 Bool_t fIsMC; // Is MC event
117
118 AliMCEvent *fMCEvent; //! Ptr to MC event
119 AliStack *fStack; //! Ptr to stack
120
121 AliESDtrackCuts *fESDTrackCuts; //! ESD cuts
122 // -----------------------------------------------------------------------
123 Float_t fEtaMax; // Max, absolut eta
124 Float_t *fPtRange; // Array of pt [min,max]
9be43c8e 125
126 Int_t fAODtrackCutBit; // Track filter bit for AOD tracks
cb68eb1d 127 // -----------------------------------------------------------------------
128 Float_t *fNp; // Array of particle/anti-particle counts
129
130 Int_t fNCorrNp; // N sets of arrays of corrected particle/anti-particle counts
131 Float_t **fCorrNp; // Array of corrected particle/anti-particle counts
132
133 Int_t fNMCNp; // N sets of arrays of MC particle/anti-particle counts
134 Float_t **fMCNp; // Array of MC particle/anti-particle counts
135
136 Int_t fNControlMCNp; // N sets of arrays of control MC particle/anti-particle counts
137 Float_t **fControlMCNp; // Array of control MC particle/anti-particle counts
138 // -----------------------------------------------------------------------
139 THnSparseF *fHnTrackUnCorr; // THnSparseF : uncorrected probe particles
140 // -----------------------------------------------------------------------
141
142 ClassDef(AliAnalysisNetParticleDistribution, 1);
143};
144
145#endif