//_____________________________________________________________________________
-void AliTPCPerformanceSummary::WriteToTTreeSRedirector(const AliPerformanceTPC* pTPC, const AliPerformanceDEdx* pTPCgain, const AliPerformanceMatch* pTPCMatch, TTreeSRedirector* pcstream, Int_t run)
+void AliTPCPerformanceSummary::WriteToTTreeSRedirector(const AliPerformanceTPC* pTPC, const AliPerformanceDEdx* pTPCgain, const AliPerformanceMatch* pTPCMatch, TTreeSRedirector* const pcstream, Int_t run)
{
//
// Extracts performance parameters from pTPC and pTPCgain.
}
//_____________________________________________________________________________
-Int_t AliTPCPerformanceSummary::AnalyzeDCARPhi(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream)
+Int_t AliTPCPerformanceSummary::AnalyzeDCARPhi(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream)
{
//
// Analyse DCA R imperfections
}
//_____________________________________________________________________________
-Int_t AliTPCPerformanceSummary::AnalyzeDCARPhiPos(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream)
+Int_t AliTPCPerformanceSummary::AnalyzeDCARPhiPos(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream)
{
//
// Analyse DCA R imperfections for positive particles
}
//_____________________________________________________________________________
-Int_t AliTPCPerformanceSummary::AnalyzeDCARPhiNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream)
+Int_t AliTPCPerformanceSummary::AnalyzeDCARPhiNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream)
{
//
// Analyse DCA R imperfections for negative particles
}
//_____________________________________________________________________________
-Int_t AliTPCPerformanceSummary::AnalyzeNCL(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream)
+Int_t AliTPCPerformanceSummary::AnalyzeNCL(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream)
{
//
// Analyse number of TPC clusters
static Double_t slopeCTPCncl=0;
static Double_t slopeATPCnclErr=0;
static Double_t slopeCTPCnclErr=0;
+ //
TH1* his1D=0;
- //TH2* his2D=0;
- TH3* his3D_0=0;
- TH3* his3D_1=0;
- TH3* his3D_2=0;
+ TH3* his3D0=0;
+ TH3* his3D1=0;
+ TH3* his3D2=0;
TProfile* hprof=0;
static TF1 *fpol1 = new TF1("fpol1","pol1");
//
pTPC->GetTPCTrackHisto()->GetAxis(7)->SetRangeUser(0.25,10);
if (pTPC->GetHistos()->FindObject("h_tpc_track_all_recvertex_0_5_7")) {
- his3D_0 = dynamic_cast<TH3*>(pTPC->GetHistos()->FindObject("h_tpc_track_all_recvertex_0_5_7"));
- his3D_0->GetYaxis()->SetRangeUser(-1,1);
- his3D_0->GetZaxis()->SetRangeUser(0.25,10);
+ his3D0 = dynamic_cast<TH3*>(pTPC->GetHistos()->FindObject("h_tpc_track_all_recvertex_0_5_7"));
+ his3D0->GetYaxis()->SetRangeUser(-1,1);
+ his3D0->GetZaxis()->SetRangeUser(0.25,10);
}
if (pTPC->GetHistos()->FindObject("h_tpc_track_all_recvertex_1_5_7")) {
- his3D_1 = dynamic_cast<TH3*>(pTPC->GetHistos()->FindObject("h_tpc_track_all_recvertex_1_5_7"));
- his3D_1->GetYaxis()->SetRangeUser(-1,1);
- his3D_1->GetZaxis()->SetRangeUser(0.25,10);
+ his3D1 = dynamic_cast<TH3*>(pTPC->GetHistos()->FindObject("h_tpc_track_all_recvertex_1_5_7"));
+ his3D1->GetYaxis()->SetRangeUser(-1,1);
+ his3D1->GetZaxis()->SetRangeUser(0.25,10);
}
if (pTPC->GetHistos()->FindObject("h_tpc_track_all_recvertex_2_5_7")) {
- his3D_2 = dynamic_cast<TH3*>(pTPC->GetHistos()->FindObject("h_tpc_track_all_recvertex_2_5_7"));
- his3D_2->GetYaxis()->SetRangeUser(-1,1);
- his3D_2->GetZaxis()->SetRangeUser(0.25,10);
- his3D_2->GetXaxis()->SetRangeUser(0.4,1.1);
+ his3D2 = dynamic_cast<TH3*>(pTPC->GetHistos()->FindObject("h_tpc_track_all_recvertex_2_5_7"));
+ his3D2->GetYaxis()->SetRangeUser(-1,1);
+ his3D2->GetZaxis()->SetRangeUser(0.25,10);
+ his3D2->GetXaxis()->SetRangeUser(0.4,1.1);
}
- if (his3D_0 && !fgForceTHnSparse) {
- his1D = his3D_0->Project3D("x");
+ if (his3D0 && !fgForceTHnSparse) {
+ his1D = his3D0->Project3D("x");
} else {
his1D = pTPC->GetTPCTrackHisto()->Projection(0);
}
rmsTPCncl= his1D->GetRMS();
delete his1D;
- if (his3D_1 && !fgForceTHnSparse) {
- his1D = his3D_1->Project3D("x");
+ if (his3D1 && !fgForceTHnSparse) {
+ his1D = his3D1->Project3D("x");
} else {
his1D = pTPC->GetTPCTrackHisto()->Projection(1);
}
rmsTPCChi2= his1D->GetRMS();
delete his1D;
- if (his3D_0 && !fgForceTHnSparse) {
- hprof = (dynamic_cast<TH2*>(his3D_0->Project3D("xy")))->ProfileX();
+ if (his3D0 && !fgForceTHnSparse) {
+ hprof = (dynamic_cast<TH2*>(his3D0->Project3D("xy")))->ProfileX();
} else {
hprof = pTPC->GetTPCTrackHisto()->Projection(0,5)->ProfileX();
}
// findable clusters
//
- if (his3D_2 && !fgForceTHnSparse) {
- his1D = his3D_2->Project3D("x");
+ if (his3D2 && !fgForceTHnSparse) {
+ his1D = his3D2->Project3D("x");
} else {
pTPC->GetTPCTrackHisto()->GetAxis(2)->SetRangeUser(0.4,1.1);
his1D = pTPC->GetTPCTrackHisto()->Projection(2);
rmsTPCnclF= his1D->GetRMS();
delete his1D;
- if (his3D_2 && !fgForceTHnSparse) {
- his1D = (dynamic_cast<TH2*>(his3D_2->Project3D("xy")))->ProfileX();
+ if (his3D2 && !fgForceTHnSparse) {
+ his1D = (dynamic_cast<TH2*>(his3D2->Project3D("xy")))->ProfileX();
} else {
pTPC->GetTPCTrackHisto()->GetAxis(2)->SetRangeUser(0.4,1.1);
his1D = pTPC->GetTPCTrackHisto()->Projection(2,5)->ProfileX();
}
//_____________________________________________________________________________
-Int_t AliTPCPerformanceSummary::AnalyzeDrift(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream)
+Int_t AliTPCPerformanceSummary::AnalyzeDrift(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream)
{
//
// Analyse DCA Z imperferctions (drift velocity)
}
//_____________________________________________________________________________
-Int_t AliTPCPerformanceSummary::AnalyzeDriftPos(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream)
+Int_t AliTPCPerformanceSummary::AnalyzeDriftPos(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream)
{
//
// Analyse DCA Z imperferctions (drift velocity)
}
//_____________________________________________________________________________
-Int_t AliTPCPerformanceSummary::AnalyzeDriftNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream)
+Int_t AliTPCPerformanceSummary::AnalyzeDriftNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream)
{
//
// Analyse DCA Z imperferctions (drift velocity)
}
//_____________________________________________________________________________
-Int_t AliTPCPerformanceSummary::AnalyzeGain(const AliPerformanceDEdx* pTPCgain, TTreeSRedirector* pcstream)
+Int_t AliTPCPerformanceSummary::AnalyzeGain(const AliPerformanceDEdx* pTPCgain, TTreeSRedirector* const pcstream)
{
//
// Analyse Gain
}
//_____________________________________________________________________________
-Int_t AliTPCPerformanceSummary::AnalyzeEvent(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream)
+Int_t AliTPCPerformanceSummary::AnalyzeEvent(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream)
{
//
// Analyse Primary Vertex Distribution and Multiplicities
}
//_____________________________________________________________________________
-Int_t AliTPCPerformanceSummary::AnalyzePt(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream)
+Int_t AliTPCPerformanceSummary::AnalyzePt(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream)
{
//
// Analyse DCA R imperfections for positive particles
static Double_t mediumPtCNeg = 0;
static Double_t highPtCNeg = 0;
- TH3* his3D_1=0;
- TH3* his3D_2=0;
+ TH3* his3D1=0;
+ TH3* his3D2=0;
if (pTPC->GetHistos()->FindObject("h_tpc_track_pos_recvertex_3_5_7")) {
- his3D_1 = dynamic_cast<TH3*>(pTPC->GetHistos()->FindObject("h_tpc_track_pos_recvertex_3_5_7"));
+ his3D1 = dynamic_cast<TH3*>(pTPC->GetHistos()->FindObject("h_tpc_track_pos_recvertex_3_5_7"));
- his3D_1->GetYaxis()->SetRangeUser(0.1,0.8);
+ his3D1->GetYaxis()->SetRangeUser(0.1,0.8);
- his3D_1->GetZaxis()->SetRangeUser(0.25,10);
- meanPtAPos = his3D_1->GetMean(3);
- his3D_1->GetZaxis()->SetRangeUser(2,5);
- mediumPtAPos = his3D_1->GetMean(3);
- his3D_1->GetZaxis()->SetRangeUser(5,10);
- highPtAPos = his3D_1->GetMean(3);
+ his3D1->GetZaxis()->SetRangeUser(0.25,10);
+ meanPtAPos = his3D1->GetMean(3);
+ his3D1->GetZaxis()->SetRangeUser(2,5);
+ mediumPtAPos = his3D1->GetMean(3);
+ his3D1->GetZaxis()->SetRangeUser(5,10);
+ highPtAPos = his3D1->GetMean(3);
- his3D_1->GetYaxis()->SetRangeUser(-0.8,-0.1);
+ his3D1->GetYaxis()->SetRangeUser(-0.8,-0.1);
- his3D_1->GetZaxis()->SetRangeUser(0.25,10);
- meanPtCPos = his3D_1->GetMean(3);
- his3D_1->GetZaxis()->SetRangeUser(2,5);
- mediumPtCPos = his3D_1->GetMean(3);
- his3D_1->GetZaxis()->SetRangeUser(5,10);
- highPtCPos = his3D_1->GetMean(3);
+ his3D1->GetZaxis()->SetRangeUser(0.25,10);
+ meanPtCPos = his3D1->GetMean(3);
+ his3D1->GetZaxis()->SetRangeUser(2,5);
+ mediumPtCPos = his3D1->GetMean(3);
+ his3D1->GetZaxis()->SetRangeUser(5,10);
+ highPtCPos = his3D1->GetMean(3);
- his3D_1->GetYaxis()->SetRangeUser(-1,1);
- his3D_1->GetZaxis()->SetRangeUser(0.25,10);
+ his3D1->GetYaxis()->SetRangeUser(-1,1);
+ his3D1->GetZaxis()->SetRangeUser(0.25,10);
}
if (pTPC->GetHistos()->FindObject("h_tpc_track_neg_recvertex_3_5_7")) {
- his3D_2 = dynamic_cast<TH3*>(pTPC->GetHistos()->FindObject("h_tpc_track_neg_recvertex_3_5_7"));
+ his3D2 = dynamic_cast<TH3*>(pTPC->GetHistos()->FindObject("h_tpc_track_neg_recvertex_3_5_7"));
- his3D_2->GetYaxis()->SetRangeUser(0.1,0.8);
-
- his3D_2->GetZaxis()->SetRangeUser(0.25,10);
- meanPtANeg = his3D_2->GetMean(3);
- his3D_2->GetZaxis()->SetRangeUser(2,5);
- mediumPtANeg = his3D_2->GetMean(3);
- his3D_2->GetZaxis()->SetRangeUser(5,10);
- highPtANeg = his3D_2->GetMean(3);
+ his3D2->GetYaxis()->SetRangeUser(0.1,0.8);
+
+ his3D2->GetZaxis()->SetRangeUser(0.25,10);
+ meanPtANeg = his3D2->GetMean(3);
+ his3D2->GetZaxis()->SetRangeUser(2,5);
+ mediumPtANeg = his3D2->GetMean(3);
+ his3D2->GetZaxis()->SetRangeUser(5,10);
+ highPtANeg = his3D2->GetMean(3);
- his3D_2->GetYaxis()->SetRangeUser(-0.8,-0.1);
-
- his3D_2->GetZaxis()->SetRangeUser(0.25,10);
- meanPtCNeg = his3D_2->GetMean(3);
- his3D_2->GetZaxis()->SetRangeUser(2,5);
- mediumPtCNeg = his3D_2->GetMean(3);
- his3D_2->GetZaxis()->SetRangeUser(5,10);
- highPtCNeg = his3D_2->GetMean(3);
+ his3D2->GetYaxis()->SetRangeUser(-0.8,-0.1);
+
+ his3D2->GetZaxis()->SetRangeUser(0.25,10);
+ meanPtCNeg = his3D2->GetMean(3);
+ his3D2->GetZaxis()->SetRangeUser(2,5);
+ mediumPtCNeg = his3D2->GetMean(3);
+ his3D2->GetZaxis()->SetRangeUser(5,10);
+ highPtCNeg = his3D2->GetMean(3);
- his3D_2->GetYaxis()->SetRangeUser(-1,1);
- his3D_2->GetZaxis()->SetRangeUser(0.25,10);
+ his3D2->GetYaxis()->SetRangeUser(-1,1);
+ his3D2->GetZaxis()->SetRangeUser(0.25,10);
}
//_____________________________________________________________________________
-Int_t AliTPCPerformanceSummary::AnalyzeChargeOverPt(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream){
+Int_t AliTPCPerformanceSummary::AnalyzeChargeOverPt(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream){
//
// Analyse DCA R imperfections for positive particles
//
static Double_t qOverPtC = 0;
TH2* his2D=0;
- TH1* his1D_1=0;
- TH1* his1D_2=0;
- TH1* his1D_3=0;
+ TH1* his1D1=0;
+ TH1* his1D2=0;
+ TH1* his1D3=0;
TF1 *fp1 = new TF1("fp1","pol2",-1.0,1.0);
TF1 *fp2 = new TF1("fp2","pol2",-1.0,1.0);
TF1 *fp3 = new TF1("fp3","pol2",-1.0,1.0);
his2D = dynamic_cast<TH2*>(pTPC->GetHistos()->FindObject("h_tpc_track_all_recvertex_5_8"));
- his1D_1 = his2D->ProjectionX();
- his1D_1->Fit(fp1,"R");
+ his1D1 = his2D->ProjectionX();
+ his1D1->Fit(fp1,"R");
if(fp1->GetParameter(2)!=0){
qOverPt = (-1.0)*(fp1->GetParameter(1)/(2.0*fp1->GetParameter(2)));
}
delete fp1;
- delete his1D_1;
+ delete his1D1;
his2D->GetYaxis()->SetRangeUser(0.1,0.8);
- his1D_2 = his2D->ProjectionX();
- his1D_2->Fit(fp2,"R");
+ his1D2 = his2D->ProjectionX();
+ his1D2->Fit(fp2,"R");
if(fp2->GetParameter(2)!=0)
qOverPtA = (-1.0)*(fp2->GetParameter(1)/(2.0*fp2->GetParameter(2)));
delete fp2;
- delete his1D_2;
+ delete his1D2;
his2D->GetYaxis()->SetRangeUser(-0.8,-0.1);
- his1D_3 = his2D->ProjectionX();
- his1D_3->Fit(fp3,"R");
+ his1D3 = his2D->ProjectionX();
+ his1D3->Fit(fp3,"R");
if(fp3->GetParameter(2)!=0)
qOverPtC = (-1.0)*(fp3->GetParameter(1)/(2.0*fp3->GetParameter(2)));
delete fp3;
- delete his1D_3;
+ delete his1D3;
his2D->GetYaxis()->SetRangeUser(-1.0,1.0);
}
return 0;
}
-void AliTPCPerformanceSummary::AnalyzeMatch(const AliPerformanceMatch* pMatch, TTreeSRedirector* pcstream)
+void AliTPCPerformanceSummary::AnalyzeMatch(const AliPerformanceMatch* pMatch, TTreeSRedirector* const pcstream)
{
if ((pMatch == 0) or (0 == pcstream)) { printf("this will not work anyway..."); }
printf("funtion not implemented");
AliTPCPerformanceSummary() {} // default contructor
virtual ~AliTPCPerformanceSummary() {} // destructor
- static void WriteToTTreeSRedirector(const AliPerformanceTPC* pTPC, const AliPerformanceDEdx* pTPCgain, const AliPerformanceMatch* pTPCMatch, TTreeSRedirector* pcstream, Int_t run = -1); // called by WriteToFile
+ static void WriteToTTreeSRedirector(const AliPerformanceTPC* pTPC, const AliPerformanceDEdx* pTPCgain, const AliPerformanceMatch* pTPCMatch, TTreeSRedirector* const pcstream, Int_t run = -1); // called by WriteToFile
static void WriteToFile(const AliPerformanceTPC* pTPC, const AliPerformanceDEdx* pTPCgain, const AliPerformanceMatch* pMatch, const Char_t* outfile, Int_t run = -1); // calles by MakeReport
static Int_t MakeReport(const Char_t* infile, const Char_t* outfile, Int_t run);
static Int_t ProduceTrends(const Char_t* infilelist, const Char_t* outfile);
- static Bool_t getForceTHnSparse() { return fgForceTHnSparse; }
- static void setForceTHnSparse(Bool_t forceSparse = kTRUE) { fgForceTHnSparse = forceSparse; }
+ static Bool_t GetForceTHnSparse() { return fgForceTHnSparse; }
+ static void SetForceTHnSparse(Bool_t forceSparse = kTRUE) { fgForceTHnSparse = forceSparse; }
private:
- static Bool_t fgForceTHnSparse;
+ static Bool_t fgForceTHnSparse; // force to use THnSparse
// save graphs to current directory
static Int_t SaveGraph(TTree* tree, const Char_t* y, const Char_t* x, const Char_t* condition);
// helper functions to extract parameter and write to TTreeSRedirector
- static Int_t AnalyzeDCARPhi(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
- static Int_t AnalyzeDCARPhiPos(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
- static Int_t AnalyzeDCARPhiNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
- static Int_t AnalyzeNCL(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
- static Int_t AnalyzeDrift(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
- static Int_t AnalyzeDriftPos(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
- static Int_t AnalyzeDriftNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
- static Int_t AnalyzeGain(const AliPerformanceDEdx* pTPCgain, TTreeSRedirector* pcstream);
- static Int_t AnalyzeEvent(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
- static void AnalyzeMatch(const AliPerformanceMatch* pMatch, TTreeSRedirector* pcstream);
+ static Int_t AnalyzeDCARPhi(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
+ static Int_t AnalyzeDCARPhiPos(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
+ static Int_t AnalyzeDCARPhiNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
+ static Int_t AnalyzeNCL(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
+ static Int_t AnalyzeDrift(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
+ static Int_t AnalyzeDriftPos(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
+ static Int_t AnalyzeDriftNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
+ static Int_t AnalyzeGain(const AliPerformanceDEdx* pTPCgain, TTreeSRedirector* const pcstream);
+ static Int_t AnalyzeEvent(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
+ static void AnalyzeMatch(const AliPerformanceMatch* pMatch, TTreeSRedirector* const pcstream);
static Int_t AnalyzePt(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);