Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RFMacro_SelfResolution.C
Go to the documentation of this file.
1 // hnamepath: /RF/DeltaT_RF_Itself/FDCRF_SelfDeltaT
2 // hnamepath: /RF/DeltaT_RF_Itself/TOFRF_SelfDeltaT
3 // hnamepath: /RF/DeltaT_RF_Itself/TAGHRF_SelfDeltaT
4 // hnamepath: /RF/DeltaT_RF_Itself/PSCRF_SelfDeltaT
5 
7 {
8  gStyle->SetOptStat(1111);
9  gDirectory->cd("/"); //return to file base directory
10 
11  //Goto Beam Path
12  TDirectory *locDirectory = (TDirectory*)gDirectory->FindObjectAny("RF");
13  if(!locDirectory)
14  return 0;
15  locDirectory->cd();
16 
17  //Get RF DeltaT Histograms
18  gDirectory->cd("DeltaT_RF_Itself");
19  TH1I* locHist_FDCRF_SelfDeltaT = (TH1I*)gDirectory->Get("FDCRF_SelfDeltaT");
20  TH1I* locHist_TOFRF_SelfDeltaT = (TH1I*)gDirectory->Get("TOFRF_SelfDeltaT");
21  TH1I* locHist_TAGHRF_SelfDeltaT = (TH1I*)gDirectory->Get("TAGHRF_SelfDeltaT");
22  TH1I* locHist_PSCRF_SelfDeltaT = (TH1I*)gDirectory->Get("PSCRF_SelfDeltaT");
23 
24  //Time resolutions
25  double locTimeResolutionSq_TOF = locHist_TOFRF_SelfDeltaT->GetStdDev() / sqrt(2.0);
26  locTimeResolutionSq_TOF *= locTimeResolutionSq_TOF;
27  double locTimeResolutionSq_FDC = locHist_FDCRF_SelfDeltaT->GetStdDev() / sqrt(2.0);
28  locTimeResolutionSq_FDC *= locTimeResolutionSq_FDC;
29  double locTimeResolutionSq_PSC = locHist_PSCRF_SelfDeltaT->GetStdDev() / sqrt(2.0);
30  locTimeResolutionSq_PSC *= locTimeResolutionSq_PSC;
31  double locTimeResolutionSq_TAGH = locHist_TAGHRF_SelfDeltaT->GetStdDev() / sqrt(2.0);
32  locTimeResolutionSq_TAGH *= locTimeResolutionSq_TAGH;
33 
34  //Print Coarse offsets to screen:
35  cout << "Time-resolution-squared for TOF/TAGH/PSC/FDC are: " << locTimeResolutionSq_TOF << ", " << locTimeResolutionSq_TAGH << ", " << locTimeResolutionSq_PSC << ", " << locTimeResolutionSq_FDC << endl;
36 
37  //Print Coarse offsets to file:
38  ofstream locOutputFileStream;
39  locOutputFileStream.open("rf_time_resolution_sq.txt");
40  locOutputFileStream << std::setprecision(6) << locTimeResolutionSq_TOF << " " << locTimeResolutionSq_TAGH << " " << locTimeResolutionSq_PSC << " " << locTimeResolutionSq_FDC << endl;
41  locOutputFileStream.close();
42 
43  //Get/Make Canvas
44  TCanvas *locCanvas = NULL;
45  if(TVirtualPad::Pad() == NULL)
46  locCanvas = new TCanvas("RF_SelfResolution", "RF_SelfResolution", 1200, 800); //for testing
47  else
48  locCanvas = gPad->GetCanvas();
49  locCanvas->Divide(2, 2);
50 
51  //Draw
52  locCanvas->cd(1);
53  gPad->SetTicks();
54  gPad->SetGrid();
55  if(locHist_TOFRF_SelfDeltaT != NULL)
56  {
58  locHist->GetXaxis()->SetTitleSize(0.05);
59  locHist->GetYaxis()->SetTitleSize(0.05);
60  locHist->GetXaxis()->SetLabelSize(0.05);
61  locHist->GetYaxis()->SetLabelSize(0.05);
62  locHist->Draw();
63  }
64 
65  locCanvas->cd(2);
66  gPad->SetTicks();
67  gPad->SetGrid();
68  if(locHist_TAGHRF_SelfDeltaT != NULL)
69  {
71  locHist->GetXaxis()->SetTitleSize(0.05);
72  locHist->GetYaxis()->SetTitleSize(0.05);
73  locHist->GetXaxis()->SetLabelSize(0.05);
74  locHist->GetYaxis()->SetLabelSize(0.05);
75  locHist->Draw();
76  }
77 
78  locCanvas->cd(3);
79  gPad->SetTicks();
80  gPad->SetGrid();
81  if(locHist_PSCRF_SelfDeltaT != NULL)
82  {
84  locHist->GetXaxis()->SetTitleSize(0.05);
85  locHist->GetYaxis()->SetTitleSize(0.05);
86  locHist->GetXaxis()->SetLabelSize(0.05);
87  locHist->GetYaxis()->SetLabelSize(0.05);
88  locHist->Draw();
89  }
90 
91  locCanvas->cd(4);
92  gPad->SetTicks();
93  gPad->SetGrid();
94  if(locHist_FDCRF_SelfDeltaT != NULL)
95  {
97  locHist->GetXaxis()->SetTitleSize(0.05);
98  locHist->GetYaxis()->SetTitleSize(0.05);
99  locHist->GetXaxis()->SetLabelSize(0.05);
100  locHist->GetYaxis()->SetLabelSize(0.05);
101  locHist->Draw();
102  }
103 
104  return 1;
105 }
TH1I * locHist_TAGHRF_SelfDeltaT
TDirectory * locDirectory
int RFMacro_SelfResolution(void)
TH1I * locHist_FDCRF_SelfDeltaT
TH2D * locHist
double sqrt(double)
TH1I * locHist_PSCRF_SelfDeltaT
TH1I * locHist_TOFRF_SelfDeltaT
TCanvas * locCanvas