]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/TRD/AliTRDefficiencyMC.h
prepare infrastructure for fixing bug 60872
[u/mrichter/AliRoot.git] / PWG1 / 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   virtual ~AliTRDefficiencyMC(){;}
36   
37   void        CreateOutputObjects();
38   void        Exec(Option_t *);
39   
40   Bool_t      PostProcess();
41   TObjArray*  Histos();
42   Bool_t      GetRefFigure(Int_t ifig);
43     
44 private:
45   enum{
46     kEfficiencyHistogram = 0
47    ,kContaminationHistogram = 1
48    ,kEfficiencySpeciesHistogram = 2
49   };
50   AliTRDefficiencyMC(const AliTRDefficiencyMC &);
51   AliTRDefficiencyMC& operator=(const AliTRDefficiencyMC &);
52   
53   void    FillHistograms(Int_t ntracks, Int_t *indices, ETRDefficiencyMCstatus mode);
54   void    FillStreamTrackWOMC(AliTRDtrackInfo * const trkInf);
55
56   Int_t   IsFindableNot(AliTRDtrackInfo * const trkInf);
57   Int_t   IsRegistered(AliTRDtrackInfo * const trkInf, Int_t *indices, Int_t nTracks);
58     
59   static Float_t      fgPCut;   // lower momentum cut
60   static Float_t      fgPhiCut; // higher phi cut
61   static Float_t      fgThtCut; // higher theta cut
62
63
64   ClassDef(AliTRDefficiencyMC, 2); // Combined tracking efficiency
65 };
66     
67 #endif