]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/AliDielectronHF.h
---> Modified AddTask macro to go with new performance task modifications.
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / AliDielectronHF.h
CommitLineData
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
21class AliDielectron;
22
23class AliDielectronHF : public TNamed {
24public:
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
57private:
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