]>
Commit | Line | Data |
---|---|---|
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 | /** | |
10 | * Class for NetParticle Distributions | |
11 | * -- Create input for distributions | |
12 | * Authors: Jochen Thaeder <jochen@thaeder.de> | |
13 | * Michael Weber <m.weber@cern.ch> | |
14 | */ | |
15 | ||
16 | #include "THnSparse.h" | |
17 | #include "TList.h" | |
18 | ||
19 | #include "AliAnalysisNetParticleBase.h" | |
20 | ||
21 | class AliAnalysisNetParticleDistribution : public AliAnalysisNetParticleBase { | |
22 | ||
23 | public: | |
24 | ||
25 | AliAnalysisNetParticleDistribution(); | |
26 | virtual ~AliAnalysisNetParticleDistribution(); | |
27 | ||
28 | /* | |
29 | * --------------------------------------------------------------------------------- | |
30 | * Public Methods | |
31 | * --------------------------------------------------------------------------------- | |
32 | */ | |
33 | ||
34 | /** Process Event - implements purely virtual method */ | |
35 | virtual void Process(); | |
36 | ||
37 | /* | |
38 | * --------------------------------------------------------------------------------- | |
39 | * Setter/Getter | |
40 | * --------------------------------------------------------------------------------- | |
41 | */ | |
42 | ||
43 | void SetOutList(TList* l) {fOutList = l;} | |
44 | ||
45 | /////////////////////////////////////////////////////////////////////////////////// | |
46 | ||
47 | private: | |
48 | ||
49 | AliAnalysisNetParticleDistribution(const AliAnalysisNetParticleDistribution&); // not implemented | |
50 | AliAnalysisNetParticleDistribution& operator=(const AliAnalysisNetParticleDistribution&); // not implemented | |
51 | ||
52 | /* | |
53 | * --------------------------------------------------------------------------------- | |
54 | * Methods - private | |
55 | * --------------------------------------------------------------------------------- | |
56 | */ | |
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 | ||
72 | /** Process ESD/AOD tracks and fill histograms */ | |
73 | Int_t ProcessTracks(); | |
74 | ||
75 | /** Process primary particles from the stack and fill histograms */ | |
76 | Int_t ProcessParticles(); | |
77 | ||
78 | /* | |
79 | * --------------------------------------------------------------------------------- | |
80 | * Helper Methods - private | |
81 | * --------------------------------------------------------------------------------- | |
82 | */ | |
83 | ||
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); | |
87 | ||
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); | |
91 | ||
92 | /* | |
93 | * --------------------------------------------------------------------------------- | |
94 | * Members - private | |
95 | * --------------------------------------------------------------------------------- | |
96 | */ | |
97 | ||
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 | |
106 | ||
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 | // ----------------------------------------------------------------------- | |
115 | ||
116 | ClassDef(AliAnalysisNetParticleDistribution, 1); | |
117 | }; | |
118 | ||
119 | #endif |