1 void GetData(TString fname,
double *
y,
double &mean,
const int N) {
3 double prod = 0.0;
double sum = 0.0;
4 for (
int i = 0; i < N; i++) {
5 char sep;
int n;
double w, t, dt,
sigma;
6 fin >> n >> sep >> w >> sep >> t >> sep >> dt >> sep >>
sigma;
14 for (
int i = 0; i < N; i++) {
if (y[i] == 0.0) y[i] = mean;}
19 char sep;
int n;
double w, t, dt,
sigma;
20 fin >> n >> sep >> w >> sep >> t >> sep >> dt >> sep >>
sigma;
25 ifstream fin(
"offsets/base_time_offset_ccdb.txt");
27 fin >> adc_offset_psc >> tdc_offset_psc >> adc_offset_ps;
31 ifstream fin(
"offsets/tdc_timing_offsets_psc_ccdb.txt");
33 for (
int i = 0; i < N; i++) {
34 fin >> tdc_offsets[i];
39 ifstream fin(
"offsets/adc_timing_offsets_psc_ccdb.txt");
41 for (
int i = 0; i < N; i++) {
42 fin >> adc_offsets[i];
47 ifstream fin(
"offsets/adc_timing_offsets_ps_ccdb.txt");
49 for (
int i = 0; i < N; i++) {
50 fin >> adc_offsets_l[i] >> adc_offsets_r[i];
55 double adc_ccdb_psc;
double tdc_ccdb_psc;
double adc_ccdb_ps;
57 ofstream fout; fout.open(
"offsets/base_time_offset.txt");
59 double adc_mu = tdc_mu - tdcadc_mu;
60 fout << adc_ccdb_psc - adc_mu + TAGH_mu << sep << tdc_ccdb_psc - tdc_mu + TAGH_mu << sep << adc_ccdb_ps - ps_mu + TAGH_mu << endl;
66 ofstream fout; fout.open(
"offsets/tdc_timing_offsets_psc.txt");
68 for (
int i = 0; i < N; i++) fout << y_ccdb[i] + y[i] - mean << endl;
70 fout.open(
"offsets/tdc_timing_offsets_psc_diff.txt");
71 for (
int i = 0; i < N; i++) fout << y[i] - mean << endl;
77 ofstream fout; fout.open(
"offsets/adc_timing_offsets_psc.txt");
79 for (
int i = 0; i < N; i++) fout << y_ccdb[i] + y[i] - mean - (y_tdcadc[i] - mean_tdcadc) << endl;
81 fout.open(
"offsets/adc_timing_offsets_psc_diff.txt");
82 for (
int i = 0; i < N; i++) fout << y[i] - mean - (y_tdcadc[i] - mean_tdcadc) << endl;
86 double yl_ccdb[int(N/2)];
double yr_ccdb[int(N/2)];
88 ofstream fout; fout.open(
"offsets/adc_timing_offsets_ps.txt");
90 for (
int i = 0; i < int(N/2); i++) fout << yl_ccdb[i] + y[i] - mean << sep << yr_ccdb[i] + y[i+145] - mean << endl;
92 fout.open(
"offsets/adc_timing_offsets_ps_diff.txt");
93 for (
int i = 0; i < int(N/2); i++) fout << y[i] - mean << sep << y[i+145] - mean << endl;
97 system(
"mkdir -p offsets");
100 double y[N];
double mean_tdc = 0.0;
101 GetData(dir+
"/results_PSC.txt",y,mean_tdc,N);
103 double y_tdcadc[N];
double mean_tdcadc = 0.0;
104 GetData(dir+
"/results_TDCADC.txt",y_tdcadc,mean_tdcadc,N);
107 const int N_ps = 290;
108 double y_ps[N_ps];
double mean_ps = 0.0;
109 GetData(dir+
"/results_PS.txt",y_ps,mean_ps,N_ps);
112 double PSCTAGH_offset =
GetBaseOffset(dir+
"/results_base.txt");
double GetBaseOffset(TString fname)
void GetCCDBOffsetsBase(double &adc_offset_psc, double &tdc_offset_psc, double &adc_offset_ps)
void GetPSCCCDBOffsetsADC(double *adc_offsets, const int N)
Double_t sigma[NCHANNELS]
void GetPSCCDBOffsetsADC(double *adc_offsets_l, double *adc_offsets_r, const int N)
void GetData(TString fname, double *y, double &mean, const int N)
void WritePSCTDCOffsets(double *y, double mean, const int N)
void GetPSCCCDBOffsetsTDC(double *tdc_offsets, const int N)
void WritePSADCOffsets(double *y, double mean, const int N)
void WritePSCADCOffsets(double *y_tdcadc, double mean_tdcadc, double *y, double mean, const int N)
void WriteBaseOffsets(double TAGH_mu, double tdc_mu, double tdcadc_mu, double ps_mu)