-add cut qa class
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / AliDielectronCutQA.h
1 #ifndef ALIDIELECTRONCUTQA_H
2 #define ALIDIELECTRONCUTQA_H
3
4 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //#################################################################
8 //#                                                               #
9 //#             Class AliDielectronCutQA                          #
10 //#              Dielectron Group of cuts                         #
11 //#                                                               #
12 //#  Authors:                                                     #
13 //#   Julian    Book,     Uni Ffm / Julian.Book@cern.ch           #
14 //#                                                               #
15 //#################################################################
16
17 #include <TNamed.h>
18 #include <AliAnalysisFilter.h>
19 #include <TH1F.h>
20 #include <TList.h>
21 #include <TObjArray.h>
22
23 class TCollection;
24
25 class AliDielectronCutQA : public TNamed {
26   
27 public:
28   enum { kTrack=0, kPair, kEvent, kNtypes };
29
30   AliDielectronCutQA();
31   AliDielectronCutQA(const char*name, const char* title);
32   
33   virtual ~AliDielectronCutQA();
34
35   //Analysis cuts interface
36   //
37   void Init();
38   void AddTrackFilter(     AliAnalysisFilter *trkFilter);
39   /* void AddPrePairFilter(   AliAnalysisFilter *prePairFilter); */
40   /* void AddPrePairLegFilter(AliAnalysisFilter *prePairLegFilter); */
41   void AddPairFilter(      AliAnalysisFilter *pairFilter);
42   void AddEventFilter(     AliAnalysisFilter *eventFilter);
43
44   //  void Fill(AliAnalysisCuts *cut);
45   void Fill(UInt_t mask, TObject *obj);
46   void FillAll(TObject *obj);// { fCutQA->Fill(0); }
47
48   const TObjArray * GetQAHistArray() const { return &fQAHistArray; }
49
50
51 private:
52
53   TObjArray fQAHistArray;              //-> array of QA histograms
54   TH1F *fCutQA[kNtypes];               // qa histogram
55   Int_t fNCuts[kNtypes];               // number of cuts
56   const char* fCutNames[20][kNtypes];  // cut names
57   const char* fTypeKeys[kNtypes];      // type names
58
59
60   UInt_t GetObjIndex(TObject *obj);    // return object index
61   
62   ClassDef(AliDielectronCutQA,1) //Group of cuts
63 };
64
65 #endif