ROOT logo
AliRoot » STEER » STEER » AliQADataMaker

class AliQADataMaker: public TNamed

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~AliQADataMaker()
voidTObject::AbstractMethod(const char* method) const
virtual Int_tAdd2DigitsList(TH1* hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)
virtual Int_tAdd2ESDsList(TH1* hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)
virtual Int_tAdd2HitsList(TH1* hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)
virtual Int_tAdd2RawsList(TH1* hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE, const Bool_t saveForCorr = kFALSE)
virtual Int_tAdd2RecPointsList(TH1* hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)
virtual Int_tAdd2SDigitsList(TH1* hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual voidClonePerTrigClass(AliQAv1::TASKINDEX_t task)
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) 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 voidEndOfCycle()
virtual voidEndOfCycle(AliQAv1::TASKINDEX_t)
virtual voidEndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray** list)
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidExec(AliQAv1::TASKINDEX_t, TObject* data)
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 voidTNamed::FillBuffer(char*& buffer)
virtual Int_tFillDigitsData(Int_t index, double x)
virtual Int_tFillDigitsData(Int_t index, double x, double y)
virtual Int_tFillDigitsData(Int_t index, double x, double y, double z)
virtual Int_tFillESDsData(Int_t index, double x)
virtual Int_tFillESDsData(Int_t index, double x, double y)
virtual Int_tFillESDsData(Int_t index, double x, double y, double z)
virtual Int_tFillHitsData(Int_t index, double x)
virtual Int_tFillHitsData(Int_t index, double x, double y)
virtual Int_tFillHitsData(Int_t index, double x, double y, double z)
virtual Int_tFillRawsData(Int_t index, double x)
virtual Int_tFillRawsData(Int_t index, double x, double y)
virtual Int_tFillRawsData(Int_t index, double x, double y, double z)
virtual Int_tFillRecPointsData(Int_t index, double x)
virtual Int_tFillRecPointsData(Int_t index, double x, double y)
virtual Int_tFillRecPointsData(Int_t index, double x, double y, double z)
virtual Int_tFillSDigitsData(Int_t index, double x)
virtual Int_tFillSDigitsData(Int_t index, double x, double y)
virtual Int_tFillSDigitsData(Int_t index, double x, double y, double z)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidFinish() const
voidForbidCloning(TH1* h, Bool_t v = kTRUE)
static TObjArray*GetDataOfTrigClass(TObjArray* arr, Int_t cloneID, TObjArray* dest = 0)
static TObjArray*GetDataOfTrigClass(TObjArray** list, Int_t specieIndex, int cloneID, TObjArray* dest)
const Char_t*GetDetectorDirName() const
virtual TObject*GetDigitsData(const Int_t index)
virtual TH1*GetDigitsData(const Int_t index, int cloneID)
virtual TObjArray*GetDigitsDataOfTrigClass(int cloneID, TObjArray* dest = 0)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual TObject*GetESDsData(const Int_t index)
virtual TH1*GetESDsData(const Int_t index, int cloneID)
virtual TObjArray*GetESDsDataOfTrigClass(int cloneID, TObjArray* dest = 0)
Int_tGetEvCountCycle(AliQAv1::TASKINDEX_t task, Int_t trCl = -1) const
Int_tGetEvCountCycle(AliRecoParam::EventSpecie_t sp, AliQAv1::TASKINDEX_t task, Int_t trCl = -1) const
Int_tGetEvCountCycleDigits(Int_t trCl = -1) const
Int_tGetEvCountCycleESDS(Int_t trCl = -1) const
Int_tGetEvCountCycleHits(Int_t trCl = -1) const
Int_tGetEvCountCycleRaws(Int_t trCl = -1) const
Int_tGetEvCountCycleRecPoints(Int_t trCl = -1) const
Int_tGetEvCountCycleSDigits(Int_t trCl = -1) const
Int_tGetEvCountTotal(AliQAv1::TASKINDEX_t task, Int_t trCl = -1) const
Int_tGetEvCountTotal(AliRecoParam::EventSpecie_t sp, AliQAv1::TASKINDEX_t task, Int_t trCl = -1) const
Int_tGetEvCountTotalDigits(Int_t trCl = -1) const
Int_tGetEvCountTotalESDS(Int_t trCl = -1) const
Int_tGetEvCountTotalHits(Int_t trCl = -1) const
Int_tGetEvCountTotalRaws(Int_t trCl = -1) const
Int_tGetEvCountTotalRecPoints(Int_t trCl = -1) const
Int_tGetEvCountTotalSDigits(Int_t trCl = -1) const
AliRecoParam::EventSpecie_tGetEventSpecie() const
static TNamed*GetEventTrigClass(Int_t i)
static const TObjArray&GetEventTrigClasses()
Char_t*GetHistoTrigger(const TH1* h) const
virtual TObject*GetHitsData(const Int_t index)
virtual TH1*GetHitsData(const Int_t index, int cloneID)
virtual TObjArray*GetHitsDataOfTrigClass(int cloneID, TObjArray* dest = 0)
virtual const char*TObject::GetIconName() const
virtual TObjArray*GetMatchingDigitsData(const Int_t index, TObjArray* optDest = 0)
virtual TH1*GetMatchingDigitsHisto(Int_t index, Int_t trigId)
virtual TObjArray*GetMatchingDigitsHistosSet(const Int_t* indexList, Int_t nHist, Int_t trigId)
virtual TObjArray*GetMatchingESDsData(const Int_t index, TObjArray* optDest = 0)
virtual TH1*GetMatchingESDsHisto(Int_t index, Int_t trigId)
virtual TObjArray*GetMatchingESDsHistosSet(const Int_t* indexList, Int_t nHist, Int_t trigId)
virtual TObjArray*GetMatchingHitsData(const Int_t index, TObjArray* optDest = 0)
virtual TH1*GetMatchingHitsHisto(Int_t index, Int_t trigId)
virtual TObjArray*GetMatchingHitsHistosSet(const Int_t* indexList, Int_t nHist, Int_t trigId)
virtual TObjArray*GetMatchingRawsData(const Int_t index, TObjArray* optDest = 0)
virtual TH1*GetMatchingRawsHisto(Int_t index, Int_t trigId)
virtual TObjArray*GetMatchingRawsHistosSet(const Int_t* indexList, Int_t nHist, Int_t trigId)
virtual TObjArray*GetMatchingRecPointsData(const Int_t index, TObjArray* optDest = 0)
virtual TH1*GetMatchingRecPointsHisto(Int_t index, Int_t trigId)
virtual TObjArray*GetMatchingRecPointsHistosSet(const Int_t* indexList, Int_t nHist, Int_t trigId)
virtual TObjArray*GetMatchingSDigitsData(const Int_t index, TObjArray* optDest = 0)
virtual TH1*GetMatchingSDigitsHisto(Int_t index, Int_t trigId)
virtual TObjArray*GetMatchingSDigitsHistosSet(const Int_t* indexList, Int_t nHist, Int_t trigId)
virtual const char*TNamed::GetName() const
static Int_tGetNEventTrigClasses()
static Int_tGetNTrigClasses()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TList*GetParameterList() const
virtual TObject*GetRawsData(const Int_t index)
virtual TH1*GetRawsData(const Int_t index, int cloneID)
virtual TObjArray*GetRawsDataOfTrigClass(int cloneID, TObjArray* dest = 0)
virtual const AliDetectorRecoParam*GetRecoParam()
virtual TObject*GetRecPointsData(const Int_t index)
virtual TH1*GetRecPointsData(const Int_t index, int cloneID)
virtual TObjArray*GetRecPointsDataOfTrigClass(int cloneID, TObjArray* dest = 0)
Int_tGetRun() const
virtual TObject*GetSDigitsData(const Int_t index)
virtual TH1*GetSDigitsData(const Int_t index, int cloneID)
virtual TObjArray*GetSDigitsDataOfTrigClass(int cloneID, TObjArray* dest = 0)
virtual const char*TNamed::GetTitle() const
static TNamed*GetTrigClass(Int_t i)
static const char*GetTrigClassName(Int_t i)
static const char*GetTriggerPrefix()
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
voidIncEvCountCycle(AliQAv1::TASKINDEX_t task, Int_t diff = 1)
voidIncEvCountCycleDigits(Int_t diff = 1)
voidIncEvCountCycleESDs(Int_t diff = 1)
voidIncEvCountCycleHits(Int_t diff = 1)
voidIncEvCountCycleRaws(Int_t diff = 1)
voidIncEvCountCycleRecParticles(Int_t diff = 1)
voidIncEvCountCycleRecPoints(Int_t diff = 1)
voidIncEvCountCycleSDigits(Int_t diff = 1)
voidIncEvCountCycleTrackSegments(Int_t diff = 1)
voidIncEvCountTotal(AliQAv1::TASKINDEX_t task, Int_t diff = 1)
voidIncEvCountTotalDigits(Int_t diff = 1)
voidIncEvCountTotalESDs(Int_t diff = 1)
voidIncEvCountTotalHits(Int_t diff = 1)
voidIncEvCountTotalRaws(Int_t diff = 1)
voidIncEvCountTotalRecParticles(Int_t diff = 1)
voidIncEvCountTotalRecPoints(Int_t diff = 1)
voidIncEvCountTotalSDigits(Int_t diff = 1)
voidIncEvCountTotalTrackSegments(Int_t diff = 1)
Int_tIncrement()
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 TObjArray**Init(AliQAv1::TASKINDEX_t, Int_t cycles = -1)
TObjArray*Init(AliQAv1::TASKINDEX_t, AliRecoParam::EventSpecie_t es, Int_t cycles = -1)
virtual voidInit(AliQAv1::TASKINDEX_t, TObjArray** list, Int_t run, Int_t cycles = -1)
virtual voidInitDigits()
virtual voidInitESDs()
virtual voidInitRaws()
virtual voidInitRecPoints()
virtual voidInitRecPointsForTracker()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Int_tIsClonedPerTrigClass(Int_t index, TObjArray** list)
Bool_tIsCloningForbidden(TH1* h) const
Bool_tIsCycleDone() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
static Bool_tIsEventTriggerSet()
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tIsOrigHistoKept(Int_t index, TObjArray** list)
virtual Bool_tTNamed::IsSortable() const
Bool_tIsValidEventSpecie(Int_t eventSpecieIndex, TObjArray** list)
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
Bool_tMatchesToTriggers(UInt_t hpos) 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 voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidReset()
voidTObject::ResetBit(UInt_t f)
virtual voidResetDetector(AliQAv1::TASKINDEX_t task)
virtual Int_tResetDigitsData(Int_t index, Option_t* opt = "")
virtual Int_tResetESDsData(Int_t index, Option_t* opt = "")
voidResetEvCountCycle()
voidResetEvCountCycle(AliRecoParam::EventSpecie_t isp)
voidResetEvCountCycle(AliRecoParam::EventSpecie_t isp, AliQAv1::TASKINDEX_t task)
voidResetEvCountTotal()
voidResetEvCountTotal(AliRecoParam::EventSpecie_t isp)
voidResetEvCountTotal(AliRecoParam::EventSpecie_t isp, AliQAv1::TASKINDEX_t task)
static voidResetEventTrigClasses()
virtual Int_tResetHitsData(Int_t index, Option_t* opt = "")
virtual Int_tResetRawsData(Int_t index, Option_t* opt = "")
virtual Int_tResetRecPointsData(Int_t index, Option_t* opt = "")
virtual Int_tResetSDigitsData(Int_t index, Option_t* opt = "")
virtual Int_tResetStatsDigitsData(Int_t index)
virtual Int_tResetStatsESDsData(Int_t index)
virtual Int_tResetStatsHitsData(Int_t index)
virtual Int_tResetStatsRawsData(Int_t index)
virtual Int_tResetStatsRecPointsData(Int_t index)
virtual Int_tResetStatsSDigitsData(Int_t index)
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)
static voidSetCloningRequest(TObjArray* aliases, TObjArray* histos)
voidSetCycle(Int_t nevts)
virtual Int_tSetDigitsDataBinContent(Int_t index, int bin, double w)
virtual Int_tSetDigitsDataBinContent(Int_t index, int binX, int binY, double w)
virtual Int_tSetDigitsDataBinError(Int_t index, int bin, double err)
virtual Int_tSetDigitsDataBinError(Int_t index, int binX, int binY, double err)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual Int_tSetESDsDataBinContent(Int_t index, int bin, double w)
virtual Int_tSetESDsDataBinContent(Int_t index, int binX, int binY, double w)
virtual Int_tSetESDsDataBinError(Int_t index, int bin, double err)
virtual Int_tSetESDsDataBinError(Int_t index, int binX, int binY, double err)
voidSetEventSpecie(AliRecoParam::EventSpecie_t es)
voidSetEventSpecie(Int_t es)
static Int_tSetEventTrigClasses(const char* triggers)
virtual Int_tSetHitsDataBinContent(Int_t index, int bin, double w)
virtual Int_tSetHitsDataBinContent(Int_t index, int binX, int binY, double w)
virtual Int_tSetHitsDataBinError(Int_t index, int bin, double err)
virtual Int_tSetHitsDataBinError(Int_t index, int binX, int binY, double err)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual Int_tSetRawsDataBinContent(Int_t index, int bin, double w)
virtual Int_tSetRawsDataBinContent(Int_t index, int binX, int binY, double w)
virtual Int_tSetRawsDataBinError(Int_t index, int bin, double err)
virtual Int_tSetRawsDataBinError(Int_t index, int binX, int binY, double err)
virtual voidSetRecoParam(const AliDetectorRecoParam*)
virtual Int_tSetRecPointsDataBinContent(Int_t index, int bin, double w)
virtual Int_tSetRecPointsDataBinContent(Int_t index, int binX, int binY, double w)
virtual Int_tSetRecPointsDataBinError(Int_t index, int bin, double err)
virtual Int_tSetRecPointsDataBinError(Int_t index, int binX, int binY, double err)
virtual Int_tSetSDigitsDataBinContent(Int_t index, int bin, double w)
virtual Int_tSetSDigitsDataBinContent(Int_t index, int binX, int binY, double w)
virtual Int_tSetSDigitsDataBinError(Int_t index, int bin, double err)
virtual Int_tSetSDigitsDataBinError(Int_t index, int binX, int binY, double err)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetWriteExpert()
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStartOfCycle(Int_t run = -1)
virtual voidStartOfCycle(AliQAv1::TASKINDEX_t, Int_t run, const Bool_t sameCycle = kFALSE)
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
voidUnSetWriteExpert()
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
Bool_tWriteExpert()
protected:
Int_tAdd2List(TH1* hist, const Int_t index, TObjArray** list, const Bool_t expert = kFALSE, const Bool_t image = kFALSE, const Bool_t saveForCorr = kFALSE)
Bool_tCheckCloningConsistency(TObjArray** list, const Int_t* indexList, Int_t nHist, Bool_t checkTriggers = kFALSE)
TH1*CloneMe(TH1* hist, Int_t specie) const
virtual Int_tClonePerTrigClassA(TObjArray* list, const char* hnm, const char* triggers, Bool_t keepOriginal = kFALSE)
virtual Int_tClonePerTrigClassH(Int_t index, TObjArray* list, TObjArray* trigArr, Bool_t keepOriginal = kFALSE)
virtual voidClonePerTrigClassL(TObjArray** list, AliQAv1::TASKINDEX_t task)
virtual voidDefaultEndOfDetectorCycle(AliQAv1::TASKINDEX_t task)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Int_tFillData(TObjArray** list, Int_t index, double x)
Int_tFillData(TObjArray** list, Int_t index, double x, double y)
Int_tFillData(TObjArray** list, Int_t index, double x, double y, double z)
TObject*GetData(TObjArray** list, const Int_t index)
TH1*GetData(TObjArray** list, const Int_t index, Int_t cloneID)
TObjArray*GetDataOfTrigClass(TObjArray** list, Int_t cloneID, TObjArray* dest = 0)
TH1*GetMatchingHisto(TObjArray** list, Int_t index, Int_t trigId)
TObjArray*GetMatchingHistos(TObjArray** list, Int_t index, TObjArray* optDest = 0)
TObjArray*GetMatchingHistosSet(TObjArray** list, const Int_t* indexList, Int_t nHist, Int_t trigId)
virtual voidInitHits()
virtual voidInitSDigits()
virtual voidMakeDigits()
virtual voidMakeDigits(TTree*)
virtual voidMakeESDs(AliESDEvent*)
virtual voidMakeHits()
virtual voidMakeHits(TTree*)
virtual voidMakeRaws(AliRawReader*)
virtual voidMakeRecPoints(TTree*)
virtual voidMakeSDigits()
virtual voidMakeSDigits(TTree*)
voidTObject::MakeZombie()
voidResetCycle()
Int_tResetData(TObjArray** list, Int_t index, Option_t* option = "")
Int_tResetStatsData(TObjArray** list, Int_t index)
Int_tSetDataBinContent(TObjArray** list, Int_t index, int bin, double w)
Int_tSetDataBinContent(TObjArray** list, Int_t index, int binX, int binY, double w)
Int_tSetDataBinError(TObjArray** list, Int_t index, int bin, double err)
Int_tSetDataBinError(TObjArray** list, Int_t index, int binX, int binY, double err)
virtual voidStartOfDetectorCycle()

Data Members

protected:
Int_tfCurrentCycle! current cycle number
Int_tfCycle! length (# events) of the QA data acquisition cycle
Int_tfCycleCounter! cycle counter
TDirectory*fDetectorDir! directory for the given detector in the file
TStringfDetectorDirName! detector directory name in the quality assurance data file
TClonesArray*fDigitsArray! array to hold the sdigits
TArrayIfEvCountCycle[5]cycle event counters per specie and per task and eventually per trigger class
TArrayIfEvCountTotal[5]total event counters per specie and per task and eventually per trigger class
AliRecoParam::EventSpecie_tfEventSpecie! event specie, see AliRecoParam
TStringTNamed::fNameobject identifier
TFile*fOutput! output root file
TList**fParameterList! list of QA data parameters
Int_tfRun! run number
TStringTNamed::fTitleobject title
Bool_tfWriteExpert! flag to write or not the expert QA data
static TObjArray*fgCloningRequestset of histogram names and trigger aliases
static TObjArrayfgEventTrigClassesarray of indices of fired trigger classes for current event (indices of fgTriggeClasses)
static TObjArray*fgTrigClassesset of trigger_aliases and corresponding trigger names
static const Char_t*fgkTriggerPrefixspecial prefix to separate the trigger name from histo name

Class Charts

Inheritance Chart:
TNamed
AliQADataMaker
AliQADataMakerRec
AliACORDEQADataMakerRec
AliCorrQADataMakerRec
AliEMCALQADataMakerRec
AliFMDQADataMakerRec
AliGlobalQADataMaker
AliHMPIDQADataMakerRec
AliITSQADataMakerRec
AliMUONQADataMakerRec
AliPHOSQADataMakerRec
 [more...]

Function documentation

~AliQADataMaker()
Int_t Add2List(TH1* hist, const Int_t index, TObjArray** list, const Bool_t expert = kFALSE, const Bool_t image = kFALSE, const Bool_t saveForCorr = kFALSE)
 Set histograms memory resident and add to the list
 Maximm allowed is 10000
void ClonePerTrigClassL(TObjArray** list, AliQAv1::TASKINDEX_t task)
 scan the histos of the list, match them to requested histo names to be
 cloned and create the clones per trigger class
Int_t ClonePerTrigClassA(TObjArray* list, const char* hnm, const char* triggers, Bool_t keepOriginal = kFALSE)
 substitute the matching histogram by the TObjArray containing clones of
 original histogram for each trigger from the space-separated tiggers string
 When keepOriginal is requested, the original histo is not deleted and filled for each trigger
Int_t ClonePerTrigClassH(Int_t index, TObjArray* list, TObjArray* trigArr, Bool_t keepOriginal = kFALSE)
 substitute the histogram at position index by the TObjArray containing clones of
 original histogram for each trigger from the trigArr
 When keepOriginal is requested, the original histo is not deleted and filled for each trigger
Char_t* GetHistoTrigger(const TH1* h) const
 extract the name of the trigger from the histogram name
Int_t SetEventTrigClasses(const char* triggers)
 sets the array of triggers fired in given event, return the number of triggers

TH1* GetMatchingHisto(TObjArray** list, Int_t index, Int_t trigId)
 get histo with given index matching to trigId-th current trigger class
 trigId < 0 means default hist (only if cloning was done)
TObjArray* GetMatchingHistosSet(TObjArray** list, const Int_t* indexList, Int_t nHist, Int_t trigId)
 get set of nHist histos with indices from the indexList matching to trigId-th current trigger
 Note: a static array is returned, it will be overwritten at the next call
Bool_t CheckCloningConsistency(TObjArray** list, const Int_t* indexList, Int_t nHist, Bool_t checkTriggers = kFALSE)
 Make sure that histograms at slots mentioned in the indexList are either
 not cloned per trigger or
 cloned for the same amount of triggers and if original histo was kept, then it is done for all histos.
 If checkTriggers is requested, apart from clones count also the trigger names are checked

 This consistency check is needed to ensure validity of the operations over the group of histograms in the EndOfDetectorCycle's

TObjArray* GetMatchingHistos(TObjArray** list, Int_t index, TObjArray* optDest = 0)
 return all histograms of given index matching to any trigger in the current event trigger's list
 If the destination optDest is provided - use it, otherwise fill/return own static array
 In the latter case one should be careful: the content is overwritten at each call
 If the original histo was cloned but kept, it is also returned

 Note: if there are no triggers set, all eventual clones are returned
 (used for EndOfDetectorCycle loop over all histos)
Int_t FillData(TObjArray** list, Int_t index, double x)
 fills single histo or its trigger-dependent clones, return number of histos filled
Int_t FillData(TObjArray** list, Int_t index, double x, double y)
 fills single histo or its trigger-dependent clones, return number of histos filled
Int_t FillData(TObjArray** list, Int_t index, double x, double y, double z)
 fills single histo or its trigger-dependent clones, return number of histos filled
Int_t SetDataBinContent(TObjArray** list, Int_t index, int bin, double w)
 set bin content of single histo or its trigger-dependent clones, return number of histos filled
Int_t SetDataBinContent(TObjArray** list, Int_t index, int binX, int binY, double w)
 set bin content of single histo or its trigger-dependent clones, return number of histos filled
Int_t SetDataBinError(TObjArray** list, Int_t index, int bin, double err)
 set bin content of single histo or its trigger-dependent clones, return number of histos filled
Int_t SetDataBinError(TObjArray** list, Int_t index, int binX, int binY, double err)
 set bin content of single histo or its trigger-dependent clones, return number of histos filled
Int_t ResetData(TObjArray** list, Int_t index, Option_t* option = "")
 reset content of single histo or its trigger-dependent clones, return number of histos processed
Int_t ResetStatsData(TObjArray** list, Int_t index)
 reset stats of single histo or its trigger-dependent clones, return number of histos processed
TH1 * CloneMe(TH1* hist, Int_t specie) const
 clones a histogram
void DefaultEndOfDetectorCycle(AliQAv1::TASKINDEX_t task)
 this method must be oveloaded by detectors
 sets the QA result to Fatal
void Finish() const
 write to the output File
TH1* GetData(TObjArray** list, const Int_t index, Int_t cloneID)
 get the cloneID-th clone of the histo, -1 for original (if kept)
TObjArray* GetDataOfTrigClass(TObjArray** list, Int_t specieIndex, int cloneID, TObjArray* dest)
 get all histos for cloneID-th trigger class (-1 is for original "all-triggers" histos) in
 a single array (if dest is not provided, use its own static array).
 Existing histos are attached at their original positions
TObjArray* GetDataOfTrigClass(TObjArray* arr, Int_t cloneID, TObjArray* dest = 0)
 get all histos for cloneID-th trigger class (-1 is for original "all-triggers" histos) in
 a single array (if dest is not provided, use its own static array).
 Existing histos are attached at their original positions
TObjArray* GetDataOfTrigClass(TObjArray** list, Int_t cloneID, TObjArray* dest = 0)
 get all histos for cloneID-th trigger class (-1 is for original "all-triggers" histos) in
 a single array (if dest is not provided, use its own static array).
 Existing histos are attached at their original positions

TObject * GetData(TObjArray** list, const Int_t index)
 Returns the QA object at index. Limit is AliQAv1::GetMaxQAObj()
TObjArray* Init(AliQAv1::TASKINDEX_t , AliRecoParam::EventSpecie_t es, Int_t cycles = -1)
 Initialializes and  returns the QAData list for a given event specie
Bool_t IsValidEventSpecie(Int_t eventSpecieIndex, TObjArray** list)
 check if event specie was present in current run or
 if histograms of this event specie have been created
void SetCloningRequest(TObjArray* aliases, TObjArray* histos)
 set associations {trigger names} <-> {trigger class alias}

void IncEvCountCycle(AliQAv1::TASKINDEX_t task, Int_t diff = 1)
 incerment by "diff" the cycle counters for the current event trigger classes (+ the global one)
void IncEvCountTotal(AliQAv1::TASKINDEX_t task, Int_t diff = 1)
 incerment by "diff" the cycle counters for the current event trigger classes (+ the global one)
void ResetEvCountCycle(AliRecoParam::EventSpecie_t isp, AliQAv1::TASKINDEX_t task)
 reset counter for specific trigger class for specific specie (within the cycle)
void ResetEvCountTotal(AliRecoParam::EventSpecie_t isp, AliQAv1::TASKINDEX_t task)
 reset counter for specific trigger class for specific specie (global count)
Int_t GetEvCountCycle(AliRecoParam::EventSpecie_t sp, AliQAv1::TASKINDEX_t task, Int_t trCl = -1) const
 get counter for specific trigger class for specific specie (within the cycle)
Int_t GetEvCountTotal(AliRecoParam::EventSpecie_t sp, AliQAv1::TASKINDEX_t task, Int_t trCl = -1) const
 get counter for specific trigger class for specific specie (global count)
Bool_t IsOrigHistoKept(Int_t index, TObjArray** list)
Int_t IsClonedPerTrigClass(Int_t index, TObjArray** list)
Bool_t MatchesToTriggers(UInt_t hpos) const
void ForbidCloning(TH1* h, Bool_t v = kTRUE)
Bool_t IsCloningForbidden(TH1* h) const
Int_t Add2DigitsList(TH1* hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)
Int_t Add2ESDsList(TH1* hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)
Int_t Add2HitsList(TH1* hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)
Int_t Add2RecPointsList(TH1* hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)
Int_t Add2RawsList(TH1* hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE, const Bool_t saveForCorr = kFALSE)
Int_t Add2SDigitsList(TH1* hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)
void Exec(AliQAv1::TASKINDEX_t , TObject* data)
void EndOfCycle()
void EndOfCycle(AliQAv1::TASKINDEX_t )
void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray** list)
AliRecoParam::EventSpecie_t GetEventSpecie() const
{ return fEventSpecie ; }
TObject* GetDigitsData(const Int_t index)
TObject* GetESDsData(const Int_t index)
TObject* GetHitsData(const Int_t index)
TObject* GetRecPointsData(const Int_t index)
TObject* GetRawsData(const Int_t index)
TObject* GetSDigitsData(const Int_t index)
TH1* GetDigitsData(const Int_t index, int cloneID)
TH1* GetESDsData(const Int_t index, int cloneID)
TH1* GetHitsData(const Int_t index, int cloneID)
TH1* GetRecPointsData(const Int_t index, int cloneID)
TH1* GetRawsData(const Int_t index, int cloneID)
TH1* GetSDigitsData(const Int_t index, int cloneID)
TObjArray* GetDigitsDataOfTrigClass(int cloneID, TObjArray* dest = 0)
TObjArray* GetSDigitsDataOfTrigClass(int cloneID, TObjArray* dest = 0)
TObjArray* GetESDsDataOfTrigClass(int cloneID, TObjArray* dest = 0)
TObjArray* GetHitsDataOfTrigClass(int cloneID, TObjArray* dest = 0)
TObjArray* GetRecPointsDataOfTrigClass(int cloneID, TObjArray* dest = 0)
TObjArray* GetRawsDataOfTrigClass(int cloneID, TObjArray* dest = 0)
const Char_t * GetDetectorDirName() const
{ return fDetectorDirName.Data() ; }
TList * GetParameterList() const
const AliDetectorRecoParam * GetRecoParam()
{ return NULL ; }
Int_t GetRun() const
{ return fRun ; }
Int_t Increment()
{ return ++fCycleCounter ; }
TObjArray** Init(AliQAv1::TASKINDEX_t , Int_t cycles = -1)
TObjArray* Init(AliQAv1::TASKINDEX_t , AliRecoParam::EventSpecie_t es, Int_t cycles = -1)
void InitDigits()
void InitESDs()
void InitRaws()
void InitRecPoints()
Bool_t IsCycleDone() const
{ return fCycleCounter > fCycle ? kTRUE : kFALSE ; }
void Reset()
{ fCycleCounter = 0 ; }
void ResetDetector(AliQAv1::TASKINDEX_t task)
void SetCycle(Int_t nevts)
{ fCycle = nevts ; }
void SetWriteExpert()
void StartOfCycle(Int_t run = -1)
void StartOfCycle(AliQAv1::TASKINDEX_t , Int_t run, const Bool_t sameCycle = kFALSE)
void UnSetWriteExpert()
Bool_t WriteExpert()
{ return fWriteExpert ; }
void SetEventSpecie(AliRecoParam::EventSpecie_t es)
{fEventSpecie = es;}
void SetEventSpecie(Int_t es)
void SetRecoParam(const AliDetectorRecoParam* )
{;}
void InitRecPointsForTracker()
{;}
TObjArray* GetMatchingDigitsData(const Int_t index, TObjArray* optDest = 0)
TObjArray* GetMatchingESDsData(const Int_t index, TObjArray* optDest = 0)
TObjArray* GetMatchingHitsData(const Int_t index, TObjArray* optDest = 0)
TObjArray* GetMatchingRecPointsData(const Int_t index, TObjArray* optDest = 0)
TObjArray* GetMatchingRawsData(const Int_t index, TObjArray* optDest = 0)
TObjArray* GetMatchingSDigitsData(const Int_t index, TObjArray* optDest = 0)
TH1* GetMatchingRawsHisto(Int_t index, Int_t trigId)
TH1* GetMatchingDigitsHisto(Int_t index, Int_t trigId)
TH1* GetMatchingSDigitsHisto(Int_t index, Int_t trigId)
TH1* GetMatchingHitsHisto(Int_t index, Int_t trigId)
TH1* GetMatchingRecPointsHisto(Int_t index, Int_t trigId)
TH1* GetMatchingESDsHisto(Int_t index, Int_t trigId)
TObjArray* GetMatchingRawsHistosSet(const Int_t* indexList, Int_t nHist, Int_t trigId)
TObjArray* GetMatchingDigitsHistosSet(const Int_t* indexList, Int_t nHist, Int_t trigId)
TObjArray* GetMatchingSDigitsHistosSet(const Int_t* indexList, Int_t nHist, Int_t trigId)
TObjArray* GetMatchingHitsHistosSet(const Int_t* indexList, Int_t nHist, Int_t trigId)
TObjArray* GetMatchingRecPointsHistosSet(const Int_t* indexList, Int_t nHist, Int_t trigId)
TObjArray* GetMatchingESDsHistosSet(const Int_t* indexList, Int_t nHist, Int_t trigId)
Int_t FillHitsData(Int_t index, double x)
Int_t FillDigitsData(Int_t index, double x)
Int_t FillSDigitsData(Int_t index, double x)
Int_t FillRawsData(Int_t index, double x)
Int_t FillRecPointsData(Int_t index, double x)
Int_t FillESDsData(Int_t index, double x)
Int_t FillHitsData(Int_t index, double x, double y)
Int_t FillDigitsData(Int_t index, double x, double y)
Int_t FillSDigitsData(Int_t index, double x, double y)
Int_t FillRawsData(Int_t index, double x, double y)
Int_t FillRecPointsData(Int_t index, double x, double y)
Int_t FillESDsData(Int_t index, double x, double y)
Int_t FillHitsData(Int_t index, double x, double y, double z)
Int_t FillDigitsData(Int_t index, double x, double y, double z)
Int_t FillSDigitsData(Int_t index, double x, double y, double z)
Int_t FillRawsData(Int_t index, double x, double y, double z)
Int_t FillRecPointsData(Int_t index, double x, double y, double z)
Int_t FillESDsData(Int_t index, double x, double y, double z)
Int_t SetHitsDataBinContent(Int_t index, int bin, double w)
Int_t SetDigitsDataBinContent(Int_t index, int bin, double w)
Int_t SetSDigitsDataBinContent(Int_t index, int bin, double w)
Int_t SetRawsDataBinContent(Int_t index, int bin, double w)
Int_t SetRecPointsDataBinContent(Int_t index, int bin, double w)
Int_t SetESDsDataBinContent(Int_t index, int bin, double w)
Int_t SetHitsDataBinContent(Int_t index, int binX, int binY, double w)
Int_t SetDigitsDataBinContent(Int_t index, int binX, int binY, double w)
Int_t SetSDigitsDataBinContent(Int_t index, int binX, int binY, double w)
Int_t SetRawsDataBinContent(Int_t index, int binX, int binY, double w)
Int_t SetRecPointsDataBinContent(Int_t index, int binX, int binY, double w)
Int_t SetESDsDataBinContent(Int_t index, int binX, int binY, double w)
Int_t SetHitsDataBinError(Int_t index, int bin, double err)
Int_t SetDigitsDataBinError(Int_t index, int bin, double err)
Int_t SetSDigitsDataBinError(Int_t index, int bin, double err)
Int_t SetRawsDataBinError(Int_t index, int bin, double err)
Int_t SetRecPointsDataBinError(Int_t index, int bin, double err)
Int_t SetESDsDataBinError(Int_t index, int bin, double err)
Int_t SetHitsDataBinError(Int_t index, int binX, int binY, double err)
Int_t SetDigitsDataBinError(Int_t index, int binX, int binY, double err)
Int_t SetSDigitsDataBinError(Int_t index, int binX, int binY, double err)
Int_t SetRawsDataBinError(Int_t index, int binX, int binY, double err)
Int_t SetRecPointsDataBinError(Int_t index, int binX, int binY, double err)
Int_t SetESDsDataBinError(Int_t index, int binX, int binY, double err)
Int_t ResetHitsData(Int_t index, Option_t* opt = "")
Int_t ResetDigitsData(Int_t index, Option_t* opt = "")
Int_t ResetSDigitsData(Int_t index, Option_t* opt = "")
Int_t ResetRawsData(Int_t index, Option_t* opt = "")
Int_t ResetRecPointsData(Int_t index, Option_t* opt = "")
Int_t ResetESDsData(Int_t index, Option_t* opt = "")
Int_t ResetStatsHitsData(Int_t index)
Int_t ResetStatsDigitsData(Int_t index)
Int_t ResetStatsSDigitsData(Int_t index)
Int_t ResetStatsRawsData(Int_t index)
Int_t ResetStatsRecPointsData(Int_t index)
Int_t ResetStatsESDsData(Int_t index)
void ResetEvCountCycle(AliRecoParam::EventSpecie_t isp, AliQAv1::TASKINDEX_t task)
void ResetEvCountTotal(AliRecoParam::EventSpecie_t isp, AliQAv1::TASKINDEX_t task)
void ResetEvCountCycle(AliRecoParam::EventSpecie_t isp)
void ResetEvCountTotal(AliRecoParam::EventSpecie_t isp)
Int_t GetEvCountCycle(AliRecoParam::EventSpecie_t sp, AliQAv1::TASKINDEX_t task, Int_t trCl = -1) const
Int_t GetEvCountTotal(AliRecoParam::EventSpecie_t sp, AliQAv1::TASKINDEX_t task, Int_t trCl = -1) const
Int_t GetEvCountCycleRaws(Int_t trCl = -1) const
{return GetEvCountCycle(AliQAv1::kRAWS,trCl);}
Int_t GetEvCountCycleHits(Int_t trCl = -1) const
{return GetEvCountCycle(AliQAv1::kHITS,trCl);}
Int_t GetEvCountCycleSDigits(Int_t trCl = -1) const
Int_t GetEvCountCycleDigits(Int_t trCl = -1) const
Int_t GetEvCountCycleRecPoints(Int_t trCl = -1) const
Int_t GetEvCountCycleESDS(Int_t trCl = -1) const
{return GetEvCountCycle(AliQAv1::kESDS,trCl);}
Int_t GetEvCountTotalRaws(Int_t trCl = -1) const
{return GetEvCountTotal(AliQAv1::kRAWS,trCl);}
Int_t GetEvCountTotalHits(Int_t trCl = -1) const
{return GetEvCountTotal(AliQAv1::kHITS,trCl);}
Int_t GetEvCountTotalSDigits(Int_t trCl = -1) const
Int_t GetEvCountTotalDigits(Int_t trCl = -1) const
Int_t GetEvCountTotalRecPoints(Int_t trCl = -1) const
Int_t GetEvCountTotalESDS(Int_t trCl = -1) const
{return GetEvCountTotal(AliQAv1::kESDS,trCl);}
void IncEvCountCycleRaws(Int_t diff = 1)
void IncEvCountCycleHits(Int_t diff = 1)
void IncEvCountCycleSDigits(Int_t diff = 1)
void IncEvCountCycleDigits(Int_t diff = 1)
void IncEvCountCycleRecPoints(Int_t diff = 1)
void IncEvCountCycleTrackSegments(Int_t diff = 1)
void IncEvCountCycleRecParticles(Int_t diff = 1)
void IncEvCountCycleESDs(Int_t diff = 1)
void IncEvCountTotalRaws(Int_t diff = 1)
void IncEvCountTotalHits(Int_t diff = 1)
void IncEvCountTotalSDigits(Int_t diff = 1)
void IncEvCountTotalDigits(Int_t diff = 1)
void IncEvCountTotalRecPoints(Int_t diff = 1)
void IncEvCountTotalTrackSegments(Int_t diff = 1)
void IncEvCountTotalRecParticles(Int_t diff = 1)
void IncEvCountTotalESDs(Int_t diff = 1)
void ClonePerTrigClass(AliQAv1::TASKINDEX_t task)
const TObjArray& GetEventTrigClasses()
TNamed* GetTrigClass(Int_t i)
{return fgTrigClasses ? (TNamed*)fgTrigClasses->At(i) : 0;}
const char* GetTrigClassName(Int_t i)
{return fgTrigClasses ? (i<0||i>=GetNTrigClasses() ? "TriggerBlind":GetTrigClass(i)->GetName()) : 0;}
TNamed* GetEventTrigClass(Int_t i)
{return (TNamed*)fgEventTrigClasses.At(i);}
Int_t GetNEventTrigClasses()
{return fgEventTrigClasses.GetEntriesFast();}
void ResetEventTrigClasses()
Int_t GetNTrigClasses()
{return fgTrigClasses ? fgTrigClasses->GetEntriesFast() : 0;}
Bool_t IsEventTriggerSet()
const char* GetTriggerPrefix()
void InitHits()
virtual void   InitRecParticles()  = 0 ;
void InitSDigits()
virtual void   InitTrackSegments()  = 0 ;
void MakeESDs(AliESDEvent* )
void MakeHits()
void MakeHits(TTree* )
void MakeDigits()
void MakeDigits(TTree* )
virtual void   MakeRecParticles( ) = 0 ;
void MakeRaws(AliRawReader* )
void MakeRecPoints(TTree* )
void MakeSDigits()
void MakeSDigits(TTree* )
virtual void   MakeTrackSegments(TTree * )		 = 0 ;
void ResetCycle()
void StartOfDetectorCycle()