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

#include <AliFMDDensityCalculator.h>

Inheritance diagram for AliFMDDensityCalculator:

Classes

struct  RingHistos
 

Public Types

enum  { kPhiNoCorrect, kPhiCorrectNch, kPhiCorrectELoss }
 

Public Member Functions

 AliFMDDensityCalculator ()
 
 AliFMDDensityCalculator (const char *name)
 
 AliFMDDensityCalculator (const AliFMDDensityCalculator &o)
 
virtual ~AliFMDDensityCalculator ()
 
AliFMDDensityCalculatoroperator= (const AliFMDDensityCalculator &o)
 
virtual void SetupForData (const TAxis &etaAxis)
 
virtual Bool_t Calculate (const AliESDFMD &fmd, AliForwardUtil::Histos &hists, Bool_t lowFlux, Double_t cent=-1, const TVector3 &ip=TVector3(1024, 1024, 0))
 
virtual void Terminate (const TList *dir, TList *output, Int_t nEvents)
 
virtual void CreateOutputObjects (TList *dir)
 
void SetDebug (Int_t dbg=1)
 
void SetDoTiming (Bool_t enable=true)
 
void SetMaxParticles (UShort_t m)
 
void SetUsePoisson (Bool_t u)
 
void SetRecalculatePhi (Bool_t use)
 
void SetUsePhiAcceptance (UShort_t u=kPhiCorrectNch)
 
void SetLumping (Int_t eta, Int_t phi)
 
void SetMinQuality (UShort_t cut=10)
 
void SetMaxOutliers (Double_t ratio=0.10)
 
void SetOutlierCut (Double_t cut=0.50)
 
void SetHitThreshold (Double_t cut=0.9)
 
Double_t GetMultCut (UShort_t d, Char_t r, Double_t eta, Bool_t errors=true) const
 
Double_t GetMultCut (UShort_t d, Char_t r, Int_t ieta, Bool_t errors=true) const
 
UShort_t GetMinQuality () const
 
void Print (Option_t *option="") const
 
AliFMDMultCutsGetCuts ()
 
void SetCuts (const AliFMDMultCuts &c)
 

Static Public Attributes

static const char * fgkFolderName
 

Protected Member Functions

Int_t FindMaxWeight (const AliFMDCorrELossFit *cor, UShort_t d, Char_t r, Int_t iEta) const
 
Int_t FindMaxWeight (const AliFMDCorrELossFit *cor, UShort_t d, Char_t r, Double_t iEta) const
 
void CacheMaxWeights (const TAxis &axis)
 
Int_t GetMaxWeight (UShort_t d, Char_t r, Int_t iEta) const
 
Int_t GetMaxWeight (UShort_t d, Char_t r, Float_t eta) const
 
virtual Float_t NParticles (Float_t mult, UShort_t d, Char_t r, Float_t eta, Bool_t lowFlux) const
 
virtual Float_t Correction (UShort_t d, Char_t r, UShort_t t, Float_t eta, Bool_t lowFlux) const
 
virtual Float_t AcceptanceCorrection (Char_t r, UShort_t t) const
 
virtual TH1DGenerateAcceptanceCorrection (Char_t r) const
 
virtual Bool_t CheckOutlier (Double_t eloss, Double_t poisson, Double_t cut=0.5) const
 
RingHistosGetRingHistos (UShort_t d, Char_t r) const
 
 ClassDef (AliFMDDensityCalculator, 16)
 

Protected Attributes

TList fRingHistos
 
TH1DfSumOfWeights
 
TH1DfWeightedSum
 
TH1DfCorrections
 
UShort_t fMaxParticles
 
Bool_t fUsePoisson
 
UShort_t fUsePhiAcceptance
 
TH1DfAccI
 
TH1DfAccO
 
TArrayI fFMD1iMax
 
TArrayI fFMD2iMax
 
TArrayI fFMD2oMax
 
TArrayI fFMD3iMax
 
TArrayI fFMD3oMax
 
TH2DfMaxWeights
 
TH2DfLowCuts
 
Int_t fEtaLumping
 
Int_t fPhiLumping
 
Int_t fDebug
 
AliFMDMultCuts fCuts
 
Bool_t fRecalculatePhi
 
UShort_t fMinQuality
 
Double_t fHitThreshold
 
AliForwardUtil::Histos fCache
 
Bool_t fDoTiming
 
TProfile * fHTiming
 
Double_t fMaxOutliers
 
Double_t fOutlierCut
 

Detailed Description

This class calculates the inclusive charged particle density in each for the 5 FMD rings.

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
Corrections used:
  • AliFMDAnaCalibEnergyDistribution
  • AliFMDDoubleHitCorrection
  • AliFMDDeadCorrection

Definition at line 47 of file AliFMDDensityCalculator.h.

Member Enumeration Documentation

anonymous enum

How to correct for the missing phi coverage at the corners of the sensors

Enumerator
kPhiNoCorrect 

No correction

kPhiCorrectNch 

Correct the calculated number charged particles

kPhiCorrectELoss 

Correct the energy loss

Definition at line 55 of file AliFMDDensityCalculator.h.

Constructor & Destructor Documentation

AliFMDDensityCalculator::AliFMDDensityCalculator ( )

Constructor

AliFMDDensityCalculator::AliFMDDensityCalculator ( const char *  name)

Constructor

Parameters
nameName of object

Definition at line 72 of file AliFMDDensityCalculator.cxx.

AliFMDDensityCalculator::AliFMDDensityCalculator ( const AliFMDDensityCalculator o)

Copy constructor

Parameters
oObject to copy from

Definition at line 140 of file AliFMDDensityCalculator.cxx.

AliFMDDensityCalculator::~AliFMDDensityCalculator ( )
virtual

Destructor

Definition at line 185 of file AliFMDDensityCalculator.cxx.

Member Function Documentation

Float_t AliFMDDensityCalculator::AcceptanceCorrection ( Char_t  r,
UShort_t  t 
) const
protectedvirtual

Get the acceptance correction for strip t in an ring of type r

Parameters
rRing type ('I' or 'O')
tStrip number
Returns
Inverse acceptance correction

Definition at line 1023 of file AliFMDDensityCalculator.cxx.

Referenced by Calculate(), and Correction().

void AliFMDDensityCalculator::CacheMaxWeights ( const TAxis axis)
protected

Find the max weights and cache them

Parameters
axisDefault \(\eta\) axis from parent task

Definition at line 718 of file AliFMDDensityCalculator.cxx.

Referenced by SetupForData().

Bool_t AliFMDDensityCalculator::Calculate ( const AliESDFMD fmd,
AliForwardUtil::Histos hists,
Bool_t  lowFlux,
Double_t  cent = -1,
const TVector3 &  ip = TVector3(1024,1024,0) 
)
virtual

Do the calculations

Parameters
fmdAliESDFMD object (possibly) corrected for sharing
histsHistogram cache
lowFluxLow flux flag.
centCentrality
ipCoordinates of interaction point
Returns
true on successs

Definition at line 358 of file AliFMDDensityCalculator.cxx.

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

Bool_t AliFMDDensityCalculator::CheckOutlier ( Double_t  eloss,
Double_t  poisson,
Double_t  cut = 0.5 
) const
protectedvirtual

Check if, for a given region, whether this is an outlier

The condition for an outlier event are

\[ |N_{ch}^{Poisson} - N_{ch}^{\Delta}| / N_{ch}^{\Delta} > c \]

Parameters
eloss\( N_{ch}^{\Delta}\) - number of charged particles
poisson\( N_{ch}^{Poisson}\) - number of charged particles
cut\( c\) - the cut
Returns
true if the region reflects an outlier event

Definition at line 655 of file AliFMDDensityCalculator.cxx.

Referenced by Calculate().

AliFMDDensityCalculator::ClassDef ( AliFMDDensityCalculator  ,
16   
)
protected
Float_t AliFMDDensityCalculator::Correction ( UShort_t  d,
Char_t  r,
UShort_t  t,
Float_t  eta,
Bool_t  lowFlux 
) const
protectedvirtual

Get the inverse correction factor. This consist of

  • acceptance correction (corners of sensors)
  • double hit correction (for low-flux events)
  • dead strip correction
Parameters
dDetector
rRing
tStrip
etaPseudo-rapidity
lowFluxLow-flux flag
Returns
the correction factor

Definition at line 895 of file AliFMDDensityCalculator.cxx.

Referenced by AliFMDMCDensityCalculator::CalculateMC().

void AliFMDDensityCalculator::CreateOutputObjects ( TList dir)
virtual

Output diagnostic histograms to directory

Parameters
dirList to write in

Reimplemented in AliFMDMCDensityCalculator.

Definition at line 1088 of file AliFMDDensityCalculator.cxx.

Referenced by AliForwardQATask::Book(), AliForwardMultiplicityBase::Book(), and AliFMDMCDensityCalculator::CreateOutputObjects().

Int_t AliFMDDensityCalculator::FindMaxWeight ( const AliFMDCorrELossFit cor,
UShort_t  d,
Char_t  r,
Int_t  iEta 
) const
protected

Find the max weight to use for FMDdr in eta bin iEta

Parameters
corCorrection
dDetector
rRing
iEtaEta bin
Returns
The maximum weight

Definition at line 665 of file AliFMDDensityCalculator.cxx.

Referenced by CacheMaxWeights().

Int_t AliFMDDensityCalculator::FindMaxWeight ( const AliFMDCorrELossFit cor,
UShort_t  d,
Char_t  r,
Double_t  iEta 
) const
protected

Find the max weight to use for FMDdr in eta eta

Parameters
corCorrection
dDetector
rRing
iEtaiEta
Returns
The maximum weight

Definition at line 691 of file AliFMDDensityCalculator.cxx.

TH1D * AliFMDDensityCalculator::GenerateAcceptanceCorrection ( Char_t  r) const
protectedvirtual

Generate the acceptance corrections

Parameters
rRing to generate for
Returns
Newly allocated histogram of acceptance corrections

Definition at line 944 of file AliFMDDensityCalculator.cxx.

Referenced by AliFMDDensityCalculator().

AliFMDMultCuts& AliFMDDensityCalculator::GetCuts ( )
inline

Get the cuts used

Returns
Reference to cuts object

Definition at line 260 of file AliFMDDensityCalculator.h.

Referenced by AliForwardQATask::PreData().

Int_t AliFMDDensityCalculator::GetMaxWeight ( UShort_t  d,
Char_t  r,
Int_t  iEta 
) const
protected

Find the (cached) maximum weight for FMDdr in \(\eta\) bin iEta

Parameters
dDetector
rRing
iEtaEta bin
Returns
max weight or <= 0 in case of problems

Definition at line 778 of file AliFMDDensityCalculator.cxx.

Referenced by GetMaxWeight(), and NParticles().

Int_t AliFMDDensityCalculator::GetMaxWeight ( UShort_t  d,
Char_t  r,
Float_t  eta 
) const
protected

Find the (cached) maximum weight for FMDdr iat \(\eta\)

Parameters
dDetector
rRing
etaEta bin
Returns
max weight or <= 0 in case of problems

Definition at line 818 of file AliFMDDensityCalculator.cxx.

UShort_t AliFMDDensityCalculator::GetMinQuality ( ) const
inline

Set the minimum quality of the energy loss fits

Returns
Cut value

Definition at line 247 of file AliFMDDensityCalculator.h.

Double_t AliFMDDensityCalculator::GetMultCut ( UShort_t  d,
Char_t  r,
Double_t  eta,
Bool_t  errors = true 
) const

Get the multiplicity cut. If the user has set fMultCut (via SetMultCut) then that value is used. If not, then the lower value of the fit range for the enery loss fits is returned.

Parameters
dDetector
rRing
etaPsuedo-rapidity
errorsFactor in errors
Returns
Lower cut on multiplicity

Definition at line 330 of file AliFMDDensityCalculator.cxx.

Referenced by Calculate().

Double_t AliFMDDensityCalculator::GetMultCut ( UShort_t  d,
Char_t  r,
Int_t  ieta,
Bool_t  errors = true 
) const

Get the multiplicity cut. If the user has set fMultCut (via SetMultCut) then that value is used. If not, then the lower value of the fit range for the enery loss fits is returned.

Parameters
dDetector
rRing
ietaPsuedo-rapidity bin
errorsFactor in errors
Returns
Lower cut on multiplicity

Definition at line 313 of file AliFMDDensityCalculator.cxx.

AliFMDDensityCalculator::RingHistos * AliFMDDensityCalculator::GetRingHistos ( UShort_t  d,
Char_t  r 
) const
protected

Get the ring histogram container

Parameters
dDetector
rRing
Returns
Ring histogram container

Definition at line 268 of file AliFMDDensityCalculator.cxx.

Referenced by Calculate().

Float_t AliFMDDensityCalculator::NParticles ( Float_t  mult,
UShort_t  d,
Char_t  r,
Float_t  eta,
Bool_t  lowFlux 
) const
protectedvirtual

Get the number of particles corresponding to the signal mult

Parameters
multSignal
dDetector
rRing
etaPseudo-rapidity
lowFluxLow-flux flag
Returns
The number of particles

Definition at line 840 of file AliFMDDensityCalculator.cxx.

Referenced by Calculate().

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

Assignement operator

Parameters
oObject to assign from
Returns
Reference to this object

Definition at line 196 of file AliFMDDensityCalculator.cxx.

Referenced by AliFMDMCDensityCalculator::operator=().

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

Print information

Parameters
optionPrint options
  • max Print max weights

Definition at line 1176 of file AliFMDDensityCalculator.cxx.

Referenced by AliForwardMultiplicityBase::Print(), and AliForwardQATask::Print().

void AliFMDDensityCalculator::SetCuts ( const AliFMDMultCuts c)
inline

Set the cuts to use

Parameters
cCuts to use

Definition at line 266 of file AliFMDDensityCalculator.h.

Referenced by AddTaskForwardQA(), ForwardAODConfig(), and TunedConfig().

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

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

Parameters
dbgDebug level

Definition at line 136 of file AliFMDDensityCalculator.h.

Referenced by AliForwardQATask::SetDebug(), and AliForwardMultiplicityBase::SetDebug().

void AliFMDDensityCalculator::SetDoTiming ( Bool_t  enable = true)
inline

Definition at line 137 of file AliFMDDensityCalculator.h.

void AliFMDDensityCalculator::SetHitThreshold ( Double_t  cut = 0.9)
inline

Set the threshold cut

Parameters
cutCut value

Definition at line 213 of file AliFMDDensityCalculator.h.

void AliFMDDensityCalculator::SetLumping ( Int_t  eta,
Int_t  phi 
)
inline

Set the luming factors used in the Poisson method

Parameters
etaMust be 1 or larger
phiMust be 1 or larger

Definition at line 184 of file AliFMDDensityCalculator.h.

Referenced by AddTaskForwardQA(), ForwardAODConfig(), and TunedConfig().

void AliFMDDensityCalculator::SetMaxOutliers ( Double_t  ratio = 0.10)
inline

Set the maximum ratio of outlier bins to the total number of bins with data.

Parameters
ratioMaximum ratio (number between 0 and 1)

Definition at line 200 of file AliFMDDensityCalculator.h.

Referenced by AddTaskForwardQA(), ForwardAODConfig(), and TunedConfig().

void AliFMDDensityCalculator::SetMaxParticles ( UShort_t  m)
inline

Maximum particle weight to use

Parameters
m

Definition at line 143 of file AliFMDDensityCalculator.h.

Referenced by AddTaskForwardQA(), ForwardAODConfig(), and TunedConfig().

void AliFMDDensityCalculator::SetMinQuality ( UShort_t  cut = 10)
inline

Set the minimum quality of the energy loss fits

Parameters
cutCut value

Definition at line 193 of file AliFMDDensityCalculator.h.

Referenced by AddTaskForwardQA(), ForwardAODConfig(), and TunedConfig().

void AliFMDDensityCalculator::SetOutlierCut ( Double_t  cut = 0.50)
inline

Set the maximum relative diviation between \(N_{ch}^{Poisson}\) and \(N_{ch}^{\Delta}\)

Parameters
cutRelative cut (number between 0 and 1)

Definition at line 207 of file AliFMDDensityCalculator.h.

Referenced by ForwardAODConfig(), and TunedConfig().

void AliFMDDensityCalculator::SetRecalculatePhi ( Bool_t  use)
inline

In case of a displaced vertices recalculate eta and angle correction

Parameters
userecalculate or not

Definition at line 165 of file AliFMDDensityCalculator.h.

Referenced by ForwardAODConfig(), and TunedConfig().

void AliFMDDensityCalculator::SetupForData ( const TAxis etaAxis)
virtual

Initialize this sub-algorithm

Parameters
etaAxisNot used

Reimplemented in AliFMDMCDensityCalculator.

Definition at line 246 of file AliFMDDensityCalculator.cxx.

Referenced by AliForwardQATask::PreData(), AliForwardMultiplicityBase::PreData(), and AliFMDMCDensityCalculator::SetupForData().

void AliFMDDensityCalculator::SetUsePhiAcceptance ( UShort_t  u = kPhiCorrectNch)
inline

Set whether to use the phi acceptance correction.

How the phi acceptance is used depends on the value passed.

  • 0: No phi acceptance
  • 1: Phi acceptance correction done to estimate of particles
  • 2: Phi acceptance correction done to energy deposited
Parameters
uIf >0, use the phi acceptance (default is false)

Definition at line 177 of file AliFMDDensityCalculator.h.

Referenced by AddTaskForwardQA(), ForwardAODConfig(), and TunedConfig().

void AliFMDDensityCalculator::SetUsePoisson ( Bool_t  u)
inline

Set whether to use poisson statistics to estimate the number of particles that has hit within a region. If this is true, then the average charge particle density is given by

\[ \lambda = -\log\left(\frac{N_e}{N_t}\right) \]

where $N_e$ is the number of strips within the region that has no hits over threshold, and $N_t$ is the total number of strips in the region/

Parameters
uWhether to use poisson statistics to estimate the number of particles that has hit within a region.

Definition at line 158 of file AliFMDDensityCalculator.h.

Referenced by AddTaskForwardQA(), ForwardAODConfig(), and TunedConfig().

void AliFMDDensityCalculator::Terminate ( const TList dir,
TList output,
Int_t  nEvents 
)
virtual

Scale the histograms to the total number of events

Parameters
dirwhere to put the output
outputOutput list
nEventsNumber of events

Definition at line 1041 of file AliFMDDensityCalculator.cxx.

Referenced by AliForwardQATask::Finalize(), and AliForwardMultiplicityBase::Finalize().

Member Data Documentation

TH1D* AliFMDDensityCalculator::fAccI
protected
TH1D* AliFMDDensityCalculator::fAccO
protected
AliForwardUtil::Histos AliFMDDensityCalculator::fCache
protected

Definition at line 502 of file AliFMDDensityCalculator.h.

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

TH1D* AliFMDDensityCalculator::fCorrections
protected
AliFMDMultCuts AliFMDDensityCalculator::fCuts
protected
Bool_t AliFMDDensityCalculator::fDoTiming
protected

Definition at line 503 of file AliFMDDensityCalculator.h.

Referenced by Calculate(), CreateOutputObjects(), operator=(), and SetDoTiming().

Int_t AliFMDDensityCalculator::fEtaLumping
protected

Definition at line 495 of file AliFMDDensityCalculator.h.

Referenced by CreateOutputObjects(), operator=(), Print(), and SetLumping().

TArrayI AliFMDDensityCalculator::fFMD1iMax
protected

Definition at line 488 of file AliFMDDensityCalculator.h.

Referenced by CacheMaxWeights(), GetMaxWeight(), operator=(), and Print().

TArrayI AliFMDDensityCalculator::fFMD2iMax
protected

Definition at line 489 of file AliFMDDensityCalculator.h.

Referenced by CacheMaxWeights(), GetMaxWeight(), operator=(), and Print().

TArrayI AliFMDDensityCalculator::fFMD2oMax
protected

Definition at line 490 of file AliFMDDensityCalculator.h.

Referenced by CacheMaxWeights(), GetMaxWeight(), operator=(), and Print().

TArrayI AliFMDDensityCalculator::fFMD3iMax
protected

Definition at line 491 of file AliFMDDensityCalculator.h.

Referenced by CacheMaxWeights(), GetMaxWeight(), operator=(), and Print().

TArrayI AliFMDDensityCalculator::fFMD3oMax
protected

Definition at line 492 of file AliFMDDensityCalculator.h.

Referenced by CacheMaxWeights(), GetMaxWeight(), operator=(), and Print().

const char* AliFMDDensityCalculator::fgkFolderName
static

Folder name

Definition at line 66 of file AliFMDDensityCalculator.h.

Double_t AliFMDDensityCalculator::fHitThreshold
protected
TProfile* AliFMDDensityCalculator::fHTiming
protected

Definition at line 504 of file AliFMDDensityCalculator.h.

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

TH2D* AliFMDDensityCalculator::fLowCuts
protected
Double_t AliFMDDensityCalculator::fMaxOutliers
protected
UShort_t AliFMDDensityCalculator::fMaxParticles
protected
TH2D* AliFMDDensityCalculator::fMaxWeights
protected
UShort_t AliFMDDensityCalculator::fMinQuality
protected
Double_t AliFMDDensityCalculator::fOutlierCut
protected
Int_t AliFMDDensityCalculator::fPhiLumping
protected

Definition at line 496 of file AliFMDDensityCalculator.h.

Referenced by CreateOutputObjects(), operator=(), Print(), and SetLumping().

Bool_t AliFMDDensityCalculator::fRecalculatePhi
protected
TList AliFMDDensityCalculator::fRingHistos
protected
TH1D* AliFMDDensityCalculator::fSumOfWeights
protected
UShort_t AliFMDDensityCalculator::fUsePhiAcceptance
protected
Bool_t AliFMDDensityCalculator::fUsePoisson
protected
TH1D* AliFMDDensityCalculator::fWeightedSum
protected

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