]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/TRD/AliTRDefficiencyMC.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGPP / TRD / AliTRDefficiencyMC.h
1 #ifndef ALITRDEFFICIENCYMC_H
2 #define ALITRDEFFICIENCYMC_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice                               */
5
6 /* $Id: AliTRDefficiencyMC.h 27496 2008-07-22 08:35:45Z cblume $ */
7
8 ////////////////////////////////////////////////////////////////////////////
9 //                                                                        //
10 //  Reconstruction QA                                                     //
11 //                                                                        //
12 ////////////////////////////////////////////////////////////////////////////
13
14 #ifndef ALITRDRECOTASK_H
15 #include "AliTRDrecoTask.h"
16 #endif
17 class AliTRDefficiencyMC : public AliTRDrecoTask{
18 public:
19   enum ETRDefficiencyMC{
20     kFindable= 0
21    ,kNoChmb
22    ,kCurved
23    ,kPCut
24    ,kPhiCut
25    ,kThtCut
26    ,kLayer
27    ,kPrimary
28   };
29   enum ETRDefficiencyMCstatus{
30     kAccept = 0
31    ,kMiss
32    ,kFake
33   };
34   AliTRDefficiencyMC();
35   AliTRDefficiencyMC(char* name);
36   virtual ~AliTRDefficiencyMC(){;}
37   
38   void        UserCreateOutputObjects();
39   void        UserExec(Option_t *);
40   
41   Bool_t      PostProcess();
42   TObjArray*  Histos();
43   Bool_t      GetRefFigure(Int_t ifig);
44     
45 private:
46   enum{
47     kEfficiencyHistogram = 0
48    ,kContaminationHistogram = 1
49    ,kEfficiencySpeciesHistogram = 2
50   };
51   AliTRDefficiencyMC(const AliTRDefficiencyMC &);
52   AliTRDefficiencyMC& operator=(const AliTRDefficiencyMC &);
53   
54   void    FillHistograms(Int_t ntracks, Int_t *indices, ETRDefficiencyMCstatus mode);
55   void    FillStreamTrackWOMC(AliTRDtrackInfo * const trkInf);
56
57   Int_t   IsFindableNot(AliTRDtrackInfo * const trkInf);
58   Int_t   IsRegistered(const AliTRDtrackInfo * const trkInf, Int_t *indices, Int_t nTracks);
59     
60   static Float_t      fgPCut;   // lower momentum cut
61   static Float_t      fgPhiCut; // higher phi cut
62   static Float_t      fgThtCut; // higher theta cut
63
64
65   ClassDef(AliTRDefficiencyMC, 2); // Combined tracking efficiency
66 };
67     
68 #endif