ROOT logo
AliRoot » PWGPP » TRD » AliTRDcheckDET

class AliTRDcheckDET: public AliTRDrecoTask



Basic checks for tracking and detector performance

For the moment (15.10.2009) the following checks are implemented
       - Number of clusters/track
       - Number of clusters/tracklet
       - Number of tracklets/track from different sources (Barrel, StandAlone)
       - Number of findable tracklets
       - Number of tracks per event and TRD sector
       - <PH>
       - Chi2 distribution for tracks
       - Charge distribution per cluster and tracklet
       - Number of events and tracks per trigger source
       - Trigger purity
       - Track and Tracklet propagation status

Authors:
Anton Andronic <A.Andronic@gsi.de>
Alexandru Bercuci <A.Bercuci@gsi.de>
Markus Fasel <M.Fasel@gsi.de>


Function Members (Methods)

public:
AliTRDcheckDET()
AliTRDcheckDET(char* name)
virtual~AliTRDcheckDET()
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_tAliTRDrecoTask::GetMeanStat(TH1* h, Float_t cut = 0., Int_t opt = 0, Float_t* sigma = NULL)
virtual const char*TNamed::GetName() const
const Char_t*AliTRDrecoTask::GetNameId() const
Int_tAliAnalysisTask::GetNinputs() const
Int_tAliAnalysisTask::GetNoutputs() const
Int_tAliTRDrecoTask::GetNRefFigures() 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*AliTRDrecoTask::GetPlotFunctors() const
Int_tAliTRDrecoTask::GetPtBin(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_tAliTRDrecoTask::HasFriends() const
virtual ULong_tTNamed::Hash() const
Bool_tAliTRDrecoTask::HasMCdata() const
Bool_tAliTRDrecoTask::HasPostProcess() const
Bool_tAliTRDrecoTask::HasRunTerminate() 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_tAliTRDrecoTask::IsHeavyIon() const
Bool_tAliAnalysisTask::IsInitialized() const
Bool_tTObject::IsOnHeap() const
Bool_tAliAnalysisTask::IsOutputReady(Int_t islot) const
Bool_tAliAnalysisTask::IsPostEventLoop() const
Bool_tAliTRDrecoTask::IsPP() const
Bool_tAliAnalysisTask::IsReady() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tAliAnalysisTaskSE::IsStandardAOD() const
Bool_tAliAnalysisTask::IsUsed() const
Bool_tIsUsingClustersOutsideChamber() const
Bool_tAliAnalysisTask::IsZombie() const
virtual Bool_tAliTRDrecoTask::Load(const Char_t* file = "AnalysisResults.root", const Char_t* dir = "TRD_Performance")
voidAliAnalysisTaskSE::LoadBranches() const
virtual Bool_tAliTRDrecoTask::LoadDetectorMap(const Char_t* file = "AnalysisResults.root", const Char_t* dir = "TRD_Performance")
virtual voidAliAnalysisTask::LocalInit()
virtual voidTTask::ls(Option_t* option = "*") constMENU
voidAliTRDrecoTask::MakeDetectorPlot(Int_t ly = 0, Option_t* opt = "")
voidAliTRDrecoTask::MakeDetectorPlotOLD(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 = "")
TH1*PlotChargeCluster(const AliTRDtrackV1* t = 0x0)
TH1*PlotChargeTracklet(const AliTRDtrackV1* t = 0x0)
TH1*PlotChi2(const AliTRDtrackV1* t = 0x0)
TH1*PlotFindableTracklets(const AliTRDtrackV1* track = 0x0)
TH1*PlotNClustersTrack(const AliTRDtrackV1* t = 0x0)
TH1*PlotNClustersTracklet(const AliTRDtrackV1* t = 0x0)
TH1*PlotNTrackletsRowCross(const AliTRDtrackV1* t = 0x0)
TH1*PlotNTrackletsTrack(const AliTRDtrackV1* t = 0x0)
TH1*PlotNTracksSector(const AliTRDtrackV1* t = 0x0)
TH1*PlotPHt(const AliTRDtrackV1* t = 0x0)
TH1*PlotPHx(const AliTRDtrackV1* track = 0x0)
TH1*PlotTrackletStatus(const AliTRDtrackV1* track = 0x0)
TH1*PlotTrackStatus(const AliTRDtrackV1* track = 0x0)
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_tAliTRDrecoTask::PutTrendValue(const Char_t* name, Double_t val, Double_t err = 0)
virtual Int_tTObject::Read(const char* name)
static Int_tAliTRDrecoTask::Rebin(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_tAliTRDrecoTask::Save(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 voidAliTRDrecoTask::SetDebugLevel(Int_t level)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidAliTRDrecoTask::SetFriends(Bool_t fr = kTRUE)
virtual voidAliTRDrecoTask::SetMCdata(Bool_t mc = kTRUE)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidAliTRDrecoTask::SetNameId(const Char_t* nid)
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static Float_tAliTRDrecoTask::SetNormZ(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 voidAliTRDrecoTask::SetPostProcess(Bool_t pp = kTRUE)
static voidAliTRDrecoTask::SetRangeZ(TH2* h2, Float_t m, Float_t M, Float_t thr = 0.)
voidAliTRDrecoTask::SetRunTerminate(Bool_t runTerminate = kTRUE)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidAliTRDrecoTask::SetTriggerList(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 voidAliTRDrecoTask::Terminate(Option_t*)
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidUseClustersOutsideChamber(Bool_t b = kTRUE)
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*AliTRDrecoTask::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_tAliTRDrecoTask::HasFunctorList() const
virtual voidAliTRDrecoTask::InitFunctorList()
Bool_tAliTRDrecoTask::MakeMomSegmentation()
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 HistType_t { kNclustersTrack
kNclustersTracklet
kNtrackletsTrack
kNtrackletsSTA
kNtrackletsBAR
kNtrackletsCross
kNtrackletsFindable
kNtracksEvent
kNtracksSector
kPH
kChi2
kChargeCluster
kChargeTracklet
kNeventsTrigger
kNeventsTriggerTracks
kTriggerPurity
kTrackStatus
kTrackletStatus
kNTrackletsP
kNclustersLayer
};
enum FigureType_t { kFigNclustersTrack
kFigNclustersTracklet
kFigNtrackletsTrack
kFigNTrackletsP
kFigNtrackletsCross
kFigNtrackletsFindable
kFigNtracksEvent
kFigNtracksSector
kFigTrackStatus
kFigTrackletStatus
kFigChi2
kFigPH
kFigChargeCluster
kFigChargeTracklet
kFigNeventsTrigger
kFigNeventsTriggerTracks
kFigTriggerPurity
};
enum { kUseClustersOutsideChamber
};
enum AliTRDrecoTask::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*AliTRDrecoTask::fClusters! Array of clusters
TObjArray*AliTRDrecoTask::fContainer! container to store results
Int_tAliAnalysisTaskSE::fCurrentRunNumber! Current run number
Int_tAliAnalysisTaskSE::fDebugDebug flag
TObjArray*AliTRDrecoTask::fDets! OLD container to store detector position and status support should be discontinued
TObjArray*AliTRDrecoTask::fDetsV! NEW container to store detector position and status
AliESDfriend*AliAnalysisTaskSE::fESDfriend! ESD friend
Int_tAliAnalysisTaskSE::fEntryCurrent entry in the chain
Float_tAliTRDrecoTask::fEta! eta of the track being analyzed
AliTRDeventInfo*AliTRDrecoTask::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_tAliTRDrecoTask::fNRefFiguresno of reference figures reported by task
TStringTNamed::fNameobject identifier
Char_tAliTRDrecoTask::fNameId[10]unique identifier of task particularity
Int_tAliAnalysisTask::fNinputsNumber of inputs
Int_tAliAnalysisTask::fNoutputsNumber of outputs
Int_tAliTRDrecoTask::fNptno 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_tAliTRDrecoTask::fPhi! phi of the track being analyzed
Float_tAliTRDrecoTask::fPt! p_t of the track being analyzed
TObject*AliAnalysisTask::fPublishedData! published data
Bool_tAliAnalysisTask::fReadyFlag if the task is ready
Char_tAliTRDrecoTask::fSpecies! species index +1 with charge sign
TList*TTask::fTasksList of Tasks
TStringTNamed::fTitleobject title
TObjArray*AliTRDrecoTask::fTracks! Array of tracks
TTree*AliAnalysisTaskSE::fTreeAAOD output Tree
TObjArray*AliTRDrecoTask::fTriggerList! optional trigger list to be monitored
Char_tAliTRDrecoTask::fTriggerSlot! 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_tAliTRDrecoTask::fgNPt! No of debug pt bins
static Float_tAliTRDrecoTask::fgPt[26]! Array with limits for debug pt bins
static AliTOFHeader*AliAnalysisTaskSE::fgTOFHeader! TOFHeader for replication
const TObjArray*AliTRDrecoTask::fkClusters! current detector clusters array
const AliTRDtrackInfo::AliESDinfo*AliTRDrecoTask::fkESD! ESD info
const AliTRDtrackInfo::AliMCinfo*AliTRDrecoTask::fkMC! MC info
const AliTRDtrackV1*AliTRDrecoTask::fkTrack! current track
private:
Int_tfCentralityClassCentrality Class
UChar_tfFlagsFlags for setting
TMap*fTriggerNames! Containing trigger class names
static const Color_tfkColorsCentrality[5]Colors for the different centrality classes in the Ref Figures

Class Charts

Inheritance Chart:
TTask
AliAnalysisTask
AliAnalysisTaskSE
AliTRDrecoTask
AliTRDcheckDET

Function documentation

AliTRDcheckDET()
 Default constructor

AliTRDcheckDET(char* name)
 Default constructor

~AliTRDcheckDET()
 Destructor

void UserCreateOutputObjects()
 Create Output Objects

void UserExec(Option_t* opt)
 Execution function
 Filling TRD quality histos

Bool_t PostProcess()
 Do Postprocessing (for the moment set the number of Reference histograms)

void MakeSummary()
 Create summary plots for TRD check DET
 This function creates 2 summary plots:
 - General Quantities
 - PHS
 The function will reuse GetRefFigure

Bool_t GetRefFigure(Int_t ifig)
 Setting Reference Figures

TObjArray * Histos()
 Create QA histograms

TH1 * ProjectCentrality(TH2* h2d, Int_t centralityBin = -1)
 Project histogram to a given centrality Bin

TH1 * PlotTrackStatus(const AliTRDtrackV1* track = 0x0)
 Plot the track propagation status. The following errors are defined (see AliTRDtrackV1::ETRDtrackError)
   PROL - track prolongation failure
   PROP - track propagation failure
   AJST - crossing sectors failure
   SNP  - too large bending
   TINI - tracklet initialization failure
   UPDT - track position/covariance update failure

 Performance plot looks as below:


TH1 * PlotTrackletStatus(const AliTRDtrackV1* track = 0x0)
 Plot the tracklet propagation status. The following errors are defined for tracklet (see AliTRDtrackV1::ETRDlayerError)
   Geom   -
   Bound  - tracklet too close to chamber walls
   NoCl   - no clusters in the track roads
   NoAttach - fail to attach clusters
   NoClTr - fail to use clusters for fit
   NoFit  - tracklet fit failled
   Chi2   - chi2 tracklet-track over threshold

 Performance plot looks as below:


TH1 * PlotNClustersTracklet(const AliTRDtrackV1* t = 0x0)
 Plot the mean number of clusters per tracklet

TH1 * PlotNClustersTrack(const AliTRDtrackV1* t = 0x0)
 Plot the number of clusters in one track

TH1 * PlotNTrackletsTrack(const AliTRDtrackV1* t = 0x0)
 Plot the number of tracklets

TH1 * PlotNTrackletsRowCross(const AliTRDtrackV1* t = 0x0)
 Plot the number of tracklets

TH1 * PlotFindableTracklets(const AliTRDtrackV1* track = 0x0)
 Plots the ratio of number of tracklets vs.
 number of findable tracklets

 Findable tracklets are defined as track prolongation
 to layer i does not hit the dead area +- epsilon

 In order to check whether tracklet hist active area in Layer i,
 the track is refitted and the fitted position + an uncertainty
 range is compared to the chamber border (also with a different
 uncertainty)

 For the track fit two cases are distinguished:
 If the track is a stand alone track (defined by the status bit
 encoding, then the track is fitted with the tilted Rieman model
 Otherwise the track is fitted with the Kalman fitter in two steps:
 Since the track parameters are give at the outer point, we first
 fit in direction inwards. Afterwards we fit again in direction outwards
 to extrapolate the track to layers which are not reached by the track
 For the Kalman model, the radial track points have to be shifted by
 a distance epsilon in the direction that we want to fit

TH1 * PlotChi2(const AliTRDtrackV1* t = 0x0)
 Plot the chi2 of the track

TH1 * PlotPHt(const AliTRDtrackV1* t = 0x0)
 Plot the average pulse height

TH1 * PlotPHx(const AliTRDtrackV1* track = 0x0)
 Plots the average pulse height vs the distance from the anode wire
 (plus const anode wire offset)

TH1 * PlotChargeCluster(const AliTRDtrackV1* t = 0x0)
 Plot the cluster charge

TH1 * PlotChargeTracklet(const AliTRDtrackV1* t = 0x0)
 Plot the charge deposit per chamber

TH1 * PlotNTracksSector(const AliTRDtrackV1* t = 0x0)
 Plot the number of tracks per Sector

void GetDistanceToTracklet(Double_t* dist, AliTRDseedV1 *const tracklet, AliTRDcluster *const c)
void GetEtaPhiAt(const AliExternalTrackParam* track, Double_t x, Double_t& eta, Double_t& phi)
 Get phi and eta at a given radial position

TH1* MakePlotChi2() const
 Plot chi2/track normalized to number of degree of freedom
 (tracklets) and compare with the theoretical distribution.

 Alex Bercuci <A.Bercuci@gsi.de>
TH1* MakePlotNTracklets()
 Make nice bar plot of the number of tracklets in each method

void MakePlotNclustersTrack()
 Plot number of clusters
 Put histos from all centrality classes into one pad

void MakePlotNclustersTracklet()
 Plot number of clusters for different centrality classes

void MakePlotTrackletCharge()
 Draw tracklet charge for different centrality classes

void MakePlotnTrackletsVsP()
 Plot abundance of tracks with number of tracklets as function of momentum

Bool_t MakePlotPulseHeight()
 Create Plot of the Pluse Height Spectrum

void MakePlotMeanClustersLayer()
 Create Summary plot for the mean number of clusters per layer

Bool_t MakeBarPlot(TH1* histo, Int_t Color)
 Draw nice bar plots

AliTRDcheckDET()
Bool_t IsUsingClustersOutsideChamber() const
void UseClustersOutsideChamber(Bool_t b = kTRUE)
AliTRDcheckDET& operator=(const AliTRDcheckDET& )