400 if (fT1DRunNumber != 0){
delete [] fT1DRunNumber; fCdelete++;}
409 if (fMyRootFile != 0){
delete fMyRootFile; fCdelete++;}
413 if ( fCnew != fCdelete )
415 cout <<
"*TEcnaHistos> WRONG MANAGEMENT OF ALLOCATIONS: fCnew = "
416 << fCnew <<
", fCdelete = " << fCdelete << fTTBELL << endl;
426 if ( fCnewRoot != fCdeleteRoot )
428 cout <<
"*TEcnaHistos> WRONG MANAGEMENT OF ROOT ALLOCATIONS: fCnewRoot = "
429 << fCnewRoot <<
", fCdeleteRoot = " << fCdeleteRoot << endl;
433 cout <<
"*TEcnaHistos> BRAVO! GOOD MANAGEMENT OF ROOT ALLOCATIONS:"
434 <<
" fCnewRoot = " << fCnewRoot <<
", fCdeleteRoot = "
435 << fCdeleteRoot << endl;
499 if( pCnaParCout == 0 )
505 if( pCnaParPaths == 0 )
919 fFapFileRuns =
"(file with list of runs parameters: no info)";
972 if( pEcalNumbering == 0 )
978 if( pCnaParHistos == 0 )
1036 if ( option_scale ==
"LOG" ){
fFlagScaleX =
"LOG";}
1041 if ( option_scale ==
"LOG" ){
fFlagScaleY =
"LOG";}
1046 if ( !(option_palette ==
"Rainbow" || option_palette ==
"rainbow") ){
fFlagColPal =
"Black/Red/Blue";}
1047 if ( option_palette ==
"Rainbow" || option_palette ==
"rainbow" ){
fFlagColPal =
"Rainbow";}
1074 Int_t StexStin_A = 0;
1075 Int_t StexStin_B = 0;
1076 Int_t MatrixBinIndex = 0;
1081 ViewMatrix(StexStin_A, StexStin_B, MatrixBinIndex, MatrixProbaNature, MatrixElement, PlotOption);
1092 Int_t StexStin_A = 0;
1093 Int_t StexStin_B = 0;
1094 Int_t MatrixBinIndex = 0;
1099 ViewMatrix(StexStin_A, StexStin_B, MatrixBinIndex, MatrixProbaNature, MatrixElement, PlotOption);
1104 const TString PlotOption)
1108 Int_t StexStin_A = aStexStin_A;
1109 Int_t StexStin_B = aStexStin_B;
1116 Int_t MatrixBinIndex = 0;
1119 ViewMatrix(StexStin_A, StexStin_B, MatrixBinIndex, MatrixProbaNature, MatrixElement, PlotOption);
1123 const TString PlotOption)
1127 Int_t StexStin_A = aStexStin_A;
1128 Int_t StexStin_B = aStexStin_B;
1135 Int_t MatrixBinIndex = 0;
1138 ViewMatrix(StexStin_A, StexStin_B, MatrixBinIndex, MatrixProbaNature, MatrixElement, PlotOption);
1142 const TString PlotOption)
1146 Int_t StexStin_A = aStexStin_A;
1147 Int_t StexStin_B = aStexStin_B;
1154 Int_t MatrixBinIndex = 0;
1157 ViewMatrix(StexStin_A, StexStin_B, MatrixBinIndex, MatrixProbaNature, MatrixElement, PlotOption);
1161 const TString PlotOption)
1165 Int_t StexStin_A = aStexStin_A;
1166 Int_t StexStin_B = aStexStin_B;
1173 Int_t MatrixBinIndex = 0;
1176 ViewMatrix(StexStin_A, StexStin_B, MatrixBinIndex, MatrixProbaNature, MatrixElement, PlotOption);
1182 const TString PlotOption)
1186 Int_t StexStin_A = aStexStin_A;
1190 Int_t StexStin_B = 0;
1194 ViewMatrix(StexStin_A, StexStin_B, i0StinEcha, MatrixProbaNature, MatrixElement, PlotOption);
1199 const TString PlotOption)
1203 Int_t StexStin_A = aStexStin_A;
1207 Int_t StexStin_B = 0;
1211 ViewMatrix(StexStin_A, StexStin_B, i0StinEcha, MatrixProbaNature, MatrixElement, PlotOption);
1232 const Int_t& MatrixBinIndex,
const TString MatrixProbaNature,
1233 const TString MatrixElement,
const TString PlotOption)
1237 if( (
fFapStexNumber > 0) && (fFapStexNumber <= fEcal->MaxStexInStas()) )
1263 Int_t Stin_X_ok = 0;
1264 Int_t Stin_Y_ok = 0;
1267 {Stin_X_ok = 1; Stin_Y_ok = 1;}
1273 if ( vStin(index_Stin) == StexStin_A ){Stin_X_ok = 1;}
1274 if ( vStin(index_Stin) == StexStin_B ){Stin_Y_ok = 1;}
1277 if( Stin_X_ok == 1 && Stin_Y_ok == 1 )
1284 Int_t ReadMatSize = -1;
1285 Int_t i0StinEcha = -1;
1301 ( (MatrixElement ==
fBetweenSamples) && (i0StinEcha >= 0) && (i0StinEcha < fEcal->MaxCrysInStin()) ) )
1303 TMatrixD read_matrix(ReadMatSize, ReadMatSize);
1304 for(Int_t
i=0;
i<ReadMatSize;
i++)
1305 {
for(Int_t
j=0;
j<ReadMatSize;
j++){read_matrix(
i,
j)=(Double_t)0.;}}
1340 if( PlotOption ==
"ASCII" )
1343 StexStin_A, MatrixBinIndex, ReadMatSize, read_matrix);
1351 {sprintf(f_in_mat_tit,
"Covariance(Sample, Sample')");}
1353 {sprintf(f_in_mat_tit,
"Correlation(Sample, Sample')");}
1358 {sprintf(f_in_mat_tit,
1359 "Mean LF |Cor(Xtal,Xtal')| for each (Tower,Tower')");}
1361 {sprintf(f_in_mat_tit,
1362 "Mean HF |Cor(Xtal,Xtal')| for each (Tower,Tower')");}
1367 {sprintf(f_in_mat_tit,
1368 "Mean LF |Cor(Xtal,Xtal')| for each (SC,SC')");}
1370 {sprintf(f_in_mat_tit,
1371 "Mean HF |Cor(Xtal,Xtal')| for each (SC,SC')");}
1377 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') matrix elts for (Tow,Tow')");}
1379 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') matrix elts for (SC,SC')");}
1384 {sprintf(f_in_mat_tit,
"HF Cor(Xtal,Xtal') matrix elts for (Tow,Tow')");}
1386 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') matrix elts for (SC,SC')");}
1390 TString axis_x_var_name;
1391 TString axis_y_var_name;
1399 {sprintf(f_in_axis_x,
" %s number ",
fFapStinName.Data());}
1401 {sprintf(f_in_axis_x,
" %s number for construction ",
fFapStinName.Data());}
1403 axis_x_var_name = f_in_axis_x; axis_y_var_name = f_in_axis_x;
1407 axis_x_var_name =
" Sample "; axis_y_var_name =
" Sample ";
1410 sprintf(f_in_axis_x,
" Crystal %s %d ",
fFapStinName.Data(), StexStin_A);
1411 sprintf(f_in_axis_y,
" Crystal %s %d ",
fFapStinName.Data(),StexStin_B);
1412 axis_x_var_name = f_in_axis_x; axis_y_var_name = f_in_axis_y;}
1414 Int_t nb_binx = MatSize;
1415 Int_t nb_biny = MatSize;
1416 Axis_t xinf_bid = (Axis_t)0.;
1417 Axis_t xsup_bid = (Axis_t)MatSize;
1418 Axis_t yinf_bid = (Axis_t)0.;
1419 Axis_t ysup_bid = (Axis_t)MatSize;
1433 TH2D* h_fbid0 =
new TH2D(
"bidim", f_in_mat_tit,
1434 nb_binx, xinf_bid, xsup_bid,
1435 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
1438 h_fbid0->GetXaxis()->SetTitle(axis_x_var_name);
1439 h_fbid0->GetYaxis()->SetTitle(axis_y_var_name);
1445 for(Int_t
i = 0 ;
i < ReadMatSize ;
i++)
1447 for(Int_t
j = 0 ;
j < ReadMatSize ;
j++)
1453 if( xi_bid > 0 && xj_bid > 0 )
1454 {h_fbid0->Fill(xi_bid-1, xj_bid-1, read_matrix(
i,
j));}
1460 for(Int_t
i = 0 ;
i < ReadMatSize ;
i++)
1462 Double_t xi = (Double_t)
i;
1463 for(Int_t
j = 0 ;
j < ReadMatSize ;
j++)
1465 Double_t xj = (Double_t)
j;
1466 Double_t mat_val = (Double_t)read_matrix(
i,
j);
1467 h_fbid0->Fill(xi, xj, (Double_t)mat_val);
1474 TString quantity_code =
"D_MCs_ChNb";
1482 if( MatrixElement ==
fLFBetweenStins ){quantity_code =
"H2LFccMosMatrix";}
1483 if( MatrixElement ==
fHFBetweenStins ){quantity_code =
"H2HFccMosMatrix";}
1485 if( MatrixProbaNature ==
fCovarianceMatrix ){quantity_code =
"H2HFccMosMatrix";}
1502 Int_t xFlagAutoYsupMargin = 0;
1543 HistoType.Resize(MaxCar);
1544 HistoType =
"(no quantity type info)";
1546 if (PlotOption ==
"COLZ" ){HistoType =
"colz";}
1547 if (PlotOption ==
"BOX" ){HistoType =
"colz";}
1548 if (PlotOption ==
"TEXT" ){HistoType =
"colz";}
1549 if (PlotOption ==
"CONTZ" ){HistoType =
"colz";}
1550 if (PlotOption ==
"LEGO2Z"){HistoType =
"lego";}
1551 if (PlotOption ==
"SURF1Z"){HistoType =
"surf";}
1552 if (PlotOption ==
"SURF2Z"){HistoType =
"surf";}
1553 if (PlotOption ==
"SURF3Z"){HistoType =
"surf";}
1554 if (PlotOption ==
"SURF4" ){HistoType =
"surf";}
1569 TString name_cov_cor;
1571 name_cov_cor.Resize(MaxCar);
1576 TString name_chan_samp;
1578 name_chan_samp.Resize(MaxCar);
1579 name_chan_samp =
"?";
1589 name_chan_samp =
"Between_Samples";
1594 name_visu.Resize(MaxCar);
1597 name_visu = PlotOption;
1600 sprintf(f_in,
"%s_%s_%s_S1_%d_R%d_%d_%d_%s%d_%s",
1601 name_cov_cor.Data(), name_chan_samp.Data(),
1608 sprintf(f_in,
"%s_%s_%s_S1_%d_R%d_%d_%d_%s%d_%sX%d_%sY%d_%s",
1609 name_cov_cor.Data(), name_chan_samp.Data(),
1617 sprintf(f_in,
"%s_%s_%s_S1_%d_R%d_%d_%d_%s%d_%sX%d_%sY%d_ElecChannel_%d_%s",
1618 name_cov_cor.Data(), name_chan_samp.Data(),
1629 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w , canv_h);
fCnewRoot++;
1636 delete [] f_in; f_in = 0;
fCdelete++;
1651 MainCanvas->Divide(1, 1, x_margin, y_margin);
1656 gPad->SetLogy(logy);
1659 h_fbid0->DrawCopy(PlotOption);
1660 h_fbid0->SetStats((Bool_t)1);
1665 delete [] f_in_axis_x; f_in_axis_x = 0;
fCdelete++;
1666 delete [] f_in_axis_y; f_in_axis_y = 0;
fCdelete++;
1667 delete [] f_in_mat_tit; f_in_mat_tit = 0;
fCdelete++;
1682 cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* ==> Wrong channel number in "
1684 << i0StinEcha <<
" (required range: [0, "
1701 if ( Stin_X_ok != 1 )
1703 cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* =====> "
1706 <<
fFapStinName.Data() <<
" not found. Available numbers = ";
1716 if ( Stin_Y_ok != 1 )
1718 cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* =====> "
1721 <<
fFapStinName.Data() <<
" not found. Available numbers = ";
1741 cout <<
"!TEcnaHistos::ViewMatrix(...)> *ERROR* =====> "
1742 <<
" ROOT file not found" <<
fTTBELL << endl;
1762 ViewStin(StinNumber, MatrixProbaNature);
1768 ViewStin(StinNumber, MatrixProbaNature);
1787 if( (
fFapStexNumber > 0) && fFapStexNumber <= fEcal->MaxStexInStas() )
1789 Int_t StexStin = cStexStin;
1819 if ( vStin(index_Stin) == StexStin ){Stin_ok++;}
1832 {sprintf(f_in_mat_tit,
"Xtal's Cov(s,s') matrices in %s.",
1835 {sprintf(f_in_mat_tit,
"Xtal's Cor(s,s') matrices in %s.",
1840 Int_t nb_binx = GeoBidSize;
1841 Int_t nb_biny = GeoBidSize;
1842 Axis_t xinf_bid = (Axis_t)0.;
1843 Axis_t xsup_bid = (Axis_t)GeoBidSize;
1844 Axis_t yinf_bid = (Axis_t)0.;
1845 Axis_t ysup_bid = (Axis_t)GeoBidSize;
1850 TH2D* h_geo_bid =
new TH2D(
"geobidim", f_in_mat_tit,
1851 nb_binx, xinf_bid, xsup_bid,
1852 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
1861 TMatrixD read_matrix(ReadMatSize, ReadMatSize);
1862 for(Int_t
i=0;
i<ReadMatSize;
i++){
for(Int_t
j=0;
j<ReadMatSize;
j++)
1863 {read_matrix(
i,
j)=(Double_t)0.;}}
1865 Int_t i_data_exist = 0;
1878 cout <<
"*TEcnaHistos::ViewStin> Exiting loop over the channels." << endl;
1887 for(Int_t i_samp = 0 ; i_samp < ReadMatSize ; i_samp++)
1890 StexStin, n_crys, i_samp);
1891 for(Int_t j_samp = 0; j_samp < ReadMatSize ; j_samp++)
1894 StexStin, n_crys, j_samp);
1895 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)j_ygeo,
1896 (Double_t)read_matrix(i_samp, j_samp));
1904 TString quantity_code =
"D_MCs_ChNb";
1906 if( MatrixProbaNature ==
fCovarianceMatrix ){quantity_code =
"H2HFccMosMatrix";}
1924 Int_t xFlagAutoYsupMargin = 0;
1941 if( i_data_exist > 0 )
1953 TString name_cov_cor;
1955 name_cov_cor.Resize(MaxCar);
1957 if( MatrixProbaNature ==
fCovarianceMatrix ){name_cov_cor =
"CovSS_Matrices_in_";}
1962 name_visu.Resize(MaxCar);
1965 sprintf(f_in,
"%s_%s_%s_S1_%d_R%d_%d_%d_%s%d_%s%d_%s",
1974 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
1979 delete [] f_in; f_in = 0;
fCdelete++;
1990 MainCanvas->Divide(1, 1, x_margin, y_margin);
1994 gPad->SetLogy(logy);
1996 h_geo_bid->DrawCopy(
"COLZ");
2006 h_geo_bid->SetStats((Bool_t)1);
2010 delete [] f_in_mat_tit; f_in_mat_tit = 0;
fCdelete++;
2016 cout <<
"!TEcnaHistos::ViewStin(...)> *ERROR* =====> "
2018 << cStexStin <<
" not found."
2019 <<
" Available numbers = ";
2041 cout <<
"!TEcnaHistos::ViewStin(...)> *ERROR* =====> "
2042 <<
" ROOT file not found" <<
fTTBELL << endl;
2079 if( (SMNumber > 0) && (SMNumber <= fEcal->MaxSMInEB()) )
2090 Int_t nx_gbins = nb_bins*size_eta;
2091 Int_t ny_gbins = nb_bins*size_phi;
2093 Axis_t xinf_gbid = (Axis_t)0.;
2095 Axis_t yinf_gbid = (Axis_t)0.;
2098 TString fg_name =
"M0' crystals";
2099 TString fg_tit =
"Xtal numbering (chan. in tow, chan. in SM, Xtal in SM, hashed)";
2103 h_gbid =
new TH2D(fg_name.Data(), fg_tit.Data(),
2104 nx_gbins, xinf_gbid, xsup_gbid,
2105 ny_gbins, yinf_gbid, ysup_gbid);
fCnewRoot++;
2122 gStyle->SetPalette(1,0);
2134 sprintf(f_in,
"Crystal_Numbering_for_%s_X_%d_%s%d",
2139 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w , canv_h); fCnewRoot++;
2147 MainCanvas->Divide(1, 1, x_margin, y_margin);
2157 gStyle->SetMarkerColor(couleur_rouge);
2160 gPad->SetLogy(logy);
2164 h_gbid->SetStats(b_false);
2165 h_gbid->DrawCopy(
"COLZ");
2173 TText *text_elec_num =
new TText(); fCnewRoot++;
2174 if ( TowerLvrbType ==
"top" ){text_elec_num->SetTextColor(couleur_rouge);}
2175 if ( TowerLvrbType ==
"bottom" ){text_elec_num->SetTextColor(couleur_bleu_fonce);}
2176 text_elec_num->SetTextSize(0.04);
2179 TText *text_sme_num =
new TText(); fCnewRoot++;
2180 if ( TowerLvrbType ==
"top" ){text_sme_num->SetTextColor(couleur_rouge);}
2181 if ( TowerLvrbType ==
"bottom" ){text_sme_num->SetTextColor(couleur_bleu_fonce);}
2182 text_sme_num->SetTextSize(0.03);
2185 TText *text_sm_num =
new TText(); fCnewRoot++;
2186 text_sm_num->SetTextColor(couleur_noir);
2187 text_sm_num->SetTextSize(0.03);
2190 TText *text_hsd_num =
new TText(); fCnewRoot++;
2191 text_hsd_num->SetTextColor(couleur_noir);
2192 text_hsd_num->SetTextSize(0.03);
2197 Double_t off_set = (Double_t)1.;
2203 Int_t i_xgeo =
GetXSampInStin(SMNumber, n1SMTow, i_chan, i_samp);
2204 Int_t i_ygeo =
GetYSampInStin(SMNumber, n1SMTow, i_chan, i_samp);
2206 Double_t xgi = i_xgeo + 3.*off_set;
2207 Double_t ygj = i_ygeo + 7.*off_set;
2209 Double_t xgi_sme = i_xgeo + 3.*off_set;
2210 Double_t ygj_sme = i_ygeo + 5.*off_set;
2212 Double_t xgi_sm = i_xgeo + 3.*off_set;
2213 Double_t ygj_sm = i_ygeo + 3.*off_set;
2215 Double_t xgi_hsd = i_xgeo + 3.*off_set;
2216 Double_t ygj_hsd = i_ygeo + 1.*off_set;
2229 sprintf(f_in_elec,
"%d", i_chan);
2230 text_elec_num->DrawText(xgi, ygj, f_in_elec);
2232 sprintf(f_in_sme,
"%d", i_crys_sme);
2233 text_sme_num->DrawText(xgi_sme, ygj_sme, f_in_sme);
2235 sprintf(f_in_sm,
"%d", i_crys_sm);
2236 text_sm_num->DrawText(xgi_sm, ygj_sm, f_in_sm);
2238 sprintf(f_in_hsd,
"%d", i_crys_hsd);
2239 text_sm_num->DrawText(xgi_hsd, ygj_hsd, f_in_hsd);
2241 text_sm_num->Delete(); text_sm_num = 0;
fCdeleteRoot++;
2242 text_sme_num->Delete(); text_sme_num = 0;
fCdeleteRoot++;
2243 text_elec_num->Delete(); text_elec_num = 0;
fCdeleteRoot++;
2244 text_hsd_num->Delete(); text_hsd_num = 0;
fCdeleteRoot++;
2246 ViewStinGrid(SMNumber, n1SMTow, MatSize, size_eta, size_phi,
"CrystalNumbering");
2249 h_gbid->SetStats(b_true);
2253 delete [] f_in; f_in = 0;
fCdelete++;
2254 delete [] f_in_sm; f_in_sm = 0;
fCdelete++;
2255 delete [] f_in_sme; f_in_sme = 0;
fCdelete++;
2256 delete [] f_in_elec; f_in_elec = 0;
fCdelete++;
2260 cout <<
"!TEcnaHistos::TowerCrystalNumbering(...)> SM = " << SMNumber
2276 if( (DeeNumber > 0) && (DeeNumber <= fEcal->MaxDeeInEE()) )
2289 Int_t nx_gbins = nb_bins*size_IX;
2290 Int_t ny_gbins = nb_bins*size_IY;
2292 Axis_t xinf_gbid = (Axis_t)0.;
2294 Axis_t yinf_gbid = (Axis_t)0.;
2297 TString fg_name =
"crystalnbring";
2298 TString fg_tit =
"Xtal numbering for construction";
2301 h_gbid =
new TH2D(fg_name.Data(), fg_tit.Data(),
2302 nx_gbins, xinf_gbid, xsup_gbid,
2303 ny_gbins, yinf_gbid, ysup_gbid);
fCnewRoot++;
2319 gStyle->SetPalette(1,0);
2330 sprintf(f_in,
"Crystal_Numbering_for_%s_X_%d_%s%d",
2335 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w , canv_h); fCnewRoot++;
2344 MainCanvas->Divide(1, 1, x_margin, y_margin);
2354 gStyle->SetMarkerColor(couleur_rouge);
2357 gPad->SetLogy(logy);
2361 h_gbid->SetStats(b_false);
2365 h_gbid->DrawCopy(
"COLZ");
2372 Color_t couleur_SC =
GetSCColor(DeeEndcap, DeeDir, SCQuadType);
2375 TText *text_elec_num =
new TText(); fCnewRoot++;
2376 text_elec_num->SetTextColor(couleur_SC);
2377 text_elec_num->SetTextSize(0.06);
2387 Int_t i_xgeo =
GetXSampInStin(DeeNumber, n1DeeSCEcna, i_chan, i_samp);
2388 Int_t i_ygeo =
GetYSampInStin(DeeNumber, n1DeeSCEcna, i_chan, i_samp);
2390 Double_t xgi = i_xgeo + off_set;
2391 Double_t ygj = i_ygeo + 2*off_set;
2397 sprintf(f_in_elec,
"%d", i_chan+1);
2398 text_elec_num->DrawText(xgi, ygj, f_in_elec);
2400 text_elec_num->Delete(); text_elec_num = 0;
fCdeleteRoot++;
2402 ViewStinGrid(DeeNumber, n1DeeSCEcna, MatSize, size_IX, size_IY,
"CrystalNumbering");
2405 h_gbid->SetStats(b_true);
2409 delete [] f_in; f_in = 0;
fCdelete++;
2410 delete [] f_in_elec; f_in_elec = 0;
fCdelete++;
2414 cout <<
"!TEcnaHistos::SCCrystalNumbering(...)> Dee = " << DeeNumber
2426 const Int_t& i0StinEcha,
const Int_t& i_samp)
2435 if( (btype ==
"EB+" && ctype ==
"bottom") || (btype ==
"EB-" && ctype ==
"top") )
2438 if( (btype ==
"EB+" && ctype ==
"top") || (btype ==
"EB-" && ctype ==
"bottom") )
2443 if( DeeDir ==
"right" )
2445 if( DeeDir ==
"left" )
2453 const Int_t& i0StinEcha,
const Int_t& j_samp)
2466 if( (btype ==
"EB+" && ctype ==
"top") || (btype ==
"EB-" && ctype ==
"bottom") )
2468 if( i0StinEcha >= 0 && i0StinEcha <= 4 ) {jy_geo = (i0StinEcha - 0)*
fEcal->
MaxSampADC() + j_samp;}
2469 if( i0StinEcha >= 5 && i0StinEcha <= 9 ) {jy_geo = -(i0StinEcha - 9)*
fEcal->
MaxSampADC() + j_samp;}
2470 if( i0StinEcha >= 10 && i0StinEcha <= 14 ) {jy_geo = (i0StinEcha - 10)*
fEcal->
MaxSampADC() + j_samp;}
2471 if( i0StinEcha >= 15 && i0StinEcha <= 19 ) {jy_geo = -(i0StinEcha - 19)*
fEcal->
MaxSampADC() + j_samp;}
2472 if( i0StinEcha >= 20 && i0StinEcha <= 24 ) {jy_geo = (i0StinEcha - 20)*
fEcal->
MaxSampADC() + j_samp;}
2475 if( (btype ==
"EB+" && ctype ==
"bottom") || (btype ==
"EB-" && ctype ==
"top") )
2477 if( i0StinEcha >= 0 && i0StinEcha <= 4 )
2479 if( i0StinEcha >= 5 && i0StinEcha <= 9 )
2481 if( i0StinEcha >= 10 && i0StinEcha <= 14 )
2483 if( i0StinEcha >= 15 && i0StinEcha <= 19 )
2485 if( i0StinEcha >= 20 && i0StinEcha <= 24 )
2504 const Int_t& StexStin,
const Int_t& MatSize,
2505 const Int_t& size_Hoco,
const Int_t& size_Veco,
2506 const TString chopt)
2511 size_Hoco, size_Veco, chopt);}
2513 size_Hoco, size_Veco, chopt);}
2524 const Int_t& n1SMTow,
const Int_t& MatSize,
2525 const Int_t& size_eta,
const Int_t& size_phi,
2526 const TString chopt)
2530 Double_t xline = 0.;
2532 Double_t yline_bot = 0.;
2533 Double_t yline_top = (Double_t)(MatSize*size_eta);
2535 for( Int_t
i = 0 ;
i < size_eta ;
i++)
2537 xline = xline + (Double_t)MatSize;
2539 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
2544 Double_t xline_left = 0;
2545 Double_t xline_right = (Double_t)(MatSize*size_eta);
2547 Double_t yline = -(Double_t)MatSize;
2549 for( Int_t
j = 0 ;
j < size_eta+1 ;
j++)
2551 yline = yline + (Double_t)MatSize;
2553 lin =
new TLine(xline_left, yline, xline_right, yline);
fCnewRoot++;
2574 TF1 *
f1 =
new TF1(
"f1", x_direction.Data(), eta_min, eta_max);
fCnewRoot++;
2576 TGaxis* sup_axis_x = 0;
2578 if ( x_direction ==
"-x" )
2579 {sup_axis_x =
new TGaxis( -(Float_t)MatSize, (Float_t)0, (Float_t)(size_eta*MatSize), (Float_t)0.,
2580 "f1", size_eta,
"BCS" , 0.); fCnewRoot++;
2581 cout <<
"TEcnaHistosEB::ViewTowerGrid()> non foreseen case. eta with -x direction." <<
fTTBELL << endl;}
2583 if ( x_direction ==
"x" )
2584 {sup_axis_x =
new TGaxis( (Float_t)0. , (Float_t)0., (Float_t)(size_eta*MatSize), (Float_t)0.,
2585 "f1", size_eta,
"CS" , 0.); fCnewRoot++;}
2587 sup_axis_x->SetTitle(x_var_name);
2588 sup_axis_x->SetTitleSize(tit_siz_x);
2589 sup_axis_x->SetTitleOffset(tit_off_x);
2590 sup_axis_x->SetLabelSize(lab_siz_x);
2591 sup_axis_x->SetLabelOffset(lab_off_x);
2592 sup_axis_x->SetTickSize(tic_siz_x);
2593 sup_axis_x->Draw(
"SAME");
2603 if( chopt ==
"CrystalNumbering" )
2611 TF1 *
f2 =
new TF1(
"f2", y_direction.Data(), phi_min, phi_max); fCnewRoot++;
2612 TGaxis* sup_axis_y = 0;
2614 if ( y_direction ==
"-x" )
2615 {sup_axis_y =
new TGaxis( (Float_t)(size_eta*MatSize), (Float_t)0.,
2616 (Float_t)(size_eta*MatSize), (Float_t)(size_phi*MatSize),
2617 "f2", size_phi,
"+CS", 0.); fCnewRoot++;}
2619 if ( y_direction ==
"x" )
2620 {sup_axis_y =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t) 0., (Float_t)(size_phi*MatSize),
2621 "f2", size_phi,
"BCS", 0.); fCnewRoot++;}
2623 sup_axis_y->SetTitle(y_var_name);
2624 sup_axis_y->SetTitleSize(tit_siz_y);
2625 sup_axis_y->SetTitleOffset(tit_off_y);
2626 sup_axis_y->SetLabelSize(lab_siz_y);
2627 sup_axis_y->SetLabelOffset(lab_off_y);
2628 sup_axis_y->SetTickSize(tic_siz_y);
2629 sup_axis_y->Draw(
"SAME");
2640 TF1 *
f3 =
new TF1(
"f3", jy_direction.Data(), j_phi_min, j_phi_max); fCnewRoot++;
2641 TGaxis* sup_axis_jy = 0;
2643 sup_axis_jy =
new TGaxis( (Float_t)0., (Float_t)0.,
2644 (Float_t)0., (Float_t)(size_phi*MatSize),
2645 "f3", size_phi,
"SC", 0.); fCnewRoot++;
2647 sup_axis_jy->SetTitle(jy_var_name);
2648 sup_axis_jy->SetTitleSize(tit_siz_y);
2649 sup_axis_jy->SetTitleOffset(tit_off_y);
2650 sup_axis_jy->SetLabelSize(lab_siz_y);
2651 sup_axis_jy->SetLabelOffset(lab_off_y);
2652 sup_axis_jy->SetTickSize(tic_siz_y);
2653 sup_axis_jy->Draw(
"SAME");
2665 const Int_t& MatSize,
const Int_t& size_IX,
2666 const Int_t& size_IY,
const TString chopt)
2670 Double_t xline = 0.;
2672 Double_t yline_bot = 0.;
2673 Double_t yline_top = (Double_t)(MatSize*size_IX);
2675 for( Int_t
i = 0 ;
i < size_IX ;
i++)
2677 xline = xline + (Double_t)MatSize;
2679 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
2684 Double_t xline_left = 0;
2685 Double_t xline_right = (Double_t)(MatSize*size_IX);
2687 Double_t yline = -(Double_t)MatSize;
2689 for( Int_t
j = 0 ;
j < size_IX+1 ;
j++)
2691 yline = yline + (Double_t)MatSize;
2693 lin =
new TLine(xline_left, yline, xline_right, yline);
fCnewRoot++;
2705 Float_t axis_x_inf = 0;
2706 Float_t axis_x_sup = 0;
2707 Float_t axis_y_inf = 0;
2708 Float_t axis_y_sup = 0;
2709 Int_t axis_nb_div = 1;
2710 Double_t IX_values_min = 0;
2711 Double_t IX_values_max = 0;
2712 Option_t* axis_chopt =
"CS";
2720 TString StrDee =
"iIXSC";
2721 if( DeeNumber == 1 ){StrDee =
"iIXDee1";}
2722 if( DeeNumber == 2 ){StrDee =
"iIXDee2";}
2723 if( DeeNumber == 3 ){StrDee =
"iIXDee3";}
2724 if( DeeNumber == 4 ){StrDee =
"iIXDee4";}
2729 TGaxis* sup_axis_x = 0;
2731 if( DeeNumber == 1 )
2733 axis_x_inf = 0; axis_y_inf = 0; axis_x_sup = size_IX*MatSize; axis_y_sup = 0;
2734 axis_nb_div = size_IX;
2735 IX_values_min = -IX_min ; IX_values_max = -IX_max; axis_chopt =
"CS";
2737 if( DeeNumber == 2 )
2739 axis_x_inf = 0; axis_y_inf = 0; axis_x_sup = size_IX*MatSize; axis_y_sup = 0;
2740 axis_nb_div = size_IX;
2741 IX_values_min = IX_min ; IX_values_max = IX_max; axis_chopt =
"CS";
2743 if( DeeNumber == 3 )
2745 axis_x_inf = 0; axis_y_inf = 0; axis_x_sup = size_IX*MatSize; axis_y_sup = 0;
2746 axis_nb_div = size_IX;
2747 IX_values_min = IX_min ; IX_values_max = IX_max; axis_chopt =
"CS";
2749 if( DeeNumber == 4 )
2751 axis_x_inf = 0; axis_y_inf = 0; axis_x_sup = size_IX*MatSize; axis_y_sup = 0;
2752 axis_nb_div = size_IX;
2753 IX_values_min = -IX_min ; IX_values_max = -IX_max; axis_chopt =
"CS";
2756 TF1 *
f1 =
new TF1(
"f1", x_direction.Data(), IX_values_min, IX_values_max);
fCnewRoot++;
2757 sup_axis_x =
new TGaxis( axis_x_inf, axis_y_inf, axis_x_sup, axis_y_sup,
2758 "f1", axis_nb_div, axis_chopt , 0.); fCnewRoot++;
2760 sup_axis_x->SetTitle(x_var_name);
2761 sup_axis_x->SetTitleSize(tit_siz_x);
2762 sup_axis_x->SetTitleOffset(tit_off_x);
2763 sup_axis_x->SetLabelSize(lab_siz_x);
2764 sup_axis_x->SetLabelOffset(lab_off_x);
2765 sup_axis_x->SetTickSize(tic_siz_x);
2766 sup_axis_x->Draw(
"SAME");
2783 TF1 *
f2 =
new TF1(
"f2", jy_direction.Data(), j_IY_min, j_IY_max); fCnewRoot++;
2785 TGaxis* sup_axis_jy =
new TGaxis( (Float_t)0., (Float_t)0.,
2786 (Float_t)0., (Float_t)(size_IY*MatSize),
2787 "f2", size_IY,
"CS", 0.); fCnewRoot++;
2789 sup_axis_jy->SetTitle(jy_var_name);
2790 sup_axis_jy->SetTitleSize(tit_siz_y);
2791 sup_axis_jy->SetTitleOffset(tit_off_y);
2792 sup_axis_jy->SetLabelSize(lab_siz_y);
2793 sup_axis_jy->SetLabelOffset(lab_off_y);
2794 sup_axis_jy->SetTickSize(tic_siz_y);
2795 sup_axis_jy->Draw();
2862 if (HistoCode ==
"D_NOE_ChNb") {sprintf(f_in_mat_tit,
"Number of events");}
2863 if (HistoCode ==
"D_Ped_ChNb") {sprintf(f_in_mat_tit,
"Pedestals");}
2864 if (HistoCode ==
"D_TNo_ChNb") {sprintf(f_in_mat_tit,
"Total Noise");}
2865 if (HistoCode ==
"D_MCs_ChNb") {sprintf(f_in_mat_tit,
"Mean Cor(s,s')");}
2866 if (HistoCode ==
"D_LFN_ChNb") {sprintf(f_in_mat_tit,
"Low Frequency Noise");}
2867 if (HistoCode ==
"D_HFN_ChNb") {sprintf(f_in_mat_tit,
"High Frequency Noise");}
2868 if (HistoCode ==
"D_SCs_ChNb") {sprintf(f_in_mat_tit,
"Sigma Cor(s,s')");}
2874 Int_t nb_binx = GeoBidSizeHoco;
2875 Int_t nb_biny = GeoBidSizeVeco;
2876 Axis_t xinf_bid = (Axis_t)0.;
2877 Axis_t xsup_bid = (Axis_t)GeoBidSizeHoco;
2878 Axis_t yinf_bid = (Axis_t)0.;
2879 Axis_t ysup_bid = (Axis_t)GeoBidSizeVeco;
2881 TString axis_x_var_name =
" #Hoco ";
2882 TString axis_y_var_name =
" #varVeco ";
2886 TH2D* h_geo_bid =
new TH2D(
"geobidim_Hoco_Veco", f_in_mat_tit,
2887 nb_binx, xinf_bid, xsup_bid,
2888 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
2896 TMatrixD read_matrix(nb_binx, nb_biny);
2897 for(Int_t
i=0;
i<nb_binx;
i++)
2898 {
for(Int_t
j=0;
j<nb_biny;
j++){read_matrix(
i,
j)=(Double_t)0.;}}
2900 if (HistoCode ==
"D_NOE_ChNb" ){
2902 if (HistoCode ==
"D_Ped_ChNb" ){
2904 if (HistoCode ==
"D_TNo_ChNb" ){
2906 if (HistoCode ==
"D_MCs_ChNb" ){
2908 if (HistoCode ==
"D_LFN_ChNb" ){
2910 if (HistoCode ==
"D_HFN_ChNb" ){
2912 if (HistoCode ==
"D_SCs_ChNb" ){
2932 if(i_xgeo >=0 && i_xgeo < nb_binx && i_ygeo >=0 && i_ygeo < nb_biny)
2934 read_matrix(i_xgeo, i_ygeo) = partial_histp(iStexEcha);
2935 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
2936 (Double_t)read_matrix(i_xgeo, i_ygeo));
2961 Int_t xFlagAutoYsupMargin = 0;
2995 TString name_cov_cor;
2997 name_cov_cor.Resize(MaxCar);
3000 if( HistoCode ==
"D_NOE_ChNb"){name_cov_cor =
"Nb_Of_D_Adc_EvDs";}
3001 if( HistoCode ==
"D_Ped_ChNb"){name_cov_cor =
"Pedestals";}
3002 if( HistoCode ==
"D_TNo_ChNb"){name_cov_cor =
"Total_noise";}
3003 if( HistoCode ==
"D_MCs_ChNb"){name_cov_cor =
"Mean_Corss";}
3004 if( HistoCode ==
"D_LFN_ChNb"){name_cov_cor =
"Low_Fq_Noise";}
3005 if( HistoCode ==
"D_HFN_ChNb"){name_cov_cor =
"High_Fq_Noise";}
3006 if( HistoCode ==
"D_SCs_ChNb"){name_cov_cor =
"Sigma_Corss";}
3010 name_visu.Resize(MaxCar);
3013 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%s%d_%s_HocoVeco",
3021 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
3026 delete [] f_in; f_in = 0;
fCdelete++;
3037 Double_t x_margin = x_low;
3038 Double_t y_margin = y_low;
3039 MainCanvas->Divide( 1, 1, x_margin, y_margin);
3046 TVirtualPad* main_subpad = gPad;
3047 main_subpad->SetPad(x_low, y_low, x_up, y_up);}
3050 h_geo_bid->GetXaxis()->SetTitle(axis_x_var_name);
3051 h_geo_bid->GetYaxis()->SetTitle(axis_y_var_name);
3053 h_geo_bid->DrawCopy(
"COLZ");
3062 h_geo_bid->SetStats(b_true);
3067 delete [] f_in_mat_tit; f_in_mat_tit = 0;
fCdelete++;
3073 cout <<
"!TEcnaHistos::ViewStex(...)> *ERROR* =====> "
3074 <<
" ROOT file not found" <<
fTTBELL << endl;
3118 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') for each tower in SM");}
3120 {sprintf(f_in_mat_tit,
"HF Cor(Xtal,Xtal') for each tower in SM");}
3122 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') for each SC in Dee");}
3124 {sprintf(f_in_mat_tit,
"HF Cor(Xtal,Xtal') for each SC in Dee");}
3130 Int_t nb_binx = GeoBidSizeHoco;
3131 Int_t nb_biny = GeoBidSizeVeco;
3132 Axis_t xinf_bid = (Axis_t)0.;
3133 Axis_t xsup_bid = (Axis_t)GeoBidSizeHoco;
3134 Axis_t yinf_bid = (Axis_t)0.;
3135 Axis_t ysup_bid = (Axis_t)GeoBidSizeVeco;
3137 TString axis_x_var_name =
" #Hoco ";
3138 TString axis_y_var_name =
" #varVeco ";
3144 TH2D* h_geo_bid =
new TH2D(
"geobidim_Hoco_Veco", f_in_mat_tit,
3145 nb_binx, xinf_bid, xsup_bid,
3146 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
3175 Int_t StexStin = (Int_t)Stin_numbers(i0StexStinEcna);
3187 Int_t i_xgeo = offset_x + i0StinEcha;
3188 Int_t i_ygeo = offset_y + j0StinEcha;
3190 if(i_xgeo >=0 && i_xgeo < nb_binx && i_ygeo >=0 && i_ygeo < nb_biny)
3195 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
3196 (Double_t)partial_matrix(iEcha, jEcha));
3205 TString HistoCode =
"H2CorccInStins";
3224 Int_t xFlagAutoYsupMargin = 0;
3247 TString name_cov_cor;
3249 name_cov_cor.Resize(MaxCar);
3250 if( Freq ==
"LF" ){name_cov_cor =
"StexLFCorcc";}
3251 if( Freq ==
"HF" ){name_cov_cor =
"StexHFCorcc";}
3255 name_visu.Resize(MaxCar);
3258 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_Stex%s%d_%s_HocoVeco",
3266 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
3272 delete [] f_in; f_in = 0;
fCdelete++;
3283 Double_t x_margin = x_low;
3284 Double_t y_margin = y_low;
3285 MainCanvas->Divide( 1, 1, x_margin, y_margin);
3292 TVirtualPad* main_subpad = gPad;
3293 main_subpad->SetPad(x_low, y_low, x_up, y_up);}
3300 h_geo_bid->GetXaxis()->SetTitle(axis_x_var_name);
3301 h_geo_bid->GetYaxis()->SetTitle(axis_y_var_name);
3303 h_geo_bid->DrawCopy(
"COLZ");
3312 h_geo_bid->SetStats(b_true);
3318 delete [] f_in_mat_tit; f_in_mat_tit = 0;
fCdelete++;
3324 cout <<
"!TEcnaHistos::StexHocoVecoLHFCorcc(...)> *ERROR* =====> "
3325 <<
" ROOT file not found" <<
fTTBELL << endl;
3336 const Int_t& i0StinEcha)
3352 if( DeeDir ==
"right" )
3354 if( DeeDir ==
"left" )
3361 const Int_t& j0StinEcha)
3434 if( (SMNumber > 0) && (SMNumber <= fEcal->MaxSMInEB()) )
3439 Int_t nb_binx = GeoBidSizeEta;
3440 Int_t nb_biny = GeoBidSizePhi;
3441 Axis_t xinf_bid = (Axis_t)0.;
3442 Axis_t xsup_bid = (Axis_t)GeoBidSizeEta;
3443 Axis_t yinf_bid = (Axis_t)0.;
3444 Axis_t ysup_bid = (Axis_t)GeoBidSizePhi;
3446 TString axis_x_var_name =
" #eta ";
3447 TString axis_y_var_name =
" #varphi ";
3454 sprintf(f_in_mat_tit,
"SM tower numbering");
3458 TH2D* h_empty_bid =
new TH2D(
"grid_bidim_eta_phi", f_in_mat_tit,
3459 nb_binx, xinf_bid, xsup_bid,
3460 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
3461 h_empty_bid->Reset();
3463 h_empty_bid->GetXaxis()->SetTitle(axis_x_var_name);
3464 h_empty_bid->GetYaxis()->SetTitle(axis_y_var_name);
3484 sprintf(f_in,
"tower_numbering_for_SuperModule_SM%d", SMNumber);
3488 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
3493 delete [] f_in; f_in = 0;
fCdelete++;
3500 MainCanvas->Divide(1, 1, x_margin, y_margin);
3503 h_empty_bid->DrawCopy(
"COL");
3510 h_empty_bid->SetStats(b_true);
3512 h_empty_bid->Delete(); h_empty_bid = 0;
fCdeleteRoot++;
3516 delete [] f_in_mat_tit; f_in_mat_tit = 0;
fCdelete++;
3520 cout <<
"!TEcnaHistos::SMTowerNumbering(...)> SM = " << SMNumber
3530 gStyle->SetTitleW(0.2);
3531 gStyle->SetTitleH(0.07);
3541 gStyle->SetTextSize(0.075);
3544 Int_t y_channel = 12;
3545 Int_t x_channel = 12;
3551 TText *text_SMtow_num =
new TText();
fCnewRoot++;
3556 {text_SMtow_num->SetTextColor(couleur_rouge);}
3558 {text_SMtow_num->SetTextColor(couleur_bleu_fonce);}
3566 Double_t y_from_phi = max_tow_phi - 1
3571 sprintf(f_in,
"%d", i_SMtow);
3572 text_SMtow_num->DrawText(x_from_eta, y_from_phi, f_in);
3575 text_SMtow_num->Delete(); text_SMtow_num = 0;
fCdeleteRoot++;
3578 Double_t offset_tow_tex_eta = (Double_t)8.;
3579 Double_t offset_tow_tex_phi = (Double_t)15.;
3582 Double_t x_legend = (Double_t)0.;
3583 Double_t y_legend = (Double_t)0.;
3588 gStyle->SetTextSize(0.075);
3589 gStyle->SetTextColor(couleur_rouge);
3595 x_legend = x_legend + offset_tow_tex_eta;
3596 y_legend = y_legend + offset_tow_tex_phi;
3600 x_legend = -x_legend + offset_tow_tex_eta;
3601 y_legend = y_legend + offset_tow_tex_phi;
3604 sprintf( f_in,
"xx");
3605 TText *text_legend_rouge =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3606 text_legend_rouge->Draw();
3607 gStyle->SetTextSize(0.05);
3608 x_legend = x_legend - (Double_t)3.5;
3609 y_legend = y_legend - (Double_t)2.;
3610 sprintf(f_in,
" LVRB ");
3611 TText *text_legend_rouge_expl =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3612 text_legend_rouge_expl->Draw();
3613 y_legend = y_legend - (Double_t)1.75;
3616 TText *text_legend_rouge_expm =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3617 text_legend_rouge_expm->Draw();
3621 gStyle->SetTextSize(0.075);
3622 gStyle->SetTextColor(couleur_bleu_fonce);
3628 x_legend = x_legend + offset_tow_tex_eta;
3629 y_legend = y_legend + offset_tow_tex_phi/3;
3633 x_legend = -x_legend + offset_tow_tex_eta;
3634 y_legend = y_legend + offset_tow_tex_phi/3;
3637 sprintf(f_in,
"xx");
3638 TText *text_legend_bleu =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3639 text_legend_bleu->Draw();
3641 gStyle->SetTextSize(0.05);
3642 x_legend = x_legend - (Double_t)3.5;
3643 y_legend = y_legend - (Double_t)2.;
3644 sprintf( f_in,
" LVRB ");
3645 TText *text_legend_bleu_expl =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3646 text_legend_bleu_expl->Draw();
3647 y_legend = y_legend - (Double_t)1.75;
3650 TText *text_legend_bleu_expm =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3651 text_legend_bleu_expm->Draw();
3654 delete [] f_in; f_in = 0;
fCdelete++;
3656 gStyle->SetTextColor(couleur_noir);
3667 if ( c_option ==
"corcc")
3673 Int_t nb_binx = GeoBidSizeEta;
3674 Int_t nb_biny = GeoBidSizePhi;
3675 Axis_t xinf_bid = (Axis_t)0.;
3676 Axis_t xsup_bid = (Axis_t)GeoBidSizeEta;
3677 Axis_t yinf_bid = (Axis_t)0.;
3678 Axis_t ysup_bid = (Axis_t)GeoBidSizePhi;
3684 if ( c_option ==
"corcc")
3689 Int_t max_x = nb_binx/size_eta;
3690 Int_t max_y = nb_biny/size_phi;
3693 Double_t yline = (Double_t)yinf_bid;
3695 Double_t xline_left = (Double_t)xinf_bid;
3696 Double_t xline_right = (Double_t)xsup_bid;
3698 for( Int_t
j = 0 ;
j < max_y ;
j++)
3700 yline = yline + (Double_t)size_phi;
3702 lin =
new TLine(xline_left, yline, xline_right, yline);
fCnewRoot++;
3708 Double_t xline = (Double_t)xinf_bid - (Double_t)size_eta;
3710 Double_t yline_bot = (Double_t)yinf_bid;
3711 Double_t yline_top = (Double_t)ysup_bid;
3717 gStyle->SetTextColor(coul_textmodu);
3718 gStyle->SetTextSize(0.075);
3722 for( Int_t
i = 0 ;
i < max_x ;
i++)
3724 xline = xline + (Double_t)size_eta;
3726 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
3730 {lin->SetLineWidth(2); lin->SetLineColor(coul_surligne);}
3732 {lin->SetLineWidth(2); lin->SetLineColor(coul_surligne);}
3740 if(
i == 2 ){sprintf( f_in,
"M4");}
3741 if(
i == 6 ){sprintf( f_in,
"M3");}
3742 if(
i == 10 ){sprintf( f_in,
"M2");}
3743 if(
i == 14 ){sprintf( f_in,
"M1");}
3745 TText *text_num_module =
new TText(xline + 1, yline_top + 1, f_in);
fCnewRoot++;
3746 text_num_module->Draw();
3751 if(
i == 3 ){sprintf( f_in,
"M1");}
3752 if(
i == 7 ){sprintf( f_in,
"M2");}
3753 if(
i == 11 ){sprintf( f_in,
"M3");}
3754 if(
i == 15 ){sprintf( f_in,
"M4");}
3756 TText *text_num_module =
new TText(xline, yline_top + 1, f_in);
fCnewRoot++;
3757 text_num_module->Draw();
3761 delete [] f_in; f_in = 0;
fCdelete++;
3784 TF1 *
f1 =
new TF1(
"f1", x_direction.Data(), eta_min, eta_max);
fCnewRoot++;
3785 TGaxis* sup_axis_x = 0;
3787 if( x_direction ==
"-x" )
3788 {sup_axis_x =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t)(size_eta_sm*MatSize), (Float_t)0.,
3789 "f1", size_eta_sm,
"SC" , 0.); fCnewRoot++;}
3791 if( x_direction ==
"x" )
3792 {sup_axis_x =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t)(size_eta_sm*MatSize), (Float_t)0.,
3793 "f1", size_eta_sm,
"SC" , 0.); fCnewRoot++;}
3795 sup_axis_x->SetTitle(x_var_name);
3796 sup_axis_x->SetTitleSize(tit_siz_x);
3797 sup_axis_x->SetTitleOffset(tit_off_x);
3798 sup_axis_x->SetLabelSize(lab_siz_x);
3799 sup_axis_x->SetLabelOffset(lab_off_x);
3800 sup_axis_x->SetTickSize(tic_siz_x);
3801 sup_axis_x->Draw(
"SAME");
3816 TF1 *
f2 =
new TF1(
"f2", y_direction.Data(), phi_min, phi_max); fCnewRoot++;
3817 TGaxis* sup_axis_y = 0;
3819 if ( y_direction ==
"-x" )
3820 {sup_axis_y =
new TGaxis(-(Float_t)1.5*(Float_t)size_eta, (Float_t)0.,
3821 -(Float_t)1.5*(Float_t)size_eta, (Float_t)(size_phi_sm*MatSize),
3822 "f2", (Int_t)size_phi_sm,
"SC", 0.); fCnewRoot++;}
3824 if ( y_direction ==
"x" )
3825 {sup_axis_y =
new TGaxis(-(Float_t)1.5*(Float_t)size_eta, (Float_t)0.,
3826 -(Float_t)1.5*(Float_t)size_eta, (Float_t)(size_phi_sm*MatSize),
3827 "f2", (Int_t)size_phi_sm,
"SC", 0.); fCnewRoot++;}
3829 sup_axis_y->SetTitle(y_var_name);
3830 sup_axis_y->SetTitleSize(tit_siz_y);
3831 sup_axis_y->SetTitleOffset(tit_off_y);
3832 sup_axis_y->SetLabelSize(lab_siz_y);
3833 sup_axis_y->SetLabelOffset(lab_off_y);
3834 sup_axis_y->SetTickSize(tic_siz_y);
3835 sup_axis_y->Draw(
"SAME");
3841 TString jy_var_name =
" ";
3844 TF1 *
f3 =
new TF1(
"f3", jy_direction.Data(), jphi_min, jphi_max); fCnewRoot++;
3845 TGaxis* sup_axis_jy = 0;
3848 sup_axis_jy =
new TGaxis((Float_t)0., (Float_t)0.,
3849 (Float_t)0., (Float_t)(size_phi_sm*MatSize),
3850 "f3", (Int_t)size_phi_sm,
"SC", 0.); fCnewRoot++;
3852 if ( jy_direction ==
"-x" )
3855 if ( jy_direction ==
"x" )
3860 sup_axis_jy->SetTitle(jy_var_name);
3861 sup_axis_jy->SetTitleSize(tit_siz_y);
3862 sup_axis_jy->SetTitleOffset(tit_off_y);
3863 sup_axis_jy->SetLabelSize(lab_siz_y);
3864 sup_axis_jy->SetLabelOffset(lab_off_y);
3865 sup_axis_jy->SetTickSize(tic_siz_y);
3866 sup_axis_jy->Draw(
"SAME");
3883 if( (DeeNumber > 0) && (DeeNumber <= fEcal->MaxDeeInEE()) )
3888 Int_t nb_binx = GeoBidSizeIX;
3889 Int_t nb_biny = GeoBidSizeIY;
3890 Axis_t xinf_bid = (Axis_t)0.;
3891 Axis_t xsup_bid = (Axis_t)GeoBidSizeIX;
3892 Axis_t yinf_bid = (Axis_t)0.;
3893 Axis_t ysup_bid = (Axis_t)GeoBidSizeIY;
3895 TString axis_x_var_name =
" IX ";
3896 TString axis_y_var_name =
" IY ";
3902 sprintf(f_in_mat_tit,
" Dee SC numbering ");
3906 TH2D* h_empty_bid =
new TH2D(
"grid_bidim_IX_IY", f_in_mat_tit,
3907 nb_binx, xinf_bid, xsup_bid,
3908 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
3909 h_empty_bid->Reset();
3911 h_empty_bid->GetXaxis()->SetTitle(axis_x_var_name);
3912 h_empty_bid->GetYaxis()->SetTitle(axis_y_var_name);
3931 sprintf(f_in,
"SC_numbering_for_Dee_Dee%d", DeeNumber);
3933 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
3938 delete [] f_in; f_in = 0;
fCdelete++;
3949 Double_t x_margin = x_low;
3950 Double_t y_margin = y_low;
3952 MainCanvas->Divide( 1, 1, x_margin, y_margin);
3956 TVirtualPad* main_subpad = gPad;
3957 main_subpad->SetPad(x_low, y_low, x_up, y_up);
3959 h_empty_bid->DrawCopy(
"COL");
3965 h_empty_bid->SetStats(b_true);
3967 h_empty_bid->Delete(); h_empty_bid = 0;
fCdeleteRoot++;
3971 delete [] f_in_mat_tit; f_in_mat_tit = 0;
fCdelete++;
3975 cout <<
"!TEcnaHistos::DeeSCNumbering(...)> Dee = " << DeeNumber
3985 gStyle->SetTitleW(0.4);
3986 gStyle->SetTitleH(0.08);
3993 gStyle->SetTextSize(0.0325);
3996 Int_t x_channel = 0;
3997 TText *text_DSSC_num =
new TText();
fCnewRoot++;
3998 TText *text_DeeSCCons_num =
new TText();
fCnewRoot++;
4004 if( SCQuadType ==
"top" && DeeDir ==
"right"){x_channel = 13;}
4005 if( SCQuadType ==
"top" && DeeDir ==
"left" ){x_channel = 7;}
4006 if( SCQuadType ==
"bottom" && DeeDir ==
"left" ){x_channel = 11;}
4007 if( SCQuadType ==
"bottom" && DeeDir ==
"right"){x_channel = 17;}
4008 Int_t i_SCEcha = (Int_t)x_channel;
4009 Double_t x_from_IX = (Double_t)
GetXCrysInStex(DeeNumber, n1DeeSCEcna, i_SCEcha);
4010 Double_t y_from_IY = (Double_t)
GetYCrysInStex(DeeNumber, n1DeeSCEcna, i_SCEcha);
4012 Color_t couleur_SC =
GetSCColor(DeeEndcap, DeeDir, SCQuadType);
4013 text_DSSC_num->SetTextColor(couleur_SC);
4014 text_DeeSCCons_num->SetTextColor((Color_t)1);
4022 !(i_DeeSCCons == 33 && n1DeeSCEcna == 60) &&
4023 !(i_DeeSCCons == 33 && n1DeeSCEcna == 119) &&
4025 !(i_DeeSCCons == 29 && n1DeeSCEcna == 32) &&
4026 !(i_DeeSCCons == 29 && n1DeeSCEcna == 138) &&
4027 !(i_DeeSCCons == 29 && n1DeeSCEcna == 157) &&
4028 !(i_DeeSCCons == 58 && n1DeeSCEcna == 176) &&
4029 !(i_DeeSCCons == 58 && n1DeeSCEcna == 193) &&
4031 !(i_DeeSCCons == 149 && n1DeeSCEcna == 188) &&
4033 !(i_DeeSCCons == 112 && n1DeeSCEcna == 29) &&
4034 !(i_DeeSCCons == 112 && n1DeeSCEcna == 144) &&
4035 !(i_DeeSCCons == 112 && n1DeeSCEcna == 165) &&
4036 !(i_DeeSCCons == 119 && n1DeeSCEcna == 102) &&
4037 !(i_DeeSCCons == 119 && n1DeeSCEcna == 123) &&
4039 !(i_DeeSCCons == 132 && n1DeeSCEcna == 41) &&
4042 !(i_DeeSCCons == 182 && n1DeeSCEcna == 60) &&
4043 !(i_DeeSCCons == 182 && n1DeeSCEcna == 119) &&
4045 !(i_DeeSCCons == 178 && n1DeeSCEcna == 32) &&
4046 !(i_DeeSCCons == 178 && n1DeeSCEcna == 138) &&
4047 !(i_DeeSCCons == 178 && n1DeeSCEcna == 157) &&
4048 !(i_DeeSCCons == 207 && n1DeeSCEcna == 176) &&
4049 !(i_DeeSCCons == 207 && n1DeeSCEcna == 193) &&
4051 !(i_DeeSCCons == 298 && n1DeeSCEcna == 188) &&
4053 !(i_DeeSCCons == 261 && n1DeeSCEcna == 29) &&
4054 !(i_DeeSCCons == 261 && n1DeeSCEcna == 144) &&
4055 !(i_DeeSCCons == 261 && n1DeeSCEcna == 165) &&
4056 !(i_DeeSCCons == 268 && n1DeeSCEcna == 102) &&
4057 !(i_DeeSCCons == 268 && n1DeeSCEcna == 123) &&
4059 !(i_DeeSCCons == 281 && n1DeeSCEcna == 41)
4062 sprintf(f_in,
"%d", i_DSSC);
4063 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4064 sprintf(f_in,
"%d", i_DeeSCCons);
4065 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4069 if( i_DeeSCCons == 33 && n1DeeSCEcna == 60 )
4071 sprintf(f_in,
"30a");
4072 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4073 sprintf(f_in,
"33a");
4074 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4076 if( i_DeeSCCons == 33 && n1DeeSCEcna == 119 )
4078 sprintf(f_in,
"30b");
4079 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4080 sprintf(f_in,
"33b");
4081 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4084 if( i_DeeSCCons == 29 && n1DeeSCEcna == 32 )
4086 sprintf(f_in,
" 3c-25c");
4087 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4088 sprintf(f_in,
"29c-58c");
4089 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4091 if( i_DeeSCCons == 29 && n1DeeSCEcna == 138 )
4093 sprintf(f_in,
"3a");
4094 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4095 sprintf(f_in,
"29a");
4096 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4098 if( i_DeeSCCons == 29 && n1DeeSCEcna == 157 )
4100 sprintf(f_in,
"3b");
4101 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4102 sprintf(f_in,
"29b");
4103 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4106 if( i_DeeSCCons == 58 && n1DeeSCEcna == 176 )
4108 sprintf(f_in,
"25a");
4109 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4110 sprintf(f_in,
"58a");
4111 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4113 if( i_DeeSCCons == 58 && n1DeeSCEcna == 193 )
4115 sprintf(f_in,
"25b");
4116 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4117 sprintf(f_in,
"58b");
4118 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4121 if( i_DeeSCCons == 149 && n1DeeSCEcna == 188 )
4123 sprintf(f_in,
"34a");
4124 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4125 sprintf(f_in,
"149a");
4126 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4129 if( i_DeeSCCons == 112 && n1DeeSCEcna == 29 )
4131 sprintf(f_in,
" 14a-21a");
4132 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4133 sprintf(f_in,
"112a-119a");
4134 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4136 if( i_DeeSCCons == 112 && n1DeeSCEcna == 144 )
4138 sprintf(f_in,
"14c");
4139 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4140 sprintf(f_in,
"112c");
4141 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4143 if( i_DeeSCCons == 112 && n1DeeSCEcna == 165 )
4145 sprintf(f_in,
"14a");
4146 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4147 sprintf(f_in,
"112b");
4148 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4151 if( i_DeeSCCons == 119 && n1DeeSCEcna == 102 )
4153 sprintf(f_in,
"21c");
4154 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4155 sprintf(f_in,
"119c");
4156 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4158 if( i_DeeSCCons == 119 && n1DeeSCEcna == 123 )
4160 sprintf(f_in,
"21b");
4161 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4162 sprintf(f_in,
"119b");
4163 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4166 if( i_DeeSCCons == 132 && n1DeeSCEcna == 41 )
4168 sprintf(f_in,
"3a");
4169 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4170 sprintf(f_in,
"132a");
4171 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4175 if( i_DeeSCCons == 182 && n1DeeSCEcna == 60 )
4177 sprintf(f_in,
"30a");
4178 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4179 sprintf(f_in,
"182a");
4180 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4182 if( i_DeeSCCons == 182 && n1DeeSCEcna == 119 )
4184 sprintf(f_in,
"30b");
4185 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4186 sprintf(f_in,
"182b");
4187 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4190 if( i_DeeSCCons == 178 && n1DeeSCEcna == 32 )
4192 sprintf(f_in,
" 3c-25c");
4193 text_DSSC_num->DrawText(x_from_IX-6, y_from_IY+1, f_in);
4194 sprintf(f_in,
"178c-207c");
4195 text_DeeSCCons_num->DrawText(x_from_IX-6, y_from_IY-1, f_in);
4197 if( i_DeeSCCons == 178 && n1DeeSCEcna == 138 )
4199 sprintf(f_in,
"3a");
4200 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4201 sprintf(f_in,
"178a");
4202 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4204 if( i_DeeSCCons == 178 && n1DeeSCEcna == 157 )
4206 sprintf(f_in,
"3b");
4207 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4208 sprintf(f_in,
"178b");
4209 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4212 if( i_DeeSCCons == 207 && n1DeeSCEcna == 176 )
4214 sprintf(f_in,
"25a");
4215 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4216 sprintf(f_in,
"207a");
4217 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4219 if( i_DeeSCCons == 207 && n1DeeSCEcna == 193 )
4221 sprintf(f_in,
"25b");
4222 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4223 sprintf(f_in,
"207b");
4224 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4227 if( i_DeeSCCons == 298 && n1DeeSCEcna == 188 )
4229 sprintf(f_in,
"34a");
4230 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4231 sprintf(f_in,
"298a");
4232 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4235 if( i_DeeSCCons == 261 && n1DeeSCEcna == 29 )
4237 sprintf(f_in,
" 14a-21a");
4238 text_DSSC_num->DrawText(x_from_IX-6, y_from_IY+1, f_in);
4239 sprintf(f_in,
"261a-268a");
4240 text_DeeSCCons_num->DrawText(x_from_IX-6, y_from_IY-1, f_in);
4242 if( i_DeeSCCons == 261 && n1DeeSCEcna == 144 )
4244 sprintf(f_in,
"14a");
4245 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4246 sprintf(f_in,
"261c");
4247 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4249 if( i_DeeSCCons == 261 && n1DeeSCEcna == 165 )
4251 sprintf(f_in,
"14b");
4252 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4253 sprintf(f_in,
"261b");
4254 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4257 if( i_DeeSCCons == 268 && n1DeeSCEcna == 102 )
4259 sprintf(f_in,
"21c");
4260 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4261 sprintf(f_in,
"268c");
4262 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4264 if( i_DeeSCCons == 268 && n1DeeSCEcna == 123 )
4266 sprintf(f_in,
"21b");
4267 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4268 sprintf(f_in,
"268b");
4269 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4272 if( i_DeeSCCons == 281 && n1DeeSCEcna == 41 )
4274 sprintf(f_in,
"20a");
4275 text_DSSC_num->DrawText(x_from_IX, y_from_IY+1, f_in);
4276 sprintf(f_in,
"281a");
4277 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IY-1, f_in);
4286 sprintf( f_in,
"color: nb in Data Sector, black: nb for construction");
4288 Int_t y_colors = -14;
4290 TText *text_colors =
new TText(x_colors, y_colors, f_in);
fCnewRoot++;
4291 text_colors->SetTextSize(0.03);
4292 text_colors->SetTextColor(coul_textcolors);
4293 text_colors->Draw();
4295 delete [] f_in; f_in = 0;
fCdelete++;
4298 gStyle->SetTextColor(couleur_noir);
4309 if ( c_option ==
"corcc")
4315 Int_t nb_binx = GeoBidSizeIX;
4316 Int_t nb_biny = GeoBidSizeIY;
4317 Axis_t xinf_bid = (Axis_t)0.;
4318 Axis_t xsup_bid = (Axis_t)GeoBidSizeIX;
4320 Axis_t yinf_bid = (Axis_t)0.;
4321 Axis_t ysup_bid = (Axis_t)GeoBidSizeIY;
4322 Double_t ymid_bid = (Double_t)(ysup_bid-yinf_bid)/2.;
4331 Int_t max_x = nb_binx/size_IX;
4332 Int_t max_y = nb_biny/size_IY;
4333 Int_t max_yd = max_y/2;
4342 Double_t yline = (Double_t)yinf_bid - (Double_t)size_IY;
4344 Double_t xline_beg = (Double_t)xinf_bid;
4345 Double_t xline_end = (Double_t)xsup_bid;
4348 Int_t x_min[11] = {11,11, 7, 0, 0, 0, 0, 0, 0, 0, 0};
4349 Int_t x_max[11] = {50,50,47,45,45,42,37,35,30,15,50};
4350 for(Int_t
i=0;
i<11;
i++){x_min[
i] = coefcc_x*x_min[
i]; x_max[
i] = coefcc_x*x_max[
i];}
4352 for( Int_t
j = 0 ;
j < max_y ;
j++)
4356 if( DeeNumber == 1 || DeeNumber == 3 )
4358 xline_beg = xinf_bid + (Double_t)x_min[10-
j];
4359 xline_end = xinf_bid + (Double_t)x_max[10-
j];
4361 if( DeeNumber == 2 || DeeNumber == 4 )
4363 xline_beg = xsup_bid - (Double_t)x_max[10-
j];
4364 xline_end = xsup_bid - (Double_t)x_min[10-
j];
4370 if( DeeNumber == 1 || DeeNumber == 3 )
4372 xline_beg = xinf_bid + (Double_t)x_min[0];
4373 xline_end = xinf_bid + (Double_t)x_max[0];
4375 if( DeeNumber == 2 || DeeNumber == 4 )
4377 xline_beg = xsup_bid - (Double_t)x_max[0];
4378 xline_end = xsup_bid - (Double_t)x_min[0];
4384 if( DeeNumber == 1 || DeeNumber == 3 )
4386 xline_beg = xinf_bid + (Double_t)x_min[
j-10];
4387 xline_end = xinf_bid + (Double_t)x_max[
j-10];
4389 if( DeeNumber == 2 || DeeNumber == 4 )
4391 xline_beg = xsup_bid - (Double_t)x_max[
j-10];
4392 xline_end = xsup_bid - (Double_t)x_min[
j-10];
4396 yline = yline + (Double_t)size_IY;
4398 lin =
new TLine(xline_beg, yline, xline_end, yline);
fCnewRoot++;
4405 Double_t xline = (Double_t)xinf_bid - (Double_t)size_IX;
4407 Double_t yline_haut_bot = (Double_t)ymid_bid;
4408 Double_t yline_haut_top = (Double_t)ysup_bid;
4410 Double_t yline_bas_bot = (Double_t)yinf_bid;
4411 Double_t yline_bas_top = (Double_t)ymid_bid;
4415 Int_t y_min[11] = { 0,11, 7, 0, 0, 0, 0, 0, 0, 0, 0};
4416 Int_t y_max[11] = {50,50,47,45,45,42,38,35,30,15,10};
4417 for(Int_t
i=0;
i<11;
i++){y_min[
i] = coefcc_y*y_min[
i]; y_max[
i] = coefcc_y*y_max[
i];}
4419 gStyle->SetTextSize(0.075);
4421 for( Int_t
i = 0 ;
i <= max_x ;
i++)
4423 if( DeeNumber == 1 || DeeNumber == 3 )
4425 yline_haut_bot = ymid_bid + (Double_t)y_min[
i];
4426 yline_haut_top = ymid_bid + (Double_t)y_max[
i];
4428 if( DeeNumber == 2 || DeeNumber == 4 )
4430 yline_haut_bot = ymid_bid + (Double_t)y_min[10-
i];
4431 yline_haut_top = ymid_bid + (Double_t)y_max[10-
i];
4433 yline_bas_bot = ysup_bid - yline_haut_top;
4434 yline_bas_top = ysup_bid - yline_haut_bot;
4436 xline = xline + (Double_t)size_IX;
4438 lin_haut =
new TLine(xline, yline_haut_bot, xline, yline_haut_top);
fCnewRoot++;
4442 lin_bas =
new TLine(xline, yline_bas_bot, xline, yline_bas_top);
fCnewRoot++;
4448 EEGridAxis(coefcc_x, coefcc_y, DeeNumber,
"Dee", c_option);
4461 Int_t nb_niv2 = (nb_niv+1)/2;
4463 for (Int_t num_niv = 0; num_niv < nb_niv2; num_niv++)
4465 Int_t ind_niv = num_niv + nb_niv2 - 1;
4466 if ( ind_niv < 0 || ind_niv > nb_niv )
4468 cout <<
"!TEcnaHistos::ContourLevels(...)> *** ERROR *** "
4469 <<
"wrong contour levels for correlation matrix"
4475 (Double_t)(num_niv*num_niv)/
4476 ((Double_t)((nb_niv2-1)*(nb_niv2-1)));
4479 for (Int_t num_niv = -1; num_niv > -nb_niv2; num_niv--)
4481 Int_t ind_niv = num_niv + nb_niv2 - 1;
4482 if ( ind_niv < 0 || ind_niv > nb_niv )
4484 cout <<
"!TEcnaHistos::ContourLevels(...)> *** ERROR *** "
4485 <<
"wrong contour levels for correlation matrix"
4491 -(Double_t)(num_niv*num_niv)/
4492 ((Double_t)((nb_niv2-1)*(nb_niv2-1)));
4504 TString xname =
" ";
4514 TString xname =
" ";
4516 if ( chcode ==
"ietaEB" ){xname =
"i#eta Xtal ";}
4517 if ( chcode ==
"ietaSM" ){xname =
"i#eta Xtal ";}
4518 if ( chcode ==
"ietaTow"){xname =
"i#eta Xtal ";}
4520 if ( chcode ==
"iphiEB" ){xname =
" i#varphi Xtal";}
4521 if ( chcode ==
"jphiEB+" ){xname =
" i#varphi Xtal";}
4522 if ( chcode ==
"jphiEB-" ){xname =
" i#varphi Xtal";}
4523 if ( chcode ==
"jphiSMB+" ){xname =
" i#varphi Xtal";}
4524 if ( chcode ==
"jphiSMB-" ){xname =
"i#varphi Xtal ";}
4525 if ( chcode ==
"jphiTow" ){xname =
"i#varphi Xtal in SM ";}
4526 if ( chcode ==
"phi" ){xname =
"i#varphi Xtal in EB ";}
4533 TString xname =
" ";
4535 if ( chcode ==
"iIXDee" ){xname =
"IX(SC)";}
4537 if ( chcode ==
"iIXDee1" ){xname =
" -IX Xtal";}
4538 if ( chcode ==
"iIXDee2" ){xname =
" IX Xtal ";}
4539 if ( chcode ==
"iIXDee3" ){xname =
" IX Xtal";}
4540 if ( chcode ==
"iIXDee4" ){xname =
"-IX Xtal ";}
4542 if ( chcode ==
"iIXEE" ){xname =
" IX Xtal";}
4544 if ( chcode ==
"iIXSC" ){xname =
"IX Xtal";}
4546 if ( chcode ==
"jIYDee" ){xname =
"IY Xtal";}
4547 if ( chcode ==
"jIYSC" ){xname =
"IY Xtal";}
4548 if ( chcode ==
"IY" ){xname =
"IY";}
4600 if (HistoCode ==
"D_NOE_ChNb"){sprintf(f_in_mat_tit,
"Number of Events");}
4601 if (HistoCode ==
"D_Ped_ChNb"){sprintf(f_in_mat_tit,
"Pedestals");}
4602 if (HistoCode ==
"D_TNo_ChNb"){sprintf(f_in_mat_tit,
"Total Noise");}
4603 if (HistoCode ==
"D_MCs_ChNb"){sprintf(f_in_mat_tit,
"Mean Cor(s,s')");}
4604 if (HistoCode ==
"D_LFN_ChNb"){sprintf(f_in_mat_tit,
"Low Frequency Noise");}
4605 if (HistoCode ==
"D_HFN_ChNb"){sprintf(f_in_mat_tit,
"High Frequency Noise");}
4606 if (HistoCode ==
"D_SCs_ChNb"){sprintf(f_in_mat_tit,
"Sigma Cor(s,s')");}
4612 Int_t vertic_empty_strips = 3;
4613 Int_t vertic_empty_strip_1 = 1;
4622 Int_t nb_binx = GeoBidSizeHoco;
4623 Int_t nb_biny = GeoBidSizeVeco;
4624 Axis_t xinf_bid = (Axis_t)0.;
4625 Axis_t xsup_bid = (Axis_t)GeoBidSizeHoco;
4626 Axis_t yinf_bid = (Axis_t)0.;
4627 Axis_t ysup_bid = (Axis_t)GeoBidSizeVeco;
4629 TString axis_x_var_name =
" #Hoco ";
4630 TString axis_y_var_name =
" #varVeco ";
4634 TH2D* h_geo_bid =
new TH2D(
"geobidim_Hoco_Veco", f_in_mat_tit,
4635 nb_binx, xinf_bid, xsup_bid,
4636 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
4639 Int_t CounterExistingFile = 0;
4640 Int_t CounterDataExist = 0;
4659 CounterExistingFile++;
4667 if( iStasStex == 0 )
4690 TMatrixD read_matrix(nb_binx, nb_biny);
4691 for(Int_t
i=0;
i<nb_binx;
i++)
4692 {
for(Int_t
j=0;
j<nb_biny;
j++){read_matrix(
i,
j)=(Double_t)0.;}}
4694 if( HistoCode ==
"D_NOE_ChNb" ){
4696 if( HistoCode ==
"D_Ped_ChNb" ){
4698 if (HistoCode ==
"D_TNo_ChNb" ){
4700 if( HistoCode ==
"D_MCs_ChNb" ){
4702 if( HistoCode ==
"D_LFN_ChNb" ){
4704 if( HistoCode ==
"D_HFN_ChNb" ){
4706 if( HistoCode ==
"D_SCs_ChNb" ){
4717 Int_t i_xgeo =
GetXStinInStas(iStasStex, i0StexStinEcna, vertic_empty_strip_1);
4720 if(i_xgeo >=0 && i_xgeo < nb_binx && i_ygeo >=0 && i_ygeo < nb_biny)
4722 Int_t n1StexStinEcna = i0StexStinEcna+1;
4726 read_matrix(i_xgeo, i_ygeo) = partial_histp(i0StexStinEcna);
4727 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
4728 (Double_t)read_matrix(i_xgeo, i_ygeo));
4734 if( !( (n1StexStinEcna == 10 || n1StexStinEcna == 11 ||
4735 n1StexStinEcna == 29 || n1StexStinEcna == 32) ) )
4737 read_matrix(i_xgeo, i_ygeo) = partial_histp(i0StexStinEcna);
4738 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
4739 (Double_t)read_matrix(i_xgeo, i_ygeo));
4741 if( n1StexStinEcna == 29 )
4754 read_matrix(i_xgeo, i_ygeo) =
4755 partial_histp(i0StexStinEcna)*(Double_t)(5./6.) + partial_histp(9)/(Double_t)6.;
4756 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
4757 (Double_t)read_matrix(i_xgeo, i_ygeo));
4760 if( n1StexStinEcna == 32 )
4764 read_matrix(i_xgeo, i_ygeo) =
4765 partial_histp(i0StexStinEcna)*(Double_t)(5./6.) + partial_histp(10)/(Double_t)6.;
4766 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
4767 (Double_t)read_matrix(i_xgeo, i_ygeo));
4777 cout <<
"!TEcnaHistos::ViewStas(...)> "
4778 <<
" Data not available for " <<
fFapStexName <<
" " << iStasStex+1
4779 <<
" (Quantity not present in the ROOT file)" <<
fTTBELL << endl;
4786 cout <<
"!TEcnaHistos::ViewStas(...)> "
4787 <<
" Data not available for " <<
fFapStexName <<
" " << iStasStex+1
4788 <<
" (ROOT file not found)" <<
fTTBELL << endl;
4795 delete [] NOFE_int; NOFE_int = 0;
fCdelete++;
4796 delete [] xFapNbOfEvts; xFapNbOfEvts = 0;
fCdelete++;
4798 if( CounterExistingFile > 0 && CounterDataExist > 0 )
4818 Int_t xFlagAutoYsupMargin = 0;
4852 TString name_cov_cor;
4854 name_cov_cor.Resize(MaxCar);
4857 if( HistoCode ==
"D_NOE_ChNb"){name_cov_cor =
"Number_of_Events";}
4858 if( HistoCode ==
"D_Ped_ChNb"){name_cov_cor =
"Pedestals";}
4859 if( HistoCode ==
"D_TNo_ChNb"){name_cov_cor =
"Total_noise";}
4860 if( HistoCode ==
"D_MCs_ChNb"){name_cov_cor =
"Mean_Corss";}
4861 if( HistoCode ==
"D_LFN_ChNb"){name_cov_cor =
"Low_Fq_Noise";}
4862 if( HistoCode ==
"D_HFN_ChNb"){name_cov_cor =
"High_Fq_Noise";}
4863 if( HistoCode ==
"D_SCs_ChNb"){name_cov_cor =
"Sigma_Corss";}
4867 name_visu.Resize(MaxCar);
4870 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%s_%s_HocoVeco",
4877 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
4882 delete [] f_in; f_in = 0;
fCdelete++;
4894 Double_t x_margin = x_low;
4895 Double_t y_margin = y_low;
4896 MainCanvas->Divide( 1, 1, x_margin, y_margin);
4903 TVirtualPad* main_subpad = gPad;
4904 main_subpad->SetPad(x_low, y_low, x_up, y_up);}
4907 h_geo_bid->GetXaxis()->SetTitle(axis_x_var_name);
4908 h_geo_bid->GetYaxis()->SetTitle(axis_y_var_name);
4910 h_geo_bid->DrawCopy(
"COLZ");
4921 h_geo_bid->SetStats(b_true);
4924 delete [] f_in_mat_tit; f_in_mat_tit = 0;
fCdelete++;
4934 const Int_t& vertic_empty_strip_1)
4960 if( ctype ==
"EE-" && LeftRightFromIP ==
"left" )
4964 if( ctype ==
"EE-" && LeftRightFromIP ==
"right" )
4968 if( ctype ==
"EE+" && LeftRightFromIP ==
"left" )
4973 if( ctype ==
"EE+" && LeftRightFromIP ==
"right" )
5028 Int_t nb_binx = GeoBidSizePhi;
5029 Int_t nb_biny = GeoBidSizeEta;
5030 Axis_t xinf_bid = (Axis_t)0.;
5031 Axis_t xsup_bid = (Axis_t)nb_binx;
5032 Axis_t yinf_bid = (Axis_t)0.;
5033 Axis_t ysup_bid = (Axis_t)nb_biny;
5037 Int_t max_x = nb_binx/size_x;
5038 Int_t max_y = nb_biny/size_y;
5041 Double_t yline = (Double_t)yinf_bid;
5043 Double_t xline_left = (Double_t)xinf_bid;
5044 Double_t xline_right = (Double_t)xsup_bid;
5046 for( Int_t
j = 0 ;
j < max_y ;
j++)
5048 yline = yline + (Double_t)size_y;
5050 lin =
new TLine(xline_left, yline, xline_right, yline);
fCnewRoot++;
5056 Double_t xline = (Double_t)xinf_bid - (Double_t)size_x;
5058 Double_t yline_bot = (Double_t)yinf_bid;
5059 Double_t yline_top = (Double_t)ysup_bid;
5061 for( Int_t
i = 0 ;
i < max_x ;
i++)
5063 xline = xline + (Double_t)size_x;
5065 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
5070 Double_t yTextBot = yline_bot - (yline_top - yline_bot)/25.;
5071 Double_t yTextTop = yline_top + (yline_top - yline_bot)/120.;
5072 xline = (Double_t)xinf_bid - (Double_t)size_x;
5075 TText *text_SM =
new TText();
fCnewRoot++;
5076 for( Int_t
i = 0 ;
i < max_x ;
i++)
5078 xline = xline + (Double_t)size_x;
5080 text_SM->SetTextSize((Double_t)0.03);
5081 sprintf( f_in,
" +%d",
i+1 );
5082 text_SM->DrawText(xline, yTextTop, f_in);
5083 sprintf( f_in,
" %d", -
i-1 );
5084 text_SM->DrawText(xline, yTextBot, f_in);
5095 Double_t phi_min = 0;
5096 Double_t phi_max = 360;
5101 TF1 *
f1 =
new TF1(
"f1", x_direction.Data(), phi_min, phi_max);
fCnewRoot++;
5102 TGaxis* sup_axis_x = 0;
5104 if( x_direction ==
"-x" )
5105 {sup_axis_x =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t)(size_x_eb*MatSize), (Float_t)0.,
5106 "f1", size_x_eb,
"SC" , 0.); fCnewRoot++;}
5108 if( x_direction ==
"x" )
5109 {sup_axis_x =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t)(size_x_eb*MatSize), (Float_t)0.,
5110 "f1", size_x_eb,
"SC" , 0.); fCnewRoot++;}
5118 sup_axis_x->SetTitle(x_var_name);
5119 sup_axis_x->SetTitleSize(tit_siz_x);
5120 sup_axis_x->SetTitleOffset(tit_off_x);
5121 sup_axis_x->SetLabelSize(lab_siz_x);
5122 sup_axis_x->SetLabelOffset(lab_off_x);
5123 sup_axis_x->SetTickSize(tic_siz_x);
5124 sup_axis_x->Draw(
"SAME");
5132 Double_t eta_min = (Double_t)(-85.);
5133 Double_t eta_max = (Double_t)85.;
5137 TGaxis* sup_axis_y = 0;
5138 sup_axis_y =
new TGaxis((Float_t)0., (Float_t)0.,
5139 (Float_t)0., (Float_t)(size_y_eb*MatSize),
5140 eta_min, eta_max, MatSize/2,
"SC", 0.); fCnewRoot++;
5148 sup_axis_y->SetTitle(y_var_name);
5149 sup_axis_y->SetTitleSize(tit_siz_y);
5150 sup_axis_y->SetTitleOffset(tit_off_y);
5151 sup_axis_y->SetLabelColor(1);
5152 sup_axis_y->SetLabelSize(lab_siz_y);
5153 sup_axis_y->SetLabelOffset(lab_off_y);
5154 sup_axis_y->SetTickSize(tic_siz_y);
5155 sup_axis_y->Draw(
"SAME");
5167 Float_t coefcc_x = (Float_t)1./(Float_t)5.;
5168 Float_t coefcc_y = (Float_t)1./(Float_t)5.;
5170 for( Int_t DeeNumber = 1; DeeNumber <= 4; DeeNumber++)
5173 EEGridAxis(coefcc_x, coefcc_y, DeeNumber,
"EE",
" ");
5180 Double_t yline_bot = coefcc_y*(Double_t)0.;
5184 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
5192 lin12 =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
5193 lin12->SetLineStyle(2);
5199 lin34 =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
5200 lin34->SetLineStyle(2);
5208 linh =
new TLine( 0., yline_mid, xline_end, yline_mid);
fCnewRoot++;
5209 linh->SetLineStyle(2);
5216 const Int_t& DeeNumber,
const TString opt_plot)
5221 Int_t LineWidth = 2;
5222 if( opt_plot ==
"Dee" ){LineWidth = 3;}
5227 Float_t xg_dee_int_bot[13] = { 0, 5, 5, 7, 7, 8, 8, 9, 9,10,10,11,11};
5228 Float_t yg_dee_int_bot[13] = {39,39,40,40,41,41,42,42,43,43,45,45,50};
5229 for(Int_t
i=0;
i<ngmax;
i++){
5230 xg_dee_int_bot[
i] = coefcc_x*xg_dee_int_bot[
i];
5231 yg_dee_int_bot[
i] = coefcc_y*yg_dee_int_bot[
i];}
5233 Float_t XgDeeIntBotRight[13]; Float_t YgDeeIntBotRight[13];
5234 Float_t XgDeeIntTopRight[13]; Float_t YgDeeIntTopRight[13];
5236 for( Int_t
i=0;
i<ngmax;
i++)
5238 XgDeeIntBotRight[
i] = xg_dee_int_bot[
i];
5239 YgDeeIntBotRight[
i] = yg_dee_int_bot[
i];
5240 XgDeeIntTopRight[
i] = XgDeeIntBotRight[
i];
5242 if ( DeeNumber == 2 || DeeNumber == 4 )
5251 TGraph *BDeeIntBotRight =
new TGraph(ngmax, XgDeeIntBotRight, YgDeeIntBotRight);
5252 BDeeIntBotRight->SetLineWidth(LineWidth);
5253 BDeeIntBotRight->Draw();
5255 TGraph *BDeeIntTopRight =
new TGraph(ngmax, XgDeeIntTopRight, YgDeeIntTopRight);
5256 BDeeIntTopRight->SetLineWidth(LineWidth);
5257 BDeeIntTopRight->Draw();
5261 Float_t xg_dee_ext_bot[21] = {0,10,10,15,15,25,25,30,30,35,35,37,37,42,42,45,45,47,47,50,50};
5262 Float_t yg_dee_ext_bot[21] = {0, 0, 3, 3, 5, 5, 8, 8,13,13,15,15,20,20,25,25,35,35,40,40,50};
5263 for(Int_t
i=0;
i<ngmax;
i++){
5264 xg_dee_ext_bot[
i] = coefcc_x*xg_dee_ext_bot[
i];
5265 yg_dee_ext_bot[
i] = coefcc_y*yg_dee_ext_bot[
i];}
5267 Float_t XgDeeExtBotRight[21]; Float_t YgDeeExtBotRight[21];
5268 Float_t XgDeeExtTopRight[21]; Float_t YgDeeExtTopRight[21];
5270 for( Int_t
i=0;
i<ngmax;
i++)
5272 XgDeeExtBotRight[
i] = xg_dee_ext_bot[
i];
5273 YgDeeExtBotRight[
i] = yg_dee_ext_bot[
i];
5274 XgDeeExtTopRight[
i] = XgDeeExtBotRight[
i];
5276 if ( DeeNumber == 2 || DeeNumber == 4 )
5285 TGraph *BDeeExtBotRight =
new TGraph(ngmax, XgDeeExtBotRight, YgDeeExtBotRight);
5286 BDeeExtBotRight->SetLineWidth(LineWidth);
5287 BDeeExtBotRight->Draw();
5289 TGraph *BDeeExtTopRight =
new TGraph(ngmax, XgDeeExtTopRight, YgDeeExtTopRight);
5290 BDeeExtTopRight->SetLineWidth(LineWidth);
5291 BDeeExtTopRight->Draw();
5298 if( opt_plot ==
"EE" )
5301 Float_t xg_dee_data_sec9[2] = { 0, 0};
5302 Float_t yg_dee_data_sec9[2] = {61,100};
5303 for(Int_t
i=0;
i<ngmax;
i++){
5304 xg_dee_data_sec9[
i] = coefcc_x*xg_dee_data_sec9[
i];
5305 yg_dee_data_sec9[
i] = coefcc_y*yg_dee_data_sec9[
i];}
5307 Float_t XgDeeDataSec9[11]; Float_t YgDeeDataSec9[11];
5308 for( Int_t
i=0;
i<ngmax;
i++)
5310 XgDeeDataSec9[
i] = xg_dee_data_sec9[
i]; YgDeeDataSec9[
i] = yg_dee_data_sec9[
i];
5311 if ( DeeNumber == 2 || DeeNumber == 4 )
5317 TGraph *BDeeDataSec9 =
new TGraph(ngmax, XgDeeDataSec9, YgDeeDataSec9);
5318 BDeeDataSec9->SetLineWidth(LineWidth);
5319 BDeeDataSec9->Draw();
5324 Float_t xg_dee_data_sec1[11] = { 7,10,10,15,15,20,20,25,25,30,30};
5325 Float_t yg_dee_data_sec1[11] = {60,60,65,65,70,70,75,75,85,85,87};
5326 for(Int_t
i=0;
i<ngmax;
i++){
5327 xg_dee_data_sec1[
i] = coefcc_x*xg_dee_data_sec1[
i];
5328 yg_dee_data_sec1[
i] = coefcc_y*yg_dee_data_sec1[
i];}
5330 Float_t XgDeeDataSec1[11]; Float_t YgDeeDataSec1[11];
5331 for( Int_t
i=0;
i<ngmax;
i++)
5333 XgDeeDataSec1[
i] = xg_dee_data_sec1[
i]; YgDeeDataSec1[
i] = yg_dee_data_sec1[
i];
5334 if ( DeeNumber == 2 || DeeNumber == 4 )
5341 TGraph *BDeeDataSec1 =
new TGraph(ngmax, XgDeeDataSec1, YgDeeDataSec1);
5342 BDeeDataSec1->SetLineWidth(LineWidth);
5343 BDeeDataSec1->Draw();
5347 Float_t xg_dee_data_sec2[6] = {11,15,15,40,40,47};
5348 Float_t yg_dee_data_sec2[6] = {50,50,55,55,60,60};
5349 for(Int_t
i=0;
i<ngmax;
i++){
5350 xg_dee_data_sec2[
i] = coefcc_x*xg_dee_data_sec2[
i];
5351 yg_dee_data_sec2[
i] = coefcc_y*yg_dee_data_sec2[
i];}
5353 Float_t XgDeeDataSec2[6]; Float_t YgDeeDataSec2[6];
5354 for( Int_t
i=0;
i<ngmax;
i++)
5356 XgDeeDataSec2[
i] = xg_dee_data_sec2[
i]; YgDeeDataSec2[
i] = yg_dee_data_sec2[
i];
5357 if ( DeeNumber == 2 || DeeNumber == 4 )
5363 TGraph *BDeeDataSec2 =
new TGraph(ngmax, XgDeeDataSec2, YgDeeDataSec2);
5364 BDeeDataSec2->SetLineWidth(LineWidth);
5365 BDeeDataSec2->Draw();
5369 Float_t xg_dee_data_sec3[10] = {10,15,15,20,20,30,30,40,40,42};
5370 Float_t yg_dee_data_sec3[10] = {45,45,40,40,35,35,30,30,25,25};
5371 for(Int_t
i=0;
i<ngmax;
i++){
5372 xg_dee_data_sec3[
i] = coefcc_x*xg_dee_data_sec3[
i];
5373 yg_dee_data_sec3[
i] = coefcc_y*yg_dee_data_sec3[
i];}
5375 Float_t XgDeeDataSec3[10]; Float_t YgDeeDataSec3[10];
5376 for( Int_t
i=0;
i<ngmax;
i++)
5378 XgDeeDataSec3[
i] = xg_dee_data_sec3[
i]; YgDeeDataSec3[
i] = yg_dee_data_sec3[
i];
5379 if ( DeeNumber == 2 || DeeNumber == 4 )
5385 TGraph *BDeeDataSec3 =
new TGraph(ngmax, XgDeeDataSec3, YgDeeDataSec3);
5386 BDeeDataSec3->SetLineWidth(LineWidth);
5387 BDeeDataSec3->Draw();
5391 Float_t xg_dee_data_sec4[6] = { 5, 5,10,10,15,15};
5392 Float_t yg_dee_data_sec4[6] = {40,30,30,15,15, 5};
5393 for(Int_t
i=0;
i<ngmax;
i++){
5394 xg_dee_data_sec4[
i] = coefcc_x*xg_dee_data_sec4[
i];
5395 yg_dee_data_sec4[
i] = coefcc_y*yg_dee_data_sec4[
i];}
5397 Float_t XgDeeDataSec4[6]; Float_t YgDeeDataSec4[6];
5398 for( Int_t
i=0;
i<ngmax;
i++)
5400 XgDeeDataSec4[
i] = xg_dee_data_sec4[
i]; YgDeeDataSec4[
i] = yg_dee_data_sec4[
i];
5401 if ( DeeNumber == 2 || DeeNumber == 4 )
5407 TGraph *BDeeDataSec4 =
new TGraph(ngmax, XgDeeDataSec4, YgDeeDataSec4);
5408 BDeeDataSec4->SetLineWidth(LineWidth);
5409 BDeeDataSec4->Draw();
5413 if( opt_plot ==
"Dee" || opt_plot ==
"EE" )
5417 Float_t xg_coord_sector[5] = { 16, 41, 45, 33, -2};
5418 Float_t yg_coord_sector[5] = { 96, 83, 30, 5, -8};
5421 if(opt_plot ==
"Dee" && (DeeNumber == 1) ){xg_coord_sector[2] += 0.5;}
5422 if(opt_plot ==
"Dee" && (DeeNumber == 2) ){xg_coord_sector[2] -= 1. ;}
5423 if(opt_plot ==
"Dee" && (DeeNumber == 3) ){xg_coord_sector[2] += 0.7;}
5424 if(opt_plot ==
"Dee" && (DeeNumber == 4) ){xg_coord_sector[2] -= 1.2;}
5426 if(opt_plot ==
"EE" && (DeeNumber == 2 || DeeNumber == 3) ){xg_coord_sector[2] += 0.55;}
5427 if(opt_plot ==
"EE" && (DeeNumber == 4 ) ){xg_coord_sector[2] -= 0.2;}
5429 for(Int_t
i=0;
i<ngmax;
i++){
5430 xg_coord_sector[
i] = coefcc_x*xg_coord_sector[
i];
5431 yg_coord_sector[
i] = coefcc_y*yg_coord_sector[
i];}
5433 Float_t xg_sector[9];
5434 Float_t yg_sector[9];
5437 Float_t xinv_d2d4 = coefcc_x*44;
5439 if( DeeNumber == 1 )
5442 xg_sector[1-ns1] = xg_coord_sector[1-ns1]; yg_sector[1-ns1] = yg_coord_sector[1-ns1];
5443 xg_sector[2-ns1] = xg_coord_sector[2-ns1]; yg_sector[2-ns1] = yg_coord_sector[2-ns1];
5444 xg_sector[3-ns1] = xg_coord_sector[3-ns1]; yg_sector[3-ns1] = yg_coord_sector[3-ns1];
5445 xg_sector[4-ns1] = xg_coord_sector[4-ns1]; yg_sector[4-ns1] = yg_coord_sector[4-ns1];
5446 xg_sector[5-ns1] = xg_coord_sector[5-ns1]; yg_sector[5-ns1] = yg_coord_sector[5-ns1];
5449 if( DeeNumber == 2 )
5452 xg_sector[ns2-1] = xinv_d2d4-xg_coord_sector[1-1]; yg_sector[ns2-1] = yg_coord_sector[1-1];
5453 xg_sector[ns2-2] = xinv_d2d4-xg_coord_sector[2-1]; yg_sector[ns2-2] = yg_coord_sector[2-1];
5454 xg_sector[ns2-3] = xinv_d2d4-xg_coord_sector[3-1]; yg_sector[ns2-3] = yg_coord_sector[3-1];
5455 xg_sector[ns2-4] = xinv_d2d4-xg_coord_sector[4-1]; yg_sector[ns2-4] = yg_coord_sector[4-1];
5456 xg_sector[ns2-5] = xinv_d2d4-xg_coord_sector[5-1]; yg_sector[ns2-5] = yg_coord_sector[5-1];
5458 if( DeeNumber == 3 )
5461 xg_sector[ns2-1]= xg_coord_sector[1-1]; yg_sector[ns2-1] = yg_coord_sector[1-1];
5462 xg_sector[ns2-2]= xg_coord_sector[2-1]; yg_sector[ns2-2] = yg_coord_sector[2-1];
5463 xg_sector[ns2-3]= xg_coord_sector[3-1]; yg_sector[ns2-3] = yg_coord_sector[3-1];
5464 xg_sector[ns2-4]= xg_coord_sector[4-1]; yg_sector[ns2-4] = yg_coord_sector[4-1];
5465 xg_sector[ns2-5]= xg_coord_sector[5-1]; yg_sector[ns2-5] = yg_coord_sector[5-1];
5467 if( DeeNumber == 4 )
5470 xg_sector[1-ns1]= xinv_d2d4-xg_coord_sector[1-ns1]; yg_sector[1-ns1] = yg_coord_sector[1-ns1];
5471 xg_sector[2-ns1]= xinv_d2d4-xg_coord_sector[2-ns1]; yg_sector[2-ns1] = yg_coord_sector[2-ns1];
5472 xg_sector[3-ns1]= xinv_d2d4-xg_coord_sector[3-ns1]; yg_sector[3-ns1] = yg_coord_sector[3-ns1];
5473 xg_sector[4-ns1]= xinv_d2d4-xg_coord_sector[4-ns1]; yg_sector[4-ns1] = yg_coord_sector[4-ns1];
5474 xg_sector[5-ns1]= xinv_d2d4-xg_coord_sector[5-ns1]; yg_sector[5-ns1] = yg_coord_sector[5-ns1];
5478 for(Int_t ns=ns1; ns<= ns2; ns++)
5481 if( DeeNumber == 1 || DeeNumber == 2 ){sprintf( f_in,
"+%d", ns);}
5482 if( DeeNumber == 3 || DeeNumber == 4 ){sprintf( f_in,
"-%d", ns);}
5483 TText *text_num_module =
new TText(xg_sector[ns-1], yg_sector[ns-1], f_in);
fCnewRoot++;
5484 if(opt_plot ==
"Dee"){text_num_module->SetTextSize(0.065);}
5485 if(opt_plot ==
"EE" ){text_num_module->SetTextSize(0.045);}
5486 text_num_module->SetTextColor(coul_textsector);
5487 if( opt_plot ==
"Dee" ||
5488 ( opt_plot ==
"EE" && !( (DeeNumber == 3 && ns == 5) || (DeeNumber == 1 && ns == 5) ) ) )
5489 {text_num_module->Draw();}
5496 Float_t xg_coord_dee[4] = { 0, 0, 0, 0};
5497 Float_t yg_coord_dee[4] = {48, 48, 48, 48};
5499 xg_coord_dee[DeeNumber-1] = coefcc_x*xg_coord_dee[DeeNumber-1];
5500 yg_coord_dee[DeeNumber-1] = coefcc_y*yg_coord_dee[DeeNumber-1];
5502 Float_t xg_dee = xg_coord_dee[DeeNumber-1];
5503 Float_t yg_dee = yg_coord_dee[DeeNumber-1];
5510 if( DeeNumber == 1 ){sprintf( f_in,
"D1");}
5511 if( DeeNumber == 2 ){sprintf( f_in,
"D2");}
5512 if( DeeNumber == 3 ){sprintf( f_in,
"D3");}
5513 if( DeeNumber == 4 ){sprintf( f_in,
"D4");}
5515 TText *text_num_module =
new TText(xg_dee, yg_dee, f_in);
fCnewRoot++;
5516 if( opt_plot ==
"EE" ){text_num_module->SetTextSize(0.045);}
5517 if( opt_plot ==
"Dee"){text_num_module->SetTextSize(0.085);}
5518 text_num_module->SetTextColor(coul_textdee);
5519 text_num_module->Draw();
5523 if( opt_plot ==
"EE" )
5527 Float_t xg_coord_eepm[4] = { 0, 0, 0, 0};
5528 Float_t yg_coord_eepm[4] = {95, 95, 95, 95};
5530 xg_coord_eepm[DeeNumber-1] = coefcc_x*xg_coord_eepm[DeeNumber-1];
5531 yg_coord_eepm[DeeNumber-1] = coefcc_y*yg_coord_eepm[DeeNumber-1];
5533 Float_t xg_eepm = xg_coord_eepm[DeeNumber-1];
5534 Float_t yg_eepm = yg_coord_eepm[DeeNumber-1];
5541 if( DeeNumber == 1 ){sprintf( f_in,
"EE+F");}
5542 if( DeeNumber == 2 ){sprintf( f_in,
"EE+N");}
5543 if( DeeNumber == 3 ){sprintf( f_in,
"EE-N");}
5544 if( DeeNumber == 4 ){sprintf( f_in,
"EE-F");}
5546 TText *text_num_eepm =
new TText(xg_eepm, yg_eepm, f_in);
fCnewRoot++;
5547 text_num_eepm->SetTextSize(0.04);
5548 text_num_eepm->SetTextColor(coul_texteepm);
5549 text_num_eepm->Draw();
5554 sprintf( f_in,
"viewed from IP");
5555 Float_t x_from_ip = 15.;
5556 Float_t y_from_ip = -10.;
5557 if( opt_plot ==
"EE" ){y_from_ip = -16.;}
5558 x_from_ip = coefcc_x*x_from_ip;
5559 y_from_ip = coefcc_x*y_from_ip;
5561 TText *text_from_ip =
new TText(x_from_ip, y_from_ip, f_in);
fCnewRoot++;
5562 text_from_ip->SetTextSize(0.045);
5563 if( opt_plot ==
"EE" ){text_from_ip->SetTextSize(0.035);}
5564 text_from_ip->SetTextColor(coul_textfromIP);
5565 if( opt_plot ==
"Dee" || (opt_plot ==
"EE" && DeeNumber == 3) ){text_from_ip->Draw();}
5567 delete [] f_in; f_in = 0;
fCdelete++;
5574 const Int_t& DeeNumber,
const TString opt_plot,
const TString c_option)
5584 if( opt_plot ==
"Dee" && c_option ==
"corcc" )
5590 if( opt_plot ==
"EE" && c_option ==
"corcc" ){
return;}
5593 if( opt_plot ==
"EE" && c_option !=
"corcc" ){MatSize = 1;}
5595 TString x_var_name =
" ";
5597 Float_t axis_x_inf = 0;
5598 Float_t axis_x_sup = 0;
5599 Float_t axis_y_inf = 0;
5600 Float_t axis_y_sup = 0;
5601 Int_t axis_nb_div = 205;
5602 Double_t IX_values_min = 0;
5603 Double_t IX_values_max = 0;
5604 Option_t* chopt =
"C";
5607 if( DeeNumber == 1 )
5610 axis_x_inf = size_IX_dee*MatSize;
5614 IX_values_min = -IX_max;
5615 IX_values_max = -IX_min;
5618 if( opt_plot ==
"Dee" ){axis_nb_div = size_IX_dee;}
5621 if( DeeNumber == 2 )
5624 axis_x_inf = size_IX_dee*MatSize;
5628 IX_values_min = IX_min;
5629 IX_values_max = IX_max;
5631 if( opt_plot ==
"EE" ){x_var_name =
" ";}
5632 if( opt_plot ==
"Dee" ){axis_nb_div = size_IX_dee;}
5635 if( DeeNumber == 3 )
5638 axis_x_sup = size_IX_dee*MatSize;
5641 IX_values_min = IX_min;
5642 IX_values_max = IX_max;
5644 if( opt_plot ==
"EE" ){x_var_name =
" ";}
5645 if( opt_plot ==
"Dee" ){axis_nb_div = size_IX_dee;}
5648 if( DeeNumber == 4 )
5651 axis_x_sup = size_IX_dee*MatSize;
5654 IX_values_min = -IX_max;
5655 IX_values_max = -IX_min;
5657 if( opt_plot ==
"EE" ){x_var_name =
" ";}
5658 if( opt_plot ==
"Dee" ){axis_nb_div = size_IX_dee;}
5666 TGaxis* sup_axis_x = 0;
5667 sup_axis_x =
new TGaxis(axis_x_inf, axis_y_inf, axis_x_sup, axis_y_sup,
5668 IX_values_min, IX_values_max, axis_nb_div, chopt, 0.);
fCnewRoot++;
5682 sup_axis_x->SetTitle(x_var_name);
5683 sup_axis_x->SetTitleSize(tit_siz_x);
5684 sup_axis_x->SetTitleOffset(tit_off_x);
5685 sup_axis_x->SetLabelSize(lab_siz_x);
5686 sup_axis_x->SetLabelOffset(lab_off_x);
5687 sup_axis_x->SetTickSize(tic_siz_x);
5688 sup_axis_x->Draw(
"SAME");
5691 if( DeeNumber == 1 || DeeNumber == 2 )
5694 TGaxis* sup_axis_x_bis = 0;
5695 sup_axis_x_bis =
new TGaxis(axis_x_inf, axis_y_inf, axis_x_sup, axis_y_sup,
5696 IX_values_min, IX_values_max, axis_nb_div, chopt, 0.);
fCnewRoot++;
5697 sup_axis_x_bis->SetTickSize(0.);
5698 lab_siz_x = sup_axis_x->GetLabelSize();
5699 sup_axis_x_bis->SetLabelSize(lab_siz_x);
5700 lab_off_x = sup_axis_x->GetLabelOffset();
5701 sup_axis_x_bis->SetLabelOffset(-lab_off_x);
5702 sup_axis_x_bis->Draw(
"SAME");
5707 if( opt_plot ==
"Dee" || (opt_plot ==
"EE" && DeeNumber == 4) )
5710 Int_t size_IY_axis = size_IY_dee;
5712 if( opt_plot ==
"Dee" ){axis_nb_div = size_IY_axis;}
5713 if( opt_plot ==
"EE" ){axis_nb_div = 210;}
5718 TString jy_var_name =
" ";
5719 TString jy_direction =
"x";
5733 TGaxis* axis_jy_plus = 0;
5734 axis_jy_plus =
new TGaxis((Float_t)0., (Float_t)0.,
5735 (Float_t)0., (Float_t)(size_IY_axis*MatSize),
5736 jIY_min, jIY_max, axis_nb_div,
"SC", 0.);
fCnewRoot++;
5739 axis_jy_plus->SetTitle(jy_var_name);
5740 axis_jy_plus->SetTitleSize(tit_siz_y);
5741 axis_jy_plus->SetTitleOffset(tit_off_y);
5742 axis_jy_plus->SetLabelSize(lab_siz_y);
5743 axis_jy_plus->SetLabelOffset(lab_off_y);
5744 axis_jy_plus->SetTickSize(tic_siz_y);
5745 axis_jy_plus->Draw(
"SAME");
5751 if( opt_plot ==
"Dee" || (opt_plot ==
"EE" && DeeNumber == 4) )
5754 Int_t size_IY_axis = size_IY_dee/2;
5756 if( opt_plot ==
"Dee" ){axis_nb_div = (Int_t)size_IY_axis;}
5757 if( opt_plot ==
"EE" ){axis_nb_div = 5;}
5762 TString jy_var_name =
" ";
5763 TString jy_direction =
"x";
5777 TGaxis* axis_jy_plus = 0;
5778 axis_jy_plus =
new TGaxis((Float_t)0., (Float_t)(size_IY_dee*MatSize/2),
5779 (Float_t)0., (Float_t)(2*size_IY_dee*MatSize/2),
5780 jIY_min, jIY_max, axis_nb_div,
"SC", 0.);
fCnewRoot++;
5783 axis_jy_plus->SetTitle(jy_var_name);
5784 axis_jy_plus->SetTitleSize(tit_siz_y);
5785 axis_jy_plus->SetTitleOffset(tit_off_y);
5786 axis_jy_plus->SetLabelSize(lab_siz_y);
5787 axis_jy_plus->SetLabelOffset(lab_off_y);
5788 axis_jy_plus->SetTickSize(tic_siz_y);
5789 axis_jy_plus->Draw(
"SAME");
5791 TGaxis* axis_jy_minus = 0;
5792 axis_jy_minus =
new TGaxis((Float_t)0., (Float_t)(size_IY_dee*MatSize/2),
5793 (Float_t)0., (Float_t)0.,
5794 -jIY_min, -jIY_max, axis_nb_div,
"-SC", 0.);
fCnewRoot++;
5797 axis_jy_minus->SetTitle(jy_var_name);
5798 axis_jy_minus->SetTitleSize(tit_siz_y);
5799 axis_jy_minus->SetTitleOffset(tit_off_y);
5800 axis_jy_minus->SetLabelSize(lab_siz_y);
5801 axis_jy_minus->SetLabelOffset(lab_off_y);
5802 axis_jy_minus->SetTickSize(tic_siz_y);
5803 axis_jy_minus->Draw(
"SAME");
6084 const TString PlotOption)
6088 Int_t StexStin_A = aStexStin_A;
6091 ViewHisto(StexStin_A, i0StinEcha,
fZerv,
"D_MSp_Samp", PlotOption);
6104 const TString PlotOption)
6108 Int_t StexStin_A = aStexStin_A;
6111 ViewHisto(StexStin_A, i0StinEcha,
fZerv,
"D_SSp_Samp", PlotOption);
6124 const TString PlotOption)
6128 Int_t StexStin_A = aStexStin_A;
6131 ViewHisto(StexStin_A, i0StinEcha, iSample,
"D_Adc_EvNb", PlotOption);
6144 const Int_t& iSample,
const TString PlotOption)
6148 Int_t StexStin_A = aStexStin_A;
6151 ViewHisto(StexStin_A, i0StinEcha, iSample,
"D_Adc_EvDs", PlotOption);
6180 const Int_t& iSample,
const TString HistoCode,
6181 const TString opt_plot_arg)
6186 TString opt_plot = opt_plot_arg;
6191 Int_t xCanvasExists = 1;
6194 TVirtualPad* main_subpad = 0;
6198 main_subpad =
ActivePad(HistoCode.Data(), opt_plot.Data());
6199 if( main_subpad == 0 )
6201 cout <<
"*TEcnaHistos::ViewHisto(...)> WARNING ===> Canvas has been closed in option SAME or SAME n."
6203 <<
" Please, restart with a new canvas."
6218 Int_t SameXVarMemo = 1;
6219 if( !( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"EvolProj") )
6223 SetXVarMemo(HistoCode, opt_plot, XVarHisto);
SetYVarMemo(HistoCode, opt_plot, YVarHisto); SameXVarMemo = 1;
6230 if( XVarHisto != XVariableMemo )
6232 cout <<
"!TEcnaHistos::ViewHisto(...)> *** ERROR *** ===> X coordinate changed in option SAME n." << endl
6233 <<
" Present X = " << XVarHisto << endl
6234 <<
" Present Y = " << YVarHisto << endl
6235 <<
" Previous X = " << XVariableMemo << endl
6236 <<
" Previous Y = " << YVariableMemo
6247 Int_t SameYVarMemo = 1;
6248 if( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"EvolProj" )
6252 SetYVarMemo(HistoCode, opt_plot, YVarHisto);
SetYVarMemo(HistoCode, opt_plot, YVarHisto); SameYVarMemo = 1;
6259 if( YVarHisto != YVariableMemo )
6261 cout <<
"!TEcnaHistos::ViewHisto(...)> *** ERROR *** ===> Y coordinate changed in option SAME n." << endl
6262 <<
" Present X = " << XVarHisto << endl
6263 <<
" Present Y = " << YVarHisto << endl
6264 <<
" Previous X = " << XVariableMemo << endl
6265 <<
" Previous Y = " << YVariableMemo
6276 Int_t OkBinsMemoSameOne = 1;
6278 Int_t SizeForPlot =
GetHistoSize(HistoCode.Data(),
"plot");
6283 SetNbBinsMemo(HistoCode, opt_plot, xNbBins); OkBinsMemoSameOne = 1;
6288 if( xNbBins != NbBinsMemo )
6290 cout <<
"!TEcnaHistos::ViewHisto(...)> *** ERROR *** ===> Number of bins changed in option SAME or SAME n."
6291 <<
" Present number = " << xNbBins <<
", requested number = " << NbBinsMemo <<
fTTBELL << endl;
6292 OkBinsMemoSameOne = 0;
6298 if( xCanvasExists == 1 && SameXVarMemo == 1 && SameYVarMemo == 1 && OkBinsMemoSameOne == 1 ){OKHisto = 1;}
6312 TString fp_name_short =
" ";
6315 Int_t SizeForRead =
GetHistoSize(HistoCode.Data(),
"read");
6318 TVectorD histo_for_plot(SizeForPlot);
6319 for(Int_t
i=0;
i<SizeForPlot;
i++){histo_for_plot[
i]=(Double_t)0;}
6321 TVectorD histo_for_plot_memo(SizeForPlot);
6322 for(Int_t
i=0;
i<SizeForPlot;
i++){histo_for_plot_memo[
i]=(Double_t)0;}
6324 Int_t i_data_exist = 0;
6328 if( HistoType ==
"Global" || HistoType ==
"Proj" || HistoType ==
"SampGlobal" || HistoType ==
"SampProj" )
6333 Int_t CounterExistingFile = 0;
6334 Int_t CounterDataExist = 0;
6353 CounterExistingFile++;
6361 if( iStasStex == 0 )
6384 if( HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_NOE_ChDs" ){
6386 if( HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_Ped_ChDs" ){
6388 if( HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_TNo_ChDs" ){
6390 if( HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_MCs_ChDs" ){
6392 if( HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_LFN_ChDs" ){
6394 if( HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_HFN_ChDs" ){
6396 if( HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_SCs_ChDs" ){
6415 if( i_xgeo >= 0 && i_xgeo < SizeForPlot )
6417 histo_for_plot[i_xgeo] = read_histo[i0StexStinEcna];
6421 cout <<
"!TEcnaHistos::ViewHisto(...)> <EB> i_xgeo = " << i_xgeo
6422 <<
". OUT OF RANGE ( range = [0,"<< SizeForPlot <<
"] " << endl;
6429 Int_t DeeOffset = 0;
6432 Int_t DeeNumber = iStasStex+1;
6433 Int_t n1DeeSCEcna = i0StexStinEcna+1;
6450 if( StexDataSector >= 1 && StexDataSector <= 9 )
6452 if( DeeNumber == 4 )
6454 for(Int_t is=2; is<=5; is++)
6455 {
if( StexDataSector >= is )
6459 if( DeeNumber == 3 )
6461 if( StexDataSector >= 6 )
6463 for(Int_t is=7; is<=9; is++)
6464 {
if( StexDataSector >= is )
6468 if( DeeNumber == 2 )
6470 if( StexDataSector >= 6 )
6472 for(Int_t is=7; is<=9; is++)
6473 {
if( StexDataSector >= is )
6477 if( DeeNumber == 1 )
6479 for(Int_t is=2; is<=5; is++)
6480 {
if( StexDataSector >= is )
6484 if( StexDSStin >=1 && StexDSStin <= fEcalNumbering->GetMaxSCInDS(StexDataSector) )
6486 if( DeeNumber == 4 )
6488 if(StexDataSector != 5)
6489 {i_xgeo = DeeOffset + DSOffset + (StexDSStin - 1);}
6490 if( StexDataSector == 5)
6491 {i_xgeo = DeeOffset + DSOffset + (StexDSStin - 1);}
6493 if( DeeNumber == 3 )
6495 if(StexDataSector != 5)
6496 {i_xgeo = DeeOffset + DSOffset + (StexDSStin - 1);}
6497 if( StexDataSector == 5)
6498 {i_xgeo = DeeOffset + DSOffset + (StexDSStin-17) - 1;}
6500 if( DeeNumber == 2 )
6502 if(StexDataSector != 5)
6503 {i_xgeo = DeeOffset + DSOffset
6505 if( StexDataSector == 5)
6506 {i_xgeo = DeeOffset + DSOffset
6509 if( DeeNumber == 1 )
6511 if(StexDataSector != 5)
6512 {i_xgeo = DeeOffset + DSOffset
6514 if( StexDataSector == 5)
6515 {i_xgeo = DeeOffset + DSOffset
6522 cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> StexDSStin = " << StexDSStin
6523 <<
". OUT OF RANGE ( range = [1,"
6525 <<
"]. DeeNumber = " << DeeNumber
6526 <<
", n1DeeSCEcna = " << n1DeeSCEcna
6527 <<
", StexDataSector = " << StexDataSector
6528 <<
", i_xgeo = " << i_xgeo << endl;
6539 if( i_xgeo >= -1 && i_xgeo < SizeForPlot )
6542 if( n1DeeSCEcna == 29 || n1DeeSCEcna == 32 ||
6544 n1DeeSCEcna == 144 || n1DeeSCEcna == 165 ||
6545 n1DeeSCEcna == 176 || n1DeeSCEcna == 193 ||
6546 n1DeeSCEcna == 60 || n1DeeSCEcna == 119 ||
6547 n1DeeSCEcna == 102 || n1DeeSCEcna == 123 ||
6548 n1DeeSCEcna == 138 || n1DeeSCEcna == 157 )
6551 if( n1DeeSCEcna == 29 && i_xgeo >= 0 )
6552 {histo_for_plot[i_xgeo] += read_histo[i0StexStinEcna]/(Double_t)5.;}
6553 if( (n1DeeSCEcna == 144 || n1DeeSCEcna == 165) && i_xgeo >= 0 )
6554 {histo_for_plot[i_xgeo] +=
6555 read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)25.;}
6558 if( n1DeeSCEcna == 32 && i_xgeo >= 0 )
6559 {histo_for_plot[i_xgeo] += read_histo[i0StexStinEcna]/(Double_t)5.;}
6560 if( (n1DeeSCEcna == 176 || n1DeeSCEcna == 193) && i_xgeo >= 0 )
6561 {histo_for_plot[i_xgeo] +=
6562 read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)25.;}
6565 if( (n1DeeSCEcna == 60 || n1DeeSCEcna == 119) && i_xgeo >= 0 )
6566 {histo_for_plot[i_xgeo] += read_histo[i0StexStinEcna]/(Double_t)2.;}
6569 if( n1DeeSCEcna == 102 )
6570 {histo_for_plot[i_xgeo] += read_histo[9]/(Double_t)21.
6571 + read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)21.;}
6572 if( n1DeeSCEcna == 123 && i_xgeo >= 0 )
6573 {histo_for_plot[i_xgeo] +=
6574 read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)21.;}
6577 if( n1DeeSCEcna == 138 )
6578 {histo_for_plot[i_xgeo] += read_histo[10]/(Double_t)21.
6579 + read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)21.;}
6580 if( n1DeeSCEcna == 157 && i_xgeo >= 0 )
6581 {histo_for_plot[i_xgeo] +=
6582 read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)21.;}
6587 {histo_for_plot[i_xgeo] += read_histo[i0StexStinEcna];}
6600 cout <<
"!TEcnaHistos::ViewHisto(...)> "
6601 <<
" Data not available for " <<
fFapStexName <<
" " << iStasStex+1
6602 <<
" (Quantity not present in the ROOT file)" << endl;
6609 cout <<
"!TEcnaHistos::ViewHisto(...)> "
6610 <<
" Data not available for " <<
fFapStexName <<
" " << iStasStex+1
6611 <<
" (ROOT file not found)" << endl;
6618 delete [] NOFE_int; NOFE_int = 0;
fCdelete++;
6619 delete [] xFapNbOfEvts; xFapNbOfEvts = 0;
fCdelete++;
6621 if( CounterExistingFile > 0 && CounterDataExist > 0 ){OKPlot = 1;}
6643 Bool_t ok_view_histo =
6646 if( ok_view_histo == kTRUE )
6650 (
fFlagSubDet ==
"EE" && ( HistoType ==
"SampGlobal" || HistoType ==
"SampProj" ) ) )
6653 StexStin_A, i0StinEcha, iSample, i_data_exist);
6654 if( i_data_exist > 0 ){OKPlot = 1;}
6655 if( OKPlot == 1 && opt_plot ==
"ASCII" && ( HistoType ==
"Global" || HistoType ==
"Proj" ) )
6660 if(
fFlagSubDet ==
"EE" && !( HistoType ==
"SampGlobal" || HistoType ==
"SampProj" ) )
6662 TVectorD read_histo(SizeForRead);
6663 for(Int_t
i=0;
i<SizeForRead;
i++){read_histo(
i)=(Double_t)0.;}
6666 StexStin_A, i0StinEcha, iSample, i_data_exist);
6667 if( i_data_exist > 0 ){OKPlot = 1;}
6668 if( OKPlot == 1 && opt_plot ==
"ASCII" )
6672 if( OKPlot == 1 && opt_plot !=
"ASCII" )
6689 if( n1SCEcha >= 1 && n1SCEcha <= fEcal->MaxCrysInSC() )
6691 if( n1DeeSCEcna >= 1 && n1DeeSCEcna <= fEcal->MaxSCEcnaInDee() )
6693 if( DataSector >= 1 && DataSector <= 9 )
6695 if( SC_in_DS >= 1 && SC_in_DS <= fEcalNumbering->GetMaxSCInDS(DataSector) )
6697 if( read_histo[i0DeeEcha] != 0 )
6700 Int_t DSOffset =
GetDSOffset(DeeNumber, DataSector);
6703 Int_t SCOffset =
GetSCOffset(DeeNumber, DataSector, SC_in_DS);
6707 GetDeeSCConsFrom1DeeSCEcna(DeeNumber, n1DeeSCEcna, n1SCEcha);
6709 Int_t n1FinalSCEcha = n1SCEcha;
6715 if( !( (SC_in_DS == 14 || SC_in_DS == 25 ) && n1SCEcha == 11 ) )
6719 n1DeeSCEcna, n1SCEcha);
6720 i_xgeo = DSOffset + SCOffset + (n1FinalSCEcha-1);
6723 if( SC_in_DS == 14 && n1SCEcha == 11 )
6725 SCOffset =
GetSCOffset(DeeNumber, DataSector, 21);
6727 i_xgeo = DSOffset + SCOffset + (n1FinalSCEcha-1);
6730 if( SC_in_DS == 25 && n1SCEcha == 11 )
6734 i_xgeo = DSOffset + SCOffset + (n1FinalSCEcha-1);
6739 i_xgeo = DSOffset + SCOffset + (n1FinalSCEcha-1);
6742 histo_for_plot_memo[i_xgeo]++;
6743 if( histo_for_plot_memo[i_xgeo] >= 2 )
6745 cout <<
"! histo_memo[" << i_xgeo
6746 <<
"] = " << histo_for_plot_memo[i_xgeo]
6747 <<
", nSCCons = " << nSCCons
6748 <<
", SC_in_DS = " << SC_in_DS
6749 <<
", DSOffset = " << DSOffset
6750 <<
", SCOffset = " << SCOffset
6751 <<
", n1DeeSCEcna = " << n1DeeSCEcna
6752 <<
", n1SCEcha = " << n1SCEcha
6753 <<
", n1FinalSCEcha = " << n1FinalSCEcha << endl;
6756 if( i_xgeo >= 0 && i_xgeo < SizeForPlot )
6758 if( n1FinalSCEcha > 0 )
6759 {histo_for_plot[i_xgeo] += read_histo[i0DeeEcha];}
6763 cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> i_xgeo = " << i_xgeo
6764 <<
". OUT OF RANGE ( range = [0,"<< SizeForPlot <<
"] " << endl;
6770 cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> SC_in_DS = " << SC_in_DS
6771 <<
". OUT OF RANGE ( range = [1,"
6773 <<
", DataSector = " << DataSector
6774 <<
", n1DeeSCEcna = " << n1DeeSCEcna
6775 <<
", n1SCEcha = " << n1SCEcha
6776 <<
", i0DeeEcha = " << i0DeeEcha
6782 if( DataSector != 0 )
6784 cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> DataSector = " << DataSector
6785 <<
". OUT OF RANGE ( range = [1,9] "
6786 <<
", n1DeeSCEcna = " << n1DeeSCEcna
6787 <<
", n1SCEcha = " << n1SCEcha
6788 <<
", i0DeeEcha = " << i0DeeEcha
6795 cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> n1DeeSCEcna = " << n1DeeSCEcna
6797 <<
", n1SCEcha = " << n1SCEcha
6798 <<
", i0DeeEcha = " << i0DeeEcha
6804 cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> n1SCEcha = " << n1SCEcha
6806 <<
", i0DeeEcha = " << i0DeeEcha
6815 cout <<
"!TEcnaHistos::ViewHisto(...)> *ERROR* =====> "
6816 <<
" ok_view_histo != kTRUE " <<
fTTBELL << endl;
6823 cout <<
"!TEcnaHistos::ViewHisto(...)> *ERROR* =====> "
6824 <<
" ROOT file not found" <<
fTTBELL << endl;
6831 if( (
fFapStexNumber > 0) && (fFapStexNumber <= fEcal->MaxStexInStas()) )
6845 for(Int_t
i=0;
i<SizeForPlot;
i++){histo_for_plot[
i]=(Double_t)0;}
6847 StexStin_A, i0StinEcha, iSample, i_data_exist);
6848 if( i_data_exist > 0 ){OKPlot = 1;}
6852 cout <<
"!TEcnaHistos::ViewHisto(...)> *ERROR* =====> "
6853 <<
" ROOT file not found" <<
fTTBELL << endl;
6866 if( ( HistoType ==
"Global" || HistoType ==
"Proj" || HistoType ==
"SampGlobal" || HistoType ==
"SampProj") ||
6867 ( !( HistoType ==
"Global" || HistoType ==
"Proj" || HistoType ==
"SampGlobal" || HistoType ==
"SampProj") &&
6868 ( (
fFapStexNumber > 0) && (fFapStexNumber <= fEcal->MaxStexInStas()) ) ) )
6870 if( opt_plot !=
"ASCII" )
6896 if( HistoType ==
"Proj" || HistoType ==
"SampProj" )
6898 TString HistoCodi = HistoCode;
6900 if( HistoCode ==
"D_NOE_ChDs" ){HistoCodi =
"D_NOE_ChNb";}
6901 if( HistoCode ==
"D_Ped_ChDs" ){HistoCodi =
"D_Ped_ChNb";}
6902 if( HistoCode ==
"D_TNo_ChDs" ){HistoCodi =
"D_TNo_ChNb";}
6903 if( HistoCode ==
"D_MCs_ChDs" ){HistoCodi =
"D_MCs_ChNb";}
6904 if( HistoCode ==
"D_LFN_ChDs" ){HistoCodi =
"D_LFN_ChNb";}
6905 if( HistoCode ==
"D_HFN_ChDs" ){HistoCodi =
"D_HFN_ChNb";}
6906 if( HistoCode ==
"D_SCs_ChDs" ){HistoCodi =
"D_SCs_ChNb";}
6907 if( HistoCode ==
"D_Adc_EvDs" ){HistoCodi =
"D_Adc_EvNb";}
6909 TString TitleHisto =
";";
6926 Double_t XinfProj =(Double_t)0;
6927 Double_t XsupProj =(Double_t)0;
6932 Int_t HisSiza =
GetHistoSize(HistoCodi.Data(),
"plot");
6933 Int_t ReadHisSiza = HisSiza;
6935 Axis_t xinf_hisa =
GetHistoXinf(HistoCodi.Data(), HisSiza, opt_plot);
6936 Axis_t xsup_hisa =
GetHistoXsup(HistoCodi.Data(), HisSiza, opt_plot);
6940 new TH1D(
"histoa", TitleHisto.Data(), nb_binxa, xinf_hisa, xsup_hisa);
fCnewRoot++;
6943 FillHisto(h_hisa, histo_for_plot, HistoCodi.Data(), ReadHisSiza);
6993 Double_t cXinf = (Double_t)0.;
6994 Double_t cXsup = (Double_t)0.;
6997 if( HistoType ==
"Proj" || HistoType ==
"SampProj" )
7012 cXinf =
GetHistoXinf(HistoCode.Data(), SizeForPlot, opt_plot);
7013 cXsup =
GetHistoXsup(HistoCode.Data(), SizeForPlot, opt_plot);
7017 Axis_t xinf_his = cXinf;
7018 Axis_t xsup_his = cXsup;
7019 Int_t nb_binx = xNbBins;
7021 TString TitleHisto =
";";
7024 TH1D* h_his0 =
new TH1D(
"histo", TitleHisto.Data(), nb_binx, xinf_his, xsup_his);
fCnewRoot++;
7027 FillHisto(h_his0, histo_for_plot, HistoCode.Data(), SizeForPlot);
7036 if( HistoType !=
"Proj" && HistoType !=
"SampProj" )
7049 if( ymin != (Double_t)0. )
7068 if( ( HistoType ==
"Proj" || HistoType ==
"SampProj" ) &&
fFlagScaleY ==
"LIN" )
7092 HistoPlot(h_his0, SizeForPlot, xinf_his, xsup_his,
7093 HistoCode.Data(), HistoType.Data(),
7094 StexStin_A, i0StinEcha, iSample,
7095 opt_scale_x, opt_scale_y, opt_plot, xFlagAutoYsupMargin);
7109 cout <<
"!TEcnaHistos::ViewHisto(...)> Histo not available."
7124 if( DeeNumber == 4 )
7126 if( DataSector >= 1 ){}
7132 if( DeeNumber == 3 )
7134 if( DataSector >= 5 ){}
7140 if( DeeNumber == 2 )
7142 if( DataSector <= 9 ){}
7148 if( DeeNumber == 1 )
7150 if( DataSector <= 5 ){}
7165 if( DeeNumber == 1 || DeeNumber == 3 )
7171 if( DeeNumber == 2 || DeeNumber == 4 ){SCOffset += (SC_in_DS-1)*
fEcal->
MaxCrysInSC();}
7177 const Int_t& nSCCons,
const Int_t& SC_in_DS,
7178 const Int_t& n1DeeSCEcna,
const Int_t& n1SCEcha)
7182 Int_t ModifiedSCEcha = -1;
7186 TString TypQuad =
"?";
7187 if( SCQuad ==
"top" && DeeDir ==
"right" ){TypQuad =
"TR";}
7188 if( SCQuad ==
"top" && DeeDir ==
"left" ){TypQuad =
"TL";}
7189 if( SCQuad ==
"bottom" && DeeDir ==
"left" ){TypQuad =
"BL";}
7190 if( SCQuad ==
"bottom" && DeeDir ==
"right" ){TypQuad =
"BR";}
7196 if( (SC_in_DS == 30 && n1DeeSCEcna == 60 && TypQuad ==
"TR") ||
7197 (SC_in_DS == 3 && n1DeeSCEcna == 138 && TypQuad ==
"TR") ){
if(n1SCEcha > 15){ModifiedSCEcha = n1SCEcha - 15;}}
7201 if( (SC_in_DS == 30 && n1DeeSCEcna == 60 && TypQuad ==
"TL") ||
7202 (SC_in_DS == 3 && n1DeeSCEcna == 138 && TypQuad ==
"TL") )
7204 if(n1SCEcha == 4){ModifiedSCEcha = 1;}
7205 if(n1SCEcha == 5){ModifiedSCEcha = 2;}
7206 if(n1SCEcha == 9){ModifiedSCEcha = 3;}
7207 if(n1SCEcha == 10){ModifiedSCEcha = 4;}
7208 if(n1SCEcha == 14){ModifiedSCEcha = 5;}
7209 if(n1SCEcha == 15){ModifiedSCEcha = 6;}
7210 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7211 if(n1SCEcha == 20){ModifiedSCEcha = 8;}
7212 if(n1SCEcha == 24){ModifiedSCEcha = 9;}
7213 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7217 if( SC_in_DS == 30 && n1DeeSCEcna == 119 && TypQuad ==
"TR" ){
if(n1SCEcha > 5){ModifiedSCEcha = n1SCEcha - 5;}}
7220 if( SC_in_DS == 30 && n1DeeSCEcna == 119 && TypQuad ==
"TL" )
7222 if(n1SCEcha == 4){ModifiedSCEcha = 11;}
7223 if(n1SCEcha == 5){ModifiedSCEcha = 12;}
7224 if(n1SCEcha == 9){ModifiedSCEcha = 13;}
7225 if(n1SCEcha == 10){ModifiedSCEcha = 14;}
7226 if(n1SCEcha == 14){ModifiedSCEcha = 15;}
7227 if(n1SCEcha == 15){ModifiedSCEcha = 16;}
7228 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7229 if(n1SCEcha == 20){ModifiedSCEcha = 18;}
7230 if(n1SCEcha == 24){ModifiedSCEcha = 19;}
7231 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7236 if( SC_in_DS == 12 && n1DeeSCEcna == 13 && TypQuad ==
"TR" )
7238 ModifiedSCEcha = n1SCEcha;
7240 if( SC_in_DS == 12 && n1DeeSCEcna == 13 && TypQuad ==
"TL" )
7242 if( n1SCEcha >= 1 && n1SCEcha <= 4 ){ModifiedSCEcha = n1SCEcha;}
7243 if( n1SCEcha >= 6 && n1SCEcha <= 9 ){ModifiedSCEcha = n1SCEcha-1;}
7244 if( n1SCEcha >= 11 && n1SCEcha <= 14 ){ModifiedSCEcha = n1SCEcha-2;}
7245 if( n1SCEcha >= 16 && n1SCEcha <= 19 ){ModifiedSCEcha = n1SCEcha-3;}
7246 if( n1SCEcha >= 21 && n1SCEcha <= 24 ){ModifiedSCEcha = n1SCEcha-4;}
7250 if( SC_in_DS == 25 && n1DeeSCEcna == 176 && TypQuad ==
"TR" )
7252 if(n1SCEcha == 4){ModifiedSCEcha = 1;}
7253 if(n1SCEcha == 5){ModifiedSCEcha = 2;}
7254 if(n1SCEcha == 9){ModifiedSCEcha = 3;}
7255 if(n1SCEcha == 10){ModifiedSCEcha = 4;}
7256 if(n1SCEcha == 14){ModifiedSCEcha = 5;}
7257 if(n1SCEcha == 15){ModifiedSCEcha = 6;}
7258 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7259 if(n1SCEcha == 20){ModifiedSCEcha = 8;}
7260 if(n1SCEcha == 24){ModifiedSCEcha = 9;}
7261 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7265 if( SC_in_DS == 25 && n1DeeSCEcna == 176 && TypQuad ==
"TL" )
7267 if(n1SCEcha == 16){ModifiedSCEcha = 1;}
7268 if(n1SCEcha == 21){ModifiedSCEcha = 2;}
7269 if(n1SCEcha == 17){ModifiedSCEcha = 3;}
7270 if(n1SCEcha == 22){ModifiedSCEcha = 4;}
7271 if(n1SCEcha == 18){ModifiedSCEcha = 5;}
7272 if(n1SCEcha == 23){ModifiedSCEcha = 6;}
7273 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7274 if(n1SCEcha == 24){ModifiedSCEcha = 8;}
7275 if(n1SCEcha == 20){ModifiedSCEcha = 9;}
7276 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7281 if( (SC_in_DS == 3 && n1DeeSCEcna == 157 && TypQuad ==
"TR") ||
7282 (SC_in_DS == 25 && n1DeeSCEcna == 193 && TypQuad ==
"TR") )
7284 if(n1SCEcha == 4){ModifiedSCEcha = 11;}
7285 if(n1SCEcha == 5){ModifiedSCEcha = 12;}
7286 if(n1SCEcha == 9){ModifiedSCEcha = 13;}
7287 if(n1SCEcha == 10){ModifiedSCEcha = 14;}
7288 if(n1SCEcha == 14){ModifiedSCEcha = 15;}
7289 if(n1SCEcha == 15){ModifiedSCEcha = 16;}
7290 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7291 if(n1SCEcha == 20){ModifiedSCEcha = 18;}
7292 if(n1SCEcha == 24){ModifiedSCEcha = 19;}
7293 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7298 if( (SC_in_DS == 3 && n1DeeSCEcna == 157 && TypQuad ==
"TL") ||
7299 (SC_in_DS == 25 && n1DeeSCEcna == 193 && TypQuad ==
"TL") )
7301 if(n1SCEcha == 16){ModifiedSCEcha = 11;}
7302 if(n1SCEcha == 21){ModifiedSCEcha = 12;}
7303 if(n1SCEcha == 17){ModifiedSCEcha = 13;}
7304 if(n1SCEcha == 22){ModifiedSCEcha = 14;}
7305 if(n1SCEcha == 18){ModifiedSCEcha = 15;}
7306 if(n1SCEcha == 23){ModifiedSCEcha = 16;}
7307 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7308 if(n1SCEcha == 24){ModifiedSCEcha = 18;}
7309 if(n1SCEcha == 20){ModifiedSCEcha = 19;}
7310 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7314 if( SC_in_DS == 32 && n1DeeSCEcna == 51 && TypQuad ==
"TR" )
7316 if( n1SCEcha >= 1 && n1SCEcha <= 4 ){ModifiedSCEcha = n1SCEcha;}
7317 if( n1SCEcha >= 6 && n1SCEcha <= 9 ){ModifiedSCEcha = n1SCEcha-1;}
7318 if( n1SCEcha >= 11 && n1SCEcha <= 14 ){ModifiedSCEcha = n1SCEcha-2;}
7319 if( n1SCEcha >= 16 && n1SCEcha <= 19 ){ModifiedSCEcha = n1SCEcha-3;}
7320 if( n1SCEcha >= 21 && n1SCEcha <= 24 ){ModifiedSCEcha = n1SCEcha-4;}
7324 if( SC_in_DS == 32 && n1DeeSCEcna == 51 && TypQuad ==
"TL" )
7326 ModifiedSCEcha = n1SCEcha;
7337 if( n1DeeSCEcna == 32 && TypQuad ==
"TR" )
7339 if( nSCCons == 207 )
7341 if(n1SCEcha == 1){ModifiedSCEcha = 21;}
7342 if(n1SCEcha == 2){ModifiedSCEcha = 22;}
7343 if(n1SCEcha == 3){ModifiedSCEcha = 23;}
7344 if(n1SCEcha == 6){ModifiedSCEcha = 24;}
7345 if(n1SCEcha == 7){ModifiedSCEcha = 25;}
7347 if( nSCCons == 178 )
7349 if(n1SCEcha == 11){ModifiedSCEcha = 21;}
7360 if( n1DeeSCEcna == 32 && TypQuad ==
"TL" )
7364 if(n1SCEcha == 1){ModifiedSCEcha = 21;}
7365 if(n1SCEcha == 2){ModifiedSCEcha = 22;}
7366 if(n1SCEcha == 3){ModifiedSCEcha = 23;}
7367 if(n1SCEcha == 6){ModifiedSCEcha = 24;}
7368 if(n1SCEcha == 7){ModifiedSCEcha = 25;}
7372 if(n1SCEcha == 11){ModifiedSCEcha = 21;}
7387 if( n1DeeSCEcna == 29 && TypQuad ==
"BR" )
7389 if( nSCCons == 261 )
7391 if(n1SCEcha == 1){ModifiedSCEcha = 21;}
7392 if(n1SCEcha == 2){ModifiedSCEcha = 22;}
7393 if(n1SCEcha == 3){ModifiedSCEcha = 23;}
7394 if(n1SCEcha == 6){ModifiedSCEcha = 24;}
7395 if(n1SCEcha == 7){ModifiedSCEcha = 25;}
7397 if( nSCCons == 268 )
7399 if(n1SCEcha == 11){ModifiedSCEcha = 21;}
7410 if( n1DeeSCEcna == 29 && TypQuad ==
"BL" )
7412 if( nSCCons == 119 )
7414 if(n1SCEcha == 11){ModifiedSCEcha = 21;}
7416 if( nSCCons == 112 )
7418 if(n1SCEcha == 1){ModifiedSCEcha = 21;}
7419 if(n1SCEcha == 2){ModifiedSCEcha = 22;}
7420 if(n1SCEcha == 3){ModifiedSCEcha = 23;}
7421 if(n1SCEcha == 6){ModifiedSCEcha = 24;}
7422 if(n1SCEcha == 7){ModifiedSCEcha = 25;}
7430 if( (SC_in_DS == 34 && n1DeeSCEcna == 188 && TypQuad ==
"BR") ||
7431 (SC_in_DS == 14 && n1DeeSCEcna == 165 && TypQuad ==
"BR") ){
if(n1SCEcha > 15){ModifiedSCEcha = n1SCEcha - 15;}}
7435 if( (SC_in_DS == 34 && n1DeeSCEcna == 188 && TypQuad ==
"BL") ||
7436 (SC_in_DS == 14 && n1DeeSCEcna == 165 && TypQuad ==
"BL") )
7438 if(n1SCEcha == 4){ModifiedSCEcha = 1;}
7439 if(n1SCEcha == 5){ModifiedSCEcha = 2;}
7440 if(n1SCEcha == 9){ModifiedSCEcha = 3;}
7441 if(n1SCEcha == 10){ModifiedSCEcha = 4;}
7442 if(n1SCEcha == 14){ModifiedSCEcha = 5;}
7443 if(n1SCEcha == 15){ModifiedSCEcha = 6;}
7444 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7445 if(n1SCEcha == 20){ModifiedSCEcha = 8;}
7446 if(n1SCEcha == 24){ModifiedSCEcha = 9;}
7447 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7451 if( SC_in_DS == 10 && n1DeeSCEcna == 50 && TypQuad ==
"BR" )
7453 ModifiedSCEcha = n1SCEcha;
7457 if( SC_in_DS == 10 && n1DeeSCEcna == 50 && TypQuad ==
"BL")
7459 if( n1SCEcha >= 1 && n1SCEcha <= 4 ){ModifiedSCEcha = n1SCEcha;}
7460 if( n1SCEcha >= 6 && n1SCEcha <= 9 ){ModifiedSCEcha = n1SCEcha-1;}
7461 if( n1SCEcha >= 11 && n1SCEcha <= 14 ){ModifiedSCEcha = n1SCEcha-2;}
7462 if( n1SCEcha >= 16 && n1SCEcha <= 19 ){ModifiedSCEcha = n1SCEcha-3;}
7463 if( n1SCEcha >= 21 && n1SCEcha <= 24 ){ModifiedSCEcha = n1SCEcha-4;}
7467 if( SC_in_DS == 14 && n1DeeSCEcna == 144 && TypQuad ==
"BR" ){
if(n1SCEcha > 5){ModifiedSCEcha = n1SCEcha - 5;}}
7470 if( SC_in_DS == 14 && n1DeeSCEcna == 144 && TypQuad ==
"BL" )
7472 if(n1SCEcha == 4){ModifiedSCEcha = 11;}
7473 if(n1SCEcha == 5){ModifiedSCEcha = 12;}
7474 if(n1SCEcha == 9){ModifiedSCEcha = 13;}
7475 if(n1SCEcha == 10){ModifiedSCEcha = 14;}
7476 if(n1SCEcha == 14){ModifiedSCEcha = 15;}
7477 if(n1SCEcha == 15){ModifiedSCEcha = 16;}
7478 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7479 if(n1SCEcha == 20){ModifiedSCEcha = 18;}
7480 if(n1SCEcha == 24){ModifiedSCEcha = 19;}
7481 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7486 if( (SC_in_DS == 21 && n1DeeSCEcna == 123 && TypQuad ==
"BR") ||
7487 (SC_in_DS == 20 && n1DeeSCEcna == 41 && TypQuad ==
"BR") )
7489 if(n1SCEcha == 4){ModifiedSCEcha = 1;}
7490 if(n1SCEcha == 5){ModifiedSCEcha = 2;}
7491 if(n1SCEcha == 9){ModifiedSCEcha = 3;}
7492 if(n1SCEcha == 10){ModifiedSCEcha = 4;}
7493 if(n1SCEcha == 14){ModifiedSCEcha = 5;}
7494 if(n1SCEcha == 15){ModifiedSCEcha = 6;}
7495 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7496 if(n1SCEcha == 20){ModifiedSCEcha = 8;}
7497 if(n1SCEcha == 24){ModifiedSCEcha = 9;}
7498 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7503 if( (SC_in_DS == 21 && n1DeeSCEcna == 123 && TypQuad ==
"BL") ||
7504 (SC_in_DS == 3 && n1DeeSCEcna == 41 && TypQuad ==
"BL") ){
if(n1SCEcha > 15){ModifiedSCEcha = n1SCEcha - 15;}}
7508 if( SC_in_DS == 21 && n1DeeSCEcna == 102 && TypQuad ==
"BR" )
7510 if(n1SCEcha == 4){ModifiedSCEcha = 11;}
7511 if(n1SCEcha == 5){ModifiedSCEcha = 12;}
7512 if(n1SCEcha == 9){ModifiedSCEcha = 13;}
7513 if(n1SCEcha == 10){ModifiedSCEcha = 14;}
7514 if(n1SCEcha == 14){ModifiedSCEcha = 15;}
7515 if(n1SCEcha == 15){ModifiedSCEcha = 16;}
7516 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7517 if(n1SCEcha == 20){ModifiedSCEcha = 18;}
7518 if(n1SCEcha == 24){ModifiedSCEcha = 19;}
7519 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7523 if( SC_in_DS == 21 && n1DeeSCEcna == 102 && TypQuad ==
"BL" )
7525 if(n1SCEcha == 16){ModifiedSCEcha = 11;}
7526 if(n1SCEcha == 21){ModifiedSCEcha = 12;}
7527 if(n1SCEcha == 17){ModifiedSCEcha = 13;}
7528 if(n1SCEcha == 22){ModifiedSCEcha = 14;}
7529 if(n1SCEcha == 18){ModifiedSCEcha = 15;}
7530 if(n1SCEcha == 23){ModifiedSCEcha = 16;}
7531 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7532 if(n1SCEcha == 24){ModifiedSCEcha = 18;}
7533 if(n1SCEcha == 20){ModifiedSCEcha = 19;}
7534 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7538 if( SC_in_DS == 23 && n1DeeSCEcna == 8 && TypQuad ==
"BR" )
7540 if( n1SCEcha >= 1 && n1SCEcha <= 4 ){ModifiedSCEcha = n1SCEcha;}
7541 if( n1SCEcha >= 6 && n1SCEcha <= 9 ){ModifiedSCEcha = n1SCEcha-1;}
7542 if( n1SCEcha >= 11 && n1SCEcha <= 14 ){ModifiedSCEcha = n1SCEcha-2;}
7543 if( n1SCEcha >= 16 && n1SCEcha <= 19 ){ModifiedSCEcha = n1SCEcha-3;}
7544 if( n1SCEcha >= 21 && n1SCEcha <= 24 ){ModifiedSCEcha = n1SCEcha-4;}
7548 if( SC_in_DS == 6 && n1DeeSCEcna == 8 && TypQuad ==
"BL" )
7550 ModifiedSCEcha = n1SCEcha;
7556 cout <<
"! *** ERROR *** > ModifiedSCEcha = " << ModifiedSCEcha
7557 <<
", SC_in_DS = " << SC_in_DS
7558 <<
", nSCCons = " << nSCCons
7559 <<
", n1DeeSCEcna = " << n1DeeSCEcna
7560 <<
", n1SCEcha = " << n1SCEcha
7561 <<
", ModifiedSCEcha = " << ModifiedSCEcha
7562 <<
", TypQuad = " << TypQuad
7566 return ModifiedSCEcha;
7576 const Int_t& aStexStin_A,
const Int_t& i0StinEcha)
7579 const Int_t& aStexStin_A,
const Int_t& i0StinEcha,
7580 const TString PlotOption)
7582 Int_t StexStin_A = aStexStin_A;
7586 ViewHistime(list_of_run_file_name, StexStin_A, i0StinEcha,
"H_Ped_Date", PlotOption);
7590 const Int_t& aStexStin_A,
const Int_t& i0StinEcha)
7593 const Int_t& aStexStin_A,
const Int_t& i0StinEcha,
7594 const TString PlotOption)
7596 Int_t StexStin_A = aStexStin_A;
7600 ViewHistime(list_of_run_file_name, StexStin_A, i0StinEcha,
"H_Ped_RuDs", PlotOption);
7606 const Int_t& aStexStin_A,
const Int_t& i0StinEcha)
7609 const Int_t& aStexStin_A,
const Int_t& i0StinEcha,
7610 const TString PlotOption)
7612 Int_t StexStin_A = aStexStin_A;
7616 ViewHistime(list_of_run_file_name, StexStin_A, i0StinEcha,
"H_TNo_Date", PlotOption);
7620 const Int_t& aStexStin_A,
const Int_t& i0StinEcha)
7623 const Int_t& aStexStin_A,
const Int_t& i0StinEcha,
7624 const TString PlotOption)
7626 Int_t StexStin_A = aStexStin_A;
7630 ViewHistime(list_of_run_file_name, StexStin_A, i0StinEcha,
"H_TNo_RuDs", PlotOption);
7635 const Int_t& aStexStin_A,
const Int_t& i0StinEcha)
7638 const Int_t& aStexStin_A,
const Int_t& i0StinEcha,
7639 const TString PlotOption)
7641 Int_t StexStin_A = aStexStin_A;
7645 ViewHistime(list_of_run_file_name, StexStin_A, i0StinEcha,
"H_MCs_Date", PlotOption);
7649 const Int_t& aStexStin_A,
const Int_t& i0StinEcha)
7652 const Int_t& aStexStin_A,
const Int_t& i0StinEcha,
7653 const TString PlotOption)
7655 Int_t StexStin_A = aStexStin_A;
7659 ViewHistime(list_of_run_file_name, StexStin_A, i0StinEcha,
"H_MCs_RuDs", PlotOption);
7664 const Int_t& aStexStin_A,
const Int_t& i0StinEcha)
7667 const Int_t& aStexStin_A,
const Int_t& i0StinEcha,
7668 const TString PlotOption)
7670 Int_t StexStin_A = aStexStin_A;
7674 ViewHistime(list_of_run_file_name, StexStin_A, i0StinEcha,
"H_LFN_Date", PlotOption);
7678 const Int_t& aStexStin_A,
const Int_t& i0StinEcha)
7681 const Int_t& aStexStin_A,
const Int_t& i0StinEcha,
7682 const TString PlotOption)
7684 Int_t StexStin_A = aStexStin_A;
7688 ViewHistime(list_of_run_file_name, StexStin_A, i0StinEcha,
"H_LFN_RuDs", PlotOption);
7694 const Int_t& aStexStin_A,
const Int_t& i0StinEcha)
7697 const Int_t& aStexStin_A,
const Int_t& i0StinEcha,
7698 const TString PlotOption)
7700 Int_t StexStin_A = aStexStin_A;
7704 ViewHistime(list_of_run_file_name, StexStin_A, i0StinEcha,
"H_HFN_Date", PlotOption);
7708 const Int_t& aStexStin_A,
const Int_t& i0StinEcha)
7711 const Int_t& aStexStin_A,
const Int_t& i0StinEcha,
7712 const TString PlotOption)
7714 Int_t StexStin_A = aStexStin_A;
7718 ViewHistime(list_of_run_file_name, StexStin_A, i0StinEcha,
"H_HFN_RuDs", PlotOption);
7724 const Int_t& aStexStin_A,
const Int_t& i0StinEcha)
7727 const Int_t& aStexStin_A,
const Int_t& i0StinEcha,
7728 const TString PlotOption)
7730 Int_t StexStin_A = aStexStin_A;
7734 ViewHistime(list_of_run_file_name, StexStin_A, i0StinEcha,
"H_SCs_Date", PlotOption);
7738 const Int_t& aStexStin_A,
const Int_t& i0StinEcha)
7741 const Int_t& aStexStin_A,
const Int_t& i0StinEcha,
7742 const TString PlotOption)
7744 Int_t StexStin_A = aStexStin_A;
7748 ViewHistime(list_of_run_file_name, StexStin_A, i0StinEcha,
"H_SCs_RuDs", PlotOption);
7757 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
7758 const TString HistoCode,
const TString opt_plot_arg)
7762 TString opt_plot = opt_plot_arg;
7764 if( opt_plot_arg ==
"ONLYONE" ){opt_plot =
fOnlyOnePlot;}
7765 if( opt_plot_arg ==
"SEVERAL" ){opt_plot =
fSeveralPlot;}
7766 if( opt_plot_arg ==
"SAMEONE" ){opt_plot =
fSameOnePlot;}
7771 Int_t xCanvasExists = 1;
7774 TVirtualPad* main_subpad = 0;
7778 main_subpad =
ActivePad(HistoCode.Data(), opt_plot.Data());
7779 if( main_subpad == 0 )
7781 cout <<
"*TEcnaHistos::ViewHistime(...)> WARNING ===> Canvas has been closed in option SAME or SAME n."
7783 <<
" Please, restart with a new canvas."
7798 Int_t SameXVarMemo = 1;
7799 if( !( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"EvolProj") )
7805 SetXVarMemo(HistoCode, opt_plot, XVarHisto);
SetYVarMemo(HistoCode, opt_plot, YVarHisto); SameXVarMemo = 1;
7812 if( XVarHisto != XVariableMemo )
7814 cout <<
"!TEcnaHistos::ViewHistime(...)> *** ERROR *** ===> X coordinate changed in option SAME n." << endl
7815 <<
" Present X = " << XVarHisto << endl
7816 <<
" Present Y = " << YVarHisto << endl
7817 <<
" Previous X = " << XVariableMemo << endl
7818 <<
" Previous Y = " << YVariableMemo
7829 Int_t SameYVarMemo = 1;
7830 if( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"EvolProj" )
7834 SetYVarMemo(HistoCode, opt_plot, YVarHisto);
SetYVarMemo(HistoCode, opt_plot, YVarHisto); SameYVarMemo = 1;
7841 if( YVarHisto != YVariableMemo )
7843 cout <<
"!TEcnaHistos::ViewHistime(...)> *** ERROR *** ===> Y coordinate changed in option SAME n." << endl
7844 <<
" Present X = " << XVarHisto << endl
7845 <<
" Present Y = " << YVarHisto << endl
7846 <<
" Previous X = " << XVariableMemo << endl
7847 <<
" Previous Y = " << YVariableMemo
7856 if( xCanvasExists == 1 && SameXVarMemo == 1 && SameYVarMemo == 1 ){OKHisto = 1;}
7880 if( nb_of_runs_in_list > 0 )
7884 Double_t margin_frame_xaxis = (Double_t)25.;
7886 Double_t thstart_evol = (Double_t)0.;
7887 Double_t thstop_evol = (Double_t)0.;
7889 Int_t* exist_indic =
new Int_t[nb_of_runs_in_list];
fCnew++;
7903 for(Int_t i_run = 0; i_run < nb_of_runs_in_list; i_run++)
7905 exist_indic[i_run] = 0;
7944 exist_indic[i_run] = 1;
7951 cout <<
"!TEcnaHistos::ViewHistime(...)> *ERROR* =====> "
7952 <<
" ROOT file not found for run " << fT1DRunNumber[i_run]
7961 Int_t i_existing_run = (Int_t)0;
7963 for( Int_t i_run = 0; i_run < nb_of_runs_in_list; i_run++)
7965 if( exist_indic[i_run] == 1 )
7977 Double_t xinf_lim = thstart_evol-(thstop_evol-thstart_evol)/margin_frame_xaxis;
7978 Double_t xsup_lim = thstop_evol +(thstop_evol-thstart_evol)/margin_frame_xaxis;
7980 Axis_t xinf_his = (Axis_t)(xinf_lim);
7981 Axis_t xsup_his = (Axis_t)(xsup_lim);
7994 time_coordx[i_run] = (Double_t)(-1);
7995 hval_coordy[i_run] = (Double_t)(-1);
8022 if( ok_view_histo == kTRUE )
8026 Double_t thstart = (Double_t)xStartTime;
8027 time_coordx[i_run] = (Double_t)(thstart - xinf_lim);
8032 if(HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_Ped_RuDs")
8034 if(HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_TNo_RuDs")
8036 if(HistoCode ==
"H_MCs_Date" || HistoCode ==
"H_MCs_RuDs")
8039 if(HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_LFN_RuDs")
8041 if(HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_HFN_RuDs")
8043 if(HistoCode ==
"H_SCs_Date" || HistoCode ==
"H_SCs_RuDs")
8045 hval_coordy[i_run] = (Double_t)read_histo(i0StexEcha);
8049 cout <<
"!TEcnaHistos::ViewHistime(...)> Histo not available. "
8070 TGraph* g_graph0 =
new TGraph(fNbOfExistingRuns, time_coordx, hval_coordy);
fCnewRoot++;
8074 {g_graph0->SetTitle(
";");}
8091 g_graph0->Set(fNbOfExistingRuns);
8092 Double_t graph_ymin =
8094 Double_t graph_ymax =
8098 if( HistoType ==
"Evol" )
8137 HistoCode.Data(), HistoType.Data(),
8138 StexStin_A, i0StinEcha, iSample,
8139 opt_scale_x, opt_scale_y, opt_plot, xFlagAutoYsupMargin);
8165 if( HistoType ==
"EvolProj" )
8168 TVectorD histo_for_plot(HisSizeEvolProj);
8169 for(Int_t
i=0;
i<HisSizeEvolProj;
i++){histo_for_plot[
i]=(Double_t)0.;}
8174 TString HistoCodi = HistoCode;
8176 if( HistoCode ==
"H_Ped_RuDs" ){HistoCodi =
"H_Ped_Date";}
8177 if( HistoCode ==
"H_TNo_RuDs" ){HistoCodi =
"H_TNo_Date";}
8178 if( HistoCode ==
"H_LFN_RuDs" ){HistoCodi =
"H_LFN_Date";}
8179 if( HistoCode ==
"H_HFN_RuDs" ){HistoCodi =
"H_HFN_Date";}
8180 if( HistoCode ==
"H_MCs_RuDs" ){HistoCodi =
"H_MCs_Date";}
8181 if( HistoCode ==
"H_SCs_RuDs" ){HistoCodi =
"H_SCs_Date";}
8196 Double_t XinfProj =(Double_t)0;
8197 Double_t XsupProj =(Double_t)0;
8242 Double_t cXinf = (Double_t)0.;
8243 Double_t cXsup = (Double_t)0.;
8257 if( cXinf >= cXsup ){cXinf -= 1.; cXsup +=1.;}
8260 Axis_t xinf_his = cXinf;
8261 Axis_t xsup_his = cXsup;
8263 TString TitleHisto =
";";
8270 Double_t XFromYGraph = hval_coordy[i_run];
8271 Double_t binXProjY = (Double_t)HisSizeEvolProj*(XFromYGraph - cXinf)/(cXsup - cXinf);
8272 Int_t ibinXProjY = (Int_t)binXProjY;
8273 if( ibinXProjY >= 0 && ibinXProjY<HisSizeEvolProj ){histo_for_plot[ibinXProjY]++;}
8276 TH1D* h_his_evol_proj =
new TH1D(
"histevolproj", TitleHisto.Data(),
8277 HisSizeEvolProj, xinf_his, xsup_his);
fCnewRoot++;
8279 h_his_evol_proj->Reset();
8282 for(Int_t
i=0;
i<HisSizeEvolProj;
i++)
8284 Double_t yi = (Double_t)
i/(Double_t)HisSizeEvolProj*(cXsup-cXinf) + cXinf;
8285 Double_t his_val = (Double_t)histo_for_plot[
i];
8286 h_his_evol_proj->Fill(yi, his_val);
8330 HistoPlot(h_his_evol_proj, HisSizeEvolProj,
8332 HistoCode.Data(), HistoType.Data(),
8333 StexStin_A, i0StinEcha, iSample,
8334 opt_scale_x, opt_scale_y, opt_plot, xFlagAutoYsupMargin);
8336 h_his_evol_proj->Delete(); h_his_evol_proj = 0;
fCdeleteRoot++;
8342 delete [] time_coordx; time_coordx = 0;
fCdelete++;
8343 delete [] hval_coordy; hval_coordy = 0;
fCdelete++;
8347 cout <<
"!TEcnaHistos::ViewHistime(...)> The list of runs in file: " << list_of_run_file_name
8348 <<
" has " << nb_of_runs_in_list <<
" run numbers" << endl
8349 <<
" but none of them correspond to an existing ROOT file."
8355 cout <<
"!TEcnaHistos::ViewHistime(...)> *ERROR* =====> "
8361 delete [] exist_indic; exist_indic = 0;
fCdelete++;
8365 if( nb_of_runs_in_list == 0 )
8367 cout <<
"!TEcnaHistos::ViewHistime(...)> The list of runs in file: " << list_of_run_file_name
8368 <<
" is empty !" <<
fTTBELL << endl;
8370 if( nb_of_runs_in_list < 0 )
8372 cout <<
"!TEcnaHistos::ViewHistime(...)> " << list_of_run_file_name
8411 Int_t nb_of_runs_in_list = 0;
8414 if( list_of_run_file_name.Data() ==
'\0' )
8416 cout <<
"!TEcnaHistos::GetHistoryRunListParameters(...)> *** ERROR *** =====> "
8417 <<
" EMPTY STRING for list of run file name." <<
fTTBELL << endl;
8439 TString xFileNameRunList = list_of_run_file_name.Data();
8440 const Text_t *t_file_name = (
const Text_t *)xFileNameRunList.Data();
8448 TString home_path = gSystem->Getenv(
"HOME");
8455 xFileNameRunList.Append(
'/');
8456 xFileNameRunList.Append(t_file_name);
8458 fFcin_f.open(xFileNameRunList.Data());
8461 if(
fFcin_f.fail() == kFALSE )
8465 string xHeadComment;
8468 Int_t list_size_read = 0;
8470 while( !
fFcin_f.eof() ){
fFcin_f >> cRunNumber; list_size_read++;}
8480 string yHeadComment;
8512 cout <<
"TEcnaHistos::GetHistoryRunListParameters(...)> Max number of runs in HistoryRunList = "
8514 <<
" too large, forced to parameter TEcnaParHistos->fMaxNbOfRunsInLists value (= "
8516 <<
"). Please, set this parameter to a larger value than " <<
fFapMaxNbOfRuns
8529 cout <<
"!TEcnaHistos::GetHistoryRunListParameters(...)> *** ERROR *** =====> fFapMaxNbOfRuns = "
8540 for (Int_t i_list = 0; i_list <
fFapNbOfRuns; i_list++)
8552 cout <<
"!TEcnaHistos::GetHistoryRunListParameters(...)> *** ERROR *** =====> "
8553 << xFileNameRunList.Data() <<
" : file not found." <<
fTTBELL << endl;
8554 nb_of_runs_in_list = -1;
8557 return nb_of_runs_in_list;
8592 const Int_t& xArgRunNumber,
const Int_t& xArgFirstReqEvtNumber,
8593 const Int_t& xArgLastReqEvtNumber,
const Int_t& xArgReqNbOfEvts,
8594 const Int_t& xArgStexNumber)
8616 if( xArgIndexRun >= 0 && xArgIndexRun < MaxNbOfRuns)
8623 cout <<
"!TEcnaHistos::SetRunNumberFromList(...)> **** ERROR **** Run index out of range in list of runs. xArgIndexRun = "
8624 << xArgIndexRun <<
" (MaxNbOfRuns = "<< MaxNbOfRuns <<
")" << endl;
8650 Int_t xFapNbOfEvts = 0;
8663 delete [] NOFE_int; NOFE_int = 0;
fCdelete++;
8665 return xFapNbOfEvts;
8675 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
const Int_t& iSample,
8676 const TString HistoCode)
8680 Bool_t ok_view_histo = kFALSE;
8697 if ( vStin(index_Stin) == StexStin_A ){Stin_ok++;};
8703 if( !( HistoType ==
"Global" || HistoType ==
"Proj" ) )
8707 Int_t StinNumber = StexStin_A;
8710 cout <<
"!TEcnaHistos::GetOkViewHisto(...)> *ERROR* =====> " <<
"File: " << root_file_name
8713 <<
" not found. Available numbers = ";
8733 Int_t ok_max_elt = 1;
8735 if( ( ( (HistoType ==
"H1Basic") || (HistoType ==
"Evol") || (HistoType ==
"EvolProj") )
8736 && (i0StinEcha >= 0) && (i0StinEcha<fEcal->MaxCrysInStin())
8738 !( (HistoType ==
"H1Basic") || (HistoType ==
"Evol") || (HistoType ==
"EvolProj") ))
8744 if( ( (HistoType ==
"H1Basic") || (HistoType ==
"Evol") || (HistoType ==
"EvolProj") )
8745 && !( (i0StinEcha >= 0) && (i0StinEcha<fEcal->MaxCrysInStin()) ) )
8746 {
cout <<
"!TEcnaHistos::GetOkViewHisto(...)> *ERROR* =====> " <<
"File: " << root_file_name
8747 <<
". Wrong channel number. Value = " << i0StinEcha <<
" (required range: [" << Choffset <<
", "
8750 if( (HistoCode ==
"D_Adc_EvDs" || HistoCode ==
"D_Adc_EvNb") &&
8752 {
cout <<
"!TEcnaHistos::GetOkViewHisto(...)> *ERROR* =====> " <<
"File: " << root_file_name
8753 <<
". Wrong sample index. Value = " << iSample <<
" (required range: [0, "
8759 if( (ok_view == 1) && (ok_max_elt == 1) )
8761 ok_view_histo = kTRUE;
8765 cout <<
"!TEcnaHistos::GetOkViewHisto(...)> At least one ERROR has been detected. ok_view = " << ok_view
8766 <<
", ok_max_elt = " << ok_max_elt <<
fTTBELL << endl;
8773 cout <<
"!TEcnaHistos::GetOkViewHisto(...)> No data in ROOT file "
8774 <<
", aMyRootFile->DataExist() = " << aMyRootFile->
DataExist() <<
fTTBELL << endl;
8776 return ok_view_histo;
8790 Int_t xFlagAutoYsupMargin = 1;
8792 if(HistoCode ==
"D_NOE_ChNb"){
8796 if(HistoCode ==
"D_NOE_ChDs"){
8800 if(HistoCode ==
"D_Ped_ChNb"){
8804 if(HistoCode ==
"D_Ped_ChDs"){
8808 if(HistoCode ==
"D_TNo_ChNb"){
8812 if(HistoCode ==
"D_TNo_ChDs"){
8816 if(HistoCode ==
"D_MCs_ChNb"){
8820 if(HistoCode ==
"D_MCs_ChDs"){
8824 if(HistoCode ==
"D_LFN_ChNb"){
8828 if(HistoCode ==
"D_LFN_ChDs"){
8832 if(HistoCode ==
"D_HFN_ChNb"){
8836 if(HistoCode ==
"D_HFN_ChDs"){
8840 if(HistoCode ==
"D_SCs_ChNb"){
8844 if(HistoCode ==
"D_SCs_ChDs"){
8848 if(HistoCode ==
"D_MSp_Samp"){
8852 if(HistoCode ==
"D_SSp_Samp"){
8856 if(HistoCode ==
"D_Adc_EvNb"){
8860 if(HistoCode ==
"D_Adc_EvDs"){
8864 if(HistoCode ==
"H2CorccInStins"){
8868 if(HistoCode ==
"H2LFccMosMatrix"){
8872 if(HistoCode ==
"H2HFccMosMatrix"){
8876 if(HistoCode ==
"H_Ped_RuDs"){
8880 if(HistoCode ==
"H_TNo_RuDs"){
8884 if(HistoCode ==
"H_MCs_RuDs"){
8888 if(HistoCode ==
"H_LFN_RuDs"){
8892 if(HistoCode ==
"H_HFN_RuDs"){
8896 if(HistoCode ==
"H_SCs_RuDs"){
8900 return xFlagAutoYsupMargin;
8907 Int_t xFlagAutoYsupMargin = 1;
8909 if(HistoCode ==
"H_Ped_Date"){
8913 if(HistoCode ==
"H_TNo_Date"){
8917 if(HistoCode ==
"H_MCs_Date"){
8921 if(HistoCode ==
"H_LFN_Date"){
8925 if(HistoCode ==
"H_HFN_Date"){
8929 if(HistoCode ==
"H_SCs_Date"){
8933 return xFlagAutoYsupMargin;
8940 Double_t minproj = h_his0->GetMinimum();
8941 Double_t maxproj = h_his0->GetMaximum();
8942 minproj = minproj - (maxproj-minproj)*margin_factor;
8949 Double_t minproj = h_his0->GetMinimum();
8950 Double_t maxproj = h_his0->GetMaximum();
8951 maxproj = maxproj + (maxproj-minproj)*margin_factor;
8958 Double_t graph_ymin = g_graph0->GetY()[0];
8959 for(Int_t
i=1;
i<g_graph0->GetN();
i++)
8960 {
if( g_graph0->GetY()[
i] < graph_ymin ){graph_ymin = g_graph0->GetY()[
i];}}
8962 Double_t graph_ymax = g_graph0->GetY()[0];
8963 for(Int_t
i=1;
i<g_graph0->GetN();
i++)
8964 {
if( g_graph0->GetY()[
i] > graph_ymax ){graph_ymax = g_graph0->GetY()[
i];}}
8966 graph_ymin = graph_ymin - (graph_ymax-graph_ymin)*margin_factor;
8972 Double_t graph_ymin = g_graph0->GetY()[0];
8973 for(Int_t
i=1;
i<g_graph0->GetN();
i++)
8974 {
if( g_graph0->GetY()[
i] < graph_ymin ){graph_ymin = g_graph0->GetY()[
i];}}
8976 Double_t graph_ymax = g_graph0->GetY()[0];
8977 for(Int_t
i=1;
i<g_graph0->GetN();
i++)
8978 {
if( g_graph0->GetY()[
i] > graph_ymax ){graph_ymax = g_graph0->GetY()[
i];}}
8980 graph_ymax = graph_ymax + (graph_ymax-graph_ymin)*margin_factor;
8986 const Axis_t& xinf_his,
const Axis_t& xsup_his,
8987 const TString HistoCode,
const TString
HistoType,
8988 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
const Int_t& iSample,
8989 const Int_t& opt_scale_x,
const Int_t& opt_scale_y,
8990 const TString opt_plot,
const Int_t& xFlagAutoYsupMargin)
8997 TString QuantityName =
" ";
8999 QuantityName.Resize(MaxCar);
9007 TString canvas_name =
SetCanvasName(HistoCode.Data(), opt_scale_x, opt_scale_y,
9008 opt_plot.Data(), StexStin_A, i0StinEcha, iSample);
9011 TCanvas* MainCanvas = 0;
9014 {MainCanvas =
new TCanvas(canvas_name.Data(), canvas_name.Data(), canv_w , canv_h);
fCnewRoot++;
9019 {MainCanvas =
CreateCanvas(HistoCode, opt_plot, canvas_name, canv_w, canv_h);
9025 Int_t Stex_StinCons = StexStin_A;
9026 Int_t n1StexCrys = i0StinEcha+1;
9028 if( StexStin_A >= 1 && StexStin_A <= fEcal->MaxStinEcnaInStex() )
9047 TVirtualPad* main_subpad = 0;
9048 TPaveText* main_pavtxt = 0;
9050 Int_t xMemoPlotSame = 1;
9060 if( HistoType ==
"EvolProj" )
9077 Double_t x_margin = x_low;
9078 Double_t y_margin = y_low;
9079 MainCanvas->Divide( 1, 1, x_margin, y_margin, fond_pad);
9084 main_subpad->SetPad(x_low, y_low, x_up, y_up);
9101 main_pavtxt =
ActivePavTxt(HistoCode.Data(), opt_plot.Data());
9109 Float_t cTextPaveSize = 0.025;
9110 if( HistoType ==
"H1Basic" || HistoType ==
"SampProj" ||
9111 HistoType ==
"Proj" || HistoType ==
"EvolProj" )
9112 {cTextPaveSize = 0.025;}
9113 main_pavtxt->SetTextSize(cTextPaveSize);
9118 TString DecalStexName =
"";
9120 TString DecalStinName =
"";
9123 TString sStexOrStasName =
"";
9129 if( HistoType ==
"SampGlobal" )
9130 {sprintf(f_in,
"Analysis Samp RUN# (run type ) Evts range Nb Evts %s%s %s%s %s Sample",
9131 DecalStexName.Data(), sStexOrStasName.Data(),
9133 if( HistoType ==
"SampProj" )
9134 {sprintf(f_in,
"Analysis Samp RUN# (run type ) Evts range Nb Evts %s%s %s%s %s Sample",
9135 DecalStexName.Data(), sStexOrStasName.Data(),
9137 if( HistoType ==
"H1Basic" )
9138 {sprintf(f_in,
"Analysis Samp RUN# (run type ) Evts range Nb Evts %s%s %s%s %s",
9139 DecalStexName.Data(), sStexOrStasName.Data(),
9141 if((HistoType ==
"Global") ||(HistoType ==
"Proj") )
9142 {sprintf(f_in,
"Analysis Samp RUN# (run type ) Evts range Nb Evts %s%s",
9143 DecalStexName.Data(), sStexOrStasName.Data());}
9145 if( HistoType ==
"EvolProj" )
9146 {sprintf(f_in,
"Analysis Samp Evts range Nb Evts %s%s %s%s %s",
9147 DecalStexName.Data(), sStexOrStasName.Data(),
9151 TText* ttit = main_pavtxt->AddText(f_in);
9159 if( (HistoType ==
"Global") || (HistoType ==
"Proj") )
9161 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s %-25s",
9164 sFapStexNumber.Data(), QuantityName.Data());
9167 if( HistoType ==
"EvolProj" )
9169 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d %-25s",
9171 sFapStexNumber.Data(), Stex_StinCons, n1StexCrys, QuantityName.Data());
9179 Int_t kSample = iSample+1;
9181 if( HistoType ==
"SampGlobal" )
9183 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%6d",
9186 Stex_StinCons, n1StexCrys, kSample);
9188 if( HistoType ==
"SampProj" )
9190 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%6d",
9193 Stex_StinCons, n1StexCrys, kSample);
9195 if( HistoType ==
"H1Basic" )
9197 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d",
9200 Stex_StinCons, n1StexCrys);
9202 if( (HistoType ==
"Global") || (HistoType ==
"Proj") )
9204 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s",
9209 if( HistoType ==
"EvolProj" )
9211 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %4s%7d%7d",
9214 Stex_StinCons, n1StexCrys);
9218 TText* tt = main_pavtxt->AddText(f_in);
9221 delete [] f_in; f_in = 0;
fCdelete++;
9224 main_pavtxt->Draw();
9245 main_pavtxt =
ActivePavTxt(HistoCode.Data(), opt_plot.Data());
9250 main_subpad =
ActivePad(HistoCode.Data(), opt_plot.Data());
9264 if(main_subpad != 0)
9269 if(xMemoPlotSame != 0)
9275 Float_t cTextPaveSize = 0.025;
9276 if( HistoType ==
"H1Basic" || HistoType ==
"SampProj"
9277 || HistoType ==
"Proj" || HistoType ==
"EvolProj" )
9278 {cTextPaveSize = 0.025;}
9279 main_pavtxt->SetTextSize(cTextPaveSize);
9285 if( (HistoType ==
"Global") || (HistoType ==
"Proj") )
9287 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s %-25s",
9290 sFapStexNumber.Data(), QuantityName.Data());
9293 if( HistoType ==
"EvolProj" )
9295 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d %-25s",
9298 Stex_StinCons, n1StexCrys, QuantityName.Data());
9304 Int_t kSample = iSample+1;
9306 if(HistoType ==
"SampGlobal" )
9308 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%6d",
9311 Stex_StinCons, n1StexCrys, kSample);
9313 if( HistoType ==
"SampProj" )
9315 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%6d",
9318 Stex_StinCons, n1StexCrys, kSample);
9320 if(HistoType ==
"H1Basic" )
9322 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d",
9325 Stex_StinCons, n1StexCrys);
9327 if( (HistoType ==
"Global") || (HistoType ==
"Proj") )
9329 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s",
9334 if( HistoType ==
"EvolProj" )
9336 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %4s%7d%7d",
9339 sFapStexNumber.Data(), Stex_StinCons, n1StexCrys);
9343 TText *tt = main_pavtxt->AddText(f_in);
9345 MainCanvas->cd(); gStyle->SetOptDate(0);
9346 main_pavtxt->Draw();
9348 delete [] f_in; f_in = 0;
fCdelete++;
9356 if( opt_plot ==
fSameOnePlot && HistoType ==
"EvolProj" )
9358 main_subpad->SetPad(x_low, y_low, x_up, y_up);
9368 h_his0->GetXaxis()->SetTitle(axis_x_var_name);
9369 h_his0->GetYaxis()->SetTitle(axis_y_var_name);
9371 Int_t lin_scale = 0;
9372 Int_t log_scale = 1;
9384 if(xMemoPlotSame == 0){h_his0->DrawCopy();}
9385 if(xMemoPlotSame != 0){h_his0->DrawCopy(
"SAME");}
9390 if( !( HistoCode ==
"D_Adc_EvDs" || HistoCode ==
"D_Adc_EvNb" ||
9391 HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"EvolProj" ) )
9393 Double_t yinf = h_his0->GetMinimum();
9394 Double_t ysup = h_his0->GetMaximum();
9395 if( yinf <= (Double_t)0. && ysup >= (Double_t)0. )
9396 {TLine* lin =
new TLine(0.,0.,(Double_t)HisSize, 0.);
fCnewRoot++;
9403 Double_t yinf = (Double_t)h_his0->GetMinimum();
9404 Double_t ysup = (Double_t)h_his0->GetMaximum();
9406 if(xFlagAutoYsupMargin == 1)
9408 if( yinf >= ysup ){yinf = (Double_t)0.; ysup += ysup;}
9409 Double_t MaxMarginFactor = (Double_t)0.05;
9410 ysup += (ysup-yinf)*MaxMarginFactor;
9420 Int_t DeeOffset = 0;
9421 for(Int_t n1Dee=1; n1Dee<=4; n1Dee++)
9423 if( n1Dee == 4 ){DeeOffset = 0;}
9428 Double_t ydee = ysup + (ysup-yinf)/(Double_t)15.;
9430 sprintf( f_in,
"D%d", n1Dee );
9431 TText *text_Dee =
new TText(xBinDee, ydee, f_in);
fCnewRoot++;
9432 text_Dee->SetTextColor(coul_DS);
9433 text_Dee->SetTextSize((Double_t)0.04);
9434 text_Dee->Draw(
"SAME");
9436 Double_t DSLabelOffset = (Double_t)12;
9438 for(Int_t
i=1;
i<5;
i++)
9441 if( n1Dee == 1 ){iDS =
i;}
9442 if( n1Dee == 2 ){iDS =
i+4;}
9443 if( n1Dee == 3 ){iDS =
i+5;}
9444 if( n1Dee == 4 ){iDS =
i+1;}
9447 TLine* lin_DS =
new TLine(xBinDS, yinf, xBinDS, ysup);
fCnewRoot++;
9448 lin_DS->SetLineColor(coul_DS);
9449 lin_DS->SetLineWidth(1);
9450 lin_DS->SetLineStyle(2);
9453 if( n1Dee == 2 &&
i == 4 )
9455 TLine* lin_DSp =
new TLine(DeeOffset, yinf, DeeOffset, ysup);
fCnewRoot++;
9456 lin_DSp->SetLineColor(coul_DS);
9457 lin_DSp->SetLineWidth(1);
9458 lin_DSp->SetLineStyle(2);
9462 Double_t yds = ysup + (ysup-yinf)/(Double_t)50.;
9463 Double_t xBinDSp = xBinDS + DSLabelOffset;
9466 sprintf( f_in,
"S%d", nDS );
9467 TText *text_DS =
new TText(xBinDSp, yds, f_in);
fCnewRoot++;
9468 text_DS->SetTextColor(coul_DS);
9469 text_DS->SetTextSize((Double_t)0.03);
9470 text_DS->Draw(
"SAME");
9471 if( (n1Dee == 4 &&
i == 1) || (n1Dee == 2 &&
i == 4) )
9473 if(n1Dee == 4){nDS = iDS-1;}
9474 if(n1Dee == 2){nDS = iDS+1;}
9475 sprintf( f_in,
"S%d", nDS );
9476 TText *text_DS =
new TText(xBinDS-1.75*DSLabelOffset, yds, f_in);
fCnewRoot++;
9477 text_DS->SetTextColor(coul_DS);
9478 text_DS->SetTextSize((Double_t)0.03);
9479 text_DS->Draw(
"SAME");
9488 if( HistoType ==
"Global" )
9490 Double_t ytext = yinf - (ysup-yinf)/8.5;
9493 for(Int_t
i=1;
i<5;
i++)
9502 TLine* lin_DS =
new TLine(xBinDS, yinf, xBinDS, ysup);
fCnewRoot++;
9503 lin_DS->SetLineColor(coul_DS);
9504 lin_DS->SetLineWidth(2);
9505 lin_DS->SetLineStyle(2);
9507 Double_t ytextds = ysup + (ysup-yinf)/30.;
9508 Double_t xBinDSNumber =
9510 sprintf( f_in,
"S%d", iDS );
9511 TText *text_DS =
new TText(xBinDSNumber, ytextds, f_in);
fCnewRoot++;
9512 text_DS->SetTextColor(coul_DS);
9513 text_DS->SetTextSize((Double_t)0.04);
9514 text_DS->Draw(
"SAME");
9519 if(
i == 4 ){iDSp = iDS+1;}
9520 if(
i == 1 ){iDSp = iDS-1;}
9521 sprintf( f_in,
"S%d", iDSp);
9522 Double_t xBinpDSNumber =
9524 TText *text_DSp =
new TText(xBinpDSNumber, ytextds, f_in);
fCnewRoot++;
9525 text_DSp->SetTextColor(coul_DS);
9526 text_DSp->SetTextSize((Double_t)0.04);
9527 text_DSp->Draw(
"SAME");
9549 TLine* lin_notconnected =
9550 new TLine(xBinNotConnectedSC, yinf, xBinNotConnectedSC, ysup);
fCnewRoot++;
9551 lin_notconnected->SetLineColor(coul_notconnected);
9552 lin_notconnected->SetLineStyle(3);
9553 lin_notconnected->Draw();
9556 TLine* lin_notconnected_end =
9557 new TLine(xBinNotConnectedSCEnd, yinf, xBinNotConnectedSCEnd, ysup);
fCnewRoot++;
9558 lin_notconnected_end->SetLineColor(coul_notconnected);
9559 lin_notconnected_end->SetLineStyle(3);
9560 lin_notconnected_end->Draw();
9564 TText *text_SC_NotConnected =
new TText(xBinNotConnectedSC, ytext, f_in);
fCnewRoot++;
9565 text_SC_NotConnected->SetTextAngle((Double_t)45.);
9566 text_SC_NotConnected->SetTextColor(coul_notconnected);
9567 text_SC_NotConnected->SetTextFont(42);
9568 text_SC_NotConnected->SetTextSize((Double_t)0.03);
9569 text_SC_NotConnected->Draw(
"SAME");
9588 TLine* lin_notcomplete =
9589 new TLine(xBinNotCompleteSC, yinf, xBinNotCompleteSC, ysup);
fCnewRoot++;
9590 lin_notcomplete->SetLineColor(coul_notcomplete);
9591 lin_notcomplete->SetLineStyle(3);
9592 lin_notcomplete->Draw();
9595 TLine* lin_notcomplete_end =
9596 new TLine(xBinNotCompleteSCEnd, yinf, xBinNotCompleteSCEnd, ysup);
fCnewRoot++;
9597 lin_notcomplete_end->SetLineColor(coul_notcomplete);
9598 lin_notcomplete_end->SetLineStyle(3);
9599 lin_notcomplete_end->Draw();
9603 TText *text_SC_NotComplete =
new TText(xBinNotCompleteSC, ytext, f_in);
fCnewRoot++;
9604 text_SC_NotComplete->SetTextAngle((Double_t)45.);
9605 text_SC_NotComplete->SetTextColor(coul_notcomplete);
9606 text_SC_NotComplete->SetTextFont(42);
9607 text_SC_NotComplete->SetTextSize((Double_t)0.03);
9608 text_SC_NotComplete->Draw(
"SAME");
9618 delete [] f_in; f_in = 0;
fCdelete++;
9622 Int_t min_value = 0;
9623 Int_t max_value = 0;
9624 if(HistoType ==
"Global")
9657 xFlagAutoYsupMargin, HisSize);
9663 cout <<
"*TEcnaHistos::HistoPlot(...)> Canvas not found. Previously closed in option SAME."
9680 TString sFapStexNumber =
"?";
9681 if( StexNumber == -1 ){sFapStexNumber =
" -1";}
9682 if( StexNumber == -2 ){sFapStexNumber =
" -2";}
9683 if( StexNumber == -3 ){sFapStexNumber =
" -3";}
9684 if( StexNumber == -4 ){sFapStexNumber =
" -4";}
9685 if( StexNumber == -5 ){sFapStexNumber =
" -5";}
9686 if( StexNumber == -6 ){sFapStexNumber =
" -6";}
9687 if( StexNumber == -7 ){sFapStexNumber =
" -7";}
9688 if( StexNumber == -8 ){sFapStexNumber =
" -8";}
9689 if( StexNumber == -9 ){sFapStexNumber =
" -9";}
9690 if( StexNumber == -10 ){sFapStexNumber =
"-10";}
9691 if( StexNumber == -11 ){sFapStexNumber =
"-11";}
9692 if( StexNumber == -12 ){sFapStexNumber =
"-12";}
9693 if( StexNumber == -13 ){sFapStexNumber =
"-13";}
9694 if( StexNumber == -14 ){sFapStexNumber =
"-14";}
9695 if( StexNumber == -15 ){sFapStexNumber =
"-15";}
9696 if( StexNumber == -16 ){sFapStexNumber =
"-16";}
9697 if( StexNumber == -17 ){sFapStexNumber =
"-17";}
9698 if( StexNumber == -18 ){sFapStexNumber =
"-18";}
9699 if( StexNumber == 0 ){sFapStexNumber =
fFlagSubDet;}
9700 if( StexNumber == 1 ){sFapStexNumber =
" 1";}
9701 if( StexNumber == 2 ){sFapStexNumber =
" 2";}
9702 if( StexNumber == 3 ){sFapStexNumber =
" 3";}
9703 if( StexNumber == 4 ){sFapStexNumber =
" 4";}
9704 if( StexNumber == 5 ){sFapStexNumber =
" 5";}
9705 if( StexNumber == 6 ){sFapStexNumber =
" 6";}
9706 if( StexNumber == 7 ){sFapStexNumber =
" 7";}
9707 if( StexNumber == 8 ){sFapStexNumber =
" 8";}
9708 if( StexNumber == 9 ){sFapStexNumber =
" 9";}
9709 if( StexNumber == 10 ){sFapStexNumber =
" 10";}
9710 if( StexNumber == 11 ){sFapStexNumber =
" 11";}
9711 if( StexNumber == 12 ){sFapStexNumber =
" 12";}
9712 if( StexNumber == 13 ){sFapStexNumber =
" 13";}
9713 if( StexNumber == 14 ){sFapStexNumber =
" 14";}
9714 if( StexNumber == 15 ){sFapStexNumber =
" 15";}
9715 if( StexNumber == 16 ){sFapStexNumber =
" 16";}
9716 if( StexNumber == 17 ){sFapStexNumber =
" 17";}
9717 if( StexNumber == 18 ){sFapStexNumber =
" 18";}
9718 if( StexNumber == 19 ){sFapStexNumber =
" -1";}
9719 if( StexNumber == 20 ){sFapStexNumber =
" -2";}
9720 if( StexNumber == 21 ){sFapStexNumber =
" -3";}
9721 if( StexNumber == 22 ){sFapStexNumber =
" -4";}
9722 if( StexNumber == 23 ){sFapStexNumber =
" -5";}
9723 if( StexNumber == 24 ){sFapStexNumber =
" -6";}
9724 if( StexNumber == 25 ){sFapStexNumber =
" -7";}
9725 if( StexNumber == 26 ){sFapStexNumber =
" -8";}
9726 if( StexNumber == 27 ){sFapStexNumber =
" -9";}
9727 if( StexNumber == 28 ){sFapStexNumber =
"-10";}
9728 if( StexNumber == 29 ){sFapStexNumber =
"-11";}
9729 if( StexNumber == 30 ){sFapStexNumber =
"-12";}
9730 if( StexNumber == 31 ){sFapStexNumber =
"-13";}
9731 if( StexNumber == 32 ){sFapStexNumber =
"-14";}
9732 if( StexNumber == 33 ){sFapStexNumber =
"-15";}
9733 if( StexNumber == 34 ){sFapStexNumber =
"-16";}
9734 if( StexNumber == 35 ){sFapStexNumber =
"-17";}
9735 if( StexNumber == 36 ){sFapStexNumber =
"-18";}
9736 return sFapStexNumber;
9744 Double_t xbin = (Double_t)(-1);
9773 Double_t xbin = (Double_t)(-1);
9793 Int_t SCForCons = 0;
9794 if( index == 1 ){SCForCons = 182;}
9795 if( index == 2 ){SCForCons = 33;}
9797 if( index == 3 ){SCForCons = 178;}
9798 if( index == 4 ){SCForCons = 29;}
9799 if( index == 5 ){SCForCons = 207;}
9800 if( index == 6 ){SCForCons = 58;}
9802 if( index == 7 ){SCForCons = 298;}
9803 if( index == 8 ){SCForCons = 149;}
9805 if( index == 9 ){SCForCons = 261;}
9806 if( index == 10 ){SCForCons = 112;}
9807 if( index == 11 ){SCForCons = 268;}
9808 if( index == 12 ){SCForCons = 119;}
9810 if( index == 13 ){SCForCons = 281;}
9811 if( index == 14 ){SCForCons = 132;}
9819 if( index == 1 ){DSSC = 30;}
9820 if( index == 2 ){DSSC = 30;}
9822 if( index == 3 ){DSSC = 3;}
9823 if( index == 4 ){DSSC = 3;}
9824 if( index == 5 ){DSSC = 25;}
9825 if( index == 6 ){DSSC = 25;}
9827 if( index == 7 ){DSSC = 34;}
9828 if( index == 8 ){DSSC = 34;}
9830 if( index == 9 ){DSSC = 14;}
9831 if( index == 10 ){DSSC = 14;}
9832 if( index == 11 ){DSSC = 21;}
9833 if( index == 12 ){DSSC = 21;}
9835 if( index == 13 ){DSSC = 20;}
9836 if( index == 14 ){DSSC = 3;}
9845 if( index == 1 ){DSSC = 161;}
9846 if( index == 2 ){DSSC = 12;}
9848 if( index == 3 ){DSSC = 216;}
9849 if( index == 4 ){DSSC = 67;}
9851 if( index == 5 ){DSSC = 224;}
9852 if( index == 6 ){DSSC = 75;}
9854 if( index == 7 ){DSSC = 286;}
9855 if( index == 8 ){DSSC = 137;}
9863 if( index == 1 ){DSSC = 12;}
9864 if( index == 2 ){DSSC = 12;}
9866 if( index == 3 ){DSSC = 32;}
9867 if( index == 4 ){DSSC = 32;}
9869 if( index == 5 ){DSSC = 10;}
9870 if( index == 6 ){DSSC = 10;}
9872 if( index == 7 ){DSSC = 23;}
9873 if( index == 8 ){DSSC = 6;}
9878 Axis_t xinf, Axis_t xsup,
9879 const TString HistoCode,
const TString
HistoType,
9880 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
const Int_t& iSample,
9881 const Int_t& opt_scale_x,
const Int_t& opt_scale_y,
9882 const TString opt_plot,
const Int_t& xFlagAutoYsupMargin)
9895 TString canvas_name =
SetCanvasName(HistoCode.Data(), opt_scale_x, opt_scale_y, opt_plot,
9896 StexStin_A, i0StinEcha, iSample);
9900 TCanvas* MainCanvas = 0;
9903 {MainCanvas =
new TCanvas(canvas_name.Data(), canvas_name.Data(), canv_w , canv_h);
fCnewRoot++;
9910 MainCanvas =
CreateCanvas(HistoCode, opt_plot, canvas_name, canv_w, canv_h);
9919 MainCanvas =
CreateCanvas(HistoCode, opt_plot, canvas_name, canv_w, canv_h);
9927 Int_t Stex_StinCons = StexStin_A;
9928 Int_t n1StexCrys = i0StinEcha+1;
9930 if( StexStin_A >= 1 && StexStin_A <= fEcal->MaxStinEcnaInStex() )
9949 TVirtualPad* main_subpad = 0;
9950 TPaveText* main_pavtxt = 0;
9952 Int_t xMemoPlotSame = 1;
9963 if( !( HistoType ==
"Global" || HistoType ==
"Proj" ) )
9976 Double_t x_margin = x_low;
9977 Double_t y_margin = y_low;
9981 MainCanvas->Divide( 1, 1, x_margin, y_margin, fond_pad);
9986 main_subpad->SetPad(x_low, y_low, x_up, y_up);
10000 if( !( HistoType ==
"Global" || HistoType ==
"Proj" ||
10001 HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10002 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date") )
10008 if( !( HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10009 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ) )
10019 main_pavtxt =
ActivePavTxt(HistoCode.Data(), opt_plot.Data());
10029 TString DecalStexName =
"";
10031 TString DecalStinName =
"";
10034 TString sStexOrStasName =
"";
10042 sprintf(f_in,
"Analysis Samp Evts range Nb Evts %s%s %s%s %s",
10043 DecalStexName.Data(), sStexOrStasName.Data(),
10048 sprintf(f_in,
"Analysis Samp Evts range Nb Evts %s%s %s%s %s",
10049 DecalStexName.Data(), sStexOrStasName.Data(),
10054 TText* ttit = main_pavtxt->AddText(f_in);
10059 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d",
10062 Stex_StinCons, n1StexCrys);
10066 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d %-25s",
10069 Stex_StinCons, n1StexCrys, QuantityName.Data());
10072 TText* tt = main_pavtxt->AddText(f_in);
10075 delete [] f_in; f_in = 0;
fCdelete++;
10078 main_pavtxt->Draw();
10097 main_pavtxt =
ActivePavTxt(HistoCode.Data(), opt_plot.Data());
10102 main_subpad =
ActivePad(HistoCode.Data(), opt_plot.Data());
10115 if(main_subpad != 0)
10119 if(xMemoPlotSame != 0)
10129 {sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d",
10131 sFapStexNumber.Data(), Stex_StinCons, n1StexCrys);}
10133 {sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d %-25s",
10135 sFapStexNumber.Data(), Stex_StinCons, n1StexCrys, QuantityName.Data());}
10137 TText *tt = main_pavtxt->AddText(f_in);
10139 MainCanvas->cd(); gStyle->SetOptDate(0);
10140 main_pavtxt->Draw();
10142 delete [] f_in; f_in = 0;
fCdelete++;
10150 main_subpad->SetPad(x_low, y_low, x_up, y_up);
10159 g_graph0->GetXaxis()->SetTitle(axis_x_var_name);
10160 g_graph0->GetYaxis()->SetTitle(axis_y_var_name);
10163 g_graph0->GetXaxis()->SetTimeDisplay(1);
10164 g_graph0->GetXaxis()->SetTimeFormat(
"%d %b-%Hh");
10166 g_graph0->GetXaxis()->SetTimeOffset(xinf);
10176 fXinf = (Double_t)xinf;
10177 fXsup = (Double_t)xsup;
10184 if(opt_scale_y ==
fOptScaleLogy){gPad->SetLogy(logy); g_graph0->Draw(
"ALP");}
10188 gPad->SetLogy(liny);
10189 g_graph0->Draw(
"ALP");
10190 Int_t nb_pts = g_graph0->GetN();
10191 Double_t* coord_x = g_graph0->GetX();
10192 Double_t* coord_y = g_graph0->GetY();
10197 Double_t interv_displayed = (coord_x[nb_pts-1] - coord_x[0])/(Double_t)nb_displayed;
10198 Double_t last_drawn_coordx = coord_x[0] - 1.5*interv_displayed;
10200 for(Int_t i_run=0; i_run<nb_pts; i_run++)
10202 if ( (coord_x[i_run] - last_drawn_coordx) > interv_displayed )
10204 Double_t joinYinf =
fYinf;
10205 Double_t joinYsup =
fYsup;
10206 if( joinYsup <= joinYinf )
10212 joinYsup = joinYsup + (joinYsup-joinYinf)/20.;
10216 TText *text_run_num =
new TText(coord_x[i_run], joinYsup, f_in);
fCnewRoot++;
10217 text_run_num->SetTextAngle((Double_t)45.);
10218 text_run_num->SetTextSize((Double_t)0.035);
10219 text_run_num->Draw(
"SAME");
10223 jointlign =
new TLine(coord_x[i_run], joinYsup, coord_x[i_run], coord_y[i_run]);
fCnewRoot++;
10224 jointlign->SetLineWidth(1);
10225 jointlign->SetLineStyle(2);
10226 jointlign->Draw(
"SAME");
10229 last_drawn_coordx = coord_x[i_run];
10233 delete [] f_in; f_in = 0;
fCdelete++;
10238 gPad->SetLogy(logy);
10239 g_graph0->Draw(
"ALP");
10246 if(xMemoPlotSame == 0)
10251 g_graph0->Draw(
"ALP");
10253 fXinf = (Double_t)xinf;
10254 fXsup = (Double_t)xsup;
10261 if(xMemoPlotSame != 0)
10266 g_graph0->Draw(
"LP");
10273 cout <<
"*TEcnaHistos::HistimePlot(...)> Canvas not found. Previously closed in option SAME."
10286 const Int_t& xMemoPlotSame,
const Int_t& min_value,
const Int_t& max_value,
10287 const Int_t& xFlagAutoYsupMargin,
const Int_t& HisSize)
10292 ( (opt_plot ==
fSeveralPlot) && (xMemoPlotSame == 0) ) ||
10293 ( (opt_plot ==
fSameOnePlot) && (xMemoPlotSame == 0) ) )
10295 Double_t Maxih = (Double_t)h_his0->GetMaximum();
10296 Double_t Minih = (Double_t)h_his0->GetMinimum();
10298 if(xFlagAutoYsupMargin == 1)
10300 if( Minih >= Maxih ){Minih = (Double_t)0.; Maxih += Maxih;}
10301 Double_t MaxMarginFactor = (Double_t)0.05;
10302 Maxih += (Maxih-Minih)*MaxMarginFactor;
10305 Double_t v_min = min_value;
10306 Double_t v_max = max_value+1;
10307 Int_t ndiv = 50207;
10308 TString opt =
"B-";
10309 Double_t Xbegin = 0.;
10310 Double_t Xend = (Double_t)HisSize;
10311 Double_t
ticks = 0.05;
10319 Xbegin = (Double_t)HisSize;
10329 v_max = max_value+0.5;
10330 Xbegin = (Double_t)HisSize;
10336 v_min = min_value+0.5;
10337 v_max = max_value+1.;
10338 Xbegin = (Double_t)HisSize;
10344 v_min = min_value+0.5;
10345 v_max = max_value+1.;
10347 Xend = (Double_t)HisSize;
10353 v_max = max_value+0.5;
10355 Xend = (Double_t)HisSize;
10363 TGaxis* top_axis_x = 0;
10365 top_axis_x =
new TGaxis(Xbegin, Maxih, Xend, Maxih,
10366 v_min, v_max, ndiv, opt, 0.);
fCnewRoot++;
10368 top_axis_x->SetTickSize(ticks);
10369 top_axis_x->SetTitleOffset((Float_t)(1.2));
10370 top_axis_x->SetLabelOffset((Float_t)(0.005));
10372 TString x_var_name =
"?";
10374 x_var_name.Resize(MaxCar);
10377 if(
fFlagSubDet ==
"EB"){x_var_name =
"Tower number";}
10386 if(
fFlagSubDet ==
"EB"){x_var_name =
"SM number";}
10389 top_axis_x->SetTitle(x_var_name);
10390 top_axis_x->Draw(
"SAME");
10400 TGaxis* top_axis_x_bis = 0;
10401 top_axis_x_bis =
new TGaxis(Xbegin, Maxih, Xend, Maxih,
10402 v_min+1, v_max+1, ndiv, opt, 0.);
fCnewRoot++;
10403 top_axis_x_bis->SetTickSize(0.);
10404 Float_t lab_siz_x = top_axis_x->GetLabelSize();
10405 top_axis_x_bis->SetLabelSize(lab_siz_x);
10406 top_axis_x_bis->SetLabelOffset(-0.1);
10408 top_axis_x_bis->SetLabelOffset((Float_t)(9999.));
10413 top_axis_x_bis->Draw(
"SAME");
10427 const Int_t& StexStin_A,
const Int_t& StexStin_B,
10428 const Int_t& i0StinEcha)
10485 if( chopt ==
"Numbering" )
10505 TString opt_pave_nbcol =
"OneCol";
10527 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
10528 const Int_t& iSample,
const TString opt_plot)
10540 if( !( HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_NOE_ChDs" ||
10541 HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_Ped_ChDs" ||
10542 HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_LFN_ChDs" ||
10543 HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_TNo_ChDs" ||
10544 HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_HFN_ChDs" ||
10545 HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_MCs_ChDs" ||
10546 HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_SCs_ChDs" ) )
10553 if( HistoCode ==
"D_NOE_ChNb" ||
10554 HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_TNo_ChNb" ||
10555 HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_LFN_ChNb" ||
10556 HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_SCs_ChNb" )
10564 if( HistoCode ==
"D_MSp_Samp" || HistoCode ==
"D_SSp_Samp" ||
10565 HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10566 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ||
10567 HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
10568 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs" )
10574 if( HistoCode ==
"D_Adc_EvDs" || HistoCode ==
"D_Adc_EvNb")
10581 if( HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10582 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ||
10583 HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
10584 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs" )
10604 if( HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10605 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ||
10606 HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
10607 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs" )
10630 const Int_t& opt_scale_x,
const Int_t& opt_scale_y,
10631 const TString opt_plot,
const Int_t& StexStin_A,
10632 const Int_t& i0StinEcha,
const Int_t& iSample)
10637 TString canvas_name;
10639 canvas_name.Resize(MaxCar);
10645 TString name_opt_plot;
10647 name_opt_plot.Resize(MaxCar);
10648 name_opt_plot =
"?";
10652 name_opt_plot =
"SAME_N";
10654 Int_t name_same = -1;
10687 sprintf(f_in,
"%d", name_same);
10688 TString s_name_same = f_in;
10689 const Text_t *t_name_same = (
const Text_t *)s_name_same.Data();
10690 name_opt_plot.Append(t_name_same);
10694 name_opt_plot =
"SAME_Plus_N";
10697 sprintf(f_in,
"%d", name_same);
10698 TString s_name_same = f_in;
10699 const Text_t *t_name_same = (
const Text_t *)s_name_same.Data();
10700 name_opt_plot.Append(t_name_same);
10706 name_visu.Resize(MaxCar);
10711 name_line.Resize(MaxCar);
10712 name_line =
"Line_";
10719 const Text_t *t_line = (
const Text_t *)name_line.Data();
10720 name_visu.Append(t_line);
10722 TString name_scale_x;
10724 name_scale_x.Resize(MaxCar);
10725 name_scale_x =
"?";
10728 const Text_t *t_scale_x = (
const Text_t *)name_scale_x.Data();
10729 name_visu.Append(t_scale_x);
10731 TString name_scale_y;
10733 name_scale_y.Resize(MaxCar);
10734 name_scale_y =
"?";
10737 const Text_t *t_scale_y = (
const Text_t *)name_scale_y.Data();
10738 name_visu.Append(t_scale_y);
10741 TString name_quantity;
10743 name_quantity.Resize(MaxCar);
10744 name_quantity =
"?";
10746 if(HistoCode ==
"D_NOE_ChNb"){name_quantity =
"Nb_of_evts_as_func_of_Xtal";}
10747 if(HistoCode ==
"D_NOE_ChDs"){name_quantity =
"Nb_of_evts_Xtal_distrib";}
10748 if(HistoCode ==
"D_Ped_ChNb"){name_quantity =
"Pedestals_as_func_of_Xtal";}
10749 if(HistoCode ==
"D_Ped_ChDs"){name_quantity =
"Pedestals_Xtal_distrib";}
10750 if(HistoCode ==
"D_TNo_ChNb"){name_quantity =
"Total_Noise_as_func_of_Xtal";}
10751 if(HistoCode ==
"D_TNo_ChDs"){name_quantity =
"Total_Noise_Xtal_distrib";}
10752 if(HistoCode ==
"D_MCs_ChNb"){name_quantity =
"Mean_Corss_as_func_of_Xtal";}
10753 if(HistoCode ==
"D_MCs_ChDs"){name_quantity =
"Mean_Corss_Xtal_distrib";}
10754 if(HistoCode ==
"D_LFN_ChNb"){name_quantity =
"Low_Fq_Noise_as_func_of_Xtal";}
10755 if(HistoCode ==
"D_LFN_ChDs"){name_quantity =
"Low_Fq_Noise_Xtal_distrib";}
10756 if(HistoCode ==
"D_HFN_ChNb"){name_quantity =
"High_Fq_Noise_as_func_of_Xtal";}
10757 if(HistoCode ==
"D_HFN_ChDs"){name_quantity =
"High_Fq_Noise_Xtal_distrib";}
10758 if(HistoCode ==
"D_SCs_ChNb"){name_quantity =
"Sigma_Corss_as_func_of_Xtal";}
10759 if(HistoCode ==
"D_SCs_ChDs"){name_quantity =
"Sigma_Corss_Xtal_distrib";}
10760 if(HistoCode ==
"D_MSp_Samp"){name_quantity =
"ExpValue_of_samples";}
10761 if(HistoCode ==
"D_SSp_Samp"){name_quantity =
"Sigma_of_samples";}
10762 if(HistoCode ==
"D_Adc_EvDs"){name_quantity =
"hevt";}
10763 if(HistoCode ==
"D_Adc_EvNb"){name_quantity =
"ADC_as_func_of_Event";}
10764 if(HistoCode ==
"H_Ped_Date"){name_quantity =
"Pedestal_history";}
10765 if(HistoCode ==
"H_TNo_Date"){name_quantity =
"Total_Noise_history";}
10766 if(HistoCode ==
"H_MCs_Date"){name_quantity =
"Mean_Corss_history";}
10767 if(HistoCode ==
"H_LFN_Date"){name_quantity =
"Low_Fq_Noise_history";}
10768 if(HistoCode ==
"H_HFN_Date"){name_quantity =
"High_Fq_Noise_history";}
10769 if(HistoCode ==
"H_SCs_Date"){name_quantity =
"Sigma_Corss_history";}
10770 if(HistoCode ==
"H_Ped_RuDs"){name_quantity =
"Pedestal_run_distribution";}
10771 if(HistoCode ==
"H_TNo_RuDs"){name_quantity =
"Total_Noise_run_distribution";}
10772 if(HistoCode ==
"H_MCs_RuDs"){name_quantity =
"Mean_Corss_run_distribution";}
10773 if(HistoCode ==
"H_LFN_RuDs"){name_quantity =
"Low_Fq_Noise_run_distribution";}
10774 if(HistoCode ==
"H_HFN_RuDs"){name_quantity =
"High_Fq_Noise_run_distribution";}
10775 if(HistoCode ==
"H_SCs_RuDs"){name_quantity =
"Sigma_Corss_run_distribution";}
10777 Int_t num_crys = -1;
10778 if(HistoCode ==
"D_MSp_Samp"){num_crys = i0StinEcha;}
10779 if(HistoCode ==
"D_SSp_Samp"){num_crys = i0StinEcha;}
10780 if(HistoCode ==
"D_Adc_EvDs"){num_crys = i0StinEcha;}
10781 if(HistoCode ==
"D_Adc_EvNb"){num_crys = i0StinEcha;}
10782 if(HistoCode ==
"H_Ped_Date"){num_crys = i0StinEcha;}
10783 if(HistoCode ==
"H_TNo_Date"){num_crys = i0StinEcha;}
10784 if(HistoCode ==
"H_MCs_Date"){num_crys = i0StinEcha;}
10785 if(HistoCode ==
"H_LFN_Date"){num_crys = i0StinEcha;}
10786 if(HistoCode ==
"H_HFN_Date"){num_crys = i0StinEcha;}
10787 if(HistoCode ==
"H_SCs_Date"){num_crys = i0StinEcha;}
10788 if(HistoCode ==
"H_Ped_RuDs"){num_crys = i0StinEcha;}
10789 if(HistoCode ==
"H_TNo_RuDs"){num_crys = i0StinEcha;}
10790 if(HistoCode ==
"H_MCs_RuDs"){num_crys = i0StinEcha;}
10791 if(HistoCode ==
"H_LFN_RuDs"){num_crys = i0StinEcha;}
10792 if(HistoCode ==
"H_HFN_RuDs"){num_crys = i0StinEcha;}
10793 if(HistoCode ==
"H_SCs_RuDs"){num_crys = i0StinEcha;}
10795 Int_t num_samp = -1;
10796 if(HistoCode ==
"D_Adc_EvDs"){num_samp = iSample;}
10797 if(HistoCode ==
"D_Adc_EvNb"){num_samp = iSample;}
10801 if (HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_NOE_ChDs" ||
10802 HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_Ped_ChDs" ||
10803 HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_TNo_ChDs" ||
10804 HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_MCs_ChDs" ||
10805 HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_LFN_ChDs" ||
10806 HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_HFN_ChDs" ||
10807 HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_SCs_ChDs" )
10809 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%d_%s%d_%s_%s",
10813 name_opt_plot.Data(), name_visu.Data());
10816 if (HistoCode ==
"D_MSp_Samp" || HistoCode ==
"D_SSp_Samp" ||
10817 HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10818 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ||
10819 HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
10820 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs")
10822 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%d_%s%d_%s%d_Xtal%d_%s_%s",
10826 name_opt_plot.Data(), name_visu.Data());
10829 if (HistoCode ==
"D_Adc_EvNb" || HistoCode ==
"D_Adc_EvDs")
10831 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%d_%s%d_%s%d_Xtal%d_Samp%d_%s_%s",
10835 name_opt_plot.Data(), name_visu.Data());
10838 canvas_name = f_in;
10839 delete [] f_in; f_in = 0;
fCdelete++;
10840 return canvas_name.Data();
10869 if( chqcode ==
"D_MSp_Samp" || chqcode ==
"D_SSp_Samp" )
10876 if(chqcode ==
"D_Adc_EvNb" || chqcode ==
"D_Adc_EvDs"){HisSize =
fFapReqNbOfEvts;}
10879 if(chqcode ==
"D_NOE_ChNb" ||
10880 chqcode ==
"D_Ped_ChNb" || chqcode ==
"D_TNo_ChNb" || chqcode ==
"D_MCs_ChNb" ||
10881 chqcode ==
"D_LFN_ChNb" || chqcode ==
"D_HFN_ChNb" || chqcode ==
"D_SCs_ChNb" ||
10882 chqcode ==
"D_NOE_ChDs" ||
10883 chqcode ==
"D_Ped_ChDs" || chqcode ==
"D_TNo_ChDs" || chqcode ==
"D_MCs_ChDs" ||
10884 chqcode ==
"D_LFN_ChDs" || chqcode ==
"D_HFN_ChDs" || chqcode ==
"D_SCs_ChDs" )
10903 if( chqcode ==
"H_Ped_RuDs" || chqcode ==
"H_TNo_RuDs" || chqcode ==
"H_MCs_RuDs" ||
10904 chqcode ==
"H_LFN_RuDs" || chqcode ==
"H_HFN_RuDs" || chqcode ==
"H_SCs_RuDs" )
10913 const Int_t& HisSizePlot,
const Int_t& HisSizeRead,
10914 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
const Int_t& iSample,
10915 Int_t& i_data_exist)
10923 TVectorD plot_histo(HisSizePlot);
for(Int_t
i=0;
i<HisSizePlot;
i++){plot_histo(
i)=(Double_t)0.;}
10924 TVectorD read_histo(HisSizeRead);
for(Int_t
i=0;
i<HisSizeRead;
i++){read_histo(
i)=(Double_t)0.;}
10928 if( HistoCode ==
"D_MSp_Samp" || HistoCode ==
"D_SSp_Samp" )
10931 if( HisSizeRead <= HisSizePlot )
10933 if (HistoCode ==
"D_MSp_Samp")
10934 {read_histo = aMyRootFile->
ReadSampleMeans(StexStin_A, i0StinEcha, HisSizeRead);
10937 if (HistoCode ==
"D_SSp_Samp")
10938 {read_histo = aMyRootFile->
ReadSampleSigmas(StexStin_A, i0StinEcha, HisSizeRead);
10941 for(Int_t
i=0;
i<HisSizeRead;
i++){plot_histo(
i)=read_histo(
i);}
10945 cout <<
"!TEcnaHistos::GetHistoValues(...)> *** ERROR *** > HisSizeRead greater than HisSizePlot"
10946 <<
" for plot as a function of sample#. HisSizeRead = " << HisSizeRead
10947 <<
", HisSizePlot = " << HisSizePlot <<
fTTBELL << endl;
10953 if( HisSizeRead == HisSizePlot )
10958 if( HistoCode ==
"D_Adc_EvNb" || HistoCode ==
"D_Adc_EvDs" )
10960 read_histo = aMyRootFile->
ReadSampleValues(i0StexEcha, iSample, HisSizeRead);
10964 if( HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_NOE_ChDs" )
10968 if( HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_Ped_ChDs" )
10973 if( HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_TNo_ChDs")
10977 if( HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_MCs_ChDs" )
10981 if( HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_LFN_ChDs" )
10985 if( HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_HFN_ChDs" )
10989 if( HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_SCs_ChDs" )
10993 for(Int_t
i=0;
i<HisSizeRead;
i++){plot_histo(
i)=read_histo(
i);}
10997 cout <<
"!TEcnaHistos::GetHistoValues(...)> *** ERROR *** > HisSizeRead not equal to HisSizePlot."
10998 <<
" HisSizeRead = " << HisSizeRead
10999 <<
", HisSizePlot = " << HisSizePlot <<
fTTBELL << endl;
11010 TString axis_x_var_name;
11012 if(HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_Ped_ChNb" ||
11013 HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_MCs_ChNb" ||
11014 HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_HFN_ChNb" ||
11015 HistoCode ==
"D_SCs_ChNb" )
11019 if(
fFlagSubDet ==
"EB" ){axis_x_var_name =
"Xtal (electronic channel number)";}
11020 if(
fFlagSubDet ==
"EE" ){axis_x_var_name =
"Xtal";}
11024 if(
fFlagSubDet ==
"EB" ){axis_x_var_name =
"Tower number";}
11025 if(
fFlagSubDet ==
"EE" ){axis_x_var_name =
"SC number";}
11029 if(HistoCode ==
"D_NOE_ChDs"){axis_x_var_name =
"Number of events";}
11030 if(HistoCode ==
"D_Ped_ChDs"){axis_x_var_name =
"Pedestal";}
11031 if(HistoCode ==
"D_TNo_ChDs"){axis_x_var_name =
"Total Noise";}
11032 if(HistoCode ==
"D_MCs_ChDs"){axis_x_var_name =
"Mean Cor(s,s')";}
11033 if(HistoCode ==
"D_LFN_ChDs"){axis_x_var_name =
"Low Frequency Noise";}
11034 if(HistoCode ==
"D_HFN_ChDs"){axis_x_var_name =
"High Frequency Noise";}
11035 if(HistoCode ==
"D_SCs_ChDs"){axis_x_var_name =
"Sigmas Cor(s,s')";}
11036 if(HistoCode ==
"D_MSp_Samp"){axis_x_var_name =
"Sample";}
11037 if(HistoCode ==
"D_SSp_Samp"){axis_x_var_name =
"Sample";}
11038 if(HistoCode ==
"D_Adc_EvDs"){axis_x_var_name =
"ADC";}
11039 if(HistoCode ==
"D_Adc_EvNb"){axis_x_var_name =
"Event number";}
11040 if(HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
11041 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date")
11042 {axis_x_var_name =
"Time";}
11043 if(HistoCode ==
"H_Ped_RuDs"){axis_x_var_name =
"Pedestal";}
11044 if(HistoCode ==
"H_TNo_RuDs"){axis_x_var_name =
"Total Noise";}
11045 if(HistoCode ==
"H_MCs_RuDs"){axis_x_var_name =
"Mean Cor(s,s')";}
11046 if(HistoCode ==
"H_LFN_RuDs"){axis_x_var_name =
"Low Frequency Noise";}
11047 if(HistoCode ==
"H_HFN_RuDs"){axis_x_var_name =
"High Frequency Noise";}
11048 if(HistoCode ==
"H_SCs_RuDs"){axis_x_var_name =
"Sigmas Cor(s,s')";}
11050 return axis_x_var_name;
11057 TString axis_y_var_name;
11059 if(HistoCode ==
"D_NOE_ChNb"){axis_y_var_name =
"number of found events";}
11060 if(HistoCode ==
"D_Ped_ChNb"){axis_y_var_name =
"pedestal";}
11061 if(HistoCode ==
"D_TNo_ChNb"){axis_y_var_name =
"total noise";}
11062 if(HistoCode ==
"D_MCs_ChNb"){axis_y_var_name =
"mean of cor(s,s')";}
11063 if(HistoCode ==
"D_LFN_ChNb"){axis_y_var_name =
"low frequency noise";}
11064 if(HistoCode ==
"D_HFN_ChNb"){axis_y_var_name =
"high frequency noise";}
11065 if(HistoCode ==
"D_SCs_ChNb"){axis_y_var_name =
"sigma of cor(s,s')";}
11067 if(HistoCode ==
"D_NOE_ChDs" ||
11068 HistoCode ==
"D_Ped_ChDs" || HistoCode ==
"D_TNo_ChDs" || HistoCode ==
"D_MCs_ChDs" ||
11069 HistoCode ==
"D_LFN_ChDs" || HistoCode ==
"D_HFN_ChDs" || HistoCode ==
"D_SCs_ChDs" )
11071 if(
fFapStexNumber > 0 ){axis_y_var_name =
"number of crystals";}
11074 if(
fFlagSubDet ==
"EB" ){axis_y_var_name =
"number of towers";}
11075 if(
fFlagSubDet ==
"EE" ){axis_y_var_name =
"number of SC's";}
11079 if(HistoCode ==
"D_MSp_Samp"){axis_y_var_name =
"Sample mean";}
11080 if(HistoCode ==
"D_SSp_Samp"){axis_y_var_name =
"Sample sigma";}
11081 if(HistoCode ==
"D_Adc_EvDs"){axis_y_var_name =
"number of events";}
11082 if(HistoCode ==
"D_Adc_EvNb"){axis_y_var_name =
"Sample ADC value";}
11083 if(HistoCode ==
"H_Ped_Date"){axis_y_var_name =
"Pedestal";}
11084 if(HistoCode ==
"H_TNo_Date"){axis_y_var_name =
"Total noise";}
11085 if(HistoCode ==
"H_MCs_Date"){axis_y_var_name =
"Mean cor(s,s')";}
11086 if(HistoCode ==
"H_LFN_Date"){axis_y_var_name =
"Low frequency noise";}
11087 if(HistoCode ==
"H_HFN_Date"){axis_y_var_name =
"High frequency noise";}
11088 if(HistoCode ==
"H_SCs_Date"){axis_y_var_name =
"Sigma cor(s,s')";}
11090 if(HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
11091 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs" )
11092 {axis_y_var_name =
"number of runs";}
11094 return axis_y_var_name;
11101 Axis_t xinf_his = (Axis_t)0;
11103 if(HistoCode ==
"D_NOE_ChNb"){xinf_his = (Axis_t)0.;}
11104 if(HistoCode ==
"D_Ped_ChNb"){xinf_his = (Axis_t)0.;}
11105 if(HistoCode ==
"D_TNo_ChNb"){xinf_his = (Axis_t)0.;}
11106 if(HistoCode ==
"D_MCs_ChNb"){xinf_his = (Axis_t)0.;}
11107 if(HistoCode ==
"D_LFN_ChNb"){xinf_his = (Axis_t)0.;}
11108 if(HistoCode ==
"D_HFN_ChNb"){xinf_his = (Axis_t)0.;}
11109 if(HistoCode ==
"D_SCs_ChNb"){xinf_his = (Axis_t)0.;}
11119 if(HistoCode ==
"D_MSp_Samp"){xinf_his = (Axis_t)0.;}
11120 if(HistoCode ==
"D_SSp_Samp"){xinf_his = (Axis_t)0.;}
11122 if(HistoCode ==
"D_Adc_EvNb"){xinf_his = (Axis_t)0.;}
11125 if(HistoCode ==
"H_Ped_Date"){xinf_his = (Axis_t)0.;}
11126 if(HistoCode ==
"H_TNo_Date"){xinf_his = (Axis_t)0.;}
11127 if(HistoCode ==
"H_MCs_Date"){xinf_his = (Axis_t)0.;}
11128 if(HistoCode ==
"H_LFN_Date"){xinf_his = (Axis_t)0.;}
11129 if(HistoCode ==
"H_HFN_Date"){xinf_his = (Axis_t)0.;}
11130 if(HistoCode ==
"H_SCs_Date"){xinf_his = (Axis_t)0.;}
11146 Axis_t xsup_his = (Axis_t)0;
11148 if(HistoCode ==
"D_NOE_ChNb"){xsup_his = (Axis_t)HisSize;}
11149 if(HistoCode ==
"D_Ped_ChNb"){xsup_his = (Axis_t)HisSize;}
11150 if(HistoCode ==
"D_TNo_ChNb"){xsup_his = (Axis_t)HisSize;}
11151 if(HistoCode ==
"D_MCs_ChNb"){xsup_his = (Axis_t)HisSize;}
11152 if(HistoCode ==
"D_LFN_ChNb"){xsup_his = (Axis_t)HisSize;}
11153 if(HistoCode ==
"D_HFN_ChNb"){xsup_his = (Axis_t)HisSize;}
11154 if(HistoCode ==
"D_SCs_ChNb"){xsup_his = (Axis_t)HisSize;}
11164 if(HistoCode ==
"D_MSp_Samp"){xsup_his = (Axis_t)HisSize;}
11165 if(HistoCode ==
"D_SSp_Samp"){xsup_his = (Axis_t)HisSize;}
11170 if(HistoCode ==
"H_Ped_Date"){xsup_his = (Axis_t)0.;}
11171 if(HistoCode ==
"H_TNo_Date"){xsup_his = (Axis_t)0.;}
11172 if(HistoCode ==
"H_MCs_Date"){xsup_his = (Axis_t)0.;}
11173 if(HistoCode ==
"H_LFN_Date"){xsup_his = (Axis_t)0.;}
11174 if(HistoCode ==
"H_HFN_Date"){xsup_his = (Axis_t)0.;}
11175 if(HistoCode ==
"H_SCs_Date"){xsup_his = (Axis_t)0.;}
11191 Int_t nb_binx = HisSize;
11193 if ( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"EvolProj" )
11200 const Int_t& HisSize)
11206 for(Int_t
i=0;
i<HisSize;
i++)
11208 Double_t his_val = (Double_t)0;
11209 Double_t xi = (Double_t)0;
11211 if (HistoCode ==
"D_MSp_Samp" || HistoCode ==
"D_SSp_Samp" ||
11212 HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_Ped_ChNb" ||
11213 HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_TNo_ChNb" ||
11214 HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_MCs_ChNb" ||
11215 HistoCode ==
"D_SCs_ChNb" )
11218 his_val = (Double_t)read_histo[
i];
11219 h_his0->Fill(xi, his_val);
11227 if (HistoCode ==
"D_Adc_EvNb" )
11230 his_val = (Double_t)read_histo[
i];
11231 h_his0->Fill(xi, his_val);
11234 if (HistoCode ==
"D_NOE_ChDs" ||
11235 HistoCode ==
"D_Ped_ChDs" || HistoCode ==
"D_LFN_ChDs" ||
11236 HistoCode ==
"D_TNo_ChDs" || HistoCode ==
"D_HFN_ChDs" ||
11237 HistoCode ==
"D_MCs_ChDs" || HistoCode ==
"D_SCs_ChDs" ||
11238 HistoCode ==
"D_Adc_EvDs" )
11240 his_val = (Double_t)read_histo[
i];
11241 Double_t increment = (Double_t)1;
11242 h_his0->Fill(his_val, increment);
11329 Double_t val_inf = (Double_t)0.;
11369 Double_t val_sup = (Double_t)0.;
11610 Double_t val_min = (Double_t)0.;
11611 Double_t val_min_proj = (Double_t)0.1;
11614 if( HistoCode ==
"D_NOE_ChDs" ){val_min = val_min_proj;}
11616 if( HistoCode ==
"D_Ped_ChDs" ){val_min = val_min_proj;}
11618 if( HistoCode ==
"D_TNo_ChDs" ){val_min = val_min_proj;}
11620 if( HistoCode ==
"D_MCs_ChDs" ){val_min = val_min_proj;}
11622 if( HistoCode ==
"D_LFN_ChDs" ){val_min = val_min_proj;}
11624 if( HistoCode ==
"D_HFN_ChDs" ){val_min = val_min_proj;}
11626 if( HistoCode ==
"D_SCs_ChDs" ){val_min = val_min_proj;}
11629 if( HistoCode ==
"D_Adc_EvDs" ){val_min = val_min_proj;}
11651 Double_t val_max = (Double_t)0.;
11652 Double_t val_max_proj = (Double_t)2000.;
11655 if( HistoCode ==
"D_NOE_ChDs" ){val_max = val_max_proj;}
11657 if( HistoCode ==
"D_Ped_ChDs" ){val_max = val_max_proj;}
11659 if( HistoCode ==
"D_TNo_ChDs" ){val_max = val_max_proj;}
11661 if( HistoCode ==
"D_MCs_ChDs" ){val_max = val_max_proj;}
11663 if( HistoCode ==
"D_LFN_ChDs" ){val_max = val_max_proj;}
11665 if( HistoCode ==
"D_HFN_ChDs" ){val_max = val_max_proj;}
11667 if( HistoCode ==
"D_SCs_ChDs" ){val_max = val_max_proj;}
11670 if( HistoCode ==
"D_Adc_EvDs" ){val_max = val_max_proj;}
11811 TString xvar =
"(xvar not found)";
11893 TString yvar =
"(yvar not found)";
12019 memo_flag.Resize(MaxCar);
12020 memo_flag =
"(no memo_flag info)";
12022 Int_t memo_flag_number = -1;
12032 if(memo_flag_number == 0){memo_flag =
"Free";}
12033 if(memo_flag_number >= 1){memo_flag =
"Busy";}
12044 memo_flag.Resize(MaxCar);
12045 memo_flag =
"(no memo_flag info)";
12047 Int_t memo_flag_number = -1;
12085 if(memo_flag_number == 0){memo_flag =
"Free";}
12086 if(memo_flag_number == 1){memo_flag =
"Busy";}
12096 TCanvas* main_canvas = 0;
12105 if(HistoCode ==
"D_NOE_ChNb"){
12108 if(HistoCode ==
"D_NOE_ChDs"){
12111 if(HistoCode ==
"D_Ped_ChNb"){
12114 if(HistoCode ==
"D_Ped_ChDs"){
12117 if(HistoCode ==
"D_TNo_ChNb"){
12120 if(HistoCode ==
"D_TNo_ChDs"){
12123 if(HistoCode ==
"D_MCs_ChNb"){
12126 if(HistoCode ==
"D_MCs_ChDs"){
12129 if(HistoCode ==
"D_LFN_ChNb"){
12132 if(HistoCode ==
"D_LFN_ChDs"){
12135 if(HistoCode ==
"D_HFN_ChNb"){
12138 if(HistoCode ==
"D_HFN_ChDs"){
12141 if(HistoCode ==
"D_SCs_ChNb"){
12145 if(HistoCode ==
"D_SCs_ChDs"){
12148 if(HistoCode ==
"D_MSp_Samp" ){
12151 if(HistoCode ==
"D_SSp_Samp" ){
12154 if(HistoCode ==
"D_Adc_EvDs"){
12157 if(HistoCode ==
"D_Adc_EvNb"){
12160 if(HistoCode ==
"H_Ped_Date"){
12163 if(HistoCode ==
"H_TNo_Date"){
12166 if(HistoCode ==
"H_MCs_Date"){
12169 if(HistoCode ==
"H_LFN_Date"){
12172 if(HistoCode ==
"H_HFN_Date"){
12175 if(HistoCode ==
"H_SCs_Date"){
12179 if(HistoCode ==
"H_Ped_RuDs"){
12182 if(HistoCode ==
"H_TNo_RuDs"){
12185 if(HistoCode ==
"H_MCs_RuDs"){
12188 if(HistoCode ==
"H_LFN_RuDs"){
12191 if(HistoCode ==
"H_HFN_RuDs"){
12194 if(HistoCode ==
"H_SCs_RuDs"){
12199 return main_canvas;
12213 fCanvH1SamePlus->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12220 if(HistoCode ==
"D_NOE_ChNb")
12223 fCanvD_NOE_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12228 if(HistoCode ==
"D_NOE_ChDs")
12231 fCanvD_NOE_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12236 if(HistoCode ==
"D_Ped_ChNb")
12239 fCanvD_Ped_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12244 if(HistoCode ==
"D_Ped_ChDs")
12247 fCanvD_Ped_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12252 if(HistoCode ==
"D_TNo_ChNb")
12255 fCanvD_TNo_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12260 if(HistoCode ==
"D_TNo_ChDs")
12263 fCanvD_TNo_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12268 if(HistoCode ==
"D_MCs_ChNb")
12271 fCanvD_MCs_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12276 if(HistoCode ==
"D_MCs_ChDs")
12279 fCanvD_MCs_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12284 if(HistoCode ==
"D_LFN_ChNb")
12287 fCanvD_LFN_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12292 if(HistoCode ==
"D_LFN_ChDs")
12295 fCanvD_LFN_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12300 if(HistoCode ==
"D_HFN_ChNb")
12303 fCanvD_HFN_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12308 if(HistoCode ==
"D_HFN_ChDs")
12311 fCanvD_HFN_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12316 if(HistoCode ==
"D_SCs_ChNb")
12319 fCanvD_SCs_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12324 if(HistoCode ==
"D_SCs_ChDs")
12327 fCanvD_SCs_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12332 if(HistoCode ==
"D_MSp_Samp")
12335 fCanvD_MSp_Samp->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12340 if(HistoCode ==
"D_SSp_Samp")
12343 fCanvD_SSp_Samp->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12348 if(HistoCode ==
"D_Adc_EvDs")
12351 fCanvD_Adc_EvDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12356 if(HistoCode ==
"D_Adc_EvNb")
12359 fCanvD_Adc_EvNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12364 if(HistoCode ==
"H_Ped_Date")
12367 fCanvH_Ped_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12371 if(HistoCode ==
"H_TNo_Date")
12374 fCanvH_TNo_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12378 if(HistoCode ==
"H_MCs_Date")
12381 fCanvH_MCs_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12386 if(HistoCode ==
"H_LFN_Date")
12389 fCanvH_LFN_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12393 if(HistoCode ==
"H_HFN_Date")
12396 fCanvH_HFN_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12400 if(HistoCode ==
"H_SCs_Date")
12403 fCanvH_SCs_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12408 if(HistoCode ==
"H_Ped_RuDs")
12411 fCanvH_Ped_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12415 if(HistoCode ==
"H_TNo_RuDs")
12418 fCanvH_TNo_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12422 if(HistoCode ==
"H_MCs_RuDs")
12425 fCanvH_MCs_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12430 if(HistoCode ==
"H_LFN_RuDs")
12433 fCanvH_LFN_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12437 if(HistoCode ==
"H_HFN_RuDs")
12440 fCanvH_HFN_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12444 if(HistoCode ==
"H_SCs_RuDs")
12447 fCanvH_SCs_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12457 TCanvas* main_canvas = 0;
12494 return main_canvas;
12511 cout <<
"TEcnaHistos::PlotCloneOfCurrentCanvas()> Last canvas has been removed. No clone can be done."
12512 << endl <<
" Please, display the canvas again."
12518 cout <<
"TEcnaHistos::PlotCloneOfCurrentCanvas()> No canvas has been created. No clone can be done."
12528 TVirtualPad* main_subpad = 0;
12538 if(HistoCode ==
"D_NOE_ChNb"){
12542 if(HistoCode ==
"D_NOE_ChDs"){
12546 if(HistoCode ==
"D_Ped_ChNb"){
12550 if(HistoCode ==
"D_Ped_ChDs"){
12554 if(HistoCode ==
"D_TNo_ChNb"){
12558 if(HistoCode ==
"D_TNo_ChDs"){
12562 if(HistoCode ==
"D_MCs_ChNb"){
12566 if(HistoCode ==
"D_MCs_ChDs"){
12570 if(HistoCode ==
"D_LFN_ChNb"){
12574 if(HistoCode ==
"D_LFN_ChDs"){
12578 if(HistoCode ==
"D_HFN_ChNb"){
12582 if(HistoCode ==
"D_HFN_ChDs"){
12586 if(HistoCode ==
"D_SCs_ChNb"){
12590 if(HistoCode ==
"D_SCs_ChDs"){
12594 if(HistoCode ==
"D_MSp_Samp" ){
12598 if(HistoCode ==
"D_SSp_Samp" ){
12602 if(HistoCode ==
"D_Adc_EvNb"){
12606 if(HistoCode ==
"D_Adc_EvDs"){
12610 if(HistoCode ==
"H_Ped_Date"){
12614 if(HistoCode ==
"H_TNo_Date"){
12618 if(HistoCode ==
"H_MCs_Date"){
12622 if(HistoCode ==
"H_LFN_Date"){
12626 if(HistoCode ==
"H_HFN_Date"){
12630 if(HistoCode ==
"H_SCs_Date"){
12634 if(HistoCode ==
"H_Ped_RuDs"){
12638 if(HistoCode ==
"H_TNo_RuDs"){
12642 if(HistoCode ==
"H_MCs_RuDs"){
12646 if(HistoCode ==
"H_LFN_RuDs"){
12650 if(HistoCode ==
"H_HFN_RuDs"){
12654 if(HistoCode ==
"H_SCs_RuDs"){
12659 if( main_subpad == 0 )
12660 {
cout <<
"*TEcnaHistos::ActivePad(...)> main_subpad = "
12661 << main_subpad <<
". This canvas has been closed." << endl;}
12663 return main_subpad;
12714 TPaveText* main_pavtxt = 0;
12756 if( main_pavtxt == 0 )
12757 {
cout <<
"*TEcnaHistos::ActivePavTxt(...)> ERROR: main_pavtxt = " << main_pavtxt << endl;}
12759 return main_pavtxt;
12788 if( HistoType ==
"Global" ){h_his0->SetMarkerStyle(1);}
12802 if(HistoCode ==
"D_NOE_ChNb")
12811 if(HistoCode ==
"D_NOE_ChDs")
12820 if(HistoCode ==
"D_Ped_ChNb")
12829 if(HistoCode ==
"D_Ped_ChDs")
12838 if(HistoCode ==
"D_TNo_ChNb")
12847 if(HistoCode ==
"D_TNo_ChDs")
12857 if(HistoCode ==
"D_MCs_ChNb")
12866 if(HistoCode ==
"D_MCs_ChDs")
12875 if(HistoCode ==
"D_LFN_ChNb")
12884 if(HistoCode ==
"D_LFN_ChDs")
12893 if(HistoCode ==
"D_HFN_ChNb")
12902 if(HistoCode ==
"D_HFN_ChDs")
12912 if(HistoCode ==
"D_SCs_ChNb")
12921 if(HistoCode ==
"D_SCs_ChDs")
12931 if(HistoCode ==
"D_MSp_Samp")
12941 if(HistoCode ==
"D_SSp_Samp")
12951 if(HistoCode ==
"D_Adc_EvDs")
12961 if(HistoCode ==
"D_Adc_EvNb")
12969 gPad->SetGrid(1,0);
12972 if(HistoCode ==
"H_Ped_RuDs")
12980 gPad->SetGrid(1,1);
12983 if(HistoCode ==
"H_TNo_RuDs")
12991 gPad->SetGrid(1,1);
12994 if(HistoCode ==
"H_MCs_RuDs")
13002 gPad->SetGrid(1,1);
13005 if(HistoCode ==
"H_LFN_RuDs")
13013 gPad->SetGrid(1,1);
13016 if(HistoCode ==
"H_HFN_RuDs")
13024 gPad->SetGrid(1,1);
13027 if(HistoCode ==
"H_SCs_RuDs")
13035 gPad->SetGrid(1,1);
13055 gPad->SetGrid(1,1);
13060 if(HistoCode ==
"H_Ped_Date")
13068 gPad->SetGrid(1,1);
13071 if(HistoCode ==
"H_TNo_Date")
13079 gPad->SetGrid(1,1);
13082 if(HistoCode ==
"H_MCs_Date")
13090 gPad->SetGrid(1,1);
13093 if(HistoCode ==
"H_LFN_Date")
13101 gPad->SetGrid(1,1);
13104 if(HistoCode ==
"H_HFN_Date")
13112 gPad->SetGrid(1,1);
13115 if(HistoCode ==
"H_SCs_Date")
13123 gPad->SetGrid(1,1);
13176 TColor* my_color =
new TColor();
13179 if( DeeEndcap ==
"EE+" )
13183 if ( DeeDir ==
"left" && QuadType ==
"top" ){couleur=(Color_t)my_color->GetColor(
"#006600");}
13184 if ( DeeDir ==
"left" && QuadType ==
"bottom" ){couleur=(Color_t)my_color->GetColor(
"#CC3300");}
13186 if( DeeEndcap ==
"EE-" )
13188 if ( DeeDir ==
"right" && QuadType ==
"top" ){couleur=(Color_t)my_color->GetColor(
"#008800");}
13189 if ( DeeDir ==
"right" && QuadType ==
"bottom" ){couleur=(Color_t)my_color->GetColor(
"#EE5500");}
13224 graph->SetMarkerStyle(1);
13225 if( HistoType ==
"Evol" ){graph->SetMarkerStyle(20);}
13247 cout <<
"TEcnaHistos::NewCanvas(...)> *** ERROR *** " << opt_plot.Data() <<
": "
13248 <<
"unknown option for NewCanvas. Only " <<
fSameOnePlot <<
" option is accepted."
13267 if(HistoCode ==
"D_NOE_ChNb")
13275 if(HistoCode ==
"D_NOE_ChDs")
13283 if(HistoCode ==
"D_Ped_ChNb")
13291 if(HistoCode ==
"D_Ped_ChDs")
13299 if(HistoCode ==
"D_TNo_ChNb")
13307 if(HistoCode ==
"D_TNo_ChDs")
13315 if(HistoCode ==
"D_MCs_ChNb")
13323 if(HistoCode ==
"D_MCs_ChDs")
13331 if(HistoCode ==
"D_LFN_ChNb")
13339 if(HistoCode ==
"D_LFN_ChDs")
13347 if(HistoCode ==
"D_HFN_ChNb")
13355 if(HistoCode ==
"D_HFN_ChDs")
13363 if(HistoCode ==
"D_SCs_ChNb")
13371 if(HistoCode ==
"D_SCs_ChDs")
13379 if(HistoCode ==
"D_MSp_Samp")
13387 if(HistoCode ==
"D_SSp_Samp")
13395 if(HistoCode ==
"D_Adc_EvDs")
13403 if(HistoCode ==
"D_Adc_EvNb")
13411 if(HistoCode ==
"H_Ped_Date")
13419 if(HistoCode ==
"H_TNo_Date")
13427 if(HistoCode ==
"H_MCs_Date")
13436 if(HistoCode ==
"H_LFN_Date")
13444 if(HistoCode ==
"H_HFN_Date")
13452 if(HistoCode ==
"H_SCs_Date")
13460 if(HistoCode ==
"H_Ped_RuDs")
13468 if(HistoCode ==
"H_TNo_RuDs")
13476 if(HistoCode ==
"H_MCs_RuDs")
13485 if(HistoCode ==
"H_LFN_RuDs")
13493 if(HistoCode ==
"H_HFN_RuDs")
13501 if(HistoCode ==
"H_SCs_RuDs")
13514 const Int_t& StexStinEcna,
const Int_t& MatrixBinIndex,
13515 const Int_t& MatSize,
const TMatrixD& read_matrix)
13519 Int_t ChanNumber = MatrixBinIndex;
13539 const TVectorD& read_histo)
TCanvasImp * fImpH_TNo_Date
void EEXtalsAveragedTotalNoise()
void EBAveragedPedestalsXtals()
void GeneralTitle(const TString)
void SetGeneralTitle(const TString)
Int_t fMemoPlotD_HFN_ChDs
void StexHocoVecoLowFrequencyNoise()
TVirtualPad * fPadD_NOE_ChDs
void DeeMeanOfCorssXtals()
Int_t fNbOfListFileH_MCs_Date
void StexHocoVecoLHFCorcc(const TString)
TCanvasImp * fImpD_SSp_Samp
Int_t GetHistoNumberOfBins(const TString, const Int_t &)
void StexHocoVecoTotalNoise()
UInt_t SetCanvasHeight(const TString, const TString)
Int_t MaxCrysHocoInStex()
Int_t fMemoPlotH_HFN_Date
TPaveText * fPavTxtH_TNo_RuDs
TEcnaNumbering * fEcalNumbering
Int_t fMemoColorH_LFN_RuDs
void HistoPlot(TH1D *, const Int_t &, const Axis_t &, const Axis_t &, const TString, const TString, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString, const Int_t &)
TPaveText * fPavTxtD_Ped_ChNb
Int_t fCanvSameD_MCs_ChNb
void ViewStex(const TString)
void SCCrystalNumbering(const Int_t &, const Int_t &)
TCanvas * fCanvH_SCs_RuDs
TPaveText * fPavTxtH_HFN_RuDs
TVectorD ReadLowFrequencyNoise(const Int_t &)
void StexNumberOfEventsXtals()
void SetViewHistoColors(TH1D *, const TString, const TString)
void XtalTimeTotalNoise(const TString, const Int_t &, const Int_t &, const TString)
Int_t fNbBinsMemoH_LFN_Date
TCanvasImp * fImpD_Ped_ChDs
Int_t fNbBinsMemoH_MCs_Date
void XtalTimeMeanOfCorss(const TString, const Int_t &, const Int_t &, const TString)
void SetParametersPavTxt(const TString, const TString)
TVirtualPad * fPadD_LFN_ChNb
Int_t fMemoColorD_TNo_ChNb
Int_t fNbBinsMemoD_HFN_ChNb
Int_t fMemoColorH_TNo_Date
Int_t fMemoColorD_SCs_ChNb
Int_t fMemoColorH_SCs_Date
void SetHistoColorPalette(const TString)
TPaveText * SetPaveStinsXY(const Int_t &, const Int_t &)
TString GetSCQuadFrom1DeeSCEcna(const Int_t &)
TPaveText * fPavComAnaRun
Int_t GetNotConnectedDSSCFromIndex(const Int_t &)
void CovariancesBetweenSamples(const Int_t &, const Int_t &, const TString)
TString fCorrelationMatrix
void InitSpecParBeforeFileReading()
void XtalTimePedestals(const TString, const Int_t &, const Int_t &, const TString)
TCanvasImp * fImpH_MCs_Date
void EEXtalsAveragedMeanOfCorss()
Int_t fMemoColorH_HFN_RuDs
void SMEtaPhiHighFrequencyNoise()
TPaveText * fPavTxtH_MCs_Date
Int_t fCanvSameD_MSp_Samp
void EEIXIYAveragedSigmaOfCorss()
Int_t Get0SMEchaFrom1SMTowAnd0TowEcha(const Int_t &, const Int_t &)
Int_t Get1DeeSCEcnaFromDeeSCCons(const Int_t &, const Int_t &)
void XtalSamplesEv(const Int_t &, const Int_t &, const TString)
Int_t fMemoColorH_MCs_RuDs
TString GetIXIYAxisTitle(const TString)
TPaveText * fPavTxtH_SCs_RuDs
Float_t AxisTitleOffset()
Int_t fMemoPlotD_Adc_EvNb
Int_t fMemoPlotD_NOE_ChDs
void ViewHistime(const TString, const Int_t &, const Int_t &, const TString, const TString)
void SetHistoScaleX(const TString)
void SetViewHistoPadMargins(const TString, const TString)
void WriteAsciiCovariancesBetweenSamples(const Int_t &, const Int_t &, const Int_t &, const TMatrixD &)
Double_t GetPhiMin(const Int_t &, const Int_t &)
TCanvas * fCanvD_NOE_ChNb
Int_t fNbBinsMemoD_TNo_ChNb
TCanvas * fCanvH_HFN_Date
Double_t GetXinfValueFromMemo()
TVirtualPad * fPadD_HFN_ChDs
UInt_t CanvasFormatW(const TString)
TVirtualPad * fPadH_Ped_Date
TCanvas * fCanvD_SCs_ChDs
Int_t GetNotCompleteDSSCFromIndex(const Int_t &)
Int_t SetGraphFrameYminYmaxFromMemo(TGraph *, const TString)
Int_t fNbBinsMemoH_TNo_RuDs
Int_t MaxCrysVecoInStin()
Color_t ColorDefinition(const TString)
TString GetXVarFromMemo(const TString, const TString)
TPaveText * fPavTxtD_MSp_Samp
Int_t GetYStinInStas(const Int_t &, const Int_t &)
TMatrixD ReadCovariancesBetweenSamples(const Int_t &, const Int_t &, const Int_t &)
TCanvas * fCanvD_Adc_EvDs
void StexXtalsNumberOfEvents()
Float_t DeeNameOffsetX(const Int_t &)
void ViewMatrix(const Int_t &, const Int_t &, const Int_t &, const TString, const TString, const TString)
Int_t fCanvSameD_SCs_ChNb
Int_t fNbBinsMemoH_Ped_RuDs
void SetYminMemoFromValue(const TString, const Double_t &)
Axis_t GetHistoXsup(const TString, const Int_t &, const TString)
void StexHocoVecoSigmaOfCorss()
void SetYmaxMemoFromPreviousMemo(const TString)
TString GetYDirectionEB(const Int_t &)
TString GetSMHalfBarrel(const Int_t &)
void StexXtalsMeanOfCorss()
Int_t MaxStinVecoInStex()
Int_t fCanvSameH_MCs_Date
Int_t fNbBinsMemoD_LFN_ChDs
Int_t fMemoColorD_MCs_ChDs
TVectorD ReadAveragedMeanOfCorrelationsBetweenSamples(const Int_t &)
Double_t GetYmaxFromHistoFrameAndMarginValue(TH1D *, const Double_t)
TPaveText * fPavTxtH_TNo_Date
void SetViewGraphColors(TGraph *, const TString, const TString)
TVirtualPad * fPadD_TNo_ChDs
TVirtualPad * fPadD_HFN_ChNb
void ViewTowerGrid(const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString)
void NewCanvas(const TString)
TPaveText * fPavTxtH_Ped_RuDs
Double_t GetYmaxFromGraphFrameAndMarginValue(TGraph *, const Double_t)
void StexHocoVecoMeanOfCorss()
void LowFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const TString)
Int_t fCanvSameH_TNo_RuDs
void ReInitCanvas(const TString, const TString)
Double_t GetXsupValueFromMemo()
TCanvasImp * fImpD_LFN_ChDs
Int_t fNbBinsMemoH_SCs_RuDs
Int_t fNbBinsMemoH_HFN_RuDs
void LowFrequencyMeanCorrelationsBetweenStins(const TString)
TVirtualPad * fPadD_NOE_ChNb
void SetEcalSubDetector(const TString, const TEcnaParEcal *, const TEcnaParHistos *, const TEcnaNumbering *, const TEcnaWrite *)
TCanvas * CreateCanvas(const TString, const TString, const TString, UInt_t, UInt_t)
void StexHocoVecoNumberOfEvents()
TString GetDeeDirViewedFromIP(const Int_t &)
void LowFrequencyMeanCorrelationsBetweenSCs(const TString)
TString GetJYDirectionEB(const Int_t &)
void SetXsupMemoFromValue(const TString, const Double_t &)
Float_t DeeNumberOffsetX(const TString, const Int_t &)
Int_t fFapLastReqEvtNumber
Int_t fCanvSameH_HFN_RuDs
Int_t fMemoColorH_Ped_RuDs
Double_t GetJPhiMax(const Int_t &, const Int_t &)
TCanvas * fCanvH_MCs_RuDs
TString GetEEDeeType(const Int_t &)
TMatrixD ReadLowFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
Bool_t GetOkViewHisto(TEcnaRead *, const Int_t &, const Int_t &, const Int_t &, const TString)
void EBAveragedTotalNoiseXtals()
TString GetStinLvrbType(const Int_t &)
TCanvas * fCanvD_SSp_Samp
Int_t fMemoColorD_MCs_ChNb
TVectorD ReadAveragedSigmaOfCorrelationsBetweenSamples(const Int_t &)
void DeeXtalsMeanOfCorss()
Double_t GetPhiMax(const Int_t &, const Int_t &)
TPaveText * fPavTxtH_LFN_Date
TVectorD ReadSigmaOfCorrelationsBetweenSamples(const Int_t &)
Int_t MaxStinHocoInStas()
TCanvasImp * fImpH1SamePlus
Int_t fCanvSameD_LFN_ChNb
Int_t Get1SCEchaFrom0DeeEcha(const Int_t &)
void ViewStas(const TString)
TPaveText * fPavComGeneralTitle
TCanvasImp * fImpD_LFN_ChNb
void DeeIXIYLowFrequencyNoise()
TString HistoryRunListFilePath()
void EBEtaPhiAveragedLowFrequencyNoise()
Int_t fCanvSameD_NOE_ChDs
TVirtualPad * fPadH_MCs_RuDs
void EEAveragedTotalNoiseXtals()
TString GetRootFileNameShort()
Int_t fCanvSameH_LFN_Date
TCanvasImp * fImpH_Ped_RuDs
TEcnaParCout * fCnaParCout
void DeeXtalsLowFrequencyNoise()
void SetRunNumberFromList(const Int_t &, const Int_t &)
void ViewDeeGrid(const Int_t &, const TString)
TString SetCanvasName(const TString, const Int_t &, const Int_t &, const TString, const Int_t &, const Int_t &, const Int_t &)
Int_t fCanvSameH_MCs_RuDs
TCanvas * fCanvH1SamePlus
void StexXtalsSigmaOfCorss()
Color_t GetViewHistoColor(const TString, const TString)
void GetReadyToReadRootFile(TString, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, TString)
TString fCovarianceMatrix
Int_t fCanvSameD_LFN_ChDs
Int_t fNbBinsMemoD_TNo_ChDs
TPaveText * fPavTxtH1SamePlus
TCanvasImp * fImpD_Adc_EvDs
TCanvasImp * fImpH_SCs_RuDs
void XtalHighFrequencyNoiseRuns(const TString, const Int_t &, const Int_t &, const TString)
TVirtualPad * fPadH_MCs_Date
TCanvasImp * fImpD_NOE_ChDs
Double_t GetYmaxValueFromMemo(const TString)
void EEAveragedHighFrequencyNoiseXtals()
void XtalTimeHighFrequencyNoise(const TString, const Int_t &, const Int_t &, const TString)
Double_t fH2HFccMosMatrixYmax
void XtalPedestalsRuns(const TString, const Int_t &, const Int_t &, const TString)
TPaveText * fPavTxtD_NOE_ChDs
void SetGraphPresentation(TGraph *, const TString, const TString)
Int_t fMemoColorH_LFN_Date
TCanvas * fCanvH_HFN_RuDs
void StexXtalsTotalNoise()
TPaveText * SetPaveLVRB(const Int_t &, const Int_t &)
TString StexNumberToString(const Int_t &)
Int_t fMemoPlotD_TNo_ChNb
Int_t fMemoColorD_MSp_Samp
void SMEtaPhiLowFrequencyCorcc()
void EBAveragedSigmaOfCorssXtals()
TCanvas * fCanvD_MSp_Samp
void SMEtaPhiTotalNoise()
TMatrixD ReadHighFrequencyMeanCorrelationsBetweenStins(const Int_t &)
TVirtualPad * fPadH_Ped_RuDs
Int_t fMemoColorD_SSp_Samp
Int_t fMemoColorH_SCs_RuDs
Double_t GetYmaxDefaultValue(const TString)
Int_t fMemoColorD_Adc_EvNb
void WriteMatrixAscii(const TString, const TString, const Int_t &, const Int_t &, const Int_t &, const TMatrixD &)
TPaveText * fPavTxtD_HFN_ChNb
Int_t fNbBinsMemoD_Adc_EvDs
void DeeSCNumbering(const Int_t &)
TCanvasImp * fImpD_Adc_EvNb
void SetAllPavesViewStinCrysNb(const Int_t &, const Int_t &)
TPaveText * fPavTxtH_LFN_RuDs
Int_t fMemoPlotH_MCs_Date
void ViewStexStinNumberingPad(const Int_t &)
void DeeIXIYMeanOfCorss()
Int_t GetHashedNumberFromIEtaAndIPhi(const Int_t &, const Int_t &)
TCanvas * fCanvH_Ped_Date
TVectorD ReadAveragedTotalNoise(const Int_t &)
Double_t GetIIXMin(const Int_t &)
Int_t fMemoPlotH_TNo_Date
void TowerCrystalNumbering(const Int_t &, const Int_t &)
Int_t fCanvSameD_NOE_ChNb
Double_t fH2LFccMosMatrixYmax
TMatrixD ReadLowFrequencyMeanCorrelationsBetweenStins(const Int_t &)
Int_t fMemoPlotH_TNo_RuDs
Int_t SetHistoFrameYminYmaxFromMemo(TH1D *, const TString)
void SetParametersCanvas(const TString, const TString)
void StexHighFrequencyNoiseXtals()
Int_t fNbOfListFileH_SCs_RuDs
Int_t fMemoColorD_LFN_ChDs
TString GetXDirectionEE(const Int_t &)
Axis_t fH1SameOnePlotXsup
void StexLowFrequencyNoiseXtals()
TString GetEtaPhiAxisTitle(const TString)
Int_t fCanvSameD_HFN_ChNb
void RegisterFileParameters(const TString, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString, const TString, const time_t, const time_t)
void EBXtalsAveragedLowFrequencyNoise()
TPaveText * fPavTxtD_Ped_ChDs
TPaveText * SetPaveAnalysisRun(const TString, const Int_t &, const Int_t &, const TString, const Int_t &, const Int_t &, const TString)
TString GetTowerLvrbType(const Int_t &)
void StexStinNumbering(const Int_t &)
void EEAveragedNumberOfEventsXtals()
void EBAveragedHighFrequencyNoiseXtals()
void SMXtalsHighFrequencyNoise()
void DeeXtalsTotalNoise()
Int_t fMemoPlotD_MCs_ChDs
TPaveText * fPavTxtH_SCs_Date
Int_t fFapFirstReqEvtNumber
Int_t fNbBinsMemoD_Adc_EvNb
void EBEtaPhiAveragedSigmaOfCorss()
void EBAveragedMeanOfCorssXtals()
void StasHocoVecoAveragedPedestals()
Int_t fCanvSameH_TNo_Date
Int_t fNbOfListFileH_TNo_Date
Int_t NumberOfEvents(Int_t **, const Int_t &, const Int_t &, const Int_t &)
Double_t fH2CorccInStinsYmax
TString SetHistoXAxisTitle(const TString)
void StasHocoVecoAveragedTotalNoise()
TPaveText * fPavTxtD_Adc_EvNb
TCanvas * fCanvD_Ped_ChDs
TString GetHocoVecoAxisTitle(const TString)
Float_t AxisLabelOffset()
TVectorD GetHistoValues(TEcnaRead *, const TString, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, Int_t &)
Int_t fMemoColorH_Ped_Date
TString GetAsciiFileName()
TVirtualPad * fPadD_Ped_ChNb
TCanvasImp * fImpH_HFN_RuDs
void StasHocoVecoAveragedLowFrequencyNoise()
Int_t fMemoColorD_NOE_ChNb
Int_t fNbBinsMemoH1SamePlus
Int_t fCanvSameD_Adc_EvNb
TVirtualPad * fPadH_HFN_RuDs
void SMXtalsMeanOfCorss()
void StexXtalsPedestals()
Int_t fMemoColorD_Ped_ChDs
Int_t fMemoPlotH_LFN_Date
void EBXtalsAveragedTotalNoise()
TVirtualPad * fPadD_SSp_Samp
Int_t fMemoPlotD_LFN_ChNb
void StexSigmaOfCorssXtals()
Int_t fMemoColorD_TNo_ChDs
Int_t fMemoColorH_HFN_Date
Double_t GetJIYMax(const Int_t &, const Int_t &)
Int_t GetXSampInStin(const Int_t &, const Int_t &, const Int_t &, const Int_t &)
void SetYmaxMemoFromValue(const TString, const Double_t &)
void DeeIXIYHighFrequencyNoise()
Int_t GetJYCrysInDee(const Int_t &, const Int_t &, const Int_t &)
void EBXtalsAveragedPedestals()
TVirtualPad * fPadD_MCs_ChDs
Int_t fCanvSameD_TNo_ChDs
Int_t MaxNbOfRunsInLists()
void XtalSigmaOfCorssRuns(const TString, const Int_t &, const Int_t &, const TString)
Double_t GetIIXMax(const Int_t &)
void DeeXtalsHighFrequencyNoise()
TVectorD ReadStinNumbers(const Int_t &)
Color_t ColorTab(const Int_t &)
void EBXtalsAveragedSigmaOfCorss()
Int_t fMemoPlotH_LFN_RuDs
TPaveText * SetPaveEvolRuns(const Int_t &, const TString, const Int_t &, const TString, const TString, const TString)
Int_t fMemoPlotD_SCs_ChNb
TVectorD ReadSampleValues(const Int_t &, const Int_t &, const Int_t &)
Int_t MaxStinVecoInStas()
Color_t GetSCColor(const TString, const TString, const TString)
Int_t fNbOfListFileH_SCs_Date
TCanvas * fCanvD_HFN_ChNb
void StexTotalNoiseXtals()
TPaveText * fPavTxtH_Ped_Date
Double_t fH2CorccInStinsYmin
TVectorD ReadSampleSigmas(const Int_t &, const Int_t &, const Int_t &)
TCanvas * fCanvD_Adc_EvNb
Int_t fNbBinsMemoD_SCs_ChNb
TPaveText * fPavComNbOfEvts
Int_t fCanvSameH_HFN_Date
TCanvas * fCanvD_HFN_ChDs
void EEXtalsAveragedSigmaOfCorss()
void EEGridAxis(const Float_t &, const Float_t &, const Int_t &, const TString, const TString)
void EBEtaPhiAveragedPedestals()
TCanvas * fCanvH_Ped_RuDs
TCanvasImp * fImpD_SCs_ChNb
void DeeHighFrequencyNoiseXtals()
Int_t fNbBinsMemoH_SCs_Date
void EEXtalsAveragedLowFrequencyNoise()
TString GetYVarHisto(const TString, const TString, const Int_t &)
void SetColorPalette(const TString)
Int_t fNbBinsMemoD_MCs_ChDs
TPaveText * SetPaveCxyz(const Int_t &)
TEcnaHeader * fFileHeader
Int_t GetStexStinFromIndex(const Int_t &)
Double_t GetJPhiMin(const Int_t &, const Int_t &)
void StasHocoVecoAveragedHighFrequencyNoise()
void EEAveragedSigmaOfCorssXtals()
void ViewStin(const Int_t &, const TString)
TVirtualPad * fPadD_SCs_ChNb
void SetAllYminYmaxMemoFromDefaultValues()
Int_t fNbBinsMemoH_TNo_Date
Int_t fMemoPlotD_NOE_ChNb
void StasHocoVecoAveragedNumberOfEvents()
Int_t fMemoPlotH_SCs_Date
Double_t GetYminFromHistoFrameAndMarginValue(TH1D *, const Double_t)
Int_t fNbBinsMemoH_LFN_RuDs
Int_t fCanvSameD_SCs_ChDs
Int_t fMemoPlotD_MSp_Samp
TCanvasImp * fImpD_NOE_ChNb
TPaveText * fPavTxtD_TNo_ChDs
TString fCfgResultsRootFilePath
TVectorD ReadTotalNoise(const Int_t &)
Int_t fNbBinsMemoD_HFN_ChDs
void EEIXIYAveragedPedestals()
void FileParameters(const TString, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &)
void SMEtaPhiLowFrequencyNoise()
void StexHocoVecoHighFrequencyNoise()
TVectorD ReadAveragedPedestals(const Int_t &)
void StasHocoVecoAveragedSigmaOfCorss()
void EBEtaPhiAveragedNumberOfEvents()
Int_t fNbBinsMemoH_HFN_Date
void SMEtaPhiHighFrequencyCorcc()
TPaveText * SetOptionSamePaveBorder(const TString, const TString)
Int_t GetDSSCFrom1DeeSCEcna(const Int_t &, const Int_t &, const Int_t &)
TCanvas * fCanvD_LFN_ChDs
void DeeTotalNoiseXtals()
void EBEtaPhiAveragedTotalNoise()
Int_t fMemoColorH1SamePlus
TVirtualPad * fPadH_LFN_RuDs
void EEAveragedMeanOfCorssXtals()
TString fCfgHistoryRunListFilePath
void ViewSMTowerNumberingPad(const Int_t &)
void EEDataSectors(const Float_t &, const Float_t &, const Int_t &, const TString)
TVirtualPad * ActivePad(const TString, const TString)
Int_t GetNotCompleteSCForConsFromIndex(const Int_t &)
Int_t fNbOfListFileH_LFN_Date
void SetAllPavesViewStas()
TPaveText * SetPaveNbOfEvts(const Int_t &, const TString, const TString, const TString)
TPaveText * fPavTxtD_HFN_ChDs
Int_t fMemoColorD_HFN_ChDs
void EEIXIYAveragedMeanOfCorss()
TCanvasImp * fImpH_Ped_Date
void DeeXtalsNumberOfEvents()
void XtalLowFrequencyNoiseRuns(const TString, const Int_t &, const Int_t &, const TString)
TCanvasImp * fImpD_Ped_ChNb
void SMEtaPhiMeanOfCorss()
TVirtualPad * fPadH_SCs_Date
Int_t fMemoPlotD_SCs_ChDs
Int_t fMemoPlotH_MCs_RuDs
void DeeLowFrequencyNoiseXtals()
void ViewDeeSCNumberingPad(const Int_t &)
void SetAllPavesViewMatrix(const TString, const Int_t &, const Int_t &, const Int_t &)
Int_t fCanvSameH_Ped_Date
TPaveText * fPavComEvolNbOfEvtsAna
Double_t BoxRightX(const TString)
Int_t fNbBinsMemoD_SSp_Samp
void EBAveragedNumberOfEventsXtals()
TVectorD ReadPedestals(const Int_t &)
TMatrixD ReadLowFrequencyCovariancesBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
TString GetCurrentCanvasName()
Int_t fNbBinsMemoH_Ped_Date
void SetHistoScaleY(const TString)
TPaveText * fPavTxtD_LFN_ChNb
void SMEtaPhiNumberOfEvents()
Int_t fNbBinsMemoD_MCs_ChNb
TPaveText * fPavTxtD_MCs_ChNb
Int_t fCanvSameD_MCs_ChDs
void SetYVarMemo(const TString, const TString, const TString)
Double_t GetJIYMin(const Int_t &, const Int_t &)
TString fFlagGeneralTitle
Int_t GetDSFrom1DeeSCEcna(const Int_t &, const Int_t &)
TCanvas * fCanvD_Ped_ChNb
Int_t GetListFileNumber(const TString)
TCanvasImp * fImpH_MCs_RuDs
TPaveText * fPavComEvolRuns
TCanvas * fCanvH_SCs_Date
void ViewEEGrid(const Int_t &)
Int_t fNbOfListFileH_HFN_RuDs
Int_t GetDeeSCConsFrom1DeeSCEcna(const Int_t &, const Int_t &)
Int_t fNbOfListFileH_Ped_Date
Int_t fMemoPlotH_Ped_Date
Int_t fNbOfListFileH_Ped_RuDs
TString GetYVarFromMemo(const TString, const TString)
TCanvasImp * fImpD_MSp_Samp
Int_t fNbBinsMemoD_SCs_ChDs
TCanvas * fCanvH_TNo_Date
TPaveText * SetPaveCrystal(const Int_t &, const Int_t &, const Int_t &)
TCanvas * fCanvD_NOE_ChDs
Int_t GetXCrysInStex(const Int_t &, const Int_t &, const Int_t &)
Int_t fMemoColorD_SCs_ChDs
UInt_t SetCanvasWidth(const TString, const TString)
Int_t fMemoPlotD_MCs_ChNb
TVirtualPad * fPadH_SCs_RuDs
Double_t fH2LFccMosMatrixYmin
void XtalMeanOfCorssRuns(const TString, const Int_t &, const Int_t &, const TString)
void ViewSMGrid(const Int_t &, const TString)
TCanvasImp * fImpD_HFN_ChNb
void SMNumberOfEventsXtals()
Float_t DeeOffsetX(const TString, const Int_t &)
TVirtualPad * fPadD_SCs_ChDs
TVirtualPad * fPadH_LFN_Date
Double_t BoxBottomY(const TString)
void SampleADCEvents(const Int_t &, const Int_t &, const Int_t &, const TString)
void StasHocoVecoAveragedMeanOfCorss()
Double_t GetEta(const Int_t &, const Int_t &, const Int_t &)
Int_t Get1SMCrysFrom1SMTowAnd0TowEcha(const Int_t &, const Int_t &)
TPaveText * fPavTxtD_SCs_ChNb
TMatrixD ReadHighFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
Int_t fMemoPlotD_Ped_ChDs
TVectorD ReadMeanOfCorrelationsBetweenSamples(const Int_t &)
Int_t fCanvSameH1SamePlus
Int_t fMemoPlotD_TNo_ChDs
Int_t fMemoColorH_MCs_Date
TPaveText * fPavTxtH_MCs_RuDs
TCanvasImp * fImpD_TNo_ChNb
TPaveText * SetPaveStin(const Int_t &, const Int_t &)
TString GetQuantityName(const TString)
Int_t NumberOfNotConnectedSCs()
TVirtualPad * fPadH_TNo_RuDs
void StexXtalsLowFrequencyNoise()
TVectorD ReadHighFrequencyNoise(const Int_t &)
void SetXinfMemoFromValue(const TString, const Double_t &)
void EEAveragedLowFrequencyNoiseXtals()
Double_t GetIEtaMin(const Int_t &, const Int_t &)
Int_t GetIXCrysInSC(const Int_t &, const Int_t &, const Int_t &)
void SetYminMemoFromPreviousMemo(const TString)
void HistimePlot(TGraph *, Axis_t, Axis_t, const TString, const TString, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString, const Int_t &)
TString GetXVarHisto(const TString, const TString, const Int_t &)
void StinCrystalNumbering(const Int_t &, const Int_t &)
TCanvas * fCanvD_MCs_ChNb
Int_t GetYCrysInStex(const Int_t &, const Int_t &, const Int_t &)
TCanvasImp * fImpD_TNo_ChDs
Int_t GetMaxSCInDS(const Int_t &)
void CorrelationsBetweenSamples(const Int_t &, const Int_t &, const TString)
void SetAllPavesViewStin(const Int_t &)
void DeeIXIYLowFrequencyCorcc()
Int_t MaxStexInStasMinus()
Axis_t fH1SameOnePlotXinf
TPaveText * SetPaveStex(const TString, const Int_t &)
TEcnaParPaths * fCnaParPaths
void EEIXIYAveragedTotalNoise()
Int_t GetSCOffset(const Int_t &, const Int_t &, const Int_t &)
TVirtualPad * fPadH_HFN_Date
TPaveText * fPavComSeveralChanging
void EBEtaPhiAveragedMeanOfCorss()
TCanvasImp * fImpH_TNo_RuDs
TVirtualPad * fPadD_LFN_ChDs
void SMTowerNumbering(const Int_t &)
TCanvas * fCanvD_TNo_ChNb
Int_t fMemoPlotD_SSp_Samp
Int_t ModifiedSCEchaForNotConnectedSCs(const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &)
Int_t fNbOfListFileH_TNo_RuDs
void EEIXIYAveragedHighFrequencyNoise()
TString fLFBetweenChannels
TVirtualPad * fPadD_MSp_Samp
void SMHighFrequencyNoiseXtals()
Int_t fCanvSameD_TNo_ChNb
void HighFrequencyMeanCorrelationsBetweenSCs(const TString)
Int_t MaxCrysVecoInStex()
TCanvasImp * fImpD_HFN_ChDs
TPaveText * fPavTxtD_SSp_Samp
Int_t fMemoColorD_HFN_ChNb
Int_t fCanvSameH_SCs_Date
Int_t fNbBinsMemoD_Ped_ChDs
void DeeXtalsSigmaOfCorss()
TString fFlagUserHistoMin
Int_t fCanvSameD_HFN_ChDs
void ViewStexGrid(const Int_t &, const TString)
void LowFrequencyMeanCorrelationsBetweenTowers(const TString)
Int_t GetNbBinsFromMemo(const TString, const TString)
Int_t MaxSCForConsInDee()
void SMSigmaOfCorssXtals()
TString GetMemoFlag(const TString)
void WriteHistoAscii(const TString, const Int_t &, const TVectorD &)
void DeeSigmaOfCorssXtals()
void ViewSCGrid(const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString)
Int_t GetJYCrysInSC(const Int_t &, const Int_t &, const Int_t &)
void SqrtContourLevels(const Int_t &, Double_t *)
TCanvasImp * fImpH_SCs_Date
Int_t fMemoPlotD_LFN_ChDs
void SMXtalsNumberOfEvents()
TString ResultsRootFilePath()
TString SetHistoYAxisTitle(const TString)
Int_t fCanvSameH_Ped_RuDs
Double_t GetYminValueFromMemo(const TString)
void EBEtaPhiAveragedHighFrequencyNoise()
Int_t GetNbOfRunsDisplayed()
Int_t GetYSampInStin(const Int_t &, const Int_t &, const Int_t &, const Int_t &)
void StexXtalsHighFrequencyNoise()
TPaveText * fPavTxtD_NOE_ChNb
Double_t GetPhi(const Int_t &, const Int_t &, const Int_t &)
Int_t fNbBinsMemoD_Ped_ChNb
Int_t fCanvSameD_Adc_EvDs
TString fCurrentCanvasName
TCanvas * fCanvD_TNo_ChDs
void SetAllPavesViewHisto(const TString, const Int_t &, const Int_t &, const Int_t &, const TString)
void EEIXIYAveragedLowFrequencyNoise()
TCanvas * fCanvH_LFN_Date
Int_t MaxCrysEcnaInStex()
Int_t fNbBinsMemoD_MSp_Samp
void EBXtalsAveragedMeanOfCorss()
void HighFrequencyMeanCorrelationsBetweenTowers(const TString)
Int_t GetHistoryRunListParameters(const TString, const TString)
TCanvasImp * fImpD_MCs_ChDs
TPaveText * fPavTxtD_MCs_ChDs
void EEXtalsAveragedHighFrequencyNoise()
Int_t GetDSOffset(const Int_t &, const Int_t &)
TString GetSCType(const Int_t &)
void EEXtalsAveragedPedestals()
TVirtualPad * fPadH1SamePlus
void EEXtalsAveragedNumberOfEvents()
Int_t fMemoPlotH_Ped_RuDs
void StexPedestalsXtals()
TPaveText * SetPaveCrystalSample(const Int_t &, const Int_t &, const Int_t &, const Int_t &)
Int_t fMemoColorD_NOE_ChDs
TCanvas * GetCurrentCanvas()
Int_t MaxCrysHocoInStin()
Int_t fMemoPlotH_SCs_RuDs
TVirtualPad * fCurrentPad
void SetViewHistoStyle(const TString)
TCanvas * fCanvD_MCs_ChDs
Int_t fMemoColorD_Adc_EvDs
Int_t fCanvSameD_Ped_ChNb
TVirtualPad * fPadD_Adc_EvDs
void SetViewHistoOffsets(TH1D *, const TString, const TString)
void StexMeanOfCorssXtals()
TString fHFBetweenChannels
Int_t GetNotConnectedSCForConsFromIndex(const Int_t &)
void SMXtalsSigmaOfCorss()
TCanvas * fCanvD_LFN_ChNb
void SMLowFrequencyNoiseXtals()
void HighFrequencyMeanCorrelationsBetweenStins(const TString)
void ViewStinGrid(const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString)
Double_t BoxLeftX(const TString)
TPaveText * SetPaveEvolNbOfEvtsAna(const TString, const Int_t &, const Int_t &, const Int_t &, const TString)
void SetViewHistoStats(TH1D *, const TString)
void SMMeanOfCorssXtals()
Int_t fCanvSameH_LFN_RuDs
TMatrixD ReadCorrelationsBetweenSamples(const Int_t &, const Int_t &, const Int_t &)
TPaveText * SetPaveGeneralComment(const TString)
TPaveText * fPavTxtD_SCs_ChDs
void SetAllPavesViewStex(const TString, const Int_t &)
TVectorD ReadAveragedNumberOfEvents(const Int_t &)
Int_t GetNumberOfEvents(TEcnaRead *, const Int_t &)
Int_t fMemoPlotD_Ped_ChNb
TVectorD ReadAveragedHighFrequencyNoise(const Int_t &)
Int_t GetIXCrysInDee(const Int_t &, const Int_t &, const Int_t &)
void EBXtalsAveragedNumberOfEvents()
Int_t fMemoPlotH1SamePlus
TPaveText * fPavTxtD_TNo_ChNb
TCanvas * fCanvH_MCs_Date
void SMXtalsLowFrequencyNoise()
Int_t fMemoColorH_TNo_RuDs
void WriteAsciiCorrelationsBetweenSamples(const Int_t &, const Int_t &, const Int_t &, const TMatrixD &)
TPaveText * ActivePavTxt(const TString, const TString)
TPaveText * fPavTxtH_HFN_Date
Int_t Get0StexEchaFrom1StexStinAnd0StinEcha(const Int_t &, const Int_t &)
Double_t GetMarginAutoMinMax()
Int_t fNbBinsMemoD_NOE_ChDs
TPaveText * fPavTxtD_Adc_EvDs
Int_t GetXStinInStas(const Int_t &, const Int_t &, const Int_t &)
void TopAxisForHistos(TH1D *, const TString, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &)
Double_t GetIEtaMax(const Int_t &, const Int_t &)
void DeeIXIYHighFrequencyCorcc()
TString GetStexHalfStas(const Int_t &)
void SMEtaPhiSigmaOfCorss()
TString GetHistoType(const TString)
void EEAveragedPedestalsXtals()
void SetXVarMemo(const TString, const TString, const TString)
Double_t NotConnectedSCH1DBin(const Int_t &)
TVirtualPad * fPadD_TNo_ChNb
Int_t fCanvSameH_SCs_RuDs
void WriteAsciiHisto(const TString, const Int_t &, const TVectorD &)
Double_t GetYminDefaultValue(const TString)
void SetViewGraphOffsets(TGraph *, const TString)
TString GetEEDeeEndcap(const Int_t &)
Int_t MaxStinEcnaInStex()
Int_t fNbBinsMemoD_LFN_ChNb
TCanvasImp * fImpH_HFN_Date
void StexHocoVecoPedestals()
TMatrixD ReadHighFrequencyCovariancesBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
Double_t GetYminFromGraphFrameAndMarginValue(TGraph *, const Double_t)
TString GetEcalSubDetector()
void SetHistoPresentation(TH1D *, const TString)
Int_t fNbBinsMemoH_MCs_RuDs
void EEIXIYAveragedNumberOfEvents()
TVectorD ReadAveragedLowFrequencyNoise(const Int_t &)
TCanvas * fCanvD_SCs_ChNb
TVirtualPad * fPadH_TNo_Date
void DeeIXIYNumberOfEvents()
Axis_t GetHistoXinf(const TString, const Int_t &, const TString)
void ViewHisto(const Int_t &, const Int_t &, const Int_t &, const TString, const TString)
void HighFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const TString)
void DeeNumberOfEventsXtals()
void HighFrequencyCovariancesBetweenChannels(const Int_t &, const Int_t &, const TString)
Int_t fNbOfListFileH_MCs_RuDs
void XtalTotalNoiseRuns(const TString, const Int_t &, const Int_t &, const TString)
Double_t fH2HFccMosMatrixYmin
Int_t MaxStinHocoInStex()
void XtalSamplesSigma(const Int_t &, const Int_t &, const TString)
TCanvasImp * fImpH_LFN_RuDs
void EBAveragedLowFrequencyNoiseXtals()
TVirtualPad * fPadD_MCs_ChNb
void DeeIXIYSigmaOfCorss()
TString GetJYDirectionEE(const Int_t &)
TCanvasImp * fImpD_SCs_ChDs
TPaveText * fPavTxtD_LFN_ChDs
Int_t NumberOfNotCompleteSCs()
void ViewStasGrid(const Int_t &)
TCanvasImp * fImpH_LFN_Date
Int_t fNbOfListFileH_LFN_RuDs
Int_t Get1StexCrysFrom1StexStinAnd0StinEcha(const Int_t &, const Int_t &, const Int_t &)
Int_t fNbOfListFileH_HFN_Date
TCanvasImp * fImpD_MCs_ChNb
TString GetXDirectionEB(const Int_t &)
Double_t NotCompleteSCH1DBin(const Int_t &)
TVectorD ReadSampleMeans(const Int_t &, const Int_t &, const Int_t &)
TEcnaParHistos * fCnaParHistos
TString fFlagUserHistoMax
TPaveText * SetPaveStas()
Int_t MaxCrysForConsInDee()
void FillHisto(TH1D *, const TVectorD &, const TString, const Int_t &)
Int_t fCanvSameD_SSp_Samp
void LowFrequencyCovariancesBetweenChannels(const Int_t &, const Int_t &, const TString)
Double_t BoxTopY(const TString)
Int_t fNbBinsMemoD_NOE_ChNb
void SetNbBinsMemo(const TString, const TString, const Int_t &)
void XtalSampleValues(const Int_t &, const Int_t &, const Int_t &, const TString)
Int_t fMemoPlotD_Adc_EvDs
Color_t SetColorsForNumbers(const TString)
Int_t fMemoColorD_Ped_ChNb
TVectorD ReadNumberOfEvents(const Int_t &)
void PlotCloneOfCurrentCanvas()
Int_t fMemoColorD_LFN_ChNb
TVirtualPad * fPadD_Adc_EvNb
void XtalTimeLowFrequencyNoise(const TString, const Int_t &, const Int_t &, const TString)
void XtalTimeSigmaOfCorss(const TString, const Int_t &, const Int_t &, const TString)
UInt_t CanvasFormatH(const TString)
TCanvas * fCanvH_LFN_RuDs
Int_t fMemoPlotD_HFN_ChNb
Int_t fMemoPlotH_HFN_RuDs
TVirtualPad * fPadD_Ped_ChDs
TCanvas * fCanvH_TNo_RuDs
Int_t GetHistoSize(const TString, const TString)
Int_t fCanvSameD_Ped_ChDs
void EBXtalsAveragedHighFrequencyNoise()