//________________________________________________________________________
AliAnalysisTaskProtonsQA::AliAnalysisTaskProtonsQA()
: AliAnalysisTask(), fESD(0), fMC(0),
- fList0(0), fList1(0), fList2(0), fList3(0), fList4(0), fList5(0),
+ fList0(0), fList1(0), fList2(0), fList3(0),
+ fList4(0), fList5(0), fList6(0), fList7(0),
fProtonQAAnalysis(0),
fTriggerMode(kMB2), fProtonAnalysisMode(kTPC),
fVxMax(0), fVyMax(0), fVzMax(0) {
AliAnalysisTaskProtonsQA::AliAnalysisTaskProtonsQA(const char *name)
: AliAnalysisTask(name, ""), fESD(0), fMC(0),
fList0(0), fList1(0), fList2(0), fList3(0),
- fList4(0), fList5(0), fList6(0),
+ fList4(0), fList5(0), fList6(0), fList7(0),
fProtonQAAnalysis(0),
fTriggerMode(kMB2), fProtonAnalysisMode(kTPC),
fVxMax(0), fVyMax(0), fVzMax(0) {
DefineOutput(4, TList::Class());
DefineOutput(5, TList::Class());
DefineOutput(6, TList::Class());
+ DefineOutput(7, TList::Class());
}
//________________________________________________________________________
fList3 = fProtonQAAnalysis->GetAcceptedCutList();
fList4 = new TList();
- fList4 = fProtonQAAnalysis->GetAcceptedDCAList();
+ fList4 = fProtonQAAnalysis->GetRejectedCutList();
fList5 = new TList();
- fList5 = fProtonQAAnalysis->GetEfficiencyQAList();
+ fList5 = fProtonQAAnalysis->GetAcceptedDCAList();
fList6 = new TList();
- fList6 = fProtonQAAnalysis->GetVertexQAList();
+ fList6 = fProtonQAAnalysis->GetEfficiencyQAList();
+
+ fList7 = new TList();
+ fList7 = fProtonQAAnalysis->GetVertexQAList();
}
//________________________________________________________________________
PostData(4, fList4);
PostData(5, fList5);
PostData(6, fList6);
+ PostData(7, fList7);
}
//________________________________________________________________________
TList *fList4; //TList output object
TList *fList5; //TList output object
TList *fList6; //TList output object
+ TList *fList7; //TList output object
AliProtonQAAnalysis *fProtonQAAnalysis; //analysis object
";#sigma_{1/P_{T}} [GeV/c]^{-1};Entries",
100,0,4);
fAcceptedCutList->Add(gSecondaryAntiProtonsExtCov55);
+ //eta-phi-Nclusters
+ TH3D *gHistEtaPhiNClustersPrimaryProtonsPass = new TH3D("gHistEtaPhiNClustersPrimaryProtonsPass",
+ "Accepted primary protons;#eta;#phi;N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,200);
+ gHistEtaPhiNClustersPrimaryProtonsPass->SetStats(kTRUE);
+ gHistEtaPhiNClustersPrimaryProtonsPass->GetXaxis()->SetTitleColor(1);
+ fAcceptedCutList->Add(gHistEtaPhiNClustersPrimaryProtonsPass);//eta-phi of primary accepted ESD protons
+ TH3D *gHistEtaPhiNClustersPrimaryAntiProtonsPass = new TH3D("gHistEtaPhiNClustersPrimaryAntiProtonsPass",
+ "Accepted primary antiprotons;#eta;#phi;N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,200);
+ gHistEtaPhiNClustersPrimaryAntiProtonsPass->SetStats(kTRUE);
+ gHistEtaPhiNClustersPrimaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
+ fAcceptedCutList->Add(gHistEtaPhiNClustersPrimaryAntiProtonsPass);//eta-phi of primary accepted ESD antiprotons
+ TH3D *gHistEtaPhiNClustersSecondaryProtonsPass = new TH3D("gHistEtaPhiNClustersSecondaryProtonsPass",
+ "Accepted secondary protons;#eta;#phi;N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,200);
+ gHistEtaPhiNClustersSecondaryProtonsPass->SetStats(kTRUE);
+ gHistEtaPhiNClustersSecondaryProtonsPass->GetXaxis()->SetTitleColor(1);
+ fAcceptedCutList->Add(gHistEtaPhiNClustersSecondaryProtonsPass);//eta-phi of secondary accepted ESD protons
+ TH3D *gHistEtaPhiNClustersSecondaryAntiProtonsPass = new TH3D("gHistEtaPhiNClustersSecondaryAntiProtonsPass",
+ "Accepted secondary antiprotons;#eta;#phi;N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,200);
+ gHistEtaPhiNClustersSecondaryAntiProtonsPass->SetStats(kTRUE);
+ gHistEtaPhiNClustersSecondaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
+ fAcceptedCutList->Add(gHistEtaPhiNClustersSecondaryAntiProtonsPass);//eta-phi of secondary accepted ESD antiprotons
+
+ //Rejected cut list
+ fRejectedCutList = new TList();
+ //eta-phi-Nclusters
+ TH3D *gHistEtaPhiNClustersPrimaryProtonsReject = new TH3D("gHistEtaPhiNClustersPrimaryProtonsReject",
+ "Rejected primary protons;#eta;#phi;N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,200);
+ gHistEtaPhiNClustersPrimaryProtonsReject->SetStats(kTRUE);
+ gHistEtaPhiNClustersPrimaryProtonsReject->GetXaxis()->SetTitleColor(1);
+ fRejectedCutList->Add(gHistEtaPhiNClustersPrimaryProtonsReject);//eta-phi of primary rejected ESD protons
+ TH3D *gHistEtaPhiNClustersPrimaryAntiProtonsReject = new TH3D("gHistEtaPhiNClustersPrimaryAntiProtonsReject",
+ "Rejected primary antiprotons;#eta;#phi;N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,200);
+ gHistEtaPhiNClustersPrimaryAntiProtonsReject->SetStats(kTRUE);
+ gHistEtaPhiNClustersPrimaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
+ fRejectedCutList->Add(gHistEtaPhiNClustersPrimaryAntiProtonsReject);//eta-phi of primary rejected ESD antiprotons
+ TH3D *gHistEtaPhiNClustersSecondaryProtonsReject = new TH3D("gHistEtaPhiNClustersSecondaryProtonsReject",
+ "Rejected secondary protons;#eta;#phi;N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,200);
+ gHistEtaPhiNClustersSecondaryProtonsReject->SetStats(kTRUE);
+ gHistEtaPhiNClustersSecondaryProtonsReject->GetXaxis()->SetTitleColor(1);
+ fRejectedCutList->Add(gHistEtaPhiNClustersSecondaryProtonsReject);//eta-phi of secondary rejected ESD protons
+ TH3D *gHistEtaPhiNClustersSecondaryAntiProtonsReject = new TH3D("gHistEtaPhiNClustersSecondaryAntiProtonsReject",
+ "Rejected secondary antiprotons;#eta;#phi;N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,200);
+ gHistEtaPhiNClustersSecondaryAntiProtonsReject->SetStats(kTRUE);
+ gHistEtaPhiNClustersSecondaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
+ fRejectedCutList->Add(gHistEtaPhiNClustersSecondaryAntiProtonsReject);//eta-phi of secondary rejected ESD antiprotons
+
//DCA list
fAcceptedDCAList = new TList();
fQAVertexList = new TList();
fQAVertexList->SetName("fQAVertexList");
+ //Gen. multiplicity bins
+ Float_t xBins[24] = {0,1,2,4,6,8,10,15,20,30,40,50,75,100,
+ 200,300,400,500,750,1000,1500,2000,2500,3000};
//MC primary multiplicity (vertex efficiency calculation)
- TH1I *gHistMCPrimaryMultiplicity = new TH1I("gHistMCPrimaryMultiplicity",
+ TH1F *gHistMCPrimaryMultiplicity = new TH1F("gHistMCPrimaryMultiplicity",
";N_{prim. gen.};Entries",
- 1000,0,2000);
+ 23,xBins);
fQAVertexList->Add(gHistMCPrimaryMultiplicity);
//TPC
- TH1I *gHistMCPrimaryMultiplicityTPC = new TH1I("gHistMCPrimaryMultiplicityTPC",
- ";N_{prim. gen.};Entries",
- 1000,0,2000);
+ TH1F *gHistMCPrimaryMultiplicityTPC = new TH1F("gHistMCPrimaryMultiplicityTPC",
+ "Vertex TPC;N_{prim. gen.};Entries",
+ 23,xBins);
fQAVertexList->Add(gHistMCPrimaryMultiplicityTPC);
TH2F *gHistTPCESDVx = new TH2F("gHistTPCESDVx",
"Primary vertex TPC;V_{x} [cm];N_{contributors}",
- 100,-10.,10.,100,0,100);
+ 100,-10.,10.,1000,0,5000);
fQAVertexList->Add(gHistTPCESDVx);
TH2F *gHistTPCESDVy = new TH2F("gHistTPCESDVy",
"Primary vertex TPC;V_{y} [cm];N_{contributors}",
- 100,-10.,10.,100,0,100);
+ 100,-10.,10.,1000,0,5000);
fQAVertexList->Add(gHistTPCESDVy);
TH2F *gHistTPCESDVz = new TH2F("gHistTPCESDVz",
"Primary vertex TPC;V_{z} [cm];N_{contributors}",
- 100,-20.,20.,100,0,100);
+ 100,-20.,20.,1000,0,5000);
fQAVertexList->Add(gHistTPCESDVz);
TH1F *gHistTPCDiffVx = new TH1F("gHistTPCDiffVx",
";V_{x}(rec.) - V_{x}(true) [#mu m];Entries",
fQAVertexList->Add(gHistTPCResolutionVz);
//SPD
- TH1I *gHistMCPrimaryMultiplicitySPD = new TH1I("gHistMCPrimaryMultiplicitySPD",
- ";N_{prim. gen.};Entries",
- 1000,0,2000);
+ TH1F *gHistMCPrimaryMultiplicitySPD = new TH1F("gHistMCPrimaryMultiplicitySPD",
+ "Vertex SPD;N_{prim. gen.};Entries",
+ 23,xBins);
fQAVertexList->Add(gHistMCPrimaryMultiplicitySPD);
TH2F *gHistSPDESDVx = new TH2F("gHistSPDESDVx",
"Primary vertex SPD;V_{x} [cm];N_{contributors}",
- 100,-10.,10.,100,0,100);
+ 100,-10.,10.,1000,0,5000);
fQAVertexList->Add(gHistSPDESDVx);
TH2F *gHistSPDESDVy = new TH2F("gHistSPDESDVy",
"Primary vertex SPD;V_{y} [cm];N_{contributors}",
- 100,-10.,10.,100,0,100);
+ 100,-10.,10.,1000,0,5000);
fQAVertexList->Add(gHistSPDESDVy);
TH2F *gHistSPDESDVz = new TH2F("gHistSPDESDVz",
"Primary vertex SPD;V_{z} [cm];N_{contributors}",
- 100,-20.,20.,100,0,100);
+ 100,-20.,20.,1000,0,5000);
fQAVertexList->Add(gHistSPDESDVz);
TH1F *gHistSPDDiffVx = new TH1F("gHistSPDDiffVx",
";V_{x}(rec.) - V_{x}(true) [#mu m];Entries",
fQAVertexList->Add(gHistSPDResolutionVz);
//Tracks
- TH1I *gHistMCPrimaryMultiplicityTracks = new TH1I("gHistMCPrimaryMultiplicityTracks",
- ";N_{prim. gen.};Entries",
- 1000,0,2000);
+ TH1F *gHistMCPrimaryMultiplicityTracks = new TH1F("gHistMCPrimaryMultiplicityTracks",
+ "Vertex Tracks;N_{prim. gen.};Entries",
+ 23,xBins);
fQAVertexList->Add(gHistMCPrimaryMultiplicityTracks);
TH2F *gHistTracksESDVx = new TH2F("gHistTracksESDVx",
"Primary vertex Tracks;V_{x} [cm];N_{contributors}",
- 100,-10.,10.,100,0,100);
+ 100,-10.,10.,1000,0,5000);
fQAVertexList->Add(gHistTracksESDVx);
TH2F *gHistTracksESDVy = new TH2F("gHistTracksESDVy",
"Primary vertex Tracks;V_{y} [cm];N_{contributors}",
- 100,-10.,10.,100,0,100);
+ 100,-10.,10.,1000,0,5000);
fQAVertexList->Add(gHistTracksESDVy);
TH2F *gHistTracksESDVz = new TH2F("gHistTracksESDVz",
"Primary vertex Tracks;V_{z} [cm];N_{contributors}",
- 100,-20.,20.,100,0,100);
+ 100,-20.,20.,1000,0,5000);
fQAVertexList->Add(gHistTracksESDVz);
TH1F *gHistTracksDiffVx = new TH1F("gHistTracksDiffVx",
";V_{x}(rec.) - V_{x}(true) [#mu m];Entries",
fQAVertexList->Add(gHistTracksDiffVz);
TH1F *gHistTracksResolutionVx = new TH1F("gHistTracksResolutionVx",
";#sigma_{x} [#mu m];Entries",
- 100,0.,1000.);
+ 100,0.,5000.);
fQAVertexList->Add(gHistTracksResolutionVx);
TH1F *gHistTracksResolutionVy = new TH1F("gHistTracksResolutionVy",
";#sigma_{y} [#mu m];Entries",
- 100,0.,1000.);
+ 100,0.,5000.);
fQAVertexList->Add(gHistTracksResolutionVy);
TH1F *gHistTracksResolutionVz = new TH1F("gHistTracksResolutionVz",
";#sigma_{z} [#mu m];Entries",
- 100,0.,500.);
+ 100,0.,1000.);
fQAVertexList->Add(gHistTracksResolutionVz);
}
gHistYPtPDGAntiProtonsPass->GetXaxis()->SetTitle("y");
fQA2DList->Add(gHistYPtPDGAntiProtonsPass);//composition of secondary antiprotons
- //eta-phi
- TH2D *gHistEtaPhiPrimaryProtonsPass = new TH2D("gHistEtaPhiPrimaryProtonsPass",
- ";#eta;#phi [deg.]",
- fNBinsY,fMinY,fMaxY,
- 100,0.,360.);
- gHistEtaPhiPrimaryProtonsPass->SetStats(kTRUE);
- gHistEtaPhiPrimaryProtonsPass->GetXaxis()->SetTitleColor(1);
- fQA2DList->Add(gHistEtaPhiPrimaryProtonsPass);//eta-phi of primary accepted ESD protons
- TH2D *gHistEtaPhiPrimaryProtonsReject = new TH2D("gHistEtaPhiPrimaryProtonsReject",
- ";#eta;#phi [deg.]",
- fNBinsY,fMinY,fMaxY,
- 100,0.,360.);
- gHistEtaPhiPrimaryProtonsReject->SetStats(kTRUE);
- gHistEtaPhiPrimaryProtonsReject->GetXaxis()->SetTitleColor(1);
- fQA2DList->Add(gHistEtaPhiPrimaryProtonsReject);//eta-phi of primary rejected ESD protons
- TH2D *gHistEtaPhiSecondaryProtonsPass = new TH2D("gHistEtaPhiSecondaryProtonsPass",
- ";#eta;#phi [deg.]",
- fNBinsY,fMinY,fMaxY,
- 100,0.,360.);
- gHistEtaPhiSecondaryProtonsPass->SetStats(kTRUE);
- gHistEtaPhiSecondaryProtonsPass->GetXaxis()->SetTitleColor(1);
- fQA2DList->Add(gHistEtaPhiSecondaryProtonsPass);//eta-phi of secondary accepted ESD protons
- TH2D *gHistEtaPhiSecondaryProtonsReject = new TH2D("gHistEtaPhiSecondaryProtonsReject",
- ";#eta;#phi [deg.]",
- fNBinsY,fMinY,fMaxY,
- 100,0.,360.);
- gHistEtaPhiSecondaryProtonsReject->SetStats(kTRUE);
- gHistEtaPhiSecondaryProtonsReject->GetXaxis()->SetTitleColor(1);
- fQA2DList->Add(gHistEtaPhiSecondaryProtonsReject);//eta-phi of secondary rejected ESD protons
-
- TH2D *gHistEtaPhiPrimaryAntiProtonsPass = new TH2D("gHistEtaPhiPrimaryAntiProtonsPass",
- ";#eta;#phi [deg.]",
- fNBinsY,fMinY,fMaxY,
- 100,0.,360.);
- gHistEtaPhiPrimaryAntiProtonsPass->SetStats(kTRUE);
- gHistEtaPhiPrimaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
- fQA2DList->Add(gHistEtaPhiPrimaryAntiProtonsPass);//eta-phi of primary accepted ESD antiprotons
- TH2D *gHistEtaPhiPrimaryAntiProtonsReject = new TH2D("gHistEtaPhiPrimaryAntiProtonsReject",
- ";#eta;#phi [deg.]",
- fNBinsY,fMinY,fMaxY,
- 100,0.,360.);
- gHistEtaPhiPrimaryAntiProtonsReject->SetStats(kTRUE);
- gHistEtaPhiPrimaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
- fQA2DList->Add(gHistEtaPhiPrimaryAntiProtonsReject);//eta-phi of primary rejected ESD antiprotons
- TH2D *gHistEtaPhiSecondaryAntiProtonsPass = new TH2D("gHistEtaPhiSecondaryAntiProtonsPass",
- ";#eta;#phi [deg.]",
- fNBinsY,fMinY,fMaxY,
- 100,0.,360.);
- gHistEtaPhiSecondaryAntiProtonsPass->SetStats(kTRUE);
- gHistEtaPhiSecondaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
- fQA2DList->Add(gHistEtaPhiSecondaryAntiProtonsPass);//eta-phi of secondary accepted ESD antiprotons
- TH2D *gHistEtaPhiSecondaryAntiProtonsReject = new TH2D("gHistEtaPhiSecondaryAntiProtonsReject",
- ";#eta;#phi [deg.]",
- fNBinsY,fMinY,fMaxY,
- 100,0.,360.);
- gHistEtaPhiSecondaryAntiProtonsReject->SetStats(kTRUE);
- gHistEtaPhiSecondaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
- fQA2DList->Add(gHistEtaPhiSecondaryAntiProtonsReject);//eta-phi of secondary rejected ESD antiprotons
-
/*gDirectory->cd("../");
//protons
TDirectory *dirProtons = gDirectory->mkdir("Protons");
header->PrimaryVertex(primaryVertex);
Int_t nPrimaries = stack->GetNprimary();
- ((TH1I *)(fQAVertexList->At(0)))->Fill(nPrimaries);
+ ((TH1F *)(fQAVertexList->At(0)))->Fill(nPrimaries);
//TPC vertex
const AliESDVertex *vertexTPC = esd->GetPrimaryVertexTPC();
return;
}
if(vertexTPC->GetNContributors() > 0) {
- ((TH1I *)(fQAVertexList->At(1)))->Fill(nPrimaries);
+ ((TH1F *)(fQAVertexList->At(1)))->Fill(nPrimaries);
((TH2F *)(fQAVertexList->At(2)))->Fill(vertexTPC->GetXv(),
vertexTPC->GetNContributors());
((TH2F *)(fQAVertexList->At(3)))->Fill(vertexTPC->GetYv(),
return;
}
if(vertexSPD->GetNContributors() > 0) {
- ((TH1I *)(fQAVertexList->At(11)))->Fill(nPrimaries);
+ ((TH1F *)(fQAVertexList->At(11)))->Fill(nPrimaries);
((TH2F *)(fQAVertexList->At(12)))->Fill(vertexSPD->GetXv(),
vertexSPD->GetNContributors());
((TH2F *)(fQAVertexList->At(13)))->Fill(vertexSPD->GetYv(),
return;
}
if(vertexTracks->GetNContributors() > 0) {
- ((TH1I *)(fQAVertexList->At(21)))->Fill(nPrimaries);
+ ((TH1F *)(fQAVertexList->At(21)))->Fill(nPrimaries);
((TH2F *)(fQAVertexList->At(22)))->Fill(vertexTracks->GetXv(),
vertexTracks->GetNContributors());
((TH2F *)(fQAVertexList->At(23)))->Fill(vertexTracks->GetYv(),
((TH1F *)(fAcceptedCutList->At(32)))->Fill(extCov[5]);
((TH1F *)(fAcceptedCutList->At(36)))->Fill(extCov[9]);
((TH1F *)(fAcceptedCutList->At(40)))->Fill(extCov[14]);
+ ((TH3D *)(fAcceptedCutList->At(44)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ nClustersTPC);
((TH1F *)(fAcceptedDCAList->At(0)))->Fill(TMath::Abs(dcaXY));
((TH1F *)(fAcceptedDCAList->At(4)))->Fill(TMath::Abs(dcaZ));
tpcTrack->Py(),
tpcTrack->Pz()),
Pt);
- ((TH2D *)(fQA2DList->At(12)))->Fill(tpcTrack->Eta(),
- tpcTrack->Phi()*180./TMath::Pi());
}//accepted primary protons
else if(track->Charge() < 0) {
for(Int_t iLayer = 0; iLayer < 6; iLayer++) {
((TH1F *)(fAcceptedCutList->At(33)))->Fill(extCov[5]);
((TH1F *)(fAcceptedCutList->At(37)))->Fill(extCov[9]);
((TH1F *)(fAcceptedCutList->At(41)))->Fill(extCov[14]);
+ ((TH3D *)(fAcceptedCutList->At(45)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ nClustersTPC);
((TH1F *)(fAcceptedDCAList->At(1)))->Fill(TMath::Abs(dcaXY));
((TH1F *)(fAcceptedDCAList->At(5)))->Fill(TMath::Abs(dcaZ));
tpcTrack->Py(),
tpcTrack->Pz()),
Pt);
- ((TH2D *)(fQA2DList->At(16)))->Fill(tpcTrack->Eta(),
- tpcTrack->Phi()*180./TMath::Pi());
}//accepted primary antiprotons
}//accepted primary particles
else if(label > stack->GetNprimary()) {
((TH1F *)(fAcceptedCutList->At(34)))->Fill(extCov[5]);
((TH1F *)(fAcceptedCutList->At(38)))->Fill(extCov[9]);
((TH1F *)(fAcceptedCutList->At(42)))->Fill(extCov[14]);
+ ((TH3D *)(fAcceptedCutList->At(46)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ nClustersTPC);
((TH1F *)(fAcceptedDCAList->At(2)))->Fill(TMath::Abs(dcaXY));
((TH1F *)(fAcceptedDCAList->At(6)))->Fill(TMath::Abs(dcaZ));
tpcTrack->Py(),
tpcTrack->Pz()),
Pt);
- ((TH2D *)(fQA2DList->At(14)))->Fill(tpcTrack->Eta(),
- tpcTrack->Phi()*180./TMath::Pi());
if(fAnalysisEtaMode)
((TH3F *)(fQA2DList->At(10)))->Fill(tpcTrack->Eta(),Pt,
ConvertPDGToInt(motherPDGCode));
((TH1F *)(fAcceptedCutList->At(35)))->Fill(extCov[5]);
((TH1F *)(fAcceptedCutList->At(39)))->Fill(extCov[9]);
((TH1F *)(fAcceptedCutList->At(43)))->Fill(extCov[14]);
+ ((TH3D *)(fAcceptedCutList->At(47)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ nClustersTPC);
((TH1F *)(fAcceptedDCAList->At(3)))->Fill(TMath::Abs(dcaXY));
((TH1F *)(fAcceptedDCAList->At(7)))->Fill(TMath::Abs(dcaZ));
tpcTrack->Py(),
tpcTrack->Pz()),
Pt);
- ((TH2D *)(fQA2DList->At(18)))->Fill(tpcTrack->Eta(),
- tpcTrack->Phi()*180./TMath::Pi());
if(fAnalysisEtaMode)
((TH3F *)(fQA2DList->At(11)))->Fill(tpcTrack->Eta(),Pt,
ConvertPDGToInt(motherPDGCode));
else {
if(label <= stack->GetNprimary()) {
if(track->Charge() > 0) {
+ ((TH3D *)(fRejectedCutList->At(0)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ nClustersTPC);
if(fAnalysisEtaMode)
((TH2D *)(fQA2DList->At(1)))->Fill(tpcTrack->Eta(),Pt);
else
tpcTrack->Py(),
tpcTrack->Pz()),
Pt);
- ((TH2D *)(fQA2DList->At(13)))->Fill(tpcTrack->Eta(),
- tpcTrack->Phi()*180./TMath::Pi());
}
else if(track->Charge() < 0) {
+ ((TH3D *)(fRejectedCutList->At(1)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ nClustersTPC);
if(fAnalysisEtaMode)
((TH2D *)(fQA2DList->At(5)))->Fill(tpcTrack->Eta(),Pt);
else
tpcTrack->Py(),
tpcTrack->Pz()),
Pt);
- ((TH2D *)(fQA2DList->At(17)))->Fill(tpcTrack->Eta(),
- tpcTrack->Phi()*180./TMath::Pi());
}
}//rejected primary particles
else if(label > stack->GetNprimary()) {
if(track->Charge() > 0) {
+ ((TH3D *)(fRejectedCutList->At(2)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ nClustersTPC);
if(fAnalysisEtaMode)
((TH2D *)(fQA2DList->At(3)))->Fill(tpcTrack->Eta(),Pt);
else
tpcTrack->Py(),
tpcTrack->Pz()),
Pt);
- ((TH2D *)(fQA2DList->At(15)))->Fill(tpcTrack->Eta(),
- tpcTrack->Phi()*180./TMath::Pi());
}
else if(track->Charge() < 0) {
+ ((TH3D *)(fRejectedCutList->At(3)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ nClustersTPC);
if(fAnalysisEtaMode)
((TH2D *)(fQA2DList->At(7)))->Fill(tpcTrack->Eta(),Pt);
else
tpcTrack->Py(),
tpcTrack->Pz()),
Pt);
- ((TH2D *)(fQA2DList->At(19)))->Fill(tpcTrack->Eta(),
- tpcTrack->Phi()*180./TMath::Pi());
}
}//rejected secondary particles
}//rejected - track cuts
((TH1F *)(fAcceptedCutList->At(32)))->Fill(extCov[5]);
((TH1F *)(fAcceptedCutList->At(36)))->Fill(extCov[9]);
((TH1F *)(fAcceptedCutList->At(40)))->Fill(extCov[14]);
+ ((TH3D *)(fAcceptedCutList->At(44)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ nClustersTPC);
((TH1F *)(fAcceptedDCAList->At(0)))->Fill(TMath::Abs(dcaXY));
((TH1F *)(fAcceptedDCAList->At(4)))->Fill(TMath::Abs(dcaZ));
track->Py(),
track->Pz()),
Pt);
- ((TH2D *)(fQA2DList->At(12)))->Fill(track->Eta(),
- track->Phi()*180./TMath::Pi());
}
else if(track->Charge() < 0) {
for(Int_t iLayer = 0; iLayer < 6; iLayer++) {
((TH1F *)(fAcceptedCutList->At(33)))->Fill(extCov[5]);
((TH1F *)(fAcceptedCutList->At(37)))->Fill(extCov[9]);
((TH1F *)(fAcceptedCutList->At(41)))->Fill(extCov[14]);
+ ((TH3D *)(fAcceptedCutList->At(45)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ nClustersTPC);
((TH1F *)(fAcceptedDCAList->At(1)))->Fill(TMath::Abs(dcaXY));
((TH1F *)(fAcceptedDCAList->At(5)))->Fill(TMath::Abs(dcaZ));
track->Py(),
track->Pz()),
Pt);
- ((TH2D *)(fQA2DList->At(16)))->Fill(track->Eta(),
- track->Phi()*180./TMath::Pi());
}
}//primary particles
else if(label > stack->GetNprimary()) {
((TH1F *)(fAcceptedCutList->At(34)))->Fill(extCov[5]);
((TH1F *)(fAcceptedCutList->At(38)))->Fill(extCov[9]);
((TH1F *)(fAcceptedCutList->At(42)))->Fill(extCov[14]);
+ ((TH3D *)(fAcceptedCutList->At(46)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ nClustersTPC);
((TH1F *)(fAcceptedDCAList->At(2)))->Fill(TMath::Abs(dcaXY));
((TH1F *)(fAcceptedDCAList->At(6)))->Fill(TMath::Abs(dcaZ));
track->Py(),
track->Pz()),
Pt);
- ((TH2D *)(fQA2DList->At(14)))->Fill(track->Eta(),
- track->Phi()*180./TMath::Pi());
if(fAnalysisEtaMode)
((TH3F *)(fQA2DList->At(10)))->Fill(track->Eta(),Pt,
ConvertPDGToInt(motherPDGCode));
((TH1F *)(fAcceptedCutList->At(35)))->Fill(extCov[5]);
((TH1F *)(fAcceptedCutList->At(39)))->Fill(extCov[9]);
((TH1F *)(fAcceptedCutList->At(43)))->Fill(extCov[14]);
+ ((TH3D *)(fAcceptedCutList->At(47)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ nClustersTPC);
((TH1F *)(fAcceptedDCAList->At(3)))->Fill(TMath::Abs(dcaXY));
((TH1F *)(fAcceptedDCAList->At(7)))->Fill(TMath::Abs(dcaZ));
track->Py(),
track->Pz()),
Pt);
-
- ((TH2D *)(fQA2DList->At(18)))->Fill(track->Eta(),
- track->Phi()*180./TMath::Pi());
if(fAnalysisEtaMode)
((TH3F *)(fQA2DList->At(11)))->Fill(track->Eta(),Pt,
ConvertPDGToInt(motherPDGCode));
else if(!IsAccepted(esd,vertex,track)) {
if(label <= stack->GetNprimary()) {
if(track->Charge() > 0) {
+ ((TH3D *)(fRejectedCutList->At(0)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ nClustersTPC);
if(fAnalysisEtaMode)
((TH2D *)(fQA2DList->At(1)))->Fill(track->Eta(),Pt);
else
track->Py(),
track->Pz()),
Pt);
- ((TH2D *)(fQA2DList->At(13)))->Fill(track->Eta(),
- track->Phi()*180./TMath::Pi());
}
else if(track->Charge() < 0) {
+ ((TH3D *)(fRejectedCutList->At(1)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ nClustersTPC);
if(fAnalysisEtaMode)
((TH2D *)(fQA2DList->At(5)))->Fill(track->Eta(),Pt);
else
track->Py(),
track->Pz()),
Pt);
- ((TH2D *)(fQA2DList->At(17)))->Fill(track->Eta(),
- track->Phi()*180./TMath::Pi());
}
}//primary particles
else if(label > stack->GetNprimary()) {
if(track->Charge() > 0) {
+ ((TH3D *)(fRejectedCutList->At(2)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ nClustersTPC);
if(fAnalysisEtaMode)
((TH2D *)(fQA2DList->At(3)))->Fill(track->Eta(),Pt);
else
track->Py(),
track->Pz()),
Pt);
- ((TH2D *)(fQA2DList->At(15)))->Fill(track->Eta(),
- track->Phi()*180./TMath::Pi());
}
else if(track->Charge() < 0) {
+ ((TH3D *)(fRejectedCutList->At(3)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ nClustersTPC);
if(fAnalysisEtaMode)
((TH2D *)(fQA2DList->At(7)))->Fill(track->Eta(),Pt);
else
track->Py(),
track->Pz()),
Pt);
- ((TH2D *)(fQA2DList->At(19)))->Fill(track->Eta(),
- track->Phi()*180./TMath::Pi());
}
}//secondary particles
}//rejected - track cuts
void drawProtonQAResults(const char *analysisType = "TPC") {
//Macro to visualize the results of the proton QA task
- //TCanvas objects: 16
+ //TCanvas objects: 20
gStyle->SetPalette(1,0);
gStyle->SetCanvasColor(41);
gStyle->SetFrameFillColor(10);
//The histogram shows the influence of each cut on the primary
//and secondary (anti)protons
const Int_t NQAHISTOSPERLIST = 26;
-
- Double_t gEntriesQA2DList[20] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
+
+ Double_t gEntriesQA2DList[12] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
Double_t gEntriesQAPrimaryProtonsAcceptedList[NQAHISTOSPERLIST], gEntriesQAPrimaryProtonsRejectedList[NQAHISTOSPERLIST];
Double_t gEntriesQASecondaryProtonsAcceptedList[NQAHISTOSPERLIST], gEntriesQASecondaryProtonsRejectedList[NQAHISTOSPERLIST];
Double_t gEntriesQAPrimaryAntiProtonsAcceptedList[NQAHISTOSPERLIST], gEntriesQAPrimaryAntiProtonsRejectedList[NQAHISTOSPERLIST];
GetQAEntries(fQA2DList,gEntriesQA2DList);
TH3F *gHistYPtPDGProtonsPass = (TH3F *)fQA2DList->At(10);
TH3F *gHistYPtPDGAntiProtonsPass = (TH3F *)fQA2DList->At(11);
- TH2D *gHistEtaPtPrimaryProtonsAccepted = (TH2D *)fQA2DList->At(12);
- TH2D *gHistEtaPtPrimaryProtonsRejected = (TH2D *)fQA2DList->At(13);
- TH2D *gHistEtaPtSecondaryProtonsAccepted = (TH2D *)fQA2DList->At(14);
- TH2D *gHistEtaPtSecondaryProtonsRejected = (TH2D *)fQA2DList->At(15);
- TH2D *gHistEtaPtPrimaryAntiProtonsAccepted = (TH2D *)fQA2DList->At(16);
- TH2D *gHistEtaPtPrimaryAntiProtonsRejected = (TH2D *)fQA2DList->At(17);
- TH2D *gHistEtaPtSecondaryAntiProtonsAccepted = (TH2D *)fQA2DList->At(18);
- TH2D *gHistEtaPtSecondaryAntiProtonsRejected = (TH2D *)fQA2DList->At(19);
-
- TCanvas *c17 = new TCanvas("c17",
- "Proton eta-pT",
- 800,800,700,700);
- c17->SetHighLightColor(10); c17->Divide(2,2);
- c17->cd(1); gHistEtaPtPrimaryProtonsAccepted->SetStats(kFALSE);
- gHistEtaPtPrimaryProtonsAccepted->Draw("col");
- c17->cd(2); gHistEtaPtPrimaryProtonsRejected->SetStats(kFALSE);
- gHistEtaPtPrimaryProtonsRejected->Draw("col");
- c17->cd(3); gHistEtaPtSecondaryProtonsAccepted->SetStats(kFALSE);
- gHistEtaPtSecondaryProtonsAccepted->Draw("col");
- c17->cd(4); gHistEtaPtSecondaryProtonsRejected->SetStats(kFALSE);
- gHistEtaPtSecondaryProtonsRejected->Draw("col");
-
- TCanvas *c18 = new TCanvas("c18",
- "Proton eta-pT",
- 850,850,700,700);
- c18->SetHighLightColor(10); c18->Divide(2,2);
- c18->cd(1); gHistEtaPtPrimaryAntiProtonsAccepted->SetStats(kFALSE);
- gHistEtaPtPrimaryAntiProtonsAccepted->Draw("col");
- c18->cd(2); gHistEtaPtPrimaryAntiProtonsRejected->SetStats(kFALSE);
- gHistEtaPtPrimaryAntiProtonsRejected->Draw("col");
- c18->cd(3); gHistEtaPtSecondaryAntiProtonsAccepted->SetStats(kFALSE);
- gHistEtaPtSecondaryAntiProtonsAccepted->Draw("col");
- c18->cd(4); gHistEtaPtSecondaryAntiProtonsRejected->SetStats(kFALSE);
- gHistEtaPtSecondaryAntiProtonsRejected->Draw("col");
TList *fQAPrimaryProtonsAcceptedList = (TList *)list->At(1);
GetQAEntries(fQAPrimaryProtonsAcceptedList,gEntriesQAPrimaryProtonsAcceptedList);
TH1F *gHistTracksResolutionVy = (TH1F *)list->At(29);
TH1F *gHistTracksResolutionVz = (TH1F *)list->At(30);
- TCanvas *c19 = new TCanvas("c19",
+ TCanvas *c17 = new TCanvas("c17",
"Vertex efficiency",
300,0,900,400);
- c19->SetHighLightColor(10); c19->Divide(3,1);
- c19->cd(1)->SetLeftMargin(0.15); c19->cd(1)->SetBottomMargin(0.15);
- c19->cd(1)->SetRightMargin(0.2);
+ c17->SetHighLightColor(10); c17->Divide(3,1);
+ c17->cd(1)->SetLeftMargin(0.15); c17->cd(1)->SetBottomMargin(0.15);
+ c17->cd(1)->SetRightMargin(0.2);
gHistMCPrimaryMultiplicityTPC->Divide(gHistMCPrimaryMultiplicity);
SetError(gHistMCPrimaryMultiplicityTPC,gHistMCPrimaryMultiplicity);
gHistMCPrimaryMultiplicityTPC->Scale(100.);
gHistMCPrimaryMultiplicityTPC->SetMarkerStyle(20);
gHistMCPrimaryMultiplicityTPC->SetMarkerColor(1);
gHistMCPrimaryMultiplicityTPC->GetYaxis()->SetTitle("#epsilon [%]");
+ gHistMCPrimaryMultiplicityTPC->SetStats(kFALSE);
gHistMCPrimaryMultiplicityTPC->Draw("E");
- c19->cd(2)->SetLeftMargin(0.15); c19->cd(2)->SetBottomMargin(0.15);
- c19->cd(2)->SetRightMargin(0.2);
+ c17->cd(2)->SetLeftMargin(0.15); c17->cd(2)->SetBottomMargin(0.15);
+ c17->cd(2)->SetRightMargin(0.2);
gHistMCPrimaryMultiplicitySPD->Divide(gHistMCPrimaryMultiplicity);
SetError(gHistMCPrimaryMultiplicitySPD,gHistMCPrimaryMultiplicity);
gHistMCPrimaryMultiplicitySPD->Scale(100.);
gHistMCPrimaryMultiplicitySPD->SetMarkerStyle(20);
gHistMCPrimaryMultiplicitySPD->SetMarkerColor(1);
gHistMCPrimaryMultiplicitySPD->GetYaxis()->SetTitle("#epsilon [%]");
+ gHistMCPrimaryMultiplicitySPD->SetStats(kFALSE);
gHistMCPrimaryMultiplicitySPD->Draw("E");
- c19->cd(3)->SetLeftMargin(0.15); c19->cd(3)->SetBottomMargin(0.15);
- c19->cd(3)->SetRightMargin(0.2);
+ c17->cd(3)->SetLeftMargin(0.15); c17->cd(3)->SetBottomMargin(0.15);
+ c17->cd(3)->SetRightMargin(0.2);
gHistMCPrimaryMultiplicityTracks->Divide(gHistMCPrimaryMultiplicity);
SetError(gHistMCPrimaryMultiplicityTracks,gHistMCPrimaryMultiplicity);
gHistMCPrimaryMultiplicityTracks->Scale(100.);
gHistMCPrimaryMultiplicityTracks->SetMarkerStyle(20);
gHistMCPrimaryMultiplicityTracks->SetMarkerColor(1);
gHistMCPrimaryMultiplicityTracks->GetYaxis()->SetTitle("#epsilon [%]");
+ gHistMCPrimaryMultiplicityTracks->SetStats(kFALSE);
gHistMCPrimaryMultiplicityTracks->Draw("E");
//TPC vertex
- TCanvas *c20 = new TCanvas("c20",
+ TCanvas *c18 = new TCanvas("c18",
"TPC vertex",
350,50,700,700);
- c20->SetHighLightColor(10); c20->Divide(3,3);
- c20->cd(1)->SetLeftMargin(0.15); c20->cd(1)->SetBottomMargin(0.15);
- c20->cd(1)->SetRightMargin(0.2); c20->cd(1)->SetLogy();
+ c18->SetHighLightColor(10); c18->Divide(3,3);
+ c18->cd(1)->SetLeftMargin(0.15); c18->cd(1)->SetBottomMargin(0.15);
+ c18->cd(1)->SetRightMargin(0.2); c18->cd(1)->SetLogy();
gHistTPCESDVx->Draw("col");
- c20->cd(2)->SetLeftMargin(0.15); c20->cd(2)->SetBottomMargin(0.15);
- c20->cd(2)->SetRightMargin(0.2); c20->cd(2)->SetLogy();
+ c18->cd(2)->SetLeftMargin(0.15); c18->cd(2)->SetBottomMargin(0.15);
+ c18->cd(2)->SetRightMargin(0.2); c18->cd(2)->SetLogy();
gHistTPCESDVy->Draw("col");
- c20->cd(3)->SetLeftMargin(0.15); c20->cd(3)->SetBottomMargin(0.15);
- c20->cd(3)->SetRightMargin(0.2); c20->cd(3)->SetLogy();
+ c18->cd(3)->SetLeftMargin(0.15); c18->cd(3)->SetBottomMargin(0.15);
+ c18->cd(3)->SetRightMargin(0.2); c18->cd(3)->SetLogy();
gHistTPCESDVz->Draw("col");
- c20->cd(4)->SetLeftMargin(0.15); c20->cd(4)->SetBottomMargin(0.15);
- c20->cd(4)->SetRightMargin(0.2); c20->cd(4)->SetLogy();
+ c18->cd(4)->SetLeftMargin(0.15); c18->cd(4)->SetBottomMargin(0.15);
+ c18->cd(4)->SetRightMargin(0.2); c18->cd(4)->SetLogy();
gHistTPCDiffVx->Draw();
- c20->cd(5)->SetLeftMargin(0.15); c20->cd(5)->SetBottomMargin(0.15);
- c20->cd(5)->SetRightMargin(0.2); c20->cd(5)->SetLogy();
+ c18->cd(5)->SetLeftMargin(0.15); c18->cd(5)->SetBottomMargin(0.15);
+ c18->cd(5)->SetRightMargin(0.2); c18->cd(5)->SetLogy();
gHistTPCDiffVy->Draw();
- c20->cd(6)->SetLeftMargin(0.15); c20->cd(6)->SetBottomMargin(0.15);
- c20->cd(6)->SetRightMargin(0.2); c20->cd(6)->SetLogy();
+ c18->cd(6)->SetLeftMargin(0.15); c18->cd(6)->SetBottomMargin(0.15);
+ c18->cd(6)->SetRightMargin(0.2); c18->cd(6)->SetLogy();
gHistTPCDiffVz->Draw();
- c20->cd(7)->SetLeftMargin(0.15); c20->cd(7)->SetBottomMargin(0.15);
- c20->cd(7)->SetRightMargin(0.2); c20->cd(7)->SetLogy();
+ c18->cd(7)->SetLeftMargin(0.15); c18->cd(7)->SetBottomMargin(0.15);
+ c18->cd(7)->SetRightMargin(0.2); c18->cd(7)->SetLogy();
gHistTPCResolutionVx->Draw();
- c20->cd(8)->SetLeftMargin(0.15); c20->cd(8)->SetBottomMargin(0.15);
- c20->cd(8)->SetRightMargin(0.2); c20->cd(8)->SetLogy();
+ c18->cd(8)->SetLeftMargin(0.15); c18->cd(8)->SetBottomMargin(0.15);
+ c18->cd(8)->SetRightMargin(0.2); c18->cd(8)->SetLogy();
gHistTPCResolutionVy->Draw();
- c20->cd(9)->SetLeftMargin(0.15); c20->cd(9)->SetBottomMargin(0.15);
- c20->cd(9)->SetRightMargin(0.2); c20->cd(9)->SetLogy();
+ c18->cd(9)->SetLeftMargin(0.15); c18->cd(9)->SetBottomMargin(0.15);
+ c18->cd(9)->SetRightMargin(0.2); c18->cd(9)->SetLogy();
gHistTPCResolutionVz->Draw();
//SPD vertex
- TCanvas *c21 = new TCanvas("c21",
+ TCanvas *c19 = new TCanvas("c19",
"SPD vertex",
400,100,700,700);
- c21->SetHighLightColor(10); c21->Divide(3,3);
- c21->cd(1)->SetLeftMargin(0.15); c21->cd(1)->SetBottomMargin(0.15);
- c21->cd(1)->SetRightMargin(0.2); c21->cd(1)->SetLogy();
+ c19->SetHighLightColor(10); c19->Divide(3,3);
+ c19->cd(1)->SetLeftMargin(0.15); c19->cd(1)->SetBottomMargin(0.15);
+ c19->cd(1)->SetRightMargin(0.2); c19->cd(1)->SetLogy();
gHistSPDESDVx->Draw("col");
- c21->cd(2)->SetLeftMargin(0.15); c21->cd(2)->SetBottomMargin(0.15);
- c21->cd(2)->SetRightMargin(0.2); c21->cd(2)->SetLogy();
+ c19->cd(2)->SetLeftMargin(0.15); c19->cd(2)->SetBottomMargin(0.15);
+ c19->cd(2)->SetRightMargin(0.2); c19->cd(2)->SetLogy();
gHistSPDESDVy->Draw("col");
- c21->cd(3)->SetLeftMargin(0.15); c21->cd(3)->SetBottomMargin(0.15);
- c21->cd(3)->SetRightMargin(0.2); c21->cd(3)->SetLogy();
+ c19->cd(3)->SetLeftMargin(0.15); c19->cd(3)->SetBottomMargin(0.15);
+ c19->cd(3)->SetRightMargin(0.2); c19->cd(3)->SetLogy();
gHistSPDESDVz->Draw("col");
- c21->cd(4)->SetLeftMargin(0.15); c21->cd(4)->SetBottomMargin(0.15);
- c21->cd(4)->SetRightMargin(0.2); c21->cd(4)->SetLogy();
+ c19->cd(4)->SetLeftMargin(0.15); c19->cd(4)->SetBottomMargin(0.15);
+ c19->cd(4)->SetRightMargin(0.2); c19->cd(4)->SetLogy();
gHistSPDDiffVx->Draw();
- c21->cd(5)->SetLeftMargin(0.15); c21->cd(5)->SetBottomMargin(0.15);
- c21->cd(5)->SetRightMargin(0.2); c21->cd(5)->SetLogy();
+ c19->cd(5)->SetLeftMargin(0.15); c19->cd(5)->SetBottomMargin(0.15);
+ c19->cd(5)->SetRightMargin(0.2); c19->cd(5)->SetLogy();
gHistSPDDiffVy->Draw();
- c21->cd(6)->SetLeftMargin(0.15); c21->cd(6)->SetBottomMargin(0.15);
- c21->cd(6)->SetRightMargin(0.2); c21->cd(6)->SetLogy();
+ c19->cd(6)->SetLeftMargin(0.15); c19->cd(6)->SetBottomMargin(0.15);
+ c19->cd(6)->SetRightMargin(0.2); c19->cd(6)->SetLogy();
gHistSPDDiffVz->Draw();
- c21->cd(7)->SetLeftMargin(0.15); c21->cd(7)->SetBottomMargin(0.15);
- c21->cd(7)->SetRightMargin(0.2); c21->cd(7)->SetLogy();
+ c19->cd(7)->SetLeftMargin(0.15); c19->cd(7)->SetBottomMargin(0.15);
+ c19->cd(7)->SetRightMargin(0.2); c19->cd(7)->SetLogy();
gHistSPDResolutionVx->Draw();
- c21->cd(8)->SetLeftMargin(0.15); c21->cd(8)->SetBottomMargin(0.15);
- c21->cd(8)->SetRightMargin(0.2); c21->cd(8)->SetLogy();
+ c19->cd(8)->SetLeftMargin(0.15); c19->cd(8)->SetBottomMargin(0.15);
+ c19->cd(8)->SetRightMargin(0.2); c19->cd(8)->SetLogy();
gHistSPDResolutionVy->Draw();
- c21->cd(9)->SetLeftMargin(0.15); c21->cd(9)->SetBottomMargin(0.15);
- c21->cd(9)->SetRightMargin(0.2); c21->cd(9)->SetLogy();
+ c19->cd(9)->SetLeftMargin(0.15); c19->cd(9)->SetBottomMargin(0.15);
+ c19->cd(9)->SetRightMargin(0.2); c19->cd(9)->SetLogy();
gHistSPDResolutionVz->Draw();
//Tracks vertex
- TCanvas *c22 = new TCanvas("c22",
+ TCanvas *c20 = new TCanvas("c20",
"Tracks vertex",
- 350,50,700,700);
- c22->SetHighLightColor(10); c22->Divide(3,3);
- c22->cd(1)->SetLeftMargin(0.15); c22->cd(1)->SetBottomMargin(0.15);
- c22->cd(1)->SetRightMargin(0.2); c22->cd(1)->SetLogy();
+ 450,150,700,700);
+ c20->SetHighLightColor(10); c20->Divide(3,3);
+ c20->cd(1)->SetLeftMargin(0.15); c20->cd(1)->SetBottomMargin(0.15);
+ c20->cd(1)->SetRightMargin(0.2); c20->cd(1)->SetLogy();
gHistTracksESDVx->Draw("col");
- c22->cd(2)->SetLeftMargin(0.15); c22->cd(2)->SetBottomMargin(0.15);
- c22->cd(2)->SetRightMargin(0.2); c22->cd(2)->SetLogy();
+ c20->cd(2)->SetLeftMargin(0.15); c20->cd(2)->SetBottomMargin(0.15);
+ c20->cd(2)->SetRightMargin(0.2); c20->cd(2)->SetLogy();
gHistTracksESDVy->Draw("col");
- c22->cd(3)->SetLeftMargin(0.15); c22->cd(3)->SetBottomMargin(0.15);
- c22->cd(3)->SetRightMargin(0.2); c22->cd(3)->SetLogy();
+ c20->cd(3)->SetLeftMargin(0.15); c20->cd(3)->SetBottomMargin(0.15);
+ c20->cd(3)->SetRightMargin(0.2); c20->cd(3)->SetLogy();
gHistTracksESDVz->Draw("col");
- c22->cd(4)->SetLeftMargin(0.15); c22->cd(4)->SetBottomMargin(0.15);
- c22->cd(4)->SetRightMargin(0.2); c22->cd(4)->SetLogy();
+ c20->cd(4)->SetLeftMargin(0.15); c20->cd(4)->SetBottomMargin(0.15);
+ c20->cd(4)->SetRightMargin(0.2); c20->cd(4)->SetLogy();
gHistTracksDiffVx->Draw();
- c22->cd(5)->SetLeftMargin(0.15); c22->cd(5)->SetBottomMargin(0.15);
- c22->cd(5)->SetRightMargin(0.2); c22->cd(5)->SetLogy();
+ c20->cd(5)->SetLeftMargin(0.15); c20->cd(5)->SetBottomMargin(0.15);
+ c20->cd(5)->SetRightMargin(0.2); c20->cd(5)->SetLogy();
gHistTracksDiffVy->Draw();
- c22->cd(6)->SetLeftMargin(0.15); c22->cd(6)->SetBottomMargin(0.15);
- c22->cd(6)->SetRightMargin(0.2); c22->cd(6)->SetLogy();
+ c20->cd(6)->SetLeftMargin(0.15); c20->cd(6)->SetBottomMargin(0.15);
+ c20->cd(6)->SetRightMargin(0.2); c20->cd(6)->SetLogy();
gHistTracksDiffVz->Draw();
- c22->cd(7)->SetLeftMargin(0.15); c22->cd(7)->SetBottomMargin(0.15);
- c22->cd(7)->SetRightMargin(0.2); c22->cd(7)->SetLogy();
+ c20->cd(7)->SetLeftMargin(0.15); c20->cd(7)->SetBottomMargin(0.15);
+ c20->cd(7)->SetRightMargin(0.2); c20->cd(7)->SetLogy();
gHistTracksResolutionVx->Draw();
- c22->cd(8)->SetLeftMargin(0.15); c22->cd(8)->SetBottomMargin(0.15);
- c22->cd(8)->SetRightMargin(0.2); c22->cd(8)->SetLogy();
+ c20->cd(8)->SetLeftMargin(0.15); c20->cd(8)->SetBottomMargin(0.15);
+ c20->cd(8)->SetRightMargin(0.2); c20->cd(8)->SetLogy();
gHistTracksResolutionVy->Draw();
- c22->cd(9)->SetLeftMargin(0.15); c22->cd(9)->SetBottomMargin(0.15);
- c22->cd(9)->SetRightMargin(0.2); c22->cd(9)->SetLogy();
+ c20->cd(9)->SetLeftMargin(0.15); c20->cd(9)->SetBottomMargin(0.15);
+ c20->cd(9)->SetRightMargin(0.2); c20->cd(9)->SetLogy();
gHistTracksResolutionVz->Draw();
}
"Transportation",
"Unknown process"
};
+
+//________________________________________________//
+void drawKineQA(const char *filename) {
+ //Draws the QA plots for the kinematic variables for protons and antiprotons
+ gStyle->SetPalette(1,0);
+ gStyle->SetCanvasColor(41);
+ gStyle->SetFrameFillColor(10);
+
+ TFile *f = TFile::Open(filename);
+ TList *acceptedList = (TList *)f->Get("acceptedCutList");
+ TH3D *gHistEtaPhiNClustersPrimaryProtonsPass = (TH3D *)acceptedList->At(44);
+ TH3D *gHistEtaPhiNClustersSecondaryProtonsPass = (TH3D *)acceptedList->At(46);
+ TH3D *gHistEtaPhiNClustersPrimaryAntiProtonsPass = (TH3D *)acceptedList->At(45);
+ TH3D *gHistEtaPhiNClustersSecondaryAntiProtonsPass = (TH3D *)acceptedList->At(47);
+
+ TList *rejectedList = (TList *)f->Get("rejectedCutList");
+ TH3D *gHistEtaPhiNClustersPrimaryProtonsReject = (TH3D *)rejectedList->At(0);
+ gHistEtaPhiNClustersPrimaryProtonsPass->Add(gHistEtaPhiNClustersPrimaryProtonsReject);
+ TH3D *gHistEtaPhiNClustersSecondaryProtonsReject = (TH3D *)rejectedList->At(2);
+ gHistEtaPhiNClustersSecondaryProtonsPass->Add(gHistEtaPhiNClustersSecondaryProtonsReject);
+ TH3D *gHistEtaPhiNClustersPrimaryAntiProtonsReject = (TH3D *)rejectedList->At(1);
+ gHistEtaPhiNClustersPrimaryAntiProtonsPass->Add(gHistEtaPhiNClustersPrimaryAntiProtonsReject);
+ TH3D *gHistEtaPhiNClustersSecondaryAntiProtonsReject = (TH3D *)rejectedList->At(3);
+ gHistEtaPhiNClustersSecondaryAntiProtonsPass->Add(gHistEtaPhiNClustersSecondaryAntiProtonsReject);
+
+ //eta-phi
+ TCanvas *c21 = new TCanvas("c21",
+ "#eta-#phi",
+ 0,0,600,600);
+ c21->SetHighLightColor(10); c21->Divide(2,2);
+ c21->cd(1)->SetLeftMargin(0.15); c21->cd(1)->SetBottomMargin(0.15);
+ c21->cd(1)->SetRightMargin(0.2);
+ ((TH2D *)(gHistEtaPhiNClustersPrimaryProtonsPass->Project3D("yx")))->SetStats(kFALSE);
+ ((TH2D *)(gHistEtaPhiNClustersPrimaryProtonsPass->Project3D("yx")))->DrawCopy("col");
+ c21->cd(2)->SetLeftMargin(0.15); c21->cd(2)->SetBottomMargin(0.15);
+ c21->cd(2)->SetRightMargin(0.2);
+ ((TH2D *)(gHistEtaPhiNClustersSecondaryProtonsPass->Project3D("yx")))->SetStats(kFALSE);
+ ((TH2D *)(gHistEtaPhiNClustersSecondaryProtonsPass->Project3D("yx")))->DrawCopy("col");
+ c21->cd(3)->SetLeftMargin(0.15); c21->cd(3)->SetBottomMargin(0.15);
+ c21->cd(3)->SetRightMargin(0.2);
+ ((TH2D *)(gHistEtaPhiNClustersPrimaryAntiProtonsPass->Project3D("yx")))->SetStats(kFALSE);
+ ((TH2D *)(gHistEtaPhiNClustersPrimaryAntiProtonsPass->Project3D("yx")))->DrawCopy("col");
+ c21->cd(4)->SetLeftMargin(0.15); c21->cd(4)->SetBottomMargin(0.15);
+ c21->cd(4)->SetRightMargin(0.2);
+ ((TH2D *)(gHistEtaPhiNClustersSecondaryAntiProtonsPass->Project3D("yx")))->SetStats(kFALSE);
+ ((TH2D *)(gHistEtaPhiNClustersSecondaryAntiProtonsPass->Project3D("yx")))->DrawCopy("col");
+
+ //eta-Nclusters
+ TCanvas *c22 = new TCanvas("c22",
+ "#eta-N_{clusters}",
+ 100,100,600,600);
+ c22->SetHighLightColor(10); c22->Divide(2,2);
+ c22->cd(1)->SetLeftMargin(0.15); c22->cd(1)->SetBottomMargin(0.15);
+ c22->cd(1)->SetRightMargin(0.2);
+ ((TH2D *)(gHistEtaPhiNClustersPrimaryProtonsPass->Project3D("zx")))->SetStats(kFALSE);
+ ((TH2D *)(gHistEtaPhiNClustersPrimaryProtonsPass->Project3D("zx")))->DrawCopy("col");
+ c22->cd(2)->SetLeftMargin(0.15); c22->cd(2)->SetBottomMargin(0.15);
+ c22->cd(2)->SetRightMargin(0.2);
+ ((TH2D *)(gHistEtaPhiNClustersSecondaryProtonsPass->Project3D("zx")))->SetStats(kFALSE);
+ ((TH2D *)(gHistEtaPhiNClustersSecondaryProtonsPass->Project3D("zx")))->DrawCopy("col");
+ c22->cd(3)->SetLeftMargin(0.15); c22->cd(3)->SetBottomMargin(0.15);
+ c22->cd(3)->SetRightMargin(0.2);
+ ((TH2D *)(gHistEtaPhiNClustersPrimaryAntiProtonsPass->Project3D("zx")))->SetStats(kFALSE);
+ ((TH2D *)(gHistEtaPhiNClustersPrimaryAntiProtonsPass->Project3D("zx")))->DrawCopy("col");
+ c22->cd(4)->SetLeftMargin(0.15); c22->cd(4)->SetBottomMargin(0.15);
+ c22->cd(4)->SetRightMargin(0.2);
+ ((TH2D *)(gHistEtaPhiNClustersSecondaryAntiProtonsPass->Project3D("zx")))->SetStats(kFALSE);
+ ((TH2D *)(gHistEtaPhiNClustersSecondaryAntiProtonsPass->Project3D("zx")))->DrawCopy("col");
+
+ //phi-Nclusters
+ TCanvas *c23 = new TCanvas("c23",
+ "#phi-N_{clusters}",
+ 200,200,600,600);
+ c23->SetHighLightColor(10); c23->Divide(2,2);
+ c23->cd(1)->SetLeftMargin(0.15); c23->cd(1)->SetBottomMargin(0.15);
+ c23->cd(1)->SetRightMargin(0.2);
+ ((TH2D *)(gHistEtaPhiNClustersPrimaryProtonsPass->Project3D("zy")))->SetStats(kFALSE);
+ ((TH2D *)(gHistEtaPhiNClustersPrimaryProtonsPass->Project3D("zy")))->DrawCopy("col");
+ c23->cd(2)->SetLeftMargin(0.15); c23->cd(2)->SetBottomMargin(0.15);
+ c23->cd(2)->SetRightMargin(0.2);
+ ((TH2D *)(gHistEtaPhiNClustersSecondaryProtonsPass->Project3D("zy")))->SetStats(kFALSE);
+ ((TH2D *)(gHistEtaPhiNClustersSecondaryProtonsPass->Project3D("zy")))->DrawCopy("col");
+ c23->cd(3)->SetLeftMargin(0.15); c23->cd(3)->SetBottomMargin(0.15);
+ c23->cd(3)->SetRightMargin(0.2);
+ ((TH2D *)(gHistEtaPhiNClustersPrimaryAntiProtonsPass->Project3D("zy")))->SetStats(kFALSE);
+ ((TH2D *)(gHistEtaPhiNClustersPrimaryAntiProtonsPass->Project3D("zy")))->DrawCopy("col");
+ c23->cd(4)->SetLeftMargin(0.15); c23->cd(4)->SetBottomMargin(0.15);
+ c23->cd(4)->SetRightMargin(0.2);
+ ((TH2D *)(gHistEtaPhiNClustersSecondaryAntiProtonsPass->Project3D("zy")))->SetStats(kFALSE);
+ ((TH2D *)(gHistEtaPhiNClustersSecondaryAntiProtonsPass->Project3D("zy")))->DrawCopy("col");
+
+ f->Close();
+}
//runProof(200000,"/COMMON/COMMON/LHC08c11_10TeV_0.5T",analysisType);
//runInteractive("wn.xml",analysisType);
- //runBatch("wn.xml",analysisType);
- runLocal(analysisType);
+ runBatch("wn.xml",analysisType);
+ //runLocal(analysisType);
timer.Stop();
timer.Print();
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename3.Data());
- AliAnalysisDataContainer *coutput5 = mgr->CreateContainer("acceptedDCAList",
+ AliAnalysisDataContainer *coutput5 = mgr->CreateContainer("rejectedCutList",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename3.Data());
- AliAnalysisDataContainer *coutput6 = mgr->CreateContainer("efficiencyList",
+ AliAnalysisDataContainer *coutput6 = mgr->CreateContainer("acceptedDCAList",
+ TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ outputFilename3.Data());
+ AliAnalysisDataContainer *coutput7 = mgr->CreateContainer("efficiencyList",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename4.Data());
- AliAnalysisDataContainer *coutput7 = mgr->CreateContainer("vertexList",
+ AliAnalysisDataContainer *coutput8 = mgr->CreateContainer("vertexList",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename5.Data());
mgr->ConnectOutput(taskProtonsQA,4,coutput5);
mgr->ConnectOutput(taskProtonsQA,5,coutput6);
mgr->ConnectOutput(taskProtonsQA,6,coutput7);
+ mgr->ConnectOutput(taskProtonsQA,7,coutput8);
if (!mgr->InitAnalysis()) return;
mgr->PrintStatus();
mgr->StartAnalysis("local",chain);
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename3.Data());
- AliAnalysisDataContainer *coutput5 = mgr->CreateContainer("acceptedDCAList",
+ AliAnalysisDataContainer *coutput5 = mgr->CreateContainer("rejectedCutList",
+ TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ outputFilename3.Data());
+ AliAnalysisDataContainer *coutput6 = mgr->CreateContainer("acceptedDCAList",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename3.Data());
- AliAnalysisDataContainer *coutput6 = mgr->CreateContainer("efficiencyList",
+ AliAnalysisDataContainer *coutput7 = mgr->CreateContainer("efficiencyList",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename4.Data());
- AliAnalysisDataContainer *coutput7 = mgr->CreateContainer("vertexList",
+ AliAnalysisDataContainer *coutput8 = mgr->CreateContainer("vertexList",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename5.Data());
mgr->ConnectOutput(taskProtonsQA,4,coutput5);
mgr->ConnectOutput(taskProtonsQA,5,coutput6);
mgr->ConnectOutput(taskProtonsQA,6,coutput7);
+ mgr->ConnectOutput(taskProtonsQA,7,coutput8);
if (!mgr->InitAnalysis()) return;
mgr->PrintStatus();
mgr->StartAnalysis("local",chain);
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename3.Data());
- AliAnalysisDataContainer *coutput5 = mgr->CreateContainer("acceptedDCAList",
+ AliAnalysisDataContainer *coutput5 = mgr->CreateContainer("rejectedCutList",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename3.Data());
- AliAnalysisDataContainer *coutput6 = mgr->CreateContainer("efficiencyList",
+ AliAnalysisDataContainer *coutput6 = mgr->CreateContainer("acceptedDCAList",
+ TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ outputFilename3.Data());
+ AliAnalysisDataContainer *coutput7 = mgr->CreateContainer("efficiencyList",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename4.Data());
- AliAnalysisDataContainer *coutput7 = mgr->CreateContainer("vertexList",
+ AliAnalysisDataContainer *coutput8 = mgr->CreateContainer("vertexList",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename5.Data());
mgr->ConnectOutput(taskProtonsQA,4,coutput5);
mgr->ConnectOutput(taskProtonsQA,5,coutput6);
mgr->ConnectOutput(taskProtonsQA,6,coutput7);
+ mgr->ConnectOutput(taskProtonsQA,7,coutput8);
if (!mgr->InitAnalysis()) return;
mgr->PrintStatus();
mgr->StartAnalysis("local",chain);
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename3.Data());
- AliAnalysisDataContainer *coutput5 = mgr->CreateContainer("acceptedDCAList",
+ AliAnalysisDataContainer *coutput5 = mgr->CreateContainer("rejectedCutList",
+ TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ outputFilename3.Data());
+ AliAnalysisDataContainer *coutput6 = mgr->CreateContainer("acceptedDCAList",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename3.Data());
- AliAnalysisDataContainer *coutput6 = mgr->CreateContainer("efficiencyList",
+ AliAnalysisDataContainer *coutput7 = mgr->CreateContainer("efficiencyList",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename4.Data());
- AliAnalysisDataContainer *coutput7 = mgr->CreateContainer("vertexList",
+ AliAnalysisDataContainer *coutput8 = mgr->CreateContainer("vertexList",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename5.Data());
mgr->ConnectOutput(taskProtonsQA,4,coutput5);
mgr->ConnectOutput(taskProtonsQA,5,coutput6);
mgr->ConnectOutput(taskProtonsQA,6,coutput7);
+ mgr->ConnectOutput(taskProtonsQA,7,coutput8);
if (!mgr->InitAnalysis()) return;
mgr->PrintStatus();