1 #ifndef ALIMULTIDIMVECTOR_H 2 #define ALIMULTIDIMVECTOR_H 87 printf(
"SetElement: indices %d %d %d ptbin %d elem %d\n",ind[0],ind[1],ind[2],ptbin,(
Int_t)elem);
static const Int_t fgkMaxNVariables
ULong64_t fNTotCells
array with n. of candidates vs. cuts
void FillAndIntegrate(Float_t *values, Int_t ptbin)
Bool_t fGreaterThan[fgkMaxNVariables]
higher cut value for each variable
void SuppressZeroBKGEffect(const AliMultiDimVector *BKG)
void LinearComb(const AliMultiDimVector *mv1, Float_t norm1, const AliMultiDimVector *mv2, Float_t norm2)
Float_t fMinLimits[fgkMaxNVariables]
n. of cut step for each variable
Int_t fNPtBins
n. of selection variables
void DivideBy(const AliMultiDimVector *mv)
Float_t fPtLimits[fgkMaxNPtBins+1]
n. of pt bins
Bool_t IsIntegrated() const
Bool_t fIsIntegrated
total number of matrix elements
Int_t GetNVariables() const
void SetElement(ULong64_t globadd, Float_t val)
Int_t fNVariables
max. n. of Pt bins
void CopyStructure(const AliMultiDimVector *mv)
Float_t GetCutStep(Int_t iVar) const
static const Int_t fgkMaxNPtBins
max. n. of selection variables
ULong64_t GetGlobalAddressFromValues(const Float_t *values, Int_t ptbin) const
Float_t GetPtLimit(Int_t i) const
void IncrementElement(ULong64_t globadd)
void FindMaximum(Float_t &max_value, Int_t *ind, Int_t ptbin)
Bool_t GetCutValuesFromGlobalAddress(ULong64_t globadd, Float_t *cuts, Int_t &ptbin) const
Float_t GetElement(const Int_t *ind, Int_t ptbin) const
void SetNewLimits(Float_t *loose, Float_t *tight)
void MultiplyBy(Float_t factor)
void IncrementElement(Int_t *ind, Int_t ptbin)
Bool_t GetGreaterThan(Int_t iVar) const
Int_t GetPtBin(const Float_t pt) const
TH2F * Project(Int_t firstVar, Int_t secondVar, const Int_t *fixedVars, Int_t ptbin, Float_t norm=1.)
Float_t GetCutValue(Int_t iVar, Int_t iCell) const
void SwapLimits(Int_t ilim)
void Add(const AliMultiDimVector *mv)
ULong64_t * GetGlobalAddressesAboveCuts(const Float_t *values, Float_t pt, Int_t &nVals) const
Float_t fMaxLimits[fgkMaxNVariables]
void SetElement(Int_t *ind, Int_t ptbin, Float_t val)
void Sum(const AliMultiDimVector *mv1, const AliMultiDimVector *mv2)
ULong64_t GetGlobalAddressFromIndices(const Int_t *ind, Int_t ptbin) const
void Multiply(const AliMultiDimVector *mv, Float_t factor)
void Divide(const AliMultiDimVector *mv1, const AliMultiDimVector *mv2)
Float_t GetMaxLimit(Int_t iVar) const
ULong64_t GetNTotCells() const
Int_t GetNCutSteps(Int_t iVar) const
void Fill(Float_t *values, Int_t ptbin)
Int_t * FindLocalMaximum(Float_t &maxValue, Int_t *numFixed, Int_t *indFixed, Int_t nfixed, Int_t ptbin)
AliMultiDimVector & operator=(const AliMultiDimVector &mv)
Bool_t GetIndicesFromValues(const Float_t *values, Int_t *ind) const
AliMultiDimVector * ShrinkPtBins(Int_t firstBin, Int_t lastBin)
TString fAxisTitles[fgkMaxNVariables]
sign of the cut (> or <)
TString GetAxisTitle(Int_t iVar) const
void GetEntireMultiDimVector(Float_t *vett) const
Float_t CountsAboveCell(ULong64_t globadd) const
Int_t fNCutSteps[fgkMaxNVariables]
limits of pt bins
void GetFillRange(Int_t iVar, Int_t iCell, Int_t &minbin, Int_t &maxbin) const
Float_t GetMinLimit(Int_t iVar) const
void GetIntegrationLimits(Int_t iVar, Int_t iCell, Int_t &minbin, Int_t &maxbin) const
Bool_t GetIndicesFromGlobalAddress(ULong64_t globadd, Int_t *ind, Int_t &ptbin) const
virtual ~AliMultiDimVector()
Float_t GetElement(ULong64_t globadd) const
TArrayF fVett
titles for variables