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 )
115 if( pCnaParCout == 0 )
127 if( pEcalNumbering == 0 )
296 if( pEcalNumbering == 0 )
409 const Int_t& NbOfReqEvts,
const Int_t& StexNumber)
416 Int_t rNumberOfEvents = 0;
417 Int_t PresentNumber = 0;
418 Int_t EmptyChannel = 0;
419 Int_t DifferentMinusValue = 0;
420 Int_t DifferentPlusValue = 0;
423 for(Int_t i_SSoSE=0; i_SSoSE<MaxArray; i_SSoSE++)
425 Int_t NbOfEvts = ArrayNbOfEvts[i_SSoSE];
429 if( PresentNumber == 0 )
431 PresentNumber = NbOfEvts;
435 if( NbOfEvts > PresentNumber )
437 PresentNumber = NbOfEvts;
438 DifferentPlusValue++;
440 if( NbOfEvts < PresentNumber )
442 DifferentMinusValue++;
452 rNumberOfEvents = PresentNumber;
454 if( EmptyChannel > 0 )
458 std::cout <<
"!TEcnaWrite::NumberOfEventsAnalysis()> *** WARNING *** "
459 << EmptyChannel <<
" empty channels detected in SM " << StexNumber
465 if( EmptyChannel > 0 )
467 std::cout <<
"!TEcnaWrite::NumberOfEventsAnalysis()> *** WARNING *** "
468 << EmptyChannel <<
" empty channels detected in Dee " << StexNumber << std::endl;
473 if( DifferentMinusValue > 0 || DifferentPlusValue > 0 )
475 std::cout <<
"!TEcnaWrite::NumberOfEventsAnalysis()> " << std::endl;
479 std::cout <<
"************** W A R N I N G : NUMBER OF EVENTS NOT CONSTANT FOR SM " << StexNumber
485 std::cout <<
"****************** W A R N I N G : NUMBER OF EVENTS NOT CONSTANT FOR Dee " << StexNumber
486 <<
" **************************";
491 <<
" The number of events is not the same for all the non-empty channels." << std::endl
492 <<
" The maximum number (" << rNumberOfEvents <<
") is considered as the number of events for calculations "
494 <<
" of pedestals, noises and correlations." << std::endl
495 <<
" Number of channels with 0 < nb of evts < " << rNumberOfEvents <<
" : " << DifferentMinusValue
498 <<
" Number of empty channels : " << EmptyChannel << std::endl
499 <<
" Some values of pedestals, noises and correlations may be wrong for channels" << std::endl
500 <<
" with number of events different from " << rNumberOfEvents <<
"." << std::endl
501 <<
" Please, check the histogram 'Numbers of events'." << std::endl
502 <<
"*******************************************************************************************************"
509 if( rNumberOfEvents < NbOfReqEvts )
511 std::cout <<
"*TEcnaWrite::NumberOfEventsAnalysis()> *** INFO *** Number of events found in data = "
512 << rNumberOfEvents <<
": less than number of requested events ( = " << NbOfReqEvts <<
")" << std::endl;
516 return rNumberOfEvents;
521 const Int_t& MaxNbOfSamples,
const Int_t& NbOfReqEvts)
528 Int_t rNumberOfEvents = 0;
529 Int_t PresentNumber = 0;
530 Int_t DifferentMinusValue = 0;
531 Int_t DifferentPlusValue = 0;
533 for(Int_t i0StexEcha = 0 ; i0StexEcha < MaxCrysEcnaInStex ; i0StexEcha++)
535 for(Int_t i_samp = 0 ; i_samp < MaxNbOfSamples ; i_samp++)
537 Int_t NbOfEvts = T2d_NbOfEvts[i0StexEcha][i_samp];
541 if( PresentNumber == 0 )
543 PresentNumber = NbOfEvts;
547 if( NbOfEvts > PresentNumber )
549 PresentNumber = NbOfEvts;
550 DifferentPlusValue++;
552 if( NbOfEvts < PresentNumber )
554 DifferentMinusValue++;
561 rNumberOfEvents = PresentNumber;
563 if( DifferentMinusValue > 0 || DifferentPlusValue > 0 )
565 std::cout <<
"!TEcnaWrite::NumberOfEventsAnalysis()> " << std::endl
566 <<
"****************** W A R N I N G : NUMBER OF EVENTS NOT CONSTANT ! *********************************"
569 <<
" The number of events is not the same for all the non-empty channels" << std::endl
570 <<
" The maximum number (" << rNumberOfEvents <<
") is considered as the number of events " << std::endl
571 <<
" for calculations of pedestals, noises and correlations." << std::endl
572 <<
" Number of channels with 0 < nb of evts < " << rNumberOfEvents <<
" : " << DifferentMinusValue << std::endl
575 <<
" Some values of pedestals, noises and correlations may be wrong for channels" << std::endl
576 <<
" with number of events different from " << rNumberOfEvents <<
"." << std::endl
577 <<
" Please, check the histogram 'Numbers of events'." << std::endl
578 <<
"*******************************************************************************************************"
585 if( rNumberOfEvents < NbOfReqEvts )
587 std::cout <<
"*TEcnaWrite::NumberOfEventsAnalysis()> *** INFO *** Number of events found in data = "
588 << rNumberOfEvents <<
": less than number of requested events ( = " << NbOfReqEvts <<
")" << std::endl;
592 return rNumberOfEvents;
597 const Int_t& ArgNbOfSamples,
const Int_t& ArgRunNumber,
598 const Int_t& ArgFirstReqEvtNumber,
const Int_t& ArgLastReqEvtNumber,
599 const Int_t& ArgReqNbOfEvts,
const Int_t& ArgStexNumber)
611 const Int_t& ArgNbOfSamples,
const Int_t& ArgRunNumber,
612 const Int_t& ArgFirstReqEvtNumber,
const Int_t& ArgLastReqEvtNumber,
613 const Int_t& ArgReqNbOfEvts,
const Int_t& ArgStexNumber,
614 const TString& ArgStartDate,
const TString& ArgStopDate,
615 const time_t ArgStartTime,
const time_t ArgStopTime)
686 TString sPointInterrog =
"?";
687 TString sDollarHome =
"$HOME";
693 std::cout <<
"!TEcnaWrite::fMakeResultsFileName> * * * W A R N I N G * * * " << std::endl << std::endl
694 <<
" Path for results .root file not defined. Default option will be used here:" << std::endl
695 <<
" your results files will be written in your HOME directory." << std::endl << std::endl
696 <<
" In order to write the .root results file in a specific directory," << std::endl
697 <<
" you have to create a file named path_results_root in a subdirectory named ECNA" << std::endl
698 <<
" previously created in your home directory." << std::endl
699 <<
" This file must have only one line containing the path of the directory" << std::endl
700 <<
" where must be the .root result files." << std::endl
703 TString home_path = gSystem->Getenv(
"HOME");
712 TString home_path = gSystem->Getenv(
"HOME");
717 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d",
720 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d",
733 std::cout <<
"!TEcnaWrite::fMakeResultsFileName> * * * W A R N I N G * * * " << std::endl << std::endl
734 <<
" Path for results .ascii file not defined. Default option will be used here:" << std::endl
735 <<
" your results files will be written in your HOME directory." << std::endl << std::endl
736 <<
" In order to write the .ascii results file in a specific directory," << std::endl
737 <<
" you have to create a file named path_results_ascii in a subdirectory named ECNA" << std::endl
738 <<
" previously created in your home directory." << std::endl
739 <<
" This file must have only one line containing the path of the directory" << std::endl
740 <<
" where must be the .ascii result files." << std::endl
743 TString home_path = gSystem->Getenv(
"HOME");
752 TString home_path = gSystem->Getenv(
"HOME");
758 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_header",
761 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_header",
769 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_NbOfEvents",
772 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_NbOfEvents",
779 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_Pedestals",
782 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_Pedestals",
789 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_TotalNoise",
792 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_TotalNoise",
799 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_LFNoise",
802 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_LFNoise",
809 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_HFNoise",
812 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_HFNoise",
819 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_MeanCorss",
822 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_MeanCorss",
829 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_SigmaCorss",
832 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_SigmaCorss",
839 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_Covss_%s%d_Channel_%d",
843 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_Covss_%s%d_Channel_%d",
851 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_Corss_%s%d_Channel_%d",
855 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_Corss_%s%d_Channel_%d",
866 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_SampleMeans",
869 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_SampleMeans",
876 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_SampleSigmas",
879 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_SampleSigmas",
886 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageTotalNoise_c%d",
889 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageTotalNoise_c%d",
896 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_LF_cov",
899 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_LF_cov",
906 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_LF_cor",
909 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_LF_cor",
916 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_AveragePedestals",
919 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_AveragePedestals",
926 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageMeanCorss%d",
929 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageMeanCorss%d",
936 sprintf(f_in,
"%s/%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageSigmaCorss%d",
939 sprintf(f_in_short,
"%s_S1_%d_R%d_%d_%d_%d_%s%d_AverageSigmaCorss%d",
956 for (Int_t
i = 0 ;
i <
fgMaxCar ;
i++){f_name[
i] =
'\0';}
961 if ( f_in[
i] !=
'\0' ){f_name[
i] = f_in[
i]; ii++;}
965 if ( ii+5 < fgMaxCar )
972 f_name[
ii] =
'.'; f_name[ii+1] =
'a';
973 f_name[ii+2] =
's'; f_name[ii+3] =
'c';
974 f_name[ii+4] =
'i'; f_name[ii+5] =
'i';
981 f_name[
ii] =
'.'; f_name[ii+1] =
'r';
982 f_name[ii+2] =
'o'; f_name[ii+3] =
'o'; f_name[ii+4] =
't';
989 std::cout <<
"*TEcnaWrite::fMakeResultsFileName(...)> Name too long (for f_name)."
990 <<
" No room enough for the extension. (ii = " << ii <<
")"
999 for (Int_t
i = 0 ;
i <
fgMaxCar ;
i++){f_name_short[
i] =
'\0';}
1004 if ( f_in_short[
i] !=
'\0' ){f_name_short[
i] = f_in_short[
i]; ii++;}
1008 if ( ii+5 < fgMaxCar )
1015 f_name_short[
ii] =
'.'; f_name_short[ii+1] =
'a';
1016 f_name_short[ii+2] =
's'; f_name_short[ii+3] =
'c';
1017 f_name_short[ii+4] =
'i'; f_name_short[ii+5] =
'i';
1025 f_name_short[
ii] =
'.'; f_name_short[ii+1] =
'r';
1026 f_name_short[ii+2] =
'o'; f_name_short[ii+3] =
'o'; f_name_short[ii+4] =
't';
1033 std::cout <<
"*TEcnaWrite::fMakeResultsFileName(...)> Name too long (for f_name_short)."
1034 <<
" No room enough for the extension. (ii = " << ii <<
")"
1037 delete [] f_name; f_name = 0;
fCdelete++;
1038 delete [] f_name_short; f_name_short = 0;
fCdelete++;
1040 delete [] f_in; f_in = 0;
fCdelete++;
1041 delete [] f_in_short; f_in_short = 0;
fCdelete++;
1066 const Text_t *t_file_nohome = (
const Text_t *)EndOfAsciiFileName.Data();
1068 TString home_path = gSystem->Getenv(
"HOME");
1077 <<
" *** " << std::endl << std::endl;
1189 const TVectorD& read_histo)
1199 if( HistoCode ==
"D_Ped_ChNb" ){i_code =
fCodePed;}
1200 if( HistoCode ==
"D_TNo_ChNb" ){i_code =
fCodeTno;}
1201 if( HistoCode ==
"D_LFN_ChNb" ){i_code =
fCodeLfn;}
1202 if( HistoCode ==
"D_HFN_ChNb" ){i_code =
fCodeHfn;}
1210 fFcout_f << std::setiosflags(std::ios::showpoint | std::ios::uppercase);
1211 fFcout_f << std::setprecision(3) << std::setw(6);
1213 fFcout_f.setf(std::ios::fixed, std::ios::floatfield);
1214 fFcout_f.setf(std::ios::left, std::ios::adjustfield);
1215 fFcout_f.setf(std::ios::right, std::ios::adjustfield);
1217 std::cout << std::setiosflags(std::ios::showpoint | std::ios::uppercase);
1218 std::cout << std::setprecision(3) << std::setw(6);
1220 std::cout.setf(std::ios::fixed, std::ios::floatfield);
1221 std::cout.setf(std::ios::left, std::ios::adjustfield);
1222 std::cout.setf(std::ios::right, std::ios::adjustfield);
1227 aStexName.Resize(MaxCar);
1228 aStexName =
"SM or Dee?";
1232 aStinName.Resize(MaxCar);
1233 aStinName =
"Tower or SC?";
1237 aHoco.Resize(MaxCar);
1238 aHoco =
"Eta or IX?";
1242 aVeco.Resize(MaxCar);
1243 aVeco =
"Phi or IY?";
1247 aSpecifa.Resize(MaxCar);
1252 aSpecifc.Resize(MaxCar);
1257 aSpecifd.Resize(MaxCar);
1262 aSpecife.Resize(MaxCar);
1267 aSpecif1.Resize(MaxCar);
1272 aSpecif2.Resize(MaxCar);
1277 aStexName =
"SM " ; aStinName =
"tower" ; aSpecifa =
" channel# ";
1278 aHoco =
" Eta "; aVeco =
" Phi "; aSpecifc =
" channel# ";
1279 aSpecifd =
" crystal# "; aSpecife =
"SM ";
1283 aStexName =
"Dee " ; aStinName =
" SC " ; aSpecifa =
" Sector# ";
1284 aHoco =
" IX "; aVeco =
" IY "; aSpecifc =
" crystal# ";
1285 aSpecifd =
" SC # "; aSpecife =
"Sector";
1289 for (Int_t i0StexEcha=0; i0StexEcha<HisSize; i0StexEcha++)
1291 Int_t n1StexStin = 0;
1292 Int_t StexStinEcna = 0;
1293 Int_t i0StinEcha = 0;
1294 Int_t n1StinEcha = 0;
1295 Int_t n1StexCrys = 0;
1296 Int_t n1DataSector = 0;
1302 StexStinEcna = n1StexStin;
1315 if( n1StexStin > 0 )
1319 if( HistoCode ==
"D_NOE_ChNb" ){aSpecif1 =
"Number of"; aSpecif2 =
" events (requested)";}
1320 if( HistoCode ==
"D_Ped_ChNb" ){aSpecif1 =
"Pedestals"; aSpecif2 =
" ";}
1321 if( HistoCode ==
"D_TNo_ChNb" ){aSpecif1 =
" Total "; aSpecif2 =
" noise ";}
1322 if( HistoCode ==
"D_MCs_ChNb" ){aSpecif1 =
" Mean "; aSpecif2 =
" cor(s,s) ";}
1323 if( HistoCode ==
"D_LFN_ChNb" ){aSpecif1 =
" Low Fq"; aSpecif2 =
" noise ";}
1324 if( HistoCode ==
"D_HFN_ChNb" ){aSpecif1 =
" High Fq"; aSpecif2 =
" noise ";}
1325 if( HistoCode ==
"D_SCs_ChNb" ){aSpecif1 =
" Sigma of"; aSpecif2 =
" cor(s,s) ";}
1330 <<
" " << aStinName.Data() <<
"# "
1335 << aSpecif1.Data() << std::endl;
1337 fFcout_f <<
" in " << aStexName.Data()
1338 <<
" in " << aStexName.Data()
1339 <<
" in " << aStinName.Data()
1340 <<
" in " << aSpecife.Data()
1341 <<
" in " << aStexName.Data()
1342 <<
" in " << aStexName.Data()
1343 << aSpecif2.Data() << std::endl << std::endl;
1346 Double_t
value = read_histo(i0StexEcha);
1350 fFcout_f << std::setw(7) << i0StexEcha
1351 << std::setw(8) << n1StexStin
1352 << std::setw(11) << i0StinEcha
1353 << std::setw(10) << n1StexCrys
1359 Int_t n1StinEcha_m = n1StinEcha-1;
1360 fFcout_f << std::setw(7) << n1DataSector
1361 << std::setw(8) << n1StexStin
1362 << std::setw(11) << n1StinEcha
1363 << std::setw(10) << n1SCinDS
1368 if( HistoCode ==
"D_NOE_ChNb")
1370 Int_t ivalue = (Int_t)value;
1371 fFcout_f << std::setw(13) << ivalue;
1387 std::cout <<
"*TEcnaWrite::WriteAsciiHisto(...)> INFO: "
1388 <<
"histo has been written in file: " << std::endl
1406 const Int_t& user_StinEcha,
1407 const Int_t& MatSize,
1408 const TMatrixD& read_matrix)
1436 const Int_t& user_StinEcha,
1437 const Int_t& MatSize,
1438 const TMatrixD& read_matrix)
1470 const Int_t& i_pasx_arg,
1471 const Int_t& i_pasy_arg,
1472 const Int_t& MatSize,
1473 const TMatrixD& read_matrix)
1477 Int_t i_pasx = i_pasx_arg;
1478 Int_t i_pasy = i_pasy_arg;
1482 fFcout_f << std::setiosflags(std::ios::showpoint | std::ios::uppercase);
1484 fFcout_f.setf(std::ios::fixed, std::ios::floatfield);
1485 fFcout_f.setf(std::ios::left, std::ios::adjustfield);
1486 fFcout_f.setf(std::ios::right, std::ios::adjustfield);
1487 fFcout_f << std::setprecision(3) << std::setw(6);
1489 std::cout << std::setiosflags(std::ios::showpoint | std::ios::uppercase);
1491 std::cout.setf(std::ios::fixed, std::ios::floatfield);
1492 std::cout.setf(std::ios::left, std::ios::adjustfield);
1493 std::cout.setf(std::ios::right, std::ios::adjustfield);
1494 std::cout << std::setprecision(3) << std::setw(6);
1511 Int_t justap_chan = 0;
1527 for(Int_t
i = 0 ;
i < justap_chan ;
i++){
1554 Int_t justap_samp = 0;
1570 for(Int_t
i = 0 ;
i < justap_samp ;
i++){
1603 fFcout_f <<
"Covariance matrix between channels "
1605 isx_max = justap_chan;
1606 isy_max = justap_chan;
1610 fFcout_f <<
"*Correlation matrix between channels "
1612 isx_max = justap_chan;
1613 isy_max = justap_chan;
1618 fFcout_f <<
"Covariance matrix between channels "
1619 <<
"averaged on the samples ";
1620 isx_max = justap_chan;
1621 isy_max = justap_chan;
1625 fFcout_f <<
"Correlation matrix between channels "
1626 <<
"averaged on the samples ";
1627 isx_max = justap_chan;
1628 isy_max = justap_chan;
1632 Int_t n1StexStin = 0;
1633 Int_t i0StinEcha = 0;
1634 Int_t n1StinEcha = 0;
1654 fFcout_f <<
"Covariance matrix between samples "
1656 <<
" (" <<
fStinName <<
": " << n1StexStin
1657 <<
" , channel in " <<
fStinName <<
": " << i0StinEcha <<
")";
1661 fFcout_f <<
"Covariance matrix between samples "
1663 <<
" (" <<
fStinName <<
": " << n1StexStin
1664 <<
" , channel in " <<
fStinName <<
": " << n1StinEcha <<
")";
1666 isx_max = justap_samp;
1667 isy_max = justap_samp;
1673 fFcout_f <<
"Correlation matrix between samples "
1675 <<
" (" <<
fStinName <<
": " << n1StexStin
1676 <<
" , channel in " <<
fStinName <<
": " << i0StinEcha <<
")";
1680 fFcout_f <<
"Correlation matrix between samples "
1682 <<
" (" <<
fStinName <<
": " << n1StexStin
1683 <<
" , channel in " <<
fStinName <<
": " << n1StinEcha <<
")";
1685 isx_max = justap_samp;
1686 isy_max = justap_samp;
1693 fFcout_f <<
"Correction factors to the covariances "
1695 <<
" (" <<
fStinName <<
": " << n1StexStin
1696 <<
" , channel in " <<
fStinName <<
": " << i0StinEcha <<
")";
1700 fFcout_f <<
"Correction factors to the covariances "
1702 <<
" (" <<
fStinName <<
": " << n1StexStin
1703 <<
" , channel in " <<
fStinName <<
": " << n1StinEcha <<
")";
1705 isx_max = justap_samp;
1706 isy_max = justap_samp;
1713 fFcout_f <<
"Correction factors to the correlations "
1715 <<
" ( " <<
fStinName <<
": " << n1StexStin
1716 <<
" , channel in " <<
fStinName <<
": " << i0StinEcha <<
")";
1720 fFcout_f <<
"Correction factors to the correlations "
1722 <<
" ( " <<
fStinName <<
": " << n1StexStin
1723 <<
" , channel in " <<
fStinName <<
": " << n1StinEcha <<
")";
1725 isx_max = justap_samp;
1726 isy_max = justap_samp;
1736 if(i_pasx > isx_max){i_pasx = isx_max;}
1739 n_sctx = isx_max/i_pasx;
1740 max_verix = n_sctx*i_pasx;
1741 if(max_verix < isx_max){ n_sctx++;}
1748 if(i_pasy > isy_max){i_pasy = isy_max;}
1751 n_scty = isy_max/i_pasy;
1752 max_veriy = n_scty*i_pasy;
1753 if(max_veriy < isy_max){ n_scty++;}
1762 <<
" , number of sectors = " << n_sctx <<
" x " << n_scty
1769 <<
" , number of sectors = " << n_sctx <<
" x " << n_scty
1778 Int_t ix_inf = -i_pasx;
1780 for(Int_t nsx = 0 ; nsx < n_sctx ; nsx++)
1783 ix_inf = ix_inf + i_pasx;
1784 Int_t ix_sup = ix_inf + i_pasx;
1786 Int_t iy_inf = -i_pasy;
1788 for(Int_t nsy = 0 ; nsy < n_scty ; nsy++)
1790 iy_inf = iy_inf + i_pasy;
1791 Int_t iy_sup = iy_inf + i_pasy;
1801 for (Int_t iy_c = iy_inf ; iy_c < iy_sup ; iy_c++)
1811 fFcout_f << std::endl << std::endl;
1813 for (Int_t ix_c = ix_inf ; ix_c < ix_sup ; ix_c++)
1823 for (Int_t iy_c = iy_inf ; iy_c < iy_sup ; iy_c++)
1858 std::cout <<
"*TEcnaWrite::fT2dWriteAscii(....)> INFO: "
1859 <<
"matrix has been written in file: " << std::endl
1879 void TEcnaWrite::WriteAsciiSampleMeans()
1890 fT1dWriteAscii(i_code, i_lic1, i_lic2);
1899 void TEcnaWrite::WriteAsciiSampleSigmas()
1903 Int_t i_code = fCodeVar;
1910 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 &)
TString fRootFileNameShort
TString GetAsciiFileName()
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 &)
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 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 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()
Long_t GetPointerValue(const TString &)
TEcnaNumbering * fEcalNumbering
Int_t EmptyChannelsInDeeMatrixIncompleteSCIncluded()
TString ResultsAsciiFilePath()
void SetResultsAsciiFilePath(const TString &)