// ----------------------------------------------------------------------------- // ----- pl_over_MCEvent.C ----- // ----- ----- // ----- created by C. Simon on 2018-10-08 ----- // ----- ----- // ----------------------------------------------------------------------------- Double_t fun_pty_tantheta(Double_t* x, Double_t* par); void pl_over_MCEvent(Double_t dTyMean = 0.11) { gStyle->SetPalette(1); gStyle->SetOptStat(kTRUE); gStyle->SetOptFit(kTRUE); gStyle->SetPaintTextFormat(".2f"); gROOT->cd(); gROOT->SetDirLevel(1); TH1* h1(NULL); TH2* h2(NULL); TEfficiency* heff(NULL); TF1* f1(NULL); TString hname; TCanvas* can = new TCanvas("can", "MC event overview", 0, 0, 1000, 800); can->Divide(4, 3); can->cd(1); hname = "hNMergedMCEvents"; h1 = dynamic_cast(gROOT->FindObjectAny(hname)); if(h1) { gPad->SetLogy(); h1->Draw(); } else { cout << hname << " not found" << endl; } can->cd(2); hname = "hAccTrackMul"; h1 = dynamic_cast(gROOT->FindObjectAny(hname)); if(h1) { gPad->SetLogy(); h1->Draw(); } else { cout << hname << " not found" << endl; } can->cd(3); hname = "hAccRefTrackMul"; h1 = dynamic_cast(gROOT->FindObjectAny(hname)); if(h1) { gPad->SetLogy(); h1->Draw(); } else { cout << hname << " not found" << endl; } can->cd(4); hname = "hAccPrimTrackMul"; h1 = dynamic_cast(gROOT->FindObjectAny(hname)); if(h1) { gPad->SetLogy(); h1->Draw(); } else { cout << hname << " not found" << endl; } can->cd(5); hname = "hAccTrackPointMul"; h1 = dynamic_cast(gROOT->FindObjectAny(hname)); if(h1) { gPad->SetLogy(); h1->Draw(); } else { cout << hname << " not found" << endl; } can->cd(6); hname = "hAccRefTrackPointMul"; h1 = dynamic_cast(gROOT->FindObjectAny(hname)); if(h1) { gPad->SetLogy(); h1->Draw(); } else { cout << hname << " not found" << endl; } can->cd(7); hname = "hAccRndmTrackPointMul"; h1 = dynamic_cast(gROOT->FindObjectAny(hname)); if(h1) { gPad->SetLogy(); h1->Draw(); } else { cout << hname << " not found" << endl; } can->cd(8); hname = "hAccRefTrackMulCentrality"; h2 = dynamic_cast(gROOT->FindObjectAny(hname)); if(h2) { gPad->SetLogz(); h2->Draw("colz"); h2->ProfileX()->Draw("same"); } else { cout << hname << " not found" << endl; } can->cd(9); hname = "hAccRefTracksProcSpec"; h2 = dynamic_cast(gROOT->FindObjectAny(hname)); if(h2) { h2->GetXaxis()->SetLabelSize(0.08); h2->GetYaxis()->SetLabelSize(0.09); h2->SetMarkerSize(2); h2->Draw("col text"); } else { cout << hname << " not found" << endl; } f1 = new TF1("fun_pty_mean", fun_pty_tantheta, 0., 4., 1); f1->SetParameter(0, dTyMean); f1->SetLineWidth(2); f1->SetLineColor(kBlue); can->cd(10); hname = "hAccRefTrackAcceptance"; h2 = dynamic_cast(gROOT->FindObjectAny(hname)); if(h2) { gPad->SetLogz(); h2->Draw("colz"); f1->Draw("same"); } else { cout << hname << " not found" << endl; } can->cd(11); hname = "hAccRefTrackAcceptanceEfficiency"; heff = dynamic_cast(gROOT->FindObjectAny(hname)); if(heff) { gPad->SetLogz(); heff->Draw("colz"); f1->Draw("same"); } else { cout << hname << " not found" << endl; } can->cd(12); hname = "hAccRefTrackAcceptancePurity"; heff = dynamic_cast(gROOT->FindObjectAny(hname)); if(heff) { gPad->SetLogz(); heff->Draw("colz"); f1->Draw("same"); } else { cout << hname << " not found" << endl; } can->SaveAs("pl_over_MCEvent.pdf"); } Double_t fun_pty_tantheta(Double_t* x, Double_t* par) { Double_t dRadicand = 1. - TMath::SinH(x[0])*TMath::SinH(x[0])*TMath::Power(par[0], 2.); if(0 < dRadicand) { return TMath::SinH(x[0])*par[0]/TMath::Sqrt(dRadicand); } else { return 2.6; } }