43 Long_t i_this = (Long_t)
this;
49 if (iCnaParCout == 0) {
59 if (iCnaParPaths == 0) {
82 Long_t iEcalNumbering = pObjectManager->
GetPointerValue(
"TEcnaNumbering");
83 if (iEcalNumbering == 0) {
103 if (pCnaParPaths ==
nullptr) {
116 if (pCnaParCout ==
nullptr) {
125 if (pEcal ==
nullptr) {
133 if (pEcalNumbering ==
nullptr) {
284 if (pEcal ==
nullptr) {
296 if (pEcalNumbering ==
nullptr) {
410 const Int_t& MaxArray,
411 const Int_t& NbOfReqEvts,
412 const Int_t& StexNumber) {
418 Int_t rNumberOfEvents = 0;
419 Int_t PresentNumber = 0;
420 Int_t EmptyChannel = 0;
421 Int_t DifferentMinusValue = 0;
422 Int_t DifferentPlusValue = 0;
425 for (Int_t i_SSoSE = 0; i_SSoSE < MaxArray; i_SSoSE++) {
426 Int_t NbOfEvts = ArrayNbOfEvts[i_SSoSE];
429 if (PresentNumber == 0)
431 PresentNumber = NbOfEvts;
434 if (NbOfEvts > PresentNumber)
436 PresentNumber = NbOfEvts;
437 DifferentPlusValue++;
439 if (NbOfEvts < PresentNumber)
441 DifferentMinusValue++;
449 rNumberOfEvents = PresentNumber;
451 if (EmptyChannel > 0) {
454 std::cout <<
"!TEcnaWrite::NumberOfEventsAnalysis()> *** WARNING *** " << EmptyChannel
455 <<
" empty channels detected in SM " << StexNumber <<
" (EB " 461 if (EmptyChannel > 0) {
462 std::cout <<
"!TEcnaWrite::NumberOfEventsAnalysis()> *** WARNING *** " << EmptyChannel
463 <<
" empty channels detected in Dee " << StexNumber << std::endl;
468 if (DifferentMinusValue > 0 || DifferentPlusValue > 0) {
469 std::cout <<
"!TEcnaWrite::NumberOfEventsAnalysis()> " << std::endl;
473 std::cout <<
"************** W A R N I N G : NUMBER OF EVENTS NOT CONSTANT FOR SM " << StexNumber <<
" (EB " 479 std::cout <<
"****************** W A R N I N G : NUMBER OF EVENTS NOT CONSTANT FOR Dee " << StexNumber
480 <<
" **************************";
486 <<
" The number of events is not the same for all the non-empty channels." << std::endl
487 <<
" The maximum number (" << rNumberOfEvents <<
") is considered as the number of events for calculations " 489 <<
" of pedestals, noises and correlations." << std::endl
490 <<
" Number of channels with 0 < nb of evts < " << rNumberOfEvents <<
" : " << DifferentMinusValue
493 <<
" Number of empty channels : " << EmptyChannel << std::endl
494 <<
" Some values of pedestals, noises and correlations may be wrong for channels" << std::endl
495 <<
" with number of events different from " << rNumberOfEvents <<
"." << std::endl
496 <<
" Please, check the histogram 'Numbers of events'." << std::endl
497 <<
"*******************************************************************************************************" 501 if (rNumberOfEvents < NbOfReqEvts) {
502 std::cout <<
"*TEcnaWrite::NumberOfEventsAnalysis()> *** INFO *** Number of events found in data = " 503 << rNumberOfEvents <<
": less than number of requested events ( = " << NbOfReqEvts <<
")" 508 return rNumberOfEvents;
513 const Int_t& MaxCrysEcnaInStex,
514 const Int_t& MaxNbOfSamples,
515 const Int_t& NbOfReqEvts) {
521 Int_t rNumberOfEvents = 0;
522 Int_t PresentNumber = 0;
523 Int_t DifferentMinusValue = 0;
524 Int_t DifferentPlusValue = 0;
526 for (Int_t i0StexEcha = 0; i0StexEcha < MaxCrysEcnaInStex; i0StexEcha++) {
527 for (Int_t i_samp = 0; i_samp < MaxNbOfSamples; i_samp++) {
528 Int_t NbOfEvts = T2d_NbOfEvts[i0StexEcha][i_samp];
531 if (PresentNumber == 0) {
532 PresentNumber = NbOfEvts;
534 if (NbOfEvts > PresentNumber) {
535 PresentNumber = NbOfEvts;
536 DifferentPlusValue++;
538 if (NbOfEvts < PresentNumber) {
539 DifferentMinusValue++;
546 rNumberOfEvents = PresentNumber;
548 if (DifferentMinusValue > 0 || DifferentPlusValue > 0) {
550 <<
"!TEcnaWrite::NumberOfEventsAnalysis()> " << std::endl
551 <<
"****************** W A R N I N G : NUMBER OF EVENTS NOT CONSTANT ! *********************************" 554 <<
" The number of events is not the same for all the non-empty channels" << std::endl
555 <<
" The maximum number (" << rNumberOfEvents <<
") is considered as the number of events " << std::endl
556 <<
" for calculations of pedestals, noises and correlations." << std::endl
557 <<
" Number of channels with 0 < nb of evts < " << rNumberOfEvents <<
" : " << DifferentMinusValue
561 <<
" Some values of pedestals, noises and correlations may be wrong for channels" << std::endl
562 <<
" with number of events different from " << rNumberOfEvents <<
"." << std::endl
563 <<
" Please, check the histogram 'Numbers of events'." << std::endl
564 <<
"*******************************************************************************************************" 568 if (rNumberOfEvents < NbOfReqEvts) {
569 std::cout <<
"*TEcnaWrite::NumberOfEventsAnalysis()> *** INFO *** Number of events found in data = " 570 << rNumberOfEvents <<
": less than number of requested events ( = " << NbOfReqEvts <<
")" 575 return rNumberOfEvents;
580 const Int_t& ArgNbOfSamples,
581 const Int_t& ArgRunNumber,
582 const Int_t& ArgFirstReqEvtNumber,
583 const Int_t& ArgLastReqEvtNumber,
584 const Int_t& ArgReqNbOfEvts,
585 const Int_t& ArgStexNumber) {
596 const Int_t& ArgNbOfSamples,
597 const Int_t& ArgRunNumber,
598 const Int_t& ArgFirstReqEvtNumber,
599 const Int_t& ArgLastReqEvtNumber,
600 const Int_t& ArgReqNbOfEvts,
601 const Int_t& ArgStexNumber,
602 const TString& ArgStartDate,
603 const TString& ArgStopDate,
604 const time_t ArgStartTime,
605 const time_t ArgStopTime) {
659 char* f_in_short =
new char[
fgMaxCar];
682 TString sPointInterrog =
"?";
683 TString sDollarHome =
"$HOME";
687 std::cout <<
"!TEcnaWrite::fMakeResultsFileName> * * * W A R N I N G * * * " << std::endl
689 <<
" Path for results .root file not defined. Default option will be used here:" << std::endl
690 <<
" your results files will be written in your HOME directory." << std::endl
692 <<
" In order to write the .root results file in a specific directory," << std::endl
693 <<
" you have to create a file named path_results_root in a subdirectory named ECNA" << std::endl
694 <<
" previously created in your home directory." << std::endl
695 <<
" This file must have only one line containing the path of the directory" << std::endl
696 <<
" where must be the .root result files." << std::endl
699 TString home_path = gSystem->Getenv(
"HOME");
707 TString home_path = gSystem->Getenv(
"HOME");
713 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d",
724 "%s_S1_%d_R%d_%d_%d_%d_%s%d",
740 std::cout <<
"!TEcnaWrite::fMakeResultsFileName> * * * W A R N I N G * * * " << std::endl
742 <<
" Path for results .ascii file not defined. Default option will be used here:" << std::endl
743 <<
" your results files will be written in your HOME directory." << std::endl
745 <<
" In order to write the .ascii results file in a specific directory," << std::endl
746 <<
" you have to create a file named path_results_ascii in a subdirectory named ECNA" << std::endl
747 <<
" previously created in your home directory." << std::endl
748 <<
" This file must have only one line containing the path of the directory" << std::endl
749 <<
" where must be the .ascii result files." << std::endl
752 TString home_path = gSystem->Getenv(
"HOME");
760 TString home_path = gSystem->Getenv(
"HOME");
767 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_header",
778 "%s_S1_%d_R%d_%d_%d_%d_%s%d_header",
792 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_NbOfEvents",
803 "%s_S1_%d_R%d_%d_%d_%d_%s%d_NbOfEvents",
816 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_Pedestals",
827 "%s_S1_%d_R%d_%d_%d_%d_%s%d_Pedestals",
840 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_TotalNoise",
851 "%s_S1_%d_R%d_%d_%d_%d_%s%d_TotalNoise",
864 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_LFNoise",
875 "%s_S1_%d_R%d_%d_%d_%d_%s%d_LFNoise",
888 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_HFNoise",
899 "%s_S1_%d_R%d_%d_%d_%d_%s%d_HFNoise",
912 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_MeanCorss",
923 "%s_S1_%d_R%d_%d_%d_%d_%s%d_MeanCorss",
936 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_SigmaCorss",
947 "%s_S1_%d_R%d_%d_%d_%d_%s%d_SigmaCorss",
960 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_Covss_%s%d_Channel_%d",
974 "%s_S1_%d_R%d_%d_%d_%d_%s%d_Covss_%s%d_Channel_%d",
990 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_Corss_%s%d_Channel_%d",
1004 "%s_S1_%d_R%d_%d_%d_%d_%s%d_Corss_%s%d_Channel_%d",
1023 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_SampleMeans",
1034 "%s_S1_%d_R%d_%d_%d_%d_%s%d_SampleMeans",
1047 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_SampleSigmas",
1058 "%s_S1_%d_R%d_%d_%d_%d_%s%d_SampleSigmas",
1071 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageTotalNoise_c%d",
1083 "%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageTotalNoise_c%d",
1097 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_LF_cov",
1108 "%s_S1_%d_R%d_%d_%d_%d_%s%d_LF_cov",
1121 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_LF_cor",
1132 "%s_S1_%d_R%d_%d_%d_%d_%s%d_LF_cor",
1145 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_AveragePedestals",
1156 "%s_S1_%d_R%d_%d_%d_%d_%s%d_AveragePedestals",
1169 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageMeanCorss%d",
1181 "%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageMeanCorss%d",
1195 "%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageSigmaCorss%d",
1207 "%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageSigmaCorss%d",
1238 if (f_in[
i] !=
'\0') {
1239 f_name[
i] = f_in[
i];
1252 f_name[
ii + 1] =
'a';
1253 f_name[
ii + 2] =
's';
1254 f_name[
ii + 3] =
'c';
1255 f_name[
ii + 4] =
'i';
1256 f_name[
ii + 5] =
'i';
1263 f_name[
ii + 1] =
'r';
1264 f_name[
ii + 2] =
'o';
1265 f_name[
ii + 3] =
'o';
1266 f_name[
ii + 4] =
't';
1271 std::cout <<
"*TEcnaWrite::fMakeResultsFileName(...)> Name too long (for f_name)." 1272 <<
" No room enough for the extension. (ii = " <<
ii <<
")" <<
fTTBELL << std::endl;
1277 char* f_name_short =
new char[
fgMaxCar];
1281 f_name_short[
i] =
'\0';
1286 if (f_in_short[
i] !=
'\0') {
1287 f_name_short[
i] = f_in_short[
i];
1299 f_name_short[
ii] =
'.';
1300 f_name_short[
ii + 1] =
'a';
1301 f_name_short[
ii + 2] =
's';
1302 f_name_short[
ii + 3] =
'c';
1303 f_name_short[
ii + 4] =
'i';
1304 f_name_short[
ii + 5] =
'i';
1311 f_name_short[
ii] =
'.';
1312 f_name_short[
ii + 1] =
'r';
1313 f_name_short[
ii + 2] =
'o';
1314 f_name_short[
ii + 3] =
'o';
1315 f_name_short[
ii + 4] =
't';
1320 std::cout <<
"*TEcnaWrite::fMakeResultsFileName(...)> Name too long (for f_name_short)." 1321 <<
" No room enough for the extension. (ii = " <<
ii <<
")" <<
fTTBELL << std::endl;
1326 delete[] f_name_short;
1327 f_name_short =
nullptr;
1333 delete[] f_in_short;
1334 f_in_short =
nullptr;
1358 const Text_t* t_file_nohome = (
const Text_t*)EndOfAsciiFileName.Data();
1360 TString home_path = gSystem->Getenv(
"HOME");
1491 if (HistoCode ==
"D_NOE_ChNb") {
1494 if (HistoCode ==
"D_Ped_ChNb") {
1497 if (HistoCode ==
"D_TNo_ChNb") {
1500 if (HistoCode ==
"D_LFN_ChNb") {
1503 if (HistoCode ==
"D_HFN_ChNb") {
1506 if (HistoCode ==
"D_MCs_ChNb") {
1509 if (HistoCode ==
"D_SCs_ChNb") {
1517 fFcout_f << std::setiosflags(std::ios::showpoint | std::ios::uppercase);
1518 fFcout_f << std::setprecision(3) << std::setw(6);
1521 fFcout_f.setf(std::ios::left, std::ios::adjustfield);
1522 fFcout_f.setf(std::ios::right, std::ios::adjustfield);
1524 std::cout << std::setiosflags(std::ios::showpoint | std::ios::uppercase);
1525 std::cout << std::setprecision(3) << std::setw(6);
1528 std::cout.setf(std::ios::left, std::ios::adjustfield);
1529 std::cout.setf(std::ios::right, std::ios::adjustfield);
1534 aStexName.Resize(MaxCar);
1535 aStexName =
"SM or Dee?";
1539 aStinName.Resize(MaxCar);
1540 aStinName =
"Tower or SC?";
1544 aHoco.Resize(MaxCar);
1545 aHoco =
"Eta or IX?";
1549 aVeco.Resize(MaxCar);
1550 aVeco =
"Phi or IY?";
1554 aSpecifa.Resize(MaxCar);
1559 aSpecifc.Resize(MaxCar);
1564 aSpecifd.Resize(MaxCar);
1569 aSpecife.Resize(MaxCar);
1574 aSpecif1.Resize(MaxCar);
1579 aSpecif2.Resize(MaxCar);
1584 aStinName =
"tower";
1585 aSpecifa =
" channel# ";
1588 aSpecifc =
" channel# ";
1589 aSpecifd =
" crystal# ";
1595 aSpecifa =
" Sector# ";
1598 aSpecifc =
" crystal# ";
1599 aSpecifd =
" SC # ";
1600 aSpecife =
"Sector";
1604 for (Int_t i0StexEcha = 0; i0StexEcha < HisSize; i0StexEcha++) {
1605 Int_t n1StexStin = 0;
1606 Int_t StexStinEcna = 0;
1607 Int_t i0StinEcha = 0;
1608 Int_t n1StinEcha = 0;
1609 Int_t n1StexCrys = 0;
1610 Int_t n1DataSector = 0;
1615 StexStinEcna = n1StexStin;
1627 if (n1StexStin > 0) {
1629 if (HistoCode ==
"D_NOE_ChNb") {
1630 aSpecif1 =
"Number of";
1631 aSpecif2 =
" events (requested)";
1633 if (HistoCode ==
"D_Ped_ChNb") {
1634 aSpecif1 =
"Pedestals";
1637 if (HistoCode ==
"D_TNo_ChNb") {
1638 aSpecif1 =
" Total ";
1639 aSpecif2 =
" noise ";
1641 if (HistoCode ==
"D_MCs_ChNb") {
1642 aSpecif1 =
" Mean ";
1643 aSpecif2 =
" cor(s,s) ";
1645 if (HistoCode ==
"D_LFN_ChNb") {
1646 aSpecif1 =
" Low Fq";
1647 aSpecif2 =
" noise ";
1649 if (HistoCode ==
"D_HFN_ChNb") {
1650 aSpecif1 =
" High Fq";
1651 aSpecif2 =
" noise ";
1653 if (HistoCode ==
"D_SCs_ChNb") {
1654 aSpecif1 =
" Sigma of";
1655 aSpecif2 =
" cor(s,s) ";
1660 fFcout_f << aSpecifa.Data() <<
" " << aStinName.Data() <<
"# " << aSpecifc.Data() << aSpecifd.Data()
1661 << aHoco.Data() << aVeco.Data() << aSpecif1.Data() << std::endl;
1663 fFcout_f <<
" in " << aStexName.Data() <<
" in " << aStexName.Data() <<
" in " << aStinName.Data() <<
" in " 1664 << aSpecife.Data() <<
" in " << aStexName.Data() <<
" in " << aStexName.Data() << aSpecif2.Data()
1669 Double_t
value = read_histo(i0StexEcha);
1672 fFcout_f << std::setw(7) << i0StexEcha << std::setw(8) << n1StexStin << std::setw(11)
1674 << std::setw(10) << n1StexCrys << std::setw(10)
1679 Int_t n1StinEcha_m = n1StinEcha - 1;
1680 fFcout_f << std::setw(7) << n1DataSector << std::setw(8) << n1StexStin << std::setw(11)
1682 << std::setw(10) << n1SCinDS << std::setw(10)
1687 if (HistoCode ==
"D_NOE_ChNb") {
1703 std::cout <<
"*TEcnaWrite::WriteAsciiHisto(...)> INFO: " 1704 <<
"histo has been written in file: " << std::endl
1722 const Int_t& user_StinEcha,
1723 const Int_t& MatSize,
1724 const TMatrixD& read_matrix) {
1758 const Int_t& user_StinEcha,
1759 const Int_t& MatSize,
1760 const TMatrixD& read_matrix) {
1797 const Int_t& i_pasx_arg,
1798 const Int_t& i_pasy_arg,
1799 const Int_t& MatSize,
1800 const TMatrixD& read_matrix) {
1803 Int_t i_pasx = i_pasx_arg;
1804 Int_t i_pasy = i_pasy_arg;
1808 fFcout_f << std::setiosflags(std::ios::showpoint | std::ios::uppercase);
1811 fFcout_f.setf(std::ios::left, std::ios::adjustfield);
1812 fFcout_f.setf(std::ios::right, std::ios::adjustfield);
1813 fFcout_f << std::setprecision(3) << std::setw(6);
1815 std::cout << std::setiosflags(std::ios::showpoint | std::ios::uppercase);
1818 std::cout.setf(std::ios::left, std::ios::adjustfield);
1819 std::cout.setf(std::ios::right, std::ios::adjustfield);
1820 std::cout << std::setprecision(3) << std::setw(6);
1837 Int_t justap_chan = 0;
1854 for (Int_t
i = 0;
i < justap_chan;
i++) {
1888 Int_t justap_samp = 0;
1905 for (Int_t
i = 0;
i < justap_samp;
i++) {
1944 fFcout_f <<
"Covariance matrix between channels " 1946 isx_max = justap_chan;
1947 isy_max = justap_chan;
1950 fFcout_f <<
"*Correlation matrix between channels " 1952 isx_max = justap_chan;
1953 isy_max = justap_chan;
1957 fFcout_f <<
"Covariance matrix between channels " 1958 <<
"averaged on the samples ";
1959 isx_max = justap_chan;
1960 isy_max = justap_chan;
1963 fFcout_f <<
"Correlation matrix between channels " 1964 <<
"averaged on the samples ";
1965 isx_max = justap_chan;
1966 isy_max = justap_chan;
1970 Int_t n1StexStin = 0;
1971 Int_t i0StinEcha = 0;
1972 Int_t n1StinEcha = 0;
1988 fFcout_f <<
"Covariance matrix between samples " 1990 <<
fStinName <<
": " << i0StinEcha <<
")";
1993 fFcout_f <<
"Covariance matrix between samples " 1995 <<
fStinName <<
": " << n1StinEcha <<
")";
1997 isx_max = justap_samp;
1998 isy_max = justap_samp;
2002 fFcout_f <<
"Correlation matrix between samples " 2004 <<
fStinName <<
": " << i0StinEcha <<
")";
2007 fFcout_f <<
"Correlation matrix between samples " 2009 <<
fStinName <<
": " << n1StinEcha <<
")";
2011 isx_max = justap_samp;
2012 isy_max = justap_samp;
2017 fFcout_f <<
"Correction factors to the covariances " 2019 <<
" , channel in " <<
fStinName <<
": " << i0StinEcha <<
")";
2022 fFcout_f <<
"Correction factors to the covariances " 2024 <<
" , channel in " <<
fStinName <<
": " << n1StinEcha <<
")";
2026 isx_max = justap_samp;
2027 isy_max = justap_samp;
2032 fFcout_f <<
"Correction factors to the correlations " 2034 <<
" , channel in " <<
fStinName <<
": " << i0StinEcha <<
")";
2037 fFcout_f <<
"Correction factors to the correlations " 2039 <<
" , channel in " <<
fStinName <<
": " << n1StinEcha <<
")";
2041 isx_max = justap_samp;
2042 isy_max = justap_samp;
2052 if (i_pasx > isx_max) {
2058 n_sctx = isx_max / i_pasx;
2060 max_verix = n_sctx * i_pasx;
2061 if (max_verix < isx_max) {
2070 if (i_pasy > isy_max) {
2076 n_scty = isy_max / i_pasy;
2078 max_veriy = n_scty * i_pasy;
2079 if (max_veriy < isy_max) {
2087 fFcout_f <<
"sector size = " <<
fSectSampSizeX <<
" , number of sectors = " << n_sctx <<
" x " << n_scty << endl;
2099 Int_t ix_inf = -i_pasx;
2101 for (Int_t nsx = 0; nsx < n_sctx; nsx++) {
2103 ix_inf = ix_inf + i_pasx;
2104 Int_t ix_sup = ix_inf + i_pasx;
2106 Int_t iy_inf = -i_pasy;
2108 for (Int_t nsy = 0; nsy < n_scty; nsy++) {
2109 iy_inf = iy_inf + i_pasy;
2110 Int_t iy_sup = iy_inf + i_pasy;
2121 for (Int_t iy_c = iy_inf; iy_c < iy_sup; iy_c++) {
2131 fFcout_f << std::endl << std::endl;
2133 for (Int_t ix_c = ix_inf; ix_c < ix_sup; ix_c++) {
2143 for (Int_t iy_c = iy_inf; iy_c < iy_sup; iy_c++) {
2173 std::cout <<
"*TEcnaWrite::fT2dWriteAscii(....)> INFO: " 2174 <<
"matrix has been written in file: " << std::endl
2193 void TEcnaWrite::WriteAsciiSampleMeans() {
2203 fT1dWriteAscii(i_code, i_lic1, i_lic2);
2212 void TEcnaWrite::WriteAsciiSampleSigmas() {
2215 Int_t i_code = fCodeVar;
2222 fT1dWriteAscii(i_code, i_lic1, i_lic2);
void fAsciiFileWriteHeader(const Int_t &)
Double_t ** fjustap_2d_cc
Int_t NumberOfEventsAnalysis(Int_t **, const Int_t &, const Int_t &, const Int_t &)
void WriteAsciiCovariancesBetweenSamples(const Int_t &, const Int_t &, const Int_t &, const TMatrixD &)
Int_t MaxCrysVecoInStin()
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)
TString GetDeeDirViewedFromIP(const Int_t &)
Int_t fCodePrintNoComment
Int_t Get1DeeSCEcnaFrom0DeeEcha(const Int_t &)
Int_t Get1SCEchaFrom0DeeEcha(const Int_t &)
Double_t ** fjustap_2d_ev
TString BeginningOfResultsRootFilePath()
Double_t ** fjustap_2d_var
Double_t ** fjustap_2d_ss
TEcnaParPaths * fCnaParPaths
void AppendResultsAsciiFilePath(const Text_t *)
TString fAsciiFileNameShort
Bool_t RegisterPointer(const TString &, const Long_t &)
const TString & ResultsAsciiFilePath() const
TString fRootFileNameShort
const TString & GetAnalysisName() const
const TString & GetRootFileNameShort() const
Int_t Get0TowEchaFrom0SMEcha(const Int_t &)
Int_t GetFirstReqEvtNumber()
Int_t GetJYCrysInDee(const Int_t &, const Int_t &, const Int_t &)
void SetResultsRootFilePath(const TString &)
Int_t fCodePrintAllComments
TString BeginningOfResultsAsciiFilePath()
Int_t Get1SMTowFrom0SMEcha(const Int_t &)
Int_t GetDSSCFrom1DeeSCEcna(const Int_t &, const Int_t &, const Int_t &)
void fT2dWriteAscii(const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TMatrixD &)
Bool_t GetPathForResultsRootFiles()
Int_t GetDSFrom1DeeSCEcna(const Int_t &, const Int_t &)
Int_t GetDeeSCConsFrom1DeeSCEcna(const Int_t &, const Int_t &)
void WriteAsciiHisto(const TString &, const Int_t &, const TVectorD &)
Double_t GetEta(const Int_t &, const Int_t &, const Int_t &)
Int_t Get1SMCrysFrom1SMTowAnd0TowEcha(const Int_t &, const Int_t &)
void SetEcalSubDetector(const TString &)
const TString & GetRootFileName() const
Double_t GetPhiInSM(const Int_t &, const Int_t &, const Int_t &)
void TruncateResultsRootFilePath(const Int_t &, const Int_t &)
Double_t * fjustap_1d_var
Int_t GetCodePrint(const TString &)
Int_t MaxCrysEcnaInStex()
Int_t MaxCrysHocoInStin()
Int_t GetIXCrysInDee(const Int_t &, const Int_t &, const Int_t &)
TEcnaParCout * fCnaParCout
void WriteAsciiCorrelationsBetweenSamples(const Int_t &, const Int_t &, const Int_t &, const TMatrixD &)
Int_t PlusMinusSMNumber(const Int_t &)
TString GetEcalSubDetector()
void fMakeResultsFileName()
void TruncateResultsAsciiFilePath(const Int_t &, const Int_t &)
void AppendResultsRootFilePath(const Text_t *)
const TString & GetAsciiFileName() const
Bool_t GetPathForResultsAsciiFiles()
Long_t GetPointerValue(const TString &)
TEcnaNumbering * fEcalNumbering
Int_t EmptyChannelsInDeeMatrixIncompleteSCIncluded()
const TString & ResultsRootFilePath() const
void SetResultsAsciiFilePath(const TString &)