]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/NetParticle/AliAnalysisNetParticleEffCont.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / EBYE / NetParticle / AliAnalysisNetParticleEffCont.h
CommitLineData
cb68eb1d 1//-*- Mode: C++ -*-
2
3#ifndef ALIANALYSISNETPARTICLEEFFCONT_H
4#define ALIANALYSISNETPARTICLEEFFCONT_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 * -- Efficiency and contaminations for netParticle distributions
12 * Authors: Jochen Thaeder <jochen@thaeder.de>
13 * Michael Weber <m.weber@cern.ch>
14 */
cb68eb1d 15
a2ddc3d0 16class AliVTrack;
cb68eb1d 17
a2ddc3d0 18#include "THnSparse.h"
cb68eb1d 19
a2ddc3d0 20#include "AliAnalysisNetParticleBase.h"
cb68eb1d 21
a2ddc3d0 22class AliAnalysisNetParticleEffCont: public AliAnalysisNetParticleBase {
cb68eb1d 23
24 public:
25
cb68eb1d 26 AliAnalysisNetParticleEffCont();
27 virtual ~AliAnalysisNetParticleEffCont();
28
29 /*
30 * ---------------------------------------------------------------------------------
31 * Public Methods
32 * ---------------------------------------------------------------------------------
33 */
34
a2ddc3d0 35 /** Process Event - implements purely virtual method */
36 virtual void Process();
cb68eb1d 37
38 /*
39 * ---------------------------------------------------------------------------------
a2ddc3d0 40 * Setter/Getter
cb68eb1d 41 * ---------------------------------------------------------------------------------
42 */
43
44 /** Get Ptr to efficiency THnSparse */
45 THnSparseF* GetHnEff() {return fHnEff;}
46
47 /** Get Ptr to contaminiation THnSparse */
48 THnSparseF* GetHnCont() {return fHnCont;}
49
50 ///////////////////////////////////////////////////////////////////////////////////
51
52 private:
53
54 AliAnalysisNetParticleEffCont(const AliAnalysisNetParticleEffCont&); // not implemented
55 AliAnalysisNetParticleEffCont& operator=(const AliAnalysisNetParticleEffCont&); // not implemented
56
cb68eb1d 57 /*
58 * ---------------------------------------------------------------------------------
59 * Methods - private
60 * ---------------------------------------------------------------------------------
61 */
62
a2ddc3d0 63 /** Event-wise Initialization - Can be implemented by every class */
64 virtual void Init();
65
66 /** Create the efficiency / contamination THnSparse */
67 virtual void CreateHistograms();
68
69 /** Event-wise Reset - Can be implemented by every class */
70 virtual void Reset();
71
72 /** Event-wise Setup - Can be implemented by every class */
73 virtual Int_t Setup();
74
75 // -----------------------------------------------------------------------
cb68eb1d 76
77 /** Fill MC labels */
78 void FillMCLabels();
79
80 /** Fill efficiency THnSparse */
81 void FillMCEffHist();
82
83 /** Check if particle is contamination */
a2ddc3d0 84 void CheckContTrack(AliVTrack* track);
cb68eb1d 85
86 /*
87 * ---------------------------------------------------------------------------------
88 * Members - private
89 * ---------------------------------------------------------------------------------
90 */
91
a2ddc3d0 92 // =======================================================================
cb68eb1d 93 Int_t **fLabelsRec; //! 2x nTracks large array with labels for MC particles
a2ddc3d0 94 // =======================================================================
cb68eb1d 95 THnSparseF *fHnEff; // THnSparseF efficiency
96 THnSparseF *fHnCont; // THnSparseF contamination
cb68eb1d 97 // -----------------------------------------------------------------------
98
99 ClassDef(AliAnalysisNetParticleEffCont, 1);
100};
101
102#endif