]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGDQ/dielectron/AliDielectronHFhelper.h
- HF can take now all kind of histograms
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / AliDielectronHFhelper.h
1 #ifndef ALIDIELECTRONHFHELPER_H
2 #define ALIDIELECTRONHFHELPER_H
3 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //#############################################################
7 //#                                                           #
8 //#             Class AliDielectronHF                         #
9 //#       Dielectron Histogram Framework helper         #
10 //#                                                           #
11 //#  Authors:                                                 #
12 //#   Julian    Book,     Uni Ffm / Julian.Book@cern.ch       #
13 //#                                                           #
14 //#############################################################
15
16
17
18 #include <TNamed.h>
19 #include <TVectorD.h>
20
21 #include "AliDielectronVarManager.h"
22
23 class AliDielectronHFhelper : public TNamed {
24 public:
25   enum ECollectType { kSE=0, kME, kMEOS, kROT, kAll };
26   enum { kMaxCuts=20 };
27
28   //AliDielectronHFhelper();
29   AliDielectronHFhelper(const char* filename, const char* container);
30
31   virtual ~AliDielectronHFhelper();
32   void SetHFArray(const char* filename, const char* container);
33
34   void SetRangeUser(const char *varname, Double_t min, Double_t max, Bool_t leg=kFALSE);
35   void SetRangeUser(AliDielectronVarManager::ValueTypes type, Double_t min, Double_t max, Bool_t leg=kFALSE);
36   void UnsetRangeUser(const char* varname, Bool_t leg=kFALSE);
37   void UnsetRangeUser(AliDielectronVarManager::ValueTypes type, Bool_t leg=kFALSE);
38
39   TObjArray* CollectHistos();
40
41   TH1* GetHistogram(const char *step, TObjArray *histArr=0x0);
42   TH1* FindHistograms(TObjArray *histos);
43   TH1* MergeHistos(TObjArray *arr);
44
45   void CheckCuts(TObjArray *arr);
46   virtual void Print(const Option_t* option ="") const ;
47   void PrintCuts();
48
49 private:
50   TObjArray *fArrPairType;         // array of pair types, sources or steps
51   TObjArray *fCutVars;             // array for cut variables
52   TVectorD fCutLowLimits;
53   TVectorD fCutUpLimits;
54
55   AliDielectronHFhelper(const AliDielectronHFhelper &c);
56   AliDielectronHFhelper &operator=(const AliDielectronHFhelper &c);
57
58   ClassDef(AliDielectronHFhelper,0)                   // HF  helper class
59 };
60
61 //
62 // Inline functions
63 //
64 #endif
65