ROOT logo
AliRoot » PWGLF » FORWARD » ANALYSIS2 » AliForwardFlowTaskQC::VertexBin

class AliForwardFlowTaskQC::VertexBin: public TNamed

Function Members (Methods)

public:
virtual~VertexBin()
voidTObject::AbstractMethod(const char* method) const
voidAddOutput(TList* list, TAxis* centAxis)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
voidCumulantsAccumulate(Double_t cent)
voidCumulantsAccumulate3Cor(Double_t cent)
voidCumulantsTerminate(TList* inlist, TList* outlist)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
Bool_tFillHists(TH2D& dNdetadphi, Double_t cent, UShort_t mode)
Bool_tFillTracks(TObjArray* trList, AliESDEvent* esd, AliAnalysisFilter* trFilter, UShort_t mode)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
voidGetLimits(Int_t bin, Int_t& aLow, Int_t& aHigh, Int_t& bLow, Int_t& bHigh) const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliForwardFlowTaskQC::VertexBin&operator=(const AliForwardFlowTaskQC::VertexBin& v)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
AliForwardFlowTaskQC::VertexBinVertexBin()
AliForwardFlowTaskQC::VertexBinVertexBin(const AliForwardFlowTaskQC::VertexBin& o)
AliForwardFlowTaskQC::VertexBinVertexBin(Int_t vLow, Int_t vHigh, UShort_t moment, TString type, UShort_t flags, Double_t cut = -1, Double_t etaGap = -1.)
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
voidAddVertexBins(AliForwardFlowTaskQC::CumuHistos& cumu, TList* list, UInt_t nNUA) const
voidCalculate3CorFlow(AliForwardFlowTaskQC::CumuHistos& cumu2h, TH2I* quality, TH1D* chist, TH2D* dNdetaRef, TH2D* dNdetaDiff) const
voidCalculateDifferentialFlow(AliForwardFlowTaskQC::CumuHistos& cumu2h, AliForwardFlowTaskQC::CumuHistos& cumu4h, TH2I* quality, TH2D* dNdetaDiff) const
Double_tCalculateNUAMatrixElement(Int_t n, Int_t m, Char_t type, Int_t binA, Int_t cBin) const
voidCalculateReferenceFlow(AliForwardFlowTaskQC::CumuHistos& cumu2h, AliForwardFlowTaskQC::CumuHistos& cumu4h, TH2I* quality, TH1D* chist, TH2D* dNdetaRef) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Int_tGetBinNumberCos(Int_t n = 0) const
Int_tGetBinNumberSin(Int_t n = 0) const
TH2D*MakeOutputHist(Int_t qc, Int_t n, const Char_t* ctype, UInt_t nua) const
TH2I*MakeQualityHist(const Char_t* name) const
voidTObject::MakeZombie()
voidSetupNUALabels(TAxis* a) const
voidSolveCoupledFlowEquations(AliForwardFlowTaskQC::CumuHistos& cumu, Char_t type) const

Data Members

public:
enum { kW2Two
kW2
kW4Four
kW4
kCosphi1phi2
kSinphi1phi2
kCosphi1phi2phi3m
kSinphi1phi2phi3m
k3pWeight
kCosphi1phi2phi3p
kSinphi1phi2phi3p
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TH2D*fCumuDiffHistogram for differential flow
AliForwardFlowTaskQC::CumuHistosfCumuHistsArray of histograms for cumulants calculations
TH3D*fCumuNUADiffhistogram for NUA terms
TH3D*fCumuNUARefhistogram for NUA terms
TH2D*fCumuRefHistogram for reference flow
UShort_tfDebugDebug flag
Double_tfEtaGapEta gap value
Double_tfEtaLims[6]Limits for binning in 3Cor method
UShort_tfFlagsFlow flags, e.g., eta-gap or sat. vtx
UShort_tfMaxMomentMax flow moment
TStringTNamed::fNameobject identifier
TH2F*fOutliersSigma <M> histogram
Double_tfSigmaCutDetector specific cut for outlier events
TStringTNamed::fTitleobject title
TStringfTypeData type
Int_tfVzMaxz-vertex max must be in whole [cm]
Int_tfVzMinz-vertex min must be in whole [cm]
TH2F*fdNdedpDiffAccDiagnostics histogram for acc. maps
TH2F*fdNdedpRefAccDiagnostics histogram for acc. maps

Class Charts

Inheritance Chart:
TNamed
AliForwardFlowTaskQC::VertexBin

Function documentation

VertexBin()
  Default constructor

VertexBin(Int_t vLow, Int_t vHigh, UShort_t moment, TString type, UShort_t flags, Double_t cut = -1, Double_t etaGap = -1.)
  Constructor

  Parameters
   vLow: min z-coordinate
   vHigh: max z-coordinate
   moment: max flow moment
   name: data type name (FMD/SPD/FMDTR/SPDTR/MC)
   flags: flow flags
   cut: sigma cut
   etaGap: eta-gap value

operator=(const AliForwardFlowTaskQC::VertexBin& v)
  Assignment operator

  Parameters
   o: AliForwardFlowTaskQC::VertexBin

void AddOutput(TList* list, TAxis* centAxis)
  Add histograms to outputlist

  Parameters
   outputlist: list of histograms
   centAxis: centrality axis

Bool_t FillHists(TH2D& dNdetadphi, Double_t cent, UShort_t mode)
  Fill reference and differential eta-histograms

  Parameters:
   dNdetadphi: 2D histogram with input data
   cent: centrality
   mode: filling mode: kFillRef/kFillDiff/kFillBoth

Bool_t FillTracks(TObjArray* trList, AliESDEvent* esd, AliAnalysisFilter* trFilter, UShort_t mode)
  Fill reference and differential eta-histograms

  Parameters:
   trList: list of tracks
   mode: filling mode: kFillRef/kFillDiff/kFillBoth

void CumulantsAccumulate(Double_t cent)
  Calculate the Q cumulant up to order fMaxMoment

  Parameters:
   cent: centrality of event

void GetLimits(Int_t bin, Int_t& aLow, Int_t& aHigh, Int_t& bLow, Int_t& bHigh) const
  Get the limits for the 3 correlator method

  Parameters:
   bin  : reference bin #
   aLow : Lowest bin to be included in v_A calculations
   aHigh: Highest bin to be included in v_A calculations
   bLow : Lowest bin to be included in v_B calculations
   bHigh: Highest bin to be included in v_B calculations

void CumulantsAccumulate3Cor(Double_t cent)
  Calculate the Q cumulant up to order fMaxMoment

  Parameters:
   cent: centrality of event

void CumulantsTerminate(TList* inlist, TList* outlist)
  Finalizes the Q cumulant calculations

  Parameters:
   inlist: input sumlist
   outlist: output result list

void CalculateReferenceFlow(AliForwardFlowTaskQC::CumuHistos& cumu2h, AliForwardFlowTaskQC::CumuHistos& cumu4h, TH2I* quality, TH1D* chist, TH2D* dNdetaRef) const
  Calculates the reference flow

  Parameters:
   cumu2h: CumuHistos object with QC{2} cumulants
   cumu4h: CumuHistos object with QC{4} cumulants
   quality: Histogram for success rate of cumulants
   chist: Centrality histogram
   dNdetaRef: dN/deta histogram for estimating multiplicity used for ref calculations

void CalculateDifferentialFlow(AliForwardFlowTaskQC::CumuHistos& cumu2h, AliForwardFlowTaskQC::CumuHistos& cumu4h, TH2I* quality, TH2D* dNdetaDiff) const
  Calculates the differential flow

  Parameters:
   cumu2h: CumuHistos object with QC{2} cumulants
   cumu4h: CumuHistos object with QC{4} cumulants
   quality: Histogram for success rate of cumulants
   dNdetaDiff: dN/deta histogram for estimating multiplicity used for diff calculations

void Calculate3CorFlow(AliForwardFlowTaskQC::CumuHistos& cumu2h, TH2I* quality, TH1D* chist, TH2D* dNdetaRef, TH2D* dNdetaDiff) const
  Calculates the 3 sub flow

  Parameters:
   cumu2h: CumuHistos object with QC{2} cumulants
   quality: Histogram for success rate of cumulants
   chist: Centrality histogram
   dNdetaDiff: dN/deta histogram for estimating multiplicity used for diff calculations

void SolveCoupledFlowEquations(AliForwardFlowTaskQC::CumuHistos& cumu, Char_t type) const
  Function to solve the coupled flow equations
  We solve it by using matrix calculations:
  A*v_n = V => v_n = A^-1*V
  First we set up a TMatrixD container to make ROOT
  do the inversions in an efficient way, we multiply the current <<2>> estimates.
  Then we fill new TH2D's if the corrected <<2>>'s (cumuNUA object).

  Parameters:
   cumu: CumuHistos object - uncorrected
   type: Reference ('r') or differential ('d') or ('a' or 'b') for 3 correlator

Double_t CalculateNUAMatrixElement(Int_t n, Int_t m, Char_t type, Int_t binA, Int_t cBin) const
  Calculates the (n,m)-th element in the NUA matrix: 1 if n == m, otherwise:
               <<cos[(n-m)phi1]>>*<<cos[(n-m)phi2]>> + <<sin[(n-m)phi1]>>*<<sin[(n-m)phi2]>>
    NUA(n,m) = -----------------------------------------------------------------------------
                   1 + <<cos[2nphi1]>>*<<cos[2nphi2]>> + <<sin[2nphi1]>>*<<sin[2nphi2]>>

               <<cos[(n+m)phi1]>>*<<cos[(n+m)phi2]>> + <<sin[(n+m)phi1]>>*<<sin[(n+m)phi2]>>
             + -----------------------------------------------------------------------------
                   1 + <<cos[2nphi1]>>*<<cos[2nphi2]>> + <<sin[2nphi1]>>*<<sin[2nphi2]>>

  Parameters:
   n: row
   m: coumn
   type: Reference ('r') or differential ('d') or ('a' or 'b')
   binA: eta bin of phi1
   cBin: centrality bin

  Return: NUA(n,m)

void AddVertexBins(AliForwardFlowTaskQC::CumuHistos& cumu, TList* list, UInt_t nNUA) const
  Add up vertex bins with flow results

  Parameters:
   cumu: CumuHistos object with vtxbin results
   list: Outout list with added results
   nNUA: # of NUA histograms to loop over

Int_t GetBinNumberCos(Int_t n = 0) const
  Get the bin number of <<cos(nphi)>>

  Parameters:
   n: moment

  Return: bin number

Int_t GetBinNumberSin(Int_t n = 0) const
  Get the bin number of <<sin(nphi)>>

  Parameters:
   n: moment

  Return: bin number

void SetupNUALabels(TAxis* a) const
  Setup NUA labels on axis

  Parameters:
   a: Axis to set up

TH2I* MakeQualityHist(const Char_t* name) const
  Add a histogram for checking the analysis quality

  Parameters:
   const char*: name of data type

  Return: histogram for tracking successful calculations

TH2D* MakeOutputHist(Int_t qc, Int_t n, const Char_t* ctype, UInt_t nua) const
  Setup a TH2D for the output

  Parameters:
   qc   # of particle correlations
   n    flow moment
   ref  Type: r/d/a/b
   nua  For nua corrected hists?

  Return: 2D hist for results

VertexBin()
     * Constructor

~VertexBin()
     * Destructor

{}