51 if (fT1DRunNumber != 0){
delete [] fT1DRunNumber; fCdelete++;}
65 if ( fCnew != fCdelete )
67 cout <<
"*TEcnaHistos> WRONG MANAGEMENT OF ALLOCATIONS: fCnew = "
68 << fCnew <<
", fCdelete = " << fCdelete << fTTBELL << endl;
78 if ( fCnewRoot != fCdeleteRoot )
80 cout <<
"*TEcnaHistos> WRONG MANAGEMENT OF ROOT ALLOCATIONS: fCnewRoot = "
81 << fCnewRoot <<
", fCdeleteRoot = " << fCdeleteRoot << endl;
85 cout <<
"*TEcnaHistos> BRAVO! GOOD MANAGEMENT OF ROOT ALLOCATIONS:"
86 <<
" fCnewRoot = " << fCnewRoot <<
", fCdeleteRoot = "
87 << fCdeleteRoot << endl;
116 Long_t i_this = (Long_t)
this;
126 if( iCnaParCout == 0 )
133 Long_t iCnaParPaths = pObjectManager->
GetPointerValue(
"TEcnaParPaths");
134 if( iCnaParPaths == 0 )
152 Long_t iEcalNumbering = pObjectManager->
GetPointerValue(
"TEcnaNumbering");
153 if( iEcalNumbering == 0 )
160 Long_t iCnaParHistos = pObjectManager->
GetPointerValue(
"TEcnaParHistos");
161 if( iCnaParHistos == 0 )
177 if( iMyRootFile == 0 )
637 fFapFileRuns =
"(file with list of runs parameters: no info)";
749 const Int_t& xArgRunNumber,
const Int_t& xArgFirstReqEvtNumber,
750 const Int_t& xArgLastReqEvtNumber,
const Int_t& xArgReqNbOfEvts,
751 const Int_t& xArgStexNumber)
814 if ( !(option_palette ==
"Rainbow" || option_palette ==
"rainbow") ){
fFlagColPal =
"Black/Red/Blue";}
815 if ( option_palette ==
"Rainbow" || option_palette ==
"rainbow" ){
fFlagColPal =
"Rainbow";}
892 const TString UserCorOrCov,
const TString UserBetweenWhat)
893 {
PlotMatrix(read_matrix_corcc, UserCorOrCov, UserBetweenWhat,
"");}
896 const TString UserCorOrCov,
const TString UserBetweenWhat,
897 const TString UserPlotOption)
899 TString CallingMethod =
"2D";
906 if( BetweenWhat !=
"?" && CorOrCov !=
"?" )
908 if( BetweenWhat ==
"MttLF" || BetweenWhat ==
"MttHF" )
919 cout <<
"!TEcnaHistos::PlotMatrix(...)> Histo cannot be reached." <<
fTTBELL << endl;}
923 {
PlotMatrix(UserCorOrCov, UserBetweenWhat,
"");}
926 const TString UserPlotOption)
928 TString CallingMethod =
"2D";
935 if( BetweenWhat !=
"?" && CorOrCov !=
"?" )
937 if( BetweenWhat ==
"MttLF" || BetweenWhat ==
"MttHF" )
947 cout <<
"!TEcnaHistos::PlotMatrix(...)> Histo cannot be reached." <<
fTTBELL << endl;}
953 const TString UserCorOrCov,
const TString UserBetweenWhat,
954 const Int_t& arg_n1,
const Int_t& arg_n2)
955 {
PlotMatrix(read_matrix, UserCorOrCov, UserBetweenWhat, arg_n1, arg_n2,
"");}
958 const TString UserCorOrCov,
const TString UserBetweenWhat,
959 const Int_t& arg_n1,
const Int_t& arg_n2,
960 const TString UserPlotOption)
962 TString CallingMethod =
"2D";
969 if( BetweenWhat !=
"?" && CorOrCov !=
"?" )
971 if( BetweenWhat ==
"MccLF" || BetweenWhat ==
"MccHF" )
973 Int_t cStexStin_A = arg_n1;
974 Int_t cStexStin_B = arg_n2;
977 cStexStin_A, cStexStin_B,
fZerv, CorOrCov, BetweenWhat, StandardPlotOption);
980 if( BetweenWhat ==
"Mss" )
982 Int_t n1StexStin = arg_n1;
983 Int_t i0StinEcha = arg_n2;
987 n1StexStin,
fZerv, i0StinEcha, CorOrCov, BetweenWhat, StandardPlotOption);
992 cout <<
"!TEcnaHistos::PlotMatrix(...)> Histo cannot be reached." <<
fTTBELL << endl;}
996 const Int_t& arg_n1,
const Int_t& arg_n2)
997 {
PlotMatrix(UserCorOrCov, UserBetweenWhat, arg_n1, arg_n2,
"");}
1000 const Int_t& arg_n1,
const Int_t& arg_n2,
1001 const TString UserPlotOption)
1003 TString CallingMethod =
"2D";
1010 if( StandardBetweenWhat !=
"?" && StandardCorOrCov !=
"?" )
1012 if( StandardBetweenWhat ==
"MccLF" || StandardBetweenWhat ==
"MccHF" )
1014 Int_t cStexStin_A = arg_n1;
1015 Int_t cStexStin_B = arg_n2;
1017 cStexStin_A, cStexStin_B,
fZerv, StandardCorOrCov, StandardBetweenWhat, StandardPlotOption);
1020 if( StandardBetweenWhat ==
"Mss" )
1022 Int_t n1StexStin = arg_n1;
1023 Int_t i0StinEcha = arg_n2;
1027 n1StexStin,
fZerv, i0StinEcha, StandardCorOrCov, StandardBetweenWhat, StandardPlotOption);
1032 cout <<
"!TEcnaHistos::PlotMatrix(...)> Histo cannot be reached." <<
fTTBELL << endl;}
1043 TString CallingMethod =
"2DS";
1046 if( StandardHistoCode !=
"?" )
1050 if( StandardDetectorCode !=
"?" )
1057 if( StandardDetectorCode ==
"SM" || StandardDetectorCode ==
"Dee" )
1059 if( StandardDetectorCode ==
"EB" || StandardDetectorCode ==
"EE" )
1064 cout <<
"!TEcnaHistos::PlotDetector(...)> Histo cannot be reached." <<
fTTBELL << endl;}
1068 cout <<
"!TEcnaHistos::PlotDetector(...)> Histo cannot be reached." <<
fTTBELL << endl;}
1073 TString CallingMethod =
"2DS";
1076 if( StandardHistoCode !=
"?" )
1080 if( StandardDetectorCode !=
"?" )
1089 if( StandardDetectorCode ==
"SM" || StandardDetectorCode ==
"Dee" )
1091 if( StandardDetectorCode ==
"EB" || StandardDetectorCode ==
"EE" )
1096 cout <<
"!TEcnaHistos::PlotDetector(...)> Histo cannot be reached." <<
fTTBELL << endl;}
1100 cout <<
"!TEcnaHistos::PlotDetector(...)> Histo cannot be reached." <<
fTTBELL << endl;}
1109 const TString User_X_Quantity,
const TString User_Y_Quantity,
1110 const TString UserDetector)
1111 {
Plot1DHisto(InputHisto, User_X_Quantity, User_Y_Quantity, UserDetector,
"");}
1114 const TString User_X_Quantity,
const TString User_Y_Quantity,
1115 const TString UserDetector,
1116 const TString UserPlotOption)
1118 TString CallingMethod =
"1D";
1125 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1130 if( StandardDetectorCode !=
"?" )
1132 if( StandardDetectorCode ==
"EB" || StandardDetectorCode ==
"EE" ){
fFapStexNumber = 0;}
1137 cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << endl;}
1141 cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << endl;}
1145 const TString UserDetector)
1146 {
Plot1DHisto(User_X_Quantity, User_Y_Quantity, UserDetector,
"");}
1149 const TString UserDetector,
const TString UserPlotOption)
1151 TString CallingMethod =
"1D";
1158 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1162 if( StandardDetectorCode !=
"?" )
1164 if( StandardDetectorCode ==
"EB" || StandardDetectorCode ==
"EE" ){
fFapStexNumber = 0;}
1169 cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << endl;}
1173 cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << endl;}
1183 const TString User_X_Quantity,
const TString User_Y_Quantity,
1184 const Int_t& n1StexStin)
1185 {
Plot1DHisto(InputHisto, User_X_Quantity, User_Y_Quantity, n1StexStin,
"");}
1188 const TString User_X_Quantity,
const TString User_Y_Quantity,
1189 const Int_t& n1StexStin,
1190 const TString UserPlotOption)
1192 TString CallingMethod =
"1DX";
1194 Int_t i0StinEcha = 0;
1195 Plot1DHisto(InputHisto, User_X_Quantity, User_Y_Quantity, n1StexStin, i0StinEcha, StandardPlotOption);
1200 const TString User_X_Quantity,
const TString User_Y_Quantity,
1201 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
1202 {
Plot1DHisto(InputHisto, User_X_Quantity, User_Y_Quantity, n1StexStin, i0StinEcha,
"");}
1205 const TString User_X_Quantity,
const TString User_Y_Quantity,
1206 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
1207 const TString UserPlotOption)
1209 TString CallingMethod =
"1D";
1216 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1226 if( Standard_X_Quantity ==
"Smp" && Standard_Y_Quantity ==
"MSp" )
1228 if( Standard_X_Quantity ==
"MSp" && Standard_Y_Quantity ==
"NOS" )
1230 if( Standard_X_Quantity ==
"Smp" && Standard_Y_Quantity ==
"SSp" )
1232 if( Standard_X_Quantity ==
"SSp" && Standard_Y_Quantity ==
"NOS" )
1238 cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << endl;}
1242 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
1243 {
Plot1DHisto(User_X_Quantity, User_Y_Quantity, n1StexStin, i0StinEcha,
"");}
1246 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
1247 const TString UserPlotOption)
1249 TString CallingMethod =
"1D";
1256 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1265 if( Standard_X_Quantity ==
"Smp" && Standard_Y_Quantity ==
"MSp" )
1267 if( Standard_X_Quantity ==
"MSp" && Standard_Y_Quantity ==
"NOS" )
1269 if( Standard_X_Quantity ==
"Smp" && Standard_Y_Quantity ==
"SSp" )
1271 if( Standard_X_Quantity ==
"SSp" && Standard_Y_Quantity ==
"NOS" )
1277 cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << endl;}
1281 const TString User_X_Quantity,
const TString User_Y_Quantity,
1282 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
const Int_t& n1Sample)
1283 {
Plot1DHisto(InputHisto, User_X_Quantity, User_Y_Quantity, n1StexStin, i0StinEcha, n1Sample,
"");}
1286 const TString User_X_Quantity,
const TString User_Y_Quantity,
1287 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
const Int_t& n1Sample,
1288 const TString UserPlotOption)
1290 TString CallingMethod =
"1D";
1299 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1301 Int_t i0Sample = n1Sample-1;
1303 ViewHisto(InputHisto,
fAlreadyRead, n1StexStin, i0StinEcha, i0Sample, TechHistoCode, StandardPlotOption);
1307 cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << endl;}
1311 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
const Int_t& n1Sample)
1312 {
Plot1DHisto(User_X_Quantity, User_Y_Quantity, n1StexStin, i0StinEcha, n1Sample,
"");}
1315 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
const Int_t& n1Sample,
1316 const TString UserPlotOption)
1318 TString CallingMethod =
"1D";
1325 Int_t i0Sample = n1Sample-1;
1327 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1334 cout <<
"!TEcnaHistos::Plot1DHisto(...)> Histo cannot be reached." <<
fTTBELL << endl;}
1343 const TString list_of_run_file_name,
1344 const Int_t& StexStin_A,
const Int_t& i0StinEcha)
1345 {
PlotHistory(User_X_Quantity, User_Y_Quantity, list_of_run_file_name, StexStin_A, i0StinEcha,
"");}
1348 const TString list_of_run_file_name,
1349 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
1350 const TString UserPlotOption)
1352 TString CallingMethod =
"Time";
1359 if( Standard_X_Quantity !=
"?" && Standard_Y_Quantity !=
"?" )
1362 ViewHistime(list_of_run_file_name, StexStin_A, i0StinEcha, TechHistoCode, StandardPlotOption);
1366 cout <<
"!TEcnaHistos::PlotHistory(...)> Histo cannot be reached." <<
fTTBELL << endl;}
1414 const Int_t& StexStin_A,
const Int_t& StexStin_B,
1415 const Int_t& MatrixBinIndex,
const TString CorOrCov,
1416 const TString BetweenWhat,
const TString PlotOption)
1420 if( (
fFapStexNumber > 0) && (fFapStexNumber <= fEcal->MaxStexInStas()) )
1422 Bool_t OKArray = kFALSE;
1423 Bool_t OKData = kFALSE;
1434 if( OKArray == kTRUE )
1452 if( arg_AlreadyRead >= 1 )
1467 if ( OKArray == kTRUE )
1471 if( OKData == kTRUE )
1475 Int_t Stin_X_ok = 0;
1476 Int_t Stin_Y_ok = 0;
1479 {Stin_X_ok = 1; Stin_Y_ok = 1;}
1485 if ( vStin(index_Stin) == StexStin_A ){Stin_X_ok = 1;}
1486 if ( vStin(index_Stin) == StexStin_B ){Stin_Y_ok = 1;}
1489 if( Stin_X_ok == 1 && Stin_Y_ok == 1 )
1492 Int_t ReadMatSize = -1;
1493 Int_t i0StinEcha = -1;
1509 ( (BetweenWhat ==
fBetweenSamples) && (i0StinEcha >= 0) && (i0StinEcha < fEcal->MaxCrysInStin()) ) )
1511 TMatrixD read_matrix(ReadMatSize, ReadMatSize);
1512 for(Int_t
i=0;
i-ReadMatSize<0;
i++)
1513 {
for(Int_t
j=0;
j-ReadMatSize<0;
j++){read_matrix(
i,
j)=(Double_t)0.;}}
1515 Bool_t OKData = kFALSE;
1555 read_matrix = arg_read_matrix;
1559 if( OKData == kTRUE )
1563 if( PlotOption ==
"ASCII" )
1566 StexStin_A, MatrixBinIndex, ReadMatSize, read_matrix);
1574 {sprintf(f_in_mat_tit,
"Covariance(Sample, Sample')");}
1576 {sprintf(f_in_mat_tit,
"Correlation(Sample, Sample')");}
1581 {sprintf(f_in_mat_tit,
1582 "Mean LF |Cor(Xtal,Xtal')| for each (Tower,Tower')");}
1584 {sprintf(f_in_mat_tit,
1585 "Mean HF |Cor(Xtal,Xtal')| for each (Tower,Tower')");}
1590 {sprintf(f_in_mat_tit,
1591 "Mean LF |Cor(Xtal,Xtal')| for each (SC,SC')");}
1593 {sprintf(f_in_mat_tit,
1594 "Mean HF |Cor(Xtal,Xtal')| for each (SC,SC')");}
1600 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') matrix elts for (Tow,Tow')");}
1602 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') matrix elts for (SC,SC')");}
1607 {sprintf(f_in_mat_tit,
"HF Cor(Xtal,Xtal') matrix elts for (Tow,Tow')");}
1609 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') matrix elts for (SC,SC')");}
1613 TString axis_x_var_name;
1614 TString axis_y_var_name;
1622 {sprintf(f_in_axis_x,
" %s number ",
fFapStinName.Data());}
1624 {sprintf(f_in_axis_x,
" %s number for construction ",
fFapStinName.Data());}
1626 axis_x_var_name = f_in_axis_x; axis_y_var_name = f_in_axis_x;
1630 axis_x_var_name =
" Sample "; axis_y_var_name =
" Sample ";
1633 sprintf(f_in_axis_x,
" Crystal %s %d ",
fFapStinName.Data(), StexStin_A);
1634 sprintf(f_in_axis_y,
" Crystal %s %d ",
fFapStinName.Data(),StexStin_B);
1635 axis_x_var_name = f_in_axis_x; axis_y_var_name = f_in_axis_y;}
1637 Int_t nb_binx = MatSize;
1638 Int_t nb_biny = MatSize;
1639 Axis_t xinf_bid = (Axis_t)0.;
1640 Axis_t xsup_bid = (Axis_t)MatSize;
1641 Axis_t yinf_bid = (Axis_t)0.;
1642 Axis_t ysup_bid = (Axis_t)MatSize;
1656 TH2D* h_fbid0 =
new TH2D(
"bidim", f_in_mat_tit,
1657 nb_binx, xinf_bid, xsup_bid,
1658 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
1661 h_fbid0->GetXaxis()->SetTitle(axis_x_var_name);
1662 h_fbid0->GetYaxis()->SetTitle(axis_y_var_name);
1668 for(Int_t
i = 0 ;
i < ReadMatSize ;
i++)
1670 for(Int_t
j = 0 ;
j < ReadMatSize ;
j++)
1678 if( xi_bid > 0 && xj_bid > 0 )
1680 Int_t xi_bid_m = xi_bid-1;
1681 Int_t xj_bid_m = xj_bid-1;
1682 h_fbid0->Fill(xi_bid_m, xj_bid_m, read_matrix(
i,
j));
1689 for(Int_t
i = 0 ;
i - ReadMatSize < 0 ;
i++)
1691 Double_t xi = (Double_t)
i;
1692 for(Int_t
j = 0 ;
j < ReadMatSize ;
j++)
1694 Double_t xj = (Double_t)
j;
1695 Double_t mat_val = (Double_t)read_matrix(
i,
j);
1696 h_fbid0->Fill(xi, xj, (Double_t)mat_val);
1703 TString quantity_code =
"D_MCs_ChNb";
1711 if( BetweenWhat ==
fLFBetweenStins ){quantity_code =
"H2LFccMosMatrix";}
1712 if( BetweenWhat ==
fHFBetweenStins ){quantity_code =
"H2HFccMosMatrix";}
1768 HistoType.Resize(MaxCar);
1769 HistoType =
"(no quantity type info)";
1771 if (PlotOption ==
"COLZ" ){HistoType =
"colz";}
1772 if (PlotOption ==
"BOX" ){HistoType =
"colz";}
1773 if (PlotOption ==
"TEXT" ){HistoType =
"colz";}
1774 if (PlotOption ==
"CONTZ" ){HistoType =
"colz";}
1775 if (PlotOption ==
"LEGO2Z"){HistoType =
"lego";}
1776 if (PlotOption ==
"SURF1Z"){HistoType =
"surf";}
1777 if (PlotOption ==
"SURF2Z"){HistoType =
"surf";}
1778 if (PlotOption ==
"SURF3Z"){HistoType =
"surf";}
1779 if (PlotOption ==
"SURF4" ){HistoType =
"surf";}
1794 TString name_cov_cor;
1796 name_cov_cor.Resize(MaxCar);
1801 TString name_chan_samp;
1803 name_chan_samp.Resize(MaxCar);
1804 name_chan_samp =
"?";
1814 name_chan_samp =
"Between_Samples";
1819 name_visu.Resize(MaxCar);
1822 name_visu = PlotOption;
1825 sprintf(f_in,
"%s_%s_%s_S1_%d_R%d_%d_%d_%s%d_%s",
1826 name_cov_cor.Data(), name_chan_samp.Data(),
1833 sprintf(f_in,
"%s_%s_%s_S1_%d_R%d_%d_%d_%s%d_%sX%d_%sY%d_%s",
1834 name_cov_cor.Data(), name_chan_samp.Data(),
1842 sprintf(f_in,
"%s_%s_%s_S1_%d_R%d_%d_%d_%s%d_%sX%d_%sY%d_ElecChannel_%d_%s",
1843 name_cov_cor.Data(), name_chan_samp.Data(),
1854 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w , canv_h);
fCnewRoot++;
1861 delete [] f_in; f_in = 0;
fCdelete++;
1876 MainCanvas->Divide(1, 1, x_margin, y_margin);
1881 gPad->SetLogy(logy);
1884 h_fbid0->DrawCopy(PlotOption);
1885 h_fbid0->SetStats((Bool_t)1);
1890 delete [] f_in_axis_x; f_in_axis_x = 0;
fCdelete++;
1891 delete [] f_in_axis_y; f_in_axis_y = 0;
fCdelete++;
1892 delete [] f_in_mat_tit; f_in_mat_tit = 0;
fCdelete++;
1907 cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* ==> Wrong channel number in "
1909 << i0StinEcha <<
" (required range: [0, "
1926 if ( Stin_X_ok != 1 )
1930 cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* =====> "
1932 << StexStin_A <<
", "
1933 <<
fFapStinName.Data() <<
" not found. Available numbers = ";
1938 cout << vStin(
i) <<
", ";
1945 cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* =====> "
1948 <<
fFapStinName.Data() <<
" not found. Available numbers = ";
1959 if ( Stin_Y_ok != 1 )
1964 cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* =====> "
1966 << StexStin_B <<
", "
1967 <<
fFapStinName.Data() <<
" not found. Available numbers = ";
1972 cout << vStin(
i) <<
", ";
1979 cout <<
"*TEcnaHistos::ViewMatrix(...)> *ERROR* =====> "
1982 <<
fFapStinName.Data() <<
" not found. Available numbers = ";
1998 cout <<
"!TEcnaHistos::ViewMatrix(...)> *ERROR* =====> "
1999 <<
" Histo not available." <<
fTTBELL << endl;
2007 cout <<
"!TEcnaHistos::ViewMatrix(...)> *ERROR* =====> "
2008 <<
" ROOT file not found" <<
fTTBELL << endl;
2053 if( (
fFapStexNumber > 0) && fFapStexNumber <= fEcal->MaxStexInStas() )
2055 Int_t StexStin = cStexStin;
2085 if ( vStin(index_Stin) == StexStin ){Stin_ok++;}
2098 {sprintf(f_in_mat_tit,
"Xtal's Cov(s,s') matrices in %s.",
2101 {sprintf(f_in_mat_tit,
"Xtal's Cor(s,s') matrices in %s.",
2106 Int_t nb_binx = GeoBidSize;
2107 Int_t nb_biny = GeoBidSize;
2108 Axis_t xinf_bid = (Axis_t)0.;
2109 Axis_t xsup_bid = (Axis_t)GeoBidSize;
2110 Axis_t yinf_bid = (Axis_t)0.;
2111 Axis_t ysup_bid = (Axis_t)GeoBidSize;
2116 TH2D* h_geo_bid =
new TH2D(
"geobidim_ViewStin", f_in_mat_tit,
2117 nb_binx, xinf_bid, xsup_bid,
2118 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
2127 TMatrixD read_matrix(ReadMatSize, ReadMatSize);
2128 for(Int_t
i=0;
i-ReadMatSize < 0;
i++){
for(Int_t
j=0;
j-ReadMatSize < 0;
j++)
2129 {read_matrix(
i,
j)=(Double_t)0.;}}
2131 Int_t i_data_exist = 0;
2150 for(Int_t i_samp = 0 ; i_samp < ReadMatSize ; i_samp++)
2153 for(Int_t j_samp = 0; j_samp < ReadMatSize ; j_samp++)
2156 StexStin, n_crys, j_samp);
2157 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)j_ygeo,
2158 (Double_t)read_matrix(i_samp, j_samp));
2166 TString quantity_code =
"D_MCs_ChNb";
2202 if( i_data_exist > 0 )
2214 TString name_cov_cor;
2216 name_cov_cor.Resize(MaxCar);
2223 name_visu.Resize(MaxCar);
2226 sprintf(f_in,
"%s_%s_%s_S1_%d_R%d_%d_%d_%s%d_%s%d_%s",
2235 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
2240 delete [] f_in; f_in = 0;
fCdelete++;
2251 MainCanvas->Divide(1, 1, x_margin, y_margin);
2255 gPad->SetLogy(logy);
2257 h_geo_bid->DrawCopy(
"COLZ");
2267 h_geo_bid->SetStats((Bool_t)1);
2271 delete [] f_in_mat_tit; f_in_mat_tit = 0;
fCdelete++;
2277 cout <<
"!TEcnaHistos::ViewStin(...)> *ERROR* =====> "
2279 << cStexStin <<
" not found."
2280 <<
" Available numbers = ";
2302 cout <<
"!TEcnaHistos::ViewStin(...)> *ERROR* =====> "
2303 <<
" ROOT file not found" <<
fTTBELL << endl;
2340 if( (SMNumber > 0) && (SMNumber <= fEcal->MaxSMInEB()) )
2351 Int_t nx_gbins = nb_bins*size_eta;
2352 Int_t ny_gbins = nb_bins*size_phi;
2354 Axis_t xinf_gbid = (Axis_t)0.;
2356 Axis_t yinf_gbid = (Axis_t)0.;
2359 TString fg_name =
"M0' crystals";
2360 TString fg_tit =
"Xtal numbering (chan. in tow, chan. in SM, Xtal in SM, hashed)";
2364 h_gbid =
new TH2D(fg_name.Data(), fg_tit.Data(),
2365 nx_gbins, xinf_gbid, xsup_gbid,
2366 ny_gbins, yinf_gbid, ysup_gbid);
fCnewRoot++;
2383 gStyle->SetPalette(1,0);
2395 sprintf(f_in,
"Crystal_Numbering_for_%s_X_%d_%s%d",
2400 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w , canv_h); fCnewRoot++;
2408 MainCanvas->Divide(1, 1, x_margin, y_margin);
2418 gStyle->SetMarkerColor(couleur_rouge);
2421 gPad->SetLogy(logy);
2425 h_gbid->SetStats(b_false);
2426 h_gbid->DrawCopy(
"COLZ");
2434 TText *text_elec_num =
new TText(); fCnewRoot++;
2435 if ( TowerLvrbType ==
"top" ){text_elec_num->SetTextColor(couleur_rouge);}
2436 if ( TowerLvrbType ==
"bottom" ){text_elec_num->SetTextColor(couleur_bleu_fonce);}
2437 text_elec_num->SetTextSize(0.04);
2440 TText *text_sme_num =
new TText(); fCnewRoot++;
2441 if ( TowerLvrbType ==
"top" ){text_sme_num->SetTextColor(couleur_rouge);}
2442 if ( TowerLvrbType ==
"bottom" ){text_sme_num->SetTextColor(couleur_bleu_fonce);}
2443 text_sme_num->SetTextSize(0.03);
2446 TText *text_sm_num =
new TText(); fCnewRoot++;
2447 text_sm_num->SetTextColor(couleur_noir);
2448 text_sm_num->SetTextSize(0.03);
2451 TText *text_hsd_num =
new TText(); fCnewRoot++;
2452 text_hsd_num->SetTextColor(couleur_noir);
2453 text_hsd_num->SetTextSize(0.03);
2458 Double_t off_set = (Double_t)1.;
2464 Int_t i_xgeo =
GetXSampInStin(SMNumber, n1SMTow, i_chan, i_samp);
2465 Int_t i_ygeo =
GetYSampInStin(SMNumber, n1SMTow, i_chan, i_samp);
2467 Double_t xgi = i_xgeo + 3.*off_set;
2468 Double_t ygj = i_ygeo + 7.*off_set;
2470 Double_t xgi_sme = i_xgeo + 3.*off_set;
2471 Double_t ygj_sme = i_ygeo + 5.*off_set;
2473 Double_t xgi_sm = i_xgeo + 3.*off_set;
2474 Double_t ygj_sm = i_ygeo + 3.*off_set;
2476 Double_t xgi_hsd = i_xgeo + 3.*off_set;
2477 Double_t ygj_hsd = i_ygeo + 1.*off_set;
2489 sprintf(f_in_elec,
"%d", i_chan);
2490 text_elec_num->DrawText(xgi, ygj, f_in_elec);
2492 sprintf(f_in_sme,
"%d", i_crys_sme);
2493 text_sme_num->DrawText(xgi_sme, ygj_sme, f_in_sme);
2495 sprintf(f_in_sm,
"%d", i_crys_sm);
2496 text_sm_num->DrawText(xgi_sm, ygj_sm, f_in_sm);
2498 sprintf(f_in_hsd,
"%d", i_crys_hsd);
2499 text_sm_num->DrawText(xgi_hsd, ygj_hsd, f_in_hsd);
2501 text_sm_num->Delete(); text_sm_num = 0;
fCdeleteRoot++;
2502 text_sme_num->Delete(); text_sme_num = 0;
fCdeleteRoot++;
2503 text_elec_num->Delete(); text_elec_num = 0;
fCdeleteRoot++;
2504 text_hsd_num->Delete(); text_hsd_num = 0;
fCdeleteRoot++;
2506 ViewStinGrid(SMNumber, n1SMTow, MatSize, size_eta, size_phi,
"CrystalNumbering");
2509 h_gbid->SetStats(b_true);
2513 delete [] f_in; f_in = 0;
fCdelete++;
2514 delete [] f_in_sm; f_in_sm = 0;
fCdelete++;
2515 delete [] f_in_sme; f_in_sme = 0;
fCdelete++;
2516 delete [] f_in_elec; f_in_elec = 0;
fCdelete++;
2520 cout <<
"!TEcnaHistos::TowerCrystalNumbering(...)> SM = " << SMNumber
2536 if( (DeeNumber > 0) && (DeeNumber <= fEcal->MaxDeeInEE()) )
2549 Int_t nx_gbins = nb_bins*size_IX;
2550 Int_t ny_gbins = nb_bins*size_IY;
2552 Axis_t xinf_gbid = (Axis_t)0.;
2554 Axis_t yinf_gbid = (Axis_t)0.;
2557 TString fg_name =
"crystalnbring";
2558 TString fg_tit =
"Xtal numbering for construction";
2561 h_gbid =
new TH2D(fg_name.Data(), fg_tit.Data(),
2562 nx_gbins, xinf_gbid, xsup_gbid,
2563 ny_gbins, yinf_gbid, ysup_gbid);
fCnewRoot++;
2579 gStyle->SetPalette(1,0);
2588 sprintf(f_in,
"Crystal_Numbering_for_%s_X_%d_%s%d",
2593 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w , canv_h); fCnewRoot++;
2602 MainCanvas->Divide(1, 1, x_margin, y_margin);
2612 gStyle->SetMarkerColor(couleur_rouge);
2615 gPad->SetLogy(logy);
2618 h_gbid->SetStats(b_false);
2620 h_gbid->DrawCopy(
"COLZ");
2627 Color_t couleur_SC =
GetSCColor(DeeEndcap, DeeDir, SCQuadType);
2630 TText *text_elec_num =
new TText(); fCnewRoot++;
2631 text_elec_num->SetTextColor(couleur_SC);
2632 text_elec_num->SetTextSize(0.06);
2642 Int_t i_xgeo =
GetXSampInStin(DeeNumber, n1DeeSCEcna, i_chan, i_samp);
2643 Int_t i_ygeo =
GetYSampInStin(DeeNumber, n1DeeSCEcna, i_chan, i_samp);
2645 Double_t xgi = i_xgeo + off_set;
2646 Double_t ygj = i_ygeo + 2*off_set;
2649 Int_t i_chan_p = i_chan+1;
2650 sprintf(f_in_elec,
"%d", i_chan_p);
2651 text_elec_num->DrawText(xgi, ygj, f_in_elec);
2653 text_elec_num->Delete(); text_elec_num = 0;
fCdeleteRoot++;
2658 h_gbid->SetStats(b_true);
2662 delete [] f_in; f_in = 0;
fCdelete++;
2663 delete [] f_in_elec; f_in_elec = 0;
fCdelete++;
2667 cout <<
"!TEcnaHistos::SCCrystalNumbering(...)> Dee = " << DeeNumber
2679 const Int_t& i0StinEcha,
const Int_t& i_samp)
2688 if( (btype ==
"EB+" && ctype ==
"bottom") || (btype ==
"EB-" && ctype ==
"top") )
2691 if( (btype ==
"EB+" && ctype ==
"top") || (btype ==
"EB-" && ctype ==
"bottom") )
2696 if( DeeDir ==
"right" )
2698 if( DeeDir ==
"left" )
2706 const Int_t& i0StinEcha,
const Int_t& j_samp)
2719 if( (btype ==
"EB+" && ctype ==
"top") || (btype ==
"EB-" && ctype ==
"bottom") )
2721 if( i0StinEcha >= 0 && i0StinEcha <= 4 ) {jy_geo = (i0StinEcha - 0)*
fEcal->
MaxSampADC() + j_samp;}
2722 if( i0StinEcha >= 5 && i0StinEcha <= 9 ) {jy_geo = -(i0StinEcha - 9)*
fEcal->
MaxSampADC() + j_samp;}
2723 if( i0StinEcha >= 10 && i0StinEcha <= 14 ) {jy_geo = (i0StinEcha - 10)*
fEcal->
MaxSampADC() + j_samp;}
2724 if( i0StinEcha >= 15 && i0StinEcha <= 19 ) {jy_geo = -(i0StinEcha - 19)*
fEcal->
MaxSampADC() + j_samp;}
2725 if( i0StinEcha >= 20 && i0StinEcha <= 24 ) {jy_geo = (i0StinEcha - 20)*
fEcal->
MaxSampADC() + j_samp;}
2728 if( (btype ==
"EB+" && ctype ==
"bottom") || (btype ==
"EB-" && ctype ==
"top") )
2730 if( i0StinEcha >= 0 && i0StinEcha <= 4 )
2732 if( i0StinEcha >= 5 && i0StinEcha <= 9 )
2734 if( i0StinEcha >= 10 && i0StinEcha <= 14 )
2736 if( i0StinEcha >= 15 && i0StinEcha <= 19 )
2738 if( i0StinEcha >= 20 && i0StinEcha <= 24 )
2757 const Int_t& StexStin,
const Int_t& MatSize,
2758 const Int_t& size_Hoco,
const Int_t& size_Veco,
2759 const TString chopt)
2764 size_Hoco, size_Veco, chopt);}
2766 size_Hoco, size_Veco, chopt);}
2777 const Int_t& n1SMTow,
const Int_t& MatSize,
2778 const Int_t& size_eta,
const Int_t& size_phi,
2779 const TString chopt)
2783 Double_t xline = 0.;
2785 Double_t yline_bot = 0.;
2786 Double_t yline_top = (Double_t)(MatSize*size_eta);
2788 for( Int_t
i = 0 ;
i < size_eta ;
i++)
2790 xline = xline + (Double_t)MatSize;
2792 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
2797 Double_t xline_left = 0;
2798 Double_t xline_right = (Double_t)(MatSize*size_eta);
2800 Double_t yline = -(Double_t)MatSize;
2802 for( Int_t
j = 0 ;
j < size_eta+1 ;
j++)
2804 yline = yline + (Double_t)MatSize;
2806 lin =
new TLine(xline_left, yline, xline_right, yline);
fCnewRoot++;
2827 new TF1(
"f1", x_direction.Data(), eta_min, eta_max);
fCnewRoot++;
2829 TGaxis* sup_axis_x = 0;
2831 if ( x_direction ==
"-x" )
2832 {sup_axis_x =
new TGaxis( -(Float_t)MatSize, (Float_t)0, (Float_t)(size_eta*MatSize), (Float_t)0.,
2833 "f1", size_eta,
"BCS" , 0.); fCnewRoot++;
2834 cout <<
"TEcnaHistosEB::ViewTowerGrid()> non foreseen case. eta with -x direction." <<
fTTBELL << endl;}
2836 if ( x_direction ==
"x" )
2837 {sup_axis_x =
new TGaxis( (Float_t)0. , (Float_t)0., (Float_t)(size_eta*MatSize), (Float_t)0.,
2838 "f1", size_eta,
"CS" , 0.); fCnewRoot++;}
2840 sup_axis_x->SetTitle(x_var_name);
2841 sup_axis_x->SetTitleSize(tit_siz_x);
2842 sup_axis_x->SetTitleOffset(tit_off_x);
2843 sup_axis_x->SetLabelSize(lab_siz_x);
2844 sup_axis_x->SetLabelOffset(lab_off_x);
2845 sup_axis_x->SetTickSize(tic_siz_x);
2846 sup_axis_x->Draw(
"SAME");
2855 if( chopt ==
"CrystalNumbering" )
2863 new TF1(
"f2", y_direction.Data(), phi_min, phi_max); fCnewRoot++;
2864 TGaxis* sup_axis_y = 0;
2866 if ( y_direction ==
"-x" )
2867 {sup_axis_y =
new TGaxis( (Float_t)(size_eta*MatSize), (Float_t)0.,
2868 (Float_t)(size_eta*MatSize), (Float_t)(size_phi*MatSize),
2869 "f2", size_phi,
"+CS", 0.); fCnewRoot++;}
2871 if ( y_direction ==
"x" )
2872 {sup_axis_y =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t) 0., (Float_t)(size_phi*MatSize),
2873 "f2", size_phi,
"BCS", 0.); fCnewRoot++;}
2875 sup_axis_y->SetTitle(y_var_name);
2876 sup_axis_y->SetTitleSize(tit_siz_y);
2877 sup_axis_y->SetTitleOffset(tit_off_y);
2878 sup_axis_y->SetLabelSize(lab_siz_y);
2879 sup_axis_y->SetLabelOffset(lab_off_y);
2880 sup_axis_y->SetTickSize(tic_siz_y);
2881 sup_axis_y->Draw(
"SAME");
2891 new TF1(
"f3", jy_direction.Data(), j_phi_min, j_phi_max); fCnewRoot++;
2892 TGaxis* sup_axis_jy = 0;
2894 sup_axis_jy =
new TGaxis( (Float_t)0., (Float_t)0.,
2895 (Float_t)0., (Float_t)(size_phi*MatSize),
2896 "f3", size_phi,
"SC", 0.); fCnewRoot++;
2898 sup_axis_jy->SetTitle(jy_var_name);
2899 sup_axis_jy->SetTitleSize(tit_siz_y);
2900 sup_axis_jy->SetTitleOffset(tit_off_y);
2901 sup_axis_jy->SetLabelSize(lab_siz_y);
2902 sup_axis_jy->SetLabelOffset(lab_off_y);
2903 sup_axis_jy->SetTickSize(tic_siz_y);
2904 sup_axis_jy->Draw(
"SAME");
2914 const Int_t& MatSize,
const Int_t& size_IX,
2915 const Int_t& size_IY,
const TString chopt)
2919 Double_t xline = 0.;
2921 Double_t yline_bot = 0.;
2922 Double_t yline_top = (Double_t)(MatSize*size_IX);
2924 for( Int_t
i = 0 ;
i < size_IX ;
i++)
2926 xline = xline + (Double_t)MatSize;
2928 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
2933 Double_t xline_left = 0;
2934 Double_t xline_right = (Double_t)(MatSize*size_IX);
2936 Double_t yline = -(Double_t)MatSize;
2938 for( Int_t
j = 0 ;
j < size_IX+1 ;
j++)
2940 yline = yline + (Double_t)MatSize;
2942 lin =
new TLine(xline_left, yline, xline_right, yline);
fCnewRoot++;
2954 Float_t axis_x_inf = 0;
2955 Float_t axis_x_sup = 0;
2956 Float_t axis_y_inf = 0;
2957 Float_t axis_y_sup = 0;
2958 Int_t axis_nb_div = 1;
2959 Double_t IX_values_min = 0;
2960 Double_t IX_values_max = 0;
2961 Option_t* axis_chopt =
"CS";
2969 TString StrDee =
"iIXSC";
2970 if( DeeNumber == 1 ){StrDee =
"iIXDee1";}
2971 if( DeeNumber == 2 ){StrDee =
"iIXDee2";}
2972 if( DeeNumber == 3 ){StrDee =
"iIXDee3";}
2973 if( DeeNumber == 4 ){StrDee =
"iIXDee4";}
2978 TGaxis* sup_axis_x = 0;
2980 if( DeeNumber == 1 )
2982 axis_x_inf = 0; axis_y_inf = 0; axis_x_sup = size_IX*MatSize; axis_y_sup = 0;
2983 axis_nb_div = size_IX;
2984 IX_values_min = -IX_min ; IX_values_max = -IX_max; axis_chopt =
"CS";
2986 if( DeeNumber == 2 )
2988 axis_x_inf = 0; axis_y_inf = 0; axis_x_sup = size_IX*MatSize; axis_y_sup = 0;
2989 axis_nb_div = size_IX;
2990 IX_values_min = IX_min ; IX_values_max = IX_max; axis_chopt =
"CS";
2992 if( DeeNumber == 3 )
2994 axis_x_inf = 0; axis_y_inf = 0; axis_x_sup = size_IX*MatSize; axis_y_sup = 0;
2995 axis_nb_div = size_IX;
2996 IX_values_min = IX_min ; IX_values_max = IX_max; axis_chopt =
"CS";
2998 if( DeeNumber == 4 )
3000 axis_x_inf = 0; axis_y_inf = 0; axis_x_sup = size_IX*MatSize; axis_y_sup = 0;
3001 axis_nb_div = size_IX;
3002 IX_values_min = -IX_min ; IX_values_max = -IX_max; axis_chopt =
"CS";
3005 new TF1(
"f1", x_direction.Data(), IX_values_min, IX_values_max);
fCnewRoot++;
3006 sup_axis_x =
new TGaxis( axis_x_inf, axis_y_inf, axis_x_sup, axis_y_sup,
3007 "f1", axis_nb_div, axis_chopt , 0.); fCnewRoot++;
3009 sup_axis_x->SetTitle(x_var_name);
3010 sup_axis_x->SetTitleSize(tit_siz_x);
3011 sup_axis_x->SetTitleOffset(tit_off_x);
3012 sup_axis_x->SetLabelSize(lab_siz_x);
3013 sup_axis_x->SetLabelOffset(lab_off_x);
3014 sup_axis_x->SetTickSize(tic_siz_x);
3015 sup_axis_x->Draw(
"SAME");
3031 new TF1(
"f2", jy_direction.Data(), j_IY_min, j_IY_max); fCnewRoot++;
3033 TGaxis* sup_axis_jy =
new TGaxis( (Float_t)0., (Float_t)0.,
3034 (Float_t)0., (Float_t)(size_IY*MatSize),
3035 "f2", size_IY,
"CS", 0.); fCnewRoot++;
3037 sup_axis_jy->SetTitle(jy_var_name);
3038 sup_axis_jy->SetTitleSize(tit_siz_y);
3039 sup_axis_jy->SetTitleOffset(tit_off_y);
3040 sup_axis_jy->SetLabelSize(lab_siz_y);
3041 sup_axis_jy->SetLabelOffset(lab_off_y);
3042 sup_axis_jy->SetTickSize(tic_siz_y);
3043 sup_axis_jy->Draw();
3062 const TString HistoCode)
3066 Bool_t OKFileExists = kFALSE;
3067 Bool_t OKData = kFALSE;
3069 Int_t n1StexStin = -1;
3081 if( OKFileExists == kTRUE )
3093 if( arg_AlreadyRead >= 1 )
3095 OKFileExists = kTRUE;
3098 if( OKFileExists == kTRUE )
3104 sprintf(f_in_mat_tit,
"?");
3106 if (HistoCode ==
"D_NOE_ChNb") {sprintf(f_in_mat_tit,
"Number of events");}
3107 if (HistoCode ==
"D_Ped_ChNb") {sprintf(f_in_mat_tit,
"Pedestals");}
3108 if (HistoCode ==
"D_TNo_ChNb") {sprintf(f_in_mat_tit,
"Total noise");}
3109 if (HistoCode ==
"D_MCs_ChNb") {sprintf(f_in_mat_tit,
"Mean cor(s,s')");}
3110 if (HistoCode ==
"D_LFN_ChNb") {sprintf(f_in_mat_tit,
"Low frequency noise");}
3111 if (HistoCode ==
"D_HFN_ChNb") {sprintf(f_in_mat_tit,
"High frequency noise");}
3112 if (HistoCode ==
"D_SCs_ChNb") {sprintf(f_in_mat_tit,
"Sigma of cor(s,s')");}
3118 Int_t nb_binx = GeoBidSizeHoco;
3119 Int_t nb_biny = GeoBidSizeVeco;
3120 Axis_t xinf_bid = (Axis_t)0.;
3121 Axis_t xsup_bid = (Axis_t)GeoBidSizeHoco;
3122 Axis_t yinf_bid = (Axis_t)0.;
3123 Axis_t ysup_bid = (Axis_t)GeoBidSizeVeco;
3125 TString axis_x_var_name =
" #Hoco ";
3126 TString axis_y_var_name =
" #Veco ";
3130 TH2D* h_geo_bid =
new TH2D(
"geobidim_ViewStex", f_in_mat_tit,
3131 nb_binx, xinf_bid, xsup_bid,
3132 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
3143 if (HistoCode ==
"D_Ped_ChNb" ){
3145 if (HistoCode ==
"D_TNo_ChNb" ){
3147 if (HistoCode ==
"D_MCs_ChNb" ){
3149 if (HistoCode ==
"D_LFN_ChNb" ){
3151 if (HistoCode ==
"D_HFN_ChNb" ){
3153 if (HistoCode ==
"D_SCs_ChNb" ){
3159 if( arg_AlreadyRead >= 1 )
3161 partial_histp = arg_read_histo;
3166 TMatrixD read_matrix(nb_binx, nb_biny);
3167 for(Int_t
i=0;
i<nb_binx;
i++)
3168 {
for(Int_t
j=0;
j<nb_biny;
j++){read_matrix(
i,
j)=(Double_t)0.;}}
3170 if ( OKData == kTRUE )
3178 if( arg_AlreadyRead >= 1 )
3179 {n1StexStin = i0StexStinEcna+1;}
3181 if (n1StexStin != -1)
3190 if(i_xgeo >=0 && i_xgeo < nb_binx && i_ygeo >=0 && i_ygeo < nb_biny)
3192 read_matrix(i_xgeo, i_ygeo) = partial_histp(iStexEcha);
3193 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
3194 (Double_t)read_matrix(i_xgeo, i_ygeo));
3252 TString name_cov_cor;
3254 name_cov_cor.Resize(MaxCar);
3257 if( HistoCode ==
"D_NOE_ChNb"){name_cov_cor =
"Nb_Of_D_Adc_EvDs";}
3258 if( HistoCode ==
"D_Ped_ChNb"){name_cov_cor =
"Pedestals";}
3259 if( HistoCode ==
"D_TNo_ChNb"){name_cov_cor =
"Total_noise";}
3260 if( HistoCode ==
"D_MCs_ChNb"){name_cov_cor =
"Mean_Corss";}
3261 if( HistoCode ==
"D_LFN_ChNb"){name_cov_cor =
"Low_Fq_Noise";}
3262 if( HistoCode ==
"D_HFN_ChNb"){name_cov_cor =
"High_Fq_Noise";}
3263 if( HistoCode ==
"D_SCs_ChNb"){name_cov_cor =
"Sigma_Corss";}
3267 name_visu.Resize(MaxCar);
3270 TString flag_already_read;
3272 flag_already_read.Resize(MaxCar);
3273 flag_already_read =
"?";
3274 sprintf(f_in,
"M%d", arg_AlreadyRead); flag_already_read = f_in;
3276 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%s%d_%s_HocoVeco_R%s",
3279 name_visu.Data(), flag_already_read.Data());
3284 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
3289 delete [] f_in; f_in = 0;
fCdelete++;
3300 Double_t x_margin = x_low;
3301 Double_t y_margin = y_low;
3302 MainCanvas->Divide( 1, 1, x_margin, y_margin);
3309 TVirtualPad* main_subpad = gPad;
3310 main_subpad->SetPad(x_low, y_low, x_up, y_up);}
3313 h_geo_bid->GetXaxis()->SetTitle(axis_x_var_name);
3314 h_geo_bid->GetYaxis()->SetTitle(axis_y_var_name);
3316 h_geo_bid->DrawCopy(
"COLZ");
3325 h_geo_bid->SetStats(b_true);
3330 delete [] f_in_mat_tit; f_in_mat_tit = 0;
fCdelete++;
3336 cout <<
"!TEcnaHistos::ViewStex(...)> *ERROR* =====> "
3337 <<
" ROOT file not found" <<
fTTBELL << endl;
3376 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') for each tower in SM");}
3378 {sprintf(f_in_mat_tit,
"HF Cor(Xtal,Xtal') for each tower in SM");}
3380 {sprintf(f_in_mat_tit,
"LF Cor(Xtal,Xtal') for each SC in Dee");}
3382 {sprintf(f_in_mat_tit,
"HF Cor(Xtal,Xtal') for each SC in Dee");}
3388 Int_t nb_binx = GeoBidSizeHoco;
3389 Int_t nb_biny = GeoBidSizeVeco;
3390 Axis_t xinf_bid = (Axis_t)0.;
3391 Axis_t xsup_bid = (Axis_t)GeoBidSizeHoco;
3392 Axis_t yinf_bid = (Axis_t)0.;
3393 Axis_t ysup_bid = (Axis_t)GeoBidSizeVeco;
3395 TString axis_x_var_name =
" #Hoco ";
3396 TString axis_y_var_name =
" #varVeco ";
3426 TH2D* h_geo_bid =
new TH2D(
"geobidim_HocoVecoLHFCorcc", f_in_mat_tit,
3427 nb_binx, xinf_bid, xsup_bid,
3428 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
3435 Int_t n1StexStin = (Int_t)Stin_numbers(i0StexStinEcna);
3439 if (n1StexStin != -1)
3447 Int_t i_xgeo = offset_x + i0StinEcha;
3448 Int_t i_ygeo = offset_y + j0StinEcha;
3450 if(i_xgeo >=0 && i_xgeo < nb_binx && i_ygeo >=0 && i_ygeo < nb_biny)
3455 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
3456 (Double_t)partial_matrix(iEcha, jEcha));
3465 TString HistoCode =
"H2CorccInStins";
3506 TString name_cov_cor;
3508 name_cov_cor.Resize(MaxCar);
3509 if( Freq ==
"LF" ){name_cov_cor =
"StexLFCorcc";}
3510 if( Freq ==
"HF" ){name_cov_cor =
"StexHFCorcc";}
3514 name_visu.Resize(MaxCar);
3517 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_Stex%s%d_%s_HocoVeco",
3525 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
3531 delete [] f_in; f_in = 0;
fCdelete++;
3542 Double_t x_margin = x_low;
3543 Double_t y_margin = y_low;
3544 MainCanvas->Divide( 1, 1, x_margin, y_margin);
3552 TVirtualPad* main_subpad = gPad;
3553 main_subpad->SetPad(x_low, y_low, x_up, y_up);
3556 h_geo_bid->GetXaxis()->SetTitle(axis_x_var_name);
3557 h_geo_bid->GetYaxis()->SetTitle(axis_y_var_name);
3559 h_geo_bid->DrawCopy(
"COLZ");
3568 h_geo_bid->SetStats(b_true);
3574 delete [] f_in_mat_tit; f_in_mat_tit = 0;
fCdelete++;
3580 cout <<
"!TEcnaHistos::StexHocoVecoLHFCorcc(...)> *ERROR* =====> "
3581 <<
" ROOT file not found" <<
fTTBELL << endl;
3591 const Int_t& i0StinEcha)
3607 if( DeeDir ==
"right" )
3609 if( DeeDir ==
"left" )
3616 const Int_t& j0StinEcha)
3689 if( (SMNumber > 0) && (SMNumber <= fEcal->MaxSMInEB()) )
3694 Int_t nb_binx = GeoBidSizeEta;
3695 Int_t nb_biny = GeoBidSizePhi;
3696 Axis_t xinf_bid = (Axis_t)0.;
3697 Axis_t xsup_bid = (Axis_t)GeoBidSizeEta;
3698 Axis_t yinf_bid = (Axis_t)0.;
3699 Axis_t ysup_bid = (Axis_t)GeoBidSizePhi;
3701 TString axis_x_var_name =
" #eta ";
3702 TString axis_y_var_name =
" #varphi ";
3709 sprintf(f_in_mat_tit,
"SM tower numbering");
3713 TH2D* h_empty_bid =
new TH2D(
"grid_bidim_eta_phi", f_in_mat_tit,
3714 nb_binx, xinf_bid, xsup_bid,
3715 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
3716 h_empty_bid->Reset();
3718 h_empty_bid->GetXaxis()->SetTitle(axis_x_var_name);
3719 h_empty_bid->GetYaxis()->SetTitle(axis_y_var_name);
3739 sprintf(f_in,
"tower_numbering_for_SuperModule_SM%d", SMNumber);
3743 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
3748 delete [] f_in; f_in = 0;
fCdelete++;
3755 MainCanvas->Divide(1, 1, x_margin, y_margin);
3758 h_empty_bid->DrawCopy(
"COL");
3765 h_empty_bid->SetStats(b_true);
3767 h_empty_bid->Delete(); h_empty_bid = 0;
fCdeleteRoot++;
3771 delete [] f_in_mat_tit; f_in_mat_tit = 0;
fCdelete++;
3775 cout <<
"!TEcnaHistos::SMTowerNumbering(...)> SM = " << SMNumber
3785 gStyle->SetTitleW(0.2);
3786 gStyle->SetTitleH(0.07);
3796 gStyle->SetTextSize(0.075);
3799 Int_t y_channel = 12;
3800 Int_t x_channel = 12;
3806 TText *text_SMtow_num =
new TText();
fCnewRoot++;
3811 {text_SMtow_num->SetTextColor(couleur_rouge);}
3813 {text_SMtow_num->SetTextColor(couleur_bleu_fonce);}
3821 Double_t y_from_phi = max_tow_phi - 1
3826 sprintf(f_in,
"%d", i_SMtow);
3827 text_SMtow_num->DrawText(x_from_eta, y_from_phi, f_in);
3830 text_SMtow_num->Delete(); text_SMtow_num = 0;
fCdeleteRoot++;
3833 Double_t offset_tow_tex_eta = (Double_t)8.;
3834 Double_t offset_tow_tex_phi = (Double_t)15.;
3837 Double_t x_legend = (Double_t)0.;
3838 Double_t y_legend = (Double_t)0.;
3843 gStyle->SetTextSize(0.075);
3844 gStyle->SetTextColor(couleur_rouge);
3850 x_legend = x_legend + offset_tow_tex_eta;
3851 y_legend = y_legend + offset_tow_tex_phi;
3855 x_legend = -x_legend + offset_tow_tex_eta;
3856 y_legend = y_legend + offset_tow_tex_phi;
3859 sprintf( f_in,
"xx");
3860 TText *text_legend_rouge =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3861 text_legend_rouge->Draw();
3862 gStyle->SetTextSize(0.05);
3863 x_legend = x_legend - (Double_t)3.5;
3864 y_legend = y_legend - (Double_t)2.;
3865 sprintf(f_in,
" LVRB ");
3866 TText *text_legend_rouge_expl =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3867 text_legend_rouge_expl->Draw();
3868 y_legend = y_legend - (Double_t)1.75;
3871 TText *text_legend_rouge_expm =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3872 text_legend_rouge_expm->Draw();
3876 gStyle->SetTextSize(0.075);
3877 gStyle->SetTextColor(couleur_bleu_fonce);
3883 x_legend = x_legend + offset_tow_tex_eta;
3884 y_legend = y_legend + offset_tow_tex_phi/3;
3888 x_legend = -x_legend + offset_tow_tex_eta;
3889 y_legend = y_legend + offset_tow_tex_phi/3;
3892 sprintf(f_in,
"xx");
3893 TText *text_legend_bleu =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3894 text_legend_bleu->Draw();
3896 gStyle->SetTextSize(0.05);
3897 x_legend = x_legend - (Double_t)3.5;
3898 y_legend = y_legend - (Double_t)2.;
3899 sprintf( f_in,
" LVRB ");
3900 TText *text_legend_bleu_expl =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3901 text_legend_bleu_expl->Draw();
3902 y_legend = y_legend - (Double_t)1.75;
3905 TText *text_legend_bleu_expm =
new TText(x_legend, y_legend, f_in);
fCnewRoot++;
3906 text_legend_bleu_expm->Draw();
3909 delete [] f_in; f_in = 0;
fCdelete++;
3911 gStyle->SetTextColor(couleur_noir);
3922 if ( c_option ==
"corcc")
3928 Int_t nb_binx = GeoBidSizeEta;
3929 Int_t nb_biny = GeoBidSizePhi;
3930 Axis_t xinf_bid = (Axis_t)0.;
3931 Axis_t xsup_bid = (Axis_t)GeoBidSizeEta;
3932 Axis_t yinf_bid = (Axis_t)0.;
3933 Axis_t ysup_bid = (Axis_t)GeoBidSizePhi;
3939 if ( c_option ==
"corcc")
3944 Int_t max_x = nb_binx/size_eta;
3945 Int_t max_y = nb_biny/size_phi;
3948 Double_t yline = (Double_t)yinf_bid;
3950 Double_t xline_left = (Double_t)xinf_bid;
3951 Double_t xline_right = (Double_t)xsup_bid;
3953 for( Int_t
j = 0 ;
j < max_y ;
j++)
3955 yline = yline + (Double_t)size_phi;
3957 lin =
new TLine(xline_left, yline, xline_right, yline);
fCnewRoot++;
3963 Double_t xline = (Double_t)xinf_bid - (Double_t)size_eta;
3965 Double_t yline_bot = (Double_t)yinf_bid;
3966 Double_t yline_top = (Double_t)ysup_bid;
3972 gStyle->SetTextColor(coul_textmodu);
3973 gStyle->SetTextSize(0.075);
3977 for( Int_t
i = 0 ;
i < max_x ;
i++)
3979 xline = xline + (Double_t)size_eta;
3981 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
3985 {lin->SetLineWidth(2); lin->SetLineColor(coul_surligne);}
3987 {lin->SetLineWidth(2); lin->SetLineColor(coul_surligne);}
3995 if(
i == 2 ){sprintf( f_in,
"M4");}
3996 if(
i == 6 ){sprintf( f_in,
"M3");}
3997 if(
i == 10 ){sprintf( f_in,
"M2");}
3998 if(
i == 14 ){sprintf( f_in,
"M1");}
4000 TText *text_num_module =
new TText(xline + 1, yline_top + 1, f_in);
fCnewRoot++;
4001 text_num_module->Draw();
4006 if(
i == 3 ){sprintf( f_in,
"M1");}
4007 if(
i == 7 ){sprintf( f_in,
"M2");}
4008 if(
i == 11 ){sprintf( f_in,
"M3");}
4009 if(
i == 15 ){sprintf( f_in,
"M4");}
4011 TText *text_num_module =
new TText(xline, yline_top + 1, f_in);
fCnewRoot++;
4012 text_num_module->Draw();
4016 delete [] f_in; f_in = 0;
fCdelete++;
4039 new TF1(
"f1", x_direction.Data(), eta_min, eta_max);
fCnewRoot++;
4040 TGaxis* sup_axis_x = 0;
4042 if( x_direction ==
"-x" )
4043 {sup_axis_x =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t)(size_eta_sm*MatSize), (Float_t)0.,
4044 "f1", size_eta_sm,
"SC" , 0.); fCnewRoot++;}
4046 if( x_direction ==
"x" )
4047 {sup_axis_x =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t)(size_eta_sm*MatSize), (Float_t)0.,
4048 "f1", size_eta_sm,
"SC" , 0.); fCnewRoot++;}
4050 sup_axis_x->SetTitle(x_var_name);
4051 sup_axis_x->SetTitleSize(tit_siz_x);
4052 sup_axis_x->SetTitleOffset(tit_off_x);
4053 sup_axis_x->SetLabelSize(lab_siz_x);
4054 sup_axis_x->SetLabelOffset(lab_off_x);
4055 sup_axis_x->SetTickSize(tic_siz_x);
4056 sup_axis_x->Draw(
"SAME");
4071 new TF1(
"f2", y_direction.Data(), phi_min, phi_max); fCnewRoot++;
4072 TGaxis* sup_axis_y = 0;
4074 if ( y_direction ==
"-x" )
4075 {sup_axis_y =
new TGaxis(-(Float_t)1.5*(Float_t)size_eta, (Float_t)0.,
4076 -(Float_t)1.5*(Float_t)size_eta, (Float_t)(size_phi_sm*MatSize),
4077 "f2", (Int_t)size_phi_sm,
"SC", 0.); fCnewRoot++;}
4079 if ( y_direction ==
"x" )
4080 {sup_axis_y =
new TGaxis(-(Float_t)1.5*(Float_t)size_eta, (Float_t)0.,
4081 -(Float_t)1.5*(Float_t)size_eta, (Float_t)(size_phi_sm*MatSize),
4082 "f2", (Int_t)size_phi_sm,
"SC", 0.); fCnewRoot++;}
4084 sup_axis_y->SetTitle(y_var_name);
4085 sup_axis_y->SetTitleSize(tit_siz_y);
4086 sup_axis_y->SetTitleOffset(tit_off_y);
4087 sup_axis_y->SetLabelSize(lab_siz_y);
4088 sup_axis_y->SetLabelOffset(lab_off_y);
4089 sup_axis_y->SetTickSize(tic_siz_y);
4090 sup_axis_y->Draw(
"SAME");
4096 TString jy_var_name =
" ";
4099 new TF1(
"f3", jy_direction.Data(), jphi_min, jphi_max); fCnewRoot++;
4100 TGaxis* sup_axis_jy = 0;
4103 sup_axis_jy =
new TGaxis((Float_t)0., (Float_t)0.,
4104 (Float_t)0., (Float_t)(size_phi_sm*MatSize),
4105 "f3", (Int_t)size_phi_sm,
"SC", 0.); fCnewRoot++;
4107 if ( jy_direction ==
"-x" )
4110 if ( jy_direction ==
"x" )
4115 sup_axis_jy->SetTitle(jy_var_name);
4116 sup_axis_jy->SetTitleSize(tit_siz_y);
4117 sup_axis_jy->SetTitleOffset(tit_off_y);
4118 sup_axis_jy->SetLabelSize(lab_siz_y);
4119 sup_axis_jy->SetLabelOffset(lab_off_y);
4120 sup_axis_jy->SetTickSize(tic_siz_y);
4121 sup_axis_jy->Draw(
"SAME");
4134 if( (DeeNumber > 0) && (DeeNumber <= fEcal->MaxDeeInEE()) )
4139 Int_t nb_binx = GeoBidSizeIX;
4140 Int_t nb_biny = GeoBidSizeIY;
4141 Axis_t xinf_bid = (Axis_t)0.;
4142 Axis_t xsup_bid = (Axis_t)GeoBidSizeIX;
4143 Axis_t yinf_bid = (Axis_t)0.;
4144 Axis_t ysup_bid = (Axis_t)GeoBidSizeIY;
4146 TString axis_x_var_name =
" IX ";
4147 TString axis_y_var_name =
" IY ";
4153 sprintf(f_in_mat_tit,
" Dee SC numbering ");
4157 TH2D* h_empty_bid =
new TH2D(
"grid_bidim_IX_IY", f_in_mat_tit,
4158 nb_binx, xinf_bid, xsup_bid,
4159 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
4160 h_empty_bid->Reset();
4162 h_empty_bid->GetXaxis()->SetTitle(axis_x_var_name);
4163 h_empty_bid->GetYaxis()->SetTitle(axis_y_var_name);
4182 sprintf(f_in,
"SC_numbering_for_Dee_Dee%d", DeeNumber);
4184 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
4189 delete [] f_in; f_in = 0;
fCdelete++;
4200 Double_t x_margin = x_low;
4201 Double_t y_margin = y_low;
4203 MainCanvas->Divide( 1, 1, x_margin, y_margin);
4207 TVirtualPad* main_subpad = gPad;
4208 main_subpad->SetPad(x_low, y_low, x_up, y_up);
4210 h_empty_bid->DrawCopy(
"COL");
4216 h_empty_bid->SetStats(b_true);
4218 h_empty_bid->Delete(); h_empty_bid = 0;
fCdeleteRoot++;
4222 delete [] f_in_mat_tit; f_in_mat_tit = 0;
fCdelete++;
4226 cout <<
"!TEcnaHistos::DeeSCNumbering(...)> Dee = " << DeeNumber
4236 gStyle->SetTitleW(0.4);
4237 gStyle->SetTitleH(0.08);
4244 gStyle->SetTextSize(0.0325);
4247 Int_t x_channel = 0;
4248 TText *text_DSSC_num =
new TText();
fCnewRoot++;
4249 TText *text_DeeSCCons_num =
new TText();
fCnewRoot++;
4255 if( SCQuadType ==
"top" && DeeDir ==
"right"){x_channel = 13;}
4256 if( SCQuadType ==
"top" && DeeDir ==
"left" ){x_channel = 7;}
4257 if( SCQuadType ==
"bottom" && DeeDir ==
"left" ){x_channel = 11;}
4258 if( SCQuadType ==
"bottom" && DeeDir ==
"right"){x_channel = 17;}
4259 Int_t i_SCEcha = (Int_t)x_channel;
4261 Double_t x_from_IX = (Double_t)
GetXCrysInStex(DeeNumber, n1DeeSCEcna, i_SCEcha);
4262 Double_t y_from_IY = (Double_t)
GetYCrysInStex(DeeNumber, n1DeeSCEcna, i_SCEcha);
4263 Double_t y_from_IYp = y_from_IY + (Double_t)1.;
4264 Double_t y_from_IYm = y_from_IY - (Double_t)1.;
4267 Color_t couleur_SC =
GetSCColor(DeeEndcap, DeeDir, SCQuadType);
4268 text_DSSC_num->SetTextColor(couleur_SC);
4269 text_DeeSCCons_num->SetTextColor((Color_t)1);
4277 !(i_DeeSCCons == 33 && n1DeeSCEcna == 60) &&
4278 !(i_DeeSCCons == 33 && n1DeeSCEcna == 119) &&
4280 !(i_DeeSCCons == 29 && n1DeeSCEcna == 32) &&
4281 !(i_DeeSCCons == 29 && n1DeeSCEcna == 138) &&
4282 !(i_DeeSCCons == 29 && n1DeeSCEcna == 157) &&
4283 !(i_DeeSCCons == 58 && n1DeeSCEcna == 176) &&
4284 !(i_DeeSCCons == 58 && n1DeeSCEcna == 193) &&
4286 !(i_DeeSCCons == 149 && n1DeeSCEcna == 188) &&
4288 !(i_DeeSCCons == 112 && n1DeeSCEcna == 29) &&
4289 !(i_DeeSCCons == 112 && n1DeeSCEcna == 144) &&
4290 !(i_DeeSCCons == 112 && n1DeeSCEcna == 165) &&
4291 !(i_DeeSCCons == 119 && n1DeeSCEcna == 102) &&
4292 !(i_DeeSCCons == 119 && n1DeeSCEcna == 123) &&
4294 !(i_DeeSCCons == 132 && n1DeeSCEcna == 41) &&
4297 !(i_DeeSCCons == 182 && n1DeeSCEcna == 60) &&
4298 !(i_DeeSCCons == 182 && n1DeeSCEcna == 119) &&
4300 !(i_DeeSCCons == 178 && n1DeeSCEcna == 32) &&
4301 !(i_DeeSCCons == 178 && n1DeeSCEcna == 138) &&
4302 !(i_DeeSCCons == 178 && n1DeeSCEcna == 157) &&
4303 !(i_DeeSCCons == 207 && n1DeeSCEcna == 176) &&
4304 !(i_DeeSCCons == 207 && n1DeeSCEcna == 193) &&
4306 !(i_DeeSCCons == 298 && n1DeeSCEcna == 188) &&
4308 !(i_DeeSCCons == 261 && n1DeeSCEcna == 29) &&
4309 !(i_DeeSCCons == 261 && n1DeeSCEcna == 144) &&
4310 !(i_DeeSCCons == 261 && n1DeeSCEcna == 165) &&
4311 !(i_DeeSCCons == 268 && n1DeeSCEcna == 102) &&
4312 !(i_DeeSCCons == 268 && n1DeeSCEcna == 123) &&
4314 !(i_DeeSCCons == 281 && n1DeeSCEcna == 41)
4317 sprintf(f_in,
"%d", i_DSSC);
4318 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4319 sprintf(f_in,
"%d", i_DeeSCCons);
4320 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4325 if( i_DeeSCCons == 33 && n1DeeSCEcna == 60 )
4327 sprintf(f_in,
"30a");
4328 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4329 sprintf(f_in,
"33a");
4330 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4332 if( i_DeeSCCons == 33 && n1DeeSCEcna == 119 )
4334 sprintf(f_in,
"30b");
4335 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4336 sprintf(f_in,
"33b");
4337 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4340 if( i_DeeSCCons == 29 && n1DeeSCEcna == 32 )
4342 sprintf(f_in,
" 3c-25c");
4343 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4344 sprintf(f_in,
"29c-58c");
4345 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4347 if( i_DeeSCCons == 29 && n1DeeSCEcna == 138 )
4349 sprintf(f_in,
"3a");
4350 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4351 sprintf(f_in,
"29a");
4352 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4354 if( i_DeeSCCons == 29 && n1DeeSCEcna == 157 )
4356 sprintf(f_in,
"3b");
4357 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4358 sprintf(f_in,
"29b");
4359 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4362 if( i_DeeSCCons == 58 && n1DeeSCEcna == 176 )
4364 sprintf(f_in,
"25a");
4365 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4366 sprintf(f_in,
"58a");
4367 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4369 if( i_DeeSCCons == 58 && n1DeeSCEcna == 193 )
4371 sprintf(f_in,
"25b");
4372 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4373 sprintf(f_in,
"58b");
4374 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4377 if( i_DeeSCCons == 149 && n1DeeSCEcna == 188 )
4379 sprintf(f_in,
"34a");
4380 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4381 sprintf(f_in,
"149a");
4382 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4385 if( i_DeeSCCons == 112 && n1DeeSCEcna == 29 )
4387 sprintf(f_in,
" 14a-21a");
4388 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4389 sprintf(f_in,
"112a-119a");
4390 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4392 if( i_DeeSCCons == 112 && n1DeeSCEcna == 144 )
4394 sprintf(f_in,
"14c");
4395 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4396 sprintf(f_in,
"112c");
4397 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4399 if( i_DeeSCCons == 112 && n1DeeSCEcna == 165 )
4401 sprintf(f_in,
"14b");
4402 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4403 sprintf(f_in,
"112b");
4404 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4407 if( i_DeeSCCons == 119 && n1DeeSCEcna == 102 )
4409 sprintf(f_in,
"21c");
4410 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4411 sprintf(f_in,
"119c");
4412 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4414 if( i_DeeSCCons == 119 && n1DeeSCEcna == 123 )
4416 sprintf(f_in,
"21b");
4417 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4418 sprintf(f_in,
"119b");
4419 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4422 if( i_DeeSCCons == 132 && n1DeeSCEcna == 41 )
4424 sprintf(f_in,
"3a");
4425 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4426 sprintf(f_in,
"132a");
4427 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4431 if( i_DeeSCCons == 182 && n1DeeSCEcna == 60 )
4433 sprintf(f_in,
"30a");
4434 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4435 sprintf(f_in,
"182a");
4436 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4438 if( i_DeeSCCons == 182 && n1DeeSCEcna == 119 )
4440 sprintf(f_in,
"30b");
4441 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4442 sprintf(f_in,
"182b");
4443 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4446 if( i_DeeSCCons == 178 && n1DeeSCEcna == 32 )
4448 sprintf(f_in,
" 3c-25c");
4449 text_DSSC_num->DrawText(x_from_IX-6, y_from_IYp, f_in);
4450 sprintf(f_in,
"178c-207c");
4451 text_DeeSCCons_num->DrawText(x_from_IX-6, y_from_IYm, f_in);
4453 if( i_DeeSCCons == 178 && n1DeeSCEcna == 138 )
4455 sprintf(f_in,
"3a");
4456 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4457 sprintf(f_in,
"178a");
4458 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4460 if( i_DeeSCCons == 178 && n1DeeSCEcna == 157 )
4462 sprintf(f_in,
"3b");
4463 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4464 sprintf(f_in,
"178b");
4465 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4468 if( i_DeeSCCons == 207 && n1DeeSCEcna == 176 )
4470 sprintf(f_in,
"25a");
4471 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4472 sprintf(f_in,
"207a");
4473 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4475 if( i_DeeSCCons == 207 && n1DeeSCEcna == 193 )
4477 sprintf(f_in,
"25b");
4478 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4479 sprintf(f_in,
"207b");
4480 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4483 if( i_DeeSCCons == 298 && n1DeeSCEcna == 188 )
4485 sprintf(f_in,
"34a");
4486 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4487 sprintf(f_in,
"298a");
4488 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4491 if( i_DeeSCCons == 261 && n1DeeSCEcna == 29 )
4493 sprintf(f_in,
" 14a-21a");
4494 text_DSSC_num->DrawText(x_from_IX-6, y_from_IYp, f_in);
4495 sprintf(f_in,
"261a-268a");
4496 text_DeeSCCons_num->DrawText(x_from_IX-6, y_from_IYm, f_in);
4498 if( i_DeeSCCons == 261 && n1DeeSCEcna == 144 )
4500 sprintf(f_in,
"14c");
4501 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4502 sprintf(f_in,
"261c");
4503 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4505 if( i_DeeSCCons == 261 && n1DeeSCEcna == 165 )
4507 sprintf(f_in,
"14b");
4508 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4509 sprintf(f_in,
"261b");
4510 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4513 if( i_DeeSCCons == 268 && n1DeeSCEcna == 102 )
4515 sprintf(f_in,
"21c");
4516 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4517 sprintf(f_in,
"268c");
4518 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4520 if( i_DeeSCCons == 268 && n1DeeSCEcna == 123 )
4522 sprintf(f_in,
"21b");
4523 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4524 sprintf(f_in,
"268b");
4525 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4528 if( i_DeeSCCons == 281 && n1DeeSCEcna == 41 )
4530 sprintf(f_in,
"20a");
4531 text_DSSC_num->DrawText(x_from_IX, y_from_IYp, f_in);
4532 sprintf(f_in,
"281a");
4533 text_DeeSCCons_num->DrawText(x_from_IX, y_from_IYm, f_in);
4542 sprintf( f_in,
"color: nb in Data Sector, black: nb for construction");
4544 Int_t y_colors = -14;
4546 TText *text_colors =
new TText(x_colors, y_colors, f_in);
fCnewRoot++;
4547 text_colors->SetTextSize(0.03);
4548 text_colors->SetTextColor(coul_textcolors);
4549 text_colors->Draw();
4551 delete [] f_in; f_in = 0;
fCdelete++;
4554 gStyle->SetTextColor(couleur_noir);
4565 if ( c_option ==
"corcc")
4571 Int_t nb_binx = GeoBidSizeIX;
4572 Int_t nb_biny = GeoBidSizeIY;
4573 Axis_t xinf_bid = (Axis_t)0.;
4574 Axis_t xsup_bid = (Axis_t)GeoBidSizeIX;
4576 Axis_t yinf_bid = (Axis_t)0.;
4577 Axis_t ysup_bid = (Axis_t)GeoBidSizeIY;
4578 Double_t ymid_bid = (Double_t)(ysup_bid-yinf_bid)/2.;
4587 Int_t max_x = nb_binx/size_IX;
4588 Int_t max_y = nb_biny/size_IY;
4589 Int_t max_yd = max_y/2;
4598 Double_t yline = (Double_t)yinf_bid - (Double_t)size_IY;
4600 Double_t xline_beg = (Double_t)xinf_bid;
4601 Double_t xline_end = (Double_t)xsup_bid;
4604 Int_t x_min[11] = {11,11, 7, 0, 0, 0, 0, 0, 0, 0, 0};
4605 Int_t x_max[11] = {50,50,47,45,45,42,37,35,30,15,50};
4606 for(Int_t
i=0;
i<11;
i++){x_min[
i] = coefcc_x*x_min[
i]; x_max[
i] = coefcc_x*x_max[
i];}
4608 for( Int_t
j = 0 ;
j < max_y ;
j++)
4612 if( DeeNumber == 1 || DeeNumber == 3 )
4614 xline_beg = xinf_bid + (Double_t)x_min[10-
j];
4615 xline_end = xinf_bid + (Double_t)x_max[10-
j];
4617 if( DeeNumber == 2 || DeeNumber == 4 )
4619 xline_beg = xsup_bid - (Double_t)x_max[10-
j];
4620 xline_end = xsup_bid - (Double_t)x_min[10-
j];
4626 if( DeeNumber == 1 || DeeNumber == 3 )
4628 xline_beg = xinf_bid + (Double_t)x_min[0];
4629 xline_end = xinf_bid + (Double_t)x_max[0];
4631 if( DeeNumber == 2 || DeeNumber == 4 )
4633 xline_beg = xsup_bid - (Double_t)x_max[0];
4634 xline_end = xsup_bid - (Double_t)x_min[0];
4640 if( DeeNumber == 1 || DeeNumber == 3 )
4642 xline_beg = xinf_bid + (Double_t)x_min[
j-10];
4643 xline_end = xinf_bid + (Double_t)x_max[
j-10];
4645 if( DeeNumber == 2 || DeeNumber == 4 )
4647 xline_beg = xsup_bid - (Double_t)x_max[
j-10];
4648 xline_end = xsup_bid - (Double_t)x_min[
j-10];
4652 yline = yline + (Double_t)size_IY;
4654 lin =
new TLine(xline_beg, yline, xline_end, yline);
fCnewRoot++;
4661 Double_t xline = (Double_t)xinf_bid - (Double_t)size_IX;
4663 Double_t yline_haut_bot = (Double_t)ymid_bid;
4664 Double_t yline_haut_top = (Double_t)ysup_bid;
4666 Double_t yline_bas_bot = (Double_t)yinf_bid;
4667 Double_t yline_bas_top = (Double_t)ymid_bid;
4671 Int_t y_min[11] = { 0,11, 7, 0, 0, 0, 0, 0, 0, 0, 0};
4672 Int_t y_max[11] = {50,50,47,45,45,42,38,35,30,15,10};
4673 for(Int_t
i=0;
i<11;
i++){y_min[
i] = coefcc_y*y_min[
i]; y_max[
i] = coefcc_y*y_max[
i];}
4675 gStyle->SetTextSize(0.075);
4677 for( Int_t
i = 0 ;
i <= max_x ;
i++)
4679 if( DeeNumber == 1 || DeeNumber == 3 )
4681 yline_haut_bot = ymid_bid + (Double_t)y_min[
i];
4682 yline_haut_top = ymid_bid + (Double_t)y_max[
i];
4684 if( DeeNumber == 2 || DeeNumber == 4 )
4686 yline_haut_bot = ymid_bid + (Double_t)y_min[10-
i];
4687 yline_haut_top = ymid_bid + (Double_t)y_max[10-
i];
4689 yline_bas_bot = ysup_bid - yline_haut_top;
4690 yline_bas_top = ysup_bid - yline_haut_bot;
4692 xline = xline + (Double_t)size_IX;
4694 lin_haut =
new TLine(xline, yline_haut_bot, xline, yline_haut_top);
fCnewRoot++;
4698 lin_bas =
new TLine(xline, yline_bas_bot, xline, yline_bas_top);
fCnewRoot++;
4704 EEGridAxis(coefcc_x, coefcc_y, DeeNumber,
"Dee", c_option);
4717 Int_t nb_niv2 = (nb_niv+1)/2;
4719 for (Int_t num_niv = 0; num_niv < nb_niv2; num_niv++)
4721 Int_t ind_niv = num_niv + nb_niv2 - 1;
4722 if ( ind_niv < 0 || ind_niv > nb_niv )
4724 cout <<
"!TEcnaHistos::ContourLevels(...)> *** ERROR *** "
4725 <<
"wrong contour levels for correlation matrix"
4731 (Double_t)(num_niv*num_niv)/
4732 ((Double_t)((nb_niv2-1)*(nb_niv2-1)));
4735 for (Int_t num_niv = -1; num_niv > -nb_niv2; num_niv--)
4737 Int_t ind_niv = num_niv + nb_niv2 - 1;
4738 if ( ind_niv < 0 || ind_niv > nb_niv )
4740 cout <<
"!TEcnaHistos::ContourLevels(...)> *** ERROR *** "
4741 <<
"wrong contour levels for correlation matrix"
4747 -(Double_t)(num_niv*num_niv)/
4748 ((Double_t)((nb_niv2-1)*(nb_niv2-1)));
4760 TString xname =
" ";
4770 TString xname =
" ";
4772 if ( chcode ==
"ietaEB" ){xname =
"i#eta Xtal ";}
4773 if ( chcode ==
"ietaSM" ){xname =
"i#eta Xtal ";}
4774 if ( chcode ==
"ietaTow"){xname =
"i#eta Xtal ";}
4776 if ( chcode ==
"iphiEB" ){xname =
" i#varphi Xtal";}
4777 if ( chcode ==
"jphiEB+" ){xname =
" i#varphi Xtal";}
4778 if ( chcode ==
"jphiEB-" ){xname =
" i#varphi Xtal";}
4779 if ( chcode ==
"jphiSMB+" ){xname =
" i#varphi Xtal";}
4780 if ( chcode ==
"jphiSMB-" ){xname =
"i#varphi Xtal ";}
4781 if ( chcode ==
"jphiTow" ){xname =
"i#varphi Xtal in SM ";}
4782 if ( chcode ==
"phi" ){xname =
"i#varphi Xtal in EB ";}
4789 TString xname =
" ";
4791 if ( chcode ==
"iIXDee" ){xname =
"IX(SC)";}
4793 if ( chcode ==
"iIXDee1" ){xname =
" -IX Xtal";}
4794 if ( chcode ==
"iIXDee2" ){xname =
" IX Xtal ";}
4795 if ( chcode ==
"iIXDee3" ){xname =
" IX Xtal";}
4796 if ( chcode ==
"iIXDee4" ){xname =
"-IX Xtal ";}
4798 if ( chcode ==
"iIXEE" ){xname =
" IX Xtal";}
4800 if ( chcode ==
"iIXSC" ){xname =
"IX Xtal";}
4802 if ( chcode ==
"jIYDee" ){xname =
"IY Xtal";}
4803 if ( chcode ==
"jIYSC" ){xname =
"IY Xtal";}
4804 if ( chcode ==
"IY" ){xname =
"IY";}
4818 const TString HistoCode)
4825 if (HistoCode ==
"D_NOE_ChNb"){sprintf(f_in_mat_tit,
"Number of Events");}
4826 if (HistoCode ==
"D_Ped_ChNb"){sprintf(f_in_mat_tit,
"Pedestals");}
4827 if (HistoCode ==
"D_TNo_ChNb"){sprintf(f_in_mat_tit,
"Total noise");}
4828 if (HistoCode ==
"D_MCs_ChNb"){sprintf(f_in_mat_tit,
"Mean cor(s,s')");}
4829 if (HistoCode ==
"D_LFN_ChNb"){sprintf(f_in_mat_tit,
"Low frequency noise");}
4830 if (HistoCode ==
"D_HFN_ChNb"){sprintf(f_in_mat_tit,
"High frequency noise");}
4831 if (HistoCode ==
"D_SCs_ChNb"){sprintf(f_in_mat_tit,
"Sigma of cor(s,s')");}
4837 Int_t vertic_empty_strips = 3;
4838 Int_t vertic_empty_strip_1 = 1;
4847 Int_t nb_binx = GeoBidSizeHoco;
4848 Int_t nb_biny = GeoBidSizeVeco;
4849 Axis_t xinf_bid = (Axis_t)0.;
4850 Axis_t xsup_bid = (Axis_t)GeoBidSizeHoco;
4851 Axis_t yinf_bid = (Axis_t)0.;
4852 Axis_t ysup_bid = (Axis_t)GeoBidSizeVeco;
4854 TString axis_x_var_name =
" #Hoco ";
4855 TString axis_y_var_name =
" #varVeco ";
4859 TH2D* h_geo_bid =
new TH2D(
"geobidim_ViewStas", f_in_mat_tit,
4860 nb_binx, xinf_bid, xsup_bid,
4861 nb_biny, yinf_bid, ysup_bid);
fCnewRoot++;
4864 Int_t CounterExistingFile = 0;
4865 Int_t CounterDataExist = 0;
4878 Bool_t OKFileExists = kFALSE;
4879 Bool_t OKDataExist = kFALSE;
4884 Int_t n1StasStex = iStasStex+1;
4892 if( OKFileExists == kTRUE )
4900 if( iStasStex == 0 )
4919 if( HistoCode ==
"D_NOE_ChNb" ){
4921 if( HistoCode ==
"D_Ped_ChNb" ){
4923 if (HistoCode ==
"D_TNo_ChNb" ){
4925 if( HistoCode ==
"D_MCs_ChNb" ){
4927 if( HistoCode ==
"D_LFN_ChNb" ){
4929 if( HistoCode ==
"D_HFN_ChNb" ){
4931 if( HistoCode ==
"D_SCs_ChNb" ){
4939 cout <<
"!TEcnaHistos::ViewStas(...)> *ERROR* =====> "
4940 <<
" ROOT file not found" <<
fTTBELL << endl;
4944 if( arg_AlreadyRead == 1 )
4946 OKDataExist = kTRUE;
4953 if( OKDataExist == kTRUE)
4956 CounterExistingFile++;
4959 TMatrixD read_matrix(nb_binx, nb_biny);
4960 for(Int_t
i=0;
i<nb_binx;
i++)
4961 {
for(Int_t
j=0;
j<nb_biny;
j++){read_matrix(
i,
j)=(Double_t)0.;}}
4963 if ( OKDataExist == kTRUE )
4971 Int_t i_xgeo =
GetXStinInStas(iStasStex, i0StexStinEcna, vertic_empty_strip_1);
4974 if(i_xgeo >=0 && i_xgeo < nb_binx && i_ygeo >=0 && i_ygeo < nb_biny)
4976 Int_t n1StexStinEcna = i0StexStinEcna+1;
4980 read_matrix(i_xgeo, i_ygeo) = partial_histp(i0StexStinEcna);
4981 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
4982 (Double_t)read_matrix(i_xgeo, i_ygeo));
4988 if( !( (n1StexStinEcna == 10 || n1StexStinEcna == 11 ||
4989 n1StexStinEcna == 29 || n1StexStinEcna == 32) ) )
4991 read_matrix(i_xgeo, i_ygeo) = partial_histp(i0StexStinEcna);
4992 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
4993 (Double_t)read_matrix(i_xgeo, i_ygeo));
4995 if( n1StexStinEcna == 29 )
5008 read_matrix(i_xgeo, i_ygeo) =
5009 partial_histp(i0StexStinEcna)*(Double_t)(5./6.) + partial_histp(9)/(Double_t)6.;
5010 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
5011 (Double_t)read_matrix(i_xgeo, i_ygeo));
5014 if( n1StexStinEcna == 32 )
5018 read_matrix(i_xgeo, i_ygeo) =
5019 partial_histp(i0StexStinEcna)*(Double_t)(5./6.) + partial_histp(10)/(Double_t)6.;
5020 h_geo_bid->Fill((Double_t)i_xgeo, (Double_t)i_ygeo,
5021 (Double_t)read_matrix(i_xgeo, i_ygeo));
5031 cout <<
"!TEcnaHistos::ViewStas(...)> "
5032 <<
" Data not available for " <<
fFapStexName <<
" " << iStasStex+1
5033 <<
" (Quantity not present in the ROOT file)" <<
fTTBELL << endl;
5040 cout <<
"!TEcnaHistos::ViewStas(...)> "
5041 <<
" Data not available for " <<
fFapStexName <<
" " << iStasStex+1
5042 <<
" (ROOT file not found)" <<
fTTBELL << endl;
5050 delete [] xFapNbOfEvts; xFapNbOfEvts = 0;
fCdelete++;
5052 if( CounterExistingFile > 0 && CounterDataExist > 0 )
5105 TString name_cov_cor;
5107 name_cov_cor.Resize(MaxCar);
5110 if( HistoCode ==
"D_NOE_ChNb"){name_cov_cor =
"Number_of_Events";}
5111 if( HistoCode ==
"D_Ped_ChNb"){name_cov_cor =
"Pedestals";}
5112 if( HistoCode ==
"D_TNo_ChNb"){name_cov_cor =
"Total_noise";}
5113 if( HistoCode ==
"D_MCs_ChNb"){name_cov_cor =
"Mean_Corss";}
5114 if( HistoCode ==
"D_LFN_ChNb"){name_cov_cor =
"Low_Fq_Noise";}
5115 if( HistoCode ==
"D_HFN_ChNb"){name_cov_cor =
"High_Fq_Noise";}
5116 if( HistoCode ==
"D_SCs_ChNb"){name_cov_cor =
"Sigma_Corss";}
5120 name_visu.Resize(MaxCar);
5123 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%s_%s_HocoVeco_R%d",
5126 name_visu.Data(), arg_AlreadyRead);
5131 TCanvas *MainCanvas =
new TCanvas(f_in, f_in, canv_w, canv_h);
fCnewRoot++;
5136 delete [] f_in; f_in = 0;
fCdelete++;
5148 Double_t x_margin = x_low;
5149 Double_t y_margin = y_low;
5150 MainCanvas->Divide( 1, 1, x_margin, y_margin);
5157 TVirtualPad* main_subpad = gPad;
5158 main_subpad->SetPad(x_low, y_low, x_up, y_up);}
5161 h_geo_bid->GetXaxis()->SetTitle(axis_x_var_name);
5162 h_geo_bid->GetYaxis()->SetTitle(axis_y_var_name);
5164 h_geo_bid->DrawCopy(
"COLZ");
5176 h_geo_bid->SetStats(b_true);
5179 delete [] f_in_mat_tit; f_in_mat_tit = 0;
fCdelete++;
5189 const Int_t& vertic_empty_strip_1)
5195 Int_t n1StasStex = iStasStex+1;
5216 if( ctype ==
"EE-" && LeftRightFromIP ==
"left" )
5220 if( ctype ==
"EE-" && LeftRightFromIP ==
"right" )
5224 if( ctype ==
"EE+" && LeftRightFromIP ==
"left" )
5229 if( ctype ==
"EE+" && LeftRightFromIP ==
"right" )
5247 Int_t n1StasStex = iStasStex+1;
5285 Int_t nb_binx = GeoBidSizePhi;
5286 Int_t nb_biny = GeoBidSizeEta;
5287 Axis_t xinf_bid = (Axis_t)0.;
5288 Axis_t xsup_bid = (Axis_t)nb_binx;
5289 Axis_t yinf_bid = (Axis_t)0.;
5290 Axis_t ysup_bid = (Axis_t)nb_biny;
5294 Int_t max_x = nb_binx/size_x;
5295 Int_t max_y = nb_biny/size_y;
5298 Double_t yline = (Double_t)yinf_bid;
5300 Double_t xline_left = (Double_t)xinf_bid;
5301 Double_t xline_right = (Double_t)xsup_bid;
5303 for( Int_t
j = 0 ;
j < max_y ;
j++)
5305 yline = yline + (Double_t)size_y;
5307 lin =
new TLine(xline_left, yline, xline_right, yline);
fCnewRoot++;
5313 Double_t xline = (Double_t)xinf_bid - (Double_t)size_x;
5315 Double_t yline_bot = (Double_t)yinf_bid;
5316 Double_t yline_top = (Double_t)ysup_bid;
5318 for( Int_t
i = 0 ;
i < max_x ;
i++)
5320 xline = xline + (Double_t)size_x;
5322 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
5327 Double_t yTextBot = yline_bot - (yline_top - yline_bot)/25.;
5328 Double_t yTextTop = yline_top + (yline_top - yline_bot)/120.;
5329 xline = (Double_t)xinf_bid - (Double_t)size_x;
5332 TText *text_SM =
new TText();
fCnewRoot++;
5333 for( Int_t
i = 0 ;
i < max_x ;
i++)
5335 xline = xline + (Double_t)size_x;
5337 text_SM->SetTextSize((Double_t)0.03);
5338 sprintf( f_in,
" +%d",
i+1 );
5339 text_SM->DrawText(xline, yTextTop, f_in);
5340 sprintf( f_in,
" %d", -
i-1 );
5341 text_SM->DrawText(xline, yTextBot, f_in);
5352 Double_t phi_min = 0;
5353 Double_t phi_max = 360;
5358 new TF1(
"f1", x_direction.Data(), phi_min, phi_max);
fCnewRoot++;
5359 TGaxis* sup_axis_x = 0;
5361 if( x_direction ==
"-x" )
5362 {sup_axis_x =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t)(size_x_eb*MatSize), (Float_t)0.,
5363 "f1", size_x_eb,
"SC" , 0.); fCnewRoot++;}
5365 if( x_direction ==
"x" )
5366 {sup_axis_x =
new TGaxis( (Float_t)0., (Float_t)0., (Float_t)(size_x_eb*MatSize), (Float_t)0.,
5367 "f1", size_x_eb,
"SC" , 0.); fCnewRoot++;}
5375 sup_axis_x->SetTitle(x_var_name);
5376 sup_axis_x->SetTitleSize(tit_siz_x);
5377 sup_axis_x->SetTitleOffset(tit_off_x);
5378 sup_axis_x->SetLabelSize(lab_siz_x);
5379 sup_axis_x->SetLabelOffset(lab_off_x);
5380 sup_axis_x->SetTickSize(tic_siz_x);
5381 sup_axis_x->Draw(
"SAME");
5387 Double_t eta_min = (Double_t)(-85.);
5388 Double_t eta_max = (Double_t)85.;
5392 TGaxis* sup_axis_y = 0;
5393 sup_axis_y =
new TGaxis((Float_t)0., (Float_t)0.,
5394 (Float_t)0., (Float_t)(size_y_eb*MatSize),
5395 eta_min, eta_max, MatSize/2,
"SC", 0.); fCnewRoot++;
5403 sup_axis_y->SetTitle(y_var_name);
5404 sup_axis_y->SetTitleSize(tit_siz_y);
5405 sup_axis_y->SetTitleOffset(tit_off_y);
5406 sup_axis_y->SetLabelColor(1);
5407 sup_axis_y->SetLabelSize(lab_siz_y);
5408 sup_axis_y->SetLabelOffset(lab_off_y);
5409 sup_axis_y->SetTickSize(tic_siz_y);
5410 sup_axis_y->Draw(
"SAME");
5422 Float_t coefcc_x = (Float_t)1./(Float_t)5.;
5423 Float_t coefcc_y = (Float_t)1./(Float_t)5.;
5425 for( Int_t DeeNumber = 1; DeeNumber <= 4; DeeNumber++)
5428 EEGridAxis(coefcc_x, coefcc_y, DeeNumber,
"EE",
" ");
5435 Double_t yline_bot = coefcc_y*(Double_t)0.;
5439 lin =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
5447 lin12 =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
5448 lin12->SetLineStyle(2);
5454 lin34 =
new TLine(xline, yline_bot, xline, yline_top);
fCnewRoot++;
5455 lin34->SetLineStyle(2);
5463 linh =
new TLine( 0., yline_mid, xline_end, yline_mid);
fCnewRoot++;
5464 linh->SetLineStyle(2);
5471 const Int_t& DeeNumber,
const TString opt_plot)
5476 Int_t LineWidth = 2;
5477 if( opt_plot ==
"Dee" ){LineWidth = 3;}
5482 Float_t xg_dee_int_bot[13] = { 0, 5, 5, 7, 7, 8, 8, 9, 9,10,10,11,11};
5483 Float_t yg_dee_int_bot[13] = {39,39,40,40,41,41,42,42,43,43,45,45,50};
5484 for(Int_t
i=0;
i<ngmax;
i++){
5485 xg_dee_int_bot[
i] = coefcc_x*xg_dee_int_bot[
i];
5486 yg_dee_int_bot[
i] = coefcc_y*yg_dee_int_bot[
i];}
5488 Float_t XgDeeIntBotRight[13]; Float_t YgDeeIntBotRight[13];
5489 Float_t XgDeeIntTopRight[13]; Float_t YgDeeIntTopRight[13];
5491 for( Int_t
i=0;
i<ngmax;
i++)
5493 XgDeeIntBotRight[
i] = xg_dee_int_bot[
i];
5494 YgDeeIntBotRight[
i] = yg_dee_int_bot[
i];
5495 XgDeeIntTopRight[
i] = XgDeeIntBotRight[
i];
5497 if ( DeeNumber == 2 || DeeNumber == 4 )
5506 TGraph *BDeeIntBotRight =
new TGraph(ngmax, XgDeeIntBotRight, YgDeeIntBotRight);
5507 BDeeIntBotRight->SetLineWidth(LineWidth);
5508 BDeeIntBotRight->Draw();
5510 TGraph *BDeeIntTopRight =
new TGraph(ngmax, XgDeeIntTopRight, YgDeeIntTopRight);
5511 BDeeIntTopRight->SetLineWidth(LineWidth);
5512 BDeeIntTopRight->Draw();
5516 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};
5517 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};
5518 for(Int_t
i=0;
i<ngmax;
i++){
5519 xg_dee_ext_bot[
i] = coefcc_x*xg_dee_ext_bot[
i];
5520 yg_dee_ext_bot[
i] = coefcc_y*yg_dee_ext_bot[
i];}
5522 Float_t XgDeeExtBotRight[21]; Float_t YgDeeExtBotRight[21];
5523 Float_t XgDeeExtTopRight[21]; Float_t YgDeeExtTopRight[21];
5525 for( Int_t
i=0;
i<ngmax;
i++)
5527 XgDeeExtBotRight[
i] = xg_dee_ext_bot[
i];
5528 YgDeeExtBotRight[
i] = yg_dee_ext_bot[
i];
5529 XgDeeExtTopRight[
i] = XgDeeExtBotRight[
i];
5531 if ( DeeNumber == 2 || DeeNumber == 4 )
5540 TGraph *BDeeExtBotRight =
new TGraph(ngmax, XgDeeExtBotRight, YgDeeExtBotRight);
5541 BDeeExtBotRight->SetLineWidth(LineWidth);
5542 BDeeExtBotRight->Draw();
5544 TGraph *BDeeExtTopRight =
new TGraph(ngmax, XgDeeExtTopRight, YgDeeExtTopRight);
5545 BDeeExtTopRight->SetLineWidth(LineWidth);
5546 BDeeExtTopRight->Draw();
5553 if( opt_plot ==
"EE" )
5556 Float_t xg_dee_data_sec9[2] = { 0, 0};
5557 Float_t yg_dee_data_sec9[2] = {61,100};
5558 for(Int_t
i=0;
i<ngmax;
i++){
5559 xg_dee_data_sec9[
i] = coefcc_x*xg_dee_data_sec9[
i];
5560 yg_dee_data_sec9[
i] = coefcc_y*yg_dee_data_sec9[
i];}
5562 Float_t XgDeeDataSec9[11]; Float_t YgDeeDataSec9[11];
5563 for( Int_t
i=0;
i<ngmax;
i++)
5565 XgDeeDataSec9[
i] = xg_dee_data_sec9[
i]; YgDeeDataSec9[
i] = yg_dee_data_sec9[
i];
5566 if ( DeeNumber == 2 || DeeNumber == 4 )
5572 TGraph *BDeeDataSec9 =
new TGraph(ngmax, XgDeeDataSec9, YgDeeDataSec9);
5573 BDeeDataSec9->SetLineWidth(LineWidth);
5574 BDeeDataSec9->Draw();
5579 Float_t xg_dee_data_sec1[11] = { 7,10,10,15,15,20,20,25,25,30,30};
5580 Float_t yg_dee_data_sec1[11] = {60,60,65,65,70,70,75,75,85,85,87};
5581 for(Int_t
i=0;
i<ngmax;
i++){
5582 xg_dee_data_sec1[
i] = coefcc_x*xg_dee_data_sec1[
i];
5583 yg_dee_data_sec1[
i] = coefcc_y*yg_dee_data_sec1[
i];}
5585 Float_t XgDeeDataSec1[11]; Float_t YgDeeDataSec1[11];
5586 for( Int_t
i=0;
i<ngmax;
i++)
5588 XgDeeDataSec1[
i] = xg_dee_data_sec1[
i]; YgDeeDataSec1[
i] = yg_dee_data_sec1[
i];
5589 if ( DeeNumber == 2 || DeeNumber == 4 )
5596 TGraph *BDeeDataSec1 =
new TGraph(ngmax, XgDeeDataSec1, YgDeeDataSec1);
5597 BDeeDataSec1->SetLineWidth(LineWidth);
5598 BDeeDataSec1->Draw();
5602 Float_t xg_dee_data_sec2[6] = {11,15,15,40,40,47};
5603 Float_t yg_dee_data_sec2[6] = {50,50,55,55,60,60};
5604 for(Int_t
i=0;
i<ngmax;
i++){
5605 xg_dee_data_sec2[
i] = coefcc_x*xg_dee_data_sec2[
i];
5606 yg_dee_data_sec2[
i] = coefcc_y*yg_dee_data_sec2[
i];}
5608 Float_t XgDeeDataSec2[6]; Float_t YgDeeDataSec2[6];
5609 for( Int_t
i=0;
i<ngmax;
i++)
5611 XgDeeDataSec2[
i] = xg_dee_data_sec2[
i]; YgDeeDataSec2[
i] = yg_dee_data_sec2[
i];
5612 if ( DeeNumber == 2 || DeeNumber == 4 )
5618 TGraph *BDeeDataSec2 =
new TGraph(ngmax, XgDeeDataSec2, YgDeeDataSec2);
5619 BDeeDataSec2->SetLineWidth(LineWidth);
5620 BDeeDataSec2->Draw();
5624 Float_t xg_dee_data_sec3[10] = {10,15,15,20,20,30,30,40,40,42};
5625 Float_t yg_dee_data_sec3[10] = {45,45,40,40,35,35,30,30,25,25};
5626 for(Int_t
i=0;
i<ngmax;
i++){
5627 xg_dee_data_sec3[
i] = coefcc_x*xg_dee_data_sec3[
i];
5628 yg_dee_data_sec3[
i] = coefcc_y*yg_dee_data_sec3[
i];}
5630 Float_t XgDeeDataSec3[10]; Float_t YgDeeDataSec3[10];
5631 for( Int_t
i=0;
i<ngmax;
i++)
5633 XgDeeDataSec3[
i] = xg_dee_data_sec3[
i]; YgDeeDataSec3[
i] = yg_dee_data_sec3[
i];
5634 if ( DeeNumber == 2 || DeeNumber == 4 )
5640 TGraph *BDeeDataSec3 =
new TGraph(ngmax, XgDeeDataSec3, YgDeeDataSec3);
5641 BDeeDataSec3->SetLineWidth(LineWidth);
5642 BDeeDataSec3->Draw();
5646 Float_t xg_dee_data_sec4[6] = { 5, 5,10,10,15,15};
5647 Float_t yg_dee_data_sec4[6] = {40,30,30,15,15, 5};
5648 for(Int_t
i=0;
i<ngmax;
i++){
5649 xg_dee_data_sec4[
i] = coefcc_x*xg_dee_data_sec4[
i];
5650 yg_dee_data_sec4[
i] = coefcc_y*yg_dee_data_sec4[
i];}
5652 Float_t XgDeeDataSec4[6]; Float_t YgDeeDataSec4[6];
5653 for( Int_t
i=0;
i<ngmax;
i++)
5655 XgDeeDataSec4[
i] = xg_dee_data_sec4[
i]; YgDeeDataSec4[
i] = yg_dee_data_sec4[
i];
5656 if ( DeeNumber == 2 || DeeNumber == 4 )
5662 TGraph *BDeeDataSec4 =
new TGraph(ngmax, XgDeeDataSec4, YgDeeDataSec4);
5663 BDeeDataSec4->SetLineWidth(LineWidth);
5664 BDeeDataSec4->Draw();
5668 if( opt_plot ==
"Dee" || opt_plot ==
"EE" )
5672 Float_t xg_coord_sector[5] = { 16, 41, 45, 33, -2};
5673 Float_t yg_coord_sector[5] = { 96, 83, 30, 5, -8};
5676 if(opt_plot ==
"Dee" && (DeeNumber == 1) ){xg_coord_sector[2] += 0.5;}
5677 if(opt_plot ==
"Dee" && (DeeNumber == 2) ){xg_coord_sector[2] -= 1. ;}
5678 if(opt_plot ==
"Dee" && (DeeNumber == 3) ){xg_coord_sector[2] += 0.7;}
5679 if(opt_plot ==
"Dee" && (DeeNumber == 4) ){xg_coord_sector[2] -= 1.2;}
5681 if(opt_plot ==
"EE" && (DeeNumber == 2 || DeeNumber == 3) ){xg_coord_sector[2] += 0.55;}
5682 if(opt_plot ==
"EE" && (DeeNumber == 4 ) ){xg_coord_sector[2] -= 0.2;}
5684 for(Int_t
i=0;
i<ngmax;
i++){
5685 xg_coord_sector[
i] = coefcc_x*xg_coord_sector[
i];
5686 yg_coord_sector[
i] = coefcc_y*yg_coord_sector[
i];}
5688 Float_t xg_sector[9];
5689 Float_t yg_sector[9];
5692 Float_t xinv_d2d4 = coefcc_x*44;
5694 if( DeeNumber == 1 )
5697 xg_sector[1-ns1] = xg_coord_sector[1-ns1]; yg_sector[1-ns1] = yg_coord_sector[1-ns1];
5698 xg_sector[2-ns1] = xg_coord_sector[2-ns1]; yg_sector[2-ns1] = yg_coord_sector[2-ns1];
5699 xg_sector[3-ns1] = xg_coord_sector[3-ns1]; yg_sector[3-ns1] = yg_coord_sector[3-ns1];
5700 xg_sector[4-ns1] = xg_coord_sector[4-ns1]; yg_sector[4-ns1] = yg_coord_sector[4-ns1];
5701 xg_sector[5-ns1] = xg_coord_sector[5-ns1]; yg_sector[5-ns1] = yg_coord_sector[5-ns1];
5704 if( DeeNumber == 2 )
5707 xg_sector[ns2-1] = xinv_d2d4-xg_coord_sector[1-1]; yg_sector[ns2-1] = yg_coord_sector[1-1];
5708 xg_sector[ns2-2] = xinv_d2d4-xg_coord_sector[2-1]; yg_sector[ns2-2] = yg_coord_sector[2-1];
5709 xg_sector[ns2-3] = xinv_d2d4-xg_coord_sector[3-1]; yg_sector[ns2-3] = yg_coord_sector[3-1];
5710 xg_sector[ns2-4] = xinv_d2d4-xg_coord_sector[4-1]; yg_sector[ns2-4] = yg_coord_sector[4-1];
5711 xg_sector[ns2-5] = xinv_d2d4-xg_coord_sector[5-1]; yg_sector[ns2-5] = yg_coord_sector[5-1];
5713 if( DeeNumber == 3 )
5716 xg_sector[ns2-1]= xg_coord_sector[1-1]; yg_sector[ns2-1] = yg_coord_sector[1-1];
5717 xg_sector[ns2-2]= xg_coord_sector[2-1]; yg_sector[ns2-2] = yg_coord_sector[2-1];
5718 xg_sector[ns2-3]= xg_coord_sector[3-1]; yg_sector[ns2-3] = yg_coord_sector[3-1];
5719 xg_sector[ns2-4]= xg_coord_sector[4-1]; yg_sector[ns2-4] = yg_coord_sector[4-1];
5720 xg_sector[ns2-5]= xg_coord_sector[5-1]; yg_sector[ns2-5] = yg_coord_sector[5-1];
5722 if( DeeNumber == 4 )
5725 xg_sector[1-ns1]= xinv_d2d4-xg_coord_sector[1-ns1]; yg_sector[1-ns1] = yg_coord_sector[1-ns1];
5726 xg_sector[2-ns1]= xinv_d2d4-xg_coord_sector[2-ns1]; yg_sector[2-ns1] = yg_coord_sector[2-ns1];
5727 xg_sector[3-ns1]= xinv_d2d4-xg_coord_sector[3-ns1]; yg_sector[3-ns1] = yg_coord_sector[3-ns1];
5728 xg_sector[4-ns1]= xinv_d2d4-xg_coord_sector[4-ns1]; yg_sector[4-ns1] = yg_coord_sector[4-ns1];
5729 xg_sector[5-ns1]= xinv_d2d4-xg_coord_sector[5-ns1]; yg_sector[5-ns1] = yg_coord_sector[5-ns1];
5733 for(Int_t ns=ns1; ns<= ns2; ns++)
5736 if( DeeNumber == 1 || DeeNumber == 2 ){sprintf( f_in,
"+%d", ns);}
5737 if( DeeNumber == 3 || DeeNumber == 4 ){sprintf( f_in,
"-%d", ns);}
5738 TText *text_num_module =
new TText(xg_sector[ns-1], yg_sector[ns-1], f_in);
fCnewRoot++;
5739 if(opt_plot ==
"Dee"){text_num_module->SetTextSize(0.065);}
5740 if(opt_plot ==
"EE" ){text_num_module->SetTextSize(0.045);}
5741 text_num_module->SetTextColor(coul_textsector);
5742 if( opt_plot ==
"Dee" ||
5743 ( opt_plot ==
"EE" && !( (DeeNumber == 3 && ns == 5) || (DeeNumber == 1 && ns == 5) ) ) )
5744 {text_num_module->Draw();}
5751 Float_t xg_coord_dee[4] = { 0, 0, 0, 0};
5752 Float_t yg_coord_dee[4] = {48, 48, 48, 48};
5754 xg_coord_dee[DeeNumber-1] = coefcc_x*xg_coord_dee[DeeNumber-1];
5755 yg_coord_dee[DeeNumber-1] = coefcc_y*yg_coord_dee[DeeNumber-1];
5757 Float_t xg_dee = xg_coord_dee[DeeNumber-1];
5758 Float_t yg_dee = yg_coord_dee[DeeNumber-1];
5765 if( DeeNumber == 1 ){sprintf( f_in,
"D1");}
5766 if( DeeNumber == 2 ){sprintf( f_in,
"D2");}
5767 if( DeeNumber == 3 ){sprintf( f_in,
"D3");}
5768 if( DeeNumber == 4 ){sprintf( f_in,
"D4");}
5770 TText *text_num_module =
new TText(xg_dee, yg_dee, f_in);
fCnewRoot++;
5771 if( opt_plot ==
"EE" ){text_num_module->SetTextSize(0.045);}
5772 if( opt_plot ==
"Dee"){text_num_module->SetTextSize(0.085);}
5773 text_num_module->SetTextColor(coul_textdee);
5774 text_num_module->Draw();
5778 if( opt_plot ==
"EE" )
5782 Float_t xg_coord_eepm[4] = { 0, 0, 0, 0};
5783 Float_t yg_coord_eepm[4] = {95, 95, 95, 95};
5785 xg_coord_eepm[DeeNumber-1] = coefcc_x*xg_coord_eepm[DeeNumber-1];
5786 yg_coord_eepm[DeeNumber-1] = coefcc_y*yg_coord_eepm[DeeNumber-1];
5788 Float_t xg_eepm = xg_coord_eepm[DeeNumber-1];
5789 Float_t yg_eepm = yg_coord_eepm[DeeNumber-1];
5796 if( DeeNumber == 1 ){sprintf( f_in,
"EE+F");}
5797 if( DeeNumber == 2 ){sprintf( f_in,
"EE+N");}
5798 if( DeeNumber == 3 ){sprintf( f_in,
"EE-N");}
5799 if( DeeNumber == 4 ){sprintf( f_in,
"EE-F");}
5801 TText *text_num_eepm =
new TText(xg_eepm, yg_eepm, f_in);
fCnewRoot++;
5802 text_num_eepm->SetTextSize(0.04);
5803 text_num_eepm->SetTextColor(coul_texteepm);
5804 text_num_eepm->Draw();
5809 sprintf( f_in,
"viewed from IP");
5810 Float_t x_from_ip = 15.;
5811 Float_t y_from_ip = -10.;
5812 if( opt_plot ==
"EE" ){y_from_ip = -16.;}
5813 x_from_ip = coefcc_x*x_from_ip;
5814 y_from_ip = coefcc_x*y_from_ip;
5816 TText *text_from_ip =
new TText(x_from_ip, y_from_ip, f_in);
fCnewRoot++;
5817 text_from_ip->SetTextSize(0.045);
5818 if( opt_plot ==
"EE" ){text_from_ip->SetTextSize(0.035);}
5819 text_from_ip->SetTextColor(coul_textfromIP);
5820 if( opt_plot ==
"Dee" || (opt_plot ==
"EE" && DeeNumber == 3) ){text_from_ip->Draw();}
5822 delete [] f_in; f_in = 0;
fCdelete++;
5829 const Int_t& DeeNumber,
const TString opt_plot,
const TString c_option)
5839 if( opt_plot ==
"Dee" && c_option ==
"corcc" )
5845 if( opt_plot ==
"EE" && c_option ==
"corcc" ){
return;}
5848 if( opt_plot ==
"EE" && c_option !=
"corcc" ){MatSize = 1;}
5850 TString x_var_name =
" ";
5852 Float_t axis_x_inf = 0;
5853 Float_t axis_x_sup = 0;
5854 Float_t axis_y_inf = 0;
5855 Float_t axis_y_sup = 0;
5856 Int_t axis_nb_div = 205;
5857 Double_t IX_values_min = 0;
5858 Double_t IX_values_max = 0;
5859 Option_t* chopt =
"C";
5862 if( DeeNumber == 1 )
5865 axis_x_inf = size_IX_dee*MatSize;
5869 IX_values_min = -IX_max;
5870 IX_values_max = -IX_min;
5873 if( opt_plot ==
"Dee" ){axis_nb_div = size_IX_dee;}
5876 if( DeeNumber == 2 )
5879 axis_x_inf = size_IX_dee*MatSize;
5883 IX_values_min = IX_min;
5884 IX_values_max = IX_max;
5886 if( opt_plot ==
"EE" ){x_var_name =
" ";}
5887 if( opt_plot ==
"Dee" ){axis_nb_div = size_IX_dee;}
5890 if( DeeNumber == 3 )
5893 axis_x_sup = size_IX_dee*MatSize;
5896 IX_values_min = IX_min;
5897 IX_values_max = IX_max;
5899 if( opt_plot ==
"EE" ){x_var_name =
" ";}
5900 if( opt_plot ==
"Dee" ){axis_nb_div = size_IX_dee;}
5903 if( DeeNumber == 4 )
5906 axis_x_sup = size_IX_dee*MatSize;
5909 IX_values_min = -IX_max;
5910 IX_values_max = -IX_min;
5912 if( opt_plot ==
"EE" ){x_var_name =
" ";}
5913 if( opt_plot ==
"Dee" ){axis_nb_div = size_IX_dee;}
5921 TGaxis* sup_axis_x = 0;
5922 sup_axis_x =
new TGaxis(axis_x_inf, axis_y_inf, axis_x_sup, axis_y_sup,
5923 IX_values_min, IX_values_max, axis_nb_div, chopt, 0.);
fCnewRoot++;
5937 sup_axis_x->SetTitle(x_var_name);
5938 sup_axis_x->SetTitleSize(tit_siz_x);
5939 sup_axis_x->SetTitleOffset(tit_off_x);
5940 sup_axis_x->SetLabelSize(lab_siz_x);
5941 sup_axis_x->SetLabelOffset(lab_off_x);
5942 sup_axis_x->SetTickSize(tic_siz_x);
5943 sup_axis_x->Draw(
"SAME");
5946 if( DeeNumber == 1 || DeeNumber == 2 )
5949 TGaxis* sup_axis_x_bis = 0;
5950 sup_axis_x_bis =
new TGaxis(axis_x_inf, axis_y_inf, axis_x_sup, axis_y_sup,
5951 IX_values_min, IX_values_max, axis_nb_div, chopt, 0.);
fCnewRoot++;
5952 sup_axis_x_bis->SetTickSize(0.);
5953 lab_siz_x = sup_axis_x->GetLabelSize();
5954 sup_axis_x_bis->SetLabelSize(lab_siz_x);
5955 lab_off_x = sup_axis_x->GetLabelOffset();
5956 sup_axis_x_bis->SetLabelOffset(-lab_off_x);
5957 sup_axis_x_bis->Draw(
"SAME");
5962 if( opt_plot ==
"Dee" || (opt_plot ==
"EE" && DeeNumber == 4) )
5965 Int_t size_IY_axis = size_IY_dee;
5967 if( opt_plot ==
"Dee" ){axis_nb_div = size_IY_axis;}
5968 if( opt_plot ==
"EE" ){axis_nb_div = 210;}
5973 TString jy_var_name =
" ";
5974 TString jy_direction =
"x";
5988 TGaxis* axis_jy_plus = 0;
5989 axis_jy_plus =
new TGaxis((Float_t)0., (Float_t)0.,
5990 (Float_t)0., (Float_t)(size_IY_axis*MatSize),
5991 jIY_min, jIY_max, axis_nb_div,
"SC", 0.);
fCnewRoot++;
5994 axis_jy_plus->SetTitle(jy_var_name);
5995 axis_jy_plus->SetTitleSize(tit_siz_y);
5996 axis_jy_plus->SetTitleOffset(tit_off_y);
5997 axis_jy_plus->SetLabelSize(lab_siz_y);
5998 axis_jy_plus->SetLabelOffset(lab_off_y);
5999 axis_jy_plus->SetTickSize(tic_siz_y);
6000 axis_jy_plus->Draw(
"SAME");
6006 if( opt_plot ==
"Dee" || (opt_plot ==
"EE" && DeeNumber == 4) )
6009 Int_t size_IY_axis = size_IY_dee/2;
6011 if( opt_plot ==
"Dee" ){axis_nb_div = (Int_t)size_IY_axis;}
6012 if( opt_plot ==
"EE" ){axis_nb_div = 5;}
6017 TString jy_var_name =
" ";
6018 TString jy_direction =
"x";
6032 TGaxis* axis_jy_plus = 0;
6033 axis_jy_plus =
new TGaxis((Float_t)0., (Float_t)(size_IY_dee*MatSize/2),
6034 (Float_t)0., (Float_t)(2*size_IY_dee*MatSize/2),
6035 jIY_min, jIY_max, axis_nb_div,
"SC", 0.);
fCnewRoot++;
6038 axis_jy_plus->SetTitle(jy_var_name);
6039 axis_jy_plus->SetTitleSize(tit_siz_y);
6040 axis_jy_plus->SetTitleOffset(tit_off_y);
6041 axis_jy_plus->SetLabelSize(lab_siz_y);
6042 axis_jy_plus->SetLabelOffset(lab_off_y);
6043 axis_jy_plus->SetTickSize(tic_siz_y);
6044 axis_jy_plus->Draw(
"SAME");
6046 TGaxis* axis_jy_minus = 0;
6047 axis_jy_minus =
new TGaxis((Float_t)0., (Float_t)(size_IY_dee*MatSize/2),
6048 (Float_t)0., (Float_t)0.,
6049 -jIY_min, -jIY_max, axis_nb_div,
"-SC", 0.);
fCnewRoot++;
6052 axis_jy_minus->SetTitle(jy_var_name);
6053 axis_jy_minus->SetTitleSize(tit_siz_y);
6054 axis_jy_minus->SetTitleOffset(tit_off_y);
6055 axis_jy_minus->SetLabelSize(lab_siz_y);
6056 axis_jy_minus->SetLabelOffset(lab_off_y);
6057 axis_jy_minus->SetTickSize(tic_siz_y);
6058 axis_jy_minus->Draw(
"SAME");
6071 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
6072 {
XtalSamplesEv(arg_read_histo, arg_AlreadyRead, n1StexStin, i0StinEcha,
"ONLYONE");}
6074 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
6075 const TString PlotOption)
6081 Int_t StexStin_A = n1StexStin;
6085 Bool_t aOKData = kFALSE;
6105 cout <<
"!TEcnaHistos::XtalSamplesEv(...)> Data not available (ROOT file not found)." << endl;
6109 if( arg_AlreadyRead >= 1 )
6116 if( aOKData == kTRUE )
6120 Int_t xAlreadyRead = 1;
6124 {
cout <<
"*TEcnaHistos::XtalSamplesEv(...)> channel " << setw(2) << i0_stin_echa <<
": ";}
6126 {
cout <<
"*TEcnaHistos::XtalSamplesEv(...)> Xtal " << setw(2) << i0_stin_echa+1 <<
": ";}
6130 read_histo_samps(i0_samp) = read_histo(i0_stin_echa*fFapNbOfSamples+i0_samp);
6131 cout << setprecision(4) << setw(8) << read_histo_samps(i0_samp) <<
", " ;
6134 ViewHisto(read_histo_samps, xAlreadyRead,
6142 cout <<
"!TEcnaHistos::XtalSamplesEv(...)> Data not available." << endl;
6148 Int_t StexStin_A = n1StexStin;
6163 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
6164 {
EvSamplesXtals(arg_read_histo, arg_AlreadyRead, n1StexStin, i0StinEcha,
"ONLYONE");}
6166 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
6167 const TString PlotOption)
6173 Int_t StexStin_A = n1StexStin;
6177 Bool_t aOKData = kFALSE;
6197 cout <<
"!TEcnaHistos::EvSamplesXtals(...)> Data not available (ROOT file not found)." << endl;
6201 if( arg_AlreadyRead >= 1 )
6207 if( aOKData == kTRUE )
6211 Int_t xAlreadyRead = 1;
6215 {
cout <<
"*TEcnaHistos::EvSamplesXtals(...)> channel " << setw(2) << i0_stin_echa <<
": ";}
6217 {
cout <<
"*TEcnaHistos::EvSamplesXtals(...)> Xtal " << setw(2) << i0_stin_echa+1 <<
": ";}
6221 read_histo_samps(i0_samp) = read_histo(i0_stin_echa*fFapNbOfSamples+i0_samp);
6222 cout << setprecision(4) << setw(8) << read_histo_samps(i0_samp) <<
", " ;
6225 ViewHisto(read_histo_samps, xAlreadyRead,
6233 cout <<
"!TEcnaHistos::EvSamplesXtals(...)> Data not available." << endl;
6239 Int_t StexStin_A = n1StexStin;
6254 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
6255 {
XtalSamplesSigma(arg_read_histo, arg_AlreadyRead, n1StexStin, i0StinEcha,
"ONLYONE");}
6257 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
6258 const TString PlotOption)
6264 Int_t StexStin_A = n1StexStin;
6268 Bool_t aOKData = kFALSE;
6288 cout <<
"!TEcnaHistos::XtalSamplesSigma(...)> Data not available (ROOT file not found)." << endl;
6292 if( arg_AlreadyRead >= 1 )
6298 if( aOKData == kTRUE )
6302 Int_t xAlreadyRead = 1;
6306 {
cout <<
"*TEcnaHistos::XtalSamplesSigma(...)> channel " << setw(2) << i0_stin_echa <<
": ";}
6308 {
cout <<
"*TEcnaHistos::XtalSamplesSigma(...)> Xtal " << setw(2) << i0_stin_echa+1 <<
": ";}
6312 read_histo_samps(i0_samp) = read_histo(i0_stin_echa*fFapNbOfSamples+i0_samp);
6313 cout << setprecision(3) << setw(6) << read_histo_samps(i0_samp) <<
", " ;
6316 ViewHisto(read_histo_samps, xAlreadyRead,
6324 cout <<
"!TEcnaHistos::XtalSamplesSigma(...)> Data not available." << endl;
6330 Int_t StexStin_A = n1StexStin;
6346 const Int_t& n1StexStin,
const Int_t& i0StinEcha)
6347 {
SigmaSamplesXtals(arg_read_histo, arg_AlreadyRead, n1StexStin, i0StinEcha,
"ONLYONE");}
6349 const Int_t& n1StexStin,
const Int_t& i0StinEcha,
6350 const TString PlotOption)
6356 Int_t StexStin_A = n1StexStin;
6360 Bool_t aOKData = kFALSE;
6379 cout <<
"!TEcnaHistos::SigmaSamplesXtals(...)> Data not available (ROOT file not found)." << endl;
6384 if( arg_AlreadyRead >= 1 )
6390 if( aOKData == kTRUE )
6394 Int_t xAlreadyRead = 1;
6398 {
cout <<
"*TEcnaHistos::SigmaSamplesXtals(...)> channel " << setw(2) << i0_stin_echa <<
": ";}
6400 {
cout <<
"*TEcnaHistos::SigmaSamplesXtals(...)> Xtal " << setw(2) << i0_stin_echa+1 <<
": ";}
6404 read_histo_samps(i0_samp) = read_histo(i0_stin_echa*fFapNbOfSamples+i0_samp);
6405 cout << setprecision(3) << setw(6) << read_histo_samps(i0_samp) <<
", " ;
6408 ViewHisto(read_histo_samps, xAlreadyRead,
6416 cout <<
"!TEcnaHistos::SigmaSamplesXtals(...)> Data not available." << endl;
6422 Int_t StexStin_A = n1StexStin;
6451 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
6452 const Int_t& i0Sample,
const TString HistoCode,
6453 const TString opt_plot_arg)
6457 TString opt_plot = opt_plot_arg;
6467 Int_t xCanvasExists = 1;
6470 TVirtualPad* main_subpad = 0;
6472 main_subpad =
ActivePad(HistoCode.Data(), opt_plot.Data());
6473 if( main_subpad == 0 )
6475 cout <<
"*TEcnaHistos::ViewHisto(...)> WARNING ===> Canvas has been closed in option SAME or SAME n."
6477 <<
" Please, restart with a new canvas."
6487 Int_t SameXVarMemo = 1;
6488 if( !(HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"EvolProj") &&
6489 !(arg_AlreadyRead >= 1) )
6495 SetXVarMemo(HistoCode, opt_plot, XVarHisto);
SetYVarMemo(HistoCode, opt_plot, YVarHisto); SameXVarMemo = 1;
6502 if( XVarHisto != XVariableMemo )
6504 cout <<
"!TEcnaHistos::ViewHisto(...)> *** ERROR *** ===> X coordinate changed in option SAME n." << endl
6505 <<
" Present X = " << XVarHisto << endl
6506 <<
" Present Y = " << YVarHisto << endl
6507 <<
" Previous X = " << XVariableMemo << endl
6508 <<
" Previous Y = " << YVariableMemo
6519 Int_t SameYVarMemo = 1;
6520 if( (HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"EvolProj") &&
6521 !(arg_AlreadyRead >= 1) )
6527 SetYVarMemo(HistoCode, opt_plot, YVarHisto);
SetYVarMemo(HistoCode, opt_plot, YVarHisto); SameYVarMemo = 1;
6534 if( YVarHisto != YVariableMemo )
6536 cout <<
"!TEcnaHistos::ViewHisto(...)> *** ERROR *** ===> Y coordinate changed in option SAME n." << endl
6537 <<
" Present X = " << XVarHisto << endl
6538 <<
" Present Y = " << YVarHisto << endl
6539 <<
" Previous X = " << XVariableMemo << endl
6540 <<
" Previous Y = " << YVariableMemo
6551 Int_t OkBinsMemoSameOne = 1;
6553 Int_t SizeForPlot =
GetHistoSize(HistoCode.Data(),
"plot");
6558 SetNbBinsMemo(HistoCode, opt_plot, xNbBins); OkBinsMemoSameOne = 1;
6564 if( xNbBins != NbBinsMemo )
6566 cout <<
"!TEcnaHistos::ViewHisto(...)> *** ERROR *** ===> Number of bins changed in option SAME or SAME n."
6567 <<
" Present number = " << xNbBins <<
", requested number = " << NbBinsMemo <<
fTTBELL << endl;
6568 OkBinsMemoSameOne = 0;
6574 if( xCanvasExists == 1 && SameXVarMemo == 1 && SameYVarMemo == 1 && OkBinsMemoSameOne == 1 ){OKHisto = 1;}
6588 TString fp_name_short =
" ";
6591 Int_t SizeForRead =
GetHistoSize(HistoCode.Data(),
"read");
6594 TVectorD histo_for_plot(SizeForPlot);
6595 for(Int_t
i=0;
i<SizeForPlot;
i++){histo_for_plot[
i]=(Double_t)0;}
6597 TVectorD histo_for_plot_memo(SizeForPlot);
6598 for(Int_t
i=0;
i<SizeForPlot;
i++){histo_for_plot_memo[
i]=(Double_t)0;}
6600 Int_t i_data_exist = 0;
6604 if( HistoType ==
"Global" || HistoType ==
"Proj" || HistoType ==
"SampGlobal" ||
6605 HistoType ==
"SampProj" )
6609 Bool_t ok_view_histo = kFALSE;
6612 Int_t CounterExistingFile = 0;
6613 Int_t CounterDataExist = 0;
6622 Bool_t OKFileExists = kFALSE;
6623 Bool_t ok_data_exists = kFALSE;
6628 if( arg_AlreadyRead == 0 )
6632 Int_t n1StasStex = iStasStex+1;
6639 if( OKFileExists == kTRUE )
6646 if( iStasStex == 0 )
6666 if( ok_view_histo == kTRUE )
6669 if( HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_NOE_ChDs" ){
6671 if( HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_Ped_ChDs" ){
6673 if( HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_TNo_ChDs" ){
6675 if( HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_MCs_ChDs" ){
6677 if( HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_LFN_ChDs" ){
6679 if( HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_HFN_ChDs" ){
6681 if( HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_SCs_ChDs" ){
6688 if( arg_AlreadyRead >= 1 )
6690 ok_data_exists = kTRUE;
6695 if( ok_data_exists == kTRUE )
6698 CounterExistingFile++;
6702 if( ok_data_exists == kTRUE )
6716 if( i_xgeo >= 0 && i_xgeo < SizeForPlot )
6718 histo_for_plot[i_xgeo] = read_histo[i0StexStinEcna];
6722 cout <<
"!TEcnaHistos::ViewHisto(...)> <EB> i_xgeo = " << i_xgeo
6723 <<
". OUT OF RANGE ( range = [0,"<< SizeForPlot <<
"] " << endl;
6730 Int_t DeeOffset = 0;
6733 Int_t DeeNumber = iStasStex+1;
6734 Int_t n1DeeSCEcna = i0StexStinEcna+1;
6751 if( StexDataSector >= 1 && StexDataSector <= 9 )
6753 if( DeeNumber == 4 )
6755 for(Int_t is=2; is<=5; is++)
6756 {
if( StexDataSector >= is )
6760 if( DeeNumber == 3 )
6762 if( StexDataSector >= 6 )
6764 for(Int_t is=7; is<=9; is++)
6765 {
if( StexDataSector >= is )
6769 if( DeeNumber == 2 )
6771 if( StexDataSector >= 6 )
6773 for(Int_t is=7; is<=9; is++)
6774 {
if( StexDataSector >= is )
6778 if( DeeNumber == 1 )
6780 for(Int_t is=2; is<=5; is++)
6781 {
if( StexDataSector >= is )
6785 if( StexDSStin >=1 && StexDSStin <= fEcalNumbering->GetMaxSCInDS(StexDataSector) )
6787 if( DeeNumber == 4 )
6789 if(StexDataSector != 5)
6790 {i_xgeo = DeeOffset + DSOffset + (StexDSStin - 1);}
6791 if( StexDataSector == 5)
6792 {i_xgeo = DeeOffset + DSOffset + (StexDSStin - 1);}
6794 if( DeeNumber == 3 )
6796 if(StexDataSector != 5)
6797 {i_xgeo = DeeOffset + DSOffset + (StexDSStin - 1);}
6798 if( StexDataSector == 5)
6799 {i_xgeo = DeeOffset + DSOffset + (StexDSStin-17) - 1;}
6801 if( DeeNumber == 2 )
6803 if(StexDataSector != 5)
6804 {i_xgeo = DeeOffset + DSOffset
6806 if( StexDataSector == 5)
6807 {i_xgeo = DeeOffset + DSOffset
6810 if( DeeNumber == 1 )
6812 if(StexDataSector != 5)
6813 {i_xgeo = DeeOffset + DSOffset
6815 if( StexDataSector == 5)
6816 {i_xgeo = DeeOffset + DSOffset
6823 cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> StexDSStin = " << StexDSStin
6824 <<
". OUT OF RANGE ( range = [1,"
6826 <<
"]. DeeNumber = " << DeeNumber
6827 <<
", n1DeeSCEcna = " << n1DeeSCEcna
6828 <<
", StexDataSector = " << StexDataSector
6829 <<
", i_xgeo = " << i_xgeo << endl;
6840 if( i_xgeo >= -1 && i_xgeo < SizeForPlot )
6843 if( n1DeeSCEcna == 29 || n1DeeSCEcna == 32 ||
6845 n1DeeSCEcna == 144 || n1DeeSCEcna == 165 ||
6846 n1DeeSCEcna == 176 || n1DeeSCEcna == 193 ||
6847 n1DeeSCEcna == 60 || n1DeeSCEcna == 119 ||
6848 n1DeeSCEcna == 102 || n1DeeSCEcna == 123 ||
6849 n1DeeSCEcna == 138 || n1DeeSCEcna == 157 )
6852 if( n1DeeSCEcna == 29 && i_xgeo >= 0 )
6853 {histo_for_plot[i_xgeo] += read_histo[i0StexStinEcna]/(Double_t)5.;}
6854 if( (n1DeeSCEcna == 144 || n1DeeSCEcna == 165) && i_xgeo >= 0 )
6855 {histo_for_plot[i_xgeo] +=
6856 read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)25.;}
6859 if( n1DeeSCEcna == 32 && i_xgeo >= 0 )
6860 {histo_for_plot[i_xgeo] += read_histo[i0StexStinEcna]/(Double_t)5.;}
6861 if( (n1DeeSCEcna == 176 || n1DeeSCEcna == 193) && i_xgeo >= 0 )
6862 {histo_for_plot[i_xgeo] +=
6863 read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)25.;}
6866 if( (n1DeeSCEcna == 60 || n1DeeSCEcna == 119) && i_xgeo >= 0 )
6867 {histo_for_plot[i_xgeo] += read_histo[i0StexStinEcna]/(Double_t)2.;}
6870 if( n1DeeSCEcna == 102 )
6871 {histo_for_plot[i_xgeo] += read_histo[9]/(Double_t)21.
6872 + read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)21.;}
6873 if( n1DeeSCEcna == 123 && i_xgeo >= 0 )
6874 {histo_for_plot[i_xgeo] +=
6875 read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)21.;}
6878 if( n1DeeSCEcna == 138 )
6879 {histo_for_plot[i_xgeo] += read_histo[10]/(Double_t)21.
6880 + read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)21.;}
6881 if( n1DeeSCEcna == 157 && i_xgeo >= 0 )
6882 {histo_for_plot[i_xgeo] +=
6883 read_histo[i0StexStinEcna]*(Double_t)10./(Double_t)21.;}
6888 {histo_for_plot[i_xgeo] += read_histo[i0StexStinEcna];}
6901 cout <<
"!TEcnaHistos::ViewHisto(...)> "
6902 <<
" Data not available for " <<
fFapStexName <<
" " << iStasStex+1
6903 <<
" (Quantity not present in the ROOT file)" << endl;
6910 cout <<
"!TEcnaHistos::ViewHisto(...)> "
6911 <<
" Data not available for " <<
fFapStexName <<
" " << iStasStex+1
6912 <<
" (ROOT file not found)" << endl;
6920 delete [] xFapNbOfEvts; xFapNbOfEvts = 0;
fCdelete++;
6922 if( CounterExistingFile > 0 && CounterDataExist > 0 ){OKPlot = 1;}
6930 Bool_t OKFileExists = kFALSE ;
6931 Bool_t ok_view_histo = kFALSE;
6933 if( arg_AlreadyRead == 0 )
6943 if( OKFileExists == kTRUE )
6959 if( arg_AlreadyRead >= 1 )
6961 OKFileExists = kTRUE; ok_view_histo = kTRUE;
6964 if( OKFileExists == kTRUE )
6969 if( ok_view_histo == kTRUE )
6973 (
fFlagSubDet ==
"EE" && ( HistoType ==
"SampGlobal" || HistoType ==
"SampProj" ) ) )
6976 SizeForPlot, SizeForRead,
6977 StexStin_A, i0StinEcha, i0Sample, i_data_exist);
6978 if( i_data_exist > 0 ){OKPlot = 1;}
6979 if( OKPlot == 1 && opt_plot ==
"ASCII" && ( HistoType ==
"Global" || HistoType ==
"Proj" ) )
6984 if(
fFlagSubDet ==
"EE" && !( HistoType ==
"SampGlobal" || HistoType ==
"SampProj" ) )
6986 TVectorD read_histo(SizeForRead);
6987 for(Int_t
i=0;
i<SizeForRead;
i++){read_histo(
i)=(Double_t)0.;}
6990 SizeForRead, SizeForRead,
6991 StexStin_A, i0StinEcha, i0Sample, i_data_exist);
6992 if( i_data_exist > 0 ){OKPlot = 1;}
6993 if( OKPlot == 1 && opt_plot ==
"ASCII" )
6997 if( OKPlot == 1 && opt_plot !=
"ASCII" )
7014 if( n1SCEcha >= 1 && n1SCEcha <= fEcal->MaxCrysInSC() )
7016 if( n1DeeSCEcna >= 1 && n1DeeSCEcna <= fEcal->MaxSCEcnaInDee() )
7018 if( DataSector >= 1 && DataSector <= 9 )
7020 if( SC_in_DS >= 1 && SC_in_DS <= fEcalNumbering->GetMaxSCInDS(DataSector) )
7022 if( read_histo[i0DeeEcha] != 0 )
7025 Int_t DSOffset =
GetDSOffset(DeeNumber, DataSector);
7028 Int_t SCOffset =
GetSCOffset(DeeNumber, DataSector, SC_in_DS);
7032 GetDeeSCConsFrom1DeeSCEcna(DeeNumber, n1DeeSCEcna, n1SCEcha);
7034 Int_t n1FinalSCEcha = n1SCEcha;
7040 if( !( (SC_in_DS == 14 || SC_in_DS == 25 ) && n1SCEcha == 11 ) )
7044 n1DeeSCEcna, n1SCEcha);
7045 i_xgeo = DSOffset + SCOffset + (n1FinalSCEcha-1);
7048 if( SC_in_DS == 14 && n1SCEcha == 11 )
7050 SCOffset =
GetSCOffset(DeeNumber, DataSector, 21);
7052 i_xgeo = DSOffset + SCOffset + (n1FinalSCEcha-1);
7055 if( SC_in_DS == 25 && n1SCEcha == 11 )
7059 i_xgeo = DSOffset + SCOffset + (n1FinalSCEcha-1);
7064 i_xgeo = DSOffset + SCOffset + (n1FinalSCEcha-1);
7067 histo_for_plot_memo[i_xgeo]++;
7068 if( histo_for_plot_memo[i_xgeo] >= 2 )
7070 cout <<
"! histo_memo[" << i_xgeo
7071 <<
"] = " << histo_for_plot_memo[i_xgeo]
7072 <<
", nSCCons = " << nSCCons
7073 <<
", SC_in_DS = " << SC_in_DS
7074 <<
", DSOffset = " << DSOffset
7075 <<
", SCOffset = " << SCOffset
7076 <<
", n1DeeSCEcna = " << n1DeeSCEcna
7077 <<
", n1SCEcha = " << n1SCEcha
7078 <<
", n1FinalSCEcha = " << n1FinalSCEcha << endl;
7081 if( i_xgeo >= 0 && i_xgeo < SizeForPlot )
7083 if( n1FinalSCEcha > 0 )
7084 {histo_for_plot[i_xgeo] += read_histo[i0DeeEcha];}
7088 cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> i_xgeo = " << i_xgeo
7089 <<
". OUT OF RANGE ( range = [0,"<< SizeForPlot <<
"] " << endl;
7095 cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> SC_in_DS = " << SC_in_DS
7096 <<
". OUT OF RANGE ( range = [1,"
7098 <<
", DataSector = " << DataSector
7099 <<
", n1DeeSCEcna = " << n1DeeSCEcna
7100 <<
", n1SCEcha = " << n1SCEcha
7101 <<
", i0DeeEcha = " << i0DeeEcha
7107 if( DataSector != 0 )
7109 cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> DataSector = " << DataSector
7110 <<
". OUT OF RANGE ( range = [1,9] "
7111 <<
", n1DeeSCEcna = " << n1DeeSCEcna
7112 <<
", n1SCEcha = " << n1SCEcha
7113 <<
", i0DeeEcha = " << i0DeeEcha
7120 cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> n1DeeSCEcna = " << n1DeeSCEcna
7122 <<
", n1SCEcha = " << n1SCEcha
7123 <<
", i0DeeEcha = " << i0DeeEcha
7129 cout <<
"!TEcnaHistos::ViewHisto(...)> <EE> n1SCEcha = " << n1SCEcha
7131 <<
", i0DeeEcha = " << i0DeeEcha
7140 cout <<
"!TEcnaHistos::ViewHisto(...)> *ERROR* =====> "
7141 <<
" ok_view_histo != kTRUE " <<
fTTBELL << endl;
7148 cout <<
"!TEcnaHistos::ViewHisto(...)> *ERROR* =====> "
7149 <<
" ROOT file not found" <<
fTTBELL << endl;
7156 if( (
fFapStexNumber > 0) && (fFapStexNumber <= fEcal->MaxStexInStas()) )
7158 Bool_t OKFileExists = kFALSE;
7160 if( !(arg_AlreadyRead > 1) )
7172 OKFileExists = kTRUE;
7175 if( OKFileExists == kTRUE )
7179 for(Int_t
i=0;
i<SizeForPlot;
i++){histo_for_plot[
i]=(Double_t)0;}
7182 SizeForPlot, SizeForRead,
7183 StexStin_A, i0StinEcha, i0Sample, i_data_exist);
7190 if( i_data_exist > 0 ){OKPlot = 1;}
7194 cout <<
"!TEcnaHistos::ViewHisto(...)> *ERROR* =====> "
7195 <<
" ROOT file not found" <<
fTTBELL << endl;
7208 if( ( HistoType ==
"Global" || HistoType ==
"Proj" ||
7209 HistoType ==
"SampGlobal" || HistoType ==
"SampProj" ||
7210 HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj" ) ||
7211 ( !( HistoType ==
"Global" || HistoType ==
"Proj" ||
7212 HistoType ==
"SampGlobal" || HistoType ==
"SampProj" ||
7213 HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj" ) &&
7214 ( (
fFapStexNumber > 0) && (fFapStexNumber <= fEcal->MaxStexInStas()) ) ) )
7216 if( opt_plot !=
"ASCII" )
7222 if( (opt_plot ==
fOnlyOnePlot && ( arg_AlreadyRead == 0 || arg_AlreadyRead == 1 ) ) ||
7242 if( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"H1BasicProj" )
7244 TString HistoCodi = HistoCode;
7246 if( HistoCode ==
"D_NOE_ChDs" ){HistoCodi =
"D_NOE_ChNb";}
7247 if( HistoCode ==
"D_Ped_ChDs" ){HistoCodi =
"D_Ped_ChNb";}
7248 if( HistoCode ==
"D_TNo_ChDs" ){HistoCodi =
"D_TNo_ChNb";}
7249 if( HistoCode ==
"D_MCs_ChDs" ){HistoCodi =
"D_MCs_ChNb";}
7250 if( HistoCode ==
"D_LFN_ChDs" ){HistoCodi =
"D_LFN_ChNb";}
7251 if( HistoCode ==
"D_HFN_ChDs" ){HistoCodi =
"D_HFN_ChNb";}
7252 if( HistoCode ==
"D_SCs_ChDs" ){HistoCodi =
"D_SCs_ChNb";}
7253 if( HistoCode ==
"D_MSp_SpDs" ){HistoCodi =
"D_MSp_SpNb";}
7254 if( HistoCode ==
"D_SSp_SpDs" ){HistoCodi =
"D_SSp_SpNb";}
7255 if( HistoCode ==
"D_Adc_EvDs" ){HistoCodi =
"D_Adc_EvNb";}
7257 TString TitleHisto =
";";
7270 if( (opt_plot ==
fOnlyOnePlot && ( arg_AlreadyRead == 0 || arg_AlreadyRead == 1 ) ) ||
7274 Double_t XinfProj =(Double_t)0;
7275 Double_t XsupProj =(Double_t)0;
7280 Int_t HisSiza =
GetHistoSize(HistoCodi.Data(),
"plot");
7281 Int_t ReadHisSiza = HisSiza;
7283 Axis_t xinf_hisa =
GetHistoXinf(HistoCodi.Data(), HisSiza, opt_plot);
7284 Axis_t xsup_hisa =
GetHistoXsup(HistoCodi.Data(), HisSiza, opt_plot);
7288 new TH1D(
"histoa", TitleHisto.Data(), nb_binxa, xinf_hisa, xsup_hisa);
fCnewRoot++;
7291 FillHisto(h_hisa, histo_for_plot, HistoCodi.Data(), ReadHisSiza);
7341 Double_t cXinf = (Double_t)0.;
7342 Double_t cXsup = (Double_t)0.;
7345 if( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"H1BasicProj")
7360 cXinf =
GetHistoXinf(HistoCode.Data(), SizeForPlot, opt_plot);
7361 cXsup =
GetHistoXsup(HistoCode.Data(), SizeForPlot, opt_plot);
7365 Axis_t xinf_his = cXinf;
7366 Axis_t xsup_his = cXsup;
7367 Int_t nb_binx = xNbBins;
7369 TString TitleHisto =
";";
7372 TH1D* h_his0 =
new TH1D(
"histo", TitleHisto.Data(), nb_binx, xinf_his, xsup_his);
fCnewRoot++;
7375 FillHisto(h_his0, histo_for_plot, HistoCode.Data(), SizeForPlot);
7384 if( HistoType !=
"Proj" && HistoType !=
"SampProj" && HistoType !=
"H1BasicProj" )
7397 if( ymin != (Double_t)0. )
7416 if( ( HistoType ==
"Proj" || HistoType ==
"SampProj" ||
7417 HistoType ==
"H1BasicProj" ) &&
fFlagScaleY ==
"LIN" )
7441 HistoPlot(h_his0, SizeForPlot, xinf_his, xsup_his,
7442 HistoCode.Data(), HistoType.Data(),
7443 StexStin_A, i0StinEcha, i0Sample,
7444 opt_scale_x, opt_scale_y, opt_plot, arg_AlreadyRead,
7445 xFlagAutoYsupMargin);
7458 cout <<
"!TEcnaHistos::ViewHisto(...)> Histo not available."
7474 if( DeeNumber == 4 )
7476 if( DataSector >= 1 ){}
7482 if( DeeNumber == 3 )
7484 if( DataSector >= 5 ){}
7490 if( DeeNumber == 2 )
7492 if( DataSector <= 9 ){}
7498 if( DeeNumber == 1 )
7500 if( DataSector <= 5 ){}
7515 if( DeeNumber == 1 || DeeNumber == 3 )
7521 if( DeeNumber == 2 || DeeNumber == 4 ){SCOffset += (SC_in_DS-1)*
fEcal->
MaxCrysInSC();}
7527 const Int_t& nSCCons,
const Int_t& SC_in_DS,
7528 const Int_t& n1DeeSCEcna,
const Int_t& n1SCEcha)
7532 Int_t ModifiedSCEcha = -1;
7536 TString TypQuad =
"?";
7537 if( SCQuad ==
"top" && DeeDir ==
"right" ){TypQuad =
"TR";}
7538 if( SCQuad ==
"top" && DeeDir ==
"left" ){TypQuad =
"TL";}
7539 if( SCQuad ==
"bottom" && DeeDir ==
"left" ){TypQuad =
"BL";}
7540 if( SCQuad ==
"bottom" && DeeDir ==
"right" ){TypQuad =
"BR";}
7546 if( (SC_in_DS == 30 && n1DeeSCEcna == 60 && TypQuad ==
"TR") ||
7547 (SC_in_DS == 3 && n1DeeSCEcna == 138 && TypQuad ==
"TR") ){
if(n1SCEcha > 15){ModifiedSCEcha = n1SCEcha - 15;}}
7551 if( (SC_in_DS == 30 && n1DeeSCEcna == 60 && TypQuad ==
"TL") ||
7552 (SC_in_DS == 3 && n1DeeSCEcna == 138 && TypQuad ==
"TL") )
7554 if(n1SCEcha == 4){ModifiedSCEcha = 1;}
7555 if(n1SCEcha == 5){ModifiedSCEcha = 2;}
7556 if(n1SCEcha == 9){ModifiedSCEcha = 3;}
7557 if(n1SCEcha == 10){ModifiedSCEcha = 4;}
7558 if(n1SCEcha == 14){ModifiedSCEcha = 5;}
7559 if(n1SCEcha == 15){ModifiedSCEcha = 6;}
7560 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7561 if(n1SCEcha == 20){ModifiedSCEcha = 8;}
7562 if(n1SCEcha == 24){ModifiedSCEcha = 9;}
7563 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7567 if( SC_in_DS == 30 && n1DeeSCEcna == 119 && TypQuad ==
"TR" ){
if(n1SCEcha > 5){ModifiedSCEcha = n1SCEcha - 5;}}
7570 if( SC_in_DS == 30 && n1DeeSCEcna == 119 && TypQuad ==
"TL" )
7572 if(n1SCEcha == 4){ModifiedSCEcha = 11;}
7573 if(n1SCEcha == 5){ModifiedSCEcha = 12;}
7574 if(n1SCEcha == 9){ModifiedSCEcha = 13;}
7575 if(n1SCEcha == 10){ModifiedSCEcha = 14;}
7576 if(n1SCEcha == 14){ModifiedSCEcha = 15;}
7577 if(n1SCEcha == 15){ModifiedSCEcha = 16;}
7578 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7579 if(n1SCEcha == 20){ModifiedSCEcha = 18;}
7580 if(n1SCEcha == 24){ModifiedSCEcha = 19;}
7581 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7586 if( SC_in_DS == 12 && n1DeeSCEcna == 13 && TypQuad ==
"TR" )
7588 ModifiedSCEcha = n1SCEcha;
7590 if( SC_in_DS == 12 && n1DeeSCEcna == 13 && TypQuad ==
"TL" )
7592 if( n1SCEcha >= 1 && n1SCEcha <= 4 ){ModifiedSCEcha = n1SCEcha;}
7593 if( n1SCEcha >= 6 && n1SCEcha <= 9 ){ModifiedSCEcha = n1SCEcha-1;}
7594 if( n1SCEcha >= 11 && n1SCEcha <= 14 ){ModifiedSCEcha = n1SCEcha-2;}
7595 if( n1SCEcha >= 16 && n1SCEcha <= 19 ){ModifiedSCEcha = n1SCEcha-3;}
7596 if( n1SCEcha >= 21 && n1SCEcha <= 24 ){ModifiedSCEcha = n1SCEcha-4;}
7600 if( SC_in_DS == 25 && n1DeeSCEcna == 176 && TypQuad ==
"TR" )
7602 if(n1SCEcha == 4){ModifiedSCEcha = 1;}
7603 if(n1SCEcha == 5){ModifiedSCEcha = 2;}
7604 if(n1SCEcha == 9){ModifiedSCEcha = 3;}
7605 if(n1SCEcha == 10){ModifiedSCEcha = 4;}
7606 if(n1SCEcha == 14){ModifiedSCEcha = 5;}
7607 if(n1SCEcha == 15){ModifiedSCEcha = 6;}
7608 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7609 if(n1SCEcha == 20){ModifiedSCEcha = 8;}
7610 if(n1SCEcha == 24){ModifiedSCEcha = 9;}
7611 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7615 if( SC_in_DS == 25 && n1DeeSCEcna == 176 && TypQuad ==
"TL" )
7617 if(n1SCEcha == 16){ModifiedSCEcha = 1;}
7618 if(n1SCEcha == 21){ModifiedSCEcha = 2;}
7619 if(n1SCEcha == 17){ModifiedSCEcha = 3;}
7620 if(n1SCEcha == 22){ModifiedSCEcha = 4;}
7621 if(n1SCEcha == 18){ModifiedSCEcha = 5;}
7622 if(n1SCEcha == 23){ModifiedSCEcha = 6;}
7623 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7624 if(n1SCEcha == 24){ModifiedSCEcha = 8;}
7625 if(n1SCEcha == 20){ModifiedSCEcha = 9;}
7626 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7631 if( (SC_in_DS == 3 && n1DeeSCEcna == 157 && TypQuad ==
"TR") ||
7632 (SC_in_DS == 25 && n1DeeSCEcna == 193 && TypQuad ==
"TR") )
7634 if(n1SCEcha == 4){ModifiedSCEcha = 11;}
7635 if(n1SCEcha == 5){ModifiedSCEcha = 12;}
7636 if(n1SCEcha == 9){ModifiedSCEcha = 13;}
7637 if(n1SCEcha == 10){ModifiedSCEcha = 14;}
7638 if(n1SCEcha == 14){ModifiedSCEcha = 15;}
7639 if(n1SCEcha == 15){ModifiedSCEcha = 16;}
7640 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7641 if(n1SCEcha == 20){ModifiedSCEcha = 18;}
7642 if(n1SCEcha == 24){ModifiedSCEcha = 19;}
7643 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7648 if( (SC_in_DS == 3 && n1DeeSCEcna == 157 && TypQuad ==
"TL") ||
7649 (SC_in_DS == 25 && n1DeeSCEcna == 193 && TypQuad ==
"TL") )
7651 if(n1SCEcha == 16){ModifiedSCEcha = 11;}
7652 if(n1SCEcha == 21){ModifiedSCEcha = 12;}
7653 if(n1SCEcha == 17){ModifiedSCEcha = 13;}
7654 if(n1SCEcha == 22){ModifiedSCEcha = 14;}
7655 if(n1SCEcha == 18){ModifiedSCEcha = 15;}
7656 if(n1SCEcha == 23){ModifiedSCEcha = 16;}
7657 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7658 if(n1SCEcha == 24){ModifiedSCEcha = 18;}
7659 if(n1SCEcha == 20){ModifiedSCEcha = 19;}
7660 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7664 if( SC_in_DS == 32 && n1DeeSCEcna == 51 && TypQuad ==
"TR" )
7666 if( n1SCEcha >= 1 && n1SCEcha <= 4 ){ModifiedSCEcha = n1SCEcha;}
7667 if( n1SCEcha >= 6 && n1SCEcha <= 9 ){ModifiedSCEcha = n1SCEcha-1;}
7668 if( n1SCEcha >= 11 && n1SCEcha <= 14 ){ModifiedSCEcha = n1SCEcha-2;}
7669 if( n1SCEcha >= 16 && n1SCEcha <= 19 ){ModifiedSCEcha = n1SCEcha-3;}
7670 if( n1SCEcha >= 21 && n1SCEcha <= 24 ){ModifiedSCEcha = n1SCEcha-4;}
7674 if( SC_in_DS == 32 && n1DeeSCEcna == 51 && TypQuad ==
"TL" )
7676 ModifiedSCEcha = n1SCEcha;
7687 if( n1DeeSCEcna == 32 && TypQuad ==
"TR" )
7689 if( nSCCons == 207 )
7691 if(n1SCEcha == 1){ModifiedSCEcha = 21;}
7692 if(n1SCEcha == 2){ModifiedSCEcha = 22;}
7693 if(n1SCEcha == 3){ModifiedSCEcha = 23;}
7694 if(n1SCEcha == 6){ModifiedSCEcha = 24;}
7695 if(n1SCEcha == 7){ModifiedSCEcha = 25;}
7697 if( nSCCons == 178 )
7699 if(n1SCEcha == 11){ModifiedSCEcha = 21;}
7710 if( n1DeeSCEcna == 32 && TypQuad ==
"TL" )
7714 if(n1SCEcha == 1){ModifiedSCEcha = 21;}
7715 if(n1SCEcha == 2){ModifiedSCEcha = 22;}
7716 if(n1SCEcha == 3){ModifiedSCEcha = 23;}
7717 if(n1SCEcha == 6){ModifiedSCEcha = 24;}
7718 if(n1SCEcha == 7){ModifiedSCEcha = 25;}
7722 if(n1SCEcha == 11){ModifiedSCEcha = 21;}
7737 if( n1DeeSCEcna == 29 && TypQuad ==
"BR" )
7739 if( nSCCons == 261 )
7741 if(n1SCEcha == 1){ModifiedSCEcha = 21;}
7742 if(n1SCEcha == 2){ModifiedSCEcha = 22;}
7743 if(n1SCEcha == 3){ModifiedSCEcha = 23;}
7744 if(n1SCEcha == 6){ModifiedSCEcha = 24;}
7745 if(n1SCEcha == 7){ModifiedSCEcha = 25;}
7747 if( nSCCons == 268 )
7749 if(n1SCEcha == 11){ModifiedSCEcha = 21;}
7760 if( n1DeeSCEcna == 29 && TypQuad ==
"BL" )
7762 if( nSCCons == 119 )
7764 if(n1SCEcha == 11){ModifiedSCEcha = 21;}
7766 if( nSCCons == 112 )
7768 if(n1SCEcha == 1){ModifiedSCEcha = 21;}
7769 if(n1SCEcha == 2){ModifiedSCEcha = 22;}
7770 if(n1SCEcha == 3){ModifiedSCEcha = 23;}
7771 if(n1SCEcha == 6){ModifiedSCEcha = 24;}
7772 if(n1SCEcha == 7){ModifiedSCEcha = 25;}
7780 if( (SC_in_DS == 34 && n1DeeSCEcna == 188 && TypQuad ==
"BR") ||
7781 (SC_in_DS == 14 && n1DeeSCEcna == 165 && TypQuad ==
"BR") ){
if(n1SCEcha > 15){ModifiedSCEcha = n1SCEcha - 15;}}
7785 if( (SC_in_DS == 34 && n1DeeSCEcna == 188 && TypQuad ==
"BL") ||
7786 (SC_in_DS == 14 && n1DeeSCEcna == 165 && TypQuad ==
"BL") )
7788 if(n1SCEcha == 4){ModifiedSCEcha = 1;}
7789 if(n1SCEcha == 5){ModifiedSCEcha = 2;}
7790 if(n1SCEcha == 9){ModifiedSCEcha = 3;}
7791 if(n1SCEcha == 10){ModifiedSCEcha = 4;}
7792 if(n1SCEcha == 14){ModifiedSCEcha = 5;}
7793 if(n1SCEcha == 15){ModifiedSCEcha = 6;}
7794 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7795 if(n1SCEcha == 20){ModifiedSCEcha = 8;}
7796 if(n1SCEcha == 24){ModifiedSCEcha = 9;}
7797 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7801 if( SC_in_DS == 10 && n1DeeSCEcna == 50 && TypQuad ==
"BR" )
7803 ModifiedSCEcha = n1SCEcha;
7807 if( SC_in_DS == 10 && n1DeeSCEcna == 50 && TypQuad ==
"BL")
7809 if( n1SCEcha >= 1 && n1SCEcha <= 4 ){ModifiedSCEcha = n1SCEcha;}
7810 if( n1SCEcha >= 6 && n1SCEcha <= 9 ){ModifiedSCEcha = n1SCEcha-1;}
7811 if( n1SCEcha >= 11 && n1SCEcha <= 14 ){ModifiedSCEcha = n1SCEcha-2;}
7812 if( n1SCEcha >= 16 && n1SCEcha <= 19 ){ModifiedSCEcha = n1SCEcha-3;}
7813 if( n1SCEcha >= 21 && n1SCEcha <= 24 ){ModifiedSCEcha = n1SCEcha-4;}
7817 if( SC_in_DS == 14 && n1DeeSCEcna == 144 && TypQuad ==
"BR" ){
if(n1SCEcha > 5){ModifiedSCEcha = n1SCEcha - 5;}}
7820 if( SC_in_DS == 14 && n1DeeSCEcna == 144 && TypQuad ==
"BL" )
7822 if(n1SCEcha == 4){ModifiedSCEcha = 11;}
7823 if(n1SCEcha == 5){ModifiedSCEcha = 12;}
7824 if(n1SCEcha == 9){ModifiedSCEcha = 13;}
7825 if(n1SCEcha == 10){ModifiedSCEcha = 14;}
7826 if(n1SCEcha == 14){ModifiedSCEcha = 15;}
7827 if(n1SCEcha == 15){ModifiedSCEcha = 16;}
7828 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7829 if(n1SCEcha == 20){ModifiedSCEcha = 18;}
7830 if(n1SCEcha == 24){ModifiedSCEcha = 19;}
7831 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7836 if( (SC_in_DS == 21 && n1DeeSCEcna == 123 && TypQuad ==
"BR") ||
7837 (SC_in_DS == 20 && n1DeeSCEcna == 41 && TypQuad ==
"BR") )
7839 if(n1SCEcha == 4){ModifiedSCEcha = 1;}
7840 if(n1SCEcha == 5){ModifiedSCEcha = 2;}
7841 if(n1SCEcha == 9){ModifiedSCEcha = 3;}
7842 if(n1SCEcha == 10){ModifiedSCEcha = 4;}
7843 if(n1SCEcha == 14){ModifiedSCEcha = 5;}
7844 if(n1SCEcha == 15){ModifiedSCEcha = 6;}
7845 if(n1SCEcha == 19){ModifiedSCEcha = 7;}
7846 if(n1SCEcha == 20){ModifiedSCEcha = 8;}
7847 if(n1SCEcha == 24){ModifiedSCEcha = 9;}
7848 if(n1SCEcha == 25){ModifiedSCEcha = 10;}
7853 if( (SC_in_DS == 21 && n1DeeSCEcna == 123 && TypQuad ==
"BL") ||
7854 (SC_in_DS == 3 && n1DeeSCEcna == 41 && TypQuad ==
"BL") ){
if(n1SCEcha > 15){ModifiedSCEcha = n1SCEcha - 15;}}
7858 if( SC_in_DS == 21 && n1DeeSCEcna == 102 && TypQuad ==
"BR" )
7860 if(n1SCEcha == 4){ModifiedSCEcha = 11;}
7861 if(n1SCEcha == 5){ModifiedSCEcha = 12;}
7862 if(n1SCEcha == 9){ModifiedSCEcha = 13;}
7863 if(n1SCEcha == 10){ModifiedSCEcha = 14;}
7864 if(n1SCEcha == 14){ModifiedSCEcha = 15;}
7865 if(n1SCEcha == 15){ModifiedSCEcha = 16;}
7866 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7867 if(n1SCEcha == 20){ModifiedSCEcha = 18;}
7868 if(n1SCEcha == 24){ModifiedSCEcha = 19;}
7869 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7873 if( SC_in_DS == 21 && n1DeeSCEcna == 102 && TypQuad ==
"BL" )
7875 if(n1SCEcha == 16){ModifiedSCEcha = 11;}
7876 if(n1SCEcha == 21){ModifiedSCEcha = 12;}
7877 if(n1SCEcha == 17){ModifiedSCEcha = 13;}
7878 if(n1SCEcha == 22){ModifiedSCEcha = 14;}
7879 if(n1SCEcha == 18){ModifiedSCEcha = 15;}
7880 if(n1SCEcha == 23){ModifiedSCEcha = 16;}
7881 if(n1SCEcha == 19){ModifiedSCEcha = 17;}
7882 if(n1SCEcha == 24){ModifiedSCEcha = 18;}
7883 if(n1SCEcha == 20){ModifiedSCEcha = 19;}
7884 if(n1SCEcha == 25){ModifiedSCEcha = 20;}
7888 if( SC_in_DS == 23 && n1DeeSCEcna == 8 && TypQuad ==
"BR" )
7890 if( n1SCEcha >= 1 && n1SCEcha <= 4 ){ModifiedSCEcha = n1SCEcha;}
7891 if( n1SCEcha >= 6 && n1SCEcha <= 9 ){ModifiedSCEcha = n1SCEcha-1;}
7892 if( n1SCEcha >= 11 && n1SCEcha <= 14 ){ModifiedSCEcha = n1SCEcha-2;}
7893 if( n1SCEcha >= 16 && n1SCEcha <= 19 ){ModifiedSCEcha = n1SCEcha-3;}
7894 if( n1SCEcha >= 21 && n1SCEcha <= 24 ){ModifiedSCEcha = n1SCEcha-4;}
7898 if( SC_in_DS == 6 && n1DeeSCEcna == 8 && TypQuad ==
"BL" )
7900 ModifiedSCEcha = n1SCEcha;
7906 cout <<
"! *** ERROR *** > ModifiedSCEcha = " << ModifiedSCEcha
7907 <<
", SC_in_DS = " << SC_in_DS
7908 <<
", nSCCons = " << nSCCons
7909 <<
", n1DeeSCEcna = " << n1DeeSCEcna
7910 <<
", n1SCEcha = " << n1SCEcha
7911 <<
", ModifiedSCEcha = " << ModifiedSCEcha
7912 <<
", TypQuad = " << TypQuad
7917 return ModifiedSCEcha;
7933 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
7934 const TString HistoCode,
const TString opt_plot_arg)
7938 TString opt_plot = opt_plot_arg;
7941 if( opt_plot_arg ==
"ONLYONE" ){opt_plot =
fOnlyOnePlot;}
7942 if( opt_plot_arg ==
"SEVERAL" ){opt_plot =
fSeveralPlot;}
7943 if( opt_plot_arg ==
"SAMEONE" ){opt_plot =
fSameOnePlot;}
7948 Int_t xCanvasExists = 1;
7951 TVirtualPad* main_subpad = 0;
7953 main_subpad =
ActivePad(HistoCode.Data(), opt_plot.Data());
7954 if( main_subpad == 0 )
7956 cout <<
"*TEcnaHistos::ViewHistime(...)> WARNING ===> Canvas has been closed in option SAME or SAME n."
7958 <<
" Please, restart with a new canvas."
7968 Int_t SameXVarMemo = 1;
7969 if( !( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"H1BasicProj" || HistoType ==
"EvolProj" ) )
7976 SetXVarMemo(HistoCode, opt_plot, XVarHisto);
SetYVarMemo(HistoCode, opt_plot, YVarHisto); SameXVarMemo = 1;
7983 if( XVarHisto != XVariableMemo )
7985 cout <<
"!TEcnaHistos::ViewHistime(...)> *** ERROR *** ===> X coordinate changed in option SAME n." << endl
7986 <<
" Present X = " << XVarHisto << endl
7987 <<
" Present Y = " << YVarHisto << endl
7988 <<
" Previous X = " << XVariableMemo << endl
7989 <<
" Previous Y = " << YVariableMemo
8000 Int_t SameYVarMemo = 1;
8001 if( HistoType ==
"Proj" || HistoType ==
"SampProj" || HistoType ==
"H1BasicProj" || HistoType ==
"EvolProj" )
8008 SetYVarMemo(HistoCode, opt_plot, YVarHisto);
SetYVarMemo(HistoCode, opt_plot, YVarHisto); SameYVarMemo = 1;
8015 if( YVarHisto != YVariableMemo )
8017 cout <<
"!TEcnaHistos::ViewHistime(...)> *** ERROR *** ===> Y coordinate changed in option SAME n." << endl
8018 <<
" Present X = " << XVarHisto << endl
8019 <<
" Present Y = " << YVarHisto << endl
8020 <<
" Previous X = " << XVariableMemo << endl
8021 <<
" Previous Y = " << YVariableMemo
8030 if( xCanvasExists == 1 && SameXVarMemo == 1 && SameYVarMemo == 1 ){OKHisto = 1;}
8054 if( nb_of_runs_in_list > 0 )
8058 Double_t margin_frame_xaxis = (Double_t)25.;
8060 Double_t thstart_evol = (Double_t)0.;
8061 Double_t thstop_evol = (Double_t)0.;
8063 Int_t* exist_indic =
new Int_t[nb_of_runs_in_list];
fCnew++;
8077 for(Int_t i_run = 0; i_run < nb_of_runs_in_list; i_run++)
8079 exist_indic[i_run] = 0;
8118 exist_indic[i_run] = 1;
8125 cout <<
"!TEcnaHistos::ViewHistime(...)> *ERROR* =====> "
8126 <<
" ROOT file not found for run " << fT1DRunNumber[i_run]
8135 Int_t i_existing_run = (Int_t)0;
8137 for( Int_t i_run = 0; i_run < nb_of_runs_in_list; i_run++)
8139 if( exist_indic[i_run] == 1 )
8151 Double_t xinf_lim = thstart_evol-(thstop_evol-thstart_evol)/margin_frame_xaxis;
8152 Double_t xsup_lim = thstop_evol +(thstop_evol-thstart_evol)/margin_frame_xaxis;
8154 Axis_t xinf_his = (Axis_t)(xinf_lim);
8155 Axis_t xsup_his = (Axis_t)(xsup_lim);
8168 time_coordx[i_run] = (Double_t)(-1);
8169 hval_coordy[i_run] = (Double_t)(-1);
8196 if( ok_view_histo == kTRUE )
8200 Double_t thstart = (Double_t)xStartTime;
8201 time_coordx[i_run] = (Double_t)(thstart - xinf_lim);
8206 if(HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_Ped_RuDs")
8208 if(HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_TNo_RuDs")
8210 if(HistoCode ==
"H_MCs_Date" || HistoCode ==
"H_MCs_RuDs")
8213 if(HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_LFN_RuDs")
8215 if(HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_HFN_RuDs")
8217 if(HistoCode ==
"H_SCs_Date" || HistoCode ==
"H_SCs_RuDs")
8219 hval_coordy[i_run] = (Double_t)read_histo(i0StexEcha);
8223 cout <<
"!TEcnaHistos::ViewHistime(...)> Histo not available. "
8244 TGraph* g_graph0 =
new TGraph(fNbOfExistingRuns, time_coordx, hval_coordy);
fCnewRoot++;
8248 {g_graph0->SetTitle(
";");}
8265 g_graph0->Set(fNbOfExistingRuns);
8266 Double_t graph_ymin =
8268 Double_t graph_ymax =
8272 if( HistoType ==
"Evol" )
8311 HistoCode.Data(), HistoType.Data(),
8312 StexStin_A, i0StinEcha, i0Sample,
8313 opt_scale_x, opt_scale_y, opt_plot, xFlagAutoYsupMargin);
8339 if( HistoType ==
"EvolProj" )
8342 TVectorD histo_for_plot(HisSizeEvolProj);
8343 for(Int_t
i=0;
i<HisSizeEvolProj;
i++){histo_for_plot[
i]=(Double_t)0.;}
8348 TString HistoCodi = HistoCode;
8350 if( HistoCode ==
"H_Ped_RuDs" ){HistoCodi =
"H_Ped_Date";}
8351 if( HistoCode ==
"H_TNo_RuDs" ){HistoCodi =
"H_TNo_Date";}
8352 if( HistoCode ==
"H_LFN_RuDs" ){HistoCodi =
"H_LFN_Date";}
8353 if( HistoCode ==
"H_HFN_RuDs" ){HistoCodi =
"H_HFN_Date";}
8354 if( HistoCode ==
"H_MCs_RuDs" ){HistoCodi =
"H_MCs_Date";}
8355 if( HistoCode ==
"H_SCs_RuDs" ){HistoCodi =
"H_SCs_Date";}
8370 Double_t XinfProj =(Double_t)0;
8371 Double_t XsupProj =(Double_t)0;
8416 Double_t cXinf = (Double_t)0.;
8417 Double_t cXsup = (Double_t)0.;
8431 if( cXinf >= cXsup ){cXinf -= 1.; cXsup +=1.;}
8434 Axis_t xinf_his = cXinf;
8435 Axis_t xsup_his = cXsup;
8437 TString TitleHisto =
";";
8444 Double_t XFromYGraph = hval_coordy[i_run];
8445 Double_t binXProjY = (Double_t)HisSizeEvolProj*(XFromYGraph - cXinf)/(cXsup - cXinf);
8446 Int_t ibinXProjY = (Int_t)binXProjY;
8447 if( ibinXProjY >= 0 && ibinXProjY<HisSizeEvolProj ){histo_for_plot[ibinXProjY]++;}
8450 TH1D* h_his_evol_proj =
new TH1D(
"histevolproj", TitleHisto.Data(),
8451 HisSizeEvolProj, xinf_his, xsup_his);
fCnewRoot++;
8453 h_his_evol_proj->Reset();
8456 for(Int_t
i=0;
i<HisSizeEvolProj;
i++)
8458 Double_t yi = (Double_t)
i/(Double_t)HisSizeEvolProj*(cXsup-cXinf) + cXinf;
8459 Double_t his_val = (Double_t)histo_for_plot[
i];
8460 h_his_evol_proj->Fill(yi, his_val);
8502 Int_t arg_AlreadyRead = 0;
8504 HistoPlot(h_his_evol_proj, HisSizeEvolProj,
8506 HistoCode.Data(), HistoType.Data(),
8507 StexStin_A, i0StinEcha, i0Sample,
8508 opt_scale_x, opt_scale_y, opt_plot, arg_AlreadyRead,
8509 xFlagAutoYsupMargin);
8511 h_his_evol_proj->Delete(); h_his_evol_proj = 0;
fCdeleteRoot++;
8517 delete [] time_coordx; time_coordx = 0;
fCdelete++;
8518 delete [] hval_coordy; hval_coordy = 0;
fCdelete++;
8522 cout <<
"!TEcnaHistos::ViewHistime(...)> The list of runs in file: " << list_of_run_file_name
8523 <<
" has " << nb_of_runs_in_list <<
" run numbers" << endl
8524 <<
" but none of them correspond to an existing ROOT file."
8530 cout <<
"!TEcnaHistos::ViewHistime(...)> *ERROR* =====> "
8536 delete [] exist_indic; exist_indic = 0;
fCdelete++;
8540 if( nb_of_runs_in_list == 0 )
8542 cout <<
"!TEcnaHistos::ViewHistime(...)> The list of runs in file: " << list_of_run_file_name
8543 <<
" is empty !" <<
fTTBELL << endl;
8545 if( nb_of_runs_in_list < 0 )
8547 cout <<
"!TEcnaHistos::ViewHistime(...)> " << list_of_run_file_name
8586 Int_t nb_of_runs_in_list = 0;
8589 if( list_of_run_file_name.Data() ==
'\0' )
8591 cout <<
"!TEcnaHistos::GetHistoryRunListParameters(...)> *** ERROR *** =====> "
8592 <<
" EMPTY STRING for list of run file name." <<
fTTBELL << endl;
8614 TString xFileNameRunList = list_of_run_file_name.Data();
8615 const Text_t *t_file_name = (
const Text_t *)xFileNameRunList.Data();
8623 TString home_path = gSystem->Getenv(
"HOME");
8630 xFileNameRunList.Append(
'/');
8631 xFileNameRunList.Append(t_file_name);
8633 fFcin_f.open(xFileNameRunList.Data());
8636 if(
fFcin_f.fail() == kFALSE )
8640 string xHeadComment;
8643 Int_t list_size_read = 0;
8645 while( !
fFcin_f.eof() ){
fFcin_f >> cRunNumber; list_size_read++;}
8655 string yHeadComment;
8687 cout <<
"TEcnaHistos::GetHistoryRunListParameters(...)> Max number of runs in HistoryRunList = "
8689 <<
" too large, forced to parameter TEcnaParHistos->fMaxNbOfRunsInLists value (= "
8691 <<
"). Please, set this parameter to a larger value than " <<
fFapMaxNbOfRuns
8704 cout <<
"!TEcnaHistos::GetHistoryRunListParameters(...)> *** ERROR *** =====> fFapMaxNbOfRuns = "
8715 for (Int_t i_list = 0; i_list <
fFapNbOfRuns; i_list++)
8727 cout <<
"!TEcnaHistos::GetHistoryRunListParameters(...)> *** ERROR *** =====> "
8728 << xFileNameRunList.Data() <<
" : file not found." <<
fTTBELL << endl;
8729 nb_of_runs_in_list = -1;
8732 return nb_of_runs_in_list;
8766 if( xArgIndexRun >= 0 && xArgIndexRun < MaxNbOfRuns)
8773 cout <<
"!TEcnaHistos::SetRunNumberFromList(...)> **** ERROR **** Run index out of range in list of runs. xArgIndexRun = "
8774 << xArgIndexRun <<
" (MaxNbOfRuns = "<< MaxNbOfRuns <<
")" << endl;
8806 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
const Int_t& i0Sample,
8807 const TString HistoCode)
8811 Bool_t ok_view_histo = kFALSE;
8828 if ( vStin(index_Stin) == StexStin_A ){Stin_ok++;};
8834 if( !( HistoType ==
"Global" || HistoType ==
"Proj" ) )
8838 Int_t StinNumber = StexStin_A;
8841 cout <<
"!TEcnaHistos::GetOkViewHisto(...)> *ERROR* =====> " <<
"File: " << root_file_name
8844 <<
" not found. Available numbers = ";
8864 Int_t ok_max_elt = 1;
8866 if( ( ( (HistoType ==
"H1Basic") || (HistoType ==
"Evol") || (HistoType ==
"EvolProj") )
8867 && (i0StinEcha >= 0) && (i0StinEcha<fEcal->MaxCrysInStin())
8869 !( (HistoType ==
"H1Basic") || (HistoType ==
"Evol") || (HistoType ==
"EvolProj") ))
8875 if( ( (HistoType ==
"H1Basic") || (HistoType ==
"Evol") || (HistoType ==
"EvolProj") )
8876 && !( (i0StinEcha >= 0) && (i0StinEcha<fEcal->MaxCrysInStin()) ) )
8877 {
cout <<
"!TEcnaHistos::GetOkViewHisto(...)> *ERROR* =====> " <<
"File: " << root_file_name
8878 <<
". Wrong channel number. Value = " << i0StinEcha <<
" (required range: [" << Choffset <<
", "
8881 if( (HistoCode ==
"D_Adc_EvDs" || HistoCode ==
"D_Adc_EvNb") &&
8883 {
cout <<
"!TEcnaHistos::GetOkViewHisto(...)> *ERROR* =====> " <<
"File: " << root_file_name
8884 <<
". Wrong sample index. Value = " << i0Sample <<
" (required range: [0, "
8890 if( (ok_view == 1) && (ok_max_elt == 1) )
8892 ok_view_histo = kTRUE;
8896 cout <<
"!TEcnaHistos::GetOkViewHisto(...)> At least one ERROR has been detected. ok_view = " << ok_view
8897 <<
", ok_max_elt = " << ok_max_elt <<
fTTBELL << endl;
8904 cout <<
"!TEcnaHistos::GetOkViewHisto(...)> No data in ROOT file "
8905 <<
", aMyRootFile->DataExist() = " << aMyRootFile->
DataExist() <<
fTTBELL << endl;
8907 return ok_view_histo;
8921 Int_t xFlagAutoYsupMargin = 1;
8923 if(HistoCode ==
"D_NOE_ChNb"){
8927 if(HistoCode ==
"D_NOE_ChDs"){
8931 if(HistoCode ==
"D_Ped_ChNb"){
8935 if(HistoCode ==
"D_Ped_ChDs"){
8939 if(HistoCode ==
"D_TNo_ChNb"){
8943 if(HistoCode ==
"D_TNo_ChDs"){
8947 if(HistoCode ==
"D_MCs_ChNb"){
8951 if(HistoCode ==
"D_MCs_ChDs"){
8955 if(HistoCode ==
"D_LFN_ChNb"){
8959 if(HistoCode ==
"D_LFN_ChDs"){
8963 if(HistoCode ==
"D_HFN_ChNb"){
8967 if(HistoCode ==
"D_HFN_ChDs"){
8971 if(HistoCode ==
"D_SCs_ChNb"){
8975 if(HistoCode ==
"D_SCs_ChDs"){
8979 if(HistoCode ==
"D_MSp_SpNb"){
8983 if(HistoCode ==
"D_MSp_SpDs"){
8987 if(HistoCode ==
"D_SSp_SpNb"){
8991 if(HistoCode ==
"D_SSp_SpDs"){
8995 if(HistoCode ==
"D_Adc_EvNb"){
8999 if(HistoCode ==
"D_Adc_EvDs"){
9003 if(HistoCode ==
"H2CorccInStins"){
9007 if(HistoCode ==
"H2LFccMosMatrix"){
9011 if(HistoCode ==
"H2HFccMosMatrix"){
9015 if(HistoCode ==
"H_Ped_RuDs"){
9019 if(HistoCode ==
"H_TNo_RuDs"){
9023 if(HistoCode ==
"H_MCs_RuDs"){
9027 if(HistoCode ==
"H_LFN_RuDs"){
9031 if(HistoCode ==
"H_HFN_RuDs"){
9035 if(HistoCode ==
"H_SCs_RuDs"){
9039 return xFlagAutoYsupMargin;
9046 Int_t xFlagAutoYsupMargin = 1;
9048 if(HistoCode ==
"H_Ped_Date"){
9052 if(HistoCode ==
"H_TNo_Date"){
9056 if(HistoCode ==
"H_MCs_Date"){
9060 if(HistoCode ==
"H_LFN_Date"){
9064 if(HistoCode ==
"H_HFN_Date"){
9068 if(HistoCode ==
"H_SCs_Date"){
9072 return xFlagAutoYsupMargin;
9079 Double_t minproj = h_his0->GetMinimum();
9080 Double_t maxproj = h_his0->GetMaximum();
9081 minproj = minproj - (maxproj-minproj)*margin_factor;
9088 Double_t minproj = h_his0->GetMinimum();
9089 Double_t maxproj = h_his0->GetMaximum();
9090 maxproj = maxproj + (maxproj-minproj)*margin_factor;
9097 Double_t graph_ymin = g_graph0->GetY()[0];
9098 for(Int_t
i=1;
i<g_graph0->GetN();
i++)
9099 {
if( g_graph0->GetY()[
i] < graph_ymin ){graph_ymin = g_graph0->GetY()[
i];}}
9101 Double_t graph_ymax = g_graph0->GetY()[0];
9102 for(Int_t
i=1;
i<g_graph0->GetN();
i++)
9103 {
if( g_graph0->GetY()[
i] > graph_ymax ){graph_ymax = g_graph0->GetY()[
i];}}
9105 graph_ymin = graph_ymin - (graph_ymax-graph_ymin)*margin_factor;
9111 Double_t graph_ymin = g_graph0->GetY()[0];
9112 for(Int_t
i=1;
i<g_graph0->GetN();
i++)
9113 {
if( g_graph0->GetY()[
i] < graph_ymin ){graph_ymin = g_graph0->GetY()[
i];}}
9115 Double_t graph_ymax = g_graph0->GetY()[0];
9116 for(Int_t
i=1;
i<g_graph0->GetN();
i++)
9117 {
if( g_graph0->GetY()[
i] > graph_ymax ){graph_ymax = g_graph0->GetY()[
i];}}
9119 graph_ymax = graph_ymax + (graph_ymax-graph_ymin)*margin_factor;
9125 const Axis_t& xinf_his,
const Axis_t& xsup_his,
9126 const TString HistoCode,
const TString
HistoType,
9127 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
const Int_t& i0Sample,
9128 const Int_t& opt_scale_x,
const Int_t& opt_scale_y,
9129 const TString opt_plot,
const Int_t& arg_AlreadyRead,
9130 const Int_t& xFlagAutoYsupMargin)
9137 TString QuantityName =
" ";
9139 QuantityName.Resize(MaxCar);
9143 if( arg_AlreadyRead == 0 || arg_AlreadyRead == 1 )
9147 SetAllPavesViewHisto(HistoCode.Data(), StexStin_A, i0StinEcha, i0Sample, opt_plot.Data(), arg_AlreadyRead);
9151 TString canvas_name =
SetCanvasName(HistoCode.Data(), opt_scale_x, opt_scale_y,
9152 opt_plot.Data(), arg_AlreadyRead,
9153 StexStin_A, i0StinEcha, i0Sample);
9155 TCanvas* MainCanvas = 0;
9157 if(opt_plot ==
fOnlyOnePlot && (arg_AlreadyRead == 0 || arg_AlreadyRead == 1 ) )
9159 MainCanvas =
new TCanvas(canvas_name.Data(), canvas_name.Data(), canv_w , canv_h);
fCnewRoot++;
9165 {MainCanvas =
CreateCanvas(HistoCode, opt_plot, canvas_name, canv_w, canv_h);
9171 Int_t Stex_StinCons = StexStin_A;
9172 Int_t n1StexCrys = i0StinEcha+1;
9174 if( StexStin_A >= 1 && StexStin_A <= fEcal->MaxStinEcnaInStex() )
9193 TVirtualPad* main_subpad = 0;
9194 TPaveText* main_pavtxt = 0;
9196 Int_t xMemoPlotSame = 1;
9201 if( arg_AlreadyRead == 0 || arg_AlreadyRead == 1 )
9208 if( HistoType ==
"EvolProj" )
9225 Double_t x_margin = x_low;
9226 Double_t y_margin = y_low;
9227 MainCanvas->Divide( 1, 1, x_margin, y_margin, fond_pad);
9232 main_subpad->SetPad(x_low, y_low, x_up, y_up);
9236 if (arg_AlreadyRead > 1 )
9253 main_pavtxt =
ActivePavTxt(HistoCode.Data(), opt_plot.Data());
9261 Float_t cTextPaveSize = 0.025;
9262 if( HistoType ==
"H1Basic" || HistoType ==
"SampProj" || HistoType ==
"H1BasicProj" ||
9263 HistoType ==
"Proj" || HistoType ==
"EvolProj" )
9264 {cTextPaveSize = 0.025;}
9265 main_pavtxt->SetTextSize(cTextPaveSize);
9270 TString DecalStexName =
"";
9272 TString DecalStinName =
"";
9275 TString sStexOrStasName =
"";
9281 if( HistoType ==
"SampGlobal" )
9282 {sprintf(f_in,
"Analysis Samp RUN# (run type ) Evts range Nb Evts %s%s %s%s %s %s Sample",
9283 DecalStexName.Data(), sStexOrStasName.Data(),
9285 if( HistoType ==
"SampProj" )
9286 {sprintf(f_in,
"Analysis Samp RUN# (run type ) Evts range Nb Evts %s%s %s%s %s %s Sample",
9287 DecalStexName.Data(), sStexOrStasName.Data(),
9289 if( HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj" )
9290 {sprintf(f_in,
"Analysis Samp RUN# (run type ) Evts range Nb Evts %s%s %s%s %s %s",
9291 DecalStexName.Data(), sStexOrStasName.Data(),
9293 if((HistoType ==
"Global") || (HistoType ==
"Proj") )
9294 {sprintf(f_in,
"Analysis Samp RUN# (run type ) Evts range Nb Evts %s%s",
9295 DecalStexName.Data(), sStexOrStasName.Data());}
9297 if( HistoType ==
"EvolProj" )
9298 {sprintf(f_in,
"Analysis Samp Evts range Nb Evts %s%s %s%s %s %s",
9299 DecalStexName.Data(), sStexOrStasName.Data(),
9303 TText* ttit = main_pavtxt->AddText(f_in);
9311 if( (HistoType ==
"Global") || (HistoType ==
"Proj") || (HistoType ==
"H1BasicProj") )
9313 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s %-25s",
9316 sFapStexNumber.Data(), QuantityName.Data());
9319 if( HistoType ==
"EvolProj" )
9321 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%7d %-25s",
9323 sFapStexNumber.Data(), Stex_StinCons, n1StexCrys, i0StinEcha, QuantityName.Data());
9331 Int_t kSample = i0Sample+1;
9333 if( HistoType ==
"SampGlobal" )
9335 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d%6d",
9338 Stex_StinCons, n1StexCrys, i0StinEcha, kSample);
9340 if( HistoType ==
"SampProj" )
9342 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d%6d",
9345 Stex_StinCons, n1StexCrys, i0StinEcha, kSample);
9347 if( HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj" )
9349 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d",
9352 Stex_StinCons, n1StexCrys, i0StinEcha);
9354 if( (HistoType ==
"Global") || (HistoType ==
"Proj") )
9356 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s",
9361 if( HistoType ==
"EvolProj" )
9363 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %4s%7d%5d%5d",
9366 Stex_StinCons, n1StexCrys, i0StinEcha);
9370 TText*
tt = main_pavtxt->AddText(f_in);
9373 delete [] f_in; f_in = 0;
fCdelete++;
9376 main_pavtxt->Draw();
9397 main_pavtxt =
ActivePavTxt(HistoCode.Data(), opt_plot.Data());
9400 main_subpad =
ActivePad(HistoCode.Data(), opt_plot.Data());
9414 if(main_subpad != 0)
9419 if(xMemoPlotSame != 0)
9425 Float_t cTextPaveSize = 0.025;
9426 if( HistoType ==
"H1Basic" || HistoType ==
"SampProj"
9427 || HistoType ==
"Proj" || HistoType ==
"EvolProj" || HistoType ==
"H1BasicProj" )
9428 {cTextPaveSize = 0.025;}
9429 main_pavtxt->SetTextSize(cTextPaveSize);
9435 if( (HistoType ==
"Global") || (HistoType ==
"Proj") )
9437 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s %-25s",
9440 sFapStexNumber.Data(), QuantityName.Data());
9443 if( HistoType ==
"EvolProj" )
9445 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%7d %-25s",
9448 Stex_StinCons, n1StexCrys, i0StinEcha, QuantityName.Data());
9454 Int_t kSample = i0Sample+1;
9456 if(HistoType ==
"SampGlobal" )
9458 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d%6d",
9461 Stex_StinCons, n1StexCrys, i0StinEcha, kSample);
9463 if( HistoType ==
"SampProj" )
9465 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d%6d",
9468 Stex_StinCons, n1StexCrys, i0StinEcha, kSample);
9470 if( HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj")
9472 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s%6d%5d%5d",
9475 Stex_StinCons, n1StexCrys, i0StinEcha);
9477 if( (HistoType ==
"Global") || (HistoType ==
"Proj") )
9479 sprintf(f_in,
"%-10s 1-%2d%7d (%-20s) %5d-%5d %7d %4s",
9484 if( HistoType ==
"EvolProj" )
9486 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %4s%7d%5d%5d",
9489 sFapStexNumber.Data(), Stex_StinCons, n1StexCrys, i0StinEcha);
9493 TText *
tt = main_pavtxt->AddText(f_in);
9495 MainCanvas->cd(); gStyle->SetOptDate(0);
9496 main_pavtxt->Draw();
9498 delete [] f_in; f_in = 0;
fCdelete++;
9506 if( opt_plot ==
fSameOnePlot && HistoType ==
"EvolProj" )
9508 main_subpad->SetPad(x_low, y_low, x_up, y_up);
9517 h_his0->GetXaxis()->SetTitle(axis_x_var_name);
9518 h_his0->GetYaxis()->SetTitle(axis_y_var_name);
9520 Int_t lin_scale = 0;
9521 Int_t log_scale = 1;
9529 if(opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 0 ){h_his0->DrawCopy();}
9530 if(opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 1 ){h_his0->DrawCopy();}
9531 if(opt_plot ==
fOnlyOnePlot && arg_AlreadyRead > 1 ){h_his0->DrawCopy(
"AHSAME");}
9535 if(xMemoPlotSame == 0){h_his0->DrawCopy();}
9536 if(xMemoPlotSame != 0){h_his0->DrawCopy(
"SAME");}
9541 if( !( HistoCode ==
"D_Adc_EvDs" || HistoCode ==
"D_Adc_EvNb" ||
9542 HistoType ==
"Proj" || HistoType ==
"SampProj" ||
9543 HistoType ==
"EvolProj" || HistoType ==
"H1BasicProj" ) &&
9544 !( HistoType ==
"H1Basic" && arg_AlreadyRead == 0 ) )
9546 Double_t yinf = h_his0->GetMinimum();
9547 Double_t ysup = h_his0->GetMaximum();
9548 if( yinf <= (Double_t)0. && ysup >= (Double_t)0. )
9549 {TLine* lin =
new TLine(0.,0.,(Double_t)HisSize, 0.);
fCnewRoot++;
9556 Double_t yinf = (Double_t)h_his0->GetMinimum();
9557 Double_t ysup = (Double_t)h_his0->GetMaximum();
9559 if(xFlagAutoYsupMargin == 1)
9561 if( yinf >= ysup ){yinf = (Double_t)0.; ysup += ysup;}
9562 Double_t MaxMarginFactor = (Double_t)0.05;
9563 ysup += (ysup-yinf)*MaxMarginFactor;
9573 Int_t DeeOffset = 0;
9574 for(Int_t n1Dee=1; n1Dee<=4; n1Dee++)
9576 if( n1Dee == 4 ){DeeOffset = 0;}
9581 Double_t ydee = ysup + (ysup-yinf)/(Double_t)15.;
9583 sprintf( f_in,
"D%d", n1Dee );
9584 TText *text_Dee =
new TText(xBinDee, ydee, f_in);
fCnewRoot++;
9585 text_Dee->SetTextColor(coul_DS);
9586 text_Dee->SetTextSize((Double_t)0.04);
9587 text_Dee->Draw(
"SAME");
9589 Double_t DSLabelOffset = (Double_t)12;
9591 for(Int_t
i=1;
i<5;
i++)
9594 if( n1Dee == 1 ){iDS =
i;}
9595 if( n1Dee == 2 ){iDS =
i+4;}
9596 if( n1Dee == 3 ){iDS =
i+5;}
9597 if( n1Dee == 4 ){iDS =
i+1;}
9600 TLine* lin_DS =
new TLine(xBinDS, yinf, xBinDS, ysup);
fCnewRoot++;
9601 lin_DS->SetLineColor(coul_DS);
9602 lin_DS->SetLineWidth(1);
9603 lin_DS->SetLineStyle(2);
9606 if( n1Dee == 2 &&
i == 4 )
9608 TLine* lin_DSp =
new TLine(DeeOffset, yinf, DeeOffset, ysup);
fCnewRoot++;
9609 lin_DSp->SetLineColor(coul_DS);
9610 lin_DSp->SetLineWidth(1);
9611 lin_DSp->SetLineStyle(2);
9615 Double_t yds = ysup + (ysup-yinf)/(Double_t)50.;
9616 Double_t xBinDSp = xBinDS + DSLabelOffset;
9619 sprintf( f_in,
"S%d", nDS );
9620 TText *text_DS =
new TText(xBinDSp, yds, f_in);
fCnewRoot++;
9621 text_DS->SetTextColor(coul_DS);
9622 text_DS->SetTextSize((Double_t)0.03);
9623 text_DS->Draw(
"SAME");
9624 if( (n1Dee == 4 &&
i == 1) || (n1Dee == 2 &&
i == 4) )
9626 if(n1Dee == 4){nDS = iDS-1;}
9627 if(n1Dee == 2){nDS = iDS+1;}
9628 sprintf( f_in,
"S%d", nDS );
9629 TText *text_DS =
new TText(xBinDS-1.75*DSLabelOffset, yds, f_in);
fCnewRoot++;
9630 text_DS->SetTextColor(coul_DS);
9631 text_DS->SetTextSize((Double_t)0.03);
9632 text_DS->Draw(
"SAME");
9641 if( HistoType ==
"Global" )
9643 Double_t ytext = yinf - (ysup-yinf)/8.5;
9646 for(Int_t
i=1;
i<5;
i++)
9655 TLine* lin_DS =
new TLine(xBinDS, yinf, xBinDS, ysup);
fCnewRoot++;
9656 lin_DS->SetLineColor(coul_DS);
9657 lin_DS->SetLineWidth(2);
9658 lin_DS->SetLineStyle(2);
9660 Double_t ytextds = ysup + (ysup-yinf)/30.;
9661 Double_t xBinDSNumber =
9663 sprintf( f_in,
"S%d", iDS );
9664 TText *text_DS =
new TText(xBinDSNumber, ytextds, f_in);
fCnewRoot++;
9665 text_DS->SetTextColor(coul_DS);
9666 text_DS->SetTextSize((Double_t)0.04);
9667 text_DS->Draw(
"SAME");
9672 if(
i == 4 ){iDSp = iDS+1;}
9673 if(
i == 1 ){iDSp = iDS-1;}
9674 sprintf( f_in,
"S%d", iDSp);
9675 Double_t xBinpDSNumber =
9677 TText *text_DSp =
new TText(xBinpDSNumber, ytextds, f_in);
fCnewRoot++;
9678 text_DSp->SetTextColor(coul_DS);
9679 text_DSp->SetTextSize((Double_t)0.04);
9680 text_DSp->Draw(
"SAME");
9702 TLine* lin_notconnected =
9703 new TLine(xBinNotConnectedSC, yinf, xBinNotConnectedSC, ysup);
fCnewRoot++;
9704 lin_notconnected->SetLineColor(coul_notconnected);
9705 lin_notconnected->SetLineStyle(3);
9706 lin_notconnected->Draw();
9709 TLine* lin_notconnected_end =
9710 new TLine(xBinNotConnectedSCEnd, yinf, xBinNotConnectedSCEnd, ysup);
fCnewRoot++;
9711 lin_notconnected_end->SetLineColor(coul_notconnected);
9712 lin_notconnected_end->SetLineStyle(3);
9713 lin_notconnected_end->Draw();
9717 TText *text_SC_NotConnected =
new TText(xBinNotConnectedSC, ytext, f_in);
fCnewRoot++;
9718 text_SC_NotConnected->SetTextAngle((Double_t)45.);
9719 text_SC_NotConnected->SetTextColor(coul_notconnected);
9720 text_SC_NotConnected->SetTextFont(42);
9721 text_SC_NotConnected->SetTextSize((Double_t)0.03);
9722 text_SC_NotConnected->Draw(
"SAME");
9741 TLine* lin_notcomplete =
9742 new TLine(xBinNotCompleteSC, yinf, xBinNotCompleteSC, ysup);
fCnewRoot++;
9743 lin_notcomplete->SetLineColor(coul_notcomplete);
9744 lin_notcomplete->SetLineStyle(3);
9745 lin_notcomplete->Draw();
9748 TLine* lin_notcomplete_end =
9749 new TLine(xBinNotCompleteSCEnd, yinf, xBinNotCompleteSCEnd, ysup);
fCnewRoot++;
9750 lin_notcomplete_end->SetLineColor(coul_notcomplete);
9751 lin_notcomplete_end->SetLineStyle(3);
9752 lin_notcomplete_end->Draw();
9756 TText *text_SC_NotComplete =
new TText(xBinNotCompleteSC, ytext, f_in);
fCnewRoot++;
9757 text_SC_NotComplete->SetTextAngle((Double_t)45.);
9758 text_SC_NotComplete->SetTextColor(coul_notcomplete);
9759 text_SC_NotComplete->SetTextFont(42);
9760 text_SC_NotComplete->SetTextSize((Double_t)0.03);
9761 text_SC_NotComplete->Draw(
"SAME");
9771 delete [] f_in; f_in = 0;
fCdelete++;
9776 Int_t min_value = 0;
9777 Int_t max_value = 0;
9778 if(HistoType ==
"Global")
9811 xFlagAutoYsupMargin, HisSize);
9814 if( !( (HistoType ==
"H1Basic" || HistoType ==
"H1BasicProj")
9815 && ( arg_AlreadyRead > 1 && arg_AlreadyRead < fEcal->MaxCrysInStin() ) ) )
9822 cout <<
"*TEcnaHistos::HistoPlot(...)> Canvas not found. Previously closed in option SAME."
9839 TString sFapStexNumber =
"?";
9840 if( StexNumber == -1 ){sFapStexNumber =
" -1";}
9841 if( StexNumber == -2 ){sFapStexNumber =
" -2";}
9842 if( StexNumber == -3 ){sFapStexNumber =
" -3";}
9843 if( StexNumber == -4 ){sFapStexNumber =
" -4";}
9844 if( StexNumber == -5 ){sFapStexNumber =
" -5";}
9845 if( StexNumber == -6 ){sFapStexNumber =
" -6";}
9846 if( StexNumber == -7 ){sFapStexNumber =
" -7";}
9847 if( StexNumber == -8 ){sFapStexNumber =
" -8";}
9848 if( StexNumber == -9 ){sFapStexNumber =
" -9";}
9849 if( StexNumber == -10 ){sFapStexNumber =
"-10";}
9850 if( StexNumber == -11 ){sFapStexNumber =
"-11";}
9851 if( StexNumber == -12 ){sFapStexNumber =
"-12";}
9852 if( StexNumber == -13 ){sFapStexNumber =
"-13";}
9853 if( StexNumber == -14 ){sFapStexNumber =
"-14";}
9854 if( StexNumber == -15 ){sFapStexNumber =
"-15";}
9855 if( StexNumber == -16 ){sFapStexNumber =
"-16";}
9856 if( StexNumber == -17 ){sFapStexNumber =
"-17";}
9857 if( StexNumber == -18 ){sFapStexNumber =
"-18";}
9858 if( StexNumber == 0 ){sFapStexNumber =
fFlagSubDet;}
9859 if( StexNumber == 1 ){sFapStexNumber =
" 1";}
9860 if( StexNumber == 2 ){sFapStexNumber =
" 2";}
9861 if( StexNumber == 3 ){sFapStexNumber =
" 3";}
9862 if( StexNumber == 4 ){sFapStexNumber =
" 4";}
9863 if( StexNumber == 5 ){sFapStexNumber =
" 5";}
9864 if( StexNumber == 6 ){sFapStexNumber =
" 6";}
9865 if( StexNumber == 7 ){sFapStexNumber =
" 7";}
9866 if( StexNumber == 8 ){sFapStexNumber =
" 8";}
9867 if( StexNumber == 9 ){sFapStexNumber =
" 9";}
9868 if( StexNumber == 10 ){sFapStexNumber =
" 10";}
9869 if( StexNumber == 11 ){sFapStexNumber =
" 11";}
9870 if( StexNumber == 12 ){sFapStexNumber =
" 12";}
9871 if( StexNumber == 13 ){sFapStexNumber =
" 13";}
9872 if( StexNumber == 14 ){sFapStexNumber =
" 14";}
9873 if( StexNumber == 15 ){sFapStexNumber =
" 15";}
9874 if( StexNumber == 16 ){sFapStexNumber =
" 16";}
9875 if( StexNumber == 17 ){sFapStexNumber =
" 17";}
9876 if( StexNumber == 18 ){sFapStexNumber =
" 18";}
9877 if( StexNumber == 19 ){sFapStexNumber =
" -1";}
9878 if( StexNumber == 20 ){sFapStexNumber =
" -2";}
9879 if( StexNumber == 21 ){sFapStexNumber =
" -3";}
9880 if( StexNumber == 22 ){sFapStexNumber =
" -4";}
9881 if( StexNumber == 23 ){sFapStexNumber =
" -5";}
9882 if( StexNumber == 24 ){sFapStexNumber =
" -6";}
9883 if( StexNumber == 25 ){sFapStexNumber =
" -7";}
9884 if( StexNumber == 26 ){sFapStexNumber =
" -8";}
9885 if( StexNumber == 27 ){sFapStexNumber =
" -9";}
9886 if( StexNumber == 28 ){sFapStexNumber =
"-10";}
9887 if( StexNumber == 29 ){sFapStexNumber =
"-11";}
9888 if( StexNumber == 30 ){sFapStexNumber =
"-12";}
9889 if( StexNumber == 31 ){sFapStexNumber =
"-13";}
9890 if( StexNumber == 32 ){sFapStexNumber =
"-14";}
9891 if( StexNumber == 33 ){sFapStexNumber =
"-15";}
9892 if( StexNumber == 34 ){sFapStexNumber =
"-16";}
9893 if( StexNumber == 35 ){sFapStexNumber =
"-17";}
9894 if( StexNumber == 36 ){sFapStexNumber =
"-18";}
9895 return sFapStexNumber;
9903 Double_t xbin = (Double_t)(-1);
9932 Double_t xbin = (Double_t)(-1);
9952 Int_t SCForCons = 0;
9953 if( index == 1 ){SCForCons = 182;}
9954 if( index == 2 ){SCForCons = 33;}
9956 if( index == 3 ){SCForCons = 178;}
9957 if( index == 4 ){SCForCons = 29;}
9958 if( index == 5 ){SCForCons = 207;}
9959 if( index == 6 ){SCForCons = 58;}
9961 if( index == 7 ){SCForCons = 298;}
9962 if( index == 8 ){SCForCons = 149;}
9964 if( index == 9 ){SCForCons = 261;}
9965 if( index == 10 ){SCForCons = 112;}
9966 if( index == 11 ){SCForCons = 268;}
9967 if( index == 12 ){SCForCons = 119;}
9969 if( index == 13 ){SCForCons = 281;}
9970 if( index == 14 ){SCForCons = 132;}
9978 if( index == 1 ){DSSC = 30;}
9979 if( index == 2 ){DSSC = 30;}
9981 if( index == 3 ){DSSC = 3;}
9982 if( index == 4 ){DSSC = 3;}
9983 if( index == 5 ){DSSC = 25;}
9984 if( index == 6 ){DSSC = 25;}
9986 if( index == 7 ){DSSC = 34;}
9987 if( index == 8 ){DSSC = 34;}
9989 if( index == 9 ){DSSC = 14;}
9990 if( index == 10 ){DSSC = 14;}
9991 if( index == 11 ){DSSC = 21;}
9992 if( index == 12 ){DSSC = 21;}
9994 if( index == 13 ){DSSC = 20;}
9995 if( index == 14 ){DSSC = 3;}
10004 if( index == 1 ){DSSC = 161;}
10005 if( index == 2 ){DSSC = 12;}
10007 if( index == 3 ){DSSC = 216;}
10008 if( index == 4 ){DSSC = 67;}
10010 if( index == 5 ){DSSC = 224;}
10011 if( index == 6 ){DSSC = 75;}
10013 if( index == 7 ){DSSC = 286;}
10014 if( index == 8 ){DSSC = 137;}
10022 if( index == 1 ){DSSC = 12;}
10023 if( index == 2 ){DSSC = 12;}
10025 if( index == 3 ){DSSC = 32;}
10026 if( index == 4 ){DSSC = 32;}
10028 if( index == 5 ){DSSC = 10;}
10029 if( index == 6 ){DSSC = 10;}
10031 if( index == 7 ){DSSC = 23;}
10032 if( index == 8 ){DSSC = 6;}
10037 Axis_t xinf, Axis_t xsup,
10038 const TString HistoCode,
const TString
HistoType,
10039 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
const Int_t& i0Sample,
10040 const Int_t& opt_scale_x,
const Int_t& opt_scale_y,
10041 const TString opt_plot,
const Int_t& xFlagAutoYsupMargin)
10054 Int_t arg_AlreadyRead = 0;
10055 TString canvas_name =
SetCanvasName(HistoCode.Data(), opt_scale_x, opt_scale_y, opt_plot, arg_AlreadyRead,
10056 StexStin_A, i0StinEcha, i0Sample);
10060 TCanvas* MainCanvas = 0;
10063 {MainCanvas =
new TCanvas(canvas_name.Data(), canvas_name.Data(), canv_w , canv_h);
fCnewRoot++;
10070 MainCanvas =
CreateCanvas(HistoCode, opt_plot, canvas_name, canv_w, canv_h);
10079 MainCanvas =
CreateCanvas(HistoCode, opt_plot, canvas_name, canv_w, canv_h);
10087 Int_t Stex_StinCons = StexStin_A;
10088 Int_t n1StexCrys = i0StinEcha+1;
10090 if( StexStin_A >= 1 && StexStin_A <= fEcal->MaxStinEcnaInStex() )
10109 TVirtualPad* main_subpad = 0;
10110 TPaveText* main_pavtxt = 0;
10112 Int_t xMemoPlotSame = 1;
10123 if( !( HistoType ==
"Global" || HistoType ==
"Proj" ) )
10136 Double_t x_margin = x_low;
10137 Double_t y_margin = y_low;
10141 MainCanvas->Divide( 1, 1, x_margin, y_margin, fond_pad);
10145 main_subpad = gPad;
10146 main_subpad->SetPad(x_low, y_low, x_up, y_up);
10160 if( !( HistoType ==
"Global" || HistoType ==
"Proj" ||
10161 HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10162 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date") )
10168 if( !( HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10169 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ) )
10179 main_pavtxt =
ActivePavTxt(HistoCode.Data(), opt_plot.Data());
10189 TString DecalStexName =
"";
10191 TString DecalStinName =
"";
10194 TString sStexOrStasName =
"";
10202 sprintf(f_in,
"Analysis Samp Evts range Nb Evts %s%s %s%s %s %s",
10203 DecalStexName.Data(), sStexOrStasName.Data(),
10208 sprintf(f_in,
"Analysis Samp Evts range Nb Evts %s%s %s%s %s %s",
10209 DecalStexName.Data(), sStexOrStasName.Data(),
10214 TText* ttit = main_pavtxt->AddText(f_in);
10219 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%6d",
10222 Stex_StinCons, n1StexCrys, i0StinEcha);
10226 sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%6d %-25s",
10229 Stex_StinCons, n1StexCrys, i0StinEcha, QuantityName.Data());
10232 TText*
tt = main_pavtxt->AddText(f_in);
10235 delete [] f_in; f_in = 0;
fCdelete++;
10238 main_pavtxt->Draw();
10257 main_pavtxt =
ActivePavTxt(HistoCode.Data(), opt_plot.Data());
10260 main_subpad =
ActivePad(HistoCode.Data(), opt_plot.Data());
10273 if(main_subpad != 0)
10277 if(xMemoPlotSame != 0)
10287 {sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%6d",
10289 sFapStexNumber.Data(), Stex_StinCons, n1StexCrys, i0StinEcha);}
10291 {sprintf(f_in,
"%-10s 1-%2d %5d-%5d %7d %5s%6d%7d%6d %-25s",
10293 sFapStexNumber.Data(), Stex_StinCons, n1StexCrys, i0StinEcha, QuantityName.Data());}
10295 TText *
tt = main_pavtxt->AddText(f_in);
10297 MainCanvas->cd(); gStyle->SetOptDate(0);
10298 main_pavtxt->Draw();
10300 delete [] f_in; f_in = 0;
fCdelete++;
10308 main_subpad->SetPad(x_low, y_low, x_up, y_up);
10317 g_graph0->GetXaxis()->SetTitle(axis_x_var_name);
10318 g_graph0->GetYaxis()->SetTitle(axis_y_var_name);
10321 g_graph0->GetXaxis()->SetTimeDisplay(1);
10322 g_graph0->GetXaxis()->SetTimeFormat(
"%d %b-%Hh");
10324 g_graph0->GetXaxis()->SetTimeOffset(xinf);
10334 fXinf = (Double_t)xinf;
10335 fXsup = (Double_t)xsup;
10342 if(opt_scale_y ==
fOptScaleLogy){gPad->SetLogy(logy); g_graph0->Draw(
"ALP");}
10346 gPad->SetLogy(liny);
10347 g_graph0->Draw(
"ALP");
10348 Int_t nb_pts = g_graph0->GetN();
10349 Double_t* coord_x = g_graph0->GetX();
10350 Double_t* coord_y = g_graph0->GetY();
10355 Double_t interv_displayed = (coord_x[nb_pts-1] - coord_x[0])/(Double_t)nb_displayed;
10356 Double_t last_drawn_coordx = coord_x[0] - 1.5*interv_displayed;
10358 for(Int_t i_run=0; i_run<nb_pts; i_run++)
10360 if ( (coord_x[i_run] - last_drawn_coordx) > interv_displayed )
10362 Double_t joinYinf =
fYinf;
10363 Double_t joinYsup =
fYsup;
10364 if( joinYsup <= joinYinf )
10370 joinYsup = joinYsup + (joinYsup-joinYinf)/20.;
10374 TText *text_run_num =
new TText(coord_x[i_run], joinYsup, f_in);
fCnewRoot++;
10375 text_run_num->SetTextAngle((Double_t)45.);
10376 text_run_num->SetTextSize((Double_t)0.035);
10377 text_run_num->Draw(
"SAME");
10381 jointlign =
new TLine(coord_x[i_run], joinYsup, coord_x[i_run], coord_y[i_run]);
fCnewRoot++;
10382 jointlign->SetLineWidth(1);
10383 jointlign->SetLineStyle(2);
10384 jointlign->Draw(
"SAME");
10387 last_drawn_coordx = coord_x[i_run];
10391 delete [] f_in; f_in = 0;
fCdelete++;
10396 gPad->SetLogy(logy);
10397 g_graph0->Draw(
"ALP");
10404 if(xMemoPlotSame == 0)
10409 g_graph0->Draw(
"ALP");
10411 fXinf = (Double_t)xinf;
10412 fXsup = (Double_t)xsup;
10419 if(xMemoPlotSame != 0)
10424 g_graph0->Draw(
"LP");
10431 cout <<
"*TEcnaHistos::HistimePlot(...)> Canvas not found. Previously closed in option SAME."
10444 const Int_t& xMemoPlotSame,
const Int_t& min_value,
const Int_t& max_value,
10445 const Int_t& xFlagAutoYsupMargin,
const Int_t& HisSize)
10450 ( (opt_plot ==
fSeveralPlot) && (xMemoPlotSame == 0) ) ||
10451 ( (opt_plot ==
fSameOnePlot) && (xMemoPlotSame == 0) ) )
10453 Double_t Maxih = (Double_t)h_his0->GetMaximum();
10454 Double_t Minih = (Double_t)h_his0->GetMinimum();
10456 if(xFlagAutoYsupMargin == 1)
10458 if( Minih >= Maxih ){Minih = (Double_t)0.; Maxih += Maxih;}
10459 Double_t MaxMarginFactor = (Double_t)0.05;
10460 Maxih += (Maxih-Minih)*MaxMarginFactor;
10463 Double_t v_min = min_value;
10464 Double_t v_max = max_value+(Double_t)1.;
10465 Double_t v_min_p = v_min+(Double_t)1.;
10466 Double_t v_max_p = v_max+(Double_t)1.;
10468 Int_t ndiv = 50207;
10469 TString opt =
"B-";
10470 Double_t Xbegin = 0.;
10471 Double_t Xend = (Double_t)HisSize;
10472 Double_t
ticks = 0.05;
10480 Xbegin = (Double_t)HisSize;
10490 v_max = max_value+0.5;
10491 Xbegin = (Double_t)HisSize;
10497 v_min = min_value+0.5;
10498 v_max = max_value+1.;
10499 Xbegin = (Double_t)HisSize;
10505 v_min = min_value+0.5;
10506 v_max = max_value+1.;
10508 Xend = (Double_t)HisSize;
10514 v_max = max_value+0.5;
10516 Xend = (Double_t)HisSize;
10524 TGaxis* top_axis_x = 0;
10526 top_axis_x =
new TGaxis(Xbegin, Maxih, Xend, Maxih,
10527 v_min, v_max, ndiv, opt, 0.);
fCnewRoot++;
10529 top_axis_x->SetTickSize(ticks);
10530 top_axis_x->SetTitleOffset((Float_t)(1.2));
10531 top_axis_x->SetLabelOffset((Float_t)(0.005));
10533 TString x_var_name =
"?";
10535 x_var_name.Resize(MaxCar);
10538 if(
fFlagSubDet ==
"EB"){x_var_name =
"Tower number";}
10547 if(
fFlagSubDet ==
"EB"){x_var_name =
"SM number";}
10550 top_axis_x->SetTitle(x_var_name);
10551 top_axis_x->Draw(
"SAME");
10561 TGaxis* top_axis_x_bis = 0;
10562 top_axis_x_bis =
new TGaxis(Xbegin, Maxih, Xend, Maxih,
10563 v_min_p, v_max_p, ndiv, opt, 0.);
fCnewRoot++;
10564 top_axis_x_bis->SetTickSize(0.);
10565 Float_t lab_siz_x = top_axis_x->GetLabelSize();
10566 top_axis_x_bis->SetLabelSize(lab_siz_x);
10567 top_axis_x_bis->SetLabelOffset(-0.1);
10569 top_axis_x_bis->SetLabelOffset((Float_t)(9999.));
10574 top_axis_x_bis->Draw(
"SAME");
10581 const Int_t& StexStin_A,
const Int_t& StexStin_B,
10582 const Int_t& i0StinEcha)
10639 if( chopt ==
"Numbering" )
10659 TString opt_pave_nbcol =
"OneCol";
10681 const Int_t& i0StinEcha,
const Int_t& i0Sample,
10682 const TString opt_plot)
10684 Int_t arg_AlreadyRead = 0;
10689 const Int_t& i0StinEcha,
const Int_t& i0Sample,
10690 const TString opt_plot,
const Int_t& arg_AlreadyRead)
10702 if( !( HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_NOE_ChDs" ||
10703 HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_Ped_ChDs" ||
10704 HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_LFN_ChDs" ||
10705 HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_TNo_ChDs" ||
10706 HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_HFN_ChDs" ||
10707 HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_MCs_ChDs" ||
10708 HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_SCs_ChDs" ) )
10715 if( HistoCode ==
"D_NOE_ChNb" ||
10716 HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_TNo_ChNb" ||
10717 HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_LFN_ChNb" ||
10718 HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_SCs_ChNb" )
10725 if( HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10726 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ||
10727 HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
10728 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs" )
10735 if( HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_SSp_SpNb" ||
10736 HistoCode ==
"D_MSp_SpDs" || HistoCode ==
"D_SSp_SpDs" )
10744 if( HistoCode ==
"D_Adc_EvDs" || HistoCode ==
"D_Adc_EvNb")
10751 if( HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10752 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ||
10753 HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
10754 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs" )
10774 if( HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
10775 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ||
10776 HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
10777 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs" )
10800 const Int_t& opt_scale_x,
const Int_t& opt_scale_y,
10801 const TString opt_plot,
const Int_t& arg_AlreadyRead,
10802 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
const Int_t& i0Sample)
10807 TString canvas_name;
10809 canvas_name.Resize(MaxCar);
10815 TString name_opt_plot;
10817 name_opt_plot.Resize(MaxCar);
10818 name_opt_plot =
"?";
10824 if( opt_plot ==
fOnlyOnePlot ){sprintf(f_in,
"P%d", arg_AlreadyRead); name_opt_plot = f_in;}
10828 name_opt_plot =
"SAME_N";
10830 Int_t name_same = -1;
10865 sprintf(f_in,
"%d", name_same);
10866 TString s_name_same = f_in;
10867 const Text_t *t_name_same = (
const Text_t *)s_name_same.Data();
10868 name_opt_plot.Append(t_name_same);
10872 name_opt_plot =
"SAME_Plus_N";
10875 sprintf(f_in,
"%d", name_same);
10876 TString s_name_same = f_in;
10877 const Text_t *t_name_same = (
const Text_t *)s_name_same.Data();
10878 name_opt_plot.Append(t_name_same);
10884 name_visu.Resize(MaxCar);
10889 name_line.Resize(MaxCar);
10890 name_line =
"Line_";
10897 const Text_t *t_line = (
const Text_t *)name_line.Data();
10898 name_visu.Append(t_line);
10900 TString name_scale_x;
10902 name_scale_x.Resize(MaxCar);
10903 name_scale_x =
"?";
10906 const Text_t *t_scale_x = (
const Text_t *)name_scale_x.Data();
10907 name_visu.Append(t_scale_x);
10909 TString name_scale_y;
10911 name_scale_y.Resize(MaxCar);
10912 name_scale_y =
"?";
10915 const Text_t *t_scale_y = (
const Text_t *)name_scale_y.Data();
10916 name_visu.Append(t_scale_y);
10919 TString name_quantity;
10921 name_quantity.Resize(MaxCar);
10922 name_quantity =
"?";
10924 if(HistoCode ==
"D_NOE_ChNb"){name_quantity =
"Nb_of_evts_as_func_of_Xtal";}
10925 if(HistoCode ==
"D_NOE_ChDs"){name_quantity =
"Nb_of_evts_Xtal_distrib";}
10926 if(HistoCode ==
"D_Ped_ChNb"){name_quantity =
"Pedestals_as_func_of_Xtal";}
10927 if(HistoCode ==
"D_Ped_ChDs"){name_quantity =
"Pedestals_Xtal_distrib";}
10928 if(HistoCode ==
"D_TNo_ChNb"){name_quantity =
"Total_Noise_as_func_of_Xtal";}
10929 if(HistoCode ==
"D_TNo_ChDs"){name_quantity =
"Total_Noise_Xtal_distrib";}
10930 if(HistoCode ==
"D_MCs_ChNb"){name_quantity =
"Mean_Corss_as_func_of_Xtal";}
10931 if(HistoCode ==
"D_MCs_ChDs"){name_quantity =
"Mean_Corss_Xtal_distrib";}
10932 if(HistoCode ==
"D_LFN_ChNb"){name_quantity =
"Low_Fq_Noise_as_func_of_Xtal";}
10933 if(HistoCode ==
"D_LFN_ChDs"){name_quantity =
"Low_Fq_Noise_Xtal_distrib";}
10934 if(HistoCode ==
"D_HFN_ChNb"){name_quantity =
"High_Fq_Noise_as_func_of_Xtal";}
10935 if(HistoCode ==
"D_HFN_ChDs"){name_quantity =
"High_Fq_Noise_Xtal_distrib";}
10936 if(HistoCode ==
"D_SCs_ChNb"){name_quantity =
"Sigma_Corss_as_func_of_Xtal";}
10937 if(HistoCode ==
"D_SCs_ChDs"){name_quantity =
"Sigma_Corss_Xtal_distrib";}
10938 if(HistoCode ==
"D_MSp_SpNb"){name_quantity =
"ExpValue_of_samples";}
10939 if(HistoCode ==
"D_MSp_SpDs"){name_quantity =
"ExpValue_of_samples_distrib";}
10940 if(HistoCode ==
"D_SSp_SpNb"){name_quantity =
"Sigma_of_samples";}
10941 if(HistoCode ==
"D_SSp_SpDs"){name_quantity =
"Sigma_of_samples_distrib";}
10942 if(HistoCode ==
"D_Adc_EvDs"){name_quantity =
"hevt";}
10943 if(HistoCode ==
"D_Adc_EvNb"){name_quantity =
"ADC_as_func_of_Event";}
10944 if(HistoCode ==
"H_Ped_Date"){name_quantity =
"Pedestal_history";}
10945 if(HistoCode ==
"H_TNo_Date"){name_quantity =
"Total_Noise_history";}
10946 if(HistoCode ==
"H_MCs_Date"){name_quantity =
"Mean_Corss_history";}
10947 if(HistoCode ==
"H_LFN_Date"){name_quantity =
"Low_Fq_Noise_history";}
10948 if(HistoCode ==
"H_HFN_Date"){name_quantity =
"High_Fq_Noise_history";}
10949 if(HistoCode ==
"H_SCs_Date"){name_quantity =
"Sigma_Corss_history";}
10950 if(HistoCode ==
"H_Ped_RuDs"){name_quantity =
"Pedestal_run_distribution";}
10951 if(HistoCode ==
"H_TNo_RuDs"){name_quantity =
"Total_Noise_run_distribution";}
10952 if(HistoCode ==
"H_MCs_RuDs"){name_quantity =
"Mean_Corss_run_distribution";}
10953 if(HistoCode ==
"H_LFN_RuDs"){name_quantity =
"Low_Fq_Noise_run_distribution";}
10954 if(HistoCode ==
"H_HFN_RuDs"){name_quantity =
"High_Fq_Noise_run_distribution";}
10955 if(HistoCode ==
"H_SCs_RuDs"){name_quantity =
"Sigma_Corss_run_distribution";}
10957 Int_t num_crys = -1;
10958 if(HistoCode ==
"D_MSp_SpNb"){num_crys = i0StinEcha;}
10959 if(HistoCode ==
"D_MSp_SpDs"){num_crys = i0StinEcha;}
10960 if(HistoCode ==
"D_SSp_SpNb"){num_crys = i0StinEcha;}
10961 if(HistoCode ==
"D_SSp_SpDs"){num_crys = i0StinEcha;}
10962 if(HistoCode ==
"D_Adc_EvDs"){num_crys = i0StinEcha;}
10963 if(HistoCode ==
"D_Adc_EvNb"){num_crys = i0StinEcha;}
10964 if(HistoCode ==
"H_Ped_Date"){num_crys = i0StinEcha;}
10965 if(HistoCode ==
"H_TNo_Date"){num_crys = i0StinEcha;}
10966 if(HistoCode ==
"H_MCs_Date"){num_crys = i0StinEcha;}
10967 if(HistoCode ==
"H_LFN_Date"){num_crys = i0StinEcha;}
10968 if(HistoCode ==
"H_HFN_Date"){num_crys = i0StinEcha;}
10969 if(HistoCode ==
"H_SCs_Date"){num_crys = i0StinEcha;}
10970 if(HistoCode ==
"H_Ped_RuDs"){num_crys = i0StinEcha;}
10971 if(HistoCode ==
"H_TNo_RuDs"){num_crys = i0StinEcha;}
10972 if(HistoCode ==
"H_MCs_RuDs"){num_crys = i0StinEcha;}
10973 if(HistoCode ==
"H_LFN_RuDs"){num_crys = i0StinEcha;}
10974 if(HistoCode ==
"H_HFN_RuDs"){num_crys = i0StinEcha;}
10975 if(HistoCode ==
"H_SCs_RuDs"){num_crys = i0StinEcha;}
10977 Int_t num_samp = -1;
10978 if(HistoCode ==
"D_Adc_EvDs"){num_samp = i0Sample;}
10979 if(HistoCode ==
"D_Adc_EvNb"){num_samp = i0Sample;}
10983 if (HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_NOE_ChDs" ||
10984 HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_Ped_ChDs" ||
10985 HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_TNo_ChDs" ||
10986 HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_MCs_ChDs" ||
10987 HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_LFN_ChDs" ||
10988 HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_HFN_ChDs" ||
10989 HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_SCs_ChDs" )
10991 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%d_%s%d_%s_%s",
10995 name_opt_plot.Data(), name_visu.Data());
10998 if (HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_SSp_SpNb" ||
10999 HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
11000 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date" ||
11001 HistoCode ==
"D_MSp_SpDs" || HistoCode ==
"D_SSp_SpDs" ||
11002 HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
11003 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs")
11005 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%d_%s%d_%s%d_Xtal%d_%s_%s",
11009 name_opt_plot.Data(), name_visu.Data());
11012 if (HistoCode ==
"D_Adc_EvNb" || HistoCode ==
"D_Adc_EvDs")
11014 sprintf(f_in,
"%s_%s_S1_%d_R%d_%d_%d_%d_%s%d_%s%d_Xtal%d_Samp%d_%s_%s",
11018 name_opt_plot.Data(), name_visu.Data());
11021 canvas_name = f_in;
11022 delete [] f_in; f_in = 0;
fCdelete++;
11023 return canvas_name.Data();
11052 if( chqcode ==
"D_MSp_SpNb" || chqcode ==
"D_SSp_SpNb" ||
11053 chqcode ==
"D_MSp_SpDs" || chqcode ==
"D_SSp_SpDs" )
11060 if(chqcode ==
"D_Adc_EvNb" || chqcode ==
"D_Adc_EvDs"){HisSize =
fFapReqNbOfEvts;}
11063 if(chqcode ==
"D_NOE_ChNb" ||
11064 chqcode ==
"D_Ped_ChNb" || chqcode ==
"D_TNo_ChNb" || chqcode ==
"D_MCs_ChNb" ||
11065 chqcode ==
"D_LFN_ChNb" || chqcode ==
"D_HFN_ChNb" || chqcode ==
"D_SCs_ChNb" ||
11066 chqcode ==
"D_NOE_ChDs" ||
11067 chqcode ==
"D_Ped_ChDs" || chqcode ==
"D_TNo_ChDs" || chqcode ==
"D_MCs_ChDs" ||
11068 chqcode ==
"D_LFN_ChDs" || chqcode ==
"D_HFN_ChDs" || chqcode ==
"D_SCs_ChDs" )
11087 if( chqcode ==
"H_Ped_RuDs" || chqcode ==
"H_TNo_RuDs" || chqcode ==
"H_MCs_RuDs" ||
11088 chqcode ==
"H_LFN_RuDs" || chqcode ==
"H_HFN_RuDs" || chqcode ==
"H_SCs_RuDs" )
11097 TEcnaRead* aMyRootFile,
const TString HistoCode,
11098 const Int_t& HisSizePlot,
const Int_t& HisSizeRead,
11099 const Int_t& StexStin_A,
const Int_t& i0StinEcha,
11100 const Int_t& i0Sample, Int_t& i_data_exist)
11104 TVectorD plot_histo(HisSizePlot);
for(Int_t
i=0;
i<HisSizePlot;
i++){plot_histo(
i)=(Double_t)0.;}
11108 if( arg_AlreadyRead >= 1 )
11111 for(Int_t
i=0;
i<HisSizeRead;
i++){plot_histo(
i)=arg_read_histo(
i);}
11115 if( arg_AlreadyRead == 0 )
11118 TVectorD read_histo(HisSizeRead);
for(Int_t
i=0;
i<HisSizeRead;
i++){read_histo(
i)=(Double_t)0.;}
11120 if( HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_MSp_SpDs" ||
11121 HistoCode ==
"D_SSp_SpNb" || HistoCode ==
"D_SSp_SpDs" )
11124 if( HisSizeRead <= HisSizePlot )
11126 if (HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_MSp_SpDs" )
11128 read_histo = aMyRootFile->
ReadSampleMeans(StexStin_A, i0StinEcha, HisSizeRead);
11130 for(Int_t
i=0;
i<HisSizeRead;
i++){plot_histo(
i)=read_histo(
i);}
11133 if (HistoCode ==
"D_SSp_SpNb" || HistoCode ==
"D_SSp_SpDs" )
11135 read_histo = aMyRootFile->
ReadSampleSigmas(StexStin_A, i0StinEcha, HisSizeRead);
11137 for(Int_t
i=0;
i<HisSizeRead;
i++){plot_histo(
i)=read_histo(
i);}
11142 cout <<
"!TEcnaHistos::GetHistoValues(...)> *** ERROR *** > HisSizeRead greater than HisSizePlot"
11143 <<
" for plot as a function of sample#. HisSizeRead = " << HisSizeRead
11144 <<
", HisSizePlot = " << HisSizePlot <<
fTTBELL << endl;
11149 if( !(HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_SSp_SpNb" ||
11150 HistoCode ==
"D_MSp_SpDs" || HistoCode ==
"D_SSp_SpDs" ) )
11153 if( HisSizeRead == HisSizePlot )
11158 if( HistoCode ==
"D_Adc_EvNb" || HistoCode ==
"D_Adc_EvDs" )
11160 read_histo = aMyRootFile->
ReadSampleAdcValues(StexStin_A, i0StinEcha, i0Sample, HisSizeRead);
11164 if( HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_NOE_ChDs" )
11170 if( HistoCode ==
"D_Ped_ChNb" || HistoCode ==
"D_Ped_ChDs" )
11177 if( HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_TNo_ChDs")
11183 if( HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_LFN_ChDs" )
11190 if( HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_HFN_ChDs" )
11197 if( HistoCode ==
"D_MCs_ChNb" || HistoCode ==
"D_MCs_ChDs" )
11203 if( HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_SCs_ChDs" )
11209 for(Int_t
i=0;
i<HisSizeRead;
i++){plot_histo(
i)=read_histo(
i);}
11214 cout <<
"!TEcnaHistos::GetHistoValues(...)> *** ERROR *** > HisSizeRead not equal to HisSizePlot."
11215 <<
" HisSizeRead = " << HisSizeRead
11216 <<
", HisSizePlot = " << HisSizePlot <<
fTTBELL << endl;
11221 if( i_data_exist == 0 )
11223 cout <<
"!TEcnaHistos::GetHistoValues(...)> Histo not found." <<
fTTBELL << endl;
11234 TString axis_x_var_name;
11236 if(HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_Ped_ChNb" ||
11237 HistoCode ==
"D_TNo_ChNb" || HistoCode ==
"D_MCs_ChNb" ||
11238 HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_HFN_ChNb" ||
11239 HistoCode ==
"D_SCs_ChNb" )
11243 if(
fFlagSubDet ==
"EB" ){axis_x_var_name =
"Xtal (electronic channel number)";}
11244 if(
fFlagSubDet ==
"EE" ){axis_x_var_name =
"Xtal";}
11248 if(
fFlagSubDet ==
"EB" ){axis_x_var_name =
"Tower number";}
11249 if(
fFlagSubDet ==
"EE" ){axis_x_var_name =
"SC number";}
11253 if(HistoCode ==
"D_NOE_ChDs"){axis_x_var_name =
"Number of events";}
11254 if(HistoCode ==
"D_Ped_ChDs"){axis_x_var_name =
"Pedestal";}
11255 if(HistoCode ==
"D_TNo_ChDs"){axis_x_var_name =
"Total noise";}
11256 if(HistoCode ==
"D_MCs_ChDs"){axis_x_var_name =
"Mean cor(s,s')";}
11257 if(HistoCode ==
"D_LFN_ChDs"){axis_x_var_name =
"Low frequency noise";}
11258 if(HistoCode ==
"D_HFN_ChDs"){axis_x_var_name =
"High frequency noise";}
11259 if(HistoCode ==
"D_SCs_ChDs"){axis_x_var_name =
"Sigmas cor(s,s')";}
11260 if(HistoCode ==
"D_MSp_SpNb"){axis_x_var_name =
"Sample";}
11261 if(HistoCode ==
"D_MSp_SpDs"){axis_x_var_name =
"Pedestal";}
11262 if(HistoCode ==
"D_SSp_SpNb"){axis_x_var_name =
"Sample";}
11263 if(HistoCode ==
"D_SSp_SpDs"){axis_x_var_name =
"Total noise";}
11264 if(HistoCode ==
"D_Adc_EvDs"){axis_x_var_name =
"ADC";}
11265 if(HistoCode ==
"D_Adc_EvNb"){axis_x_var_name =
"Event number";}
11266 if(HistoCode ==
"H_Ped_Date" || HistoCode ==
"H_TNo_Date" || HistoCode ==
"H_MCs_Date" ||
11267 HistoCode ==
"H_LFN_Date" || HistoCode ==
"H_HFN_Date" || HistoCode ==
"H_SCs_Date")
11268 {axis_x_var_name =
"Time";}
11269 if(HistoCode ==
"H_Ped_RuDs"){axis_x_var_name =
"Pedestal";}
11270 if(HistoCode ==
"H_TNo_RuDs"){axis_x_var_name =
"Total noise";}
11271 if(HistoCode ==
"H_MCs_RuDs"){axis_x_var_name =
"Mean cor(s,s')";}
11272 if(HistoCode ==
"H_LFN_RuDs"){axis_x_var_name =
"Low frequency noise";}
11273 if(HistoCode ==
"H_HFN_RuDs"){axis_x_var_name =
"High frequency noise";}
11274 if(HistoCode ==
"H_SCs_RuDs"){axis_x_var_name =
"Sigmas cor(s,s')";}
11276 return axis_x_var_name;
11283 TString axis_y_var_name;
11285 if(HistoCode ==
"D_NOE_ChNb"){axis_y_var_name =
"Number of events";}
11286 if(HistoCode ==
"D_Ped_ChNb"){axis_y_var_name =
"Pedestal";}
11287 if(HistoCode ==
"D_TNo_ChNb"){axis_y_var_name =
"Total noise";}
11288 if(HistoCode ==
"D_MCs_ChNb"){axis_y_var_name =
"Mean cor(s,s')";}
11289 if(HistoCode ==
"D_LFN_ChNb"){axis_y_var_name =
"Low frequency noise";}
11290 if(HistoCode ==
"D_HFN_ChNb"){axis_y_var_name =
"High frequency noise";}
11291 if(HistoCode ==
"D_SCs_ChNb"){axis_y_var_name =
"Sigma of cor(s,s')";}
11293 if(HistoCode ==
"D_NOE_ChDs" ||
11294 HistoCode ==
"D_Ped_ChDs" || HistoCode ==
"D_TNo_ChDs" || HistoCode ==
"D_MCs_ChDs" ||
11295 HistoCode ==
"D_LFN_ChDs" || HistoCode ==
"D_HFN_ChDs" || HistoCode ==
"D_SCs_ChDs" )
11297 if(
fFapStexNumber > 0 ){axis_y_var_name =
"number of crystals";}
11300 if(
fFlagSubDet ==
"EB" ){axis_y_var_name =
"number of towers";}
11301 if(
fFlagSubDet ==
"EE" ){axis_y_var_name =
"number of SC's";}
11305 if(HistoCode ==
"D_MSp_SpNb"){axis_y_var_name =
"Sample mean";}
11306 if(HistoCode ==
"D_MSp_SpDs"){axis_y_var_name =
"Number of samples";}
11307 if(HistoCode ==
"D_SSp_SpNb"){axis_y_var_name =
"Sample sigma";}
11308 if(HistoCode ==
"D_SSp_SpDs"){axis_y_var_name =
"Number of samples";}
11309 if(HistoCode ==
"D_Adc_EvNb"){axis_y_var_name =
"Sample ADC value";}
11310 if(HistoCode ==
"D_Adc_EvDs"){axis_y_var_name =
"Number of events";}
11311 if(HistoCode ==
"H_Ped_Date"){axis_y_var_name =
"Pedestal";}
11312 if(HistoCode ==
"H_TNo_Date"){axis_y_var_name =
"Total noise";}
11313 if(HistoCode ==
"H_MCs_Date"){axis_y_var_name =
"Mean cor(s,s')";}
11314 if(HistoCode ==
"H_LFN_Date"){axis_y_var_name =
"Low frequency noise";}
11315 if(HistoCode ==
"H_HFN_Date"){axis_y_var_name =
"High frequency noise";}
11316 if(HistoCode ==
"H_SCs_Date"){axis_y_var_name =
"Sigma cor(s,s')";}
11318 if(HistoCode ==
"H_Ped_RuDs" || HistoCode ==
"H_TNo_RuDs" || HistoCode ==
"H_MCs_RuDs" ||
11319 HistoCode ==
"H_LFN_RuDs" || HistoCode ==
"H_HFN_RuDs" || HistoCode ==
"H_SCs_RuDs" )
11320 {axis_y_var_name =
"number of runs";}
11322 return axis_y_var_name;
11329 Axis_t xinf_his = (Axis_t)0;
11331 if(HistoCode ==
"D_NOE_ChNb"){xinf_his = (Axis_t)0.;}
11332 if(HistoCode ==
"D_Ped_ChNb"){xinf_his = (Axis_t)0.;}
11333 if(HistoCode ==
"D_TNo_ChNb"){xinf_his = (Axis_t)0.;}
11334 if(HistoCode ==
"D_MCs_ChNb"){xinf_his = (Axis_t)0.;}
11335 if(HistoCode ==
"D_LFN_ChNb"){xinf_his = (Axis_t)0.;}
11336 if(HistoCode ==
"D_HFN_ChNb"){xinf_his = (Axis_t)0.;}
11337 if(HistoCode ==
"D_SCs_ChNb"){xinf_his = (Axis_t)0.;}
11338 if(HistoCode ==
"D_MSp_SpNb"){xinf_his = (Axis_t)0.;}
11339 if(HistoCode ==
"D_SSp_SpNb"){xinf_his = (Axis_t)0.;}
11340 if(HistoCode ==
"D_Adc_EvNb"){xinf_his = (Axis_t)0.;}
11353 if(HistoCode ==
"H_Ped_Date"){xinf_his = (Axis_t)0.;}
11354 if(HistoCode ==
"H_TNo_Date"){xinf_his = (Axis_t)0.;}
11355 if(HistoCode ==
"H_MCs_Date"){xinf_his = (Axis_t)0.;}
11356 if(HistoCode ==
"H_LFN_Date"){xinf_his = (Axis_t)0.;}
11357 if(HistoCode ==
"H_HFN_Date"){xinf_his = (Axis_t)0.;}
11358 if(HistoCode ==
"H_SCs_Date"){xinf_his = (Axis_t)0.;}
11374 Axis_t xsup_his = (Axis_t)0;
11376 if(HistoCode ==
"D_NOE_ChNb"){xsup_his = (Axis_t)HisSize;}
11377 if(HistoCode ==
"D_Ped_ChNb"){xsup_his = (Axis_t)HisSize;}
11378 if(HistoCode ==
"D_TNo_ChNb"){xsup_his = (Axis_t)HisSize;}
11379 if(HistoCode ==
"D_MCs_ChNb"){xsup_his = (Axis_t)HisSize;}
11380 if(HistoCode ==
"D_LFN_ChNb"){xsup_his = (Axis_t)HisSize;}
11381 if(HistoCode ==
"D_HFN_ChNb"){xsup_his = (Axis_t)HisSize;}
11382 if(HistoCode ==
"D_SCs_ChNb"){xsup_his = (Axis_t)HisSize;}
11383 if(HistoCode ==
"D_MSp_SpNb"){xsup_his = (Axis_t)HisSize;}
11384 if(HistoCode ==
"D_SSp_SpNb"){xsup_his = (Axis_t)HisSize;}
11398 if(HistoCode ==
"H_Ped_Date"){xsup_his = (Axis_t)0.;}
11399 if(HistoCode ==
"H_TNo_Date"){xsup_his = (Axis_t)0.;}
11400 if(HistoCode ==
"H_MCs_Date"){xsup_his = (Axis_t)0.;}
11401 if(HistoCode ==
"H_LFN_Date"){xsup_his = (Axis_t)0.;}
11402 if(HistoCode ==
"H_HFN_Date"){xsup_his = (Axis_t)0.;}
11403 if(HistoCode ==
"H_SCs_Date"){xsup_his = (Axis_t)0.;}
11419 Int_t nb_binx = HisSize;
11421 if ( HistoType ==
"Proj" || HistoType ==
"SampProj" ||
11422 HistoType ==
"EvolProj" || HistoType ==
"H1BasicProj" )
11429 const Int_t& HisSize)
11435 for(Int_t
i=0;
i<HisSize;
i++)
11437 Double_t his_val = (Double_t)0;
11438 Double_t xi = (Double_t)0;
11440 if (HistoCode ==
"D_NOE_ChNb" || HistoCode ==
"D_Ped_ChNb" ||
11441 HistoCode ==
"D_LFN_ChNb" || HistoCode ==
"D_TNo_ChNb" ||
11442 HistoCode ==
"D_HFN_ChNb" || HistoCode ==
"D_MCs_ChNb" ||
11443 HistoCode ==
"D_SCs_ChNb" || HistoCode ==
"D_MSp_SpNb" || HistoCode ==
"D_SSp_SpNb" )
11446 his_val = (Double_t)read_histo[
i];
11447 h_his0->Fill(xi, his_val);
11451 if (HistoCode ==
"D_Adc_EvNb" )
11454 his_val = (Double_t)read_histo[
i];
11455 h_his0->Fill(xi, his_val);
11458 if (HistoCode ==
"D_NOE_ChDs" ||
11459 HistoCode ==
"D_Ped_ChDs" || HistoCode ==
"D_LFN_ChDs" ||
11460 HistoCode ==
"D_TNo_ChDs" || HistoCode ==
"D_HFN_ChDs" ||
11461 HistoCode ==
"D_MCs_ChDs" || HistoCode ==
"D_SCs_ChDs" ||
11462 HistoCode ==
"D_MSp_SpDs" || HistoCode ==
"D_SSp_SpDs" ||
11463 HistoCode ==
"D_Adc_EvDs" )
11465 his_val = (Double_t)read_histo[
i];
11466 Double_t increment = (Double_t)1;
11467 h_his0->Fill(his_val, increment);
11563 Double_t val_inf = (Double_t)0.;
11605 Double_t val_sup = (Double_t)0.;
11856 Double_t val_min = (Double_t)0.;
11857 Double_t val_min_proj = (Double_t)0.1;
11860 if( HistoCode ==
"D_NOE_ChDs" ){val_min = val_min_proj;}
11862 if( HistoCode ==
"D_Ped_ChDs" ){val_min = val_min_proj;}
11864 if( HistoCode ==
"D_TNo_ChDs" ){val_min = val_min_proj;}
11866 if( HistoCode ==
"D_MCs_ChDs" ){val_min = val_min_proj;}
11868 if( HistoCode ==
"D_LFN_ChDs" ){val_min = val_min_proj;}
11870 if( HistoCode ==
"D_HFN_ChDs" ){val_min = val_min_proj;}
11872 if( HistoCode ==
"D_SCs_ChDs" ){val_min = val_min_proj;}
11874 if( HistoCode ==
"D_MSp_SpDs" ){val_min = val_min_proj;}
11876 if( HistoCode ==
"D_SSp_SpDs" ){val_min = val_min_proj;}
11878 if( HistoCode ==
"D_Adc_EvDs" ){val_min = val_min_proj;}
11899 Double_t val_max = (Double_t)0.;
11900 Double_t val_max_proj = (Double_t)2000.;
11903 if( HistoCode ==
"D_NOE_ChDs" ){val_max = val_max_proj;}
11905 if( HistoCode ==
"D_Ped_ChDs" ){val_max = val_max_proj;}
11907 if( HistoCode ==
"D_TNo_ChDs" ){val_max = val_max_proj;}
11909 if( HistoCode ==
"D_MCs_ChDs" ){val_max = val_max_proj;}
11911 if( HistoCode ==
"D_LFN_ChDs" ){val_max = val_max_proj;}
11913 if( HistoCode ==
"D_HFN_ChDs" ){val_max = val_max_proj;}
11915 if( HistoCode ==
"D_SCs_ChDs" ){val_max = val_max_proj;}
11917 if( HistoCode ==
"D_MSp_SpDs" ){val_max = val_max_proj;}
11919 if( HistoCode ==
"D_SSp_SpDs" ){val_max = val_max_proj;}
11921 if( HistoCode ==
"D_Adc_EvDs" ){val_max = val_max_proj;}
12067 TString xvar =
"(xvar not found)";
12153 TString yvar =
"(yvar not found)";
12285 memo_flag.Resize(MaxCar);
12286 memo_flag =
"(no memo_flag info)";
12288 Int_t memo_flag_number = -1;
12298 if(memo_flag_number == 0){memo_flag =
"Free";}
12299 if(memo_flag_number >= 1){memo_flag =
"Busy";}
12310 memo_flag.Resize(MaxCar);
12311 memo_flag =
"(no memo_flag info)";
12313 Int_t memo_flag_number = -1;
12353 if(memo_flag_number == 0){memo_flag =
"Free";}
12354 if(memo_flag_number == 1){memo_flag =
"Busy";}
12364 TCanvas* main_canvas = 0;
12373 if(HistoCode ==
"D_NOE_ChNb"){
12376 if(HistoCode ==
"D_NOE_ChDs"){
12379 if(HistoCode ==
"D_Ped_ChNb"){
12382 if(HistoCode ==
"D_Ped_ChDs"){
12385 if(HistoCode ==
"D_TNo_ChNb"){
12388 if(HistoCode ==
"D_TNo_ChDs"){
12391 if(HistoCode ==
"D_MCs_ChNb"){
12394 if(HistoCode ==
"D_MCs_ChDs"){
12397 if(HistoCode ==
"D_LFN_ChNb"){
12400 if(HistoCode ==
"D_LFN_ChDs"){
12403 if(HistoCode ==
"D_HFN_ChNb"){
12406 if(HistoCode ==
"D_HFN_ChDs"){
12409 if(HistoCode ==
"D_SCs_ChNb"){
12412 if(HistoCode ==
"D_SCs_ChDs"){
12416 if(HistoCode ==
"D_MSp_SpNb" ){
12419 if(HistoCode ==
"D_MSp_SpDs" ){
12422 if(HistoCode ==
"D_SSp_SpNb" ){
12425 if(HistoCode ==
"D_SSp_SpDs" ){
12429 if(HistoCode ==
"D_Adc_EvNb"){
12432 if(HistoCode ==
"D_Adc_EvDs"){
12436 if(HistoCode ==
"H_Ped_Date"){
12439 if(HistoCode ==
"H_TNo_Date"){
12442 if(HistoCode ==
"H_MCs_Date"){
12445 if(HistoCode ==
"H_LFN_Date"){
12448 if(HistoCode ==
"H_HFN_Date"){
12451 if(HistoCode ==
"H_SCs_Date"){
12455 if(HistoCode ==
"H_Ped_RuDs"){
12458 if(HistoCode ==
"H_TNo_RuDs"){
12461 if(HistoCode ==
"H_MCs_RuDs"){
12464 if(HistoCode ==
"H_LFN_RuDs"){
12467 if(HistoCode ==
"H_HFN_RuDs"){
12470 if(HistoCode ==
"H_SCs_RuDs"){
12475 return main_canvas;
12489 fCanvH1SamePlus->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12496 if(HistoCode ==
"D_NOE_ChNb")
12499 fCanvD_NOE_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12504 if(HistoCode ==
"D_NOE_ChDs")
12507 fCanvD_NOE_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12512 if(HistoCode ==
"D_Ped_ChNb")
12515 fCanvD_Ped_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12520 if(HistoCode ==
"D_Ped_ChDs")
12523 fCanvD_Ped_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12528 if(HistoCode ==
"D_TNo_ChNb")
12531 fCanvD_TNo_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12536 if(HistoCode ==
"D_TNo_ChDs")
12539 fCanvD_TNo_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12544 if(HistoCode ==
"D_MCs_ChNb")
12547 fCanvD_MCs_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12552 if(HistoCode ==
"D_MCs_ChDs")
12555 fCanvD_MCs_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12560 if(HistoCode ==
"D_LFN_ChNb")
12563 fCanvD_LFN_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12568 if(HistoCode ==
"D_LFN_ChDs")
12571 fCanvD_LFN_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12576 if(HistoCode ==
"D_HFN_ChNb")
12579 fCanvD_HFN_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12584 if(HistoCode ==
"D_HFN_ChDs")
12587 fCanvD_HFN_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12592 if(HistoCode ==
"D_SCs_ChNb")
12595 fCanvD_SCs_ChNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12600 if(HistoCode ==
"D_SCs_ChDs")
12603 fCanvD_SCs_ChDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12608 if(HistoCode ==
"D_MSp_SpNb")
12611 fCanvD_MSp_SpNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12616 if(HistoCode ==
"D_MSp_SpDs")
12619 fCanvD_MSp_SpDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12624 if(HistoCode ==
"D_SSp_SpNb")
12627 fCanvD_SSp_SpNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12632 if(HistoCode ==
"D_SSp_SpDs")
12635 fCanvD_SSp_SpDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12640 if(HistoCode ==
"D_Adc_EvDs")
12643 fCanvD_Adc_EvDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12648 if(HistoCode ==
"D_Adc_EvNb")
12651 fCanvD_Adc_EvNb->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12656 if(HistoCode ==
"H_Ped_Date")
12659 fCanvH_Ped_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12663 if(HistoCode ==
"H_TNo_Date")
12666 fCanvH_TNo_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12670 if(HistoCode ==
"H_MCs_Date")
12673 fCanvH_MCs_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12678 if(HistoCode ==
"H_LFN_Date")
12681 fCanvH_LFN_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12685 if(HistoCode ==
"H_HFN_Date")
12688 fCanvH_HFN_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12692 if(HistoCode ==
"H_SCs_Date")
12695 fCanvH_SCs_Date->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12700 if(HistoCode ==
"H_Ped_RuDs")
12703 fCanvH_Ped_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12707 if(HistoCode ==
"H_TNo_RuDs")
12710 fCanvH_TNo_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12714 if(HistoCode ==
"H_MCs_RuDs")
12717 fCanvH_MCs_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12722 if(HistoCode ==
"H_LFN_RuDs")
12725 fCanvH_LFN_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12729 if(HistoCode ==
"H_HFN_RuDs")
12732 fCanvH_HFN_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12736 if(HistoCode ==
"H_SCs_RuDs")
12739 fCanvH_SCs_RuDs->Divide(1, 1, x_margin_factor , y_margin_factor); gPad->cd(1);
12749 TCanvas* main_canvas = 0;
12788 return main_canvas;
12805 cout <<
"TEcnaHistos::PlotCloneOfCurrentCanvas()> Last canvas has been removed. No clone can be done."
12806 << endl <<
" Please, display the canvas again."
12812 cout <<
"TEcnaHistos::PlotCloneOfCurrentCanvas()> No canvas has been created. No clone can be done."
12822 TVirtualPad* main_subpad = 0;
12830 Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12836 if(HistoCode ==
"D_NOE_ChNb"){
12837 fCanvD_NOE_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12840 if(HistoCode ==
"D_NOE_ChDs"){
12841 fCanvD_NOE_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12844 if(HistoCode ==
"D_Ped_ChNb"){
12845 fCanvD_Ped_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12848 if(HistoCode ==
"D_Ped_ChDs"){
12849 fCanvD_Ped_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12852 if(HistoCode ==
"D_TNo_ChNb"){
12853 fCanvD_TNo_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12856 if(HistoCode ==
"D_TNo_ChDs"){
12857 fCanvD_TNo_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12860 if(HistoCode ==
"D_MCs_ChNb"){
12861 fCanvD_MCs_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12864 if(HistoCode ==
"D_MCs_ChDs"){
12865 fCanvD_MCs_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12868 if(HistoCode ==
"D_LFN_ChNb"){
12869 fCanvD_LFN_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12872 if(HistoCode ==
"D_LFN_ChDs"){
12873 fCanvD_LFN_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12876 if(HistoCode ==
"D_HFN_ChNb"){
12877 fCanvD_HFN_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12880 if(HistoCode ==
"D_HFN_ChDs"){
12881 fCanvD_HFN_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12884 if(HistoCode ==
"D_SCs_ChNb"){
12885 fCanvD_SCs_ChNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12888 if(HistoCode ==
"D_SCs_ChDs"){
12889 fCanvD_SCs_ChDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12892 if(HistoCode ==
"D_MSp_SpNb"){
12893 fCanvD_MSp_SpNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12896 if(HistoCode ==
"D_MSp_SpDs"){
12897 fCanvD_MSp_SpDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12900 if(HistoCode ==
"D_SSp_SpNb"){
12901 fCanvD_SSp_SpNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12904 if(HistoCode ==
"D_SSp_SpDs"){
12905 fCanvD_SSp_SpDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12908 if(HistoCode ==
"D_Adc_EvNb"){
12909 fCanvD_Adc_EvNb->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12912 if(HistoCode ==
"D_Adc_EvDs"){
12913 fCanvD_Adc_EvDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12916 if(HistoCode ==
"H_Ped_Date"){
12917 fCanvH_Ped_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12920 if(HistoCode ==
"H_TNo_Date"){
12921 fCanvH_TNo_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12924 if(HistoCode ==
"H_MCs_Date"){
12925 fCanvH_MCs_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12928 if(HistoCode ==
"H_LFN_Date"){
12929 fCanvH_LFN_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12932 if(HistoCode ==
"H_HFN_Date"){
12933 fCanvH_HFN_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12936 if(HistoCode ==
"H_SCs_Date"){
12937 fCanvH_SCs_Date->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12940 if(HistoCode ==
"H_Ped_RuDs"){
12941 fCanvH_Ped_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12944 if(HistoCode ==
"H_TNo_RuDs"){
12945 fCanvH_TNo_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12948 if(HistoCode ==
"H_MCs_RuDs"){
12949 fCanvH_MCs_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12952 if(HistoCode ==
"H_LFN_RuDs"){
12953 fCanvH_LFN_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12956 if(HistoCode ==
"H_HFN_RuDs"){
12957 fCanvH_HFN_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12960 if(HistoCode ==
"H_SCs_RuDs"){
12961 fCanvH_SCs_RuDs->Connect(
"Closed()",
"TEcnaHistos",
this,
"DoCanvasClosed()");
12965 if( main_subpad == 0 )
12966 {
cout <<
"*TEcnaHistos::ActivePad(...)> main_subpad = "
12967 << main_subpad <<
". This canvas has been closed." << endl;}
12969 return main_subpad;
13015 cout <<
"!TEcnaHistos::DoCanvasClosed(...)> WARNING: canvas has been closed." << endl;
13067 TPaveText* main_pavtxt = 0;
13107 if( main_pavtxt == 0 )
13108 {
cout <<
"*TEcnaHistos::ActivePavTxt(...)> ERROR: main_pavtxt = " << main_pavtxt << endl;}
13110 return main_pavtxt;
13135 const TString opt_plot,
const Int_t& arg_AlreadyRead)
13140 if( HistoType ==
"Global" ){h_his0->SetMarkerStyle(1);}
13154 if(HistoCode ==
"D_NOE_ChNb")
13163 if(HistoCode ==
"D_NOE_ChDs")
13172 if(HistoCode ==
"D_Ped_ChNb")
13181 if(HistoCode ==
"D_Ped_ChDs")
13190 if(HistoCode ==
"D_TNo_ChNb")
13199 if(HistoCode ==
"D_TNo_ChDs")
13209 if(HistoCode ==
"D_MCs_ChNb")
13218 if(HistoCode ==
"D_MCs_ChDs")
13227 if(HistoCode ==
"D_LFN_ChNb")
13236 if(HistoCode ==
"D_LFN_ChDs")
13245 if(HistoCode ==
"D_HFN_ChNb")
13254 if(HistoCode ==
"D_HFN_ChDs")
13264 if(HistoCode ==
"D_SCs_ChNb")
13273 if(HistoCode ==
"D_SCs_ChDs")
13283 if(HistoCode ==
"D_MSp_SpNb")
13285 if( (opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 0) ||
13290 {h_his0->SetFillColor((Color_t)0);}
13299 if(HistoCode ==
"D_MSp_SpDs")
13301 if( (opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 0) ||
13306 {h_his0->SetFillColor((Color_t)0);}
13315 if(HistoCode ==
"D_SSp_SpNb")
13317 if( (opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 0) ||
13322 {h_his0->SetFillColor((Color_t)0);}
13331 if(HistoCode ==
"D_SSp_SpDs")
13333 if( (opt_plot ==
fOnlyOnePlot && arg_AlreadyRead == 0) ||
13338 {h_his0->SetFillColor((Color_t)0);}
13347 if(HistoCode ==
"D_Adc_EvNb")
13355 gPad->SetGrid(1,0);
13358 if(HistoCode ==
"D_Adc_EvDs")
13368 if(HistoCode ==
"H_Ped_RuDs")
13376 gPad->SetGrid(1,1);
13379 if(HistoCode ==
"H_TNo_RuDs")
13387 gPad->SetGrid(1,1);
13390 if(HistoCode ==
"H_MCs_RuDs")
13398 gPad->SetGrid(1,1);
13401 if(HistoCode ==
"H_LFN_RuDs")
13409 gPad->SetGrid(1,1);
13412 if(HistoCode ==
"H_HFN_RuDs")
13420 gPad->SetGrid(1,1);
13423 if(HistoCode ==
"H_SCs_RuDs")
13431 gPad->SetGrid(1,1);
13451 gPad->SetGrid(1,1);
13456 if(HistoCode ==
"H_Ped_Date")
13464 gPad->SetGrid(1,1);
13467 if(HistoCode ==
"H_TNo_Date")
13475 gPad->SetGrid(1,1);
13478 if(HistoCode ==
"H_MCs_Date")
13486 gPad->SetGrid(1,1);
13489 if(HistoCode ==
"H_LFN_Date")
13497 gPad->SetGrid(1,1);
13500 if(HistoCode ==
"H_HFN_Date")
13508 gPad->SetGrid(1,1);
13511 if(HistoCode ==
"H_SCs_Date")
13519 gPad->SetGrid(1,1);
13574 TColor* my_color =
new TColor();
13577 if( DeeEndcap ==
"EE+" )
13581 if ( DeeDir ==
"left" && QuadType ==
"top" ){couleur=(Color_t)my_color->GetColor(
"#006600");}
13582 if ( DeeDir ==
"left" && QuadType ==
"bottom" ){couleur=(Color_t)my_color->GetColor(
"#CC3300");}
13584 if( DeeEndcap ==
"EE-" )
13586 if ( DeeDir ==
"right" && QuadType ==
"top" ){couleur=(Color_t)my_color->GetColor(
"#008800");}
13587 if ( DeeDir ==
"right" && QuadType ==
"bottom" ){couleur=(Color_t)my_color->GetColor(
"#EE5500");}
13622 graph->SetMarkerStyle(1);
13623 if( HistoType ==
"Evol" ){graph->SetMarkerStyle(20);}
13645 cout <<
"TEcnaHistos::NewCanvas(...)> *** ERROR *** " << opt_plot.Data() <<
": "
13646 <<
"unknown option for NewCanvas. Only " <<
fSameOnePlot <<
" option is accepted."
13665 if(HistoCode ==
"D_NOE_ChNb")
13673 if(HistoCode ==
"D_NOE_ChDs")
13681 if(HistoCode ==
"D_Ped_ChNb")
13689 if(HistoCode ==
"D_Ped_ChDs")
13697 if(HistoCode ==
"D_TNo_ChNb")
13705 if(HistoCode ==
"D_TNo_ChDs")
13713 if(HistoCode ==
"D_MCs_ChNb")
13721 if(HistoCode ==
"D_MCs_ChDs")
13729 if(HistoCode ==
"D_LFN_ChNb")
13737 if(HistoCode ==
"D_LFN_ChDs")
13745 if(HistoCode ==
"D_HFN_ChNb")
13753 if(HistoCode ==
"D_HFN_ChDs")
13761 if(HistoCode ==
"D_SCs_ChNb")
13769 if(HistoCode ==
"D_SCs_ChDs")
13777 if(HistoCode ==
"D_MSp_SpNb")
13785 if(HistoCode ==
"D_MSp_SpDs")
13793 if(HistoCode ==
"D_SSp_SpNb")
13801 if(HistoCode ==
"D_SSp_SpDs")
13809 if(HistoCode ==
"D_Adc_EvNb")
13817 if(HistoCode ==
"D_Adc_EvDs")
13826 if(HistoCode ==
"H_Ped_Date")
13834 if(HistoCode ==
"H_TNo_Date")
13842 if(HistoCode ==
"H_MCs_Date")
13851 if(HistoCode ==
"H_LFN_Date")
13859 if(HistoCode ==
"H_HFN_Date")
13867 if(HistoCode ==
"H_SCs_Date")
13875 if(HistoCode ==
"H_Ped_RuDs")
13883 if(HistoCode ==
"H_TNo_RuDs")
13891 if(HistoCode ==
"H_MCs_RuDs")
13900 if(HistoCode ==
"H_LFN_RuDs")
13908 if(HistoCode ==
"H_HFN_RuDs")
13916 if(HistoCode ==
"H_SCs_RuDs")
13929 const Int_t& StexStinEcna,
const Int_t& MatrixBinIndex,
13930 const Int_t& MatSize,
const TMatrixD& read_matrix)
13934 Int_t ChanNumber = MatrixBinIndex;
13954 const TVectorD& read_histo)
TCanvasImp * fImpH_TNo_Date
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 &)
void GeneralTitle(const TString)
Int_t fMemoPlotD_HFN_ChDs
TVirtualPad * fPadD_NOE_ChDs
TPaveText * fPavTxtD_MSp_SpNb
void ViewStas(const TVectorD &, const Int_t &, const TString)
Int_t fNbOfListFileH_MCs_Date
void StexHocoVecoLHFCorcc(const TString)
Int_t GetHistoNumberOfBins(const TString, const Int_t &)
UInt_t SetCanvasHeight(const TString, const TString)
Int_t MaxCrysHocoInStex()
Int_t fMemoPlotH_HFN_Date
TPaveText * fPavTxtH_TNo_RuDs
TEcnaNumbering * fEcalNumbering
Int_t fMemoColorH_LFN_RuDs
TPaveText * fPavTxtD_Ped_ChNb
Int_t fCanvSameD_MCs_ChNb
void SCCrystalNumbering(const Int_t &, const Int_t &)
TCanvas * fCanvH_SCs_RuDs
TPaveText * fPavTxtH_HFN_RuDs
TVectorD ReadLowFrequencyNoise(const Int_t &)
Int_t fNbBinsMemoH_LFN_Date
TCanvasImp * fImpD_Ped_ChDs
Int_t fNbBinsMemoH_MCs_Date
void SetParametersPavTxt(const TString, const TString)
TVirtualPad * fPadD_LFN_ChNb
Int_t fMemoColorD_TNo_ChNb
Int_t fNbBinsMemoD_HFN_ChNb
Int_t fMemoColorH_TNo_Date
TVectorD ReadAverageHighFrequencyNoise(const Int_t &)
Int_t fMemoColorD_SCs_ChNb
Int_t fMemoColorH_SCs_Date
void SetHistoColorPalette(const TString)
TPaveText * SetPaveStinsXY(const Int_t &, const Int_t &)
TString GetSCQuadFrom1DeeSCEcna(const Int_t &)
TPaveText * fPavComAnaRun
Int_t GetNotConnectedDSSCFromIndex(const Int_t &)
void Plot1DHisto(const TVectorD &, const TString, const TString, const TString)
Int_t GetLastReqEvtNumber()
TString fCorrelationMatrix
Int_t fNbBinsMemoD_SSp_SpNb
void InitSpecParBeforeFileReading()
TCanvasImp * fImpH_MCs_Date
Int_t fMemoColorH_HFN_RuDs
TPaveText * fPavTxtH_MCs_Date
void EvSamplesXtals(const TVectorD &, const Int_t &, const Int_t &, const Int_t &, const TString)
Int_t Get0SMEchaFrom1SMTowAnd0TowEcha(const Int_t &, const Int_t &)
Int_t Get1DeeSCEcnaFromDeeSCCons(const Int_t &, const Int_t &)
Int_t fMemoColorH_MCs_RuDs
TString GetIXIYAxisTitle(const TString)
TPaveText * fPavTxtH_SCs_RuDs
Float_t AxisTitleOffset()
Int_t fMemoPlotD_Adc_EvNb
Int_t fMemoPlotD_NOE_ChDs
Int_t GetCodePlotAllXtalsInStin()
void ViewHistime(const TString, const Int_t &, const Int_t &, const TString, const TString)
void SetHistoScaleX(const TString)
TCanvasImp * fImpD_MSp_SpDs
TString GetCodeSameOnePlot()
void SetViewHistoPadMargins(const TString, const TString)
void WriteAsciiCovariancesBetweenSamples(const Int_t &, const Int_t &, const Int_t &, const TMatrixD &)
Double_t GetPhiMin(const Int_t &, const Int_t &)
TCanvas * fCanvD_NOE_ChNb
Int_t fNbBinsMemoD_TNo_ChNb
TCanvas * fCanvH_HFN_Date
Double_t GetXinfValueFromMemo()
TVirtualPad * fPadD_HFN_ChDs
UInt_t CanvasFormatW(const TString)
TVirtualPad * fPadH_Ped_Date
TCanvas * fCanvD_SCs_ChDs
Int_t GetNotCompleteDSSCFromIndex(const Int_t &)
Int_t SetGraphFrameYminYmaxFromMemo(TGraph *, const TString)
Int_t fNbBinsMemoH_TNo_RuDs
Int_t MaxCrysVecoInStin()
Color_t ColorDefinition(const TString)
TString GetXVarFromMemo(const TString, const TString)
Int_t fCanvSameD_SSp_SpDs
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 SigmaSamplesXtals(const TVectorD &, const Int_t &, const Int_t &, const Int_t &, const TString)
Int_t fCanvSameD_SCs_ChNb
Int_t fNbBinsMemoH_Ped_RuDs
void SetYminMemoFromValue(const TString, const Double_t &)
Axis_t GetHistoXsup(const TString, const Int_t &, const TString)
void SetYmaxMemoFromPreviousMemo(const TString)
TString GetYDirectionEB(const Int_t &)
TString GetSMHalfBarrel(const Int_t &)
Int_t MaxStinVecoInStex()
Int_t fCanvSameH_MCs_Date
Int_t fNbBinsMemoD_LFN_ChDs
Int_t fMemoColorD_MCs_ChDs
TString BuildStandardPlotOption(const TString, 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 FileParameters(TString, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, TString)
void SetViewGraphColors(TGraph *, const TString, const TString)
TVirtualPad * fPadD_TNo_ChDs
TVirtualPad * fPadD_HFN_ChNb
void ViewTowerGrid(const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString)
void NewCanvas(const TString)
TPaveText * fPavTxtH_Ped_RuDs
TVirtualPad * fPadD_MSp_SpDs
Double_t GetYmaxFromGraphFrameAndMarginValue(TGraph *, const Double_t)
Int_t fCanvSameH_TNo_RuDs
void ReInitCanvas(const TString, const TString)
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
TCanvas * CreateCanvas(const TString, const TString, const TString, UInt_t, UInt_t)
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 &)
TString GetDeeDirViewedFromIP(const Int_t &)
TString GetJYDirectionEB(const Int_t &)
void SetXsupMemoFromValue(const TString, const Double_t &)
Float_t DeeNumberOffsetX(const TString, const Int_t &)
Int_t fFapLastReqEvtNumber
Int_t fCanvSameH_HFN_RuDs
Int_t fMemoColorH_Ped_RuDs
Double_t GetJPhiMax(const Int_t &, const Int_t &)
TCanvas * fCanvH_MCs_RuDs
TString GetEEDeeType(const Int_t &)
TMatrixD ReadLowFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
void XtalSamplesSigma(const TVectorD &, const Int_t &, const Int_t &, const Int_t &, const TString)
Bool_t GetOkViewHisto(TEcnaRead *, const Int_t &, const Int_t &, const Int_t &, const TString)
TString GetStinLvrbType(const Int_t &)
Int_t fMemoColorD_MCs_ChNb
Double_t GetPhiMax(const Int_t &, const Int_t &)
TPaveText * fPavTxtH_LFN_Date
TVectorD ReadSigmaOfCorrelationsBetweenSamples(const Int_t &)
Int_t MaxStinHocoInStas()
TCanvasImp * fImpH1SamePlus
Int_t fCanvSameD_LFN_ChNb
Int_t Get1SCEchaFrom0DeeEcha(const Int_t &)
TPaveText * fPavComGeneralTitle
TCanvasImp * fImpD_LFN_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 &)
TString HistoryRunListFilePath()
Int_t fCanvSameD_NOE_ChDs
TVirtualPad * fPadH_MCs_RuDs
TString GetRootFileNameShort()
Int_t fCanvSameH_LFN_Date
TString BuildStandardDetectorCode(const TString)
TVectorD ReadAverageNumberOfEvents(const Int_t &)
TCanvasImp * fImpH_Ped_RuDs
TEcnaParCout * fCnaParCout
void SetRunNumberFromList(const Int_t &, const Int_t &)
void ViewDeeGrid(const Int_t &, const TString)
Int_t fCanvSameH_MCs_RuDs
TCanvas * fCanvH1SamePlus
Color_t GetViewHistoColor(const TString, const TString)
TString fCovarianceMatrix
Int_t fCanvSameD_LFN_ChDs
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
Double_t GetYmaxValueFromMemo(const TString)
Double_t fH2HFccMosMatrixYmax
TPaveText * fPavTxtD_NOE_ChDs
void SetGraphPresentation(TGraph *, const TString, const TString)
Int_t fMemoColorH_LFN_Date
TCanvas * fCanvH_HFN_RuDs
TPaveText * SetPaveLVRB(const Int_t &, const Int_t &)
TString StexNumberToString(const Int_t &)
void CovariancesBetweenSamples(const Int_t &)
void PlotDetector(const TVectorD &, const TString, const TString)
Int_t fMemoPlotD_TNo_ChNb
TMatrixD fReadMatrixDummy
TMatrixD ReadHighFrequencyMeanCorrelationsBetweenStins(const Int_t &)
TVirtualPad * fPadH_Ped_RuDs
Int_t fMemoColorH_SCs_RuDs
Double_t GetYmaxDefaultValue(const TString)
Int_t fMemoColorD_Adc_EvNb
void WriteMatrixAscii(const TString, const TString, const Int_t &, const Int_t &, const Int_t &, const TMatrixD &)
TPaveText * fPavTxtD_HFN_ChNb
Int_t fNbBinsMemoD_Adc_EvDs
void DeeSCNumbering(const Int_t &)
TCanvasImp * fImpD_Adc_EvNb
TString fAllXtalsInStinPlot
void SetAllPavesViewStinCrysNb(const Int_t &, const Int_t &)
TPaveText * fPavTxtH_LFN_RuDs
Int_t fMemoPlotH_MCs_Date
TString GetTechHistoCode(const TString)
void ViewStexStinNumberingPad(const Int_t &)
TCanvasImp * fImpD_SSp_SpNb
Int_t GetHashedNumberFromIEtaAndIPhi(const Int_t &, const Int_t &)
void XtalSamplesEv(const TVectorD &, const Int_t &, const Int_t &, const Int_t &, const TString)
TCanvas * fCanvH_Ped_Date
Double_t GetIIXMin(const Int_t &)
Int_t fMemoPlotH_TNo_Date
void TowerCrystalNumbering(const Int_t &, const Int_t &)
Int_t fCanvSameD_NOE_ChNb
Double_t fH2LFccMosMatrixYmax
TMatrixD ReadLowFrequencyMeanCorrelationsBetweenStins(const Int_t &)
TVectorD ReadAverageTotalNoise(const Int_t &)
Int_t fMemoPlotH_TNo_RuDs
Int_t SetHistoFrameYminYmaxFromMemo(TH1D *, const TString)
TCanvas * fCanvD_SSp_SpDs
void SetParametersCanvas(const TString, const TString)
Int_t fNbOfListFileH_SCs_RuDs
Int_t fMemoColorD_LFN_ChDs
TString GetXDirectionEE(const Int_t &)
Axis_t fH1SameOnePlotXsup
TString GetEtaPhiAxisTitle(const TString)
Int_t fCanvSameD_HFN_ChNb
Int_t GetFirstReqEvtNumber()
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)
TPaveText * fPavTxtD_Ped_ChDs
TPaveText * SetPaveAnalysisRun(const TString, const Int_t &, const Int_t &, const TString, const Int_t &, const Int_t &, const TString)
Long_t GetPointerValue(const TString)
TString GetTowerLvrbType(const Int_t &)
void StexStinNumbering(const Int_t &)
Int_t fMemoPlotD_MCs_ChDs
TPaveText * fPavTxtH_SCs_Date
Int_t fFapFirstReqEvtNumber
Int_t fNbBinsMemoD_Adc_EvNb
Int_t fCanvSameH_TNo_Date
Int_t fNbOfListFileH_TNo_Date
Double_t fH2CorccInStinsYmax
TString SetHistoXAxisTitle(const TString)
TString BuildStandard1DHistoCodeX(const TString, const TString)
TPaveText * fPavTxtD_Adc_EvNb
TCanvas * fCanvD_Ped_ChDs
TString GetHocoVecoAxisTitle(const TString)
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
Int_t fMemoPlotH_LFN_Date
Int_t fNbBinsMemoD_SSp_SpDs
Int_t fMemoPlotD_LFN_ChNb
void SetViewHistoColors(TH1D *, const TString, const TString, const Int_t &)
Int_t fMemoColorD_TNo_ChDs
void StartStopDate(const TString, const TString)
Int_t fMemoColorH_HFN_Date
Double_t GetJIYMax(const Int_t &, const Int_t &)
Int_t GetXSampInStin(const Int_t &, const Int_t &, const Int_t &, const Int_t &)
void SetYmaxMemoFromValue(const TString, const Double_t &)
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
TPaveText * SetPaveEvolRuns(const Int_t &, const TString, const Int_t &, const TString, const TString, const TString)
Int_t fMemoPlotD_SCs_ChNb
Int_t MaxStinVecoInStas()
Color_t GetSCColor(const TString, const TString, const TString)
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
void EEGridAxis(const Float_t &, const Float_t &, const Int_t &, const TString, const TString)
TString BuildStandardCovOrCorCode(const TString, const TString)
TCanvas * fCanvH_Ped_RuDs
TCanvasImp * fImpD_SCs_ChNb
Int_t fNbBinsMemoD_MSp_SpNb
Int_t fNbBinsMemoH_SCs_Date
TString GetYVarHisto(const TString, const TString, const Int_t &)
void SetColorPalette(const TString)
Int_t fNbBinsMemoD_MCs_ChDs
TPaveText * SetPaveCxyz(const Int_t &)
TVirtualPad * fPadD_MSp_SpNb
Int_t GetStexStinFromIndex(const Int_t &)
Double_t GetJPhiMin(const Int_t &, const Int_t &)
void ViewStin(const Int_t &, 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)
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
TVectorD ReadTotalNoise(const Int_t &)
TCanvasImp * fImpD_SSp_SpDs
Int_t fNbBinsMemoD_HFN_ChDs
void FileParameters(const TString, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &)
Int_t fNbBinsMemoH_HFN_Date
TString fCurrentHistoCode
TPaveText * SetOptionSamePaveBorder(const TString, const TString)
Int_t GetDSSCFrom1DeeSCEcna(const Int_t &, const Int_t &, const Int_t &)
TCanvas * fCanvD_LFN_ChDs
Int_t fMemoColorH1SamePlus
TVirtualPad * fPadH_LFN_RuDs
void ViewMatrix(const TMatrixD &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString, const TString, const TString)
TString fCfgHistoryRunListFilePath
void ViewSMTowerNumberingPad(const Int_t &)
void PlotHistory(const TString, const TString, const TString, const Int_t &, const Int_t &)
void EEDataSectors(const Float_t &, const Float_t &, const Int_t &, const TString)
TVectorD ReadAveragePedestals(const Int_t &)
TVirtualPad * ActivePad(const TString, const TString)
Int_t GetNotCompleteSCForConsFromIndex(const Int_t &)
Int_t fNbOfListFileH_LFN_Date
void SetAllPavesViewStas()
TPaveText * SetPaveNbOfEvts(const Int_t &, const TString, const TString, const TString)
TPaveText * fPavTxtD_HFN_ChDs
Int_t fMemoColorD_HFN_ChDs
TCanvasImp * fImpH_Ped_Date
TCanvasImp * fImpD_Ped_ChNb
Int_t fMemoPlotD_SSp_SpNb
TVirtualPad * fPadH_SCs_Date
Int_t fMemoPlotD_SCs_ChDs
Int_t fMemoPlotH_MCs_RuDs
void ViewDeeSCNumberingPad(const Int_t &)
void SetAllPavesViewMatrix(const TString, const Int_t &, const Int_t &, const Int_t &)
Int_t fCanvSameH_Ped_Date
TPaveText * fPavComEvolNbOfEvtsAna
Double_t BoxRightX(const TString)
TVectorD ReadPedestals(const Int_t &)
TMatrixD ReadLowFrequencyCovariancesBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
TString GetCurrentCanvasName()
Int_t fNbBinsMemoH_Ped_Date
void SetHistoScaleY(const TString)
TPaveText * fPavTxtD_LFN_ChNb
Int_t fNbBinsMemoD_MCs_ChNb
TPaveText * fPavTxtD_MCs_ChNb
Int_t fCanvSameD_MCs_ChDs
void SetYVarMemo(const TString, const TString, const TString)
void ViewHisto(const TVectorD &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString, const TString)
Double_t GetJIYMin(const Int_t &, const Int_t &)
TString fFlagGeneralTitle
Int_t GetDSFrom1DeeSCEcna(const Int_t &, const Int_t &)
TCanvas * fCanvD_Ped_ChNb
Bool_t RegisterPointer(const TString, const Long_t &)
Int_t GetListFileNumber(const TString)
TCanvasImp * fImpH_MCs_RuDs
TPaveText * fPavComEvolRuns
TCanvas * fCanvH_SCs_Date
void ViewEEGrid(const Int_t &)
Int_t fNbOfListFileH_HFN_RuDs
Int_t 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
TString GetYVarFromMemo(const TString, const TString)
Int_t fNbBinsMemoD_SCs_ChDs
TCanvas * fCanvH_TNo_Date
TPaveText * SetPaveCrystal(const Int_t &, const Int_t &, const Int_t &)
TCanvasImp * fImpD_MSp_SpNb
TCanvas * fCanvD_NOE_ChDs
TString GetAnalysisName()
Int_t GetXCrysInStex(const Int_t &, const Int_t &, const Int_t &)
void SetEcalSubDetector(const TString)
Int_t fMemoColorD_SCs_ChDs
UInt_t SetCanvasWidth(const TString, const TString)
Int_t fMemoPlotD_MCs_ChNb
TVirtualPad * fPadH_SCs_RuDs
Double_t fH2LFccMosMatrixYmin
void ViewSMGrid(const Int_t &, const TString)
TString BuildStandard1DHistoCodeY(const TString, const TString)
TCanvasImp * fImpD_HFN_ChNb
Float_t DeeOffsetX(const TString, const Int_t &)
TVirtualPad * fPadD_SCs_ChDs
TVirtualPad * fPadH_LFN_Date
Double_t BoxBottomY(const TString)
Double_t GetEta(const Int_t &, const Int_t &, const Int_t &)
Int_t Get1SMCrysFrom1SMTowAnd0TowEcha(const Int_t &, const Int_t &)
TPaveText * fPavTxtD_SCs_ChNb
TMatrixD ReadHighFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
Int_t fMemoPlotD_Ped_ChDs
Int_t fCanvSameH1SamePlus
Int_t fMemoPlotD_TNo_ChDs
Int_t fMemoColorH_MCs_Date
TPaveText * fPavTxtH_MCs_RuDs
TCanvasImp * fImpD_TNo_ChNb
TPaveText * SetPaveStin(const Int_t &, const Int_t &)
TString GetQuantityName(const TString)
Int_t NumberOfNotConnectedSCs()
TVirtualPad * fPadH_TNo_RuDs
Int_t fMemoColorD_MSp_SpNb
TVectorD ReadHighFrequencyNoise(const Int_t &)
void SetXinfMemoFromValue(const TString, const Double_t &)
Double_t GetIEtaMin(const Int_t &, const Int_t &)
Int_t GetIXCrysInSC(const Int_t &, const Int_t &, const Int_t &)
void SetYminMemoFromPreviousMemo(const TString)
void HistimePlot(TGraph *, Axis_t, Axis_t, const TString, const TString, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString, const Int_t &)
TString GetXVarHisto(const TString, const TString, const Int_t &)
void StinCrystalNumbering(const Int_t &, const Int_t &)
TCanvas * fCanvD_MCs_ChNb
Int_t GetYCrysInStex(const Int_t &, const Int_t &, const Int_t &)
TCanvasImp * fImpD_TNo_ChDs
Int_t GetMaxSCInDS(const Int_t &)
void SetAllPavesViewStin(const Int_t &)
Int_t MaxStexInStasMinus()
Axis_t fH1SameOnePlotXinf
TPaveText * SetPaveStex(const TString, const Int_t &)
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 &)
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 &)
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 ViewStex(const TVectorD &, const Int_t &, const TString)
Int_t fMemoColorD_HFN_ChNb
Int_t fCanvSameH_SCs_Date
Int_t fNbBinsMemoD_Ped_ChDs
TString fFlagUserHistoMin
Int_t fCanvSameD_HFN_ChDs
void ViewStexGrid(const Int_t &, const TString)
Int_t GetNbBinsFromMemo(const TString, const TString)
Int_t MaxSCForConsInDee()
void NumberOfEvents(const Int_t &)
TString GetMemoFlag(const TString)
void WriteHistoAscii(const TString, const Int_t &, const TVectorD &)
void ViewSCGrid(const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString)
Int_t GetJYCrysInSC(const Int_t &, const Int_t &, const Int_t &)
void SqrtContourLevels(const Int_t &, Double_t *)
TCanvasImp * fImpH_SCs_Date
Int_t fMemoPlotD_LFN_ChDs
TString ResultsRootFilePath()
TString SetHistoYAxisTitle(const TString)
Int_t fCanvSameH_Ped_RuDs
Double_t GetYminValueFromMemo(const TString)
Int_t GetNbOfRunsDisplayed()
Int_t GetYSampInStin(const Int_t &, const Int_t &, const Int_t &, const Int_t &)
TPaveText * fPavTxtD_NOE_ChNb
Double_t GetPhi(const Int_t &, const Int_t &, const Int_t &)
Int_t fNbBinsMemoD_Ped_ChNb
Int_t fCanvSameD_Adc_EvDs
TString fCurrentCanvasName
TCanvas * fCanvD_TNo_ChDs
void SetAllPavesViewHisto(const TString, const Int_t &, const Int_t &, const Int_t &, const TString)
TCanvas * fCanvH_LFN_Date
Int_t MaxCrysEcnaInStex()
Int_t fCanvSameD_MSp_SpNb
Int_t GetHistoryRunListParameters(const TString, const TString)
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 MaxCrysHocoInStin()
Int_t fMemoPlotH_SCs_RuDs
TVirtualPad * fCurrentPad
void SetViewHistoStyle(const TString)
TCanvas * fCanvD_MCs_ChDs
Int_t fMemoColorD_Adc_EvDs
Int_t fCanvSameD_Ped_ChNb
TVirtualPad * fPadD_Adc_EvDs
void SetViewHistoOffsets(TH1D *, const TString, const TString)
TString fHFBetweenChannels
Int_t GetNotConnectedSCForConsFromIndex(const Int_t &)
TCanvas * fCanvD_LFN_ChNb
TString BuildStandardBetweenWhatCode(const TString, const TString)
void ViewStinGrid(const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString)
Double_t BoxLeftX(const TString)
TPaveText * SetPaveEvolNbOfEvtsAna(const TString, const Int_t &, const Int_t &, const Int_t &, const TString)
void SetViewHistoStats(TH1D *, const TString)
Int_t fCanvSameH_LFN_RuDs
TMatrixD ReadCorrelationsBetweenSamples(const Int_t &, const Int_t &, const Int_t &)
TPaveText * SetPaveGeneralComment(const TString)
TPaveText * fPavTxtD_SCs_ChDs
TCanvas * fCanvD_SSp_SpNb
void SetAllPavesViewStex(const TString, const Int_t &)
Int_t fMemoColorD_MSp_SpDs
Int_t fMemoPlotD_Ped_ChNb
Int_t GetIXCrysInDee(const Int_t &, const Int_t &, const Int_t &)
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 * ActivePavTxt(const TString, const TString)
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 &)
void TopAxisForHistos(TH1D *, const TString, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &)
Double_t GetIEtaMax(const Int_t &, const Int_t &)
TString GetStexHalfStas(const Int_t &)
TString GetHistoType(const TString)
TCanvas * fCanvD_MSp_SpDs
void SetXVarMemo(const TString, const TString, const TString)
Double_t NotConnectedSCH1DBin(const Int_t &)
TVirtualPad * fPadD_TNo_ChNb
Int_t fCanvSameH_SCs_RuDs
void WriteAsciiHisto(const TString, const Int_t &, const TVectorD &)
Double_t GetYminDefaultValue(const TString)
void SetViewGraphOffsets(TGraph *, const TString)
TString GetEEDeeEndcap(const Int_t &)
Int_t MaxStinEcnaInStex()
Int_t fNbBinsMemoD_LFN_ChNb
TCanvasImp * fImpH_HFN_Date
TMatrixD ReadHighFrequencyCovariancesBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
Double_t GetYminFromGraphFrameAndMarginValue(TGraph *, const Double_t)
void PlotMatrix(const TMatrixD &, const TString, const TString)
TString GetEcalSubDetector()
void SetHistoPresentation(TH1D *, const TString)
Int_t fNbBinsMemoH_MCs_RuDs
TCanvas * fCanvD_SCs_ChNb
TVirtualPad * fPadH_TNo_Date
Axis_t GetHistoXinf(const TString, const Int_t &, const TString)
Int_t fNbOfListFileH_MCs_RuDs
Double_t fH2HFccMosMatrixYmin
Int_t MaxStinHocoInStex()
TCanvasImp * fImpH_LFN_RuDs
TVirtualPad * fPadD_MCs_ChNb
int ism(int ieta, int iphi)
TString GetJYDirectionEE(const Int_t &)
TCanvasImp * fImpD_SCs_ChDs
TPaveText * fPavTxtD_LFN_ChDs
Int_t NumberOfNotCompleteSCs()
void ViewStasGrid(const Int_t &)
TCanvasImp * fImpH_LFN_Date
Int_t fNbOfListFileH_LFN_RuDs
Int_t Get1StexCrysFrom1StexStinAnd0StinEcha(const Int_t &, const Int_t &, const Int_t &)
Int_t fNbOfListFileH_HFN_Date
TCanvasImp * fImpD_MCs_ChNb
TString GetXDirectionEB(const Int_t &)
Double_t NotCompleteSCH1DBin(const Int_t &)
TVectorD ReadSampleMeans(const Int_t &, const Int_t &, const Int_t &)
TEcnaParHistos * fCnaParHistos
TVectorD ReadAverageMeanCorrelationsBetweenSamples(const Int_t &)
TVirtualPad * fPadD_SSp_SpDs
TString fFlagUserHistoMax
Int_t fMemoPlotD_SSp_SpDs
TPaveText * SetPaveStas()
Int_t MaxCrysForConsInDee()
void FillHisto(TH1D *, const TVectorD &, const TString, const Int_t &)
Int_t fPlotAllXtalsInStin
TVectorD ReadAverageSigmaOfCorrelationsBetweenSamples(const Int_t &)
Double_t BoxTopY(const TString)
Int_t fNbBinsMemoD_NOE_ChNb
void SetNbBinsMemo(const TString, const TString, const Int_t &)
Int_t fMemoPlotD_Adc_EvDs
void RunType(const TString)
Int_t fMemoColorD_SSp_SpNb
Color_t SetColorsForNumbers(const TString)
Int_t fMemoColorD_Ped_ChNb
TVectorD ReadNumberOfEvents(const Int_t &)
void PlotCloneOfCurrentCanvas()
Int_t fMemoColorD_LFN_ChNb
TVirtualPad * fPadD_Adc_EvNb
UInt_t CanvasFormatH(const TString)
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 GetHistoSize(const TString, const TString)
Int_t fCanvSameD_Ped_ChDs