AliPhysics  6fe3466 (6fe3466)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliFMDHistCollector Class Reference

#include <AliFMDHistCollector.h>

Inheritance diagram for AliFMDHistCollector:

Classes

struct  VtxBin
 

Public Types

enum  MergeMethod {
  kStraightMean, kStraightMeanNoZero, kWeightedMean, kLeastError,
  kSum, kPreferInner, kPreferOuter
}
 
enum  FiducialMethod { kByCut, kDistance }
 
enum  FMDRingBits {
  kFMD1I =0x01, kFMD1 =kFMD1I, kFMD2I =0x02, kFMD2O =0x04,
  kFMD2 =kFMD2I|kFMD2O, kFMD3I =0x08, kFMD3O =0x10, kFMD3 =kFMD3I|kFMD3O
}
 

Public Member Functions

 AliFMDHistCollector ()
 
 AliFMDHistCollector (const char *title)
 
 AliFMDHistCollector (const AliFMDHistCollector &o)
 
virtual ~AliFMDHistCollector ()
 
AliFMDHistCollectoroperator= (const AliFMDHistCollector &)
 
virtual void SetupForData (const TAxis &vtxAxis, const TAxis &etaAxis)
 
virtual Bool_t Collect (const AliForwardUtil::Histos &hists, AliForwardUtil::Histos &sums, UShort_t vtxBin, TH2D &out, Double_t cent=-1.0, Bool_t eta2phi=false, Bool_t add=true)
 
virtual void CreateOutputObjects (TList *dir)
 
void SetMergeMethod (MergeMethod m)
 
MergeMethod GetMergeMethod () const
 
void SetFiducialMethod (FiducialMethod m)
 
void SetNCutBins (UInt_t n=2)
 
void SetCorrectionCut (Float_t cut=0.5)
 
void SetFMDRingsToSkip (UShort_t mask)
 
void SetMakeBGHitMaps (Bool_t use)
 
void SetMakeCentralitySums (Bool_t use)
 
void SetDebug (Int_t dbg=1)
 
void Print (Option_t *option="") const
 

Protected Member Functions

VtxBinGetVtxBin (Int_t ivtx)
 
const VtxBinGetVtxBin (Int_t ivtx) const
 
 ClassDef (AliFMDHistCollector, 6)
 

Static Protected Member Functions

static void GetDetRing (Int_t idx, UShort_t &d, Char_t &r)
 
static Int_t GetIdx (UShort_t d, Char_t r)
 
static Bool_t CheckSkip (UShort_t d, Char_t r, UShort_t skips)
 
static Bool_t CheckCorrection (FiducialMethod m, Double_t cut, const TH2D *bg, Int_t ie, Int_t ip)
 
static void MergeBins (MergeMethod m, Double_t c, Double_t e, Double_t oc, Double_t oe, Double_t &rc, Double_t &re)
 

Protected Attributes

Int_t fNCutBins
 
Float_t fCorrectionCut
 
Int_t fDebug
 
TListfList
 
TH2DfSumRings
 
TH2DfCoverage
 
TH1DfSkipped
 
MergeMethod fMergeMethod
 
FiducialMethod fFiducialMethod
 
UShort_t fSkipFMDRings
 
Bool_t fBgAndHitMaps
 
TObjArrayfVtxList
 
TListfByCent
 Per-vertex list. More...
 
Bool_t fDoByCent
 

Detailed Description

This class collects the event histograms into single histograms, one for each ring in each vertex bin.

Input:
  • AliESDFMD object possibly corrected for sharing
Output:
  • 5 RingHistos objects - each with a number of vertex dependent 2D histograms of the inclusive charge particle density
HistCollector used:

Definition at line 43 of file AliFMDHistCollector.h.

Member Enumeration Documentation

How to obtain the fiducial cuts

Enumerator
kByCut 

Select bins by fixed cut. Bins with a secondary correction less than the cut is considered as non-valid

kDistance 

A bin is considered non-valid, if it is less then twice as large as it's neighbors (in eta)

Definition at line 102 of file AliFMDHistCollector.h.

FMD ring bits for skipping

Enumerator
kFMD1I 
kFMD1 
kFMD2I 
kFMD2O 
kFMD2 
kFMD3I 
kFMD3O 
kFMD3 

Definition at line 117 of file AliFMDHistCollector.h.

Methods to use when merging overlapping bins \(b_1\), \(b_2\) with content \(c_1\), \(c_2\), and errors \(e_1\), \(e_2\) into bin \( b\) with content \(c\) and error \(e\)

Enumerator
kStraightMean 

\[ c = \frac{1}{2}(c_1+c_2) \]

\[ e = \sqrt{e_1^2+e_2^2} \]

kStraightMeanNoZero 

As above, exept zero's are ignored

kWeightedMean 

\[ c = \frac{\frac{c_1}{e_1^2}+\frac{c_2}{e_2^2}}{ \frac{1}{e_1^2}+\frac{1}{e_2^2}} \]

\[ e = \sqrt{\frac{1}{\frac{1}{e_1^2}+\frac{1}{e_2^2}}} \]

kLeastError 

\[ c = \left\{\begin{array}{cl} c_1 & \mbox{if $e_1 < e_2$} \\ c_2 & \mbox{otherwise}\end{array}\right. \]

kSum 

Just sum the signals

kPreferInner 

In overlaps, prefer inners, or if both are inners, do the straight mean

kPreferOuter 

In overlaps, prefer outers, or if both are outers (doesn't happen), do the straight mean

Definition at line 51 of file AliFMDHistCollector.h.

Constructor & Destructor Documentation

AliFMDHistCollector::AliFMDHistCollector ( )

Constructor

AliFMDHistCollector::AliFMDHistCollector ( const char *  title)

Constructor

Parameters
titleName of object

Definition at line 60 of file AliFMDHistCollector.cxx.

AliFMDHistCollector::AliFMDHistCollector ( const AliFMDHistCollector o)

Copy constructor

Parameters
oObject to copy from

Definition at line 80 of file AliFMDHistCollector.cxx.

AliFMDHistCollector::~AliFMDHistCollector ( )
virtual

Destructor

Definition at line 101 of file AliFMDHistCollector.cxx.

Member Function Documentation

Bool_t AliFMDHistCollector::CheckCorrection ( FiducialMethod  m,
Double_t  cut,
const TH2D bg,
Int_t  ie,
Int_t  ip 
)
staticprotected

Check the correction

Parameters
mFiducial method used
cutCut value
bgSecondary map
ie\(\eta\) bin
ip\(\varphi\) bin
Returns
true if OK.

Definition at line 244 of file AliFMDHistCollector.cxx.

Referenced by AliFMDHistCollector::VtxBin::SetupForData().

Bool_t AliFMDHistCollector::CheckSkip ( UShort_t  d,
Char_t  r,
UShort_t  skips 
)
staticprotected

Check if the detector d, ring r is listed in the skips bit mask. If the detector/ring is in the mask, return true.

That is, use case is

for (UShort_t d=1. d<=3, d++) {
UShort_t nr = (d == 1 ? 1 : 2);
for (UShort_t q = 0; q < nr; q++) {
Char_t r = (q == 0 ? 'I' : 'O');
if (CheckSkips(d, r, skips)) continue;
// Process detector/ring
}
}
Parameters
dDetector
rRing
skipsMask of detector/rings to skip
Returns
True if detector d, ring r is in the mask skips

Definition at line 295 of file AliFMDHistCollector.cxx.

Referenced by AliFMDHistCollector::VtxBin::Collect(), and AliFMDHistCollector::VtxBin::SetupForData().

AliFMDHistCollector::ClassDef ( AliFMDHistCollector  ,
 
)
protected
Bool_t AliFMDHistCollector::Collect ( const AliForwardUtil::Histos hists,
AliForwardUtil::Histos sums,
UShort_t  vtxBin,
TH2D out,
Double_t  cent = -1.0,
Bool_t  eta2phi = false,
Bool_t  add = true 
)
virtual

Do the calculations

Parameters
histsCache of histograms
sumsCache to sum ring histograms in
vtxBinVertex bin (1 based)
outOutput histogram
centCentrality
eta2phiCopy eta coverage to phi acceptance
addIf true, add to internal caches
Returns
true on successs

Definition at line 467 of file AliFMDHistCollector.cxx.

Referenced by AliForwardMultiplicityTask::Event(), and AliForwardMCMultiplicityTask::Event().

void AliFMDHistCollector::CreateOutputObjects ( TList dir)
virtual

Output diagnostic histograms to directory

Parameters
dirList to write in

Definition at line 277 of file AliFMDHistCollector.cxx.

Referenced by AliForwardMultiplicityBase::Book().

void AliFMDHistCollector::GetDetRing ( Int_t  idx,
UShort_t d,
Char_t r 
)
staticprotected

Get the detector and ring from the ring index

Parameters
idxRing index
dOn return, the detector or 0 in case of errors
rOn return, the ring id or '0' in case of errors

Definition at line 328 of file AliFMDHistCollector.cxx.

Referenced by Print(), SetupForData(), and AliFMDHistCollector::VtxBin::SetupForData().

Int_t AliFMDHistCollector::GetIdx ( UShort_t  d,
Char_t  r 
)
staticprotected

Get the ring index from detector number and ring identifier

Parameters
dDetector
rRing identifier
Returns
ring index or -1 in case of problems

Definition at line 306 of file AliFMDHistCollector.cxx.

Referenced by AliFMDHistCollector::VtxBin::GetFirst(), AliFMDHistCollector::VtxBin::GetFirstAndLast(), AliFMDHistCollector::VtxBin::GetLast(), and AliFMDHistCollector::VtxBin::GetOverlap().

MergeMethod AliFMDHistCollector::GetMergeMethod ( ) const
inline

Definition at line 196 of file AliFMDHistCollector.h.

AliFMDHistCollector::VtxBin * AliFMDHistCollector::GetVtxBin ( Int_t  ivtx)
protected

Get a vertex bin

Parameters
ivtxBin number (1-nVz)
Returns
Bin or null

Definition at line 351 of file AliFMDHistCollector.cxx.

Referenced by Collect(), and Print().

const AliFMDHistCollector::VtxBin * AliFMDHistCollector::GetVtxBin ( Int_t  ivtx) const
protected

Get a vertex bin

Parameters
ivtxBin number (1-nVz)
Returns
Bin or null

Definition at line 362 of file AliFMDHistCollector.cxx.

void AliFMDHistCollector::MergeBins ( MergeMethod  m,
Double_t  c,
Double_t  e,
Double_t  oc,
Double_t  oe,
Double_t rc,
Double_t re 
)
staticprotected

Merge bins accoring to set method

Parameters
mMerging method
cCurrent content
eCurrent error
ocOld content
oeOld error
rcOn return, the new content
reOn return, tne new error

Definition at line 374 of file AliFMDHistCollector.cxx.

Referenced by AliFMDHistCollector::VtxBin::Collect().

AliFMDHistCollector & AliFMDHistCollector::operator= ( const AliFMDHistCollector o)

Assignement operator

Parameters
oObject to assign from
Returns
Reference to this object

Definition at line 108 of file AliFMDHistCollector.cxx.

void AliFMDHistCollector::Print ( Option_t option = "") const

Print information

Parameters
optionNot used

Definition at line 514 of file AliFMDHistCollector.cxx.

Referenced by AliForwardMultiplicityBase::Print().

void AliFMDHistCollector::SetCorrectionCut ( Float_t  cut = 0.5)
inline

Set the correction cut, that is, when bins in the secondary correction maps have a value lower than this cut, they are considered uncertain and not used

Parameters
cutCut-off

Definition at line 217 of file AliFMDHistCollector.h.

Referenced by ForwardAODConfig(), and TunedConfig().

void AliFMDHistCollector::SetDebug ( Int_t  dbg = 1)
inline

Set the debug level. The higher the value the more output

Parameters
dbgDebug level

Definition at line 242 of file AliFMDHistCollector.h.

Referenced by AliForwardMultiplicityBase::SetDebug().

void AliFMDHistCollector::SetFiducialMethod ( FiducialMethod  m)
inline

Set the method for finding the fidicual area of the secondary maps

Parameters
mMethod

Definition at line 202 of file AliFMDHistCollector.h.

Referenced by ForwardAODConfig(), and TunedConfig().

void AliFMDHistCollector::SetFMDRingsToSkip ( UShort_t  mask)
inline

Set FMD rings to skip. Argument should be kFirstRingToSkip|kSecondRingToSkip...

Parameters
maskbit pattern

Definition at line 224 of file AliFMDHistCollector.h.

void AliFMDHistCollector::SetMakeBGHitMaps ( Bool_t  use)
inline

Set whether to make bg maps or not

Parameters
usemake them

Definition at line 230 of file AliFMDHistCollector.h.

Referenced by ForwardAODConfig(), and TunedConfig().

void AliFMDHistCollector::SetMakeCentralitySums ( Bool_t  use)
inline

Set whether to make by-centrality sums for each ring

Parameters
useIf true, make by-centrality sums

Definition at line 236 of file AliFMDHistCollector.h.

Referenced by ForwardAODConfig(), and TunedConfig().

void AliFMDHistCollector::SetMergeMethod ( MergeMethod  m)
inline

Set the merge method

Parameters
mMethod

Definition at line 195 of file AliFMDHistCollector.h.

Referenced by ForwardAODConfig(), and TunedConfig().

void AliFMDHistCollector::SetNCutBins ( UInt_t  n = 2)
inline

Set the number of extra bins (beyond the secondary map border) to cut away.

Parameters
nNumber of bins

Definition at line 209 of file AliFMDHistCollector.h.

Referenced by ForwardAODConfig(), and TunedConfig().

void AliFMDHistCollector::SetupForData ( const TAxis vtxAxis,
const TAxis etaAxis 
)
virtual

Intialise

Parameters
vtxAxis\( v_z\) axis
etaAxis\( \eta\) axis

Definition at line 142 of file AliFMDHistCollector.cxx.

Referenced by AliForwardMultiplicityBase::PreData().

Member Data Documentation

Bool_t AliFMDHistCollector::fBgAndHitMaps
protected

Definition at line 508 of file AliFMDHistCollector.h.

Referenced by operator=(), SetMakeBGHitMaps(), and SetupForData().

TList* AliFMDHistCollector::fByCent
protected

Per-vertex list.

Definition at line 510 of file AliFMDHistCollector.h.

Referenced by Collect(), operator=(), and SetupForData().

Float_t AliFMDHistCollector::fCorrectionCut
protected

Definition at line 499 of file AliFMDHistCollector.h.

Referenced by operator=(), Print(), SetCorrectionCut(), and SetupForData().

TH2D* AliFMDHistCollector::fCoverage
protected

Definition at line 503 of file AliFMDHistCollector.h.

Referenced by operator=(), and SetupForData().

Int_t AliFMDHistCollector::fDebug
protected
Bool_t AliFMDHistCollector::fDoByCent
protected

Definition at line 511 of file AliFMDHistCollector.h.

Referenced by operator=(), SetMakeCentralitySums(), and SetupForData().

FiducialMethod AliFMDHistCollector::fFiducialMethod
protected

Definition at line 506 of file AliFMDHistCollector.h.

Referenced by operator=(), Print(), SetFiducialMethod(), and SetupForData().

TList* AliFMDHistCollector::fList
protected

Definition at line 501 of file AliFMDHistCollector.h.

Referenced by CreateOutputObjects(), operator=(), and SetupForData().

MergeMethod AliFMDHistCollector::fMergeMethod
protected
UShort_t AliFMDHistCollector::fSkipFMDRings
protected

Definition at line 507 of file AliFMDHistCollector.h.

Referenced by Collect(), operator=(), SetFMDRingsToSkip(), and SetupForData().

TH1D* AliFMDHistCollector::fSkipped
protected

Definition at line 504 of file AliFMDHistCollector.h.

Referenced by Collect(), operator=(), and SetupForData().

TH2D* AliFMDHistCollector::fSumRings
protected

Definition at line 502 of file AliFMDHistCollector.h.

Referenced by Collect(), operator=(), and SetupForData().

TObjArray* AliFMDHistCollector::fVtxList
protected

Definition at line 509 of file AliFMDHistCollector.h.

Referenced by GetVtxBin(), operator=(), Print(), and SetupForData().


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