Added linearity percentages.

This commit is contained in:
redford_s
2019-01-18 18:02:50 +01:00
parent 2f4ffb730d
commit 24d8d3e8da
2 changed files with 124 additions and 4 deletions

View File

@ -1109,13 +1109,39 @@ int main(int argc, char* argv[]) {
TF1* flat_g1 = new TF1("flat_g1","0",rangemin_g1, rangemax_g1);
flat_g1->SetLineColor(kGreen+2);
TF1* lin_g1_p02pc = new TF1("lin_g1_p02pc","[0]+[1]*x",rangemin_g1,rangemax_g1);
lin_g1_p02pc->SetParameter(0,fit_g1->GetParameter(0)/500.);
lin_g1_p02pc->SetParameter(1,fit_g1->GetParameter(1)/500.);
lin_g1_p02pc->SetLineColor(kOrange);
TF1* lin_g1_p05pc = new TF1("lin_g1_p05pc","[0]+[1]*x",rangemin_g1,rangemax_g1);
lin_g1_p05pc->SetParameter(0,fit_g1->GetParameter(0)/200.);
lin_g1_p05pc->SetParameter(1,fit_g1->GetParameter(1)/200.);
lin_g1_p05pc->SetLineColor(kOrange+1);
TF1* lin_g1_m02pc = new TF1("lin_g1_m02pc","[0]+[1]*x",rangemin_g1,rangemax_g1);
lin_g1_m02pc->SetParameter(0,fit_g1->GetParameter(0)/-500.);
lin_g1_m02pc->SetParameter(1,fit_g1->GetParameter(1)/-500.);
lin_g1_m02pc->SetLineColor(kOrange);
TF1* lin_g1_m05pc = new TF1("lin_g1_m05pc","[0]+[1]*x",rangemin_g1,rangemax_g1);
lin_g1_m05pc->SetParameter(0,fit_g1->GetParameter(0)/-200.);
lin_g1_m05pc->SetParameter(1,fit_g1->GetParameter(1)/-200.);
lin_g1_m05pc->SetLineColor(kOrange+1);
norm_g1->GetXaxis()->SetTitle("Integration time [#mus]");
norm_g1->GetYaxis()->SetTitle("Normalised ADC [ADU]");
norm_g1->GetYaxis()->SetTitleOffset(0.9);
norm_g1->SetMinimum(-100);
norm_g1->SetMaximum(100);
norm_g1->GetXaxis()->SetRangeUser(r1_filter[0],rangemax_g1);
norm_g1->SetMinimum(1.5*lin_g1_m05pc->Eval(rangemin_g1));
norm_g1->SetMaximum(1.5*lin_g1_p05pc->Eval(rangemin_g1));
norm_g1->Draw("AP");
flat_g1->Draw("same");
lin_g1_p02pc->Draw("same");
lin_g1_p05pc->Draw("same");
lin_g1_m02pc->Draw("same");
lin_g1_m05pc->Draw("same");
norm_g1->Draw("P");
sprintf(savename,"plots/M%s/CurrentSource/pixel_%s_%d_g1norm_M%s.png", module_str.c_str(), pixel_type.c_str(), i, module_str.c_str());
mapcanvas->SaveAs((const char *)(savename));
@ -1214,13 +1240,39 @@ int main(int argc, char* argv[]) {
TF1* flat_g2 = new TF1("flat_g2","0",rangemin_g2, rangemax_g2);
flat_g2->SetLineColor(kRed);
TF1* lin_g2_p02pc = new TF1("lin_g2_p02pc","[0]+[1]*x",rangemin_g2,rangemax_g2);
lin_g2_p02pc->SetParameter(0,fit_g2->GetParameter(0)/500.);
lin_g2_p02pc->SetParameter(1,fit_g2->GetParameter(1)/500.);
lin_g2_p02pc->SetLineColor(kOrange);
TF1* lin_g2_p05pc = new TF1("lin_g2_p05pc","[0]+[1]*x",rangemin_g2,rangemax_g2);
lin_g2_p05pc->SetParameter(0,fit_g2->GetParameter(0)/200.);
lin_g2_p05pc->SetParameter(1,fit_g2->GetParameter(1)/200.);
lin_g2_p05pc->SetLineColor(kOrange+1);
TF1* lin_g2_m02pc = new TF1("lin_g2_m02pc","[0]+[1]*x",rangemin_g2,rangemax_g2);
lin_g2_m02pc->SetParameter(0,fit_g2->GetParameter(0)/-500.);
lin_g2_m02pc->SetParameter(1,fit_g2->GetParameter(1)/-500.);
lin_g2_m02pc->SetLineColor(kOrange);
TF1* lin_g2_m05pc = new TF1("lin_g2_m05pc","[0]+[1]*x",rangemin_g2,rangemax_g2);
lin_g2_m05pc->SetParameter(0,fit_g2->GetParameter(0)/-200.);
lin_g2_m05pc->SetParameter(1,fit_g2->GetParameter(1)/-200.);
lin_g2_m05pc->SetLineColor(kOrange+1);
norm_g2->GetXaxis()->SetTitle("Integration time [#mus]");
norm_g2->GetYaxis()->SetTitle("Normalised ADC [ADU]");
norm_g2->GetYaxis()->SetTitleOffset(0.9);
norm_g2->SetMinimum(-100);
norm_g2->SetMaximum(100);
norm_g2->GetXaxis()->SetRangeUser(rangemin_g2,rangemax_g2);
norm_g2->SetMinimum(1.5*lin_g2_m05pc->Eval(rangemin_g2));
norm_g2->SetMaximum(1.5*lin_g2_p05pc->Eval(rangemin_g2));
norm_g2->Draw("AP");
flat_g2->Draw("same");
lin_g2_p02pc->Draw("same");
lin_g2_p05pc->Draw("same");
lin_g2_m02pc->Draw("same");
lin_g2_m05pc->Draw("same");
norm_g2->Draw("P");
sprintf(savename,"plots/M%s/CurrentSource/pixel_%s_%d_g2norm_M%s.png", module_str.c_str(), pixel_type.c_str(), i, module_str.c_str());
mapcanvas->SaveAs((const char *)(savename));