UInt_t width,height,NP,N; Int_t Entriesx,Entriesy; Double_t RMSx[100],RMSy[100], B[100]; NP=20; void AutoRMS() { Int_t j,i,n,m; for(n=0;n<=2*NP;n++) { if(0<=n && n<=NP){m=n;} if(NPGetRgbaArray(); width=signal->GetWidth(); height=signal->GetHeight(); //TH2F *PictPixl=new TH2F("PictPixl","PictPixl",width,0,width,height,0,height); //whole picture //TH2F *PictPixl=new TH2F("PictPixl","PictPixl",height,0,height,width,0,width); //whole picture TH2F *PictPixl=new TH2F("PictPixl","PictPixl",200,260,460,250,150,400); //picture around spot Int_t index; //printf("Height=%d\tWidth=%d\n",height,width); for( j=0;j<=height;j++) { for( i=0;i<=width;i++) { index=720*480-j*width+i; if(290(81)) //remove filament spot PictPixl->Fill(i,j,pixaray[index]&0xffffff); } } TH1D *px = PictPixl->ProjectionX("x-projection"); TH1D *py = PictPixl->ProjectionY("y-projection"); Entriesx=px->GetEntries(); RMSx[n]=px->GetRMS(1); Entriesy=py->GetEntries(); RMSy[n]=py->GetRMS(1); printf("%g\t%g\t%g\t%g\t\t%g\t%g\n",n,m,Entriesx,RMSx[n],Entriesy,RMSy[n]); PictPixl->Delete(); } TCanvas *sp= new TCanvas("sp","sp", 100,100, 770,750);//picture around spot sp->Divide(2,1); sp->cd(1); TGraph *Hpx = new TGraph ( n, B, RMSx); Hpx ->SetTitle("X Projection RMS vs. Magnet Current"); Hpx ->GetXaxis()->SetTitle("Current From Shunt Resistance (Amps)"); Hpx ->GetYaxis()->SetTitle("RMS (Pixels)"); Hpx ->GetYaxis()->CenterTitle(); Hpx ->SetMarkerColor(4); Hpx ->SetMarkerStyle(21); Hpx ->SetMarkerSize(0.5); Hpx ->Draw("AP"); sp->cd(2); TGraph *Hpy = new TGraph ( n, B, RMSy); Hpy ->SetTitle("Y Projection RMS vs. Magnet Current"); Hpy ->GetXaxis()->SetTitle("Current From Shunt Resistance (Amps)"); Hpy ->GetYaxis()->SetTitle("RMS (Pixels)"); Hpy ->GetYaxis()->CenterTitle(); Hpy ->SetMarkerColor(4); Hpy ->SetMarkerStyle(21); Hpy ->SetMarkerSize(0.5); Hpy ->Draw("AP"); }