47 Long_t i_this = (Long_t)
this;
53 if( iCnaParCout == 0 )
61 if( iCnaParPaths == 0 )
82 Long_t iEcalNumbering = pObjectManager->
GetPointerValue(
"TEcnaNumbering");
83 if( iEcalNumbering == 0 )
104 if( pCnaParPaths == 0 )
114 if( pCnaParCout == 0 )
126 if( pEcalNumbering == 0 )
295 if( pEcalNumbering == 0 )
408 const Int_t& NbOfReqEvts,
const Int_t& StexNumber)
415 Int_t rNumberOfEvents = 0;
416 Int_t PresentNumber = 0;
417 Int_t EmptyChannel = 0;
418 Int_t DifferentMinusValue = 0;
419 Int_t DifferentPlusValue = 0;
422 for(Int_t i_SSoSE=0; i_SSoSE<MaxArray; i_SSoSE++)
424 Int_t NbOfEvts = ArrayNbOfEvts[i_SSoSE];
428 if( PresentNumber == 0 )
430 PresentNumber = NbOfEvts;
434 if( NbOfEvts > PresentNumber )
436 PresentNumber = NbOfEvts;
437 DifferentPlusValue++;
439 if( NbOfEvts < PresentNumber )
441 DifferentMinusValue++;
451 rNumberOfEvents = PresentNumber;
453 if( EmptyChannel > 0 )
457 cout <<
"!TEcnaWrite::NumberOfEventsAnalysis()> *** WARNING *** "
458 << EmptyChannel <<
" empty channels detected in SM " << StexNumber
464 if( EmptyChannel > 0 )
466 cout <<
"!TEcnaWrite::NumberOfEventsAnalysis()> *** WARNING *** "
467 << EmptyChannel <<
" empty channels detected in Dee " << StexNumber << endl;
472 if( DifferentMinusValue > 0 || DifferentPlusValue > 0 )
474 cout <<
"!TEcnaWrite::NumberOfEventsAnalysis()> " << endl;
478 cout <<
"************** W A R N I N G : NUMBER OF EVENTS NOT CONSTANT FOR SM " << StexNumber
484 cout <<
"****************** W A R N I N G : NUMBER OF EVENTS NOT CONSTANT FOR Dee " << StexNumber
485 <<
" **************************";
490 <<
" The number of events is not the same for all the non-empty channels." << endl
491 <<
" The maximum number (" << rNumberOfEvents <<
") is considered as the number of events for calculations "
493 <<
" of pedestals, noises and correlations." << endl
494 <<
" Number of channels with 0 < nb of evts < " << rNumberOfEvents <<
" : " << DifferentMinusValue
497 <<
" Number of empty channels : " << EmptyChannel << endl
498 <<
" Some values of pedestals, noises and correlations may be wrong for channels" << endl
499 <<
" with number of events different from " << rNumberOfEvents <<
"." << endl
500 <<
" Please, check the histogram 'Numbers of events'." << endl
501 <<
"*******************************************************************************************************"
508 if( rNumberOfEvents < NbOfReqEvts )
510 cout <<
"*TEcnaWrite::NumberOfEventsAnalysis()> *** INFO *** Number of events found in data = "
511 << rNumberOfEvents <<
": less than number of requested events ( = " << NbOfReqEvts <<
")" << endl;
515 return rNumberOfEvents;
520 const Int_t& MaxNbOfSamples,
const Int_t& NbOfReqEvts)
527 Int_t rNumberOfEvents = 0;
528 Int_t PresentNumber = 0;
529 Int_t DifferentMinusValue = 0;
530 Int_t DifferentPlusValue = 0;
532 for(Int_t i0StexEcha = 0 ; i0StexEcha < MaxCrysEcnaInStex ; i0StexEcha++)
534 for(Int_t i_samp = 0 ; i_samp < MaxNbOfSamples ; i_samp++)
536 Int_t NbOfEvts = T2d_NbOfEvts[i0StexEcha][i_samp];
540 if( PresentNumber == 0 )
542 PresentNumber = NbOfEvts;
546 if( NbOfEvts > PresentNumber )
548 PresentNumber = NbOfEvts;
549 DifferentPlusValue++;
551 if( NbOfEvts < PresentNumber )
553 DifferentMinusValue++;
560 rNumberOfEvents = PresentNumber;
562 if( DifferentMinusValue > 0 || DifferentPlusValue > 0 )
564 cout <<
"!TEcnaWrite::NumberOfEventsAnalysis()> " << endl
565 <<
"****************** W A R N I N G : NUMBER OF EVENTS NOT CONSTANT ! *********************************"
568 <<
" The number of events is not the same for all the non-empty channels" << endl
569 <<
" The maximum number (" << rNumberOfEvents <<
") is considered as the number of events " << endl
570 <<
" for calculations of pedestals, noises and correlations." << endl
571 <<
" Number of channels with 0 < nb of evts < " << rNumberOfEvents <<
" : " << DifferentMinusValue << endl
574 <<
" Some values of pedestals, noises and correlations may be wrong for channels" << endl
575 <<
" with number of events different from " << rNumberOfEvents <<
"." << endl
576 <<
" Please, check the histogram 'Numbers of events'." << endl
577 <<
"*******************************************************************************************************"
584 if( rNumberOfEvents < NbOfReqEvts )
586 cout <<
"*TEcnaWrite::NumberOfEventsAnalysis()> *** INFO *** Number of events found in data = "
587 << rNumberOfEvents <<
": less than number of requested events ( = " << NbOfReqEvts <<
")" << endl;
591 return rNumberOfEvents;
596 const Int_t& ArgNbOfSamples,
const Int_t& ArgRunNumber,
597 const Int_t& ArgFirstReqEvtNumber,
const Int_t& ArgLastReqEvtNumber,
598 const Int_t& ArgReqNbOfEvts,
const Int_t& ArgStexNumber)
610 const Int_t& ArgNbOfSamples,
const Int_t& ArgRunNumber,
611 const Int_t& ArgFirstReqEvtNumber,
const Int_t& ArgLastReqEvtNumber,
612 const Int_t& ArgReqNbOfEvts,
const Int_t& ArgStexNumber,
613 const TString ArgStartDate,
const TString ArgStopDate,
614 const time_t ArgStartTime,
const time_t ArgStopTime)
685 TString sPointInterrog =
"?";
686 TString sDollarHome =
"$HOME";
692 cout <<
"!TEcnaWrite::fMakeResultsFileName> * * * W A R N I N G * * * " << endl << endl
693 <<
" Path for results .root file not defined. Default option will be used here:" << endl
694 <<
" your results files will be written in your HOME directory." << endl << endl
695 <<
" In order to write the .root results file in a specific directory," << endl
696 <<
" you have to create a file named path_results_root in a subdirectory named ECNA" << endl
697 <<
" previously created in your home directory." << endl
698 <<
" This file must have only one line containing the path of the directory" << endl
699 <<
" where must be the .root result files." << endl
702 TString home_path = gSystem->Getenv(
"HOME");
711 TString home_path = gSystem->Getenv(
"HOME");
716 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d",
719 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d",
732 cout <<
"!TEcnaWrite::fMakeResultsFileName> * * * W A R N I N G * * * " << endl << endl
733 <<
" Path for results .ascii file not defined. Default option will be used here:" << endl
734 <<
" your results files will be written in your HOME directory." << endl << endl
735 <<
" In order to write the .ascii results file in a specific directory," << endl
736 <<
" you have to create a file named path_results_ascii in a subdirectory named ECNA" << endl
737 <<
" previously created in your home directory." << endl
738 <<
" This file must have only one line containing the path of the directory" << endl
739 <<
" where must be the .ascii result files." << endl
742 TString home_path = gSystem->Getenv(
"HOME");
751 TString home_path = gSystem->Getenv(
"HOME");
757 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_header",
760 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_header",
768 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_NbOfEvents",
771 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_NbOfEvents",
778 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_Pedestals",
781 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_Pedestals",
788 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_TotalNoise",
791 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_TotalNoise",
798 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_LFNoise",
801 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_LFNoise",
808 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_HFNoise",
811 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_HFNoise",
818 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_MeanCorss",
821 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_MeanCorss",
828 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_SigmaCorss",
831 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_SigmaCorss",
838 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_Covss_%s%d_Channel_%d",
842 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_Covss_%s%d_Channel_%d",
850 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_Corss_%s%d_Channel_%d",
854 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_Corss_%s%d_Channel_%d",
865 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_SampleMeans",
868 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_SampleMeans",
875 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_SampleSigmas",
878 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_SampleSigmas",
885 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageTotalNoise_c%d",
888 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageTotalNoise_c%d",
895 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_LF_cov",
898 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_LF_cov",
905 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_LF_cor",
908 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_LF_cor",
915 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_AveragePedestals",
918 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_AveragePedestals",
925 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageMeanCorss%d",
928 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageMeanCorss%d",
935 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageSigmaCorss%d",
938 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageSigmaCorss%d",
955 for (Int_t
i = 0 ;
i <
fgMaxCar ;
i++){f_name[
i] =
'\0';}
960 if ( f_in[
i] !=
'\0' ){f_name[
i] = f_in[
i]; ii++;}
964 if ( ii+5 < fgMaxCar )
971 f_name[ii] =
'.'; f_name[ii+1] =
'a';
972 f_name[ii+2] =
's'; f_name[ii+3] =
'c';
973 f_name[ii+4] =
'i'; f_name[ii+5] =
'i';
980 f_name[ii] =
'.'; f_name[ii+1] =
'r';
981 f_name[ii+2] =
'o'; f_name[ii+3] =
'o'; f_name[ii+4] =
't';
988 cout <<
"*TEcnaWrite::fMakeResultsFileName(...)> Name too long (for f_name)."
989 <<
" No room enough for the extension. (ii = " << ii <<
")"
998 for (Int_t
i = 0 ;
i <
fgMaxCar ;
i++){f_name_short[
i] =
'\0';}
1003 if ( f_in_short[
i] !=
'\0' ){f_name_short[
i] = f_in_short[
i]; ii++;}
1007 if ( ii+5 < fgMaxCar )
1014 f_name_short[ii] =
'.'; f_name_short[ii+1] =
'a';
1015 f_name_short[ii+2] =
's'; f_name_short[ii+3] =
'c';
1016 f_name_short[ii+4] =
'i'; f_name_short[ii+5] =
'i';
1024 f_name_short[ii] =
'.'; f_name_short[ii+1] =
'r';
1025 f_name_short[ii+2] =
'o'; f_name_short[ii+3] =
'o'; f_name_short[ii+4] =
't';
1032 cout <<
"*TEcnaWrite::fMakeResultsFileName(...)> Name too long (for f_name_short)."
1033 <<
" No room enough for the extension. (ii = " << ii <<
")"
1036 delete [] f_name; f_name = 0;
fCdelete++;
1037 delete [] f_name_short; f_name_short = 0;
fCdelete++;
1039 delete [] f_in; f_in = 0;
fCdelete++;
1040 delete [] f_in_short; f_in_short = 0;
fCdelete++;
1065 const Text_t *t_file_nohome = (
const Text_t *)EndOfAsciiFileName.Data();
1067 TString home_path = gSystem->Getenv(
"HOME");
1076 <<
" *** " << endl << endl;
1188 const TVectorD& read_histo)
1198 if( HistoCode ==
"D_Ped_ChNb" ){i_code =
fCodePed;}
1199 if( HistoCode ==
"D_TNo_ChNb" ){i_code =
fCodeTno;}
1200 if( HistoCode ==
"D_LFN_ChNb" ){i_code =
fCodeLfn;}
1201 if( HistoCode ==
"D_HFN_ChNb" ){i_code =
fCodeHfn;}
1209 fFcout_f << setiosflags(ios::showpoint | ios::uppercase);
1210 fFcout_f << setprecision(3) << setw(6);
1211 fFcout_f.setf(ios::dec, ios::basefield);
1212 fFcout_f.setf(ios::fixed, ios::floatfield);
1213 fFcout_f.setf(ios::left, ios::adjustfield);
1214 fFcout_f.setf(ios::right, ios::adjustfield);
1216 cout << setiosflags(ios::showpoint | ios::uppercase);
1217 cout << setprecision(3) << setw(6);
1218 cout.setf(ios::dec, ios::basefield);
1219 cout.setf(ios::fixed, ios::floatfield);
1220 cout.setf(ios::left, ios::adjustfield);
1221 cout.setf(ios::right, ios::adjustfield);
1226 aStexName.Resize(MaxCar);
1227 aStexName =
"SM or Dee?";
1231 aStinName.Resize(MaxCar);
1232 aStinName =
"Tower or SC?";
1236 aHoco.Resize(MaxCar);
1237 aHoco =
"Eta or IX?";
1241 aVeco.Resize(MaxCar);
1242 aVeco =
"Phi or IY?";
1246 aSpecifa.Resize(MaxCar);
1251 aSpecifc.Resize(MaxCar);
1256 aSpecifd.Resize(MaxCar);
1261 aSpecife.Resize(MaxCar);
1266 aSpecif1.Resize(MaxCar);
1271 aSpecif2.Resize(MaxCar);
1276 aStexName =
"SM " ; aStinName =
"tower" ; aSpecifa =
" channel# ";
1277 aHoco =
" Eta "; aVeco =
" Phi "; aSpecifc =
" channel# ";
1278 aSpecifd =
" crystal# "; aSpecife =
"SM ";
1282 aStexName =
"Dee " ; aStinName =
" SC " ; aSpecifa =
" Sector# ";
1283 aHoco =
" IX "; aVeco =
" IY "; aSpecifc =
" crystal# ";
1284 aSpecifd =
" SC # "; aSpecife =
"Sector";
1288 for (Int_t i0StexEcha=0; i0StexEcha<HisSize; i0StexEcha++)
1290 Int_t n1StexStin = 0;
1291 Int_t StexStinEcna = 0;
1292 Int_t i0StinEcha = 0;
1293 Int_t n1StinEcha = 0;
1294 Int_t n1StexCrys = 0;
1295 Int_t n1DataSector = 0;
1301 StexStinEcna = n1StexStin;
1314 if( n1StexStin > 0 )
1318 if( HistoCode ==
"D_NOE_ChNb" ){aSpecif1 =
"Number of"; aSpecif2 =
" events (requested)";}
1319 if( HistoCode ==
"D_Ped_ChNb" ){aSpecif1 =
"Pedestals"; aSpecif2 =
" ";}
1320 if( HistoCode ==
"D_TNo_ChNb" ){aSpecif1 =
" Total "; aSpecif2 =
" noise ";}
1321 if( HistoCode ==
"D_MCs_ChNb" ){aSpecif1 =
" Mean "; aSpecif2 =
" cor(s,s) ";}
1322 if( HistoCode ==
"D_LFN_ChNb" ){aSpecif1 =
" Low Fq"; aSpecif2 =
" noise ";}
1323 if( HistoCode ==
"D_HFN_ChNb" ){aSpecif1 =
" High Fq"; aSpecif2 =
" noise ";}
1324 if( HistoCode ==
"D_SCs_ChNb" ){aSpecif1 =
" Sigma of"; aSpecif2 =
" cor(s,s) ";}
1329 <<
" " << aStinName.Data() <<
"# "
1334 << aSpecif1.Data() << endl;
1336 fFcout_f <<
" in " << aStexName.Data()
1337 <<
" in " << aStexName.Data()
1338 <<
" in " << aStinName.Data()
1339 <<
" in " << aSpecife.Data()
1340 <<
" in " << aStexName.Data()
1341 <<
" in " << aStexName.Data()
1342 << aSpecif2.Data() << endl << endl;
1345 Double_t
value = read_histo(i0StexEcha);
1350 << setw(8) << n1StexStin
1351 << setw(11) << i0StinEcha
1352 << setw(10) << n1StexCrys
1358 Int_t n1StinEcha_m = n1StinEcha-1;
1359 fFcout_f << setw(7) << n1DataSector
1360 << setw(8) << n1StexStin
1361 << setw(11) << n1StinEcha
1362 << setw(10) << n1SCinDS
1367 if( HistoCode ==
"D_NOE_ChNb")
1369 Int_t ivalue = (Int_t)value;
1386 cout <<
"*TEcnaWrite::WriteAsciiHisto(...)> INFO: "
1387 <<
"histo has been written in file: " << endl
1405 const Int_t& user_StinEcha,
1406 const Int_t& MatSize,
1407 const TMatrixD& read_matrix)
1435 const Int_t& user_StinEcha,
1436 const Int_t& MatSize,
1437 const TMatrixD& read_matrix)
1469 const Int_t& i_pasx_arg,
1470 const Int_t& i_pasy_arg,
1471 const Int_t& MatSize,
1472 const TMatrixD& read_matrix)
1476 Int_t i_pasx = i_pasx_arg;
1477 Int_t i_pasy = i_pasy_arg;
1481 fFcout_f << setiosflags(ios::showpoint | ios::uppercase);
1482 fFcout_f.setf(ios::dec, ios::basefield);
1483 fFcout_f.setf(ios::fixed, ios::floatfield);
1484 fFcout_f.setf(ios::left, ios::adjustfield);
1485 fFcout_f.setf(ios::right, ios::adjustfield);
1486 fFcout_f << setprecision(3) << setw(6);
1488 cout << setiosflags(ios::showpoint | ios::uppercase);
1489 cout.setf(ios::dec, ios::basefield);
1490 cout.setf(ios::fixed, ios::floatfield);
1491 cout.setf(ios::left, ios::adjustfield);
1492 cout.setf(ios::right, ios::adjustfield);
1493 cout << setprecision(3) << setw(6);
1510 Int_t justap_chan = 0;
1526 for(Int_t
i = 0 ;
i < justap_chan ;
i++){
1553 Int_t justap_samp = 0;
1569 for(Int_t
i = 0 ;
i < justap_samp ;
i++){
1602 fFcout_f <<
"Covariance matrix between channels "
1604 isx_max = justap_chan;
1605 isy_max = justap_chan;
1609 fFcout_f <<
"*Correlation matrix between channels "
1611 isx_max = justap_chan;
1612 isy_max = justap_chan;
1617 fFcout_f <<
"Covariance matrix between channels "
1618 <<
"averaged on the samples ";
1619 isx_max = justap_chan;
1620 isy_max = justap_chan;
1624 fFcout_f <<
"Correlation matrix between channels "
1625 <<
"averaged on the samples ";
1626 isx_max = justap_chan;
1627 isy_max = justap_chan;
1631 Int_t n1StexStin = 0;
1632 Int_t i0StinEcha = 0;
1633 Int_t n1StinEcha = 0;
1653 fFcout_f <<
"Covariance matrix between samples "
1655 <<
" (" <<
fStinName <<
": " << n1StexStin
1656 <<
" , channel in " <<
fStinName <<
": " << i0StinEcha <<
")";
1660 fFcout_f <<
"Covariance matrix between samples "
1662 <<
" (" <<
fStinName <<
": " << n1StexStin
1663 <<
" , channel in " <<
fStinName <<
": " << n1StinEcha <<
")";
1665 isx_max = justap_samp;
1666 isy_max = justap_samp;
1672 fFcout_f <<
"Correlation matrix between samples "
1674 <<
" (" <<
fStinName <<
": " << n1StexStin
1675 <<
" , channel in " <<
fStinName <<
": " << i0StinEcha <<
")";
1679 fFcout_f <<
"Correlation matrix between samples "
1681 <<
" (" <<
fStinName <<
": " << n1StexStin
1682 <<
" , channel in " <<
fStinName <<
": " << n1StinEcha <<
")";
1684 isx_max = justap_samp;
1685 isy_max = justap_samp;
1692 fFcout_f <<
"Correction factors to the covariances "
1694 <<
" (" <<
fStinName <<
": " << n1StexStin
1695 <<
" , channel in " <<
fStinName <<
": " << i0StinEcha <<
")";
1699 fFcout_f <<
"Correction factors to the covariances "
1701 <<
" (" <<
fStinName <<
": " << n1StexStin
1702 <<
" , channel in " <<
fStinName <<
": " << n1StinEcha <<
")";
1704 isx_max = justap_samp;
1705 isy_max = justap_samp;
1712 fFcout_f <<
"Correction factors to the correlations "
1714 <<
" ( " <<
fStinName <<
": " << n1StexStin
1715 <<
" , channel in " <<
fStinName <<
": " << i0StinEcha <<
")";
1719 fFcout_f <<
"Correction factors to the correlations "
1721 <<
" ( " <<
fStinName <<
": " << n1StexStin
1722 <<
" , channel in " <<
fStinName <<
": " << n1StinEcha <<
")";
1724 isx_max = justap_samp;
1725 isy_max = justap_samp;
1735 if(i_pasx > isx_max){i_pasx = isx_max;}
1738 n_sctx = isx_max/i_pasx;
1739 max_verix = n_sctx*i_pasx;
1740 if(max_verix < isx_max){ n_sctx++;}
1747 if(i_pasy > isy_max){i_pasy = isy_max;}
1750 n_scty = isy_max/i_pasy;
1751 max_veriy = n_scty*i_pasy;
1752 if(max_veriy < isy_max){ n_scty++;}
1761 <<
" , number of sectors = " << n_sctx <<
" x " << n_scty
1768 <<
" , number of sectors = " << n_sctx <<
" x " << n_scty
1777 Int_t ix_inf = -i_pasx;
1779 for(Int_t nsx = 0 ; nsx < n_sctx ; nsx++)
1782 ix_inf = ix_inf + i_pasx;
1783 Int_t ix_sup = ix_inf + i_pasx;
1785 Int_t iy_inf = -i_pasy;
1787 for(Int_t nsy = 0 ; nsy < n_scty ; nsy++)
1789 iy_inf = iy_inf + i_pasy;
1790 Int_t iy_sup = iy_inf + i_pasy;
1800 for (Int_t iy_c = iy_inf ; iy_c < iy_sup ; iy_c++)
1812 for (Int_t ix_c = ix_inf ; ix_c < ix_sup ; ix_c++)
1822 for (Int_t iy_c = iy_inf ; iy_c < iy_sup ; iy_c++)
1857 cout <<
"*TEcnaWrite::fT2dWriteAscii(....)> INFO: "
1858 <<
"matrix has been written in file: " << endl
1878 void TEcnaWrite::WriteAsciiSampleMeans()
1889 fT1dWriteAscii(i_code, i_lic1, i_lic2);
1898 void TEcnaWrite::WriteAsciiSampleSigmas()
1902 Int_t i_code = fCodeVar;
1909 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 SetEcalSubDetector(const TString)
void WriteAsciiCovariancesBetweenSamples(const Int_t &, const Int_t &, const Int_t &, const TMatrixD &)
Int_t MaxCrysVecoInStin()
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
TString fRootFileNameShort
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)
Long_t GetPointerValue(const TString)
Int_t GetCodePrint(const TString)
TString GetAsciiFileName()
void SetResultsRootFilePath(const TString)
Int_t Get0TowEchaFrom0SMEcha(const Int_t &)
Int_t GetFirstReqEvtNumber()
Int_t GetJYCrysInDee(const Int_t &, const Int_t &, const Int_t &)
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 &)
void SetResultsAsciiFilePath(const TString)
Bool_t RegisterPointer(const TString, const Long_t &)
Int_t GetDeeSCConsFrom1DeeSCEcna(const Int_t &, const Int_t &)
Double_t GetEta(const Int_t &, const Int_t &, const Int_t &)
Int_t Get1SMCrysFrom1SMTowAnd0TowEcha(const Int_t &, const Int_t &)
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
TString ResultsRootFilePath()
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 &)
void WriteAsciiHisto(const TString, const Int_t &, const TVectorD &)
TString GetRootFileNameShort()
TString GetEcalSubDetector()
void fMakeResultsFileName()
void TruncateResultsAsciiFilePath(const Int_t &, const Int_t &)
TString GetRootFileName()
void AppendResultsRootFilePath(const Text_t *)
Bool_t GetPathForResultsAsciiFiles()
TString GetAnalysisName()
TEcnaNumbering * fEcalNumbering
Int_t EmptyChannelsInDeeMatrixIncompleteSCIncluded()
TString ResultsAsciiFilePath()