3 #ifndef ALIANALYSISNETPARTICLEDISTRIBUTION_H
4 #define ALIANALYSISNETPARTICLEDISTRIBUTION_H
6 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice */
10 * Class for NetParticle Distributions
11 * -- Create input for distributions
12 * Authors: Jochen Thaeder <jochen@thaeder.de>
13 * Michael Weber <m.weber@cern.ch>
16 #include "THnSparse.h"
19 #include "AliAnalysisNetParticleBase.h"
21 class AliAnalysisNetParticleDistribution : public AliAnalysisNetParticleBase {
25 AliAnalysisNetParticleDistribution();
26 virtual ~AliAnalysisNetParticleDistribution();
29 * ---------------------------------------------------------------------------------
31 * ---------------------------------------------------------------------------------
34 /** Process Event - implements purely virtual method */
35 virtual void Process();
38 * ---------------------------------------------------------------------------------
40 * ---------------------------------------------------------------------------------
43 void SetOutList(TList* l) {fOutList = l;}
45 ///////////////////////////////////////////////////////////////////////////////////
49 AliAnalysisNetParticleDistribution(const AliAnalysisNetParticleDistribution&); // not implemented
50 AliAnalysisNetParticleDistribution& operator=(const AliAnalysisNetParticleDistribution&); // not implemented
53 * ---------------------------------------------------------------------------------
55 * ---------------------------------------------------------------------------------
58 /** Event-wise Initialization - implements virtual method */
61 /** Event-wise Reset - implements virtual method */
64 /** HistSet-wise Reset */
67 /** Create the efficiency / contamination THnSparseD - implements virtual method */
68 virtual void CreateHistograms();
70 // -----------------------------------------------------------------------
72 /** Process ESD/AOD tracks and fill histograms */
73 Int_t ProcessTracks();
75 /** Process primary particles from the stack and fill histograms */
76 Int_t ProcessParticles();
79 * ---------------------------------------------------------------------------------
80 * Helper Methods - private
81 * ---------------------------------------------------------------------------------
84 /** Add set of histograms */
85 void AddHistSetCent(const Char_t *name, const Char_t *title);
86 void AddHistSetCentPt(const Char_t *name, const Char_t *title);
88 /** Fill set of histograms */
89 void FillHistSetCent(const Char_t *name, Int_t idx, Bool_t isMC);
90 void FillHistSetCentPt(const Char_t *name, Int_t idx, Bool_t isMC);
93 * ---------------------------------------------------------------------------------
95 * ---------------------------------------------------------------------------------
98 // =======================================================================
99 TList *fOutList; //! Output data container
100 // =======================================================================
101 Int_t fOrder; // Max order of higher order distributions
102 // -----------------------------------------------------------------------
103 Int_t fNNp; // N sets of arrays of particle/anti-particle counts
104 Int_t **fNp; // Array of particle/anti-particle counts
105 Int_t ***fNpPt; // Array of particle/anti-particle per ptBin counts
107 Int_t fNMCNp; // N sets of arrays of MC particle/anti-particle counts
108 Int_t **fMCNp; // Array of MC particle/anti-particle counts
109 Int_t ***fMCNpPt; // Array of MC particle/anti-particle per ptBin counts
110 // -----------------------------------------------------------------------
111 Double_t **fRedFactp; // Array of particle/anti-particle reduced factorial
112 // =======================================================================
113 THnSparseD *fHnTrackUnCorr; // THnSparseD : uncorrected probe particles
114 // -----------------------------------------------------------------------
116 ClassDef(AliAnalysisNetParticleDistribution, 1);