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

Public Member Functions

 ResidualPlots (TFile *, bool)
 

Detailed Description

Definition at line 2936 of file TRTCalib_makeplots.cxx.

Constructor & Destructor Documentation

◆ ResidualPlots()

ResidualPlots::ResidualPlots ( TFile *  file,
bool  isAr = false 
)

Definition at line 2942 of file TRTCalib_makeplots.cxx.

2943 {
2944 
2945  this->SetName("resplots");
2946 
2947  file->cd();
2948 
2949  TDirectory *trt = nullptr;
2950  TDirectory *det1 = nullptr;
2951  TDirectory *det2 = nullptr;
2952  TDirectory *det3 = nullptr;
2953  TDirectory *det4 = nullptr;
2954 
2955  if (!isAr)
2956  {
2957  cout << " In ResidualPlots Xenon" << endl;
2958  trt = (TDirectory *)file->FindKey("TRT_all")->ReadObj();
2959  if (not trt){
2960  throw std::runtime_error("trt pointer is null");
2961  }
2962  det1 = (TDirectory *)trt->FindKey("Detector_-1")->ReadObj();
2963  det2 = (TDirectory *)trt->FindKey("Detector_1")->ReadObj();
2964  det3 = (TDirectory *)trt->FindKey("Detector_-2")->ReadObj();
2965  det4 = (TDirectory *)trt->FindKey("Detector_2")->ReadObj();
2966  }
2967  else
2968  {
2969  if (not trt){
2970  throw std::runtime_error("trt pointer is null");
2971  }
2972  //hardcoded flag, resulting in (intentional) dead code here
2973  //coverity[dead_error_begin]
2974  cout << " In ResidualPlots Argon" << endl;
2975  if (file->FindKey("TRT_Ar_all"))
2976  trt = (TDirectory *)file->FindKey("TRT_Ar_all")->ReadObj();
2977  if (trt->FindKey("Detector_Ar_-1"))
2978  det1 = (TDirectory *)trt->FindKey("Detector_Ar_-1")->ReadObj();
2979  if (trt->FindKey("Detector_Ar_1"))
2980  det2 = (TDirectory *)trt->FindKey("Detector_Ar_1")->ReadObj();
2981  if (trt->FindKey("Detector_Ar_-2"))
2982  det3 = (TDirectory *)trt->FindKey("Detector_Ar_-2")->ReadObj();
2983  if (trt->FindKey("Detector_Ar_2"))
2984  det4 = (TDirectory *)trt->FindKey("Detector_Ar_2")->ReadObj();
2985  }
2986 
2987  TH2F *reshist1 = nullptr;
2988  TH2F *reshist2 = nullptr;
2989  TH2F *reshist3 = nullptr;
2990  TH2F *reshist4 = nullptr;
2991  TH2F *reshist5 = nullptr;
2992  TH2F *treshist1 = nullptr;
2993  TH2F *treshist2 = nullptr;
2994  TH2F *treshist3 = nullptr;
2995  TH2F *treshist4 = nullptr;
2996  TH2F *treshist5 = nullptr;
2997 
2998  cout << " Find residual histograms " << endl;
2999 
3000  if (trt->FindKey("residual"))
3001  reshist1 = (TH2F *)trt->FindKey("residual")->ReadObj();
3002  if (det1)
3003  {
3004  if (det1->FindKey("residual"))
3005  reshist2 = (TH2F *)det1->FindKey("residual")->ReadObj();
3006  }
3007  if (det2)
3008  {
3009  if (det2->FindKey("residual"))
3010  reshist3 = (TH2F *)det2->FindKey("residual")->ReadObj();
3011  }
3012  if (det3)
3013  {
3014  if (det3->FindKey("residual"))
3015  reshist4 = (TH2F *)det3->FindKey("residual")->ReadObj();
3016  }
3017  if (det4)
3018  {
3019  if (det4->FindKey("residual"))
3020  reshist5 = (TH2F *)det4->FindKey("residual")->ReadObj();
3021  }
3022 
3023  cout << " Find time residual histograms" << endl;
3024  if (trt->FindKey("timeresidual"))
3025  treshist1 = (TH2F *)trt->FindKey("timeresidual")->ReadObj();
3026  if (det1)
3027  {
3028  if (det1->FindKey("timeresidual"))
3029  treshist2 = (TH2F *)det1->FindKey("timeresidual")->ReadObj();
3030  }
3031  if (det2)
3032  {
3033  if (det2->FindKey("timeresidual"))
3034  treshist3 = (TH2F *)det2->FindKey("timeresidual")->ReadObj();
3035  }
3036  if (det3)
3037  {
3038  if (det3->FindKey("timeresidual"))
3039  treshist4 = (TH2F *)det3->FindKey("timeresidual")->ReadObj();
3040  }
3041  if (det4)
3042  {
3043  if (det4->FindKey("timeresidual"))
3044  treshist5 = (TH2F *)det4->FindKey("timeresidual")->ReadObj();
3045  }
3046 
3047  cout << " Configure residual histograms" << endl;
3048  if (reshist1)
3049  reshist1->SetTitle(Form("residual whole TRT"));
3050  if (reshist2)
3051  reshist2->SetTitle(Form("residual (barrel side C)"));
3052  if (reshist3)
3053  reshist3->SetTitle(Form("residual (barrel side A)"));
3054  if (reshist4)
3055  reshist4->SetTitle(Form("residual (endcap side C)"));
3056  if (reshist5)
3057  reshist5->SetTitle(Form("residual (endcap side A)"));
3058  if (reshist2)
3059  reshist2->SetFillColor(46);
3060  if (reshist3)
3061  reshist3->SetFillColor(46);
3062  if (reshist4)
3063  reshist4->SetFillColor(46);
3064  if (reshist5)
3065  reshist5->SetFillColor(46);
3066 
3067  cout << " Configure time residual histograms" << endl;
3068  if (treshist1)
3069  treshist1->SetTitle("time-residual whole TRT");
3070  if (treshist2)
3071  treshist2->SetTitle("time-residual (barrel side C)");
3072  if (treshist3)
3073  treshist3->SetTitle("time-residual (barrel side A)");
3074  if (treshist4)
3075  treshist4->SetTitle("time-residual (endcap side C)");
3076  if (treshist5)
3077  treshist5->SetTitle("time-residual (endcap side A)");
3078  if (treshist2)
3079  treshist2->SetFillColor(38);
3080  if (treshist3)
3081  treshist3->SetFillColor(38);
3082  if (treshist4)
3083  treshist4->SetFillColor(38);
3084  if (treshist5)
3085  treshist5->SetFillColor(38);
3086 
3087  if (isAr)
3088  {
3089  //hardcoded flag results in dead code
3090  //coverity[dead_error_begin]
3091  cout << " Configure Argon residual histograms" << endl;
3092  if (reshist1)
3093  reshist1->SetTitle("residual Argon whole TRT");
3094  if (reshist2)
3095  reshist2->SetTitle("residual Argon (barrel side C)");
3096  if (reshist3)
3097  reshist3->SetTitle("residual Argon (barrel side A)");
3098  if (reshist4)
3099  reshist4->SetTitle("residual Argon (endcap side C)");
3100  if (reshist5)
3101  reshist5->SetTitle("residual Argon (endcap side A)");
3102  if (treshist1)
3103  treshist1->SetTitle("time-residual Argon whole TRT");
3104  if (treshist2)
3105  treshist2->SetTitle("time-residual Argon (barrel side C)");
3106  if (treshist3)
3107  treshist3->SetTitle("time-residual Argon (barrel side A)");
3108  if (treshist4)
3109  treshist4->SetTitle("time-residual Argon (endcap side C)");
3110  if (treshist5)
3111  treshist5->SetTitle("time-residual Argon (endcap side A)");
3112  }
3113 
3114  TF1 *resfit2 = nullptr;
3115  TF1 *resfit3 = nullptr;
3116  TF1 *resfit4 = nullptr;
3117  TF1 *resfit5 = nullptr;
3118  TF1 *tresfit2 = nullptr;
3119  TF1 *tresfit3 = nullptr;
3120  TF1 *tresfit4 = nullptr;
3121  TF1 *tresfit5 = nullptr;
3122 
3123  if (reshist2)
3124  resfit2 = (TF1 *)reshist2->GetListOfFunctions()->First();
3125  if (reshist3)
3126  resfit3 = (TF1 *)reshist3->GetListOfFunctions()->First();
3127  if (reshist4)
3128  resfit4 = (TF1 *)reshist4->GetListOfFunctions()->First();
3129  if (reshist5)
3130  resfit5 = (TF1 *)reshist5->GetListOfFunctions()->First();
3131  if (treshist2)
3132  tresfit2 = (TF1 *)treshist2->GetListOfFunctions()->First();
3133  if (treshist3)
3134  tresfit3 = (TF1 *)treshist3->GetListOfFunctions()->First();
3135  if (treshist4)
3136  tresfit4 = (TF1 *)treshist4->GetListOfFunctions()->First();
3137  if (treshist5)
3138  tresfit5 = (TF1 *)treshist5->GetListOfFunctions()->First();
3139 
3140  TText *mintxt = new TText();
3141  mintxt->SetNDC(kTRUE);
3142 
3143  this->Divide(4, 2);
3144 
3145  this->cd(3);
3146  if (reshist2)
3147  {
3148  cout << " Draw residual barrel C" << endl;
3149  reshist2->Draw();
3150  mintxt->DrawText(0.15, 0.85, Form("Mean: %.3f", resfit2->GetParameter(1)));
3151  mintxt->DrawText(0.15, 0.80, Form("Sigma: %.3f", resfit2->GetParameter(2)));
3152  }
3153  this->cd(2);
3154  // if( !isAr && reshist3){
3155  if (reshist3)
3156  { // changed this (PH)
3157  cout << " Draw residual barrel A" << endl;
3158  reshist3->Draw();
3159  mintxt->DrawText(0.15, 0.85, Form("Mean: %.3f", resfit3->GetParameter(1)));
3160  mintxt->DrawText(0.15, 0.80, Form("Sigma: %.3f", resfit3->GetParameter(2)));
3161  }
3162  this->cd(1);
3163 
3164  if (reshist4)
3165  {
3166  cout << " Draw residual endcap C" << endl;
3167  reshist4->Draw();
3168  mintxt->DrawText(0.15, 0.85, Form("Mean: %.3f", resfit4->GetParameter(1)));
3169  mintxt->DrawText(0.15, 0.80, Form("Sigma: %.3f", resfit4->GetParameter(2)));
3170  }
3171  this->cd(4);
3172  if (reshist5)
3173  {
3174  cout << " Draw residual endcap A" << endl;
3175  reshist5->Draw();
3176  mintxt->DrawText(0.15, 0.85, Form("Mean: %.3f", resfit5->GetParameter(1)));
3177  mintxt->DrawText(0.15, 0.80, Form("Sigma: %.3f", resfit5->GetParameter(2)));
3178  }
3179  this->cd(7);
3180 
3181  if (treshist2)
3182  {
3183  cout << " Draw time residual barrel C" << endl;
3184  treshist2->Draw();
3185  mintxt->DrawText(0.15, 0.85, Form("Mean: %.3f", tresfit2->GetParameter(1)));
3186  mintxt->DrawText(0.15, 0.80, Form("Sigma: %.3f", tresfit2->GetParameter(2)));
3187  }
3188  this->cd(6);
3189  // if(!isAr && treshist3){ // Changed this (PH)
3190  if (treshist3)
3191  {
3192  cout << " Draw time residual barrel A" << endl;
3193  treshist3->Draw();
3194  mintxt->DrawText(0.15, 0.85, Form("Mean: %.3f", tresfit3->GetParameter(1)));
3195  mintxt->DrawText(0.15, 0.80, Form("Sigma: %.3f", tresfit3->GetParameter(2)));
3196  }
3197  this->cd(5);
3198  if (treshist4)
3199  {
3200  cout << " Draw time residual endcap C" << endl;
3201  treshist4->Draw();
3202  mintxt->DrawText(0.15, 0.85, Form("Mean: %.3f", tresfit4->GetParameter(1)));
3203  mintxt->DrawText(0.15, 0.80, Form("Sigma: %.3f", tresfit4->GetParameter(2)));
3204  }
3205  this->cd(8);
3206  if (treshist5)
3207  {
3208  cout << " Draw time residual endcap A" << endl;
3209  treshist5->Draw();
3210  mintxt->DrawText(0.15, 0.85, Form("Mean: %.3f", tresfit5->GetParameter(1)));
3211  mintxt->DrawText(0.15, 0.80, Form("Sigma: %.3f", tresfit5->GetParameter(2)));
3212  }
3213  gStyle->SetOptStat(0);
3214 }

The documentation for this class was generated from the following file:
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