Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:11:19

0001 float ytitleoffset = 1.6;
0002 
0003 void quickdraw_MBDcentrality()
0004 {
0005     std::string plotdir = "./quickcheck_MBDcentrality";
0006     system(Form("mkdir -p %s", plotdir.c_str()));
0007 
0008     // Set a timer to measure the time it takes to run the analysis
0009     TStopwatch timer;
0010     timer.Start();
0011 
0012     ROOT::EnableImplicitMT();
0013     ROOT::RDataFrame df("EventTree", "/sphenix/tg/tg01/hf/hjheng/ppg02/dst/Data_Run54280_20250210_ProdA2024/ntuple_0*.root");
0014 
0015     // auto count_all = df.Count();
0016     // std::cout << "Number of entries in the dataframe: " << *count_all << std::endl;
0017 
0018     // auto df_redefine = df.Redefine("MBD_centrality", "MBD_centrality * 100");
0019     auto df_isMB = df.Filter([](bool is_min_bias) { return is_min_bias; }, {"is_min_bias"});
0020     auto df_isMB_Trigbit10 = df.Filter([](bool is_min_bias, const std::vector<int> &firedTriggers) { return is_min_bias && std::find(firedTriggers.begin(), firedTriggers.end(), 10) != firedTriggers.end(); }, {"is_min_bias", "firedTriggers"}).Define("NOuterClus", "static_cast<int>(NClus - NClus_Layer1)");
0021     auto df_isMB_Trigbit12 = df.Filter([](bool is_min_bias, const std::vector<int> &firedTriggers) { return is_min_bias && std::find(firedTriggers.begin(), firedTriggers.end(), 12) != firedTriggers.end(); }, {"is_min_bias", "firedTriggers"});
0022     auto df_isMB_Trigbit13 = df.Filter([](bool is_min_bias, const std::vector<int> &firedTriggers) { return is_min_bias && std::find(firedTriggers.begin(), firedTriggers.end(), 13) != firedTriggers.end(); }, {"is_min_bias", "firedTriggers"});
0023 
0024     // auto count_isMB_Trigbit10 = df_isMB_Trigbit10.Count();
0025     // std::cout << "Number of entries in the dataframe with is_min_bias and Trigger bit 10: " << *count_isMB_Trigbit10 << std::endl;
0026 
0027     // histogram for MBD centrality without cut
0028     auto hM_MBDcentrality_wocut = df.Histo1D({"hM_MBDcentrality_wocut", "hM_MBDcentrality_wocut", 100, -0.5, 99.5}, "MBD_centrality");
0029     auto hM_MBDcentrality_isMinBias = df_isMB.Histo1D({"hM_MBDcentrality_isMinBias", "hM_MBDcentrality_isMinBias", 100, -0.5, 99.5}, "MBD_centrality");
0030     auto hM_MBDcentrality_Trigbit10 = df_isMB_Trigbit10.Histo1D({"hM_MBDcentrality_Trigbit10", "hM_MBDcentrality_Trigbit10", 100, -0.5, 99.5}, "MBD_centrality");
0031     auto hM_MBDcentrality_Trigbit12 = df_isMB_Trigbit12.Histo1D({"hM_MBDcentrality_Trigbit12", "hM_MBDcentrality_Trigbit12", 100, -0.5, 99.5}, "MBD_centrality");
0032     auto hM_MBDcentrality_Trigbit13 = df_isMB_Trigbit13.Histo1D({"hM_MBDcentrality_Trigbit13", "hM_MBDcentrality_Trigbit13", 100, -0.5, 99.5}, "MBD_centrality");
0033     auto hM_NInnerClus_MBDChargeSum_Trig10_IsMB = df_isMB_Trigbit10.Histo2D({"hM_NInnerClus_MBDChargeSum_Trig10_IsMB", "hM_NInnerClus_MBDChargeSum_Trig10_IsMB", 250, 0, 5000, 150, 0, 3000}, "NClus_Layer1", "MBD_charge_sum");
0034     auto hM_NOuterClus_MBDChargeSum_Trig10_IsMB = df_isMB_Trigbit10.Histo2D({"hM_NOuterClus_MBDChargeSum_Trig10_IsMB", "hM_NOuterClus_MBDChargeSum_Trig10_IsMB", 250, 0, 5000, 150, 0, 3000}, "NOuterClus", "MBD_charge_sum");
0035     auto hM_MBDcentrality_MBDZvtx_Trigbit10 = df_isMB_Trigbit10.Histo2D({"hM_MBDcentrality_MBDZvtx_Trigbit10", "hM_MBDcentrality_MBDZvtx_Trigbit10;MBD Z vertex [cm];Centrality [%]", 120, -30, 30, 101, -0.5, 100.5}, "MBD_z_vtx", "MBD_centrality");
0036 
0037     // Draw the histograms
0038     TCanvas *c = new TCanvas("canvas", "canvas", 800, 600);
0039     c->cd();
0040     gPad->SetTopMargin(0.25);
0041     hM_MBDcentrality_wocut->GetXaxis()->SetTitle("Centrality percentile");
0042     hM_MBDcentrality_wocut->GetYaxis()->SetTitle("Counts");
0043     hM_MBDcentrality_wocut->GetYaxis()->SetTitleOffset(ytitleoffset);
0044     hM_MBDcentrality_wocut->GetYaxis()->SetRangeUser(0, 1.1 * hM_MBDcentrality_wocut->GetMaximum());
0045     hM_MBDcentrality_wocut->SetLineColor(kBlack);
0046     hM_MBDcentrality_wocut->SetLineWidth(2);
0047     hM_MBDcentrality_isMinBias->SetLineColor(kTBriBlue);
0048     hM_MBDcentrality_isMinBias->SetLineWidth(2);
0049     hM_MBDcentrality_Trigbit10->SetLineColor(kTBriGreen);
0050     hM_MBDcentrality_Trigbit10->SetLineWidth(2);
0051     hM_MBDcentrality_Trigbit10->SetLineStyle(2);
0052     hM_MBDcentrality_Trigbit12->SetLineColor(kTBriYellow);
0053     hM_MBDcentrality_Trigbit12->SetLineWidth(2);
0054     hM_MBDcentrality_Trigbit13->SetLineColor(kTBriRed);
0055     hM_MBDcentrality_Trigbit13->SetLineWidth(2);
0056     hM_MBDcentrality_wocut->Draw("hist");
0057     hM_MBDcentrality_isMinBias->Draw("hist same");
0058     hM_MBDcentrality_Trigbit10->Draw("hist same");
0059     // hM_MBDcentrality_Trigbit12->Draw("hist same");
0060     // hM_MBDcentrality_Trigbit13->Draw("hist same");
0061     hM_MBDcentrality_wocut->Draw("hist same");
0062     c->RedrawAxis();
0063     TLegend *l = new TLegend(gPad->GetLeftMargin(), 1 - gPad->GetTopMargin() + 0.05, 1 - gPad->GetRightMargin() - 0.45, 0.98);
0064     l->SetNColumns(1);
0065     l->AddEntry(hM_MBDcentrality_wocut.GetPtr(), "Without cut", "l");
0066     l->AddEntry(hM_MBDcentrality_isMinBias.GetPtr(), "Is Min. Bias", "l");
0067     l->AddEntry(hM_MBDcentrality_Trigbit10.GetPtr(), "Is MB & Trigger bit 10 (MBD N&S#geq2)", "l");
0068     // l->AddEntry(hM_MBDcentrality_Trigbit12.GetPtr(), "Is MB & Trigger bit 12 (MBD N&S#geq2, |vtx|<10cm)", "l");
0069     // l->AddEntry(hM_MBDcentrality_Trigbit13.GetPtr(), "Is MB & Trigger bit 13 (MBD N&S#geq2, |vtx|<30cm)", "l");
0070     l->SetTextSize(0.035);
0071     l->SetBorderSize(0);
0072     l->SetFillStyle(0);
0073     l->Draw();
0074     c->SaveAs(Form("%s/MBDcentrality_selections.pdf", plotdir.c_str()));
0075     c->SaveAs(Form("%s/MBDcentrality_selections.png", plotdir.c_str()));
0076 
0077     c->Clear();
0078     c->cd();
0079     gPad->SetTopMargin(0.06);
0080     gPad->SetRightMargin(0.15);
0081     hM_MBDcentrality_MBDZvtx_Trigbit10->GetXaxis()->SetTitle("MBD Z vertex [cm]");
0082     hM_MBDcentrality_MBDZvtx_Trigbit10->GetYaxis()->SetTitle("Centrality [%]");
0083     // hM_MBDcentrality_MBDZvtx_Trigbit10->GetYaxis()->SetTitleOffset(ytitleoffset);
0084     hM_MBDcentrality_MBDZvtx_Trigbit10->Draw("colz");
0085     c->SaveAs(Form("%s/MBDcentrality_vs_MBDZvtx_Trigbit10.pdf", plotdir.c_str()));
0086     c->SaveAs(Form("%s/MBDcentrality_vs_MBDZvtx_Trigbit10.png", plotdir.c_str()));
0087 
0088 
0089     // TCanvas *c2 = new TCanvas("canvas2", "canvas2", 800, 700);
0090     // c2->cd();
0091     // c2->SetLogz();
0092     // gPad->SetRightMargin(0.15);
0093     // gPad->SetTopMargin(0.07);
0094     // hM_NInnerClus_MBDChargeSum_Trig10_IsMB->GetXaxis()->SetTitle("Number of inner clusters");
0095     // hM_NInnerClus_MBDChargeSum_Trig10_IsMB->GetYaxis()->SetTitle("MBD Charge Sum");
0096     // hM_NInnerClus_MBDChargeSum_Trig10_IsMB->GetYaxis()->SetTitleOffset(ytitleoffset);
0097     // // only maximal 3 digits for the axis labels
0098     // TGaxis::SetMaxDigits(3);
0099     // hM_NInnerClus_MBDChargeSum_Trig10_IsMB->Draw("colz");
0100     // // Text for selection
0101     // TLatex *t = new TLatex();
0102     // t->SetTextSize(0.035);
0103     // t->DrawLatexNDC(0.2, 0.85, "Is MinBias & Trigger bit 10 (MBD N&S#geq2)");
0104     // c2->SaveAs(Form("%s/NInnerClus_vs_MBDChargeSum.pdf", plotdir.c_str()));
0105     // c2->SaveAs(Form("%s/NInnerClus_vs_MBDChargeSum.png", plotdir.c_str()));
0106 
0107     // c2->Clear();
0108     // c2->cd();
0109     // c2->SetLogz();
0110     // gPad->SetRightMargin(0.15);
0111     // gPad->SetTopMargin(0.07);
0112     // hM_NOuterClus_MBDChargeSum_Trig10_IsMB->GetXaxis()->SetTitle("Number of outer clusters");
0113     // hM_NOuterClus_MBDChargeSum_Trig10_IsMB->GetYaxis()->SetTitle("MBD Charge Sum");
0114     // hM_NOuterClus_MBDChargeSum_Trig10_IsMB->GetYaxis()->SetTitleOffset(ytitleoffset);
0115     // // only maximal 3 digits for the axis labels
0116     // TGaxis::SetMaxDigits(3);
0117     // hM_NOuterClus_MBDChargeSum_Trig10_IsMB->Draw("colz");
0118     // t->DrawLatexNDC(0.2, 0.85, "Is MinBias & Trigger bit 10 (MBD N&S#geq2)");
0119     // c2->SaveAs(Form("%sNOuterClus_vs_MBDChargeSum.pdf", plotdir.c_str()));
0120     // c2->SaveAs(Form("%sNOuterClus_vs_MBDChargeSum.png", plotdir.c_str()));
0121 
0122     timer.Stop();
0123     timer.Print();
0124 }