]>
Commit | Line | Data |
---|---|---|
5e2cf960 | 1 | #ifndef ALIDIELECTRONHF_H |
2 | #define ALIDIELECTRONHF_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 AliDielectronHF # | |
10 | //# # | |
11 | //# Authors: # | |
12 | //# Julian Book, Uni-Frankfurt / Julian.Book@cern.ch # | |
13 | //# # | |
14 | //############################################################# | |
15 | ||
16 | #include <TNamed.h> | |
17 | #include <TObjArray.h> | |
18 | ||
19 | #include "AliDielectronVarManager.h" | |
20 | ||
21 | class AliDielectron; | |
22 | ||
23 | class AliDielectronHF : public TNamed { | |
24 | public: | |
25 | enum { kMaxCuts=10 }; | |
26 | enum EBinType { | |
27 | kStdBin=0, | |
28 | kBinToMax, | |
29 | kBinFromMin, | |
30 | kSymBin | |
31 | }; | |
32 | enum EPairType { | |
33 | kOSonly=0, kOSandLS, kOSandROT, kOSandMIX, kAll | |
34 | }; | |
35 | ||
36 | AliDielectronHF(); | |
37 | AliDielectronHF(const char*name, const char* title); | |
38 | ||
39 | virtual ~AliDielectronHF(); | |
40 | void SetPairTypes(EPairType ptype=kOSonly) { fPairType=ptype; } | |
41 | void SetVariable(AliDielectronVarManager::ValueTypes type, Int_t nbins, | |
42 | Double_t min, Double_t max, Bool_t log=kFALSE); | |
43 | ||
44 | void AddCutVariable(AliDielectronVarManager::ValueTypes type, Int_t nbins, | |
45 | Double_t min, Double_t max, Bool_t log=kFALSE, Bool_t leg=kFALSE, EBinType btype=kStdBin); | |
46 | void AddCutVariable(AliDielectronVarManager::ValueTypes type, | |
47 | const char* binLimitStr, Bool_t leg=kFALSE, EBinType btype=kStdBin); | |
48 | void AddCutVariable(AliDielectronVarManager::ValueTypes type, | |
49 | TVectorD * binLimits, Bool_t leg=kFALSE, EBinType btype=kStdBin); | |
50 | ||
51 | Bool_t IsPairTypeSelected(Int_t itype); | |
52 | Int_t GetNumberOfBins() const; | |
53 | void Fill(Int_t pairIndex, const AliDielectronPair *particle); | |
54 | void Init(); | |
55 | const TObjArray * GetHistArray() const { return &fArrPairType; } | |
56 | ||
57 | private: | |
58 | TObjArray fArrPairType; //-> array of pair types | |
59 | EPairType fPairType; // which pair combinations to include | |
60 | ||
61 | UShort_t fVarCuts[kMaxCuts]; // cut variables | |
62 | Bool_t fVarCutType[kMaxCuts]; // array to store leg booleans | |
63 | TObjArray fAxes; // Axis descriptions of the cut binning | |
64 | UShort_t fBinType[kMaxCuts]; // binning type of the axes | |
65 | ||
66 | TVectorD *fVarBinLimits; // binning of the main pair variable | |
67 | UShort_t fVar; // main pair variable for xaxis | |
68 | ||
69 | AliDielectronHF(const AliDielectronHF &c); | |
70 | AliDielectronHF &operator=(const AliDielectronHF &c); | |
71 | ||
72 | ||
73 | ClassDef(AliDielectronHF,1) // Dielectron HF | |
74 | }; | |
75 | ||
76 | ||
77 | ||
78 | #endif |