#include <TGaxis.h>
#include <TCanvas.h>
#include <TPaveLabel.h>
#include <TPaveText.h>
#include "TGraphErrors.h"

void graphmulticol(){
  //Define parameters common to all analysis configurations
  const Int_t points = 10;
  char graphname1[256];

  gStyle->SetStatColor(0);//All this stuff makes backgrounds, etc.
  gStyle->SetTitleColor(0);//transparent for printing purposes...
  gStyle->SetCanvasColor(0);
  gStyle->SetPadColor(0);
  gStyle->SetPadBorderMode(0);
  gStyle->SetCanvasBorderMode(0);
  gStyle->SetFrameBorderMode(0);
  gStyle->SetPalette(1);
  gStyle->SetOptStat(kFALSE);
  gStyle->SetOptStat(11);
  gStyle->SetOptFit(0000);
  gStyle->SetPadGridX(kTRUE);
  gStyle->SetPadGridY(kTRUE);
  TGaxis::SetMaxDigits(4);

  ifstream infile("summary.txt");

  float Run[points], HV[points], PreAmp[points], Navg[points], PedAve[points], PedRMS[points], nonLin[points], nonLinpV[points], Error[points], Chi2p6df[points];
  char header[256];
  for(int h = 0; h<10; h++) { //read the header info
    infile >> header;
  }

  Double_t RelativeWidth[points], HV_positive[points], nonLin_positive[points], Chi2[points], erX[points], erY[points], myPreAmp[points], myNavg[points], Vout[points], nonLinpV_positive[points];
	const int ndf = 6;
	Double_t Vperch = 76.29E-6; //Volts per channel

  for(int i=0;i<points;i++) {
    infile >> Run[i] >> HV[i] >> PreAmp[i] >> Navg[i] >> PedAve[i] >> PedRMS[i] >> nonLin[i] >> Error[i] >> nonLinpV[i] >> Chi2p6df[i];
    RelativeWidth[i] = PedRMS[i]/PedAve[i];
    HV_positive[i] = HV[i];
    nonLin_positive[i] = nonLin[i];
    nonLinpV_positive[i] = nonLinpV[i];
    Chi2[i] = Chi2p6df[i]/ndf;
    myPreAmp[i] = PreAmp[i];
    erX[i] = 0.0;
    erY[i] = Error[i];
    myNavg[i] = Navg[i];
    Vout[i] = Navg[i]*Vperch;
    cout << Run[i]<<"	"<<HV_positive[i] <<"	"<< myPreAmp[i] <<"	"<< RelativeWidth[i] <<"	"<< Chi2[i]<< "	"<< nonLin_positive[i]<<"	"<< nonLinpV_positive[i]<<"	"<<Navg[i]<<"	"<<Vout[i]<< endl;
  	}

  infile.close();

  TCanvas *c = new TCanvas("c","non-Linearity vs HV",0,0,700,500);
  gPad->SetLogy(0);
  gPad->SetLogx(0);
  gStyle->SetOptStat(kFALSE);

  sprintf(graphname1,"");

   TGraphErrors *gr = new TGraphErrors(points,HV_positive, nonLin_positive, erX, erY);
   gr->SetLineColor(kCyan+3);
   gr->SetMarkerSize(0.75);
   gr->SetTitle("non-linearity vs HV");
   TExec *ex = new TExec("ex","HVoltage();");
   gr->GetListOfFunctions()->Add(ex);
   gr->Draw("AP");
   gr->GetXaxis()->SetTitle("HV (V)");
   gr->GetXaxis()->SetTitleColor(1);
   gr->GetYaxis()->SetTitle("nonLinearity %");
   gr->GetXaxis()->CenterTitle();
   gr->GetYaxis()->CenterTitle();
   gr->GetYaxis()->SetTitleOffset(1.4);
   TF1 *f1 = new TF1("f1","pol1",-800,-350);
   f1->SetLineWidth(2);
   f1->SetLineColor(46);
   gr->Fit("f1","R"); 
   gPad->Modified();

   char labelA[256], labelB[256], labelC[256], labelD[256], labelE[256], labelF[256];
   sprintf(labelA,"0.1 MOhm (SNS) pre-Amp");
   TPaveLabel *ptA = new TPaveLabel(0.60,0.85, 0.80,0.89,labelA,"NDC");
   ptA->SetBorderSize(0);
   ptA->SetTextColor(1);
   ptA->SetTextSize(0.75);
   ptA->SetFillColor(0);
   ptA->Draw();
   sprintf(labelB,"0.3 MOhm (KDPA) pre-Amp");
   TPaveLabel *ptB = new TPaveLabel(0.60,0.81, 0.80,0.85,labelB,"NDC");
   ptB->SetBorderSize(0);
   ptB->SetTextColor(2);
   ptB->SetTextSize(0.75);
   ptB->SetFillColor(0);
   ptB->Draw();
   sprintf(labelC,"0.5 MOhm (LUMI) pre-Amp");
   TPaveLabel *ptC = new TPaveLabel(0.60,0.77, 0.80,0.81,labelC,"NDC");
   ptC->SetBorderSize(0);
   ptC->SetTextColor(3);
   ptC->SetTextSize(0.75);
   ptC->SetFillColor(0);
   ptC->Draw();
   sprintf(labelD,"1.0 MOhm (LUMI) pre-Amp");
   TPaveLabel *ptD = new TPaveLabel(0.60,0.73, 0.80,0.77,labelD,"NDC");
   ptD->SetBorderSize(0);
   ptD->SetTextColor(4);
   ptD->SetTextSize(0.75);
   ptD->SetFillColor(0);
   ptD->Draw();
   sprintf(labelE,"2.0 MOhm (MAIN) pre-Amp");
   TPaveLabel *ptE = new TPaveLabel(0.60,0.69, 0.80,0.73,labelE,"NDC");
   ptE->SetBorderSize(0);
   ptE->SetTextColor(6);
   ptE->SetTextSize(0.75);
   ptE->SetFillColor(0);
   ptE->Draw();

   char flip[256];
   sprintf(flip,"LED flash rate: 240 Hz , with LL: 10.0 nA, PMT# 2");
   TPaveLabel *pt_ff = new TPaveLabel(0.17,0.85,0.50,0.89,flip,"NDC");
   pt_ff->SetBorderSize(0);
   pt_ff->SetTextColor(kBlack);
   pt_ff->SetTextSize(0.80);
   pt_ff->SetFillColor(0);
   pt_ff->Draw();

   char plotname[256];
   sprintf(plotname,"./nonLinearity_vs_HV_10nA.png");
   c->Print(plotname);

   TCanvas *c1 = new TCanvas("c1","nonLinearity vs pre-Amp Settings",700,500);
  gPad->SetLogy(0);
  gPad->SetLogx(0);
  gStyle->SetOptStat(kFALSE);

  sprintf(graphname1,"");

   TGraphErrors *gr = new TGraphErrors(points,myPreAmp, nonLin_positive, erX, erY);
   gr->SetLineColor(kCyan+3);
   gr->SetMarkerSize(0.75);
   gr->SetTitle("non-linearity vs pre-Amp Settings");
   TExec *ex = new TExec("ex","PreAmp();");
   gr->GetListOfFunctions()->Add(ex);
   gr->Draw("AP");
   gr->GetXaxis()->SetTitle("pre-Amp (MOhm)");
   gr->GetXaxis()->SetTitleColor(1);
   gr->GetYaxis()->SetTitle("nonLinearity %");
   gr->GetXaxis()->CenterTitle();
   gr->GetYaxis()->CenterTitle();
   gr->GetYaxis()->SetTitleOffset(1.4);
   gPad->Modified();

   char label[points][256];
   sprintf(label[0],"+   740 V HV");
   TPaveLabel *pt1 = new TPaveLabel(0.75,0.82, 0.83,0.85,label[0],"NDC");
   pt1->SetBorderSize(0);
   pt1->SetTextColor(1);
   pt1->SetTextSize(0.75);
   pt1->SetFillColor(0);
   pt1->Draw();
   sprintf(label[1],"*   700 V HV");
   TPaveLabel *pt2 = new TPaveLabel(0.75,0.79, 0.83,0.82,label[1],"NDC");
   pt2->SetBorderSize(0);
   pt2->SetTextColor(1);
   pt2->SetTextSize(0.75);
   pt2->SetFillColor(0);
   pt2->Draw();
   sprintf(label[2],"+   620 V HV");
   TPaveLabel *pt3 = new TPaveLabel(0.75,0.76, 0.83,0.79,label[2],"NDC");
   pt3->SetBorderSize(0);
   pt3->SetTextColor(2);
   pt3->SetTextSize(0.75);
   pt3->SetFillColor(0);
   pt3->Draw();
   sprintf(label[3],"*   580 V HV");
   TPaveLabel *pt4 = new TPaveLabel(0.75,0.73, 0.83,0.76,label[3],"NDC");
   pt4->SetBorderSize(0);
   pt4->SetTextColor(2);
   pt4->SetTextSize(0.75);
   pt4->SetFillColor(0);
   pt4->Draw();
   sprintf(label[4],"+   565 V HV");
   TPaveLabel *pt5 = new TPaveLabel(0.75,0.70, 0.83,0.73,label[4],"NDC");
   pt5->SetBorderSize(0);
   pt5->SetTextColor(3);
   pt5->SetTextSize(0.75);
   pt5->SetFillColor(0);
   pt5->Draw();
   sprintf(label[5],"*   530 V HV");
   TPaveLabel *pt6 = new TPaveLabel(0.75,0.67, 0.83,0.70,label[5],"NDC");
   pt6->SetBorderSize(0);
   pt6->SetTextColor(3);
   pt6->SetTextSize(0.75);
   pt6->SetFillColor(0);
   pt6->Draw();
   sprintf(label[6],"+   500 V HV");
   TPaveLabel *pt7 = new TPaveLabel(0.75,0.64, 0.83,0.67,label[6],"NDC");
   pt7->SetBorderSize(0);
   pt7->SetTextColor(4);
   pt7->SetTextSize(0.75);
   pt7->SetFillColor(0);
   pt7->Draw();
   sprintf(label[7],"*   465 V HV");
   TPaveLabel *pt8 = new TPaveLabel(0.75,0.61, 0.83,0.64,label[7],"NDC");
   pt8->SetBorderSize(0);
   pt8->SetTextColor(4);
   pt8->SetTextSize(0.75);
   pt8->SetFillColor(0);
   pt8->Draw();
   sprintf(label[8],"+   440 V HV");
   TPaveLabel *pt9 = new TPaveLabel(0.75,0.58, 0.83,0.61,label[8],"NDC");
   pt9->SetBorderSize(0);
   pt9->SetTextColor(6);
   pt9->SetTextSize(0.75);
   pt9->SetFillColor(0);
   pt9->Draw();
   sprintf(label[9],"+   410 V HV");
   TPaveLabel *pt10 = new TPaveLabel(0.75,0.55, 0.83,0.58,label[9],"NDC");
   pt10->SetBorderSize(0);
   pt10->SetTextColor(6);
   pt10->SetTextSize(0.75);
   pt10->SetFillColor(0);
   pt10->Draw();

   char flip[256];
   sprintf(flip,"LED flash rate: 240 Hz, with LL: 10.0 nA, PMT# 2");
   TPaveLabel *pt_ff = new TPaveLabel(0.17,0.85,0.50,0.89,flip,"NDC");
   pt_ff->SetBorderSize(0);
   pt_ff->SetTextColor(kBlack);
   pt_ff->SetTextSize(0.80);
   pt_ff->SetFillColor(0);
   pt_ff->Draw();

   char plotname[256];
   sprintf(plotname,"./nonLinearity_vs_pre-Amp_Settings_10nA.png");
   c1->Print(plotname);

   TCanvas *c2 = new TCanvas("c2","Relative width of pedestal vs pre-Amp Settings",700,500);
  gPad->SetLogy(0);
  gPad->SetLogx(0);
  gStyle->SetOptStat(kFALSE);

  sprintf(graphname1,"");

   TGraphErrors *gr = new TGraphErrors(points,myPreAmp, RelativeWidth);
   gr->SetLineColor(kCyan+3);
   gr->SetMarkerSize(0.75);
   gr->SetTitle("RelativeWidth of pedestal vs pre-Amp Settings");
   TExec *ex = new TExec("ex","PreAmp();");
   gr->GetListOfFunctions()->Add(ex);
   gr->Draw("AP");
   gr->GetXaxis()->SetTitle("pre-Amp (MOhm)");
   gr->GetXaxis()->SetTitleColor(1);
   gr->GetYaxis()->SetTitle("PedRMS/PedMean");
   gr->GetXaxis()->CenterTitle();
   gr->GetYaxis()->CenterTitle();
   gr->GetYaxis()->SetTitleOffset(1.4);
   gPad->Modified();

   sprintf(label[0],"+   740 V HV");
   TPaveLabel *pt1 = new TPaveLabel(0.65,0.82, 0.73,0.85,label[0],"NDC");
   pt1->SetBorderSize(0);
   pt1->SetTextColor(1);
   pt1->SetTextSize(0.75);
   pt1->SetFillColor(0);
   pt1->Draw();
   sprintf(label[1],"*   700 V HV");
   TPaveLabel *pt2 = new TPaveLabel(0.65,0.79, 0.73,0.82,label[1],"NDC");
   pt2->SetBorderSize(0);
   pt2->SetTextColor(1);
   pt2->SetTextSize(0.75);
   pt2->SetFillColor(0);
   pt2->Draw();
   sprintf(label[2],"+   620 V HV");
   TPaveLabel *pt3 = new TPaveLabel(0.65,0.76, 0.73,0.79,label[2],"NDC");
   pt3->SetBorderSize(0);
   pt3->SetTextColor(2);
   pt3->SetTextSize(0.75);
   pt3->SetFillColor(0);
   pt3->Draw();
   sprintf(label[3],"*   580 V HV");
   TPaveLabel *pt4 = new TPaveLabel(0.65,0.73, 0.73,0.76,label[3],"NDC");
   pt4->SetBorderSize(0);
   pt4->SetTextColor(2);
   pt4->SetTextSize(0.75);
   pt4->SetFillColor(0);
   pt4->Draw();
   sprintf(label[4],"+   565 V HV");
   TPaveLabel *pt5 = new TPaveLabel(0.65,0.70, 0.73,0.73,label[4],"NDC");
   pt5->SetBorderSize(0);
   pt5->SetTextColor(3);
   pt5->SetTextSize(0.75);
   pt5->SetFillColor(0);
   pt5->Draw();
   sprintf(label[5],"*   530 V HV");
   TPaveLabel *pt6 = new TPaveLabel(0.65,0.67, 0.73,0.70,label[5],"NDC");
   pt6->SetBorderSize(0);
   pt6->SetTextColor(3);
   pt6->SetTextSize(0.75);
   pt6->SetFillColor(0);
   pt6->Draw();
   sprintf(label[6],"+   500 V HV");
   TPaveLabel *pt7 = new TPaveLabel(0.65,0.64, 0.73,0.67,label[6],"NDC");
   pt7->SetBorderSize(0);
   pt7->SetTextColor(4);
   pt7->SetTextSize(0.75);
   pt7->SetFillColor(0);
   pt7->Draw();
   sprintf(label[7],"*   465 V HV");
   TPaveLabel *pt8 = new TPaveLabel(0.65,0.61, 0.73,0.64,label[7],"NDC");
   pt8->SetBorderSize(0);
   pt8->SetTextColor(4);
   pt8->SetTextSize(0.75);
   pt8->SetFillColor(0);
   pt8->Draw();
   sprintf(label[8],"+   440 V HV");
   TPaveLabel *pt9 = new TPaveLabel(0.65,0.58, 0.73,0.61,label[8],"NDC");
   pt9->SetBorderSize(0);
   pt9->SetTextColor(6);
   pt9->SetTextSize(0.75);
   pt9->SetFillColor(0);
   pt9->Draw();
   sprintf(label[9],"+   410 V HV");
   TPaveLabel *pt10 = new TPaveLabel(0.65,0.55, 0.73,0.58,label[9],"NDC");
   pt10->SetBorderSize(0);
   pt10->SetTextColor(6);
   pt10->SetTextSize(0.75);
   pt10->SetFillColor(0);
   pt10->Draw();

   char flip[256];
   sprintf(flip,"LED flash rate: 240 Hz , with LL: 10.0 nA, PMT# 2");
   TPaveLabel *pt_ff = new TPaveLabel(0.17,0.85,0.50,0.89,flip,"NDC");
   pt_ff->SetBorderSize(0);
   pt_ff->SetTextColor(kBlack);
   pt_ff->SetTextSize(0.80);
   pt_ff->SetFillColor(0);
   pt_ff->Draw();

   char plotname[256];
   sprintf(plotname,"./relativewidth_vs_pre-Amp_Settings_10nA.png");
   c2->Print(plotname);

   TCanvas *c3 = new TCanvas("c3","Relative width of pedestal vs HV",700,500);
  gPad->SetLogy(0);
  gPad->SetLogx(0);
  gStyle->SetOptStat(kFALSE);

  sprintf(graphname1,"");

   TGraphErrors *gr = new TGraphErrors(points,HV_positive, RelativeWidth);
   gr->SetLineColor(kCyan+3);
   gr->SetMarkerSize(0.75);
   gr->SetTitle("RelativeWidth of pedestal vs HV");
   TExec *ex = new TExec("ex","HVoltage();");
   gr->GetListOfFunctions()->Add(ex);
   gr->Draw("AP");
   gr->GetXaxis()->SetTitle("HV (V)");
   gr->GetXaxis()->SetTitleColor(1);
   gr->GetYaxis()->SetTitle("PedRMS/PedMean");
   gr->GetXaxis()->CenterTitle();
   gr->GetYaxis()->CenterTitle();
   gr->GetYaxis()->SetTitleOffset(1.4);
   gPad->Modified();

   sprintf(labelA,"0.1 MOhm (SNS) pre-Amp");
   TPaveLabel *ptA = new TPaveLabel(0.15,0.80, 0.34,0.84,labelA,"NDC");
   ptA->SetBorderSize(0);
   ptA->SetTextColor(1);
   ptA->SetTextSize(0.75);
   ptA->SetFillColor(0);
   ptA->Draw();
   sprintf(labelB,"0.3 MOhm (KDPA) pre-Amp");
   TPaveLabel *ptB = new TPaveLabel(0.15,0.76, 0.34,0.80,labelB,"NDC");
   ptB->SetBorderSize(0);
   ptB->SetTextColor(2);
   ptB->SetTextSize(0.75);
   ptB->SetFillColor(0);
   ptB->Draw();
   sprintf(labelC,"0.5 MOhm (LUMI) pre-Amp");
   TPaveLabel *ptC = new TPaveLabel(0.15,0.72, 0.34,0.76,labelC,"NDC");
   ptC->SetBorderSize(0);
   ptC->SetTextColor(3);
   ptC->SetTextSize(0.75);
   ptC->SetFillColor(0);
   ptC->Draw();
   sprintf(labelD,"1.0 MOhm (LUMI) pre-Amp");
   TPaveLabel *ptD = new TPaveLabel(0.15,0.68, 0.34,0.72,labelD,"NDC");
   ptD->SetBorderSize(0);
   ptD->SetTextColor(4);
   ptD->SetTextSize(0.75);
   ptD->SetFillColor(0);
   ptD->Draw();
   sprintf(labelE,"2.0 MOhm (MAIN) pre-Amp");
   TPaveLabel *ptE = new TPaveLabel(0.15,0.64, 0.34,0.68,labelE,"NDC");
   ptE->SetBorderSize(0);
   ptE->SetTextColor(6);
   ptE->SetTextSize(0.75);
   ptE->SetFillColor(0);
   ptE->Draw();

   char flip[256];
   sprintf(flip,"LED flash rate: 240 Hz , with LL: 10.0 nA, PMT# 2");
   TPaveLabel *pt_ff = new TPaveLabel(0.17,0.85,0.50,0.89,flip,"NDC");
   pt_ff->SetBorderSize(0);
   pt_ff->SetTextColor(kBlack);
   pt_ff->SetTextSize(0.80);
   pt_ff->SetFillColor(0);
   pt_ff->Draw();

   char plotname[256];
   sprintf(plotname,"./relativewidth_vs_HV_10nA.png");
   c3->Print(plotname);

   TCanvas *c4 = new TCanvas("c4","#chi^{2}/df vs HV",700,500);
  gPad->SetLogy(0);
  gPad->SetLogx(0);
  gStyle->SetOptStat(kFALSE);

  sprintf(graphname1,"");

   TGraphErrors *gr = new TGraphErrors(points,HV_positive, Chi2);
   gr->SetLineColor(kCyan+3);
   gr->SetMarkerSize(0.75);
   gr->SetTitle("#chi^{2}/df vs HV");
   TExec *ex = new TExec("ex","HVoltage();");
   gr->GetListOfFunctions()->Add(ex);
   gr->Draw("AP");
   gr->GetXaxis()->SetTitle("HV (V)");
   gr->GetXaxis()->SetTitleColor(1);
   gr->GetYaxis()->SetTitle("#chi^{2}/df");
   gr->GetXaxis()->CenterTitle();
   gr->GetYaxis()->CenterTitle();
   gr->GetYaxis()->SetTitleOffset(1.4);
   gPad->Modified();

   sprintf(labelA,"0.1 MOhm (SNS) pre-Amp");
   TPaveLabel *ptA = new TPaveLabel(0.65,0.80, 0.84,0.84,labelA,"NDC");
   ptA->SetBorderSize(0);
   ptA->SetTextColor(1);
   ptA->SetTextSize(0.75);
   ptA->SetFillColor(0);
   ptA->Draw();
   sprintf(labelB,"0.3 MOhm (KDPA) pre-Amp");
   TPaveLabel *ptB = new TPaveLabel(0.65,0.76, 0.84,0.80,labelB,"NDC");
   ptB->SetBorderSize(0);
   ptB->SetTextColor(2);
   ptB->SetTextSize(0.75);
   ptB->SetFillColor(0);
   ptB->Draw();
   sprintf(labelC,"0.5 MOhm (LUMI) pre-Amp");
   TPaveLabel *ptC = new TPaveLabel(0.65,0.72, 0.84,0.76,labelC,"NDC");
   ptC->SetBorderSize(0);
   ptC->SetTextColor(3);
   ptC->SetTextSize(0.75);
   ptC->SetFillColor(0);
   ptC->Draw();
   sprintf(labelD,"1.0 MOhm (LUMI) pre-Amp");
   TPaveLabel *ptD = new TPaveLabel(0.65,0.68, 0.84,0.72,labelD,"NDC");
   ptD->SetBorderSize(0);
   ptD->SetTextColor(4);
   ptD->SetTextSize(0.75);
   ptD->SetFillColor(0);
   ptD->Draw();
   sprintf(labelE,"2.0 MOhm (MAIN) pre-Amp");
   TPaveLabel *ptE = new TPaveLabel(0.65,0.64, 0.84,0.68,labelE,"NDC");
   ptE->SetBorderSize(0);
   ptE->SetTextColor(6);
   ptE->SetTextSize(0.75);
   ptE->SetFillColor(0);
   ptE->Draw();

   char flip[256];
   sprintf(flip,"LED flash rate: 240 Hz , with LL: 10.0 nA, PMT# 2");
   TPaveLabel *pt_ff = new TPaveLabel(0.17,0.85,0.50,0.89,flip,"NDC");
   pt_ff->SetBorderSize(0);
   pt_ff->SetTextColor(kBlack);
   pt_ff->SetTextSize(0.80);
   pt_ff->SetFillColor(0);
   pt_ff->Draw();

   char plotname[256];
   sprintf(plotname,"./Chi2_vs_HV_10nA.png");
   c4->Print(plotname);

  TCanvas *c5 = new TCanvas("c5","#chi^{2}/df vs pre-Amp Settings",700,500);
  gPad->SetLogy(0);
  gPad->SetLogx(0);
  gStyle->SetOptStat(kFALSE);

  sprintf(graphname1,"");

   TGraphErrors *gr = new TGraphErrors(points,myPreAmp, Chi2);
   gr->SetLineColor(kCyan+3);
   gr->SetMarkerSize(0.75);
   gr->SetTitle("#chi^{2}/df vs pre-Amp Settings");
   TExec *ex = new TExec("ex","PreAmp();");
   gr->GetListOfFunctions()->Add(ex);
   gr->Draw("AP");
   gr->GetXaxis()->SetTitle("pre-Amp (MOhm)");
   gr->GetXaxis()->SetTitleColor(1);
   gr->GetYaxis()->SetTitle("#chi^{2}/df");
   gr->GetXaxis()->CenterTitle();
   gr->GetYaxis()->CenterTitle();
   gr->GetYaxis()->SetTitleOffset(1.4);
   gPad->Modified();

   sprintf(label[0],"+   740 V HV");
   TPaveLabel *pt1 = new TPaveLabel(0.57,0.82, 0.65,0.85,label[0],"NDC");
   pt1->SetBorderSize(0);
   pt1->SetTextColor(1);
   pt1->SetTextSize(0.75);
   pt1->SetFillColor(0);
   pt1->Draw();
   sprintf(label[1],"*   700 V HV");
   TPaveLabel *pt2 = new TPaveLabel(0.57,0.79, 0.65,0.82,label[1],"NDC");
   pt2->SetBorderSize(0);
   pt2->SetTextColor(1);
   pt2->SetTextSize(0.75);
   pt2->SetFillColor(0);
   pt2->Draw();
   sprintf(label[2],"+   620 V HV");
   TPaveLabel *pt3 = new TPaveLabel(0.57,0.76, 0.65,0.79,label[2],"NDC");
   pt3->SetBorderSize(0);
   pt3->SetTextColor(2);
   pt3->SetTextSize(0.75);
   pt3->SetFillColor(0);
   pt3->Draw();
   sprintf(label[3],"*   580 V HV");
   TPaveLabel *pt4 = new TPaveLabel(0.57,0.73, 0.65,0.76,label[3],"NDC");
   pt4->SetBorderSize(0);
   pt4->SetTextColor(2);
   pt4->SetTextSize(0.75);
   pt4->SetFillColor(0);
   pt4->Draw();
   sprintf(label[4],"+   565 V HV");
   TPaveLabel *pt5 = new TPaveLabel(0.57,0.70, 0.65,0.73,label[4],"NDC");
   pt5->SetBorderSize(0);
   pt5->SetTextColor(3);
   pt5->SetTextSize(0.75);
   pt5->SetFillColor(0);
   pt5->Draw();
   sprintf(label[5],"*   530 V HV");
   TPaveLabel *pt6 = new TPaveLabel(0.57,0.67, 0.65,0.70,label[5],"NDC");
   pt6->SetBorderSize(0);
   pt6->SetTextColor(3);
   pt6->SetTextSize(0.75);
   pt6->SetFillColor(0);
   pt6->Draw();
   sprintf(label[6],"+   500 V HV");
   TPaveLabel *pt7 = new TPaveLabel(0.57,0.64, 0.65,0.67,label[6],"NDC");
   pt7->SetBorderSize(0);
   pt7->SetTextColor(4);
   pt7->SetTextSize(0.75);
   pt7->SetFillColor(0);
   pt7->Draw();
   sprintf(label[7],"*   465 V HV");
   TPaveLabel *pt8 = new TPaveLabel(0.57,0.61, 0.65,0.64,label[7],"NDC");
   pt8->SetBorderSize(0);
   pt8->SetTextColor(4);
   pt8->SetTextSize(0.75);
   pt8->SetFillColor(0);
   pt8->Draw();
   sprintf(label[8],"+   440 V HV");
   TPaveLabel *pt9 = new TPaveLabel(0.57,0.58, 0.65,0.61,label[8],"NDC");
   pt9->SetBorderSize(0);
   pt9->SetTextColor(6);
   pt9->SetTextSize(0.75);
   pt9->SetFillColor(0);
   pt9->Draw();
   sprintf(label[9],"+   410 V HV");
   TPaveLabel *pt10 = new TPaveLabel(0.57,0.55, 0.65,0.58,label[9],"NDC");
   pt10->SetBorderSize(0);
   pt10->SetTextColor(6);
   pt10->SetTextSize(0.75);
   pt10->SetFillColor(0);
   pt10->Draw();

   char flip[256];
   sprintf(flip,"LED flash rate: 240 Hz , with LL: 10.0 nA, PMT# 2");
   TPaveLabel *pt_ff = new TPaveLabel(0.17,0.85,0.50,0.89,flip,"NDC");
   pt_ff->SetBorderSize(0);
   pt_ff->SetTextColor(kBlack);
   pt_ff->SetTextSize(0.80);
   pt_ff->SetFillColor(0);
   pt_ff->Draw();

   char plotname[256];
   sprintf(plotname,"./Chi2_vs_pre-Amp_Settings_10nA.png");
   c5->Print(plotname);

  TCanvas *c6 = new TCanvas("c6","non-linearity vs RelativeWidth of pedestal ",700,500);
  gPad->SetLogy(0);
  gPad->SetLogx(0);
  gStyle->SetOptStat(kFALSE);

  sprintf(graphname1,"");

   TGraphErrors *gr = new TGraphErrors(points,RelativeWidth,nonLin_positive,erX,erY);
   gr->SetLineColor(kCyan+3);
   gr->SetMarkerSize(0.75);
   gr->SetTitle("non-linearity vs RelativeWidth of pedestal");
   TExec *ex = new TExec("ex","PreAmp();");
   gr->GetListOfFunctions()->Add(ex);
   gr->Draw("AP");
   gr->GetXaxis()->SetTitle("RelativeWidth");
   gr->GetXaxis()->SetTitleColor(1);
   gr->GetYaxis()->SetTitle("non-linearity (%)");
   gr->GetXaxis()->CenterTitle();
   gr->GetYaxis()->CenterTitle();
   gr->GetYaxis()->SetTitleOffset(1.4);
   gPad->Modified();

   sprintf(label[0],"+   740 V HV");
   TPaveLabel *pt1 = new TPaveLabel(0.75,0.82, 0.83,0.85,label[0],"NDC");
   pt1->SetBorderSize(0);
   pt1->SetTextColor(1);
   pt1->SetTextSize(0.75);
   pt1->SetFillColor(0);
   pt1->Draw();
   sprintf(label[1],"*   700 V HV");
   TPaveLabel *pt2 = new TPaveLabel(0.75,0.79, 0.83,0.82,label[1],"NDC");
   pt2->SetBorderSize(0);
   pt2->SetTextColor(1);
   pt2->SetTextSize(0.75);
   pt2->SetFillColor(0);
   pt2->Draw();
   sprintf(label[2],"+   620 V HV");
   TPaveLabel *pt3 = new TPaveLabel(0.75,0.76, 0.83,0.79,label[2],"NDC");
   pt3->SetBorderSize(0);
   pt3->SetTextColor(2);
   pt3->SetTextSize(0.75);
   pt3->SetFillColor(0);
   pt3->Draw();
   sprintf(label[3],"*   580 V HV");
   TPaveLabel *pt4 = new TPaveLabel(0.75,0.73, 0.83,0.76,label[3],"NDC");
   pt4->SetBorderSize(0);
   pt4->SetTextColor(2);
   pt4->SetTextSize(0.75);
   pt4->SetFillColor(0);
   pt4->Draw();
   sprintf(label[4],"+   565 V HV");
   TPaveLabel *pt5 = new TPaveLabel(0.75,0.70, 0.83,0.73,label[4],"NDC");
   pt5->SetBorderSize(0);
   pt5->SetTextColor(3);
   pt5->SetTextSize(0.75);
   pt5->SetFillColor(0);
   pt5->Draw();
   sprintf(label[5],"*   530 V HV");
   TPaveLabel *pt6 = new TPaveLabel(0.75,0.67, 0.83,0.70,label[5],"NDC");
   pt6->SetBorderSize(0);
   pt6->SetTextColor(3);
   pt6->SetTextSize(0.75);
   pt6->SetFillColor(0);
   pt6->Draw();
   sprintf(label[6],"+   500 V HV");
   TPaveLabel *pt7 = new TPaveLabel(0.75,0.64, 0.83,0.67,label[6],"NDC");
   pt7->SetBorderSize(0);
   pt7->SetTextColor(4);
   pt7->SetTextSize(0.75);
   pt7->SetFillColor(0);
   pt7->Draw();
   sprintf(label[7],"*   465 V HV");
   TPaveLabel *pt8 = new TPaveLabel(0.75,0.61, 0.83,0.64,label[7],"NDC");
   pt8->SetBorderSize(0);
   pt8->SetTextColor(4);
   pt8->SetTextSize(0.75);
   pt8->SetFillColor(0);
   pt8->Draw();
   sprintf(label[8],"+   440 V HV");
   TPaveLabel *pt9 = new TPaveLabel(0.75,0.58, 0.83,0.61,label[8],"NDC");
   pt9->SetBorderSize(0);
   pt9->SetTextColor(6);
   pt9->SetTextSize(0.75);
   pt9->SetFillColor(0);
   pt9->Draw();
   sprintf(label[9],"+   410 V HV");
   TPaveLabel *pt10 = new TPaveLabel(0.75,0.55, 0.83,0.58,label[9],"NDC");
   pt10->SetBorderSize(0);
   pt10->SetTextColor(6);
   pt10->SetTextSize(0.75);
   pt10->SetFillColor(0);
   pt10->Draw();

   char flip[256];
   sprintf(flip,"LED flash rate: 240 Hz , with LL: 10.0 nA, PMT# 2");
   TPaveLabel *pt_ff = new TPaveLabel(0.17,0.85,0.50,0.89,flip,"NDC");
   pt_ff->SetBorderSize(0);
   pt_ff->SetTextColor(kBlack);
   pt_ff->SetTextSize(0.80);
   pt_ff->SetFillColor(0);
   pt_ff->Draw();

   char plotname[256];
   sprintf(plotname,"./non-linearity_vs_RelativeWidth_10nA.png");
   c6->Print(plotname);

  TCanvas *c7 = new TCanvas("c7","non-linearity vs Navg",700,500);
  gPad->SetLogy(0);
  gPad->SetLogx(0);
  gStyle->SetOptStat(kFALSE);

  sprintf(graphname1,"");

   TGraphErrors *gr = new TGraphErrors(points,myNavg,nonLin_positive,erX,erY);
   gr->SetLineColor(kCyan+3);
   gr->SetMarkerSize(0.75);
   gr->SetTitle("non-linearity vs Navg");
   TExec *ex = new TExec("ex","PreAmp();");
   gr->GetListOfFunctions()->Add(ex);
   gr->Draw("AP");
   gr->GetXaxis()->SetTitle("Navg");
   gr->GetXaxis()->SetTitleColor(1);
   gr->GetYaxis()->SetTitle("non-linearity (%)");
   gr->GetXaxis()->CenterTitle();
   gr->GetYaxis()->CenterTitle();
   gr->GetYaxis()->SetTitleOffset(1.4);
   gr->GetXaxis()->SetLimits(0,131072);
   gPad->Modified();

   sprintf(label[0],"+ 740 V, 0.1MOhm(SNS)");
   TPaveLabel *pt1 = new TPaveLabel(0.12,0.81, 0.26,0.84,label[0],"NDC");
   pt1->SetBorderSize(0);
   pt1->SetTextColor(1);
   pt1->SetTextSize(0.65);
   pt1->SetFillColor(0);
   pt1->Draw();
   sprintf(label[1],"* 700 V, 0.1MOhm(SNS)");
   TPaveLabel *pt2 = new TPaveLabel(0.12,0.78, 0.26,0.81,label[1],"NDC");
   pt2->SetBorderSize(0);
   pt2->SetTextColor(1);
   pt2->SetTextSize(0.65);
   pt2->SetFillColor(0);
   pt2->Draw();
   sprintf(label[2],"+ 620 V, 0.3MOhm(KDPA)");
   TPaveLabel *pt3 = new TPaveLabel(0.12,0.75, 0.26,0.78,label[2],"NDC");
   pt3->SetBorderSize(0);
   pt3->SetTextColor(2);
   pt3->SetTextSize(0.62);
   pt3->SetFillColor(0);
   pt3->Draw();
   sprintf(label[3],"* 580 V, 0.3MOhm(KDPA)");
   TPaveLabel *pt4 = new TPaveLabel(0.12,0.72, 0.26,0.75,label[3],"NDC");
   pt4->SetBorderSize(0);
   pt4->SetTextColor(2);
   pt4->SetTextSize(0.65);
   pt4->SetFillColor(0);
   pt4->Draw();
   sprintf(label[4],"+ 565 V, 0.5MOhm(LUMI)");
   TPaveLabel *pt5 = new TPaveLabel(0.12,0.69, 0.26,0.72,label[4],"NDC");
   pt5->SetBorderSize(0);
   pt5->SetTextColor(3);
   pt5->SetTextSize(0.65);
   pt5->SetFillColor(0);
   pt5->Draw();
   sprintf(label[5],"* 530 V, 0.5MOhm(LUMI)");
   TPaveLabel *pt6 = new TPaveLabel(0.12,0.66, 0.26,0.69,label[5],"NDC");
   pt6->SetBorderSize(0);
   pt6->SetTextColor(3);
   pt6->SetTextSize(0.65);
   pt6->SetFillColor(0);
   pt6->Draw();
   sprintf(label[6],"+ 500 V, 1.0MOhm(LUMI)");
   TPaveLabel *pt7 = new TPaveLabel(0.12,0.63, 0.26,0.66,label[6],"NDC");
   pt7->SetBorderSize(0);
   pt7->SetTextColor(4);
   pt7->SetTextSize(0.65);
   pt7->SetFillColor(0);
   pt7->Draw();
   sprintf(label[7],"* 465 V, 1.0MOhm(LUMI)");
   TPaveLabel *pt8 = new TPaveLabel(0.12,0.60, 0.26,0.63,label[7],"NDC");
   pt8->SetBorderSize(0);
   pt8->SetTextColor(4);
   pt8->SetTextSize(0.65);
   pt8->SetFillColor(0);
   pt8->Draw();
   sprintf(label[8],"+ 440 V, 2.0MOhm(MAIN)");
   TPaveLabel *pt9 = new TPaveLabel(0.12,0.57, 0.26,0.60,label[8],"NDC");
   pt9->SetBorderSize(0);
   pt9->SetTextColor(6);
   pt9->SetTextSize(0.65);
   pt9->SetFillColor(0);
   pt9->Draw();
   sprintf(label[9],"* 410 V, 2.0MOhm(MAIN)");
   TPaveLabel *pt10 = new TPaveLabel(0.12,0.54, 0.26,0.57,label[9],"NDC");
   pt10->SetBorderSize(0);
   pt10->SetTextColor(6);
   pt10->SetTextSize(0.65);
   pt10->SetFillColor(0);
   pt10->Draw();

   char flip[256];
   sprintf(flip,"LED flash rate: 240 Hz , with LL: 10.0 nA, PMT# 2");
   TPaveLabel *pt_ff = new TPaveLabel(0.17,0.85,0.50,0.89,flip,"NDC");
   pt_ff->SetBorderSize(0);
   pt_ff->SetTextColor(kBlack);
   pt_ff->SetTextSize(0.80);
   pt_ff->SetFillColor(0);
   pt_ff->Draw();

   char plotname[256];
   sprintf(plotname,"./non-linearity_vs_Navg_10nA.png");
   c7->Print(plotname);

  TCanvas *c8 = new TCanvas("c8","non-linearity vs ADC Signal",700,500);
  gPad->SetLogy(0);
  gPad->SetLogx(0);
  gStyle->SetOptStat(kFALSE);

  sprintf(graphname1,"");

   TGraphErrors *gr = new TGraphErrors(points,Vout,nonLin_positive,erX,erY);
   gr->SetLineColor(kCyan+3);
   gr->SetMarkerSize(0.75);
   gr->SetTitle("non-linearity vs ADC Signal (V)");
   TExec *ex = new TExec("ex","PreAmp();");
   gr->GetListOfFunctions()->Add(ex);
   gr->Draw("AP");
   gr->GetXaxis()->SetTitle("ADC Signal (V)");
   gr->GetXaxis()->SetTitleColor(1);
   gr->GetYaxis()->SetTitle("non-linearity (%)");
   gr->GetXaxis()->CenterTitle();
   gr->GetYaxis()->CenterTitle();
   gr->GetYaxis()->SetTitleOffset(1.4);
   gr->GetXaxis()->SetLimits(0,10);
   gPad->Modified();

   sprintf(label[0],"+ 740 V, 0.1MOhm(SNS))");
   TPaveLabel *pt1 = new TPaveLabel(0.12,0.81, 0.26,0.84,label[0],"NDC");
   pt1->SetBorderSize(0);
   pt1->SetTextColor(1);
   pt1->SetTextSize(0.65);
   pt1->SetFillColor(0);
   pt1->Draw();
   sprintf(label[1],"* 700 V, 0.1MOhm(SNS)");
   TPaveLabel *pt2 = new TPaveLabel(0.12,0.78, 0.26,0.81,label[1],"NDC");
   pt2->SetBorderSize(0);
   pt2->SetTextColor(1);
   pt2->SetTextSize(0.65);
   pt2->SetFillColor(0);
   pt2->Draw();
   sprintf(label[2],"+ 620 V, 0.3MOhm(KDPA)");
   TPaveLabel *pt3 = new TPaveLabel(0.12,0.75, 0.26,0.78,label[2],"NDC");
   pt3->SetBorderSize(0);
   pt3->SetTextColor(2);
   pt3->SetTextSize(0.62);
   pt3->SetFillColor(0);
   pt3->Draw();
   sprintf(label[3],"* 580 V, 0.3MOhm(KDPA)");
   TPaveLabel *pt4 = new TPaveLabel(0.12,0.72, 0.26,0.75,label[3],"NDC");
   pt4->SetBorderSize(0);
   pt4->SetTextColor(2);
   pt4->SetTextSize(0.65);
   pt4->SetFillColor(0);
   pt4->Draw();
   sprintf(label[4],"+ 565 V, 0.5MOhm(LUMI)");
   TPaveLabel *pt5 = new TPaveLabel(0.12,0.69, 0.26,0.72,label[4],"NDC");
   pt5->SetBorderSize(0);
   pt5->SetTextColor(3);
   pt5->SetTextSize(0.65);
   pt5->SetFillColor(0);
   pt5->Draw();
   sprintf(label[5],"* 530 V, 0.5MOhm(LUMI)");
   TPaveLabel *pt6 = new TPaveLabel(0.12,0.66, 0.26,0.69,label[5],"NDC");
   pt6->SetBorderSize(0);
   pt6->SetTextColor(3);
   pt6->SetTextSize(0.65);
   pt6->SetFillColor(0);
   pt6->Draw();
   sprintf(label[6],"+ 500 V, 1.0MOhm(LUMI)");
   TPaveLabel *pt7 = new TPaveLabel(0.12,0.63, 0.26,0.66,label[6],"NDC");
   pt7->SetBorderSize(0);
   pt7->SetTextColor(4);
   pt7->SetTextSize(0.65);
   pt7->SetFillColor(0);
   pt7->Draw();
   sprintf(label[7],"* 465 V, 1.0MOhm(LUMI)");
   TPaveLabel *pt8 = new TPaveLabel(0.12,0.60, 0.26,0.63,label[7],"NDC");
   pt8->SetBorderSize(0);
   pt8->SetTextColor(4);
   pt8->SetTextSize(0.65);
   pt8->SetFillColor(0);
   pt8->Draw();
   sprintf(label[8],"+ 440 V, 2.0MOhm(MAIN)");
   TPaveLabel *pt9 = new TPaveLabel(0.12,0.57, 0.26,0.60,label[8],"NDC");
   pt9->SetBorderSize(0);
   pt9->SetTextColor(6);
   pt9->SetTextSize(0.65);
   pt9->SetFillColor(0);
   pt9->Draw();
   sprintf(label[9],"* 410 V, 2.0MOhm(MAIN)");
   TPaveLabel *pt10 = new TPaveLabel(0.12,0.54, 0.26,0.57,label[9],"NDC");
   pt10->SetBorderSize(0);
   pt10->SetTextColor(6);
   pt10->SetTextSize(0.65);
   pt10->SetFillColor(0);
   pt10->Draw();

   char flip[256];
   sprintf(flip,"LED flash rate: 240 Hz , with LL: 10.0 nA, PMT# 2");
   TPaveLabel *pt_ff = new TPaveLabel(0.17,0.85,0.50,0.89,flip,"NDC");
   pt_ff->SetBorderSize(0);
   pt_ff->SetTextColor(kBlack);
   pt_ff->SetTextSize(0.80);
   pt_ff->SetFillColor(0);
   pt_ff->Draw();

   char plotname[256];
   sprintf(plotname,"./non-linearity_vs_ADC-Signal_10nA.png");
   c8->Print(plotname);

  TCanvas *c9 = new TCanvas("c9","non-linearity per volt vs ADC Signal",700,500);
  gPad->SetLogy(0);
  gPad->SetLogx(0);
  gStyle->SetOptStat(kFALSE);

  sprintf(graphname1,"");

   TGraphErrors *gr = new TGraphErrors(points,Vout,nonLinpV_positive);
   gr->SetLineColor(kCyan+3);
   gr->SetMarkerSize(0.75);
   gr->SetTitle("non-linearity per volt vs ADC Signal (V)");
   TExec *ex = new TExec("ex","PreAmp();");
   gr->GetListOfFunctions()->Add(ex);
   gr->Draw("AP");
   gr->GetXaxis()->SetTitle("ADC Signal (V)");
   gr->GetXaxis()->SetTitleColor(1);
   gr->GetYaxis()->SetTitle("non-linearity per volt (%)");
   gr->GetXaxis()->CenterTitle();
   gr->GetYaxis()->CenterTitle();
   gr->GetYaxis()->SetTitleOffset(1.4);
   gr->GetXaxis()->SetLimits(0,10);
   gPad->Modified();

   sprintf(label[0],"+ 740 V, 0.1MOhm(SNS))");
   TPaveLabel *pt1 = new TPaveLabel(0.12,0.81, 0.26,0.84,label[0],"NDC");
   pt1->SetBorderSize(0);
   pt1->SetTextColor(1);
   pt1->SetTextSize(0.65);
   pt1->SetFillColor(0);
   pt1->Draw();
   sprintf(label[1],"* 700 V, 0.1MOhm(SNS)");
   TPaveLabel *pt2 = new TPaveLabel(0.12,0.78, 0.26,0.81,label[1],"NDC");
   pt2->SetBorderSize(0);
   pt2->SetTextColor(1);
   pt2->SetTextSize(0.65);
   pt2->SetFillColor(0);
   pt2->Draw();
   sprintf(label[2],"+ 620 V, 0.3MOhm(KDPA)");
   TPaveLabel *pt3 = new TPaveLabel(0.12,0.75, 0.26,0.78,label[2],"NDC");
   pt3->SetBorderSize(0);
   pt3->SetTextColor(2);
   pt3->SetTextSize(0.62);
   pt3->SetFillColor(0);
   pt3->Draw();
   sprintf(label[3],"* 580 V, 0.3MOhm(KDPA)");
   TPaveLabel *pt4 = new TPaveLabel(0.12,0.72, 0.26,0.75,label[3],"NDC");
   pt4->SetBorderSize(0);
   pt4->SetTextColor(2);
   pt4->SetTextSize(0.65);
   pt4->SetFillColor(0);
   pt4->Draw();
   sprintf(label[4],"+ 565 V, 0.5MOhm(LUMI)");
   TPaveLabel *pt5 = new TPaveLabel(0.12,0.69, 0.26,0.72,label[4],"NDC");
   pt5->SetBorderSize(0);
   pt5->SetTextColor(3);
   pt5->SetTextSize(0.65);
   pt5->SetFillColor(0);
   pt5->Draw();
   sprintf(label[5],"* 530 V, 0.5MOhm(LUMI)");
   TPaveLabel *pt6 = new TPaveLabel(0.12,0.66, 0.26,0.69,label[5],"NDC");
   pt6->SetBorderSize(0);
   pt6->SetTextColor(3);
   pt6->SetTextSize(0.65);
   pt6->SetFillColor(0);
   pt6->Draw();
   sprintf(label[6],"+ 500 V, 1.0MOhm(LUMI)");
   TPaveLabel *pt7 = new TPaveLabel(0.12,0.63, 0.26,0.66,label[6],"NDC");
   pt7->SetBorderSize(0);
   pt7->SetTextColor(4);
   pt7->SetTextSize(0.65);
   pt7->SetFillColor(0);
   pt7->Draw();
   sprintf(label[7],"* 465 V, 1.0MOhm(LUMI)");
   TPaveLabel *pt8 = new TPaveLabel(0.12,0.60, 0.26,0.63,label[7],"NDC");
   pt8->SetBorderSize(0);
   pt8->SetTextColor(4);
   pt8->SetTextSize(0.65);
   pt8->SetFillColor(0);
   pt8->Draw();
   sprintf(label[8],"+ 440 V, 2.0MOhm(MAIN)");
   TPaveLabel *pt9 = new TPaveLabel(0.12,0.57, 0.26,0.60,label[8],"NDC");
   pt9->SetBorderSize(0);
   pt9->SetTextColor(6);
   pt9->SetTextSize(0.65);
   pt9->SetFillColor(0);
   pt9->Draw();
   sprintf(label[9],"* 410 V, 2.0MOhm(MAIN)");
   TPaveLabel *pt10 = new TPaveLabel(0.12,0.54, 0.26,0.57,label[9],"NDC");
   pt10->SetBorderSize(0);
   pt10->SetTextColor(6);
   pt10->SetTextSize(0.65);
   pt10->SetFillColor(0);
   pt10->Draw();

   char flip[256];
   sprintf(flip,"LED flash rate: 240 Hz , with LL: 10.0 nA, PMT# 2");
   TPaveLabel *pt_ff = new TPaveLabel(0.17,0.85,0.50,0.89,flip,"NDC");
   pt_ff->SetBorderSize(0);
   pt_ff->SetTextColor(kBlack);
   pt_ff->SetTextSize(0.80);
   pt_ff->SetFillColor(0);
   pt_ff->Draw();

   char plotname[256];
   sprintf(plotname,"./non-linearity_per_volt_vs_ADC-Signal_10nA.png");
   c9->Print(plotname);

  TCanvas *c10 = new TCanvas("c10","non-Linearity per volt vs HV",0,0,700,500);
  gPad->SetLogy(0);
  gPad->SetLogx(0);
  gStyle->SetOptStat(kFALSE);

  sprintf(graphname1,"");

   TGraphErrors *gr = new TGraphErrors(points,HV_positive, nonLinpV_positive);
   gr->SetLineColor(kCyan+3);
   gr->SetMarkerSize(0.75);
   gr->SetTitle("non-linearity per volt vs HV");
   TExec *ex = new TExec("ex","HVoltage();");
   gr->GetListOfFunctions()->Add(ex);
   gr->Draw("AP");
   gr->GetXaxis()->SetTitle("HV (V)");
   gr->GetXaxis()->SetTitleColor(1);
   gr->GetYaxis()->SetTitle("nonLinearity per volt (%)");
   gr->GetXaxis()->CenterTitle();
   gr->GetYaxis()->CenterTitle();
   gr->GetYaxis()->SetTitleOffset(1.4);
   gPad->Modified();

   sprintf(labelA,"0.1 MOhm (SNS) pre-Amp");
   TPaveLabel *ptA = new TPaveLabel(0.65,0.85, 0.84,0.89,labelA,"NDC");
   ptA->SetBorderSize(0);
   ptA->SetTextColor(1);
   ptA->SetTextSize(0.75);
   ptA->SetFillColor(0);
   ptA->Draw();
   sprintf(labelB,"0.3 MOhm (KDPA) pre-Amp");
   TPaveLabel *ptB = new TPaveLabel(0.65,0.81, 0.84,0.85,labelB,"NDC");
   ptB->SetBorderSize(0);
   ptB->SetTextColor(2);
   ptB->SetTextSize(0.75);
   ptB->SetFillColor(0);
   ptB->Draw();
   sprintf(labelC,"0.5 MOhm (LUMI) pre-Amp");
   TPaveLabel *ptC = new TPaveLabel(0.65,0.77, 0.84,0.81,labelC,"NDC");
   ptC->SetBorderSize(0);
   ptC->SetTextColor(3);
   ptC->SetTextSize(0.75);
   ptC->SetFillColor(0);
   ptC->Draw();
   sprintf(labelD,"1.0 MOhm (LUMI) pre-Amp");
   TPaveLabel *ptD = new TPaveLabel(0.65,0.73, 0.84,0.77,labelD,"NDC");
   ptD->SetBorderSize(0);
   ptD->SetTextColor(4);
   ptD->SetTextSize(0.75);
   ptD->SetFillColor(0);
   ptD->Draw();
   sprintf(labelE,"2.0 MOhm (MAIN) pre-Amp");
   TPaveLabel *ptE = new TPaveLabel(0.65,0.69, 0.84,0.73,labelE,"NDC");
   ptE->SetBorderSize(0);
   ptE->SetTextColor(6);
   ptE->SetTextSize(0.75);
   ptE->SetFillColor(0);
   ptE->Draw();

   char flip[256];
   sprintf(flip,"LED flash rate: 240 Hz , with LL: 10.0 nA, PMT# 2");
   TPaveLabel *pt_ff = new TPaveLabel(0.17,0.85,0.50,0.89,flip,"NDC");
   pt_ff->SetBorderSize(0);
   pt_ff->SetTextColor(kBlack);
   pt_ff->SetTextSize(0.80);
   pt_ff->SetFillColor(0);
   pt_ff->Draw();

   char plotname[256];
   sprintf(plotname,"./nonLinearity_per_volt_vs_HV_10nA.png");
   c10->Print(plotname);

   TCanvas *c11 = new TCanvas("c11","nonLinearity per volt vs pre-Amp Settings",700,500);
  gPad->SetLogy(0);
  gPad->SetLogx(0);
  gStyle->SetOptStat(kFALSE);

  sprintf(graphname1,"");

   TGraphErrors *gr = new TGraphErrors(points,myPreAmp, nonLinpV_positive);
   gr->SetLineColor(kCyan+3);
   gr->SetMarkerSize(0.75);
   gr->SetTitle("non-linearity per volt vs pre-Amp Settings");
   TExec *ex = new TExec("ex","PreAmp();");
   gr->GetListOfFunctions()->Add(ex);
   gr->Draw("AP");
   gr->GetXaxis()->SetTitle("pre-Amp (MOhm)");
   gr->GetXaxis()->SetTitleColor(1);
   gr->GetYaxis()->SetTitle("nonLinearity per volt (%)");
   gr->GetXaxis()->CenterTitle();
   gr->GetYaxis()->CenterTitle();
   gr->GetYaxis()->SetTitleOffset(1.4);
   gPad->Modified();

   sprintf(label[0],"+   740 V HV");
   TPaveLabel *pt1 = new TPaveLabel(0.65,0.86, 0.73,0.89,label[0],"NDC");
   pt1->SetBorderSize(0);
   pt1->SetTextColor(1);
   pt1->SetTextSize(0.75);
   pt1->SetFillColor(0);
   pt1->Draw();
   sprintf(label[1],"*   700 V HV");
   TPaveLabel *pt2 = new TPaveLabel(0.65,0.83, 0.73,0.86,label[1],"NDC");
   pt2->SetBorderSize(0);
   pt2->SetTextColor(1);
   pt2->SetTextSize(0.75);
   pt2->SetFillColor(0);
   pt2->Draw();
   sprintf(label[2],"+   620 V HV");
   TPaveLabel *pt3 = new TPaveLabel(0.65,0.80, 0.73,0.83,label[2],"NDC");
   pt3->SetBorderSize(0);
   pt3->SetTextColor(2);
   pt3->SetTextSize(0.75);
   pt3->SetFillColor(0);
   pt3->Draw();
   sprintf(label[3],"*   580 V HV");
   TPaveLabel *pt4 = new TPaveLabel(0.65,0.77, 0.73,0.80,label[3],"NDC");
   pt4->SetBorderSize(0);
   pt4->SetTextColor(2);
   pt4->SetTextSize(0.75);
   pt4->SetFillColor(0);
   pt4->Draw();
   sprintf(label[4],"+   565 V HV");
   TPaveLabel *pt5 = new TPaveLabel(0.65,0.74, 0.73,0.77,label[4],"NDC");
   pt5->SetBorderSize(0);
   pt5->SetTextColor(3);
   pt5->SetTextSize(0.75);
   pt5->SetFillColor(0);
   pt5->Draw();
   sprintf(label[5],"*   530 V HV");
   TPaveLabel *pt6 = new TPaveLabel(0.65,0.71, 0.73,0.74,label[5],"NDC");
   pt6->SetBorderSize(0);
   pt6->SetTextColor(3);
   pt6->SetTextSize(0.75);
   pt6->SetFillColor(0);
   pt6->Draw();
   sprintf(label[6],"+   500 V HV");
   TPaveLabel *pt7 = new TPaveLabel(0.65,0.68, 0.73,0.71,label[6],"NDC");
   pt7->SetBorderSize(0);
   pt7->SetTextColor(4);
   pt7->SetTextSize(0.75);
   pt7->SetFillColor(0);
   pt7->Draw();
   sprintf(label[7],"*   465 V HV");
   TPaveLabel *pt8 = new TPaveLabel(0.65,0.65, 0.73,0.68,label[7],"NDC");
   pt8->SetBorderSize(0);
   pt8->SetTextColor(4);
   pt8->SetTextSize(0.75);
   pt8->SetFillColor(0);
   pt8->Draw();
   sprintf(label[8],"+   440 V HV");
   TPaveLabel *pt9 = new TPaveLabel(0.65,0.62, 0.73,0.65,label[8],"NDC");
   pt9->SetBorderSize(0);
   pt9->SetTextColor(6);
   pt9->SetTextSize(0.75);
   pt9->SetFillColor(0);
   pt9->Draw();
   sprintf(label[9],"+   410 V HV");
   TPaveLabel *pt10 = new TPaveLabel(0.65,0.59, 0.73,0.62,label[9],"NDC");
   pt10->SetBorderSize(0);
   pt10->SetTextColor(6);
   pt10->SetTextSize(0.75);
   pt10->SetFillColor(0);
   pt10->Draw();

   char flip[256];
   sprintf(flip,"LED flash rate: 240 Hz , with LL: 10.0 nA, PMT# 2");
   TPaveLabel *pt_ff = new TPaveLabel(0.17,0.85,0.50,0.89,flip,"NDC");
   pt_ff->SetBorderSize(0);
   pt_ff->SetTextColor(kBlack);
   pt_ff->SetTextSize(0.80);
   pt_ff->SetFillColor(0);
   pt_ff->Draw();

   char plotname[256];
   sprintf(plotname,"./nonLinearity_per_volt_vs_pre-Amp_Settings_10nA.png");
   c11->Print(plotname);
	}

void HVoltage(){
   Int_t i,points,j;
   Double_t x,y;

   TGraph *g = (TGraph*)gPad->GetListOfPrimitives()->FindObject("Graph");
   points = g->GetN();
   TMarker *m;

	for (i=0; i<points; i++) {
     g->GetPoint(i,x,y);
	m = new TMarker(x,y,29);
	if(i>=0 && i<=1){
	m->SetMarkerColor(1);
	}else if(i>=2 && i<=3){
	m->SetMarkerColor(2);
	}else if(i>=4 && i<=5){
	m->SetMarkerColor(3);
	}else if(i>=6 && i<=7){
	m->SetMarkerColor(4);
	}else if (i>=8 && i<=9){
	m->SetMarkerColor(6);
	}else {
	m->SetMarkerColor(7);	
	}
     m->Paint();
	}
	}

void PreAmp(){
   Int_t i,points,j;
   Double_t x,y;

   TGraph *g1 = (TGraph*)gPad->GetListOfPrimitives()->FindObject("Graph");
   points = g1->GetN();
   TMarker *m1;

	for (i=0; i<points; i++) {
     g1->GetPoint(i,x,y);
	if(i==0){
	m1 = new TMarker(x,y,34);
	m1->SetMarkerColor(1);
	}else if(i==1){
	m1 = new TMarker(x,y,29);
	m1->SetMarkerColor(1);
	}else if(i==2){
	m1 = new TMarker(x,y,34);
	m1->SetMarkerColor(2);
	}else if(i==3){
	m1 = new TMarker(x,y,29);
	m1->SetMarkerColor(2);
	}else if(i==4){
	m1 = new TMarker(x,y,34);
	m1->SetMarkerColor(3);
	}else if(i==5){
	m1 = new TMarker(x,y,29);
	m1->SetMarkerColor(3);
	}else if(i==6){
	m1 = new TMarker(x,y,34);
	m1->SetMarkerColor(4);
	}else if(i==7){
	m1 = new TMarker(x,y,29);
	m1->SetMarkerColor(4);
	}else if(i==8){
	m1 = new TMarker(x,y,34);
	m1->SetMarkerColor(6);
	}else if(i==9){
	m1 = new TMarker(x,y,29);
	m1->SetMarkerColor(6);
	}else if(i==10){
	m1 = new TMarker(x,y,34);
	m1->SetMarkerColor(7);
	}else if(i==11){
	m1 = new TMarker(x,y,29);
	m1->SetMarkerColor(7);
	}
     m1->Paint();
	}
	}