ROOT logo
AliRoot » PWGPP » TPC » AliTPCPerformanceSummary

class AliTPCPerformanceSummary

 Implementation of AliTPCPerformanceSummary class.
 It has only static member functions to extract some TPC Performance
 parameters and produce trend graphs.
 The function MakeReport is to be called for every run. It reads AliPerformanceTPC
 and AliPerformanceDEdx objects from file and produces a
 rootfile with the results stored in a TTree.
 The function MakeReport needs a list of these rootfiles as input
 and writes the output (tree and histograms) to another rootfile.

 by M.Knichel 15/10/2010

Function Members (Methods)

public:
AliTPCPerformanceSummary()
virtual~AliTPCPerformanceSummary()
static TClass*Class()
static Bool_tGetForceTHnSparse()
virtual TClass*IsA() const
static Int_tMakeReport(const Char_t* infile, const Char_t* outfile, Int_t run)
static Int_tProduceTrends(const Char_t* infilelist, const Char_t* outfile)
static voidSetForceTHnSparse(Bool_t forceSparse = kTRUE)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
static voidWriteToFile(const AliPerformanceTPC* pTPC, const AliPerformanceDEdx* pTPCgain, const AliPerformanceMatch* pMatch, const AliPerformanceMatch* pPull, const AliPerformanceMatch* pConstrain, const Char_t* outfile, Int_t run = -1)
static voidWriteToTTreeSRedirector(const AliPerformanceTPC* pTPC, const AliPerformanceDEdx* pTPCgain, const AliPerformanceMatch* pTPCMatch, const AliPerformanceMatch* pTPCPull, const AliPerformanceMatch* pConstrain, TTreeSRedirector *const pcstream, Int_t run = -1)
private:
AliTPCPerformanceSummary(const AliTPCPerformanceSummary&)
static Int_tAnalyzeChargeOverPt(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream)
static Int_tAnalyzeConstrain(const AliPerformanceMatch* pConstrain, TTreeSRedirector* pcstream)
static Int_tAnalyzeDCARPhi(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
static Int_tAnalyzeDCARPhiNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
static Int_tAnalyzeDCARPhiPos(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
static Int_tAnalyzeDrift(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
static Int_tAnalyzeDriftNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
static Int_tAnalyzeDriftPos(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
static Int_tAnalyzeEvent(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
static Int_tAnalyzeGain(const AliPerformanceDEdx* pTPCgain, TTreeSRedirector *const pcstream)
static Int_tAnalyzeMatch(const AliPerformanceMatch* pMatch, TTreeSRedirector *const pcstream)
static Int_tAnalyzeNCL(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
static Int_tAnalyzeOcc(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
static Int_tAnalyzePt(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream)
static Int_tAnalyzePull(const AliPerformanceMatch* pPull, TTreeSRedirector *const pcstream)
static Int_tAnalyzeQADCAFitParameter(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
static Int_tAnalyzeQAPosNegDpT(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
AliTPCPerformanceSummary&operator=(const AliTPCPerformanceSummary&)
static Int_tSaveGraph(TTree* tree, const Char_t* y, const Char_t* x, const Char_t* condition)

Data Members

private:
static Bool_tfgForceTHnSparseforce to use THnSparse

Class Charts

Inheritance Chart:
AliTPCPerformanceSummary

Function documentation

void WriteToTTreeSRedirector(const AliPerformanceTPC* pTPC, const AliPerformanceDEdx* pTPCgain, const AliPerformanceMatch* pTPCMatch, const AliPerformanceMatch* pTPCPull, const AliPerformanceMatch* pConstrain, TTreeSRedirector *const pcstream, Int_t run = -1)
 Extracts performance parameters from pTPC and pTPCgain.
 Output is written to pcstream.
 The run number must be provided since it is not stored in
 AliPerformanceTPC or AliPerformanceDEdx.

void WriteToFile(const AliPerformanceTPC* pTPC, const AliPerformanceDEdx* pTPCgain, const AliPerformanceMatch* pMatch, const AliPerformanceMatch* pPull, const AliPerformanceMatch* pConstrain, const Char_t* outfile, Int_t run = -1)
 Extracts performance parameters from pTPC and pTPCgain.
 Output is written to a TTree saved in outfile.
 The run number must be provided since it is not stored in
 AliPerformanceTPC or AliPerformanceDEdx.

 The function creates a TTreeSRedirector and calls the
 function WriteToTTreeSRedirector.

Int_t MakeReport(const Char_t* infile, const Char_t* outfile, Int_t run)
 Reads QA information (AliPerformanceTPC and AliPerformanceDEdx) from
 infile (this must be a rootfile) and writes the output to a TTree
 stored in outfile.
 The run number must be provided since it is not stored in
 AliPerformanceTPC or AliPerformanceDEdx.

 The input objects must be named "AliPerformanceTPC" and
 "AliPerformanceDEdxTPCInner" and stored in a TList which name must
 be one of the following: "TPC", "TPCQA", "TPC_PerformanceQA"
 or "TPC_PerformanceQA/TPC" (with directory)

Int_t ProduceTrends(const Char_t* infilelist, const Char_t* outfile)
 Produces trend graphs.

 Input: infilelist is a textfile with one rootfile per line.
 There should be one rootfile for each run, the rootfile must
 contain the output of the MakeReport function
 Output: the information for all runs is merged into a TTree
 that is saved in outfile along with the trend graphs.
 Trend graphs are stored as TCanvas objects to include axis labels etc.

Int_t SaveGraph(TTree* tree, const Char_t* y, const Char_t* x, const Char_t* condition)
 Creates a Graph and writes the canvas to the current directory
 called by ProduceTrends function.

Int_t AnalyzeDCARPhi(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
 Analyse DCA R imperfections

Int_t AnalyzeDCARPhiPos(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
 Analyse DCA R imperfections for positive particles

Int_t AnalyzeDCARPhiNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
 Analyse DCA R imperfections for negative particles

Int_t AnalyzeNCL(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
 Analyse number of TPC clusters

Int_t AnalyzeDrift(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
 Analyse DCA Z imperferctions (drift velocity)

Int_t AnalyzeDriftPos(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
 Analyse DCA Z imperferctions (drift velocity)
 for positive particles

Int_t AnalyzeDriftNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
 Analyse DCA Z imperferctions (drift velocity)
 for negative particles

Int_t AnalyzeGain(const AliPerformanceDEdx* pTPCgain, TTreeSRedirector *const pcstream)
 Analyse Gain

Int_t AnalyzeEvent(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
 Analyse Primary Vertex Distribution and Multiplicities

Int_t AnalyzePt(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream)
 Analyse DCA R imperfections for positive particles

Int_t AnalyzeChargeOverPt(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream)
 Analyse DCA R imperfections for positive particles

Int_t AnalyzeMatch(const AliPerformanceMatch* pMatch, TTreeSRedirector *const pcstream)
 if ((pMatch == 0) or (0 == pcstream)) { printf("this will not work anyway..."); }
printf("funtion not implemented");
Int_t AnalyzePull(const AliPerformanceMatch* pPull, TTreeSRedirector *const pcstream)
 if ((pPull == 0) or (0 == pcstream)) { printf("this will not work anyway..."); }
printf("funtion not implemented");
Int_t AnalyzeConstrain(const AliPerformanceMatch* pConstrain, TTreeSRedirector* pcstream)
Int_t AnalyzeQAPosNegDpT(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
function which plot 1/Pt for negative and
positive particles
Int_t AnalyzeQADCAFitParameter(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
Int_t AnalyzeOcc(const AliPerformanceTPC* pTPC, TTreeSRedirector *const pcstream)
function which make trending of occupany per side and IROC-OROC

AliTPCPerformanceSummary()
{}
virtual ~AliTPCPerformanceSummary()
{}
Bool_t GetForceTHnSparse()
{ return fgForceTHnSparse; }
void SetForceTHnSparse(Bool_t forceSparse = kTRUE)
{ fgForceTHnSparse = forceSparse; }
AliTPCPerformanceSummary(const AliTPCPerformanceSummary& )
AliTPCPerformanceSummary& operator=(const AliTPCPerformanceSummary& )