![]() |
AliRoot Core
edcc906 (edcc906)
|
Base class for the cluster unfolding algorithm. More...
#include <AliEMCALUnfolding.h>
Public Member Functions | |
AliEMCALUnfolding () | |
virtual | ~AliEMCALUnfolding () |
Destructor. More... | |
AliEMCALUnfolding (AliEMCALGeometry *geometry) | |
AliEMCALUnfolding (AliEMCALGeometry *geometry, Float_t ECALocMaxCut, Double_t *SSPars, Double_t *Par5, Double_t *Par6) | |
virtual void | Init () |
virtual void | SetInput (Int_t numberOfECAClusters, TObjArray *recPoints, TClonesArray *digitsArr) |
virtual void | SetNumberOfECAClusters (Int_t n) |
virtual Int_t | GetNumberOfECAClusters () const |
virtual void | SetRecPoints (TObjArray *rec) |
virtual TObjArray * | GetRecPoints () const |
virtual void | SetDigitsArr (TClonesArray *digit) |
virtual TClonesArray * | GetDigitsArr () const |
virtual void | SetECALocalMaxCut (Float_t cut) |
virtual Float_t | GetECALocalMaxCut () const |
virtual void | SetThreshold (Float_t energy) |
virtual Float_t | GetThreshold () const |
virtual void | SetRejectBelowThreshold (Bool_t reject) |
virtual Bool_t | GetRejectBelowThreshold () const |
virtual void | MakeUnfolding () |
virtual void | SetShowerShapeParams (Double_t *pars) |
virtual Double_t * | GetShowerShapeParams () const |
virtual void | SetPar5 (Double_t *pars) |
virtual Double_t * | GetPar5 () const |
virtual void | SetPar6 (Double_t *pars) |
virtual Double_t * | GetPar6 () const |
virtual Int_t | UnfoldOneCluster (AliEMCALRecPoint *iniTower, Int_t nMax, AliEMCALDigit **maxAt, Float_t *maxAtEnergy, TObjArray *list) |
Static Public Member Functions | |
static Double_t | ShowerShapeV2 (Double_t x, Double_t y) |
static void | UnfoldingChiSquareV2 (Int_t &nPar, Double_t *Grad, Double_t &fret, Double_t *x, Int_t iflag) |
Protected Attributes | |
Int_t | fNumberOfECAClusters |
Number of clusters found in EC section. More... | |
Float_t | fECALocMaxCut |
Minimum energy difference to distinguish local maxima in a cluster. More... | |
Float_t | fThreshold |
Minimum energy for cell to be joined to a cluster. More... | |
Bool_t | fRejectBelowThreshold |
Split (false) or reject (true) cell energy below threshold after UF. More... | |
AliEMCALGeometry * | fGeom |
! Pointer to geometry for utilities More... | |
TObjArray * | fRecPoints |
Array with EMCAL clusters. More... | |
TClonesArray * | fDigitsArr |
Array with EMCAL digits. More... | |
Private Member Functions | |
AliEMCALUnfolding (const AliEMCALUnfolding &) | |
AliEMCALUnfolding & | operator= (const AliEMCALUnfolding &) |
Bool_t | UnfoldClusterV2 (AliEMCALRecPoint *iniEmc, Int_t Nmax, AliEMCALDigit **maxAt, Float_t *maxAtEnergy) |
Bool_t | UnfoldClusterV2old (AliEMCALRecPoint *iniEmc, Int_t Nmax, AliEMCALDigit **maxAt, Float_t *maxAtEnergy) |
Bool_t | FindFitV2 (AliEMCALRecPoint *emcRP, AliEMCALDigit **MaxAt, const Float_t *maxAtEnergy, Int_t NPar, Float_t *FitParametres) const |
Static Private Member Functions | |
static void | EvalPar5 (Double_t phi) |
static void | EvalPar6 (Double_t phi) |
static void | EvalParsPhiDependence (Int_t absId, const AliEMCALGeometry *geom) |
Static Private Attributes | |
static Double_t | fgSSPars [8] ={0.9262,3.365,1.548,0.1625,-0.4195,0.,0.,2.332} |
static Double_t | fgPar5 [3] ={12.31,-0.007381,-0.06936} |
UF SSPar nr 5 = p0 + phi*p1 + phi^2 *p2. More... | |
static Double_t | fgPar6 [3] ={0.05452,0.0001228,0.001361} |
UF SSPar nr 6 = p0 + phi*p1 + phi^2 *p2. More... | |
Base class for the cluster unfolding algorithm.
Based on unfolding in clusterizerv1 done by Cynthia Hadjidakis
It unfolds the clusters having several local maxima.
Definition at line 30 of file AliEMCALUnfolding.h.
AliEMCALUnfolding::AliEMCALUnfolding | ( | ) |
Default Constructor with the indication of the file where header Tree and digits Tree are stored
Definition at line 52 of file AliEMCALUnfolding.cxx.
|
virtual |
Destructor.
Definition at line 147 of file AliEMCALUnfolding.cxx.
AliEMCALUnfolding::AliEMCALUnfolding | ( | AliEMCALGeometry * | geometry | ) |
Constructor with the indication of the file where header Tree and digits Tree are stored use this constructor to avoid usage of Init() which uses runloader change needed by HLT - MP
geometry | pointer to EMCal geometry |
Definition at line 71 of file AliEMCALUnfolding.cxx.
AliEMCALUnfolding::AliEMCALUnfolding | ( | AliEMCALGeometry * | geometry, |
Float_t | ecaLocMaxCut, | ||
Double_t * | ssPars, | ||
Double_t * | par5, | ||
Double_t * | par6 | ||
) |
Constructor with the indication of the file where header Tree and digits Tree are stored use this contructor to avoid usage of Init() which uses runloader change needed by HLT - MP
geometry | pointer to EMCal geometry |
ecaLocMaxCut | set fECALocMaxCut, minimum energy difference to distinguish local maxima in a cluster |
ssPars | set fgSSPars |
par5 | set fgPar5 |
par6 | set fgPar6 |
Definition at line 97 of file AliEMCALUnfolding.cxx.
|
private |
|
staticprivate |
Evaluate the 5th parameter of the shower shape function
phi | in degrees range (-10,10) |
Definition at line 1114 of file AliEMCALUnfolding.cxx.
Referenced by EvalParsPhiDependence().
|
staticprivate |
Evaluate the 6th parameter of the shower shape function
phi | in degrees range (-10,10) |
Definition at line 1124 of file AliEMCALUnfolding.cxx.
Referenced by EvalParsPhiDependence().
|
staticprivate |
Calculate params p5 and p6 depending on the phi angle in global coordinate for the cell with given absId index output phiglob should be in range -10 to 10 degree
absId | absolude cell ID number |
geom | geometry pointer |
Definition at line 1137 of file AliEMCALUnfolding.cxx.
Referenced by UnfoldClusterV2old(), UnfoldingChiSquareV2(), and UnfoldOneCluster().
|
private |
Call TMinuit to fit the energy distribution of a cluster with several maxima The initial values for fitting procedure are set equal to the positions of local maxima. Cluster will be fitted as a superposition of nPar/3 electromagnetic showers
recPoint | original cluster recPoint |
maxAt | cell Id with local maxima |
maxAtEnergy | energy of cell with local maxima |
nPar | number of local maxima |
fitparameters | unfolding fit |
Definition at line 817 of file AliEMCALUnfolding.cxx.
Referenced by UnfoldClusterV2old(), and UnfoldOneCluster().
|
inlinevirtual |
Definition at line 51 of file AliEMCALUnfolding.h.
|
inlinevirtual |
Definition at line 54 of file AliEMCALUnfolding.h.
|
inlinevirtual |
Definition at line 45 of file AliEMCALUnfolding.h.
|
inlinevirtual |
Definition at line 72 of file AliEMCALUnfolding.h.
|
inlinevirtual |
Definition at line 75 of file AliEMCALUnfolding.h.
|
inlinevirtual |
Definition at line 48 of file AliEMCALUnfolding.h.
|
inlinevirtual |
Definition at line 60 of file AliEMCALUnfolding.h.
|
inlinevirtual |
Definition at line 69 of file AliEMCALUnfolding.h.
|
inlinevirtual |
Definition at line 57 of file AliEMCALUnfolding.h.
|
virtual |
Make all memory allocations which can not be done in default constructor. Attach the Clusterizer task to the list of EMCAL tasks
Definition at line 126 of file AliEMCALUnfolding.cxx.
Referenced by AliEMCALUnfolding().
|
virtual |
Unfold clusters using the shape of an ElectroMagnetic shower Perform unfolding of all clusters
Definition at line 168 of file AliEMCALUnfolding.cxx.
Referenced by AliEMCALClusterizerFixedWindow::Digits2Clusters(), AliEMCALClusterizerv1::Digits2Clusters(), AliEMCALClusterizerNxN::Digits2Clusters(), GetRejectBelowThreshold(), and AliEMCALAfterBurnerUF::UnfoldClusters().
|
private |
|
inlinevirtual |
Definition at line 50 of file AliEMCALUnfolding.h.
Referenced by SetInput().
|
inlinevirtual |
Definition at line 53 of file AliEMCALUnfolding.h.
Referenced by AliEMCALAfterBurnerUF::Init().
|
virtual |
Set input for unfolding purposes.
numberOfECAClusters | set fNumberOfECAClusters |
recPoints | set fRecPoints |
digitsArr | set fDigitsArr |
Definition at line 157 of file AliEMCALUnfolding.cxx.
Referenced by AliEMCALClusterizerFixedWindow::Digits2Clusters(), AliEMCALClusterizerv1::Digits2Clusters(), AliEMCALClusterizerNxN::Digits2Clusters(), and AliEMCALAfterBurnerUF::UnfoldClusters().
|
inlinevirtual |
Definition at line 44 of file AliEMCALUnfolding.h.
Referenced by SetInput().
|
virtual |
Definition at line 1097 of file AliEMCALUnfolding.cxx.
Referenced by GetShowerShapeParams().
|
virtual |
Definition at line 1104 of file AliEMCALUnfolding.cxx.
Referenced by GetPar5().
|
inlinevirtual |
Definition at line 47 of file AliEMCALUnfolding.h.
Referenced by SetInput().
|
inlinevirtual |
Definition at line 59 of file AliEMCALUnfolding.h.
Referenced by AliEMCALClusterizer::InitClusterUnfolding().
|
virtual |
Definition at line 1089 of file AliEMCALUnfolding.cxx.
Referenced by GetRejectBelowThreshold().
|
inlinevirtual |
Definition at line 56 of file AliEMCALUnfolding.h.
Referenced by AliEMCALAfterBurnerUF::Init(), and AliEMCALClusterizer::InitClusterUnfolding().
|
static |
Shape of the shower extended to whole EMCAL If you change this function, change also the gradient evaluation in ChiSquare()
Definition at line 953 of file AliEMCALUnfolding.cxx.
Referenced by GetRejectBelowThreshold(), UnfoldClusterV2old(), UnfoldingChiSquareV2(), and UnfoldOneCluster().
|
private |
Perform unfolding on all the EMCal of a cluster with nMax overlapping showers
iniTower | original cluster recPoint |
nMax | number of local maxima |
maxAt | cell Id with local maxima |
maxAtEnergy | energy of cell with local maxima |
Definition at line 592 of file AliEMCALUnfolding.cxx.
Referenced by MakeUnfolding().
|
private |
Perform unfolding on all the EMCal of a cluster with nMax overlapping showers old version (remove then?)
iniTower | original cluster recPoint |
nMax | number of local maxima |
maxAt | cell Id with local maxima |
maxAtEnergy | energy of cell with local maxima |
Definition at line 681 of file AliEMCALUnfolding.cxx.
|
static |
Calculate the Chi square for the cluster unfolding minimization Number of parameters, Gradient, Chi squared, parameters, what to do
Definition at line 966 of file AliEMCALUnfolding.cxx.
Referenced by FindFitV2(), and GetRejectBelowThreshold().
|
virtual |
Perform unfolding of single cluster and provides list of output clusters
iniTower | original cluster recPoint |
nMax | number of local maxima |
maxAt | cell Id with local maxima |
maxAtEnergy | energy of cell with local maxima |
list | list of new clusters |
Definition at line 258 of file AliEMCALUnfolding.cxx.
Referenced by GetPar6(), and UnfoldClusterV2().
|
protected |
Definition at line 91 of file AliEMCALUnfolding.h.
Referenced by FindFitV2(), GetDigitsArr(), MakeUnfolding(), SetDigitsArr(), UnfoldClusterV2(), UnfoldClusterV2old(), and UnfoldOneCluster().
|
protected |
Minimum energy difference to distinguish local maxima in a cluster.
Definition at line 86 of file AliEMCALUnfolding.h.
Referenced by GetECALocalMaxCut(), MakeUnfolding(), and SetECALocalMaxCut().
|
protected |
! Pointer to geometry for utilities
Definition at line 89 of file AliEMCALUnfolding.h.
Referenced by AliEMCALUnfolding(), FindFitV2(), Init(), MakeUnfolding(), UnfoldClusterV2old(), and UnfoldOneCluster().
|
staticprivate |
UF SSPar nr 5 = p0 + phi*p1 + phi^2 *p2.
Definition at line 116 of file AliEMCALUnfolding.h.
Referenced by AliEMCALUnfolding(), EvalPar5(), GetPar5(), and SetPar5().
|
staticprivate |
UF SSPar nr 6 = p0 + phi*p1 + phi^2 *p2.
Definition at line 117 of file AliEMCALUnfolding.h.
Referenced by AliEMCALUnfolding(), EvalPar6(), GetPar6(), and SetPar6().
|
staticprivate |
Unfolding shower shape parameters function: f(r)=exp(-(p0*r)^p1 * (1/(p2+p3*(p0*r)^p1)+p4/(1+p6*(p0*r)^p5) ) ) p0,p1,p2,p3,p4 are fixed params p5 and p6 are phi-dependent and set in ShowerShapeV2
Definition at line 114 of file AliEMCALUnfolding.h.
Referenced by AliEMCALUnfolding(), EvalPar5(), EvalPar6(), GetShowerShapeParams(), SetShowerShapeParams(), ShowerShapeV2(), and UnfoldingChiSquareV2().
|
protected |
Number of clusters found in EC section.
Definition at line 85 of file AliEMCALUnfolding.h.
Referenced by GetNumberOfECAClusters(), MakeUnfolding(), SetNumberOfECAClusters(), UnfoldClusterV2(), UnfoldClusterV2old(), and UnfoldOneCluster().
|
protected |
Definition at line 90 of file AliEMCALUnfolding.h.
Referenced by GetRecPoints(), MakeUnfolding(), SetRecPoints(), UnfoldClusterV2(), and UnfoldClusterV2old().
|
protected |
Split (false) or reject (true) cell energy below threshold after UF.
Definition at line 88 of file AliEMCALUnfolding.h.
Referenced by GetRejectBelowThreshold(), SetRejectBelowThreshold(), and UnfoldOneCluster().
|
protected |
Minimum energy for cell to be joined to a cluster.
Definition at line 87 of file AliEMCALUnfolding.h.
Referenced by GetThreshold(), SetThreshold(), and UnfoldOneCluster().