]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/AliDielectronHF.h
changing bin width in correlations and adding more pt bins
[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
5e2cf960 21class AliDielectronHF : public TNamed {
22public:
187de573 23 enum { kMaxCuts=20 };
5e2cf960 24 enum EBinType {
25 kStdBin=0,
26 kBinToMax,
27 kBinFromMin,
28 kSymBin
29 };
30 enum EPairType {
31 kOSonly=0, kOSandLS, kOSandROT, kOSandMIX, kAll
32 };
33
34 AliDielectronHF();
35 AliDielectronHF(const char*name, const char* title);
36
37 virtual ~AliDielectronHF();
443a091c 38
39 void Init();
40 void SetSignalsMC(TObjArray* array) {fSignalsMC = array;}
4d7704c5 41 void SetStepForMCGenerated(Bool_t switcher=kTRUE) {fStepGenerated = switcher;}
5e2cf960 42 void SetPairTypes(EPairType ptype=kOSonly) { fPairType=ptype; }
43 void SetVariable(AliDielectronVarManager::ValueTypes type, Int_t nbins,
44 Double_t min, Double_t max, Bool_t log=kFALSE);
45
46 void AddCutVariable(AliDielectronVarManager::ValueTypes type, Int_t nbins,
47 Double_t min, Double_t max, Bool_t log=kFALSE, Bool_t leg=kFALSE, EBinType btype=kStdBin);
48 void AddCutVariable(AliDielectronVarManager::ValueTypes type,
49 const char* binLimitStr, Bool_t leg=kFALSE, EBinType btype=kStdBin);
50 void AddCutVariable(AliDielectronVarManager::ValueTypes type,
51 TVectorD * binLimits, Bool_t leg=kFALSE, EBinType btype=kStdBin);
52
443a091c 53 void Fill(Int_t pairIndex, const AliDielectronPair *particle);
54 void Fill(Int_t label1, Int_t label2, Int_t nSignal);
55 void Fill(Int_t Index, Double_t * const valuesPair, Double_t * const valuesLeg1, Double_t * const valuesLeg2);
56
5e2cf960 57 Bool_t IsPairTypeSelected(Int_t itype);
443a091c 58
5e2cf960 59 Int_t GetNumberOfBins() const;
5e2cf960 60 const TObjArray * GetHistArray() const { return &fArrPairType; }
4d7704c5 61 Bool_t GetStepForMCGenerated() const { return fStepGenerated; }
443a091c 62
63
5e2cf960 64
65private:
66 TObjArray fArrPairType; //-> array of pair types
67 EPairType fPairType; // which pair combinations to include
443a091c 68 TObjArray* fSignalsMC; //! array of MC signals to be studied
5e2cf960 69
70 UShort_t fVarCuts[kMaxCuts]; // cut variables
71 Bool_t fVarCutType[kMaxCuts]; // array to store leg booleans
72 TObjArray fAxes; // Axis descriptions of the cut binning
73 UShort_t fBinType[kMaxCuts]; // binning type of the axes
74
75 TVectorD *fVarBinLimits; // binning of the main pair variable
76 UShort_t fVar; // main pair variable for xaxis
443a091c 77 Bool_t fHasMC;
4d7704c5 78 Bool_t fStepGenerated; // switcher for generated particles
5e2cf960 79
80 AliDielectronHF(const AliDielectronHF &c);
81 AliDielectronHF &operator=(const AliDielectronHF &c);
82
83
84 ClassDef(AliDielectronHF,1) // Dielectron HF
85};
86
87
88
89#endif