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_14642_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=1; 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("disrunser>>htemp", tcut); temp5= htemp->GetMean(); rms5= htemp->GetRMS(); rms5=rms5/TMath::Sqrt(79); // cout<<"temp5=="<Draw("bcm1>>htemp", tcut); temp1= htemp->GetMean(); rms1= htemp->GetRMS(); rms1=rms1/TMath::Sqrt(79); R->Draw("bcm2>>htemp", tcut); temp2= htemp->GetMean(); rms2= htemp->GetRMS(); rms2=rms2/TMath::Sqrt(79); R->Draw("disrbcmu1>>htemp", tcut); temp3= htemp->GetMean(); rms3= htemp->GetRMS(); rms3=rms3/TMath::Sqrt(79); R->Draw("disrbcmd1>>htemp", tcut); temp4= htemp->GetMean(); rms4= htemp->GetRMS(); rms4=rms4/TMath::Sqrt(79); R->Draw("dislbcmu1>>htemp", tcut); temp6= htemp->GetMean(); rms6= htemp->GetRMS(); rms6=rms6/TMath::Sqrt(79); R->Draw("dislbcmd1>>htemp", tcut); temp7= htemp->GetMean(); rms7= htemp->GetRMS(); rms7=rms7/TMath::Sqrt(79); R->Draw("disrbcmu3>>htemp", tcut); temp8= htemp->GetMean(); rms8= htemp->GetRMS(); rms8=rms8/TMath::Sqrt(79); R->Draw("disrbcmd3>>htemp", tcut); temp9= htemp->GetMean(); rms9= htemp->GetRMS(); rms9=rms9/TMath::Sqrt(79); R->Draw("dislbcmu3>>htemp", tcut); temp10= htemp->GetMean(); rms10= htemp->GetRMS(); rms10=rms10/TMath::Sqrt(79); R->Draw("dislbcmd3>>htemp", tcut); temp11= htemp->GetMean(); rms11= htemp->GetRMS(); rms11=rms11/TMath::Sqrt(79); // mark the point to start looking at data, when we think we have high enough current if(temp5>300) {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)<75){ // cout << i << " " << temp5 << endl; // if (adccount>18) // { // 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.pvdis 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->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 = 4245.8 #pm 0.313 "); text1 = ptstats->AddText("p1 = 25.80 #pm 0.00052 "); 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 = 4217.8 #pm 0.713 "); textf1 = ptstats->AddText("p1 = 25.91 #pm 0.0025 "); textf1 = ptstats->AddText("p2 = -7.84e-05 #pm 1.80e-06 "); 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->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 = -306.5 #pm 1.32 "); text2 = ptstats->AddText("p1 = 108.9 #pm 0.00222 "); 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 = -367.3 #pm 3.00 "); textf2 = ptstats->AddText("p1 = 109.1 #pm 0.0106 "); textf2 = ptstats->AddText("p2 = -1.71e-04 #pm 7.56e-06 "); 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->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 = 9.6 #pm 0.078 "); text3 = ptstats->AddText("p1 = 6.47 #pm 0.00013 "); 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 = -8.70 #pm 0.178 "); textf3 = ptstats->AddText("p1 = 6.537 #pm 0.00063 "); textf3 = ptstats->AddText("p2 = -5.13e-05 #pm 4.48e-07 "); 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->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 = 12.20 #pm 0.080 "); text4 = ptstats->AddText("p1 = 6.65 #pm 0.00013 "); 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 = -22.09 #pm 0.182 "); textf4 = ptstats->AddText("p1 = 6.782 #pm 0.000645 "); textf4 = ptstats->AddText("p2 = -9.57e-05 #pm 4.57e-07 "); 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->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 = 9.59 #pm 0.078 "); text5 = ptstats->AddText("p1 = 6.467 #pm 0.000131 "); 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 = -8.72 #pm 0.178 "); textf5 = ptstats->AddText("p1 = 6.537 #pm 0.000629 "); textf5 = ptstats->AddText("p2 = -5.13e-05 #pm 4.48e-07 "); 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->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 = 12.23 #pm 0.080 "); text6 = ptstats->AddText("p1 = 6.650 #pm 0.00013 "); 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 = -22.01 #pm 0.182 "); textf6 = ptstats->AddText("p1 = 6.781 #pm 0.000645 "); textf6 = ptstats->AddText("p2 = -9.56e-05 #pm 4.575e-07 "); 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->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 = 17.61 #pm 0.238 "); text7 = ptstats->AddText("p1 = 19.86 #pm 0.00040 "); 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 = -61.83 #pm 0.542 "); textf7 = ptstats->AddText("p1 = 20.17 #pm 0.00192 "); textf7 = ptstats->AddText("p2 = -2.22e-04 #pm 1.36e-06 "); 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->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 = 206.56 #pm 0.237 "); text8 = ptstats->AddText("p1 = 20.14 #pm 0.00037 "); 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 = -415.82 #pm 0.537 "); textf8 = ptstats->AddText("p1 = 22.49 #pm 0.00186 "); textf8 = ptstats->AddText("p2 = -1.64e-03 #pm 1.27e-06 "); 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->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 = 17.63 #pm 0.238 "); text9 = ptstats->AddText("p1 = 19.86 #pm 0.00040 "); 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 = -61.75 #pm 0.542 "); textf9 = ptstats->AddText("p1 = 20.17 #pm 0.00192 "); textf9 = ptstats->AddText("p2 = -2.21e-04 #pm 1.38e-06 "); 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->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 = 206.56 #pm 0.237 "); text10 = ptstats->AddText("p1 = 20.14 #pm 0.00037 "); 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 = -415.91 #pm 0.537 "); textf10 = ptstats->AddText("p1 = 22.49 #pm 0.00186 "); textf10 = ptstats->AddText("p2 = -1.64e-03 #pm 1.27e-06 "); textf10->SetTextColor(4); ptstats->SetOptStat(0); ptstats->SetOptFit(111); ptstats->Draw(); }