4608 cout <<
"READING CORRECTIONS: " << endl;
4611 m_errors = (TDirectory *)
file->FindKey(
"Correction")->ReadObj();
4613 m_errors = (TDirectory *)
file->FindKey(
"CorrectionAr")->ReadObj();
4615 this->Divide(2, 3, 0.01, 0.01);
4619 TH2F *tres_vs_ToT_ba =
nullptr;
4620 TH2F *tres_vs_ToT_bc =
nullptr;
4622 TH2F *res_vs_ToT_ba =
nullptr;
4623 TH2F *res_vs_ToT_bc =
nullptr;
4631 if (
m_errors->FindKey(
"tres_vs_ToT_ba"))
4632 tres_vs_ToT_ba = (
TH2F *)
m_errors->FindKey(
"tres_vs_ToT_ba")->ReadObj();
4633 if (
m_errors->FindKey(
"res_vs_ToT_ba"))
4634 res_vs_ToT_ba = (
TH2F *)
m_errors->FindKey(
"res_vs_ToT_ba")->ReadObj();
4635 if (
m_errors->FindKey(
"tres_vs_ToT_bc"))
4636 tres_vs_ToT_bc = (
TH2F *)
m_errors->FindKey(
"tres_vs_ToT_bc")->ReadObj();
4637 if (
m_errors->FindKey(
"res_vs_ToT_bc"))
4638 res_vs_ToT_bc = (
TH2F *)
m_errors->FindKey(
"res_vs_ToT_bc")->ReadObj();
4642 if (
m_errors->FindKey(
"tres_vs_ToT_ea"))
4643 tres_vs_ToT_ba = (
TH2F *)
m_errors->FindKey(
"tres_vs_ToT_ea")->ReadObj();
4644 if (
m_errors->FindKey(
"res_vs_ToT_ea"))
4645 res_vs_ToT_ba = (
TH2F *)
m_errors->FindKey(
"res_vs_ToT_ea")->ReadObj();
4646 if (
m_errors->FindKey(
"tres_vs_ToT_ec"))
4647 tres_vs_ToT_bc = (
TH2F *)
m_errors->FindKey(
"tres_vs_ToT_ec")->ReadObj();
4648 if (
m_errors->FindKey(
"res_vs_ToT_ec"))
4649 res_vs_ToT_bc = (
TH2F *)
m_errors->FindKey(
"res_vs_ToT_ec")->ReadObj();
4656 if (
m_errors->FindKey(
"tres_vs_HT_ba"))
4657 tres_vs_ToT_ba = (
TH2F *)
m_errors->FindKey(
"tres_vs_HT_ba")->ReadObj();
4658 if (
m_errors->FindKey(
"res_vs_HT_ba"))
4659 res_vs_ToT_ba = (
TH2F *)
m_errors->FindKey(
"res_vs_HT_ba")->ReadObj();
4660 if (
m_errors->FindKey(
"tres_vs_HT_bc"))
4661 tres_vs_ToT_bc = (
TH2F *)
m_errors->FindKey(
"tres_vs_HT_bc")->ReadObj();
4662 if (
m_errors->FindKey(
"res_vs_HT_bc"))
4663 res_vs_ToT_bc = (
TH2F *)
m_errors->FindKey(
"res_vs_HT_bc")->ReadObj();
4667 if (
m_errors->FindKey(
"tres_vs_HT_ea"))
4668 tres_vs_ToT_ba = (
TH2F *)
m_errors->FindKey(
"tres_vs_HT_ea")->ReadObj();
4669 if (
m_errors->FindKey(
"res_vs_HT_ea"))
4670 res_vs_ToT_ba = (
TH2F *)
m_errors->FindKey(
"res_vs_HT_ea")->ReadObj();
4671 if (
m_errors->FindKey(
"tres_vs_HT_ec"))
4672 tres_vs_ToT_bc = (
TH2F *)
m_errors->FindKey(
"tres_vs_HT_ec")->ReadObj();
4673 if (
m_errors->FindKey(
"res_vs_HT_ec"))
4674 res_vs_ToT_bc = (
TH2F *)
m_errors->FindKey(
"res_vs_HT_ec")->ReadObj();
4684 if (
m_errors->FindKey(
"tresAr_vs_ToT_ba"))
4685 tres_vs_ToT_ba = (
TH2F *)
m_errors->FindKey(
"tresAr_vs_ToT_ba")->ReadObj();
4686 if (
m_errors->FindKey(
"resAr_vs_ToT_ba"))
4687 res_vs_ToT_ba = (
TH2F *)
m_errors->FindKey(
"resAr_vs_ToT_ba")->ReadObj();
4688 if (
m_errors->FindKey(
"tresAr_vs_ToT_bc"))
4689 tres_vs_ToT_bc = (
TH2F *)
m_errors->FindKey(
"tresAr_vs_ToT_bc")->ReadObj();
4690 if (
m_errors->FindKey(
"resAr_vs_ToT_bc"))
4691 res_vs_ToT_bc = (
TH2F *)
m_errors->FindKey(
"resAr_vs_ToT_bc")->ReadObj();
4695 if (
m_errors->FindKey(
"tresAr_vs_ToT_ea"))
4696 tres_vs_ToT_ba = (
TH2F *)
m_errors->FindKey(
"tresAr_vs_ToT_ea")->ReadObj();
4697 if (
m_errors->FindKey(
"resAr_vs_ToT_ea"))
4698 res_vs_ToT_ba = (
TH2F *)
m_errors->FindKey(
"resAr_vs_ToT_ea")->ReadObj();
4699 if (
m_errors->FindKey(
"tresAr_vs_ToT_ec"))
4700 tres_vs_ToT_bc = (
TH2F *)
m_errors->FindKey(
"tresAr_vs_ToT_ec")->ReadObj();
4701 if (
m_errors->FindKey(
"resAr_vs_ToT_ec"))
4702 res_vs_ToT_bc = (
TH2F *)
m_errors->FindKey(
"resAr_vs_ToT_ec")->ReadObj();
4709 if (
m_errors->FindKey(
"tresAr_vs_HT_ba"))
4710 tres_vs_ToT_ba = (
TH2F *)
m_errors->FindKey(
"tresAr_vs_HT_ba")->ReadObj();
4711 if (
m_errors->FindKey(
"resAr_vs_HT_ba"))
4712 res_vs_ToT_ba = (
TH2F *)
m_errors->FindKey(
"resAr_vs_HT_ba")->ReadObj();
4713 if (
m_errors->FindKey(
"tresAr_vs_HT_bc"))
4714 tres_vs_ToT_bc = (
TH2F *)
m_errors->FindKey(
"tresAr_vs_HT_bc")->ReadObj();
4715 if (
m_errors->FindKey(
"resAr_vs_HT_bc"))
4716 res_vs_ToT_bc = (
TH2F *)
m_errors->FindKey(
"resAr_vs_HT_bc")->ReadObj();
4720 if (
m_errors->FindKey(
"tresAr_vs_HT_ea"))
4721 tres_vs_ToT_ba = (
TH2F *)
m_errors->FindKey(
"tresAr_vs_HT_ea")->ReadObj();
4722 if (
m_errors->FindKey(
"resAr_vs_HT_ea"))
4723 res_vs_ToT_ba = (
TH2F *)
m_errors->FindKey(
"resAr_vs_HT_ea")->ReadObj();
4724 if (
m_errors->FindKey(
"tresAr_vs_HT_ec"))
4725 tres_vs_ToT_bc = (
TH2F *)
m_errors->FindKey(
"tresAr_vs_HT_ec")->ReadObj();
4726 if (
m_errors->FindKey(
"resAr_vs_HT_ec"))
4727 res_vs_ToT_bc = (
TH2F *)
m_errors->FindKey(
"resAr_vs_HT_ec")->ReadObj();
4734 TGraphErrors *tresBA =
GetMean(tres_vs_ToT_ba);
4735 tresBA->SetLineColor(kRed);
4736 tresBA->SetMarkerColor(kRed);
4737 if (not tres_vs_ToT_ba){
4738 throw std::runtime_error(
"tres_vs_ToT_ba pointer is null");
4741 tres_vs_ToT_ba->SetTitle(
"Barrel A Time Residual Mean VS ToT");
4743 tres_vs_ToT_ba->SetTitle(
"Endcap A Time Residual Mean VS ToT");
4744 tres_vs_ToT_ba->GetXaxis()->SetTitle(
"ToT (bin)");
4745 tres_vs_ToT_ba->GetYaxis()->SetTitle(
"Time Residual (ns)");
4749 tres_vs_ToT_ba->SetTitle(
"Barrel A Time Residual Mean VS HT");
4751 tres_vs_ToT_ba->SetTitle(
"Endcap A Time Residual Mean VS HT");}
4752 tres_vs_ToT_ba->GetXaxis()->SetTitle(
"HT (bin)");
4755 tres_vs_ToT_ba->Draw(
"colz");
4756 tresBA->Draw(
"same");
4759 TGraphErrors *tresBC =
GetMean(tres_vs_ToT_bc);
4760 tresBC->SetLineColor(kBlue);
4761 tresBC->SetMarkerColor(kBlue);
4763 if (not tres_vs_ToT_bc){
4764 throw std::runtime_error(
" tres_vs_ToT_bc is null");
4766 tres_vs_ToT_bc->SetTitle(
"Barrel C Time Residual Mean VS ToT");
4768 tres_vs_ToT_bc->SetTitle(
"Endcap C Time Residual Mean VS ToT");}
4769 tres_vs_ToT_bc->GetXaxis()->SetTitle(
"ToT (bin)");
4770 tres_vs_ToT_bc->GetYaxis()->SetTitle(
"Time Residual (ns)");
4773 tres_vs_ToT_bc->SetTitle(
"Barrel C Time Residual Mean VS HT");
4775 tres_vs_ToT_bc->SetTitle(
"Endcap C Time Residual Mean VS HT");
4777 tres_vs_ToT_bc->GetXaxis()->SetTitle(
"HT (bin)");
4780 tres_vs_ToT_bc->Draw(
"colz");
4781 tresBC->Draw(
"same");
4784 tresBA->SetTitle(
"Barrel Time Residual Mean vs ToT");
4786 tresBA->SetTitle(
"Endcap Time Residual Mean vs ToT");
4787 tresBA->GetXaxis()->SetTitle(
"ToT (bin)");
4791 tresBA->SetTitle(
"Barrel Time Residual Mean vs HT");
4793 tresBA->SetTitle(
"Endcap Time Residual Mean vs HT");
4794 tresBA->GetXaxis()->SetTitle(
"HT");
4796 tresBA->GetXaxis()->SetRangeUser(-0.5, 23.5);
4797 tresBA->GetYaxis()->SetRangeUser(-10, 10);
4800 tresBA->GetXaxis()->SetRangeUser(-0.5, 1.5);
4801 tresBA->GetYaxis()->SetRangeUser(-3, 3);
4803 tresBA->Draw(
"alp");
4804 tresBC->Draw(
"same");
4807 TGraphErrors *resBA1 =
GetMean(res_vs_ToT_ba);
4808 resBA1->SetLineColor(kRed);
4809 resBA1->SetMarkerColor(kRed);
4810 if (not res_vs_ToT_ba){
4811 throw std::runtime_error(
"res_vs_ToT_ba is null ptr");
4814 res_vs_ToT_ba->SetTitle(
"Barrel A Residual Mean VS ToT");
4816 res_vs_ToT_ba->SetTitle(
"Endcap A Residual Mean VS ToT");
4817 res_vs_ToT_ba->GetXaxis()->SetTitle(
"ToT (bin)");
4818 res_vs_ToT_ba->GetYaxis()->SetTitle(
"Residual (mm)");
4822 res_vs_ToT_ba->SetTitle(
"Barrel A Residual Mean VS HT");
4824 res_vs_ToT_ba->SetTitle(
"Endcap A Residual Mean VS HT");
4825 res_vs_ToT_ba->GetXaxis()->SetTitle(
"HT (bin)");
4827 res_vs_ToT_ba->Draw(
"colz");
4828 resBA1->Draw(
"same");
4831 TGraphErrors *resBC1 =
GetMean(res_vs_ToT_bc);
4832 resBC1->SetLineColor(kBlue);
4833 resBC1->SetMarkerColor(kBlue);
4835 res_vs_ToT_bc->SetTitle(
"Barrel C Residual Mean VS ToT");
4837 res_vs_ToT_bc->SetTitle(
"Endcap C Residual Mean VS ToT");
4838 res_vs_ToT_bc->GetXaxis()->SetTitle(
"ToT (bin)");
4839 res_vs_ToT_bc->GetYaxis()->SetTitle(
"Residual (mm)");
4843 res_vs_ToT_bc->SetTitle(
"Barrel C Residual Mean VS HT");
4845 res_vs_ToT_bc->SetTitle(
"Endcap C Residual Mean VS HT");
4846 res_vs_ToT_bc->GetXaxis()->SetTitle(
"HT (bin)");
4848 res_vs_ToT_bc->Draw(
"colz");
4849 resBC1->Draw(
"same");
4853 TGraphErrors *resBA =
GetWidth(res_vs_ToT_ba);
4854 resBA->SetLineColor(kRed);
4855 resBA->SetMarkerColor(kRed);
4856 TGraphErrors *resBC =
GetWidth(res_vs_ToT_bc);
4857 resBC->SetLineColor(kBlue);
4858 resBC->SetMarkerColor(kBlue);
4859 resBA->SetTitle(
"Barrel Time Residual Width vs ToT");
4861 resBA->SetTitle(
"Endcap Time Residual Width vs ToT");
4862 resBA->GetXaxis()->SetTitle(
"ToT (bin)");
4866 resBA->SetTitle(
"Barrel Residual Width vs HT");
4868 resBA->SetTitle(
"Endcap Residual Width vs HT");
4869 resBA->GetXaxis()->SetTitle(
"HT");
4871 resBA->GetXaxis()->SetRangeUser(-0.5, 23.5);
4872 resBA->GetYaxis()->SetRangeUser(0.08, 0.2);
4875 resBA->GetXaxis()->SetRangeUser(-0.5, 1.5);
4876 resBA->GetYaxis()->SetRangeUser(0.08, 0.2);
4879 resBC->Draw(
"same");