10 int MIN[6] = {0, 4, 8, 14, 19, 23};
11 int MAX[6] = {3, 7, 13, 18, 22, 27};
59 TObjString* sfile = (TObjString*)token->At(token->GetEntries()-1);
62 ofile.ReplaceAll(
".root",
".txt");
63 TITLE.ReplaceAll(
".root",
"");
67 if (!out.good()) {cout <<
"Error Opening File : " << ofile.Data() << endl;
exit(1);}
68 cout <<
"Create file : " << ofile.Data() << endl;
70 double coverage[
NMDC][11];
74 for (
int j=1;
j<10;
j++) {
76 out <<
mdc[
i].Data() <<
" " <<
j*10 <<
" " << coverage[
i][
j] << endl;
82 TCanvas*
canvas =
new TCanvas(
"fom",
"PRC", 300,40, 600, 600);
84 canvas->ToggleEventStatus();
85 canvas->SetFillColor(0);
88 canvas->SetLogy(
false);
89 canvas->SetLogx(
false);
91 gStyle->SetTitleH(0.032);
92 gStyle->SetTitleW(0.98);
93 gStyle->SetTitleY(0.98);
94 gStyle->SetTitleFont(72);
95 gStyle->SetLineColor(kWhite);
96 gStyle->SetPalette(1,0);
97 gStyle->SetNumberContours(256);
99 Style_t markers[32]= {20,21,22,23,29,29,21,22,20,21,22,23,29,20,21,22,
100 21,22,23,29,29,21,22,20,21,22,23,29,20,21,22,20 };
102 Color_t
colors[32] = { 6, 3, 2, 8,43, 7, 8, 4, 4, 2,43, 1, 3, 1, 6, 7,
103 6, 3, 2, 8,43, 7, 8, 4, 4, 2,43, 1, 3, 1, 6, 7 };
105 double perc[11]={0,10,20,30,40,50,60,70,80,90,100};
107 for(
int i=
MIN[idmdc];
i<=
MAX[idmdc];
i++) {
108 gr[
i] =
new TGraph(11,perc,coverage[
i]);
109 gr[
i]->SetLineColor(colors[i]);
110 gr[
i]->SetLineWidth(1);
111 gr[
i]->SetMarkerColor(colors[i]);
112 gr[
i]->SetMarkerStyle(markers[i]);
116 gr[NMDC+1] =
new TGraph(2,x,y);
117 gr[NMDC+1]->SetLineColor(1);
118 gr[NMDC+1]->SetLineWidth(2);
119 gr[NMDC+1]->SetLineStyle(2);
121 TMultiGraph*
mg =
new TMultiGraph();
122 for(
int i=
MIN[idmdc];
i<=
MAX[idmdc];
i++) mg->Add(gr[
i],
"lp");
123 mg->Add(gr[NMDC+1],
"lp");
127 mg->GetHistogram()->SetTitle(title);
128 mg->GetHistogram()->GetXaxis()->SetTitle(
"Percentage");
129 mg->GetHistogram()->GetYaxis()->SetTitle(
"Coverage");
130 mg->GetHistogram()->GetXaxis()->SetRangeUser(0,100);
131 mg->GetHistogram()->GetYaxis()->SetRangeUser(0,100);
132 mg->GetHistogram()->GetXaxis()->SetTitleOffset(1.3);
133 mg->GetHistogram()->GetYaxis()->SetTitleOffset(1.3);
134 mg->GetHistogram()->GetXaxis()->CenterTitle(
true);
135 mg->GetHistogram()->GetYaxis()->CenterTitle(
true);
136 mg->GetHistogram()->GetXaxis()->SetLabelFont(42);
137 mg->GetHistogram()->GetXaxis()->SetTitleFont(42);
138 mg->GetHistogram()->GetYaxis()->SetLabelFont(42);
139 mg->GetHistogram()->GetYaxis()->SetTitleFont(42);
143 int nmdc=0;
for(
int i=
MIN[idmdc];i<=
MAX[idmdc];i++) nmdc++;
144 double hleg = 0.8-nmdc*0.05;
145 leg =
new TLegend(0.1291513,hleg,0.6244966,0.8738739,NULL,
"brNDC");
147 leg->SetBorderSize(1);
148 leg->SetTextAlign(22);
149 leg->SetTextFont(12);
150 leg->SetLineColor(1);
151 leg->SetLineStyle(1);
152 leg->SetLineWidth(1);
153 leg->SetFillColor(0);
154 leg->SetFillStyle(1001);
155 leg->SetTextSize(0.04);
156 leg->SetLineColor(kBlack);
157 leg->SetFillColor(kWhite);
160 for(
int i=
MIN[idmdc];i<=
MAX[idmdc];i++) {
162 leg->AddEntry(gr[i],label,
"lp");
169 gfileName.ReplaceAll(
".txt",label);
170 canvas->Print(gfileName);
172 pfileName.ReplaceAll(
".gif",
".png");
174 sprintf(cmd,
"convert %s %s",gfileName.Data(),pfileName.Data());
177 sprintf(cmd,
"rm %s",gfileName.Data());
186 TFile *
ifile = TFile::Open(fname.Data());
187 TTree*
itree = (TTree *) gROOT->FindObject(
"waveburst");
188 itree->SetEstimate(itree->GetEntries());
190 char selection[1024];
192 sprintf(tree_cut,
"abs(time[0]-time[3])<0.1 && type[1]==%d && abs(factor-%f)<0.1",idmdc,
factors[idfactor]);
195 sprintf(selection,
"erA[0]-erA[%d]>>hist_cumulative_erA1(2000,-100,100)",iderA);
196 itree->Draw(selection,tree_cut,
"goff");
197 int size = itree->GetSelectedRows();
198 TH1D* hist_cumulative_erA1 = (TH1D*)gDirectory->Get(
"hist_cumulative_erA1");
201 delete hist_cumulative_erA1;
207 double integral = hist_cumulative_erA1->ComputeIntegral();
208 if (integral==0) {cout <<
"Empty histogram !!!" << endl;
exit(0);}
209 double* cumulative = hist_cumulative_erA1->GetIntegral();
210 for (
int i=0;
i<hist_cumulative_erA1->GetNbinsX();
i++) hist_cumulative_erA1->SetBinContent(
i,cumulative[
i]/integral);
214 double perc = 100.*hist_cumulative_erA1->GetBinContent(1001);
215 delete hist_cumulative_erA1;
void DrawCoverageVsPercentagePRC2(TString ifile, int idfactor, int idmdc, bool save=false)
cout<< endl;cout<< "ts size = "<< ts.size()<< " ts rate = "<< ts.rate()<< endl;tf.Forward(ts, wdm);int levels=tf.getLevel();cout<< "tf size = "<< tf.size()<< endl;double dF=tf.resolution();double dT=1./(2 *dF);cout<< "rate(hz) : "<< RATE<< "\t layers : "<< nLAYERS<< "\t dF(hz) : "<< dF<< "\t dT(ms) : "<< dT *1000.<< endl;int itime=TIME_PIXEL_INDEX;int ifreq=FREQ_PIXEL_INDEX;int index=(levels+1)*itime+ifreq;double time=itime *dT;double freq=(ifreq >0)?ifreq *dF:dF/4;cout<< endl;cout<< "PIXEL TIME = "<< time<< " sec "<< endl;cout<< "PIXEL FREQ = "<< freq<< " Hz "<< endl;cout<< endl;wavearray< double > x
double GetPercentage(int idmdc, int iderA, int idfactor, TString fname)
sprintf(tfres,"(1/%g)x(%g) (sec)x(Hz)", 2 *df, df)