ROOT logo
AliRoot » PWGGA » PHOSTASKS » CALOCELLQA » AliCaloCellsQA

class AliCaloCellsQA: public TObject

Function Members (Methods)

public:
AliCaloCellsQA()
AliCaloCellsQA(Int_t nmods, Int_t det = kEMCAL, Int_t startRunNumber = 100000, Int_t endRunNumber = 200000)
virtual~AliCaloCellsQA()
voidTObject::AbstractMethod(const char* method) const
virtual voidActivateFullAnalysis()
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
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 voidFill(Int_t runNumber, TObjArray* clusArray, AliVCaloCells* cells, Double_t* vertexXYZ)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Double_tGetClusEhighMin()
virtual Double_tGetClusElowMin()
virtual Int_tGetDetector()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Bool_tGetFullAnalysis()
virtual const char*TObject::GetIconName() const
virtual TObjArray*GetListOfHistos()
virtual const char*TObject::GetName() const
virtual Int_tGetNMods()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Double_tGetPi0EClusMin()
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
virtual voidInitSummaryHistograms(Int_t nbins = 400, Double_t emax = 4., Int_t nbinsh = 100, Double_t emaxh = 300., Int_t nbinst = 250, Double_t tmin = -0.1e-6, Double_t tmax = 0.15e-6)
virtual voidInitTransientFindCurrentRun(Int_t runNumber)
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_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::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)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::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 = "")
virtual voidSetBinningParameters(Int_t nbins1 = 100, Int_t nbins2 = 250, Int_t nbins3x = 200, Int_t nbins3y = 30, Double_t xmax1 = 5., Double_t xmax2 = 0.5, Double_t xmax3 = 20.)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidSetClusterEnergyCuts(Double_t pi0EClusMin = 0.5, Double_t ElowMin = 0.3, Double_t EhighMin = 1.0)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
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()
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 voidAbsIdToSMEtaPhi(Int_t absId, Int_t& sm, Int_t& eta, Int_t& phi)
virtual Int_tCheckClusterGetSM(AliVCluster* clus)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidFillCellsInCluster(TObjArray* clusArray, AliVCaloCells* cells)
virtual voidFillJustCells(AliVCaloCells* cells)
virtual voidFillPi0Mass(TObjArray* clusArray, Double_t* vertexXYZ)
virtual Int_tGetSM(Int_t absId)
virtual voidInit(Int_t nmods, Int_t det, Int_t startRunNumber, Int_t endRunNumber)
virtual voidInitHistosForRun(Int_t run)
virtual voidInitTransientMembers(Int_t run)
virtual Bool_tIsCellLocalMaximum(Int_t absId, AliVCaloCells* cells)
virtual Bool_tIsCellLocalMaximum(Int_t c, AliVCluster* clus, AliVCaloCells* cells)
voidTObject::MakeZombie()

Data Members

private:
Int_tfAbsIdMaxmaximum absId number + 1
Int_tfAbsIdMinminimum absId number (0/EMCAL, 1/PHOS)
Double_tfClusEhighMinminimum cluster energy cut for high energy per run histograms
Double_tfClusElowMinminimum cluster energy cut for low energy per run histograms
Int_tfDetectorkEMCAL or kPHOS
TObjArray*fListOfHistosarray with all the histograms
Int_tfNBinsECellsnumber of bins in hECells
Int_tfNBinsPi0Massnumber of bins in hPi0Mass
Int_tfNBinsXNCellsInClusternumber of bins in hNCellsInCluster, X axis
Int_tfNBinsYNCellsInClusternumber of bins in hNCellsInCluster, Y axis
Int_tfNModsmaximum supermodule number + 1 (4 or 10)
Int_tfNRunsnumber of encountered runs
Double_tfPi0EClusMinminimum cluster energy cut for pi0 mass histograms
Int_tfRI! current (cached) run index
Int_tfRunNumbers[1000]already encountered runs
Double_tfXMaxECellsX axis maximum in hECells
Double_tfXMaxNCellsInClusterX axis maximum in hNCellsInCluster
Double_tfXMaxPi0MassX axis maximum in hPi0Mass
TH2F*fhCellAmplitude! amplitude distribution per cell
TH2F*fhCellAmplitudeEhigh! amplitude distribution per cell, high energies
TH2F*fhCellAmplitudeEhighNonLocMax! amplitude distribution per not a local maximum cell, high energies
TH2F*fhCellAmplitudeNonLocMax! amplitude distribution per not a local maximum cell
TH1F*fhCellLocMaxETotalClusterEhigh! total cluster energy for local maximum cell, high energy
TH1F*fhCellLocMaxETotalClusterElow! total cluster energy for local maximum cell, low energy
TH1F*fhCellLocMaxNTimesInClusterEhigh! number of times cell was local maximum in a high energy cluster
TH1F*fhCellLocMaxNTimesInClusterElow! number of times cell was local maximum in a low energy cluster
TH1F*fhCellNonLocMaxETotalClusterEhigh! total cluster energy for not local maximum cell, high energy
TH1F*fhCellNonLocMaxETotalClusterElow! total cluster energy for not local maximum cell, low energy
TH1F*fhCellNonLocMaxNTimesInClusterEhigh! number of times cell wasn't local maximum in a high energy cluster
TH1F*fhCellNonLocMaxNTimesInClusterElow! number of times cell wasn't local maximum in a low energy cluster
TH2F*fhCellTime! time distribution per cell
TH1F*fhECells[10]! cell amplitude distribution
TH2F*fhNCellsInCluster[10]! distribution of number of cells in cluster vs cluster energy
TH1D*fhNEventsProcessedPerRun! number of processed events per run
TH1F*fhPi0Mass[10][10]! pi0 mass spectrum
Bool_tfkFullAnalysisflag to activate all available histograms

Class Charts

Inheritance Chart:
TObject
AliCaloCellsQA

Function documentation

AliCaloCellsQA()
 Default constructor (for root I/O). Do not use it.
AliCaloCellsQA(Int_t nmods, Int_t det = kEMCAL, Int_t startRunNumber = 100000, Int_t endRunNumber = 200000)
 Allows to set main class parameters.

 nmods -- maximum supermodule number + 1:
   use 4 for EMCAL <= 2010;
   use 4 for PHOS (PHOS numbers start from 1, not from zero);
   use 10 for EMCAL >= 2011.

 det -- detector: AliCaloCellsQA::kEMCAL or AliCaloCellsQA::kPHOS.
   Note: DCAL not yet implemented.

 startRunNumber, endRunNumber -- run range the analysis will run on
   (to allow later merging); wide (but reasonable) range can be provided.
~AliCaloCellsQA()
void ActivateFullAnalysis()
 Activate initialization and filling of all the designed histograms.
 Must be called before InitSummaryHistograms() and Fill() methods, if necessary.
void InitSummaryHistograms(Int_t nbins = 400, Double_t emax = 4., Int_t nbinsh = 100, Double_t emaxh = 300., Int_t nbinst = 250, Double_t tmin = -0.1e-6, Double_t tmax = 0.15e-6)
 Initialize summary (not per run) histograms.
 Must be called after ActivateFullAnalysis(), before calling Fill() method, if necessary.

 nbins, emax -- number of bins and maximum amplitude for fhCellAmplitude and fhCellAmplitudeNonLocMax;
 nbinsh, emaxh -- number of bins and maximum amplitude for fhCellAmplitudeEhigh and fhCellAmplitudeEhighNonLocMax;
 nbinst, tmin, tmax -- number of bins and minimum/maximum time for fhCellTime.
void Fill(Int_t runNumber, TObjArray* clusArray, AliVCaloCells* cells, Double_t* vertexXYZ)
 Does the job: fills histograms for current event.

 runNumber -- current run number;
 clusArray -- array of clusters (TObjArray or TClonesArray);
 cells -- EMCAL or PHOS cells;
 vertexXYZ -- primary vertex position.
void SetClusterEnergyCuts(Double_t pi0EClusMin = 0.5, Double_t ElowMin = 0.3, Double_t EhighMin = 1.0)
 Set cuts for minimum cluster energies.
 Must be called before calling Fill() method, if necessary.
void SetBinningParameters(Int_t nbins1 = 100, Int_t nbins2 = 250, Int_t nbins3x = 200, Int_t nbins3y = 30, Double_t xmax1 = 5., Double_t xmax2 = 0.5, Double_t xmax3 = 20.)
 Set binning parameters for histograms hECells, hNCellsInCluster and hPi0Mass.
 Must be called before Fill() method, if necessary.

 nbins1, xmax1 -- number of bins and maximum X axis value for hECells;
 nbins2, xmax2 -- number of bins and maximum X axis value for hPi0Mass;
 nbins3x, nbins3y, xmax3 -- number of bins in X and Y axes and maximum X axis value for hNCellsInCluster.
void Init(Int_t nmods, Int_t det, Int_t startRunNumber, Int_t endRunNumber)
 Class initialization.
 Defaults: fClusElowMin = 0.3GeV, fClusEhighMin = 1GeV, fPi0EClusMin = 0.5GeV, fkFullAnalysis = false.
void InitTransientFindCurrentRun(Int_t runNumber)
 Initialize transient members, add a new run if necessary.
void InitTransientMembers(Int_t run)
 Initializes transient data members -- references to histograms
 (e.g. in case the class was restored from a file);
 run -- current run number.
void InitHistosForRun(Int_t run)
 Initialize per run histograms for a new run number;
 run -- run number.
void FillCellsInCluster(TObjArray* clusArray, AliVCaloCells* cells)
 Fill histograms related to a cluster
void FillJustCells(AliVCaloCells* cells)
 Fill cell histograms not related with a cluster
void FillPi0Mass(TObjArray* clusArray, Double_t* vertexXYZ)
 Fill gamma+gamma invariant mass histograms.
 ri -- run index.
Int_t CheckClusterGetSM(AliVCluster* clus)
 Apply common cluster cuts and return supermodule number on success.
 Return -1 if cuts not passed or an error occured.
Int_t GetSM(Int_t absId)
 Convert cell absId --> supermodule number. Return -1 in case of error.
 Note: we use simple and straightforward way to find supermodule number.
 This allows to avoid unnecessary external dependencies (on geometry).
Bool_t IsCellLocalMaximum(Int_t c, AliVCluster* clus, AliVCaloCells* cells)
 Returns true if cell is a local maximum in cluster (clusterizer dependent).
 Cell fractions are taken into account.

 c -- cell number in the cluster.
Bool_t IsCellLocalMaximum(Int_t absId, AliVCaloCells* cells)
 Returns true if cell is a local maximum among cells (clusterizer independent).
void AbsIdToSMEtaPhi(Int_t absId, Int_t& sm, Int_t& eta, Int_t& phi)
 Converts absId --> (sm, eta, phi) for a cell.
 Works both for EMCAL and for PHOS.
 Geometry must be already initialized.
AliCaloCellsQA()
Int_t GetDetector()
 getters
{ return fDetector; }
Int_t GetNMods()
{ return fNMods; }
Double_t GetClusElowMin()
{ return fClusElowMin; }
Double_t GetClusEhighMin()
{ return fClusEhighMin; }
Double_t GetPi0EClusMin()
{ return fPi0EClusMin; }
Bool_t GetFullAnalysis()
{ return fkFullAnalysis; }
TObjArray* GetListOfHistos()
{ return fListOfHistos; }