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