ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
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 }

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:
SinDependence::m_errors
TDirectory * m_errors
Definition: TRTCalib_makeplots.cxx:4888
GetMean
TGraphErrors * GetMean(TH2F *histo)
Definition: TRTCalib_makeplots.cxx:3913
GetWidth
TGraphErrors * GetWidth(TH2F *histo)
Definition: TRTCalib_makeplots.cxx:3989
python.TrigEgammaMonitorHelper.TH2F
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:45
file
TFile * file
Definition: tile_monitor.h:29
calibdata.cd
cd
Definition: calibdata.py:50