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