ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
ToTDependence Class Reference
Inheritance diagram for ToTDependence:
Collaboration diagram for ToTDependence:

Public Member Functions

 ToTDependence (TFile *, bool, bool, bool isAr)
 

Private Attributes

TDirectory * m_errors
 

Detailed Description

Definition at line 4596 of file TRTCalib_makeplots.cxx.

Constructor & Destructor Documentation

◆ ToTDependence()

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

Definition at line 4605 of file TRTCalib_makeplots.cxx.

4606 {
4607  m_errors = nullptr;
4608  cout << "READING CORRECTIONS: " << endl;
4609 
4610  if (!isAr)
4611  m_errors = (TDirectory *)file->FindKey("Correction")->ReadObj();
4612  else
4613  m_errors = (TDirectory *)file->FindKey("CorrectionAr")->ReadObj();
4614 
4615  this->Divide(2, 3, 0.01, 0.01);
4616 
4617  // Read the histos:
4618 
4619  TH2F *tres_vs_ToT_ba = nullptr;
4620  TH2F *tres_vs_ToT_bc = nullptr;
4621  // Residual:
4622  TH2F *res_vs_ToT_ba = nullptr;
4623  TH2F *res_vs_ToT_bc = nullptr;
4624 
4625  if (!isAr)
4626  {
4627  if (!isht)
4628  {
4629  if (isba)
4630  {
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();
4639  }
4640  else
4641  {
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();
4650  }
4651  }
4652  else
4653  {
4654  if (isba)
4655  {
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();
4664  }
4665  else
4666  {
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();
4675  }
4676  }
4677  }
4678  else
4679  {
4680  if (!isht)
4681  {
4682  if (isba)
4683  {
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();
4692  }
4693  else
4694  {
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();
4703  }
4704  }
4705  else
4706  {
4707  if (isba)
4708  {
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();
4717  }
4718  else
4719  {
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();
4728  }
4729  }
4730  }
4731 
4732  this->cd(1);
4733  // Time Residual Mean Vs Pt:
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");
4739  }
4740  if (isba)
4741  tres_vs_ToT_ba->SetTitle("Barrel A Time Residual Mean VS ToT");
4742  else
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)");
4746 
4747  if (isht){
4748  if (isba){
4749  tres_vs_ToT_ba->SetTitle("Barrel A Time Residual Mean VS HT");
4750  }else{
4751  tres_vs_ToT_ba->SetTitle("Endcap A Time Residual Mean VS HT");}
4752  tres_vs_ToT_ba->GetXaxis()->SetTitle("HT (bin)");
4753  }
4754 
4755  tres_vs_ToT_ba->Draw("colz");
4756  tresBA->Draw("same");
4757 
4758  this->cd(3);
4759  TGraphErrors *tresBC = GetMean(tres_vs_ToT_bc);
4760  tresBC->SetLineColor(kBlue);
4761  tresBC->SetMarkerColor(kBlue);
4762  if (isba){
4763  if (not tres_vs_ToT_bc){
4764  throw std::runtime_error(" tres_vs_ToT_bc is null");
4765  }
4766  tres_vs_ToT_bc->SetTitle("Barrel C Time Residual Mean VS ToT");
4767  }else{
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)");
4771  if (isht){
4772  if (isba){
4773  tres_vs_ToT_bc->SetTitle("Barrel C Time Residual Mean VS HT");
4774  }else{
4775  tres_vs_ToT_bc->SetTitle("Endcap C Time Residual Mean VS HT");
4776  }
4777  tres_vs_ToT_bc->GetXaxis()->SetTitle("HT (bin)");
4778  }
4779 
4780  tres_vs_ToT_bc->Draw("colz");
4781  tresBC->Draw("same");
4782 
4783  this->cd(5);
4784  tresBA->SetTitle("Barrel Time Residual Mean vs ToT");
4785  if (!isba)
4786  tresBA->SetTitle("Endcap Time Residual Mean vs ToT");
4787  tresBA->GetXaxis()->SetTitle("ToT (bin)");
4788 
4789  if (isht)
4790  {
4791  tresBA->SetTitle("Barrel Time Residual Mean vs HT");
4792  if (!isba)
4793  tresBA->SetTitle("Endcap Time Residual Mean vs HT");
4794  tresBA->GetXaxis()->SetTitle("HT");
4795  }
4796  tresBA->GetXaxis()->SetRangeUser(-0.5, 23.5);
4797  tresBA->GetYaxis()->SetRangeUser(-10, 10);
4798  if (isht)
4799  {
4800  tresBA->GetXaxis()->SetRangeUser(-0.5, 1.5);
4801  tresBA->GetYaxis()->SetRangeUser(-3, 3);
4802  }
4803  tresBA->Draw("alp");
4804  tresBC->Draw("same");
4805 
4806  this->cd(2);
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");
4812  }
4813  if (isba)
4814  res_vs_ToT_ba->SetTitle("Barrel A Residual Mean VS ToT");
4815  else
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)");
4819  if (isht)
4820  {
4821  if (isba)
4822  res_vs_ToT_ba->SetTitle("Barrel A Residual Mean VS HT");
4823  else
4824  res_vs_ToT_ba->SetTitle("Endcap A Residual Mean VS HT");
4825  res_vs_ToT_ba->GetXaxis()->SetTitle("HT (bin)");
4826  }
4827  res_vs_ToT_ba->Draw("colz");
4828  resBA1->Draw("same");
4829 
4830  this->cd(4);
4831  TGraphErrors *resBC1 = GetMean(res_vs_ToT_bc);
4832  resBC1->SetLineColor(kBlue);
4833  resBC1->SetMarkerColor(kBlue);
4834  if (isba)
4835  res_vs_ToT_bc->SetTitle("Barrel C Residual Mean VS ToT");
4836  else
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)");
4840  if (isht)
4841  {
4842  if (isba)
4843  res_vs_ToT_bc->SetTitle("Barrel C Residual Mean VS HT");
4844  else
4845  res_vs_ToT_bc->SetTitle("Endcap C Residual Mean VS HT");
4846  res_vs_ToT_bc->GetXaxis()->SetTitle("HT (bin)");
4847  }
4848  res_vs_ToT_bc->Draw("colz");
4849  resBC1->Draw("same");
4850 
4851  this->cd(6);
4852 
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");
4860  if (!isba)
4861  resBA->SetTitle("Endcap Time Residual Width vs ToT");
4862  resBA->GetXaxis()->SetTitle("ToT (bin)");
4863 
4864  if (isht)
4865  {
4866  resBA->SetTitle("Barrel Residual Width vs HT");
4867  if (!isba)
4868  resBA->SetTitle("Endcap Residual Width vs HT");
4869  resBA->GetXaxis()->SetTitle("HT");
4870  }
4871  resBA->GetXaxis()->SetRangeUser(-0.5, 23.5);
4872  resBA->GetYaxis()->SetRangeUser(0.08, 0.2);
4873  if (isht)
4874  {
4875  resBA->GetXaxis()->SetRangeUser(-0.5, 1.5);
4876  resBA->GetYaxis()->SetRangeUser(0.08, 0.2);
4877  }
4878  resBA->Draw("alp");
4879  resBC->Draw("same");
4880 }

Member Data Documentation

◆ m_errors

TDirectory* ToTDependence::m_errors
private

Definition at line 4602 of file TRTCalib_makeplots.cxx.


The documentation for this class was generated from the following file:
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
ToTDependence::m_errors
TDirectory * m_errors
Definition: TRTCalib_makeplots.cxx:4602
file
TFile * file
Definition: tile_monitor.h:29
calibdata.cd
cd
Definition: calibdata.py:50