]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/NetParticle/AliAnalysisNetParticleEffCont.h
Update Netparticle: 1) QA class added 2) cuts for AOD in Efficiency calculation...
[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/**
10 * Class for for NetParticle Distributions
11 * -- Efficiency and contaminations for netParticle distributions
12 * Authors: Jochen Thaeder <jochen@thaeder.de>
13 * Michael Weber <m.weber@cern.ch>
14 */
cb68eb1d 15
16#include "THnSparse.h"
17
18#include "AliAnalysisNetParticleHelper.h"
19
20class AliESDEvent;
21class AliESDInputHandler;
9be43c8e 22class AliAODInputHandler;
cb68eb1d 23class AliMCEvent;
24
25class AliAnalysisNetParticleEffCont : public TNamed {
26
27 public:
28
29 /*
30 * ---------------------------------------------------------------------------------
31 * Constructor / Destructor
32 * ---------------------------------------------------------------------------------
33 */
34
35 AliAnalysisNetParticleEffCont();
36 virtual ~AliAnalysisNetParticleEffCont();
37
38 /*
39 * ---------------------------------------------------------------------------------
40 * Public Methods
41 * ---------------------------------------------------------------------------------
42 */
43
44 /** Initialize */
5de3d4d1 45 void Initialize(AliAnalysisNetParticleHelper* helper, AliESDtrackCuts *cuts, Int_t trackCutBit);
cb68eb1d 46
47 /** Setup Event */
478c95cf 48 Int_t SetupEvent(AliESDInputHandler *esdHandler, AliAODInputHandler *aodHandler, AliMCEvent *mcEvent);
cb68eb1d 49
50 /** Reset Event */
51 void ResetEvent();
52
53 /** Process Event */
54 void Process();
55
56 /*
57 * ---------------------------------------------------------------------------------
58 * Getter
59 * ---------------------------------------------------------------------------------
60 */
61
62 /** Get Ptr to efficiency THnSparse */
63 THnSparseF* GetHnEff() {return fHnEff;}
64
65 /** Get Ptr to contaminiation THnSparse */
66 THnSparseF* GetHnCont() {return fHnCont;}
67
68 ///////////////////////////////////////////////////////////////////////////////////
69
70 private:
71
72 AliAnalysisNetParticleEffCont(const AliAnalysisNetParticleEffCont&); // not implemented
73 AliAnalysisNetParticleEffCont& operator=(const AliAnalysisNetParticleEffCont&); // not implemented
74
cb68eb1d 75 /*
76 * ---------------------------------------------------------------------------------
77 * Methods - private
78 * ---------------------------------------------------------------------------------
79 */
80
81 /** Create the efficiency / contamination THnSparseF */
82 void CreateHistograms();
83
84 /** Fill MC labels */
85 void FillMCLabels();
86
87 /** Fill efficiency THnSparse */
88 void FillMCEffHist();
89
90 /** Check if particle is contamination */
91 void CheckContTrack(Int_t label, Float_t sign, Int_t idxTrack);
92
93 /*
94 * ---------------------------------------------------------------------------------
95 * Members - private
96 * ---------------------------------------------------------------------------------
97 */
98
99 AliAnalysisNetParticleHelper *fHelper; //! Ptr to helper class
100
101 // -----------------------------------------------------------------------
102
103 Int_t fPdgCode; // PDG code of particle to be found
104
105 // --- ESD only ----------------------------------------------------------
106
107 AliESDEvent *fESD; //! ESD object
108 AliESDtrackCuts *fESDTrackCuts; //! ESD cuts
109
9be43c8e 110 // --- AOD only ----------------------------------------------------------
111
112 AliAODEvent *fAOD; //! AOD object
113 TClonesArray *fArrayMC; //! array of MC particles
114
cb68eb1d 115 // -----------------------------------------------------------------------
116
117 Float_t fCentralityBin; // Centrality of current event
118 Int_t fNTracks; // N Tracks in the current event
119
9be43c8e 120 Int_t fAODtrackCutBit; // Track filter bit for AOD tracks
121
cb68eb1d 122 // --- MC only -----------------------------------------------------------
123
124 AliStack *fStack; //! Ptr to stack
125 AliMCEvent *fMCEvent; //! Ptr to MC event
126
127 Int_t **fLabelsRec; //! 2x nTracks large array with labels for MC particles
128
129 // -----------------------------------------------------------------------
130
131 THnSparseF *fHnEff; // THnSparseF efficiency
132 THnSparseF *fHnCont; // THnSparseF contamination
133
134 // -----------------------------------------------------------------------
135
136 ClassDef(AliAnalysisNetParticleEffCont, 1);
137};
138
139#endif