3 #ifndef ALIANALYSISNETPARTICLEEFFCONT_H
4 #define ALIANALYSISNETPARTICLEEFFCONT_H
6 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice */
9 // Efficiency and Contaminations for NetParticle Distributions
10 // Authors: Jochen Thaeder <jochen@thaeder.de>
12 #include "THnSparse.h"
14 #include "AliAnalysisNetParticleHelper.h"
17 class AliESDInputHandler;
20 class AliAnalysisNetParticleEffCont : public TNamed {
25 * ---------------------------------------------------------------------------------
26 * Constructor / Destructor
27 * ---------------------------------------------------------------------------------
30 AliAnalysisNetParticleEffCont();
31 virtual ~AliAnalysisNetParticleEffCont();
34 * ---------------------------------------------------------------------------------
36 * ---------------------------------------------------------------------------------
40 void Initialize(AliESDtrackCuts *cuts, AliAnalysisNetParticleHelper* helper);
43 Int_t SetupEvent(AliESDInputHandler *esdHandler, AliMCEvent *mcEvent);
52 * ---------------------------------------------------------------------------------
54 * ---------------------------------------------------------------------------------
57 /** Get Ptr to efficiency THnSparse */
58 THnSparseF* GetHnEff() {return fHnEff;}
60 /** Get Ptr to contaminiation THnSparse */
61 THnSparseF* GetHnCont() {return fHnCont;}
63 ///////////////////////////////////////////////////////////////////////////////////
67 AliAnalysisNetParticleEffCont(const AliAnalysisNetParticleEffCont&); // not implemented
68 AliAnalysisNetParticleEffCont& operator=(const AliAnalysisNetParticleEffCont&); // not implemented
72 * ---------------------------------------------------------------------------------
74 * ---------------------------------------------------------------------------------
77 /** Create the efficiency / contamination THnSparseF */
78 void CreateHistograms();
83 /** Fill efficiency THnSparse */
86 /** Check if particle is contamination */
87 void CheckContTrack(Int_t label, Float_t sign, Int_t idxTrack);
90 * ---------------------------------------------------------------------------------
92 * ---------------------------------------------------------------------------------
95 AliAnalysisNetParticleHelper *fHelper; //! Ptr to helper class
97 // -----------------------------------------------------------------------
99 Int_t fPdgCode; // PDG code of particle to be found
101 // --- ESD only ----------------------------------------------------------
103 AliESDEvent *fESD; //! ESD object
104 AliESDtrackCuts *fESDTrackCuts; //! ESD cuts
106 // -----------------------------------------------------------------------
108 Float_t fCentralityBin; // Centrality of current event
109 Int_t fNTracks; // N Tracks in the current event
111 // --- MC only -----------------------------------------------------------
113 AliStack *fStack; //! Ptr to stack
114 AliMCEvent *fMCEvent; //! Ptr to MC event
116 Int_t **fLabelsRec; //! 2x nTracks large array with labels for MC particles
118 // -----------------------------------------------------------------------
120 THnSparseF *fHnEff; // THnSparseF efficiency
121 THnSparseF *fHnCont; // THnSparseF contamination
123 // -----------------------------------------------------------------------
125 ClassDef(AliAnalysisNetParticleEffCont, 1);