]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - PWGCF/EBYE/NetParticle/AliAnalysisNetParticleDistribution.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / EBYE / NetParticle / AliAnalysisNetParticleDistribution.h
... / ...
CommitLineData
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
21class 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