Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
monitoring/timing_online/unused/HistMacro_TrackMatchedTiming.C
Go to the documentation of this file.
1 // hnamepath: /HLDetectorTiming/CDC/CDCHit time
2 // hnamepath: /HLDetectorTiming/FDC/FDCHit Cathode time
3 // hnamepath: /HLDetectorTiming/TRACKING/Earliest CDC Time Minus Matched SC Time
4 // hnamepath: /HLDetectorTiming/TRACKING/FCAL - SC Target Time
5 // hnamepath: /HLDetectorTiming/TRACKING/TOF - SC Target Time
6 // hnamepath: /HLDetectorTiming/TRACKING/BCAL - SC Target Time
7 
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* FDC_Timing = (TH1I*)gDirectory->Get("FDC/FDCHit Cathode time");
18  TH1I* CDC_SC_Timing = (TH1I*)gDirectory->Get("TRACKING/Earliest CDC Time Minus Matched SC Time");
19  TH1I* FCAL_SC_Timing = (TH1I*)gDirectory->Get("TRACKING/FCAL - SC Target Time");
20  TH1I* TOF_SC_Timing = (TH1I*)gDirectory->Get("TRACKING/TOF - SC Target Time");
21  TH1I* BCAL_SC_Timing = (TH1I*)gDirectory->Get("TRACKING/BCAL - SC Target Time");
22 
23  //Get/Make Canvas
24  TCanvas *locCanvas = NULL;
25  if(TVirtualPad::Pad() == NULL)
26  locCanvas = new TCanvas("TrackMatchedTiming", "TrackMatchedTiming", 1200, 800); //for testing
27  else
28  locCanvas = gPad->GetCanvas();
29  locCanvas->Divide(3, 2);
30 
31  //Draw
32  locCanvas->cd(1);
33  gPad->SetTicks();
34  gPad->SetGrid();
35  if(CDC_Timing != NULL)
36  {
37  CDC_Timing->Draw();
38  CDC_Timing->SetFillColor(kGray);
39  }
40  else{
41  TPaveText *text = new TPaveText(0.1, 0.4, 0.9, 0.6);
42  text->AddText("No CDC Times in data");
43  text->Draw();
44  }
45 
46  locCanvas->cd(2);
47  gPad->SetTicks();
48  gPad->SetGrid();
49  if(CDC_SC_Timing != NULL)
50  {
51  CDC_SC_Timing->Draw();
52  CDC_SC_Timing->SetFillColor(kGray);
53  }
54  else{
55  TPaveText *text = new TPaveText(0.1, 0.4, 0.9, 0.6);
56  text->AddText("No CDC tracks matced to SC with reasonable FOM");
57  text->Draw();
58  }
59 
60  locCanvas->cd(3);
61  gPad->SetTicks();
62  gPad->SetGrid();
63  if(FCAL_SC_Timing != NULL)
64  {
65  FCAL_SC_Timing->Draw();
66  FCAL_SC_Timing->SetFillColor(kGray);
67  }
68  else{
69  TPaveText *text = new TPaveText(0.1, 0.4, 0.9, 0.6);
70  text->AddText("No Matches to SC and FCAL with reasonable FOM");
71  text->Draw();
72  }
73 
74  locCanvas->cd(4);
75  gPad->SetTicks();
76  gPad->SetGrid();
77  if(FDC_Timing != NULL)
78  {
79  FDC_Timing->GetXaxis()->SetRangeUser(-150,350);
80  FDC_Timing->Draw();
81  FDC_Timing->SetFillColor(kGray);
82  }
83  else{
84  TPaveText *text = new TPaveText(0.1, 0.4, 0.9, 0.6);
85  text->AddText("No FDC Cathode Hit times");
86  text->Draw();
87  }
88 
89  locCanvas->cd(5);
90  gPad->SetTicks();
91  gPad->SetGrid();
92  if(TOF_SC_Timing != NULL)
93  {
94  TOF_SC_Timing->Draw();
95  TOF_SC_Timing->SetFillColor(kGray);
96  }
97  else{
98  TPaveText *text = new TPaveText(0.1, 0.4, 0.9, 0.6);
99  text->AddText("No Matches to SC and TOF with reasonable FOM");
100  text->Draw();
101  }
102 
103  locCanvas->cd(6);
104  gPad->SetTicks();
105  gPad->SetGrid();
106  if(BCAL_SC_Timing != NULL)
107  {
108  BCAL_SC_Timing->Draw();
109  BCAL_SC_Timing->SetFillColor(kGray);
110  }
111  else{
112  TPaveText *text = new TPaveText(0.1, 0.4, 0.9, 0.6);
113  text->AddText("No Matches to SC and BCAL with reasonable FOM");
114  text->Draw();
115  }
116 }
117 
TDirectory * locDirectory
TCanvas * locCanvas
char text[100]