Logo coherent WaveBurst  
Library Reference Guide
Logo
DrawSensitivitiesS5.C
Go to the documentation of this file.
1 #define L1_SHH_FILE_NAME "report/dump/sensitivity_L1_841104609_S5_SIM_BRST_L1H1H2_SGW_SMDC_run5_tst1_job1.txt"
2 #define H1_SHH_FILE_NAME "report/dump/sensitivity_H1_841104609_S5_SIM_BRST_L1H1H2_SGW_SMDC_run5_tst1_job1.txt"
3 #define H2_SHH_FILE_NAME "report/dump/sensitivity_H2_841104609_S5_SIM_BRST_L1H1H2_SGW_SMDC_run5_tst1_job1.txt"
4 
5 #define GPS_TIME 841104609
6 
7 //#define GREYSCALE
8 
9 #define SIZE 1000000
10 
11 #define nIFO 3
12 
13 void DrawSensitivitiesS5(TString ofname="") {
14 
15  ifstream in[nIFO];
16 
17  in[0].open(L1_SHH_FILE_NAME,ios::in);
18  if (!in[0].good()) {cout << "Error Opening File : " << L1_SHH_FILE_NAME << endl;exit(1);}
19 
20  in[1].open(H1_SHH_FILE_NAME,ios::in);
21  if (!in[1].good()) {cout << "Error Opening File : " << H1_SHH_FILE_NAME << endl;exit(1);}
22 
23  in[2].open(H2_SHH_FILE_NAME,ios::in);
24  if (!in[2].good()) {cout << "Error Opening File : " << H2_SHH_FILE_NAME << endl;exit(1);}
25 
26  double freq[nIFO][SIZE];
27  double shh[nIFO][SIZE];
28  int size[nIFO]={0,0,0};
29 
30  for(int i=0;i<nIFO;i++) {
31  while (1) {
32  double F,S;
33  in[i] >> F >> S;
34  if (!in[i].good()) break;
35  if(S!=0) {
36  freq[i][size[i]]=F;
37  shh[i][size[i]]=S;
38  size[i]++;
39  }
40  }
41  in[i].close();
42  }
43 
44  // remove the red box around canvas
45  gStyle->SetFrameBorderMode(0);
46  gROOT->ForceStyle();
47 
48  gStyle->SetTitleFont(72);
49  gStyle->SetMarkerColor(50);
50  gStyle->SetLineColor(kWhite);
51  gStyle->SetTitleW(0.98);
52  gStyle->SetTitleH(0.05);
53  gStyle->SetTitleY(0.98);
54  gStyle->SetFillColor(kWhite);
55  gStyle->SetLineColor(kWhite);
56  gStyle->SetTitleFont(12,"D");
57 
58  TGraph* gr[nIFO];
59  for(int n=0;n<nIFO;n++) gr[n] = new TGraph(size[n],freq[n],shh[n]);
60  for(int n=0;n<nIFO;n++) gr[n]->SetLineWidth(3);
61 
62 #ifdef GREYSCALE
63  gr[0]->SetLineColor(kBlack);
64  gr[0]->SetMarkerColor(kBlack);
65  gr[0]->SetLineStyle(1);
66 
67  gr[1]->SetLineColor(kBlack);
68  gr[1]->SetMarkerColor(kBlack);
69  gr[1]->SetLineStyle(2);
70 
71  gr[2]->SetLineColor(kBlack);
72  gr[2]->SetMarkerColor(kBlack);
73  gr[2]->SetLineStyle(9);
74 #else
75  gr[0]->SetLineColor(kBlue);
76  gr[0]->SetMarkerColor(kBlue);
77 
78  gr[1]->SetLineColor(kBlack);
79  gr[1]->SetMarkerColor(kBlack);
80 
81  gr[2]->SetLineColor(kRed);
82  gr[2]->SetMarkerColor(kRed);
83 #endif
84 
85  TCanvas *canvas = new TCanvas("Sensitivity", "Sh", 300,40, 1200, 800);
86  canvas->Clear();
87  canvas->ToggleEventStatus();
88  canvas->SetLogx();
89  canvas->SetLogy();
90  canvas->SetGridx();
91  canvas->SetGridy();
92  canvas->SetFillColor(kWhite);
93 #ifdef GREYSCALE
94  canvas->SetGrayscale(true);
95 #endif
96 
97  TMultiGraph* mg = new TMultiGraph();
98  char title[256];sprintf(title,"LIGO Detectors : S5 Sensitivity Curves - GPS : %d",GPS_TIME);
99  mg->SetTitle(title);
100  //mg->SetTitle("");
101 
102  mg->Add(gr[0]);
103  mg->Add(gr[1]);
104  mg->Add(gr[2]);
105 
106  mg->Paint("APL");
107 
108  mg->GetHistogram()->GetXaxis()->SetLabelSize(0.04);
109  mg->GetHistogram()->GetYaxis()->SetLabelSize(0.04);
110  mg->GetHistogram()->GetXaxis()->SetTitleSize(0.04);
111  mg->GetHistogram()->GetYaxis()->SetTitleSize(0.04);
112  mg->GetHistogram()->GetXaxis()->SetLabelFont(42);
113  mg->GetHistogram()->GetYaxis()->SetLabelFont(42);
114  mg->GetHistogram()->GetYaxis()->SetLabelOffset(0.01);
115  mg->GetHistogram()->GetYaxis()->SetTitleOffset(1.5);
116 
117  mg->GetHistogram()->GetXaxis()->SetRangeUser(30,8192);
118  mg->GetHistogram()->GetYaxis()->SetRangeUser(1e-23,1e-19);
119 
120  mg->GetXaxis()->SetTitle(gr[0]->GetXaxis()->GetTitle());
121  mg->GetXaxis()->SetLabelFont(42);
122  mg->GetYaxis()->SetLabelFont(42);
123  mg->GetXaxis()->SetTitleFont(42);
124  mg->GetYaxis()->SetTitleFont(42);
125  mg->GetXaxis()->SetTitleOffset(1.20);
126  mg->GetYaxis()->SetTitleOffset(1.05);
127  mg->GetXaxis()->SetTitleSize(0.04);
128  mg->GetYaxis()->SetTitleSize(0.04);
129  mg->GetXaxis()->SetTitle("Frequency (Hz) ");
130  mg->GetYaxis()->SetTitle("#frac{1}{#sqrt{Hz}} ");
131 
132  mg->Draw("APL");
133 
134  // draw the legend
135  TLegendEntry* entry;
136  //TLegend *legend = new TLegend(0.6580773,0.1684699,0.8810704,0.3261206,NULL,"brNDC");
137  TLegend *legend = new TLegend(0.6705686,0.7269985,0.8929766,0.8853695,NULL,"brNDC");
138 
139  legend->SetTextFont(42);
140  legend->SetTextSize(0.03);
141  legend->SetLineColor(kBlack);
142  legend->SetFillColor(kWhite);
143  //legend->SetLineWidth(3);
144  legend->AddEntry(gr[0]," L1","lp");
145  legend->AddEntry(gr[1]," H1","lp");
146  legend->AddEntry(gr[2]," H2","lp");
147  legend->Draw();
148 
149  if(ofname!="") {
150  cout << ofname.Data() << endl;
151  ofname.ReplaceAll(".png",".gif");
152  canvas->Print(ofname.Data());
153  char cmd[256];
154  TString pfname(ofname);
155  pfname.ReplaceAll(".gif",".png");
156  sprintf(cmd,"convert %s %s",ofname.Data(),pfname.Data());
157  cout << cmd << endl;
158  gSystem->Exec(cmd);
159  sprintf(cmd,"rm %s",ofname.Data());
160  cout << cmd << endl;
161  gSystem->Exec(cmd);
162  exit(0);
163  }
164 
165 }
#define GPS_TIME
int n
Definition: cwb_net.C:28
TString("c")
return wmap canvas
Long_t size
i drho i
#define L1_SHH_FILE_NAME
#define nIFO
wavearray< double > freq
Definition: Regression_H1.C:79
htemp SetLineWidth(3)
TGraph * gr
cout<<"Number of Entries: "<< num<< endl;double *slag1=new double[slag_entries];slag1=wave.GetV1();double *slag2=new double[slag_entries];slag2=wave.GetV2();char mytitle[256];double SlagMax=wave.GetMaximum("slag")+segLen/2.;double SlagMin=wave.GetMinimum("slag") -segLen/2.;int NSlag=TMath::FloorNint((SlagMax-SlagMin)/segLen);cout<< "SLAG MAX : "<< wave.GetMaximum("slag")<< " s SLAG MIN : "<< wave.GetMinimum("slag")<< " s #SLAGS : "<< NSlag-1<< endl;if(NSlag==1){cout<<"Just one slag....Skipping further execution!"<< endl;exit(0);} sprintf(mytitle,"FAR distribution over slags (post cat3 & rho>%f)", T_cut);TH2F *Slag=new TH2F("SLAG", mytitle, NSlag, SlagMin/86400., SlagMax/86400., NSlag, SlagMin/86400., SlagMax/86400.);Slag-> GetXaxis() -> SetTitle("slag[1] shift [day]")
double F
double * entry
Definition: cwb_setcuts.C:224
double e
void DrawSensitivitiesS5(TString ofname="")
#define H2_SHH_FILE_NAME
char title[256]
Definition: SSeriesExample.C:1
#define H1_SHH_FILE_NAME
ifstream in
#define SIZE
char cmd[1024]
Meyer< double > S(1024, 2)
sprintf(tfres,"(1/%g)x(%g) (sec)x(Hz)", 2 *df, df)
TMultiGraph * mg
exit(0)