15 #include <TDirectory.h>
17 #include <TPaveLabel.h>
18 #include <TPaletteAxis.h>
23 #include <TGraphErrors.h>
79 Double_t fitval_pp = par[0] + par[1]*x[0];
86 TFile *
df =
new TFile(input_filename);
87 std::ofstream st_time_res;
88 st_time_res.open (
"st_time_res.txt", std::ofstream::out);
94 for (
unsigned int j = 0; j < 30; j++)
97 PT_can[j] =
new TCanvas( Form(
"PT_can_%i",j+1), Form(
"PT_can_%i",j+1), 800, 450);
100 TopDirectory = (TDirectory*) df->FindObjectAny(
"ST_Tresolution");
103 char*
total = Form(
"h2_CorrectedTime_z_%i",j+1);
105 char* pj = Form(
"py_%i",j+1);
106 TH1D* pytotal = (TH1D*)pj;
108 cout <<
"==================================================" << endl;
109 cout <<
"Processing Channel " << j+1 << endl;
110 cout <<
"==================================================" << endl;
118 gStyle->SetOptStat(0);
119 gStyle->SetErrorX(0);
124 h2_total->GetYaxis()->SetTitle(
"ST Corrected Time (ns)");
127 gStyle->SetOptFit(11);
128 gStyle->SetErrorX(0);
133 t_max[j]= pytotal->GetMaximum();
134 t_min[j]= pytotal->GetMinimum();
135 for (
unsigned int i = 0; i < 200; i++)
136 {
bins[i]= pytotal->GetBinContent(i);
139 pytotal->SetBinContent(i,0);
141 pytotal->GetXaxis()->SetRangeUser(-1.5,1.5);
142 pytotal->GetXaxis()->SetTitle(
"ST Corrected Time (ns)");
145 pytotal->Fit(
"gaus");
146 TF1 *gaus = pytotal->GetFunction(
"gaus");
148 PT_can[j]->Print(Form(
"ST_Sector_%i.png",j+1));
157 in.open(Form(
"st_time_res.txt"));
158 float sector,ser,tall,taller;
159 TNtuple *ntuple =
new TNtuple(
"ntuple",
"data from text file",
"sector:ser:tall:taller");
160 ntuple->ReadFile(
"st_time_res.txt");
164 TCanvas *
Time_can =
new TCanvas(
"Time_can",
"Time_can", 800, 600);
165 Time_can->SetFillColor(41);
166 gStyle->SetOptFit(011);
167 ntuple->Draw(
"sector:tall:taller:ser");
168 TGraphErrors *
gr=
new TGraphErrors(ntuple->GetSelectedRows(),ntuple->GetV1(),ntuple->GetV2(),ntuple->GetV4(),ntuple->GetV3());
170 gr->SetTitle(
"Time Resolution After Applying Propagation Time Corrections");
171 gr->GetXaxis()->SetTitle(
"Sector Number");
172 gr->GetYaxis()->SetTitle(
"Time Resolution (ps)");
173 gr->SetMarkerStyle(21);
174 gr->SetMarkerSize(3);
175 gr->SetMarkerColor(4);
179 TLine *line =
new TLine(0,350,33,350);
180 line->SetLineWidth(4);
181 line->SetLineColor(28);
182 line->SetLineStyle(9);
185 Time_can->Print(Form(
"ST_Tresolution.png"));
Double_t tns_min[NCHANNELS]
Double_t t_bs_fit_err[NCHANNELS][3]
Double_t t_bs_fit[NCHANNELS][3]
TF1 * t_vs_z_fit_chan[NCHANNELS]
Double_t tbs_min[NCHANNELS]
Double_t t_total_fit[NCHANNELS][3]
void st_time_resolution(char const *input_filename)
Double_t t_bn_fit[NCHANNELS][3]
Double_t t_min[NCHANNELS]
Double_t tbs_max[NCHANNELS]
TDirectory * TopDirectory
Double_t t_ns_fit_err[NCHANNELS][3]
Double_t tall_max[NCHANNELS]
Double_t tss_min[NCHANNELS]
Double_t t_bn_fit_err[NCHANNELS][3]
Double_t t_total_fit_err[NCHANNELS][3]
Double_t t_all_fit[NCHANNELS][3]
Double_t t_ns_fit[NCHANNELS][3]
Double_t t_ss_fit_err[NCHANNELS][3]
Double_t tns_max[NCHANNELS]
Double_t tbn_max[NCHANNELS]
Double_t t_ss_fit[NCHANNELS][3]
Double_t t_all_fit_err[NCHANNELS][3]
Double_t tall_min[NCHANNELS]
Double_t t_max[NCHANNELS]
Double_t tss_max[NCHANNELS]
Double_t fitf_pp(Double_t *x, Double_t *par)
Double_t tbn_min[NCHANNELS]