51 if (fT1DRunNumber !=
nullptr){
delete [] fT1DRunNumber; fCdelete++;}
65 if ( fCnew != fCdelete )
67 std::cout <<
"*TEcnaHistos> WRONG MANAGEMENT OF ALLOCATIONS: fCnew = " 68 << fCnew <<
", fCdelete = " << fCdelete << fTTBELL << std::endl;
78 if ( fCnewRoot != fCdeleteRoot )
80 std::cout <<
"*TEcnaHistos> WRONG MANAGEMENT OF ROOT ALLOCATIONS: fCnewRoot = " 81 << fCnewRoot <<
", fCdeleteRoot = " << fCdeleteRoot << std::endl;
85 std::cout <<
"*TEcnaHistos> BRAVO! GOOD MANAGEMENT OF ROOT ALLOCATIONS:" 86 <<
" fCnewRoot = " << fCnewRoot <<
", fCdeleteRoot = " 87 << fCdeleteRoot << std::endl;
116 Long_t i_this = (Long_t)
this;
126 if( iCnaParCout == 0 )
133 Long_t iCnaParPaths = pObjectManager->
GetPointerValue(
"TEcnaParPaths");
134 if( iCnaParPaths == 0 )
152 Long_t iEcalNumbering = pObjectManager->
GetPointerValue(
"TEcnaNumbering");
153 if( iEcalNumbering == 0 )
160 Long_t iCnaParHistos = pObjectManager->
GetPointerValue(
"TEcnaParHistos");
161 if( iCnaParHistos == 0 )
177 if( iMyRootFile == 0 )
637 fFapFileRuns =
"(file with list of runs parameters: no info)";
749 const Int_t& xArgRunNumber,
const Int_t& xArgFirstReqEvtNumber,
750 const Int_t& xArgLastReqEvtNumber,
const Int_t& xArgReqNbOfEvts,
751 const Int_t& xArgStexNumber)
814 if ( !(option_palette ==
"Rainbow" || option_palette ==
"rainbow") ){
fFlagColPal =
"Black/Red/Blue";}
815 if ( option_palette ==
"Rainbow" || option_palette ==
"rainbow" ){
fFlagColPal =
"Rainbow";}
892 const TString& UserCorOrCov,
const TString& UserBetweenWhat)
893 {
PlotMatrix(read_matrix_corcc, UserCorOrCov, UserBetweenWhat,
"");}
896 const TString& UserCorOrCov,
const TString& UserBetweenWhat,
897 const TString& UserPlotOption)
899 TString CallingMethod =
"2D";
906 if( BetweenWhat !=
"?" && CorOrCov !=
"?" )
908 if( BetweenWhat ==
"MttLF" || BetweenWhat ==
"MttHF" )
919 std::cout <<
"!TEcnaHistos::PlotMatrix(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
923 {
PlotMatrix(UserCorOrCov, UserBetweenWhat,
"");}
926 const TString& UserPlotOption)
928 TString CallingMethod =
"2D";
935 if( BetweenWhat !=
"?" && CorOrCov !=
"?" )
937 if( BetweenWhat ==
"MttLF" || BetweenWhat ==
"MttHF" )
947 std::cout <<
"!TEcnaHistos::PlotMatrix(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
953 const TString& UserCorOrCov,
const TString& UserBetweenWhat,
954 const Int_t& arg_n1,
const Int_t& arg_n2)
955 {
PlotMatrix(read_matrix, UserCorOrCov, UserBetweenWhat, arg_n1, arg_n2,
"");}
958 const TString& UserCorOrCov,
const TString& UserBetweenWhat,
959 const Int_t& arg_n1,
const Int_t& arg_n2,
960 const TString& UserPlotOption)
962 TString CallingMethod =
"2D";
969 if( BetweenWhat !=
"?" && CorOrCov !=
"?" )
971 if( BetweenWhat ==
"MccLF" || BetweenWhat ==
"MccHF" )
973 Int_t cStexStin_A = arg_n1;
974 Int_t cStexStin_B = arg_n2;
977 cStexStin_A, cStexStin_B,
fZerv, CorOrCov, BetweenWhat, StandardPlotOption);
980 if( BetweenWhat ==
"Mss" )
982 Int_t n1StexStin = arg_n1;
983 Int_t i0StinEcha = arg_n2;
987 n1StexStin,
fZerv, i0StinEcha, CorOrCov, BetweenWhat, StandardPlotOption);
992 std::cout <<
"!TEcnaHistos::PlotMatrix(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
996 const Int_t& arg_n1,
const Int_t& arg_n2)
997 {
PlotMatrix(UserCorOrCov, UserBetweenWhat, arg_n1, arg_n2,
"");}
1000 const Int_t& arg_n1,
const Int_t& arg_n2,
1001 const TString& UserPlotOption)
1003 TString CallingMethod =
"2D";
1010 if( StandardBetweenWhat !=
"?" && StandardCorOrCov !=
"?" )
1012 if( StandardBetweenWhat ==
"MccLF" || StandardBetweenWhat ==
"MccHF" )
1014 Int_t cStexStin_A = arg_n1;
1015 Int_t cStexStin_B = arg_n2;
1017 cStexStin_A, cStexStin_B,
fZerv, StandardCorOrCov, StandardBetweenWhat, StandardPlotOption);
1020 if( StandardBetweenWhat ==
"Mss" )
1022 Int_t n1StexStin = arg_n1;
1023 Int_t i0StinEcha = arg_n2;
1027 n1StexStin,
fZerv, i0StinEcha, StandardCorOrCov, StandardBetweenWhat, StandardPlotOption);
1032 std::cout <<
"!TEcnaHistos::PlotMatrix(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1043 TString CallingMethod =
"2DS";
1046 if( StandardHistoCode !=
"?" )
1050 if( StandardDetectorCode !=
"?" )
1057 if( StandardDetectorCode ==
"SM" || StandardDetectorCode ==
"Dee" )
1059 if( StandardDetectorCode ==
"EB" || StandardDetectorCode ==
"EE" )
1064 std::cout <<
"!TEcnaHistos::PlotDetector(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1068 std::cout <<
"!TEcnaHistos::PlotDetector(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1073 TString CallingMethod =
"2DS";
1076 if( StandardHistoCode !=
"?" )
1080 if( StandardDetectorCode !=
"?" )
1089 if( StandardDetectorCode ==
"SM" || StandardDetectorCode ==
"Dee" )
1091 if( StandardDetectorCode ==
"EB" || StandardDetectorCode ==
"EE" )
1096 std::cout <<
"!TEcnaHistos::PlotDetector(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1100 std::cout <<
"!TEcnaHistos::PlotDetector(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1109 const TString& User_X_Quantity,
const TString& User_Y_Quantity,
1110 const TString& UserDetector)
1111 {
Plot1DHisto(InputHisto, User_X_Quantity, User_Y_Quantity, UserDetector,
"");}
1114 const TString& User_X_Quantity,
const TString& User_Y_Quantity,
1115 const TString& UserDetector,
1116 const TString& UserPlotOption)
1118 TString CallingMethod =
"1D";
1125 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1130 if( StandardDetectorCode !=
"?" )
1132 if( StandardDetectorCode ==
"EB" || StandardDetectorCode ==
"EE" ){
fFapStexNumber = 0;}
1137 std::cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1141 std::cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1145 const TString& UserDetector)
1146 {
Plot1DHisto(User_X_Quantity, User_Y_Quantity, UserDetector,
"");}
1149 const TString& UserDetector,
const TString& UserPlotOption)
1151 TString CallingMethod =
"1D";
1158 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1162 if( StandardDetectorCode !=
"?" )
1164 if( StandardDetectorCode ==
"EB" || StandardDetectorCode ==
"EE" ){
fFapStexNumber = 0;}
1169 std::cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1173 std::cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1183 const TString& User_X_Quantity,
const TString& User_Y_Quantity,
1184 const Int_t& n1StexStin)
1185 {
Plot1DHisto(InputHisto, User_X_Quantity, User_Y_Quantity, n1StexStin,
"");}
1188 const TString& User_X_Quantity,
const TString& User_Y_Quantity,
1189 const Int_t& n1StexStin,
1190 const TString& UserPlotOption)
1192 TString CallingMethod =
"1DX";
1194 Int_t i0StinEcha = 0;
1195 Plot1DHisto(InputHisto, User_X_Quantity, User_Y_Quantity, n1StexStin, i0StinEcha, StandardPlotOption);
1200 const TString& User_X_Quantity,
const TString& User_Y_Quantity,
1201 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
1202 {
Plot1DHisto(InputHisto, User_X_Quantity, User_Y_Quantity, n1StexStin, i0StinEcha,
"");}
1205 const TString& User_X_Quantity,
const TString& User_Y_Quantity,
1206 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
1207 const TString& UserPlotOption)
1209 TString CallingMethod =
"1D";
1216 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1226 if( Standard_X_Quantity ==
"Smp" && Standard_Y_Quantity ==
"MSp" )
1228 if( Standard_X_Quantity ==
"MSp" && Standard_Y_Quantity ==
"NOS" )
1230 if( Standard_X_Quantity ==
"Smp" && Standard_Y_Quantity ==
"SSp" )
1232 if( Standard_X_Quantity ==
"SSp" && Standard_Y_Quantity ==
"NOS" )
1238 std::cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1242 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
1243 {
Plot1DHisto(User_X_Quantity, User_Y_Quantity, n1StexStin, i0StinEcha,
"");}
1246 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
1247 const TString& UserPlotOption)
1249 TString CallingMethod =
"1D";
1256 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1265 if( Standard_X_Quantity ==
"Smp" && Standard_Y_Quantity ==
"MSp" )
1267 if( Standard_X_Quantity ==
"MSp" && Standard_Y_Quantity ==
"NOS" )
1269 if( Standard_X_Quantity ==
"Smp" && Standard_Y_Quantity ==
"SSp" )
1271 if( Standard_X_Quantity ==
"SSp" && Standard_Y_Quantity ==
"NOS" )
1277 std::cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1281 const TString& User_X_Quantity,
const TString& User_Y_Quantity,
1282 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
const Int_t& n1Sample)
1283 {
Plot1DHisto(InputHisto, User_X_Quantity, User_Y_Quantity, n1StexStin, i0StinEcha, n1Sample,
"");}
1286 const TString& User_X_Quantity,
const TString& User_Y_Quantity,
1287 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
const Int_t& n1Sample,
1288 const TString& UserPlotOption)
1290 TString CallingMethod =
"1D";
1299 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1301 Int_t i0Sample = n1Sample-1;
1303 ViewHisto(InputHisto,
fAlreadyRead, n1StexStin, i0StinEcha, i0Sample, TechHistoCode, StandardPlotOption);
1307 std::cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1311 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
const Int_t& n1Sample)
1312 {
Plot1DHisto(User_X_Quantity, User_Y_Quantity, n1StexStin, i0StinEcha, n1Sample,
"");}
1315 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
const Int_t& n1Sample,
1316 const TString& UserPlotOption)
1318 TString CallingMethod =
"1D";
1325 Int_t i0Sample = n1Sample-1;
1327 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1334 std::cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1343 const TString& list_of_run_file_name,
1344 const Int_t& StexStin_A,
const Int_t& i0StinEcha)
1345 {
PlotHistory(User_X_Quantity, User_Y_Quantity, list_of_run_file_name, StexStin_A, i0StinEcha,
"");}
1348 const TString& list_of_run_file_name,
1349 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
1350 const TString& UserPlotOption)
1352 TString CallingMethod =
"Time";
1359 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1362 ViewHistime(list_of_run_file_name, StexStin_A, i0StinEcha, TechHistoCode, StandardPlotOption);
1366 std::cout <<
"!TEcnaHistos::PlotHistory(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1414 const Int_t& StexStin_A,
const Int_t& StexStin_B,
1415 const Int_t& MatrixBinIndex,
const TString& CorOrCov,
1416 const TString& BetweenWhat,
const TString& PlotOption)
1420 if( (
fFapStexNumber > 0) && (fFapStexNumber <= fEcal->MaxStexInStas()) )
1422 Bool_t OKArray = kFALSE;
1423 Bool_t OKData = kFALSE;
1434 if( OKArray == kTRUE )
1452 if( arg_AlreadyRead >= 1 )
1467 if ( OKArray == kTRUE )
1471 if( OKData == kTRUE )
1475 Int_t Stin_X_ok = 0;
1476 Int_t Stin_Y_ok = 0;
1479 {Stin_X_ok = 1; Stin_Y_ok = 1;}
1485 if ( vStin(index_Stin) == StexStin_A ){Stin_X_ok = 1;}
1486 if ( vStin(index_Stin) == StexStin_B ){Stin_Y_ok = 1;}
1489 if( Stin_X_ok == 1 && Stin_Y_ok == 1 )
1492 Int_t ReadMatSize = -1;
1493 Int_t i0StinEcha = -1;
1509 ( (BetweenWhat ==
fBetweenSamples) && (i0StinEcha >= 0) && (i0StinEcha < fEcal->MaxCrysInStin()) ) )
1511 TMatrixD read_matrix(ReadMatSize, ReadMatSize);
1512 for(Int_t
i=0;
i-ReadMatSize<0;
i++)
1513 {
for(Int_t j=0; j-ReadMatSize<0; j++){read_matrix(
i,j)=(Double_t)0.;}}
1515 Bool_t OKData = kFALSE;
1555 read_matrix = arg_read_matrix;
1559 if( OKData == kTRUE )
1563 if( PlotOption ==
"ASCII" )
1566 StexStin_A, MatrixBinIndex, ReadMatSize, read_matrix);
1574 {sprintf(f_in_mat_tit,
"Covariance(Sample, Sample')");}
1576 {sprintf(f_in_mat_tit,
"Correlation(Sample, Sample')");}
1581 {sprintf(f_in_mat_tit,
1582 "Mean LF |Cor(Xtal,Xtal')| for each (Tower,Tower')");}
1584 {sprintf(f_in_mat_tit,
1585 "Mean HF |Cor(Xtal,Xtal')| for each (Tower,Tower')");}
1590 {sprintf(f_in_mat_tit,
1591 "Mean LF |Cor(Xtal,Xtal')| for each (SC,SC')");}
1593 {sprintf(f_in_mat_tit,
1594 "Mean HF |Cor(Xtal,Xtal')| for each (SC,SC')");}
1600 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') matrix elts for (Tow,Tow')");}
1602 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') matrix elts for (SC,SC')");}
1607 {sprintf(f_in_mat_tit,
"HF Cor(Xtal,Xtal') matrix elts for (Tow,Tow')");}
1609 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') matrix elts for (SC,SC')");}
1613 TString axis_x_var_name;
1614 TString axis_y_var_name;
1622 {sprintf(f_in_axis_x,
" %s number ",
fFapStinName.Data());}
1624 {sprintf(f_in_axis_x,
" %s number for construction ",
fFapStinName.Data());}
1626 axis_x_var_name = f_in_axis_x; axis_y_var_name = f_in_axis_x;
1630 axis_x_var_name =
" Sample "; axis_y_var_name =
" Sample ";
1633 sprintf(f_in_axis_x,
" Crystal %s %d ",
fFapStinName.Data(), StexStin_A);
1634 sprintf(f_in_axis_y,
" Crystal %s %d ",
fFapStinName.Data(),StexStin_B);
1635 axis_x_var_name = f_in_axis_x; axis_y_var_name = f_in_axis_y;}
1637 Int_t nb_binx = MatSize;
1638 Int_t nb_biny = MatSize;
1639 Axis_t xinf_bid = (Axis_t)0.;
1640 Axis_t xsup_bid = (Axis_t)MatSize;
1641 Axis_t yinf_bid = (Axis_t)0.;
1642 Axis_t ysup_bid = (Axis_t)MatSize;
1656 TH2D* h_fbid0 =
new TH2D(
"bidim", f_in_mat_tit,
1657 nb_binx, xinf_bid, xsup_bid,
1658 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
1661 h_fbid0->GetXaxis()->SetTitle(axis_x_var_name);
1662 h_fbid0->GetYaxis()->SetTitle(axis_y_var_name);
1668 for(Int_t
i = 0 ;
i < ReadMatSize ;
i++)
1670 for(Int_t j = 0 ; j < ReadMatSize ; j++)
1678 if( xi_bid > 0 && xj_bid > 0 )
1680 Int_t xi_bid_m = xi_bid-1;
1681 Int_t xj_bid_m = xj_bid-1;
1682 h_fbid0->Fill(xi_bid_m, xj_bid_m, read_matrix(
i,j));
1689 for(Int_t
i = 0 ;
i - ReadMatSize < 0 ;
i++)
1691 Double_t
xi = (Double_t)
i;
1692 for(Int_t j = 0 ; j < ReadMatSize ; j++)
1694 Double_t xj = (Double_t)j;
1695 Double_t mat_val = (Double_t)read_matrix(
i,j);
1696 h_fbid0->Fill(xi, xj, (Double_t)mat_val);
1703 TString quantity_code =
"D_MCs_ChNb";
1711 if( BetweenWhat ==
fLFBetweenStins ){quantity_code =
"H2LFccMosMatrix";}
1712 if( BetweenWhat ==
fHFBetweenStins ){quantity_code =
"H2HFccMosMatrix";}
1768 HistoType.Resize(MaxCar);
1769 HistoType =
"(no quantity type info)";
1771 if (PlotOption ==
"COLZ" ){HistoType =
"colz";}
1772 if (PlotOption ==
"BOX" ){HistoType =
"colz";}
1773 if (PlotOption ==
"TEXT" ){HistoType =
"colz";}
1774 if (PlotOption ==
"CONTZ" ){HistoType =
"colz";}
1775 if (PlotOption ==
"LEGO2Z"){HistoType =
"lego";}
1776 if (PlotOption ==
"SURF1Z"){HistoType =
"surf";}
1777 if (PlotOption ==
"SURF2Z"){HistoType =
"surf";}
1778 if (PlotOption ==
"SURF3Z"){HistoType =
"surf";}
1779 if (PlotOption ==
"SURF4" ){HistoType =
"surf";}
1794 TString name_cov_cor;
1796 name_cov_cor.Resize(MaxCar);
1801 TString name_chan_samp;
1803 name_chan_samp.Resize(MaxCar);
1804 name_chan_samp =
"?";
1814 name_chan_samp =
"Between_Samples";
1819 name_visu.Resize(MaxCar);
1822 name_visu = PlotOption;
1825 sprintf(f_in,
"%s_%s_%s_S1_%d_R%d_%d_%d_%s%d_%s",
1826 name_cov_cor.Data(), name_chan_samp.Data(),
1833 sprintf(f_in,
"%s_%s_%s_S1_%d_R%d_%d_%d_%s%d_%sX%d_%sY%d_%s",
1834 name_cov_cor.Data(), name_chan_samp.Data(),
1842 sprintf(f_in,
"%s_%s_%s_S1_%d_R%d_%d_%d_%s%d_%sX%d_%sY%d_ElecChannel_%d_%s",
1843 name_cov_cor.Data(), name_chan_samp.Data(),
1854 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w , canv_h);
fCnewRoot++;
1861 delete [] f_in; f_in =
nullptr;
fCdelete++;
1876 MainCanvas->Divide(1, 1, x_margin, y_margin);
1881 gPad->SetLogy(logy);
1884 h_fbid0->DrawCopy(PlotOption);
1885 h_fbid0->SetStats(
true);
1890 delete [] f_in_axis_x; f_in_axis_x =
nullptr;
fCdelete++;
1891 delete [] f_in_axis_y; f_in_axis_y =
nullptr;
fCdelete++;
1892 delete [] f_in_mat_tit; f_in_mat_tit =
nullptr;
fCdelete++;
1907 std::cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* ==> Wrong channel number in " 1909 << i0StinEcha <<
" (required range: [0, " 1926 if ( Stin_X_ok != 1 )
1930 std::cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* =====> " 1932 << StexStin_A <<
", " 1933 <<
fFapStinName.Data() <<
" not found. Available numbers = ";
1945 std::cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* =====> " 1948 <<
fFapStinName.Data() <<
" not found. Available numbers = ";
1959 if ( Stin_Y_ok != 1 )
1964 std::cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* =====> " 1966 << StexStin_B <<
", " 1967 <<
fFapStinName.Data() <<
" not found. Available numbers = ";
1979 std::cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* =====> " 1982 <<
fFapStinName.Data() <<
" not found. Available numbers = ";
1998 std::cout <<
"!TEcnaHistos::ViewMatrix(...)> *ERROR* =====> " 1999 <<
" Histo not available." <<
fTTBELL << std::endl;
2007 std::cout <<
"!TEcnaHistos::ViewMatrix(...)> *ERROR* =====> " 2008 <<
" ROOT file not found" <<
fTTBELL << std::endl;
2053 if( (
fFapStexNumber > 0) && fFapStexNumber <= fEcal->MaxStexInStas() )
2055 Int_t StexStin = cStexStin;
2085 if ( vStin(index_Stin) == StexStin ){Stin_ok++;}
2098 {sprintf(f_in_mat_tit,
"Xtal's Cov(s,s') matrices in %s.",
2101 {sprintf(f_in_mat_tit,
"Xtal's Cor(s,s') matrices in %s.",
2106 Int_t nb_binx = GeoBidSize;
2107 Int_t nb_biny = GeoBidSize;
2108 Axis_t xinf_bid = (Axis_t)0.;
2109 Axis_t xsup_bid = (Axis_t)GeoBidSize;
2110 Axis_t yinf_bid = (Axis_t)0.;
2111 Axis_t ysup_bid = (Axis_t)GeoBidSize;
2116 TH2D* h_geo_bid =
new TH2D(
"geobidim_ViewStin", f_in_mat_tit,
2117 nb_binx, xinf_bid, xsup_bid,
2118 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
2127 TMatrixD read_matrix(ReadMatSize, ReadMatSize);
2128 for(Int_t
i=0;
i-ReadMatSize < 0;
i++){
for(Int_t j=0; j-ReadMatSize < 0; j++)
2129 {read_matrix(
i,j)=(Double_t)0.;}}
2131 Int_t i_data_exist = 0;
2150 for(Int_t i_samp = 0 ; i_samp < ReadMatSize ; i_samp++)
2153 for(Int_t j_samp = 0; j_samp < ReadMatSize ; j_samp++)
2156 StexStin, n_crys, j_samp);
2157 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)j_ygeo,
2158 (Double_t)read_matrix(i_samp, j_samp));
2166 TString quantity_code =
"D_MCs_ChNb";
2202 if( i_data_exist > 0 )
2214 TString name_cov_cor;
2216 name_cov_cor.Resize(MaxCar);
2223 name_visu.Resize(MaxCar);
2226 sprintf(f_in,
"%s_%s_%s_S1_%d_R%d_%d_%d_%s%d_%s%d_%s",
2235 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
2240 delete [] f_in; f_in =
nullptr;
fCdelete++;
2251 MainCanvas->Divide(1, 1, x_margin, y_margin);
2255 gPad->SetLogy(logy);
2257 h_geo_bid->DrawCopy(
"COLZ");
2267 h_geo_bid->SetStats(
true);
2271 delete [] f_in_mat_tit; f_in_mat_tit =
nullptr;
fCdelete++;
2273 h_geo_bid->Delete(); h_geo_bid =
nullptr;
fCdeleteRoot++;
2277 std::cout <<
"!TEcnaHistos::ViewStin(...)> *ERROR* =====> " 2279 << cStexStin <<
" not found." 2280 <<
" Available numbers = ";
2302 std::cout <<
"!TEcnaHistos::ViewStin(...)> *ERROR* =====> " 2303 <<
" ROOT file not found" <<
fTTBELL << std::endl;
2340 if( (SMNumber > 0) && (SMNumber <= fEcal->MaxSMInEB()) )
2351 Int_t nx_gbins = nb_bins*size_eta;
2352 Int_t ny_gbins = nb_bins*size_phi;
2354 Axis_t xinf_gbid = (Axis_t)0.;
2356 Axis_t yinf_gbid = (Axis_t)0.;
2359 TString fg_name =
"M0' crystals";
2360 TString fg_tit =
"Xtal numbering (chan. in tow, chan. in SM, Xtal in SM, hashed)";
2364 h_gbid =
new TH2D(fg_name.Data(), fg_tit.Data(),
2365 nx_gbins, xinf_gbid, xsup_gbid,
2366 ny_gbins, yinf_gbid, ysup_gbid);
fCnewRoot++;
2383 gStyle->SetPalette(1,
nullptr);
2395 sprintf(f_in,
"Crystal_Numbering_for_%s_X_%d_%s%d",
2400 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w , canv_h); fCnewRoot++;
2408 MainCanvas->Divide(1, 1, x_margin, y_margin);
2414 Bool_t b_true =
true;
2415 Bool_t b_false =
false;
2418 gStyle->SetMarkerColor(couleur_rouge);
2421 gPad->SetLogy(logy);
2425 h_gbid->SetStats(b_false);
2426 h_gbid->DrawCopy(
"COLZ");
2434 TText *text_elec_num =
new TText(); fCnewRoot++;
2435 if ( TowerLvrbType ==
"top" ){text_elec_num->SetTextColor(couleur_rouge);}
2436 if ( TowerLvrbType ==
"bottom" ){text_elec_num->SetTextColor(couleur_bleu_fonce);}
2437 text_elec_num->SetTextSize(0.04);
2440 TText *text_sme_num =
new TText(); fCnewRoot++;
2441 if ( TowerLvrbType ==
"top" ){text_sme_num->SetTextColor(couleur_rouge);}
2442 if ( TowerLvrbType ==
"bottom" ){text_sme_num->SetTextColor(couleur_bleu_fonce);}
2443 text_sme_num->SetTextSize(0.03);
2446 TText *text_sm_num =
new TText(); fCnewRoot++;
2447 text_sm_num->SetTextColor(couleur_noir);
2448 text_sm_num->SetTextSize(0.03);
2451 TText *text_hsd_num =
new TText(); fCnewRoot++;
2452 text_hsd_num->SetTextColor(couleur_noir);
2453 text_hsd_num->SetTextSize(0.03);
2458 Double_t off_set = (Double_t)1.;
2464 Int_t i_xgeo =
GetXSampInStin(SMNumber, n1SMTow, i_chan, i_samp);
2465 Int_t i_ygeo =
GetYSampInStin(SMNumber, n1SMTow, i_chan, i_samp);
2467 Double_t xgi = i_xgeo + 3.*off_set;
2468 Double_t ygj = i_ygeo + 7.*off_set;
2470 Double_t xgi_sme = i_xgeo + 3.*off_set;
2471 Double_t ygj_sme = i_ygeo + 5.*off_set;
2473 Double_t xgi_sm = i_xgeo + 3.*off_set;
2474 Double_t ygj_sm = i_ygeo + 3.*off_set;
2476 Double_t xgi_hsd = i_xgeo + 3.*off_set;
2477 Double_t ygj_hsd = i_ygeo + 1.*off_set;
2489 sprintf(f_in_elec,
"%d", i_chan);
2490 text_elec_num->DrawText(xgi, ygj, f_in_elec);
2492 sprintf(f_in_sme,
"%d", i_crys_sme);
2493 text_sme_num->DrawText(xgi_sme, ygj_sme, f_in_sme);
2495 sprintf(f_in_sm,
"%d", i_crys_sm);
2496 text_sm_num->DrawText(xgi_sm, ygj_sm, f_in_sm);
2498 sprintf(f_in_hsd,
"%d", i_crys_hsd);
2499 text_sm_num->DrawText(xgi_hsd, ygj_hsd, f_in_hsd);
2501 text_sm_num->Delete(); text_sm_num =
nullptr;
fCdeleteRoot++;
2502 text_sme_num->Delete(); text_sme_num =
nullptr;
fCdeleteRoot++;
2503 text_elec_num->Delete(); text_elec_num =
nullptr;
fCdeleteRoot++;
2504 text_hsd_num->Delete(); text_hsd_num =
nullptr;
fCdeleteRoot++;
2506 ViewStinGrid(SMNumber, n1SMTow, MatSize, size_eta, size_phi,
"CrystalNumbering");
2509 h_gbid->SetStats(b_true);
2513 delete [] f_in; f_in =
nullptr;
fCdelete++;
2514 delete [] f_in_sm; f_in_sm =
nullptr;
fCdelete++;
2515 delete [] f_in_sme; f_in_sme =
nullptr;
fCdelete++;
2516 delete [] f_in_elec; f_in_elec =
nullptr;
fCdelete++;
2520 std::cout <<
"!TEcnaHistos::TowerCrystalNumbering(...)> SM = " << SMNumber
2536 if( (DeeNumber > 0) && (DeeNumber <= fEcal->MaxDeeInEE()) )
2549 Int_t nx_gbins = nb_bins*size_IX;
2550 Int_t ny_gbins = nb_bins*size_IY;
2552 Axis_t xinf_gbid = (Axis_t)0.;
2554 Axis_t yinf_gbid = (Axis_t)0.;
2557 TString fg_name =
"crystalnbring";
2558 TString fg_tit =
"Xtal numbering for construction";
2561 h_gbid =
new TH2D(fg_name.Data(), fg_tit.Data(),
2562 nx_gbins, xinf_gbid, xsup_gbid,
2563 ny_gbins, yinf_gbid, ysup_gbid);
fCnewRoot++;
2579 gStyle->SetPalette(1,
nullptr);
2588 sprintf(f_in,
"Crystal_Numbering_for_%s_X_%d_%s%d",
2593 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w , canv_h); fCnewRoot++;
2602 MainCanvas->Divide(1, 1, x_margin, y_margin);
2608 Bool_t b_true =
true;
2609 Bool_t b_false =
false;
2612 gStyle->SetMarkerColor(couleur_rouge);
2615 gPad->SetLogy(logy);
2618 h_gbid->SetStats(b_false);
2620 h_gbid->DrawCopy(
"COLZ");
2627 Color_t couleur_SC =
GetSCColor(DeeEndcap, DeeDir, SCQuadType);
2630 TText *text_elec_num =
new TText(); fCnewRoot++;
2631 text_elec_num->SetTextColor(couleur_SC);
2632 text_elec_num->SetTextSize(0.06);
2642 Int_t i_xgeo =
GetXSampInStin(DeeNumber, n1DeeSCEcna, i_chan, i_samp);
2643 Int_t i_ygeo =
GetYSampInStin(DeeNumber, n1DeeSCEcna, i_chan, i_samp);
2645 Double_t xgi = i_xgeo + off_set;
2646 Double_t ygj = i_ygeo + 2*off_set;
2649 Int_t i_chan_p = i_chan+1;
2650 sprintf(f_in_elec,
"%d", i_chan_p);
2651 text_elec_num->DrawText(xgi, ygj, f_in_elec);
2653 text_elec_num->Delete(); text_elec_num =
nullptr;
fCdeleteRoot++;
2658 h_gbid->SetStats(b_true);
2662 delete [] f_in; f_in =
nullptr;
fCdelete++;
2663 delete [] f_in_elec; f_in_elec =
nullptr;
fCdelete++;
2667 std::cout <<
"!TEcnaHistos::SCCrystalNumbering(...)> Dee = " << DeeNumber
2679 const Int_t& i0StinEcha,
const Int_t& i_samp)
2688 if( (btype ==
"EB+" && ctype ==
"bottom") || (btype ==
"EB-" && ctype ==
"top") )
2691 if( (btype ==
"EB+" && ctype ==
"top") || (btype ==
"EB-" && ctype ==
"bottom") )
2696 if( DeeDir ==
"right" )
2698 if( DeeDir ==
"left" )
2706 const Int_t& i0StinEcha,
const Int_t& j_samp)
2719 if( (btype ==
"EB+" && ctype ==
"top") || (btype ==
"EB-" && ctype ==
"bottom") )
2721 if( i0StinEcha >= 0 && i0StinEcha <= 4 ) {jy_geo = (i0StinEcha - 0)*
fEcal->
MaxSampADC() + j_samp;}
2722 if( i0StinEcha >= 5 && i0StinEcha <= 9 ) {jy_geo = -(i0StinEcha - 9)*
fEcal->
MaxSampADC() + j_samp;}
2723 if( i0StinEcha >= 10 && i0StinEcha <= 14 ) {jy_geo = (i0StinEcha - 10)*
fEcal->
MaxSampADC() + j_samp;}
2724 if( i0StinEcha >= 15 && i0StinEcha <= 19 ) {jy_geo = -(i0StinEcha - 19)*
fEcal->
MaxSampADC() + j_samp;}
2725 if( i0StinEcha >= 20 && i0StinEcha <= 24 ) {jy_geo = (i0StinEcha - 20)*
fEcal->
MaxSampADC() + j_samp;}
2728 if( (btype ==
"EB+" && ctype ==
"bottom") || (btype ==
"EB-" && ctype ==
"top") )
2730 if( i0StinEcha >= 0 && i0StinEcha <= 4 )
2732 if( i0StinEcha >= 5 && i0StinEcha <= 9 )
2734 if( i0StinEcha >= 10 && i0StinEcha <= 14 )
2736 if( i0StinEcha >= 15 && i0StinEcha <= 19 )
2738 if( i0StinEcha >= 20 && i0StinEcha <= 24 )
2757 const Int_t& StexStin,
const Int_t& MatSize,
2758 const Int_t& size_Hoco,
const Int_t& size_Veco,
2759 const TString& chopt)
2764 size_Hoco, size_Veco, chopt);}
2766 size_Hoco, size_Veco, chopt);}
2777 const Int_t& n1SMTow,
const Int_t& MatSize,
2778 const Int_t& size_eta,
const Int_t& size_phi,
2779 const TString& chopt)
2783 Double_t xline = 0.;
2785 Double_t yline_bot = 0.;
2786 Double_t yline_top = (Double_t)(MatSize*size_eta);
2788 for( Int_t
i = 0 ;
i < size_eta ;
i++)
2790 xline = xline + (Double_t)MatSize;
2792 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
2797 Double_t xline_left = 0;
2798 Double_t xline_right = (Double_t)(MatSize*size_eta);
2800 Double_t yline = -(Double_t)MatSize;
2802 for( Int_t j = 0 ; j < size_eta+1 ; j++)
2804 yline = yline + (Double_t)MatSize;
2806 lin =
new TLine(xline_left, yline, xline_right, yline);
fCnewRoot++;
2829 TGaxis* sup_axis_x =
nullptr;
2831 if ( x_direction ==
"-x" )
2832 {sup_axis_x =
new TGaxis( -(Float_t)MatSize, (Float_t)0, (Float_t)(size_eta*MatSize), (Float_t)0.,
2833 "f1", size_eta,
"BCS" , 0.); fCnewRoot++;
2834 std::cout <<
"TEcnaHistosEB::ViewTowerGrid()> non foreseen case. eta with -x direction." <<
fTTBELL << std::endl;}
2836 if ( x_direction ==
"x" )
2837 {sup_axis_x =
new TGaxis( (Float_t)0. , (Float_t)0., (Float_t)(size_eta*MatSize), (Float_t)0.,
2838 "f1", size_eta,
"CS" , 0.); fCnewRoot++;}
2840 sup_axis_x->SetTitle(x_var_name);
2841 sup_axis_x->SetTitleSize(tit_siz_x);
2842 sup_axis_x->SetTitleOffset(tit_off_x);
2843 sup_axis_x->SetLabelSize(lab_siz_x);
2844 sup_axis_x->SetLabelOffset(lab_off_x);
2845 sup_axis_x->SetTickSize(tic_siz_x);
2846 sup_axis_x->Draw(
"SAME");
2855 if( chopt ==
"CrystalNumbering" )
2863 new TF1(
"f2", y_direction.Data(), phi_min, phi_max); fCnewRoot++;
2864 TGaxis* sup_axis_y =
nullptr;
2866 if ( y_direction ==
"-x" )
2867 {sup_axis_y =
new TGaxis( (Float_t)(size_eta*MatSize), (Float_t)0.,
2868 (Float_t)(size_eta*MatSize), (Float_t)(size_phi*MatSize),
2869 "f2", size_phi,
"+CS", 0.); fCnewRoot++;}
2871 if ( y_direction ==
"x" )
2872 {sup_axis_y =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t) 0., (Float_t)(size_phi*MatSize),
2873 "f2", size_phi,
"BCS", 0.); fCnewRoot++;}
2875 sup_axis_y->SetTitle(y_var_name);
2876 sup_axis_y->SetTitleSize(tit_siz_y);
2877 sup_axis_y->SetTitleOffset(tit_off_y);
2878 sup_axis_y->SetLabelSize(lab_siz_y);
2879 sup_axis_y->SetLabelOffset(lab_off_y);
2880 sup_axis_y->SetTickSize(tic_siz_y);
2881 sup_axis_y->Draw(
"SAME");
2891 new TF1(
"f3", jy_direction.Data(), j_phi_min, j_phi_max); fCnewRoot++;
2892 TGaxis* sup_axis_jy =
nullptr;
2894 sup_axis_jy =
new TGaxis( (Float_t)0., (Float_t)0.,
2895 (Float_t)0., (Float_t)(size_phi*MatSize),
2896 "f3", size_phi,
"SC", 0.); fCnewRoot++;
2898 sup_axis_jy->SetTitle(jy_var_name);
2899 sup_axis_jy->SetTitleSize(tit_siz_y);
2900 sup_axis_jy->SetTitleOffset(tit_off_y);
2901 sup_axis_jy->SetLabelSize(lab_siz_y);
2902 sup_axis_jy->SetLabelOffset(lab_off_y);
2903 sup_axis_jy->SetTickSize(tic_siz_y);
2904 sup_axis_jy->Draw(
"SAME");
2914 const Int_t& MatSize,
const Int_t& size_IX,
2915 const Int_t& size_IY,
const TString& chopt)
2919 Double_t xline = 0.;
2921 Double_t yline_bot = 0.;
2922 Double_t yline_top = (Double_t)(MatSize*size_IX);
2924 for( Int_t
i = 0 ;
i < size_IX ;
i++)
2926 xline = xline + (Double_t)MatSize;
2928 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
2933 Double_t xline_left = 0;
2934 Double_t xline_right = (Double_t)(MatSize*size_IX);
2936 Double_t yline = -(Double_t)MatSize;
2938 for( Int_t j = 0 ; j < size_IX+1 ; j++)
2940 yline = yline + (Double_t)MatSize;
2942 lin =
new TLine(xline_left, yline, xline_right, yline);
fCnewRoot++;
2954 Float_t axis_x_inf = 0;
2955 Float_t axis_x_sup = 0;
2956 Float_t axis_y_inf = 0;
2957 Float_t axis_y_sup = 0;
2958 Int_t axis_nb_div = 1;
2959 Double_t IX_values_min = 0;
2960 Double_t IX_values_max = 0;
2961 Option_t* axis_chopt =
"CS";
2969 TString StrDee =
"iIXSC";
2970 if( DeeNumber == 1 ){StrDee =
"iIXDee1";}
2971 if( DeeNumber == 2 ){StrDee =
"iIXDee2";}
2972 if( DeeNumber == 3 ){StrDee =
"iIXDee3";}
2973 if( DeeNumber == 4 ){StrDee =
"iIXDee4";}
2978 TGaxis* sup_axis_x =
nullptr;
2980 if( DeeNumber == 1 )
2982 axis_x_inf = 0; axis_y_inf = 0; axis_x_sup = size_IX*MatSize; axis_y_sup = 0;
2983 axis_nb_div = size_IX;
2984 IX_values_min = -IX_min ; IX_values_max = -IX_max; axis_chopt =
"CS";
2986 if( DeeNumber == 2 )
2988 axis_x_inf = 0; axis_y_inf = 0; axis_x_sup = size_IX*MatSize; axis_y_sup = 0;
2989 axis_nb_div = size_IX;
2990 IX_values_min = IX_min ; IX_values_max = IX_max; axis_chopt =
"CS";
2992 if( DeeNumber == 3 )
2994 axis_x_inf = 0; axis_y_inf = 0; axis_x_sup = size_IX*MatSize; axis_y_sup = 0;
2995 axis_nb_div = size_IX;
2996 IX_values_min = IX_min ; IX_values_max = IX_max; axis_chopt =
"CS";
2998 if( DeeNumber == 4 )
3000 axis_x_inf = 0; axis_y_inf = 0; axis_x_sup = size_IX*MatSize; axis_y_sup = 0;
3001 axis_nb_div = size_IX;
3002 IX_values_min = -IX_min ; IX_values_max = -IX_max; axis_chopt =
"CS";
3005 new TF1(
"f1", x_direction.Data(), IX_values_min, IX_values_max);
fCnewRoot++;
3006 sup_axis_x =
new TGaxis( axis_x_inf, axis_y_inf, axis_x_sup, axis_y_sup,
3007 "f1", axis_nb_div, axis_chopt , 0.); fCnewRoot++;
3009 sup_axis_x->SetTitle(x_var_name);
3010 sup_axis_x->SetTitleSize(tit_siz_x);
3011 sup_axis_x->SetTitleOffset(tit_off_x);
3012 sup_axis_x->SetLabelSize(lab_siz_x);
3013 sup_axis_x->SetLabelOffset(lab_off_x);
3014 sup_axis_x->SetTickSize(tic_siz_x);
3015 sup_axis_x->Draw(
"SAME");
3031 new TF1(
"f2", jy_direction.Data(), j_IY_min, j_IY_max); fCnewRoot++;
3033 TGaxis* sup_axis_jy =
new TGaxis( (Float_t)0., (Float_t)0.,
3034 (Float_t)0., (Float_t)(size_IY*MatSize),
3035 "f2", size_IY,
"CS", 0.); fCnewRoot++;
3037 sup_axis_jy->SetTitle(jy_var_name);
3038 sup_axis_jy->SetTitleSize(tit_siz_y);
3039 sup_axis_jy->SetTitleOffset(tit_off_y);
3040 sup_axis_jy->SetLabelSize(lab_siz_y);
3041 sup_axis_jy->SetLabelOffset(lab_off_y);
3042 sup_axis_jy->SetTickSize(tic_siz_y);
3043 sup_axis_jy->Draw();
3062 const TString& HistoCode)
3066 Bool_t OKFileExists = kFALSE;
3067 Bool_t OKData = kFALSE;
3069 Int_t n1StexStin = -1;
3081 if( OKFileExists == kTRUE )
3093 if( arg_AlreadyRead >= 1 )
3095 OKFileExists = kTRUE;
3098 if( OKFileExists == kTRUE )
3104 sprintf(f_in_mat_tit,
"?");
3106 if (HistoCode ==
"D_NOE_ChNb") {sprintf(f_in_mat_tit,
"Number of events");}
3107 if (HistoCode ==
"D_Ped_ChNb") {sprintf(f_in_mat_tit,
"Pedestals");}
3108 if (HistoCode ==
"D_TNo_ChNb") {sprintf(f_in_mat_tit,
"Total noise");}
3109 if (HistoCode ==
"D_MCs_ChNb") {sprintf(f_in_mat_tit,
"Mean cor(s,s')");}
3110 if (HistoCode ==
"D_LFN_ChNb") {sprintf(f_in_mat_tit,
"Low frequency noise");}
3111 if (HistoCode ==
"D_HFN_ChNb") {sprintf(f_in_mat_tit,
"High frequency noise");}
3112 if (HistoCode ==
"D_SCs_ChNb") {sprintf(f_in_mat_tit,
"Sigma of cor(s,s')");}
3118 Int_t nb_binx = GeoBidSizeHoco;
3119 Int_t nb_biny = GeoBidSizeVeco;
3120 Axis_t xinf_bid = (Axis_t)0.;
3121 Axis_t xsup_bid = (Axis_t)GeoBidSizeHoco;
3122 Axis_t yinf_bid = (Axis_t)0.;
3123 Axis_t ysup_bid = (Axis_t)GeoBidSizeVeco;
3125 TString axis_x_var_name =
" #Hoco ";
3126 TString axis_y_var_name =
" #Veco ";
3130 TH2D* h_geo_bid =
new TH2D(
"geobidim_ViewStex", f_in_mat_tit,
3131 nb_binx, xinf_bid, xsup_bid,
3132 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
3143 if (HistoCode ==
"D_Ped_ChNb" ){
3145 if (HistoCode ==
"D_TNo_ChNb" ){
3147 if (HistoCode ==
"D_MCs_ChNb" ){
3149 if (HistoCode ==
"D_LFN_ChNb" ){
3151 if (HistoCode ==
"D_HFN_ChNb" ){
3153 if (HistoCode ==
"D_SCs_ChNb" ){
3159 if( arg_AlreadyRead >= 1 )
3161 partial_histp = arg_read_histo;
3166 TMatrixD read_matrix(nb_binx, nb_biny);
3167 for(Int_t
i=0;
i<nb_binx;
i++)
3168 {
for(Int_t j=0; j<nb_biny; j++){read_matrix(
i,j)=(Double_t)0.;}}
3170 if ( OKData == kTRUE )
3178 if( arg_AlreadyRead >= 1 )
3179 {n1StexStin = i0StexStinEcna+1;}
3181 if (n1StexStin != -1)
3190 if(i_xgeo >=0 && i_xgeo < nb_binx && i_ygeo >=0 && i_ygeo < nb_biny)
3192 read_matrix(i_xgeo, i_ygeo) = partial_histp(iStexEcha);
3193 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
3194 (Double_t)read_matrix(i_xgeo, i_ygeo));
3252 TString name_cov_cor;
3254 name_cov_cor.Resize(MaxCar);
3257 if( HistoCode ==
"D_NOE_ChNb"){name_cov_cor =
"Nb_Of_D_Adc_EvDs";}
3258 if( HistoCode ==
"D_Ped_ChNb"){name_cov_cor =
"Pedestals";}
3259 if( HistoCode ==
"D_TNo_ChNb"){name_cov_cor =
"Total_noise";}
3260 if( HistoCode ==
"D_MCs_ChNb"){name_cov_cor =
"Mean_Corss";}
3261 if( HistoCode ==
"D_LFN_ChNb"){name_cov_cor =
"Low_Fq_Noise";}
3262 if( HistoCode ==
"D_HFN_ChNb"){name_cov_cor =
"High_Fq_Noise";}
3263 if( HistoCode ==
"D_SCs_ChNb"){name_cov_cor =
"Sigma_Corss";}
3267 name_visu.Resize(MaxCar);
3270 TString flag_already_read;
3272 flag_already_read.Resize(MaxCar);
3273 flag_already_read =
"?";
3274 sprintf(f_in,
"M%d", arg_AlreadyRead); flag_already_read = f_in;
3276 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%s%d_%s_HocoVeco_R%s",
3279 name_visu.Data(), flag_already_read.Data());
3284 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
3289 delete [] f_in; f_in =
nullptr;
fCdelete++;
3300 Double_t x_margin = x_low;
3301 Double_t y_margin = y_low;
3302 MainCanvas->Divide( 1, 1, x_margin, y_margin);
3309 TVirtualPad* main_subpad = gPad;
3310 main_subpad->SetPad(x_low, y_low, x_up, y_up);}
3313 h_geo_bid->GetXaxis()->SetTitle(axis_x_var_name);
3314 h_geo_bid->GetYaxis()->SetTitle(axis_y_var_name);
3316 h_geo_bid->DrawCopy(
"COLZ");
3324 Bool_t b_true =
true;
3325 h_geo_bid->SetStats(b_true);
3326 h_geo_bid->Delete(); h_geo_bid =
nullptr;
fCdeleteRoot++;
3330 delete [] f_in_mat_tit; f_in_mat_tit =
nullptr;
fCdelete++;
3336 std::cout <<
"!TEcnaHistos::ViewStex(...)> *ERROR* =====> " 3337 <<
" ROOT file not found" <<
fTTBELL << std::endl;
3376 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') for each tower in SM");}
3378 {sprintf(f_in_mat_tit,
"HF Cor(Xtal,Xtal') for each tower in SM");}
3380 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') for each SC in Dee");}
3382 {sprintf(f_in_mat_tit,
"HF Cor(Xtal,Xtal') for each SC in Dee");}
3388 Int_t nb_binx = GeoBidSizeHoco;
3389 Int_t nb_biny = GeoBidSizeVeco;
3390 Axis_t xinf_bid = (Axis_t)0.;
3391 Axis_t xsup_bid = (Axis_t)GeoBidSizeHoco;
3392 Axis_t yinf_bid = (Axis_t)0.;
3393 Axis_t ysup_bid = (Axis_t)GeoBidSizeVeco;
3395 TString axis_x_var_name =
" #Hoco ";
3396 TString axis_y_var_name =
" #varVeco ";
3426 TH2D* h_geo_bid =
new TH2D(
"geobidim_HocoVecoLHFCorcc", f_in_mat_tit,
3427 nb_binx, xinf_bid, xsup_bid,
3428 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
3435 Int_t n1StexStin = (Int_t)Stin_numbers(i0StexStinEcna);
3439 if (n1StexStin != -1)
3447 Int_t i_xgeo = offset_x + i0StinEcha;
3448 Int_t i_ygeo = offset_y + j0StinEcha;
3450 if(i_xgeo >=0 && i_xgeo < nb_binx && i_ygeo >=0 && i_ygeo < nb_biny)
3455 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
3456 (Double_t)partial_matrix(iEcha, jEcha));
3465 TString HistoCode =
"H2CorccInStins";
3506 TString name_cov_cor;
3508 name_cov_cor.Resize(MaxCar);
3509 if( Freq ==
"LF" ){name_cov_cor =
"StexLFCorcc";}
3510 if( Freq ==
"HF" ){name_cov_cor =
"StexHFCorcc";}
3514 name_visu.Resize(MaxCar);
3517 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_Stex%s%d_%s_HocoVeco",
3525 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
3531 delete [] f_in; f_in =
nullptr;
fCdelete++;
3542 Double_t x_margin = x_low;
3543 Double_t y_margin = y_low;
3544 MainCanvas->Divide( 1, 1, x_margin, y_margin);
3552 TVirtualPad* main_subpad = gPad;
3553 main_subpad->SetPad(x_low, y_low, x_up, y_up);
3556 h_geo_bid->GetXaxis()->SetTitle(axis_x_var_name);
3557 h_geo_bid->GetYaxis()->SetTitle(axis_y_var_name);
3559 h_geo_bid->DrawCopy(
"COLZ");
3567 Bool_t b_true =
true;
3568 h_geo_bid->SetStats(b_true);
3569 h_geo_bid->Delete(); h_geo_bid =
nullptr;
fCdeleteRoot++;
3574 delete [] f_in_mat_tit; f_in_mat_tit =
nullptr;
fCdelete++;
3580 std::cout <<
"!TEcnaHistos::StexHocoVecoLHFCorcc(...)> *ERROR* =====> " 3581 <<
" ROOT file not found" <<
fTTBELL << std::endl;
3591 const Int_t& i0StinEcha)
3607 if( DeeDir ==
"right" )
3609 if( DeeDir ==
"left" )
3616 const Int_t& j0StinEcha)
3689 if( (SMNumber > 0) && (SMNumber <= fEcal->MaxSMInEB()) )
3694 Int_t nb_binx = GeoBidSizeEta;
3695 Int_t nb_biny = GeoBidSizePhi;
3696 Axis_t xinf_bid = (Axis_t)0.;
3697 Axis_t xsup_bid = (Axis_t)GeoBidSizeEta;
3698 Axis_t yinf_bid = (Axis_t)0.;
3699 Axis_t ysup_bid = (Axis_t)GeoBidSizePhi;
3701 TString axis_x_var_name =
" #eta ";
3702 TString axis_y_var_name =
" #varphi ";
3709 if( SMNumber <= fEcal->MaxSMPhiInEB() )
3710 {sprintf(f_in_mat_tit,
" SM tower numbering");}
3712 {sprintf(f_in_mat_tit,
" SM tower numbering ");}
3716 TH2D* h_empty_bid =
new TH2D(
"grid_bidim_eta_phi", f_in_mat_tit,
3717 nb_binx, xinf_bid, xsup_bid,
3718 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
3719 h_empty_bid->Reset();
3721 h_empty_bid->GetXaxis()->SetTitle(axis_x_var_name);
3722 h_empty_bid->GetYaxis()->SetTitle(axis_y_var_name);
3742 sprintf(f_in,
"tower_numbering_for_SuperModule_SM%d", SMNumber);
3746 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
3751 delete [] f_in; f_in =
nullptr;
fCdelete++;
3758 MainCanvas->Divide(1, 1, x_margin, y_margin);
3761 h_empty_bid->DrawCopy(
"COL");
3767 Bool_t b_true =
true;
3768 h_empty_bid->SetStats(b_true);
3770 h_empty_bid->Delete(); h_empty_bid =
nullptr;
fCdeleteRoot++;
3774 delete [] f_in_mat_tit; f_in_mat_tit =
nullptr;
fCdelete++;
3778 std::cout <<
"!TEcnaHistos::SMTowerNumbering(...)> SM = " << SMNumber
3788 gStyle->SetTitleW(0.2);
3789 gStyle->SetTitleH(0.07);
3799 gStyle->SetTextSize(0.075);
3802 Int_t y_channel = 12;
3803 Int_t x_channel = 12;
3809 TText *text_SMtow_num =
new TText();
fCnewRoot++;
3814 {text_SMtow_num->SetTextColor(couleur_rouge);}
3816 {text_SMtow_num->SetTextColor(couleur_bleu_fonce);}
3824 Double_t y_from_phi = max_tow_phi - 1
3829 sprintf(f_in,
"%d", i_SMtow);
3830 text_SMtow_num->DrawText(x_from_eta, y_from_phi, f_in);
3833 text_SMtow_num->Delete(); text_SMtow_num =
nullptr;
fCdeleteRoot++;
3836 Double_t offset_tow_tex_eta = (Double_t)8.;
3837 Double_t offset_tow_tex_phi = (Double_t)15.;
3840 Double_t x_legend = (Double_t)0.;
3841 Double_t y_legend = (Double_t)0.;
3846 gStyle->SetTextSize(0.075);
3847 gStyle->SetTextColor(couleur_rouge);
3853 x_legend = x_legend + offset_tow_tex_eta;
3854 y_legend = y_legend + offset_tow_tex_phi;
3858 x_legend = -x_legend + offset_tow_tex_eta;
3859 y_legend = y_legend + offset_tow_tex_phi;
3862 sprintf( f_in,
"xx");
3863 TText *text_legend_rouge =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3864 text_legend_rouge->Draw();
3865 gStyle->SetTextSize(0.05);
3866 x_legend = x_legend - (Double_t)3.5;
3867 y_legend = y_legend - (Double_t)2.;
3868 sprintf(f_in,
" LVRB ");
3869 TText *text_legend_rouge_expl =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3870 text_legend_rouge_expl->Draw();
3871 y_legend = y_legend - (Double_t)1.75;
3874 TText *text_legend_rouge_expm =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3875 text_legend_rouge_expm->Draw();
3879 gStyle->SetTextSize(0.075);
3880 gStyle->SetTextColor(couleur_bleu_fonce);
3886 x_legend = x_legend + offset_tow_tex_eta;
3887 y_legend = y_legend + offset_tow_tex_phi/3;
3891 x_legend = -x_legend + offset_tow_tex_eta;
3892 y_legend = y_legend + offset_tow_tex_phi/3;
3895 sprintf(f_in,
"xx");
3896 TText *text_legend_bleu =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3897 text_legend_bleu->Draw();
3899 gStyle->SetTextSize(0.05);
3900 x_legend = x_legend - (Double_t)3.5;
3901 y_legend = y_legend - (Double_t)2.;
3902 sprintf( f_in,
" LVRB ");
3903 TText *text_legend_bleu_expl =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3904 text_legend_bleu_expl->Draw();
3905 y_legend = y_legend - (Double_t)1.75;
3908 TText *text_legend_bleu_expm =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3909 text_legend_bleu_expm->Draw();
3912 delete [] f_in; f_in =
nullptr;
fCdelete++;
3914 gStyle->SetTextColor(couleur_noir);
3925 if ( c_option ==
"corcc")
3931 Int_t nb_binx = GeoBidSizeEta;
3932 Int_t nb_biny = GeoBidSizePhi;
3933 Axis_t xinf_bid = (Axis_t)0.;
3934 Axis_t xsup_bid = (Axis_t)GeoBidSizeEta;
3935 Axis_t yinf_bid = (Axis_t)0.;
3936 Axis_t ysup_bid = (Axis_t)GeoBidSizePhi;
3942 if ( c_option ==
"corcc")
3947 Int_t max_x = nb_binx/size_eta;
3948 Int_t max_y = nb_biny/size_phi;
3951 Double_t yline = (Double_t)yinf_bid;
3953 Double_t xline_left = (Double_t)xinf_bid;
3954 Double_t xline_right = (Double_t)xsup_bid;
3956 for( Int_t j = 0 ; j < max_y ; j++)
3958 yline = yline + (Double_t)size_phi;
3960 lin =
new TLine(xline_left, yline, xline_right, yline);
fCnewRoot++;
3966 Double_t xline = (Double_t)xinf_bid - (Double_t)size_eta;
3968 Double_t yline_bot = (Double_t)yinf_bid;
3969 Double_t yline_top = (Double_t)ysup_bid;
3975 gStyle->SetTextColor(coul_textmodu);
3976 gStyle->SetTextSize(0.075);
3980 for( Int_t
i = 0 ;
i < max_x ;
i++)
3982 xline = xline + (Double_t)size_eta;
3984 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
3988 {lin->SetLineWidth(2); lin->SetLineColor(coul_surligne);}
3990 {lin->SetLineWidth(2); lin->SetLineColor(coul_surligne);}
3998 if(
i == 2 ){sprintf( f_in,
"M4");}
3999 if(
i == 6 ){sprintf( f_in,
"M3");}
4000 if(
i == 10 ){sprintf( f_in,
"M2");}
4001 if(
i == 14 ){sprintf( f_in,
"M1");}
4003 TText *text_num_module =
new TText(xline + 1, yline_top + 1, f_in);
fCnewRoot++;
4004 text_num_module->Draw();
4009 if(
i == 3 ){sprintf( f_in,
"M1");}
4010 if(
i == 7 ){sprintf( f_in,
"M2");}
4011 if(
i == 11 ){sprintf( f_in,
"M3");}
4012 if(
i == 15 ){sprintf( f_in,
"M4");}
4014 TText *text_num_module =
new TText(xline, yline_top + 1, f_in);
fCnewRoot++;
4015 text_num_module->Draw();
4019 delete [] f_in; f_in =
nullptr;
fCdelete++;
4043 TGaxis* sup_axis_x =
nullptr;
4045 if( x_direction ==
"-x" )
4046 {sup_axis_x =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t)(size_eta_sm*MatSize), (Float_t)0.,
4047 "f1", size_eta_sm,
"SC" , 0.); fCnewRoot++;}
4049 if( x_direction ==
"x" )
4050 {sup_axis_x =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t)(size_eta_sm*MatSize), (Float_t)0.,
4051 "f1", size_eta_sm,
"SC" , 0.); fCnewRoot++;}
4053 sup_axis_x->SetTitle(x_var_name);
4054 sup_axis_x->SetTitleSize(tit_siz_x);
4055 sup_axis_x->SetTitleOffset(tit_off_x);
4056 sup_axis_x->SetLabelSize(lab_siz_x);
4057 sup_axis_x->SetLabelOffset(lab_off_x);
4058 sup_axis_x->SetTickSize(tic_siz_x);
4059 sup_axis_x->Draw(
"SAME");
4074 new TF1(
"f2", y_direction.Data(), phi_min, phi_max); fCnewRoot++;
4075 TGaxis* sup_axis_y =
nullptr;
4077 if ( y_direction ==
"-x" )
4078 {sup_axis_y =
new TGaxis(-(Float_t)1.5*(Float_t)size_eta, (Float_t)0.,
4079 -(Float_t)1.5*(Float_t)size_eta, (Float_t)(size_phi_sm*MatSize),
4080 "f2", (Int_t)size_phi_sm,
"SC", 0.); fCnewRoot++;}
4082 if ( y_direction ==
"x" )
4083 {sup_axis_y =
new TGaxis(-(Float_t)1.5*(Float_t)size_eta, (Float_t)0.,
4084 -(Float_t)1.5*(Float_t)size_eta, (Float_t)(size_phi_sm*MatSize),
4085 "f2", (Int_t)size_phi_sm,
"SC", 0.); fCnewRoot++;}
4087 sup_axis_y->SetTitle(y_var_name);
4088 sup_axis_y->SetTitleSize(tit_siz_y);
4089 sup_axis_y->SetTitleOffset(tit_off_y);
4090 sup_axis_y->SetLabelSize(lab_siz_y);
4091 sup_axis_y->SetLabelOffset(lab_off_y);
4092 sup_axis_y->SetTickSize(tic_siz_y);
4093 sup_axis_y->Draw(
"SAME");
4099 TString jy_var_name =
" ";
4102 new TF1(
"f3", jy_direction.Data(), jphi_min, jphi_max); fCnewRoot++;
4103 TGaxis* sup_axis_jy =
nullptr;
4106 sup_axis_jy =
new TGaxis((Float_t)0., (Float_t)0.,
4107 (Float_t)0., (Float_t)(size_phi_sm*MatSize),
4108 "f3", (Int_t)size_phi_sm,
"SC", 0.); fCnewRoot++;
4110 if ( jy_direction ==
"-x" )
4113 if ( jy_direction ==
"x" )
4118 sup_axis_jy->SetTitle(jy_var_name);
4119 sup_axis_jy->SetTitleSize(tit_siz_y);
4120 sup_axis_jy->SetTitleOffset(tit_off_y);
4121 sup_axis_jy->SetLabelSize(lab_siz_y);
4122 sup_axis_jy->SetLabelOffset(lab_off_y);
4123 sup_axis_jy->SetTickSize(tic_siz_y);
4124 sup_axis_jy->Draw(
"SAME");
4137 if( (DeeNumber > 0) && (DeeNumber <= fEcal->MaxDeeInEE()) )
4142 Int_t nb_binx = GeoBidSizeIX;
4143 Int_t nb_biny = GeoBidSizeIY;
4144 Axis_t xinf_bid = (Axis_t)0.;
4145 Axis_t xsup_bid = (Axis_t)GeoBidSizeIX;
4146 Axis_t yinf_bid = (Axis_t)0.;
4147 Axis_t ysup_bid = (Axis_t)GeoBidSizeIY;
4149 TString axis_x_var_name =
" IX ";
4150 TString axis_y_var_name =
" IY ";
4157 sprintf(f_in_mat_tit,
" Dee SC numbering ");
4161 TH2D* h_empty_bid =
new TH2D(
"grid_bidim_IX_IY", f_in_mat_tit,
4162 nb_binx, xinf_bid, xsup_bid,
4163 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
4165 delete [] f_in_mat_tit; f_in_mat_tit =
nullptr;
fCdelete++;
4167 h_empty_bid->Reset();
4169 h_empty_bid->GetXaxis()->SetTitle(axis_x_var_name);
4170 h_empty_bid->GetYaxis()->SetTitle(axis_y_var_name);
4189 sprintf(f_in,
"SC_numbering_for_Dee_Dee%d", DeeNumber);
4191 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
4196 delete [] f_in; f_in =
nullptr;
fCdelete++;
4207 Double_t x_margin = x_low;
4208 Double_t y_margin = y_low;
4210 MainCanvas->Divide( 1, 1, x_margin, y_margin);
4214 TVirtualPad* main_subpad = gPad;
4215 main_subpad->SetPad(x_low, y_low, x_up, y_up);
4217 h_empty_bid->DrawCopy(
"COL");
4224 Bool_t b_true =
true;
4225 h_empty_bid->SetStats(b_true);
4227 h_empty_bid->Delete(); h_empty_bid =
nullptr;
fCdeleteRoot++;
4233 std::cout <<
"!TEcnaHistos::DeeSCNumbering(...)> Dee = " << DeeNumber
4243 gStyle->SetTitleW(0.4);
4244 gStyle->SetTitleH(0.08);
4251 gStyle->SetTextSize(0.0325);
4254 Int_t x_channel = 0;
4255 TText *text_DSSC_num =
new TText();
fCnewRoot++;
4256 TText *text_DeeSCCons_num =
new TText();
fCnewRoot++;
4262 if( SCQuadType ==
"top" && DeeDir ==
"right"){x_channel = 13;}
4263 if( SCQuadType ==
"top" && DeeDir ==
"left" ){x_channel = 7;}
4264 if( SCQuadType ==
"bottom" && DeeDir ==
"left" ){x_channel = 11;}
4265 if( SCQuadType ==
"bottom" && DeeDir ==
"right"){x_channel = 17;}
4266 Int_t i_SCEcha = (Int_t)x_channel;
4268 Double_t x_from_IX = (Double_t)
GetXCrysInStex(DeeNumber, n1DeeSCEcna, i_SCEcha);
4269 Double_t y_from_IY = (Double_t)
GetYCrysInStex(DeeNumber, n1DeeSCEcna, i_SCEcha);
4270 Double_t y_from_IYp = y_from_IY + (Double_t)1.;
4271 Double_t y_from_IYm = y_from_IY - (Double_t)1.;
4274 Color_t couleur_SC =
GetSCColor(DeeEndcap, DeeDir, SCQuadType);
4275 text_DSSC_num->SetTextColor(couleur_SC);
4276 text_DeeSCCons_num->SetTextColor((Color_t)1);
4284 !(i_DeeSCCons == 33 && n1DeeSCEcna == 60) &&
4285 !(i_DeeSCCons == 33 && n1DeeSCEcna == 119) &&
4287 !(i_DeeSCCons == 29 && n1DeeSCEcna == 32) &&
4288 !(i_DeeSCCons == 29 && n1DeeSCEcna == 138) &&
4289 !(i_DeeSCCons == 29 && n1DeeSCEcna == 157) &&
4290 !(i_DeeSCCons == 58 && n1DeeSCEcna == 176) &&
4291 !(i_DeeSCCons == 58 && n1DeeSCEcna == 193) &&
4293 !(i_DeeSCCons == 149 && n1DeeSCEcna == 188) &&
4295 !(i_DeeSCCons == 112 && n1DeeSCEcna == 29) &&
4296 !(i_DeeSCCons == 112 && n1DeeSCEcna == 144) &&
4297 !(i_DeeSCCons == 112 && n1DeeSCEcna == 165) &&
4298 !(i_DeeSCCons == 119 && n1DeeSCEcna == 102) &&
4299 !(i_DeeSCCons == 119 && n1DeeSCEcna == 123) &&
4301 !(i_DeeSCCons == 132 && n1DeeSCEcna == 41) &&
4304 !(i_DeeSCCons == 182 && n1DeeSCEcna == 60) &&
4305 !(i_DeeSCCons == 182 && n1DeeSCEcna == 119) &&
4307 !(i_DeeSCCons == 178 && n1DeeSCEcna == 32) &&
4308 !(i_DeeSCCons == 178 && n1DeeSCEcna == 138) &&
4309 !(i_DeeSCCons == 178 && n1DeeSCEcna == 157) &&
4310 !(i_DeeSCCons == 207 && n1DeeSCEcna == 176) &&
4311 !(i_DeeSCCons == 207 && n1DeeSCEcna == 193) &&
4313 !(i_DeeSCCons == 298 && n1DeeSCEcna == 188) &&
4315 !(i_DeeSCCons == 261 && n1DeeSCEcna == 29) &&
4316 !(i_DeeSCCons == 261 && n1DeeSCEcna == 144) &&
4317 !(i_DeeSCCons == 261 && n1DeeSCEcna == 165) &&
4318 !(i_DeeSCCons == 268 && n1DeeSCEcna == 102) &&
4319 !(i_DeeSCCons == 268 && n1DeeSCEcna == 123) &&
4321 !(i_DeeSCCons == 281 && n1DeeSCEcna == 41)
4324 sprintf(f_in,
"%d", i_DSSC);
4325 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4326 sprintf(f_in,
"%d", i_DeeSCCons);
4327 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4332 if( i_DeeSCCons == 33 && n1DeeSCEcna == 60 )
4334 sprintf(f_in,
"30a");
4335 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4336 sprintf(f_in,
"33a");
4337 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4339 if( i_DeeSCCons == 33 && n1DeeSCEcna == 119 )
4341 sprintf(f_in,
"30b");
4342 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4343 sprintf(f_in,
"33b");
4344 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4347 if( i_DeeSCCons == 29 && n1DeeSCEcna == 32 )
4349 sprintf(f_in,
" 3c-25c");
4350 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4351 sprintf(f_in,
"29c-58c");
4352 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4354 if( i_DeeSCCons == 29 && n1DeeSCEcna == 138 )
4356 sprintf(f_in,
"3a");
4357 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4358 sprintf(f_in,
"29a");
4359 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4361 if( i_DeeSCCons == 29 && n1DeeSCEcna == 157 )
4363 sprintf(f_in,
"3b");
4364 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4365 sprintf(f_in,
"29b");
4366 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4369 if( i_DeeSCCons == 58 && n1DeeSCEcna == 176 )
4371 sprintf(f_in,
"25a");
4372 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4373 sprintf(f_in,
"58a");
4374 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4376 if( i_DeeSCCons == 58 && n1DeeSCEcna == 193 )
4378 sprintf(f_in,
"25b");
4379 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4380 sprintf(f_in,
"58b");
4381 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4384 if( i_DeeSCCons == 149 && n1DeeSCEcna == 188 )
4386 sprintf(f_in,
"34a");
4387 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4388 sprintf(f_in,
"149a");
4389 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4392 if( i_DeeSCCons == 112 && n1DeeSCEcna == 29 )
4394 sprintf(f_in,
" 14a-21a");
4395 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4396 sprintf(f_in,
"112a-119a");
4397 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4399 if( i_DeeSCCons == 112 && n1DeeSCEcna == 144 )
4401 sprintf(f_in,
"14c");
4402 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4403 sprintf(f_in,
"112c");
4404 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4406 if( i_DeeSCCons == 112 && n1DeeSCEcna == 165 )
4408 sprintf(f_in,
"14b");
4409 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4410 sprintf(f_in,
"112b");
4411 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4414 if( i_DeeSCCons == 119 && n1DeeSCEcna == 102 )
4416 sprintf(f_in,
"21c");
4417 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4418 sprintf(f_in,
"119c");
4419 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4421 if( i_DeeSCCons == 119 && n1DeeSCEcna == 123 )
4423 sprintf(f_in,
"21b");
4424 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4425 sprintf(f_in,
"119b");
4426 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4429 if( i_DeeSCCons == 132 && n1DeeSCEcna == 41 )
4431 sprintf(f_in,
"3a");
4432 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4433 sprintf(f_in,
"132a");
4434 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4438 if( i_DeeSCCons == 182 && n1DeeSCEcna == 60 )
4440 sprintf(f_in,
"30a");
4441 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4442 sprintf(f_in,
"182a");
4443 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4445 if( i_DeeSCCons == 182 && n1DeeSCEcna == 119 )
4447 sprintf(f_in,
"30b");
4448 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4449 sprintf(f_in,
"182b");
4450 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4453 if( i_DeeSCCons == 178 && n1DeeSCEcna == 32 )
4455 sprintf(f_in,
" 3c-25c");
4456 text_DSSC_num->DrawText(x_from_IX-6, y_from_IYp, f_in);
4457 sprintf(f_in,
"178c-207c");
4458 text_DeeSCCons_num->DrawText(x_from_IX-6, y_from_IYm, f_in);
4460 if( i_DeeSCCons == 178 && n1DeeSCEcna == 138 )
4462 sprintf(f_in,
"3a");
4463 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4464 sprintf(f_in,
"178a");
4465 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4467 if( i_DeeSCCons == 178 && n1DeeSCEcna == 157 )
4469 sprintf(f_in,
"3b");
4470 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4471 sprintf(f_in,
"178b");
4472 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4475 if( i_DeeSCCons == 207 && n1DeeSCEcna == 176 )
4477 sprintf(f_in,
"25a");
4478 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4479 sprintf(f_in,
"207a");
4480 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4482 if( i_DeeSCCons == 207 && n1DeeSCEcna == 193 )
4484 sprintf(f_in,
"25b");
4485 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4486 sprintf(f_in,
"207b");
4487 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4490 if( i_DeeSCCons == 298 && n1DeeSCEcna == 188 )
4492 sprintf(f_in,
"34a");
4493 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4494 sprintf(f_in,
"298a");
4495 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4498 if( i_DeeSCCons == 261 && n1DeeSCEcna == 29 )
4500 sprintf(f_in,
" 14a-21a");
4501 text_DSSC_num->DrawText(x_from_IX-6, y_from_IYp, f_in);
4502 sprintf(f_in,
"261a-268a");
4503 text_DeeSCCons_num->DrawText(x_from_IX-6, y_from_IYm, f_in);
4505 if( i_DeeSCCons == 261 && n1DeeSCEcna == 144 )
4507 sprintf(f_in,
"14c");
4508 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4509 sprintf(f_in,
"261c");
4510 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4512 if( i_DeeSCCons == 261 && n1DeeSCEcna == 165 )
4514 sprintf(f_in,
"14b");
4515 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4516 sprintf(f_in,
"261b");
4517 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4520 if( i_DeeSCCons == 268 && n1DeeSCEcna == 102 )
4522 sprintf(f_in,
"21c");
4523 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4524 sprintf(f_in,
"268c");
4525 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4527 if( i_DeeSCCons == 268 && n1DeeSCEcna == 123 )
4529 sprintf(f_in,
"21b");
4530 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4531 sprintf(f_in,
"268b");
4532 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4535 if( i_DeeSCCons == 281 && n1DeeSCEcna == 41 )
4537 sprintf(f_in,
"20a");
4538 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4539 sprintf(f_in,
"281a");
4540 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4549 sprintf( f_in,
"color: nb in Data Sector, black: nb for construction");
4551 Int_t y_colors = -14;
4553 TText *text_colors =
new TText(x_colors, y_colors, f_in);
fCnewRoot++;
4554 text_colors->SetTextSize(0.03);
4555 text_colors->SetTextColor(coul_textcolors);
4556 text_colors->Draw();
4558 delete [] f_in; f_in =
nullptr;
fCdelete++;
4561 gStyle->SetTextColor(couleur_noir);
4572 if ( c_option ==
"corcc")
4578 Int_t nb_binx = GeoBidSizeIX;
4579 Int_t nb_biny = GeoBidSizeIY;
4580 Axis_t xinf_bid = (Axis_t)0.;
4581 Axis_t xsup_bid = (Axis_t)GeoBidSizeIX;
4583 Axis_t yinf_bid = (Axis_t)0.;
4584 Axis_t ysup_bid = (Axis_t)GeoBidSizeIY;
4585 Double_t ymid_bid = (Double_t)(ysup_bid-yinf_bid)/2.;
4594 Int_t max_x = nb_binx/size_IX;
4595 Int_t max_y = nb_biny/size_IY;
4596 Int_t max_yd = max_y/2;
4600 Int_t coefcc_x = (Int_t)1;
4601 Int_t coefcc_y = (Int_t)1;
4605 Double_t yline = (Double_t)yinf_bid - (Double_t)size_IY;
4607 Double_t xline_beg = (Double_t)xinf_bid;
4608 Double_t xline_end = (Double_t)xsup_bid;
4611 Int_t x_min[11] = {11,11, 7, 0, 0, 0, 0, 0, 0, 0, 0};
4612 Int_t x_max[11] = {50,50,47,45,45,42,37,35,30,15,50};
4613 for(Int_t
i=0;
i<11;
i++){x_min[
i] = coefcc_x*x_min[
i]; x_max[
i] = coefcc_x*x_max[
i];}
4615 for( Int_t j = 0 ; j < max_y ; j++)
4619 if( DeeNumber == 1 || DeeNumber == 3 )
4621 xline_beg = xinf_bid + (Double_t)x_min[10-j];
4622 xline_end = xinf_bid + (Double_t)x_max[10-j];
4624 if( DeeNumber == 2 || DeeNumber == 4 )
4626 xline_beg = xsup_bid - (Double_t)x_max[10-j];
4627 xline_end = xsup_bid - (Double_t)x_min[10-j];
4633 if( DeeNumber == 1 || DeeNumber == 3 )
4635 xline_beg = xinf_bid + (Double_t)x_min[0];
4636 xline_end = xinf_bid + (Double_t)x_max[0];
4638 if( DeeNumber == 2 || DeeNumber == 4 )
4640 xline_beg = xsup_bid - (Double_t)x_max[0];
4641 xline_end = xsup_bid - (Double_t)x_min[0];
4647 if( DeeNumber == 1 || DeeNumber == 3 )
4649 xline_beg = xinf_bid + (Double_t)x_min[j-10];
4650 xline_end = xinf_bid + (Double_t)x_max[j-10];
4652 if( DeeNumber == 2 || DeeNumber == 4 )
4654 xline_beg = xsup_bid - (Double_t)x_max[j-10];
4655 xline_end = xsup_bid - (Double_t)x_min[j-10];
4659 yline = yline + (Double_t)size_IY;
4661 lin =
new TLine(xline_beg, yline, xline_end, yline);
fCnewRoot++;
4668 Double_t xline = (Double_t)xinf_bid - (Double_t)size_IX;
4670 Double_t yline_haut_bot = (Double_t)ymid_bid;
4671 Double_t yline_haut_top = (Double_t)ysup_bid;
4673 Double_t yline_bas_bot = (Double_t)yinf_bid;
4674 Double_t yline_bas_top = (Double_t)ymid_bid;
4678 Int_t y_min[11] = { 0,11, 7, 0, 0, 0, 0, 0, 0, 0, 0};
4679 Int_t y_max[11] = {50,50,47,45,45,42,38,35,30,15,10};
4680 for(Int_t
i=0;
i<11;
i++){y_min[
i] = coefcc_y*y_min[
i]; y_max[
i] = coefcc_y*y_max[
i];}
4682 gStyle->SetTextSize(0.075);
4684 for( Int_t
i = 0 ;
i <= max_x ;
i++)
4686 if( DeeNumber == 1 || DeeNumber == 3 )
4688 yline_haut_bot = ymid_bid + (Double_t)y_min[
i];
4689 yline_haut_top = ymid_bid + (Double_t)y_max[
i];
4691 if( DeeNumber == 2 || DeeNumber == 4 )
4693 yline_haut_bot = ymid_bid + (Double_t)y_min[10-
i];
4694 yline_haut_top = ymid_bid + (Double_t)y_max[10-
i];
4696 yline_bas_bot = ysup_bid - yline_haut_top;
4697 yline_bas_top = ysup_bid - yline_haut_bot;
4699 xline = xline + (Double_t)size_IX;
4701 lin_haut =
new TLine(xline, yline_haut_bot, xline, yline_haut_top);
fCnewRoot++;
4705 lin_bas =
new TLine(xline, yline_bas_bot, xline, yline_bas_top);
fCnewRoot++;
4711 Float_t fcoefcc_x = (Float_t)coefcc_x;
4712 Float_t fcoefcc_y = (Float_t)coefcc_y;
4728 Int_t nb_niv2 = (nb_niv+1)/2;
4730 for (Int_t num_niv = 0; num_niv < nb_niv2; num_niv++)
4732 Int_t ind_niv = num_niv + nb_niv2 - 1;
4733 if ( ind_niv < 0 || ind_niv > nb_niv )
4735 std::cout <<
"!TEcnaHistos::ContourLevels(...)> *** ERROR *** " 4736 <<
"wrong contour levels for correlation matrix" 4742 (Double_t)(num_niv*num_niv)/
4743 ((Double_t)((nb_niv2-1)*(nb_niv2-1)));
4746 for (Int_t num_niv = -1; num_niv > -nb_niv2; num_niv--)
4748 Int_t ind_niv = num_niv + nb_niv2 - 1;
4749 if ( ind_niv < 0 || ind_niv > nb_niv )
4751 std::cout <<
"!TEcnaHistos::ContourLevels(...)> *** ERROR *** " 4752 <<
"wrong contour levels for correlation matrix" 4758 -(Double_t)(num_niv*num_niv)/
4759 ((Double_t)((nb_niv2-1)*(nb_niv2-1)));
4771 TString xname =
" ";
4781 TString xname =
" ";
4783 if ( chcode ==
"ietaEB" ){xname =
"i#eta Xtal ";}
4784 if ( chcode ==
"ietaSM" ){xname =
"i#eta Xtal ";}
4785 if ( chcode ==
"ietaTow"){xname =
"i#eta Xtal ";}
4787 if ( chcode ==
"iphiEB" ){xname =
" i#varphi Xtal";}
4788 if ( chcode ==
"jphiEB+" ){xname =
" i#varphi Xtal";}
4789 if ( chcode ==
"jphiEB-" ){xname =
" i#varphi Xtal";}
4790 if ( chcode ==
"jphiSMB+" ){xname =
" i#varphi Xtal";}
4791 if ( chcode ==
"jphiSMB-" ){xname =
"i#varphi Xtal ";}
4792 if ( chcode ==
"jphiTow" ){xname =
"i#varphi Xtal in SM ";}
4793 if ( chcode ==
"phi" ){xname =
"i#varphi Xtal in EB ";}
4800 TString xname =
" ";
4802 if ( chcode ==
"iIXDee" ){xname =
"IX(SC)";}
4804 if ( chcode ==
"iIXDee1" ){xname =
" -IX Xtal";}
4805 if ( chcode ==
"iIXDee2" ){xname =
" IX Xtal ";}
4806 if ( chcode ==
"iIXDee3" ){xname =
" IX Xtal";}
4807 if ( chcode ==
"iIXDee4" ){xname =
"-IX Xtal ";}
4809 if ( chcode ==
"iIXEE" ){xname =
" IX Xtal";}
4811 if ( chcode ==
"iIXSC" ){xname =
"IX Xtal";}
4813 if ( chcode ==
"jIYDee" ){xname =
"IY Xtal";}
4814 if ( chcode ==
"jIYSC" ){xname =
"IY Xtal";}
4815 if ( chcode ==
"IY" ){xname =
"IY";}
4829 const TString& HistoCode)
4836 if (HistoCode ==
"D_NOE_ChNb"){sprintf(f_in_mat_tit,
"Number of Events");}
4837 if (HistoCode ==
"D_Ped_ChNb"){sprintf(f_in_mat_tit,
"Pedestals");}
4838 if (HistoCode ==
"D_TNo_ChNb"){sprintf(f_in_mat_tit,
"Total noise");}
4839 if (HistoCode ==
"D_MCs_ChNb"){sprintf(f_in_mat_tit,
"Mean cor(s,s')");}
4840 if (HistoCode ==
"D_LFN_ChNb"){sprintf(f_in_mat_tit,
"Low frequency noise");}
4841 if (HistoCode ==
"D_HFN_ChNb"){sprintf(f_in_mat_tit,
"High frequency noise");}
4842 if (HistoCode ==
"D_SCs_ChNb"){sprintf(f_in_mat_tit,
"Sigma of cor(s,s')");}
4848 Int_t vertic_empty_strips = 3;
4849 Int_t vertic_empty_strip_1 = 1;
4858 Int_t nb_binx = GeoBidSizeHoco;
4859 Int_t nb_biny = GeoBidSizeVeco;
4860 Axis_t xinf_bid = (Axis_t)0.;
4861 Axis_t xsup_bid = (Axis_t)GeoBidSizeHoco;
4862 Axis_t yinf_bid = (Axis_t)0.;
4863 Axis_t ysup_bid = (Axis_t)GeoBidSizeVeco;
4865 TString axis_x_var_name =
" #Hoco ";
4866 TString axis_y_var_name =
" #varVeco ";
4870 TH2D* h_geo_bid =
new TH2D(
"geobidim_ViewStas", f_in_mat_tit,
4871 nb_binx, xinf_bid, xsup_bid,
4872 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
4875 Int_t CounterExistingFile = 0;
4876 Int_t CounterDataExist = 0;
4889 Bool_t OKFileExists = kFALSE;
4890 Bool_t OKDataExist = kFALSE;
4895 Int_t n1StasStex = iStasStex+1;
4903 if( OKFileExists == kTRUE )
4911 if( iStasStex == 0 )
4930 if( HistoCode ==
"D_NOE_ChNb" ){
4932 if( HistoCode ==
"D_Ped_ChNb" ){
4934 if (HistoCode ==
"D_TNo_ChNb" ){
4936 if( HistoCode ==
"D_MCs_ChNb" ){
4938 if( HistoCode ==
"D_LFN_ChNb" ){
4940 if( HistoCode ==
"D_HFN_ChNb" ){
4942 if( HistoCode ==
"D_SCs_ChNb" ){
4950 std::cout <<
"!TEcnaHistos::ViewStas(...)> *ERROR* =====> " 4951 <<
" ROOT file not found" <<
fTTBELL << std::endl;
4955 if( arg_AlreadyRead == 1 )
4957 OKDataExist = kTRUE;
4964 if( OKDataExist == kTRUE)
4967 CounterExistingFile++;
4970 TMatrixD read_matrix(nb_binx, nb_biny);
4971 for(Int_t
i=0;
i<nb_binx;
i++)
4972 {
for(Int_t j=0; j<nb_biny; j++){read_matrix(
i,j)=(Double_t)0.;}}
4974 if ( OKDataExist == kTRUE )
4982 Int_t i_xgeo =
GetXStinInStas(iStasStex, i0StexStinEcna, vertic_empty_strip_1);
4985 if(i_xgeo >=0 && i_xgeo < nb_binx && i_ygeo >=0 && i_ygeo < nb_biny)
4987 Int_t n1StexStinEcna = i0StexStinEcna+1;
4991 read_matrix(i_xgeo, i_ygeo) = partial_histp(i0StexStinEcna);
4992 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
4993 (Double_t)read_matrix(i_xgeo, i_ygeo));
4999 if( !( (n1StexStinEcna == 10 || n1StexStinEcna == 11 ||
5000 n1StexStinEcna == 29 || n1StexStinEcna == 32) ) )
5002 read_matrix(i_xgeo, i_ygeo) = partial_histp(i0StexStinEcna);
5003 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
5004 (Double_t)read_matrix(i_xgeo, i_ygeo));
5006 if( n1StexStinEcna == 29 )
5019 read_matrix(i_xgeo, i_ygeo) =
5020 partial_histp(i0StexStinEcna)*(Double_t)(5./6.) + partial_histp(9)/(Double_t)6.;
5021 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
5022 (Double_t)read_matrix(i_xgeo, i_ygeo));
5025 if( n1StexStinEcna == 32 )
5029 read_matrix(i_xgeo, i_ygeo) =
5030 partial_histp(i0StexStinEcna)*(Double_t)(5./6.) + partial_histp(10)/(Double_t)6.;
5031 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
5032 (Double_t)read_matrix(i_xgeo, i_ygeo));
5042 std::cout <<
"!TEcnaHistos::ViewStas(...)> " 5043 <<
" Data not available for " <<
fFapStexName <<
" " << iStasStex+1
5044 <<
" (Quantity not present in the ROOT file)" <<
fTTBELL << std::endl;
5051 std::cout <<
"!TEcnaHistos::ViewStas(...)> " 5052 <<
" Data not available for " <<
fFapStexName <<
" " << iStasStex+1
5053 <<
" (ROOT file not found)" <<
fTTBELL << std::endl;
5061 delete [] xFapNbOfEvts; xFapNbOfEvts =
nullptr;
fCdelete++;
5063 if( CounterExistingFile > 0 && CounterDataExist > 0 )
5116 TString name_cov_cor;
5118 name_cov_cor.Resize(MaxCar);
5121 if( HistoCode ==
"D_NOE_ChNb"){name_cov_cor =
"Number_of_Events";}
5122 if( HistoCode ==
"D_Ped_ChNb"){name_cov_cor =
"Pedestals";}
5123 if( HistoCode ==
"D_TNo_ChNb"){name_cov_cor =
"Total_noise";}
5124 if( HistoCode ==
"D_MCs_ChNb"){name_cov_cor =
"Mean_Corss";}
5125 if( HistoCode ==
"D_LFN_ChNb"){name_cov_cor =
"Low_Fq_Noise";}
5126 if( HistoCode ==
"D_HFN_ChNb"){name_cov_cor =
"High_Fq_Noise";}
5127 if( HistoCode ==
"D_SCs_ChNb"){name_cov_cor =
"Sigma_Corss";}
5131 name_visu.Resize(MaxCar);
5134 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%s_%s_HocoVeco_R%d",
5137 name_visu.Data(), arg_AlreadyRead);
5142 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
5147 delete [] f_in; f_in =
nullptr;
fCdelete++;
5159 Double_t x_margin = x_low;
5160 Double_t y_margin = y_low;
5161 MainCanvas->Divide( 1, 1, x_margin, y_margin);
5168 TVirtualPad* main_subpad = gPad;
5169 main_subpad->SetPad(x_low, y_low, x_up, y_up);}
5172 h_geo_bid->GetXaxis()->SetTitle(axis_x_var_name);
5173 h_geo_bid->GetYaxis()->SetTitle(axis_y_var_name);
5175 h_geo_bid->DrawCopy(
"COLZ");
5186 Bool_t b_true =
true;
5187 h_geo_bid->SetStats(b_true);
5188 h_geo_bid->Delete(); h_geo_bid =
nullptr;
fCdeleteRoot++;
5190 delete [] f_in_mat_tit; f_in_mat_tit =
nullptr;
fCdelete++;
5200 const Int_t& vertic_empty_strip_1)
5206 Int_t n1StasStex = iStasStex+1;
5227 if( ctype ==
"EE-" && LeftRightFromIP ==
"left" )
5231 if( ctype ==
"EE-" && LeftRightFromIP ==
"right" )
5235 if( ctype ==
"EE+" && LeftRightFromIP ==
"left" )
5240 if( ctype ==
"EE+" && LeftRightFromIP ==
"right" )
5258 Int_t n1StasStex = iStasStex+1;
5296 Int_t nb_binx = GeoBidSizePhi;
5297 Int_t nb_biny = GeoBidSizeEta;
5298 Axis_t xinf_bid = (Axis_t)0.;
5299 Axis_t xsup_bid = (Axis_t)nb_binx;
5300 Axis_t yinf_bid = (Axis_t)0.;
5301 Axis_t ysup_bid = (Axis_t)nb_biny;
5305 Int_t max_x = nb_binx/size_x;
5306 Int_t max_y = nb_biny/size_y;
5309 Double_t yline = (Double_t)yinf_bid;
5311 Double_t xline_left = (Double_t)xinf_bid;
5312 Double_t xline_right = (Double_t)xsup_bid;
5314 for( Int_t j = 0 ; j < max_y ; j++)
5316 yline = yline + (Double_t)size_y;
5318 lin =
new TLine(xline_left, yline, xline_right, yline);
fCnewRoot++;
5324 Double_t xline = (Double_t)xinf_bid - (Double_t)size_x;
5326 Double_t yline_bot = (Double_t)yinf_bid;
5327 Double_t yline_top = (Double_t)ysup_bid;
5329 for( Int_t
i = 0 ;
i < max_x ;
i++)
5331 xline = xline + (Double_t)size_x;
5333 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
5338 Double_t yTextBot = yline_bot - (yline_top - yline_bot)/25.;
5339 Double_t yTextTop = yline_top + (yline_top - yline_bot)/120.;
5340 xline = (Double_t)xinf_bid - (Double_t)size_x;
5343 TText *text_SM =
new TText();
fCnewRoot++;
5344 for( Int_t
i = 0 ;
i < max_x ;
i++)
5346 xline = xline + (Double_t)size_x;
5348 text_SM->SetTextSize((Double_t)0.03);
5349 sprintf( f_in,
" +%d",
i+1 );
5350 text_SM->DrawText(xline, yTextTop, f_in);
5351 sprintf( f_in,
" %d", -
i-1 );
5352 text_SM->DrawText(xline, yTextBot, f_in);
5363 Double_t phi_min = 0;
5364 Double_t phi_max = 360;
5369 new TF1(
"f1", x_direction.Data(), phi_min, phi_max);
fCnewRoot++;
5370 TGaxis* sup_axis_x =
nullptr;
5372 if( x_direction ==
"-x" )
5373 {sup_axis_x =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t)(size_x_eb*MatSize), (Float_t)0.,
5374 "f1", size_x_eb,
"SC" , 0.); fCnewRoot++;}
5376 if( x_direction ==
"x" )
5377 {sup_axis_x =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t)(size_x_eb*MatSize), (Float_t)0.,
5378 "f1", size_x_eb,
"SC" , 0.); fCnewRoot++;}
5386 sup_axis_x->SetTitle(x_var_name);
5387 sup_axis_x->SetTitleSize(tit_siz_x);
5388 sup_axis_x->SetTitleOffset(tit_off_x);
5389 sup_axis_x->SetLabelSize(lab_siz_x);
5390 sup_axis_x->SetLabelOffset(lab_off_x);
5391 sup_axis_x->SetTickSize(tic_siz_x);
5392 sup_axis_x->Draw(
"SAME");
5398 Double_t
eta_min = (Double_t)(-85.);
5399 Double_t
eta_max = (Double_t)85.;
5403 TGaxis* sup_axis_y =
nullptr;
5404 sup_axis_y =
new TGaxis((Float_t)0., (Float_t)0.,
5405 (Float_t)0., (Float_t)(size_y_eb*MatSize),
5406 eta_min, eta_max, MatSize/2,
"SC", 0.); fCnewRoot++;
5414 sup_axis_y->SetTitle(y_var_name);
5415 sup_axis_y->SetTitleSize(tit_siz_y);
5416 sup_axis_y->SetTitleOffset(tit_off_y);
5417 sup_axis_y->SetLabelColor(1);
5418 sup_axis_y->SetLabelSize(lab_siz_y);
5419 sup_axis_y->SetLabelOffset(lab_off_y);
5420 sup_axis_y->SetTickSize(tic_siz_y);
5421 sup_axis_y->Draw(
"SAME");
5433 Float_t coefcc_x = (Float_t)1./(Float_t)5.;
5434 Float_t coefcc_y = (Float_t)1./(Float_t)5.;
5436 for( Int_t DeeNumber = 1; DeeNumber <= 4; DeeNumber++)
5446 Double_t yline_bot = (Double_t)coefcc_y*(Double_t)0.;
5450 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
5458 lin12 =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
5459 lin12->SetLineStyle(2);
5465 lin34 =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
5466 lin34->SetLineStyle(2);
5474 linh =
new TLine( 0., yline_mid, xline_end, yline_mid);
fCnewRoot++;
5475 linh->SetLineStyle(2);
5482 const Int_t& DeeNumber,
const TString& opt_plot)
5487 Int_t LineWidth = 2;
5488 if( opt_plot ==
"Dee" ){LineWidth = 3;}
5493 Float_t xg_dee_int_bot[13] = { 0, 5, 5, 7, 7, 8, 8, 9, 9,10,10,11,11};
5494 Float_t yg_dee_int_bot[13] = {39,39,40,40,41,41,42,42,43,43,45,45,50};
5496 for(Int_t
i=0;
i<ngmax;
i++){
5497 xg_dee_int_bot[
i] = coefcc_x*xg_dee_int_bot[
i];
5498 yg_dee_int_bot[
i] = coefcc_y*yg_dee_int_bot[
i];}
5500 Float_t XgDeeIntBotRight[13]; Float_t YgDeeIntBotRight[13];
5501 Float_t XgDeeIntTopRight[13]; Float_t YgDeeIntTopRight[13];
5503 for( Int_t
i=0;
i<ngmax;
i++)
5505 XgDeeIntBotRight[
i] = xg_dee_int_bot[
i];
5506 YgDeeIntBotRight[
i] = yg_dee_int_bot[
i];
5507 XgDeeIntTopRight[
i] = XgDeeIntBotRight[
i];
5509 if ( DeeNumber == 2 || DeeNumber == 4 )
5518 TGraph *BDeeIntBotRight =
new TGraph(ngmax, XgDeeIntBotRight, YgDeeIntBotRight);
5519 BDeeIntBotRight->SetLineWidth(LineWidth);
5520 BDeeIntBotRight->DrawGraph(ngmax, XgDeeIntBotRight, YgDeeIntBotRight);
5522 TGraph *BDeeIntTopRight =
new TGraph(ngmax, XgDeeIntTopRight, YgDeeIntTopRight);
5523 BDeeIntTopRight->SetLineWidth(LineWidth);
5524 BDeeIntTopRight->DrawGraph(ngmax, XgDeeIntTopRight, YgDeeIntTopRight);
5528 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};
5529 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};
5530 for(Int_t
i=0;
i<ngmax;
i++){
5531 xg_dee_ext_bot[
i] = coefcc_x*xg_dee_ext_bot[
i];
5532 yg_dee_ext_bot[
i] = coefcc_y*yg_dee_ext_bot[
i];}
5534 Float_t XgDeeExtBotRight[21]; Float_t YgDeeExtBotRight[21];
5535 Float_t XgDeeExtTopRight[21]; Float_t YgDeeExtTopRight[21];
5537 for( Int_t
i=0;
i<ngmax;
i++)
5539 XgDeeExtBotRight[
i] = xg_dee_ext_bot[
i];
5540 YgDeeExtBotRight[
i] = yg_dee_ext_bot[
i];
5541 XgDeeExtTopRight[
i] = XgDeeExtBotRight[
i];
5543 if ( DeeNumber == 2 || DeeNumber == 4 )
5552 TGraph *BDeeExtBotRight =
new TGraph(ngmax, XgDeeExtBotRight, YgDeeExtBotRight);
5553 BDeeExtBotRight->SetLineWidth(LineWidth);
5554 BDeeExtBotRight->DrawGraph(ngmax, XgDeeExtBotRight, YgDeeExtBotRight);
5556 TGraph *BDeeExtTopRight =
new TGraph(ngmax, XgDeeExtTopRight, YgDeeExtTopRight);
5557 BDeeExtTopRight->SetLineWidth(LineWidth);
5558 BDeeExtTopRight->DrawGraph(ngmax, XgDeeExtTopRight, YgDeeExtTopRight);
5565 if( opt_plot ==
"EE" )
5568 Float_t xg_dee_data_sec9[2] = { 0, 0};
5569 Float_t yg_dee_data_sec9[2] = {61,100};
5570 for(Int_t
i=0;
i<ngmax;
i++){
5571 xg_dee_data_sec9[
i] = coefcc_x*xg_dee_data_sec9[
i];
5572 yg_dee_data_sec9[
i] = coefcc_y*yg_dee_data_sec9[
i];}
5574 Float_t XgDeeDataSec9[11]; Float_t YgDeeDataSec9[11];
5575 for( Int_t
i=0;
i<ngmax;
i++)
5577 XgDeeDataSec9[
i] = xg_dee_data_sec9[
i]; YgDeeDataSec9[
i] = yg_dee_data_sec9[
i];
5578 if ( DeeNumber == 2 || DeeNumber == 4 )
5584 TGraph *BDeeDataSec9 =
new TGraph(ngmax, XgDeeDataSec9, YgDeeDataSec9);
5585 BDeeDataSec9->SetLineWidth(LineWidth);
5586 BDeeDataSec9->DrawGraph(ngmax, XgDeeDataSec9, YgDeeDataSec9);
5591 Float_t xg_dee_data_sec1[11] = { 7,10,10,15,15,20,20,25,25,30,30};
5592 Float_t yg_dee_data_sec1[11] = {60,60,65,65,70,70,75,75,85,85,87};
5593 for(Int_t
i=0;
i<ngmax;
i++){
5594 xg_dee_data_sec1[
i] = coefcc_x*xg_dee_data_sec1[
i];
5595 yg_dee_data_sec1[
i] = coefcc_y*yg_dee_data_sec1[
i];}
5597 Float_t XgDeeDataSec1[11]; Float_t YgDeeDataSec1[11];
5598 for( Int_t
i=0;
i<ngmax;
i++)
5600 XgDeeDataSec1[
i] = xg_dee_data_sec1[
i]; YgDeeDataSec1[
i] = yg_dee_data_sec1[
i];
5601 if ( DeeNumber == 2 || DeeNumber == 4 )
5608 TGraph *BDeeDataSec1 =
new TGraph(ngmax, XgDeeDataSec1, YgDeeDataSec1);
5609 BDeeDataSec1->SetLineWidth(LineWidth);
5610 BDeeDataSec1->DrawGraph(ngmax, XgDeeDataSec1, YgDeeDataSec1);
5614 Float_t xg_dee_data_sec2[6] = {11,15,15,40,40,47};
5615 Float_t yg_dee_data_sec2[6] = {50,50,55,55,60,60};
5616 for(Int_t
i=0;
i<ngmax;
i++){
5617 xg_dee_data_sec2[
i] = coefcc_x*xg_dee_data_sec2[
i];
5618 yg_dee_data_sec2[
i] = coefcc_y*yg_dee_data_sec2[
i];}
5620 Float_t XgDeeDataSec2[6]; Float_t YgDeeDataSec2[6];
5621 for( Int_t
i=0;
i<ngmax;
i++)
5623 XgDeeDataSec2[
i] = xg_dee_data_sec2[
i]; YgDeeDataSec2[
i] = yg_dee_data_sec2[
i];
5624 if ( DeeNumber == 2 || DeeNumber == 4 )
5630 TGraph *BDeeDataSec2 =
new TGraph(ngmax, XgDeeDataSec2, YgDeeDataSec2);
5631 BDeeDataSec2->SetLineWidth(LineWidth);
5632 BDeeDataSec2->DrawGraph(ngmax, XgDeeDataSec2, YgDeeDataSec2);
5636 Float_t xg_dee_data_sec3[10] = {10,15,15,20,20,30,30,40,40,42};
5637 Float_t yg_dee_data_sec3[10] = {45,45,40,40,35,35,30,30,25,25};
5638 for(Int_t
i=0;
i<ngmax;
i++){
5639 xg_dee_data_sec3[
i] = coefcc_x*xg_dee_data_sec3[
i];
5640 yg_dee_data_sec3[
i] = coefcc_y*yg_dee_data_sec3[
i];}
5642 Float_t XgDeeDataSec3[10]; Float_t YgDeeDataSec3[10];
5643 for( Int_t
i=0;
i<ngmax;
i++)
5645 XgDeeDataSec3[
i] = xg_dee_data_sec3[
i]; YgDeeDataSec3[
i] = yg_dee_data_sec3[
i];
5646 if ( DeeNumber == 2 || DeeNumber == 4 )
5652 TGraph *BDeeDataSec3 =
new TGraph(ngmax, XgDeeDataSec3, YgDeeDataSec3);
5653 BDeeDataSec3->SetLineWidth(LineWidth);
5654 BDeeDataSec3->DrawGraph(ngmax, XgDeeDataSec3, YgDeeDataSec3);
5658 Float_t xg_dee_data_sec4[6] = { 5, 5,10,10,15,15};
5659 Float_t yg_dee_data_sec4[6] = {40,30,30,15,15, 5};
5660 for(Int_t
i=0;
i<ngmax;
i++){
5661 xg_dee_data_sec4[
i] = coefcc_x*xg_dee_data_sec4[
i];
5662 yg_dee_data_sec4[
i] = coefcc_y*yg_dee_data_sec4[
i];}
5664 Float_t XgDeeDataSec4[6]; Float_t YgDeeDataSec4[6];
5665 for( Int_t
i=0;
i<ngmax;
i++)
5667 XgDeeDataSec4[
i] = xg_dee_data_sec4[
i]; YgDeeDataSec4[
i] = yg_dee_data_sec4[
i];
5668 if ( DeeNumber == 2 || DeeNumber == 4 )
5674 TGraph *BDeeDataSec4 =
new TGraph(ngmax, XgDeeDataSec4, YgDeeDataSec4);
5675 BDeeDataSec4->SetLineWidth(LineWidth);
5676 BDeeDataSec4->DrawGraph(ngmax, XgDeeDataSec4, YgDeeDataSec4);
5680 if( opt_plot ==
"Dee" || opt_plot ==
"EE" )
5684 Float_t xg_coord_sector[5] = { 16, 41, 45, 33, -2};
5685 Float_t yg_coord_sector[5] = { 96, 83, 30, 5, -8};
5688 if(opt_plot ==
"Dee" && (DeeNumber == 1) ){xg_coord_sector[2] += 0.5;}
5689 if(opt_plot ==
"Dee" && (DeeNumber == 2) ){xg_coord_sector[2] -= 1. ;}
5690 if(opt_plot ==
"Dee" && (DeeNumber == 3) ){xg_coord_sector[2] += 0.7;}
5691 if(opt_plot ==
"Dee" && (DeeNumber == 4) ){xg_coord_sector[2] -= 1.2;}
5693 if(opt_plot ==
"EE" && (DeeNumber == 2 || DeeNumber == 3) ){xg_coord_sector[2] += 0.55;}
5694 if(opt_plot ==
"EE" && (DeeNumber == 4 ) ){xg_coord_sector[2] -= 0.2;}
5696 for(Int_t
i=0;
i<ngmax;
i++){
5697 xg_coord_sector[
i] = coefcc_x*xg_coord_sector[
i];
5698 yg_coord_sector[
i] = coefcc_y*yg_coord_sector[
i];}
5700 Float_t xg_sector[9];
5701 Float_t yg_sector[9];
5704 Float_t xinv_d2d4 = coefcc_x*44;
5706 if( DeeNumber == 1 )
5709 xg_sector[1-ns1] = xg_coord_sector[1-ns1]; yg_sector[1-ns1] = yg_coord_sector[1-ns1];
5710 xg_sector[2-ns1] = xg_coord_sector[2-ns1]; yg_sector[2-ns1] = yg_coord_sector[2-ns1];
5711 xg_sector[3-ns1] = xg_coord_sector[3-ns1]; yg_sector[3-ns1] = yg_coord_sector[3-ns1];
5712 xg_sector[4-ns1] = xg_coord_sector[4-ns1]; yg_sector[4-ns1] = yg_coord_sector[4-ns1];
5713 xg_sector[5-ns1] = xg_coord_sector[5-ns1]; yg_sector[5-ns1] = yg_coord_sector[5-ns1];
5716 if( DeeNumber == 2 )
5719 xg_sector[ns2-1] = xinv_d2d4-xg_coord_sector[1-1]; yg_sector[ns2-1] = yg_coord_sector[1-1];
5720 xg_sector[ns2-2] = xinv_d2d4-xg_coord_sector[2-1]; yg_sector[ns2-2] = yg_coord_sector[2-1];
5721 xg_sector[ns2-3] = xinv_d2d4-xg_coord_sector[3-1]; yg_sector[ns2-3] = yg_coord_sector[3-1];
5722 xg_sector[ns2-4] = xinv_d2d4-xg_coord_sector[4-1]; yg_sector[ns2-4] = yg_coord_sector[4-1];
5723 xg_sector[ns2-5] = xinv_d2d4-xg_coord_sector[5-1]; yg_sector[ns2-5] = yg_coord_sector[5-1];
5725 if( DeeNumber == 3 )
5728 xg_sector[ns2-1]= xg_coord_sector[1-1]; yg_sector[ns2-1] = yg_coord_sector[1-1];
5729 xg_sector[ns2-2]= xg_coord_sector[2-1]; yg_sector[ns2-2] = yg_coord_sector[2-1];
5730 xg_sector[ns2-3]= xg_coord_sector[3-1]; yg_sector[ns2-3] = yg_coord_sector[3-1];
5731 xg_sector[ns2-4]= xg_coord_sector[4-1]; yg_sector[ns2-4] = yg_coord_sector[4-1];
5732 xg_sector[ns2-5]= xg_coord_sector[5-1]; yg_sector[ns2-5] = yg_coord_sector[5-1];
5734 if( DeeNumber == 4 )
5737 xg_sector[1-ns1]= xinv_d2d4-xg_coord_sector[1-ns1]; yg_sector[1-ns1] = yg_coord_sector[1-ns1];
5738 xg_sector[2-ns1]= xinv_d2d4-xg_coord_sector[2-ns1]; yg_sector[2-ns1] = yg_coord_sector[2-ns1];
5739 xg_sector[3-ns1]= xinv_d2d4-xg_coord_sector[3-ns1]; yg_sector[3-ns1] = yg_coord_sector[3-ns1];
5740 xg_sector[4-ns1]= xinv_d2d4-xg_coord_sector[4-ns1]; yg_sector[4-ns1] = yg_coord_sector[4-ns1];
5741 xg_sector[5-ns1]= xinv_d2d4-xg_coord_sector[5-ns1]; yg_sector[5-ns1] = yg_coord_sector[5-ns1];
5745 for(Int_t ns=ns1; ns<= ns2; ns++)
5748 if( DeeNumber == 1 || DeeNumber == 2 ){sprintf( f_in,
"+%d", ns);}
5749 if( DeeNumber == 3 || DeeNumber == 4 ){sprintf( f_in,
"-%d", ns);}
5750 TText *text_num_module =
new TText(xg_sector[ns-1], yg_sector[ns-1], f_in);
fCnewRoot++;
5751 if(opt_plot ==
"Dee"){text_num_module->SetTextSize(0.065);}
5752 if(opt_plot ==
"EE" ){text_num_module->SetTextSize(0.045);}
5753 text_num_module->SetTextColor(coul_textsector);
5754 if( opt_plot ==
"Dee" ||
5755 ( opt_plot ==
"EE" && !( (DeeNumber == 3 && ns == 5) || (DeeNumber == 1 && ns == 5) ) ) )
5756 {text_num_module->Draw();}
5763 Float_t xg_coord_dee[4] = { 0, 0, 0, 0};
5764 Float_t yg_coord_dee[4] = {48, 48, 48, 48};
5766 xg_coord_dee[DeeNumber-1] = coefcc_x*xg_coord_dee[DeeNumber-1];
5767 yg_coord_dee[DeeNumber-1] = coefcc_y*yg_coord_dee[DeeNumber-1];
5769 Float_t xg_dee = xg_coord_dee[DeeNumber-1];
5770 Float_t yg_dee = yg_coord_dee[DeeNumber-1];
5777 if( DeeNumber == 1 ){sprintf( f_in,
"D1");}
5778 if( DeeNumber == 2 ){sprintf( f_in,
"D2");}
5779 if( DeeNumber == 3 ){sprintf( f_in,
"D3");}
5780 if( DeeNumber == 4 ){sprintf( f_in,
"D4");}
5782 TText *text_num_module =
new TText(xg_dee, yg_dee, f_in);
fCnewRoot++;
5783 if( opt_plot ==
"EE" ){text_num_module->SetTextSize(0.045);}
5784 if( opt_plot ==
"Dee"){text_num_module->SetTextSize(0.085);}
5785 text_num_module->SetTextColor(coul_textdee);
5786 text_num_module->Draw();
5790 if( opt_plot ==
"EE" )
5794 Float_t xg_coord_eepm[4] = { 0, 0, 0, 0};
5795 Float_t yg_coord_eepm[4] = {95, 95, 95, 95};
5797 xg_coord_eepm[DeeNumber-1] = coefcc_x*xg_coord_eepm[DeeNumber-1];
5798 yg_coord_eepm[DeeNumber-1] = coefcc_y*yg_coord_eepm[DeeNumber-1];
5800 Float_t xg_eepm = xg_coord_eepm[DeeNumber-1];
5801 Float_t yg_eepm = yg_coord_eepm[DeeNumber-1];
5808 if( DeeNumber == 1 ){sprintf( f_in,
"EE+F");}
5809 if( DeeNumber == 2 ){sprintf( f_in,
"EE+N");}
5810 if( DeeNumber == 3 ){sprintf( f_in,
"EE-N");}
5811 if( DeeNumber == 4 ){sprintf( f_in,
"EE-F");}
5813 TText *text_num_eepm =
new TText(xg_eepm, yg_eepm, f_in);
fCnewRoot++;
5814 text_num_eepm->SetTextSize(0.04);
5815 text_num_eepm->SetTextColor(coul_texteepm);
5816 text_num_eepm->Draw();
5821 sprintf( f_in,
"viewed from IP");
5822 Float_t x_from_ip = 15.;
5823 Float_t y_from_ip = -10.;
5824 if( opt_plot ==
"EE" ){y_from_ip = -16.;}
5825 x_from_ip = coefcc_x*x_from_ip;
5826 y_from_ip = coefcc_x*y_from_ip;
5828 TText *text_from_ip =
new TText(x_from_ip, y_from_ip, f_in);
fCnewRoot++;
5829 text_from_ip->SetTextSize(0.045);
5830 if( opt_plot ==
"EE" ){text_from_ip->SetTextSize(0.035);}
5831 text_from_ip->SetTextColor(coul_textfromIP);
5832 if( opt_plot ==
"Dee" || (opt_plot ==
"EE" && DeeNumber == 3) ){text_from_ip->Draw();}
5834 delete [] f_in; f_in =
nullptr;
fCdelete++;
5850 if( opt_plot ==
"Dee" && c_option ==
"corcc" )
5856 if( opt_plot ==
"EE" && c_option ==
"corcc" ){
return;}
5859 if( opt_plot ==
"EE" && c_option !=
"corcc" ){MatSize = 1;}
5861 TString x_var_name =
" ";
5863 Float_t axis_x_inf = 0;
5864 Float_t axis_x_sup = 0;
5865 Float_t axis_y_inf = 0;
5866 Float_t axis_y_sup = 0;
5867 Int_t axis_nb_div = 205;
5868 Double_t IX_values_min = 0;
5869 Double_t IX_values_max = 0;
5870 Option_t* chopt =
"C";
5873 if( DeeNumber == 1 )
5876 axis_x_inf = size_IX_dee*MatSize;
5880 IX_values_min = -IX_max;
5881 IX_values_max = -IX_min;
5884 if( opt_plot ==
"Dee" ){axis_nb_div = size_IX_dee;}
5887 if( DeeNumber == 2 )
5890 axis_x_inf = size_IX_dee*MatSize;
5894 IX_values_min = IX_min;
5895 IX_values_max = IX_max;
5897 if( opt_plot ==
"EE" ){x_var_name =
" ";}
5898 if( opt_plot ==
"Dee" ){axis_nb_div = size_IX_dee;}
5901 if( DeeNumber == 3 )
5904 axis_x_sup = size_IX_dee*MatSize;
5907 IX_values_min = IX_min;
5908 IX_values_max = IX_max;
5910 if( opt_plot ==
"EE" ){x_var_name =
" ";}
5911 if( opt_plot ==
"Dee" ){axis_nb_div = size_IX_dee;}
5914 if( DeeNumber == 4 )
5917 axis_x_sup = size_IX_dee*MatSize;
5920 IX_values_min = -IX_max;
5921 IX_values_max = -IX_min;
5923 if( opt_plot ==
"EE" ){x_var_name =
" ";}
5924 if( opt_plot ==
"Dee" ){axis_nb_div = size_IX_dee;}
5932 TGaxis* sup_axis_x =
nullptr;
5933 sup_axis_x =
new TGaxis(axis_x_inf, axis_y_inf, axis_x_sup, axis_y_sup,
5934 IX_values_min, IX_values_max, axis_nb_div, chopt, 0.);
fCnewRoot++;
5948 sup_axis_x->SetTitle(x_var_name);
5949 sup_axis_x->SetTitleSize(tit_siz_x);
5950 sup_axis_x->SetTitleOffset(tit_off_x);
5951 sup_axis_x->SetLabelSize(lab_siz_x);
5952 sup_axis_x->SetLabelOffset(lab_off_x);
5953 sup_axis_x->SetTickSize(tic_siz_x);
5954 sup_axis_x->Draw(
"SAME");
5957 if( DeeNumber == 1 || DeeNumber == 2 )
5960 TGaxis* sup_axis_x_bis =
nullptr;
5961 sup_axis_x_bis =
new TGaxis(axis_x_inf, axis_y_inf, axis_x_sup, axis_y_sup,
5962 IX_values_min, IX_values_max, axis_nb_div, chopt, 0.);
fCnewRoot++;
5963 sup_axis_x_bis->SetTickSize(0.);
5964 lab_siz_x = sup_axis_x->GetLabelSize();
5965 sup_axis_x_bis->SetLabelSize(lab_siz_x);
5966 lab_off_x = sup_axis_x->GetLabelOffset();
5967 sup_axis_x_bis->SetLabelOffset(-lab_off_x);
5968 sup_axis_x_bis->Draw(
"SAME");
5973 if( opt_plot ==
"Dee" || (opt_plot ==
"EE" && DeeNumber == 4) )
5976 Int_t size_IY_axis = size_IY_dee;
5978 if( opt_plot ==
"Dee" ){axis_nb_div = size_IY_axis;}
5979 if( opt_plot ==
"EE" ){axis_nb_div = 210;}
5984 TString jy_var_name =
" ";
5985 TString jy_direction =
"x";
5999 TGaxis* axis_jy_plus =
nullptr;
6000 axis_jy_plus =
new TGaxis((Float_t)0., (Float_t)0.,
6001 (Float_t)0., (Float_t)(size_IY_axis*MatSize),
6002 jIY_min, jIY_max, axis_nb_div,
"SC", 0.);
fCnewRoot++;
6005 axis_jy_plus->SetTitle(jy_var_name);
6006 axis_jy_plus->SetTitleSize(tit_siz_y);
6007 axis_jy_plus->SetTitleOffset(tit_off_y);
6008 axis_jy_plus->SetLabelSize(lab_siz_y);
6009 axis_jy_plus->SetLabelOffset(lab_off_y);
6010 axis_jy_plus->SetTickSize(tic_siz_y);
6011 axis_jy_plus->Draw(
"SAME");
6017 if( opt_plot ==
"Dee" || (opt_plot ==
"EE" && DeeNumber == 4) )
6020 Int_t size_IY_axis = size_IY_dee/2;
6022 if( opt_plot ==
"Dee" ){axis_nb_div = (Int_t)size_IY_axis;}
6023 if( opt_plot ==
"EE" ){axis_nb_div = 5;}
6028 TString jy_var_name =
" ";
6029 TString jy_direction =
"x";
6043 TGaxis* axis_jy_plus = 0;
6044 axis_jy_plus =
new TGaxis((Float_t)0., (Float_t)(size_IY_dee*MatSize/2),
6045 (Float_t)0., (Float_t)(2*size_IY_dee*MatSize/2),
6046 jIY_min, jIY_max, axis_nb_div,
"SC", 0.);
fCnewRoot++;
6049 axis_jy_plus->SetTitle(jy_var_name);
6050 axis_jy_plus->SetTitleSize(tit_siz_y);
6051 axis_jy_plus->SetTitleOffset(tit_off_y);
6052 axis_jy_plus->SetLabelSize(lab_siz_y);
6053 axis_jy_plus->SetLabelOffset(lab_off_y);
6054 axis_jy_plus->SetTickSize(tic_siz_y);
6055 axis_jy_plus->Draw(
"SAME");
6057 TGaxis* axis_jy_minus = 0;
6058 axis_jy_minus =
new TGaxis((Float_t)0., (Float_t)(size_IY_dee*MatSize/2),
6059 (Float_t)0., (Float_t)0.,
6060 -jIY_min, -jIY_max, axis_nb_div,
"-SC", 0.);
fCnewRoot++;
6063 axis_jy_minus->SetTitle(jy_var_name);
6064 axis_jy_minus->SetTitleSize(tit_siz_y);
6065 axis_jy_minus->SetTitleOffset(tit_off_y);
6066 axis_jy_minus->SetLabelSize(lab_siz_y);
6067 axis_jy_minus->SetLabelOffset(lab_off_y);
6068 axis_jy_minus->SetTickSize(tic_siz_y);
6069 axis_jy_minus->Draw(
"SAME");
6082 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
6083 {
XtalSamplesEv(arg_read_histo, arg_AlreadyRead, n1StexStin, i0StinEcha,
"ONLYONE");}
6085 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
6086 const TString& PlotOption)
6092 Int_t StexStin_A = n1StexStin;
6096 Bool_t aOKData = kFALSE;
6116 std::cout <<
"!TEcnaHistos::XtalSamplesEv(...)> Data not available (ROOT file not found)." << std::endl;
6120 if( arg_AlreadyRead >= 1 )
6127 if( aOKData == kTRUE )
6131 Int_t xAlreadyRead = 1;
6135 {
std::cout <<
"*TEcnaHistos::XtalSamplesEv(...)> channel " << std::setw(2) << i0_stin_echa <<
": ";}
6137 {
std::cout <<
"*TEcnaHistos::XtalSamplesEv(...)> Xtal " << std::setw(2) << i0_stin_echa+1 <<
": ";}
6141 read_histo_samps(i0_samp) = read_histo(i0_stin_echa*fFapNbOfSamples+i0_samp);
6142 std::cout << std::setprecision(4) << std::setw(8) << read_histo_samps(i0_samp) <<
", " ;
6145 ViewHisto(read_histo_samps, xAlreadyRead,
6153 std::cout <<
"!TEcnaHistos::XtalSamplesEv(...)> Data not available." << std::endl;
6159 Int_t StexStin_A = n1StexStin;
6174 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
6175 {
EvSamplesXtals(arg_read_histo, arg_AlreadyRead, n1StexStin, i0StinEcha,
"ONLYONE");}
6177 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
6178 const TString& PlotOption)
6184 Int_t StexStin_A = n1StexStin;
6188 Bool_t aOKData = kFALSE;
6208 std::cout <<
"!TEcnaHistos::EvSamplesXtals(...)> Data not available (ROOT file not found)." << std::endl;
6212 if( arg_AlreadyRead >= 1 )
6218 if( aOKData == kTRUE )
6222 Int_t xAlreadyRead = 1;
6226 {
std::cout <<
"*TEcnaHistos::EvSamplesXtals(...)> channel " << std::setw(2) << i0_stin_echa <<
": ";}
6228 {
std::cout <<
"*TEcnaHistos::EvSamplesXtals(...)> Xtal " << std::setw(2) << i0_stin_echa+1 <<
": ";}
6232 read_histo_samps(i0_samp) = read_histo(i0_stin_echa*fFapNbOfSamples+i0_samp);
6233 std::cout << std::setprecision(4) << std::setw(8) << read_histo_samps(i0_samp) <<
", " ;
6236 ViewHisto(read_histo_samps, xAlreadyRead,
6244 std::cout <<
"!TEcnaHistos::EvSamplesXtals(...)> Data not available." << std::endl;
6250 Int_t StexStin_A = n1StexStin;
6265 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
6266 {
XtalSamplesSigma(arg_read_histo, arg_AlreadyRead, n1StexStin, i0StinEcha,
"ONLYONE");}
6268 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
6269 const TString& PlotOption)
6275 Int_t StexStin_A = n1StexStin;
6279 Bool_t aOKData = kFALSE;
6299 std::cout <<
"!TEcnaHistos::XtalSamplesSigma(...)> Data not available (ROOT file not found)." << std::endl;
6303 if( arg_AlreadyRead >= 1 )
6309 if( aOKData == kTRUE )
6313 Int_t xAlreadyRead = 1;
6317 {
std::cout <<
"*TEcnaHistos::XtalSamplesSigma(...)> channel " << std::setw(2) << i0_stin_echa <<
": ";}
6319 {
std::cout <<
"*TEcnaHistos::XtalSamplesSigma(...)> Xtal " << std::setw(2) << i0_stin_echa+1 <<
": ";}
6323 read_histo_samps(i0_samp) = read_histo(i0_stin_echa*fFapNbOfSamples+i0_samp);
6324 std::cout << std::setprecision(3) << std::setw(6) << read_histo_samps(i0_samp) <<
", " ;
6327 ViewHisto(read_histo_samps, xAlreadyRead,
6335 std::cout <<
"!TEcnaHistos::XtalSamplesSigma(...)> Data not available." << std::endl;
6341 Int_t StexStin_A = n1StexStin;
6357 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
6358 {
SigmaSamplesXtals(arg_read_histo, arg_AlreadyRead, n1StexStin, i0StinEcha,
"ONLYONE");}
6360 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
6361 const TString& PlotOption)
6367 Int_t StexStin_A = n1StexStin;
6371 Bool_t aOKData = kFALSE;
6390 std::cout <<
"!TEcnaHistos::SigmaSamplesXtals(...)> Data not available (ROOT file not found)." << std::endl;
6395 if( arg_AlreadyRead >= 1 )
6401 if( aOKData == kTRUE )
6405 Int_t xAlreadyRead = 1;
6409 {
std::cout <<
"*TEcnaHistos::SigmaSamplesXtals(...)> channel " << std::setw(2) << i0_stin_echa <<
": ";}
6411 {
std::cout <<
"*TEcnaHistos::SigmaSamplesXtals(...)> Xtal " << std::setw(2) << i0_stin_echa+1 <<
": ";}
6415 read_histo_samps(i0_samp) = read_histo(i0_stin_echa*fFapNbOfSamples+i0_samp);
6416 std::cout << std::setprecision(3) << std::setw(6) << read_histo_samps(i0_samp) <<
", " ;
6419 ViewHisto(read_histo_samps, xAlreadyRead,
6427 std::cout <<
"!TEcnaHistos::SigmaSamplesXtals(...)> Data not available." << std::endl;
6433 Int_t StexStin_A = n1StexStin;
6462 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
6463 const Int_t& i0Sample,
const TString& HistoCode,
6464 const TString& opt_plot_arg)
6468 TString opt_plot = opt_plot_arg;
6478 Int_t xCanvasExists = 1;
6481 TVirtualPad* main_subpad =
nullptr;
6483 main_subpad =
ActivePad(HistoCode.Data(), opt_plot.Data());
6484 if( main_subpad ==
nullptr )
6486 std::cout <<
"*TEcnaHistos::ViewHisto(...)> WARNING ===> Canvas has been closed in option SAME or SAME n." 6488 <<
" Please, restart with a new canvas." 6498 Int_t SameXVarMemo = 1;
6499 if( !(HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"EvolProj") &&
6500 !(arg_AlreadyRead >= 1) )
6506 SetXVarMemo(HistoCode, opt_plot, XVarHisto);
SetYVarMemo(HistoCode, opt_plot, YVarHisto); SameXVarMemo = 1;
6513 if( XVarHisto != XVariableMemo )
6515 std::cout <<
"!TEcnaHistos::ViewHisto(...)> *** ERROR *** ===> X coordinate changed in option SAME n." << std::endl
6516 <<
" Present X = " << XVarHisto << std::endl
6517 <<
" Present Y = " << YVarHisto << std::endl
6518 <<
" Previous X = " << XVariableMemo << std::endl
6519 <<
" Previous Y = " << YVariableMemo
6530 Int_t SameYVarMemo = 1;
6531 if( (HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"EvolProj") &&
6532 !(arg_AlreadyRead >= 1) )
6538 SetYVarMemo(HistoCode, opt_plot, YVarHisto);
SetYVarMemo(HistoCode, opt_plot, YVarHisto); SameYVarMemo = 1;
6545 if( YVarHisto != YVariableMemo )
6547 std::cout <<
"!TEcnaHistos::ViewHisto(...)> *** ERROR *** ===> Y coordinate changed in option SAME n." << std::endl
6548 <<
" Present X = " << XVarHisto << std::endl
6549 <<
" Present Y = " << YVarHisto << std::endl
6550 <<
" Previous X = " << XVariableMemo << std::endl
6551 <<
" Previous Y = " << YVariableMemo
6562 Int_t OkBinsMemoSameOne = 1;
6564 Int_t SizeForPlot =
GetHistoSize(HistoCode.Data(),
"plot");
6569 SetNbBinsMemo(HistoCode, opt_plot, xNbBins); OkBinsMemoSameOne = 1;
6575 if( xNbBins != NbBinsMemo )
6577 std::cout <<
"!TEcnaHistos::ViewHisto(...)> *** ERROR *** ===> Number of bins changed in option SAME or SAME n." 6578 <<
" Present number = " << xNbBins <<
", requested number = " << NbBinsMemo <<
fTTBELL << std::endl;
6579 OkBinsMemoSameOne = 0;
6585 if( xCanvasExists == 1 && SameXVarMemo == 1 && SameYVarMemo == 1 && OkBinsMemoSameOne == 1 ){OKHisto = 1;}
6599 TString fp_name_short =
" ";
6602 Int_t SizeForRead =
GetHistoSize(HistoCode.Data(),
"read");
6605 TVectorD histo_for_plot(SizeForPlot);
6606 for(Int_t
i=0;
i<SizeForPlot;
i++){histo_for_plot[
i]=(Double_t)0;}
6608 TVectorD histo_for_plot_memo(SizeForPlot);
6609 for(Int_t
i=0;
i<SizeForPlot;
i++){histo_for_plot_memo[
i]=(Double_t)0;}
6611 Int_t i_data_exist = 0;
6615 if( HistoType ==
"Global" || HistoType ==
"Proj" || HistoType ==
"SampGlobal" ||
6616 HistoType ==
"SampProj" )
6620 Bool_t ok_view_histo = kFALSE;
6623 Int_t CounterExistingFile = 0;
6624 Int_t CounterDataExist = 0;
6633 Bool_t OKFileExists = kFALSE;
6634 Bool_t ok_data_exists = kFALSE;
6639 if( arg_AlreadyRead == 0 )
6643 Int_t n1StasStex = iStasStex+1;
6650 if( OKFileExists == kTRUE )
6657 if( iStasStex == 0 )
6677 if( ok_view_histo == kTRUE )
6680 if( HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_NOE_ChDs" ){
6682 if( HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_Ped_ChDs" ){
6684 if( HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_TNo_ChDs" ){
6686 if( HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_MCs_ChDs" ){
6688 if( HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_LFN_ChDs" ){
6690 if( HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_HFN_ChDs" ){
6692 if( HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_SCs_ChDs" ){
6699 if( arg_AlreadyRead >= 1 )
6701 ok_data_exists = kTRUE;
6706 if( ok_data_exists == kTRUE )
6709 CounterExistingFile++;
6713 if( ok_data_exists == kTRUE )
6727 if( i_xgeo >= 0 && i_xgeo < SizeForPlot )
6729 histo_for_plot[i_xgeo] = read_histo[i0StexStinEcna];
6733 std::cout <<
"!TEcnaHistos::ViewHisto(...)> <EB> i_xgeo = " << i_xgeo
6734 <<
". OUT OF RANGE ( range = [0,"<< SizeForPlot <<
"] " << std::endl;
6741 Int_t DeeOffset = 0;
6744 Int_t DeeNumber = iStasStex+1;
6745 Int_t n1DeeSCEcna = i0StexStinEcna+1;
6762 if( StexDataSector >= 1 && StexDataSector <= 9 )
6764 if( DeeNumber == 4 )
6766 for(Int_t is=2; is<=5; is++)
6767 {
if( StexDataSector >= is )
6771 if( DeeNumber == 3 )
6773 if( StexDataSector >= 6 )
6775 for(Int_t is=7; is<=9; is++)
6776 {
if( StexDataSector >= is )
6780 if( DeeNumber == 2 )
6782 if( StexDataSector >= 6 )
6784 for(Int_t is=7; is<=9; is++)
6785 {
if( StexDataSector >= is )
6789 if( DeeNumber == 1 )
6791 for(Int_t is=2; is<=5; is++)
6792 {
if( StexDataSector >= is )
6796 if( StexDSStin >=1 && StexDSStin <= fEcalNumbering->GetMaxSCInDS(StexDataSector) )
6798 if( DeeNumber == 4 )
6800 if(StexDataSector != 5)
6801 {i_xgeo = DeeOffset + DSOffset + (StexDSStin - 1);}
6802 if( StexDataSector == 5)
6803 {i_xgeo = DeeOffset + DSOffset + (StexDSStin - 1);}
6805 if( DeeNumber == 3 )
6807 if(StexDataSector != 5)
6808 {i_xgeo = DeeOffset + DSOffset + (StexDSStin - 1);}
6809 if( StexDataSector == 5)
6810 {i_xgeo = DeeOffset + DSOffset + (StexDSStin-17) - 1;}
6812 if( DeeNumber == 2 )
6814 if(StexDataSector != 5)
6815 {i_xgeo = DeeOffset + DSOffset
6817 if( StexDataSector == 5)
6818 {i_xgeo = DeeOffset + DSOffset
6821 if( DeeNumber == 1 )
6823 if(StexDataSector != 5)
6824 {i_xgeo = DeeOffset + DSOffset
6826 if( StexDataSector == 5)
6827 {i_xgeo = DeeOffset + DSOffset
6834 std::cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> StexDSStin = " << StexDSStin
6835 <<
". OUT OF RANGE ( range = [1," 6837 <<
"]. DeeNumber = " << DeeNumber
6838 <<
", n1DeeSCEcna = " << n1DeeSCEcna
6839 <<
", StexDataSector = " << StexDataSector
6840 <<
", i_xgeo = " << i_xgeo << std::endl;
6851 if( i_xgeo >= -1 && i_xgeo < SizeForPlot )
6854 if( n1DeeSCEcna == 29 || n1DeeSCEcna == 32 ||
6856 n1DeeSCEcna == 144 || n1DeeSCEcna == 165 ||
6857 n1DeeSCEcna == 176 || n1DeeSCEcna == 193 ||
6858 n1DeeSCEcna == 60 || n1DeeSCEcna == 119 ||
6859 n1DeeSCEcna == 102 || n1DeeSCEcna == 123 ||
6860 n1DeeSCEcna == 138 || n1DeeSCEcna == 157 )
6863 if( n1DeeSCEcna == 29 && i_xgeo >= 0 )
6864 {histo_for_plot[i_xgeo] += read_histo[i0StexStinEcna]/(Double_t)5.;}
6865 if( (n1DeeSCEcna == 144 || n1DeeSCEcna == 165) && i_xgeo >= 0 )
6866 {histo_for_plot[i_xgeo] +=
6867 read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)25.;}
6870 if( n1DeeSCEcna == 32 && i_xgeo >= 0 )
6871 {histo_for_plot[i_xgeo] += read_histo[i0StexStinEcna]/(Double_t)5.;}
6872 if( (n1DeeSCEcna == 176 || n1DeeSCEcna == 193) && i_xgeo >= 0 )
6873 {histo_for_plot[i_xgeo] +=
6874 read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)25.;}
6877 if( (n1DeeSCEcna == 60 || n1DeeSCEcna == 119) && i_xgeo >= 0 )
6878 {histo_for_plot[i_xgeo] += read_histo[i0StexStinEcna]/(Double_t)2.;}
6881 if( n1DeeSCEcna == 102 )
6882 {histo_for_plot[i_xgeo] += read_histo[9]/(Double_t)21.
6883 + read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)21.;}
6884 if( n1DeeSCEcna == 123 && i_xgeo >= 0 )
6885 {histo_for_plot[i_xgeo] +=
6886 read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)21.;}
6889 if( n1DeeSCEcna == 138 )
6890 {histo_for_plot[i_xgeo] += read_histo[10]/(Double_t)21.
6891 + read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)21.;}
6892 if( n1DeeSCEcna == 157 && i_xgeo >= 0 )
6893 {histo_for_plot[i_xgeo] +=
6894 read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)21.;}
6899 {histo_for_plot[i_xgeo] += read_histo[i0StexStinEcna];}
6912 std::cout <<
"!TEcnaHistos::ViewHisto(...)> " 6913 <<
" Data not available for " <<
fFapStexName <<
" " << iStasStex+1
6914 <<
" (Quantity not present in the ROOT file)" << std::endl;
6921 std::cout <<
"!TEcnaHistos::ViewHisto(...)> " 6922 <<
" Data not available for " <<
fFapStexName <<
" " << iStasStex+1
6923 <<
" (ROOT file not found)" << std::endl;
6931 delete [] xFapNbOfEvts; xFapNbOfEvts =
nullptr;
fCdelete++;
6933 if( CounterExistingFile > 0 && CounterDataExist > 0 ){OKPlot = 1;}
6941 Bool_t OKFileExists = kFALSE ;
6942 Bool_t ok_view_histo = kFALSE;
6944 if( arg_AlreadyRead == 0 )
6954 if( OKFileExists == kTRUE )
6970 if( arg_AlreadyRead >= 1 )
6972 OKFileExists = kTRUE; ok_view_histo = kTRUE;
6975 if( OKFileExists == kTRUE )
6980 if( ok_view_histo == kTRUE )
6984 (
fFlagSubDet ==
"EE" && ( HistoType ==
"SampGlobal" || HistoType ==
"SampProj" ) ) )
6987 SizeForPlot, SizeForRead,
6988 StexStin_A, i0StinEcha, i0Sample, i_data_exist);
6989 if( i_data_exist > 0 ){OKPlot = 1;}
6990 if( OKPlot == 1 && opt_plot ==
"ASCII" && ( HistoType ==
"Global" || HistoType ==
"Proj" ) )
6995 if(
fFlagSubDet ==
"EE" && !( HistoType ==
"SampGlobal" || HistoType ==
"SampProj" ) )
6997 TVectorD read_histo(SizeForRead);
6998 for(Int_t
i=0;
i<SizeForRead;
i++){read_histo(
i)=(Double_t)0.;}
7001 SizeForRead, SizeForRead,
7002 StexStin_A, i0StinEcha, i0Sample, i_data_exist);
7003 if( i_data_exist > 0 ){OKPlot = 1;}
7004 if( OKPlot == 1 && opt_plot ==
"ASCII" )
7008 if( OKPlot == 1 && opt_plot !=
"ASCII" )
7025 if( n1SCEcha >= 1 && n1SCEcha <= fEcal->MaxCrysInSC() )
7027 if( n1DeeSCEcna >= 1 && n1DeeSCEcna <= fEcal->MaxSCEcnaInDee() )
7029 if( DataSector >= 1 && DataSector <= 9 )
7031 if( SC_in_DS >= 1 && SC_in_DS <= fEcalNumbering->GetMaxSCInDS(DataSector) )
7033 if( read_histo[i0DeeEcha] != 0 )
7036 Int_t DSOffset =
GetDSOffset(DeeNumber, DataSector);
7039 Int_t SCOffset =
GetSCOffset(DeeNumber, DataSector, SC_in_DS);
7043 GetDeeSCConsFrom1DeeSCEcna(DeeNumber, n1DeeSCEcna, n1SCEcha);
7045 Int_t n1FinalSCEcha = n1SCEcha;
7051 if( !( (SC_in_DS == 14 || SC_in_DS == 25 ) && n1SCEcha == 11 ) )
7055 n1DeeSCEcna, n1SCEcha);
7056 i_xgeo = DSOffset + SCOffset + (n1FinalSCEcha-1);
7059 if( SC_in_DS == 14 && n1SCEcha == 11 )
7061 SCOffset =
GetSCOffset(DeeNumber, DataSector, 21);
7063 i_xgeo = DSOffset + SCOffset + (n1FinalSCEcha-1);
7066 if( SC_in_DS == 25 && n1SCEcha == 11 )
7070 i_xgeo = DSOffset + SCOffset + (n1FinalSCEcha-1);
7075 i_xgeo = DSOffset + SCOffset + (n1FinalSCEcha-1);
7078 histo_for_plot_memo[i_xgeo]++;
7079 if( histo_for_plot_memo[i_xgeo] >= 2 )
7082 <<
"] = " << histo_for_plot_memo[i_xgeo]
7083 <<
", nSCCons = " << nSCCons
7084 <<
", SC_in_DS = " << SC_in_DS
7085 <<
", DSOffset = " << DSOffset
7086 <<
", SCOffset = " << SCOffset
7087 <<
", n1DeeSCEcna = " << n1DeeSCEcna
7088 <<
", n1SCEcha = " << n1SCEcha
7089 <<
", n1FinalSCEcha = " << n1FinalSCEcha << std::endl;
7092 if( i_xgeo >= 0 && i_xgeo < SizeForPlot )
7094 if( n1FinalSCEcha > 0 )
7095 {histo_for_plot[i_xgeo] += read_histo[i0DeeEcha];}
7099 std::cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> i_xgeo = " << i_xgeo
7100 <<
". OUT OF RANGE ( range = [0,"<< SizeForPlot <<
"] " << std::endl;
7106 std::cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> SC_in_DS = " << SC_in_DS
7107 <<
". OUT OF RANGE ( range = [1," 7109 <<
", DataSector = " << DataSector
7110 <<
", n1DeeSCEcna = " << n1DeeSCEcna
7111 <<
", n1SCEcha = " << n1SCEcha
7112 <<
", i0DeeEcha = " << i0DeeEcha
7118 if( DataSector != 0 )
7120 std::cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> DataSector = " << DataSector
7121 <<
". OUT OF RANGE ( range = [1,9] " 7122 <<
", n1DeeSCEcna = " << n1DeeSCEcna
7123 <<
", n1SCEcha = " << n1SCEcha
7124 <<
", i0DeeEcha = " << i0DeeEcha
7131 std::cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> n1DeeSCEcna = " << n1DeeSCEcna
7133 <<
", n1SCEcha = " << n1SCEcha
7134 <<
", i0DeeEcha = " << i0DeeEcha
7140 std::cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> n1SCEcha = " << n1SCEcha
7142 <<
", i0DeeEcha = " << i0DeeEcha
7151 std::cout <<
"!TEcnaHistos::ViewHisto(...)> *ERROR* =====> " 7152 <<
" ok_view_histo != kTRUE " <<
fTTBELL << std::endl;
7159 std::cout <<
"!TEcnaHistos::ViewHisto(...)> *ERROR* =====> " 7160 <<
" ROOT file not found" <<
fTTBELL << std::endl;
7167 if( (
fFapStexNumber > 0) && (fFapStexNumber <= fEcal->MaxStexInStas()) )
7169 Bool_t OKFileExists = kFALSE;
7171 if( !(arg_AlreadyRead > 1) )
7183 OKFileExists = kTRUE;
7186 if( OKFileExists == kTRUE )
7190 for(Int_t
i=0;
i<SizeForPlot;
i++){histo_for_plot[
i]=(Double_t)0;}
7193 SizeForPlot, SizeForRead,
7194 StexStin_A, i0StinEcha, i0Sample, i_data_exist);
7201 if( i_data_exist > 0 ){OKPlot = 1;}
7205 std::cout <<
"!TEcnaHistos::ViewHisto(...)> *ERROR* =====> " 7206 <<
" ROOT file not found" <<
fTTBELL << std::endl;
7219 if( ( HistoType ==
"Global" || HistoType ==
"Proj" ||
7220 HistoType ==
"SampGlobal" || HistoType ==
"SampProj" ||
7221 HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj" ) ||
7222 ( !( HistoType ==
"Global" || HistoType ==
"Proj" ||
7223 HistoType ==
"SampGlobal" || HistoType ==
"SampProj" ||
7224 HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj" ) &&
7225 ( (
fFapStexNumber > 0) && (fFapStexNumber <= fEcal->MaxStexInStas()) ) ) )
7227 if( opt_plot !=
"ASCII" )
7233 if( (opt_plot ==
fOnlyOnePlot && ( arg_AlreadyRead == 0 || arg_AlreadyRead == 1 ) ) ||
7253 if( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"H1BasicProj" )
7255 TString HistoCodi = HistoCode;
7257 if( HistoCode ==
"D_NOE_ChDs" ){HistoCodi =
"D_NOE_ChNb";}
7258 if( HistoCode ==
"D_Ped_ChDs" ){HistoCodi =
"D_Ped_ChNb";}
7259 if( HistoCode ==
"D_TNo_ChDs" ){HistoCodi =
"D_TNo_ChNb";}
7260 if( HistoCode ==
"D_MCs_ChDs" ){HistoCodi =
"D_MCs_ChNb";}
7261 if( HistoCode ==
"D_LFN_ChDs" ){HistoCodi =
"D_LFN_ChNb";}
7262 if( HistoCode ==
"D_HFN_ChDs" ){HistoCodi =
"D_HFN_ChNb";}
7263 if( HistoCode ==
"D_SCs_ChDs" ){HistoCodi =
"D_SCs_ChNb";}
7264 if( HistoCode ==
"D_MSp_SpDs" ){HistoCodi =
"D_MSp_SpNb";}
7265 if( HistoCode ==
"D_SSp_SpDs" ){HistoCodi =
"D_SSp_SpNb";}
7266 if( HistoCode ==
"D_Adc_EvDs" ){HistoCodi =
"D_Adc_EvNb";}
7268 TString TitleHisto =
";";
7281 if( (opt_plot ==
fOnlyOnePlot && ( arg_AlreadyRead == 0 || arg_AlreadyRead == 1 ) ) ||
7285 Double_t XinfProj =(Double_t)0;
7286 Double_t XsupProj =(Double_t)0;
7291 Int_t HisSiza =
GetHistoSize(HistoCodi.Data(),
"plot");
7292 Int_t ReadHisSiza = HisSiza;
7294 Axis_t xinf_hisa =
GetHistoXinf(HistoCodi.Data(), HisSiza, opt_plot);
7295 Axis_t xsup_hisa =
GetHistoXsup(HistoCodi.Data(), HisSiza, opt_plot);
7299 new TH1D(
"histoa", TitleHisto.Data(), nb_binxa, xinf_hisa, xsup_hisa);
fCnewRoot++;
7302 FillHisto(h_hisa, histo_for_plot, HistoCodi.Data(), ReadHisSiza);
7352 Double_t cXinf = (Double_t)0.;
7353 Double_t cXsup = (Double_t)0.;
7356 if( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"H1BasicProj")
7371 cXinf =
GetHistoXinf(HistoCode.Data(), SizeForPlot, opt_plot);
7372 cXsup =
GetHistoXsup(HistoCode.Data(), SizeForPlot, opt_plot);
7376 Axis_t xinf_his = cXinf;
7377 Axis_t xsup_his = cXsup;
7378 Int_t nb_binx = xNbBins;
7380 TString TitleHisto =
";";
7383 TH1D* h_his0 =
new TH1D(
"histo", TitleHisto.Data(), nb_binx, xinf_his, xsup_his);
fCnewRoot++;
7386 FillHisto(h_his0, histo_for_plot, HistoCode.Data(), SizeForPlot);
7395 if( HistoType !=
"Proj" && HistoType !=
"SampProj" && HistoType !=
"H1BasicProj" )
7408 if( ymin != (Double_t)0. )
7427 if( ( HistoType ==
"Proj" || HistoType ==
"SampProj" ||
7428 HistoType ==
"H1BasicProj" ) &&
fFlagScaleY ==
"LIN" )
7452 HistoPlot(h_his0, SizeForPlot, xinf_his, xsup_his,
7453 HistoCode.Data(), HistoType.Data(),
7454 StexStin_A, i0StinEcha, i0Sample,
7455 opt_scale_x, opt_scale_y, opt_plot, arg_AlreadyRead,
7456 xFlagAutoYsupMargin);
7469 std::cout <<
"!TEcnaHistos::ViewHisto(...)> Histo not available." 7485 if( DeeNumber == 4 )
7487 if( DataSector >= 1 ){}
7493 if( DeeNumber == 3 )
7495 if( DataSector >= 5 ){}
7501 if( DeeNumber == 2 )
7503 if( DataSector <= 9 ){}
7509 if( DeeNumber == 1 )
7511 if( DataSector <= 5 ){}
7526 if( DeeNumber == 1 || DeeNumber == 3 )
7532 if( DeeNumber == 2 || DeeNumber == 4 ){SCOffset += (SC_in_DS-1)*
fEcal->
MaxCrysInSC();}
7538 const Int_t& nSCCons,
const Int_t& SC_in_DS,
7539 const Int_t& n1DeeSCEcna,
const Int_t& n1SCEcha)
7543 Int_t ModifiedSCEcha = -1;
7547 TString TypQuad =
"?";
7548 if( SCQuad ==
"top" && DeeDir ==
"right" ){TypQuad =
"TR";}
7549 if( SCQuad ==
"top" && DeeDir ==
"left" ){TypQuad =
"TL";}
7550 if( SCQuad ==
"bottom" && DeeDir ==
"left" ){TypQuad =
"BL";}
7551 if( SCQuad ==
"bottom" && DeeDir ==
"right" ){TypQuad =
"BR";}
7557 if( (SC_in_DS == 30 && n1DeeSCEcna == 60 && TypQuad ==
"TR") ||
7558 (SC_in_DS == 3 && n1DeeSCEcna == 138 && TypQuad ==
"TR") ){
if(n1SCEcha > 15){ModifiedSCEcha = n1SCEcha - 15;}}
7562 if( (SC_in_DS == 30 && n1DeeSCEcna == 60 && TypQuad ==
"TL") ||
7563 (SC_in_DS == 3 && n1DeeSCEcna == 138 && TypQuad ==
"TL") )
7565 if(n1SCEcha == 4){ModifiedSCEcha = 1;}
7566 if(n1SCEcha == 5){ModifiedSCEcha = 2;}
7567 if(n1SCEcha == 9){ModifiedSCEcha = 3;}
7568 if(n1SCEcha == 10){ModifiedSCEcha = 4;}
7569 if(n1SCEcha == 14){ModifiedSCEcha = 5;}
7570 if(n1SCEcha == 15){ModifiedSCEcha = 6;}
7571 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7572 if(n1SCEcha == 20){ModifiedSCEcha = 8;}
7573 if(n1SCEcha == 24){ModifiedSCEcha = 9;}
7574 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7578 if( SC_in_DS == 30 && n1DeeSCEcna == 119 && TypQuad ==
"TR" ){
if(n1SCEcha > 5){ModifiedSCEcha = n1SCEcha - 5;}}
7581 if( SC_in_DS == 30 && n1DeeSCEcna == 119 && TypQuad ==
"TL" )
7583 if(n1SCEcha == 4){ModifiedSCEcha = 11;}
7584 if(n1SCEcha == 5){ModifiedSCEcha = 12;}
7585 if(n1SCEcha == 9){ModifiedSCEcha = 13;}
7586 if(n1SCEcha == 10){ModifiedSCEcha = 14;}
7587 if(n1SCEcha == 14){ModifiedSCEcha = 15;}
7588 if(n1SCEcha == 15){ModifiedSCEcha = 16;}
7589 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7590 if(n1SCEcha == 20){ModifiedSCEcha = 18;}
7591 if(n1SCEcha == 24){ModifiedSCEcha = 19;}
7592 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7597 if( SC_in_DS == 12 && n1DeeSCEcna == 13 && TypQuad ==
"TR" )
7599 ModifiedSCEcha = n1SCEcha;
7601 if( SC_in_DS == 12 && n1DeeSCEcna == 13 && TypQuad ==
"TL" )
7603 if( n1SCEcha >= 1 && n1SCEcha <= 4 ){ModifiedSCEcha = n1SCEcha;}
7604 if( n1SCEcha >= 6 && n1SCEcha <= 9 ){ModifiedSCEcha = n1SCEcha-1;}
7605 if( n1SCEcha >= 11 && n1SCEcha <= 14 ){ModifiedSCEcha = n1SCEcha-2;}
7606 if( n1SCEcha >= 16 && n1SCEcha <= 19 ){ModifiedSCEcha = n1SCEcha-3;}
7607 if( n1SCEcha >= 21 && n1SCEcha <= 24 ){ModifiedSCEcha = n1SCEcha-4;}
7611 if( SC_in_DS == 25 && n1DeeSCEcna == 176 && TypQuad ==
"TR" )
7613 if(n1SCEcha == 4){ModifiedSCEcha = 1;}
7614 if(n1SCEcha == 5){ModifiedSCEcha = 2;}
7615 if(n1SCEcha == 9){ModifiedSCEcha = 3;}
7616 if(n1SCEcha == 10){ModifiedSCEcha = 4;}
7617 if(n1SCEcha == 14){ModifiedSCEcha = 5;}
7618 if(n1SCEcha == 15){ModifiedSCEcha = 6;}
7619 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7620 if(n1SCEcha == 20){ModifiedSCEcha = 8;}
7621 if(n1SCEcha == 24){ModifiedSCEcha = 9;}
7622 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7626 if( SC_in_DS == 25 && n1DeeSCEcna == 176 && TypQuad ==
"TL" )
7628 if(n1SCEcha == 16){ModifiedSCEcha = 1;}
7629 if(n1SCEcha == 21){ModifiedSCEcha = 2;}
7630 if(n1SCEcha == 17){ModifiedSCEcha = 3;}
7631 if(n1SCEcha == 22){ModifiedSCEcha = 4;}
7632 if(n1SCEcha == 18){ModifiedSCEcha = 5;}
7633 if(n1SCEcha == 23){ModifiedSCEcha = 6;}
7634 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7635 if(n1SCEcha == 24){ModifiedSCEcha = 8;}
7636 if(n1SCEcha == 20){ModifiedSCEcha = 9;}
7637 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7642 if( (SC_in_DS == 3 && n1DeeSCEcna == 157 && TypQuad ==
"TR") ||
7643 (SC_in_DS == 25 && n1DeeSCEcna == 193 && TypQuad ==
"TR") )
7645 if(n1SCEcha == 4){ModifiedSCEcha = 11;}
7646 if(n1SCEcha == 5){ModifiedSCEcha = 12;}
7647 if(n1SCEcha == 9){ModifiedSCEcha = 13;}
7648 if(n1SCEcha == 10){ModifiedSCEcha = 14;}
7649 if(n1SCEcha == 14){ModifiedSCEcha = 15;}
7650 if(n1SCEcha == 15){ModifiedSCEcha = 16;}
7651 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7652 if(n1SCEcha == 20){ModifiedSCEcha = 18;}
7653 if(n1SCEcha == 24){ModifiedSCEcha = 19;}
7654 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7659 if( (SC_in_DS == 3 && n1DeeSCEcna == 157 && TypQuad ==
"TL") ||
7660 (SC_in_DS == 25 && n1DeeSCEcna == 193 && TypQuad ==
"TL") )
7662 if(n1SCEcha == 16){ModifiedSCEcha = 11;}
7663 if(n1SCEcha == 21){ModifiedSCEcha = 12;}
7664 if(n1SCEcha == 17){ModifiedSCEcha = 13;}
7665 if(n1SCEcha == 22){ModifiedSCEcha = 14;}
7666 if(n1SCEcha == 18){ModifiedSCEcha = 15;}
7667 if(n1SCEcha == 23){ModifiedSCEcha = 16;}
7668 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7669 if(n1SCEcha == 24){ModifiedSCEcha = 18;}
7670 if(n1SCEcha == 20){ModifiedSCEcha = 19;}
7671 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7675 if( SC_in_DS == 32 && n1DeeSCEcna == 51 && TypQuad ==
"TR" )
7677 if( n1SCEcha >= 1 && n1SCEcha <= 4 ){ModifiedSCEcha = n1SCEcha;}
7678 if( n1SCEcha >= 6 && n1SCEcha <= 9 ){ModifiedSCEcha = n1SCEcha-1;}
7679 if( n1SCEcha >= 11 && n1SCEcha <= 14 ){ModifiedSCEcha = n1SCEcha-2;}
7680 if( n1SCEcha >= 16 && n1SCEcha <= 19 ){ModifiedSCEcha = n1SCEcha-3;}
7681 if( n1SCEcha >= 21 && n1SCEcha <= 24 ){ModifiedSCEcha = n1SCEcha-4;}
7685 if( SC_in_DS == 32 && n1DeeSCEcna == 51 && TypQuad ==
"TL" )
7687 ModifiedSCEcha = n1SCEcha;
7698 if( n1DeeSCEcna == 32 && TypQuad ==
"TR" )
7700 if( nSCCons == 207 )
7702 if(n1SCEcha == 1){ModifiedSCEcha = 21;}
7703 if(n1SCEcha == 2){ModifiedSCEcha = 22;}
7704 if(n1SCEcha == 3){ModifiedSCEcha = 23;}
7705 if(n1SCEcha == 6){ModifiedSCEcha = 24;}
7706 if(n1SCEcha == 7){ModifiedSCEcha = 25;}
7708 if( nSCCons == 178 )
7710 if(n1SCEcha == 11){ModifiedSCEcha = 21;}
7721 if( n1DeeSCEcna == 32 && TypQuad ==
"TL" )
7725 if(n1SCEcha == 1){ModifiedSCEcha = 21;}
7726 if(n1SCEcha == 2){ModifiedSCEcha = 22;}
7727 if(n1SCEcha == 3){ModifiedSCEcha = 23;}
7728 if(n1SCEcha == 6){ModifiedSCEcha = 24;}
7729 if(n1SCEcha == 7){ModifiedSCEcha = 25;}
7733 if(n1SCEcha == 11){ModifiedSCEcha = 21;}
7748 if( n1DeeSCEcna == 29 && TypQuad ==
"BR" )
7750 if( nSCCons == 261 )
7752 if(n1SCEcha == 1){ModifiedSCEcha = 21;}
7753 if(n1SCEcha == 2){ModifiedSCEcha = 22;}
7754 if(n1SCEcha == 3){ModifiedSCEcha = 23;}
7755 if(n1SCEcha == 6){ModifiedSCEcha = 24;}
7756 if(n1SCEcha == 7){ModifiedSCEcha = 25;}
7758 if( nSCCons == 268 )
7760 if(n1SCEcha == 11){ModifiedSCEcha = 21;}
7771 if( n1DeeSCEcna == 29 && TypQuad ==
"BL" )
7773 if( nSCCons == 119 )
7775 if(n1SCEcha == 11){ModifiedSCEcha = 21;}
7777 if( nSCCons == 112 )
7779 if(n1SCEcha == 1){ModifiedSCEcha = 21;}
7780 if(n1SCEcha == 2){ModifiedSCEcha = 22;}
7781 if(n1SCEcha == 3){ModifiedSCEcha = 23;}
7782 if(n1SCEcha == 6){ModifiedSCEcha = 24;}
7783 if(n1SCEcha == 7){ModifiedSCEcha = 25;}
7791 if( (SC_in_DS == 34 && n1DeeSCEcna == 188 && TypQuad ==
"BR") ||
7792 (SC_in_DS == 14 && n1DeeSCEcna == 165 && TypQuad ==
"BR") ){
if(n1SCEcha > 15){ModifiedSCEcha = n1SCEcha - 15;}}
7796 if( (SC_in_DS == 34 && n1DeeSCEcna == 188 && TypQuad ==
"BL") ||
7797 (SC_in_DS == 14 && n1DeeSCEcna == 165 && TypQuad ==
"BL") )
7799 if(n1SCEcha == 4){ModifiedSCEcha = 1;}
7800 if(n1SCEcha == 5){ModifiedSCEcha = 2;}
7801 if(n1SCEcha == 9){ModifiedSCEcha = 3;}
7802 if(n1SCEcha == 10){ModifiedSCEcha = 4;}
7803 if(n1SCEcha == 14){ModifiedSCEcha = 5;}
7804 if(n1SCEcha == 15){ModifiedSCEcha = 6;}
7805 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7806 if(n1SCEcha == 20){ModifiedSCEcha = 8;}
7807 if(n1SCEcha == 24){ModifiedSCEcha = 9;}
7808 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7812 if( SC_in_DS == 10 && n1DeeSCEcna == 50 && TypQuad ==
"BR" )
7814 ModifiedSCEcha = n1SCEcha;
7818 if( SC_in_DS == 10 && n1DeeSCEcna == 50 && TypQuad ==
"BL")
7820 if( n1SCEcha >= 1 && n1SCEcha <= 4 ){ModifiedSCEcha = n1SCEcha;}
7821 if( n1SCEcha >= 6 && n1SCEcha <= 9 ){ModifiedSCEcha = n1SCEcha-1;}
7822 if( n1SCEcha >= 11 && n1SCEcha <= 14 ){ModifiedSCEcha = n1SCEcha-2;}
7823 if( n1SCEcha >= 16 && n1SCEcha <= 19 ){ModifiedSCEcha = n1SCEcha-3;}
7824 if( n1SCEcha >= 21 && n1SCEcha <= 24 ){ModifiedSCEcha = n1SCEcha-4;}
7828 if( SC_in_DS == 14 && n1DeeSCEcna == 144 && TypQuad ==
"BR" ){
if(n1SCEcha > 5){ModifiedSCEcha = n1SCEcha - 5;}}
7831 if( SC_in_DS == 14 && n1DeeSCEcna == 144 && TypQuad ==
"BL" )
7833 if(n1SCEcha == 4){ModifiedSCEcha = 11;}
7834 if(n1SCEcha == 5){ModifiedSCEcha = 12;}
7835 if(n1SCEcha == 9){ModifiedSCEcha = 13;}
7836 if(n1SCEcha == 10){ModifiedSCEcha = 14;}
7837 if(n1SCEcha == 14){ModifiedSCEcha = 15;}
7838 if(n1SCEcha == 15){ModifiedSCEcha = 16;}
7839 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7840 if(n1SCEcha == 20){ModifiedSCEcha = 18;}
7841 if(n1SCEcha == 24){ModifiedSCEcha = 19;}
7842 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7847 if( (SC_in_DS == 21 && n1DeeSCEcna == 123 && TypQuad ==
"BR") ||
7848 (SC_in_DS == 20 && n1DeeSCEcna == 41 && TypQuad ==
"BR") )
7850 if(n1SCEcha == 4){ModifiedSCEcha = 1;}
7851 if(n1SCEcha == 5){ModifiedSCEcha = 2;}
7852 if(n1SCEcha == 9){ModifiedSCEcha = 3;}
7853 if(n1SCEcha == 10){ModifiedSCEcha = 4;}
7854 if(n1SCEcha == 14){ModifiedSCEcha = 5;}
7855 if(n1SCEcha == 15){ModifiedSCEcha = 6;}
7856 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7857 if(n1SCEcha == 20){ModifiedSCEcha = 8;}
7858 if(n1SCEcha == 24){ModifiedSCEcha = 9;}
7859 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7864 if( (SC_in_DS == 21 && n1DeeSCEcna == 123 && TypQuad ==
"BL") ||
7865 (SC_in_DS == 3 && n1DeeSCEcna == 41 && TypQuad ==
"BL") ){
if(n1SCEcha > 15){ModifiedSCEcha = n1SCEcha - 15;}}
7869 if( SC_in_DS == 21 && n1DeeSCEcna == 102 && TypQuad ==
"BR" )
7871 if(n1SCEcha == 4){ModifiedSCEcha = 11;}
7872 if(n1SCEcha == 5){ModifiedSCEcha = 12;}
7873 if(n1SCEcha == 9){ModifiedSCEcha = 13;}
7874 if(n1SCEcha == 10){ModifiedSCEcha = 14;}
7875 if(n1SCEcha == 14){ModifiedSCEcha = 15;}
7876 if(n1SCEcha == 15){ModifiedSCEcha = 16;}
7877 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7878 if(n1SCEcha == 20){ModifiedSCEcha = 18;}
7879 if(n1SCEcha == 24){ModifiedSCEcha = 19;}
7880 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7884 if( SC_in_DS == 21 && n1DeeSCEcna == 102 && TypQuad ==
"BL" )
7886 if(n1SCEcha == 16){ModifiedSCEcha = 11;}
7887 if(n1SCEcha == 21){ModifiedSCEcha = 12;}
7888 if(n1SCEcha == 17){ModifiedSCEcha = 13;}
7889 if(n1SCEcha == 22){ModifiedSCEcha = 14;}
7890 if(n1SCEcha == 18){ModifiedSCEcha = 15;}
7891 if(n1SCEcha == 23){ModifiedSCEcha = 16;}
7892 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7893 if(n1SCEcha == 24){ModifiedSCEcha = 18;}
7894 if(n1SCEcha == 20){ModifiedSCEcha = 19;}
7895 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7899 if( SC_in_DS == 23 && n1DeeSCEcna == 8 && TypQuad ==
"BR" )
7901 if( n1SCEcha >= 1 && n1SCEcha <= 4 ){ModifiedSCEcha = n1SCEcha;}
7902 if( n1SCEcha >= 6 && n1SCEcha <= 9 ){ModifiedSCEcha = n1SCEcha-1;}
7903 if( n1SCEcha >= 11 && n1SCEcha <= 14 ){ModifiedSCEcha = n1SCEcha-2;}
7904 if( n1SCEcha >= 16 && n1SCEcha <= 19 ){ModifiedSCEcha = n1SCEcha-3;}
7905 if( n1SCEcha >= 21 && n1SCEcha <= 24 ){ModifiedSCEcha = n1SCEcha-4;}
7909 if( SC_in_DS == 6 && n1DeeSCEcna == 8 && TypQuad ==
"BL" )
7911 ModifiedSCEcha = n1SCEcha;
7917 std::cout <<
"! *** ERROR *** > ModifiedSCEcha = " << ModifiedSCEcha
7918 <<
", SC_in_DS = " << SC_in_DS
7919 <<
", nSCCons = " << nSCCons
7920 <<
", n1DeeSCEcna = " << n1DeeSCEcna
7921 <<
", n1SCEcha = " << n1SCEcha
7922 <<
", ModifiedSCEcha = " << ModifiedSCEcha
7923 <<
", TypQuad = " << TypQuad
7928 return ModifiedSCEcha;
7944 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
7945 const TString& HistoCode,
const TString& opt_plot_arg)
7949 TString opt_plot = opt_plot_arg;
7952 if( opt_plot_arg ==
"ONLYONE" ){opt_plot =
fOnlyOnePlot;}
7953 if( opt_plot_arg ==
"SEVERAL" ){opt_plot =
fSeveralPlot;}
7954 if( opt_plot_arg ==
"SAMEONE" ){opt_plot =
fSameOnePlot;}
7959 Int_t xCanvasExists = 1;
7962 TVirtualPad* main_subpad =
nullptr;
7964 main_subpad =
ActivePad(HistoCode.Data(), opt_plot.Data());
7965 if( main_subpad ==
nullptr )
7967 std::cout <<
"*TEcnaHistos::ViewHistime(...)> WARNING ===> Canvas has been closed in option SAME or SAME n." 7969 <<
" Please, restart with a new canvas." 7979 Int_t SameXVarMemo = 1;
7980 if( !( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"H1BasicProj" || HistoType ==
"EvolProj" ) )
7987 SetXVarMemo(HistoCode, opt_plot, XVarHisto);
SetYVarMemo(HistoCode, opt_plot, YVarHisto); SameXVarMemo = 1;
7994 if( XVarHisto != XVariableMemo )
7996 std::cout <<
"!TEcnaHistos::ViewHistime(...)> *** ERROR *** ===> X coordinate changed in option SAME n." << std::endl
7997 <<
" Present X = " << XVarHisto << std::endl
7998 <<
" Present Y = " << YVarHisto << std::endl
7999 <<
" Previous X = " << XVariableMemo << std::endl
8000 <<
" Previous Y = " << YVariableMemo
8011 Int_t SameYVarMemo = 1;
8012 if( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"H1BasicProj" || HistoType ==
"EvolProj" )
8019 SetYVarMemo(HistoCode, opt_plot, YVarHisto);
SetYVarMemo(HistoCode, opt_plot, YVarHisto); SameYVarMemo = 1;
8026 if( YVarHisto != YVariableMemo )
8028 std::cout <<
"!TEcnaHistos::ViewHistime(...)> *** ERROR *** ===> Y coordinate changed in option SAME n." << std::endl
8029 <<
" Present X = " << XVarHisto << std::endl
8030 <<
" Present Y = " << YVarHisto << std::endl
8031 <<
" Previous X = " << XVariableMemo << std::endl
8032 <<
" Previous Y = " << YVariableMemo
8041 if( xCanvasExists == 1 && SameXVarMemo == 1 && SameYVarMemo == 1 ){OKHisto = 1;}
8065 if( nb_of_runs_in_list > 0 )
8069 Double_t margin_frame_xaxis = (Double_t)25.;
8071 Double_t thstart_evol = (Double_t)0.;
8072 Double_t thstop_evol = (Double_t)0.;
8074 Int_t* exist_indic =
new Int_t[nb_of_runs_in_list];
fCnew++;
8088 for(Int_t i_run = 0; i_run < nb_of_runs_in_list; i_run++)
8090 exist_indic[i_run] = 0;
8129 exist_indic[i_run] = 1;
8136 std::cout <<
"!TEcnaHistos::ViewHistime(...)> *ERROR* =====> " 8137 <<
" ROOT file not found for run " << fT1DRunNumber[i_run]
8138 <<
fTTBELL << std::endl << std::endl;
8146 Int_t i_existing_run = (Int_t)0;
8148 for( Int_t i_run = 0; i_run < nb_of_runs_in_list; i_run++)
8150 if( exist_indic[i_run] == 1 )
8162 Double_t xinf_lim = thstart_evol-(thstop_evol-thstart_evol)/margin_frame_xaxis;
8163 Double_t xsup_lim = thstop_evol +(thstop_evol-thstart_evol)/margin_frame_xaxis;
8165 Axis_t xinf_his = (Axis_t)(xinf_lim);
8166 Axis_t xsup_his = (Axis_t)(xsup_lim);
8179 time_coordx[i_run] = (Double_t)(-1);
8180 hval_coordy[i_run] = (Double_t)(-1);
8207 if( ok_view_histo == kTRUE )
8211 Double_t thstart = (Double_t)xStartTime;
8212 time_coordx[i_run] = (Double_t)(thstart - xinf_lim);
8217 if(HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_Ped_RuDs")
8219 if(HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_TNo_RuDs")
8221 if(HistoCode ==
"H_MCs_Date" || HistoCode ==
"H_MCs_RuDs")
8224 if(HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_LFN_RuDs")
8226 if(HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_HFN_RuDs")
8228 if(HistoCode ==
"H_SCs_Date" || HistoCode ==
"H_SCs_RuDs")
8230 hval_coordy[i_run] = (Double_t)read_histo(i0StexEcha);
8234 std::cout <<
"!TEcnaHistos::ViewHistime(...)> Histo not available. " 8255 TGraph* g_graph0 =
new TGraph(fNbOfExistingRuns, time_coordx, hval_coordy);
fCnewRoot++;
8259 {g_graph0->SetTitle(
";");}
8276 g_graph0->Set(fNbOfExistingRuns);
8277 Double_t graph_ymin =
8279 Double_t graph_ymax =
8283 if( HistoType ==
"Evol" )
8322 HistoCode.Data(), HistoType.Data(),
8323 StexStin_A, i0StinEcha, i0Sample,
8324 opt_scale_x, opt_scale_y, opt_plot, xFlagAutoYsupMargin);
8350 if( HistoType ==
"EvolProj" )
8353 TVectorD histo_for_plot(HisSizeEvolProj);
8354 for(Int_t
i=0;
i<HisSizeEvolProj;
i++){histo_for_plot[
i]=(Double_t)0.;}
8359 TString HistoCodi = HistoCode;
8361 if( HistoCode ==
"H_Ped_RuDs" ){HistoCodi =
"H_Ped_Date";}
8362 if( HistoCode ==
"H_TNo_RuDs" ){HistoCodi =
"H_TNo_Date";}
8363 if( HistoCode ==
"H_LFN_RuDs" ){HistoCodi =
"H_LFN_Date";}
8364 if( HistoCode ==
"H_HFN_RuDs" ){HistoCodi =
"H_HFN_Date";}
8365 if( HistoCode ==
"H_MCs_RuDs" ){HistoCodi =
"H_MCs_Date";}
8366 if( HistoCode ==
"H_SCs_RuDs" ){HistoCodi =
"H_SCs_Date";}
8381 Double_t XinfProj =(Double_t)0;
8382 Double_t XsupProj =(Double_t)0;
8427 Double_t cXinf = (Double_t)0.;
8428 Double_t cXsup = (Double_t)0.;
8442 if( cXinf >= cXsup ){cXinf -= 1.; cXsup +=1.;}
8445 Axis_t xinf_his = cXinf;
8446 Axis_t xsup_his = cXsup;
8448 TString TitleHisto =
";";
8455 Double_t XFromYGraph = hval_coordy[i_run];
8456 Double_t binXProjY = (Double_t)HisSizeEvolProj*(XFromYGraph - cXinf)/(cXsup - cXinf);
8457 Int_t ibinXProjY = (Int_t)binXProjY;
8458 if( ibinXProjY >= 0 && ibinXProjY<HisSizeEvolProj ){histo_for_plot[ibinXProjY]++;}
8461 TH1D* h_his_evol_proj =
new TH1D(
"histevolproj", TitleHisto.Data(),
8462 HisSizeEvolProj, xinf_his, xsup_his);
fCnewRoot++;
8464 h_his_evol_proj->Reset();
8467 for(Int_t
i=0;
i<HisSizeEvolProj;
i++)
8469 Double_t yi = (Double_t)
i/(Double_t)HisSizeEvolProj*(cXsup-cXinf) + cXinf;
8470 Double_t his_val = (Double_t)histo_for_plot[
i];
8471 h_his_evol_proj->Fill(yi, his_val);
8513 Int_t arg_AlreadyRead = 0;
8515 HistoPlot(h_his_evol_proj, HisSizeEvolProj,
8517 HistoCode.Data(), HistoType.Data(),
8518 StexStin_A, i0StinEcha, i0Sample,
8519 opt_scale_x, opt_scale_y, opt_plot, arg_AlreadyRead,
8520 xFlagAutoYsupMargin);
8522 h_his_evol_proj->Delete(); h_his_evol_proj =
nullptr;
fCdeleteRoot++;
8528 delete [] time_coordx; time_coordx =
nullptr;
fCdelete++;
8529 delete [] hval_coordy; hval_coordy =
nullptr;
fCdelete++;
8533 std::cout <<
"!TEcnaHistos::ViewHistime(...)> The list of runs in file: " << list_of_run_file_name
8534 <<
" has " << nb_of_runs_in_list <<
" run numbers" << std::endl
8535 <<
" but none of them correspond to an existing ROOT file." 8541 std::cout <<
"!TEcnaHistos::ViewHistime(...)> *ERROR* =====> " 8547 delete [] exist_indic; exist_indic =
nullptr;
fCdelete++;
8551 if( nb_of_runs_in_list == 0 )
8553 std::cout <<
"!TEcnaHistos::ViewHistime(...)> The list of runs in file: " << list_of_run_file_name
8554 <<
" is empty !" <<
fTTBELL << std::endl;
8556 if( nb_of_runs_in_list < 0 )
8558 std::cout <<
"!TEcnaHistos::ViewHistime(...)> " << list_of_run_file_name
8597 Int_t nb_of_runs_in_list = 0;
8600 if( !strcmp(list_of_run_file_name.Data(),
"\0") )
8602 std::cout <<
"!TEcnaHistos::GetHistoryRunListParameters(...)> *** ERROR *** =====> " 8603 <<
" EMPTY STRING for list of run file name." <<
fTTBELL << std::endl;
8625 TString xFileNameRunList = list_of_run_file_name.Data();
8626 const Text_t *t_file_name = (
const Text_t *)xFileNameRunList.Data();
8634 TString home_path = gSystem->Getenv(
"HOME");
8641 xFileNameRunList.Append(
'/');
8642 xFileNameRunList.Append(t_file_name);
8644 fFcin_f.open(xFileNameRunList.Data());
8647 if(
fFcin_f.fail() == kFALSE )
8654 Int_t list_size_read = 0;
8656 while( !
fFcin_f.eof() ){
fFcin_f >> cRunNumber; list_size_read++;}
8663 fFcin_f.seekg(0, std::ios::beg);
8698 std::cout <<
"TEcnaHistos::GetHistoryRunListParameters(...)> Max number of runs in HistoryRunList = " 8700 <<
" too large, forced to parameter TEcnaParHistos->fMaxNbOfRunsInLists value (= " 8702 <<
"). Please, set this parameter to a larger value than " <<
fFapMaxNbOfRuns 8715 std::cout <<
"!TEcnaHistos::GetHistoryRunListParameters(...)> *** ERROR *** =====> fFapMaxNbOfRuns = " 8726 for (Int_t i_list = 0; i_list <
fFapNbOfRuns; i_list++)
8738 std::cout <<
"!TEcnaHistos::GetHistoryRunListParameters(...)> *** ERROR *** =====> " 8739 << xFileNameRunList.Data() <<
" : file not found." <<
fTTBELL << std::endl;
8740 nb_of_runs_in_list = -1;
8743 return nb_of_runs_in_list;
8777 if( xArgIndexRun >= 0 && xArgIndexRun < MaxNbOfRuns)
8784 std::cout <<
"!TEcnaHistos::SetRunNumberFromList(...)> **** ERROR **** Run index out of range in list of runs. xArgIndexRun = " 8785 << xArgIndexRun <<
" (MaxNbOfRuns = "<< MaxNbOfRuns <<
")" << std::endl;
8817 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
const Int_t& i0Sample,
8818 const TString& HistoCode)
8822 Bool_t ok_view_histo = kFALSE;
8839 if ( vStin(index_Stin) == StexStin_A ){Stin_ok++;};
8845 if( !( HistoType ==
"Global" || HistoType ==
"Proj" ) )
8849 Int_t StinNumber = StexStin_A;
8852 std::cout <<
"!TEcnaHistos::GetOkViewHisto(...)> *ERROR* =====> " <<
"File: " << root_file_name
8855 <<
" not found. Available numbers = ";
8875 Int_t ok_max_elt = 1;
8877 if( ( ( (HistoType ==
"H1Basic") || (HistoType ==
"Evol") || (HistoType ==
"EvolProj") )
8878 && (i0StinEcha >= 0) && (i0StinEcha<fEcal->MaxCrysInStin())
8880 !( (HistoType ==
"H1Basic") || (HistoType ==
"Evol") || (HistoType ==
"EvolProj") ))
8886 if( ( (HistoType ==
"H1Basic") || (HistoType ==
"Evol") || (HistoType ==
"EvolProj") )
8887 && !( (i0StinEcha >= 0) && (i0StinEcha<fEcal->MaxCrysInStin()) ) )
8888 {
std::cout <<
"!TEcnaHistos::GetOkViewHisto(...)> *ERROR* =====> " <<
"File: " << root_file_name
8889 <<
". Wrong channel number. Value = " << i0StinEcha <<
" (required range: [" << Choffset <<
", " 8892 if( (HistoCode ==
"D_Adc_EvDs" || HistoCode ==
"D_Adc_EvNb") &&
8894 {
std::cout <<
"!TEcnaHistos::GetOkViewHisto(...)> *ERROR* =====> " <<
"File: " << root_file_name
8895 <<
". Wrong sample index. Value = " << i0Sample <<
" (required range: [0, " 8901 if( (ok_view == 1) && (ok_max_elt == 1) )
8903 ok_view_histo = kTRUE;
8907 std::cout <<
"!TEcnaHistos::GetOkViewHisto(...)> At least one ERROR has been detected. ok_view = " << ok_view
8908 <<
", ok_max_elt = " << ok_max_elt <<
fTTBELL << std::endl;
8915 std::cout <<
"!TEcnaHistos::GetOkViewHisto(...)> No data in ROOT file " 8916 <<
", aMyRootFile->DataExist() = " << aMyRootFile->
DataExist() <<
fTTBELL << std::endl;
8918 return ok_view_histo;
8932 Int_t xFlagAutoYsupMargin = 1;
8934 if(HistoCode ==
"D_NOE_ChNb"){
8938 if(HistoCode ==
"D_NOE_ChDs"){
8942 if(HistoCode ==
"D_Ped_ChNb"){
8946 if(HistoCode ==
"D_Ped_ChDs"){
8950 if(HistoCode ==
"D_TNo_ChNb"){
8954 if(HistoCode ==
"D_TNo_ChDs"){
8958 if(HistoCode ==
"D_MCs_ChNb"){
8962 if(HistoCode ==
"D_MCs_ChDs"){
8966 if(HistoCode ==
"D_LFN_ChNb"){
8970 if(HistoCode ==
"D_LFN_ChDs"){
8974 if(HistoCode ==
"D_HFN_ChNb"){
8978 if(HistoCode ==
"D_HFN_ChDs"){
8982 if(HistoCode ==
"D_SCs_ChNb"){
8986 if(HistoCode ==
"D_SCs_ChDs"){
8990 if(HistoCode ==
"D_MSp_SpNb"){
8994 if(HistoCode ==
"D_MSp_SpDs"){
8998 if(HistoCode ==
"D_SSp_SpNb"){
9002 if(HistoCode ==
"D_SSp_SpDs"){
9006 if(HistoCode ==
"D_Adc_EvNb"){
9010 if(HistoCode ==
"D_Adc_EvDs"){
9014 if(HistoCode ==
"H2CorccInStins"){
9018 if(HistoCode ==
"H2LFccMosMatrix"){
9022 if(HistoCode ==
"H2HFccMosMatrix"){
9026 if(HistoCode ==
"H_Ped_RuDs"){
9030 if(HistoCode ==
"H_TNo_RuDs"){
9034 if(HistoCode ==
"H_MCs_RuDs"){
9038 if(HistoCode ==
"H_LFN_RuDs"){
9042 if(HistoCode ==
"H_HFN_RuDs"){
9046 if(HistoCode ==
"H_SCs_RuDs"){
9050 return xFlagAutoYsupMargin;
9057 Int_t xFlagAutoYsupMargin = 1;
9059 if(HistoCode ==
"H_Ped_Date"){
9063 if(HistoCode ==
"H_TNo_Date"){
9067 if(HistoCode ==
"H_MCs_Date"){
9071 if(HistoCode ==
"H_LFN_Date"){
9075 if(HistoCode ==
"H_HFN_Date"){
9079 if(HistoCode ==
"H_SCs_Date"){
9083 return xFlagAutoYsupMargin;
9090 Double_t minproj = h_his0->GetMinimum();
9091 Double_t maxproj = h_his0->GetMaximum();
9092 minproj = minproj - (maxproj-minproj)*margin_factor;
9099 Double_t minproj = h_his0->GetMinimum();
9100 Double_t maxproj = h_his0->GetMaximum();
9101 maxproj = maxproj + (maxproj-minproj)*margin_factor;
9108 Double_t graph_ymin = g_graph0->GetY()[0];
9109 for(Int_t
i=1;
i<g_graph0->GetN();
i++)
9110 {
if( g_graph0->GetY()[
i] < graph_ymin ){graph_ymin = g_graph0->GetY()[
i];}}
9112 Double_t graph_ymax = g_graph0->GetY()[0];
9113 for(Int_t
i=1;
i<g_graph0->GetN();
i++)
9114 {
if( g_graph0->GetY()[
i] > graph_ymax ){graph_ymax = g_graph0->GetY()[
i];}}
9116 graph_ymin = graph_ymin - (graph_ymax-graph_ymin)*margin_factor;
9122 Double_t graph_ymin = g_graph0->GetY()[0];
9123 for(Int_t
i=1;
i<g_graph0->GetN();
i++)
9124 {
if( g_graph0->GetY()[
i] < graph_ymin ){graph_ymin = g_graph0->GetY()[
i];}}
9126 Double_t graph_ymax = g_graph0->GetY()[0];
9127 for(Int_t
i=1;
i<g_graph0->GetN();
i++)
9128 {
if( g_graph0->GetY()[
i] > graph_ymax ){graph_ymax = g_graph0->GetY()[
i];}}
9130 graph_ymax = graph_ymax + (graph_ymax-graph_ymin)*margin_factor;
9136 const Axis_t& xinf_his,
const Axis_t& xsup_his,
9137 const TString& HistoCode,
const TString&
HistoType,
9138 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
const Int_t& i0Sample,
9139 const Int_t& opt_scale_x,
const Int_t& opt_scale_y,
9140 const TString& opt_plot,
const Int_t& arg_AlreadyRead,
9141 const Int_t& xFlagAutoYsupMargin)
9148 TString QuantityName =
" ";
9150 QuantityName.Resize(MaxCar);
9154 if( arg_AlreadyRead == 0 || arg_AlreadyRead == 1 )
9158 SetAllPavesViewHisto(HistoCode.Data(), StexStin_A, i0StinEcha, i0Sample, opt_plot.Data(), arg_AlreadyRead);
9162 TString canvas_name =
SetCanvasName(HistoCode.Data(), opt_scale_x, opt_scale_y,
9163 opt_plot.Data(), arg_AlreadyRead,
9164 StexStin_A, i0StinEcha, i0Sample);
9166 TCanvas* MainCanvas =
nullptr;
9168 if(opt_plot ==
fOnlyOnePlot && (arg_AlreadyRead == 0 || arg_AlreadyRead == 1 ) )
9170 MainCanvas =
new TCanvas(canvas_name.Data(), canvas_name.Data(), canv_w , canv_h);
fCnewRoot++;
9176 {MainCanvas =
CreateCanvas(HistoCode, opt_plot, canvas_name, canv_w, canv_h);
9182 Int_t Stex_StinCons = StexStin_A;
9183 Int_t n1StexCrys = i0StinEcha+1;
9185 if( StexStin_A >= 1 && StexStin_A <= fEcal->MaxStinEcnaInStex() )
9204 TVirtualPad* main_subpad =
nullptr;
9205 TPaveText* main_pavtxt =
nullptr;
9207 Int_t xMemoPlotSame = 1;
9212 if( arg_AlreadyRead == 0 || arg_AlreadyRead == 1 )
9219 if( HistoType ==
"EvolProj" )
9236 Double_t x_margin = x_low;
9237 Double_t y_margin = y_low;
9238 MainCanvas->Divide( 1, 1, x_margin, y_margin, fond_pad);
9243 main_subpad->SetPad(x_low, y_low, x_up, y_up);
9247 if (arg_AlreadyRead > 1 )
9264 main_pavtxt =
ActivePavTxt(HistoCode.Data(), opt_plot.Data());
9272 Float_t cTextPaveSize = 0.025;
9273 if( HistoType ==
"H1Basic" || HistoType ==
"SampProj" || HistoType ==
"H1BasicProj" ||
9274 HistoType ==
"Proj" || HistoType ==
"EvolProj" )
9275 {cTextPaveSize = 0.025;}
9276 main_pavtxt->SetTextSize(cTextPaveSize);
9281 TString DecalStexName =
"";
9283 TString DecalStinName =
"";
9286 TString sStexOrStasName =
"";
9292 if( HistoType ==
"SampGlobal" )
9293 {sprintf(f_in,
"Analysis Samp RUN# (run type ) Evts range Nb Evts %s%s %s%s %s %s Sample",
9294 DecalStexName.Data(), sStexOrStasName.Data(),
9296 if( HistoType ==
"SampProj" )
9297 {sprintf(f_in,
"Analysis Samp RUN# (run type ) Evts range Nb Evts %s%s %s%s %s %s Sample",
9298 DecalStexName.Data(), sStexOrStasName.Data(),
9300 if( HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj" )
9301 {sprintf(f_in,
"Analysis Samp RUN# (run type ) Evts range Nb Evts %s%s %s%s %s %s",
9302 DecalStexName.Data(), sStexOrStasName.Data(),
9304 if((HistoType ==
"Global") || (HistoType ==
"Proj") )
9305 {sprintf(f_in,
"Analysis Samp RUN# (run type ) Evts range Nb Evts %s%s",
9306 DecalStexName.Data(), sStexOrStasName.Data());}
9308 if( HistoType ==
"EvolProj" )
9309 {sprintf(f_in,
"Analysis Samp Evts range Nb Evts %s%s %s%s %s %s",
9310 DecalStexName.Data(), sStexOrStasName.Data(),
9314 TText* ttit = main_pavtxt->AddText(f_in);
9322 if( (HistoType ==
"Global") || (HistoType ==
"Proj") || (HistoType ==
"H1BasicProj") )
9324 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s %-25s",
9327 sFapStexNumber.Data(), QuantityName.Data());
9330 if( HistoType ==
"EvolProj" )
9332 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%7d %-25s",
9334 sFapStexNumber.Data(), Stex_StinCons, n1StexCrys, i0StinEcha, QuantityName.Data());
9342 Int_t kSample = i0Sample+1;
9344 if( HistoType ==
"SampGlobal" )
9346 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d%6d",
9349 Stex_StinCons, n1StexCrys, i0StinEcha, kSample);
9351 if( HistoType ==
"SampProj" )
9353 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d%6d",
9356 Stex_StinCons, n1StexCrys, i0StinEcha, kSample);
9358 if( HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj" )
9360 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d",
9363 Stex_StinCons, n1StexCrys, i0StinEcha);
9365 if( (HistoType ==
"Global") || (HistoType ==
"Proj") )
9367 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s",
9372 if( HistoType ==
"EvolProj" )
9374 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %4s%7d%5d%5d",
9377 Stex_StinCons, n1StexCrys, i0StinEcha);
9381 TText*
tt = main_pavtxt->AddText(f_in);
9384 delete [] f_in; f_in =
nullptr;
fCdelete++;
9387 main_pavtxt->Draw();
9408 main_pavtxt =
ActivePavTxt(HistoCode.Data(), opt_plot.Data());
9411 main_subpad =
ActivePad(HistoCode.Data(), opt_plot.Data());
9425 if(main_subpad !=
nullptr)
9430 if(xMemoPlotSame != 0)
9436 Float_t cTextPaveSize = 0.025;
9437 if( HistoType ==
"H1Basic" || HistoType ==
"SampProj" 9438 || HistoType ==
"Proj" || HistoType ==
"EvolProj" || HistoType ==
"H1BasicProj" )
9439 {cTextPaveSize = 0.025;}
9440 main_pavtxt->SetTextSize(cTextPaveSize);
9446 if( (HistoType ==
"Global") || (HistoType ==
"Proj") )
9448 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s %-25s",
9451 sFapStexNumber.Data(), QuantityName.Data());
9454 if( HistoType ==
"EvolProj" )
9456 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%7d %-25s",
9459 Stex_StinCons, n1StexCrys, i0StinEcha, QuantityName.Data());
9465 Int_t kSample = i0Sample+1;
9467 if(HistoType ==
"SampGlobal" )
9469 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d%6d",
9472 Stex_StinCons, n1StexCrys, i0StinEcha, kSample);
9474 if( HistoType ==
"SampProj" )
9476 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d%6d",
9479 Stex_StinCons, n1StexCrys, i0StinEcha, kSample);
9481 if( HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj")
9483 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d",
9486 Stex_StinCons, n1StexCrys, i0StinEcha);
9488 if( (HistoType ==
"Global") || (HistoType ==
"Proj") )
9490 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s",
9495 if( HistoType ==
"EvolProj" )
9497 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %4s%7d%5d%5d",
9500 sFapStexNumber.Data(), Stex_StinCons, n1StexCrys, i0StinEcha);
9504 TText *
tt = main_pavtxt->AddText(f_in);
9506 MainCanvas->cd(); gStyle->SetOptDate(0);
9507 main_pavtxt->Draw();
9509 delete [] f_in; f_in =
nullptr;
fCdelete++;
9517 if( opt_plot ==
fSameOnePlot && HistoType ==
"EvolProj" )
9519 main_subpad->SetPad(x_low, y_low, x_up, y_up);
9528 h_his0->GetXaxis()->SetTitle(axis_x_var_name);
9529 h_his0->GetYaxis()->SetTitle(axis_y_var_name);
9531 Int_t lin_scale = 0;
9532 Int_t log_scale = 1;
9540 if(opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 0 ){h_his0->DrawCopy();}
9541 if(opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 1 ){h_his0->DrawCopy();}
9542 if(opt_plot ==
fOnlyOnePlot && arg_AlreadyRead > 1 ){h_his0->DrawCopy(
"AHSAME");}
9546 if(xMemoPlotSame == 0){h_his0->DrawCopy();}
9547 if(xMemoPlotSame != 0){h_his0->DrawCopy(
"SAME");}
9552 if( !( HistoCode ==
"D_Adc_EvDs" || HistoCode ==
"D_Adc_EvNb" ||
9553 HistoType ==
"Proj" || HistoType ==
"SampProj" ||
9554 HistoType ==
"EvolProj" || HistoType ==
"H1BasicProj" ) &&
9555 !( HistoType ==
"H1Basic" && arg_AlreadyRead == 0 ) )
9557 Double_t yinf = h_his0->GetMinimum();
9558 Double_t ysup = h_his0->GetMaximum();
9559 if( yinf <= (Double_t)0. && ysup >= (Double_t)0. )
9560 {TLine* lin =
new TLine(0.,0.,(Double_t)HisSize, 0.);
fCnewRoot++;
9567 Double_t yinf = (Double_t)h_his0->GetMinimum();
9568 Double_t ysup = (Double_t)h_his0->GetMaximum();
9570 if(xFlagAutoYsupMargin == 1)
9572 if( yinf >= ysup ){yinf = (Double_t)0.; ysup += ysup;}
9573 Double_t MaxMarginFactor = (Double_t)0.05;
9574 ysup += (ysup-yinf)*MaxMarginFactor;
9584 Int_t DeeOffset = 0;
9585 for(Int_t n1Dee=1; n1Dee<=4; n1Dee++)
9587 if( n1Dee == 4 ){DeeOffset = 0;}
9592 Double_t ydee = ysup + (ysup-yinf)/(Double_t)15.;
9594 sprintf( f_in,
"D%d", n1Dee );
9595 TText *text_Dee =
new TText(xBinDee, ydee, f_in);
fCnewRoot++;
9596 text_Dee->SetTextColor(coul_DS);
9597 text_Dee->SetTextSize((Double_t)0.04);
9598 text_Dee->Draw(
"SAME");
9600 Double_t DSLabelOffset = (Double_t)12;
9602 for(Int_t
i=1;
i<5;
i++)
9605 if( n1Dee == 1 ){iDS =
i;}
9606 if( n1Dee == 2 ){iDS =
i+4;}
9607 if( n1Dee == 3 ){iDS =
i+5;}
9608 if( n1Dee == 4 ){iDS =
i+1;}
9611 TLine* lin_DS =
new TLine(xBinDS, yinf, xBinDS, ysup);
fCnewRoot++;
9612 lin_DS->SetLineColor(coul_DS);
9613 lin_DS->SetLineWidth(1);
9614 lin_DS->SetLineStyle(2);
9617 if( n1Dee == 2 &&
i == 4 )
9619 TLine* lin_DSp =
new TLine(DeeOffset, yinf, DeeOffset, ysup);
fCnewRoot++;
9620 lin_DSp->SetLineColor(coul_DS);
9621 lin_DSp->SetLineWidth(1);
9622 lin_DSp->SetLineStyle(2);
9626 Double_t yds = ysup + (ysup-yinf)/(Double_t)50.;
9627 Double_t xBinDSp = xBinDS + DSLabelOffset;
9630 sprintf( f_in,
"S%d", nDS );
9631 TText *text_DS =
new TText(xBinDSp, yds, f_in);
fCnewRoot++;
9632 text_DS->SetTextColor(coul_DS);
9633 text_DS->SetTextSize((Double_t)0.03);
9634 text_DS->Draw(
"SAME");
9635 if( (n1Dee == 4 &&
i == 1) || (n1Dee == 2 &&
i == 4) )
9637 if(n1Dee == 4){nDS = iDS-1;}
9638 if(n1Dee == 2){nDS = iDS+1;}
9639 sprintf( f_in,
"S%d", nDS );
9640 TText *text_DS =
new TText(xBinDS-1.75*DSLabelOffset, yds, f_in);
fCnewRoot++;
9641 text_DS->SetTextColor(coul_DS);
9642 text_DS->SetTextSize((Double_t)0.03);
9643 text_DS->Draw(
"SAME");
9652 if( HistoType ==
"Global" )
9654 Double_t ytext = yinf - (ysup-yinf)/8.5;
9657 for(Int_t
i=1;
i<5;
i++)
9666 TLine* lin_DS =
new TLine(xBinDS, yinf, xBinDS, ysup);
fCnewRoot++;
9667 lin_DS->SetLineColor(coul_DS);
9668 lin_DS->SetLineWidth(2);
9669 lin_DS->SetLineStyle(2);
9671 Double_t ytextds = ysup + (ysup-yinf)/30.;
9672 Double_t xBinDSNumber =
9674 sprintf( f_in,
"S%d", iDS );
9675 TText *text_DS =
new TText(xBinDSNumber, ytextds, f_in);
fCnewRoot++;
9676 text_DS->SetTextColor(coul_DS);
9677 text_DS->SetTextSize((Double_t)0.04);
9678 text_DS->Draw(
"SAME");
9683 if(
i == 4 ){iDSp = iDS+1;}
9684 if(
i == 1 ){iDSp = iDS-1;}
9685 sprintf( f_in,
"S%d", iDSp);
9686 Double_t xBinpDSNumber =
9688 TText *text_DSp =
new TText(xBinpDSNumber, ytextds, f_in);
fCnewRoot++;
9689 text_DSp->SetTextColor(coul_DS);
9690 text_DSp->SetTextSize((Double_t)0.04);
9691 text_DSp->Draw(
"SAME");
9713 TLine* lin_notconnected =
9714 new TLine(xBinNotConnectedSC, yinf, xBinNotConnectedSC, ysup);
fCnewRoot++;
9715 lin_notconnected->SetLineColor(coul_notconnected);
9716 lin_notconnected->SetLineStyle(3);
9717 lin_notconnected->Draw();
9720 TLine* lin_notconnected_end =
9721 new TLine(xBinNotConnectedSCEnd, yinf, xBinNotConnectedSCEnd, ysup);
fCnewRoot++;
9722 lin_notconnected_end->SetLineColor(coul_notconnected);
9723 lin_notconnected_end->SetLineStyle(3);
9724 lin_notconnected_end->Draw();
9728 TText *text_SC_NotConnected =
new TText(xBinNotConnectedSC, ytext, f_in);
fCnewRoot++;
9729 text_SC_NotConnected->SetTextAngle((Double_t)45.);
9730 text_SC_NotConnected->SetTextColor(coul_notconnected);
9731 text_SC_NotConnected->SetTextFont(42);
9732 text_SC_NotConnected->SetTextSize((Double_t)0.03);
9733 text_SC_NotConnected->Draw(
"SAME");
9752 TLine* lin_notcomplete =
9753 new TLine(xBinNotCompleteSC, yinf, xBinNotCompleteSC, ysup);
fCnewRoot++;
9754 lin_notcomplete->SetLineColor(coul_notcomplete);
9755 lin_notcomplete->SetLineStyle(3);
9756 lin_notcomplete->Draw();
9759 TLine* lin_notcomplete_end =
9760 new TLine(xBinNotCompleteSCEnd, yinf, xBinNotCompleteSCEnd, ysup);
fCnewRoot++;
9761 lin_notcomplete_end->SetLineColor(coul_notcomplete);
9762 lin_notcomplete_end->SetLineStyle(3);
9763 lin_notcomplete_end->Draw();
9767 TText *text_SC_NotComplete =
new TText(xBinNotCompleteSC, ytext, f_in);
fCnewRoot++;
9768 text_SC_NotComplete->SetTextAngle((Double_t)45.);
9769 text_SC_NotComplete->SetTextColor(coul_notcomplete);
9770 text_SC_NotComplete->SetTextFont(42);
9771 text_SC_NotComplete->SetTextSize((Double_t)0.03);
9772 text_SC_NotComplete->Draw(
"SAME");
9782 delete [] f_in; f_in =
nullptr;
fCdelete++;
9789 if(HistoType ==
"Global")
9822 xFlagAutoYsupMargin, HisSize);
9825 if( !( (HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj")
9826 && ( arg_AlreadyRead > 1 && arg_AlreadyRead < fEcal->MaxCrysInStin() ) ) )
9833 std::cout <<
"*TEcnaHistos::HistoPlot(...)> Canvas not found. Previously closed in option SAME." 9850 TString sFapStexNumber =
"?";
9851 if( StexNumber == -1 ){sFapStexNumber =
" -1";}
9852 if( StexNumber == -2 ){sFapStexNumber =
" -2";}
9853 if( StexNumber == -3 ){sFapStexNumber =
" -3";}
9854 if( StexNumber == -4 ){sFapStexNumber =
" -4";}
9855 if( StexNumber == -5 ){sFapStexNumber =
" -5";}
9856 if( StexNumber == -6 ){sFapStexNumber =
" -6";}
9857 if( StexNumber == -7 ){sFapStexNumber =
" -7";}
9858 if( StexNumber == -8 ){sFapStexNumber =
" -8";}
9859 if( StexNumber == -9 ){sFapStexNumber =
" -9";}
9860 if( StexNumber == -10 ){sFapStexNumber =
"-10";}
9861 if( StexNumber == -11 ){sFapStexNumber =
"-11";}
9862 if( StexNumber == -12 ){sFapStexNumber =
"-12";}
9863 if( StexNumber == -13 ){sFapStexNumber =
"-13";}
9864 if( StexNumber == -14 ){sFapStexNumber =
"-14";}
9865 if( StexNumber == -15 ){sFapStexNumber =
"-15";}
9866 if( StexNumber == -16 ){sFapStexNumber =
"-16";}
9867 if( StexNumber == -17 ){sFapStexNumber =
"-17";}
9868 if( StexNumber == -18 ){sFapStexNumber =
"-18";}
9869 if( StexNumber == 0 ){sFapStexNumber =
fFlagSubDet;}
9870 if( StexNumber == 1 ){sFapStexNumber =
" 1";}
9871 if( StexNumber == 2 ){sFapStexNumber =
" 2";}
9872 if( StexNumber == 3 ){sFapStexNumber =
" 3";}
9873 if( StexNumber == 4 ){sFapStexNumber =
" 4";}
9874 if( StexNumber == 5 ){sFapStexNumber =
" 5";}
9875 if( StexNumber == 6 ){sFapStexNumber =
" 6";}
9876 if( StexNumber == 7 ){sFapStexNumber =
" 7";}
9877 if( StexNumber == 8 ){sFapStexNumber =
" 8";}
9878 if( StexNumber == 9 ){sFapStexNumber =
" 9";}
9879 if( StexNumber == 10 ){sFapStexNumber =
" 10";}
9880 if( StexNumber == 11 ){sFapStexNumber =
" 11";}
9881 if( StexNumber == 12 ){sFapStexNumber =
" 12";}
9882 if( StexNumber == 13 ){sFapStexNumber =
" 13";}
9883 if( StexNumber == 14 ){sFapStexNumber =
" 14";}
9884 if( StexNumber == 15 ){sFapStexNumber =
" 15";}
9885 if( StexNumber == 16 ){sFapStexNumber =
" 16";}
9886 if( StexNumber == 17 ){sFapStexNumber =
" 17";}
9887 if( StexNumber == 18 ){sFapStexNumber =
" 18";}
9888 if( StexNumber == 19 ){sFapStexNumber =
" -1";}
9889 if( StexNumber == 20 ){sFapStexNumber =
" -2";}
9890 if( StexNumber == 21 ){sFapStexNumber =
" -3";}
9891 if( StexNumber == 22 ){sFapStexNumber =
" -4";}
9892 if( StexNumber == 23 ){sFapStexNumber =
" -5";}
9893 if( StexNumber == 24 ){sFapStexNumber =
" -6";}
9894 if( StexNumber == 25 ){sFapStexNumber =
" -7";}
9895 if( StexNumber == 26 ){sFapStexNumber =
" -8";}
9896 if( StexNumber == 27 ){sFapStexNumber =
" -9";}
9897 if( StexNumber == 28 ){sFapStexNumber =
"-10";}
9898 if( StexNumber == 29 ){sFapStexNumber =
"-11";}
9899 if( StexNumber == 30 ){sFapStexNumber =
"-12";}
9900 if( StexNumber == 31 ){sFapStexNumber =
"-13";}
9901 if( StexNumber == 32 ){sFapStexNumber =
"-14";}
9902 if( StexNumber == 33 ){sFapStexNumber =
"-15";}
9903 if( StexNumber == 34 ){sFapStexNumber =
"-16";}
9904 if( StexNumber == 35 ){sFapStexNumber =
"-17";}
9905 if( StexNumber == 36 ){sFapStexNumber =
"-18";}
9906 return sFapStexNumber;
9914 Double_t xbin = (Double_t)(-1);
9943 Double_t xbin = (Double_t)(-1);
9963 Int_t SCForCons = 0;
9964 if( index == 1 ){SCForCons = 182;}
9965 if( index == 2 ){SCForCons = 33;}
9967 if( index == 3 ){SCForCons = 178;}
9968 if( index == 4 ){SCForCons = 29;}
9969 if( index == 5 ){SCForCons = 207;}
9970 if( index == 6 ){SCForCons = 58;}
9972 if( index == 7 ){SCForCons = 298;}
9973 if( index == 8 ){SCForCons = 149;}
9975 if( index == 9 ){SCForCons = 261;}
9976 if( index == 10 ){SCForCons = 112;}
9977 if( index == 11 ){SCForCons = 268;}
9978 if( index == 12 ){SCForCons = 119;}
9980 if( index == 13 ){SCForCons = 281;}
9981 if( index == 14 ){SCForCons = 132;}
9989 if( index == 1 ){DSSC = 30;}
9990 if( index == 2 ){DSSC = 30;}
9992 if( index == 3 ){DSSC = 3;}
9993 if( index == 4 ){DSSC = 3;}
9994 if( index == 5 ){DSSC = 25;}
9995 if( index == 6 ){DSSC = 25;}
9997 if( index == 7 ){DSSC = 34;}
9998 if( index == 8 ){DSSC = 34;}
10000 if( index == 9 ){DSSC = 14;}
10001 if( index == 10 ){DSSC = 14;}
10002 if( index == 11 ){DSSC = 21;}
10003 if( index == 12 ){DSSC = 21;}
10005 if( index == 13 ){DSSC = 20;}
10006 if( index == 14 ){DSSC = 3;}
10015 if( index == 1 ){DSSC = 161;}
10016 if( index == 2 ){DSSC = 12;}
10018 if( index == 3 ){DSSC = 216;}
10019 if( index == 4 ){DSSC = 67;}
10021 if( index == 5 ){DSSC = 224;}
10022 if( index == 6 ){DSSC = 75;}
10024 if( index == 7 ){DSSC = 286;}
10025 if( index == 8 ){DSSC = 137;}
10033 if( index == 1 ){DSSC = 12;}
10034 if( index == 2 ){DSSC = 12;}
10036 if( index == 3 ){DSSC = 32;}
10037 if( index == 4 ){DSSC = 32;}
10039 if( index == 5 ){DSSC = 10;}
10040 if( index == 6 ){DSSC = 10;}
10042 if( index == 7 ){DSSC = 23;}
10043 if( index == 8 ){DSSC = 6;}
10048 Axis_t xinf, Axis_t xsup,
10049 const TString& HistoCode,
const TString&
HistoType,
10050 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
const Int_t& i0Sample,
10051 const Int_t& opt_scale_x,
const Int_t& opt_scale_y,
10052 const TString& opt_plot,
const Int_t& xFlagAutoYsupMargin)
10065 Int_t arg_AlreadyRead = 0;
10066 TString canvas_name =
SetCanvasName(HistoCode.Data(), opt_scale_x, opt_scale_y, opt_plot, arg_AlreadyRead,
10067 StexStin_A, i0StinEcha, i0Sample);
10071 TCanvas* MainCanvas =
nullptr;
10074 {MainCanvas =
new TCanvas(canvas_name.Data(), canvas_name.Data(), canv_w , canv_h);
fCnewRoot++;
10081 MainCanvas =
CreateCanvas(HistoCode, opt_plot, canvas_name, canv_w, canv_h);
10090 MainCanvas =
CreateCanvas(HistoCode, opt_plot, canvas_name, canv_w, canv_h);
10098 Int_t Stex_StinCons = StexStin_A;
10099 Int_t n1StexCrys = i0StinEcha+1;
10101 if( StexStin_A >= 1 && StexStin_A <= fEcal->MaxStinEcnaInStex() )
10120 TVirtualPad* main_subpad =
nullptr;
10121 TPaveText* main_pavtxt =
nullptr;
10123 Int_t xMemoPlotSame = 1;
10134 if( !( HistoType ==
"Global" || HistoType ==
"Proj" ) )
10147 Double_t x_margin = x_low;
10148 Double_t y_margin = y_low;
10152 MainCanvas->Divide( 1, 1, x_margin, y_margin, fond_pad);
10156 main_subpad = gPad;
10157 main_subpad->SetPad(x_low, y_low, x_up, y_up);
10171 if( !( HistoType ==
"Global" || HistoType ==
"Proj" ||
10172 HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10173 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date") )
10179 if( !( HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10180 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ) )
10190 main_pavtxt =
ActivePavTxt(HistoCode.Data(), opt_plot.Data());
10200 TString DecalStexName =
"";
10202 TString DecalStinName =
"";
10205 TString sStexOrStasName =
"";
10213 sprintf(f_in,
"Analysis Samp Evts range Nb Evts %s%s %s%s %s %s",
10214 DecalStexName.Data(), sStexOrStasName.Data(),
10219 sprintf(f_in,
"Analysis Samp Evts range Nb Evts %s%s %s%s %s %s",
10220 DecalStexName.Data(), sStexOrStasName.Data(),
10225 TText* ttit = main_pavtxt->AddText(f_in);
10230 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%6d",
10233 Stex_StinCons, n1StexCrys, i0StinEcha);
10237 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%6d %-25s",
10240 Stex_StinCons, n1StexCrys, i0StinEcha, QuantityName.Data());
10243 TText*
tt = main_pavtxt->AddText(f_in);
10246 delete [] f_in; f_in =
nullptr;
fCdelete++;
10249 main_pavtxt->Draw();
10268 main_pavtxt =
ActivePavTxt(HistoCode.Data(), opt_plot.Data());
10271 main_subpad =
ActivePad(HistoCode.Data(), opt_plot.Data());
10284 if(main_subpad !=
nullptr)
10288 if(xMemoPlotSame != 0)
10298 {sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%6d",
10300 sFapStexNumber.Data(), Stex_StinCons, n1StexCrys, i0StinEcha);}
10302 {sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%6d %-25s",
10304 sFapStexNumber.Data(), Stex_StinCons, n1StexCrys, i0StinEcha, QuantityName.Data());}
10306 TText *
tt = main_pavtxt->AddText(f_in);
10308 MainCanvas->cd(); gStyle->SetOptDate(0);
10309 main_pavtxt->Draw();
10311 delete [] f_in; f_in =
nullptr;
fCdelete++;
10319 main_subpad->SetPad(x_low, y_low, x_up, y_up);
10328 g_graph0->GetXaxis()->SetTitle(axis_x_var_name);
10329 g_graph0->GetYaxis()->SetTitle(axis_y_var_name);
10332 g_graph0->GetXaxis()->SetTimeDisplay(1);
10333 g_graph0->GetXaxis()->SetTimeFormat(
"%d %b-%Hh");
10335 g_graph0->GetXaxis()->SetTimeOffset(xinf);
10345 fXinf = (Double_t)xinf;
10346 fXsup = (Double_t)xsup;
10353 if(opt_scale_y ==
fOptScaleLogy){gPad->SetLogy(logy); g_graph0->Draw(
"ALP");}
10357 gPad->SetLogy(liny);
10358 g_graph0->Draw(
"ALP");
10359 Int_t nb_pts = g_graph0->GetN();
10360 Double_t* coord_x = g_graph0->GetX();
10361 Double_t* coord_y = g_graph0->GetY();
10366 Double_t interv_displayed = (coord_x[nb_pts-1] - coord_x[0])/(Double_t)nb_displayed;
10367 Double_t last_drawn_coordx = coord_x[0] - 1.5*interv_displayed;
10369 for(Int_t i_run=0; i_run<nb_pts; i_run++)
10371 if ( (coord_x[i_run] - last_drawn_coordx) > interv_displayed )
10373 Double_t joinYinf =
fYinf;
10374 Double_t joinYsup =
fYsup;
10375 if( joinYsup <= joinYinf )
10381 joinYsup = joinYsup + (joinYsup-joinYinf)/20.;
10385 TText *text_run_num =
new TText(coord_x[i_run], joinYsup, f_in);
fCnewRoot++;
10386 text_run_num->SetTextAngle((Double_t)45.);
10387 text_run_num->SetTextSize((Double_t)0.035);
10388 text_run_num->Draw(
"SAME");
10392 jointlign =
new TLine(coord_x[i_run], joinYsup, coord_x[i_run], coord_y[i_run]);
fCnewRoot++;
10393 jointlign->SetLineWidth(1);
10394 jointlign->SetLineStyle(2);
10395 jointlign->Draw(
"SAME");
10398 last_drawn_coordx = coord_x[i_run];
10402 delete [] f_in; f_in =
nullptr;
fCdelete++;
10407 gPad->SetLogy(logy);
10408 g_graph0->Draw(
"ALP");
10415 if(xMemoPlotSame == 0)
10420 g_graph0->Draw(
"ALP");
10422 fXinf = (Double_t)xinf;
10423 fXsup = (Double_t)xsup;
10430 if(xMemoPlotSame != 0)
10435 g_graph0->Draw(
"LP");
10442 std::cout <<
"*TEcnaHistos::HistimePlot(...)> Canvas not found. Previously closed in option SAME." 10456 const Int_t& xFlagAutoYsupMargin,
const Int_t& HisSize)
10461 ( (opt_plot ==
fSeveralPlot) && (xMemoPlotSame == 0) ) ||
10462 ( (opt_plot ==
fSameOnePlot) && (xMemoPlotSame == 0) ) )
10464 Double_t Maxih = (Double_t)h_his0->GetMaximum();
10465 Double_t Minih = (Double_t)h_his0->GetMinimum();
10467 if(xFlagAutoYsupMargin == 1)
10469 if( Minih >= Maxih ){Minih = (Double_t)0.; Maxih += Maxih;}
10470 Double_t MaxMarginFactor = (Double_t)0.05;
10471 Maxih += (Maxih-Minih)*MaxMarginFactor;
10475 Double_t v_max = max_value+(Double_t)1.;
10476 Double_t v_min_p = v_min+(Double_t)1.;
10477 Double_t v_max_p = v_max+(Double_t)1.;
10479 Int_t ndiv = 50207;
10480 TString opt =
"B-";
10481 Double_t Xbegin = 0.;
10482 Double_t Xend = (Double_t)HisSize;
10483 Double_t ticks = 0.05;
10491 Xbegin = (Double_t)HisSize;
10501 v_max = max_value+0.5;
10502 Xbegin = (Double_t)HisSize;
10508 v_min = min_value+0.5;
10509 v_max = max_value+1.;
10510 Xbegin = (Double_t)HisSize;
10516 v_min = min_value+0.5;
10517 v_max = max_value+1.;
10519 Xend = (Double_t)HisSize;
10525 v_max = max_value+0.5;
10527 Xend = (Double_t)HisSize;
10535 TGaxis* top_axis_x =
nullptr;
10537 top_axis_x =
new TGaxis(Xbegin, Maxih, Xend, Maxih,
10538 v_min, v_max, ndiv, opt, 0.);
fCnewRoot++;
10540 top_axis_x->SetTickSize(ticks);
10541 top_axis_x->SetTitleOffset((Float_t)(1.2));
10542 top_axis_x->SetLabelOffset((Float_t)(0.005));
10544 TString x_var_name =
"?";
10546 x_var_name.Resize(MaxCar);
10549 if(
fFlagSubDet ==
"EB"){x_var_name =
"Tower number";}
10558 if(
fFlagSubDet ==
"EB"){x_var_name =
"SM number";}
10561 top_axis_x->SetTitle(x_var_name);
10562 top_axis_x->Draw(
"SAME");
10572 TGaxis* top_axis_x_bis =
nullptr;
10573 top_axis_x_bis =
new TGaxis(Xbegin, Maxih, Xend, Maxih,
10574 v_min_p, v_max_p, ndiv, opt, 0.);
fCnewRoot++;
10575 top_axis_x_bis->SetTickSize(0.);
10576 Float_t lab_siz_x = top_axis_x->GetLabelSize();
10577 top_axis_x_bis->SetLabelSize(lab_siz_x);
10578 top_axis_x_bis->SetLabelOffset(-0.1);
10580 top_axis_x_bis->SetLabelOffset((Float_t)(9999.));
10585 top_axis_x_bis->Draw(
"SAME");
10592 const Int_t& StexStin_A,
const Int_t& StexStin_B,
10593 const Int_t& i0StinEcha)
10650 if( chopt ==
"Numbering" )
10670 TString opt_pave_nbcol =
"OneCol";
10692 const Int_t& i0StinEcha,
const Int_t& i0Sample,
10693 const TString& opt_plot)
10695 Int_t arg_AlreadyRead = 0;
10700 const Int_t& i0StinEcha,
const Int_t& i0Sample,
10701 const TString& opt_plot,
const Int_t& arg_AlreadyRead)
10713 if( !( HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_NOE_ChDs" ||
10714 HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_Ped_ChDs" ||
10715 HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_LFN_ChDs" ||
10716 HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_TNo_ChDs" ||
10717 HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_HFN_ChDs" ||
10718 HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_MCs_ChDs" ||
10719 HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_SCs_ChDs" ) )
10726 if( HistoCode ==
"D_NOE_ChNb" ||
10727 HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_TNo_ChNb" ||
10728 HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_LFN_ChNb" ||
10729 HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_SCs_ChNb" )
10736 if( HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10737 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ||
10738 HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
10739 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs" )
10746 if( HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_SSp_SpNb" ||
10747 HistoCode ==
"D_MSp_SpDs" || HistoCode ==
"D_SSp_SpDs" )
10755 if( HistoCode ==
"D_Adc_EvDs" || HistoCode ==
"D_Adc_EvNb")
10762 if( HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10763 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ||
10764 HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
10765 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs" )
10785 if( HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10786 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ||
10787 HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
10788 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs" )
10811 const Int_t& opt_scale_x,
const Int_t& opt_scale_y,
10812 const TString& opt_plot,
const Int_t& arg_AlreadyRead,
10813 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
const Int_t& i0Sample)
10818 TString canvas_name;
10820 canvas_name.Resize(MaxCar);
10826 TString name_opt_plot;
10828 name_opt_plot.Resize(MaxCar);
10829 name_opt_plot =
"?";
10835 if( opt_plot ==
fOnlyOnePlot ){sprintf(f_in,
"P%d", arg_AlreadyRead); name_opt_plot = f_in;}
10839 name_opt_plot =
"SAME_N";
10841 Int_t name_same = -1;
10876 sprintf(f_in,
"%d", name_same);
10877 TString s_name_same = f_in;
10878 const Text_t *t_name_same = (
const Text_t *)s_name_same.Data();
10879 name_opt_plot.Append(t_name_same);
10883 name_opt_plot =
"SAME_Plus_N";
10886 sprintf(f_in,
"%d", name_same);
10887 TString s_name_same = f_in;
10888 const Text_t *t_name_same = (
const Text_t *)s_name_same.Data();
10889 name_opt_plot.Append(t_name_same);
10895 name_visu.Resize(MaxCar);
10900 name_line.Resize(MaxCar);
10901 name_line =
"Line_";
10908 const Text_t *t_line = (
const Text_t *)name_line.Data();
10909 name_visu.Append(t_line);
10911 TString name_scale_x;
10913 name_scale_x.Resize(MaxCar);
10914 name_scale_x =
"?";
10917 const Text_t *t_scale_x = (
const Text_t *)name_scale_x.Data();
10918 name_visu.Append(t_scale_x);
10920 TString name_scale_y;
10922 name_scale_y.Resize(MaxCar);
10923 name_scale_y =
"?";
10926 const Text_t *t_scale_y = (
const Text_t *)name_scale_y.Data();
10927 name_visu.Append(t_scale_y);
10930 TString name_quantity;
10932 name_quantity.Resize(MaxCar);
10933 name_quantity =
"?";
10935 if(HistoCode ==
"D_NOE_ChNb"){name_quantity =
"Nb_of_evts_as_func_of_Xtal";}
10936 if(HistoCode ==
"D_NOE_ChDs"){name_quantity =
"Nb_of_evts_Xtal_distrib";}
10937 if(HistoCode ==
"D_Ped_ChNb"){name_quantity =
"Pedestals_as_func_of_Xtal";}
10938 if(HistoCode ==
"D_Ped_ChDs"){name_quantity =
"Pedestals_Xtal_distrib";}
10939 if(HistoCode ==
"D_TNo_ChNb"){name_quantity =
"Total_Noise_as_func_of_Xtal";}
10940 if(HistoCode ==
"D_TNo_ChDs"){name_quantity =
"Total_Noise_Xtal_distrib";}
10941 if(HistoCode ==
"D_MCs_ChNb"){name_quantity =
"Mean_Corss_as_func_of_Xtal";}
10942 if(HistoCode ==
"D_MCs_ChDs"){name_quantity =
"Mean_Corss_Xtal_distrib";}
10943 if(HistoCode ==
"D_LFN_ChNb"){name_quantity =
"Low_Fq_Noise_as_func_of_Xtal";}
10944 if(HistoCode ==
"D_LFN_ChDs"){name_quantity =
"Low_Fq_Noise_Xtal_distrib";}
10945 if(HistoCode ==
"D_HFN_ChNb"){name_quantity =
"High_Fq_Noise_as_func_of_Xtal";}
10946 if(HistoCode ==
"D_HFN_ChDs"){name_quantity =
"High_Fq_Noise_Xtal_distrib";}
10947 if(HistoCode ==
"D_SCs_ChNb"){name_quantity =
"Sigma_Corss_as_func_of_Xtal";}
10948 if(HistoCode ==
"D_SCs_ChDs"){name_quantity =
"Sigma_Corss_Xtal_distrib";}
10949 if(HistoCode ==
"D_MSp_SpNb"){name_quantity =
"ExpValue_of_samples";}
10950 if(HistoCode ==
"D_MSp_SpDs"){name_quantity =
"ExpValue_of_samples_distrib";}
10951 if(HistoCode ==
"D_SSp_SpNb"){name_quantity =
"Sigma_of_samples";}
10952 if(HistoCode ==
"D_SSp_SpDs"){name_quantity =
"Sigma_of_samples_distrib";}
10953 if(HistoCode ==
"D_Adc_EvDs"){name_quantity =
"hevt";}
10954 if(HistoCode ==
"D_Adc_EvNb"){name_quantity =
"ADC_as_func_of_Event";}
10955 if(HistoCode ==
"H_Ped_Date"){name_quantity =
"Pedestal_history";}
10956 if(HistoCode ==
"H_TNo_Date"){name_quantity =
"Total_Noise_history";}
10957 if(HistoCode ==
"H_MCs_Date"){name_quantity =
"Mean_Corss_history";}
10958 if(HistoCode ==
"H_LFN_Date"){name_quantity =
"Low_Fq_Noise_history";}
10959 if(HistoCode ==
"H_HFN_Date"){name_quantity =
"High_Fq_Noise_history";}
10960 if(HistoCode ==
"H_SCs_Date"){name_quantity =
"Sigma_Corss_history";}
10961 if(HistoCode ==
"H_Ped_RuDs"){name_quantity =
"Pedestal_run_distribution";}
10962 if(HistoCode ==
"H_TNo_RuDs"){name_quantity =
"Total_Noise_run_distribution";}
10963 if(HistoCode ==
"H_MCs_RuDs"){name_quantity =
"Mean_Corss_run_distribution";}
10964 if(HistoCode ==
"H_LFN_RuDs"){name_quantity =
"Low_Fq_Noise_run_distribution";}
10965 if(HistoCode ==
"H_HFN_RuDs"){name_quantity =
"High_Fq_Noise_run_distribution";}
10966 if(HistoCode ==
"H_SCs_RuDs"){name_quantity =
"Sigma_Corss_run_distribution";}
10968 Int_t num_crys = -1;
10969 if(HistoCode ==
"D_MSp_SpNb"){num_crys = i0StinEcha;}
10970 if(HistoCode ==
"D_MSp_SpDs"){num_crys = i0StinEcha;}
10971 if(HistoCode ==
"D_SSp_SpNb"){num_crys = i0StinEcha;}
10972 if(HistoCode ==
"D_SSp_SpDs"){num_crys = i0StinEcha;}
10973 if(HistoCode ==
"D_Adc_EvDs"){num_crys = i0StinEcha;}
10974 if(HistoCode ==
"D_Adc_EvNb"){num_crys = i0StinEcha;}
10975 if(HistoCode ==
"H_Ped_Date"){num_crys = i0StinEcha;}
10976 if(HistoCode ==
"H_TNo_Date"){num_crys = i0StinEcha;}
10977 if(HistoCode ==
"H_MCs_Date"){num_crys = i0StinEcha;}
10978 if(HistoCode ==
"H_LFN_Date"){num_crys = i0StinEcha;}
10979 if(HistoCode ==
"H_HFN_Date"){num_crys = i0StinEcha;}
10980 if(HistoCode ==
"H_SCs_Date"){num_crys = i0StinEcha;}
10981 if(HistoCode ==
"H_Ped_RuDs"){num_crys = i0StinEcha;}
10982 if(HistoCode ==
"H_TNo_RuDs"){num_crys = i0StinEcha;}
10983 if(HistoCode ==
"H_MCs_RuDs"){num_crys = i0StinEcha;}
10984 if(HistoCode ==
"H_LFN_RuDs"){num_crys = i0StinEcha;}
10985 if(HistoCode ==
"H_HFN_RuDs"){num_crys = i0StinEcha;}
10986 if(HistoCode ==
"H_SCs_RuDs"){num_crys = i0StinEcha;}
10988 Int_t num_samp = -1;
10989 if(HistoCode ==
"D_Adc_EvDs"){num_samp = i0Sample;}
10990 if(HistoCode ==
"D_Adc_EvNb"){num_samp = i0Sample;}
10994 if (HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_NOE_ChDs" ||
10995 HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_Ped_ChDs" ||
10996 HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_TNo_ChDs" ||
10997 HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_MCs_ChDs" ||
10998 HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_LFN_ChDs" ||
10999 HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_HFN_ChDs" ||
11000 HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_SCs_ChDs" )
11002 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%d_%s%d_%s_%s",
11006 name_opt_plot.Data(), name_visu.Data());
11009 if (HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_SSp_SpNb" ||
11010 HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
11011 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ||
11012 HistoCode ==
"D_MSp_SpDs" || HistoCode ==
"D_SSp_SpDs" ||
11013 HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
11014 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs")
11016 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%d_%s%d_%s%d_Xtal%d_%s_%s",
11020 name_opt_plot.Data(), name_visu.Data());
11023 if (HistoCode ==
"D_Adc_EvNb" || HistoCode ==
"D_Adc_EvDs")
11025 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%d_%s%d_%s%d_Xtal%d_Samp%d_%s_%s",
11029 name_opt_plot.Data(), name_visu.Data());
11032 canvas_name = f_in;
11033 delete [] f_in; f_in =
nullptr;
fCdelete++;
11034 return canvas_name.Data();
11063 if( chqcode ==
"D_MSp_SpNb" || chqcode ==
"D_SSp_SpNb" ||
11064 chqcode ==
"D_MSp_SpDs" || chqcode ==
"D_SSp_SpDs" )
11071 if(chqcode ==
"D_Adc_EvNb" || chqcode ==
"D_Adc_EvDs"){HisSize =
fFapReqNbOfEvts;}
11074 if(chqcode ==
"D_NOE_ChNb" ||
11075 chqcode ==
"D_Ped_ChNb" || chqcode ==
"D_TNo_ChNb" || chqcode ==
"D_MCs_ChNb" ||
11076 chqcode ==
"D_LFN_ChNb" || chqcode ==
"D_HFN_ChNb" || chqcode ==
"D_SCs_ChNb" ||
11077 chqcode ==
"D_NOE_ChDs" ||
11078 chqcode ==
"D_Ped_ChDs" || chqcode ==
"D_TNo_ChDs" || chqcode ==
"D_MCs_ChDs" ||
11079 chqcode ==
"D_LFN_ChDs" || chqcode ==
"D_HFN_ChDs" || chqcode ==
"D_SCs_ChDs" )
11098 if( chqcode ==
"H_Ped_RuDs" || chqcode ==
"H_TNo_RuDs" || chqcode ==
"H_MCs_RuDs" ||
11099 chqcode ==
"H_LFN_RuDs" || chqcode ==
"H_HFN_RuDs" || chqcode ==
"H_SCs_RuDs" )
11108 TEcnaRead* aMyRootFile,
const TString& HistoCode,
11109 const Int_t& HisSizePlot,
const Int_t& HisSizeRead,
11110 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
11111 const Int_t& i0Sample, Int_t& i_data_exist)
11115 TVectorD plot_histo(HisSizePlot);
for(Int_t
i=0;
i<HisSizePlot;
i++){plot_histo(
i)=(Double_t)0.;}
11119 if( arg_AlreadyRead >= 1 )
11122 for(Int_t
i=0;
i<HisSizeRead;
i++){plot_histo(
i)=arg_read_histo(
i);}
11126 if( arg_AlreadyRead == 0 )
11129 TVectorD read_histo(HisSizeRead);
for(Int_t
i=0;
i<HisSizeRead;
i++){read_histo(
i)=(Double_t)0.;}
11131 if( HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_MSp_SpDs" ||
11132 HistoCode ==
"D_SSp_SpNb" || HistoCode ==
"D_SSp_SpDs" )
11135 if( HisSizeRead <= HisSizePlot )
11137 if (HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_MSp_SpDs" )
11139 read_histo = aMyRootFile->
ReadSampleMeans(StexStin_A, i0StinEcha, HisSizeRead);
11141 for(Int_t
i=0;
i<HisSizeRead;
i++){plot_histo(
i)=read_histo(
i);}
11144 if (HistoCode ==
"D_SSp_SpNb" || HistoCode ==
"D_SSp_SpDs" )
11146 read_histo = aMyRootFile->
ReadSampleSigmas(StexStin_A, i0StinEcha, HisSizeRead);
11148 for(Int_t
i=0;
i<HisSizeRead;
i++){plot_histo(
i)=read_histo(
i);}
11153 std::cout <<
"!TEcnaHistos::GetHistoValues(...)> *** ERROR *** > HisSizeRead greater than HisSizePlot" 11154 <<
" for plot as a function of sample#. HisSizeRead = " << HisSizeRead
11155 <<
", HisSizePlot = " << HisSizePlot <<
fTTBELL << std::endl;
11160 if( !(HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_SSp_SpNb" ||
11161 HistoCode ==
"D_MSp_SpDs" || HistoCode ==
"D_SSp_SpDs" ) )
11164 if( HisSizeRead == HisSizePlot )
11169 if( HistoCode ==
"D_Adc_EvNb" || HistoCode ==
"D_Adc_EvDs" )
11171 read_histo = aMyRootFile->
ReadSampleAdcValues(StexStin_A, i0StinEcha, i0Sample, HisSizeRead);
11175 if( HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_NOE_ChDs" )
11181 if( HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_Ped_ChDs" )
11188 if( HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_TNo_ChDs")
11194 if( HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_LFN_ChDs" )
11201 if( HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_HFN_ChDs" )
11208 if( HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_MCs_ChDs" )
11214 if( HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_SCs_ChDs" )
11220 for(Int_t
i=0;
i<HisSizeRead;
i++){plot_histo(
i)=read_histo(
i);}
11225 std::cout <<
"!TEcnaHistos::GetHistoValues(...)> *** ERROR *** > HisSizeRead not equal to HisSizePlot." 11226 <<
" HisSizeRead = " << HisSizeRead
11227 <<
", HisSizePlot = " << HisSizePlot <<
fTTBELL << std::endl;
11232 if( i_data_exist == 0 )
11234 std::cout <<
"!TEcnaHistos::GetHistoValues(...)> Histo not found." <<
fTTBELL << std::endl;
11245 TString axis_x_var_name;
11247 if(HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_Ped_ChNb" ||
11248 HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_MCs_ChNb" ||
11249 HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_HFN_ChNb" ||
11250 HistoCode ==
"D_SCs_ChNb" )
11254 if(
fFlagSubDet ==
"EB" ){axis_x_var_name =
"Xtal (electronic channel number)";}
11255 if(
fFlagSubDet ==
"EE" ){axis_x_var_name =
"Xtal";}
11259 if(
fFlagSubDet ==
"EB" ){axis_x_var_name =
"Tower number";}
11260 if(
fFlagSubDet ==
"EE" ){axis_x_var_name =
"SC number";}
11264 if(HistoCode ==
"D_NOE_ChDs"){axis_x_var_name =
"Number of events";}
11265 if(HistoCode ==
"D_Ped_ChDs"){axis_x_var_name =
"Pedestal";}
11266 if(HistoCode ==
"D_TNo_ChDs"){axis_x_var_name =
"Total noise";}
11267 if(HistoCode ==
"D_MCs_ChDs"){axis_x_var_name =
"Mean cor(s,s')";}
11268 if(HistoCode ==
"D_LFN_ChDs"){axis_x_var_name =
"Low frequency noise";}
11269 if(HistoCode ==
"D_HFN_ChDs"){axis_x_var_name =
"High frequency noise";}
11270 if(HistoCode ==
"D_SCs_ChDs"){axis_x_var_name =
"Sigmas cor(s,s')";}
11271 if(HistoCode ==
"D_MSp_SpNb"){axis_x_var_name =
"Sample";}
11272 if(HistoCode ==
"D_MSp_SpDs"){axis_x_var_name =
"Pedestal";}
11273 if(HistoCode ==
"D_SSp_SpNb"){axis_x_var_name =
"Sample";}
11274 if(HistoCode ==
"D_SSp_SpDs"){axis_x_var_name =
"Total noise";}
11275 if(HistoCode ==
"D_Adc_EvDs"){axis_x_var_name =
"ADC";}
11276 if(HistoCode ==
"D_Adc_EvNb"){axis_x_var_name =
"Event number";}
11277 if(HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
11278 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date")
11279 {axis_x_var_name =
"Time";}
11280 if(HistoCode ==
"H_Ped_RuDs"){axis_x_var_name =
"Pedestal";}
11281 if(HistoCode ==
"H_TNo_RuDs"){axis_x_var_name =
"Total noise";}
11282 if(HistoCode ==
"H_MCs_RuDs"){axis_x_var_name =
"Mean cor(s,s')";}
11283 if(HistoCode ==
"H_LFN_RuDs"){axis_x_var_name =
"Low frequency noise";}
11284 if(HistoCode ==
"H_HFN_RuDs"){axis_x_var_name =
"High frequency noise";}
11285 if(HistoCode ==
"H_SCs_RuDs"){axis_x_var_name =
"Sigmas cor(s,s')";}
11287 return axis_x_var_name;
11294 TString axis_y_var_name;
11296 if(HistoCode ==
"D_NOE_ChNb"){axis_y_var_name =
"Number of events";}
11297 if(HistoCode ==
"D_Ped_ChNb"){axis_y_var_name =
"Pedestal";}
11298 if(HistoCode ==
"D_TNo_ChNb"){axis_y_var_name =
"Total noise";}
11299 if(HistoCode ==
"D_MCs_ChNb"){axis_y_var_name =
"Mean cor(s,s')";}
11300 if(HistoCode ==
"D_LFN_ChNb"){axis_y_var_name =
"Low frequency noise";}
11301 if(HistoCode ==
"D_HFN_ChNb"){axis_y_var_name =
"High frequency noise";}
11302 if(HistoCode ==
"D_SCs_ChNb"){axis_y_var_name =
"Sigma of cor(s,s')";}
11304 if(HistoCode ==
"D_NOE_ChDs" ||
11305 HistoCode ==
"D_Ped_ChDs" || HistoCode ==
"D_TNo_ChDs" || HistoCode ==
"D_MCs_ChDs" ||
11306 HistoCode ==
"D_LFN_ChDs" || HistoCode ==
"D_HFN_ChDs" || HistoCode ==
"D_SCs_ChDs" )
11308 if(
fFapStexNumber > 0 ){axis_y_var_name =
"number of crystals";}
11311 if(
fFlagSubDet ==
"EB" ){axis_y_var_name =
"number of towers";}
11312 if(
fFlagSubDet ==
"EE" ){axis_y_var_name =
"number of SC's";}
11316 if(HistoCode ==
"D_MSp_SpNb"){axis_y_var_name =
"Sample mean";}
11317 if(HistoCode ==
"D_MSp_SpDs"){axis_y_var_name =
"Number of samples";}
11318 if(HistoCode ==
"D_SSp_SpNb"){axis_y_var_name =
"Sample sigma";}
11319 if(HistoCode ==
"D_SSp_SpDs"){axis_y_var_name =
"Number of samples";}
11320 if(HistoCode ==
"D_Adc_EvNb"){axis_y_var_name =
"Sample ADC value";}
11321 if(HistoCode ==
"D_Adc_EvDs"){axis_y_var_name =
"Number of events";}
11322 if(HistoCode ==
"H_Ped_Date"){axis_y_var_name =
"Pedestal";}
11323 if(HistoCode ==
"H_TNo_Date"){axis_y_var_name =
"Total noise";}
11324 if(HistoCode ==
"H_MCs_Date"){axis_y_var_name =
"Mean cor(s,s')";}
11325 if(HistoCode ==
"H_LFN_Date"){axis_y_var_name =
"Low frequency noise";}
11326 if(HistoCode ==
"H_HFN_Date"){axis_y_var_name =
"High frequency noise";}
11327 if(HistoCode ==
"H_SCs_Date"){axis_y_var_name =
"Sigma cor(s,s')";}
11329 if(HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
11330 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs" )
11331 {axis_y_var_name =
"number of runs";}
11333 return axis_y_var_name;
11340 Axis_t xinf_his = (Axis_t)0;
11342 if(HistoCode ==
"D_NOE_ChNb"){xinf_his = (Axis_t)0.;}
11343 if(HistoCode ==
"D_Ped_ChNb"){xinf_his = (Axis_t)0.;}
11344 if(HistoCode ==
"D_TNo_ChNb"){xinf_his = (Axis_t)0.;}
11345 if(HistoCode ==
"D_MCs_ChNb"){xinf_his = (Axis_t)0.;}
11346 if(HistoCode ==
"D_LFN_ChNb"){xinf_his = (Axis_t)0.;}
11347 if(HistoCode ==
"D_HFN_ChNb"){xinf_his = (Axis_t)0.;}
11348 if(HistoCode ==
"D_SCs_ChNb"){xinf_his = (Axis_t)0.;}
11349 if(HistoCode ==
"D_MSp_SpNb"){xinf_his = (Axis_t)0.;}
11350 if(HistoCode ==
"D_SSp_SpNb"){xinf_his = (Axis_t)0.;}
11351 if(HistoCode ==
"D_Adc_EvNb"){xinf_his = (Axis_t)0.;}
11364 if(HistoCode ==
"H_Ped_Date"){xinf_his = (Axis_t)0.;}
11365 if(HistoCode ==
"H_TNo_Date"){xinf_his = (Axis_t)0.;}
11366 if(HistoCode ==
"H_MCs_Date"){xinf_his = (Axis_t)0.;}
11367 if(HistoCode ==
"H_LFN_Date"){xinf_his = (Axis_t)0.;}
11368 if(HistoCode ==
"H_HFN_Date"){xinf_his = (Axis_t)0.;}
11369 if(HistoCode ==
"H_SCs_Date"){xinf_his = (Axis_t)0.;}
11385 Axis_t xsup_his = (Axis_t)0;
11387 if(HistoCode ==
"D_NOE_ChNb"){xsup_his = (Axis_t)HisSize;}
11388 if(HistoCode ==
"D_Ped_ChNb"){xsup_his = (Axis_t)HisSize;}
11389 if(HistoCode ==
"D_TNo_ChNb"){xsup_his = (Axis_t)HisSize;}
11390 if(HistoCode ==
"D_MCs_ChNb"){xsup_his = (Axis_t)HisSize;}
11391 if(HistoCode ==
"D_LFN_ChNb"){xsup_his = (Axis_t)HisSize;}
11392 if(HistoCode ==
"D_HFN_ChNb"){xsup_his = (Axis_t)HisSize;}
11393 if(HistoCode ==
"D_SCs_ChNb"){xsup_his = (Axis_t)HisSize;}
11394 if(HistoCode ==
"D_MSp_SpNb"){xsup_his = (Axis_t)HisSize;}
11395 if(HistoCode ==
"D_SSp_SpNb"){xsup_his = (Axis_t)HisSize;}
11409 if(HistoCode ==
"H_Ped_Date"){xsup_his = (Axis_t)0.;}
11410 if(HistoCode ==
"H_TNo_Date"){xsup_his = (Axis_t)0.;}
11411 if(HistoCode ==
"H_MCs_Date"){xsup_his = (Axis_t)0.;}
11412 if(HistoCode ==
"H_LFN_Date"){xsup_his = (Axis_t)0.;}
11413 if(HistoCode ==
"H_HFN_Date"){xsup_his = (Axis_t)0.;}
11414 if(HistoCode ==
"H_SCs_Date"){xsup_his = (Axis_t)0.;}
11430 Int_t nb_binx = HisSize;
11432 if ( HistoType ==
"Proj" || HistoType ==
"SampProj" ||
11433 HistoType ==
"EvolProj" || HistoType ==
"H1BasicProj" )
11440 const Int_t& HisSize)
11446 for(Int_t
i=0;
i<HisSize;
i++)
11448 Double_t his_val = (Double_t)0;
11449 Double_t
xi = (Double_t)0;
11451 if (HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_Ped_ChNb" ||
11452 HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_TNo_ChNb" ||
11453 HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_MCs_ChNb" ||
11454 HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_SSp_SpNb" )
11457 his_val = (Double_t)read_histo[
i];
11458 h_his0->Fill(xi, his_val);
11462 if (HistoCode ==
"D_Adc_EvNb" )
11465 his_val = (Double_t)read_histo[
i];
11466 h_his0->Fill(xi, his_val);
11469 if (HistoCode ==
"D_NOE_ChDs" ||
11470 HistoCode ==
"D_Ped_ChDs" || HistoCode ==
"D_LFN_ChDs" ||
11471 HistoCode ==
"D_TNo_ChDs" || HistoCode ==
"D_HFN_ChDs" ||
11472 HistoCode ==
"D_MCs_ChDs" || HistoCode ==
"D_SCs_ChDs" ||
11473 HistoCode ==
"D_MSp_SpDs" || HistoCode ==
"D_SSp_SpDs" ||
11474 HistoCode ==
"D_Adc_EvDs" )
11476 his_val = (Double_t)read_histo[
i];
11477 Double_t increment = (Double_t)1;
11478 h_his0->Fill(his_val, increment);
11574 Double_t val_inf = (Double_t)0.;
11616 Double_t val_sup = (Double_t)0.;
11867 Double_t val_min = (Double_t)0.;
11868 Double_t val_min_proj = (Double_t)0.1;
11871 if( HistoCode ==
"D_NOE_ChDs" ){val_min = val_min_proj;}
11873 if( HistoCode ==
"D_Ped_ChDs" ){val_min = val_min_proj;}
11875 if( HistoCode ==
"D_TNo_ChDs" ){val_min = val_min_proj;}
11877 if( HistoCode ==
"D_MCs_ChDs" ){val_min = val_min_proj;}
11879 if( HistoCode ==
"D_LFN_ChDs" ){val_min = val_min_proj;}
11881 if( HistoCode ==
"D_HFN_ChDs" ){val_min = val_min_proj;}
11883 if( HistoCode ==
"D_SCs_ChDs" ){val_min = val_min_proj;}
11885 if( HistoCode ==
"D_MSp_SpDs" ){val_min = val_min_proj;}
11887 if( HistoCode ==
"D_SSp_SpDs" ){val_min = val_min_proj;}
11889 if( HistoCode ==
"D_Adc_EvDs" ){val_min = val_min_proj;}
11910 Double_t val_max = (Double_t)0.;
11911 Double_t val_max_proj = (Double_t)2000.;
11914 if( HistoCode ==
"D_NOE_ChDs" ){val_max = val_max_proj;}
11916 if( HistoCode ==
"D_Ped_ChDs" ){val_max = val_max_proj;}
11918 if( HistoCode ==
"D_TNo_ChDs" ){val_max = val_max_proj;}
11920 if( HistoCode ==
"D_MCs_ChDs" ){val_max = val_max_proj;}
11922 if( HistoCode ==
"D_LFN_ChDs" ){val_max = val_max_proj;}
11924 if( HistoCode ==
"D_HFN_ChDs" ){val_max = val_max_proj;}
11926 if( HistoCode ==
"D_SCs_ChDs" ){val_max = val_max_proj;}
11928 if( HistoCode ==
"D_MSp_SpDs" ){val_max = val_max_proj;}
11930 if( HistoCode ==
"D_SSp_SpDs" ){val_max = val_max_proj;}
11932 if( HistoCode ==
"D_Adc_EvDs" ){val_max = val_max_proj;}
12078 TString xvar =
"(xvar not found)";
12164 TString yvar =
"(yvar not found)";
12296 memo_flag.Resize(MaxCar);
12297 memo_flag =
"(no memo_flag info)";
12299 Int_t memo_flag_number = -1;
12309 if(memo_flag_number == 0){memo_flag =
"Free";}
12310 if(memo_flag_number >= 1){memo_flag =
"Busy";}
12321 memo_flag.Resize(MaxCar);
12322 memo_flag =
"(no memo_flag info)";
12324 Int_t memo_flag_number = -1;
12364 if(memo_flag_number == 0){memo_flag =
"Free";}
12365 if(memo_flag_number == 1){memo_flag =
"Busy";}
12371 UInt_t canv_w, UInt_t canv_h)
12375 TCanvas* main_canvas =
nullptr;
12384 if(HistoCode ==
"D_NOE_ChNb"){
12387 if(HistoCode ==
"D_NOE_ChDs"){
12390 if(HistoCode ==
"D_Ped_ChNb"){
12393 if(HistoCode ==
"D_Ped_ChDs"){
12396 if(HistoCode ==
"D_TNo_ChNb"){
12399 if(HistoCode ==
"D_TNo_ChDs"){
12402 if(HistoCode ==
"D_MCs_ChNb"){
12405 if(HistoCode ==
"D_MCs_ChDs"){
12408 if(HistoCode ==
"D_LFN_ChNb"){
12411 if(HistoCode ==
"D_LFN_ChDs"){
12414 if(HistoCode ==
"D_HFN_ChNb"){
12417 if(HistoCode ==
"D_HFN_ChDs"){
12420 if(HistoCode ==
"D_SCs_ChNb"){
12423 if(HistoCode ==
"D_SCs_ChDs"){
12427 if(HistoCode ==
"D_MSp_SpNb" ){
12430 if(HistoCode ==
"D_MSp_SpDs" ){
12433 if(HistoCode ==
"D_SSp_SpNb" ){
12436 if(HistoCode ==
"D_SSp_SpDs" ){
12440 if(HistoCode ==
"D_Adc_EvNb"){
12443 if(HistoCode ==
"D_Adc_EvDs"){
12447 if(HistoCode ==
"H_Ped_Date"){
12450 if(HistoCode ==
"H_TNo_Date"){
12453 if(HistoCode ==
"H_MCs_Date"){
12456 if(HistoCode ==
"H_LFN_Date"){
12459 if(HistoCode ==
"H_HFN_Date"){
12462 if(HistoCode ==
"H_SCs_Date"){
12466 if(HistoCode ==
"H_Ped_RuDs"){
12469 if(HistoCode ==
"H_TNo_RuDs"){
12472 if(HistoCode ==
"H_MCs_RuDs"){
12475 if(HistoCode ==
"H_LFN_RuDs"){
12478 if(HistoCode ==
"H_HFN_RuDs"){
12481 if(HistoCode ==
"H_SCs_RuDs"){
12486 return main_canvas;
12500 fCanvH1SamePlus->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12507 if(HistoCode ==
"D_NOE_ChNb")
12510 fCanvD_NOE_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12515 if(HistoCode ==
"D_NOE_ChDs")
12518 fCanvD_NOE_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12523 if(HistoCode ==
"D_Ped_ChNb")
12526 fCanvD_Ped_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12531 if(HistoCode ==
"D_Ped_ChDs")
12534 fCanvD_Ped_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12539 if(HistoCode ==
"D_TNo_ChNb")
12542 fCanvD_TNo_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12547 if(HistoCode ==
"D_TNo_ChDs")
12550 fCanvD_TNo_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12555 if(HistoCode ==
"D_MCs_ChNb")
12558 fCanvD_MCs_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12563 if(HistoCode ==
"D_MCs_ChDs")
12566 fCanvD_MCs_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12571 if(HistoCode ==
"D_LFN_ChNb")
12574 fCanvD_LFN_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12579 if(HistoCode ==
"D_LFN_ChDs")
12582 fCanvD_LFN_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12587 if(HistoCode ==
"D_HFN_ChNb")
12590 fCanvD_HFN_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12595 if(HistoCode ==
"D_HFN_ChDs")
12598 fCanvD_HFN_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12603 if(HistoCode ==
"D_SCs_ChNb")
12606 fCanvD_SCs_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12611 if(HistoCode ==
"D_SCs_ChDs")
12614 fCanvD_SCs_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12619 if(HistoCode ==
"D_MSp_SpNb")
12622 fCanvD_MSp_SpNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12627 if(HistoCode ==
"D_MSp_SpDs")
12630 fCanvD_MSp_SpDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12635 if(HistoCode ==
"D_SSp_SpNb")
12638 fCanvD_SSp_SpNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12643 if(HistoCode ==
"D_SSp_SpDs")
12646 fCanvD_SSp_SpDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12651 if(HistoCode ==
"D_Adc_EvDs")
12654 fCanvD_Adc_EvDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12659 if(HistoCode ==
"D_Adc_EvNb")
12662 fCanvD_Adc_EvNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12667 if(HistoCode ==
"H_Ped_Date")
12670 fCanvH_Ped_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12674 if(HistoCode ==
"H_TNo_Date")
12677 fCanvH_TNo_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12681 if(HistoCode ==
"H_MCs_Date")
12684 fCanvH_MCs_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12689 if(HistoCode ==
"H_LFN_Date")
12692 fCanvH_LFN_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12696 if(HistoCode ==
"H_HFN_Date")
12699 fCanvH_HFN_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12703 if(HistoCode ==
"H_SCs_Date")
12706 fCanvH_SCs_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12711 if(HistoCode ==
"H_Ped_RuDs")
12714 fCanvH_Ped_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12718 if(HistoCode ==
"H_TNo_RuDs")
12721 fCanvH_TNo_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12725 if(HistoCode ==
"H_MCs_RuDs")
12728 fCanvH_MCs_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12733 if(HistoCode ==
"H_LFN_RuDs")
12736 fCanvH_LFN_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12740 if(HistoCode ==
"H_HFN_RuDs")
12743 fCanvH_HFN_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12747 if(HistoCode ==
"H_SCs_RuDs")
12750 fCanvH_SCs_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12760 TCanvas* main_canvas =
nullptr;
12799 return main_canvas;
12816 std::cout <<
"TEcnaHistos::PlotCloneOfCurrentCanvas()> Last canvas has been removed. No clone can be done." 12817 << std::endl <<
" Please, display the canvas again." 12823 std::cout <<
"TEcnaHistos::PlotCloneOfCurrentCanvas()> No canvas has been created. No clone can be done." 12833 TVirtualPad* main_subpad =
nullptr;
12841 Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12847 if(HistoCode ==
"D_NOE_ChNb"){
12848 fCanvD_NOE_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12851 if(HistoCode ==
"D_NOE_ChDs"){
12852 fCanvD_NOE_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12855 if(HistoCode ==
"D_Ped_ChNb"){
12856 fCanvD_Ped_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12859 if(HistoCode ==
"D_Ped_ChDs"){
12860 fCanvD_Ped_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12863 if(HistoCode ==
"D_TNo_ChNb"){
12864 fCanvD_TNo_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12867 if(HistoCode ==
"D_TNo_ChDs"){
12868 fCanvD_TNo_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12871 if(HistoCode ==
"D_MCs_ChNb"){
12872 fCanvD_MCs_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12875 if(HistoCode ==
"D_MCs_ChDs"){
12876 fCanvD_MCs_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12879 if(HistoCode ==
"D_LFN_ChNb"){
12880 fCanvD_LFN_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12883 if(HistoCode ==
"D_LFN_ChDs"){
12884 fCanvD_LFN_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12887 if(HistoCode ==
"D_HFN_ChNb"){
12888 fCanvD_HFN_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12891 if(HistoCode ==
"D_HFN_ChDs"){
12892 fCanvD_HFN_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12895 if(HistoCode ==
"D_SCs_ChNb"){
12896 fCanvD_SCs_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12899 if(HistoCode ==
"D_SCs_ChDs"){
12900 fCanvD_SCs_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12903 if(HistoCode ==
"D_MSp_SpNb"){
12904 fCanvD_MSp_SpNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12907 if(HistoCode ==
"D_MSp_SpDs"){
12908 fCanvD_MSp_SpDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12911 if(HistoCode ==
"D_SSp_SpNb"){
12912 fCanvD_SSp_SpNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12915 if(HistoCode ==
"D_SSp_SpDs"){
12916 fCanvD_SSp_SpDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12919 if(HistoCode ==
"D_Adc_EvNb"){
12920 fCanvD_Adc_EvNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12923 if(HistoCode ==
"D_Adc_EvDs"){
12924 fCanvD_Adc_EvDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12927 if(HistoCode ==
"H_Ped_Date"){
12928 fCanvH_Ped_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12931 if(HistoCode ==
"H_TNo_Date"){
12932 fCanvH_TNo_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12935 if(HistoCode ==
"H_MCs_Date"){
12936 fCanvH_MCs_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12939 if(HistoCode ==
"H_LFN_Date"){
12940 fCanvH_LFN_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12943 if(HistoCode ==
"H_HFN_Date"){
12944 fCanvH_HFN_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12947 if(HistoCode ==
"H_SCs_Date"){
12948 fCanvH_SCs_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12951 if(HistoCode ==
"H_Ped_RuDs"){
12952 fCanvH_Ped_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12955 if(HistoCode ==
"H_TNo_RuDs"){
12956 fCanvH_TNo_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12959 if(HistoCode ==
"H_MCs_RuDs"){
12960 fCanvH_MCs_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12963 if(HistoCode ==
"H_LFN_RuDs"){
12964 fCanvH_LFN_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12967 if(HistoCode ==
"H_HFN_RuDs"){
12968 fCanvH_HFN_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12971 if(HistoCode ==
"H_SCs_RuDs"){
12972 fCanvH_SCs_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12976 if( main_subpad ==
nullptr )
12977 {
std::cout <<
"*TEcnaHistos::ActivePad(...)> main_subpad = " 12978 << main_subpad <<
". This canvas has been closed." << std::endl;}
12980 return main_subpad;
13026 std::cout <<
"!TEcnaHistos::DoCanvasClosed(...)> WARNING: canvas has been closed." << std::endl;
13078 TPaveText* main_pavtxt =
nullptr;
13118 if( main_pavtxt ==
nullptr )
13119 {
std::cout <<
"*TEcnaHistos::ActivePavTxt(...)> ERROR: main_pavtxt = " << main_pavtxt << std::endl;}
13121 return main_pavtxt;
13146 const TString& opt_plot,
const Int_t& arg_AlreadyRead)
13151 if( HistoType ==
"Global" ){h_his0->SetMarkerStyle(1);}
13165 if(HistoCode ==
"D_NOE_ChNb")
13174 if(HistoCode ==
"D_NOE_ChDs")
13183 if(HistoCode ==
"D_Ped_ChNb")
13192 if(HistoCode ==
"D_Ped_ChDs")
13201 if(HistoCode ==
"D_TNo_ChNb")
13210 if(HistoCode ==
"D_TNo_ChDs")
13220 if(HistoCode ==
"D_MCs_ChNb")
13229 if(HistoCode ==
"D_MCs_ChDs")
13238 if(HistoCode ==
"D_LFN_ChNb")
13247 if(HistoCode ==
"D_LFN_ChDs")
13256 if(HistoCode ==
"D_HFN_ChNb")
13265 if(HistoCode ==
"D_HFN_ChDs")
13275 if(HistoCode ==
"D_SCs_ChNb")
13284 if(HistoCode ==
"D_SCs_ChDs")
13294 if(HistoCode ==
"D_MSp_SpNb")
13296 if( (opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 0) ||
13301 {h_his0->SetFillColor((Color_t)0);}
13310 if(HistoCode ==
"D_MSp_SpDs")
13312 if( (opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 0) ||
13317 {h_his0->SetFillColor((Color_t)0);}
13326 if(HistoCode ==
"D_SSp_SpNb")
13328 if( (opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 0) ||
13333 {h_his0->SetFillColor((Color_t)0);}
13342 if(HistoCode ==
"D_SSp_SpDs")
13344 if( (opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 0) ||
13349 {h_his0->SetFillColor((Color_t)0);}
13358 if(HistoCode ==
"D_Adc_EvNb")
13366 gPad->SetGrid(1,0);
13369 if(HistoCode ==
"D_Adc_EvDs")
13379 if(HistoCode ==
"H_Ped_RuDs")
13387 gPad->SetGrid(1,1);
13390 if(HistoCode ==
"H_TNo_RuDs")
13398 gPad->SetGrid(1,1);
13401 if(HistoCode ==
"H_MCs_RuDs")
13409 gPad->SetGrid(1,1);
13412 if(HistoCode ==
"H_LFN_RuDs")
13420 gPad->SetGrid(1,1);
13423 if(HistoCode ==
"H_HFN_RuDs")
13431 gPad->SetGrid(1,1);
13434 if(HistoCode ==
"H_SCs_RuDs")
13442 gPad->SetGrid(1,1);
13462 gPad->SetGrid(1,1);
13467 if(HistoCode ==
"H_Ped_Date")
13475 gPad->SetGrid(1,1);
13478 if(HistoCode ==
"H_TNo_Date")
13486 gPad->SetGrid(1,1);
13489 if(HistoCode ==
"H_MCs_Date")
13497 gPad->SetGrid(1,1);
13500 if(HistoCode ==
"H_LFN_Date")
13508 gPad->SetGrid(1,1);
13511 if(HistoCode ==
"H_HFN_Date")
13519 gPad->SetGrid(1,1);
13522 if(HistoCode ==
"H_SCs_Date")
13530 gPad->SetGrid(1,1);
13585 TColor* my_color =
new TColor();
13588 if( DeeEndcap ==
"EE+" )
13592 if ( DeeDir ==
"left" && QuadType ==
"top" ){couleur=(Color_t)my_color->GetColor(
"#006600");}
13593 if ( DeeDir ==
"left" && QuadType ==
"bottom" ){couleur=(Color_t)my_color->GetColor(
"#CC3300");}
13595 if( DeeEndcap ==
"EE-" )
13597 if ( DeeDir ==
"right" && QuadType ==
"top" ){couleur=(Color_t)my_color->GetColor(
"#008800");}
13598 if ( DeeDir ==
"right" && QuadType ==
"bottom" ){couleur=(Color_t)my_color->GetColor(
"#EE5500");}
13633 graph->SetMarkerStyle(1);
13634 if( HistoType ==
"Evol" ){graph->SetMarkerStyle(20);}
13656 std::cout <<
"TEcnaHistos::NewCanvas(...)> *** ERROR *** " << opt_plot.Data() <<
": " 13657 <<
"unknown option for NewCanvas. Only " <<
fSameOnePlot <<
" option is accepted." 13676 if(HistoCode ==
"D_NOE_ChNb")
13684 if(HistoCode ==
"D_NOE_ChDs")
13692 if(HistoCode ==
"D_Ped_ChNb")
13700 if(HistoCode ==
"D_Ped_ChDs")
13708 if(HistoCode ==
"D_TNo_ChNb")
13716 if(HistoCode ==
"D_TNo_ChDs")
13724 if(HistoCode ==
"D_MCs_ChNb")
13732 if(HistoCode ==
"D_MCs_ChDs")
13740 if(HistoCode ==
"D_LFN_ChNb")
13748 if(HistoCode ==
"D_LFN_ChDs")
13756 if(HistoCode ==
"D_HFN_ChNb")
13764 if(HistoCode ==
"D_HFN_ChDs")
13772 if(HistoCode ==
"D_SCs_ChNb")
13780 if(HistoCode ==
"D_SCs_ChDs")
13788 if(HistoCode ==
"D_MSp_SpNb")
13796 if(HistoCode ==
"D_MSp_SpDs")
13804 if(HistoCode ==
"D_SSp_SpNb")
13812 if(HistoCode ==
"D_SSp_SpDs")
13820 if(HistoCode ==
"D_Adc_EvNb")
13828 if(HistoCode ==
"D_Adc_EvDs")
13837 if(HistoCode ==
"H_Ped_Date")
13845 if(HistoCode ==
"H_TNo_Date")
13853 if(HistoCode ==
"H_MCs_Date")
13862 if(HistoCode ==
"H_LFN_Date")
13870 if(HistoCode ==
"H_HFN_Date")
13878 if(HistoCode ==
"H_SCs_Date")
13886 if(HistoCode ==
"H_Ped_RuDs")
13894 if(HistoCode ==
"H_TNo_RuDs")
13902 if(HistoCode ==
"H_MCs_RuDs")
13911 if(HistoCode ==
"H_LFN_RuDs")
13919 if(HistoCode ==
"H_HFN_RuDs")
13927 if(HistoCode ==
"H_SCs_RuDs")
13940 const Int_t& StexStinEcna,
const Int_t& MatrixBinIndex,
13941 const Int_t& MatSize,
const TMatrixD& read_matrix)
13945 Int_t ChanNumber = MatrixBinIndex;
13965 const TVectorD& read_histo)
TCanvasImp * fImpH_TNo_Date
Int_t fMemoPlotD_HFN_ChDs
TVirtualPad * fPadD_NOE_ChDs
TPaveText * fPavTxtD_MSp_SpNb
Int_t fNbOfListFileH_MCs_Date
Int_t MaxCrysHocoInStex()
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 &)
Int_t fMemoPlotH_HFN_Date
TCanvas * CreateCanvas(const TString &, const TString &, const TString &, UInt_t, UInt_t)
TPaveText * fPavTxtH_TNo_RuDs
TEcnaNumbering * fEcalNumbering
Int_t fMemoColorH_LFN_RuDs
TPaveText * fPavTxtD_Ped_ChNb
TString SetHistoXAxisTitle(const TString &)
Int_t fCanvSameD_MCs_ChNb
void PlotDetector(const TVectorD &, const TString &, const TString &)
void SCCrystalNumbering(const Int_t &, const Int_t &)
TCanvas * fCanvH_SCs_RuDs
void XtalSamplesSigma(const TVectorD &, const Int_t &, const Int_t &, const Int_t &, const TString &)
TPaveText * fPavTxtH_HFN_RuDs
TVectorD ReadLowFrequencyNoise(const Int_t &)
Int_t fNbBinsMemoH_LFN_Date
void SetViewHistoStats(TH1D *, const TString &)
TCanvasImp * fImpD_Ped_ChDs
Int_t fNbBinsMemoH_MCs_Date
TVirtualPad * fPadD_LFN_ChNb
Int_t fMemoColorD_TNo_ChNb
Int_t fNbBinsMemoD_HFN_ChNb
Color_t SetColorsForNumbers(const TString &)
Int_t fMemoColorH_TNo_Date
TVectorD ReadAverageHighFrequencyNoise(const Int_t &)
Int_t fMemoColorD_SCs_ChNb
TString BuildStandard1DHistoCodeX(const TString &, const TString &)
Int_t fMemoColorH_SCs_Date
TPaveText * SetPaveStinsXY(const Int_t &, const Int_t &)
TString GetSCQuadFrom1DeeSCEcna(const Int_t &)
TPaveText * fPavComAnaRun
Int_t GetNotConnectedDSSCFromIndex(const Int_t &)
Int_t GetLastReqEvtNumber()
Int_t GetHistoNumberOfBins(const TString &, const Int_t &)
TString fCorrelationMatrix
Int_t fNbBinsMemoD_SSp_SpNb
void InitSpecParBeforeFileReading()
TCanvasImp * fImpH_MCs_Date
Int_t fMemoColorH_HFN_RuDs
void ViewStex(const TVectorD &, const Int_t &, const TString &)
Int_t GetHistoryRunListParameters(const TString &, const TString &)
TPaveText * fPavTxtH_MCs_Date
Int_t Get0SMEchaFrom1SMTowAnd0TowEcha(const Int_t &, const Int_t &)
TString GetMemoFlag(const TString &)
Int_t Get1DeeSCEcnaFromDeeSCCons(const Int_t &, const Int_t &)
TString BuildStandardPlotOption(const TString &, const TString &)
Int_t fMemoColorH_MCs_RuDs
TPaveText * fPavTxtH_SCs_RuDs
void SetNbBinsMemo(const TString &, const TString &, const Int_t &)
Float_t AxisTitleOffset()
Int_t fMemoPlotD_Adc_EvNb
TString GetXVarFromMemo(const TString &, const TString &)
Int_t fMemoPlotD_NOE_ChDs
void SetXsupMemoFromValue(const TString &, const Double_t &)
Int_t GetCodePlotAllXtalsInStin()
TCanvasImp * fImpD_MSp_SpDs
void SetViewHistoPadMargins(const TString &, const TString &)
void ViewStinGrid(const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString &)
TString GetCodeSameOnePlot()
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
TVirtualPad * fPadH_Ped_Date
TCanvas * fCanvD_SCs_ChDs
Int_t GetNotCompleteDSSCFromIndex(const Int_t &)
Int_t fNbBinsMemoH_TNo_RuDs
Int_t MaxCrysVecoInStin()
TString GetYVarFromMemo(const TString &, const TString &)
Int_t fCanvSameD_SSp_SpDs
TString BuildStandard1DHistoCodeY(const TString &, const TString &)
Int_t GetYStinInStas(const Int_t &, const Int_t &)
Int_t fMemoPlotD_MSp_SpNb
TMatrixD ReadCovariancesBetweenSamples(const Int_t &, const Int_t &, const Int_t &)
TCanvas * fCanvD_Adc_EvDs
Float_t DeeNameOffsetX(const Int_t &)
void CorrelationsBetweenSamples(const Int_t &)
void PlotMatrix(const TMatrixD &, const TString &, const TString &)
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)
Int_t fCanvSameD_SCs_ChNb
Int_t fNbBinsMemoH_Ped_RuDs
TString GetYDirectionEB(const Int_t &)
TString GetSMHalfBarrel(const Int_t &)
Int_t MaxStinVecoInStex()
Bool_t GetOkViewHisto(TEcnaRead *, const Int_t &, const Int_t &, const Int_t &, const TString &)
Int_t fCanvSameH_MCs_Date
TVirtualPad * ActivePad(const TString &, const TString &)
Int_t fNbBinsMemoD_LFN_ChDs
void ViewSMGrid(const Int_t &, const TString &)
Int_t fMemoColorD_MCs_ChDs
void ViewStin(const Int_t &, const TString &)
Double_t GetYmaxFromHistoFrameAndMarginValue(TH1D *, const Double_t)
TPaveText * fPavTxtH_TNo_Date
TVectorD ReadSampleAdcValues(const Int_t &, const Int_t &, const Int_t &, const Int_t &)
void PlotHistory(const TString &, const TString &, const TString &, const Int_t &, const Int_t &)
TVirtualPad * fPadD_TNo_ChDs
TVirtualPad * fPadD_HFN_ChNb
TPaveText * fPavTxtH_Ped_RuDs
TVirtualPad * fPadD_MSp_SpDs
Double_t GetYmaxFromGraphFrameAndMarginValue(TGraph *, const Double_t)
Int_t fCanvSameH_TNo_RuDs
Int_t GetNumberOfEvents(const Int_t &, const Int_t &)
Double_t GetXsupValueFromMemo()
TVirtualPad * fPadD_SSp_SpNb
TCanvasImp * fImpD_LFN_ChDs
Int_t fNbBinsMemoH_SCs_RuDs
Int_t fNbBinsMemoH_HFN_RuDs
TVirtualPad * fPadD_NOE_ChNb
TString GetDeeDirViewedFromIP(const Int_t &)
TString GetJYDirectionEB(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 &)
TString GetStinLvrbType(const Int_t &)
Int_t fMemoColorD_MCs_ChNb
void SetAllPavesViewStex(const TString &, const Int_t &)
Double_t GetPhiMax(const Int_t &, const Int_t &)
TPaveText * fPavTxtH_LFN_Date
void ReInitCanvas(const TString &, const TString &)
UInt_t CanvasFormatH(const TString &)
TVectorD ReadSigmaOfCorrelationsBetweenSamples(const Int_t &)
Int_t MaxStinHocoInStas()
void SetViewHistoColors(TH1D *, const TString &, const TString &, const Int_t &)
TPaveText * SetPaveEvolRuns(const Int_t &, const TString &, const Int_t &, const TString &, const TString &, const TString &)
TCanvasImp * fImpH1SamePlus
Int_t fCanvSameD_LFN_ChNb
Int_t Get1SCEchaFrom0DeeEcha(const Int_t &)
TPaveText * fPavComGeneralTitle
TCanvasImp * fImpD_LFN_ChNb
Double_t GetYminDefaultValue(const TString &)
TString HistoryRunListFilePath()
Int_t fCanvSameD_NOE_ChDs
void XtalSamplesEv(const TVectorD &, const Int_t &, const Int_t &, const Int_t &, const TString &)
TVirtualPad * fPadH_MCs_RuDs
TString GetRootFileNameShort()
Int_t fCanvSameH_LFN_Date
Double_t BoxLeftX(const TString &)
TVectorD ReadAverageNumberOfEvents(const Int_t &)
TCanvasImp * fImpH_Ped_RuDs
TEcnaParCout * fCnaParCout
void SetRunNumberFromList(const Int_t &, const Int_t &)
Int_t fCanvSameH_MCs_RuDs
TCanvas * fCanvH1SamePlus
TString fCovarianceMatrix
Int_t fCanvSameD_LFN_ChDs
void SetYmaxMemoFromPreviousMemo(const TString &)
Int_t fNbBinsMemoD_TNo_ChDs
TPaveText * fPavTxtH1SamePlus
TCanvasImp * fImpD_Adc_EvDs
TCanvasImp * fImpH_SCs_RuDs
Int_t fMemoPlotD_MSp_SpDs
TVirtualPad * fPadH_MCs_Date
TCanvasImp * fImpD_NOE_ChDs
UInt_t SetCanvasWidth(const TString &, const TString &)
void SetViewHistoOffsets(TH1D *, const TString &, const TString &)
Double_t fH2HFccMosMatrixYmax
TPaveText * fPavTxtD_NOE_ChDs
Int_t fMemoColorH_LFN_Date
void SetParametersPavTxt(const TString &, const TString &)
TCanvas * fCanvH_HFN_RuDs
TPaveText * SetPaveLVRB(const Int_t &, const Int_t &)
Int_t SetGraphFrameYminYmaxFromMemo(TGraph *, const TString &)
TString StexNumberToString(const Int_t &)
void CovariancesBetweenSamples(const Int_t &)
Int_t fMemoPlotD_TNo_ChNb
void SetHistoScaleY(const TString &)
void SetViewHistoStyle(const TString &)
TString GetXVarHisto(const TString &, const TString &, const Int_t &)
TMatrixD fReadMatrixDummy
TMatrixD ReadHighFrequencyMeanCorrelationsBetweenStins(const Int_t &)
Double_t GetYmaxDefaultValue(const TString &)
TVirtualPad * fPadH_Ped_RuDs
Int_t fMemoColorH_SCs_RuDs
Int_t fMemoColorD_Adc_EvNb
TPaveText * fPavTxtD_HFN_ChNb
const std::map< ValueQuantityType, double > min_value
Int_t fNbBinsMemoD_Adc_EvDs
void DeeSCNumbering(const Int_t &)
TCanvasImp * fImpD_Adc_EvNb
TString fAllXtalsInStinPlot
void SetAllPavesViewStinCrysNb(const Int_t &, const Int_t &)
TPaveText * fPavTxtH_LFN_RuDs
Int_t fMemoPlotH_MCs_Date
void ViewStexStinNumberingPad(const Int_t &)
Float_t DeeNumberOffsetX(const TString &, const Int_t &)
TCanvasImp * fImpD_SSp_SpNb
Int_t GetHashedNumberFromIEtaAndIPhi(const Int_t &, const Int_t &)
TString BuildStandardBetweenWhatCode(const TString &, const TString &)
TCanvas * fCanvH_Ped_Date
Double_t GetIIXMin(const Int_t &)
Int_t fMemoPlotH_TNo_Date
void FillHisto(TH1D *, const TVectorD &, const TString &, const Int_t &)
void TowerCrystalNumbering(const Int_t &, const Int_t &)
void StexHocoVecoLHFCorcc(const TString &)
Int_t fCanvSameD_NOE_ChNb
void WriteHistoAscii(const TString &, const Int_t &, const TVectorD &)
TPaveText * SetPaveNbOfEvts(const Int_t &, const TString &, const TString &, const TString &)
Bool_t RegisterPointer(const TString &, const Long_t &)
Double_t fH2LFccMosMatrixYmax
void ViewStas(const TVectorD &, const Int_t &, const TString &)
TMatrixD ReadLowFrequencyMeanCorrelationsBetweenStins(const Int_t &)
TVectorD ReadAverageTotalNoise(const Int_t &)
Int_t fMemoPlotH_TNo_RuDs
TCanvas * fCanvD_SSp_SpDs
Int_t fNbOfListFileH_SCs_RuDs
Int_t fMemoColorD_LFN_ChDs
TString GetEtaPhiAxisTitle(const TString &)
TString GetXDirectionEE(const Int_t &)
Int_t SetHistoFrameYminYmaxFromMemo(TH1D *, const TString &)
Axis_t fH1SameOnePlotXsup
Double_t GetYmaxValueFromMemo(const TString &)
Int_t fCanvSameD_HFN_ChNb
Int_t GetFirstReqEvtNumber()
Double_t GetYminValueFromMemo(const TString &)
TPaveText * fPavTxtD_Ped_ChDs
Color_t GetViewHistoColor(const TString &, const TString &)
void ViewStexGrid(const Int_t &, const TString &)
TString GetTowerLvrbType(const Int_t &)
void StexStinNumbering(const Int_t &)
TPaveText * ActivePavTxt(const TString &, const TString &)
TPaveText * SetPaveEvolNbOfEvtsAna(const TString &, const Int_t &, const Int_t &, const Int_t &, const TString &)
Int_t fMemoPlotD_MCs_ChDs
TPaveText * fPavTxtH_SCs_Date
Int_t fFapFirstReqEvtNumber
TPaveText * SetPaveStex(const TString &, const Int_t &)
Int_t fNbBinsMemoD_Adc_EvNb
Int_t fCanvSameH_TNo_Date
Int_t fNbOfListFileH_TNo_Date
TString BuildStandardDetectorCode(const TString &)
Double_t fH2CorccInStinsYmax
TPaveText * fPavTxtD_Adc_EvNb
TCanvas * fCanvD_Ped_ChDs
Float_t AxisLabelOffset()
Int_t fMemoColorH_Ped_Date
TString GetAsciiFileName()
TVirtualPad * fPadD_Ped_ChNb
TCanvasImp * fImpH_HFN_RuDs
Int_t fMemoColorD_NOE_ChNb
Int_t fNbBinsMemoH1SamePlus
Int_t fCanvSameD_Adc_EvNb
TVirtualPad * fPadH_HFN_RuDs
Int_t fMemoColorD_Ped_ChDs
void RunType(const TString &)
Int_t fMemoPlotH_LFN_Date
UInt_t CanvasFormatW(const TString &)
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 &, const Int_t &)
Int_t fNbBinsMemoD_SSp_SpDs
Int_t fMemoPlotD_LFN_ChNb
TVectorD GetHistoValues(const TVectorD &, const Int_t &, TEcnaRead *, const TString &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, Int_t &)
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 &)
Int_t GetJYCrysInDee(const Int_t &, const Int_t &, const Int_t &)
TVirtualPad * fPadD_MCs_ChDs
Int_t fNbBinsMemoD_MSp_SpDs
TString GetCodeSeveralPlot()
Int_t fCanvSameD_TNo_ChDs
Int_t MaxNbOfRunsInLists()
Double_t GetIIXMax(const Int_t &)
TString GetCodeAllXtalsInStinPlot()
TVectorD ReadStinNumbers(const Int_t &)
Color_t ColorTab(const Int_t &)
Int_t fMemoPlotH_LFN_RuDs
Int_t fMemoPlotD_SCs_ChNb
Int_t MaxStinVecoInStas()
Int_t fNbOfListFileH_SCs_Date
TCanvas * fCanvD_HFN_ChNb
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_MSp_SpNb
TCanvas * fCanvD_HFN_ChDs
TCanvas * fCanvH_Ped_RuDs
TCanvasImp * fImpD_SCs_ChNb
Int_t fNbBinsMemoD_MSp_SpNb
Int_t fNbBinsMemoH_SCs_Date
Int_t fNbBinsMemoD_MCs_ChDs
TPaveText * SetPaveCxyz(const Int_t &)
TVirtualPad * fPadD_MSp_SpNb
void SetYminMemoFromValue(const TString &, const Double_t &)
void ViewTowerGrid(const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString &)
Int_t GetStexStinFromIndex(const Int_t &)
Double_t GetJPhiMin(const Int_t &, const Int_t &)
TString GetHocoVecoAxisTitle(const TString &)
void SetYminMemoFromPreviousMemo(const TString &)
TVirtualPad * fPadD_SCs_ChNb
void SetAllYminYmaxMemoFromDefaultValues()
Int_t fNbBinsMemoH_TNo_Date
Int_t fMemoPlotD_NOE_ChNb
Int_t fMemoPlotH_SCs_Date
Double_t GetYminFromHistoFrameAndMarginValue(TH1D *, const Double_t)
UInt_t SetCanvasHeight(const TString &, const TString &)
TString GetQuantityName(const TString &)
Int_t fNbBinsMemoH_LFN_RuDs
Int_t fCanvSameD_SCs_ChDs
Int_t fMemoColorD_SSp_SpDs
TCanvasImp * fImpD_NOE_ChNb
TPaveText * fPavTxtD_TNo_ChDs
TString fCfgResultsRootFilePath
void ViewHistime(const TString &, const Int_t &, const Int_t &, const TString &, const TString &)
TVectorD ReadTotalNoise(const Int_t &)
void SetXinfMemoFromValue(const TString &, const Double_t &)
Float_t DeeOffsetX(const TString &, const Int_t &)
TCanvasImp * fImpD_SSp_SpDs
Int_t fNbBinsMemoD_HFN_ChDs
void SetHistoColorPalette(const TString &)
Int_t fNbBinsMemoH_HFN_Date
TString fCurrentHistoCode
Int_t GetDSSCFrom1DeeSCEcna(const Int_t &, const Int_t &, const Int_t &)
TCanvas * fCanvD_LFN_ChDs
TPaveText * SetPaveGeneralComment(const TString &)
Int_t fMemoColorH1SamePlus
TVirtualPad * fPadH_LFN_RuDs
TString fCfgHistoryRunListFilePath
void ViewSMTowerNumberingPad(const Int_t &)
TVectorD ReadAveragePedestals(const Int_t &)
Int_t GetNotCompleteSCForConsFromIndex(const Int_t &)
Int_t fNbOfListFileH_LFN_Date
void SetAllPavesViewStas()
TPaveText * fPavTxtD_HFN_ChDs
Int_t fMemoColorD_HFN_ChDs
TString GetHistoType(const TString &)
TCanvasImp * fImpH_Ped_Date
void SetAllPavesViewHisto(const TString &, const Int_t &, const Int_t &, const Int_t &, const TString &)
TCanvasImp * fImpD_Ped_ChNb
Int_t fMemoPlotD_SSp_SpNb
void ViewHisto(const TVectorD &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString &, const TString &)
Int_t GetListFileNumber(const TString &)
TVirtualPad * fPadH_SCs_Date
Int_t fMemoPlotD_SCs_ChDs
Int_t fMemoPlotH_MCs_RuDs
void ViewDeeSCNumberingPad(const Int_t &)
Int_t fCanvSameH_Ped_Date
TPaveText * fPavComEvolNbOfEvtsAna
TVectorD ReadPedestals(const Int_t &)
TMatrixD ReadLowFrequencyCovariancesBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
TString GetCurrentCanvasName()
void SetParametersCanvas(const TString &, const TString &)
Int_t fNbBinsMemoH_Ped_Date
TPaveText * fPavTxtD_LFN_ChNb
void EEGridAxis(const Int_t &, const TString &, const TString &)
Int_t fNbBinsMemoD_MCs_ChNb
TPaveText * fPavTxtD_MCs_ChNb
Int_t fCanvSameD_MCs_ChDs
Double_t GetJIYMin(const Int_t &, const Int_t &)
TString fFlagGeneralTitle
Int_t GetDSFrom1DeeSCEcna(const Int_t &, const Int_t &)
TCanvas * fCanvD_Ped_ChNb
Axis_t GetHistoXsup(const TString &, const Int_t &, const TString &)
TCanvasImp * fImpH_MCs_RuDs
TPaveText * fPavComEvolRuns
TCanvas * fCanvH_SCs_Date
void ViewEEGrid(const Int_t &)
Int_t fNbOfListFileH_HFN_RuDs
Int_t fCanvSameD_MSp_SpDs
Int_t GetDeeSCConsFrom1DeeSCEcna(const Int_t &, const Int_t &)
Int_t fNbOfListFileH_Ped_Date
Int_t fMemoPlotH_Ped_Date
Int_t fNbOfListFileH_Ped_RuDs
void Plot1DHisto(const TVectorD &, const TString &, const TString &, const TString &)
Int_t fNbBinsMemoD_SCs_ChDs
void WriteAsciiHisto(const TString &, const Int_t &, const TVectorD &)
TCanvas * fCanvH_TNo_Date
TPaveText * SetPaveCrystal(const Int_t &, const Int_t &, const Int_t &)
void SetEcalSubDetector(const TString &)
TCanvasImp * fImpD_MSp_SpNb
TCanvas * fCanvD_NOE_ChDs
TString GetAnalysisName()
Int_t GetXCrysInStex(const Int_t &, const Int_t &, const Int_t &)
TString GetYVarHisto(const TString &, const TString &, const Int_t &)
Int_t fMemoColorD_SCs_ChDs
void SetAllPavesViewMatrix(const TString &, const Int_t &, const Int_t &, const Int_t &)
Int_t fMemoPlotD_MCs_ChNb
TVirtualPad * fPadH_SCs_RuDs
Double_t fH2LFccMosMatrixYmin
TCanvasImp * fImpD_HFN_ChNb
TVirtualPad * fPadD_SCs_ChDs
TVirtualPad * fPadH_LFN_Date
Double_t GetEta(const Int_t &, const Int_t &, const Int_t &)
Int_t Get1SMCrysFrom1SMTowAnd0TowEcha(const Int_t &, const Int_t &)
Color_t ColorDefinition(const TString &)
TPaveText * fPavTxtD_SCs_ChNb
TMatrixD ReadHighFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
Int_t fMemoPlotD_Ped_ChDs
Int_t fCanvSameH1SamePlus
Int_t fMemoPlotD_TNo_ChDs
Int_t fMemoColorH_MCs_Date
TPaveText * fPavTxtH_MCs_RuDs
void SetViewGraphColors(TGraph *, const TString &, const TString &)
TCanvasImp * fImpD_TNo_ChNb
TPaveText * SetPaveStin(const Int_t &, const Int_t &)
Int_t NumberOfNotConnectedSCs()
TVirtualPad * fPadH_TNo_RuDs
Int_t fMemoColorD_MSp_SpNb
TVectorD ReadHighFrequencyNoise(const Int_t &)
TPaveText * SetPaveAnalysisRun(const TString &, const Int_t &, const Int_t &, const TString &, const Int_t &, const Int_t &, const TString &)
Double_t GetIEtaMin(const Int_t &, const Int_t &)
Int_t GetIXCrysInSC(const Int_t &, const Int_t &, 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 &)
TString GetTechHistoCode(const TString &)
Double_t BoxTopY(const TString &)
void SetAllPavesViewStin(const Int_t &)
Color_t GetSCColor(const TString &, const TString &, const TString &)
TString BuildStandardCovOrCorCode(const TString &, const TString &)
Int_t MaxStexInStasMinus()
Axis_t fH1SameOnePlotXinf
void SetXVarMemo(const TString &, const TString &, const TString &)
TEcnaParPaths * fCnaParPaths
Int_t GetSCOffset(const Int_t &, const Int_t &, const Int_t &)
TVirtualPad * fPadH_HFN_Date
TPaveText * fPavComSeveralChanging
TCanvasImp * fImpH_TNo_RuDs
TVirtualPad * fPadD_LFN_ChDs
void SMTowerNumbering(const Int_t &)
void EvSamplesXtals(const TVectorD &, const Int_t &, const Int_t &, const Int_t &, const TString &)
TCanvas * fCanvD_TNo_ChNb
TPaveText * fPavTxtD_MSp_SpDs
Int_t ModifiedSCEchaForNotConnectedSCs(const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &)
void SetColorPalette(const TString &)
Int_t fNbOfListFileH_TNo_RuDs
TPaveText * fPavTxtD_SSp_SpDs
TString fLFBetweenChannels
Int_t fCanvSameD_TNo_ChNb
TVectorD ReadAverageLowFrequencyNoise(const Int_t &)
Int_t MaxCrysVecoInStex()
TCanvasImp * fImpD_HFN_ChDs
TPaveText * fPavTxtD_SSp_SpNb
void FileParameters(const TString &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString &)
Int_t fMemoColorD_HFN_ChNb
void SetHistoScaleX(const TString &)
Int_t fCanvSameH_SCs_Date
Int_t fNbBinsMemoD_Ped_ChDs
TString fFlagUserHistoMin
Int_t fCanvSameD_HFN_ChDs
Int_t MaxSCForConsInDee()
void NumberOfEvents(const Int_t &)
void TopAxisForHistos(TH1D *, const TString &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &)
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
TString ResultsRootFilePath()
Int_t fCanvSameH_Ped_RuDs
Int_t GetNbOfRunsDisplayed()
Int_t GetYSampInStin(const Int_t &, const Int_t &, const Int_t &, const Int_t &)
void SetGraphPresentation(TGraph *, const TString &, const TString &)
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
TCanvas * fCanvH_LFN_Date
Int_t MaxCrysEcnaInStex()
Int_t fCanvSameD_MSp_SpNb
TCanvasImp * fImpD_MCs_ChDs
TPaveText * fPavTxtD_MCs_ChDs
Int_t GetDSOffset(const Int_t &, const Int_t &)
TString GetSCType(const Int_t &)
TVirtualPad * fPadH1SamePlus
Int_t fMemoPlotH_Ped_RuDs
TPaveText * SetPaveCrystalSample(const Int_t &, const Int_t &, const Int_t &, const Int_t &)
Int_t fMemoColorD_NOE_ChDs
TCanvas * GetCurrentCanvas()
Int_t GetNbBinsFromMemo(const TString &, const TString &)
Int_t MaxCrysHocoInStin()
Int_t fMemoPlotH_SCs_RuDs
TVirtualPad * fCurrentPad
TCanvas * fCanvD_MCs_ChDs
Int_t fMemoColorD_Adc_EvDs
Int_t fCanvSameD_Ped_ChNb
TVirtualPad * fPadD_Adc_EvDs
TString fHFBetweenChannels
Int_t GetNotConnectedSCForConsFromIndex(const Int_t &)
TCanvas * fCanvD_LFN_ChNb
TPaveText * SetOptionSamePaveBorder(const TString &, const TString &)
void SetHistoPresentation(TH1D *, const TString &)
Int_t fCanvSameH_LFN_RuDs
void ViewDeeGrid(const Int_t &, const TString &)
TMatrixD ReadCorrelationsBetweenSamples(const Int_t &, const Int_t &, const Int_t &)
TPaveText * fPavTxtD_SCs_ChDs
TCanvas * fCanvD_SSp_SpNb
Int_t fMemoColorD_MSp_SpDs
Int_t fMemoPlotD_Ped_ChNb
Int_t GetIXCrysInDee(const Int_t &, const Int_t &, const Int_t &)
const std::map< ValueQuantityType, double > max_value
Int_t fMemoPlotH1SamePlus
TPaveText * fPavTxtD_TNo_ChNb
TCanvas * fCanvH_MCs_Date
Int_t fMemoColorH_TNo_RuDs
void WriteAsciiCorrelationsBetweenSamples(const Int_t &, const Int_t &, const Int_t &, const TMatrixD &)
TPaveText * fPavTxtH_HFN_Date
Int_t Get0StexEchaFrom1StexStinAnd0StinEcha(const Int_t &, const Int_t &)
TString GetCodeOnlyOnePlot()
Double_t GetMarginAutoMinMax()
Int_t fNbBinsMemoD_NOE_ChDs
TPaveText * fPavTxtD_Adc_EvDs
TVectorD ReadMeanCorrelationsBetweenSamples(const Int_t &)
Int_t GetXStinInStas(const Int_t &, const Int_t &, const Int_t &)
Double_t GetIEtaMax(const Int_t &, const Int_t &)
TString GetStexHalfStas(const Int_t &)
TCanvas * fCanvD_MSp_SpDs
Double_t NotConnectedSCH1DBin(const Int_t &)
TVirtualPad * fPadD_TNo_ChNb
Int_t fCanvSameH_SCs_RuDs
TString GetEEDeeEndcap(const Int_t &)
Int_t MaxStinEcnaInStex()
Int_t fNbBinsMemoD_LFN_ChNb
void NewCanvas(const TString &)
TCanvasImp * fImpH_HFN_Date
TMatrixD ReadHighFrequencyCovariancesBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
TString SetHistoYAxisTitle(const TString &)
Double_t GetYminFromGraphFrameAndMarginValue(TGraph *, const Double_t)
Double_t BoxRightX(const TString &)
TString GetEcalSubDetector()
Int_t fNbBinsMemoH_MCs_RuDs
TCanvas * fCanvD_SCs_ChNb
TVirtualPad * fPadH_TNo_Date
Int_t fNbOfListFileH_MCs_RuDs
TString GetIXIYAxisTitle(const TString &)
Double_t fH2HFccMosMatrixYmin
void SetYVarMemo(const TString &, const TString &, const TString &)
Int_t MaxStinHocoInStex()
TCanvasImp * fImpH_LFN_RuDs
TVirtualPad * fPadD_MCs_ChNb
int ism(int ieta, int iphi)
TString GetJYDirectionEE(const Int_t &)
Axis_t GetHistoXinf(const TString &, const Int_t &, const TString &)
TCanvasImp * fImpD_SCs_ChDs
TPaveText * fPavTxtD_LFN_ChDs
Int_t NumberOfNotCompleteSCs()
Double_t BoxBottomY(const TString &)
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
void SetViewGraphOffsets(TGraph *, const TString &)
TCanvasImp * fImpD_MCs_ChNb
TString GetXDirectionEB(const Int_t &)
Long_t GetPointerValue(const TString &)
void EEDataSectors(const Float_t &, const Float_t &, const Int_t &, const TString &)
Double_t NotCompleteSCH1DBin(const Int_t &)
TVectorD ReadSampleMeans(const Int_t &, const Int_t &, const Int_t &)
TEcnaParHistos * fCnaParHistos
TVectorD ReadAverageMeanCorrelationsBetweenSamples(const Int_t &)
TVirtualPad * fPadD_SSp_SpDs
TString fFlagUserHistoMax
void SetYmaxMemoFromValue(const TString &, const Double_t &)
Int_t fMemoPlotD_SSp_SpDs
TPaveText * SetPaveStas()
Int_t MaxCrysForConsInDee()
Int_t GetHistoSize(const TString &, const TString &)
Int_t fPlotAllXtalsInStin
TVectorD ReadAverageSigmaOfCorrelationsBetweenSamples(const Int_t &)
void FileParameters(const TString &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &)
Int_t fNbBinsMemoD_NOE_ChNb
TString SetCanvasName(const TString &, const Int_t &, const Int_t &, const TString &, const Int_t &, const Int_t &, const Int_t &, const Int_t &)
void ViewMatrix(const TMatrixD &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString &, const TString &, const TString &)
void StartStopDate(const TString &, const TString &)
void SigmaSamplesXtals(const TVectorD &, const Int_t &, const Int_t &, const Int_t &, const TString &)
void ViewSCGrid(const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString &)
Int_t fMemoPlotD_Adc_EvDs
ClassImp(TEcnaHistos) TEcnaHistos
Int_t fMemoColorD_SSp_SpNb
Int_t fMemoColorD_Ped_ChNb
TVectorD ReadNumberOfEvents(const Int_t &)
void GeneralTitle(const TString &)
void PlotCloneOfCurrentCanvas()
Int_t fMemoColorD_LFN_ChNb
TVirtualPad * fPadD_Adc_EvNb
void WriteMatrixAscii(const TString &, const TString &, const Int_t &, const Int_t &, const Int_t &, const TMatrixD &)
TCanvas * fCanvH_LFN_RuDs
Int_t fMemoPlotD_HFN_ChNb
Int_t fMemoPlotH_HFN_RuDs
TVirtualPad * fPadD_Ped_ChDs
Int_t fCanvSameD_SSp_SpNb
TCanvas * fCanvH_TNo_RuDs
Int_t fCanvSameD_Ped_ChDs