void bcmcal_adv1(){ gStyle->SetOptFit(0); // TFile *flname1 = new TFile("~/pvdis/pan/ROOTFILES/parity09_11695_standard.root"); TFile *flname1 = new TFile("/adaql10/work1/pvdis/deng/kai/parity09_14175_standard.root"); Int_t adccount=0; Int_t count[1000]; Double_t adc1[1000], adc2[1000], adc5[1000], sca1[1000],sca2[1000],sca3[1000],sca4[1000], sca5[1000],sca6[1000],sca7[1000],sca8[1000]; Double_t temp1=0, temp2=0,temp3=0,temp4=0,temp6=0,temp7=0,temp8=0,temp9=0,temp10=0,temp11=0, temp5=1,erradc1[1000],erradc2[1000],erradc5[1000],errsca1[1000],errsca2[1000],errsca3[1000],errsca4[1000],errsca5[1000],errsca6[1000],errsca7[1000],errsca8[1000], prevadc; Double_t suma1=0, suma2=0,suma3=0,suma4=0,suma5=0,suma6=0,suma7=0,suma8=0,suma9=0,suma10=0,suma11=0; Double_t sumwei1=0,sumwei2=0,sumwei3=0,sumwei4=0,sumwei5=0,sumwei6=0,sumwei7=0,sumwei8=0,sumwei9=0,sumwei10=0,sumwei11=0; Double_t rms1=0,rum2=0,rms3=0,rms4=0,rms5=0,rms6=0,rum7=0,rms8=0,rms9=0,rms10=0,rms11=0; Int_t flagon = 0; // char strin[600]; prevadc=4000; for (i=0;i<1000;i++) { count[i]=0; adc1[i]=0;adc2[i]=0;adc5[i]=0; sca1[i]=0; sca2[i]=0; sca3[i]=0;sca4[i]=0; sca5[i]=0; sca6[i]=0; sca7[i]=0;sca8[i]=0; erradc1[i]=0;erradc2[i]=0;erradc5[i]=0; errsca1[i]=0; errsca2[i]=0; errsca3[i]=0;errsca4[i]=0; errsca5[i]=0; errsca6[i]=0; errsca7[i]=0;errsca8[i]=0; } Int_t i=0; while(temp5!=0){ // while(i<1000){ // for(Int_t i=0;i 10)",i); // TString tcut = Form("abs(ev_num-80*%d)<40",i); R->Draw("bcm5>>htemp", tcut); temp5= htemp->GetMean(); rms5= htemp->GetRMS(); rms5=rms5/TMath::Sqrt(79); if (rms5==0) rms5=0.5; // cout<<"temp5=="<Draw("bcm1>>htemp", tcut); temp1= htemp->GetMean(); rms1= htemp->GetRMS(); rms1=rms1/TMath::Sqrt(79); if (rms1==0) rms1=0.5; R->Draw("bcm2>>htemp", tcut); temp2= htemp->GetMean(); rms2= htemp->GetRMS(); rms2=rms2/TMath::Sqrt(79); if (rms2==0) rms2=0.5; R->Draw("disrbcmu1>>htemp", tcut); temp3= htemp->GetMean(); rms3= htemp->GetRMS(); rms3=rms3/TMath::Sqrt(79); if (rms3==0) rms3=0.5; R->Draw("disrbcmd1>>htemp", tcut); temp4= htemp->GetMean(); rms4= htemp->GetRMS(); rms4=rms4/TMath::Sqrt(79); if (rms4==0) rms4=0.5; R->Draw("dislbcmu1>>htemp", tcut); temp6= htemp->GetMean(); rms6= htemp->GetRMS(); rms6=rms6/TMath::Sqrt(79); if (rms6==0) rms6=0.5; R->Draw("dislbcmd1>>htemp", tcut); temp7= htemp->GetMean(); rms7= htemp->GetRMS(); rms7=rms7/TMath::Sqrt(79); if (rms7==0) rms7=0.5; R->Draw("disrbcmu3>>htemp", tcut); temp8= htemp->GetMean(); rms8= htemp->GetRMS(); rms8=rms8/TMath::Sqrt(79); if (rms8==0) rms8=0.5; R->Draw("disrbcmd3>>htemp", tcut); temp9= htemp->GetMean(); rms9= htemp->GetRMS(); rms9=rms9/TMath::Sqrt(79); if (rms9==0) rms9=0.5; R->Draw("dislbcmu3>>htemp", tcut); temp10= htemp->GetMean(); rms10= htemp->GetRMS(); rms10=rms10/TMath::Sqrt(79); if (rms10==0) rms10=0.5; R->Draw("dislbcmd3>>htemp", tcut); temp11= htemp->GetMean(); rms11= htemp->GetRMS(); rms11=rms11/TMath::Sqrt(79); if (rms11==0) rms11=0.5; // mark the point to start looking at data, when we think we have high enough current if(temp5>8000) {flagon = 1;} if(flagon) { // check that we still at the same current. // a range of 8000 is good since we go to 0 current before any current setpoint changes if(abs(temp5-prevadc)<1000){ // cout << i << " " << temp5 << endl; // if (adccount<5) // { // cout<<"+++++++++++++++"<17) // { // cout<<"suma1= "<Divide(2,1); c2->cd(1); cout << bcm5cnt << endl; TGraphErrors *g1 = new TGraphErrors(bcm5cnt, newadc5, newadc1,errnewadc5,errnewadc1); g1->SetMarkerStyle(1); g1->SetTitle("happex bcm u1 vs.happex unser"); TF1 *f1 = new TF1("f1","pol1(0)"); g1->Fit("f1"); TF1 *ff1 = new TF1("ff1","pol2"); ff1->SetLineColor(4); ff1->SetLineWidth(1); g1->Fit("ff1", "+"); g1->SetMarkerColor(2); g1->Draw("AP"); TPaveStats *ptstats = new TPaveStats(0.50,0.330,0.88,0.490,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *text1 = ptstats->AddText("linear fit result:"); text1 = ptstats->AddText("p0 = 4235.5 #pm 1.636 "); text1 = ptstats->AddText("p1 = 0.673 #pm 5.85e-05 "); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); TPaveStats *ptstats = new TPaveStats(0.50,0.120,0.88,0.310,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *textf1 = ptstats->AddText("2nd order fit result:"); textf1 = ptstats->AddText("p0 = 4199.5 #pm 0.971 "); textf1 = ptstats->AddText("p1 = 0.677 #pm 1.19e-04 "); textf1 = ptstats->AddText("p2 = -7.78e-08 #pm 2.47e-09 "); textf1->SetTextColor(4); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); c2->cd(2); TGraphErrors *g2 = new TGraphErrors(bcm5cnt, newadc5, newadc2, errnewadc5, errnewadc2); g2->SetMarkerStyle(1); g2->SetTitle("happex bcm d1 vs.pvdis unser"); TF1 *f2 = new TF1("f2","pol1(0)"); g2->Fit("f2"); TF1 *ff2 = new TF1("ff2","pol2"); ff2->SetLineColor(4); ff2->SetLineWidth(1); g2->Fit("ff2", "+"); g2->SetMarkerColor(2); g2->Draw("AP"); TPaveStats *ptstats = new TPaveStats(0.50,0.300,0.88,0.460,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *text2 = ptstats->AddText("linear fit result:"); text2 = ptstats->AddText("p0 = -384.1 #pm 7.00 "); text2 = ptstats->AddText("p1 = 2.88 #pm 2.50e-04 "); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); TPaveStats *ptstats = new TPaveStats(0.50,0.1100,0.88,0.290,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *textf2 = ptstats->AddText("2nd order fit result:"); textf2 = ptstats->AddText("p0 = -538.3 #pm 4.14 "); textf2 = ptstats->AddText("p1 = 2.90 #pm 5.09e-04"); textf2 = ptstats->AddText("p2 = -3.29e-07 #pm 1.06e-08 "); textf2->SetTextColor(4); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); // TString bcmcal = "/adaql10/work1/pvdis/deng/macros_xiaoyan/happex_runs/ped_correction/bcmcal_12992"; // bcmcal += ".gif"; // c2->Print(bcmcal.Data()); TCanvas *c3 = new TCanvas("c3" , "pvdis_bcm*1", 0,0,800,500); c3->Divide(2,2); c3->cd(1); TGraphErrors *p1 = new TGraphErrors(bcm5cnt, newadc5, newsca1,errnewadc5, errnewsca1); p1->SetMarkerStyle(1); p1->SetTitle("pvdisR bcm u1 vs pvdis unser"); TF1 *f3 = new TF1("f3","pol1(0)"); p1->Fit("f3"); TF1 *ff3 = new TF1("ff3","pol2"); ff3->SetLineColor(4); ff3->SetLineWidth(1); p1->Fit("ff3", "+"); p1->SetMarkerColor(2); p1->Draw("AP"); TPaveStats *ptstats = new TPaveStats(0.50,0.300,0.88,0.460,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *text3 = ptstats->AddText("linear fit result:"); text3 = ptstats->AddText("p0 = 11.11 #pm 0.415 "); text3 = ptstats->AddText("p1 = 1.71e-01 #pm 1.48e-05 "); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); TPaveStats *ptstats = new TPaveStats(0.50,0.1100,0.88,0.290,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *textf3 = ptstats->AddText("2nd order fit result:"); textf3 = ptstats->AddText("p0 = 2.46 #pm 0.243 "); textf3 = ptstats->AddText("p1 = 0.172 #pm 3.01e-05 "); textf3 = ptstats->AddText("p2 = -2.01e-08 #pm 6.24e-10 "); textf3->SetTextColor(4); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); c3->cd(2); TGraphErrors *p2 = new TGraphErrors(bcm5cnt, newadc5, newsca2, errnewadc5, errnewsca2); p2->SetMarkerStyle(1); p2->SetTitle("pvdisR bcm d1 vs pvdis unser"); TF1 *f4 = new TF1("f4","pol1(0)"); p2->Fit("f4"); TF1 *ff4 = new TF1("ff4","pol2"); ff4->SetLineColor(4); ff4->SetLineWidth(1); p2->Fit("ff4", "+"); p2->SetMarkerColor(2); p2->Draw("AP"); TPaveStats *ptstats = new TPaveStats(0.50,0.300,0.88,0.460,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *text4 = ptstats->AddText("linear fit result:"); text4 = ptstats->AddText("p0 = 15.42 #pm 0.424 "); text4 = ptstats->AddText("p1 = 1.75e-01 #pm 1.51e-05 "); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); TPaveStats *ptstats = new TPaveStats(0.50,0.1100,0.88,0.290,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *textf4 = ptstats->AddText("2nd order fit result:"); textf4 = ptstats->AddText("p0 = -5.12 #pm 0.249 "); textf4 = ptstats->AddText("p1 = 1.77 #pm 3.07e-05 "); textf4 = ptstats->AddText("p2 = -4.22e-08 #pm 6.36e-10 "); textf4->SetTextColor(4); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); c3->cd(3); TGraphErrors *p3 = new TGraphErrors(bcm5cnt, newadc5, newsca3, errnewadc5, errnewsca3); p3->SetMarkerStyle(1); p3->SetTitle("pvdisL bcm u1 vs pvdis unser"); TF1 *f5 = new TF1("f5","pol1(0)"); p3->Fit("f5"); TF1 *ff5 = new TF1("ff5","pol2"); ff5->SetLineColor(4); ff5->SetLineWidth(1); p3->Fit("ff5", "+"); p3->SetMarkerColor(2); p3->Draw("AP"); TPaveStats *ptstats = new TPaveStats(0.50,0.300,0.88,0.460,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *text5 = ptstats->AddText("linear fit result:"); text5 = ptstats->AddText("p0 = 11.09 #pm 0.416 "); text5 = ptstats->AddText("p1 = 0.171 #pm 1.48e-05 "); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); TPaveStats *ptstats = new TPaveStats(0.50,0.1100,0.88,0.290,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *textf5 = ptstats->AddText("2nd order fit result:"); textf5 = ptstats->AddText("p0 = 2.45 #pm 0.243 "); textf5 = ptstats->AddText("p1 = 0.172 #pm 3.01e-05 "); textf5 = ptstats->AddText("p2 = -2.01e-08 #pm 6.25e-10 "); textf5->SetTextColor(4); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); c3->cd(4); TGraphErrors *p4 = new TGraphErrors(bcm5cnt, newadc5, newsca4, errnewadc5, errnewsca4); p4->SetMarkerStyle(1); p4->SetTitle("pvdisL bcm d1 vs pvdis unser"); TF1 *f6 = new TF1("f6","pol1(0)"); p4->Fit("f6"); TF1 *ff6 = new TF1("ff6","pol2"); ff6->SetLineColor(4); ff6->SetLineWidth(1); p4->Fit("ff6", "+"); p4->SetMarkerColor(2); p4->Draw("AP"); TPaveStats *ptstats = new TPaveStats(0.50,0.300,0.88,0.460,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *text6 = ptstats->AddText("linear fit result:"); text6 = ptstats->AddText("p0 = 15.48 #pm 0.424 "); text6 = ptstats->AddText("p1 = 0.175 #pm 1.51e-05 "); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); TPaveStats *ptstats = new TPaveStats(0.50,0.1100,0.88,0.290,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *textf6 = ptstats->AddText("2nd order fit result:"); textf6 = ptstats->AddText("p0 = -5.05 #pm 0.249 "); textf6 = ptstats->AddText("p1 = 0.177 #pm 3.07e-05 "); textf6 = ptstats->AddText("p2 = -4.21e-08 #pm 6.36e-10 "); textf6->SetTextColor(4); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); // TString bcmcal_pvdis = "/adaql10/work1/pvdis/deng/macros_xiaoyan/happex_runs/ped_correction/bcmcal_12992_pvdis"; // bcmcal_pvdis += ".gif"; // c3->Print(bcmcal_pvdis.Data()); TCanvas *c4 = new TCanvas("c4" , "pvdis_bcm*3", 0,0,800,500); c4->Divide(2,2); c4->cd(1); TGraphErrors *p5 = new TGraphErrors(bcm5cnt, newadc5, newsca5, errnewadc5, errnewsca5); p5->SetMarkerStyle(1); p5->SetTitle("pvdisR bcm u3 vs pvdis unser"); TF1 *f7 = new TF1("f7","pol1(0)"); p5->Fit("f7"); TF1 *ff7 = new TF1("ff7","pol2"); ff7->SetLineColor(4); ff7->SetLineWidth(1); p5->Fit("ff7", "+"); p5->SetMarkerColor(2); p5->Draw("AP"); TPaveStats *ptstats = new TPaveStats(0.50,0.300,0.88,0.460,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *text7 = ptstats->AddText("linear fit result:"); text7 = ptstats->AddText("p0 = 24.40 #pm 1.274 "); text7 = ptstats->AddText("p1 = 0.526 #pm 4.53e-05 "); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); TPaveStats *ptstats = new TPaveStats(0.50,0.1100,0.88,0.290,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *textf7 = ptstats->AddText("2nd order fit result:"); textf7 = ptstats->AddText("p0 = -18.95 #pm 0.743 "); textf7 = ptstats->AddText("p1 = 0.531 #pm 9.2e-05 "); textf7 = ptstats->AddText("p2 = -9.47e-08 #pm 1.90e-09 "); textf7->SetTextColor(4); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); c4->cd(2); TGraphErrors *p6 = new TGraphErrors(bcm5cnt, newadc5, newsca6, errnewadc5, errnewsca6); p6->SetMarkerStyle(1); p6->SetTitle("pvdisR bcm d3 vs pvdis unser"); TF1 *f8 = new TF1("f8","pol1(0)"); p6->Fit("f8"); TF1 *ff8 = new TF1("ff8","pol2"); ff8->SetLineColor(4); ff8->SetLineWidth(1); p6->Fit("ff8", "+"); p6->SetMarkerColor(2); p6->Draw("AP"); TPaveStats *ptstats = new TPaveStats(0.50,0.300,0.88,0.460,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *text8 = ptstats->AddText("linear fit result:"); text8 = ptstats->AddText("p0 = 128.60 #pm 1.282 "); text8 = ptstats->AddText("p1 = 0.535 #pm 4.45e-05 "); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); TPaveStats *ptstats = new TPaveStats(0.50,0.1100,0.88,0.290,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *textf8 = ptstats->AddText("2nd order fit result:"); textf8 = ptstats->AddText("p0 = -71.64 #pm 0.759 "); textf8 = ptstats->AddText("p1 = 0,556 #pm 9,26e-05 "); textf8 = ptstats->AddText("p2 = -3.99e-07 #pm 1.87e-09 "); textf8->SetTextColor(4); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); c4->cd(3); TGraphErrors *p7 = new TGraphErrors(bcm5cnt, newadc5, newsca7, errnewadc5, errnewsca7); p7->SetMarkerStyle(1); p7->SetTitle("pvdisL bcm u3 vs pvdis unser"); TF1 *f9 = new TF1("f9","pol1(0)"); p7->Fit("f9"); TF1 *ff9 = new TF1("ff9","pol2"); ff9->SetLineColor(4); ff9->SetLineWidth(1); p7->Fit("ff9", "+"); p7->SetMarkerColor(2); p7->Draw("AP"); TPaveStats *ptstats = new TPaveStats(0.50,0.300,0.88,0.460,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *text9 = ptstats->AddText("linear fit result:"); text9 = ptstats->AddText("p0 = 24.47 #pm 1.274 "); text9 = ptstats->AddText("p1 = 0.526 #pm 4.53e-05 "); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); TPaveStats *ptstats = new TPaveStats(0.50,0.1100,0.88,0.290,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *textf9 = ptstats->AddText("2nd order fit result:"); textf9 = ptstats->AddText("p0 = -18.94 #pm 0.743 "); textf9 = ptstats->AddText("p1 = 0.531 #pm 9,20e-05 "); textf9 = ptstats->AddText("p2 = -9,47e-08 #pm 1.90e-09 "); textf9->SetTextColor(4); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); c4->cd(4); TGraphErrors *p8 = new TGraphErrors(bcm5cnt, newadc5, newsca8, errnewadc5, errnewsca8); p8->SetMarkerStyle(1); p8->SetTitle("pvdisL bcm d3 vs pvdis unser"); TF1 *f10 = new TF1("f10","pol1(0)"); p8->Fit("f10"); TF1 *ff10 = new TF1("ff10","pol2"); ff10->SetLineColor(4); ff10->SetLineWidth(1); p8->Fit("ff10", "+"); p8->SetMarkerColor(2); p8->Draw("AP"); TPaveStats *ptstats = new TPaveStats(0.50,0.300,0.88,0.460,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *text10 = ptstats->AddText("linear fit result:"); text10 = ptstats->AddText("p0 = 128.58 #pm 1.282 "); text10 = ptstats->AddText("p1 = 0.535 #pm 4.45e-05 "); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); TPaveStats *ptstats = new TPaveStats(0.50,0.1100,0.88,0.290,"brNDC"); ptstats->SetName("stats"); ptstats->SetBorderSize(2); ptstats->SetFillColor(19); ptstats->SetTextAlign(12); TText *textf10 = ptstats->AddText("2nd order fit result:"); textf10 = ptstats->AddText("p0 = -71.66 #pm 0.759 "); textf10 = ptstats->AddText("p1 = 0.556 #pm 9.26e-05 "); textf10 = ptstats->AddText("p2 = -3.99e-07 #pm 1.87e-09 "); textf10->SetTextColor(4); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); }