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 )
622 fFapFileRuns =
"(file with list of runs parameters: no info)";
724 const Int_t& xArgRunNumber,
const Int_t& xArgFirstReqEvtNumber,
725 const Int_t& xArgLastReqEvtNumber,
const Int_t& xArgReqNbOfEvts,
726 const Int_t& xArgStexNumber)
789 if ( !(option_palette ==
"Rainbow" || option_palette ==
"rainbow") ){
fFlagColPal =
"Black/Red/Blue";}
790 if ( option_palette ==
"Rainbow" || option_palette ==
"rainbow" ){
fFlagColPal =
"Rainbow";}
867 const TString& UserCorOrCov,
const TString& UserBetweenWhat)
868 {
PlotMatrix(read_matrix_corcc, UserCorOrCov, UserBetweenWhat,
"");}
871 const TString& UserCorOrCov,
const TString& UserBetweenWhat,
872 const TString& UserPlotOption)
874 TString CallingMethod =
"2D";
881 if( BetweenWhat !=
"?" && CorOrCov !=
"?" )
883 if( BetweenWhat ==
"MttLF" || BetweenWhat ==
"MttHF" )
894 std::cout <<
"!TEcnaHistos::PlotMatrix(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
898 {
PlotMatrix(UserCorOrCov, UserBetweenWhat,
"");}
901 const TString& UserPlotOption)
903 TString CallingMethod =
"2D";
910 if( BetweenWhat !=
"?" && CorOrCov !=
"?" )
912 if( BetweenWhat ==
"MttLF" || BetweenWhat ==
"MttHF" )
922 std::cout <<
"!TEcnaHistos::PlotMatrix(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
928 const TString& UserCorOrCov,
const TString& UserBetweenWhat,
929 const Int_t& arg_n1,
const Int_t& arg_n2)
930 {
PlotMatrix(read_matrix, UserCorOrCov, UserBetweenWhat, arg_n1, arg_n2,
"");}
933 const TString& UserCorOrCov,
const TString& UserBetweenWhat,
934 const Int_t& arg_n1,
const Int_t& arg_n2,
935 const TString& UserPlotOption)
937 TString CallingMethod =
"2D";
944 if( BetweenWhat !=
"?" && CorOrCov !=
"?" )
946 if( BetweenWhat ==
"MccLF" || BetweenWhat ==
"MccHF" )
948 Int_t cStexStin_A = arg_n1;
949 Int_t cStexStin_B = arg_n2;
952 cStexStin_A, cStexStin_B,
fZerv, CorOrCov, BetweenWhat, StandardPlotOption);
955 if( BetweenWhat ==
"Mss" )
957 Int_t n1StexStin = arg_n1;
958 Int_t i0StinEcha = arg_n2;
962 n1StexStin,
fZerv, i0StinEcha, CorOrCov, BetweenWhat, StandardPlotOption);
967 std::cout <<
"!TEcnaHistos::PlotMatrix(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
971 const Int_t& arg_n1,
const Int_t& arg_n2)
972 {
PlotMatrix(UserCorOrCov, UserBetweenWhat, arg_n1, arg_n2,
"");}
975 const Int_t& arg_n1,
const Int_t& arg_n2,
976 const TString& UserPlotOption)
978 TString CallingMethod =
"2D";
985 if( StandardBetweenWhat !=
"?" && StandardCorOrCov !=
"?" )
987 if( StandardBetweenWhat ==
"MccLF" || StandardBetweenWhat ==
"MccHF" )
989 Int_t cStexStin_A = arg_n1;
990 Int_t cStexStin_B = arg_n2;
992 cStexStin_A, cStexStin_B,
fZerv, StandardCorOrCov, StandardBetweenWhat, StandardPlotOption);
995 if( StandardBetweenWhat ==
"Mss" )
997 Int_t n1StexStin = arg_n1;
998 Int_t i0StinEcha = arg_n2;
1002 n1StexStin,
fZerv, i0StinEcha, StandardCorOrCov, StandardBetweenWhat, StandardPlotOption);
1007 std::cout <<
"!TEcnaHistos::PlotMatrix(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1018 TString CallingMethod =
"2DS";
1021 if( StandardHistoCode !=
"?" )
1025 if( StandardDetectorCode !=
"?" )
1032 if( StandardDetectorCode ==
"SM" || StandardDetectorCode ==
"Dee" )
1034 if( StandardDetectorCode ==
"EB" || StandardDetectorCode ==
"EE" )
1039 std::cout <<
"!TEcnaHistos::PlotDetector(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1043 std::cout <<
"!TEcnaHistos::PlotDetector(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1048 TString CallingMethod =
"2DS";
1051 if( StandardHistoCode !=
"?" )
1055 if( StandardDetectorCode !=
"?" )
1064 if( StandardDetectorCode ==
"SM" || StandardDetectorCode ==
"Dee" )
1066 if( StandardDetectorCode ==
"EB" || StandardDetectorCode ==
"EE" )
1071 std::cout <<
"!TEcnaHistos::PlotDetector(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1075 std::cout <<
"!TEcnaHistos::PlotDetector(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1084 const TString& User_X_Quantity,
const TString& User_Y_Quantity,
1085 const TString& UserDetector)
1086 {
Plot1DHisto(InputHisto, User_X_Quantity, User_Y_Quantity, UserDetector,
"");}
1089 const TString& User_X_Quantity,
const TString& User_Y_Quantity,
1090 const TString& UserDetector,
1091 const TString& UserPlotOption)
1093 TString CallingMethod =
"1D";
1100 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1105 if( StandardDetectorCode !=
"?" )
1107 if( StandardDetectorCode ==
"EB" || StandardDetectorCode ==
"EE" ){
fFapStexNumber = 0;}
1112 std::cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1116 std::cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1120 const TString& UserDetector)
1121 {
Plot1DHisto(User_X_Quantity, User_Y_Quantity, UserDetector,
"");}
1124 const TString& UserDetector,
const TString& UserPlotOption)
1126 TString CallingMethod =
"1D";
1133 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1137 if( StandardDetectorCode !=
"?" )
1139 if( StandardDetectorCode ==
"EB" || StandardDetectorCode ==
"EE" ){
fFapStexNumber = 0;}
1144 std::cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1148 std::cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1158 const TString& User_X_Quantity,
const TString& User_Y_Quantity,
1159 const Int_t& n1StexStin)
1160 {
Plot1DHisto(InputHisto, User_X_Quantity, User_Y_Quantity, n1StexStin,
"");}
1163 const TString& User_X_Quantity,
const TString& User_Y_Quantity,
1164 const Int_t& n1StexStin,
1165 const TString& UserPlotOption)
1167 TString CallingMethod =
"1DX";
1169 Int_t i0StinEcha = 0;
1170 Plot1DHisto(InputHisto, User_X_Quantity, User_Y_Quantity, n1StexStin, i0StinEcha, StandardPlotOption);
1175 const TString& User_X_Quantity,
const TString& User_Y_Quantity,
1176 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
1177 {
Plot1DHisto(InputHisto, User_X_Quantity, User_Y_Quantity, n1StexStin, i0StinEcha,
"");}
1180 const TString& User_X_Quantity,
const TString& User_Y_Quantity,
1181 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
1182 const TString& UserPlotOption)
1184 TString CallingMethod =
"1D";
1191 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1201 if( Standard_X_Quantity ==
"Smp" && Standard_Y_Quantity ==
"MSp" )
1203 if( Standard_X_Quantity ==
"MSp" && Standard_Y_Quantity ==
"NOS" )
1205 if( Standard_X_Quantity ==
"Smp" && Standard_Y_Quantity ==
"SSp" )
1207 if( Standard_X_Quantity ==
"SSp" && Standard_Y_Quantity ==
"NOS" )
1213 std::cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1217 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
1218 {
Plot1DHisto(User_X_Quantity, User_Y_Quantity, n1StexStin, i0StinEcha,
"");}
1221 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
1222 const TString& UserPlotOption)
1224 TString CallingMethod =
"1D";
1231 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1240 if( Standard_X_Quantity ==
"Smp" && Standard_Y_Quantity ==
"MSp" )
1242 if( Standard_X_Quantity ==
"MSp" && Standard_Y_Quantity ==
"NOS" )
1244 if( Standard_X_Quantity ==
"Smp" && Standard_Y_Quantity ==
"SSp" )
1246 if( Standard_X_Quantity ==
"SSp" && Standard_Y_Quantity ==
"NOS" )
1252 std::cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1256 const TString& User_X_Quantity,
const TString& User_Y_Quantity,
1257 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
const Int_t& n1Sample)
1258 {
Plot1DHisto(InputHisto, User_X_Quantity, User_Y_Quantity, n1StexStin, i0StinEcha, n1Sample,
"");}
1261 const TString& User_X_Quantity,
const TString& User_Y_Quantity,
1262 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
const Int_t& n1Sample,
1263 const TString& UserPlotOption)
1265 TString CallingMethod =
"1D";
1274 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1276 Int_t i0Sample = n1Sample-1;
1278 ViewHisto(InputHisto,
fAlreadyRead, n1StexStin, i0StinEcha, i0Sample, TechHistoCode, StandardPlotOption);
1282 std::cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1286 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
const Int_t& n1Sample)
1287 {
Plot1DHisto(User_X_Quantity, User_Y_Quantity, n1StexStin, i0StinEcha, n1Sample,
"");}
1290 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
const Int_t& n1Sample,
1291 const TString& UserPlotOption)
1293 TString CallingMethod =
"1D";
1300 Int_t i0Sample = n1Sample-1;
1302 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1309 std::cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1318 const TString& list_of_run_file_name,
1319 const Int_t& StexStin_A,
const Int_t& i0StinEcha)
1320 {
PlotHistory(User_X_Quantity, User_Y_Quantity, list_of_run_file_name, StexStin_A, i0StinEcha,
"");}
1323 const TString& list_of_run_file_name,
1324 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
1325 const TString& UserPlotOption)
1327 TString CallingMethod =
"Time";
1334 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1337 ViewHistime(list_of_run_file_name, StexStin_A, i0StinEcha, TechHistoCode, StandardPlotOption);
1341 std::cout <<
"!TEcnaHistos::PlotHistory(...)> Histo cannot be reached." <<
fTTBELL << std::endl;}
1389 const Int_t& StexStin_A,
const Int_t& StexStin_B,
1390 const Int_t& MatrixBinIndex,
const TString& CorOrCov,
1391 const TString& BetweenWhat,
const TString& PlotOption)
1395 if( (
fFapStexNumber > 0) && (fFapStexNumber <= fEcal->MaxStexInStas()) )
1397 Bool_t OKArray = kFALSE;
1398 Bool_t OKData = kFALSE;
1409 if( OKArray == kTRUE )
1427 if( arg_AlreadyRead >= 1 )
1442 if ( OKArray == kTRUE )
1446 if( OKData == kTRUE )
1450 Int_t Stin_X_ok = 0;
1451 Int_t Stin_Y_ok = 0;
1454 {Stin_X_ok = 1; Stin_Y_ok = 1;}
1460 if ( vStin(index_Stin) == StexStin_A ){Stin_X_ok = 1;}
1461 if ( vStin(index_Stin) == StexStin_B ){Stin_Y_ok = 1;}
1464 if( Stin_X_ok == 1 && Stin_Y_ok == 1 )
1467 Int_t ReadMatSize = -1;
1468 Int_t i0StinEcha = -1;
1484 ( (BetweenWhat ==
fBetweenSamples) && (i0StinEcha >= 0) && (i0StinEcha < fEcal->MaxCrysInStin()) ) )
1486 TMatrixD read_matrix(ReadMatSize, ReadMatSize);
1487 for(Int_t
i=0;
i-ReadMatSize<0;
i++)
1488 {
for(Int_t j=0; j-ReadMatSize<0; j++){read_matrix(
i,j)=(Double_t)0.;}}
1490 Bool_t OKData = kFALSE;
1530 read_matrix = arg_read_matrix;
1534 if( OKData == kTRUE )
1538 if( PlotOption ==
"ASCII" )
1541 StexStin_A, MatrixBinIndex, ReadMatSize, read_matrix);
1549 {sprintf(f_in_mat_tit,
"Covariance(Sample, Sample')");}
1551 {sprintf(f_in_mat_tit,
"Correlation(Sample, Sample')");}
1556 {sprintf(f_in_mat_tit,
1557 "Mean LF |Cor(Xtal,Xtal')| for each (Tower,Tower')");}
1559 {sprintf(f_in_mat_tit,
1560 "Mean HF |Cor(Xtal,Xtal')| for each (Tower,Tower')");}
1565 {sprintf(f_in_mat_tit,
1566 "Mean LF |Cor(Xtal,Xtal')| for each (SC,SC')");}
1568 {sprintf(f_in_mat_tit,
1569 "Mean HF |Cor(Xtal,Xtal')| for each (SC,SC')");}
1575 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') matrix elts for (Tow,Tow')");}
1577 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') matrix elts for (SC,SC')");}
1582 {sprintf(f_in_mat_tit,
"HF Cor(Xtal,Xtal') matrix elts for (Tow,Tow')");}
1584 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') matrix elts for (SC,SC')");}
1588 TString axis_x_var_name;
1589 TString axis_y_var_name;
1597 {sprintf(f_in_axis_x,
" %s number ",
fFapStinName.Data());}
1599 {sprintf(f_in_axis_x,
" %s number for construction ",
fFapStinName.Data());}
1601 axis_x_var_name = f_in_axis_x; axis_y_var_name = f_in_axis_x;
1605 axis_x_var_name =
" Sample "; axis_y_var_name =
" Sample ";
1608 sprintf(f_in_axis_x,
" Crystal %s %d ",
fFapStinName.Data(), StexStin_A);
1609 sprintf(f_in_axis_y,
" Crystal %s %d ",
fFapStinName.Data(),StexStin_B);
1610 axis_x_var_name = f_in_axis_x; axis_y_var_name = f_in_axis_y;}
1612 Int_t nb_binx = MatSize;
1613 Int_t nb_biny = MatSize;
1614 Axis_t xinf_bid = (Axis_t)0.;
1615 Axis_t xsup_bid = (Axis_t)MatSize;
1616 Axis_t yinf_bid = (Axis_t)0.;
1617 Axis_t ysup_bid = (Axis_t)MatSize;
1631 TH2D* h_fbid0 =
new TH2D(
"bidim", f_in_mat_tit,
1632 nb_binx, xinf_bid, xsup_bid,
1633 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
1636 h_fbid0->GetXaxis()->SetTitle(axis_x_var_name);
1637 h_fbid0->GetYaxis()->SetTitle(axis_y_var_name);
1643 for(Int_t
i = 0 ;
i < ReadMatSize ;
i++)
1645 for(Int_t j = 0 ; j < ReadMatSize ; j++)
1653 if( xi_bid > 0 && xj_bid > 0 )
1655 Int_t xi_bid_m = xi_bid-1;
1656 Int_t xj_bid_m = xj_bid-1;
1657 h_fbid0->Fill(xi_bid_m, xj_bid_m, read_matrix(
i,j));
1664 for(Int_t
i = 0 ;
i - ReadMatSize < 0 ;
i++)
1666 Double_t
xi = (Double_t)
i;
1667 for(Int_t j = 0 ; j < ReadMatSize ; j++)
1669 Double_t xj = (Double_t)j;
1670 Double_t mat_val = (Double_t)read_matrix(
i,j);
1671 h_fbid0->Fill(xi, xj, (Double_t)mat_val);
1678 TString quantity_code =
"D_MCs_ChNb";
1686 if( BetweenWhat ==
fLFBetweenStins ){quantity_code =
"H2LFccMosMatrix";}
1687 if( BetweenWhat ==
fHFBetweenStins ){quantity_code =
"H2HFccMosMatrix";}
1743 HistoType =
"(no quantity type info)";
1745 if (PlotOption ==
"COLZ" ){HistoType =
"colz";}
1746 if (PlotOption ==
"BOX" ){HistoType =
"colz";}
1747 if (PlotOption ==
"TEXT" ){HistoType =
"colz";}
1748 if (PlotOption ==
"CONTZ" ){HistoType =
"colz";}
1749 if (PlotOption ==
"LEGO2Z"){HistoType =
"lego";}
1750 if (PlotOption ==
"SURF1Z"){HistoType =
"surf";}
1751 if (PlotOption ==
"SURF2Z"){HistoType =
"surf";}
1752 if (PlotOption ==
"SURF3Z"){HistoType =
"surf";}
1753 if (PlotOption ==
"SURF4" ){HistoType =
"surf";}
1768 TString name_cov_cor;
1774 TString name_chan_samp;
1776 name_chan_samp =
"?";
1786 name_chan_samp =
"Between_Samples";
1793 name_visu = PlotOption;
1796 sprintf(f_in,
"%s_%s_%s_S1_%d_R%d_%d_%d_%s%d_%s",
1797 name_cov_cor.Data(), name_chan_samp.Data(),
1804 sprintf(f_in,
"%s_%s_%s_S1_%d_R%d_%d_%d_%s%d_%sX%d_%sY%d_%s",
1805 name_cov_cor.Data(), name_chan_samp.Data(),
1813 sprintf(f_in,
"%s_%s_%s_S1_%d_R%d_%d_%d_%s%d_%sX%d_%sY%d_ElecChannel_%d_%s",
1814 name_cov_cor.Data(), name_chan_samp.Data(),
1825 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w , canv_h);
fCnewRoot++;
1845 MainCanvas->Divide(1, 1, x_margin, y_margin);
1850 gPad->SetLogy(logy);
1853 h_fbid0->DrawCopy(PlotOption);
1854 h_fbid0->SetStats(
true);
1873 std::cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* ==> Wrong channel number in " 1875 << i0StinEcha <<
" (required range: [0, " 1892 if ( Stin_X_ok != 1 )
1896 std::cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* =====> " 1898 << StexStin_A <<
", " 1899 <<
fFapStinName.Data() <<
" not found. Available numbers = ";
1911 std::cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* =====> " 1914 <<
fFapStinName.Data() <<
" not found. Available numbers = ";
1925 if ( Stin_Y_ok != 1 )
1930 std::cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* =====> " 1932 << StexStin_B <<
", " 1933 <<
fFapStinName.Data() <<
" not found. Available numbers = ";
1945 std::cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* =====> " 1948 <<
fFapStinName.Data() <<
" not found. Available numbers = ";
1964 std::cout <<
"!TEcnaHistos::ViewMatrix(...)> *ERROR* =====> " 1965 <<
" Histo not available." <<
fTTBELL << std::endl;
1973 std::cout <<
"!TEcnaHistos::ViewMatrix(...)> *ERROR* =====> " 1974 <<
" ROOT file not found" <<
fTTBELL << std::endl;
2019 if( (
fFapStexNumber > 0) && fFapStexNumber <= fEcal->MaxStexInStas() )
2021 Int_t StexStin = cStexStin;
2051 if ( vStin(index_Stin) == StexStin ){Stin_ok++;}
2064 {sprintf(f_in_mat_tit,
"Xtal's Cov(s,s') matrices in %s.",
2067 {sprintf(f_in_mat_tit,
"Xtal's Cor(s,s') matrices in %s.",
2072 Int_t nb_binx = GeoBidSize;
2073 Int_t nb_biny = GeoBidSize;
2074 Axis_t xinf_bid = (Axis_t)0.;
2075 Axis_t xsup_bid = (Axis_t)GeoBidSize;
2076 Axis_t yinf_bid = (Axis_t)0.;
2077 Axis_t ysup_bid = (Axis_t)GeoBidSize;
2082 TH2D* h_geo_bid =
new TH2D(
"geobidim_ViewStin", f_in_mat_tit,
2083 nb_binx, xinf_bid, xsup_bid,
2084 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
2093 TMatrixD read_matrix(ReadMatSize, ReadMatSize);
2094 for(Int_t
i=0;
i-ReadMatSize < 0;
i++){
for(Int_t j=0; j-ReadMatSize < 0; j++)
2095 {read_matrix(
i,j)=(Double_t)0.;}}
2097 Int_t i_data_exist = 0;
2116 for(Int_t i_samp = 0 ; i_samp < ReadMatSize ; i_samp++)
2119 for(Int_t j_samp = 0; j_samp < ReadMatSize ; j_samp++)
2122 StexStin, n_crys, j_samp);
2123 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)j_ygeo,
2124 (Double_t)read_matrix(i_samp, j_samp));
2132 TString quantity_code =
"D_MCs_ChNb";
2168 if( i_data_exist > 0 )
2180 TString name_cov_cor;
2190 sprintf(f_in,
"%s_%s_%s_S1_%d_R%d_%d_%d_%s%d_%s%d_%s",
2199 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
2213 MainCanvas->Divide(1, 1, x_margin, y_margin);
2217 gPad->SetLogy(logy);
2219 h_geo_bid->DrawCopy(
"COLZ");
2229 h_geo_bid->SetStats(
true);
2234 h_geo_bid->Delete(); h_geo_bid =
nullptr;
fCdeleteRoot++;
2238 std::cout <<
"!TEcnaHistos::ViewStin(...)> *ERROR* =====> " 2240 << cStexStin <<
" not found." 2241 <<
" Available numbers = ";
2263 std::cout <<
"!TEcnaHistos::ViewStin(...)> *ERROR* =====> " 2264 <<
" ROOT file not found" <<
fTTBELL << std::endl;
2301 if( (SMNumber > 0) && (SMNumber <= fEcal->MaxSMInEB()) )
2312 Int_t nx_gbins = nb_bins*size_eta;
2313 Int_t ny_gbins = nb_bins*size_phi;
2315 Axis_t xinf_gbid = (Axis_t)0.;
2317 Axis_t yinf_gbid = (Axis_t)0.;
2320 TString fg_name =
"M0' crystals";
2321 TString fg_tit =
"Xtal numbering (chan. in tow, chan. in SM, Xtal in SM, hashed)";
2325 h_gbid =
new TH2D(fg_name.Data(), fg_tit.Data(),
2326 nx_gbins, xinf_gbid, xsup_gbid,
2327 ny_gbins, yinf_gbid, ysup_gbid);
fCnewRoot++;
2344 gStyle->SetPalette(1,
nullptr);
2356 sprintf(f_in,
"Crystal_Numbering_for_%s_X_%d_%s%d",
2361 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w , canv_h); fCnewRoot++;
2369 MainCanvas->Divide(1, 1, x_margin, y_margin);
2375 Bool_t b_true =
true;
2376 Bool_t b_false =
false;
2379 gStyle->SetMarkerColor(couleur_rouge);
2382 gPad->SetLogy(logy);
2386 h_gbid->SetStats(b_false);
2387 h_gbid->DrawCopy(
"COLZ");
2395 TText *text_elec_num =
new TText(); fCnewRoot++;
2396 if ( TowerLvrbType ==
"top" ){text_elec_num->SetTextColor(couleur_rouge);}
2397 if ( TowerLvrbType ==
"bottom" ){text_elec_num->SetTextColor(couleur_bleu_fonce);}
2398 text_elec_num->SetTextSize(0.04);
2401 TText *text_sme_num =
new TText(); fCnewRoot++;
2402 if ( TowerLvrbType ==
"top" ){text_sme_num->SetTextColor(couleur_rouge);}
2403 if ( TowerLvrbType ==
"bottom" ){text_sme_num->SetTextColor(couleur_bleu_fonce);}
2404 text_sme_num->SetTextSize(0.03);
2407 TText *text_sm_num =
new TText(); fCnewRoot++;
2408 text_sm_num->SetTextColor(couleur_noir);
2409 text_sm_num->SetTextSize(0.03);
2412 TText *text_hsd_num =
new TText(); fCnewRoot++;
2413 text_hsd_num->SetTextColor(couleur_noir);
2414 text_hsd_num->SetTextSize(0.03);
2419 Double_t off_set = (Double_t)1.;
2425 Int_t i_xgeo =
GetXSampInStin(SMNumber, n1SMTow, i_chan, i_samp);
2426 Int_t i_ygeo =
GetYSampInStin(SMNumber, n1SMTow, i_chan, i_samp);
2428 Double_t xgi = i_xgeo + 3.*off_set;
2429 Double_t ygj = i_ygeo + 7.*off_set;
2431 Double_t xgi_sme = i_xgeo + 3.*off_set;
2432 Double_t ygj_sme = i_ygeo + 5.*off_set;
2434 Double_t xgi_sm = i_xgeo + 3.*off_set;
2435 Double_t ygj_sm = i_ygeo + 3.*off_set;
2437 Double_t xgi_hsd = i_xgeo + 3.*off_set;
2438 Double_t ygj_hsd = i_ygeo + 1.*off_set;
2450 sprintf(f_in_elec,
"%d", i_chan);
2451 text_elec_num->DrawText(xgi, ygj, f_in_elec);
2453 sprintf(f_in_sme,
"%d", i_crys_sme);
2454 text_sme_num->DrawText(xgi_sme, ygj_sme, f_in_sme);
2456 sprintf(f_in_sm,
"%d", i_crys_sm);
2457 text_sm_num->DrawText(xgi_sm, ygj_sm, f_in_sm);
2459 sprintf(f_in_hsd,
"%d", i_crys_hsd);
2460 text_sm_num->DrawText(xgi_hsd, ygj_hsd, f_in_hsd);
2462 text_sm_num->Delete(); text_sm_num =
nullptr;
fCdeleteRoot++;
2463 text_sme_num->Delete(); text_sme_num =
nullptr;
fCdeleteRoot++;
2464 text_elec_num->Delete(); text_elec_num =
nullptr;
fCdeleteRoot++;
2465 text_hsd_num->Delete(); text_hsd_num =
nullptr;
fCdeleteRoot++;
2467 ViewStinGrid(SMNumber, n1SMTow, MatSize, size_eta, size_phi,
"CrystalNumbering");
2470 h_gbid->SetStats(b_true);
2477 std::cout <<
"!TEcnaHistos::TowerCrystalNumbering(...)> SM = " << SMNumber
2493 if( (DeeNumber > 0) && (DeeNumber <= fEcal->MaxDeeInEE()) )
2506 Int_t nx_gbins = nb_bins*size_IX;
2507 Int_t ny_gbins = nb_bins*size_IY;
2509 Axis_t xinf_gbid = (Axis_t)0.;
2511 Axis_t yinf_gbid = (Axis_t)0.;
2514 TString fg_name =
"crystalnbring";
2515 TString fg_tit =
"Xtal numbering for construction";
2518 h_gbid =
new TH2D(fg_name.Data(), fg_tit.Data(),
2519 nx_gbins, xinf_gbid, xsup_gbid,
2520 ny_gbins, yinf_gbid, ysup_gbid);
fCnewRoot++;
2536 gStyle->SetPalette(1,
nullptr);
2545 sprintf(f_in,
"Crystal_Numbering_for_%s_X_%d_%s%d",
2550 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w , canv_h); fCnewRoot++;
2559 MainCanvas->Divide(1, 1, x_margin, y_margin);
2565 Bool_t b_true =
true;
2566 Bool_t b_false =
false;
2569 gStyle->SetMarkerColor(couleur_rouge);
2572 gPad->SetLogy(logy);
2575 h_gbid->SetStats(b_false);
2577 h_gbid->DrawCopy(
"COLZ");
2584 Color_t couleur_SC =
GetSCColor(DeeEndcap, DeeDir, SCQuadType);
2587 TText *text_elec_num =
new TText(); fCnewRoot++;
2588 text_elec_num->SetTextColor(couleur_SC);
2589 text_elec_num->SetTextSize(0.06);
2599 Int_t i_xgeo =
GetXSampInStin(DeeNumber, n1DeeSCEcna, i_chan, i_samp);
2600 Int_t i_ygeo =
GetYSampInStin(DeeNumber, n1DeeSCEcna, i_chan, i_samp);
2602 Double_t xgi = i_xgeo + off_set;
2603 Double_t ygj = i_ygeo + 2*off_set;
2606 Int_t i_chan_p = i_chan+1;
2607 sprintf(f_in_elec,
"%d", i_chan_p);
2608 text_elec_num->DrawText(xgi, ygj, f_in_elec);
2610 text_elec_num->Delete(); text_elec_num =
nullptr;
fCdeleteRoot++;
2615 h_gbid->SetStats(b_true);
2622 std::cout <<
"!TEcnaHistos::SCCrystalNumbering(...)> Dee = " << DeeNumber
2634 const Int_t& i0StinEcha,
const Int_t& i_samp)
2643 if( (btype ==
"EB+" && ctype ==
"bottom") || (btype ==
"EB-" && ctype ==
"top") )
2646 if( (btype ==
"EB+" && ctype ==
"top") || (btype ==
"EB-" && ctype ==
"bottom") )
2651 if( DeeDir ==
"right" )
2653 if( DeeDir ==
"left" )
2661 const Int_t& i0StinEcha,
const Int_t& j_samp)
2674 if( (btype ==
"EB+" && ctype ==
"top") || (btype ==
"EB-" && ctype ==
"bottom") )
2676 if( i0StinEcha >= 0 && i0StinEcha <= 4 ) {jy_geo = (i0StinEcha - 0)*
fEcal->
MaxSampADC() + j_samp;}
2677 if( i0StinEcha >= 5 && i0StinEcha <= 9 ) {jy_geo = -(i0StinEcha - 9)*
fEcal->
MaxSampADC() + j_samp;}
2678 if( i0StinEcha >= 10 && i0StinEcha <= 14 ) {jy_geo = (i0StinEcha - 10)*
fEcal->
MaxSampADC() + j_samp;}
2679 if( i0StinEcha >= 15 && i0StinEcha <= 19 ) {jy_geo = -(i0StinEcha - 19)*
fEcal->
MaxSampADC() + j_samp;}
2680 if( i0StinEcha >= 20 && i0StinEcha <= 24 ) {jy_geo = (i0StinEcha - 20)*
fEcal->
MaxSampADC() + j_samp;}
2683 if( (btype ==
"EB+" && ctype ==
"bottom") || (btype ==
"EB-" && ctype ==
"top") )
2685 if( i0StinEcha >= 0 && i0StinEcha <= 4 )
2687 if( i0StinEcha >= 5 && i0StinEcha <= 9 )
2689 if( i0StinEcha >= 10 && i0StinEcha <= 14 )
2691 if( i0StinEcha >= 15 && i0StinEcha <= 19 )
2693 if( i0StinEcha >= 20 && i0StinEcha <= 24 )
2712 const Int_t& StexStin,
const Int_t& MatSize,
2713 const Int_t& size_Hoco,
const Int_t& size_Veco,
2714 const TString& chopt)
2719 size_Hoco, size_Veco, chopt);}
2721 size_Hoco, size_Veco, chopt);}
2732 const Int_t& n1SMTow,
const Int_t& MatSize,
2733 const Int_t& size_eta,
const Int_t& size_phi,
2734 const TString& chopt)
2738 Double_t xline = 0.;
2740 Double_t yline_bot = 0.;
2741 Double_t yline_top = (Double_t)(MatSize*size_eta);
2743 for( Int_t
i = 0 ;
i < size_eta ;
i++)
2745 xline = xline + (Double_t)MatSize;
2747 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
2752 Double_t xline_left = 0;
2753 Double_t xline_right = (Double_t)(MatSize*size_eta);
2755 Double_t yline = -(Double_t)MatSize;
2757 for( Int_t j = 0 ; j < size_eta+1 ; j++)
2759 yline = yline + (Double_t)MatSize;
2761 lin =
new TLine(xline_left, yline, xline_right, yline);
fCnewRoot++;
2784 TGaxis* sup_axis_x =
nullptr;
2786 if ( x_direction ==
"-x" )
2787 {sup_axis_x =
new TGaxis( -(Float_t)MatSize, (Float_t)0, (Float_t)(size_eta*MatSize), (Float_t)0.,
2788 "f1", size_eta,
"BCS" , 0.); fCnewRoot++;
2789 std::cout <<
"TEcnaHistosEB::ViewTowerGrid()> non foreseen case. eta with -x direction." <<
fTTBELL << std::endl;}
2791 if ( x_direction ==
"x" )
2792 {sup_axis_x =
new TGaxis( (Float_t)0. , (Float_t)0., (Float_t)(size_eta*MatSize), (Float_t)0.,
2793 "f1", size_eta,
"CS" , 0.); fCnewRoot++;}
2795 sup_axis_x->SetTitle(x_var_name);
2796 sup_axis_x->SetTitleSize(tit_siz_x);
2797 sup_axis_x->SetTitleOffset(tit_off_x);
2798 sup_axis_x->SetLabelSize(lab_siz_x);
2799 sup_axis_x->SetLabelOffset(lab_off_x);
2800 sup_axis_x->SetTickSize(tic_siz_x);
2801 sup_axis_x->Draw(
"SAME");
2810 if( chopt ==
"CrystalNumbering" )
2818 new TF1(
"f2", y_direction.Data(), phi_min, phi_max); fCnewRoot++;
2819 TGaxis* sup_axis_y =
nullptr;
2821 if ( y_direction ==
"-x" )
2822 {sup_axis_y =
new TGaxis( (Float_t)(size_eta*MatSize), (Float_t)0.,
2823 (Float_t)(size_eta*MatSize), (Float_t)(size_phi*MatSize),
2824 "f2", size_phi,
"+CS", 0.); fCnewRoot++;}
2826 if ( y_direction ==
"x" )
2827 {sup_axis_y =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t) 0., (Float_t)(size_phi*MatSize),
2828 "f2", size_phi,
"BCS", 0.); fCnewRoot++;}
2830 sup_axis_y->SetTitle(y_var_name);
2831 sup_axis_y->SetTitleSize(tit_siz_y);
2832 sup_axis_y->SetTitleOffset(tit_off_y);
2833 sup_axis_y->SetLabelSize(lab_siz_y);
2834 sup_axis_y->SetLabelOffset(lab_off_y);
2835 sup_axis_y->SetTickSize(tic_siz_y);
2836 sup_axis_y->Draw(
"SAME");
2846 new TF1(
"f3", jy_direction.Data(), j_phi_min, j_phi_max); fCnewRoot++;
2847 TGaxis* sup_axis_jy =
nullptr;
2849 sup_axis_jy =
new TGaxis( (Float_t)0., (Float_t)0.,
2850 (Float_t)0., (Float_t)(size_phi*MatSize),
2851 "f3", size_phi,
"SC", 0.); fCnewRoot++;
2853 sup_axis_jy->SetTitle(jy_var_name);
2854 sup_axis_jy->SetTitleSize(tit_siz_y);
2855 sup_axis_jy->SetTitleOffset(tit_off_y);
2856 sup_axis_jy->SetLabelSize(lab_siz_y);
2857 sup_axis_jy->SetLabelOffset(lab_off_y);
2858 sup_axis_jy->SetTickSize(tic_siz_y);
2859 sup_axis_jy->Draw(
"SAME");
2869 const Int_t& MatSize,
const Int_t& size_IX,
2870 const Int_t& size_IY,
const TString& chopt)
2874 Double_t xline = 0.;
2876 Double_t yline_bot = 0.;
2877 Double_t yline_top = (Double_t)(MatSize*size_IX);
2879 for( Int_t
i = 0 ;
i < size_IX ;
i++)
2881 xline = xline + (Double_t)MatSize;
2883 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
2888 Double_t xline_left = 0;
2889 Double_t xline_right = (Double_t)(MatSize*size_IX);
2891 Double_t yline = -(Double_t)MatSize;
2893 for( Int_t j = 0 ; j < size_IX+1 ; j++)
2895 yline = yline + (Double_t)MatSize;
2897 lin =
new TLine(xline_left, yline, xline_right, yline);
fCnewRoot++;
2909 Float_t axis_x_inf = 0;
2910 Float_t axis_x_sup = 0;
2911 Float_t axis_y_inf = 0;
2912 Float_t axis_y_sup = 0;
2913 Int_t axis_nb_div = 1;
2914 Double_t IX_values_min = 0;
2915 Double_t IX_values_max = 0;
2916 Option_t* axis_chopt =
"CS";
2924 TString StrDee =
"iIXSC";
2925 if( DeeNumber == 1 ){StrDee =
"iIXDee1";}
2926 if( DeeNumber == 2 ){StrDee =
"iIXDee2";}
2927 if( DeeNumber == 3 ){StrDee =
"iIXDee3";}
2928 if( DeeNumber == 4 ){StrDee =
"iIXDee4";}
2933 TGaxis* sup_axis_x =
nullptr;
2935 if( DeeNumber == 1 )
2937 axis_x_inf = 0; axis_y_inf = 0; axis_x_sup = size_IX*MatSize; axis_y_sup = 0;
2938 axis_nb_div = size_IX;
2939 IX_values_min = -IX_min ; IX_values_max = -IX_max; axis_chopt =
"CS";
2941 if( DeeNumber == 2 )
2943 axis_x_inf = 0; axis_y_inf = 0; axis_x_sup = size_IX*MatSize; axis_y_sup = 0;
2944 axis_nb_div = size_IX;
2945 IX_values_min = IX_min ; IX_values_max = IX_max; axis_chopt =
"CS";
2947 if( DeeNumber == 3 )
2949 axis_x_inf = 0; axis_y_inf = 0; axis_x_sup = size_IX*MatSize; axis_y_sup = 0;
2950 axis_nb_div = size_IX;
2951 IX_values_min = IX_min ; IX_values_max = IX_max; axis_chopt =
"CS";
2953 if( DeeNumber == 4 )
2955 axis_x_inf = 0; axis_y_inf = 0; axis_x_sup = size_IX*MatSize; axis_y_sup = 0;
2956 axis_nb_div = size_IX;
2957 IX_values_min = -IX_min ; IX_values_max = -IX_max; axis_chopt =
"CS";
2960 new TF1(
"f1", x_direction.Data(), IX_values_min, IX_values_max);
fCnewRoot++;
2961 sup_axis_x =
new TGaxis( axis_x_inf, axis_y_inf, axis_x_sup, axis_y_sup,
2962 "f1", axis_nb_div, axis_chopt , 0.); fCnewRoot++;
2964 sup_axis_x->SetTitle(x_var_name);
2965 sup_axis_x->SetTitleSize(tit_siz_x);
2966 sup_axis_x->SetTitleOffset(tit_off_x);
2967 sup_axis_x->SetLabelSize(lab_siz_x);
2968 sup_axis_x->SetLabelOffset(lab_off_x);
2969 sup_axis_x->SetTickSize(tic_siz_x);
2970 sup_axis_x->Draw(
"SAME");
2986 new TF1(
"f2", jy_direction.Data(), j_IY_min, j_IY_max); fCnewRoot++;
2988 TGaxis* sup_axis_jy =
new TGaxis( (Float_t)0., (Float_t)0.,
2989 (Float_t)0., (Float_t)(size_IY*MatSize),
2990 "f2", size_IY,
"CS", 0.); fCnewRoot++;
2992 sup_axis_jy->SetTitle(jy_var_name);
2993 sup_axis_jy->SetTitleSize(tit_siz_y);
2994 sup_axis_jy->SetTitleOffset(tit_off_y);
2995 sup_axis_jy->SetLabelSize(lab_siz_y);
2996 sup_axis_jy->SetLabelOffset(lab_off_y);
2997 sup_axis_jy->SetTickSize(tic_siz_y);
2998 sup_axis_jy->Draw();
3017 const TString& HistoCode)
3021 Bool_t OKFileExists = kFALSE;
3022 Bool_t OKData = kFALSE;
3024 Int_t n1StexStin = -1;
3036 if( OKFileExists == kTRUE )
3048 if( arg_AlreadyRead >= 1 )
3050 OKFileExists = kTRUE;
3053 if( OKFileExists == kTRUE )
3059 sprintf(f_in_mat_tit,
"?");
3061 if (HistoCode ==
"D_NOE_ChNb") {sprintf(f_in_mat_tit,
"Number of events");}
3062 if (HistoCode ==
"D_Ped_ChNb") {sprintf(f_in_mat_tit,
"Pedestals");}
3063 if (HistoCode ==
"D_TNo_ChNb") {sprintf(f_in_mat_tit,
"Total noise");}
3064 if (HistoCode ==
"D_MCs_ChNb") {sprintf(f_in_mat_tit,
"Mean cor(s,s')");}
3065 if (HistoCode ==
"D_LFN_ChNb") {sprintf(f_in_mat_tit,
"Low frequency noise");}
3066 if (HistoCode ==
"D_HFN_ChNb") {sprintf(f_in_mat_tit,
"High frequency noise");}
3067 if (HistoCode ==
"D_SCs_ChNb") {sprintf(f_in_mat_tit,
"Sigma of cor(s,s')");}
3073 Int_t nb_binx = GeoBidSizeHoco;
3074 Int_t nb_biny = GeoBidSizeVeco;
3075 Axis_t xinf_bid = (Axis_t)0.;
3076 Axis_t xsup_bid = (Axis_t)GeoBidSizeHoco;
3077 Axis_t yinf_bid = (Axis_t)0.;
3078 Axis_t ysup_bid = (Axis_t)GeoBidSizeVeco;
3080 TString axis_x_var_name =
" #Hoco ";
3081 TString axis_y_var_name =
" #Veco ";
3085 TH2D* h_geo_bid =
new TH2D(
"geobidim_ViewStex", f_in_mat_tit,
3086 nb_binx, xinf_bid, xsup_bid,
3087 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
3098 if (HistoCode ==
"D_Ped_ChNb" ){
3100 if (HistoCode ==
"D_TNo_ChNb" ){
3102 if (HistoCode ==
"D_MCs_ChNb" ){
3104 if (HistoCode ==
"D_LFN_ChNb" ){
3106 if (HistoCode ==
"D_HFN_ChNb" ){
3108 if (HistoCode ==
"D_SCs_ChNb" ){
3114 if( arg_AlreadyRead >= 1 )
3116 partial_histp = arg_read_histo;
3121 TMatrixD read_matrix(nb_binx, nb_biny);
3122 for(Int_t
i=0;
i<nb_binx;
i++)
3123 {
for(Int_t j=0; j<nb_biny; j++){read_matrix(
i,j)=(Double_t)0.;}}
3125 if ( OKData == kTRUE )
3133 if( arg_AlreadyRead >= 1 )
3134 {n1StexStin = i0StexStinEcna+1;}
3136 if (n1StexStin != -1)
3145 if(i_xgeo >=0 && i_xgeo < nb_binx && i_ygeo >=0 && i_ygeo < nb_biny)
3147 read_matrix(i_xgeo, i_ygeo) = partial_histp(iStexEcha);
3148 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
3149 (Double_t)read_matrix(i_xgeo, i_ygeo));
3207 TString name_cov_cor;
3211 if( HistoCode ==
"D_NOE_ChNb"){name_cov_cor =
"Nb_Of_D_Adc_EvDs";}
3212 if( HistoCode ==
"D_Ped_ChNb"){name_cov_cor =
"Pedestals";}
3213 if( HistoCode ==
"D_TNo_ChNb"){name_cov_cor =
"Total_noise";}
3214 if( HistoCode ==
"D_MCs_ChNb"){name_cov_cor =
"Mean_Corss";}
3215 if( HistoCode ==
"D_LFN_ChNb"){name_cov_cor =
"Low_Fq_Noise";}
3216 if( HistoCode ==
"D_HFN_ChNb"){name_cov_cor =
"High_Fq_Noise";}
3217 if( HistoCode ==
"D_SCs_ChNb"){name_cov_cor =
"Sigma_Corss";}
3223 TString flag_already_read;
3225 flag_already_read =
"?";
3226 sprintf(f_in,
"M%d", arg_AlreadyRead); flag_already_read = f_in;
3228 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%s%d_%s_HocoVeco_R%s",
3231 name_visu.Data(), flag_already_read.Data());
3236 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
3250 Double_t x_margin = x_low;
3251 Double_t y_margin = y_low;
3252 MainCanvas->Divide( 1, 1, x_margin, y_margin);
3259 TVirtualPad* main_subpad = gPad;
3260 main_subpad->SetPad(x_low, y_low, x_up, y_up);}
3263 h_geo_bid->GetXaxis()->SetTitle(axis_x_var_name);
3264 h_geo_bid->GetYaxis()->SetTitle(axis_y_var_name);
3266 h_geo_bid->DrawCopy(
"COLZ");
3274 Bool_t b_true =
true;
3275 h_geo_bid->SetStats(b_true);
3276 h_geo_bid->Delete(); h_geo_bid =
nullptr;
fCdeleteRoot++;
3285 std::cout <<
"!TEcnaHistos::ViewStex(...)> *ERROR* =====> " 3286 <<
" ROOT file not found" <<
fTTBELL << std::endl;
3325 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') for each tower in SM");}
3327 {sprintf(f_in_mat_tit,
"HF Cor(Xtal,Xtal') for each tower in SM");}
3329 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') for each SC in Dee");}
3331 {sprintf(f_in_mat_tit,
"HF Cor(Xtal,Xtal') for each SC in Dee");}
3337 Int_t nb_binx = GeoBidSizeHoco;
3338 Int_t nb_biny = GeoBidSizeVeco;
3339 Axis_t xinf_bid = (Axis_t)0.;
3340 Axis_t xsup_bid = (Axis_t)GeoBidSizeHoco;
3341 Axis_t yinf_bid = (Axis_t)0.;
3342 Axis_t ysup_bid = (Axis_t)GeoBidSizeVeco;
3344 TString axis_x_var_name =
" #Hoco ";
3345 TString axis_y_var_name =
" #varVeco ";
3375 TH2D* h_geo_bid =
new TH2D(
"geobidim_HocoVecoLHFCorcc", f_in_mat_tit,
3376 nb_binx, xinf_bid, xsup_bid,
3377 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
3384 Int_t n1StexStin = (Int_t)Stin_numbers(i0StexStinEcna);
3388 if (n1StexStin != -1)
3396 Int_t i_xgeo = offset_x + i0StinEcha;
3397 Int_t i_ygeo = offset_y + j0StinEcha;
3399 if(i_xgeo >=0 && i_xgeo < nb_binx && i_ygeo >=0 && i_ygeo < nb_biny)
3404 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
3405 (Double_t)partial_matrix(iEcha, jEcha));
3414 TString HistoCode =
"H2CorccInStins";
3455 TString name_cov_cor;
3457 if( Freq ==
"LF" ){name_cov_cor =
"StexLFCorcc";}
3458 if( Freq ==
"HF" ){name_cov_cor =
"StexHFCorcc";}
3464 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_Stex%s%d_%s_HocoVeco",
3472 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
3487 Double_t x_margin = x_low;
3488 Double_t y_margin = y_low;
3489 MainCanvas->Divide( 1, 1, x_margin, y_margin);
3497 TVirtualPad* main_subpad = gPad;
3498 main_subpad->SetPad(x_low, y_low, x_up, y_up);
3501 h_geo_bid->GetXaxis()->SetTitle(axis_x_var_name);
3502 h_geo_bid->GetYaxis()->SetTitle(axis_y_var_name);
3504 h_geo_bid->DrawCopy(
"COLZ");
3512 Bool_t b_true =
true;
3513 h_geo_bid->SetStats(b_true);
3514 h_geo_bid->Delete(); h_geo_bid =
nullptr;
fCdeleteRoot++;
3524 std::cout <<
"!TEcnaHistos::StexHocoVecoLHFCorcc(...)> *ERROR* =====> " 3525 <<
" ROOT file not found" <<
fTTBELL << std::endl;
3535 const Int_t& i0StinEcha)
3551 if( DeeDir ==
"right" )
3553 if( DeeDir ==
"left" )
3560 const Int_t& j0StinEcha)
3633 if( (SMNumber > 0) && (SMNumber <= fEcal->MaxSMInEB()) )
3638 Int_t nb_binx = GeoBidSizeEta;
3639 Int_t nb_biny = GeoBidSizePhi;
3640 Axis_t xinf_bid = (Axis_t)0.;
3641 Axis_t xsup_bid = (Axis_t)GeoBidSizeEta;
3642 Axis_t yinf_bid = (Axis_t)0.;
3643 Axis_t ysup_bid = (Axis_t)GeoBidSizePhi;
3645 TString axis_x_var_name =
" #eta ";
3646 TString axis_y_var_name =
" #varphi ";
3653 if( SMNumber <= fEcal->MaxSMPhiInEB() )
3654 {sprintf(f_in_mat_tit,
" SM tower numbering");}
3656 {sprintf(f_in_mat_tit,
" SM tower numbering ");}
3660 TH2D* h_empty_bid =
new TH2D(
"grid_bidim_eta_phi", f_in_mat_tit,
3661 nb_binx, xinf_bid, xsup_bid,
3662 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
3663 h_empty_bid->Reset();
3665 h_empty_bid->GetXaxis()->SetTitle(axis_x_var_name);
3666 h_empty_bid->GetYaxis()->SetTitle(axis_y_var_name);
3686 sprintf(f_in,
"tower_numbering_for_SuperModule_SM%d", SMNumber);
3690 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
3700 MainCanvas->Divide(1, 1, x_margin, y_margin);
3703 h_empty_bid->DrawCopy(
"COL");
3709 Bool_t b_true =
true;
3710 h_empty_bid->SetStats(b_true);
3712 h_empty_bid->Delete(); h_empty_bid =
nullptr;
fCdeleteRoot++;
3719 std::cout <<
"!TEcnaHistos::SMTowerNumbering(...)> SM = " << SMNumber
3729 gStyle->SetTitleW(0.2);
3730 gStyle->SetTitleH(0.07);
3740 gStyle->SetTextSize(0.075);
3743 Int_t y_channel = 12;
3744 Int_t x_channel = 12;
3750 TText *text_SMtow_num =
new TText();
fCnewRoot++;
3755 {text_SMtow_num->SetTextColor(couleur_rouge);}
3757 {text_SMtow_num->SetTextColor(couleur_bleu_fonce);}
3765 Double_t y_from_phi = max_tow_phi - 1
3770 sprintf(f_in,
"%d", i_SMtow);
3771 text_SMtow_num->DrawText(x_from_eta, y_from_phi, f_in);
3774 text_SMtow_num->Delete(); text_SMtow_num =
nullptr;
fCdeleteRoot++;
3777 Double_t offset_tow_tex_eta = (Double_t)8.;
3778 Double_t offset_tow_tex_phi = (Double_t)15.;
3781 Double_t x_legend = (Double_t)0.;
3782 Double_t y_legend = (Double_t)0.;
3787 gStyle->SetTextSize(0.075);
3788 gStyle->SetTextColor(couleur_rouge);
3794 x_legend = x_legend + offset_tow_tex_eta;
3795 y_legend = y_legend + offset_tow_tex_phi;
3799 x_legend = -x_legend + offset_tow_tex_eta;
3800 y_legend = y_legend + offset_tow_tex_phi;
3803 sprintf( f_in,
"xx");
3804 TText *text_legend_rouge =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3805 text_legend_rouge->Draw();
3806 gStyle->SetTextSize(0.05);
3807 x_legend = x_legend - (Double_t)3.5;
3808 y_legend = y_legend - (Double_t)2.;
3809 sprintf(f_in,
" LVRB ");
3810 TText *text_legend_rouge_expl =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3811 text_legend_rouge_expl->Draw();
3812 y_legend = y_legend - (Double_t)1.75;
3815 TText *text_legend_rouge_expm =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3816 text_legend_rouge_expm->Draw();
3820 gStyle->SetTextSize(0.075);
3821 gStyle->SetTextColor(couleur_bleu_fonce);
3827 x_legend = x_legend + offset_tow_tex_eta;
3828 y_legend = y_legend + offset_tow_tex_phi/3;
3832 x_legend = -x_legend + offset_tow_tex_eta;
3833 y_legend = y_legend + offset_tow_tex_phi/3;
3836 sprintf(f_in,
"xx");
3837 TText *text_legend_bleu =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3838 text_legend_bleu->Draw();
3840 gStyle->SetTextSize(0.05);
3841 x_legend = x_legend - (Double_t)3.5;
3842 y_legend = y_legend - (Double_t)2.;
3843 sprintf( f_in,
" LVRB ");
3844 TText *text_legend_bleu_expl =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3845 text_legend_bleu_expl->Draw();
3846 y_legend = y_legend - (Double_t)1.75;
3849 TText *text_legend_bleu_expm =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3850 text_legend_bleu_expm->Draw();
3853 gStyle->SetTextColor(couleur_noir);
3864 if ( c_option ==
"corcc")
3870 Int_t nb_binx = GeoBidSizeEta;
3871 Int_t nb_biny = GeoBidSizePhi;
3872 Axis_t xinf_bid = (Axis_t)0.;
3873 Axis_t xsup_bid = (Axis_t)GeoBidSizeEta;
3874 Axis_t yinf_bid = (Axis_t)0.;
3875 Axis_t ysup_bid = (Axis_t)GeoBidSizePhi;
3881 if ( c_option ==
"corcc")
3886 Int_t max_x = nb_binx/size_eta;
3887 Int_t max_y = nb_biny/size_phi;
3890 Double_t yline = (Double_t)yinf_bid;
3892 Double_t xline_left = (Double_t)xinf_bid;
3893 Double_t xline_right = (Double_t)xsup_bid;
3895 for( Int_t j = 0 ; j < max_y ; j++)
3897 yline = yline + (Double_t)size_phi;
3899 lin =
new TLine(xline_left, yline, xline_right, yline);
fCnewRoot++;
3905 Double_t xline = (Double_t)xinf_bid - (Double_t)size_eta;
3907 Double_t yline_bot = (Double_t)yinf_bid;
3908 Double_t yline_top = (Double_t)ysup_bid;
3914 gStyle->SetTextColor(coul_textmodu);
3915 gStyle->SetTextSize(0.075);
3919 for( Int_t
i = 0 ;
i < max_x ;
i++)
3921 xline = xline + (Double_t)size_eta;
3923 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
3927 {lin->SetLineWidth(2); lin->SetLineColor(coul_surligne);}
3929 {lin->SetLineWidth(2); lin->SetLineColor(coul_surligne);}
3937 if(
i == 2 ){sprintf( f_in,
"M4");}
3938 if(
i == 6 ){sprintf( f_in,
"M3");}
3939 if(
i == 10 ){sprintf( f_in,
"M2");}
3940 if(
i == 14 ){sprintf( f_in,
"M1");}
3942 TText *text_num_module =
new TText(xline + 1, yline_top + 1, f_in);
fCnewRoot++;
3943 text_num_module->Draw();
3948 if(
i == 3 ){sprintf( f_in,
"M1");}
3949 if(
i == 7 ){sprintf( f_in,
"M2");}
3950 if(
i == 11 ){sprintf( f_in,
"M3");}
3951 if(
i == 15 ){sprintf( f_in,
"M4");}
3953 TText *text_num_module =
new TText(xline, yline_top + 1, f_in);
fCnewRoot++;
3954 text_num_module->Draw();
3981 TGaxis* sup_axis_x =
nullptr;
3983 if( x_direction ==
"-x" )
3984 {sup_axis_x =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t)(size_eta_sm*MatSize), (Float_t)0.,
3985 "f1", size_eta_sm,
"SC" , 0.); fCnewRoot++;}
3987 if( x_direction ==
"x" )
3988 {sup_axis_x =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t)(size_eta_sm*MatSize), (Float_t)0.,
3989 "f1", size_eta_sm,
"SC" , 0.); fCnewRoot++;}
3991 sup_axis_x->SetTitle(x_var_name);
3992 sup_axis_x->SetTitleSize(tit_siz_x);
3993 sup_axis_x->SetTitleOffset(tit_off_x);
3994 sup_axis_x->SetLabelSize(lab_siz_x);
3995 sup_axis_x->SetLabelOffset(lab_off_x);
3996 sup_axis_x->SetTickSize(tic_siz_x);
3997 sup_axis_x->Draw(
"SAME");
4012 new TF1(
"f2", y_direction.Data(), phi_min, phi_max); fCnewRoot++;
4013 TGaxis* sup_axis_y =
nullptr;
4015 if ( y_direction ==
"-x" )
4016 {sup_axis_y =
new TGaxis(-(Float_t)1.5*(Float_t)size_eta, (Float_t)0.,
4017 -(Float_t)1.5*(Float_t)size_eta, (Float_t)(size_phi_sm*MatSize),
4018 "f2", (Int_t)size_phi_sm,
"SC", 0.); fCnewRoot++;}
4020 if ( y_direction ==
"x" )
4021 {sup_axis_y =
new TGaxis(-(Float_t)1.5*(Float_t)size_eta, (Float_t)0.,
4022 -(Float_t)1.5*(Float_t)size_eta, (Float_t)(size_phi_sm*MatSize),
4023 "f2", (Int_t)size_phi_sm,
"SC", 0.); fCnewRoot++;}
4025 sup_axis_y->SetTitle(y_var_name);
4026 sup_axis_y->SetTitleSize(tit_siz_y);
4027 sup_axis_y->SetTitleOffset(tit_off_y);
4028 sup_axis_y->SetLabelSize(lab_siz_y);
4029 sup_axis_y->SetLabelOffset(lab_off_y);
4030 sup_axis_y->SetTickSize(tic_siz_y);
4031 sup_axis_y->Draw(
"SAME");
4037 TString jy_var_name =
" ";
4040 new TF1(
"f3", jy_direction.Data(), jphi_min, jphi_max); fCnewRoot++;
4041 TGaxis* sup_axis_jy =
nullptr;
4044 sup_axis_jy =
new TGaxis((Float_t)0., (Float_t)0.,
4045 (Float_t)0., (Float_t)(size_phi_sm*MatSize),
4046 "f3", (Int_t)size_phi_sm,
"SC", 0.); fCnewRoot++;
4048 if ( jy_direction ==
"-x" )
4051 if ( jy_direction ==
"x" )
4056 sup_axis_jy->SetTitle(jy_var_name);
4057 sup_axis_jy->SetTitleSize(tit_siz_y);
4058 sup_axis_jy->SetTitleOffset(tit_off_y);
4059 sup_axis_jy->SetLabelSize(lab_siz_y);
4060 sup_axis_jy->SetLabelOffset(lab_off_y);
4061 sup_axis_jy->SetTickSize(tic_siz_y);
4062 sup_axis_jy->Draw(
"SAME");
4075 if( (DeeNumber > 0) && (DeeNumber <= fEcal->MaxDeeInEE()) )
4080 Int_t nb_binx = GeoBidSizeIX;
4081 Int_t nb_biny = GeoBidSizeIY;
4082 Axis_t xinf_bid = (Axis_t)0.;
4083 Axis_t xsup_bid = (Axis_t)GeoBidSizeIX;
4084 Axis_t yinf_bid = (Axis_t)0.;
4085 Axis_t ysup_bid = (Axis_t)GeoBidSizeIY;
4087 TString axis_x_var_name =
" IX ";
4088 TString axis_y_var_name =
" IY ";
4095 sprintf(f_in_mat_tit,
" Dee SC numbering ");
4099 TH2D* h_empty_bid =
new TH2D(
"grid_bidim_IX_IY", f_in_mat_tit,
4100 nb_binx, xinf_bid, xsup_bid,
4101 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
4103 h_empty_bid->Reset();
4105 h_empty_bid->GetXaxis()->SetTitle(axis_x_var_name);
4106 h_empty_bid->GetYaxis()->SetTitle(axis_y_var_name);
4125 sprintf(f_in,
"SC_numbering_for_Dee_Dee%d", DeeNumber);
4127 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
4141 Double_t x_margin = x_low;
4142 Double_t y_margin = y_low;
4144 MainCanvas->Divide( 1, 1, x_margin, y_margin);
4148 TVirtualPad* main_subpad = gPad;
4149 main_subpad->SetPad(x_low, y_low, x_up, y_up);
4151 h_empty_bid->DrawCopy(
"COL");
4158 Bool_t b_true =
true;
4159 h_empty_bid->SetStats(b_true);
4161 h_empty_bid->Delete(); h_empty_bid =
nullptr;
fCdeleteRoot++;
4167 std::cout <<
"!TEcnaHistos::DeeSCNumbering(...)> Dee = " << DeeNumber
4177 gStyle->SetTitleW(0.4);
4178 gStyle->SetTitleH(0.08);
4185 gStyle->SetTextSize(0.0325);
4188 Int_t x_channel = 0;
4189 TText *text_DSSC_num =
new TText();
fCnewRoot++;
4190 TText *text_DeeSCCons_num =
new TText();
fCnewRoot++;
4196 if( SCQuadType ==
"top" && DeeDir ==
"right"){x_channel = 13;}
4197 if( SCQuadType ==
"top" && DeeDir ==
"left" ){x_channel = 7;}
4198 if( SCQuadType ==
"bottom" && DeeDir ==
"left" ){x_channel = 11;}
4199 if( SCQuadType ==
"bottom" && DeeDir ==
"right"){x_channel = 17;}
4200 Int_t i_SCEcha = (Int_t)x_channel;
4202 Double_t x_from_IX = (Double_t)
GetXCrysInStex(DeeNumber, n1DeeSCEcna, i_SCEcha);
4203 Double_t y_from_IY = (Double_t)
GetYCrysInStex(DeeNumber, n1DeeSCEcna, i_SCEcha);
4204 Double_t y_from_IYp = y_from_IY + (Double_t)1.;
4205 Double_t y_from_IYm = y_from_IY - (Double_t)1.;
4208 Color_t couleur_SC =
GetSCColor(DeeEndcap, DeeDir, SCQuadType);
4209 text_DSSC_num->SetTextColor(couleur_SC);
4210 text_DeeSCCons_num->SetTextColor((Color_t)1);
4218 !(i_DeeSCCons == 33 && n1DeeSCEcna == 60) &&
4219 !(i_DeeSCCons == 33 && n1DeeSCEcna == 119) &&
4221 !(i_DeeSCCons == 29 && n1DeeSCEcna == 32) &&
4222 !(i_DeeSCCons == 29 && n1DeeSCEcna == 138) &&
4223 !(i_DeeSCCons == 29 && n1DeeSCEcna == 157) &&
4224 !(i_DeeSCCons == 58 && n1DeeSCEcna == 176) &&
4225 !(i_DeeSCCons == 58 && n1DeeSCEcna == 193) &&
4227 !(i_DeeSCCons == 149 && n1DeeSCEcna == 188) &&
4229 !(i_DeeSCCons == 112 && n1DeeSCEcna == 29) &&
4230 !(i_DeeSCCons == 112 && n1DeeSCEcna == 144) &&
4231 !(i_DeeSCCons == 112 && n1DeeSCEcna == 165) &&
4232 !(i_DeeSCCons == 119 && n1DeeSCEcna == 102) &&
4233 !(i_DeeSCCons == 119 && n1DeeSCEcna == 123) &&
4235 !(i_DeeSCCons == 132 && n1DeeSCEcna == 41) &&
4238 !(i_DeeSCCons == 182 && n1DeeSCEcna == 60) &&
4239 !(i_DeeSCCons == 182 && n1DeeSCEcna == 119) &&
4241 !(i_DeeSCCons == 178 && n1DeeSCEcna == 32) &&
4242 !(i_DeeSCCons == 178 && n1DeeSCEcna == 138) &&
4243 !(i_DeeSCCons == 178 && n1DeeSCEcna == 157) &&
4244 !(i_DeeSCCons == 207 && n1DeeSCEcna == 176) &&
4245 !(i_DeeSCCons == 207 && n1DeeSCEcna == 193) &&
4247 !(i_DeeSCCons == 298 && n1DeeSCEcna == 188) &&
4249 !(i_DeeSCCons == 261 && n1DeeSCEcna == 29) &&
4250 !(i_DeeSCCons == 261 && n1DeeSCEcna == 144) &&
4251 !(i_DeeSCCons == 261 && n1DeeSCEcna == 165) &&
4252 !(i_DeeSCCons == 268 && n1DeeSCEcna == 102) &&
4253 !(i_DeeSCCons == 268 && n1DeeSCEcna == 123) &&
4255 !(i_DeeSCCons == 281 && n1DeeSCEcna == 41)
4258 sprintf(f_in,
"%d", i_DSSC);
4259 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4260 sprintf(f_in,
"%d", i_DeeSCCons);
4261 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4266 if( i_DeeSCCons == 33 && n1DeeSCEcna == 60 )
4268 sprintf(f_in,
"30a");
4269 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4270 sprintf(f_in,
"33a");
4271 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4273 if( i_DeeSCCons == 33 && n1DeeSCEcna == 119 )
4275 sprintf(f_in,
"30b");
4276 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4277 sprintf(f_in,
"33b");
4278 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4281 if( i_DeeSCCons == 29 && n1DeeSCEcna == 32 )
4283 sprintf(f_in,
" 3c-25c");
4284 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4285 sprintf(f_in,
"29c-58c");
4286 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4288 if( i_DeeSCCons == 29 && n1DeeSCEcna == 138 )
4290 sprintf(f_in,
"3a");
4291 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4292 sprintf(f_in,
"29a");
4293 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4295 if( i_DeeSCCons == 29 && n1DeeSCEcna == 157 )
4297 sprintf(f_in,
"3b");
4298 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4299 sprintf(f_in,
"29b");
4300 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4303 if( i_DeeSCCons == 58 && n1DeeSCEcna == 176 )
4305 sprintf(f_in,
"25a");
4306 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4307 sprintf(f_in,
"58a");
4308 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4310 if( i_DeeSCCons == 58 && n1DeeSCEcna == 193 )
4312 sprintf(f_in,
"25b");
4313 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4314 sprintf(f_in,
"58b");
4315 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4318 if( i_DeeSCCons == 149 && n1DeeSCEcna == 188 )
4320 sprintf(f_in,
"34a");
4321 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4322 sprintf(f_in,
"149a");
4323 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4326 if( i_DeeSCCons == 112 && n1DeeSCEcna == 29 )
4328 sprintf(f_in,
" 14a-21a");
4329 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4330 sprintf(f_in,
"112a-119a");
4331 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4333 if( i_DeeSCCons == 112 && n1DeeSCEcna == 144 )
4335 sprintf(f_in,
"14c");
4336 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4337 sprintf(f_in,
"112c");
4338 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4340 if( i_DeeSCCons == 112 && n1DeeSCEcna == 165 )
4342 sprintf(f_in,
"14b");
4343 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4344 sprintf(f_in,
"112b");
4345 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4348 if( i_DeeSCCons == 119 && n1DeeSCEcna == 102 )
4350 sprintf(f_in,
"21c");
4351 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4352 sprintf(f_in,
"119c");
4353 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4355 if( i_DeeSCCons == 119 && n1DeeSCEcna == 123 )
4357 sprintf(f_in,
"21b");
4358 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4359 sprintf(f_in,
"119b");
4360 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4363 if( i_DeeSCCons == 132 && n1DeeSCEcna == 41 )
4365 sprintf(f_in,
"3a");
4366 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4367 sprintf(f_in,
"132a");
4368 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4372 if( i_DeeSCCons == 182 && n1DeeSCEcna == 60 )
4374 sprintf(f_in,
"30a");
4375 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4376 sprintf(f_in,
"182a");
4377 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4379 if( i_DeeSCCons == 182 && n1DeeSCEcna == 119 )
4381 sprintf(f_in,
"30b");
4382 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4383 sprintf(f_in,
"182b");
4384 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4387 if( i_DeeSCCons == 178 && n1DeeSCEcna == 32 )
4389 sprintf(f_in,
" 3c-25c");
4390 text_DSSC_num->DrawText(x_from_IX-6, y_from_IYp, f_in);
4391 sprintf(f_in,
"178c-207c");
4392 text_DeeSCCons_num->DrawText(x_from_IX-6, y_from_IYm, f_in);
4394 if( i_DeeSCCons == 178 && n1DeeSCEcna == 138 )
4396 sprintf(f_in,
"3a");
4397 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4398 sprintf(f_in,
"178a");
4399 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4401 if( i_DeeSCCons == 178 && n1DeeSCEcna == 157 )
4403 sprintf(f_in,
"3b");
4404 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4405 sprintf(f_in,
"178b");
4406 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4409 if( i_DeeSCCons == 207 && n1DeeSCEcna == 176 )
4411 sprintf(f_in,
"25a");
4412 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4413 sprintf(f_in,
"207a");
4414 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4416 if( i_DeeSCCons == 207 && n1DeeSCEcna == 193 )
4418 sprintf(f_in,
"25b");
4419 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4420 sprintf(f_in,
"207b");
4421 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4424 if( i_DeeSCCons == 298 && n1DeeSCEcna == 188 )
4426 sprintf(f_in,
"34a");
4427 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4428 sprintf(f_in,
"298a");
4429 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4432 if( i_DeeSCCons == 261 && n1DeeSCEcna == 29 )
4434 sprintf(f_in,
" 14a-21a");
4435 text_DSSC_num->DrawText(x_from_IX-6, y_from_IYp, f_in);
4436 sprintf(f_in,
"261a-268a");
4437 text_DeeSCCons_num->DrawText(x_from_IX-6, y_from_IYm, f_in);
4439 if( i_DeeSCCons == 261 && n1DeeSCEcna == 144 )
4441 sprintf(f_in,
"14c");
4442 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4443 sprintf(f_in,
"261c");
4444 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4446 if( i_DeeSCCons == 261 && n1DeeSCEcna == 165 )
4448 sprintf(f_in,
"14b");
4449 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4450 sprintf(f_in,
"261b");
4451 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4454 if( i_DeeSCCons == 268 && n1DeeSCEcna == 102 )
4456 sprintf(f_in,
"21c");
4457 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4458 sprintf(f_in,
"268c");
4459 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4461 if( i_DeeSCCons == 268 && n1DeeSCEcna == 123 )
4463 sprintf(f_in,
"21b");
4464 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4465 sprintf(f_in,
"268b");
4466 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4469 if( i_DeeSCCons == 281 && n1DeeSCEcna == 41 )
4471 sprintf(f_in,
"20a");
4472 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4473 sprintf(f_in,
"281a");
4474 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4483 sprintf( f_in,
"color: nb in Data Sector, black: nb for construction");
4485 Int_t y_colors = -14;
4487 TText *text_colors =
new TText(x_colors, y_colors, f_in);
fCnewRoot++;
4488 text_colors->SetTextSize(0.03);
4489 text_colors->SetTextColor(coul_textcolors);
4490 text_colors->Draw();
4493 gStyle->SetTextColor(couleur_noir);
4504 if ( c_option ==
"corcc")
4510 Int_t nb_binx = GeoBidSizeIX;
4511 Int_t nb_biny = GeoBidSizeIY;
4512 Axis_t xinf_bid = (Axis_t)0.;
4513 Axis_t xsup_bid = (Axis_t)GeoBidSizeIX;
4515 Axis_t yinf_bid = (Axis_t)0.;
4516 Axis_t ysup_bid = (Axis_t)GeoBidSizeIY;
4517 Double_t ymid_bid = (Double_t)(ysup_bid-yinf_bid)/2.;
4526 Int_t max_x = nb_binx/size_IX;
4527 Int_t max_y = nb_biny/size_IY;
4528 Int_t max_yd = max_y/2;
4532 Int_t coefcc_x = (Int_t)1;
4533 Int_t coefcc_y = (Int_t)1;
4537 Double_t yline = (Double_t)yinf_bid - (Double_t)size_IY;
4539 Double_t xline_beg = (Double_t)xinf_bid;
4540 Double_t xline_end = (Double_t)xsup_bid;
4543 Int_t x_min[11] = {11,11, 7, 0, 0, 0, 0, 0, 0, 0, 0};
4544 Int_t x_max[11] = {50,50,47,45,45,42,37,35,30,15,50};
4545 for(Int_t
i=0;
i<11;
i++){x_min[
i] = coefcc_x*x_min[
i]; x_max[
i] = coefcc_x*x_max[
i];}
4547 for( Int_t j = 0 ; j < max_y ; j++)
4551 if( DeeNumber == 1 || DeeNumber == 3 )
4553 xline_beg = xinf_bid + (Double_t)x_min[10-j];
4554 xline_end = xinf_bid + (Double_t)x_max[10-j];
4556 if( DeeNumber == 2 || DeeNumber == 4 )
4558 xline_beg = xsup_bid - (Double_t)x_max[10-j];
4559 xline_end = xsup_bid - (Double_t)x_min[10-j];
4565 if( DeeNumber == 1 || DeeNumber == 3 )
4567 xline_beg = xinf_bid + (Double_t)x_min[0];
4568 xline_end = xinf_bid + (Double_t)x_max[0];
4570 if( DeeNumber == 2 || DeeNumber == 4 )
4572 xline_beg = xsup_bid - (Double_t)x_max[0];
4573 xline_end = xsup_bid - (Double_t)x_min[0];
4579 if( DeeNumber == 1 || DeeNumber == 3 )
4581 xline_beg = xinf_bid + (Double_t)x_min[j-10];
4582 xline_end = xinf_bid + (Double_t)x_max[j-10];
4584 if( DeeNumber == 2 || DeeNumber == 4 )
4586 xline_beg = xsup_bid - (Double_t)x_max[j-10];
4587 xline_end = xsup_bid - (Double_t)x_min[j-10];
4591 yline = yline + (Double_t)size_IY;
4593 lin =
new TLine(xline_beg, yline, xline_end, yline);
fCnewRoot++;
4600 Double_t xline = (Double_t)xinf_bid - (Double_t)size_IX;
4602 Double_t yline_haut_bot = (Double_t)ymid_bid;
4603 Double_t yline_haut_top = (Double_t)ysup_bid;
4605 Double_t yline_bas_bot = (Double_t)yinf_bid;
4606 Double_t yline_bas_top = (Double_t)ymid_bid;
4610 Int_t y_min[11] = { 0,11, 7, 0, 0, 0, 0, 0, 0, 0, 0};
4611 Int_t y_max[11] = {50,50,47,45,45,42,38,35,30,15,10};
4612 for(Int_t
i=0;
i<11;
i++){y_min[
i] = coefcc_y*y_min[
i]; y_max[
i] = coefcc_y*y_max[
i];}
4614 gStyle->SetTextSize(0.075);
4616 for( Int_t
i = 0 ;
i <= max_x ;
i++)
4618 if( DeeNumber == 1 || DeeNumber == 3 )
4620 yline_haut_bot = ymid_bid + (Double_t)y_min[
i];
4621 yline_haut_top = ymid_bid + (Double_t)y_max[
i];
4623 if( DeeNumber == 2 || DeeNumber == 4 )
4625 yline_haut_bot = ymid_bid + (Double_t)y_min[10-
i];
4626 yline_haut_top = ymid_bid + (Double_t)y_max[10-
i];
4628 yline_bas_bot = ysup_bid - yline_haut_top;
4629 yline_bas_top = ysup_bid - yline_haut_bot;
4631 xline = xline + (Double_t)size_IX;
4633 lin_haut =
new TLine(xline, yline_haut_bot, xline, yline_haut_top);
fCnewRoot++;
4637 lin_bas =
new TLine(xline, yline_bas_bot, xline, yline_bas_top);
fCnewRoot++;
4643 Float_t fcoefcc_x = (Float_t)coefcc_x;
4644 Float_t fcoefcc_y = (Float_t)coefcc_y;
4660 Int_t nb_niv2 = (nb_niv+1)/2;
4662 for (Int_t num_niv = 0; num_niv < nb_niv2; num_niv++)
4664 Int_t ind_niv = num_niv + nb_niv2 - 1;
4665 if ( ind_niv < 0 || ind_niv > nb_niv )
4667 std::cout <<
"!TEcnaHistos::ContourLevels(...)> *** ERROR *** " 4668 <<
"wrong contour levels for correlation matrix" 4674 (Double_t)(num_niv*num_niv)/
4675 ((Double_t)((nb_niv2-1)*(nb_niv2-1)));
4678 for (Int_t num_niv = -1; num_niv > -nb_niv2; num_niv--)
4680 Int_t ind_niv = num_niv + nb_niv2 - 1;
4681 if ( ind_niv < 0 || ind_niv > nb_niv )
4683 std::cout <<
"!TEcnaHistos::ContourLevels(...)> *** ERROR *** " 4684 <<
"wrong contour levels for correlation matrix" 4690 -(Double_t)(num_niv*num_niv)/
4691 ((Double_t)((nb_niv2-1)*(nb_niv2-1)));
4703 TString xname =
" ";
4713 TString xname =
" ";
4715 if ( chcode ==
"ietaEB" ){xname =
"i#eta Xtal ";}
4716 if ( chcode ==
"ietaSM" ){xname =
"i#eta Xtal ";}
4717 if ( chcode ==
"ietaTow"){xname =
"i#eta Xtal ";}
4719 if ( chcode ==
"iphiEB" ){xname =
" i#varphi Xtal";}
4720 if ( chcode ==
"jphiEB+" ){xname =
" i#varphi Xtal";}
4721 if ( chcode ==
"jphiEB-" ){xname =
" i#varphi Xtal";}
4722 if ( chcode ==
"jphiSMB+" ){xname =
" i#varphi Xtal";}
4723 if ( chcode ==
"jphiSMB-" ){xname =
"i#varphi Xtal ";}
4724 if ( chcode ==
"jphiTow" ){xname =
"i#varphi Xtal in SM ";}
4725 if ( chcode ==
"phi" ){xname =
"i#varphi Xtal in EB ";}
4732 TString xname =
" ";
4734 if ( chcode ==
"iIXDee" ){xname =
"IX(SC)";}
4736 if ( chcode ==
"iIXDee1" ){xname =
" -IX Xtal";}
4737 if ( chcode ==
"iIXDee2" ){xname =
" IX Xtal ";}
4738 if ( chcode ==
"iIXDee3" ){xname =
" IX Xtal";}
4739 if ( chcode ==
"iIXDee4" ){xname =
"-IX Xtal ";}
4741 if ( chcode ==
"iIXEE" ){xname =
" IX Xtal";}
4743 if ( chcode ==
"iIXSC" ){xname =
"IX Xtal";}
4745 if ( chcode ==
"jIYDee" ){xname =
"IY Xtal";}
4746 if ( chcode ==
"jIYSC" ){xname =
"IY Xtal";}
4747 if ( chcode ==
"IY" ){xname =
"IY";}
4761 const TString& HistoCode)
4768 if (HistoCode ==
"D_NOE_ChNb"){sprintf(f_in_mat_tit,
"Number of Events");}
4769 if (HistoCode ==
"D_Ped_ChNb"){sprintf(f_in_mat_tit,
"Pedestals");}
4770 if (HistoCode ==
"D_TNo_ChNb"){sprintf(f_in_mat_tit,
"Total noise");}
4771 if (HistoCode ==
"D_MCs_ChNb"){sprintf(f_in_mat_tit,
"Mean cor(s,s')");}
4772 if (HistoCode ==
"D_LFN_ChNb"){sprintf(f_in_mat_tit,
"Low frequency noise");}
4773 if (HistoCode ==
"D_HFN_ChNb"){sprintf(f_in_mat_tit,
"High frequency noise");}
4774 if (HistoCode ==
"D_SCs_ChNb"){sprintf(f_in_mat_tit,
"Sigma of cor(s,s')");}
4780 Int_t vertic_empty_strips = 3;
4781 Int_t vertic_empty_strip_1 = 1;
4790 Int_t nb_binx = GeoBidSizeHoco;
4791 Int_t nb_biny = GeoBidSizeVeco;
4792 Axis_t xinf_bid = (Axis_t)0.;
4793 Axis_t xsup_bid = (Axis_t)GeoBidSizeHoco;
4794 Axis_t yinf_bid = (Axis_t)0.;
4795 Axis_t ysup_bid = (Axis_t)GeoBidSizeVeco;
4797 TString axis_x_var_name =
" #Hoco ";
4798 TString axis_y_var_name =
" #varVeco ";
4802 TH2D* h_geo_bid =
new TH2D(
"geobidim_ViewStas", f_in_mat_tit,
4803 nb_binx, xinf_bid, xsup_bid,
4804 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
4807 Int_t CounterExistingFile = 0;
4808 Int_t CounterDataExist = 0;
4821 Bool_t OKFileExists = kFALSE;
4822 Bool_t OKDataExist = kFALSE;
4827 Int_t n1StasStex = iStasStex+1;
4835 if( OKFileExists == kTRUE )
4843 if( iStasStex == 0 )
4862 if( HistoCode ==
"D_NOE_ChNb" ){
4864 if( HistoCode ==
"D_Ped_ChNb" ){
4866 if (HistoCode ==
"D_TNo_ChNb" ){
4868 if( HistoCode ==
"D_MCs_ChNb" ){
4870 if( HistoCode ==
"D_LFN_ChNb" ){
4872 if( HistoCode ==
"D_HFN_ChNb" ){
4874 if( HistoCode ==
"D_SCs_ChNb" ){
4882 std::cout <<
"!TEcnaHistos::ViewStas(...)> *ERROR* =====> " 4883 <<
" ROOT file not found" <<
fTTBELL << std::endl;
4887 if( arg_AlreadyRead == 1 )
4889 OKDataExist = kTRUE;
4896 if( OKDataExist == kTRUE)
4899 CounterExistingFile++;
4902 TMatrixD read_matrix(nb_binx, nb_biny);
4903 for(Int_t
i=0;
i<nb_binx;
i++)
4904 {
for(Int_t j=0; j<nb_biny; j++){read_matrix(
i,j)=(Double_t)0.;}}
4906 if ( OKDataExist == kTRUE )
4914 Int_t i_xgeo =
GetXStinInStas(iStasStex, i0StexStinEcna, vertic_empty_strip_1);
4917 if(i_xgeo >=0 && i_xgeo < nb_binx && i_ygeo >=0 && i_ygeo < nb_biny)
4919 Int_t n1StexStinEcna = i0StexStinEcna+1;
4923 read_matrix(i_xgeo, i_ygeo) = partial_histp(i0StexStinEcna);
4924 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
4925 (Double_t)read_matrix(i_xgeo, i_ygeo));
4931 if( !( (n1StexStinEcna == 10 || n1StexStinEcna == 11 ||
4932 n1StexStinEcna == 29 || n1StexStinEcna == 32) ) )
4934 read_matrix(i_xgeo, i_ygeo) = partial_histp(i0StexStinEcna);
4935 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
4936 (Double_t)read_matrix(i_xgeo, i_ygeo));
4938 if( n1StexStinEcna == 29 )
4951 read_matrix(i_xgeo, i_ygeo) =
4952 partial_histp(i0StexStinEcna)*(Double_t)(5./6.) + partial_histp(9)/(Double_t)6.;
4953 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
4954 (Double_t)read_matrix(i_xgeo, i_ygeo));
4957 if( n1StexStinEcna == 32 )
4961 read_matrix(i_xgeo, i_ygeo) =
4962 partial_histp(i0StexStinEcna)*(Double_t)(5./6.) + partial_histp(10)/(Double_t)6.;
4963 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
4964 (Double_t)read_matrix(i_xgeo, i_ygeo));
4974 std::cout <<
"!TEcnaHistos::ViewStas(...)> " 4975 <<
" Data not available for " <<
fFapStexName <<
" " << iStasStex+1
4976 <<
" (Quantity not present in the ROOT file)" <<
fTTBELL << std::endl;
4983 std::cout <<
"!TEcnaHistos::ViewStas(...)> " 4984 <<
" Data not available for " <<
fFapStexName <<
" " << iStasStex+1
4985 <<
" (ROOT file not found)" <<
fTTBELL << std::endl;
4993 delete [] xFapNbOfEvts; xFapNbOfEvts =
nullptr;
fCdelete++;
4995 if( CounterExistingFile > 0 && CounterDataExist > 0 )
5048 TString name_cov_cor;
5052 if( HistoCode ==
"D_NOE_ChNb"){name_cov_cor =
"Number_of_Events";}
5053 if( HistoCode ==
"D_Ped_ChNb"){name_cov_cor =
"Pedestals";}
5054 if( HistoCode ==
"D_TNo_ChNb"){name_cov_cor =
"Total_noise";}
5055 if( HistoCode ==
"D_MCs_ChNb"){name_cov_cor =
"Mean_Corss";}
5056 if( HistoCode ==
"D_LFN_ChNb"){name_cov_cor =
"Low_Fq_Noise";}
5057 if( HistoCode ==
"D_HFN_ChNb"){name_cov_cor =
"High_Fq_Noise";}
5058 if( HistoCode ==
"D_SCs_ChNb"){name_cov_cor =
"Sigma_Corss";}
5064 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%s_%s_HocoVeco_R%d",
5067 name_visu.Data(), arg_AlreadyRead);
5072 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
5087 Double_t x_margin = x_low;
5088 Double_t y_margin = y_low;
5089 MainCanvas->Divide( 1, 1, x_margin, y_margin);
5096 TVirtualPad* main_subpad = gPad;
5097 main_subpad->SetPad(x_low, y_low, x_up, y_up);}
5100 h_geo_bid->GetXaxis()->SetTitle(axis_x_var_name);
5101 h_geo_bid->GetYaxis()->SetTitle(axis_y_var_name);
5103 h_geo_bid->DrawCopy(
"COLZ");
5114 Bool_t b_true =
true;
5115 h_geo_bid->SetStats(b_true);
5116 h_geo_bid->Delete(); h_geo_bid =
nullptr;
fCdeleteRoot++;
5126 const Int_t& vertic_empty_strip_1)
5132 Int_t n1StasStex = iStasStex+1;
5153 if( ctype ==
"EE-" && LeftRightFromIP ==
"left" )
5157 if( ctype ==
"EE-" && LeftRightFromIP ==
"right" )
5161 if( ctype ==
"EE+" && LeftRightFromIP ==
"left" )
5166 if( ctype ==
"EE+" && LeftRightFromIP ==
"right" )
5184 Int_t n1StasStex = iStasStex+1;
5222 Int_t nb_binx = GeoBidSizePhi;
5223 Int_t nb_biny = GeoBidSizeEta;
5224 Axis_t xinf_bid = (Axis_t)0.;
5225 Axis_t xsup_bid = (Axis_t)nb_binx;
5226 Axis_t yinf_bid = (Axis_t)0.;
5227 Axis_t ysup_bid = (Axis_t)nb_biny;
5231 Int_t max_x = nb_binx/size_x;
5232 Int_t max_y = nb_biny/size_y;
5235 Double_t yline = (Double_t)yinf_bid;
5237 Double_t xline_left = (Double_t)xinf_bid;
5238 Double_t xline_right = (Double_t)xsup_bid;
5240 for( Int_t j = 0 ; j < max_y ; j++)
5242 yline = yline + (Double_t)size_y;
5244 lin =
new TLine(xline_left, yline, xline_right, yline);
fCnewRoot++;
5250 Double_t xline = (Double_t)xinf_bid - (Double_t)size_x;
5252 Double_t yline_bot = (Double_t)yinf_bid;
5253 Double_t yline_top = (Double_t)ysup_bid;
5255 for( Int_t
i = 0 ;
i < max_x ;
i++)
5257 xline = xline + (Double_t)size_x;
5259 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
5264 Double_t yTextBot = yline_bot - (yline_top - yline_bot)/25.;
5265 Double_t yTextTop = yline_top + (yline_top - yline_bot)/120.;
5266 xline = (Double_t)xinf_bid - (Double_t)size_x;
5269 TText *text_SM =
new TText();
fCnewRoot++;
5270 for( Int_t
i = 0 ;
i < max_x ;
i++)
5272 xline = xline + (Double_t)size_x;
5274 text_SM->SetTextSize((Double_t)0.03);
5275 sprintf( f_in,
" +%d",
i+1 );
5276 text_SM->DrawText(xline, yTextTop, f_in);
5277 sprintf( f_in,
" %d", -
i-1 );
5278 text_SM->DrawText(xline, yTextBot, f_in);
5288 Double_t phi_min = 0;
5289 Double_t phi_max = 360;
5294 new TF1(
"f1", x_direction.Data(), phi_min, phi_max);
fCnewRoot++;
5295 TGaxis* sup_axis_x =
nullptr;
5297 if( x_direction ==
"-x" )
5298 {sup_axis_x =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t)(size_x_eb*MatSize), (Float_t)0.,
5299 "f1", size_x_eb,
"SC" , 0.); fCnewRoot++;}
5301 if( x_direction ==
"x" )
5302 {sup_axis_x =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t)(size_x_eb*MatSize), (Float_t)0.,
5303 "f1", size_x_eb,
"SC" , 0.); fCnewRoot++;}
5311 sup_axis_x->SetTitle(x_var_name);
5312 sup_axis_x->SetTitleSize(tit_siz_x);
5313 sup_axis_x->SetTitleOffset(tit_off_x);
5314 sup_axis_x->SetLabelSize(lab_siz_x);
5315 sup_axis_x->SetLabelOffset(lab_off_x);
5316 sup_axis_x->SetTickSize(tic_siz_x);
5317 sup_axis_x->Draw(
"SAME");
5323 Double_t
eta_min = (Double_t)(-85.);
5324 Double_t
eta_max = (Double_t)85.;
5328 TGaxis* sup_axis_y =
nullptr;
5329 sup_axis_y =
new TGaxis((Float_t)0., (Float_t)0.,
5330 (Float_t)0., (Float_t)(size_y_eb*MatSize),
5331 eta_min, eta_max, MatSize/2,
"SC", 0.); fCnewRoot++;
5339 sup_axis_y->SetTitle(y_var_name);
5340 sup_axis_y->SetTitleSize(tit_siz_y);
5341 sup_axis_y->SetTitleOffset(tit_off_y);
5342 sup_axis_y->SetLabelColor(1);
5343 sup_axis_y->SetLabelSize(lab_siz_y);
5344 sup_axis_y->SetLabelOffset(lab_off_y);
5345 sup_axis_y->SetTickSize(tic_siz_y);
5346 sup_axis_y->Draw(
"SAME");
5358 Float_t coefcc_x = (Float_t)1./(Float_t)5.;
5359 Float_t coefcc_y = (Float_t)1./(Float_t)5.;
5361 for( Int_t DeeNumber = 1; DeeNumber <= 4; DeeNumber++)
5371 Double_t yline_bot = (Double_t)coefcc_y*(Double_t)0.;
5375 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
5383 lin12 =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
5384 lin12->SetLineStyle(2);
5390 lin34 =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
5391 lin34->SetLineStyle(2);
5399 linh =
new TLine( 0., yline_mid, xline_end, yline_mid);
fCnewRoot++;
5400 linh->SetLineStyle(2);
5407 const Int_t& DeeNumber,
const TString& opt_plot)
5412 Int_t LineWidth = 2;
5413 if( opt_plot ==
"Dee" ){LineWidth = 3;}
5418 Float_t xg_dee_int_bot[13] = { 0, 5, 5, 7, 7, 8, 8, 9, 9,10,10,11,11};
5419 Float_t yg_dee_int_bot[13] = {39,39,40,40,41,41,42,42,43,43,45,45,50};
5421 for(Int_t
i=0;
i<ngmax;
i++){
5422 xg_dee_int_bot[
i] = coefcc_x*xg_dee_int_bot[
i];
5423 yg_dee_int_bot[
i] = coefcc_y*yg_dee_int_bot[
i];}
5425 Float_t XgDeeIntBotRight[13]; Float_t YgDeeIntBotRight[13];
5426 Float_t XgDeeIntTopRight[13]; Float_t YgDeeIntTopRight[13];
5428 for( Int_t
i=0;
i<ngmax;
i++)
5430 XgDeeIntBotRight[
i] = xg_dee_int_bot[
i];
5431 YgDeeIntBotRight[
i] = yg_dee_int_bot[
i];
5432 XgDeeIntTopRight[
i] = XgDeeIntBotRight[
i];
5434 if ( DeeNumber == 2 || DeeNumber == 4 )
5443 TGraph *BDeeIntBotRight =
new TGraph(ngmax, XgDeeIntBotRight, YgDeeIntBotRight);
5444 BDeeIntBotRight->SetLineWidth(LineWidth);
5445 BDeeIntBotRight->DrawGraph(ngmax, XgDeeIntBotRight, YgDeeIntBotRight);
5447 TGraph *BDeeIntTopRight =
new TGraph(ngmax, XgDeeIntTopRight, YgDeeIntTopRight);
5448 BDeeIntTopRight->SetLineWidth(LineWidth);
5449 BDeeIntTopRight->DrawGraph(ngmax, XgDeeIntTopRight, YgDeeIntTopRight);
5453 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};
5454 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};
5455 for(Int_t
i=0;
i<ngmax;
i++){
5456 xg_dee_ext_bot[
i] = coefcc_x*xg_dee_ext_bot[
i];
5457 yg_dee_ext_bot[
i] = coefcc_y*yg_dee_ext_bot[
i];}
5459 Float_t XgDeeExtBotRight[21]; Float_t YgDeeExtBotRight[21];
5460 Float_t XgDeeExtTopRight[21]; Float_t YgDeeExtTopRight[21];
5462 for( Int_t
i=0;
i<ngmax;
i++)
5464 XgDeeExtBotRight[
i] = xg_dee_ext_bot[
i];
5465 YgDeeExtBotRight[
i] = yg_dee_ext_bot[
i];
5466 XgDeeExtTopRight[
i] = XgDeeExtBotRight[
i];
5468 if ( DeeNumber == 2 || DeeNumber == 4 )
5477 TGraph *BDeeExtBotRight =
new TGraph(ngmax, XgDeeExtBotRight, YgDeeExtBotRight);
5478 BDeeExtBotRight->SetLineWidth(LineWidth);
5479 BDeeExtBotRight->DrawGraph(ngmax, XgDeeExtBotRight, YgDeeExtBotRight);
5481 TGraph *BDeeExtTopRight =
new TGraph(ngmax, XgDeeExtTopRight, YgDeeExtTopRight);
5482 BDeeExtTopRight->SetLineWidth(LineWidth);
5483 BDeeExtTopRight->DrawGraph(ngmax, XgDeeExtTopRight, YgDeeExtTopRight);
5490 if( opt_plot ==
"EE" )
5493 Float_t xg_dee_data_sec9[2] = { 0, 0};
5494 Float_t yg_dee_data_sec9[2] = {61,100};
5495 for(Int_t
i=0;
i<ngmax;
i++){
5496 xg_dee_data_sec9[
i] = coefcc_x*xg_dee_data_sec9[
i];
5497 yg_dee_data_sec9[
i] = coefcc_y*yg_dee_data_sec9[
i];}
5499 Float_t XgDeeDataSec9[11]; Float_t YgDeeDataSec9[11];
5500 for( Int_t
i=0;
i<ngmax;
i++)
5502 XgDeeDataSec9[
i] = xg_dee_data_sec9[
i]; YgDeeDataSec9[
i] = yg_dee_data_sec9[
i];
5503 if ( DeeNumber == 2 || DeeNumber == 4 )
5509 TGraph *BDeeDataSec9 =
new TGraph(ngmax, XgDeeDataSec9, YgDeeDataSec9);
5510 BDeeDataSec9->SetLineWidth(LineWidth);
5511 BDeeDataSec9->DrawGraph(ngmax, XgDeeDataSec9, YgDeeDataSec9);
5516 Float_t xg_dee_data_sec1[11] = { 7,10,10,15,15,20,20,25,25,30,30};
5517 Float_t yg_dee_data_sec1[11] = {60,60,65,65,70,70,75,75,85,85,87};
5518 for(Int_t
i=0;
i<ngmax;
i++){
5519 xg_dee_data_sec1[
i] = coefcc_x*xg_dee_data_sec1[
i];
5520 yg_dee_data_sec1[
i] = coefcc_y*yg_dee_data_sec1[
i];}
5522 Float_t XgDeeDataSec1[11]; Float_t YgDeeDataSec1[11];
5523 for( Int_t
i=0;
i<ngmax;
i++)
5525 XgDeeDataSec1[
i] = xg_dee_data_sec1[
i]; YgDeeDataSec1[
i] = yg_dee_data_sec1[
i];
5526 if ( DeeNumber == 2 || DeeNumber == 4 )
5533 TGraph *BDeeDataSec1 =
new TGraph(ngmax, XgDeeDataSec1, YgDeeDataSec1);
5534 BDeeDataSec1->SetLineWidth(LineWidth);
5535 BDeeDataSec1->DrawGraph(ngmax, XgDeeDataSec1, YgDeeDataSec1);
5539 Float_t xg_dee_data_sec2[6] = {11,15,15,40,40,47};
5540 Float_t yg_dee_data_sec2[6] = {50,50,55,55,60,60};
5541 for(Int_t
i=0;
i<ngmax;
i++){
5542 xg_dee_data_sec2[
i] = coefcc_x*xg_dee_data_sec2[
i];
5543 yg_dee_data_sec2[
i] = coefcc_y*yg_dee_data_sec2[
i];}
5545 Float_t XgDeeDataSec2[6]; Float_t YgDeeDataSec2[6];
5546 for( Int_t
i=0;
i<ngmax;
i++)
5548 XgDeeDataSec2[
i] = xg_dee_data_sec2[
i]; YgDeeDataSec2[
i] = yg_dee_data_sec2[
i];
5549 if ( DeeNumber == 2 || DeeNumber == 4 )
5555 TGraph *BDeeDataSec2 =
new TGraph(ngmax, XgDeeDataSec2, YgDeeDataSec2);
5556 BDeeDataSec2->SetLineWidth(LineWidth);
5557 BDeeDataSec2->DrawGraph(ngmax, XgDeeDataSec2, YgDeeDataSec2);
5561 Float_t xg_dee_data_sec3[10] = {10,15,15,20,20,30,30,40,40,42};
5562 Float_t yg_dee_data_sec3[10] = {45,45,40,40,35,35,30,30,25,25};
5563 for(Int_t
i=0;
i<ngmax;
i++){
5564 xg_dee_data_sec3[
i] = coefcc_x*xg_dee_data_sec3[
i];
5565 yg_dee_data_sec3[
i] = coefcc_y*yg_dee_data_sec3[
i];}
5567 Float_t XgDeeDataSec3[10]; Float_t YgDeeDataSec3[10];
5568 for( Int_t
i=0;
i<ngmax;
i++)
5570 XgDeeDataSec3[
i] = xg_dee_data_sec3[
i]; YgDeeDataSec3[
i] = yg_dee_data_sec3[
i];
5571 if ( DeeNumber == 2 || DeeNumber == 4 )
5577 TGraph *BDeeDataSec3 =
new TGraph(ngmax, XgDeeDataSec3, YgDeeDataSec3);
5578 BDeeDataSec3->SetLineWidth(LineWidth);
5579 BDeeDataSec3->DrawGraph(ngmax, XgDeeDataSec3, YgDeeDataSec3);
5583 Float_t xg_dee_data_sec4[6] = { 5, 5,10,10,15,15};
5584 Float_t yg_dee_data_sec4[6] = {40,30,30,15,15, 5};
5585 for(Int_t
i=0;
i<ngmax;
i++){
5586 xg_dee_data_sec4[
i] = coefcc_x*xg_dee_data_sec4[
i];
5587 yg_dee_data_sec4[
i] = coefcc_y*yg_dee_data_sec4[
i];}
5589 Float_t XgDeeDataSec4[6]; Float_t YgDeeDataSec4[6];
5590 for( Int_t
i=0;
i<ngmax;
i++)
5592 XgDeeDataSec4[
i] = xg_dee_data_sec4[
i]; YgDeeDataSec4[
i] = yg_dee_data_sec4[
i];
5593 if ( DeeNumber == 2 || DeeNumber == 4 )
5599 TGraph *BDeeDataSec4 =
new TGraph(ngmax, XgDeeDataSec4, YgDeeDataSec4);
5600 BDeeDataSec4->SetLineWidth(LineWidth);
5601 BDeeDataSec4->DrawGraph(ngmax, XgDeeDataSec4, YgDeeDataSec4);
5605 if( opt_plot ==
"Dee" || opt_plot ==
"EE" )
5609 Float_t xg_coord_sector[5] = { 16, 41, 45, 33, -2};
5610 Float_t yg_coord_sector[5] = { 96, 83, 30, 5, -8};
5613 if(opt_plot ==
"Dee" && (DeeNumber == 1) ){xg_coord_sector[2] += 0.5;}
5614 if(opt_plot ==
"Dee" && (DeeNumber == 2) ){xg_coord_sector[2] -= 1. ;}
5615 if(opt_plot ==
"Dee" && (DeeNumber == 3) ){xg_coord_sector[2] += 0.7;}
5616 if(opt_plot ==
"Dee" && (DeeNumber == 4) ){xg_coord_sector[2] -= 1.2;}
5618 if(opt_plot ==
"EE" && (DeeNumber == 2 || DeeNumber == 3) ){xg_coord_sector[2] += 0.55;}
5619 if(opt_plot ==
"EE" && (DeeNumber == 4 ) ){xg_coord_sector[2] -= 0.2;}
5621 for(Int_t
i=0;
i<ngmax;
i++){
5622 xg_coord_sector[
i] = coefcc_x*xg_coord_sector[
i];
5623 yg_coord_sector[
i] = coefcc_y*yg_coord_sector[
i];}
5625 Float_t xg_sector[9];
5626 Float_t yg_sector[9];
5629 Float_t xinv_d2d4 = coefcc_x*44;
5631 if( DeeNumber == 1 )
5634 xg_sector[1-ns1] = xg_coord_sector[1-ns1]; yg_sector[1-ns1] = yg_coord_sector[1-ns1];
5635 xg_sector[2-ns1] = xg_coord_sector[2-ns1]; yg_sector[2-ns1] = yg_coord_sector[2-ns1];
5636 xg_sector[3-ns1] = xg_coord_sector[3-ns1]; yg_sector[3-ns1] = yg_coord_sector[3-ns1];
5637 xg_sector[4-ns1] = xg_coord_sector[4-ns1]; yg_sector[4-ns1] = yg_coord_sector[4-ns1];
5638 xg_sector[5-ns1] = xg_coord_sector[5-ns1]; yg_sector[5-ns1] = yg_coord_sector[5-ns1];
5641 if( DeeNumber == 2 )
5644 xg_sector[ns2-1] = xinv_d2d4-xg_coord_sector[1-1]; yg_sector[ns2-1] = yg_coord_sector[1-1];
5645 xg_sector[ns2-2] = xinv_d2d4-xg_coord_sector[2-1]; yg_sector[ns2-2] = yg_coord_sector[2-1];
5646 xg_sector[ns2-3] = xinv_d2d4-xg_coord_sector[3-1]; yg_sector[ns2-3] = yg_coord_sector[3-1];
5647 xg_sector[ns2-4] = xinv_d2d4-xg_coord_sector[4-1]; yg_sector[ns2-4] = yg_coord_sector[4-1];
5648 xg_sector[ns2-5] = xinv_d2d4-xg_coord_sector[5-1]; yg_sector[ns2-5] = yg_coord_sector[5-1];
5650 if( DeeNumber == 3 )
5653 xg_sector[ns2-1]= xg_coord_sector[1-1]; yg_sector[ns2-1] = yg_coord_sector[1-1];
5654 xg_sector[ns2-2]= xg_coord_sector[2-1]; yg_sector[ns2-2] = yg_coord_sector[2-1];
5655 xg_sector[ns2-3]= xg_coord_sector[3-1]; yg_sector[ns2-3] = yg_coord_sector[3-1];
5656 xg_sector[ns2-4]= xg_coord_sector[4-1]; yg_sector[ns2-4] = yg_coord_sector[4-1];
5657 xg_sector[ns2-5]= xg_coord_sector[5-1]; yg_sector[ns2-5] = yg_coord_sector[5-1];
5659 if( DeeNumber == 4 )
5662 xg_sector[1-ns1]= xinv_d2d4-xg_coord_sector[1-ns1]; yg_sector[1-ns1] = yg_coord_sector[1-ns1];
5663 xg_sector[2-ns1]= xinv_d2d4-xg_coord_sector[2-ns1]; yg_sector[2-ns1] = yg_coord_sector[2-ns1];
5664 xg_sector[3-ns1]= xinv_d2d4-xg_coord_sector[3-ns1]; yg_sector[3-ns1] = yg_coord_sector[3-ns1];
5665 xg_sector[4-ns1]= xinv_d2d4-xg_coord_sector[4-ns1]; yg_sector[4-ns1] = yg_coord_sector[4-ns1];
5666 xg_sector[5-ns1]= xinv_d2d4-xg_coord_sector[5-ns1]; yg_sector[5-ns1] = yg_coord_sector[5-ns1];
5670 for(Int_t ns=ns1; ns<= ns2; ns++)
5673 if( DeeNumber == 1 || DeeNumber == 2 ){sprintf( f_in,
"+%d", ns);}
5674 if( DeeNumber == 3 || DeeNumber == 4 ){sprintf( f_in,
"-%d", ns);}
5675 TText *text_num_module =
new TText(xg_sector[ns-1], yg_sector[ns-1], f_in);
fCnewRoot++;
5676 if(opt_plot ==
"Dee"){text_num_module->SetTextSize(0.065);}
5677 if(opt_plot ==
"EE" ){text_num_module->SetTextSize(0.045);}
5678 text_num_module->SetTextColor(coul_textsector);
5679 if( opt_plot ==
"Dee" ||
5680 ( opt_plot ==
"EE" && !( (DeeNumber == 3 && ns == 5) || (DeeNumber == 1 && ns == 5) ) ) )
5681 {text_num_module->Draw();}
5688 Float_t xg_coord_dee[4] = { 0, 0, 0, 0};
5689 Float_t yg_coord_dee[4] = {48, 48, 48, 48};
5691 xg_coord_dee[DeeNumber-1] = coefcc_x*xg_coord_dee[DeeNumber-1];
5692 yg_coord_dee[DeeNumber-1] = coefcc_y*yg_coord_dee[DeeNumber-1];
5694 Float_t xg_dee = xg_coord_dee[DeeNumber-1];
5695 Float_t yg_dee = yg_coord_dee[DeeNumber-1];
5702 if( DeeNumber == 1 ){sprintf( f_in,
"D1");}
5703 if( DeeNumber == 2 ){sprintf( f_in,
"D2");}
5704 if( DeeNumber == 3 ){sprintf( f_in,
"D3");}
5705 if( DeeNumber == 4 ){sprintf( f_in,
"D4");}
5707 TText *text_num_module =
new TText(xg_dee, yg_dee, f_in);
fCnewRoot++;
5708 if( opt_plot ==
"EE" ){text_num_module->SetTextSize(0.045);}
5709 if( opt_plot ==
"Dee"){text_num_module->SetTextSize(0.085);}
5710 text_num_module->SetTextColor(coul_textdee);
5711 text_num_module->Draw();
5715 if( opt_plot ==
"EE" )
5719 Float_t xg_coord_eepm[4] = { 0, 0, 0, 0};
5720 Float_t yg_coord_eepm[4] = {95, 95, 95, 95};
5722 xg_coord_eepm[DeeNumber-1] = coefcc_x*xg_coord_eepm[DeeNumber-1];
5723 yg_coord_eepm[DeeNumber-1] = coefcc_y*yg_coord_eepm[DeeNumber-1];
5725 Float_t xg_eepm = xg_coord_eepm[DeeNumber-1];
5726 Float_t yg_eepm = yg_coord_eepm[DeeNumber-1];
5733 if( DeeNumber == 1 ){sprintf( f_in,
"EE+F");}
5734 if( DeeNumber == 2 ){sprintf( f_in,
"EE+N");}
5735 if( DeeNumber == 3 ){sprintf( f_in,
"EE-N");}
5736 if( DeeNumber == 4 ){sprintf( f_in,
"EE-F");}
5738 TText *text_num_eepm =
new TText(xg_eepm, yg_eepm, f_in);
fCnewRoot++;
5739 text_num_eepm->SetTextSize(0.04);
5740 text_num_eepm->SetTextColor(coul_texteepm);
5741 text_num_eepm->Draw();
5746 sprintf( f_in,
"viewed from IP");
5747 Float_t x_from_ip = 15.;
5748 Float_t y_from_ip = -10.;
5749 if( opt_plot ==
"EE" ){y_from_ip = -16.;}
5750 x_from_ip = coefcc_x*x_from_ip;
5751 y_from_ip = coefcc_x*y_from_ip;
5753 TText *text_from_ip =
new TText(x_from_ip, y_from_ip, f_in);
fCnewRoot++;
5754 text_from_ip->SetTextSize(0.045);
5755 if( opt_plot ==
"EE" ){text_from_ip->SetTextSize(0.035);}
5756 text_from_ip->SetTextColor(coul_textfromIP);
5757 if( opt_plot ==
"Dee" || (opt_plot ==
"EE" && DeeNumber == 3) ){text_from_ip->Draw();}
5773 if( opt_plot ==
"Dee" && c_option ==
"corcc" )
5779 if( opt_plot ==
"EE" && c_option ==
"corcc" ){
return;}
5782 if( opt_plot ==
"EE" && c_option !=
"corcc" ){MatSize = 1;}
5784 TString x_var_name =
" ";
5786 Float_t axis_x_inf = 0;
5787 Float_t axis_x_sup = 0;
5788 Float_t axis_y_inf = 0;
5789 Float_t axis_y_sup = 0;
5790 Int_t axis_nb_div = 205;
5791 Double_t IX_values_min = 0;
5792 Double_t IX_values_max = 0;
5793 Option_t* chopt =
"C";
5796 if( DeeNumber == 1 )
5799 axis_x_inf = size_IX_dee*MatSize;
5803 IX_values_min = -IX_max;
5804 IX_values_max = -IX_min;
5807 if( opt_plot ==
"Dee" ){axis_nb_div = size_IX_dee;}
5810 if( DeeNumber == 2 )
5813 axis_x_inf = size_IX_dee*MatSize;
5817 IX_values_min = IX_min;
5818 IX_values_max = IX_max;
5820 if( opt_plot ==
"EE" ){x_var_name =
" ";}
5821 if( opt_plot ==
"Dee" ){axis_nb_div = size_IX_dee;}
5824 if( DeeNumber == 3 )
5827 axis_x_sup = size_IX_dee*MatSize;
5830 IX_values_min = IX_min;
5831 IX_values_max = IX_max;
5833 if( opt_plot ==
"EE" ){x_var_name =
" ";}
5834 if( opt_plot ==
"Dee" ){axis_nb_div = size_IX_dee;}
5837 if( DeeNumber == 4 )
5840 axis_x_sup = size_IX_dee*MatSize;
5843 IX_values_min = -IX_max;
5844 IX_values_max = -IX_min;
5846 if( opt_plot ==
"EE" ){x_var_name =
" ";}
5847 if( opt_plot ==
"Dee" ){axis_nb_div = size_IX_dee;}
5855 TGaxis* sup_axis_x =
nullptr;
5856 sup_axis_x =
new TGaxis(axis_x_inf, axis_y_inf, axis_x_sup, axis_y_sup,
5857 IX_values_min, IX_values_max, axis_nb_div, chopt, 0.);
fCnewRoot++;
5871 sup_axis_x->SetTitle(x_var_name);
5872 sup_axis_x->SetTitleSize(tit_siz_x);
5873 sup_axis_x->SetTitleOffset(tit_off_x);
5874 sup_axis_x->SetLabelSize(lab_siz_x);
5875 sup_axis_x->SetLabelOffset(lab_off_x);
5876 sup_axis_x->SetTickSize(tic_siz_x);
5877 sup_axis_x->Draw(
"SAME");
5880 if( DeeNumber == 1 || DeeNumber == 2 )
5883 TGaxis* sup_axis_x_bis =
nullptr;
5884 sup_axis_x_bis =
new TGaxis(axis_x_inf, axis_y_inf, axis_x_sup, axis_y_sup,
5885 IX_values_min, IX_values_max, axis_nb_div, chopt, 0.);
fCnewRoot++;
5886 sup_axis_x_bis->SetTickSize(0.);
5887 lab_siz_x = sup_axis_x->GetLabelSize();
5888 sup_axis_x_bis->SetLabelSize(lab_siz_x);
5889 lab_off_x = sup_axis_x->GetLabelOffset();
5890 sup_axis_x_bis->SetLabelOffset(-lab_off_x);
5891 sup_axis_x_bis->Draw(
"SAME");
5896 if( opt_plot ==
"Dee" || (opt_plot ==
"EE" && DeeNumber == 4) )
5899 Int_t size_IY_axis = size_IY_dee;
5901 if( opt_plot ==
"Dee" ){axis_nb_div = size_IY_axis;}
5902 if( opt_plot ==
"EE" ){axis_nb_div = 210;}
5907 TString jy_var_name =
" ";
5908 TString jy_direction =
"x";
5922 TGaxis* axis_jy_plus =
nullptr;
5923 axis_jy_plus =
new TGaxis((Float_t)0., (Float_t)0.,
5924 (Float_t)0., (Float_t)(size_IY_axis*MatSize),
5925 jIY_min, jIY_max, axis_nb_div,
"SC", 0.);
fCnewRoot++;
5928 axis_jy_plus->SetTitle(jy_var_name);
5929 axis_jy_plus->SetTitleSize(tit_siz_y);
5930 axis_jy_plus->SetTitleOffset(tit_off_y);
5931 axis_jy_plus->SetLabelSize(lab_siz_y);
5932 axis_jy_plus->SetLabelOffset(lab_off_y);
5933 axis_jy_plus->SetTickSize(tic_siz_y);
5934 axis_jy_plus->Draw(
"SAME");
5940 if( opt_plot ==
"Dee" || (opt_plot ==
"EE" && DeeNumber == 4) )
5943 Int_t size_IY_axis = size_IY_dee/2;
5945 if( opt_plot ==
"Dee" ){axis_nb_div = (Int_t)size_IY_axis;}
5946 if( opt_plot ==
"EE" ){axis_nb_div = 5;}
5951 TString jy_var_name =
" ";
5952 TString jy_direction =
"x";
5966 TGaxis* axis_jy_plus = 0;
5967 axis_jy_plus =
new TGaxis((Float_t)0., (Float_t)(size_IY_dee*MatSize/2),
5968 (Float_t)0., (Float_t)(2*size_IY_dee*MatSize/2),
5969 jIY_min, jIY_max, axis_nb_div,
"SC", 0.);
fCnewRoot++;
5972 axis_jy_plus->SetTitle(jy_var_name);
5973 axis_jy_plus->SetTitleSize(tit_siz_y);
5974 axis_jy_plus->SetTitleOffset(tit_off_y);
5975 axis_jy_plus->SetLabelSize(lab_siz_y);
5976 axis_jy_plus->SetLabelOffset(lab_off_y);
5977 axis_jy_plus->SetTickSize(tic_siz_y);
5978 axis_jy_plus->Draw(
"SAME");
5980 TGaxis* axis_jy_minus = 0;
5981 axis_jy_minus =
new TGaxis((Float_t)0., (Float_t)(size_IY_dee*MatSize/2),
5982 (Float_t)0., (Float_t)0.,
5983 -jIY_min, -jIY_max, axis_nb_div,
"-SC", 0.);
fCnewRoot++;
5986 axis_jy_minus->SetTitle(jy_var_name);
5987 axis_jy_minus->SetTitleSize(tit_siz_y);
5988 axis_jy_minus->SetTitleOffset(tit_off_y);
5989 axis_jy_minus->SetLabelSize(lab_siz_y);
5990 axis_jy_minus->SetLabelOffset(lab_off_y);
5991 axis_jy_minus->SetTickSize(tic_siz_y);
5992 axis_jy_minus->Draw(
"SAME");
6005 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
6006 {
XtalSamplesEv(arg_read_histo, arg_AlreadyRead, n1StexStin, i0StinEcha,
"ONLYONE");}
6008 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
6009 const TString& PlotOption)
6015 Int_t StexStin_A = n1StexStin;
6019 Bool_t aOKData = kFALSE;
6039 std::cout <<
"!TEcnaHistos::XtalSamplesEv(...)> Data not available (ROOT file not found)." << std::endl;
6043 if( arg_AlreadyRead >= 1 )
6050 if( aOKData == kTRUE )
6054 Int_t xAlreadyRead = 1;
6058 {
std::cout <<
"*TEcnaHistos::XtalSamplesEv(...)> channel " << std::setw(2) << i0_stin_echa <<
": ";}
6060 {
std::cout <<
"*TEcnaHistos::XtalSamplesEv(...)> Xtal " << std::setw(2) << i0_stin_echa+1 <<
": ";}
6064 read_histo_samps(i0_samp) = read_histo(i0_stin_echa*fFapNbOfSamples+i0_samp);
6065 std::cout << std::setprecision(4) << std::setw(8) << read_histo_samps(i0_samp) <<
", " ;
6068 ViewHisto(read_histo_samps, xAlreadyRead,
6076 std::cout <<
"!TEcnaHistos::XtalSamplesEv(...)> Data not available." << std::endl;
6082 Int_t StexStin_A = n1StexStin;
6097 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
6098 {
EvSamplesXtals(arg_read_histo, arg_AlreadyRead, n1StexStin, i0StinEcha,
"ONLYONE");}
6100 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
6101 const TString& PlotOption)
6107 Int_t StexStin_A = n1StexStin;
6111 Bool_t aOKData = kFALSE;
6131 std::cout <<
"!TEcnaHistos::EvSamplesXtals(...)> Data not available (ROOT file not found)." << std::endl;
6135 if( arg_AlreadyRead >= 1 )
6141 if( aOKData == kTRUE )
6145 Int_t xAlreadyRead = 1;
6149 {
std::cout <<
"*TEcnaHistos::EvSamplesXtals(...)> channel " << std::setw(2) << i0_stin_echa <<
": ";}
6151 {
std::cout <<
"*TEcnaHistos::EvSamplesXtals(...)> Xtal " << std::setw(2) << i0_stin_echa+1 <<
": ";}
6155 read_histo_samps(i0_samp) = read_histo(i0_stin_echa*fFapNbOfSamples+i0_samp);
6156 std::cout << std::setprecision(4) << std::setw(8) << read_histo_samps(i0_samp) <<
", " ;
6159 ViewHisto(read_histo_samps, xAlreadyRead,
6167 std::cout <<
"!TEcnaHistos::EvSamplesXtals(...)> Data not available." << std::endl;
6173 Int_t StexStin_A = n1StexStin;
6188 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
6189 {
XtalSamplesSigma(arg_read_histo, arg_AlreadyRead, n1StexStin, i0StinEcha,
"ONLYONE");}
6191 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
6192 const TString& PlotOption)
6198 Int_t StexStin_A = n1StexStin;
6202 Bool_t aOKData = kFALSE;
6222 std::cout <<
"!TEcnaHistos::XtalSamplesSigma(...)> Data not available (ROOT file not found)." << std::endl;
6226 if( arg_AlreadyRead >= 1 )
6232 if( aOKData == kTRUE )
6236 Int_t xAlreadyRead = 1;
6240 {
std::cout <<
"*TEcnaHistos::XtalSamplesSigma(...)> channel " << std::setw(2) << i0_stin_echa <<
": ";}
6242 {
std::cout <<
"*TEcnaHistos::XtalSamplesSigma(...)> Xtal " << std::setw(2) << i0_stin_echa+1 <<
": ";}
6246 read_histo_samps(i0_samp) = read_histo(i0_stin_echa*fFapNbOfSamples+i0_samp);
6247 std::cout << std::setprecision(3) << std::setw(6) << read_histo_samps(i0_samp) <<
", " ;
6250 ViewHisto(read_histo_samps, xAlreadyRead,
6258 std::cout <<
"!TEcnaHistos::XtalSamplesSigma(...)> Data not available." << std::endl;
6264 Int_t StexStin_A = n1StexStin;
6280 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
6281 {
SigmaSamplesXtals(arg_read_histo, arg_AlreadyRead, n1StexStin, i0StinEcha,
"ONLYONE");}
6283 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
6284 const TString& PlotOption)
6290 Int_t StexStin_A = n1StexStin;
6294 Bool_t aOKData = kFALSE;
6313 std::cout <<
"!TEcnaHistos::SigmaSamplesXtals(...)> Data not available (ROOT file not found)." << std::endl;
6318 if( arg_AlreadyRead >= 1 )
6324 if( aOKData == kTRUE )
6328 Int_t xAlreadyRead = 1;
6332 {
std::cout <<
"*TEcnaHistos::SigmaSamplesXtals(...)> channel " << std::setw(2) << i0_stin_echa <<
": ";}
6334 {
std::cout <<
"*TEcnaHistos::SigmaSamplesXtals(...)> Xtal " << std::setw(2) << i0_stin_echa+1 <<
": ";}
6338 read_histo_samps(i0_samp) = read_histo(i0_stin_echa*fFapNbOfSamples+i0_samp);
6339 std::cout << std::setprecision(3) << std::setw(6) << read_histo_samps(i0_samp) <<
", " ;
6342 ViewHisto(read_histo_samps, xAlreadyRead,
6350 std::cout <<
"!TEcnaHistos::SigmaSamplesXtals(...)> Data not available." << std::endl;
6356 Int_t StexStin_A = n1StexStin;
6385 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
6386 const Int_t& i0Sample,
const TString& HistoCode,
6387 const TString& opt_plot_arg)
6391 TString opt_plot = opt_plot_arg;
6401 Int_t xCanvasExists = 1;
6404 TVirtualPad* main_subpad =
nullptr;
6406 main_subpad =
ActivePad(HistoCode.Data(), opt_plot.Data());
6407 if( main_subpad ==
nullptr )
6409 std::cout <<
"*TEcnaHistos::ViewHisto(...)> WARNING ===> Canvas has been closed in option SAME or SAME n." 6411 <<
" Please, restart with a new canvas." 6421 Int_t SameXVarMemo = 1;
6422 if( !(HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"EvolProj") &&
6423 !(arg_AlreadyRead >= 1) )
6429 SetXVarMemo(HistoCode, opt_plot, XVarHisto);
SetYVarMemo(HistoCode, opt_plot, YVarHisto); SameXVarMemo = 1;
6436 if( XVarHisto != XVariableMemo )
6438 std::cout <<
"!TEcnaHistos::ViewHisto(...)> *** ERROR *** ===> X coordinate changed in option SAME n." << std::endl
6439 <<
" Present X = " << XVarHisto << std::endl
6440 <<
" Present Y = " << YVarHisto << std::endl
6441 <<
" Previous X = " << XVariableMemo << std::endl
6442 <<
" Previous Y = " << YVariableMemo
6453 Int_t SameYVarMemo = 1;
6454 if( (HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"EvolProj") &&
6455 !(arg_AlreadyRead >= 1) )
6461 SetYVarMemo(HistoCode, opt_plot, YVarHisto);
SetYVarMemo(HistoCode, opt_plot, YVarHisto); SameYVarMemo = 1;
6468 if( YVarHisto != YVariableMemo )
6470 std::cout <<
"!TEcnaHistos::ViewHisto(...)> *** ERROR *** ===> Y coordinate changed in option SAME n." << std::endl
6471 <<
" Present X = " << XVarHisto << std::endl
6472 <<
" Present Y = " << YVarHisto << std::endl
6473 <<
" Previous X = " << XVariableMemo << std::endl
6474 <<
" Previous Y = " << YVariableMemo
6485 Int_t OkBinsMemoSameOne = 1;
6487 Int_t SizeForPlot =
GetHistoSize(HistoCode.Data(),
"plot");
6492 SetNbBinsMemo(HistoCode, opt_plot, xNbBins); OkBinsMemoSameOne = 1;
6498 if( xNbBins != NbBinsMemo )
6500 std::cout <<
"!TEcnaHistos::ViewHisto(...)> *** ERROR *** ===> Number of bins changed in option SAME or SAME n." 6501 <<
" Present number = " << xNbBins <<
", requested number = " << NbBinsMemo <<
fTTBELL << std::endl;
6502 OkBinsMemoSameOne = 0;
6508 if( xCanvasExists == 1 && SameXVarMemo == 1 && SameYVarMemo == 1 && OkBinsMemoSameOne == 1 ){OKHisto = 1;}
6522 TString fp_name_short =
" ";
6525 Int_t SizeForRead =
GetHistoSize(HistoCode.Data(),
"read");
6528 TVectorD histo_for_plot(SizeForPlot);
6529 for(Int_t
i=0;
i<SizeForPlot;
i++){histo_for_plot[
i]=(Double_t)0;}
6531 TVectorD histo_for_plot_memo(SizeForPlot);
6532 for(Int_t
i=0;
i<SizeForPlot;
i++){histo_for_plot_memo[
i]=(Double_t)0;}
6534 Int_t i_data_exist = 0;
6538 if( HistoType ==
"Global" || HistoType ==
"Proj" || HistoType ==
"SampGlobal" ||
6539 HistoType ==
"SampProj" )
6543 Bool_t ok_view_histo = kFALSE;
6546 Int_t CounterExistingFile = 0;
6547 Int_t CounterDataExist = 0;
6556 Bool_t OKFileExists = kFALSE;
6557 Bool_t ok_data_exists = kFALSE;
6562 if( arg_AlreadyRead == 0 )
6566 Int_t n1StasStex = iStasStex+1;
6573 if( OKFileExists == kTRUE )
6580 if( iStasStex == 0 )
6600 if( ok_view_histo == kTRUE )
6603 if( HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_NOE_ChDs" ){
6605 if( HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_Ped_ChDs" ){
6607 if( HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_TNo_ChDs" ){
6609 if( HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_MCs_ChDs" ){
6611 if( HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_LFN_ChDs" ){
6613 if( HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_HFN_ChDs" ){
6615 if( HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_SCs_ChDs" ){
6622 if( arg_AlreadyRead >= 1 )
6624 ok_data_exists = kTRUE;
6629 if( ok_data_exists == kTRUE )
6632 CounterExistingFile++;
6636 if( ok_data_exists == kTRUE )
6650 if( i_xgeo >= 0 && i_xgeo < SizeForPlot )
6652 histo_for_plot[i_xgeo] = read_histo[i0StexStinEcna];
6656 std::cout <<
"!TEcnaHistos::ViewHisto(...)> <EB> i_xgeo = " << i_xgeo
6657 <<
". OUT OF RANGE ( range = [0,"<< SizeForPlot <<
"] " << std::endl;
6664 Int_t DeeOffset = 0;
6667 Int_t DeeNumber = iStasStex+1;
6668 Int_t n1DeeSCEcna = i0StexStinEcna+1;
6685 if( StexDataSector >= 1 && StexDataSector <= 9 )
6687 if( DeeNumber == 4 )
6689 for(Int_t is=2; is<=5; is++)
6690 {
if( StexDataSector >= is )
6694 if( DeeNumber == 3 )
6696 if( StexDataSector >= 6 )
6698 for(Int_t is=7; is<=9; is++)
6699 {
if( StexDataSector >= is )
6703 if( DeeNumber == 2 )
6705 if( StexDataSector >= 6 )
6707 for(Int_t is=7; is<=9; is++)
6708 {
if( StexDataSector >= is )
6712 if( DeeNumber == 1 )
6714 for(Int_t is=2; is<=5; is++)
6715 {
if( StexDataSector >= is )
6719 if( StexDSStin >=1 && StexDSStin <= fEcalNumbering->GetMaxSCInDS(StexDataSector) )
6721 if( DeeNumber == 4 )
6723 if(StexDataSector != 5)
6724 {i_xgeo = DeeOffset + DSOffset + (StexDSStin - 1);}
6725 if( StexDataSector == 5)
6726 {i_xgeo = DeeOffset + DSOffset + (StexDSStin - 1);}
6728 if( DeeNumber == 3 )
6730 if(StexDataSector != 5)
6731 {i_xgeo = DeeOffset + DSOffset + (StexDSStin - 1);}
6732 if( StexDataSector == 5)
6733 {i_xgeo = DeeOffset + DSOffset + (StexDSStin-17) - 1;}
6735 if( DeeNumber == 2 )
6737 if(StexDataSector != 5)
6738 {i_xgeo = DeeOffset + DSOffset
6740 if( StexDataSector == 5)
6741 {i_xgeo = DeeOffset + DSOffset
6744 if( DeeNumber == 1 )
6746 if(StexDataSector != 5)
6747 {i_xgeo = DeeOffset + DSOffset
6749 if( StexDataSector == 5)
6750 {i_xgeo = DeeOffset + DSOffset
6757 std::cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> StexDSStin = " << StexDSStin
6758 <<
". OUT OF RANGE ( range = [1," 6760 <<
"]. DeeNumber = " << DeeNumber
6761 <<
", n1DeeSCEcna = " << n1DeeSCEcna
6762 <<
", StexDataSector = " << StexDataSector
6763 <<
", i_xgeo = " << i_xgeo << std::endl;
6774 if( i_xgeo >= -1 && i_xgeo < SizeForPlot )
6777 if( n1DeeSCEcna == 29 || n1DeeSCEcna == 32 ||
6779 n1DeeSCEcna == 144 || n1DeeSCEcna == 165 ||
6780 n1DeeSCEcna == 176 || n1DeeSCEcna == 193 ||
6781 n1DeeSCEcna == 60 || n1DeeSCEcna == 119 ||
6782 n1DeeSCEcna == 102 || n1DeeSCEcna == 123 ||
6783 n1DeeSCEcna == 138 || n1DeeSCEcna == 157 )
6786 if( n1DeeSCEcna == 29 && i_xgeo >= 0 )
6787 {histo_for_plot[i_xgeo] += read_histo[i0StexStinEcna]/(Double_t)5.;}
6788 if( (n1DeeSCEcna == 144 || n1DeeSCEcna == 165) && i_xgeo >= 0 )
6789 {histo_for_plot[i_xgeo] +=
6790 read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)25.;}
6793 if( n1DeeSCEcna == 32 && i_xgeo >= 0 )
6794 {histo_for_plot[i_xgeo] += read_histo[i0StexStinEcna]/(Double_t)5.;}
6795 if( (n1DeeSCEcna == 176 || n1DeeSCEcna == 193) && i_xgeo >= 0 )
6796 {histo_for_plot[i_xgeo] +=
6797 read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)25.;}
6800 if( (n1DeeSCEcna == 60 || n1DeeSCEcna == 119) && i_xgeo >= 0 )
6801 {histo_for_plot[i_xgeo] += read_histo[i0StexStinEcna]/(Double_t)2.;}
6804 if( n1DeeSCEcna == 102 )
6805 {histo_for_plot[i_xgeo] += read_histo[9]/(Double_t)21.
6806 + read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)21.;}
6807 if( n1DeeSCEcna == 123 && i_xgeo >= 0 )
6808 {histo_for_plot[i_xgeo] +=
6809 read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)21.;}
6812 if( n1DeeSCEcna == 138 )
6813 {histo_for_plot[i_xgeo] += read_histo[10]/(Double_t)21.
6814 + read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)21.;}
6815 if( n1DeeSCEcna == 157 && i_xgeo >= 0 )
6816 {histo_for_plot[i_xgeo] +=
6817 read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)21.;}
6822 {histo_for_plot[i_xgeo] += read_histo[i0StexStinEcna];}
6835 std::cout <<
"!TEcnaHistos::ViewHisto(...)> " 6836 <<
" Data not available for " <<
fFapStexName <<
" " << iStasStex+1
6837 <<
" (Quantity not present in the ROOT file)" << std::endl;
6844 std::cout <<
"!TEcnaHistos::ViewHisto(...)> " 6845 <<
" Data not available for " <<
fFapStexName <<
" " << iStasStex+1
6846 <<
" (ROOT file not found)" << std::endl;
6854 delete [] xFapNbOfEvts; xFapNbOfEvts =
nullptr;
fCdelete++;
6856 if( CounterExistingFile > 0 && CounterDataExist > 0 ){OKPlot = 1;}
6864 Bool_t OKFileExists = kFALSE ;
6865 Bool_t ok_view_histo = kFALSE;
6867 if( arg_AlreadyRead == 0 )
6877 if( OKFileExists == kTRUE )
6893 if( arg_AlreadyRead >= 1 )
6895 OKFileExists = kTRUE; ok_view_histo = kTRUE;
6898 if( OKFileExists == kTRUE )
6903 if( ok_view_histo == kTRUE )
6907 (
fFlagSubDet ==
"EE" && ( HistoType ==
"SampGlobal" || HistoType ==
"SampProj" ) ) )
6910 SizeForPlot, SizeForRead,
6911 StexStin_A, i0StinEcha, i0Sample, i_data_exist);
6912 if( i_data_exist > 0 ){OKPlot = 1;}
6913 if( OKPlot == 1 && opt_plot ==
"ASCII" && ( HistoType ==
"Global" || HistoType ==
"Proj" ) )
6918 if(
fFlagSubDet ==
"EE" && !( HistoType ==
"SampGlobal" || HistoType ==
"SampProj" ) )
6920 TVectorD read_histo(SizeForRead);
6921 for(Int_t
i=0;
i<SizeForRead;
i++){read_histo(
i)=(Double_t)0.;}
6924 SizeForRead, SizeForRead,
6925 StexStin_A, i0StinEcha, i0Sample, i_data_exist);
6926 if( i_data_exist > 0 ){OKPlot = 1;}
6927 if( OKPlot == 1 && opt_plot ==
"ASCII" )
6931 if( OKPlot == 1 && opt_plot !=
"ASCII" )
6948 if( n1SCEcha >= 1 && n1SCEcha <= fEcal->MaxCrysInSC() )
6950 if( n1DeeSCEcna >= 1 && n1DeeSCEcna <= fEcal->MaxSCEcnaInDee() )
6952 if( DataSector >= 1 && DataSector <= 9 )
6954 if( SC_in_DS >= 1 && SC_in_DS <= fEcalNumbering->GetMaxSCInDS(DataSector) )
6956 if( read_histo[i0DeeEcha] != 0 )
6959 Int_t DSOffset =
GetDSOffset(DeeNumber, DataSector);
6962 Int_t SCOffset =
GetSCOffset(DeeNumber, DataSector, SC_in_DS);
6966 GetDeeSCConsFrom1DeeSCEcna(DeeNumber, n1DeeSCEcna, n1SCEcha);
6968 Int_t n1FinalSCEcha = n1SCEcha;
6974 if( !( (SC_in_DS == 14 || SC_in_DS == 25 ) && n1SCEcha == 11 ) )
6978 n1DeeSCEcna, n1SCEcha);
6979 i_xgeo = DSOffset + SCOffset + (n1FinalSCEcha-1);
6982 if( SC_in_DS == 14 && n1SCEcha == 11 )
6984 SCOffset =
GetSCOffset(DeeNumber, DataSector, 21);
6986 i_xgeo = DSOffset + SCOffset + (n1FinalSCEcha-1);
6989 if( SC_in_DS == 25 && n1SCEcha == 11 )
6993 i_xgeo = DSOffset + SCOffset + (n1FinalSCEcha-1);
6998 i_xgeo = DSOffset + SCOffset + (n1FinalSCEcha-1);
7001 histo_for_plot_memo[i_xgeo]++;
7002 if( histo_for_plot_memo[i_xgeo] >= 2 )
7005 <<
"] = " << histo_for_plot_memo[i_xgeo]
7006 <<
", nSCCons = " << nSCCons
7007 <<
", SC_in_DS = " << SC_in_DS
7008 <<
", DSOffset = " << DSOffset
7009 <<
", SCOffset = " << SCOffset
7010 <<
", n1DeeSCEcna = " << n1DeeSCEcna
7011 <<
", n1SCEcha = " << n1SCEcha
7012 <<
", n1FinalSCEcha = " << n1FinalSCEcha << std::endl;
7015 if( i_xgeo >= 0 && i_xgeo < SizeForPlot )
7017 if( n1FinalSCEcha > 0 )
7018 {histo_for_plot[i_xgeo] += read_histo[i0DeeEcha];}
7022 std::cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> i_xgeo = " << i_xgeo
7023 <<
". OUT OF RANGE ( range = [0,"<< SizeForPlot <<
"] " << std::endl;
7029 std::cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> SC_in_DS = " << SC_in_DS
7030 <<
". OUT OF RANGE ( range = [1," 7032 <<
", DataSector = " << DataSector
7033 <<
", n1DeeSCEcna = " << n1DeeSCEcna
7034 <<
", n1SCEcha = " << n1SCEcha
7035 <<
", i0DeeEcha = " << i0DeeEcha
7041 if( DataSector != 0 )
7043 std::cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> DataSector = " << DataSector
7044 <<
". OUT OF RANGE ( range = [1,9] " 7045 <<
", n1DeeSCEcna = " << n1DeeSCEcna
7046 <<
", n1SCEcha = " << n1SCEcha
7047 <<
", i0DeeEcha = " << i0DeeEcha
7054 std::cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> n1DeeSCEcna = " << n1DeeSCEcna
7056 <<
", n1SCEcha = " << n1SCEcha
7057 <<
", i0DeeEcha = " << i0DeeEcha
7063 std::cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> n1SCEcha = " << n1SCEcha
7065 <<
", i0DeeEcha = " << i0DeeEcha
7074 std::cout <<
"!TEcnaHistos::ViewHisto(...)> *ERROR* =====> " 7075 <<
" ok_view_histo != kTRUE " <<
fTTBELL << std::endl;
7082 std::cout <<
"!TEcnaHistos::ViewHisto(...)> *ERROR* =====> " 7083 <<
" ROOT file not found" <<
fTTBELL << std::endl;
7090 if( (
fFapStexNumber > 0) && (fFapStexNumber <= fEcal->MaxStexInStas()) )
7092 Bool_t OKFileExists = kFALSE;
7094 if( !(arg_AlreadyRead > 1) )
7106 OKFileExists = kTRUE;
7109 if( OKFileExists == kTRUE )
7113 for(Int_t
i=0;
i<SizeForPlot;
i++){histo_for_plot[
i]=(Double_t)0;}
7116 SizeForPlot, SizeForRead,
7117 StexStin_A, i0StinEcha, i0Sample, i_data_exist);
7124 if( i_data_exist > 0 ){OKPlot = 1;}
7128 std::cout <<
"!TEcnaHistos::ViewHisto(...)> *ERROR* =====> " 7129 <<
" ROOT file not found" <<
fTTBELL << std::endl;
7142 if( ( HistoType ==
"Global" || HistoType ==
"Proj" ||
7143 HistoType ==
"SampGlobal" || HistoType ==
"SampProj" ||
7144 HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj" ) ||
7145 ( !( HistoType ==
"Global" || HistoType ==
"Proj" ||
7146 HistoType ==
"SampGlobal" || HistoType ==
"SampProj" ||
7147 HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj" ) &&
7148 ( (
fFapStexNumber > 0) && (fFapStexNumber <= fEcal->MaxStexInStas()) ) ) )
7150 if( opt_plot !=
"ASCII" )
7156 if( (opt_plot ==
fOnlyOnePlot && ( arg_AlreadyRead == 0 || arg_AlreadyRead == 1 ) ) ||
7176 if( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"H1BasicProj" )
7178 TString HistoCodi = HistoCode;
7180 if( HistoCode ==
"D_NOE_ChDs" ){HistoCodi =
"D_NOE_ChNb";}
7181 if( HistoCode ==
"D_Ped_ChDs" ){HistoCodi =
"D_Ped_ChNb";}
7182 if( HistoCode ==
"D_TNo_ChDs" ){HistoCodi =
"D_TNo_ChNb";}
7183 if( HistoCode ==
"D_MCs_ChDs" ){HistoCodi =
"D_MCs_ChNb";}
7184 if( HistoCode ==
"D_LFN_ChDs" ){HistoCodi =
"D_LFN_ChNb";}
7185 if( HistoCode ==
"D_HFN_ChDs" ){HistoCodi =
"D_HFN_ChNb";}
7186 if( HistoCode ==
"D_SCs_ChDs" ){HistoCodi =
"D_SCs_ChNb";}
7187 if( HistoCode ==
"D_MSp_SpDs" ){HistoCodi =
"D_MSp_SpNb";}
7188 if( HistoCode ==
"D_SSp_SpDs" ){HistoCodi =
"D_SSp_SpNb";}
7189 if( HistoCode ==
"D_Adc_EvDs" ){HistoCodi =
"D_Adc_EvNb";}
7191 TString TitleHisto =
";";
7204 if( (opt_plot ==
fOnlyOnePlot && ( arg_AlreadyRead == 0 || arg_AlreadyRead == 1 ) ) ||
7208 Double_t XinfProj =(Double_t)0;
7209 Double_t XsupProj =(Double_t)0;
7214 Int_t HisSiza =
GetHistoSize(HistoCodi.Data(),
"plot");
7215 Int_t ReadHisSiza = HisSiza;
7217 Axis_t xinf_hisa =
GetHistoXinf(HistoCodi.Data(), HisSiza, opt_plot);
7218 Axis_t xsup_hisa =
GetHistoXsup(HistoCodi.Data(), HisSiza, opt_plot);
7222 new TH1D(
"histoa", TitleHisto.Data(), nb_binxa, xinf_hisa, xsup_hisa);
fCnewRoot++;
7225 FillHisto(h_hisa, histo_for_plot, HistoCodi.Data(), ReadHisSiza);
7275 Double_t cXinf = (Double_t)0.;
7276 Double_t cXsup = (Double_t)0.;
7279 if( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"H1BasicProj")
7294 cXinf =
GetHistoXinf(HistoCode.Data(), SizeForPlot, opt_plot);
7295 cXsup =
GetHistoXsup(HistoCode.Data(), SizeForPlot, opt_plot);
7299 Axis_t xinf_his = cXinf;
7300 Axis_t xsup_his = cXsup;
7301 Int_t nb_binx = xNbBins;
7303 TString TitleHisto =
";";
7306 TH1D* h_his0 =
new TH1D(
"histo", TitleHisto.Data(), nb_binx, xinf_his, xsup_his);
fCnewRoot++;
7309 FillHisto(h_his0, histo_for_plot, HistoCode.Data(), SizeForPlot);
7318 if( HistoType !=
"Proj" && HistoType !=
"SampProj" && HistoType !=
"H1BasicProj" )
7331 if( ymin != (Double_t)0. )
7350 if( ( HistoType ==
"Proj" || HistoType ==
"SampProj" ||
7351 HistoType ==
"H1BasicProj" ) &&
fFlagScaleY ==
"LIN" )
7375 HistoPlot(h_his0, SizeForPlot, xinf_his, xsup_his,
7376 HistoCode.Data(), HistoType.Data(),
7377 StexStin_A, i0StinEcha, i0Sample,
7378 opt_scale_x, opt_scale_y, opt_plot, arg_AlreadyRead,
7379 xFlagAutoYsupMargin);
7392 std::cout <<
"!TEcnaHistos::ViewHisto(...)> Histo not available." 7408 if( DeeNumber == 4 )
7410 if( DataSector >= 1 ){}
7416 if( DeeNumber == 3 )
7418 if( DataSector >= 5 ){}
7424 if( DeeNumber == 2 )
7426 if( DataSector <= 9 ){}
7432 if( DeeNumber == 1 )
7434 if( DataSector <= 5 ){}
7449 if( DeeNumber == 1 || DeeNumber == 3 )
7455 if( DeeNumber == 2 || DeeNumber == 4 ){SCOffset += (SC_in_DS-1)*
fEcal->
MaxCrysInSC();}
7461 const Int_t& nSCCons,
const Int_t& SC_in_DS,
7462 const Int_t& n1DeeSCEcna,
const Int_t& n1SCEcha)
7466 Int_t ModifiedSCEcha = -1;
7470 TString TypQuad =
"?";
7471 if( SCQuad ==
"top" && DeeDir ==
"right" ){TypQuad =
"TR";}
7472 if( SCQuad ==
"top" && DeeDir ==
"left" ){TypQuad =
"TL";}
7473 if( SCQuad ==
"bottom" && DeeDir ==
"left" ){TypQuad =
"BL";}
7474 if( SCQuad ==
"bottom" && DeeDir ==
"right" ){TypQuad =
"BR";}
7480 if( (SC_in_DS == 30 && n1DeeSCEcna == 60 && TypQuad ==
"TR") ||
7481 (SC_in_DS == 3 && n1DeeSCEcna == 138 && TypQuad ==
"TR") ){
if(n1SCEcha > 15){ModifiedSCEcha = n1SCEcha - 15;}}
7485 if( (SC_in_DS == 30 && n1DeeSCEcna == 60 && TypQuad ==
"TL") ||
7486 (SC_in_DS == 3 && n1DeeSCEcna == 138 && TypQuad ==
"TL") )
7488 if(n1SCEcha == 4){ModifiedSCEcha = 1;}
7489 if(n1SCEcha == 5){ModifiedSCEcha = 2;}
7490 if(n1SCEcha == 9){ModifiedSCEcha = 3;}
7491 if(n1SCEcha == 10){ModifiedSCEcha = 4;}
7492 if(n1SCEcha == 14){ModifiedSCEcha = 5;}
7493 if(n1SCEcha == 15){ModifiedSCEcha = 6;}
7494 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7495 if(n1SCEcha == 20){ModifiedSCEcha = 8;}
7496 if(n1SCEcha == 24){ModifiedSCEcha = 9;}
7497 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7501 if( SC_in_DS == 30 && n1DeeSCEcna == 119 && TypQuad ==
"TR" ){
if(n1SCEcha > 5){ModifiedSCEcha = n1SCEcha - 5;}}
7504 if( SC_in_DS == 30 && n1DeeSCEcna == 119 && TypQuad ==
"TL" )
7506 if(n1SCEcha == 4){ModifiedSCEcha = 11;}
7507 if(n1SCEcha == 5){ModifiedSCEcha = 12;}
7508 if(n1SCEcha == 9){ModifiedSCEcha = 13;}
7509 if(n1SCEcha == 10){ModifiedSCEcha = 14;}
7510 if(n1SCEcha == 14){ModifiedSCEcha = 15;}
7511 if(n1SCEcha == 15){ModifiedSCEcha = 16;}
7512 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7513 if(n1SCEcha == 20){ModifiedSCEcha = 18;}
7514 if(n1SCEcha == 24){ModifiedSCEcha = 19;}
7515 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7520 if( SC_in_DS == 12 && n1DeeSCEcna == 13 && TypQuad ==
"TR" )
7522 ModifiedSCEcha = n1SCEcha;
7524 if( SC_in_DS == 12 && n1DeeSCEcna == 13 && TypQuad ==
"TL" )
7526 if( n1SCEcha >= 1 && n1SCEcha <= 4 ){ModifiedSCEcha = n1SCEcha;}
7527 if( n1SCEcha >= 6 && n1SCEcha <= 9 ){ModifiedSCEcha = n1SCEcha-1;}
7528 if( n1SCEcha >= 11 && n1SCEcha <= 14 ){ModifiedSCEcha = n1SCEcha-2;}
7529 if( n1SCEcha >= 16 && n1SCEcha <= 19 ){ModifiedSCEcha = n1SCEcha-3;}
7530 if( n1SCEcha >= 21 && n1SCEcha <= 24 ){ModifiedSCEcha = n1SCEcha-4;}
7534 if( SC_in_DS == 25 && n1DeeSCEcna == 176 && TypQuad ==
"TR" )
7536 if(n1SCEcha == 4){ModifiedSCEcha = 1;}
7537 if(n1SCEcha == 5){ModifiedSCEcha = 2;}
7538 if(n1SCEcha == 9){ModifiedSCEcha = 3;}
7539 if(n1SCEcha == 10){ModifiedSCEcha = 4;}
7540 if(n1SCEcha == 14){ModifiedSCEcha = 5;}
7541 if(n1SCEcha == 15){ModifiedSCEcha = 6;}
7542 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7543 if(n1SCEcha == 20){ModifiedSCEcha = 8;}
7544 if(n1SCEcha == 24){ModifiedSCEcha = 9;}
7545 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7549 if( SC_in_DS == 25 && n1DeeSCEcna == 176 && TypQuad ==
"TL" )
7551 if(n1SCEcha == 16){ModifiedSCEcha = 1;}
7552 if(n1SCEcha == 21){ModifiedSCEcha = 2;}
7553 if(n1SCEcha == 17){ModifiedSCEcha = 3;}
7554 if(n1SCEcha == 22){ModifiedSCEcha = 4;}
7555 if(n1SCEcha == 18){ModifiedSCEcha = 5;}
7556 if(n1SCEcha == 23){ModifiedSCEcha = 6;}
7557 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7558 if(n1SCEcha == 24){ModifiedSCEcha = 8;}
7559 if(n1SCEcha == 20){ModifiedSCEcha = 9;}
7560 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7565 if( (SC_in_DS == 3 && n1DeeSCEcna == 157 && TypQuad ==
"TR") ||
7566 (SC_in_DS == 25 && n1DeeSCEcna == 193 && TypQuad ==
"TR") )
7568 if(n1SCEcha == 4){ModifiedSCEcha = 11;}
7569 if(n1SCEcha == 5){ModifiedSCEcha = 12;}
7570 if(n1SCEcha == 9){ModifiedSCEcha = 13;}
7571 if(n1SCEcha == 10){ModifiedSCEcha = 14;}
7572 if(n1SCEcha == 14){ModifiedSCEcha = 15;}
7573 if(n1SCEcha == 15){ModifiedSCEcha = 16;}
7574 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7575 if(n1SCEcha == 20){ModifiedSCEcha = 18;}
7576 if(n1SCEcha == 24){ModifiedSCEcha = 19;}
7577 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7582 if( (SC_in_DS == 3 && n1DeeSCEcna == 157 && TypQuad ==
"TL") ||
7583 (SC_in_DS == 25 && n1DeeSCEcna == 193 && TypQuad ==
"TL") )
7585 if(n1SCEcha == 16){ModifiedSCEcha = 11;}
7586 if(n1SCEcha == 21){ModifiedSCEcha = 12;}
7587 if(n1SCEcha == 17){ModifiedSCEcha = 13;}
7588 if(n1SCEcha == 22){ModifiedSCEcha = 14;}
7589 if(n1SCEcha == 18){ModifiedSCEcha = 15;}
7590 if(n1SCEcha == 23){ModifiedSCEcha = 16;}
7591 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7592 if(n1SCEcha == 24){ModifiedSCEcha = 18;}
7593 if(n1SCEcha == 20){ModifiedSCEcha = 19;}
7594 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7598 if( SC_in_DS == 32 && n1DeeSCEcna == 51 && TypQuad ==
"TR" )
7600 if( n1SCEcha >= 1 && n1SCEcha <= 4 ){ModifiedSCEcha = n1SCEcha;}
7601 if( n1SCEcha >= 6 && n1SCEcha <= 9 ){ModifiedSCEcha = n1SCEcha-1;}
7602 if( n1SCEcha >= 11 && n1SCEcha <= 14 ){ModifiedSCEcha = n1SCEcha-2;}
7603 if( n1SCEcha >= 16 && n1SCEcha <= 19 ){ModifiedSCEcha = n1SCEcha-3;}
7604 if( n1SCEcha >= 21 && n1SCEcha <= 24 ){ModifiedSCEcha = n1SCEcha-4;}
7608 if( SC_in_DS == 32 && n1DeeSCEcna == 51 && TypQuad ==
"TL" )
7610 ModifiedSCEcha = n1SCEcha;
7621 if( n1DeeSCEcna == 32 && TypQuad ==
"TR" )
7623 if( nSCCons == 207 )
7625 if(n1SCEcha == 1){ModifiedSCEcha = 21;}
7626 if(n1SCEcha == 2){ModifiedSCEcha = 22;}
7627 if(n1SCEcha == 3){ModifiedSCEcha = 23;}
7628 if(n1SCEcha == 6){ModifiedSCEcha = 24;}
7629 if(n1SCEcha == 7){ModifiedSCEcha = 25;}
7631 if( nSCCons == 178 )
7633 if(n1SCEcha == 11){ModifiedSCEcha = 21;}
7644 if( n1DeeSCEcna == 32 && TypQuad ==
"TL" )
7648 if(n1SCEcha == 1){ModifiedSCEcha = 21;}
7649 if(n1SCEcha == 2){ModifiedSCEcha = 22;}
7650 if(n1SCEcha == 3){ModifiedSCEcha = 23;}
7651 if(n1SCEcha == 6){ModifiedSCEcha = 24;}
7652 if(n1SCEcha == 7){ModifiedSCEcha = 25;}
7656 if(n1SCEcha == 11){ModifiedSCEcha = 21;}
7671 if( n1DeeSCEcna == 29 && TypQuad ==
"BR" )
7673 if( nSCCons == 261 )
7675 if(n1SCEcha == 1){ModifiedSCEcha = 21;}
7676 if(n1SCEcha == 2){ModifiedSCEcha = 22;}
7677 if(n1SCEcha == 3){ModifiedSCEcha = 23;}
7678 if(n1SCEcha == 6){ModifiedSCEcha = 24;}
7679 if(n1SCEcha == 7){ModifiedSCEcha = 25;}
7681 if( nSCCons == 268 )
7683 if(n1SCEcha == 11){ModifiedSCEcha = 21;}
7694 if( n1DeeSCEcna == 29 && TypQuad ==
"BL" )
7696 if( nSCCons == 119 )
7698 if(n1SCEcha == 11){ModifiedSCEcha = 21;}
7700 if( nSCCons == 112 )
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;}
7714 if( (SC_in_DS == 34 && n1DeeSCEcna == 188 && TypQuad ==
"BR") ||
7715 (SC_in_DS == 14 && n1DeeSCEcna == 165 && TypQuad ==
"BR") ){
if(n1SCEcha > 15){ModifiedSCEcha = n1SCEcha - 15;}}
7719 if( (SC_in_DS == 34 && n1DeeSCEcna == 188 && TypQuad ==
"BL") ||
7720 (SC_in_DS == 14 && n1DeeSCEcna == 165 && TypQuad ==
"BL") )
7722 if(n1SCEcha == 4){ModifiedSCEcha = 1;}
7723 if(n1SCEcha == 5){ModifiedSCEcha = 2;}
7724 if(n1SCEcha == 9){ModifiedSCEcha = 3;}
7725 if(n1SCEcha == 10){ModifiedSCEcha = 4;}
7726 if(n1SCEcha == 14){ModifiedSCEcha = 5;}
7727 if(n1SCEcha == 15){ModifiedSCEcha = 6;}
7728 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7729 if(n1SCEcha == 20){ModifiedSCEcha = 8;}
7730 if(n1SCEcha == 24){ModifiedSCEcha = 9;}
7731 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7735 if( SC_in_DS == 10 && n1DeeSCEcna == 50 && TypQuad ==
"BR" )
7737 ModifiedSCEcha = n1SCEcha;
7741 if( SC_in_DS == 10 && n1DeeSCEcna == 50 && TypQuad ==
"BL")
7743 if( n1SCEcha >= 1 && n1SCEcha <= 4 ){ModifiedSCEcha = n1SCEcha;}
7744 if( n1SCEcha >= 6 && n1SCEcha <= 9 ){ModifiedSCEcha = n1SCEcha-1;}
7745 if( n1SCEcha >= 11 && n1SCEcha <= 14 ){ModifiedSCEcha = n1SCEcha-2;}
7746 if( n1SCEcha >= 16 && n1SCEcha <= 19 ){ModifiedSCEcha = n1SCEcha-3;}
7747 if( n1SCEcha >= 21 && n1SCEcha <= 24 ){ModifiedSCEcha = n1SCEcha-4;}
7751 if( SC_in_DS == 14 && n1DeeSCEcna == 144 && TypQuad ==
"BR" ){
if(n1SCEcha > 5){ModifiedSCEcha = n1SCEcha - 5;}}
7754 if( SC_in_DS == 14 && n1DeeSCEcna == 144 && TypQuad ==
"BL" )
7756 if(n1SCEcha == 4){ModifiedSCEcha = 11;}
7757 if(n1SCEcha == 5){ModifiedSCEcha = 12;}
7758 if(n1SCEcha == 9){ModifiedSCEcha = 13;}
7759 if(n1SCEcha == 10){ModifiedSCEcha = 14;}
7760 if(n1SCEcha == 14){ModifiedSCEcha = 15;}
7761 if(n1SCEcha == 15){ModifiedSCEcha = 16;}
7762 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7763 if(n1SCEcha == 20){ModifiedSCEcha = 18;}
7764 if(n1SCEcha == 24){ModifiedSCEcha = 19;}
7765 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7770 if( (SC_in_DS == 21 && n1DeeSCEcna == 123 && TypQuad ==
"BR") ||
7771 (SC_in_DS == 20 && n1DeeSCEcna == 41 && TypQuad ==
"BR") )
7773 if(n1SCEcha == 4){ModifiedSCEcha = 1;}
7774 if(n1SCEcha == 5){ModifiedSCEcha = 2;}
7775 if(n1SCEcha == 9){ModifiedSCEcha = 3;}
7776 if(n1SCEcha == 10){ModifiedSCEcha = 4;}
7777 if(n1SCEcha == 14){ModifiedSCEcha = 5;}
7778 if(n1SCEcha == 15){ModifiedSCEcha = 6;}
7779 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7780 if(n1SCEcha == 20){ModifiedSCEcha = 8;}
7781 if(n1SCEcha == 24){ModifiedSCEcha = 9;}
7782 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7787 if( (SC_in_DS == 21 && n1DeeSCEcna == 123 && TypQuad ==
"BL") ||
7788 (SC_in_DS == 3 && n1DeeSCEcna == 41 && TypQuad ==
"BL") ){
if(n1SCEcha > 15){ModifiedSCEcha = n1SCEcha - 15;}}
7792 if( SC_in_DS == 21 && n1DeeSCEcna == 102 && TypQuad ==
"BR" )
7794 if(n1SCEcha == 4){ModifiedSCEcha = 11;}
7795 if(n1SCEcha == 5){ModifiedSCEcha = 12;}
7796 if(n1SCEcha == 9){ModifiedSCEcha = 13;}
7797 if(n1SCEcha == 10){ModifiedSCEcha = 14;}
7798 if(n1SCEcha == 14){ModifiedSCEcha = 15;}
7799 if(n1SCEcha == 15){ModifiedSCEcha = 16;}
7800 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7801 if(n1SCEcha == 20){ModifiedSCEcha = 18;}
7802 if(n1SCEcha == 24){ModifiedSCEcha = 19;}
7803 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7807 if( SC_in_DS == 21 && n1DeeSCEcna == 102 && TypQuad ==
"BL" )
7809 if(n1SCEcha == 16){ModifiedSCEcha = 11;}
7810 if(n1SCEcha == 21){ModifiedSCEcha = 12;}
7811 if(n1SCEcha == 17){ModifiedSCEcha = 13;}
7812 if(n1SCEcha == 22){ModifiedSCEcha = 14;}
7813 if(n1SCEcha == 18){ModifiedSCEcha = 15;}
7814 if(n1SCEcha == 23){ModifiedSCEcha = 16;}
7815 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7816 if(n1SCEcha == 24){ModifiedSCEcha = 18;}
7817 if(n1SCEcha == 20){ModifiedSCEcha = 19;}
7818 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7822 if( SC_in_DS == 23 && n1DeeSCEcna == 8 && TypQuad ==
"BR" )
7824 if( n1SCEcha >= 1 && n1SCEcha <= 4 ){ModifiedSCEcha = n1SCEcha;}
7825 if( n1SCEcha >= 6 && n1SCEcha <= 9 ){ModifiedSCEcha = n1SCEcha-1;}
7826 if( n1SCEcha >= 11 && n1SCEcha <= 14 ){ModifiedSCEcha = n1SCEcha-2;}
7827 if( n1SCEcha >= 16 && n1SCEcha <= 19 ){ModifiedSCEcha = n1SCEcha-3;}
7828 if( n1SCEcha >= 21 && n1SCEcha <= 24 ){ModifiedSCEcha = n1SCEcha-4;}
7832 if( SC_in_DS == 6 && n1DeeSCEcna == 8 && TypQuad ==
"BL" )
7834 ModifiedSCEcha = n1SCEcha;
7840 std::cout <<
"! *** ERROR *** > ModifiedSCEcha = " << ModifiedSCEcha
7841 <<
", SC_in_DS = " << SC_in_DS
7842 <<
", nSCCons = " << nSCCons
7843 <<
", n1DeeSCEcna = " << n1DeeSCEcna
7844 <<
", n1SCEcha = " << n1SCEcha
7845 <<
", ModifiedSCEcha = " << ModifiedSCEcha
7846 <<
", TypQuad = " << TypQuad
7851 return ModifiedSCEcha;
7867 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
7868 const TString& HistoCode,
const TString& opt_plot_arg)
7872 TString opt_plot = opt_plot_arg;
7875 if( opt_plot_arg ==
"ONLYONE" ){opt_plot =
fOnlyOnePlot;}
7876 if( opt_plot_arg ==
"SEVERAL" ){opt_plot =
fSeveralPlot;}
7877 if( opt_plot_arg ==
"SAMEONE" ){opt_plot =
fSameOnePlot;}
7882 Int_t xCanvasExists = 1;
7885 TVirtualPad* main_subpad =
nullptr;
7887 main_subpad =
ActivePad(HistoCode.Data(), opt_plot.Data());
7888 if( main_subpad ==
nullptr )
7890 std::cout <<
"*TEcnaHistos::ViewHistime(...)> WARNING ===> Canvas has been closed in option SAME or SAME n." 7892 <<
" Please, restart with a new canvas." 7902 Int_t SameXVarMemo = 1;
7903 if( !( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"H1BasicProj" || HistoType ==
"EvolProj" ) )
7910 SetXVarMemo(HistoCode, opt_plot, XVarHisto);
SetYVarMemo(HistoCode, opt_plot, YVarHisto); SameXVarMemo = 1;
7917 if( XVarHisto != XVariableMemo )
7919 std::cout <<
"!TEcnaHistos::ViewHistime(...)> *** ERROR *** ===> X coordinate changed in option SAME n." << std::endl
7920 <<
" Present X = " << XVarHisto << std::endl
7921 <<
" Present Y = " << YVarHisto << std::endl
7922 <<
" Previous X = " << XVariableMemo << std::endl
7923 <<
" Previous Y = " << YVariableMemo
7934 Int_t SameYVarMemo = 1;
7935 if( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"H1BasicProj" || HistoType ==
"EvolProj" )
7942 SetYVarMemo(HistoCode, opt_plot, YVarHisto);
SetYVarMemo(HistoCode, opt_plot, YVarHisto); SameYVarMemo = 1;
7949 if( YVarHisto != YVariableMemo )
7951 std::cout <<
"!TEcnaHistos::ViewHistime(...)> *** ERROR *** ===> Y coordinate changed in option SAME n." << std::endl
7952 <<
" Present X = " << XVarHisto << std::endl
7953 <<
" Present Y = " << YVarHisto << std::endl
7954 <<
" Previous X = " << XVariableMemo << std::endl
7955 <<
" Previous Y = " << YVariableMemo
7964 if( xCanvasExists == 1 && SameXVarMemo == 1 && SameYVarMemo == 1 ){OKHisto = 1;}
7988 if( nb_of_runs_in_list > 0 )
7992 Double_t margin_frame_xaxis = (Double_t)25.;
7994 Double_t thstart_evol = (Double_t)0.;
7995 Double_t thstop_evol = (Double_t)0.;
7997 Int_t* exist_indic =
new Int_t[nb_of_runs_in_list];
fCnew++;
8011 for(Int_t i_run = 0; i_run < nb_of_runs_in_list; i_run++)
8013 exist_indic[i_run] = 0;
8052 exist_indic[i_run] = 1;
8059 std::cout <<
"!TEcnaHistos::ViewHistime(...)> *ERROR* =====> " 8060 <<
" ROOT file not found for run " << fT1DRunNumber[i_run]
8061 <<
fTTBELL << std::endl << std::endl;
8069 Int_t i_existing_run = (Int_t)0;
8071 for( Int_t i_run = 0; i_run < nb_of_runs_in_list; i_run++)
8073 if( exist_indic[i_run] == 1 )
8085 Double_t xinf_lim = thstart_evol-(thstop_evol-thstart_evol)/margin_frame_xaxis;
8086 Double_t xsup_lim = thstop_evol +(thstop_evol-thstart_evol)/margin_frame_xaxis;
8088 Axis_t xinf_his = (Axis_t)(xinf_lim);
8089 Axis_t xsup_his = (Axis_t)(xsup_lim);
8102 time_coordx[i_run] = (Double_t)(-1);
8103 hval_coordy[i_run] = (Double_t)(-1);
8130 if( ok_view_histo == kTRUE )
8134 Double_t thstart = (Double_t)xStartTime;
8135 time_coordx[i_run] = (Double_t)(thstart - xinf_lim);
8140 if(HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_Ped_RuDs")
8142 if(HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_TNo_RuDs")
8144 if(HistoCode ==
"H_MCs_Date" || HistoCode ==
"H_MCs_RuDs")
8147 if(HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_LFN_RuDs")
8149 if(HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_HFN_RuDs")
8151 if(HistoCode ==
"H_SCs_Date" || HistoCode ==
"H_SCs_RuDs")
8153 hval_coordy[i_run] = (Double_t)read_histo(i0StexEcha);
8157 std::cout <<
"!TEcnaHistos::ViewHistime(...)> Histo not available. " 8178 TGraph* g_graph0 =
new TGraph(fNbOfExistingRuns, time_coordx, hval_coordy);
fCnewRoot++;
8182 {g_graph0->SetTitle(
";");}
8199 g_graph0->Set(fNbOfExistingRuns);
8200 Double_t graph_ymin =
8202 Double_t graph_ymax =
8206 if( HistoType ==
"Evol" )
8245 HistoCode.Data(), HistoType.Data(),
8246 StexStin_A, i0StinEcha, i0Sample,
8247 opt_scale_x, opt_scale_y, opt_plot, xFlagAutoYsupMargin);
8273 if( HistoType ==
"EvolProj" )
8276 TVectorD histo_for_plot(HisSizeEvolProj);
8277 for(Int_t
i=0;
i<HisSizeEvolProj;
i++){histo_for_plot[
i]=(Double_t)0.;}
8282 TString HistoCodi = HistoCode;
8284 if( HistoCode ==
"H_Ped_RuDs" ){HistoCodi =
"H_Ped_Date";}
8285 if( HistoCode ==
"H_TNo_RuDs" ){HistoCodi =
"H_TNo_Date";}
8286 if( HistoCode ==
"H_LFN_RuDs" ){HistoCodi =
"H_LFN_Date";}
8287 if( HistoCode ==
"H_HFN_RuDs" ){HistoCodi =
"H_HFN_Date";}
8288 if( HistoCode ==
"H_MCs_RuDs" ){HistoCodi =
"H_MCs_Date";}
8289 if( HistoCode ==
"H_SCs_RuDs" ){HistoCodi =
"H_SCs_Date";}
8304 Double_t XinfProj =(Double_t)0;
8305 Double_t XsupProj =(Double_t)0;
8350 Double_t cXinf = (Double_t)0.;
8351 Double_t cXsup = (Double_t)0.;
8365 if( cXinf >= cXsup ){cXinf -= 1.; cXsup +=1.;}
8368 Axis_t xinf_his = cXinf;
8369 Axis_t xsup_his = cXsup;
8371 TString TitleHisto =
";";
8378 Double_t XFromYGraph = hval_coordy[i_run];
8379 Double_t binXProjY = (Double_t)HisSizeEvolProj*(XFromYGraph - cXinf)/(cXsup - cXinf);
8380 Int_t ibinXProjY = (Int_t)binXProjY;
8381 if( ibinXProjY >= 0 && ibinXProjY<HisSizeEvolProj ){histo_for_plot[ibinXProjY]++;}
8384 TH1D* h_his_evol_proj =
new TH1D(
"histevolproj", TitleHisto.Data(),
8385 HisSizeEvolProj, xinf_his, xsup_his);
fCnewRoot++;
8387 h_his_evol_proj->Reset();
8390 for(Int_t
i=0;
i<HisSizeEvolProj;
i++)
8392 Double_t yi = (Double_t)
i/(Double_t)HisSizeEvolProj*(cXsup-cXinf) + cXinf;
8393 Double_t his_val = (Double_t)histo_for_plot[
i];
8394 h_his_evol_proj->Fill(yi, his_val);
8436 Int_t arg_AlreadyRead = 0;
8438 HistoPlot(h_his_evol_proj, HisSizeEvolProj,
8440 HistoCode.Data(), HistoType.Data(),
8441 StexStin_A, i0StinEcha, i0Sample,
8442 opt_scale_x, opt_scale_y, opt_plot, arg_AlreadyRead,
8443 xFlagAutoYsupMargin);
8445 h_his_evol_proj->Delete(); h_his_evol_proj =
nullptr;
fCdeleteRoot++;
8451 delete [] time_coordx; time_coordx =
nullptr;
fCdelete++;
8452 delete [] hval_coordy; hval_coordy =
nullptr;
fCdelete++;
8456 std::cout <<
"!TEcnaHistos::ViewHistime(...)> The list of runs in file: " << list_of_run_file_name
8457 <<
" has " << nb_of_runs_in_list <<
" run numbers" << std::endl
8458 <<
" but none of them correspond to an existing ROOT file." 8464 std::cout <<
"!TEcnaHistos::ViewHistime(...)> *ERROR* =====> " 8470 delete [] exist_indic; exist_indic =
nullptr;
fCdelete++;
8474 if( nb_of_runs_in_list == 0 )
8476 std::cout <<
"!TEcnaHistos::ViewHistime(...)> The list of runs in file: " << list_of_run_file_name
8477 <<
" is empty !" <<
fTTBELL << std::endl;
8479 if( nb_of_runs_in_list < 0 )
8481 std::cout <<
"!TEcnaHistos::ViewHistime(...)> " << list_of_run_file_name
8520 Int_t nb_of_runs_in_list = 0;
8523 if( !strcmp(list_of_run_file_name.Data(),
"\0") )
8525 std::cout <<
"!TEcnaHistos::GetHistoryRunListParameters(...)> *** ERROR *** =====> " 8526 <<
" EMPTY STRING for list of run file name." <<
fTTBELL << std::endl;
8548 TString xFileNameRunList = list_of_run_file_name.Data();
8549 const Text_t *t_file_name = (
const Text_t *)xFileNameRunList.Data();
8557 TString home_path = gSystem->Getenv(
"HOME");
8564 xFileNameRunList.Append(
'/');
8565 xFileNameRunList.Append(t_file_name);
8567 fFcin_f.open(xFileNameRunList.Data());
8570 if(
fFcin_f.fail() == kFALSE )
8577 Int_t list_size_read = 0;
8579 while( !
fFcin_f.eof() ){
fFcin_f >> cRunNumber; list_size_read++;}
8586 fFcin_f.seekg(0, std::ios::beg);
8621 std::cout <<
"TEcnaHistos::GetHistoryRunListParameters(...)> Max number of runs in HistoryRunList = " 8623 <<
" too large, forced to parameter TEcnaParHistos->fMaxNbOfRunsInLists value (= " 8625 <<
"). Please, set this parameter to a larger value than " <<
fFapMaxNbOfRuns 8638 std::cout <<
"!TEcnaHistos::GetHistoryRunListParameters(...)> *** ERROR *** =====> fFapMaxNbOfRuns = " 8649 for (Int_t i_list = 0; i_list <
fFapNbOfRuns; i_list++)
8661 std::cout <<
"!TEcnaHistos::GetHistoryRunListParameters(...)> *** ERROR *** =====> " 8662 << xFileNameRunList.Data() <<
" : file not found." <<
fTTBELL << std::endl;
8663 nb_of_runs_in_list = -1;
8666 return nb_of_runs_in_list;
8700 if( xArgIndexRun >= 0 && xArgIndexRun < MaxNbOfRuns)
8707 std::cout <<
"!TEcnaHistos::SetRunNumberFromList(...)> **** ERROR **** Run index out of range in list of runs. xArgIndexRun = " 8708 << xArgIndexRun <<
" (MaxNbOfRuns = "<< MaxNbOfRuns <<
")" << std::endl;
8738 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
const Int_t& i0Sample,
8739 const TString& HistoCode)
8743 Bool_t ok_view_histo = kFALSE;
8760 if ( vStin(index_Stin) == StexStin_A ){Stin_ok++;};
8766 if( !( HistoType ==
"Global" || HistoType ==
"Proj" ) )
8770 Int_t StinNumber = StexStin_A;
8773 std::cout <<
"!TEcnaHistos::GetOkViewHisto(...)> *ERROR* =====> " <<
"File: " << root_file_name
8776 <<
" not found. Available numbers = ";
8796 Int_t ok_max_elt = 1;
8798 if( ( ( (HistoType ==
"H1Basic") || (HistoType ==
"Evol") || (HistoType ==
"EvolProj") )
8799 && (i0StinEcha >= 0) && (i0StinEcha<fEcal->MaxCrysInStin())
8801 !( (HistoType ==
"H1Basic") || (HistoType ==
"Evol") || (HistoType ==
"EvolProj") ))
8807 if( ( (HistoType ==
"H1Basic") || (HistoType ==
"Evol") || (HistoType ==
"EvolProj") )
8808 && !( (i0StinEcha >= 0) && (i0StinEcha<fEcal->MaxCrysInStin()) ) )
8809 {
std::cout <<
"!TEcnaHistos::GetOkViewHisto(...)> *ERROR* =====> " <<
"File: " << root_file_name
8810 <<
". Wrong channel number. Value = " << i0StinEcha <<
" (required range: [" << Choffset <<
", " 8813 if( (HistoCode ==
"D_Adc_EvDs" || HistoCode ==
"D_Adc_EvNb") &&
8815 {
std::cout <<
"!TEcnaHistos::GetOkViewHisto(...)> *ERROR* =====> " <<
"File: " << root_file_name
8816 <<
". Wrong sample index. Value = " << i0Sample <<
" (required range: [0, " 8822 if( (ok_view == 1) && (ok_max_elt == 1) )
8824 ok_view_histo = kTRUE;
8828 std::cout <<
"!TEcnaHistos::GetOkViewHisto(...)> At least one ERROR has been detected. ok_view = " << ok_view
8829 <<
", ok_max_elt = " << ok_max_elt <<
fTTBELL << std::endl;
8836 std::cout <<
"!TEcnaHistos::GetOkViewHisto(...)> No data in ROOT file " 8837 <<
", aMyRootFile->DataExist() = " << aMyRootFile->
DataExist() <<
fTTBELL << std::endl;
8839 return ok_view_histo;
8853 Int_t xFlagAutoYsupMargin = 1;
8855 if(HistoCode ==
"D_NOE_ChNb"){
8859 if(HistoCode ==
"D_NOE_ChDs"){
8863 if(HistoCode ==
"D_Ped_ChNb"){
8867 if(HistoCode ==
"D_Ped_ChDs"){
8871 if(HistoCode ==
"D_TNo_ChNb"){
8875 if(HistoCode ==
"D_TNo_ChDs"){
8879 if(HistoCode ==
"D_MCs_ChNb"){
8883 if(HistoCode ==
"D_MCs_ChDs"){
8887 if(HistoCode ==
"D_LFN_ChNb"){
8891 if(HistoCode ==
"D_LFN_ChDs"){
8895 if(HistoCode ==
"D_HFN_ChNb"){
8899 if(HistoCode ==
"D_HFN_ChDs"){
8903 if(HistoCode ==
"D_SCs_ChNb"){
8907 if(HistoCode ==
"D_SCs_ChDs"){
8911 if(HistoCode ==
"D_MSp_SpNb"){
8915 if(HistoCode ==
"D_MSp_SpDs"){
8919 if(HistoCode ==
"D_SSp_SpNb"){
8923 if(HistoCode ==
"D_SSp_SpDs"){
8927 if(HistoCode ==
"D_Adc_EvNb"){
8931 if(HistoCode ==
"D_Adc_EvDs"){
8935 if(HistoCode ==
"H2CorccInStins"){
8939 if(HistoCode ==
"H2LFccMosMatrix"){
8943 if(HistoCode ==
"H2HFccMosMatrix"){
8947 if(HistoCode ==
"H_Ped_RuDs"){
8951 if(HistoCode ==
"H_TNo_RuDs"){
8955 if(HistoCode ==
"H_MCs_RuDs"){
8959 if(HistoCode ==
"H_LFN_RuDs"){
8963 if(HistoCode ==
"H_HFN_RuDs"){
8967 if(HistoCode ==
"H_SCs_RuDs"){
8971 return xFlagAutoYsupMargin;
8978 Int_t xFlagAutoYsupMargin = 1;
8980 if(HistoCode ==
"H_Ped_Date"){
8984 if(HistoCode ==
"H_TNo_Date"){
8988 if(HistoCode ==
"H_MCs_Date"){
8992 if(HistoCode ==
"H_LFN_Date"){
8996 if(HistoCode ==
"H_HFN_Date"){
9000 if(HistoCode ==
"H_SCs_Date"){
9004 return xFlagAutoYsupMargin;
9011 Double_t minproj = h_his0->GetMinimum();
9012 Double_t maxproj = h_his0->GetMaximum();
9013 minproj = minproj - (maxproj-minproj)*margin_factor;
9020 Double_t minproj = h_his0->GetMinimum();
9021 Double_t maxproj = h_his0->GetMaximum();
9022 maxproj = maxproj + (maxproj-minproj)*margin_factor;
9029 Double_t graph_ymin = g_graph0->GetY()[0];
9030 for(Int_t
i=1;
i<g_graph0->GetN();
i++)
9031 {
if( g_graph0->GetY()[
i] < graph_ymin ){graph_ymin = g_graph0->GetY()[
i];}}
9033 Double_t graph_ymax = g_graph0->GetY()[0];
9034 for(Int_t
i=1;
i<g_graph0->GetN();
i++)
9035 {
if( g_graph0->GetY()[
i] > graph_ymax ){graph_ymax = g_graph0->GetY()[
i];}}
9037 graph_ymin = graph_ymin - (graph_ymax-graph_ymin)*margin_factor;
9043 Double_t graph_ymin = g_graph0->GetY()[0];
9044 for(Int_t
i=1;
i<g_graph0->GetN();
i++)
9045 {
if( g_graph0->GetY()[
i] < graph_ymin ){graph_ymin = g_graph0->GetY()[
i];}}
9047 Double_t graph_ymax = g_graph0->GetY()[0];
9048 for(Int_t
i=1;
i<g_graph0->GetN();
i++)
9049 {
if( g_graph0->GetY()[
i] > graph_ymax ){graph_ymax = g_graph0->GetY()[
i];}}
9051 graph_ymax = graph_ymax + (graph_ymax-graph_ymin)*margin_factor;
9057 const Axis_t& xinf_his,
const Axis_t& xsup_his,
9058 const TString& HistoCode,
const TString&
HistoType,
9059 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
const Int_t& i0Sample,
9060 const Int_t& opt_scale_x,
const Int_t& opt_scale_y,
9061 const TString& opt_plot,
const Int_t& arg_AlreadyRead,
9062 const Int_t& xFlagAutoYsupMargin)
9069 TString QuantityName =
" ";
9074 if( arg_AlreadyRead == 0 || arg_AlreadyRead == 1 )
9078 SetAllPavesViewHisto(HistoCode.Data(), StexStin_A, i0StinEcha, i0Sample, opt_plot.Data(), arg_AlreadyRead);
9082 TString canvas_name =
SetCanvasName(HistoCode.Data(), opt_scale_x, opt_scale_y,
9083 opt_plot.Data(), arg_AlreadyRead,
9084 StexStin_A, i0StinEcha, i0Sample);
9086 TCanvas* MainCanvas =
nullptr;
9088 if(opt_plot ==
fOnlyOnePlot && (arg_AlreadyRead == 0 || arg_AlreadyRead == 1 ) )
9090 MainCanvas =
new TCanvas(canvas_name.Data(), canvas_name.Data(), canv_w , canv_h);
fCnewRoot++;
9096 {MainCanvas =
CreateCanvas(HistoCode, opt_plot, canvas_name, canv_w, canv_h);
9102 Int_t Stex_StinCons = StexStin_A;
9103 Int_t n1StexCrys = i0StinEcha+1;
9105 if( StexStin_A >= 1 && StexStin_A <= fEcal->MaxStinEcnaInStex() )
9124 TVirtualPad* main_subpad =
nullptr;
9125 TPaveText* main_pavtxt =
nullptr;
9127 Int_t xMemoPlotSame = 1;
9132 if( arg_AlreadyRead == 0 || arg_AlreadyRead == 1 )
9139 if( HistoType ==
"EvolProj" )
9156 Double_t x_margin = x_low;
9157 Double_t y_margin = y_low;
9158 MainCanvas->Divide( 1, 1, x_margin, y_margin, fond_pad);
9163 main_subpad->SetPad(x_low, y_low, x_up, y_up);
9167 if (arg_AlreadyRead > 1 )
9184 main_pavtxt =
ActivePavTxt(HistoCode.Data(), opt_plot.Data());
9192 Float_t cTextPaveSize = 0.025;
9193 if( HistoType ==
"H1Basic" || HistoType ==
"SampProj" || HistoType ==
"H1BasicProj" ||
9194 HistoType ==
"Proj" || HistoType ==
"EvolProj" )
9195 {cTextPaveSize = 0.025;}
9196 main_pavtxt->SetTextSize(cTextPaveSize);
9201 TString DecalStexName =
"";
9203 TString DecalStinName =
"";
9206 TString sStexOrStasName =
"";
9212 if( HistoType ==
"SampGlobal" )
9213 {sprintf(f_in,
"Analysis Samp RUN# (run type ) Evts range Nb Evts %s%s %s%s %s %s Sample",
9214 DecalStexName.Data(), sStexOrStasName.Data(),
9216 if( HistoType ==
"SampProj" )
9217 {sprintf(f_in,
"Analysis Samp RUN# (run type ) Evts range Nb Evts %s%s %s%s %s %s Sample",
9218 DecalStexName.Data(), sStexOrStasName.Data(),
9220 if( HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj" )
9221 {sprintf(f_in,
"Analysis Samp RUN# (run type ) Evts range Nb Evts %s%s %s%s %s %s",
9222 DecalStexName.Data(), sStexOrStasName.Data(),
9224 if((HistoType ==
"Global") || (HistoType ==
"Proj") )
9225 {sprintf(f_in,
"Analysis Samp RUN# (run type ) Evts range Nb Evts %s%s",
9226 DecalStexName.Data(), sStexOrStasName.Data());}
9228 if( HistoType ==
"EvolProj" )
9229 {sprintf(f_in,
"Analysis Samp Evts range Nb Evts %s%s %s%s %s %s",
9230 DecalStexName.Data(), sStexOrStasName.Data(),
9234 TText* ttit = main_pavtxt->AddText(f_in);
9242 if( (HistoType ==
"Global") || (HistoType ==
"Proj") || (HistoType ==
"H1BasicProj") )
9244 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s %-25s",
9247 sFapStexNumber.Data(), QuantityName.Data());
9250 if( HistoType ==
"EvolProj" )
9252 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%7d %-25s",
9254 sFapStexNumber.Data(), Stex_StinCons, n1StexCrys, i0StinEcha, QuantityName.Data());
9262 Int_t kSample = i0Sample+1;
9264 if( HistoType ==
"SampGlobal" )
9266 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d%6d",
9269 Stex_StinCons, n1StexCrys, i0StinEcha, kSample);
9271 if( HistoType ==
"SampProj" )
9273 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d%6d",
9276 Stex_StinCons, n1StexCrys, i0StinEcha, kSample);
9278 if( HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj" )
9280 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d",
9283 Stex_StinCons, n1StexCrys, i0StinEcha);
9285 if( (HistoType ==
"Global") || (HistoType ==
"Proj") )
9287 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s",
9292 if( HistoType ==
"EvolProj" )
9294 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %4s%7d%5d%5d",
9297 Stex_StinCons, n1StexCrys, i0StinEcha);
9301 TText*
tt = main_pavtxt->AddText(f_in);
9305 main_pavtxt->Draw();
9326 main_pavtxt =
ActivePavTxt(HistoCode.Data(), opt_plot.Data());
9329 main_subpad =
ActivePad(HistoCode.Data(), opt_plot.Data());
9343 if(main_subpad !=
nullptr)
9348 if(xMemoPlotSame != 0)
9354 Float_t cTextPaveSize = 0.025;
9355 if( HistoType ==
"H1Basic" || HistoType ==
"SampProj" 9356 || HistoType ==
"Proj" || HistoType ==
"EvolProj" || HistoType ==
"H1BasicProj" )
9357 {cTextPaveSize = 0.025;}
9358 main_pavtxt->SetTextSize(cTextPaveSize);
9364 if( (HistoType ==
"Global") || (HistoType ==
"Proj") )
9366 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s %-25s",
9369 sFapStexNumber.Data(), QuantityName.Data());
9372 if( HistoType ==
"EvolProj" )
9374 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%7d %-25s",
9377 Stex_StinCons, n1StexCrys, i0StinEcha, QuantityName.Data());
9383 Int_t kSample = i0Sample+1;
9385 if(HistoType ==
"SampGlobal" )
9387 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d%6d",
9390 Stex_StinCons, n1StexCrys, i0StinEcha, kSample);
9392 if( HistoType ==
"SampProj" )
9394 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d%6d",
9397 Stex_StinCons, n1StexCrys, i0StinEcha, kSample);
9399 if( HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj")
9401 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d",
9404 Stex_StinCons, n1StexCrys, i0StinEcha);
9406 if( (HistoType ==
"Global") || (HistoType ==
"Proj") )
9408 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s",
9413 if( HistoType ==
"EvolProj" )
9415 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %4s%7d%5d%5d",
9418 sFapStexNumber.Data(), Stex_StinCons, n1StexCrys, i0StinEcha);
9422 TText *
tt = main_pavtxt->AddText(f_in);
9424 MainCanvas->cd(); gStyle->SetOptDate(0);
9425 main_pavtxt->Draw();
9434 if( opt_plot ==
fSameOnePlot && HistoType ==
"EvolProj" )
9436 main_subpad->SetPad(x_low, y_low, x_up, y_up);
9445 h_his0->GetXaxis()->SetTitle(axis_x_var_name);
9446 h_his0->GetYaxis()->SetTitle(axis_y_var_name);
9448 Int_t lin_scale = 0;
9449 Int_t log_scale = 1;
9457 if(opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 0 ){h_his0->DrawCopy();}
9458 if(opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 1 ){h_his0->DrawCopy();}
9459 if(opt_plot ==
fOnlyOnePlot && arg_AlreadyRead > 1 ){h_his0->DrawCopy(
"AHSAME");}
9463 if(xMemoPlotSame == 0){h_his0->DrawCopy();}
9464 if(xMemoPlotSame != 0){h_his0->DrawCopy(
"SAME");}
9469 if( !( HistoCode ==
"D_Adc_EvDs" || HistoCode ==
"D_Adc_EvNb" ||
9470 HistoType ==
"Proj" || HistoType ==
"SampProj" ||
9471 HistoType ==
"EvolProj" || HistoType ==
"H1BasicProj" ) &&
9472 !( HistoType ==
"H1Basic" && arg_AlreadyRead == 0 ) )
9474 Double_t yinf = h_his0->GetMinimum();
9475 Double_t ysup = h_his0->GetMaximum();
9476 if( yinf <= (Double_t)0. && ysup >= (Double_t)0. )
9477 {TLine* lin =
new TLine(0.,0.,(Double_t)HisSize, 0.);
fCnewRoot++;
9484 Double_t yinf = (Double_t)h_his0->GetMinimum();
9485 Double_t ysup = (Double_t)h_his0->GetMaximum();
9487 if(xFlagAutoYsupMargin == 1)
9489 if( yinf >= ysup ){yinf = (Double_t)0.; ysup += ysup;}
9490 Double_t MaxMarginFactor = (Double_t)0.05;
9491 ysup += (ysup-yinf)*MaxMarginFactor;
9501 Int_t DeeOffset = 0;
9502 for(Int_t n1Dee=1; n1Dee<=4; n1Dee++)
9504 if( n1Dee == 4 ){DeeOffset = 0;}
9509 Double_t ydee = ysup + (ysup-yinf)/(Double_t)15.;
9511 sprintf( f_in,
"D%d", n1Dee );
9512 TText *text_Dee =
new TText(xBinDee, ydee, f_in);
fCnewRoot++;
9513 text_Dee->SetTextColor(coul_DS);
9514 text_Dee->SetTextSize((Double_t)0.04);
9515 text_Dee->Draw(
"SAME");
9517 Double_t DSLabelOffset = (Double_t)12;
9519 for(Int_t
i=1;
i<5;
i++)
9522 if( n1Dee == 1 ){iDS =
i;}
9523 if( n1Dee == 2 ){iDS =
i+4;}
9524 if( n1Dee == 3 ){iDS =
i+5;}
9525 if( n1Dee == 4 ){iDS =
i+1;}
9528 TLine* lin_DS =
new TLine(xBinDS, yinf, xBinDS, ysup);
fCnewRoot++;
9529 lin_DS->SetLineColor(coul_DS);
9530 lin_DS->SetLineWidth(1);
9531 lin_DS->SetLineStyle(2);
9534 if( n1Dee == 2 &&
i == 4 )
9536 TLine* lin_DSp =
new TLine(DeeOffset, yinf, DeeOffset, ysup);
fCnewRoot++;
9537 lin_DSp->SetLineColor(coul_DS);
9538 lin_DSp->SetLineWidth(1);
9539 lin_DSp->SetLineStyle(2);
9543 Double_t yds = ysup + (ysup-yinf)/(Double_t)50.;
9544 Double_t xBinDSp = xBinDS + DSLabelOffset;
9547 sprintf( f_in,
"S%d", nDS );
9548 TText *text_DS =
new TText(xBinDSp, yds, f_in);
fCnewRoot++;
9549 text_DS->SetTextColor(coul_DS);
9550 text_DS->SetTextSize((Double_t)0.03);
9551 text_DS->Draw(
"SAME");
9552 if( (n1Dee == 4 &&
i == 1) || (n1Dee == 2 &&
i == 4) )
9554 if(n1Dee == 4){nDS = iDS-1;}
9555 if(n1Dee == 2){nDS = iDS+1;}
9556 sprintf( f_in,
"S%d", nDS );
9557 TText *text_DS =
new TText(xBinDS-1.75*DSLabelOffset, yds, f_in);
fCnewRoot++;
9558 text_DS->SetTextColor(coul_DS);
9559 text_DS->SetTextSize((Double_t)0.03);
9560 text_DS->Draw(
"SAME");
9569 if( HistoType ==
"Global" )
9571 Double_t ytext = yinf - (ysup-yinf)/8.5;
9574 for(Int_t
i=1;
i<5;
i++)
9583 TLine* lin_DS =
new TLine(xBinDS, yinf, xBinDS, ysup);
fCnewRoot++;
9584 lin_DS->SetLineColor(coul_DS);
9585 lin_DS->SetLineWidth(2);
9586 lin_DS->SetLineStyle(2);
9588 Double_t ytextds = ysup + (ysup-yinf)/30.;
9589 Double_t xBinDSNumber =
9591 sprintf( f_in,
"S%d", iDS );
9592 TText *text_DS =
new TText(xBinDSNumber, ytextds, f_in);
fCnewRoot++;
9593 text_DS->SetTextColor(coul_DS);
9594 text_DS->SetTextSize((Double_t)0.04);
9595 text_DS->Draw(
"SAME");
9600 if(
i == 4 ){iDSp = iDS+1;}
9601 if(
i == 1 ){iDSp = iDS-1;}
9602 sprintf( f_in,
"S%d", iDSp);
9603 Double_t xBinpDSNumber =
9605 TText *text_DSp =
new TText(xBinpDSNumber, ytextds, f_in);
fCnewRoot++;
9606 text_DSp->SetTextColor(coul_DS);
9607 text_DSp->SetTextSize((Double_t)0.04);
9608 text_DSp->Draw(
"SAME");
9630 TLine* lin_notconnected =
9631 new TLine(xBinNotConnectedSC, yinf, xBinNotConnectedSC, ysup);
fCnewRoot++;
9632 lin_notconnected->SetLineColor(coul_notconnected);
9633 lin_notconnected->SetLineStyle(3);
9634 lin_notconnected->Draw();
9637 TLine* lin_notconnected_end =
9638 new TLine(xBinNotConnectedSCEnd, yinf, xBinNotConnectedSCEnd, ysup);
fCnewRoot++;
9639 lin_notconnected_end->SetLineColor(coul_notconnected);
9640 lin_notconnected_end->SetLineStyle(3);
9641 lin_notconnected_end->Draw();
9645 TText *text_SC_NotConnected =
new TText(xBinNotConnectedSC, ytext, f_in);
fCnewRoot++;
9646 text_SC_NotConnected->SetTextAngle((Double_t)45.);
9647 text_SC_NotConnected->SetTextColor(coul_notconnected);
9648 text_SC_NotConnected->SetTextFont(42);
9649 text_SC_NotConnected->SetTextSize((Double_t)0.03);
9650 text_SC_NotConnected->Draw(
"SAME");
9669 TLine* lin_notcomplete =
9670 new TLine(xBinNotCompleteSC, yinf, xBinNotCompleteSC, ysup);
fCnewRoot++;
9671 lin_notcomplete->SetLineColor(coul_notcomplete);
9672 lin_notcomplete->SetLineStyle(3);
9673 lin_notcomplete->Draw();
9676 TLine* lin_notcomplete_end =
9677 new TLine(xBinNotCompleteSCEnd, yinf, xBinNotCompleteSCEnd, ysup);
fCnewRoot++;
9678 lin_notcomplete_end->SetLineColor(coul_notcomplete);
9679 lin_notcomplete_end->SetLineStyle(3);
9680 lin_notcomplete_end->Draw();
9684 TText *text_SC_NotComplete =
new TText(xBinNotCompleteSC, ytext, f_in);
fCnewRoot++;
9685 text_SC_NotComplete->SetTextAngle((Double_t)45.);
9686 text_SC_NotComplete->SetTextColor(coul_notcomplete);
9687 text_SC_NotComplete->SetTextFont(42);
9688 text_SC_NotComplete->SetTextSize((Double_t)0.03);
9689 text_SC_NotComplete->Draw(
"SAME");
9705 if(HistoType ==
"Global")
9738 xFlagAutoYsupMargin, HisSize);
9741 if( !( (HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj")
9742 && ( arg_AlreadyRead > 1 && arg_AlreadyRead < fEcal->MaxCrysInStin() ) ) )
9749 std::cout <<
"*TEcnaHistos::HistoPlot(...)> Canvas not found. Previously closed in option SAME." 9766 TString sFapStexNumber =
"?";
9767 if( StexNumber == -1 ){sFapStexNumber =
" -1";}
9768 if( StexNumber == -2 ){sFapStexNumber =
" -2";}
9769 if( StexNumber == -3 ){sFapStexNumber =
" -3";}
9770 if( StexNumber == -4 ){sFapStexNumber =
" -4";}
9771 if( StexNumber == -5 ){sFapStexNumber =
" -5";}
9772 if( StexNumber == -6 ){sFapStexNumber =
" -6";}
9773 if( StexNumber == -7 ){sFapStexNumber =
" -7";}
9774 if( StexNumber == -8 ){sFapStexNumber =
" -8";}
9775 if( StexNumber == -9 ){sFapStexNumber =
" -9";}
9776 if( StexNumber == -10 ){sFapStexNumber =
"-10";}
9777 if( StexNumber == -11 ){sFapStexNumber =
"-11";}
9778 if( StexNumber == -12 ){sFapStexNumber =
"-12";}
9779 if( StexNumber == -13 ){sFapStexNumber =
"-13";}
9780 if( StexNumber == -14 ){sFapStexNumber =
"-14";}
9781 if( StexNumber == -15 ){sFapStexNumber =
"-15";}
9782 if( StexNumber == -16 ){sFapStexNumber =
"-16";}
9783 if( StexNumber == -17 ){sFapStexNumber =
"-17";}
9784 if( StexNumber == -18 ){sFapStexNumber =
"-18";}
9785 if( StexNumber == 0 ){sFapStexNumber =
fFlagSubDet;}
9786 if( StexNumber == 1 ){sFapStexNumber =
" 1";}
9787 if( StexNumber == 2 ){sFapStexNumber =
" 2";}
9788 if( StexNumber == 3 ){sFapStexNumber =
" 3";}
9789 if( StexNumber == 4 ){sFapStexNumber =
" 4";}
9790 if( StexNumber == 5 ){sFapStexNumber =
" 5";}
9791 if( StexNumber == 6 ){sFapStexNumber =
" 6";}
9792 if( StexNumber == 7 ){sFapStexNumber =
" 7";}
9793 if( StexNumber == 8 ){sFapStexNumber =
" 8";}
9794 if( StexNumber == 9 ){sFapStexNumber =
" 9";}
9795 if( StexNumber == 10 ){sFapStexNumber =
" 10";}
9796 if( StexNumber == 11 ){sFapStexNumber =
" 11";}
9797 if( StexNumber == 12 ){sFapStexNumber =
" 12";}
9798 if( StexNumber == 13 ){sFapStexNumber =
" 13";}
9799 if( StexNumber == 14 ){sFapStexNumber =
" 14";}
9800 if( StexNumber == 15 ){sFapStexNumber =
" 15";}
9801 if( StexNumber == 16 ){sFapStexNumber =
" 16";}
9802 if( StexNumber == 17 ){sFapStexNumber =
" 17";}
9803 if( StexNumber == 18 ){sFapStexNumber =
" 18";}
9804 if( StexNumber == 19 ){sFapStexNumber =
" -1";}
9805 if( StexNumber == 20 ){sFapStexNumber =
" -2";}
9806 if( StexNumber == 21 ){sFapStexNumber =
" -3";}
9807 if( StexNumber == 22 ){sFapStexNumber =
" -4";}
9808 if( StexNumber == 23 ){sFapStexNumber =
" -5";}
9809 if( StexNumber == 24 ){sFapStexNumber =
" -6";}
9810 if( StexNumber == 25 ){sFapStexNumber =
" -7";}
9811 if( StexNumber == 26 ){sFapStexNumber =
" -8";}
9812 if( StexNumber == 27 ){sFapStexNumber =
" -9";}
9813 if( StexNumber == 28 ){sFapStexNumber =
"-10";}
9814 if( StexNumber == 29 ){sFapStexNumber =
"-11";}
9815 if( StexNumber == 30 ){sFapStexNumber =
"-12";}
9816 if( StexNumber == 31 ){sFapStexNumber =
"-13";}
9817 if( StexNumber == 32 ){sFapStexNumber =
"-14";}
9818 if( StexNumber == 33 ){sFapStexNumber =
"-15";}
9819 if( StexNumber == 34 ){sFapStexNumber =
"-16";}
9820 if( StexNumber == 35 ){sFapStexNumber =
"-17";}
9821 if( StexNumber == 36 ){sFapStexNumber =
"-18";}
9822 return sFapStexNumber;
9830 Double_t xbin = (Double_t)(-1);
9859 Double_t xbin = (Double_t)(-1);
9879 Int_t SCForCons = 0;
9880 if( index == 1 ){SCForCons = 182;}
9881 if( index == 2 ){SCForCons = 33;}
9883 if( index == 3 ){SCForCons = 178;}
9884 if( index == 4 ){SCForCons = 29;}
9885 if( index == 5 ){SCForCons = 207;}
9886 if( index == 6 ){SCForCons = 58;}
9888 if( index == 7 ){SCForCons = 298;}
9889 if( index == 8 ){SCForCons = 149;}
9891 if( index == 9 ){SCForCons = 261;}
9892 if( index == 10 ){SCForCons = 112;}
9893 if( index == 11 ){SCForCons = 268;}
9894 if( index == 12 ){SCForCons = 119;}
9896 if( index == 13 ){SCForCons = 281;}
9897 if( index == 14 ){SCForCons = 132;}
9905 if( index == 1 ){DSSC = 30;}
9906 if( index == 2 ){DSSC = 30;}
9908 if( index == 3 ){DSSC = 3;}
9909 if( index == 4 ){DSSC = 3;}
9910 if( index == 5 ){DSSC = 25;}
9911 if( index == 6 ){DSSC = 25;}
9913 if( index == 7 ){DSSC = 34;}
9914 if( index == 8 ){DSSC = 34;}
9916 if( index == 9 ){DSSC = 14;}
9917 if( index == 10 ){DSSC = 14;}
9918 if( index == 11 ){DSSC = 21;}
9919 if( index == 12 ){DSSC = 21;}
9921 if( index == 13 ){DSSC = 20;}
9922 if( index == 14 ){DSSC = 3;}
9931 if( index == 1 ){DSSC = 161;}
9932 if( index == 2 ){DSSC = 12;}
9934 if( index == 3 ){DSSC = 216;}
9935 if( index == 4 ){DSSC = 67;}
9937 if( index == 5 ){DSSC = 224;}
9938 if( index == 6 ){DSSC = 75;}
9940 if( index == 7 ){DSSC = 286;}
9941 if( index == 8 ){DSSC = 137;}
9949 if( index == 1 ){DSSC = 12;}
9950 if( index == 2 ){DSSC = 12;}
9952 if( index == 3 ){DSSC = 32;}
9953 if( index == 4 ){DSSC = 32;}
9955 if( index == 5 ){DSSC = 10;}
9956 if( index == 6 ){DSSC = 10;}
9958 if( index == 7 ){DSSC = 23;}
9959 if( index == 8 ){DSSC = 6;}
9964 Axis_t xinf, Axis_t xsup,
9965 const TString& HistoCode,
const TString&
HistoType,
9966 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
const Int_t& i0Sample,
9967 const Int_t& opt_scale_x,
const Int_t& opt_scale_y,
9968 const TString& opt_plot,
const Int_t& xFlagAutoYsupMargin)
9981 Int_t arg_AlreadyRead = 0;
9982 TString canvas_name =
SetCanvasName(HistoCode.Data(), opt_scale_x, opt_scale_y, opt_plot, arg_AlreadyRead,
9983 StexStin_A, i0StinEcha, i0Sample);
9987 TCanvas* MainCanvas =
nullptr;
9990 {MainCanvas =
new TCanvas(canvas_name.Data(), canvas_name.Data(), canv_w , canv_h);
fCnewRoot++;
9997 MainCanvas =
CreateCanvas(HistoCode, opt_plot, canvas_name, canv_w, canv_h);
10006 MainCanvas =
CreateCanvas(HistoCode, opt_plot, canvas_name, canv_w, canv_h);
10014 Int_t Stex_StinCons = StexStin_A;
10015 Int_t n1StexCrys = i0StinEcha+1;
10017 if( StexStin_A >= 1 && StexStin_A <= fEcal->MaxStinEcnaInStex() )
10036 TVirtualPad* main_subpad =
nullptr;
10037 TPaveText* main_pavtxt =
nullptr;
10039 Int_t xMemoPlotSame = 1;
10050 if( !( HistoType ==
"Global" || HistoType ==
"Proj" ) )
10063 Double_t x_margin = x_low;
10064 Double_t y_margin = y_low;
10068 MainCanvas->Divide( 1, 1, x_margin, y_margin, fond_pad);
10072 main_subpad = gPad;
10073 main_subpad->SetPad(x_low, y_low, x_up, y_up);
10087 if( !( HistoType ==
"Global" || HistoType ==
"Proj" ||
10088 HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10089 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date") )
10095 if( !( HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10096 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ) )
10106 main_pavtxt =
ActivePavTxt(HistoCode.Data(), opt_plot.Data());
10116 TString DecalStexName =
"";
10118 TString DecalStinName =
"";
10121 TString sStexOrStasName =
"";
10129 sprintf(f_in,
"Analysis Samp Evts range Nb Evts %s%s %s%s %s %s",
10130 DecalStexName.Data(), sStexOrStasName.Data(),
10135 sprintf(f_in,
"Analysis Samp Evts range Nb Evts %s%s %s%s %s %s",
10136 DecalStexName.Data(), sStexOrStasName.Data(),
10141 TText* ttit = main_pavtxt->AddText(f_in);
10146 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%6d",
10149 Stex_StinCons, n1StexCrys, i0StinEcha);
10153 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%6d %-25s",
10156 Stex_StinCons, n1StexCrys, i0StinEcha, QuantityName.Data());
10159 TText*
tt = main_pavtxt->AddText(f_in);
10163 main_pavtxt->Draw();
10182 main_pavtxt =
ActivePavTxt(HistoCode.Data(), opt_plot.Data());
10185 main_subpad =
ActivePad(HistoCode.Data(), opt_plot.Data());
10198 if(main_subpad !=
nullptr)
10202 if(xMemoPlotSame != 0)
10212 {sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%6d",
10214 sFapStexNumber.Data(), Stex_StinCons, n1StexCrys, i0StinEcha);}
10216 {sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%6d %-25s",
10218 sFapStexNumber.Data(), Stex_StinCons, n1StexCrys, i0StinEcha, QuantityName.Data());}
10220 TText *
tt = main_pavtxt->AddText(f_in);
10222 MainCanvas->cd(); gStyle->SetOptDate(0);
10223 main_pavtxt->Draw();
10231 main_subpad->SetPad(x_low, y_low, x_up, y_up);
10240 g_graph0->GetXaxis()->SetTitle(axis_x_var_name);
10241 g_graph0->GetYaxis()->SetTitle(axis_y_var_name);
10244 g_graph0->GetXaxis()->SetTimeDisplay(1);
10245 g_graph0->GetXaxis()->SetTimeFormat(
"%d %b-%Hh");
10247 g_graph0->GetXaxis()->SetTimeOffset(xinf);
10257 fXinf = (Double_t)xinf;
10258 fXsup = (Double_t)xsup;
10265 if(opt_scale_y ==
fOptScaleLogy){gPad->SetLogy(logy); g_graph0->Draw(
"ALP");}
10269 gPad->SetLogy(liny);
10270 g_graph0->Draw(
"ALP");
10271 Int_t nb_pts = g_graph0->GetN();
10272 Double_t* coord_x = g_graph0->GetX();
10273 Double_t* coord_y = g_graph0->GetY();
10278 Double_t interv_displayed = (coord_x[nb_pts-1] - coord_x[0])/(Double_t)nb_displayed;
10279 Double_t last_drawn_coordx = coord_x[0] - 1.5*interv_displayed;
10281 for(Int_t i_run=0; i_run<nb_pts; i_run++)
10283 if ( (coord_x[i_run] - last_drawn_coordx) > interv_displayed )
10285 Double_t joinYinf =
fYinf;
10286 Double_t joinYsup =
fYsup;
10287 if( joinYsup <= joinYinf )
10293 joinYsup = joinYsup + (joinYsup-joinYinf)/20.;
10297 TText *text_run_num =
new TText(coord_x[i_run], joinYsup, f_in);
fCnewRoot++;
10298 text_run_num->SetTextAngle((Double_t)45.);
10299 text_run_num->SetTextSize((Double_t)0.035);
10300 text_run_num->Draw(
"SAME");
10304 jointlign =
new TLine(coord_x[i_run], joinYsup, coord_x[i_run], coord_y[i_run]);
fCnewRoot++;
10305 jointlign->SetLineWidth(1);
10306 jointlign->SetLineStyle(2);
10307 jointlign->Draw(
"SAME");
10310 last_drawn_coordx = coord_x[i_run];
10317 gPad->SetLogy(logy);
10318 g_graph0->Draw(
"ALP");
10325 if(xMemoPlotSame == 0)
10330 g_graph0->Draw(
"ALP");
10332 fXinf = (Double_t)xinf;
10333 fXsup = (Double_t)xsup;
10340 if(xMemoPlotSame != 0)
10345 g_graph0->Draw(
"LP");
10352 std::cout <<
"*TEcnaHistos::HistimePlot(...)> Canvas not found. Previously closed in option SAME." 10366 const Int_t& xFlagAutoYsupMargin,
const Int_t& HisSize)
10371 ( (opt_plot ==
fSeveralPlot) && (xMemoPlotSame == 0) ) ||
10372 ( (opt_plot ==
fSameOnePlot) && (xMemoPlotSame == 0) ) )
10374 Double_t Maxih = (Double_t)h_his0->GetMaximum();
10375 Double_t Minih = (Double_t)h_his0->GetMinimum();
10377 if(xFlagAutoYsupMargin == 1)
10379 if( Minih >= Maxih ){Minih = (Double_t)0.; Maxih += Maxih;}
10380 Double_t MaxMarginFactor = (Double_t)0.05;
10381 Maxih += (Maxih-Minih)*MaxMarginFactor;
10385 Double_t v_max = max_value+(Double_t)1.;
10386 Double_t v_min_p = v_min+(Double_t)1.;
10387 Double_t v_max_p = v_max+(Double_t)1.;
10389 Int_t ndiv = 50207;
10390 TString opt =
"B-";
10391 Double_t Xbegin = 0.;
10392 Double_t Xend = (Double_t)HisSize;
10393 Double_t ticks = 0.05;
10401 Xbegin = (Double_t)HisSize;
10411 v_max = max_value+0.5;
10412 Xbegin = (Double_t)HisSize;
10418 v_min = min_value+0.5;
10419 v_max = max_value+1.;
10420 Xbegin = (Double_t)HisSize;
10426 v_min = min_value+0.5;
10427 v_max = max_value+1.;
10429 Xend = (Double_t)HisSize;
10435 v_max = max_value+0.5;
10437 Xend = (Double_t)HisSize;
10445 TGaxis* top_axis_x =
nullptr;
10447 top_axis_x =
new TGaxis(Xbegin, Maxih, Xend, Maxih,
10448 v_min, v_max, ndiv, opt, 0.);
fCnewRoot++;
10450 top_axis_x->SetTickSize(ticks);
10451 top_axis_x->SetTitleOffset((Float_t)(1.2));
10452 top_axis_x->SetLabelOffset((Float_t)(0.005));
10454 TString x_var_name =
"?";
10458 if(
fFlagSubDet ==
"EB"){x_var_name =
"Tower number";}
10467 if(
fFlagSubDet ==
"EB"){x_var_name =
"SM number";}
10470 top_axis_x->SetTitle(x_var_name);
10471 top_axis_x->Draw(
"SAME");
10481 TGaxis* top_axis_x_bis =
nullptr;
10482 top_axis_x_bis =
new TGaxis(Xbegin, Maxih, Xend, Maxih,
10483 v_min_p, v_max_p, ndiv, opt, 0.);
fCnewRoot++;
10484 top_axis_x_bis->SetTickSize(0.);
10485 Float_t lab_siz_x = top_axis_x->GetLabelSize();
10486 top_axis_x_bis->SetLabelSize(lab_siz_x);
10487 top_axis_x_bis->SetLabelOffset(-0.1);
10489 top_axis_x_bis->SetLabelOffset((Float_t)(9999.));
10494 top_axis_x_bis->Draw(
"SAME");
10501 const Int_t& StexStin_A,
const Int_t& StexStin_B,
10502 const Int_t& i0StinEcha)
10559 if( chopt ==
"Numbering" )
10579 TString opt_pave_nbcol =
"OneCol";
10601 const Int_t& i0StinEcha,
const Int_t& i0Sample,
10602 const TString& opt_plot)
10604 Int_t arg_AlreadyRead = 0;
10609 const Int_t& i0StinEcha,
const Int_t& i0Sample,
10610 const TString& opt_plot,
const Int_t& arg_AlreadyRead)
10622 if( !( HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_NOE_ChDs" ||
10623 HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_Ped_ChDs" ||
10624 HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_LFN_ChDs" ||
10625 HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_TNo_ChDs" ||
10626 HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_HFN_ChDs" ||
10627 HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_MCs_ChDs" ||
10628 HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_SCs_ChDs" ) )
10635 if( HistoCode ==
"D_NOE_ChNb" ||
10636 HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_TNo_ChNb" ||
10637 HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_LFN_ChNb" ||
10638 HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_SCs_ChNb" )
10645 if( HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10646 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ||
10647 HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
10648 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs" )
10655 if( HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_SSp_SpNb" ||
10656 HistoCode ==
"D_MSp_SpDs" || HistoCode ==
"D_SSp_SpDs" )
10664 if( HistoCode ==
"D_Adc_EvDs" || HistoCode ==
"D_Adc_EvNb")
10671 if( HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10672 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ||
10673 HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
10674 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs" )
10694 if( HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10695 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ||
10696 HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
10697 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs" )
10720 const Int_t& opt_scale_x,
const Int_t& opt_scale_y,
10721 const TString& opt_plot,
const Int_t& arg_AlreadyRead,
10722 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
const Int_t& i0Sample)
10727 TString canvas_name;
10734 TString name_opt_plot;
10736 name_opt_plot =
"?";
10742 if( opt_plot ==
fOnlyOnePlot ){sprintf(f_in,
"P%d", arg_AlreadyRead); name_opt_plot = f_in;}
10746 name_opt_plot =
"SAME_N";
10748 Int_t name_same = -1;
10783 sprintf(f_in,
"%d", name_same);
10784 TString s_name_same = f_in;
10785 const Text_t *t_name_same = (
const Text_t *)s_name_same.Data();
10786 name_opt_plot.Append(t_name_same);
10790 name_opt_plot =
"SAME_Plus_N";
10793 sprintf(f_in,
"%d", name_same);
10794 TString s_name_same = f_in;
10795 const Text_t *t_name_same = (
const Text_t *)s_name_same.Data();
10796 name_opt_plot.Append(t_name_same);
10806 name_line =
"Line_";
10813 const Text_t *t_line = (
const Text_t *)name_line.Data();
10814 name_visu.Append(t_line);
10816 TString name_scale_x;
10818 name_scale_x =
"?";
10821 const Text_t *t_scale_x = (
const Text_t *)name_scale_x.Data();
10822 name_visu.Append(t_scale_x);
10824 TString name_scale_y;
10826 name_scale_y =
"?";
10829 const Text_t *t_scale_y = (
const Text_t *)name_scale_y.Data();
10830 name_visu.Append(t_scale_y);
10833 TString name_quantity;
10835 name_quantity =
"?";
10837 if(HistoCode ==
"D_NOE_ChNb"){name_quantity =
"Nb_of_evts_as_func_of_Xtal";}
10838 if(HistoCode ==
"D_NOE_ChDs"){name_quantity =
"Nb_of_evts_Xtal_distrib";}
10839 if(HistoCode ==
"D_Ped_ChNb"){name_quantity =
"Pedestals_as_func_of_Xtal";}
10840 if(HistoCode ==
"D_Ped_ChDs"){name_quantity =
"Pedestals_Xtal_distrib";}
10841 if(HistoCode ==
"D_TNo_ChNb"){name_quantity =
"Total_Noise_as_func_of_Xtal";}
10842 if(HistoCode ==
"D_TNo_ChDs"){name_quantity =
"Total_Noise_Xtal_distrib";}
10843 if(HistoCode ==
"D_MCs_ChNb"){name_quantity =
"Mean_Corss_as_func_of_Xtal";}
10844 if(HistoCode ==
"D_MCs_ChDs"){name_quantity =
"Mean_Corss_Xtal_distrib";}
10845 if(HistoCode ==
"D_LFN_ChNb"){name_quantity =
"Low_Fq_Noise_as_func_of_Xtal";}
10846 if(HistoCode ==
"D_LFN_ChDs"){name_quantity =
"Low_Fq_Noise_Xtal_distrib";}
10847 if(HistoCode ==
"D_HFN_ChNb"){name_quantity =
"High_Fq_Noise_as_func_of_Xtal";}
10848 if(HistoCode ==
"D_HFN_ChDs"){name_quantity =
"High_Fq_Noise_Xtal_distrib";}
10849 if(HistoCode ==
"D_SCs_ChNb"){name_quantity =
"Sigma_Corss_as_func_of_Xtal";}
10850 if(HistoCode ==
"D_SCs_ChDs"){name_quantity =
"Sigma_Corss_Xtal_distrib";}
10851 if(HistoCode ==
"D_MSp_SpNb"){name_quantity =
"ExpValue_of_samples";}
10852 if(HistoCode ==
"D_MSp_SpDs"){name_quantity =
"ExpValue_of_samples_distrib";}
10853 if(HistoCode ==
"D_SSp_SpNb"){name_quantity =
"Sigma_of_samples";}
10854 if(HistoCode ==
"D_SSp_SpDs"){name_quantity =
"Sigma_of_samples_distrib";}
10855 if(HistoCode ==
"D_Adc_EvDs"){name_quantity =
"hevt";}
10856 if(HistoCode ==
"D_Adc_EvNb"){name_quantity =
"ADC_as_func_of_Event";}
10857 if(HistoCode ==
"H_Ped_Date"){name_quantity =
"Pedestal_history";}
10858 if(HistoCode ==
"H_TNo_Date"){name_quantity =
"Total_Noise_history";}
10859 if(HistoCode ==
"H_MCs_Date"){name_quantity =
"Mean_Corss_history";}
10860 if(HistoCode ==
"H_LFN_Date"){name_quantity =
"Low_Fq_Noise_history";}
10861 if(HistoCode ==
"H_HFN_Date"){name_quantity =
"High_Fq_Noise_history";}
10862 if(HistoCode ==
"H_SCs_Date"){name_quantity =
"Sigma_Corss_history";}
10863 if(HistoCode ==
"H_Ped_RuDs"){name_quantity =
"Pedestal_run_distribution";}
10864 if(HistoCode ==
"H_TNo_RuDs"){name_quantity =
"Total_Noise_run_distribution";}
10865 if(HistoCode ==
"H_MCs_RuDs"){name_quantity =
"Mean_Corss_run_distribution";}
10866 if(HistoCode ==
"H_LFN_RuDs"){name_quantity =
"Low_Fq_Noise_run_distribution";}
10867 if(HistoCode ==
"H_HFN_RuDs"){name_quantity =
"High_Fq_Noise_run_distribution";}
10868 if(HistoCode ==
"H_SCs_RuDs"){name_quantity =
"Sigma_Corss_run_distribution";}
10870 Int_t num_crys = -1;
10871 if(HistoCode ==
"D_MSp_SpNb"){num_crys = i0StinEcha;}
10872 if(HistoCode ==
"D_MSp_SpDs"){num_crys = i0StinEcha;}
10873 if(HistoCode ==
"D_SSp_SpNb"){num_crys = i0StinEcha;}
10874 if(HistoCode ==
"D_SSp_SpDs"){num_crys = i0StinEcha;}
10875 if(HistoCode ==
"D_Adc_EvDs"){num_crys = i0StinEcha;}
10876 if(HistoCode ==
"D_Adc_EvNb"){num_crys = i0StinEcha;}
10877 if(HistoCode ==
"H_Ped_Date"){num_crys = i0StinEcha;}
10878 if(HistoCode ==
"H_TNo_Date"){num_crys = i0StinEcha;}
10879 if(HistoCode ==
"H_MCs_Date"){num_crys = i0StinEcha;}
10880 if(HistoCode ==
"H_LFN_Date"){num_crys = i0StinEcha;}
10881 if(HistoCode ==
"H_HFN_Date"){num_crys = i0StinEcha;}
10882 if(HistoCode ==
"H_SCs_Date"){num_crys = i0StinEcha;}
10883 if(HistoCode ==
"H_Ped_RuDs"){num_crys = i0StinEcha;}
10884 if(HistoCode ==
"H_TNo_RuDs"){num_crys = i0StinEcha;}
10885 if(HistoCode ==
"H_MCs_RuDs"){num_crys = i0StinEcha;}
10886 if(HistoCode ==
"H_LFN_RuDs"){num_crys = i0StinEcha;}
10887 if(HistoCode ==
"H_HFN_RuDs"){num_crys = i0StinEcha;}
10888 if(HistoCode ==
"H_SCs_RuDs"){num_crys = i0StinEcha;}
10890 Int_t num_samp = -1;
10891 if(HistoCode ==
"D_Adc_EvDs"){num_samp = i0Sample;}
10892 if(HistoCode ==
"D_Adc_EvNb"){num_samp = i0Sample;}
10896 if (HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_NOE_ChDs" ||
10897 HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_Ped_ChDs" ||
10898 HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_TNo_ChDs" ||
10899 HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_MCs_ChDs" ||
10900 HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_LFN_ChDs" ||
10901 HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_HFN_ChDs" ||
10902 HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_SCs_ChDs" )
10904 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%d_%s%d_%s_%s",
10908 name_opt_plot.Data(), name_visu.Data());
10911 if (HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_SSp_SpNb" ||
10912 HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10913 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ||
10914 HistoCode ==
"D_MSp_SpDs" || HistoCode ==
"D_SSp_SpDs" ||
10915 HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
10916 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs")
10918 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%d_%s%d_%s%d_Xtal%d_%s_%s",
10922 name_opt_plot.Data(), name_visu.Data());
10925 if (HistoCode ==
"D_Adc_EvNb" || HistoCode ==
"D_Adc_EvDs")
10927 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%d_%s%d_%s%d_Xtal%d_Samp%d_%s_%s",
10931 name_opt_plot.Data(), name_visu.Data());
10934 canvas_name = f_in;
10935 return canvas_name.Data();
10964 if( chqcode ==
"D_MSp_SpNb" || chqcode ==
"D_SSp_SpNb" ||
10965 chqcode ==
"D_MSp_SpDs" || chqcode ==
"D_SSp_SpDs" )
10972 if(chqcode ==
"D_Adc_EvNb" || chqcode ==
"D_Adc_EvDs"){HisSize =
fFapReqNbOfEvts;}
10975 if(chqcode ==
"D_NOE_ChNb" ||
10976 chqcode ==
"D_Ped_ChNb" || chqcode ==
"D_TNo_ChNb" || chqcode ==
"D_MCs_ChNb" ||
10977 chqcode ==
"D_LFN_ChNb" || chqcode ==
"D_HFN_ChNb" || chqcode ==
"D_SCs_ChNb" ||
10978 chqcode ==
"D_NOE_ChDs" ||
10979 chqcode ==
"D_Ped_ChDs" || chqcode ==
"D_TNo_ChDs" || chqcode ==
"D_MCs_ChDs" ||
10980 chqcode ==
"D_LFN_ChDs" || chqcode ==
"D_HFN_ChDs" || chqcode ==
"D_SCs_ChDs" )
10999 if( chqcode ==
"H_Ped_RuDs" || chqcode ==
"H_TNo_RuDs" || chqcode ==
"H_MCs_RuDs" ||
11000 chqcode ==
"H_LFN_RuDs" || chqcode ==
"H_HFN_RuDs" || chqcode ==
"H_SCs_RuDs" )
11009 TEcnaRead* aMyRootFile,
const TString& HistoCode,
11010 const Int_t& HisSizePlot,
const Int_t& HisSizeRead,
11011 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
11012 const Int_t& i0Sample, Int_t& i_data_exist)
11016 TVectorD plot_histo(HisSizePlot);
for(Int_t
i=0;
i<HisSizePlot;
i++){plot_histo(
i)=(Double_t)0.;}
11020 if( arg_AlreadyRead >= 1 )
11023 for(Int_t
i=0;
i<HisSizeRead;
i++){plot_histo(
i)=arg_read_histo(
i);}
11027 if( arg_AlreadyRead == 0 )
11030 TVectorD read_histo(HisSizeRead);
for(Int_t
i=0;
i<HisSizeRead;
i++){read_histo(
i)=(Double_t)0.;}
11032 if( HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_MSp_SpDs" ||
11033 HistoCode ==
"D_SSp_SpNb" || HistoCode ==
"D_SSp_SpDs" )
11036 if( HisSizeRead <= HisSizePlot )
11038 if (HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_MSp_SpDs" )
11040 read_histo = aMyRootFile->
ReadSampleMeans(StexStin_A, i0StinEcha, HisSizeRead);
11042 for(Int_t
i=0;
i<HisSizeRead;
i++){plot_histo(
i)=read_histo(
i);}
11045 if (HistoCode ==
"D_SSp_SpNb" || HistoCode ==
"D_SSp_SpDs" )
11047 read_histo = aMyRootFile->
ReadSampleSigmas(StexStin_A, i0StinEcha, HisSizeRead);
11049 for(Int_t
i=0;
i<HisSizeRead;
i++){plot_histo(
i)=read_histo(
i);}
11054 std::cout <<
"!TEcnaHistos::GetHistoValues(...)> *** ERROR *** > HisSizeRead greater than HisSizePlot" 11055 <<
" for plot as a function of sample#. HisSizeRead = " << HisSizeRead
11056 <<
", HisSizePlot = " << HisSizePlot <<
fTTBELL << std::endl;
11061 if( !(HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_SSp_SpNb" ||
11062 HistoCode ==
"D_MSp_SpDs" || HistoCode ==
"D_SSp_SpDs" ) )
11065 if( HisSizeRead == HisSizePlot )
11070 if( HistoCode ==
"D_Adc_EvNb" || HistoCode ==
"D_Adc_EvDs" )
11072 read_histo = aMyRootFile->
ReadSampleAdcValues(StexStin_A, i0StinEcha, i0Sample, HisSizeRead);
11076 if( HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_NOE_ChDs" )
11082 if( HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_Ped_ChDs" )
11089 if( HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_TNo_ChDs")
11095 if( HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_LFN_ChDs" )
11102 if( HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_HFN_ChDs" )
11109 if( HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_MCs_ChDs" )
11115 if( HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_SCs_ChDs" )
11121 for(Int_t
i=0;
i<HisSizeRead;
i++){plot_histo(
i)=read_histo(
i);}
11126 std::cout <<
"!TEcnaHistos::GetHistoValues(...)> *** ERROR *** > HisSizeRead not equal to HisSizePlot." 11127 <<
" HisSizeRead = " << HisSizeRead
11128 <<
", HisSizePlot = " << HisSizePlot <<
fTTBELL << std::endl;
11133 if( i_data_exist == 0 )
11135 std::cout <<
"!TEcnaHistos::GetHistoValues(...)> Histo not found." <<
fTTBELL << std::endl;
11146 TString axis_x_var_name;
11148 if(HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_Ped_ChNb" ||
11149 HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_MCs_ChNb" ||
11150 HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_HFN_ChNb" ||
11151 HistoCode ==
"D_SCs_ChNb" )
11155 if(
fFlagSubDet ==
"EB" ){axis_x_var_name =
"Xtal (electronic channel number)";}
11156 if(
fFlagSubDet ==
"EE" ){axis_x_var_name =
"Xtal";}
11160 if(
fFlagSubDet ==
"EB" ){axis_x_var_name =
"Tower number";}
11161 if(
fFlagSubDet ==
"EE" ){axis_x_var_name =
"SC number";}
11165 if(HistoCode ==
"D_NOE_ChDs"){axis_x_var_name =
"Number of events";}
11166 if(HistoCode ==
"D_Ped_ChDs"){axis_x_var_name =
"Pedestal";}
11167 if(HistoCode ==
"D_TNo_ChDs"){axis_x_var_name =
"Total noise";}
11168 if(HistoCode ==
"D_MCs_ChDs"){axis_x_var_name =
"Mean cor(s,s')";}
11169 if(HistoCode ==
"D_LFN_ChDs"){axis_x_var_name =
"Low frequency noise";}
11170 if(HistoCode ==
"D_HFN_ChDs"){axis_x_var_name =
"High frequency noise";}
11171 if(HistoCode ==
"D_SCs_ChDs"){axis_x_var_name =
"Sigmas cor(s,s')";}
11172 if(HistoCode ==
"D_MSp_SpNb"){axis_x_var_name =
"Sample";}
11173 if(HistoCode ==
"D_MSp_SpDs"){axis_x_var_name =
"Pedestal";}
11174 if(HistoCode ==
"D_SSp_SpNb"){axis_x_var_name =
"Sample";}
11175 if(HistoCode ==
"D_SSp_SpDs"){axis_x_var_name =
"Total noise";}
11176 if(HistoCode ==
"D_Adc_EvDs"){axis_x_var_name =
"ADC";}
11177 if(HistoCode ==
"D_Adc_EvNb"){axis_x_var_name =
"Event number";}
11178 if(HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
11179 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date")
11180 {axis_x_var_name =
"Time";}
11181 if(HistoCode ==
"H_Ped_RuDs"){axis_x_var_name =
"Pedestal";}
11182 if(HistoCode ==
"H_TNo_RuDs"){axis_x_var_name =
"Total noise";}
11183 if(HistoCode ==
"H_MCs_RuDs"){axis_x_var_name =
"Mean cor(s,s')";}
11184 if(HistoCode ==
"H_LFN_RuDs"){axis_x_var_name =
"Low frequency noise";}
11185 if(HistoCode ==
"H_HFN_RuDs"){axis_x_var_name =
"High frequency noise";}
11186 if(HistoCode ==
"H_SCs_RuDs"){axis_x_var_name =
"Sigmas cor(s,s')";}
11188 return axis_x_var_name;
11195 TString axis_y_var_name;
11197 if(HistoCode ==
"D_NOE_ChNb"){axis_y_var_name =
"Number of events";}
11198 if(HistoCode ==
"D_Ped_ChNb"){axis_y_var_name =
"Pedestal";}
11199 if(HistoCode ==
"D_TNo_ChNb"){axis_y_var_name =
"Total noise";}
11200 if(HistoCode ==
"D_MCs_ChNb"){axis_y_var_name =
"Mean cor(s,s')";}
11201 if(HistoCode ==
"D_LFN_ChNb"){axis_y_var_name =
"Low frequency noise";}
11202 if(HistoCode ==
"D_HFN_ChNb"){axis_y_var_name =
"High frequency noise";}
11203 if(HistoCode ==
"D_SCs_ChNb"){axis_y_var_name =
"Sigma of cor(s,s')";}
11205 if(HistoCode ==
"D_NOE_ChDs" ||
11206 HistoCode ==
"D_Ped_ChDs" || HistoCode ==
"D_TNo_ChDs" || HistoCode ==
"D_MCs_ChDs" ||
11207 HistoCode ==
"D_LFN_ChDs" || HistoCode ==
"D_HFN_ChDs" || HistoCode ==
"D_SCs_ChDs" )
11209 if(
fFapStexNumber > 0 ){axis_y_var_name =
"number of crystals";}
11212 if(
fFlagSubDet ==
"EB" ){axis_y_var_name =
"number of towers";}
11213 if(
fFlagSubDet ==
"EE" ){axis_y_var_name =
"number of SC's";}
11217 if(HistoCode ==
"D_MSp_SpNb"){axis_y_var_name =
"Sample mean";}
11218 if(HistoCode ==
"D_MSp_SpDs"){axis_y_var_name =
"Number of samples";}
11219 if(HistoCode ==
"D_SSp_SpNb"){axis_y_var_name =
"Sample sigma";}
11220 if(HistoCode ==
"D_SSp_SpDs"){axis_y_var_name =
"Number of samples";}
11221 if(HistoCode ==
"D_Adc_EvNb"){axis_y_var_name =
"Sample ADC value";}
11222 if(HistoCode ==
"D_Adc_EvDs"){axis_y_var_name =
"Number of events";}
11223 if(HistoCode ==
"H_Ped_Date"){axis_y_var_name =
"Pedestal";}
11224 if(HistoCode ==
"H_TNo_Date"){axis_y_var_name =
"Total noise";}
11225 if(HistoCode ==
"H_MCs_Date"){axis_y_var_name =
"Mean cor(s,s')";}
11226 if(HistoCode ==
"H_LFN_Date"){axis_y_var_name =
"Low frequency noise";}
11227 if(HistoCode ==
"H_HFN_Date"){axis_y_var_name =
"High frequency noise";}
11228 if(HistoCode ==
"H_SCs_Date"){axis_y_var_name =
"Sigma cor(s,s')";}
11230 if(HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
11231 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs" )
11232 {axis_y_var_name =
"number of runs";}
11234 return axis_y_var_name;
11241 Axis_t xinf_his = (Axis_t)0;
11243 if(HistoCode ==
"D_NOE_ChNb"){xinf_his = (Axis_t)0.;}
11244 if(HistoCode ==
"D_Ped_ChNb"){xinf_his = (Axis_t)0.;}
11245 if(HistoCode ==
"D_TNo_ChNb"){xinf_his = (Axis_t)0.;}
11246 if(HistoCode ==
"D_MCs_ChNb"){xinf_his = (Axis_t)0.;}
11247 if(HistoCode ==
"D_LFN_ChNb"){xinf_his = (Axis_t)0.;}
11248 if(HistoCode ==
"D_HFN_ChNb"){xinf_his = (Axis_t)0.;}
11249 if(HistoCode ==
"D_SCs_ChNb"){xinf_his = (Axis_t)0.;}
11250 if(HistoCode ==
"D_MSp_SpNb"){xinf_his = (Axis_t)0.;}
11251 if(HistoCode ==
"D_SSp_SpNb"){xinf_his = (Axis_t)0.;}
11252 if(HistoCode ==
"D_Adc_EvNb"){xinf_his = (Axis_t)0.;}
11265 if(HistoCode ==
"H_Ped_Date"){xinf_his = (Axis_t)0.;}
11266 if(HistoCode ==
"H_TNo_Date"){xinf_his = (Axis_t)0.;}
11267 if(HistoCode ==
"H_MCs_Date"){xinf_his = (Axis_t)0.;}
11268 if(HistoCode ==
"H_LFN_Date"){xinf_his = (Axis_t)0.;}
11269 if(HistoCode ==
"H_HFN_Date"){xinf_his = (Axis_t)0.;}
11270 if(HistoCode ==
"H_SCs_Date"){xinf_his = (Axis_t)0.;}
11286 Axis_t xsup_his = (Axis_t)0;
11288 if(HistoCode ==
"D_NOE_ChNb"){xsup_his = (Axis_t)HisSize;}
11289 if(HistoCode ==
"D_Ped_ChNb"){xsup_his = (Axis_t)HisSize;}
11290 if(HistoCode ==
"D_TNo_ChNb"){xsup_his = (Axis_t)HisSize;}
11291 if(HistoCode ==
"D_MCs_ChNb"){xsup_his = (Axis_t)HisSize;}
11292 if(HistoCode ==
"D_LFN_ChNb"){xsup_his = (Axis_t)HisSize;}
11293 if(HistoCode ==
"D_HFN_ChNb"){xsup_his = (Axis_t)HisSize;}
11294 if(HistoCode ==
"D_SCs_ChNb"){xsup_his = (Axis_t)HisSize;}
11295 if(HistoCode ==
"D_MSp_SpNb"){xsup_his = (Axis_t)HisSize;}
11296 if(HistoCode ==
"D_SSp_SpNb"){xsup_his = (Axis_t)HisSize;}
11310 if(HistoCode ==
"H_Ped_Date"){xsup_his = (Axis_t)0.;}
11311 if(HistoCode ==
"H_TNo_Date"){xsup_his = (Axis_t)0.;}
11312 if(HistoCode ==
"H_MCs_Date"){xsup_his = (Axis_t)0.;}
11313 if(HistoCode ==
"H_LFN_Date"){xsup_his = (Axis_t)0.;}
11314 if(HistoCode ==
"H_HFN_Date"){xsup_his = (Axis_t)0.;}
11315 if(HistoCode ==
"H_SCs_Date"){xsup_his = (Axis_t)0.;}
11331 Int_t nb_binx = HisSize;
11333 if ( HistoType ==
"Proj" || HistoType ==
"SampProj" ||
11334 HistoType ==
"EvolProj" || HistoType ==
"H1BasicProj" )
11341 const Int_t& HisSize)
11347 for(Int_t
i=0;
i<HisSize;
i++)
11349 Double_t his_val = (Double_t)0;
11350 Double_t
xi = (Double_t)0;
11352 if (HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_Ped_ChNb" ||
11353 HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_TNo_ChNb" ||
11354 HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_MCs_ChNb" ||
11355 HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_SSp_SpNb" )
11358 his_val = (Double_t)read_histo[
i];
11359 h_his0->Fill(xi, his_val);
11363 if (HistoCode ==
"D_Adc_EvNb" )
11366 his_val = (Double_t)read_histo[
i];
11367 h_his0->Fill(xi, his_val);
11370 if (HistoCode ==
"D_NOE_ChDs" ||
11371 HistoCode ==
"D_Ped_ChDs" || HistoCode ==
"D_LFN_ChDs" ||
11372 HistoCode ==
"D_TNo_ChDs" || HistoCode ==
"D_HFN_ChDs" ||
11373 HistoCode ==
"D_MCs_ChDs" || HistoCode ==
"D_SCs_ChDs" ||
11374 HistoCode ==
"D_MSp_SpDs" || HistoCode ==
"D_SSp_SpDs" ||
11375 HistoCode ==
"D_Adc_EvDs" )
11377 his_val = (Double_t)read_histo[
i];
11378 Double_t increment = (Double_t)1;
11379 h_his0->Fill(his_val, increment);
11475 Double_t val_inf = (Double_t)0.;
11517 Double_t val_sup = (Double_t)0.;
11768 Double_t val_min = (Double_t)0.;
11769 Double_t val_min_proj = (Double_t)0.1;
11772 if( HistoCode ==
"D_NOE_ChDs" ){val_min = val_min_proj;}
11774 if( HistoCode ==
"D_Ped_ChDs" ){val_min = val_min_proj;}
11776 if( HistoCode ==
"D_TNo_ChDs" ){val_min = val_min_proj;}
11778 if( HistoCode ==
"D_MCs_ChDs" ){val_min = val_min_proj;}
11780 if( HistoCode ==
"D_LFN_ChDs" ){val_min = val_min_proj;}
11782 if( HistoCode ==
"D_HFN_ChDs" ){val_min = val_min_proj;}
11784 if( HistoCode ==
"D_SCs_ChDs" ){val_min = val_min_proj;}
11786 if( HistoCode ==
"D_MSp_SpDs" ){val_min = val_min_proj;}
11788 if( HistoCode ==
"D_SSp_SpDs" ){val_min = val_min_proj;}
11790 if( HistoCode ==
"D_Adc_EvDs" ){val_min = val_min_proj;}
11811 Double_t val_max = (Double_t)0.;
11812 Double_t val_max_proj = (Double_t)2000.;
11815 if( HistoCode ==
"D_NOE_ChDs" ){val_max = val_max_proj;}
11817 if( HistoCode ==
"D_Ped_ChDs" ){val_max = val_max_proj;}
11819 if( HistoCode ==
"D_TNo_ChDs" ){val_max = val_max_proj;}
11821 if( HistoCode ==
"D_MCs_ChDs" ){val_max = val_max_proj;}
11823 if( HistoCode ==
"D_LFN_ChDs" ){val_max = val_max_proj;}
11825 if( HistoCode ==
"D_HFN_ChDs" ){val_max = val_max_proj;}
11827 if( HistoCode ==
"D_SCs_ChDs" ){val_max = val_max_proj;}
11829 if( HistoCode ==
"D_MSp_SpDs" ){val_max = val_max_proj;}
11831 if( HistoCode ==
"D_SSp_SpDs" ){val_max = val_max_proj;}
11833 if( HistoCode ==
"D_Adc_EvDs" ){val_max = val_max_proj;}
11979 TString xvar =
"(xvar not found)";
12065 TString yvar =
"(yvar not found)";
12197 memo_flag =
"(no memo_flag info)";
12199 Int_t memo_flag_number = -1;
12209 if(memo_flag_number == 0){memo_flag =
"Free";}
12210 if(memo_flag_number >= 1){memo_flag =
"Busy";}
12221 memo_flag =
"(no memo_flag info)";
12223 Int_t memo_flag_number = -1;
12263 if(memo_flag_number == 0){memo_flag =
"Free";}
12264 if(memo_flag_number == 1){memo_flag =
"Busy";}
12270 UInt_t canv_w, UInt_t canv_h)
12274 TCanvas* main_canvas =
nullptr;
12283 if(HistoCode ==
"D_NOE_ChNb"){
12286 if(HistoCode ==
"D_NOE_ChDs"){
12289 if(HistoCode ==
"D_Ped_ChNb"){
12292 if(HistoCode ==
"D_Ped_ChDs"){
12295 if(HistoCode ==
"D_TNo_ChNb"){
12298 if(HistoCode ==
"D_TNo_ChDs"){
12301 if(HistoCode ==
"D_MCs_ChNb"){
12304 if(HistoCode ==
"D_MCs_ChDs"){
12307 if(HistoCode ==
"D_LFN_ChNb"){
12310 if(HistoCode ==
"D_LFN_ChDs"){
12313 if(HistoCode ==
"D_HFN_ChNb"){
12316 if(HistoCode ==
"D_HFN_ChDs"){
12319 if(HistoCode ==
"D_SCs_ChNb"){
12322 if(HistoCode ==
"D_SCs_ChDs"){
12326 if(HistoCode ==
"D_MSp_SpNb" ){
12329 if(HistoCode ==
"D_MSp_SpDs" ){
12332 if(HistoCode ==
"D_SSp_SpNb" ){
12335 if(HistoCode ==
"D_SSp_SpDs" ){
12339 if(HistoCode ==
"D_Adc_EvNb"){
12342 if(HistoCode ==
"D_Adc_EvDs"){
12346 if(HistoCode ==
"H_Ped_Date"){
12349 if(HistoCode ==
"H_TNo_Date"){
12352 if(HistoCode ==
"H_MCs_Date"){
12355 if(HistoCode ==
"H_LFN_Date"){
12358 if(HistoCode ==
"H_HFN_Date"){
12361 if(HistoCode ==
"H_SCs_Date"){
12365 if(HistoCode ==
"H_Ped_RuDs"){
12368 if(HistoCode ==
"H_TNo_RuDs"){
12371 if(HistoCode ==
"H_MCs_RuDs"){
12374 if(HistoCode ==
"H_LFN_RuDs"){
12377 if(HistoCode ==
"H_HFN_RuDs"){
12380 if(HistoCode ==
"H_SCs_RuDs"){
12385 return main_canvas;
12399 fCanvH1SamePlus->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12406 if(HistoCode ==
"D_NOE_ChNb")
12409 fCanvD_NOE_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12414 if(HistoCode ==
"D_NOE_ChDs")
12417 fCanvD_NOE_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12422 if(HistoCode ==
"D_Ped_ChNb")
12425 fCanvD_Ped_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12430 if(HistoCode ==
"D_Ped_ChDs")
12433 fCanvD_Ped_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12438 if(HistoCode ==
"D_TNo_ChNb")
12441 fCanvD_TNo_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12446 if(HistoCode ==
"D_TNo_ChDs")
12449 fCanvD_TNo_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12454 if(HistoCode ==
"D_MCs_ChNb")
12457 fCanvD_MCs_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12462 if(HistoCode ==
"D_MCs_ChDs")
12465 fCanvD_MCs_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12470 if(HistoCode ==
"D_LFN_ChNb")
12473 fCanvD_LFN_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12478 if(HistoCode ==
"D_LFN_ChDs")
12481 fCanvD_LFN_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12486 if(HistoCode ==
"D_HFN_ChNb")
12489 fCanvD_HFN_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12494 if(HistoCode ==
"D_HFN_ChDs")
12497 fCanvD_HFN_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12502 if(HistoCode ==
"D_SCs_ChNb")
12505 fCanvD_SCs_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12510 if(HistoCode ==
"D_SCs_ChDs")
12513 fCanvD_SCs_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12518 if(HistoCode ==
"D_MSp_SpNb")
12521 fCanvD_MSp_SpNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12526 if(HistoCode ==
"D_MSp_SpDs")
12529 fCanvD_MSp_SpDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12534 if(HistoCode ==
"D_SSp_SpNb")
12537 fCanvD_SSp_SpNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12542 if(HistoCode ==
"D_SSp_SpDs")
12545 fCanvD_SSp_SpDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12550 if(HistoCode ==
"D_Adc_EvDs")
12553 fCanvD_Adc_EvDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12558 if(HistoCode ==
"D_Adc_EvNb")
12561 fCanvD_Adc_EvNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12566 if(HistoCode ==
"H_Ped_Date")
12569 fCanvH_Ped_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12573 if(HistoCode ==
"H_TNo_Date")
12576 fCanvH_TNo_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12580 if(HistoCode ==
"H_MCs_Date")
12583 fCanvH_MCs_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12588 if(HistoCode ==
"H_LFN_Date")
12591 fCanvH_LFN_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12595 if(HistoCode ==
"H_HFN_Date")
12598 fCanvH_HFN_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12602 if(HistoCode ==
"H_SCs_Date")
12605 fCanvH_SCs_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12610 if(HistoCode ==
"H_Ped_RuDs")
12613 fCanvH_Ped_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12617 if(HistoCode ==
"H_TNo_RuDs")
12620 fCanvH_TNo_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12624 if(HistoCode ==
"H_MCs_RuDs")
12627 fCanvH_MCs_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12632 if(HistoCode ==
"H_LFN_RuDs")
12635 fCanvH_LFN_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12639 if(HistoCode ==
"H_HFN_RuDs")
12642 fCanvH_HFN_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12646 if(HistoCode ==
"H_SCs_RuDs")
12649 fCanvH_SCs_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12659 TCanvas* main_canvas =
nullptr;
12698 return main_canvas;
12715 std::cout <<
"TEcnaHistos::PlotCloneOfCurrentCanvas()> Last canvas has been removed. No clone can be done." 12716 << std::endl <<
" Please, display the canvas again." 12722 std::cout <<
"TEcnaHistos::PlotCloneOfCurrentCanvas()> No canvas has been created. No clone can be done." 12732 TVirtualPad* main_subpad =
nullptr;
12740 Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12746 if(HistoCode ==
"D_NOE_ChNb"){
12747 fCanvD_NOE_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12750 if(HistoCode ==
"D_NOE_ChDs"){
12751 fCanvD_NOE_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12754 if(HistoCode ==
"D_Ped_ChNb"){
12755 fCanvD_Ped_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12758 if(HistoCode ==
"D_Ped_ChDs"){
12759 fCanvD_Ped_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12762 if(HistoCode ==
"D_TNo_ChNb"){
12763 fCanvD_TNo_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12766 if(HistoCode ==
"D_TNo_ChDs"){
12767 fCanvD_TNo_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12770 if(HistoCode ==
"D_MCs_ChNb"){
12771 fCanvD_MCs_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12774 if(HistoCode ==
"D_MCs_ChDs"){
12775 fCanvD_MCs_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12778 if(HistoCode ==
"D_LFN_ChNb"){
12779 fCanvD_LFN_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12782 if(HistoCode ==
"D_LFN_ChDs"){
12783 fCanvD_LFN_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12786 if(HistoCode ==
"D_HFN_ChNb"){
12787 fCanvD_HFN_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12790 if(HistoCode ==
"D_HFN_ChDs"){
12791 fCanvD_HFN_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12794 if(HistoCode ==
"D_SCs_ChNb"){
12795 fCanvD_SCs_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12798 if(HistoCode ==
"D_SCs_ChDs"){
12799 fCanvD_SCs_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12802 if(HistoCode ==
"D_MSp_SpNb"){
12803 fCanvD_MSp_SpNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12806 if(HistoCode ==
"D_MSp_SpDs"){
12807 fCanvD_MSp_SpDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12810 if(HistoCode ==
"D_SSp_SpNb"){
12811 fCanvD_SSp_SpNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12814 if(HistoCode ==
"D_SSp_SpDs"){
12815 fCanvD_SSp_SpDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12818 if(HistoCode ==
"D_Adc_EvNb"){
12819 fCanvD_Adc_EvNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12822 if(HistoCode ==
"D_Adc_EvDs"){
12823 fCanvD_Adc_EvDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12826 if(HistoCode ==
"H_Ped_Date"){
12827 fCanvH_Ped_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12830 if(HistoCode ==
"H_TNo_Date"){
12831 fCanvH_TNo_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12834 if(HistoCode ==
"H_MCs_Date"){
12835 fCanvH_MCs_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12838 if(HistoCode ==
"H_LFN_Date"){
12839 fCanvH_LFN_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12842 if(HistoCode ==
"H_HFN_Date"){
12843 fCanvH_HFN_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12846 if(HistoCode ==
"H_SCs_Date"){
12847 fCanvH_SCs_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12850 if(HistoCode ==
"H_Ped_RuDs"){
12851 fCanvH_Ped_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12854 if(HistoCode ==
"H_TNo_RuDs"){
12855 fCanvH_TNo_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12858 if(HistoCode ==
"H_MCs_RuDs"){
12859 fCanvH_MCs_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12862 if(HistoCode ==
"H_LFN_RuDs"){
12863 fCanvH_LFN_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12866 if(HistoCode ==
"H_HFN_RuDs"){
12867 fCanvH_HFN_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12870 if(HistoCode ==
"H_SCs_RuDs"){
12871 fCanvH_SCs_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12875 if( main_subpad ==
nullptr )
12876 {
std::cout <<
"*TEcnaHistos::ActivePad(...)> main_subpad = " 12877 << main_subpad <<
". This canvas has been closed." << std::endl;}
12879 return main_subpad;
12925 std::cout <<
"!TEcnaHistos::DoCanvasClosed(...)> WARNING: canvas has been closed." << std::endl;
12977 TPaveText* main_pavtxt =
nullptr;
13017 if( main_pavtxt ==
nullptr )
13018 {
std::cout <<
"*TEcnaHistos::ActivePavTxt(...)> ERROR: main_pavtxt = " << main_pavtxt << std::endl;}
13020 return main_pavtxt;
13045 const TString& opt_plot,
const Int_t& arg_AlreadyRead)
13050 if( HistoType ==
"Global" ){h_his0->SetMarkerStyle(1);}
13064 if(HistoCode ==
"D_NOE_ChNb")
13073 if(HistoCode ==
"D_NOE_ChDs")
13082 if(HistoCode ==
"D_Ped_ChNb")
13091 if(HistoCode ==
"D_Ped_ChDs")
13100 if(HistoCode ==
"D_TNo_ChNb")
13109 if(HistoCode ==
"D_TNo_ChDs")
13119 if(HistoCode ==
"D_MCs_ChNb")
13128 if(HistoCode ==
"D_MCs_ChDs")
13137 if(HistoCode ==
"D_LFN_ChNb")
13146 if(HistoCode ==
"D_LFN_ChDs")
13155 if(HistoCode ==
"D_HFN_ChNb")
13164 if(HistoCode ==
"D_HFN_ChDs")
13174 if(HistoCode ==
"D_SCs_ChNb")
13183 if(HistoCode ==
"D_SCs_ChDs")
13193 if(HistoCode ==
"D_MSp_SpNb")
13195 if( (opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 0) ||
13200 {h_his0->SetFillColor((Color_t)0);}
13209 if(HistoCode ==
"D_MSp_SpDs")
13211 if( (opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 0) ||
13216 {h_his0->SetFillColor((Color_t)0);}
13225 if(HistoCode ==
"D_SSp_SpNb")
13227 if( (opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 0) ||
13232 {h_his0->SetFillColor((Color_t)0);}
13241 if(HistoCode ==
"D_SSp_SpDs")
13243 if( (opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 0) ||
13248 {h_his0->SetFillColor((Color_t)0);}
13257 if(HistoCode ==
"D_Adc_EvNb")
13265 gPad->SetGrid(1,0);
13268 if(HistoCode ==
"D_Adc_EvDs")
13278 if(HistoCode ==
"H_Ped_RuDs")
13286 gPad->SetGrid(1,1);
13289 if(HistoCode ==
"H_TNo_RuDs")
13297 gPad->SetGrid(1,1);
13300 if(HistoCode ==
"H_MCs_RuDs")
13308 gPad->SetGrid(1,1);
13311 if(HistoCode ==
"H_LFN_RuDs")
13319 gPad->SetGrid(1,1);
13322 if(HistoCode ==
"H_HFN_RuDs")
13330 gPad->SetGrid(1,1);
13333 if(HistoCode ==
"H_SCs_RuDs")
13341 gPad->SetGrid(1,1);
13361 gPad->SetGrid(1,1);
13366 if(HistoCode ==
"H_Ped_Date")
13374 gPad->SetGrid(1,1);
13377 if(HistoCode ==
"H_TNo_Date")
13385 gPad->SetGrid(1,1);
13388 if(HistoCode ==
"H_MCs_Date")
13396 gPad->SetGrid(1,1);
13399 if(HistoCode ==
"H_LFN_Date")
13407 gPad->SetGrid(1,1);
13410 if(HistoCode ==
"H_HFN_Date")
13418 gPad->SetGrid(1,1);
13421 if(HistoCode ==
"H_SCs_Date")
13429 gPad->SetGrid(1,1);
13484 TColor* my_color =
new TColor();
13487 if( DeeEndcap ==
"EE+" )
13491 if ( DeeDir ==
"left" && QuadType ==
"top" ){couleur=(Color_t)my_color->GetColor(
"#006600");}
13492 if ( DeeDir ==
"left" && QuadType ==
"bottom" ){couleur=(Color_t)my_color->GetColor(
"#CC3300");}
13494 if( DeeEndcap ==
"EE-" )
13496 if ( DeeDir ==
"right" && QuadType ==
"top" ){couleur=(Color_t)my_color->GetColor(
"#008800");}
13497 if ( DeeDir ==
"right" && QuadType ==
"bottom" ){couleur=(Color_t)my_color->GetColor(
"#EE5500");}
13532 graph->SetMarkerStyle(1);
13533 if( HistoType ==
"Evol" ){graph->SetMarkerStyle(20);}
13555 std::cout <<
"TEcnaHistos::NewCanvas(...)> *** ERROR *** " << opt_plot.Data() <<
": " 13556 <<
"unknown option for NewCanvas. Only " <<
fSameOnePlot <<
" option is accepted." 13575 if(HistoCode ==
"D_NOE_ChNb")
13583 if(HistoCode ==
"D_NOE_ChDs")
13591 if(HistoCode ==
"D_Ped_ChNb")
13599 if(HistoCode ==
"D_Ped_ChDs")
13607 if(HistoCode ==
"D_TNo_ChNb")
13615 if(HistoCode ==
"D_TNo_ChDs")
13623 if(HistoCode ==
"D_MCs_ChNb")
13631 if(HistoCode ==
"D_MCs_ChDs")
13639 if(HistoCode ==
"D_LFN_ChNb")
13647 if(HistoCode ==
"D_LFN_ChDs")
13655 if(HistoCode ==
"D_HFN_ChNb")
13663 if(HistoCode ==
"D_HFN_ChDs")
13671 if(HistoCode ==
"D_SCs_ChNb")
13679 if(HistoCode ==
"D_SCs_ChDs")
13687 if(HistoCode ==
"D_MSp_SpNb")
13695 if(HistoCode ==
"D_MSp_SpDs")
13703 if(HistoCode ==
"D_SSp_SpNb")
13711 if(HistoCode ==
"D_SSp_SpDs")
13719 if(HistoCode ==
"D_Adc_EvNb")
13727 if(HistoCode ==
"D_Adc_EvDs")
13736 if(HistoCode ==
"H_Ped_Date")
13744 if(HistoCode ==
"H_TNo_Date")
13752 if(HistoCode ==
"H_MCs_Date")
13761 if(HistoCode ==
"H_LFN_Date")
13769 if(HistoCode ==
"H_HFN_Date")
13777 if(HistoCode ==
"H_SCs_Date")
13785 if(HistoCode ==
"H_Ped_RuDs")
13793 if(HistoCode ==
"H_TNo_RuDs")
13801 if(HistoCode ==
"H_MCs_RuDs")
13810 if(HistoCode ==
"H_LFN_RuDs")
13818 if(HistoCode ==
"H_HFN_RuDs")
13826 if(HistoCode ==
"H_SCs_RuDs")
13839 const Int_t& StexStinEcna,
const Int_t& MatrixBinIndex,
13840 const Int_t& MatSize,
const TMatrixD& read_matrix)
13844 Int_t ChanNumber = MatrixBinIndex;
13864 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
static constexpr int charArrLen
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