AliPhysics  a4b41ad (a4b41ad)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMultiDimVector Class Reference

#include <AliMultiDimVector.h>

Inheritance diagram for AliMultiDimVector:

Public Member Functions

 AliMultiDimVector ()
 
 AliMultiDimVector (const AliMultiDimVector &mv)
 
AliMultiDimVectoroperator= (const AliMultiDimVector &mv)
 
 AliMultiDimVector (const char *name, const char *title, const Int_t nptbins, const Float_t *ptlimits, const Int_t npars, const Int_t *nofcells, const Float_t *loosecuts, const Float_t *tightcuts, const TString *axisTitles)
 
virtual ~AliMultiDimVector ()
 
ULong64_t GetNTotCells () const
 
Int_t GetNVariables () const
 
Int_t GetNPtBins () const
 
Int_t GetNCutSteps (Int_t iVar) const
 
Float_t GetMinLimit (Int_t iVar) const
 
Float_t GetMaxLimit (Int_t iVar) const
 
Float_t GetCutStep (Int_t iVar) const
 
TString GetAxisTitle (Int_t iVar) const
 
Bool_t IsIntegrated () const
 
void CopyStructure (const AliMultiDimVector *mv)
 
Float_t GetCutValue (Int_t iVar, Int_t iCell) const
 
Float_t GetElement (ULong64_t globadd) const
 
Float_t GetElement (const Int_t *ind, Int_t ptbin) const
 
Float_t GetPtLimit (Int_t i) const
 
Int_t GetPtBin (const Float_t pt) const
 
void GetEntireMultiDimVector (Float_t *vett) const
 
Bool_t GetIndicesFromGlobalAddress (ULong64_t globadd, Int_t *ind, Int_t &ptbin) const
 
ULong64_t GetGlobalAddressFromIndices (const Int_t *ind, Int_t ptbin) const
 
Bool_t GetIndicesFromValues (const Float_t *values, Int_t *ind) const
 
ULong64_t GetGlobalAddressFromValues (const Float_t *values, Int_t ptbin) const
 
Bool_t GetCutValuesFromGlobalAddress (ULong64_t globadd, Float_t *cuts, Int_t &ptbin) const
 
ULong64_t * GetGlobalAddressesAboveCuts (const Float_t *values, Float_t pt, Int_t &nVals) const
 
ULong64_t * GetGlobalAddressesAboveCuts (const Float_t *values, Int_t ptbin, Int_t &nVals) const
 
Bool_t GetGreaterThan (Int_t iVar) const
 
void SetElement (ULong64_t globadd, Float_t val)
 
void SetElement (Int_t *ind, Int_t ptbin, Float_t val)
 
void IncrementElement (Int_t *ind, Int_t ptbin)
 
void IncrementElement (ULong64_t globadd)
 
void Fill (Float_t *values, Int_t ptbin)
 
void FillAndIntegrate (Float_t *values, Int_t ptbin)
 
void Integrate ()
 
void Reset ()
 
void MultiplyBy (Float_t factor)
 
void Multiply (const AliMultiDimVector *mv, Float_t factor)
 
void Multiply (const AliMultiDimVector *mv1, const AliMultiDimVector *mv2)
 
void Add (const AliMultiDimVector *mv)
 
void Sum (const AliMultiDimVector *mv1, const AliMultiDimVector *mv2)
 
void LinearComb (const AliMultiDimVector *mv1, Float_t norm1, const AliMultiDimVector *mv2, Float_t norm2)
 
void DivideBy (const AliMultiDimVector *mv)
 
void Divide (const AliMultiDimVector *mv1, const AliMultiDimVector *mv2)
 
void Sqrt ()
 
void Sqrt (const AliMultiDimVector *mv)
 
void FindMaximum (Float_t &max_value, Int_t *ind, Int_t ptbin)
 
Int_tFindLocalMaximum (Float_t &maxValue, Int_t *numFixed, Int_t *indFixed, Int_t nfixed, Int_t ptbin)
 
TH2FProject (Int_t firstVar, Int_t secondVar, const Int_t *fixedVars, Int_t ptbin, Float_t norm=1.)
 
void SuppressZeroBKGEffect (const AliMultiDimVector *BKG)
 
AliMultiDimVectorShrinkPtBins (Int_t firstBin, Int_t lastBin)
 
void SetNewLimits (Float_t *loose, Float_t *tight)
 
void SwapLimits (Int_t ilim)
 
void PrintStatus ()
 

Protected Member Functions

void GetIntegrationLimits (Int_t iVar, Int_t iCell, Int_t &minbin, Int_t &maxbin) const
 
void GetFillRange (Int_t iVar, Int_t iCell, Int_t &minbin, Int_t &maxbin) const
 
Float_t CountsAboveCell (ULong64_t globadd) const
 

Private Attributes

Int_t fNVariables
 max. n. of Pt bins More...
 
Int_t fNPtBins
 n. of selection variables More...
 
Float_t fPtLimits [fgkMaxNPtBins+1]
 n. of pt bins More...
 
Int_t fNCutSteps [fgkMaxNVariables]
 limits of pt bins More...
 
Float_t fMinLimits [fgkMaxNVariables]
 n. of cut step for each variable More...
 
Float_t fMaxLimits [fgkMaxNVariables]
 
Bool_t fGreaterThan [fgkMaxNVariables]
 higher cut value for each variable More...
 
TString fAxisTitles [fgkMaxNVariables]
 sign of the cut (> or <) More...
 
TArrayF fVett
 titles for variables More...
 
ULong64_t fNTotCells
 array with n. of candidates vs. cuts More...
 
Bool_t fIsIntegrated
 total number of matrix elements More...
 

Static Private Attributes

static const Int_t fgkMaxNVariables =10
 
static const Int_t fgkMaxNPtBins =10
 max. n. of selection variables More...
 

Detailed Description

// Class to store number of signal and background candidates // in bins of cut variables // Origin: Elena Bruna (bruna.nosp@m.@to..nosp@m.infn..nosp@m.it) // Updated: Sergey Senyukov (senyu.nosp@m.kov@.nosp@m.to.in.nosp@m.fn.i.nosp@m.t) // Francesco Prino (prino.nosp@m.@to..nosp@m.infn..nosp@m.it) // Last Updated: Giacomo Ortona (orton.nosp@m.a@to.nosp@m..infn.nosp@m..it) // //

Definition at line 28 of file AliMultiDimVector.h.

Constructor & Destructor Documentation

AliMultiDimVector::AliMultiDimVector ( )

Definition at line 44 of file AliMultiDimVector.cxx.

Referenced by ShrinkPtBins().

AliMultiDimVector::AliMultiDimVector ( const AliMultiDimVector mv)

Definition at line 117 of file AliMultiDimVector.cxx.

AliMultiDimVector::AliMultiDimVector ( const char *  name,
const char *  title,
const Int_t  nptbins,
const Float_t ptlimits,
const Int_t  npars,
const Int_t nofcells,
const Float_t loosecuts,
const Float_t tightcuts,
const TString axisTitles 
)

Definition at line 65 of file AliMultiDimVector.cxx.

virtual AliMultiDimVector::~AliMultiDimVector ( )
inlinevirtual

Definition at line 36 of file AliMultiDimVector.h.

Member Function Documentation

void AliMultiDimVector::Add ( const AliMultiDimVector mv)

Definition at line 316 of file AliMultiDimVector.cxx.

Float_t AliMultiDimVector::CountsAboveCell ( ULong64_t  globadd) const
protected

Definition at line 598 of file AliMultiDimVector.cxx.

Referenced by Integrate().

void AliMultiDimVector::Divide ( const AliMultiDimVector mv1,
const AliMultiDimVector mv2 
)

Definition at line 370 of file AliMultiDimVector.cxx.

void AliMultiDimVector::DivideBy ( const AliMultiDimVector mv)

Definition at line 356 of file AliMultiDimVector.cxx.

void AliMultiDimVector::Fill ( Float_t values,
Int_t  ptbin 
)

Definition at line 635 of file AliMultiDimVector.cxx.

void AliMultiDimVector::FillAndIntegrate ( Float_t values,
Int_t  ptbin 
)

Definition at line 647 of file AliMultiDimVector.cxx.

Int_t * AliMultiDimVector::FindLocalMaximum ( Float_t maxValue,
Int_t numFixed,
Int_t indFixed,
Int_t  nfixed,
Int_t  ptbin 
)

!take care of deleting the array of index returned!!

Definition at line 421 of file AliMultiDimVector.cxx.

void AliMultiDimVector::FindMaximum ( Float_t max_value,
Int_t ind,
Int_t  ptbin 
)
TString AliMultiDimVector::GetAxisTitle ( Int_t  iVar) const
inline
Float_t AliMultiDimVector::GetCutStep ( Int_t  iVar) const
inline

Definition at line 44 of file AliMultiDimVector.h.

Referenced by GetCutValue(), and GetIndicesFromValues().

Float_t AliMultiDimVector::GetCutValue ( Int_t  iVar,
Int_t  iCell 
) const
inline
Bool_t AliMultiDimVector::GetCutValuesFromGlobalAddress ( ULong64_t  globadd,
Float_t cuts,
Int_t ptbin 
) const

Definition at line 228 of file AliMultiDimVector.cxx.

Referenced by GetCutValuesFromNHist().

Float_t AliMultiDimVector::GetElement ( const Int_t ind,
Int_t  ptbin 
) const
inline

Definition at line 55 of file AliMultiDimVector.h.

void AliMultiDimVector::GetEntireMultiDimVector ( Float_t vett) const
inline

Definition at line 65 of file AliMultiDimVector.h.

void AliMultiDimVector::GetFillRange ( Int_t  iVar,
Int_t  iCell,
Int_t minbin,
Int_t maxbin 
) const
protected

Definition at line 533 of file AliMultiDimVector.cxx.

Referenced by FillAndIntegrate(), and GetGlobalAddressesAboveCuts().

ULong64_t* AliMultiDimVector::GetGlobalAddressesAboveCuts ( const Float_t values,
Float_t  pt,
Int_t nVals 
) const
inline

Definition at line 75 of file AliMultiDimVector.h.

Referenced by AliAnalysisTaskSESignificance::UserExec().

ULong64_t * AliMultiDimVector::GetGlobalAddressesAboveCuts ( const Float_t values,
Int_t  ptbin,
Int_t nVals 
) const

Definition at line 554 of file AliMultiDimVector.cxx.

ULong64_t AliMultiDimVector::GetGlobalAddressFromIndices ( const Int_t ind,
Int_t  ptbin 
) const
ULong64_t AliMultiDimVector::GetGlobalAddressFromValues ( const Float_t values,
Int_t  ptbin 
) const

Definition at line 277 of file AliMultiDimVector.cxx.

Referenced by GetNHistFromValues().

Bool_t AliMultiDimVector::GetGreaterThan ( Int_t  iVar) const
inline

Definition at line 81 of file AliMultiDimVector.h.

Referenced by AliMultiDimVector(), CopyStructure(), and operator=().

Bool_t AliMultiDimVector::GetIndicesFromGlobalAddress ( ULong64_t  globadd,
Int_t ind,
Int_t ptbin 
) const
Bool_t AliMultiDimVector::GetIndicesFromValues ( const Float_t values,
Int_t ind 
) const
void AliMultiDimVector::GetIntegrationLimits ( Int_t  iVar,
Int_t  iCell,
Int_t minbin,
Int_t maxbin 
) const
protected

Definition at line 523 of file AliMultiDimVector.cxx.

Referenced by CountsAboveCell().

Float_t AliMultiDimVector::GetMaxLimit ( Int_t  iVar) const
inline
Float_t AliMultiDimVector::GetMinLimit ( Int_t  iVar) const
inline
Int_t AliMultiDimVector::GetNCutSteps ( Int_t  iVar) const
inline
Int_t AliMultiDimVector::GetNPtBins ( ) const
inline

Definition at line 40 of file AliMultiDimVector.h.

Referenced by CopyStructure().

Int_t AliMultiDimVector::GetNVariables ( ) const
inline
Int_t AliMultiDimVector::GetPtBin ( const Float_t  pt) const
inline

Definition at line 60 of file AliMultiDimVector.h.

Referenced by GetGlobalAddressesAboveCuts().

Float_t AliMultiDimVector::GetPtLimit ( Int_t  i) const
inline
void AliMultiDimVector::IncrementElement ( Int_t ind,
Int_t  ptbin 
)
inline

Definition at line 91 of file AliMultiDimVector.h.

Referenced by Fill(), and FillAndIntegrate().

void AliMultiDimVector::IncrementElement ( ULong64_t  globadd)
inline

Definition at line 94 of file AliMultiDimVector.h.

void AliMultiDimVector::Integrate ( )

Definition at line 543 of file AliMultiDimVector.cxx.

Bool_t AliMultiDimVector::IsIntegrated ( ) const
inline

Definition at line 46 of file AliMultiDimVector.h.

Referenced by CopyStructure().

void AliMultiDimVector::LinearComb ( const AliMultiDimVector mv1,
Float_t  norm1,
const AliMultiDimVector mv2,
Float_t  norm2 
)

Definition at line 342 of file AliMultiDimVector.cxx.

void AliMultiDimVector::Multiply ( const AliMultiDimVector mv,
Float_t  factor 
)

Definition at line 298 of file AliMultiDimVector.cxx.

void AliMultiDimVector::Multiply ( const AliMultiDimVector mv1,
const AliMultiDimVector mv2 
)

Definition at line 307 of file AliMultiDimVector.cxx.

void AliMultiDimVector::MultiplyBy ( Float_t  factor)

Definition at line 288 of file AliMultiDimVector.cxx.

AliMultiDimVector & AliMultiDimVector::operator= ( const AliMultiDimVector mv)

Definition at line 151 of file AliMultiDimVector.cxx.

void AliMultiDimVector::PrintStatus ( )

Definition at line 778 of file AliMultiDimVector.cxx.

TH2F * AliMultiDimVector::Project ( Int_t  firstVar,
Int_t  secondVar,
const Int_t fixedVars,
Int_t  ptbin,
Float_t  norm = 1. 
)

Definition at line 496 of file AliMultiDimVector.cxx.

void AliMultiDimVector::Reset ( )
inline

Definition at line 102 of file AliMultiDimVector.h.

void AliMultiDimVector::SetElement ( Int_t ind,
Int_t  ptbin,
Float_t  val 
)
inline

Definition at line 84 of file AliMultiDimVector.h.

void AliMultiDimVector::SetNewLimits ( Float_t loose,
Float_t tight 
)

Definition at line 756 of file AliMultiDimVector.cxx.

AliMultiDimVector * AliMultiDimVector::ShrinkPtBins ( Int_t  firstBin,
Int_t  lastBin 
)

Definition at line 691 of file AliMultiDimVector.cxx.

void AliMultiDimVector::Sqrt ( )

Definition at line 385 of file AliMultiDimVector.cxx.

void AliMultiDimVector::Sqrt ( const AliMultiDimVector mv)

Definition at line 395 of file AliMultiDimVector.cxx.

void AliMultiDimVector::Sum ( const AliMultiDimVector mv1,
const AliMultiDimVector mv2 
)

Definition at line 328 of file AliMultiDimVector.cxx.

void AliMultiDimVector::SuppressZeroBKGEffect ( const AliMultiDimVector BKG)

Definition at line 685 of file AliMultiDimVector.cxx.

void AliMultiDimVector::SwapLimits ( Int_t  ilim)

Definition at line 770 of file AliMultiDimVector.cxx.

Member Data Documentation

TString AliMultiDimVector::fAxisTitles[fgkMaxNVariables]
private

sign of the cut (> or <)

Definition at line 148 of file AliMultiDimVector.h.

Referenced by AliMultiDimVector(), CopyStructure(), GetAxisTitle(), operator=(), PrintStatus(), Project(), and ShrinkPtBins().

const Int_t AliMultiDimVector::fgkMaxNPtBins =10
staticprivate

max. n. of selection variables

Definition at line 139 of file AliMultiDimVector.h.

Referenced by AliMultiDimVector(), operator=(), and ShrinkPtBins().

Bool_t AliMultiDimVector::fGreaterThan[fgkMaxNVariables]
private
Bool_t AliMultiDimVector::fIsIntegrated
private

total number of matrix elements

Definition at line 151 of file AliMultiDimVector.h.

Referenced by CopyStructure(), Fill(), FillAndIntegrate(), Integrate(), IsIntegrated(), and operator=().

Float_t AliMultiDimVector::fMinLimits[fgkMaxNVariables]
private
Float_t AliMultiDimVector::fPtLimits[fgkMaxNPtBins+1]
private

The documentation for this class was generated from the following files: