54 void check_offset (
string filename ,
string iDir ,
string plot ,
float limit_min ,
float limit_max , vector <int>& );
61 float limit_x = 0.002;
62 float limit_y = 0.002;
64 float limit_dx = 0.002;
65 float limit_dy = 0.002;
67 float limit_errdx = 0.002;
68 float limit_errdy = 0.002;
69 float limit_errdz = 0.5;
73 vector <int> ls_x_bad;
74 vector <int> ls_y_bad;
75 vector <int> ls_z_bad;
77 vector <int> ls_xsc_bad;
78 vector <int> ls_ysc_bad;
79 vector <int> ls_zsc_bad;
81 vector <int> ls_dx_bad;
82 vector <int> ls_dy_bad;
83 vector <int> ls_dz_bad;
85 vector <int> ls_dxsc_bad;
86 vector <int> ls_dysc_bad;
87 vector <int> ls_dzsc_bad;
89 vector <int> ls_errdx_bad;
90 vector <int> ls_errdy_bad;
91 vector <int> ls_errdz_bad;
93 vector <int> ls_errdxsc_bad;
94 vector <int> ls_errdysc_bad;
95 vector <int> ls_errdzsc_bad;
101 check_offset (
filename,
"Validation" ,
"hxLumibased PrimaryVertex-DataBase" , -limit_x , limit_x , ls_x_bad );
102 check_offset (
filename,
"Validation" ,
"hyLumibased PrimaryVertex-DataBase" , -limit_y , limit_y , ls_y_bad );
103 check_offset (
filename,
"Validation" ,
"hzLumibased PrimaryVertex-DataBase" , -limit_z , limit_z , ls_z_bad );
106 check_offset (
filename,
"Validation" ,
"hxLumibased Scalers-DataBase fit" , -limit_x , limit_x , ls_xsc_bad );
107 check_offset (
filename,
"Validation" ,
"hyLumibased Scalers-DataBase fit" , -limit_y , limit_y , ls_ysc_bad );
108 check_offset (
filename,
"Validation" ,
"hzLumibased Scalers-DataBase fit" , -limit_z , limit_z , ls_zsc_bad );
110 check_offset (
filename,
"Debug" ,
"hsigmaXLumibased PrimaryVertex-DataBase fit" , -limit_dx , limit_dx , ls_dx_bad );
111 check_offset (
filename,
"Debug" ,
"hsigmaYLumibased PrimaryVertex-DataBase fit" , -limit_dy , limit_dy , ls_dy_bad );
112 check_offset (
filename,
"Debug" ,
"hsigmaZLumibased PrimaryVertex-DataBase fit" , -limit_dz , limit_dz , ls_dz_bad );
114 check_offset (
filename,
"Validation" ,
"hsigmaXLumibased Scalers-DataBase fit" , -limit_dx , limit_dx , ls_dxsc_bad );
115 check_offset (
filename,
"Validation" ,
"hsigmaYLumibased Scalers-DataBase fit" , -limit_dy , limit_dy , ls_dysc_bad );
116 check_offset (
filename,
"Validation" ,
"hsigmaZLumibased Scalers-DataBase fit" , -limit_dz , limit_dz , ls_dzsc_bad );
118 check_sigma (
filename,
"Debug" ,
"hsigmaXLumibased PrimaryVertex-DataBase fit" , limit_errdx , ls_errdx_bad );
119 check_sigma (
filename,
"Debug" ,
"hsigmaYLumibased PrimaryVertex-DataBase fit" , limit_errdy , ls_errdy_bad );
120 check_sigma (
filename,
"Debug" ,
"hsigmaZLumibased PrimaryVertex-DataBase fit" , limit_errdz , ls_errdz_bad );
122 check_sigma (
filename,
"Validation" ,
"hsigmaXLumibased Scalers-DataBase fit" , limit_errdx , ls_errdxsc_bad );
123 check_sigma (
filename,
"Validation" ,
"hsigmaYLumibased Scalers-DataBase fit" , limit_errdy , ls_errdysc_bad );
124 check_sigma (
filename,
"Validation" ,
"hsigmaZLumibased Scalers-DataBase fit" , limit_errdz , ls_errdzsc_bad );
142 ls_bad.push_back (
i );
148 ls_bad.push_back (
i );
154 ls_bad.push_back (
i );
160 ls_bad.push_back (
i );
166 ls_bad.push_back (
i );
172 ls_bad.push_back (
i );
178 ls_bad.push_back (
i );
184 ls_bad.push_back (
i );
190 ls_bad.push_back (
i );
195 ls_good.push_back(
i );
200 outfile.open(namefile.c_str());
201 outfile <<
"Lumibased BeamSpot Calibration Certification for run " <<
runnum_str(
filename ) <<
":" << endl << endl;
204 sprintf( line,
" GOOD Lumisections (values within limits): %s" ,
ListOut( ls_good ).c_str() );
205 outfile << line << endl;
207 if ( ls_bad.size() > 0 )
209 sprintf( line,
" BAD Lumisections (values outside limits): %s" ,
ListOut( ls_bad ).c_str() );
210 outfile << line << endl;
212 sprintf( line,
" --- histogram name --- --- bad lumisection list(*) ---" );
213 outfile << line << endl;
214 sprintf( line,
" hxLumibased PrimaryVertex-DataBase (mean): %s" ,
ListOut( ls_x_bad ).c_str() );
215 if ( ls_x_bad.size() > 0 ) outfile << line << endl;
216 sprintf( line,
" hyLumibased PrimaryVertex-DataBase (mean): %s" ,
ListOut( ls_y_bad ).c_str() );
217 if ( ls_y_bad.size() > 0 ) outfile << line << endl;
218 sprintf( line,
" hzLumibased PrimaryVertex-DataBase (mean): %s" ,
ListOut( ls_z_bad ).c_str() );
219 if ( ls_z_bad.size() > 0 ) outfile << line << endl;
221 sprintf( line,
" hsigmaXLumibased PrimaryVertex-DataBase fit (mean): %s" ,
ListOut( ls_dx_bad ).c_str() );
222 if ( ls_dx_bad.size() > 0 ) outfile << line << endl;
223 sprintf( line,
" hsigmaYLumibased PrimaryVertex-DataBase fit (mean): %s" ,
ListOut( ls_dy_bad ).c_str() );
224 if ( ls_dy_bad.size() > 0 ) outfile << line << endl;
225 sprintf( line,
" hsigmaZLumibased PrimaryVertex-DataBase fit (mean): %s" ,
ListOut( ls_dz_bad ).c_str() );
226 if ( ls_dz_bad.size() > 0 ) outfile << line << endl;
228 sprintf( line,
" hsigmaXLumibased PrimaryVertex-DataBase fit (error): %s" ,
ListOut( ls_errdx_bad ).c_str() );
229 if ( ls_errdx_bad.size() > 0 ) outfile << line << endl;
230 sprintf( line,
" hsigmaYLumibased PrimaryVertex-DataBase fit (error): %s" ,
ListOut( ls_errdy_bad ).c_str() );
231 if ( ls_errdy_bad.size() > 0 ) outfile << line << endl;
232 sprintf( line,
" hsigmaZLumibased PrimaryVertex-DataBase fit (error): %s" ,
ListOut( ls_errdz_bad ).c_str() );
233 if ( ls_errdz_bad.size() > 0 ) outfile << line << endl;
235 sprintf( line,
" (*) also bad in the corresponding 'Scalers-Database fit' histograms" );
236 outfile << line << endl;
240 std::cout <<
"Lumibased BeamSpot Calibration Certification summary saved in " << namefile << endl;
string runnum_str(string filename)
void vector_AND(vector< int > &, vector< int >)
string ListOut(vector< int > &LSlist)
int nlumis(string filename)
bool check_isgood(vector< int > &ls_badlist, int ls)
void check_offset(string filename, string iDir, string plot, float limit_min, float limit_max, vector< int > &badLS)
void check_sigma(string filename, string iDir, string plot, float limit_err, vector< int > &badLS)