ATLAS Offline Software
Loading...
Searching...
No Matches
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}
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* ToTDependence::m_errors
private

Definition at line 4602 of file TRTCalib_makeplots.cxx.


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