File indexing completed on 2025-08-05 08:12:06
0001 #include <vector>
0002 int eicsmear_dvmp_plot()
0003 {
0004
0005
0006
0007
0008
0009 gSystem->Load("libeicsmear");
0010 gROOT->LoadMacro("/sphenix/user/gregtom3/SBU/research/macros/macros/sPHENIXStyle/sPhenixStyle.C");
0011 SetsPhenixStyle();
0012
0013
0014 TFile *input = new TFile("/sphenix/user/gregtom3/data/Fall2018/LOI_smear_studies/DVMP.root","READ");
0015
0016
0017 TH1F *h1_invariant_mass = (TH1F*)input->Get("h1_invariant_mass");
0018 TH1F *h1_invariant_mass_comb = (TH1F*)input->Get("h1_invariant_mass_comb");
0019 TH1F *h1_invariant_mass_alone = (TH1F*)input->Get("h1_invariant_mass_alone");
0020
0021
0022 TCanvas *c_inv = new TCanvas("c_inv","",700,500);
0023 h1_invariant_mass_comb->SetLineColor(kGray);
0024 h1_invariant_mass_comb->SetFillColor(kGray);
0025 h1_invariant_mass->GetXaxis()->SetTitle("e^{-}e^{+} Invariant Mass [GeV/c^{2}]");
0026 h1_invariant_mass->GetYaxis()->SetTitle("Entries");
0027
0028
0029 h1_invariant_mass->Scale(10/1.55);
0030 h1_invariant_mass_comb->Scale(10/1.55);
0031 h1_invariant_mass_alone->Scale(10/1.55);
0032
0033
0034
0035
0036
0037 auto legend = new TLegend(0.6,0.65,0.8,0.75);
0038 legend->SetTextSize(0.03);
0039 legend->AddEntry(h1_invariant_mass,"All e^{+}e^{-} pairs","l");
0040 legend->AddEntry(h1_invariant_mass_comb,"Combinatorial background","l");
0041
0042
0043
0044
0045 legend->Draw("same");
0046 gPad->SetLogy();
0047 gPad->RedrawAxis();
0048 c_inv->SaveAs("inv_mass_poly.eps");
0049
0050 TCanvas *c_sing = new TCanvas("c_sing","",700,500);
0051 double x[100]; double y[100]; double ex[100]; double ey[100];
0052 for(int entry = 0; entry<100; entry++)
0053 {
0054 x[entry] = h1_invariant_mass->GetXaxis()->GetBinCenter(entry);
0055 if(entry==0)
0056 y[entry]=h1_invariant_mass->GetBinContent(1);
0057 else
0058 y[entry] = h1_invariant_mass->GetBinContent(entry);
0059 ey[entry] = sqrt(h1_invariant_mass->GetBinContent(entry));
0060 ex[entry] = 0;
0061
0062 }
0063
0064 auto gr = new TGraph(100,x,y);
0065 auto gr_error = new TGraphErrors(100,x,y,ex,ey);
0066 gr_error->SetMarkerSize(1);
0067 gr_error->SetMarkerColor(kBlack);
0068 gr->SetMarkerSize(.5);
0069 gr->SetMarkerColor(kBlue);
0070
0071 gr->Draw("AP");
0072
0073 gr->GetXaxis()->SetTitle("e^{+}e^{-} Invariant Mass [GeV/c^{2}]");
0074 gr->GetYaxis()->SetTitle("Entries");
0075
0076 auto th2 = new TLatex(3.16,38000,"Luminosity 10 fb^{-1}");
0077 th2->SetTextSize(0.04);
0078 th2->Draw("same");
0079 h1_invariant_mass_comb->Draw("same");
0080 c_sing->SaveAs("inv_mass_sing.eps");
0081
0082 TCanvas *c_nils = new TCanvas("c_nils","",700,500);
0083
0084 h1_invariant_mass_alone->SetMarkerColor(kWhite);
0085 h1_invariant_mass_alone->SetLineColor(kWhite);
0086 gr_error->GetXaxis()->SetRangeUser(2.95,3.25);
0087 gr_error->GetXaxis()->SetTitle("e^{+}e^{-} Invariant Mass [GeV/c^{2}]");
0088 gr_error->GetYaxis()->SetTitle("Entries");
0089 gr_error->GetYaxis()->SetNdivisions(505);
0090 gr_error->Draw("aP");
0091
0092
0093
0094
0095
0096
0097
0098
0099 using namespace RooFit;
0100
0101
0102
0103 double hmin = 3.075;
0104 double hmax = 3.125;
0105
0106 RooRealVar xx("xx","e^{+}e^{-} Invariant Mass [GeV/c^{2}]",hmin,hmax);
0107 RooDataHist dh("dh","Entries",xx,h1_invariant_mass);
0108 RooPlot* frame = xx.frame("Z mass");
0109
0110 h1_invariant_mass->GetYaxis()->SetNdivisions(505);
0111
0112
0113
0114
0115 RooRealVar mean("mean","mean",3.096, 3, 1200.0);
0116 RooRealVar width("width","width",0.0926, 0.0900, 0.1);
0117 RooRealVar sigma("sigma","sigma",0.02, 0.0, 100.0);
0118 RooRealVar alpha("alpha","alpha",0.02, -1000.0, 1000.0);
0119 RooRealVar n("n","n",3, -5, 5);
0120 RooGaussian gauss("gauss","gauss",xx,mean,sigma);
0121
0122
0123
0124
0125
0126 RooFitResult* filters = gauss.fitTo(dh,"qr");
0127
0128
0129 frame->GetYaxis()->SetTitle("Entries");
0130 frame->GetYaxis()->SetNdivisions(505);
0131
0132
0133 TF1 *gfit = new TF1("Gaussian","gaus",hmin,hmax);
0134 h1_invariant_mass->Fit("Gaussian","RQ0");
0135 gfit->SetLineColor(kBlue);
0136 gfit->Draw("same");
0137
0138
0139
0140 dh.plotOn(frame,MarkerColor(4),MarkerSize(1),MarkerStyle(20));
0141
0142
0143 frame->Draw("same");
0144 auto legend = new TLegend(0.2,0.79,0.4,0.89);
0145 legend->SetTextSize(0.04);
0146 legend->AddEntry(h1_invariant_mass,"All e^{+}e^{-} pairs","l");
0147 legend->AddEntry(gr,"Bin points","p");
0148 legend->AddEntry(gfit,"Fitted Gaussian","l");
0149
0150
0151
0152 auto th1 = new TLatex(3.14,130000,"Luminosity 10 fb^{-1}");
0153 th1->SetTextSize(0.04);
0154 th1->Draw("same");
0155
0156 auto th3 = new TLatex(3.14,150000,"18x275 e+p");
0157 th3->SetTextSize(0.04);
0158 th3->Draw("same");
0159
0160
0161 auto th4 = new TLatex(3.14,140000,"DVMP Sartre");
0162 th4->SetTextSize(0.04);
0163 th4->Draw("same");
0164
0165 auto th5 = new TLatex(3.14,160000,"#bf{#it{sPHENIX}} Simulation");
0166 th5->SetTextSize(0.04);
0167 th5->Draw("same");
0168
0169
0170
0171 c_nils->SaveAs("dvmp_gaussian.eps");
0172
0173
0174 return 0;
0175 }
0176
0177 Double_t mybw(Double_t* x, Double_t* par)
0178 {
0179 Double_t arg1 = 14.0/22.0;
0180 Double_t arg2 = par[1]*par[1]*par[2]*par[2];
0181 Double_t arg3 = ((x[0]*x[0]) - (par[2]*par[2]))*((x[0]*x[0]) - (par[2]*par[2]));
0182 Double_t arg4 = x[0]*x[0]*x[0]*x[0]*((par[1]*par[1])/(par[2]*par[2]));
0183 return par[0]*arg1*arg2/(arg3 + arg4);
0184 }