From 0ececdf2a415b561fcb17cfacd74ec2c3edf6448 Mon Sep 17 00:00:00 2001 From: pchrist Date: Mon, 13 Apr 2009 17:11:33 +0000 Subject: [PATCH] Minor fix for the pid efficiency calculation + cosmetics in the drawProtonQAResults macro --- PWG2/SPECTRA/AliProtonQAAnalysis.cxx | 142 ++------------------ PWG2/SPECTRA/macros/drawProtonQAResults.C | 151 ++++++++++++++++++++-- 2 files changed, 155 insertions(+), 138 deletions(-) diff --git a/PWG2/SPECTRA/AliProtonQAAnalysis.cxx b/PWG2/SPECTRA/AliProtonQAAnalysis.cxx index 33e60cd0668..37ec42ffc3a 100644 --- a/PWG2/SPECTRA/AliProtonQAAnalysis.cxx +++ b/PWG2/SPECTRA/AliProtonQAAnalysis.cxx @@ -1161,7 +1161,7 @@ void AliProtonQAAnalysis::InitEfficiencyAnalysis() { ";;P_{T} [GeV/c];N_{points}", fNBinsY,fMinY,fMaxY, fNBinsPt,fMinPt,fMaxPt, - 100,0,200); + 50,0,200); if(fProtonAnalysisBase->GetEtaMode()) gHistESDInitYPtProtons->GetXaxis()->SetTitle("#eta"); else @@ -1175,7 +1175,7 @@ void AliProtonQAAnalysis::InitEfficiencyAnalysis() { ";;P_{T} [GeV/c];N_{points}", fNBinsY,fMinY,fMaxY, fNBinsPt,fMinPt,fMaxPt, - 100,0,200); + 50,0,200); if(fProtonAnalysisBase->GetEtaMode()) gHistESDIdYPtProtons->GetXaxis()->SetTitle("#eta"); else @@ -1189,7 +1189,7 @@ void AliProtonQAAnalysis::InitEfficiencyAnalysis() { ";;P_{T} [GeV/c];N_{points}", fNBinsY,fMinY,fMaxY, fNBinsPt,fMinPt,fMaxPt, - 100,0,200); + 50,0,200); if(fProtonAnalysisBase->GetEtaMode()) gHistESDRecIdYPtProtons->GetXaxis()->SetTitle("#eta"); else @@ -1203,7 +1203,7 @@ void AliProtonQAAnalysis::InitEfficiencyAnalysis() { ";;P_{T} [GeV/c];N_{points}", fNBinsY,fMinY,fMaxY, fNBinsPt,fMinPt,fMaxPt, - 100,0,200); + 50,0,200); if(fProtonAnalysisBase->GetEtaMode()) gHistESDContamYPtProtons->GetXaxis()->SetTitle("#eta"); else @@ -2976,22 +2976,12 @@ void AliProtonQAAnalysis::RunReconstructionEfficiencyAnalysis(AliMCEvent *const } else if((fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue; - - //Double_t probability[5]; - + if(fUseCutsInEfficiency) if(!fProtonAnalysisBase->IsAccepted(esd,vertex,track)) continue; //reconstructed primary (anti)protons if(pdgcode == 2212) { - if(fProtonAnalysisBase->GetEtaMode()) - ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(), - particle->Pt()); - else - ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(), - particle->Py(), - particle->Pz()), - particle->Pt()); if(label <= stack->GetNprimary()) { if(fProtonAnalysisBase->GetEtaMode()) ((TH2D *)(fEfficiencyList->At(6)))->Fill(particle->Eta(), @@ -3032,14 +3022,6 @@ void AliProtonQAAnalysis::RunReconstructionEfficiencyAnalysis(AliMCEvent *const }//secondaries }//initial protons if(pdgcode == -2212) { - if(fProtonAnalysisBase->GetEtaMode()) - ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(), - particle->Pt()); - else - ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(), - particle->Py(), - particle->Pz()), - particle->Pt()); if(label <= stack->GetNprimary()) { if(fProtonAnalysisBase->GetEtaMode()) ((TH2D *)(fEfficiencyList->At(7)))->Fill(particle->Eta(), @@ -3107,14 +3089,6 @@ void AliProtonQAAnalysis::RunReconstructionEfficiencyAnalysis(AliMCEvent *const //reconstructed primary (anti)protons if(pdgcode == 2212) { - if(fProtonAnalysisBase->GetEtaMode()) - ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(), - particle->Pt()); - else - ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(), - particle->Py(), - particle->Pz()), - particle->Pt()); if(label <= stack->GetNprimary()) { if(fProtonAnalysisBase->GetEtaMode()) ((TH2D *)(fEfficiencyList->At(6)))->Fill(particle->Eta(), @@ -3155,14 +3129,6 @@ void AliProtonQAAnalysis::RunReconstructionEfficiencyAnalysis(AliMCEvent *const }//secondaries }//initial protons if(pdgcode == -2212) { - if(fProtonAnalysisBase->GetEtaMode()) - ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(), - particle->Pt()); - else - ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(), - particle->Py(), - particle->Pz()), - particle->Pt()); if(label <= stack->GetNprimary()) { if(fProtonAnalysisBase->GetEtaMode()) ((TH2D *)(fEfficiencyList->At(7)))->Fill(particle->Eta(), @@ -3201,8 +3167,7 @@ void AliProtonQAAnalysis::RunReconstructionEfficiencyAnalysis(AliMCEvent *const particle->Pt()); }//hadronic interactions }//secondaries - }//initial antiprotons - + }//initial antiprotons }//global tracking }//track loop labelArray.Reset(); @@ -3238,6 +3203,14 @@ void AliProtonQAAnalysis::RunPIDEfficiencyAnalysis(AliStack *const stack, Int_t nTPCpoints = track->GetTPCsignalN(); + if(TMath::Abs(pdgcode) == 2212) { + if(fProtonAnalysisBase->GetEtaMode()) + ((TH3D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(), + particle->Pt(),nTPCpoints); + else + ((TH3D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()),particle->Pt(),nTPCpoints); + } + //pid if(fProtonAnalysisBase->IsProton(track)) { if(fProtonAnalysisBase->GetEtaMode()) @@ -3403,14 +3376,6 @@ void AliProtonQAAnalysis::RunEfficiencyAnalysis(AliStack *const stack, //reconstructed primary (anti)protons if(pdgcode == 2212) { - if(fProtonAnalysisBase->GetEtaMode()) - ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(), - particle->Pt()); - else - ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(), - particle->Py(), - particle->Pz()), - particle->Pt()); if(label <= stack->GetNprimary()) { nESDProtons += 1; if(fProtonAnalysisBase->GetEtaMode()) @@ -3452,14 +3417,6 @@ void AliProtonQAAnalysis::RunEfficiencyAnalysis(AliStack *const stack, }//secondaries }//initial protons if(pdgcode == -2212) { - if(fProtonAnalysisBase->GetEtaMode()) - ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(), - particle->Pt()); - else - ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(), - particle->Py(), - particle->Pz()), - particle->Pt()); if(label <= stack->GetNprimary()) { if(fProtonAnalysisBase->GetEtaMode()) ((TH2D *)(fEfficiencyList->At(7)))->Fill(particle->Eta(), @@ -3499,38 +3456,6 @@ void AliProtonQAAnalysis::RunEfficiencyAnalysis(AliStack *const stack, }//hadronic interactions }//secondaries }//initial antiprotons - - //pid - if(fProtonAnalysisBase->IsProton(track)) { - if(fProtonAnalysisBase->GetEtaMode()) - ((TH2D *)(fEfficiencyList->At(14)))->Fill(particle->Eta(), - particle->Pt()); - else - ((TH2D *)(fEfficiencyList->At(14)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(), - particle->Py(), - particle->Pz()), - particle->Pt()); - if(TMath::Abs(pdgcode) == 2212) { - if(fProtonAnalysisBase->GetEtaMode()) - ((TH2D *)(fEfficiencyList->At(13)))->Fill(particle->Eta(), - particle->Pt()); - else - ((TH2D *)(fEfficiencyList->At(13)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(), - particle->Py(), - particle->Pz()), - particle->Pt()); - }//properly identified as proton - else { - if(fProtonAnalysisBase->GetEtaMode()) - ((TH2D *)(fEfficiencyList->At(15)))->Fill(particle->Eta(), - particle->Pt()); - else - ((TH2D *)(fEfficiencyList->At(15)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(), - particle->Py(), - particle->Pz()), - particle->Pt()); - }//contamination - }//identified as proton }//TPC only tracks else { if((particle->Pt() > fMaxPt)||(particle->Pt() < fMinPt)) continue; @@ -3546,14 +3471,6 @@ void AliProtonQAAnalysis::RunEfficiencyAnalysis(AliStack *const stack, //reconstructed primary (anti)protons if(pdgcode == 2212) { - if(fProtonAnalysisBase->GetEtaMode()) - ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(), - particle->Pt()); - else - ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(), - particle->Py(), - particle->Pz()), - particle->Pt()); if(label <= stack->GetNprimary()) { nESDProtons += 1; if(fProtonAnalysisBase->GetEtaMode()) @@ -3642,37 +3559,6 @@ void AliProtonQAAnalysis::RunEfficiencyAnalysis(AliStack *const stack, }//hadronic interactions }//secondaries }//initial antiprotons - - //pid - if(fProtonAnalysisBase->IsProton(track)) { - if(fProtonAnalysisBase->GetEtaMode()) - ((TH2D *)(fEfficiencyList->At(14)))->Fill(particle->Eta(), - particle->Pt()); - else ((TH2D *)(fEfficiencyList->At(14)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(), - particle->Py(), - particle->Pz()), - particle->Pt()); - if(TMath::Abs(pdgcode) == 2212) { - if(fProtonAnalysisBase->GetEtaMode()) - ((TH2D *)(fEfficiencyList->At(13)))->Fill(particle->Eta(), - particle->Pt()); - else - ((TH2D *)(fEfficiencyList->At(13)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(), - particle->Py(), - particle->Pz()), - particle->Pt()); - }//properly identified as proton - else { - if(fProtonAnalysisBase->GetEtaMode()) - ((TH2D *)(fEfficiencyList->At(15)))->Fill(particle->Eta(), - particle->Pt()); - else - ((TH2D *)(fEfficiencyList->At(15)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(), - particle->Py(), - particle->Pz()), - particle->Pt()); - }//contamination - }//identified as proton }//global tracking }//track loop diff --git a/PWG2/SPECTRA/macros/drawProtonQAResults.C b/PWG2/SPECTRA/macros/drawProtonQAResults.C index 64a45c7fde1..28d8287310b 100644 --- a/PWG2/SPECTRA/macros/drawProtonQAResults.C +++ b/PWG2/SPECTRA/macros/drawProtonQAResults.C @@ -260,7 +260,7 @@ void drawCutStatistics(TList *list, for(Int_t i = 2; i < NQAHISTOSPERLIST-4; i++) hSecondaryProtons->SetBinContent(i+1,GetPercentage(gEntriesQASecondaryProtonsAcceptedList[i-2], gEntriesQASecondaryProtonsRejectedList[i-2])); - hSecondaryProtons->SetBinContent(24,GetPercentage(gEntriesQA2DList[0],gEntriesQA2DList[2])); + hSecondaryProtons->SetBinContent(25,GetPercentage(gEntriesQA2DList[0],gEntriesQA2DList[2])); //1D for primary antiprotons //cout<<"_________________________________________________________"<SetBinContent(i+1,GetPercentage(gEntriesQASecondaryAntiProtonsAcceptedList[i-2], gEntriesQASecondaryAntiProtonsRejectedList[i-2])); - hSecondaryAntiProtons->SetBinContent(24,GetPercentage(gEntriesQA2DList[4],gEntriesQA2DList[6])); + hSecondaryAntiProtons->SetBinContent(25,GetPercentage(gEntriesQA2DList[4],gEntriesQA2DList[6])); TLatex *t1 = new TLatex(); t1->SetTextSize(0.04); @@ -1525,7 +1525,7 @@ void drawEfficiency(TList *list, //for protons and antiprotons vs y and pT TH2F *hEmpty = new TH2F("hEmptyReconstructionEfficiency","", - 100,-1.2,3.5,100,-10.0,130); + 1000,-1.2,210.,100,-10.0,130); hEmpty->SetStats(kFALSE); hEmpty->GetYaxis()->SetTitle("#epsilon [%]"); hEmpty->GetYaxis()->SetTitleOffset(1.3); @@ -1742,7 +1742,8 @@ void drawEfficiency(TList *list, c16->cd(1)->SetBottomMargin(0.15); c16->cd(1)->SetLeftMargin(0.15); c16->cd(1)->SetGridx(); c16->cd(1)->SetGridy(); - hEmpty->GetXaxis()->SetRangeUser(-1.0.,1.0); + hEmpty->GetXaxis()->SetRangeUser(gYESDIdProtons->GetXaxis()->GetXmin()-0.2, + gYESDIdProtons->GetXaxis()->GetXmax()+0.2); hEmpty->GetXaxis()->SetTitle(gYESDContamProtons->GetXaxis()->GetTitle()); hEmpty->DrawCopy(); gYESDIdProtons->DrawCopy("ESAME"); @@ -1772,7 +1773,8 @@ void drawEfficiency(TList *list, c16->cd(2)->SetBottomMargin(0.15); c16->cd(2)->SetLeftMargin(0.15); c16->cd(2)->SetGridx(); c16->cd(2)->SetGridy(); - hEmpty->GetXaxis()->SetRangeUser(0.0,1.2); + hEmpty->GetXaxis()->SetRangeUser(gPtESDIdProtons->GetXaxis()->GetXmin()-0.2, + gPtESDIdProtons->GetXaxis()->GetXmax()+0.2); hEmpty->GetXaxis()->SetTitle(gPtESDContamProtons->GetXaxis()->GetTitle()); hEmpty->DrawCopy(); gPtESDIdProtons->DrawCopy("ESAME"); @@ -1780,8 +1782,8 @@ void drawEfficiency(TList *list, //N_points dependence //protons pid efficiency - TH1D *gNPointsESDIdProtons = (TH1D *)gHistESDIdYPtProtons->Project3D("y"); - TH1D *gNPointsESDInitProtons = (TH1D *)gHistESDInitYPtProtons->Project3D("y"); + TH1D *gNPointsESDIdProtons = (TH1D *)gHistESDIdYPtProtons->Project3D("z"); + TH1D *gNPointsESDInitProtons = (TH1D *)gHistESDInitYPtProtons->Project3D("z"); gNPointsESDIdProtons->Divide(gNPointsESDInitProtons); SetError(gNPointsESDIdProtons,gNPointsESDInitProtons); gNPointsESDIdProtons->Scale(100.); @@ -1797,8 +1799,9 @@ void drawEfficiency(TList *list, c16->cd(3)->SetBottomMargin(0.15); c16->cd(3)->SetLeftMargin(0.15); - c16->cd(3)->SetGridx(); c16->cd(2)->SetGridy(); - hEmpty->GetXaxis()->SetRangeUser(0.0,1.2); + c16->cd(3)->SetGridx(); c16->cd(3)->SetGridy(); + hEmpty->GetXaxis()->SetRangeUser(gNPointsESDIdProtons->GetXaxis()->GetXmin(), + gNPointsESDIdProtons->GetXaxis()->GetXmax()+10); hEmpty->GetXaxis()->SetTitle(gNPointsESDContamProtons->GetXaxis()->GetTitle()); hEmpty->DrawCopy(); gNPointsESDIdProtons->DrawCopy("ESAME"); @@ -1898,10 +1901,30 @@ void drawKineQA(const char *filename) { TFile *f = TFile::Open(filename); TList *acceptedList = (TList *)f->Get("acceptedCutList"); TH3D *gHistEtaPhiNClustersPrimaryProtonsPass = (TH3D *)acceptedList->At(44); + gHistEtaPhiNClustersPrimaryProtonsPass->SetTitle("Primary protons"); TH3D *gHistEtaPhiNClustersSecondaryProtonsPass = (TH3D *)acceptedList->At(46); + gHistEtaPhiNClustersSecondaryProtonsPass->SetTitle("Secondary protons"); TH3D *gHistEtaPhiNClustersPrimaryAntiProtonsPass = (TH3D *)acceptedList->At(45); + gHistEtaPhiNClustersPrimaryAntiProtonsPass->SetTitle("Primary antiprotons"); TH3D *gHistEtaPhiNClustersSecondaryAntiProtonsPass = (TH3D *)acceptedList->At(47); - + gHistEtaPhiNClustersSecondaryAntiProtonsPass->SetTitle("Secondary antiprotons"); + TH3D *gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass = (TH3D *)acceptedList->At(48); + gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass->SetTitle("Primary protons"); + TH3D *gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass = (TH3D *)acceptedList->At(50); + gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass->SetTitle("Secondary protons"); + TH3D *gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass = (TH3D *)acceptedList->At(49); + gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass->SetTitle("Primary antiprotons"); + TH3D *gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass = (TH3D *)acceptedList->At(51); + gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass->SetTitle("Secondary antiprotons"); + TH3D *gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass = (TH3D *)acceptedList->At(52); + gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass->SetTitle("Primary protons"); + TH3D *gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass = (TH3D *)acceptedList->At(54); + gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass->SetTitle("Secondary protons"); + TH3D *gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass = (TH3D *)acceptedList->At(53); + gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass->SetTitle("Primary antiprotons"); + TH3D *gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass = (TH3D *)acceptedList->At(55); + gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass->SetTitle("Secondary antiprotons"); + TList *rejectedList = (TList *)f->Get("rejectedCutList"); TH3D *gHistEtaPhiNClustersPrimaryProtonsReject = (TH3D *)rejectedList->At(0); gHistEtaPhiNClustersPrimaryProtonsPass->Add(gHistEtaPhiNClustersPrimaryProtonsReject); @@ -1911,6 +1934,22 @@ void drawKineQA(const char *filename) { gHistEtaPhiNClustersPrimaryAntiProtonsPass->Add(gHistEtaPhiNClustersPrimaryAntiProtonsReject); TH3D *gHistEtaPhiNClustersSecondaryAntiProtonsReject = (TH3D *)rejectedList->At(3); gHistEtaPhiNClustersSecondaryAntiProtonsPass->Add(gHistEtaPhiNClustersSecondaryAntiProtonsReject); + TH3D *gHistEtaPhiChi2PerTPCClusterPrimaryProtonsReject = (TH3D *)rejectedList->At(4); + gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass->Add(gHistEtaPhiChi2PerTPCClusterPrimaryProtonsReject); + TH3D *gHistEtaPhiChi2PerTPCClusterSecondaryProtonsReject = (TH3D *)rejectedList->At(6); + gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass->Add(gHistEtaPhiChi2PerTPCClusterSecondaryProtonsReject); + TH3D *gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsReject = (TH3D *)rejectedList->At(5); + gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass->Add(gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsReject); + TH3D *gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsReject = (TH3D *)rejectedList->At(7); + gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass->Add(gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsReject); + TH3D *gHistEtaPhiTPCdEdxNPointsPrimaryProtonsReject = (TH3D *)rejectedList->At(8); + gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass->Add(gHistEtaPhiTPCdEdxNPointsPrimaryProtonsReject); + TH3D *gHistEtaPhiTPCdEdxNPointsSecondaryProtonsReject = (TH3D *)rejectedList->At(10); + gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass->Add(gHistEtaPhiTPCdEdxNPointsSecondaryProtonsReject); + TH3D *gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsReject = (TH3D *)rejectedList->At(9); + gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass->Add(gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsReject); + TH3D *gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsReject = (TH3D *)rejectedList->At(11); + gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass->Add(gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsReject); //eta-phi TCanvas *c21 = new TCanvas("c21", @@ -1981,6 +2020,98 @@ void drawKineQA(const char *filename) { ((TH2D *)(gHistEtaPhiNClustersSecondaryAntiProtonsPass->Project3D("zy")))->DrawCopy("colz"); c23->SaveAs("PhiNClusters.gif"); + //eta-chi^2 per TPC cluster + TCanvas *c24 = new TCanvas("c24", + "#eta-#chi^{2}/N_{clusters}(TPC)", + 300,300,600,600); + c24->SetHighLightColor(10); c24->Divide(2,2); + c24->cd(1)->SetLeftMargin(0.15); c24->cd(1)->SetBottomMargin(0.15); + c24->cd(1)->SetRightMargin(0.2); + ((TH2D *)(gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass->Project3D("zx")))->SetStats(kFALSE); + ((TH2D *)(gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass->Project3D("zx")))->DrawCopy("colz"); + c24->cd(2)->SetLeftMargin(0.15); c24->cd(2)->SetBottomMargin(0.15); + c24->cd(2)->SetRightMargin(0.2); + ((TH2D *)(gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass->Project3D("zx")))->SetStats(kFALSE); + ((TH2D *)(gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass->Project3D("zx")))->DrawCopy("colz"); + c24->cd(3)->SetLeftMargin(0.15); c24->cd(3)->SetBottomMargin(0.15); + c24->cd(3)->SetRightMargin(0.2); + ((TH2D *)(gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass->Project3D("zx")))->SetStats(kFALSE); + ((TH2D *)(gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass->Project3D("zx")))->DrawCopy("colz"); + c24->cd(4)->SetLeftMargin(0.15); c24->cd(4)->SetBottomMargin(0.15); + c24->cd(4)->SetRightMargin(0.2); + ((TH2D *)(gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass->Project3D("zx")))->SetStats(kFALSE); + ((TH2D *)(gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass->Project3D("zx")))->DrawCopy("colz"); + c24->SaveAs("EtaChi2PerTPCCluster.gif"); + + //phi-chi^2 per TPC cluster + TCanvas *c25 = new TCanvas("c25", + "#phi-#chi^{2}/N_{clusters}(TPC)", + 400,400,600,600); + c25->SetHighLightColor(10); c25->Divide(2,2); + c25->cd(1)->SetLeftMargin(0.15); c25->cd(1)->SetBottomMargin(0.15); + c25->cd(1)->SetRightMargin(0.2); + ((TH2D *)(gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass->Project3D("zy")))->SetStats(kFALSE); + ((TH2D *)(gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass->Project3D("zy")))->DrawCopy("colz"); + c25->cd(2)->SetLeftMargin(0.15); c25->cd(2)->SetBottomMargin(0.15); + c25->cd(2)->SetRightMargin(0.2); + ((TH2D *)(gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass->Project3D("zy")))->SetStats(kFALSE); + ((TH2D *)(gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass->Project3D("zy")))->DrawCopy("colz"); + c25->cd(3)->SetLeftMargin(0.15); c25->cd(3)->SetBottomMargin(0.15); + c25->cd(3)->SetRightMargin(0.2); + ((TH2D *)(gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass->Project3D("zy")))->SetStats(kFALSE); + ((TH2D *)(gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass->Project3D("zy")))->DrawCopy("colz"); + c25->cd(4)->SetLeftMargin(0.15); c25->cd(4)->SetBottomMargin(0.15); + c25->cd(4)->SetRightMargin(0.2); + ((TH2D *)(gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass->Project3D("zy")))->SetStats(kFALSE); + ((TH2D *)(gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass->Project3D("zy")))->DrawCopy("colz"); + c25->SaveAs("PhiChi2PerTPCCluster.gif"); + + //eta-dE/dx Npoints (TPC) + TCanvas *c26 = new TCanvas("c26", + "#eta-dEdx N_{points}(TPC)", + 500,500,600,600); + c26->SetHighLightColor(10); c26->Divide(2,2); + c26->cd(1)->SetLeftMargin(0.15); c26->cd(1)->SetBottomMargin(0.15); + c26->cd(1)->SetRightMargin(0.2); + ((TH2D *)(gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass->Project3D("zx")))->SetStats(kFALSE); + ((TH2D *)(gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass->Project3D("zx")))->DrawCopy("colz"); + c26->cd(2)->SetLeftMargin(0.15); c26->cd(2)->SetBottomMargin(0.15); + c26->cd(2)->SetRightMargin(0.2); + ((TH2D *)(gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass->Project3D("zx")))->SetStats(kFALSE); + ((TH2D *)(gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass->Project3D("zx")))->DrawCopy("colz"); + c26->cd(3)->SetLeftMargin(0.15); c26->cd(3)->SetBottomMargin(0.15); + c26->cd(3)->SetRightMargin(0.2); + ((TH2D *)(gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass->Project3D("zx")))->SetStats(kFALSE); + ((TH2D *)(gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass->Project3D("zx")))->DrawCopy("colz"); + c26->cd(4)->SetLeftMargin(0.15); c26->cd(4)->SetBottomMargin(0.15); + c26->cd(4)->SetRightMargin(0.2); + ((TH2D *)(gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass->Project3D("zx")))->SetStats(kFALSE); + ((TH2D *)(gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass->Project3D("zx")))->DrawCopy("colz"); + c26->SaveAs("EtadEdxNPointsTPC.gif"); + + //phi-dE/dx Npoints (TPC) + TCanvas *c27 = new TCanvas("c27", + "#phi-dEdx N_{points}(TPC)", + 600,600,600,600); + c27->SetHighLightColor(10); c27->Divide(2,2); + c27->cd(1)->SetLeftMargin(0.15); c27->cd(1)->SetBottomMargin(0.15); + c27->cd(1)->SetRightMargin(0.2); + ((TH2D *)(gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass->Project3D("zy")))->SetStats(kFALSE); + ((TH2D *)(gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass->Project3D("zy")))->DrawCopy("colz"); + c27->cd(2)->SetLeftMargin(0.15); c27->cd(2)->SetBottomMargin(0.15); + c27->cd(2)->SetRightMargin(0.2); + ((TH2D *)(gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass->Project3D("zy")))->SetStats(kFALSE); + ((TH2D *)(gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass->Project3D("zy")))->DrawCopy("colz"); + c27->cd(3)->SetLeftMargin(0.15); c27->cd(3)->SetBottomMargin(0.15); + c27->cd(3)->SetRightMargin(0.2); + ((TH2D *)(gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass->Project3D("zy")))->SetStats(kFALSE); + ((TH2D *)(gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass->Project3D("zy")))->DrawCopy("colz"); + c27->cd(4)->SetLeftMargin(0.15); c27->cd(4)->SetBottomMargin(0.15); + c27->cd(4)->SetRightMargin(0.2); + ((TH2D *)(gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass->Project3D("zy")))->SetStats(kFALSE); + ((TH2D *)(gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass->Project3D("zy")))->DrawCopy("colz"); + c27->SaveAs("PhidEdxNPointsTPC.gif"); + f->Close(); } -- 2.43.0