ROOT logo
AliRoot » PWG » CALOTRACKCORRBASE » AliCalorimeterUtils

class AliCalorimeterUtils: public TObject

Class utility for Calorimeter specific selection methods



-- Author: Gustavo Conesa (LPSC-Grenoble)

Function Members (Methods)

public:
AliCalorimeterUtils()
virtual~AliCalorimeterUtils()
voidTObject::AbstractMethod(const char* method) const
voidAccessGeometry(AliVEvent* inputEvent)
voidAccessOADB(AliVEvent* event)
virtual voidTObject::AppendPad(Option_t* option = "")
Bool_tAreNeighbours(Int_t calo, Int_t absId1, Int_t absId2) const
virtual voidTObject::Browse(TBrowser* b)
Bool_tCheckCellFiducialRegion(AliVCluster* cluster, AliVCaloCells* cells) const
Bool_tCheckCellFiducialRegion(AliVCluster* cluster, AliVCaloCells* cells, AliVEvent*, Int_t)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
Bool_tClusterContainsBadChannel(Int_t calo, UShort_t* cellList, Int_t nCells)
Bool_tClusterContainsBadChannel(TString, UShort_t*, Int_t)
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
voidCorrectClusterEnergy(AliVCluster* cl)
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
TStringEMCALGeometryName() const
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 TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Float_tGetCutEta() const
Float_tGetCutPhi() const
Float_tGetCutR() const
Float_tGetCutZ() const
virtual Int_tGetDebug() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Float_tGetEMCALChannelRecalibrationFactor(Int_t iSM, Int_t iCol, Int_t iRow) const
TH2F*GetEMCALChannelRecalibrationFactors(Int_t iSM) const
Int_tGetEMCALChannelStatus(Int_t iSM, Int_t iCol, Int_t iRow) const
TH2I*GetEMCALChannelStatusMap(Int_t iSM) const
Float_tGetEMCALChannelTimeRecalibrationFactor(Int_t bc, Int_t absID) const
TH1F*GetEMCALChannelTimeRecalibrationFactors(Int_t bc) const
AliEMCALGeometry*GetEMCALGeometry() const
AliEMCALRecoUtils*GetEMCALRecoUtils() const
virtual const char*TObject::GetIconName() const
Float_tGetLocalMaximaCutE() const
Float_tGetLocalMaximaCutEDiff() const
voidGetMatchedResiduals(Int_t index, Float_t& dR, Float_t& dZ)
AliVTrack*GetMatchedTrack(AliVCluster* cluster, AliVEvent* event, Int_t index = 0) const
Int_tGetMaxEnergyCell(AliVCaloCells* cells, const AliVCluster* clu, Float_t& fraction) const
Float_tGetMCECellClusFracCorrection(Float_t eCell, Float_t eCluster) const
Int_tGetModuleNumber(AliVCluster* cluster) const
Int_tGetModuleNumber(AliAODPWG4Particle* particle, AliVEvent* inputEvent) const
Int_tGetModuleNumberCellIndexes(Int_t absId, Int_t calo, Int_t& icol, Int_t& irow, Int_t& iRCU) const
virtual const char*TObject::GetName() const
Int_tGetNMaskCellColumns() const
Int_tGetNumberOfCellsFromEMCALBorder() const
Int_tGetNumberOfCellsFromPHOSBorder() const
Int_tGetNumberOfLocalMaxima(AliVCluster* cluster, AliVCaloCells* cells)
Int_tGetNumberOfLocalMaxima(AliVCluster* cluster, AliVCaloCells* cells, Int_t* absIdList, Float_t* maxEList)
Int_tGetNumberOfSuperModulesUsed() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TStringGetPass()
Float_tGetPHOSChannelRecalibrationFactor(Int_t imod, Int_t iCol, Int_t iRow) const
TH2F*GetPHOSChannelRecalibrationFactors(Int_t imod) const
Int_tGetPHOSChannelStatus(Int_t imod, Int_t iCol, Int_t iRow) const
TH2I*GetPHOSChannelStatusMap(Int_t imod) const
AliPHOSGeoUtils*GetPHOSGeometry() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::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
voidInitEMCALGeometry(Int_t runnumber = 180000)
virtual voidInitParameters()
voidInitPHOSBadChannelStatusMap()
voidInitPHOSGeometry(Int_t runnumber = 180000)
voidInitPHOSRecalibrationFactors()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tIsBadChannelsRemovalSwitchedOn() const
Bool_tIsClusterSharedByTwoSuperModules(const AliEMCALGeometry* geom, AliVCluster* cluster)
Bool_tIsCorrectionOfClusterEnergyOn() const
Bool_tIsDistanceToBadChannelRecalculated() const
Bool_tIsEMCALGeoMatrixSet() const
Bool_tIsEMCALNoBorderAtEta0() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tIsMCECellClusFracCorrectionOn() const
Bool_tIsMCParticleInCalorimeterAcceptance(Int_t calo, TParticle* particle)
Bool_tIsMCParticleInCalorimeterAcceptance(Int_t calo, AliAODMCParticle* particle)
Bool_tIsMCParticleInCalorimeterAcceptance(Int_t calo, Float_t eta, Float_t theta, Float_t phi, Int_t& absID)
Bool_tTObject::IsOnHeap() const
Bool_tIsPHOSGeoMatrixSet() const
Bool_tIsRecalculationOfClusterPositionOn() const
Bool_tIsRecalculationOfClusterTrackMatchingOn() const
Bool_tIsRecalibrationOn() const
virtual Bool_tTObject::IsSortable() const
Bool_tIsTimeRecalibrationOn() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
Bool_tMaskFrameCluster(Int_t iSM, Int_t ieta) 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)
virtual voidTObject::Paint(Option_t* option = "")
TStringPHOSGeometryName() const
virtual voidTObject::Pop()
virtual voidPrint(Option_t* opt) const
virtual Int_tTObject::Read(const char* name)
voidRecalculateClusterDistanceToBadChannel(AliVCaloCells* cells, AliVCluster* clu)
voidRecalculateClusterPID(AliVCluster* clu)
voidRecalculateClusterPosition(AliVCaloCells* cells, AliVCluster* clu)
voidRecalculateClusterShowerShapeParameters(AliVCaloCells* cells, AliVCluster* clu)
voidRecalculateClusterTrackMatching(AliVEvent* event, TObjArray* clusterArray = 0x0)
voidRecalibrateCellAmplitude(Float_t& amp, Int_t calo, Int_t absId) const
voidRecalibrateCellTime(Double_t& time, Int_t calo, Int_t absId, Int_t bunchCrossNumber) const
Float_tRecalibrateClusterEnergy(AliVCluster* cluster, AliVCaloCells* cells)
Float_tRecalibrateClusterEnergyWeightCell(AliVCluster* cluster, AliVCaloCells* cells, Float_t energyOrg)
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)
voidSetCutEta(Float_t e)
voidSetCutPhi(Float_t p)
voidSetCutR(Float_t r)
voidSetCutZ(Float_t z)
virtual voidSetDebug(Int_t d)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEMCALChannelRecalibrationFactor(Int_t iSM, Int_t iCol, Int_t iRow, Double_t c = 1)
voidSetEMCALChannelRecalibrationFactors(TObjArray* map)
voidSetEMCALChannelRecalibrationFactors(Int_t iSM, TH2F* h)
voidSetEMCALChannelStatus(Int_t iSM, Int_t iCol, Int_t iRow, Double_t c = 1)
voidSetEMCALChannelStatusMap(TObjArray* map)
voidSetEMCALChannelStatusMap(Int_t iSM, TH2I* h)
voidSetEMCALChannelTimeRecalibrationFactor(Int_t bc, Int_t absID, Double_t c = 0)
voidSetEMCALChannelTimeRecalibrationFactors(TObjArray* map)
voidSetEMCALChannelTimeRecalibrationFactors(Int_t bc, TH1F* h)
voidSetEMCALGeometryMatrixInSM(TGeoHMatrix* m, Int_t i)
voidSetEMCALGeometryName(TString name)
voidSetEMCALOADBFilePath(TString path)
voidSetEMCALRecoUtils(AliEMCALRecoUtils* ru)
voidSetImportGeometryFromFile(Bool_t import, TString path = "")
voidSetLocalMaximaCutE(Float_t cut)
voidSetLocalMaximaCutEDiff(Float_t c)
voidSetMaskCellColumn(Int_t ipos, Int_t icol)
voidSetMCECellClusFracCorrectionParamters(Int_t i, Float_t param)
voidSetNMaskCellColumns(Int_t n)
voidSetNumberOfCellsFromEMCALBorder(Int_t n)
voidSetNumberOfCellsFromPHOSBorder(Int_t n)
voidSetNumberOfSuperModulesUsed(Int_t nSM)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPHOSChannelRecalibrationFactor(Int_t imod, Int_t iCol, Int_t iRow, Double_t c = 1)
voidSetPHOSChannelRecalibrationFactors(TObjArray* map)
voidSetPHOSChannelRecalibrationFactors(Int_t imod, TH2F* h)
voidSetPHOSChannelStatus(Int_t imod, Int_t iCol, Int_t iRow, Double_t c = 1)
voidSetPHOSChannelStatusMap(TObjArray* map)
voidSetPHOSChannelStatusMap(Int_t imod, TH2I* h)
voidSetPHOSGeometryMatrixInSM(TGeoHMatrix* m, Int_t i)
voidSetPHOSGeometryName(TString name)
voidSetPHOSOADBFilePath(TString path)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
voidSplitEnergy(Int_t absId1, Int_t absId2, AliVCluster* cluster, AliVCaloCells* cells, AliAODCaloCluster* cluster1, AliAODCaloCluster* cluster2, Int_t nMax, Int_t eventNumber = 0)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
voidSwitchOffBadChannelsRemoval()
voidSwitchOffClusterPlot()
voidSwitchOffCorrectClusterLinearity()
voidSwitchOffDistToBadChannelRecalculation()
voidSwitchOffEMCALOADB()
voidSwitchOffLoadOwnEMCALGeometryMatrices()
voidSwitchOffLoadOwnPHOSGeometryMatrices()
voidSwitchOffMCECellClusFracCorrection()
voidSwitchOffNoFiducialBorderInEMCALEta0()
voidSwitchOffPHOSOADB()
voidSwitchOffRecalculateClusterPosition()
voidSwitchOffRecalculateClusterTrackMatching()
voidSwitchOffRecalibration()
voidSwitchOffRunDepCorrection()
voidSwitchOffTimeRecalibration()
voidSwitchOnBadChannelsRemoval()
voidSwitchOnClusterPlot()
voidSwitchOnCorrectClusterLinearity()
voidSwitchOnDistToBadChannelRecalculation()
voidSwitchOnEMCALOADB()
voidSwitchOnLoadOwnEMCALGeometryMatrices()
voidSwitchOnLoadOwnPHOSGeometryMatrices()
voidSwitchOnMCECellClusFracCorrection()
voidSwitchOnNoFiducialBorderInEMCALEta0()
voidSwitchOnPHOSOADB()
voidSwitchOnRecalculateClusterPosition()
voidSwitchOnRecalculateClusterTrackMatching()
voidSwitchOnRecalibration()
voidSwitchOnRunDepCorrection()
voidSwitchOnTimeRecalibration()
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()
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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum detector { kEMCAL
kPHOS
kCTS
kDCAL
kDCALPHOS
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
Bool_tfCorrectELinearityCorrect cluster energy linearity
Float_tfCutEtadEta cut on matching (EMCAL)
Float_tfCutPhidPhi cut on matching (EMCAL)
Float_tfCutRdR cut on matching (PHOS)
Float_tfCutZdZ cut on matching (EMCAL/PHOS)
Int_tfDebugDebugging level
AliEMCALGeometry*fEMCALGeo! EMCAL geometry pointer
Bool_tfEMCALGeoMatrixSetCheck if the transformation matrix is set for EMCAL
TStringfEMCALGeoNameName of geometry to use for EMCAL.
TGeoHMatrix*fEMCALMatrix[12]Geometry matrices with alignments
AliEMCALRecoUtils*fEMCALRecoUtilsEMCAL utils for cluster rereconstruction
TStringfImportGeometryFilePathpath fo geometry.root file
Bool_tfImportGeometryFromFileImport geometry settings in geometry.root file
Bool_tfLoadEMCALMatricesMatrices set from configuration, not get from geometry.root or from ESDs/AODs
Bool_tfLoadPHOSMatricesMatrices set from configuration, not get from geometry.root or from ESDs/AODs
Float_tfLocMaxCutELocal maxima cut must have more than this energy
Float_tfLocMaxCutEDiffLocal maxima cut, when aggregating cells, next can be a bit higher
Bool_tfMCECellClusFracCorrOnCorrect or not the weight of cells in cluster
Float_tfMCECellClusFracCorrParam[4]Parameters for the function correcting the weight of the cells in the cluster
Int_t*fMaskCellColumns[fNMaskCellColumns] list of masked cell collumn
Int_tfNCellsFromPHOSBorderNumber of cells from PHOS border the cell with maximum amplitude has to be.
Int_tfNMaskCellColumnsNumber of masked columns
Int_tfNSuperModulesUsedNumber of supermodules to be used in analysis, can be different than the real geo,
TStringfOADBFilePathEMCALDefault path $ALICE_ROOT/OADB/EMCAL, if needed change
TStringfOADBFilePathPHOSDefault path $ALICE_ROOT/OADB/PHOS, if needed change
Bool_tfOADBForEMCALGet calibration from OADB for EMCAL
Bool_tfOADBForPHOSGet calibration from OADB for PHOS
Bool_tfOADBSetAODB parameters already set
TObjArray*fPHOSBadChannelMapArray of histograms with map of bad channels, PHOS
AliPHOSGeoUtils*fPHOSGeo! PHOS geometry pointer
Bool_tfPHOSGeoMatrixSetCheck if the transformation matrix is set for PHOS
TStringfPHOSGeoNameName of geometry to use for PHOS.
TGeoHMatrix*fPHOSMatrix[5]Geometry matrices with alignments
TObjArray*fPHOSRecalibrationFactorsArray of histograms with map of recalibration factors, PHOS
Bool_tfPlotClusterPlot cluster in splitting method
Bool_tfRecalculateMatchingRecalculate cluster position
Bool_tfRecalculatePositionRecalculate cluster position
Bool_tfRecalibrationSwitch on or off the recalibration
Bool_tfRemoveBadChannelsCheck the channel status provided and remove clusters with bad channels
Bool_tfRunDependentCorrectionSwitch on or off the recalibration dependent on T

Class Charts

Inheritance Chart:
TObject
AliCalorimeterUtils

Function documentation

AliCalorimeterUtils()
Ctor
~AliCalorimeterUtils()
Dtor
void AccessOADB(AliVEvent* event)
 Set the AODB calibration, bad channels etc. parameters at least once
 alignment matrices from OADB done in SetGeometryMatrices
void AccessGeometry(AliVEvent* inputEvent)
Set the calorimeters transformation matrices and init geometry
Bool_t AreNeighbours(Int_t calo, Int_t absId1, Int_t absId2) const
 Tells if (true) or not (false) two cells are neighbours
 A neighbour is defined as being two cells which share a side or corner
Bool_t IsClusterSharedByTwoSuperModules(const AliEMCALGeometry* geom, AliVCluster* cluster)
Method that checks if any of the cells in the cluster belongs to a different SM
Bool_t CheckCellFiducialRegion(AliVCluster* cluster, AliVCaloCells* cells) const
Bool_t ClusterContainsBadChannel(Int_t calo, UShort_t* cellList, Int_t nCells)
 Check that in the cluster cells, there is no bad channel of those stored
 in fEMCALBadChannelMap or fPHOSBadChannelMap
void CorrectClusterEnergy(AliVCluster* cl)
 Correct cluster energy non linearity
Int_t GetMaxEnergyCell(AliVCaloCells* cells, const AliVCluster* clu, Float_t& fraction) const
AliVTrack * GetMatchedTrack(AliVCluster* cluster, AliVEvent* event, Int_t index = 0) const
 Get the matched track given its index, usually just the first match
 Since it is different for ESDs and AODs here it is a wrap method to do it
Float_t GetMCECellClusFracCorrection(Float_t eCell, Float_t eCluster) const
 Correction factor for cell energy in cluster to temptatively match Data and MC
Int_t GetModuleNumber(AliAODPWG4Particle* particle, AliVEvent* inputEvent) const
Get the EMCAL/PHOS module number that corresponds to this particle
Int_t GetModuleNumber(AliVCluster* cluster) const
Get the EMCAL/PHOS module number that corresponds to this cluster
Int_t GetModuleNumberCellIndexes(Int_t absId, Int_t calo, Int_t& icol, Int_t& irow, Int_t& iRCU) const
Get the EMCAL/PHOS module, columns, row and RCU number that corresponds to this absId
Int_t GetNumberOfLocalMaxima(AliVCluster* cluster, AliVCaloCells* cells)
 Find local maxima in cluster
Int_t GetNumberOfLocalMaxima(AliVCluster* cluster, AliVCaloCells* cells, Int_t* absIdList, Float_t* maxEList)
 Find local maxima in cluster
TString GetPass()
 Get passx from filename.
void InitParameters()
Initialize the parameters of the analysis.
void InitPHOSBadChannelStatusMap()
Init PHOS bad channels map
void InitPHOSRecalibrationFactors()
Init EMCAL recalibration factors
void InitEMCALGeometry(Int_t runnumber = 180000)
Initialize EMCAL geometry if it did not exist previously
void InitPHOSGeometry(Int_t runnumber = 180000)
Initialize PHOS geometry if it did not exist previously
Bool_t IsMCParticleInCalorimeterAcceptance(Int_t calo, TParticle* particle)
 Check that a MC ESD is in the calorimeter acceptance
Bool_t IsMCParticleInCalorimeterAcceptance(Int_t calo, AliAODMCParticle* particle)
 Check that a MC AOD is in the calorimeter acceptance
Bool_t IsMCParticleInCalorimeterAcceptance(Int_t calo, Float_t eta, Float_t theta, Float_t phi, Int_t& absID)
 Check that a TLorentzVector is in the calorimeter acceptance, give the cell number where it hit
Bool_t MaskFrameCluster(Int_t iSM, Int_t ieta) const
Check if cell is in one of the regions where we have significant amount
of material in front. Only EMCAL
void Print(Option_t* opt) const
void RecalibrateCellAmplitude(Float_t& amp, Int_t calo, Int_t absId) const
Recaculate cell energy if recalibration factor
void RecalibrateCellTime(Double_t& time, Int_t calo, Int_t absId, Int_t bunchCrossNumber) const
 Recalculate time if time recalibration available for EMCAL
 not ready for PHOS
Float_t RecalibrateClusterEnergy(AliVCluster* cluster, AliVCaloCells* cells)
 Recalibrate the cluster energy, considering the recalibration map and the energy of the cells that compose the cluster.
Float_t RecalibrateClusterEnergyWeightCell(AliVCluster* cluster, AliVCaloCells* cells, Float_t energyOrg)
 Recalibrate the cluster energy, considering the recalibration map and the energy of the cells that compose the cluster.
 Also consider reweighting of cells energy
void RecalculateClusterPosition(AliVCaloCells* cells, AliVCluster* clu)
void RecalculateClusterTrackMatching(AliVEvent* event, TObjArray* clusterArray = 0x0)
Recalculate track matching
void SplitEnergy(Int_t absId1, Int_t absId2, AliVCluster* cluster, AliVCaloCells* cells, //Float_t & e1, Float_t & e2, AliAODCaloCluster* cluster1, AliAODCaloCluster* cluster2, Int_t nMax, Int_t eventNumber)
AliCalorimeterUtils()
Int_t GetDebug() const
{ return fDebug ; }
void SetDebug(Int_t d)
{ fDebug = d ; }
Float_t GetLocalMaximaCutE() const
{ return fLocMaxCutE ; }
void SetLocalMaximaCutE(Float_t cut)
{ fLocMaxCutE = cut ; }
Float_t GetLocalMaximaCutEDiff() const
{ return fLocMaxCutEDiff ; }
void SetLocalMaximaCutEDiff(Float_t c)
{ fLocMaxCutEDiff = c ; }
void SwitchOnClusterPlot()
void SwitchOffClusterPlot()
void SetMCECellClusFracCorrectionParamters(Int_t i, Float_t param)
{ if(i<4) fMCECellClusFracCorrParam[i] = param; }
Bool_t IsMCECellClusFracCorrectionOn() const
void SwitchOnMCECellClusFracCorrection()
void SwitchOffMCECellClusFracCorrection()
AliEMCALGeometry * GetEMCALGeometry() const
Calorimeters Geometry Methods
{ return fEMCALGeo ; }
TString EMCALGeometryName() const
{ return fEMCALGeoName ; }
void SetEMCALGeometryName(TString name)
{ fEMCALGeoName = name ; }
Bool_t IsEMCALGeoMatrixSet() const
{ return fEMCALGeoMatrixSet ; }
AliPHOSGeoUtils * GetPHOSGeometry() const
{ return fPHOSGeo ; }
TString PHOSGeometryName() const
{ return fPHOSGeoName ; }
void SetPHOSGeometryName(TString name)
{ fPHOSGeoName = name ; }
Bool_t IsPHOSGeoMatrixSet() const
{ return fPHOSGeoMatrixSet ; }
void SetImportGeometryFromFile(Bool_t import, TString path = "")
void SwitchOnLoadOwnEMCALGeometryMatrices()
void SwitchOffLoadOwnEMCALGeometryMatrices()
void SetEMCALGeometryMatrixInSM(TGeoHMatrix* m, Int_t i)
{ fEMCALMatrix[i] = m ; }
void SwitchOnLoadOwnPHOSGeometryMatrices()
void SwitchOffLoadOwnPHOSGeometryMatrices()
void SetPHOSGeometryMatrixInSM(TGeoHMatrix* m, Int_t i)
{ fPHOSMatrix[i] = m ; }
Bool_t IsBadChannelsRemovalSwitchedOn() const
 Bad channels
{ return fRemoveBadChannels ; }
void SwitchOnBadChannelsRemoval()
void SwitchOffBadChannelsRemoval()
Bool_t IsDistanceToBadChannelRecalculated() const
void SwitchOnDistToBadChannelRecalculation()
void SwitchOffDistToBadChannelRecalculation()
Int_t GetEMCALChannelStatus(Int_t iSM, Int_t iCol, Int_t iRow) const
Int_t GetPHOSChannelStatus(Int_t imod, Int_t iCol, Int_t iRow) const
void SetEMCALChannelStatus(Int_t iSM, Int_t iCol, Int_t iRow, Double_t c = 1)
void SetPHOSChannelStatus(Int_t imod, Int_t iCol, Int_t iRow, Double_t c = 1)
void SetEMCALChannelStatusMap(Int_t iSM, TH2I* h)
void SetPHOSChannelStatusMap(Int_t imod, TH2I* h)
{ fPHOSBadChannelMap ->AddAt(h,imod) ; }
TH2I * GetEMCALChannelStatusMap(Int_t iSM) const
TH2I * GetPHOSChannelStatusMap(Int_t imod) const
{ return (TH2I*)fPHOSBadChannelMap->At(imod) ; }
void SetEMCALChannelStatusMap(TObjArray* map)
void SetPHOSChannelStatusMap(TObjArray* map)
{ fPHOSBadChannelMap = map ; }
Bool_t ClusterContainsBadChannel(Int_t calo, UShort_t* cellList, Int_t nCells)
Int_t GetNMaskCellColumns() const
 Mask clusters in front of frame, EMCAL only
void SetNMaskCellColumns(Int_t n)
void SetMaskCellColumn(Int_t ipos, Int_t icol)
Bool_t CheckCellFiducialRegion(AliVCluster* cluster, AliVCaloCells* cells) const
Modules fiducial region
void SetNumberOfCellsFromPHOSBorder(Int_t n)
Int_t GetNumberOfCellsFromPHOSBorder() const
void SetNumberOfCellsFromEMCALBorder(Int_t n)
Int_t GetNumberOfCellsFromEMCALBorder() const
void SwitchOnNoFiducialBorderInEMCALEta0()
void SwitchOffNoFiducialBorderInEMCALEta0()
Bool_t IsEMCALNoBorderAtEta0() const
Bool_t IsRecalibrationOn() const
 Recalibration
{ return fRecalibration ; }
void SwitchOnRecalibration()
void SwitchOffRecalibration()
Float_t GetEMCALChannelRecalibrationFactor(Int_t iSM, Int_t iCol, Int_t iRow) const
Float_t GetPHOSChannelRecalibrationFactor(Int_t imod, Int_t iCol, Int_t iRow) const
void SetEMCALChannelRecalibrationFactor(Int_t iSM, Int_t iCol, Int_t iRow, Double_t c = 1)
void SetPHOSChannelRecalibrationFactor(Int_t imod, Int_t iCol, Int_t iRow, Double_t c = 1)
void SetEMCALChannelRecalibrationFactors(Int_t iSM, TH2F* h)
void SetPHOSChannelRecalibrationFactors(Int_t imod, TH2F* h)
{ fPHOSRecalibrationFactors ->AddAt(h,imod) ; }
TH2F * GetEMCALChannelRecalibrationFactors(Int_t iSM) const
TH2F * GetPHOSChannelRecalibrationFactors(Int_t imod) const
{ return (TH2F*)fPHOSRecalibrationFactors->At(imod) ; }
void SetEMCALChannelRecalibrationFactors(TObjArray* map)
void SetPHOSChannelRecalibrationFactors(TObjArray* map)
void SwitchOffRunDepCorrection()
 Run dependent energy calibrations (EMCAL)
void SwitchOnRunDepCorrection()
Bool_t IsTimeRecalibrationOn() const
 Time Recalibration (EMCAL)
void SwitchOffTimeRecalibration()
void SwitchOnTimeRecalibration()
Float_t GetEMCALChannelTimeRecalibrationFactor(Int_t bc, Int_t absID) const
void SetEMCALChannelTimeRecalibrationFactor(Int_t bc, Int_t absID, Double_t c = 0)
TH1F * GetEMCALChannelTimeRecalibrationFactors(Int_t bc) const
void SetEMCALChannelTimeRecalibrationFactors(TObjArray* map)
void SetEMCALChannelTimeRecalibrationFactors(Int_t bc, TH1F* h)
void SetEMCALRecoUtils(AliEMCALRecoUtils* ru)
EMCAL specific utils for the moment
{ fEMCALRecoUtils = ru ; }
AliEMCALRecoUtils* GetEMCALRecoUtils() const
{ return fEMCALRecoUtils ; }
Bool_t IsCorrectionOfClusterEnergyOn() const
{ return fCorrectELinearity ; }
void SwitchOnCorrectClusterLinearity()
void SwitchOffCorrectClusterLinearity()
Bool_t IsRecalculationOfClusterPositionOn() const
void SwitchOnRecalculateClusterPosition()
void SwitchOffRecalculateClusterPosition()
void RecalculateClusterShowerShapeParameters(AliVCaloCells* cells, AliVCluster* clu)
void RecalculateClusterDistanceToBadChannel(AliVCaloCells* cells, AliVCluster* clu)
void RecalculateClusterPID(AliVCluster* clu)
void GetMatchedResiduals(Int_t index, Float_t& dR, Float_t& dZ)
void SwitchOnRecalculateClusterTrackMatching()
This could be used for PHOS ...
void SwitchOffRecalculateClusterTrackMatching()
Bool_t IsRecalculationOfClusterTrackMatchingOn() const
Float_t GetCutZ() const
{ return fCutZ ; }
void SetCutZ(Float_t z)
{ fCutZ = z ; }
Float_t GetCutR() const
{ return fCutR ; }
void SetCutR(Float_t r)
Float_t GetCutEta() const
{ return fCutEta ; }
void SetCutEta(Float_t e)
Float_t GetCutPhi() const
{ return fCutPhi ; }
void SetCutPhi(Float_t p)
void SwitchOnEMCALOADB()
void SwitchOffEMCALOADB()
void SwitchOnPHOSOADB()
void SwitchOffPHOSOADB()
void SetEMCALOADBFilePath(TString path)
{ fOADBFilePathEMCAL = path ; }
void SetPHOSOADBFilePath(TString path)
{ fOADBFilePathPHOS = path ; }
void SetNumberOfSuperModulesUsed(Int_t nSM)
{ fNSuperModulesUsed = nSM ; }
Int_t GetNumberOfSuperModulesUsed() const
{ return fNSuperModulesUsed ; }