//void ErrorsFromProfile1() { // TFile *hfile = new TFile("fvtx_mc_eval.root"); //TCanvas *c1 = new TCanvas("c1","title",400,400); //c1->SetGridy(); m1=new TH1F("m1","Phi resolution vs. Momentum (sigma)",23,0,11); e1=new TProfile("e1","Phi resolution vs. Momentum",23,0,11,"s"); p1=new TH1F("p1","Momentum",100, 0.0, 20.0); r070 = new TH1F("r070","phi resolution p=0-1", 50, -0.2, 0.2); r140 = new TH1F("r140","phi resolution p=1-2", 50, -0.2, 0.2); r300 = new TH1F("r300","phi resolution p=2-4", 50, -0.2, 0.2); r500 = new TH1F("r500","phi resolution p=4-8", 50, -0.2, 0.2); r100 = new TH1F("r100","phi resolution p=8-up", 50, -0.2, 0.2); TCut c070="sqrt(px0mc**2+py0mc**2+pz0mc**2)>0.0 && sqrt(px0mc**2+py0mc**2+pz0mc**2)<=1.0 "; TCut c140="sqrt(px0mc**2+py0mc**2+pz0mc**2)>1.4 && sqrt(px0mc**2+py0mc**2+pz0mc**2)<=2.0 "; TCut c300="sqrt(px0mc**2+py0mc**2+pz0mc**2)>2.0 && sqrt(px0mc**2+py0mc**2+pz0mc**2)<=4.0 "; TCut c500="sqrt(px0mc**2+py0mc**2+pz0mc**2)>4.0 && sqrt(px0mc**2+py0mc**2+pz0mc**2)<=8.0 "; TCut c100="sqrt(px0mc**2+py0mc**2+pz0mc**2)>8.0 && sqrt(px0mc**2+py0mc**2+pz0mc**2)<=1000.0 "; TCut phires="abs(y0reco*(px0mc/sqrt(px0mc**2+py0mc**2))-x0reco*(py0mc/sqrt(px0mc**2+py0mc**2)))<.5"; TCut zcut = "abs(x0reco)>0&&abs(y0reco)>0&&abs(z0mc)<10"; mc_trk_eval->Draw("y0reco*(px0mc/sqrt(px0mc**2+py0mc**2))-x0reco*(py0mc/sqrt(px0mc**2+py0mc**2)):sqrt(px0mc**2+py0mc**2+pz0mc**2)>>e1",phires && zcut); mc_trk_eval->Draw("sqrt(px0mc**2 + py0mc**2 + pz0mc**2) >>p1"); mc_trk_eval->Draw("y0reco*(px0mc/sqrt(px0mc**2+py0mc**2))-x0reco*(py0mc/sqrt(px0mc**2+py0mc**2)) >>r070",c070 && phires && zcut); mc_trk_eval->Draw("y0reco*(px0mc/sqrt(px0mc**2+py0mc**2))-x0reco*(py0mc/sqrt(px0mc**2+py0mc**2)) >>r140",c140 && phires && zcut); mc_trk_eval->Draw("y0reco*(px0mc/sqrt(px0mc**2+py0mc**2))-x0reco*(py0mc/sqrt(px0mc**2+py0mc**2)) >>r300",c300 && phires && zcut); mc_trk_eval->Draw("y0reco*(px0mc/sqrt(px0mc**2+py0mc**2))-x0reco*(py0mc/sqrt(px0mc**2+py0mc**2)) >>r500",c500 && phires && zcut); mc_trk_eval->Draw("y0reco*(px0mc/sqrt(px0mc**2+py0mc**2))-x0reco*(py0mc/sqrt(px0mc**2+py0mc**2)) >>r100",c100 && phires && zcut); Double_t profile[5]; Double_t sigma[5] = {0.07, 0.01, 0.01, 0.01, 0.01}; Double_t rms[5] = {0.05, 0.02, 0.02, 0.02, 0.02}; Double_t x[5] = { 0.7, 1.4, 3.0, 5.0, 10.0}; r070->Fit("gaus"); sigma[0] = r070->GetFunction("gaus")->GetParameter(2); rms[0] = r070->GetRMS(); profile[0] = e1->GetBinError(2); r140->Fit("gaus"); sigma[1] = r140->GetFunction("gaus")->GetParameter(2); rms[1] = r140->GetRMS(); profile[1] = e1->GetBinError(3); r300->Fit("gaus"); sigma[2] = r300->GetFunction("gaus")->GetParameter(2); rms[2] = r300->GetRMS(); profile[2] = e1->GetBinError(7); r500->Fit("gaus"); sigma[3] = r500->GetFunction("gaus")->GetParameter(2); rms[3] = r500->GetRMS(); profile[3] = e1->GetBinError(11); r100->Fit("gaus"); sigma[4] = r100->GetFunction("gaus")->GetParameter(2); rms[4] = r100->GetRMS(); profile[4] = e1->GetBinError(21); m1->Sumw2(); m1->SetBinContent(2,e1->GetBinError(2)); m1->SetBinContent(3,e1->GetBinError(3)); m1->SetBinContent(7,e1->GetBinError(7)); m1->SetBinContent(11,e1->GetBinError(11)); m1->SetBinContent(21,e1->GetBinError(21)); m1->SetMarkerStyle(2); m1->SetMarkerSize(0.1); m1->Draw("p"); TGraph *profile_pline2 = new TGraph(5,x,profile); TGraph *rms_pline2 = new TGraph(5,x, rms); TGraph *sigma_pline2 = new TGraph(5,x, sigma); profile_pline2->SetLineColor(3); // profile_pline2->Draw(); rms_pline2->SetLineColor(2); // rms_pline2->Draw(); sigma_pline2->SetLineColor(2); sigma_pline2->Draw(); }