]>
Commit | Line | Data |
---|---|---|
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 | /** |
a2ddc3d0 | 10 | * Class for NetParticle Distributions |
4918c45f | 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" | |
a2ddc3d0 | 17 | #include "TList.h" |
cb68eb1d | 18 | |
a2ddc3d0 | 19 | #include "AliAnalysisNetParticleBase.h" |
cb68eb1d | 20 | |
a2ddc3d0 | 21 | class AliAnalysisNetParticleDistribution : public AliAnalysisNetParticleBase { |
cb68eb1d | 22 | |
23 | public: | |
24 | ||
cb68eb1d | 25 | AliAnalysisNetParticleDistribution(); |
26 | virtual ~AliAnalysisNetParticleDistribution(); | |
27 | ||
28 | /* | |
29 | * --------------------------------------------------------------------------------- | |
30 | * Public Methods | |
31 | * --------------------------------------------------------------------------------- | |
32 | */ | |
33 | ||
a2ddc3d0 | 34 | /** Process Event - implements purely virtual method */ |
35 | virtual void Process(); | |
cb68eb1d | 36 | |
a2ddc3d0 | 37 | /* |
38 | * --------------------------------------------------------------------------------- | |
39 | * Setter/Getter | |
40 | * --------------------------------------------------------------------------------- | |
41 | */ | |
cb68eb1d | 42 | |
a2ddc3d0 | 43 | void SetOutList(TList* l) {fOutList = l;} |
cb68eb1d | 44 | |
45 | /////////////////////////////////////////////////////////////////////////////////// | |
46 | ||
47 | private: | |
48 | ||
49 | AliAnalysisNetParticleDistribution(const AliAnalysisNetParticleDistribution&); // not implemented | |
50 | AliAnalysisNetParticleDistribution& operator=(const AliAnalysisNetParticleDistribution&); // not implemented | |
51 | ||
52 | /* | |
53 | * --------------------------------------------------------------------------------- | |
a2ddc3d0 | 54 | * Methods - private |
cb68eb1d | 55 | * --------------------------------------------------------------------------------- |
56 | */ | |
a2ddc3d0 | 57 | |
58 | /** Event-wise Initialization - implements virtual method */ | |
59 | virtual void Init(); | |
60 | ||
61 | /** Event-wise Reset - implements virtual method */ | |
62 | virtual void Reset(); | |
63 | ||
64 | /** HistSet-wise Reset */ | |
65 | void ResetHistSet(); | |
66 | ||
67 | /** Create the efficiency / contamination THnSparseD - implements virtual method */ | |
68 | virtual void CreateHistograms(); | |
69 | ||
70 | // ----------------------------------------------------------------------- | |
71 | ||
5de3d4d1 | 72 | /** Process ESD/AOD tracks and fill histograms */ |
73 | Int_t ProcessTracks(); | |
9be43c8e | 74 | |
cb68eb1d | 75 | /** Process primary particles from the stack and fill histograms */ |
fbb73c19 | 76 | Int_t ProcessParticles(); |
cb68eb1d | 77 | |
478c95cf | 78 | /* |
cb68eb1d | 79 | * --------------------------------------------------------------------------------- |
80 | * Helper Methods - private | |
81 | * --------------------------------------------------------------------------------- | |
82 | */ | |
83 | ||
84 | /** Add set of histograms */ | |
a2ddc3d0 | 85 | void AddHistSetCent(const Char_t *name, const Char_t *title); |
86 | void AddHistSetCentPt(const Char_t *name, const Char_t *title); | |
cb68eb1d | 87 | |
88 | /** Fill set of histograms */ | |
a2ddc3d0 | 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); | |
cb68eb1d | 91 | |
92 | /* | |
93 | * --------------------------------------------------------------------------------- | |
94 | * Members - private | |
95 | * --------------------------------------------------------------------------------- | |
96 | */ | |
97 | ||
5de3d4d1 | 98 | // ======================================================================= |
cb68eb1d | 99 | TList *fOutList; //! Output data container |
5de3d4d1 | 100 | // ======================================================================= |
4918c45f | 101 | Int_t fOrder; // Max order of higher order distributions |
cb68eb1d | 102 | // ----------------------------------------------------------------------- |
4918c45f | 103 | Int_t fNNp; // N sets of arrays of particle/anti-particle counts |
a2ddc3d0 | 104 | Int_t **fNp; // Array of particle/anti-particle counts |
105 | Int_t ***fNpPt; // Array of particle/anti-particle per ptBin counts | |
cb68eb1d | 106 | |
107 | Int_t fNMCNp; // N sets of arrays of MC particle/anti-particle counts | |
a2ddc3d0 | 108 | Int_t **fMCNp; // Array of MC particle/anti-particle counts |
109 | Int_t ***fMCNpPt; // Array of MC particle/anti-particle per ptBin counts | |
cb68eb1d | 110 | // ----------------------------------------------------------------------- |
a2ddc3d0 | 111 | Double_t **fRedFactp; // Array of particle/anti-particle reduced factorial |
5de3d4d1 | 112 | // ======================================================================= |
a2ddc3d0 | 113 | THnSparseD *fHnTrackUnCorr; // THnSparseD : uncorrected probe particles |
cb68eb1d | 114 | // ----------------------------------------------------------------------- |
115 | ||
116 | ClassDef(AliAnalysisNetParticleDistribution, 1); | |
117 | }; | |
118 | ||
119 | #endif |