ROOT logo
AliRoot » PWGPP » TRD » AliTRDrecoTask

class AliTRDrecoTask: public AliAnalysisTaskSE


 Basic class for Performance/Calibration TRD tasks

 It performs generic tasks like :
   - data file manegment
   - reference container management
   - debug container management
   - interaction with AliAnalysisManager
   - Plot functor loop

 Author: Alexandru Bercuci <A.Bercuci@gsi.de>, 10/09/2008


Function Members (Methods)

public:
AliTRDrecoTask()
AliTRDrecoTask(const char* name, const char* title)
virtual~AliTRDrecoTask()
virtual voidTTask::Abort()MENU
voidTObject::AbstractMethod(const char* method) const
virtual voidTTask::Add(TTask* task)
virtual voidAliAnalysisTaskSE::AddAODBranch(const char* cname, void* addobj, const char* fname = "")
virtual AliAODEvent*AliAnalysisTaskSE::AODEvent() const
virtual voidTObject::AppendPad(Option_t* option = "")
Bool_tAliAnalysisTask::AreSlotsConnected()
virtual voidTTask::Browse(TBrowser* b)
Bool_tAliAnalysisTask::CheckCircularDeps()
voidAliAnalysisTask::CheckNotify(Bool_t init = kFALSE)
virtual Bool_tAliAnalysisTask::CheckOwnership() const
virtual Bool_tAliAnalysisTask::CheckPostData() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTTask::CleanTasks()
virtual voidTTask::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
Bool_tAliAnalysisTask::ConnectInput(Int_t islot, AliAnalysisDataContainer* cont)
virtual voidAliAnalysisTaskSE::ConnectInputData(Option_t* option = "")
Bool_tAliAnalysisTask::ConnectOutput(Int_t islot, AliAnalysisDataContainer* cont)
virtual voidTTask::Continue()MENU
virtual voidTNamed::Copy(TObject& named) const
virtual voidAliAnalysisTaskSE::CreateOutputObjects()
virtual const char*AliAnalysisTaskSE::CurrentFileName()
virtual Int_tAliAnalysisTaskSE::DebugLevel() 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 Long64_tAliAnalysisTaskSE::Entry() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual AliESDfriend*AliAnalysisTaskSE::ESDfriend() const
virtual const AliEventTag*AliAnalysisTaskSE::EventTag() const
virtual voidAliAnalysisTaskSE::Exec(Option_t* option)
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 voidTTask::ExecuteTask(Option_t* option = "0")MENU
virtual voidTTask::ExecuteTasks(Option_t* option)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidAliAnalysisTask::FinishTaskOutput()
voidAliAnalysisTask::GetBranches(const char* type, TString& result) const
Int_tTTask::GetBreakin() const
Int_tTTask::GetBreakout() const
virtual UInt_tAliAnalysisTaskSE::GetCollisionCandidates() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
TObject*AliAnalysisTask::GetInputData(Int_t islot) const
AliAnalysisDataSlot*AliAnalysisTask::GetInputSlot(Int_t islot) const
TClass*AliAnalysisTask::GetInputType(Int_t islot) const
TList*TTask::GetListOfTasks() const
static Float_tGetMeanStat(TH1* h, Float_t cut = 0., Int_t opt = 0, Float_t* sigma = NULL)
virtual const char*TNamed::GetName() const
const Char_t*GetNameId() const
Int_tAliAnalysisTask::GetNinputs() const
Int_tAliAnalysisTask::GetNoutputs() const
Int_tGetNRefFigures() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TObject*AliAnalysisTask::GetOutputData(Int_t islot) const
AliAnalysisDataSlot*AliAnalysisTask::GetOutputSlot(Int_t islot) const
TClass*AliAnalysisTask::GetOutputType(Int_t islot) const
TList*GetPlotFunctors() const
Int_tGetPtBin(Float_t pt)
TObject*AliAnalysisTask::GetPublishedData() const
virtual TList*AliAnalysisTaskSE::GetQAHistos() const
virtual Bool_tGetRefFigure(Int_t ifig)
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tAliAnalysisTask::HasBranches() const
Bool_tAliAnalysisTask::HasExecuted() const
Bool_tHasFriends() const
virtual ULong_tTNamed::Hash() const
Bool_tHasMCdata() const
Bool_tHasPostProcess() const
Bool_tHasRunTerminate() const
virtual TObjArray*Histos()
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 voidAliAnalysisTaskSE::Init()
virtual AliVEvent*AliAnalysisTaskSE::InputEvent() const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tTTask::IsActive() const
Bool_tAliAnalysisTask::IsChecked() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tAliAnalysisTaskSE::IsEventInBinZero()
virtual Bool_tTTask::IsFolder() const
Bool_tIsHeavyIon() const
Bool_tAliAnalysisTask::IsInitialized() const
Bool_tTObject::IsOnHeap() const
Bool_tAliAnalysisTask::IsOutputReady(Int_t islot) const
Bool_tAliAnalysisTask::IsPostEventLoop() const
Bool_tIsPP() const
Bool_tAliAnalysisTask::IsReady() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tAliAnalysisTaskSE::IsStandardAOD() const
Bool_tAliAnalysisTask::IsUsed() const
Bool_tAliAnalysisTask::IsZombie() const
virtual Bool_tLoad(const Char_t* file = "AnalysisResults.root", const Char_t* dir = "TRD_Performance")
voidAliAnalysisTaskSE::LoadBranches() const
virtual Bool_tLoadDetectorMap(const Char_t* file = "AnalysisResults.root", const Char_t* dir = "TRD_Performance")
virtual voidAliAnalysisTask::LocalInit()
virtual voidTTask::ls(Option_t* option = "*") constMENU
voidMakeDetectorPlot(Int_t ly = 0, Option_t* opt = "")
voidMakeDetectorPlotOLD(Int_t ly = 0, Option_t* opt = "")
virtual voidMakeSummary()
voidTObject::MayNotUse(const char* method) const
virtual AliMCEvent*AliAnalysisTaskSE::MCEvent() const
virtual Bool_tAliAnalysisTaskSE::Notify()
virtual Bool_tAliAnalysisTask::NotifyBinChange()
virtual voidAliAnalysisTaskSE::NotifyRun()
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 TTree*AliAnalysisTaskSE::OutputTree() const
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual Bool_tPostProcess()
virtual voidTNamed::Print(Option_t* option = "") const
voidAliAnalysisTask::PrintContainers(Option_t* option = "all", Int_t indent = 0) const
virtual voidAliAnalysisTask::PrintTask(Option_t* option = "all", Int_t indent = 0) const
Bool_tAliAnalysisTask::ProducersTouched() const
virtual Bool_tPutTrendValue(const Char_t* name, Double_t val, Double_t err = 0)
virtual Int_tTObject::Read(const char* name)
static Int_tRebin(TH2* h, Int_t n, Int_t* rebinX, Int_t* rebinY, Int_t nstat)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidAliAnalysisTask::Reset()
voidTObject::ResetBit(UInt_t f)
virtual Bool_tSave(TObjArray *const res)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
virtual voidAliAnalysisTaskSE::SelectCollisionCandidates(UInt_t offlineTriggerMask = AliVEvent::kMB)
voidTTask::SetActive(Bool_t active = kTRUE)TOGGLE
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidAliAnalysisTask::SetBranches(const char* names)
voidTTask::SetBreakin(Int_t breakin = 1)TOGGLE
voidTTask::SetBreakout(Int_t breakout = 1)TOGGLE
voidAliAnalysisTask::SetChecked(Bool_t flag = kTRUE)
virtual voidSetDebugLevel(Int_t level)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetFriends(Bool_t fr = kTRUE)
virtual voidSetMCdata(Bool_t mc = kTRUE)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidSetNameId(const Char_t* nid)
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static Float_tSetNormZ(TH2* h2, Int_t bxmin = 1, Int_t bxmax = -1, Int_t bymin = 1, Int_t bymax = -1, Float_t thr = 0.)
static voidTObject::SetObjectStat(Bool_t stat)
voidAliAnalysisTask::SetPostEventLoop(Bool_t flag = kTRUE)
virtual voidSetPostProcess(Bool_t pp = kTRUE)
static voidSetRangeZ(TH2* h2, Float_t m, Float_t M, Float_t thr = 0.)
voidSetRunTerminate(Bool_t runTerminate = kTRUE)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetTriggerList(const Char_t* tl)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidAliAnalysisTask::SetUsed(Bool_t flag = kTRUE)
voidAliAnalysisTask::SetZombie(Bool_t flag = kTRUE)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
virtual voidTerminate(Option_t*)
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidUserCreateOutputObjects()
virtual voidUserExec(Option_t* opt)
virtual voidAliAnalysisTaskSE::UserExecMix(Option_t*)
virtual Bool_tAliAnalysisTaskSE::UserNotify()
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:
voidAliAnalysisTaskSE::ConnectMultiHandler()
static TTreeSRedirector*DebugStream()
voidAliAnalysisTask::DefineInput(Int_t islot, TClass* type)
voidAliAnalysisTask::DefineOutput(Int_t islot, TClass* type)
voidAliAnalysisTaskSE::DisconnectMultiHandler()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidAliAnalysisTask::EnableBranch(Int_t islot, const char* bname) const
char*AliAnalysisTask::GetBranchAddress(Int_t islot, const char* branch) const
Bool_tHasFunctorList() const
virtual voidInitFunctorList()
Bool_tMakeMomSegmentation()
voidTObject::MakeZombie()
TFile*AliAnalysisTask::OpenFile(Int_t iout, Option_t* option = "RECREATE") const
Bool_tAliAnalysisTask::PostData(Int_t iout, TObject* data, Option_t* option = "")
Bool_tAliAnalysisTask::SetBranchAddress(Int_t islot, const char* branch, void* address) const

Data Members

public:
enum AliTRDrecoSteeringBits { kMCdata
kFriends
kPostProcess
kHeavyIon
};
enum AliAnalysisTask::EAnalysisTaskFlags { kTaskUsed
kTaskZombie
kTaskChecked
kTaskPostEventLoop
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tTTask::fActivetrue if task is active
TStringAliAnalysisTask::fBranchNamesList of input branches that need to be loaded for this task
Int_tTTask::fBreakin=1 if a break point set at task extry
Int_tTTask::fBreakout=1 if a break point set at task exit
TObjArray*fClusters! Array of clusters
TObjArray*fContainer! container to store results
Int_tAliAnalysisTaskSE::fCurrentRunNumber! Current run number
Int_tAliAnalysisTaskSE::fDebugDebug flag
TObjArray*fDets! OLD container to store detector position and status support should be discontinued
TObjArray*fDetsV! NEW container to store detector position and status
AliESDfriend*AliAnalysisTaskSE::fESDfriend! ESD friend
Int_tAliAnalysisTaskSE::fEntryCurrent entry in the chain
Float_tfEta! eta of the track being analyzed
AliTRDeventInfo*fEvent! Event Info
Bool_tTTask::fHasExecutedTrue if task has executed
TList*AliAnalysisTaskSE::fHistosQA! Output histos for QA
Bool_tAliAnalysisTask::fInitializedTrue if Init() was called
AliVEvent*AliAnalysisTaskSE::fInputEvent! VEvent Input
AliInputEventHandler*AliAnalysisTaskSE::fInputHandler! Input Handler
TObjArray*AliAnalysisTask::fInputsArray of input slots
AliMCEvent*AliAnalysisTaskSE::fMCEvent! MC
AliInputEventHandler*AliAnalysisTaskSE::fMCEventHandler! pointer to MCEventHandler
AliMultiInputEventHandler*AliAnalysisTaskSE::fMultiInputHandler! pointer to multihandler
UChar_tfNRefFiguresno of reference figures reported by task
TStringTNamed::fNameobject identifier
Char_tfNameId[10]unique identifier of task particularity
Int_tAliAnalysisTask::fNinputsNumber of inputs
Int_tAliAnalysisTask::fNoutputsNumber of outputs
Int_tfNptno of pt/p bins actually used
UInt_tAliAnalysisTaskSE::fOfflineTriggerMaskTask processes collision candidates only
TStringTTask::fOptionOption specified in ExecuteTask
AliAODEvent*AliAnalysisTaskSE::fOutputAOD! AOD out
Bool_t*AliAnalysisTask::fOutputReady[fNoutputs] Flags for output readyness
TObjArray*AliAnalysisTask::fOutputsArray of output slots
Float_tfPhi! phi of the track being analyzed
Float_tfPt! p_t of the track being analyzed
TObject*AliAnalysisTask::fPublishedData! published data
Bool_tAliAnalysisTask::fReadyFlag if the task is ready
Char_tfSpecies! species index +1 with charge sign
TList*TTask::fTasksList of Tasks
TStringTNamed::fTitleobject title
TObjArray*fTracks! Array of tracks
TTree*AliAnalysisTaskSE::fTreeAAOD output Tree
TObjArray*fTriggerList! optional trigger list to be monitored
Char_tfTriggerSlot! selected triggers map (if requested)
static TClonesArray*AliAnalysisTaskSE::fgAODCaloClusters! CaloClusters for replication
static TClonesArray*AliAnalysisTaskSE::fgAODDimuons! Dimuons replication
static AliAODCaloTrigger*AliAnalysisTaskSE::fgAODEMCALTrigger! Emcal Trigger for replication
static AliAODCaloCells*AliAnalysisTaskSE::fgAODEmcalCells! Emcal Cell replication
static TClonesArray*AliAnalysisTaskSE::fgAODFMDClusters! FMDClusters for replication
static AliAODHeader*AliAnalysisTaskSE::fgAODHeader! Header for replication
static TClonesArray*AliAnalysisTaskSE::fgAODHmpidRings! HMPID replication
static TClonesArray*AliAnalysisTaskSE::fgAODJets! Jets for replication
static TClonesArray*AliAnalysisTaskSE::fgAODMCParticles! MC Particles for replicatio
static AliAODCaloTrigger*AliAnalysisTaskSE::fgAODPHOSTrigger! Phos Trigger for replication
static TClonesArray*AliAnalysisTaskSE::fgAODPMDClusters! PMDClusters for replication
static AliAODCaloCells*AliAnalysisTaskSE::fgAODPhosCells! Phos Cell replication
static AliAODTracklets*AliAnalysisTaskSE::fgAODTracklets! Tracklets for replication
static TClonesArray*AliAnalysisTaskSE::fgAODTracks! Tracks for replication
static TClonesArray*AliAnalysisTaskSE::fgAODV0s! V0s for replication
static AliAODVZERO*AliAnalysisTaskSE::fgAODVZERO! VZERO for replication
static TClonesArray*AliAnalysisTaskSE::fgAODVertices! Vertices for replication
static TTask*TTask::fgBeginTaskpointer to task initiator
static TTask*TTask::fgBreakPointpointer to current break point
static const Int_tfgNPt! No of debug pt bins
static Float_tfgPt[26]! Array with limits for debug pt bins
static AliTOFHeader*AliAnalysisTaskSE::fgTOFHeader! TOFHeader for replication
const TObjArray*fkClusters! current detector clusters array
const AliTRDtrackInfo::AliESDinfo*fkESD! ESD info
const AliTRDtrackInfo::AliMCinfo*fkMC! MC info
const AliTRDtrackV1*fkTrack! current track
private:
TList*fDetFuncList! detector functors list
TList*fPlotFuncList! track functors list
Bool_tfRunTerminateSwitch for Terminate Function
static TTreeSRedirector*fgDebugStream! Debug stream
static TH1*fgProjector! Projector histogram for Z statistics

Class Charts

Inheritance Chart:
TTask
AliAnalysisTask
AliAnalysisTaskSE
AliTRDrecoTask
AliTRDalignmentTask
AliTRDcalibration
AliTRDcheckDET
AliTRDcheckPID
AliTRDclusterResolution
AliTRDefficiency
AliTRDefficiencyMC
AliTRDmultiplicity
AliTRDpidRefMaker
AliTRDpidRefMakerLQ
 [more...]

Function documentation

AliTRDrecoTask()
 Default constructor
AliTRDrecoTask(const char* name, const char* title)
 Constructor for all derived performance tasks
~AliTRDrecoTask()
Int_t GetNRefFigures() const
Int_t GetPtBin(Float_t pt)
 Get significant (very low, low, medium, high, very high) pt bin
Bool_t MakeMomSegmentation()
void UserCreateOutputObjects()
void UserExec(Option_t* opt)
 Loop over Plot functors published by particular tasks
Bool_t GetRefFigure(Int_t ifig)
Bool_t PutTrendValue(const Char_t* name, Double_t val, Double_t err = 0)
 Generic publisher for trend values
void InitFunctorList()
 Initialize list of functors
Bool_t Load(const Char_t* file = "AnalysisResults.root", const Char_t* dir = "TRD_Performance")
 Generic container loader
Bool_t LoadDetectorMap(const Char_t* file = "AnalysisResults.root", const Char_t* dir = "TRD_Performance")
 Load detector map.
Bool_t Save(TObjArray *const res)
 Store the output graphs in a ROOT file
 Input TObject array will not be written as Key to the file,
 only content itself

Bool_t PostProcess()
 To be implemented by particular tasks
void MakeDetectorPlot(Int_t ly = 0, Option_t* opt = "")
 Draw chamber boundaries in eta/phi plots with misalignments
 based on info collected by AliTRDinfoGen
void MakeDetectorPlotOLD(Int_t ly = 0, Option_t* opt = "")
 Draw chamber boundaries in eta/phi plots with misalignments
 based on info collected by AliTRDinfoGen OLD data storage
void MakeSummary()
 To be implemented by particular tasks
void SetDebugLevel(Int_t level)
 Generic debug handler
void Terminate(Option_t* )
Float_t SetNormZ(TH2* h2, Int_t bxmin = 1, Int_t bxmax = -1, Int_t bymin = 1, Int_t bymax = -1, Float_t thr = 0.)
 Normalize histo content to the mean value in the range specified by bin ranges
 [bxmin, bxmax] on the x axis and [bymin, bymax] on the y axis.
 Optionally a threshold "thr" can be specified to disregard entries with no meaning
void SetRangeZ(TH2* h2, Float_t m, Float_t M, Float_t thr = 0.)
 Set range on Z axis such to avoid outliers
Float_t GetMeanStat(TH1* h, Float_t cut = 0., Int_t opt = 0, Float_t* sigma = NULL)
 Return mean number of entries/bin of histogram "h".
 If optionally sigma is allocated than it is also filled with sigma paramter of the gauss fit

 Option "opt" is given the following values are accepted:
   -1 : consider only entries less than "cut"
   1  : consider only entries greater than "cut"
   0  : no "cut" [dafault]
 Error codes
   -999. : statistics too low [20]
   -998. : fit failed
Int_t Rebin(TH2* h, Int_t n, Int_t* rebinX, Int_t* rebinY, Int_t nstat)
 Rebin histo "h" according to "rebinning" strategy "n" steps such to obtain mean statistics per bin over "nstat"
void SetTriggerList(const Char_t* tl)
 Store list of triggers to be monitored
AliTRDrecoProjection& operator=(const AliTRDrecoTask& )
AliTRDrecoTask()
const Char_t* GetNameId() const
{ return fNameId;}
TList* GetPlotFunctors() const
{ return fPlotFuncList;}
Bool_t IsHeavyIon() const
{ return TestBit(kHeavyIon);}
Bool_t IsPP() const
{ return !TestBit(kHeavyIon);}
Bool_t HasFriends() const
{ return TestBit(kFriends);}
Bool_t HasMCdata() const
{ return TestBit(kMCdata);}
Bool_t HasPostProcess() const
{ return TestBit(kPostProcess);}
Bool_t HasRunTerminate() const
{ return fRunTerminate; }
TObjArray* Histos()
{ return fContainer;}
void SetFriends(Bool_t fr = kTRUE)
void SetMCdata(Bool_t mc = kTRUE)
{SetBit(kMCdata, mc);}
void SetNameId(const Char_t* nid)
{snprintf(fNameId, 10, "%s", nid);}
void SetPostProcess(Bool_t pp = kTRUE)
void SetRunTerminate(Bool_t runTerminate = kTRUE)
{ fRunTerminate = runTerminate; }
TTreeSRedirector* DebugStream()
{ return fgDebugStream;}
Bool_t HasFunctorList() const
{ return fPlotFuncList != NULL; }