ATLAS Offline Software
Loading...
Searching...
No Matches
SinDependence Class Reference
Inheritance diagram for SinDependence:
Collaboration diagram for SinDependence:

Public Member Functions

 SinDependence (TFile *, bool, bool, bool)

Private Attributes

TDirectory * m_errors

Detailed Description

Definition at line 4882 of file TRTCalib_makeplots.cxx.

Constructor & Destructor Documentation

◆ SinDependence()

SinDependence::SinDependence ( TFile * file,
bool isba = true,
bool isht = false,
bool isAr = false )

Definition at line 4891 of file TRTCalib_makeplots.cxx.

4892{
4893 m_errors = nullptr;
4894
4895 if (!isAr)
4896 m_errors = (TDirectory *)file->FindKey("Correction")->ReadObj();
4897 else
4898 m_errors = (TDirectory *)file->FindKey("CorrectionAr")->ReadObj();
4899 if (!m_errors)
4900 throw(string("No errors folder!!!!!!!!!!!!!!!"));
4901
4902 this->Divide(2, 3, 0.01, 0.01);
4903
4904 // Read the histos:
4905
4906 TH2F *tres_vs_ToT_ba = nullptr;
4907 TH2F *tres_vs_ToT_bc = nullptr;
4908 // Residual:
4909 TH2F *res_vs_ToT_ba = nullptr;
4910 TH2F *res_vs_ToT_bc = nullptr;
4911
4912 if (!isAr)
4913 {
4914 if (!isht)
4915 {
4916 if (isba)
4917 { // sin
4918 tres_vs_ToT_ba = (TH2F *)m_errors->FindKey("tres_vs_SinOverP_bc")->ReadObj();
4919 res_vs_ToT_ba = (TH2F *)m_errors->FindKey("res_vs_SinOverP_ba")->ReadObj();
4920 tres_vs_ToT_bc = (TH2F *)m_errors->FindKey("tres_vs_SinOverP_bc")->ReadObj();
4921 res_vs_ToT_bc = (TH2F *)m_errors->FindKey("res_vs_SinOverP_bc")->ReadObj();
4922 }
4923 else
4924 {
4925 tres_vs_ToT_ba = (TH2F *)m_errors->FindKey("tres_vs_SinOverP_ea")->ReadObj();
4926 res_vs_ToT_ba = (TH2F *)m_errors->FindKey("res_vs_SinOverP_ea")->ReadObj();
4927 tres_vs_ToT_bc = (TH2F *)m_errors->FindKey("tres_vs_SinOverP_ec")->ReadObj();
4928 res_vs_ToT_bc = (TH2F *)m_errors->FindKey("res_vs_SinOverP_ec")->ReadObj();
4929 }
4930 }
4931 else
4932 {
4933 if (isba)
4934 { // cos
4935 tres_vs_ToT_ba = (TH2F *)m_errors->FindKey("tres_vs_CosOverP_bc")->ReadObj();
4936 res_vs_ToT_ba = (TH2F *)m_errors->FindKey("res_vs_CosOverP_ba")->ReadObj();
4937 tres_vs_ToT_bc = (TH2F *)m_errors->FindKey("tres_vs_CosOverP_bc")->ReadObj();
4938 res_vs_ToT_bc = (TH2F *)m_errors->FindKey("res_vs_CosOverP_bc")->ReadObj();
4939 }
4940 else
4941 {
4942 tres_vs_ToT_ba = (TH2F *)m_errors->FindKey("tres_vs_CosOverP_ea")->ReadObj();
4943 res_vs_ToT_ba = (TH2F *)m_errors->FindKey("res_vs_CosOverP_ea")->ReadObj();
4944 tres_vs_ToT_bc = (TH2F *)m_errors->FindKey("tres_vs_CosOverP_ec")->ReadObj();
4945 res_vs_ToT_bc = (TH2F *)m_errors->FindKey("res_vs_CosOverP_ec")->ReadObj();
4946 }
4947 }
4948 }
4949 else
4950 {
4951 if (!isht)
4952 {
4953 if (isba)
4954 { // sin
4955 tres_vs_ToT_ba = (TH2F *)m_errors->FindKey("tresAr_vs_SinOverP_bc")->ReadObj();
4956 res_vs_ToT_ba = (TH2F *)m_errors->FindKey("resAr_vs_SinOverP_ba")->ReadObj();
4957 tres_vs_ToT_bc = (TH2F *)m_errors->FindKey("tresAr_vs_SinOverP_bc")->ReadObj();
4958 res_vs_ToT_bc = (TH2F *)m_errors->FindKey("resAr_vs_SinOverP_bc")->ReadObj();
4959 }
4960 else
4961 {
4962 tres_vs_ToT_ba = (TH2F *)m_errors->FindKey("tresAr_vs_SinOverP_ea")->ReadObj();
4963 res_vs_ToT_ba = (TH2F *)m_errors->FindKey("resAr_vs_SinOverP_ea")->ReadObj();
4964 tres_vs_ToT_bc = (TH2F *)m_errors->FindKey("tresAr_vs_SinOverP_ec")->ReadObj();
4965 res_vs_ToT_bc = (TH2F *)m_errors->FindKey("resAr_vs_SinOverP_ec")->ReadObj();
4966 }
4967 }
4968 else
4969 {
4970 if (isba)
4971 { // cos
4972 tres_vs_ToT_ba = (TH2F *)m_errors->FindKey("tresAr_vs_CosOverP_bc")->ReadObj();
4973 res_vs_ToT_ba = (TH2F *)m_errors->FindKey("resAr_vs_CosOverP_ba")->ReadObj();
4974 tres_vs_ToT_bc = (TH2F *)m_errors->FindKey("tresAr_vs_CosOverP_bc")->ReadObj();
4975 res_vs_ToT_bc = (TH2F *)m_errors->FindKey("resAr_vs_CosOverP_bc")->ReadObj();
4976 }
4977 else
4978 {
4979 tres_vs_ToT_ba = (TH2F *)m_errors->FindKey("tresAr_vs_CosOverP_ea")->ReadObj();
4980 res_vs_ToT_ba = (TH2F *)m_errors->FindKey("resAr_vs_CosOverP_ea")->ReadObj();
4981 tres_vs_ToT_bc = (TH2F *)m_errors->FindKey("tresAr_vs_CosOverP_ec")->ReadObj();
4982 res_vs_ToT_bc = (TH2F *)m_errors->FindKey("resAr_vs_CosOverP_ec")->ReadObj();
4983 }
4984 }
4985 }
4986
4987 this->cd(1);
4988 // Time Residual Mean Vs Pt:
4989 TGraphErrors *tresBA = GetMean(tres_vs_ToT_ba);
4990 tresBA->SetLineColor(kRed);
4991 tresBA->SetMarkerColor(kRed);
4992 if (isba)
4993 tres_vs_ToT_ba->SetTitle("Barrel A Time Residual Mean VS sin(Theta)/p");
4994 else
4995 tres_vs_ToT_ba->SetTitle("Endcap A Time Residual Mean VS sin(Theta)/p");
4996 tres_vs_ToT_ba->GetXaxis()->SetTitle("sin(Theta)/p");
4997 tres_vs_ToT_ba->GetYaxis()->SetTitle("Time Residual (ns)");
4998
4999 if (isht)
5000 {
5001 if (isba)
5002 tres_vs_ToT_ba->SetTitle("Barrel A Time Residual Mean VS cos(Theta)/p");
5003 else
5004 tres_vs_ToT_ba->SetTitle("Endcap A Time Residual Mean VS cos(Theta)/p");
5005 tres_vs_ToT_ba->GetXaxis()->SetTitle("cos(Theta)/p");
5006 }
5007
5008 tres_vs_ToT_ba->Draw("colz");
5009 tresBA->Draw("same");
5010
5011 this->cd(3);
5012 TGraphErrors *tresBC = GetMean(tres_vs_ToT_bc);
5013 tresBC->SetLineColor(kBlue);
5014 tresBC->SetMarkerColor(kBlue);
5015 if (isba)
5016 tres_vs_ToT_bc->SetTitle("Barrel C Time Residual Mean VS sin(Theta)/p");
5017 else
5018 tres_vs_ToT_bc->SetTitle("Endcap C Time Residual Mean VS sin(Theta)/p");
5019 tres_vs_ToT_bc->GetXaxis()->SetTitle("sin(Theta)/p");
5020 tres_vs_ToT_bc->GetYaxis()->SetTitle("Time Residual (ns)");
5021 if (isht)
5022 {
5023 if (isba)
5024 tres_vs_ToT_bc->SetTitle("Barrel C Time Residual Mean VS cos(Theta)/p");
5025 else
5026 tres_vs_ToT_bc->SetTitle("Endcap C Time Residual Mean VS cos(Theta)/p");
5027 tres_vs_ToT_bc->GetXaxis()->SetTitle("cos(Theta)/p");
5028 }
5029 tres_vs_ToT_bc->Draw("colz");
5030 tresBC->Draw("same");
5031
5032 this->cd(5);
5033 tresBA->SetTitle("Barrel Time Residual Mean vs Sin(theta) / p");
5034 if (!isba)
5035 tresBA->SetTitle("Endcap Time Residual Mean vs Sin(theta) / p");
5036
5037 if (isht)
5038 {
5039 tresBA->SetTitle("Barrel Time Residual Mean vs Cos(theta) / p");
5040 if (!isba)
5041 tresBA->SetTitle("Endcap Time Residual Mean vs Cos(theta) / p");
5042 }
5043
5044 tresBA->GetXaxis()->SetRangeUser(0, 1);
5045 tresBA->GetYaxis()->SetRangeUser(-1, 1.5);
5046 tresBA->Draw("alp");
5047 tresBC->Draw("same");
5048
5049 this->cd(2);
5050 TGraphErrors *resBA1 = GetMean(res_vs_ToT_ba);
5051 resBA1->SetLineColor(kRed);
5052 resBA1->SetMarkerColor(kRed);
5053 if (isba)
5054 res_vs_ToT_ba->SetTitle("Barrel A Residual Mean VS sin(Theta)/p");
5055 else
5056 res_vs_ToT_ba->SetTitle("Endcap A Residual Mean VS sin(Theta)/p");
5057 res_vs_ToT_ba->GetXaxis()->SetTitle("sin(Theta)/p");
5058 res_vs_ToT_ba->GetYaxis()->SetTitle("Residual (mm)");
5059 if (isht)
5060 {
5061 if (isba)
5062 res_vs_ToT_ba->SetTitle("Barrel A Residual Mean VS cos(Theta)/p");
5063 else
5064 res_vs_ToT_ba->SetTitle("Endcap A Residual Mean VS cos(Theta)/p");
5065 res_vs_ToT_ba->GetXaxis()->SetTitle("cos(Theta)/p");
5066 }
5067 res_vs_ToT_ba->Draw("colz");
5068 resBA1->Draw("same");
5069
5070 this->cd(4);
5071 TGraphErrors *resBC1 = GetMean(res_vs_ToT_bc);
5072 resBC1->SetLineColor(kBlue);
5073 resBC1->SetMarkerColor(kBlue);
5074 if (isba)
5075 res_vs_ToT_bc->SetTitle("Barrel C Residual Mean VS sin(Theta)/p");
5076 else
5077 res_vs_ToT_bc->SetTitle("Endcap C Residual Mean VS sin(Theta)/p");
5078 res_vs_ToT_bc->GetXaxis()->SetTitle("sin(Theta)/p");
5079 res_vs_ToT_bc->GetYaxis()->SetTitle("Residual (mm)");
5080 if (isht)
5081 {
5082 if (isba)
5083 res_vs_ToT_bc->SetTitle("Barrel C Residual Mean VS cos(Theta)/p");
5084 else
5085 res_vs_ToT_bc->SetTitle("Endcap C Residual Mean VS cos(Theta)/p");
5086 res_vs_ToT_bc->GetXaxis()->SetTitle("cos(Theta)/p");
5087 }
5088 res_vs_ToT_bc->Draw("colz");
5089 resBC1->Draw("same");
5090
5091 this->cd(6);
5092
5093 TGraphErrors *resBA = GetWidth(res_vs_ToT_ba);
5094 resBA->SetLineColor(kRed);
5095 resBA->SetMarkerColor(kRed);
5096 TGraphErrors *resBC = GetWidth(res_vs_ToT_bc);
5097 resBC->SetLineColor(kBlue);
5098 resBC->SetMarkerColor(kBlue);
5099 resBA->SetTitle("Barrel Residual Width vs Sin(theta) / p");
5100 if (!isba)
5101 resBA->SetTitle("Endcap Residual Widht vs Sin(theta) / p");
5102
5103 if (isht)
5104 {
5105 resBA->SetTitle("Barrel Residual Width vs Cos(theta) / p");
5106 if (!isba)
5107 resBA->SetTitle("Endcap Residual Widht vs Cos(theta) / p");
5108 }
5109
5110 resBA->GetXaxis()->SetRangeUser(0, 1);
5111 resBA->GetYaxis()->SetRangeUser(0.08, 0.20);
5112 resBA->Draw("alp");
5113 resBC->Draw("same");
5114}
TGraphErrors * GetWidth(TH2F *histo)
TGraphErrors * GetMean(TH2F *histo)
TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
TFile * file

Member Data Documentation

◆ m_errors

TDirectory* SinDependence::m_errors
private

Definition at line 4888 of file TRTCalib_makeplots.cxx.


The documentation for this class was generated from the following file: