Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
monitoring/timing_online/unused/HistMacro_TrackingTiming.C
Go to the documentation of this file.
1 // hnamepath: /HLDetectorTiming/CDC/CDCHit time
2 // hnamepath: /HLDetectorTiming/FDC/FDCHit Cathode time
3 // hnamepath: /HLDetectorTiming/FDC/FDCHit Wire time
4 // hnamepath: /HLDetectorTiming/TRACKING/Earliest CDC Time Minus Matched SC Time
5 // hnamepath: /HLDetectorTiming/TRACKING/Earliest Flight-time Corrected CDC Time
6 // hnamepath: /HLDetectorTiming/TRACKING/Earliest Flight-time Corrected FDC Time
7 // hnamepath: /HLDetectorTiming/FDC/FDCHit Wire time vs. module
8 {
9  //Goto Path
10  TDirectory *locDirectory = (TDirectory*)gDirectory->FindObjectAny("HLDetectorTiming");
11  if(!locDirectory)
12  return;
13  locDirectory->cd();
14 
15  //Get Histograms
16  TH1I* CDC_Timing = (TH1I*)gDirectory->Get("CDC/CDCHit time");
17  TH1I* CDC_SC_Timing = (TH1I*)gDirectory->Get("TRACKING/Earliest CDC Time Minus Matched SC Time");
18  TH1I* CDC_Earliest_Time = (TH1I*)gDirectory->Get("TRACKING/Earliest Flight-time Corrected CDC Time");
19  TH1I* FDC_Strip_Timing = (TH1I*)gDirectory->Get("FDC/FDCHit Cathode time");
20  TH1I* FDC_Wire_Timing = (TH1I*)gDirectory->Get("FDC/FDCHit Wire time");
21  TH1I* FDC_Earliest_Time = (TH1I*)gDirectory->Get("TRACKING/Earliest Flight-time Corrected FDC Time");
22  TH2I* FDC_Wire_Module_Time = (TH2I*)gDirectory->Get("FDC/FDCHit Wire time vs. module");
23 
24  //Get/Make Canvas
25  TCanvas *locCanvas = NULL;
26  if(TVirtualPad::Pad() == NULL)
27  locCanvas = new TCanvas("TrackMatchedTiming", "TrackMatchedTiming", 1200, 800); //for testing
28  else
29  locCanvas = gPad->GetCanvas();
30  locCanvas->Divide(3, 2);
31 
32  //Draw
33  locCanvas->cd(1);
34  gPad->SetTicks();
35  gPad->SetGrid();
36  if(CDC_Timing != NULL)
37  {
38  CDC_Timing->Draw();
39  CDC_Timing->SetFillColor(kGray);
40  }
41  else{
42  TPaveText *text = new TPaveText(0.1, 0.4, 0.9, 0.6);
43  text->AddText("No CDC Times in data");
44  text->Draw();
45  }
46 
47  locCanvas->cd(2);
48  gPad->SetTicks();
49  gPad->SetGrid();
50  if(CDC_Earliest_Time != NULL)
51  {
52  CDC_Earliest_Time->Draw();
53  CDC_Earliest_Time->SetFillColor(kGray);
54  }
55  else{
56  TPaveText *text = new TPaveText(0.1, 0.4, 0.9, 0.6);
57  text->AddText("No CDC tracks matced to BCAL/SC with reasonable FOM");
58  text->Draw();
59  }
60 
61  locCanvas->cd(3);
62  gPad->SetTicks();
63  gPad->SetGrid();
64  if(CDC_SC_Timing != NULL)
65  {
66  CDC_SC_Timing->Draw();
67  CDC_SC_Timing->SetFillColor(kGray);
68  }
69  else{
70  TPaveText *text = new TPaveText(0.1, 0.4, 0.9, 0.6);
71  text->AddText("No CDC tracks matced to SC with reasonable FOM");
72  text->Draw();
73  }
74 
75  locCanvas->cd(4);
76  gPad->SetTicks();
77  gPad->SetGrid();
78  if(FDC_Strip_Timing != NULL)
79  {
80  FDC_Strip_Timing->GetXaxis()->SetRangeUser(-150,350);
81  FDC_Strip_Timing->Draw();
82  FDC_Strip_Timing->SetFillColor(kGray);
83  }
84  else{
85  TPaveText *text = new TPaveText(0.1, 0.4, 0.9, 0.6);
86  text->AddText("No FDC Cathode Hit times");
87  text->Draw();
88  }
89 
90  locCanvas->cd(5);
91  gPad->SetTicks();
92  gPad->SetGrid();
93  if(FDC_Wire_Timing != NULL)
94  {
95  FDC_Wire_Timing->Draw();
96  FDC_Wire_Timing->SetFillColor(kGray);
97  }
98  else{
99  TPaveText *text = new TPaveText(0.1, 0.4, 0.9, 0.6);
100  text->AddText("No FDC Wire Hit times");
101  text->Draw();
102  }
103 
104  locCanvas->cd(6);
105  gPad->SetTicks();
106  gPad->SetGrid();
107  if(FDC_Wire_Module_Time != NULL)
108  {
109  gPad->SetMargin(0.1,0.1,0.15,0.1);
110  FDC_Wire_Module_Time->GetXaxis()->SetTitle();
111  FDC_Wire_Module_Time->Draw("COLZ");
112  }
113  else{
114  TPaveText *text = new TPaveText(0.1, 0.4, 0.9, 0.6);
115  text->AddText("No FDC Wire Hit times");
116  text->Draw();
117  }
118 
119  /*
120  if(FDC_Earliest_Time != NULL)
121  {
122  FDC_Earliest_Time->Draw();
123  FDC_Earliest_Time->SetFillColor(kGray);
124  }
125  else{
126  TPaveText *text = new TPaveText(0.1, 0.4, 0.9, 0.6);
127  text->AddText("No FDC tracks matced to SC/TOF with reasonable FOM");
128  text->Draw();
129  }
130  */
131 }
132 
TDirectory * locDirectory
TCanvas * locCanvas
char text[100]