![]() |
![]() |
#include <TEcnaRun.h>
Definition at line 44 of file TEcnaRun.h.
TEcnaRun::TEcnaRun | ( | ) |
TEcnaRun::TEcnaRun | ( | const TString | SubDet | ) |
Definition at line 323 of file TEcnaRun.cc.
References fEcal, fNbSampForFic, Init(), TEcnaParEcal::MaxSampADC(), and SetEcalSubDetector().
{ //Constructor with argument: call to Init() and declare fEcal according to SubDet value ("EB" or "EE") // cout << "[Info Management] CLASS: TEcnaRun. CREATE OBJECT: this = " << this << endl; Init(); SetEcalSubDetector(SubDet.Data()); fNbSampForFic = fEcal->MaxSampADC(); // DEFAULT Number of samples for ROOT file }
TEcnaRun::TEcnaRun | ( | const TString | SubDet, |
const Int_t & | NbOfSamples | ||
) |
Definition at line 334 of file TEcnaRun.cc.
References gather_cfg::cout, fEcal, fNbSampForFic, fTTBELL, Init(), TEcnaParEcal::MaxSampADC(), and SetEcalSubDetector().
{ //Constructor with arguments: call to Init(), declare fEcal according to SubDet value ("EB" or "EE") // and set NbOfSamples according to the user's willing // cout << "[Info Management] CLASS: TEcnaRun. CREATE OBJECT: this = " << this << endl; Init(); SetEcalSubDetector(SubDet.Data()); if( NbOfSamples>0 && NbOfSamples<=fEcal->MaxSampADC() ) { fNbSampForFic = NbOfSamples; } else { cout << "TEcnaRun/CONSTRUCTOR> Number of required samples = " << NbOfSamples << ": OUT OF RANGE. Set to the default value (= " << fEcal->MaxSampADC() << ")." << fTTBELL << endl; fNbSampForFic = fEcal->MaxSampADC(); // DEFAULT Number of samples for file reading } }
TEcnaRun::TEcnaRun | ( | const TEcnaRun & | dcop | ) |
Definition at line 521 of file TEcnaRun.cc.
References gather_cfg::cout.
{ cout << "*TEcnaRun::TEcnaRun(const TEcnaRun& dcop)> " << " Now is the time to write a copy constructor" << endl; //{ Int_t cintoto; cin >> cintoto; } }
TEcnaRun::~TEcnaRun | ( | ) | [virtual] |
Definition at line 550 of file TEcnaRun.cc.
References gather_cfg::cout, fBuildEvtNotSkipped, fCdelete, fCnew, fCodePrintAllComments, fCodePrintNoComment, fCodePrintWarnings, fFlagPrint, fMiscDiag, fNbOfMiscDiagCounters, fT1d_av_ev_corss, fT1d_av_hifn, fT1d_av_lofn, fT1d_av_mped, fT1d_av_sig_corss, fT1d_av_totn, fT1d_ev, fT1d_ev_cor_ss, fT1d_ev_ev, fT1d_evevt_of_sigsamp, fT1d_evsamp_of_sigevt, fT1d_NbOfEvts, fT1d_sig, fT1d_sig_cor_ss, fT1d_sigevt_of_evsamp, fT1d_StexStinFromIndex, fT1dCrysNumbersTable, fT2d1_hf_cor, fT2d1_hf_cov, fT2d1_hfcc_mostins, fT2d1_lf_cor, fT2d1_lf_cov, fT2d1_lfcc_mostins, fT2d_ev, fT2d_hf_cor, fT2d_hf_cov, fT2d_hfcc_mostins, fT2d_lf_cor, fT2d_lf_cov, fT2d_lfcc_mostins, fT2d_NbOfEvts, fT2d_sig, fT2dCrysNumbersTable, fT3d1_cor_ss, fT3d1_cov_ss, fT3d1_distribs, fT3d2_cor_ss, fT3d2_cov_ss, fT3d2_distribs, fT3d_cor_ss, fT3d_cov_ss, fT3d_distribs, fTagAdcEvt, fTagAvHfn, fTagAvLfn, fTagAvMeanCorss, fTagAvPed, fTagAvSigCorss, fTagAvTno, fTagCorCss, fTagCovCss, fTagHFccMoStins, fTagHfCor, fTagHfCov, fTagHfn, fTagLFccMoStins, fTagLfCor, fTagLfCov, fTagLfn, fTagMeanCorss, fTagMSp, fTagNbOfEvts, fTagPed, fTagSigCorss, fTagSSp, fTagStinNumbers, fTagTno, fTTBELL, and i.
{ //Destructor if(fFlagPrint == fCodePrintAllComments) { cout << "*TEcnaRun::~TEcnaRun()> Entering destructor." << endl; } if(fFlagPrint != fCodePrintNoComment || fFlagPrint == fCodePrintWarnings ) { if( fBuildEvtNotSkipped > 0 ) { cout << "************************************************************************************* " << endl; cout << "*TEcnaRun::~TEcnaRun()> Nb of calls to BuildEventsDistributions by cmsRun: " << fBuildEvtNotSkipped << endl; cout << "************************************************************************************* " << endl; } } if(fFlagPrint == fCodePrintAllComments) { Int_t misc_czero = 0; for(Int_t i = 0; i < fNbOfMiscDiagCounters; i++) { if( fMiscDiag[i] != 0 ) { cout << " fMiscDiag Counter " << setw(3) << i << " = " << setw(9) << fMiscDiag[i] << " (INFO: alloc on non zero freed zone) " << endl; } else { misc_czero++; } } cout << " Nb of fMiscDiag counters at zero: " << misc_czero << " (total nb of counters: " << fNbOfMiscDiagCounters << ")" << endl; } if (fMiscDiag != 0){delete [] fMiscDiag; fCdelete++;} //if (fFileHeader != 0){delete fFileHeader; fCdelete++;} //if (fEcal != 0){delete fEcal; fCdelete++;} //if (fEcalNumbering != 0){delete fEcalNumbering; fCdelete++;} //if (fCnaParCout != 0){delete fCnaParCout; fCdelete++;} //if (fCnaParPaths != 0){delete fCnaParPaths; fCdelete++;} //if (fCnaWrite != 0){delete fCnaWrite; fCdelete++;} if (fT1d_StexStinFromIndex != 0){delete [] fT1d_StexStinFromIndex; fCdelete++;} if (fT2d_NbOfEvts != 0){delete [] fT2d_NbOfEvts; fCdelete++;} if (fT1d_NbOfEvts != 0){delete [] fT1d_NbOfEvts; fCdelete++;} if (fT3d_distribs != 0){delete [] fT3d_distribs; fCdelete++;} if (fT3d2_distribs != 0){delete [] fT3d2_distribs; fCdelete++;} if (fT3d1_distribs != 0){delete [] fT3d1_distribs; fCdelete++;} if (fT2d_ev != 0){delete [] fT2d_ev; fCdelete++;} if (fT1d_ev != 0){delete [] fT1d_ev; fCdelete++;} if (fT2d_sig != 0){delete [] fT2d_sig; fCdelete++;} if (fT1d_sig != 0){delete [] fT1d_sig; fCdelete++;} if (fT3d_cov_ss != 0){delete [] fT3d_cov_ss; fCdelete++;} if (fT3d2_cov_ss != 0){delete [] fT3d2_cov_ss; fCdelete++;} if (fT3d1_cov_ss != 0){delete [] fT3d1_cov_ss; fCdelete++;} if (fT3d_cor_ss != 0){delete [] fT3d_cor_ss; fCdelete++;} if (fT3d2_cor_ss != 0){delete [] fT3d2_cor_ss; fCdelete++;} if (fT3d1_cor_ss != 0){delete [] fT3d1_cor_ss; fCdelete++;} if (fT2d_lf_cov != 0){delete [] fT2d_lf_cov; fCdelete++;} if (fT2d1_lf_cov != 0){delete [] fT2d1_lf_cov; fCdelete++;} if (fT2d_lf_cor != 0){delete [] fT2d_lf_cor; fCdelete++;} if (fT2d1_lf_cor != 0){delete [] fT2d1_lf_cor; fCdelete++;} if (fT2d_hf_cov != 0){delete [] fT2d_hf_cov; fCdelete++;} if (fT2d1_hf_cov != 0){delete [] fT2d1_hf_cov; fCdelete++;} if (fT2d_hf_cor != 0){delete [] fT2d_hf_cor; fCdelete++;} if (fT2d1_hf_cor != 0){delete [] fT2d1_hf_cor; fCdelete++;} if (fT2d_lfcc_mostins != 0){delete [] fT2d_lfcc_mostins; fCdelete++;} if (fT2d1_lfcc_mostins != 0){delete [] fT2d1_lfcc_mostins ; fCdelete++;} if (fT2d_hfcc_mostins != 0){delete [] fT2d_hfcc_mostins ; fCdelete++;} if (fT2d1_hfcc_mostins != 0){delete [] fT2d1_hfcc_mostins; fCdelete++;} if (fT1d_ev_ev != 0){delete [] fT1d_ev_ev; fCdelete++;} if (fT1d_evsamp_of_sigevt != 0){delete [] fT1d_evsamp_of_sigevt; fCdelete++;} if (fT1d_ev_cor_ss != 0){delete [] fT1d_ev_cor_ss; fCdelete++;} if (fT1d_av_mped != 0){delete [] fT1d_av_mped; fCdelete++;} if (fT1d_av_totn != 0){delete [] fT1d_av_totn; fCdelete++;} if (fT1d_av_lofn != 0){delete [] fT1d_av_lofn; fCdelete++;} if (fT1d_av_hifn != 0){delete [] fT1d_av_hifn; fCdelete++;} if (fT1d_av_ev_corss != 0){delete [] fT1d_av_ev_corss; fCdelete++;} if (fT1d_av_sig_corss != 0){delete [] fT1d_av_sig_corss; fCdelete++;} if (fT1d_sigevt_of_evsamp != 0){delete [] fT1d_sigevt_of_evsamp; fCdelete++;} if (fT1d_evevt_of_sigsamp != 0){delete [] fT1d_evevt_of_sigsamp; fCdelete++;} if (fT1d_sig_cor_ss != 0){delete [] fT1d_sig_cor_ss; fCdelete++;} if (fT2dCrysNumbersTable != 0){delete [] fT2dCrysNumbersTable; fCdelete++;} if (fT1dCrysNumbersTable != 0){delete [] fT1dCrysNumbersTable; fCdelete++;} if (fTagStinNumbers != 0){delete [] fTagStinNumbers; fCdelete++;} if (fTagNbOfEvts != 0){delete [] fTagNbOfEvts; fCdelete++;} if (fTagAdcEvt != 0){delete [] fTagAdcEvt; fCdelete++;} if (fTagMSp != 0){delete [] fTagMSp; fCdelete++;} if (fTagSSp != 0){delete [] fTagSSp; fCdelete++;} if (fTagCovCss != 0){delete [] fTagCovCss; fCdelete++;} if (fTagCorCss != 0){delete [] fTagCorCss; fCdelete++;} if (fTagHfCov != 0){delete [] fTagHfCov; fCdelete++;} if (fTagHfCor != 0){delete [] fTagHfCor; fCdelete++;} if (fTagLfCov != 0){delete [] fTagLfCov; fCdelete++;} if (fTagLfCor != 0){delete [] fTagLfCor; fCdelete++;} if (fTagLFccMoStins != 0){delete [] fTagLFccMoStins; fCdelete++;} if (fTagHFccMoStins != 0){delete [] fTagHFccMoStins; fCdelete++;} if (fTagPed != 0){delete [] fTagPed; fCdelete++;} if (fTagTno != 0){delete [] fTagTno; fCdelete++;} if (fTagMeanCorss != 0){delete [] fTagMeanCorss; fCdelete++;} if (fTagLfn != 0){delete [] fTagLfn; fCdelete++;} if (fTagHfn != 0){delete [] fTagHfn; fCdelete++;} if (fTagSigCorss != 0){delete [] fTagSigCorss; fCdelete++;} if (fTagAvPed != 0){delete [] fTagAvPed; fCdelete++;} if (fTagAvTno != 0){delete [] fTagAvTno; fCdelete++;} if (fTagAvLfn != 0){delete [] fTagAvLfn; fCdelete++;} if (fTagAvHfn != 0){delete [] fTagAvHfn; fCdelete++;} if (fTagAvMeanCorss != 0){delete [] fTagAvMeanCorss; fCdelete++;} if (fTagAvSigCorss != 0){delete [] fTagAvSigCorss; fCdelete++;} if ( fCnew != fCdelete ) { cout << "!TEcnaRun::~TEcnaRun()> WRONG MANAGEMENT OF MEMORY ALLOCATIONS: fCnew = " << fCnew << ", fCdelete = " << fCdelete << fTTBELL << endl; } else { // cout << "*TEcnaRun::~TEcnaRun()> Management of memory allocations: OK. fCnew = " // << fCnew << ", fCdelete = " << fCdelete << endl; } if(fFlagPrint == fCodePrintAllComments) { cout << "*TEcnaRun::~TEcnaRun()> Exiting destructor (this = " << this << ")." << endl << "~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#" << endl; } // cout << "[Info Management] CLASS: TEcnaRun. DESTROY OBJECT: this = " << this << endl; }
void TEcnaRun::AveragedHighFrequencyNoise | ( | ) |
Definition at line 2289 of file TEcnaRun.cc.
References gather_cfg::cout, TEcnaHeader::fAvHfnCalc, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fEcalNumbering, fFileHeader, fFlagPrint, fMiscDiag, TEcnaHeader::fStex, fStexName, fStinName, fT1d_av_hifn, fT1d_evevt_of_sigsamp, fTagAvHfn, fTagHfn, TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha(), HighFrequencyNoise(), TEcnaParEcal::MaxCrysInStin(), TEcnaNumbering::MaxCrysInStinEcna(), and TEcnaParEcal::MaxStinEcnaInStex().
Referenced by TEcnaGui::Calculations().
{ // Calculation of the average // (over the Stin's 0 to fEcal->MaxStinInStex()) of the High Frequency Noise //... preliminary calculation of the High Frequency Noise if not done yet if ( fTagHfn[0] != 1 ){HighFrequencyNoise(); fTagHfn[0]=0;} //................... Allocation av_hifn + init to zero (mandatory) if( fT1d_av_hifn == 0 ){fT1d_av_hifn = new Double_t[fEcal->MaxStinEcnaInStex()]; fCnew++;} for(Int_t i0StexStinEcna = 0; i0StexStinEcna < fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) {if( fT1d_av_hifn[i0StexStinEcna] != (Double_t)0 ) {fMiscDiag[44]++; fT1d_av_hifn[i0StexStinEcna] = (Double_t)0;}} if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::AveragedHighFrequencyNoise()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for all the " << fStinName.Data() << "s, of the average of the High Frequency Noise" << endl;} //................... Calculation for(Int_t i0StexStinEcna = 0; i0StexStinEcna < fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) { Int_t n1StexStinEcna = i0StexStinEcna+1; fT1d_av_hifn[i0StexStinEcna] = (Double_t)0; for(Int_t i0StinEcha = 0; i0StinEcha < fEcal->MaxCrysInStin(); i0StinEcha++) { Int_t i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(n1StexStinEcna, i0StinEcha); if( fStexName == "SM " ) {fT1d_av_hifn[i0StexStinEcna] += fT1d_evevt_of_sigsamp[i0StexEcha];} if( fStexName == "Dee" ) { //---------------- Special translation for mixed SCEcna (29 and 32) // Xtal 11 of SCEcna 29 -> Xtal 11 of SCEcna 10 // Xtal 11 of SCEcna 32 -> Xtal 11 of SCEcna 11 Int_t n1StinEcha = i0StinEcha+1; if( n1StexStinEcna == 10 && n1StinEcha == 11 ) {i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(29, i0StinEcha);} if( n1StexStinEcna == 11 && n1StinEcha == 11 ) {i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(32, i0StinEcha);} if( !( (n1StexStinEcna == 29 || n1StexStinEcna == 32) && n1StinEcha == 11 ) ) {fT1d_av_hifn[i0StexStinEcna] += fT1d_evevt_of_sigsamp[i0StexEcha];} } } Double_t xdivis = (Double_t)0.; if( fStexName == "SM " ) {xdivis = (Double_t)fEcal->MaxCrysInStin();} if( fStexName == "Dee" ) {xdivis = (Double_t)fEcalNumbering->MaxCrysInStinEcna(fFileHeader->fStex, n1StexStinEcna, "TEcnaRun");} fT1d_av_hifn[i0StexStinEcna] = fT1d_av_hifn[i0StexStinEcna]/xdivis; } fTagAvHfn[0] = 1; fFileHeader->fAvHfnCalc++; }
void TEcnaRun::AveragedLowFrequencyNoise | ( | ) |
Definition at line 2229 of file TEcnaRun.cc.
References gather_cfg::cout, TEcnaHeader::fAvLfnCalc, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fEcalNumbering, fFileHeader, fFlagPrint, fMiscDiag, TEcnaHeader::fStex, fStexName, fStinName, fT1d_av_lofn, fT1d_sigevt_of_evsamp, fTagAvLfn, fTagLfn, TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha(), LowFrequencyNoise(), TEcnaParEcal::MaxCrysInStin(), TEcnaNumbering::MaxCrysInStinEcna(), and TEcnaParEcal::MaxStinEcnaInStex().
Referenced by TEcnaGui::Calculations().
{ // Calculation of the average // (over the Stin's 0 to fEcal->MaxStinInStex()) of the Low Frequency Noise //... preliminary calculation of the Low Frequency Noise if not done yet if ( fTagLfn[0] != 1 ){LowFrequencyNoise(); fTagLfn[0]=0;} //................... Allocation av_lofn + init to zero (mandatory) if( fT1d_av_lofn == 0 ){fT1d_av_lofn = new Double_t[fEcal->MaxStinEcnaInStex()]; fCnew++;} for(Int_t i0StexStinEcna = 0; i0StexStinEcna < fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) {if( fT1d_av_lofn[i0StexStinEcna] != (Double_t)0 ) {fMiscDiag[43]++; fT1d_av_lofn[i0StexStinEcna] = (Double_t)0;}} if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::AveragedLowFrequencyNoise()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for all the " << fStinName.Data() << "s, of the average of the Low Frequency Noise" << endl;} //................... Calculation for(Int_t i0StexStinEcna = 0; i0StexStinEcna < fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) { Int_t n1StexStinEcna = i0StexStinEcna+1; fT1d_av_lofn[i0StexStinEcna] = (Double_t)0; for(Int_t i0StinEcha = 0; i0StinEcha < fEcal->MaxCrysInStin(); i0StinEcha++) { Int_t i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(n1StexStinEcna, i0StinEcha); if( fStexName == "SM " ) {fT1d_av_lofn[i0StexStinEcna] += fT1d_sigevt_of_evsamp[i0StexEcha];} if( fStexName == "Dee" ) { //---------------- Special translation for mixed SCEcna (29 and 32) // Xtal 11 of SCEcna 29 -> Xtal 11 of SCEcna 10 // Xtal 11 of SCEcna 32 -> Xtal 11 of SCEcna 11 Int_t n1StinEcha = i0StinEcha+1; if( n1StexStinEcna == 10 && n1StinEcha == 11 ) {i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(29, i0StinEcha);} if( n1StexStinEcna == 11 && n1StinEcha == 11 ) {i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(32, i0StinEcha);} if( !( (n1StexStinEcna == 29 || n1StexStinEcna == 32) && n1StinEcha == 11 ) ) {fT1d_av_lofn[i0StexStinEcna] += fT1d_sigevt_of_evsamp[i0StexEcha];} } } Double_t xdivis = (Double_t)0.; if( fStexName == "SM " ) {xdivis = (Double_t)fEcal->MaxCrysInStin();} if( fStexName == "Dee" ) {xdivis = (Double_t)fEcalNumbering->MaxCrysInStinEcna(fFileHeader->fStex, n1StexStinEcna, "TEcnaRun");} fT1d_av_lofn[i0StexStinEcna] = fT1d_av_lofn[i0StexStinEcna]/xdivis; } fTagAvLfn[0] = 1; fFileHeader->fAvLfnCalc++; }
void TEcnaRun::AveragedMeanOfCorrelationsBetweenSamples | ( | ) |
Definition at line 2349 of file TEcnaRun.cc.
References gather_cfg::cout, TEcnaHeader::fAvMeanCorssCalc, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fEcalNumbering, fFileHeader, fFlagPrint, fMiscDiag, TEcnaHeader::fStex, fStexName, fStinName, fT1d_av_ev_corss, fT1d_ev_cor_ss, fTagAvMeanCorss, fTagMeanCorss, TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha(), TEcnaParEcal::MaxCrysInStin(), TEcnaNumbering::MaxCrysInStinEcna(), TEcnaParEcal::MaxStinEcnaInStex(), and MeanOfCorrelationsBetweenSamples().
Referenced by TEcnaGui::Calculations().
{ // Calculation of the average // (over the Stin's 0 to fEcal->MaxStinInStex()) of the mean of cor(s,s) //... preliminary calculation of the mean of cor(s,s) if not done yet if ( fTagMeanCorss[0] != 1 ){MeanOfCorrelationsBetweenSamples(); fTagMeanCorss[0]=0;} //................... Allocation av_ev_corss + init to zero (mandatory) if( fT1d_av_ev_corss == 0 ){fT1d_av_ev_corss = new Double_t[fEcal->MaxStinEcnaInStex()]; fCnew++;} for(Int_t i0StexStinEcna = 0; i0StexStinEcna < fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) {if( fT1d_av_ev_corss[i0StexStinEcna] != (Double_t)0 ) {fMiscDiag[45]++; fT1d_av_ev_corss[i0StexStinEcna] = (Double_t)0;}} if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::AveragedMeanOfCorrelationsBetweenSamples()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for all the " << fStinName.Data() << "s, of the average of the mean of cor(s,s)" << endl;} //................... Calculation for(Int_t i0StexStinEcna = 0; i0StexStinEcna < fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) { Int_t n1StexStinEcna = i0StexStinEcna+1; fT1d_av_ev_corss[i0StexStinEcna] = (Double_t)0; for(Int_t i0StinEcha = 0; i0StinEcha < fEcal->MaxCrysInStin(); i0StinEcha++) { Int_t i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(n1StexStinEcna, i0StinEcha); if( fStexName == "SM " ) {fT1d_av_ev_corss[i0StexStinEcna] += fT1d_ev_cor_ss[i0StexEcha];} if( fStexName == "Dee" ) { //---------------- Special translation for mixed SCEcna (29 and 32) // Xtal 11 of SCEcna 29 -> Xtal 11 of SCEcna 10 // Xtal 11 of SCEcna 32 -> Xtal 11 of SCEcna 11 Int_t n1StinEcha = i0StinEcha+1; if( n1StexStinEcna == 10 && n1StinEcha == 11 ) {i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(29, i0StinEcha);} if( n1StexStinEcna == 11 && n1StinEcha == 11 ) {i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(32, i0StinEcha);} if( !( (n1StexStinEcna == 29 || n1StexStinEcna == 32) && n1StinEcha == 11 ) ) {fT1d_av_ev_corss[i0StexStinEcna] += fT1d_ev_cor_ss[i0StexEcha];} } } Double_t xdivis = (Double_t)0.; if( fStexName == "SM " ) {xdivis = (Double_t)fEcal->MaxCrysInStin();} if( fStexName == "Dee" ) {xdivis = (Double_t)fEcalNumbering->MaxCrysInStinEcna(fFileHeader->fStex, n1StexStinEcna, "TEcnaRun");} fT1d_av_ev_corss[i0StexStinEcna] = fT1d_av_ev_corss[i0StexStinEcna]/xdivis; } fTagAvMeanCorss[0] = 1; fFileHeader->fAvMeanCorssCalc++; }
void TEcnaRun::AveragedPedestals | ( | ) |
Definition at line 2108 of file TEcnaRun.cc.
References gather_cfg::cout, TEcnaHeader::fAvPedCalc, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fEcalNumbering, fFileHeader, fFlagPrint, fMiscDiag, TEcnaHeader::fStex, fStexName, fStinName, fT1d_av_mped, fT1d_ev_ev, fTagAvPed, fTagPed, TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha(), TEcnaParEcal::MaxCrysInStin(), TEcnaNumbering::MaxCrysInStinEcna(), TEcnaParEcal::MaxStinEcnaInStex(), and Pedestals().
Referenced by TEcnaGui::Calculations().
{ // Calculation of the average // (over the Stin's 0 to fEcal->MaxStinInStex()) of the Pedestals //... preliminary calculation of the Pedestals if not done yet if ( fTagPed[0] != 1 ){Pedestals(); fTagPed[0]=0;} //................... Allocation av_mped + init to zero (mandatory) if( fT1d_av_mped == 0 ){fT1d_av_mped = new Double_t[fEcal->MaxStinEcnaInStex()]; fCnew++;} for(Int_t i0StexStinEcna = 0; i0StexStinEcna < fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) {if( fT1d_av_mped[i0StexStinEcna] != (Double_t)0 ) {fMiscDiag[41]++; fT1d_av_mped[i0StexStinEcna] = (Double_t)0;}} if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::AveragedPedestals()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for all the " << fStinName.Data() << "s, of the average of the Pedestals" << endl;} //................... Calculation for(Int_t i0StexStinEcna = 0; i0StexStinEcna < fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) { Int_t n1StexStinEcna = i0StexStinEcna+1; fT1d_av_mped[i0StexStinEcna] = (Double_t)0; for(Int_t i0StinEcha = 0; i0StinEcha < fEcal->MaxCrysInStin(); i0StinEcha++) { Int_t i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(n1StexStinEcna, i0StinEcha); if( fStexName == "SM " ) {fT1d_av_mped[i0StexStinEcna] += fT1d_ev_ev[i0StexEcha];} if( fStexName == "Dee" ) { //---------------- Special translation for mixed SCEcna (29 and 32) // Xtal 11 of SCEcna 29 -> Xtal 11 of SCEcna 10 // Xtal 11 of SCEcna 32 -> Xtal 11 of SCEcna 11 Int_t n1StinEcha = i0StinEcha+1; if( n1StexStinEcna == 10 && n1StinEcha == 11 ) {i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(29, i0StinEcha);} if( n1StexStinEcna == 11 && n1StinEcha == 11 ) {i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(32, i0StinEcha);} if( !( (n1StexStinEcna == 29 || n1StexStinEcna == 32) && n1StinEcha == 11 ) ) {fT1d_av_mped[i0StexStinEcna] += fT1d_ev_ev[i0StexEcha];} } } Double_t xdivis = (Double_t)0.; if( fStexName == "SM " ) {xdivis = (Double_t)fEcal->MaxCrysInStin();} if( fStexName == "Dee" ) {xdivis = (Double_t)fEcalNumbering->MaxCrysInStinEcna(fFileHeader->fStex, n1StexStinEcna, "TEcnaRun");} fT1d_av_mped[i0StexStinEcna] = fT1d_av_mped[i0StexStinEcna]/xdivis; } fTagAvPed[0] = 1; fFileHeader->fAvPedCalc++; }
void TEcnaRun::AveragedSigmaOfCorrelationsBetweenSamples | ( | ) |
Definition at line 2409 of file TEcnaRun.cc.
References gather_cfg::cout, TEcnaHeader::fAvSigCorssCalc, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fEcalNumbering, fFileHeader, fFlagPrint, fMiscDiag, TEcnaHeader::fStex, fStexName, fStinName, fT1d_av_sig_corss, fT1d_sig_cor_ss, fTagAvSigCorss, fTagSigCorss, TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha(), TEcnaParEcal::MaxCrysInStin(), TEcnaNumbering::MaxCrysInStinEcna(), TEcnaParEcal::MaxStinEcnaInStex(), and SigmaOfCorrelationsBetweenSamples().
Referenced by TEcnaGui::Calculations().
{ // Calculation of the average // (over the Stin's 0 to fEcal->MaxStinInStex()) of the sigma of cor(s,s) //... preliminary calculation of the sigma of cor(s,s) if not done yet if ( fTagSigCorss[0] != 1 ){SigmaOfCorrelationsBetweenSamples(); fTagSigCorss[0]=0;} //................... Allocation av_sig_corss + init to zero (mandatory) if( fT1d_av_sig_corss == 0 ){fT1d_av_sig_corss = new Double_t[fEcal->MaxStinEcnaInStex()]; fCnew++;} for(Int_t i0StexStinEcna = 0; i0StexStinEcna < fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) {if( fT1d_av_sig_corss[i0StexStinEcna] != (Double_t)0 ) {fMiscDiag[46]++; fT1d_av_sig_corss[i0StexStinEcna] = (Double_t)0;}} if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::AveragedSigmaOfCorrelationsBetweenSamples()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for all the " << fStinName.Data() << "s, of the average of the sigma of cor(s,s)" << endl;} //................... Calculation for(Int_t i0StexStinEcna = 0; i0StexStinEcna < fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) { Int_t n1StexStinEcna = i0StexStinEcna+1; fT1d_av_sig_corss[i0StexStinEcna] = (Double_t)0; for(Int_t i0StinEcha = 0; i0StinEcha < fEcal->MaxCrysInStin(); i0StinEcha++) { Int_t i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(n1StexStinEcna, i0StinEcha); if( fStexName == "SM " ) {fT1d_av_sig_corss[i0StexStinEcna] += fT1d_sig_cor_ss[i0StexEcha];} if( fStexName == "Dee" ) { //---------------- Special translation for mixed SCEcna (29 and 32) // Xtal 11 of SCEcna 29 -> Xtal 11 of SCEcna 10 // Xtal 11 of SCEcna 32 -> Xtal 11 of SCEcna 11 Int_t n1StinEcha = i0StinEcha+1; if( n1StexStinEcna == 10 && n1StinEcha == 11 ) {i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(29, i0StinEcha);} if( n1StexStinEcna == 11 && n1StinEcha == 11 ) {i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(32, i0StinEcha);} if( !( (n1StexStinEcna == 29 || n1StexStinEcna == 32) && n1StinEcha == 11 ) ) {fT1d_av_sig_corss[i0StexStinEcna] += fT1d_sig_cor_ss[i0StexEcha];} } } Double_t xdivis = (Double_t)0.; if( fStexName == "SM " ) {xdivis = (Double_t)fEcal->MaxCrysInStin();} if( fStexName == "Dee" ) {xdivis = (Double_t)fEcalNumbering->MaxCrysInStinEcna(fFileHeader->fStex, n1StexStinEcna, "TEcnaRun");} fT1d_av_sig_corss[i0StexStinEcna] = fT1d_av_sig_corss[i0StexStinEcna]/xdivis; } fTagAvSigCorss[0] = 1; fFileHeader->fAvSigCorssCalc++; }
void TEcnaRun::AveragedTotalNoise | ( | ) |
Definition at line 2169 of file TEcnaRun.cc.
References gather_cfg::cout, TEcnaHeader::fAvTnoCalc, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fEcalNumbering, fFileHeader, fFlagPrint, fMiscDiag, TEcnaHeader::fStex, fStexName, fStinName, fT1d_av_totn, fT1d_evsamp_of_sigevt, fTagAvTno, fTagTno, TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha(), TEcnaParEcal::MaxCrysInStin(), TEcnaNumbering::MaxCrysInStinEcna(), TEcnaParEcal::MaxStinEcnaInStex(), and TotalNoise().
Referenced by TEcnaGui::Calculations().
{ // Calculation of the average // (over the Stin's 0 to fEcal->MaxStinInStex()) of the Total Noise //... preliminary calculation of the averaged Total Noise if not done yet if ( fTagTno[0] != 1 ){TotalNoise(); fTagTno[0]=0;} //................... Allocation av_totn + init to zero (mandatory) if( fT1d_av_totn == 0 ){fT1d_av_totn = new Double_t[fEcal->MaxStinEcnaInStex()]; fCnew++;} for(Int_t i0StexStinEcna = 0; i0StexStinEcna < fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) {if( fT1d_av_totn[i0StexStinEcna] != (Double_t)0 ) {fMiscDiag[42]++; fT1d_av_totn[i0StexStinEcna] = (Double_t)0;}} if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::AveragedTotalNoise()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for all the " << fStinName.Data() << "s, of the average of the Total Noise" << endl;} //................... Calculation for(Int_t i0StexStinEcna = 0; i0StexStinEcna < fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) { Int_t n1StexStinEcna = i0StexStinEcna+1; fT1d_av_totn[i0StexStinEcna] = (Double_t)0; for(Int_t i0StinEcha = 0; i0StinEcha < fEcal->MaxCrysInStin(); i0StinEcha++) { Int_t i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(n1StexStinEcna, i0StinEcha); if( fStexName == "SM " ) {fT1d_av_totn[i0StexStinEcna] += fT1d_evsamp_of_sigevt[i0StexEcha];} if( fStexName == "Dee" ) { //---------------- Special translation for mixed SCEcna (29 and 32) // Xtal 11 of SCEcna 29 -> Xtal 11 of SCEcna 10 // Xtal 11 of SCEcna 32 -> Xtal 11 of SCEcna 11 Int_t n1StinEcha = i0StinEcha+1; if( n1StexStinEcna == 10 && n1StinEcha == 11 ) {i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(29, i0StinEcha);} if( n1StexStinEcna == 11 && n1StinEcha == 11 ) {i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(32, i0StinEcha);} if( !( (n1StexStinEcna == 29 || n1StexStinEcna == 32) && n1StinEcha == 11 ) ) {fT1d_av_totn[i0StexStinEcna] += fT1d_evsamp_of_sigevt[i0StexEcha];} } } Double_t xdivis = (Double_t)0.; if( fStexName == "SM " ) {xdivis = (Double_t)fEcal->MaxCrysInStin();} if( fStexName == "Dee" ) {xdivis = (Double_t)fEcalNumbering->MaxCrysInStinEcna(fFileHeader->fStex, n1StexStinEcna, "TEcnaRun");} fT1d_av_totn[i0StexStinEcna] = fT1d_av_totn[i0StexStinEcna]/xdivis; } fTagAvTno[0] = 1; fFileHeader->fAvTnoCalc++; }
Bool_t TEcnaRun::BuildEventDistributions | ( | const Int_t & | n1EventNumber, |
const Int_t & | n1StexStin, | ||
const Int_t & | i0StinEcha, | ||
const Int_t & | i0Sample, | ||
const Double_t & | adcvalue | ||
) |
Definition at line 1063 of file TEcnaRun.cc.
References gather_cfg::cout, fBuildEvtNotSkipped, fCodePrintAllComments, fEcal, fEcalNumbering, fFileHeader, fFlagPrint, fFlagSubDet, TEcnaHeader::fNbOfEvtsCalc, fNbSampForFic, fReadyToReadData, TEcnaHeader::fReqNbOfEvts, fSpecialStexStinNotIndexed, TEcnaHeader::fStex, fStexName, fStinIndexBuilt, fStinName, TEcnaHeader::fStinNumbersCalc, fT1d_StexStinFromIndex, fT2d_NbOfEvts, fT3d_distribs, fTagNbOfEvts, fTagStinNumbers, fTTBELL, TEcnaParEcal::MaxCrysEcnaInStex(), TEcnaParEcal::MaxCrysInStin(), TEcnaParEcal::MaxSampADC(), and TEcnaParEcal::MaxStinEcnaInStex().
{ //Building of the arrays fT1d_StexStinFromIndex[] and fT3d_distribs[][][] fBuildEvtNotSkipped++; // event not skipped by cmsRun Bool_t ret_code = kFALSE; Int_t i0EventIndex = n1EventNumber - 1; // INDEX FOR Event number Int_t i0StexStinEcna = n1StexStin - 1; // INDEX FOR StexStin = Number_of_the_Stin_in_Stex - 1 Int_t i_trouve = 0; //.................................................................. (BuildEventDistributions) if(fReadyToReadData == 1) { if( n1StexStin>= 1 && n1StexStin <= fEcal->MaxStinEcnaInStex() ) { if( i0StinEcha >= 0 && i0StinEcha < fEcal->MaxCrysInStin() ) { if( i0Sample >= 0 && i0Sample < fNbSampForFic ) { //..... Put the StexStin number in 1D array fT1d_StexStinFromIndex[] = Stin index + 1 if( fT1d_StexStinFromIndex != 0 ) // table fT1d_StexStinFromIndex[index] already allocated { ret_code = kTRUE; // StexStin already indexed if( n1StexStin == fT1d_StexStinFromIndex[i0StexStinEcna] ){i_trouve = 1;} // StexStin index not found: new StexStin if (i_trouve != 1 ) { if( fT1d_StexStinFromIndex[i0StexStinEcna] == fSpecialStexStinNotIndexed ) { fT1d_StexStinFromIndex[i0StexStinEcna] = n1StexStin; fFileHeader->fStinNumbersCalc = 1; fTagStinNumbers[0] = 1; fStinIndexBuilt++; // number of found Stins if(fFlagPrint == fCodePrintAllComments) { if( fStinIndexBuilt == 1 ) { cout << endl << "*TEcnaRun::BuildEventDistributions(...)> event " << n1EventNumber << " : first event for " << fStexName.Data() << " " << fFileHeader->fStex << "; " << fStinName.Data() << "s : "; } if( fFlagSubDet == "EB" ) {cout << fT1d_StexStinFromIndex[i0StexStinEcna] << ", ";} if( fFlagSubDet == "EE" ) {cout << fEcalNumbering-> GetDeeSCConsFrom1DeeSCEcna(fFileHeader->fStex, fT1d_StexStinFromIndex[i0StexStinEcna]) << ", ";} } //.................................................... (BuildEventDistributions) if(fFlagPrint == fCodePrintAllComments) { cout << " (" << fStinIndexBuilt << " " << fStinName.Data() << " found), channel " << i0StinEcha << ", i0Sample " << i0Sample << endl; } ret_code = kTRUE; } // if ( fT1d_StexStinFromIndex[i0StexStinEcna] == fSpecialStexStinNotIndexed ) else { cout << "!TEcnaRun::BuildEventDistributions(...)> *** ERROR ***> NOT ALLOWED if RESULT. " << " n1StexStin = " << n1StexStin << ", fT1d_StexStinFromIndex[" << i0StexStinEcna << "] = " << fT1d_StexStinFromIndex[i0StexStinEcna] << ", fStinIndexBuilt = " << fStinIndexBuilt << fTTBELL << endl; ret_code = kFALSE; } } // if (i_trouve != 1 ) } // if( fT1d_StexStinFromIndex != 0 ) else { cout << "!TEcnaRun, BuildEventDistributions *** ERROR ***> " << " fT1d_StexStinFromIndex = " << fT1d_StexStinFromIndex << " fT1d_StexStinFromIndex[] ALLOCATION NOT DONE" << fTTBELL << endl; ret_code = kFALSE; } //.................................................................. (BuildEventDistributions) } // if( i0Sample >= 0 && i0Sample < fNbSampForFic ) else { //.......Reading data => Message and error only if sample >= fEcal->MaxSampADC() // (not fNbSampForFic, the later is used only for calculations) if( i0Sample >= fEcal->MaxSampADC() ) { cout << "!TEcnaRun::BuildEventDistributions(...) *** ERROR ***> " << " sample number = " << i0Sample << ". OUT OF BOUNDS" << " (max = " << fEcal->MaxSampADC() << ")" << fTTBELL << endl; ret_code = kFALSE; } else { ret_code = kTRUE; } } } else { cout << "!TEcnaRun::BuildEventDistributions(...) *** ERROR ***> " << " channel number in " << fStinName.Data() << " = " << i0StinEcha << ". OUT OF BOUNDS" << " (max = " << fEcal->MaxCrysInStin() << ")" << fTTBELL << endl; ret_code = kFALSE; } } else { cout << "!TEcnaRun::BuildEventDistributions(...) *** ERROR ***> " << fStinName.Data() << " number in " << fStexName.Data() << " = " << n1StexStin << ". OUT OF BOUNDS" << " (max = " << fEcal->MaxStinEcnaInStex() << ")" << fTTBELL << endl; ret_code = kFALSE; } //.................................................................. (BuildEventDistributions) //........ Filling of the 2D array of the event numbers in the data reading loop and // filling of the 3D array of the ADC sample values if( ret_code == kTRUE ) { if( i0Sample < fNbSampForFic ) { //............ 1) Conversion (Stin,i0StinEcha) -> i0StexEcha (same numbering for EB and EE) //========================================================================================= // n1StexStin (Tower or SC): 1 2 3 // iStexStin 0 1 2 // // i0StinEcha: 0......24 0......24 0......24 // // i0StexEcha : 0......24 25......49 50......74 grouped by StexStin's // i0StexEcha+1 (Xtal): 1......25 26......50 51......75 // //========================================================================================= Int_t i0StexEcha = i0StexStinEcna*fEcal->MaxCrysInStin() + i0StinEcha; //--------------------------------------------------------- (BuildEventDistributions) if( i0StexEcha >= 0 && i0StexEcha < fEcal->MaxCrysEcnaInStex() ) { //............ 2) Increase of the nb of evts for (StexEcha,sample) (events found in the data) (fT2d_NbOfEvts[i0StexEcha][i0Sample])++; // value after first incrementation = 1 fTagNbOfEvts[0] = 1; fFileHeader->fNbOfEvtsCalc = 1; //............ 3) Filling of the 3D array of the ADC values if ( i0EventIndex >= 0 && i0EventIndex < fFileHeader->fReqNbOfEvts ) { fT3d_distribs[i0StexEcha][i0Sample][i0EventIndex] = adcvalue; } else { cout << "!TEcnaRun::BuildEventDistributions(...) *** ERROR ***> " << " event number = " << n1EventNumber << ". OUT OF BOUNDS" << " (max = " << fFileHeader->fReqNbOfEvts << ")" << fTTBELL << endl; ret_code = kFALSE; } } else { cout << "!TEcnaRun::BuildEventDistributions(...) *** ERROR ***> " << " CHANNEL NUMBER OUT OF BOUNDS" << endl << " i0StexEcha number = " << i0StexEcha << " , n1StexStin = " << n1StexStin << " , i0StinEcha = " << i0StinEcha << " , fEcal->MaxCrysEcnaInStex() = " << fEcal->MaxCrysEcnaInStex() << fTTBELL << endl; ret_code = kFALSE; // {Int_t cintoto; cout << "TAPER 0 POUR CONTINUER" << endl; cin >> cintoto;} } } else { cout << "!TEcnaRun::BuildEventDistributions(...) *** ERROR ***> Nb of required samples = " << i0Sample << " (Max = " << fNbSampForFic << ")" << fTTBELL << endl; } } else { cout << "!TEcnaRun::BuildEventDistributions(...) *** ERROR ***> ret_code = kFALSE " << fTTBELL << endl; } } else { cout << "!TEcnaRun::BuildEventDistributions(...) *** ERROR ***> GetReadyToReadData(...) not called." << fTTBELL << endl; ret_code = kFALSE; } //.................................................................. (BuildEventDistributions) if (ret_code == kFALSE) { cout << "!TEcnaRun::BuildEventDistributions(...) > ret_code = " << ret_code << ". event: " << n1EventNumber << ", n1StexStin: " << n1StexStin << ", i0StinEcha: " << i0StinEcha << ", i0Sample: " << i0Sample << ", adcvalue: " << adcvalue << endl; } return ret_code; }
Bool_t TEcnaRun::CloseRootFile | ( | const Text_t * | name | ) |
Definition at line 3087 of file TEcnaRun.cc.
References TCnaRootFile::CloseFile(), gather_cfg::cout, fCdelete, fCodePrintAllComments, fFlagPrint, fOpenRootFile, fTTBELL, and gCnaRootFile.
Referenced by WriteRootFile().
{ //Close the Root file Bool_t ok_close = kFALSE; if (fOpenRootFile == kTRUE ) { gCnaRootFile->CloseFile(); if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::CloseRootFile> Close ROOT file." << endl;} delete gCnaRootFile; fCdelete++; fOpenRootFile = kFALSE; ok_close = kTRUE; } else { cout << "*TEcnaRun::CloseRootFile(...)> No close since no file is open." << fTTBELL << endl; } return ok_close; }
void TEcnaRun::CorrelationsBetweenSamples | ( | ) |
Definition at line 1688 of file TEcnaRun.cc.
References gather_cfg::cout, CovariancesBetweenSamples(), fCnew, fCodePrintAllComments, fCodePrintNoComment, TEcnaHeader::fCorCssCalc, fEcal, fFileHeader, fFlagPrint, fNbSampForCalc, fT3d1_cor_ss, fT3d2_cor_ss, fT3d_cor_ss, fT3d_cov_ss, fTagCorCss, fTagCovCss, i, j, TEcnaParEcal::MaxCrysEcnaInStex(), and mathSSE::sqrt().
Referenced by TEcnaGui::Calculations(), and MeanOfCorrelationsBetweenSamples().
{ //Calculation of the correlations between samples for all the StexEchas //... preliminary calculation of the covariances if not done yet. // Test only the first tag since the cov are computed globaly // but set all the tags to 0 because we don't want to write // the covariances in the result ROOT file if ( fTagCovCss[0] != 1 ){CovariancesBetweenSamples(); for (Int_t j0StexEcha = 0 ; j0StexEcha < fEcal->MaxCrysEcnaInStex() ; j0StexEcha++) {fTagCovCss[j0StexEcha] = 0;}} if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::CorrelationsBetweenSamples()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation: correlations between samples" << " for each channel." << endl;} //................... Allocations cor_ss if( fT3d_cor_ss == 0){ const Int_t n_samp = fNbSampForCalc; const Int_t n_StexEcha = fEcal->MaxCrysEcnaInStex(); fT3d_cor_ss = new Double_t**[n_StexEcha]; fCnew++; fT3d2_cor_ss = new Double_t*[n_StexEcha*n_samp]; fCnew++; fT3d1_cor_ss = new Double_t[n_StexEcha*n_samp*n_samp]; fCnew++; for(Int_t i = 0 ; i < n_StexEcha ; i++){ fT3d_cor_ss[i] = &fT3d2_cor_ss[0] + i*n_samp; for(Int_t j = 0 ; j < n_samp ; j++){ fT3d2_cor_ss[n_samp*i+j] = &fT3d1_cor_ss[0]+n_samp*(n_samp*i+j);}} } //..................... calculation of the correlations (=init) //......................computation of half of the matrix, diagonal included (verif = 1) for (Int_t j0StexEcha = 0 ; j0StexEcha < fEcal->MaxCrysEcnaInStex() ; j0StexEcha++) { for (Int_t i0Sample = 0 ; i0Sample < fNbSampForCalc ; i0Sample++) { for (Int_t j0Sample = 0 ; j0Sample <= i0Sample ; j0Sample++) { if( (fT3d_cov_ss[j0StexEcha][i0Sample][i0Sample] > 0) && (fT3d_cov_ss[j0StexEcha][j0Sample][j0Sample] > 0) ) { fT3d_cor_ss[j0StexEcha][i0Sample][j0Sample] = fT3d_cov_ss[j0StexEcha][i0Sample][j0Sample]/ ( sqrt(fT3d_cov_ss[j0StexEcha][i0Sample][i0Sample])*sqrt(fT3d_cov_ss[j0StexEcha][j0Sample][j0Sample]) ); } else { (fT3d_cor_ss)[j0StexEcha][i0Sample][j0Sample] = (Double_t)0; // prevoir compteur + fTTBELL } fT3d_cor_ss[j0StexEcha][j0Sample][i0Sample] = fT3d_cor_ss[j0StexEcha][i0Sample][j0Sample]; } } fTagCorCss[j0StexEcha] = 1; fFileHeader->fCorCssCalc++; } }
void TEcnaRun::CovariancesBetweenSamples | ( | ) |
Definition at line 1628 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, TEcnaHeader::fCovCssCalc, fEcal, fFileHeader, fFlagPrint, fNbSampForCalc, fNumberOfEvents, fT2d_ev, fT3d1_cov_ss, fT3d2_cov_ss, fT3d_cov_ss, fT3d_distribs, fTagCovCss, fTagMSp, i, j, TEcnaParEcal::MaxCrysEcnaInStex(), and SampleMeans().
Referenced by CorrelationsBetweenSamples().
{ //Calculation of the covariances between samples for all the StexEchas if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::CovariancesBetweenSamples()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation: covariances between samples" << " for each channel." << endl;} //................... Allocations cov_ss if( fT3d_cov_ss == 0 ){ const Int_t n_samp = fNbSampForCalc; const Int_t n_StexEcha = fEcal->MaxCrysEcnaInStex(); fT3d_cov_ss = new Double_t**[n_StexEcha]; fCnew++; fT3d2_cov_ss = new Double_t*[n_StexEcha*n_samp]; fCnew++; fT3d1_cov_ss = new Double_t[n_StexEcha*n_samp*n_samp]; fCnew++; for(Int_t i = 0 ; i < n_StexEcha ; i++){ fT3d_cov_ss[i] = &fT3d2_cov_ss[0] + i*n_samp; for(Int_t j = 0 ; j < n_samp ; j++){ fT3d2_cov_ss[n_samp*i+j] = &fT3d1_cov_ss[0]+n_samp*(n_samp*i+j);}} } //.................. Calculation (= init) //.................. computation of half of the matrix, diagonal included) //... preliminary calculation of the expectation values if not done yet. // The tag is set to 1 after call to the method. It is reset to 0 // because the expectation values must not be written in the result ROOT file // (since the tag was equal to 0) // Results in array fT2d_ev[j0StexEcha][i0Sample] if(fTagMSp[0] != 1){SampleMeans(); fTagMSp[0] = 0;} for (Int_t j0StexEcha = 0 ; j0StexEcha < fEcal->MaxCrysEcnaInStex() ; j0StexEcha++) { for (Int_t i0Sample = 0 ; i0Sample < fNbSampForCalc ; i0Sample++) { for (Int_t j0Sample = 0 ; j0Sample <= i0Sample; j0Sample++) { fT3d_cov_ss[j0StexEcha][i0Sample][j0Sample] = (Double_t)0; for( Int_t i_event = 0; i_event < fNumberOfEvents; i_event++ ) { fT3d_cov_ss[j0StexEcha][i0Sample][j0Sample] += (fT3d_distribs[j0StexEcha][i0Sample][i_event] - fT2d_ev[j0StexEcha][i0Sample]) *(fT3d_distribs[j0StexEcha][j0Sample][i_event] - fT2d_ev[j0StexEcha][j0Sample]); } fT3d_cov_ss[j0StexEcha][i0Sample][j0Sample] /= (Double_t)fNumberOfEvents; fT3d_cov_ss[j0StexEcha][j0Sample][i0Sample] = fT3d_cov_ss[j0StexEcha][i0Sample][j0Sample]; } } fTagCovCss[j0StexEcha] = 1; fFileHeader->fCovCssCalc++; } }
TString TEcnaRun::GetNewRootFileName | ( | ) |
Definition at line 3216 of file TEcnaRun.cc.
References fNewRootFileName.
{return fNewRootFileName;}
TString TEcnaRun::GetNewRootFileNameShort | ( | ) |
Definition at line 3217 of file TEcnaRun.cc.
References fNewRootFileNameShort.
Referenced by TEcnaGui::Calculations().
{return fNewRootFileNameShort;}
void TEcnaRun::GetReadyToCompute | ( | ) |
Definition at line 1471 of file TEcnaRun.cc.
References gather_cfg::cout, fCnaWrite, fEcal, fFileHeader, fNbSampForFic, fNumberOfEvents, TEcnaHeader::fReqNbOfEvts, fT2d_NbOfEvts, TEcnaParEcal::MaxCrysEcnaInStex(), and TEcnaWrite::NumberOfEvents().
Referenced by EcnaAnalyzer::analyze(), TEcnaGui::Calculations(), and EcnaAnalyzer::~EcnaAnalyzer().
{ // // CHECK OF THE NUMBER OF FOUND EVENTS AND init of fNumberOfEvents // (number used to compute the average values over the events) // The number of events fNumberOfEvents is extracted from the array fT2d_NbOfEvts[] // which has been built by the BuildEventDistribution(...) method if( fT2d_NbOfEvts != 0 ) { fNumberOfEvents = fCnaWrite->NumberOfEvents(fT2d_NbOfEvts, fEcal->MaxCrysEcnaInStex(), fNbSampForFic, fFileHeader->fReqNbOfEvts); } else { cout << "*TEcnaRun::GetReadyToCompute()> no data? fT2d_NbOfEvts = " << fT2d_NbOfEvts << endl; } }
void TEcnaRun::GetReadyToReadData | ( | TString | typ_ana, |
const Int_t & | run_number, | ||
const Int_t & | nfirst, | ||
const Int_t & | nlast, | ||
const Int_t & | nbevts, | ||
const Int_t & | Stex | ||
) |
Definition at line 728 of file TEcnaRun.cc.
Referenced by EcnaAnalyzer::analyze(), and TEcnaGui::Calculations().
{ //Preparation of the data reading. Set part of the header. No RunType as argument. //Use default value = 99999999 and call method with all the arguments (see below) Int_t RunType = 99999999; GetReadyToReadData(typ_ana, run_number, nfirst, nlast, nbevts, Stex, RunType); }
void TEcnaRun::GetReadyToReadData | ( | TString | typ_ana, |
const Int_t & | run_number, | ||
const Int_t & | nfirst, | ||
const Int_t & | nlast, | ||
const Int_t & | nbevts, | ||
const Int_t & | Stex, | ||
const Int_t & | run_type | ||
) |
Definition at line 739 of file TEcnaRun.cc.
References benchmark_cfg::cerr, gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, TEcnaHeader::fFirstReqEvtNumber, fFlagPrint, TEcnaHeader::fLastReqEvtNumber, fMiscDiag, fNbOfMiscDiagCounters, fNbSampForFic, fReadyToReadData, TEcnaHeader::fReqNbOfEvts, TEcnaHeader::fRunNumber, TEcnaHeader::fRunType, fSpecialStexStinNotIndexed, TEcnaHeader::fStex, fStexName, fStinName, fT1d_NbOfEvts, fT1d_StexStinFromIndex, fT2d_NbOfEvts, fT3d1_distribs, fT3d2_distribs, fT3d_distribs, fTagAdcEvt, fTagAvHfn, fTagAvLfn, fTagAvMeanCorss, fTagAvPed, fTagAvSigCorss, fTagAvTno, fTagCorCss, fTagCovCss, fTagHFccMoStins, fTagHfCor, fTagHfCov, fTagHfn, fTagLFccMoStins, fTagLfCor, fTagLfCov, fTagLfn, fTagMeanCorss, fTagMSp, fTagNbOfEvts, fTagPed, fTagSigCorss, fTagSSp, fTagStinNumbers, fTagTno, fTTBELL, TEcnaHeader::fTypAna, TEcnaHeader::HeaderParameters(), TEcnaParEcal::MaxCrysEcnaInStex(), TEcnaParEcal::MaxCrysInStin(), and TEcnaParEcal::MaxStinEcnaInStex().
{ //Preparation of the data reading. Set part of the header // // [nfirst, nlast] = [1,50] (50 events) or [151,300] (150 events) or etc... Int_t nrangeevts = nlast - nfirst + 1; // number of events in range if( nrangeevts < nbevts ) { if( nlast >= nfirst ) { cout << "*TEcnaRun::GetReadyToReadData(...)> --- WARNING ---> number of events = " << nbevts << ", out of range (range = " << nfirst << "," << nlast << ")" << endl << " The number of found events will be less " << endl << " than the number of requested events." << endl; } if( nlast < nfirst ) { cout << "*TEcnaRun::GetReadyToReadData(...)> --- INFO ---> last requested event number = " << nlast << ", less than first requested event number (= " << nfirst << ")" << endl << " File will be read until EOF if the number of found events" << endl << " remains less than the number of requested events." << endl; } } Int_t ifirst = nfirst - 1; //............. allocation for counters fMiscDiag = new Int_t[fNbOfMiscDiagCounters]; fCnew++; for (Int_t iz=0; iz<fNbOfMiscDiagCounters; iz++){fMiscDiag[iz] = (Int_t)0;} //************** CHECK OF ARGUMENTS: nfirst_arg and nbevts_arg Int_t nentries = 99999999; // => to be reintroduced as argument (like run_type) (?) if ( nfirst <= nentries ) { //--------------------- test positivity of nfirst_arg (GetReadyToReadData) if ( nfirst > 0 ) { //-------- test compatibility between the last requested event number // and the number of entries if( nlast <= nentries ) { const Text_t *h_name = "CnaHeader"; //==> voir cette question avec FXG const Text_t *h_title = "CnaHeader"; //==> voir cette question avec FXG //fFileHeader->HeaderParameters(h_name, h_title , // typ_ana, fNbSampForFic, // run_number, nfirst, nlast, nbevts, // Stex, nentries); fCnew++; if ( fEcal->MaxStinEcnaInStex() > 0 && fEcal->MaxCrysInStin() > 0 && fNbSampForFic > 0 ) { if( fFileHeader == 0 ){fFileHeader = new TEcnaHeader(h_name, h_title);} // fCnew++; fFileHeader->HeaderParameters(typ_ana, fNbSampForFic, run_number, nfirst, nlast, nbevts, Stex, run_type); // After this call to TEcnaHeader, we have: (GetReadyToReadData) // fFileHeader->fTypAna = typ_ana // fFileHeader->fNbOfSamples = fNbSampForFic // fFileHeader->fRunNumber = run_number // fFileHeader->fFirstReqEvtNumber = nfirst // fFileHeader->fLastReqEvtNumber = nlast // fFileHeader->fReqNbOfEvts = nbevts // fFileHeader->fStex = Stex number // fFileHeader->fRunType = run_type // fFileHeader->Print(); // {Int_t cintoto; cout << "taper 0 pour continuer" << endl; cin >> cintoto;} // fFileHeader->SetName("CnaHeader"); *======> voir FXG // fFileHeader->SetTitle("CnaHeader"); //......................................... allocation tags + init of them (GetReadyToReadData) fTagStinNumbers = new Int_t[1]; fCnew++; fTagStinNumbers[0] = (Int_t)0; fTagNbOfEvts = new Int_t[1]; fCnew++; fTagNbOfEvts[0] = (Int_t)0; fTagAdcEvt = new Int_t[fEcal->MaxCrysEcnaInStex()]; fCnew++; for (Int_t iz=0; iz<fEcal->MaxCrysEcnaInStex(); iz++){fTagAdcEvt[iz] = (Int_t)0;} fTagMSp = new Int_t[1]; fCnew++; fTagMSp[0] = (Int_t)0; fTagSSp = new Int_t[1]; fCnew++; fTagSSp[0] = (Int_t)0; fTagCovCss = new Int_t[fEcal->MaxCrysEcnaInStex()]; fCnew++; for (Int_t iz=0; iz<fEcal->MaxCrysEcnaInStex(); iz++){fTagCovCss[iz] = (Int_t)0;} fTagCorCss = new Int_t[fEcal->MaxCrysEcnaInStex()]; fCnew++; for (Int_t iz=0; iz<fEcal->MaxCrysEcnaInStex(); iz++){fTagCorCss[iz] = (Int_t)0;} fTagLfCov = new Int_t[1]; fCnew++; fTagLfCov[0] = (Int_t)0; fTagLfCor = new Int_t[1]; fCnew++; fTagLfCor[0] = (Int_t)0; fTagHfCov = new Int_t[1]; fCnew++; fTagHfCov[0] = (Int_t)0; fTagHfCor = new Int_t[1]; fCnew++; fTagHfCor[0] = (Int_t)0; fTagLFccMoStins = new Int_t[1]; fCnew++; fTagLFccMoStins[0] = (Int_t)0; fTagHFccMoStins = new Int_t[1]; fCnew++; fTagHFccMoStins[0] = (Int_t)0; fTagPed = new Int_t[1]; fCnew++; fTagPed[0] = (Int_t)0; fTagTno = new Int_t[1]; fCnew++; fTagTno[0] = (Int_t)0; fTagMeanCorss = new Int_t[1]; fCnew++; fTagMeanCorss[0] = (Int_t)0; fTagLfn = new Int_t[1]; fCnew++; fTagLfn[0] = (Int_t)0; fTagHfn = new Int_t[1]; fCnew++; fTagHfn[0] = (Int_t)0; fTagSigCorss = new Int_t[1]; fCnew++; fTagSigCorss[0] = (Int_t)0; fTagAvPed = new Int_t[1]; fCnew++; fTagAvPed[0] = (Int_t)0; fTagAvTno = new Int_t[1]; fCnew++; fTagAvTno[0] = (Int_t)0; fTagAvLfn = new Int_t[1]; fCnew++; fTagAvLfn[0] = (Int_t)0; fTagAvHfn = new Int_t[1]; fCnew++; fTagAvHfn[0] = (Int_t)0; fTagAvMeanCorss = new Int_t[1]; fCnew++; fTagAvMeanCorss[0] = (Int_t)0; fTagAvSigCorss = new Int_t[1]; fCnew++; fTagAvSigCorss[0] = (Int_t)0; //==================================================================================== // // allocation for fT1d_StexStinFromIndex[] and init to fSpecialStexStinNotIndexed // //==================================================================================== if(fT1d_StexStinFromIndex == 0) { fT1d_StexStinFromIndex = new Int_t[fEcal->MaxStinEcnaInStex()]; fCnew++; } for ( Int_t i0_Stin = 0; i0_Stin < fEcal->MaxStinEcnaInStex(); i0_Stin++ ) { fT1d_StexStinFromIndex[i0_Stin] = fSpecialStexStinNotIndexed; } //------------------------------------------------------------- (GetReadyToReadData) //==================================================================================== // // allocation of the 3D array fT3d_distribs[channel][sample][events] (ADC values) // // This array is filled in the BuildEventDistributions(...) method // //==================================================================================== if(fT3d_distribs == 0) { //............ Allocation for the 3d array cout << "*TEcnaRun::GetReadyToReadData(...)> Allocation of 3D array for ADC distributions." << " Nb of requested evts = " << fFileHeader->fReqNbOfEvts << endl << " This number must not be too large" << " (no failure after this message means alloc OK)." << endl; fT3d_distribs = new Double_t**[fEcal->MaxCrysEcnaInStex()]; fCnew++; fT3d2_distribs = new Double_t*[fEcal->MaxCrysEcnaInStex()* fNbSampForFic]; fCnew++; fT3d1_distribs = new Double_t[fEcal->MaxCrysEcnaInStex()* fNbSampForFic* fFileHeader->fReqNbOfEvts]; fCnew++; for(Int_t i0StexEcha=0; i0StexEcha<fEcal->MaxCrysEcnaInStex(); i0StexEcha++){ fT3d_distribs[i0StexEcha] = &fT3d2_distribs[0] + i0StexEcha*fNbSampForFic; for(Int_t j0Sample=0; j0Sample<fNbSampForFic; j0Sample++){ fT3d2_distribs[fNbSampForFic*i0StexEcha + j0Sample] = &fT3d1_distribs[0]+ fFileHeader->fReqNbOfEvts*(fNbSampForFic*i0StexEcha+j0Sample);}} } //................................. Init to zero for (Int_t iza=0; iza<fEcal->MaxCrysEcnaInStex(); iza++) { for (Int_t izb=0; izb<fNbSampForFic; izb++) { for (Int_t izc=0; izc<fFileHeader->fReqNbOfEvts; izc++) { if( fT3d_distribs[iza][izb][izc] != (Double_t)0 ) { fMiscDiag[0]++; fT3d_distribs[iza][izb][izc] = (Double_t)0; } } } } //--------------------------------------------------------- (GetReadyToReadData) //==================================================================================== // // allocation of the 2D array fT2d_NbOfEvts[channel][sample] (Max nb of evts) // //==================================================================================== if (fT2d_NbOfEvts == 0) { fT2d_NbOfEvts = new Int_t*[fEcal->MaxCrysEcnaInStex()]; fCnew++; fT1d_NbOfEvts = new Int_t[fEcal->MaxCrysEcnaInStex()* fNbSampForFic]; fCnew++; for(Int_t i0StexEcha = 0 ; i0StexEcha < fEcal->MaxCrysEcnaInStex() ; i0StexEcha++) { fT2d_NbOfEvts[i0StexEcha] = &fT1d_NbOfEvts[0] + i0StexEcha*fNbSampForFic; } //................ Init the array to 0 for(Int_t i0StexEcha=0; i0StexEcha<fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { for(Int_t i0Sample=0; i0Sample<fNbSampForFic; i0Sample++) { fT2d_NbOfEvts[i0StexEcha][i0Sample] = 0; } } } else { cerr << "!TEcnaRun::GetReadyToReadData(...)> *** ERROR *** No allocation for fT2d_NbOfEvts!" << " Pointer already not NULL " << fTTBELL << endl; // {Int_t cintoto; cout << "Enter: 0 and RETURN to continue or: CTRL C to exit" // << endl; cin >> cintoto;} } } else { cerr << endl << "!TEcnaRun::GetReadyToReadData(...)> " << " *** ERROR *** " << endl << " --------------------------------------------------" << endl << " NULL or NEGATIVE values for arguments" << endl << " with expected positive values:" << endl << " Number of Stins in Stex = " << fEcal->MaxStinEcnaInStex() << endl << " Number of crystals in Stin = " << fEcal->MaxCrysInStin() << endl << " Number of samples by channel = " << fNbSampForFic << endl << endl << endl << " hence, no memory allocation for array member has been performed." << endl; cout << "Enter: 0 and RETURN to continue or: CTRL C to exit"; Int_t toto; cin >> toto; } //----------------------------------------------------------- (GetReadyToReadData) if(fFlagPrint == fCodePrintAllComments ){ cout << endl; cout << "*TEcnaRun::GetReadyToReadData(...)>" << endl << " The method has been called with the following argument values:" << endl << " Analysis name = " << fFileHeader->fTypAna << endl << " Run number = " << fFileHeader->fRunNumber << endl << " Run type = " << fFileHeader->fRunType << endl << " First requested event number = " << fFileHeader->fFirstReqEvtNumber << endl << " Last requested event number = " << fFileHeader->fLastReqEvtNumber << endl << " " << fStexName.Data() << " number = " << fFileHeader->fStex << endl << " Number of " << fStinName.Data() << " in " << fStexName.Data() << " = " << fEcal->MaxStinEcnaInStex() << endl << " Number of crystals in " << fStinName.Data() << " = " << fEcal->MaxCrysInStin() << endl << " Number of samples by channel = " << fNbSampForFic << endl << endl;} fReadyToReadData = 1; // set flag } else { if (fFlagPrint != fCodePrintNoComment){ cout << "!TEcnaRun::GetReadyToReadData(...) > WARNING/CORRECTION:" << endl << "! The fisrt requested event number is not positive (nfirst = " << nfirst << ") " << fTTBELL << endl;} ifirst = 0; } } else { if (fFlagPrint != fCodePrintNoComment){ cout << endl << "!TEcnaRun::GetReadyToReadData(...)> WARNING/CORRECTION:" << endl << "! The number of requested events (nbevts = " << nbevts << ") is too large." << endl << "! Last event number = " << nlast << " > number of entries = " << nentries << ". " << fTTBELL << endl << endl;} } } else { cout << "!TEcnaRun::GetReadyToReadData(...) *** ERROR ***> " << " The first requested event number is greater than the number of entries." << fTTBELL << endl; } if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::GetReadyToReadData(...)> Leaving the method. fReadyToReadData = " << fReadyToReadData << endl; } } // end of GetReadyToReadData
TString TEcnaRun::GetRootFileName | ( | ) |
TString TEcnaRun::GetRootFileNameShort | ( | ) |
Definition at line 1405 of file TEcnaRun.cc.
References fRootFileNameShort.
Referenced by TEcnaGui::Calculations().
{return fRootFileNameShort;}
void TEcnaRun::HighFrequencyCorrelationsBetweenChannels | ( | ) |
Definition at line 2767 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fEcalNumbering, fFileHeader, fFlagPrint, fFlagSubDet, TEcnaHeader::fHfCorCalc, fMiscDiag, TEcnaHeader::fStex, fT2d1_hf_cor, fT2d_hf_cor, fT2d_hf_cov, fTagHfCor, fTagHfCov, HighFrequencyCovariancesBetweenChannels(), TEcnaParEcal::MaxCrysEcnaInStex(), mathSSE::sqrt(), and TEcnaNumbering::StexEchaForCons().
Referenced by TEcnaGui::Calculations(), and HighFrequencyMeanCorrelationsBetweenStins().
{ //Calculation of the High Frequency Correlations between channels //... preliminary calculation of the covariances if not done yet. if ( fTagHfCov[0] != 1 ) {HighFrequencyCovariancesBetweenChannels(); fTagHfCov[0] = 0;} if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::HighFrequencyCorrelationsBetweenChannels()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation of the High Frequency Correlations between channels" << endl << " Starting allocation. " << endl;} //................. allocation fT2d_hf_cor + init to zero (mandatory) if( fT2d_hf_cor == 0 ){ const Int_t n_StexEcha = fEcal->MaxCrysEcnaInStex(); fT2d_hf_cor = new Double_t*[n_StexEcha]; fCnew++; fT2d1_hf_cor = new Double_t[n_StexEcha*n_StexEcha]; fCnew++; for(Int_t i0StexEcha = 0 ; i0StexEcha < n_StexEcha ; i0StexEcha++){ fT2d_hf_cor[i0StexEcha] = &fT2d1_hf_cor[0] + i0StexEcha*n_StexEcha;} } for (Int_t i0StexEcha = 0 ; i0StexEcha < fEcal->MaxCrysEcnaInStex() ; i0StexEcha++) { for (Int_t j0StexEcha = 0 ; j0StexEcha < fEcal->MaxCrysEcnaInStex() ; j0StexEcha++) { if( fT2d_hf_cor[i0StexEcha][j0StexEcha] != (Double_t)0 ) {fMiscDiag[24]++; fT2d_hf_cor[i0StexEcha][j0StexEcha] = (Double_t)0;} } } //................. calculation //........................... computation of half of the matrix, diagonal included for (Int_t i0StexEcha = 0 ; i0StexEcha < fEcal->MaxCrysEcnaInStex() ; i0StexEcha++) { if( (fFlagSubDet == "EE" && fEcalNumbering->StexEchaForCons(fFileHeader->fStex, i0StexEcha) > 0) || ( fFlagSubDet == "EB") ) { for (Int_t j0StexEcha = 0 ; j0StexEcha <= i0StexEcha ; j0StexEcha++) { if( (fFlagSubDet == "EE" && fEcalNumbering->StexEchaForCons(fFileHeader->fStex, j0StexEcha) > 0) || ( fFlagSubDet == "EB") ) { if( fT2d_hf_cov[i0StexEcha][i0StexEcha] > 0 && fT2d_hf_cov[j0StexEcha][j0StexEcha] > 0 ) { fT2d_hf_cor[i0StexEcha][j0StexEcha] = fT2d_hf_cov[i0StexEcha][j0StexEcha]/ ( (Double_t)sqrt(fT2d_hf_cov[i0StexEcha][i0StexEcha]) * (Double_t)sqrt(fT2d_hf_cov[j0StexEcha][j0StexEcha]) ); } else { fT2d_hf_cor[i0StexEcha][j0StexEcha] = (Double_t)0.; } fT2d_hf_cor[j0StexEcha][i0StexEcha] = fT2d_hf_cor[i0StexEcha][j0StexEcha]; } } } if( i0StexEcha%100 == 0 ){cout << i0StexEcha << "[HFN Cor], ";} } cout << endl; fTagHfCor[0] = 1; fFileHeader->fHfCorCalc++; }
void TEcnaRun::HighFrequencyCovariancesBetweenChannels | ( | ) |
Definition at line 2652 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fEcalNumbering, fFileHeader, fFlagPrint, fFlagSubDet, TEcnaHeader::fHfCovCalc, fMiscDiag, fNbSampForCalc, fNumberOfEvents, TEcnaHeader::fStex, fT2d1_hf_cov, fT2d_hf_cov, fT3d_distribs, fTagHfCov, TEcnaParEcal::MaxCrysEcnaInStex(), and TEcnaNumbering::StexEchaForCons().
Referenced by HighFrequencyCorrelationsBetweenChannels().
{ //Calculation of the High Frequency Covariances between channels if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::HighFrequencyCovariancesBetweenChannels()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation of the High Frequency Covariances between channels" << endl;} //................. allocation fT2d_hf_cov + init to zero (mandatory) if( fT2d_hf_cov == 0 ){ const Int_t n_StexEcha = fEcal->MaxCrysEcnaInStex(); fT2d_hf_cov = new Double_t*[n_StexEcha]; fCnew++; fT2d1_hf_cov = new Double_t[n_StexEcha*n_StexEcha]; fCnew++; for(Int_t i0StexEcha = 0 ; i0StexEcha < n_StexEcha ; i0StexEcha++){ fT2d_hf_cov[i0StexEcha] = &fT2d1_hf_cov[0] + i0StexEcha*n_StexEcha;} } for (Int_t i0StexEcha = 0 ; i0StexEcha < fEcal->MaxCrysEcnaInStex() ; i0StexEcha++) { for (Int_t j0StexEcha = 0 ; j0StexEcha < fEcal->MaxCrysEcnaInStex() ; j0StexEcha++) { if( fT2d_hf_cov[i0StexEcha][j0StexEcha] != (Double_t)0 ) {fMiscDiag[23]++; fT2d_hf_cov[i0StexEcha][j0StexEcha] = (Double_t)0;} } } //................... Allocation mean_over_samples(i0StexEcha, n_event) TMatrixD mean_over_samples(fEcal->MaxCrysEcnaInStex(), fNumberOfEvents); for(Int_t i0StexEcha=0; i0StexEcha<fEcal->MaxCrysEcnaInStex(); i0StexEcha++) {for(Int_t n_event=0; n_event<fNumberOfEvents; n_event++) {mean_over_samples(i0StexEcha, n_event)=(Double_t)0.;}} //................... Allocation cov_over_samp(i0StexEcha,j0StexEcha) TMatrixD cov_over_samp(fEcal->MaxCrysEcnaInStex(), fEcal->MaxCrysEcnaInStex()); for(Int_t i0StexEcha=0; i0StexEcha<fEcal->MaxCrysEcnaInStex(); i0StexEcha++) {for(Int_t j0StexEcha=0; j0StexEcha<fEcal->MaxCrysEcnaInStex(); j0StexEcha++) {cov_over_samp(i0StexEcha, j0StexEcha)=(Double_t)0.;}} //........................................... Calculation (HighFrequencyCovariancesBetweenChannels) if(fFlagPrint != fCodePrintNoComment){ cout << " Calculation of the mean (over the events)" << endl << " of the covariances between the channels (over the samples 1 to " << fNbSampForCalc << ")." << endl;} cout << " Please, wait (end at i= " << fEcal->MaxCrysEcnaInStex() << "): " << endl; for(Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { if( (fFlagSubDet == "EE" && fEcalNumbering->StexEchaForCons(fFileHeader->fStex, i0StexEcha) > 0) || ( fFlagSubDet == "EB") ) { for (Int_t n_event = 0; n_event < fNumberOfEvents; n_event++) { // Calculation, for each event, of the mean over the samples ( = E_s[A(c_i,s*,e_n] ) mean_over_samples(i0StexEcha, n_event) = (Double_t)0.; for(Int_t i0Sample=0; i0Sample<fNbSampForCalc; i0Sample++) {mean_over_samples(i0StexEcha, n_event) += fT3d_distribs[i0StexEcha][i0Sample][n_event];} mean_over_samples(i0StexEcha, n_event) /= (Double_t)fNbSampForCalc; } } if( i0StexEcha%100 == 0 ){cout << i0StexEcha << "[HFNa Cov], ";} } cout << endl; cout << " Please, wait (end at i= " << fEcal->MaxCrysEcnaInStex() << "): " << endl; //... Calculation of half of the matrix, diagonal included (HighFrequencyCovariancesBetweenChannels) for(Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { if( (fFlagSubDet == "EE" && fEcalNumbering->StexEchaForCons(fFileHeader->fStex, i0StexEcha) > 0) || ( fFlagSubDet == "EB") ) { for(Int_t j0StexEcha = 0; j0StexEcha <= i0StexEcha; j0StexEcha++) { if( (fFlagSubDet == "EE" && fEcalNumbering->StexEchaForCons(fFileHeader->fStex, j0StexEcha) > 0) || ( fFlagSubDet == "EB") ) { for (Int_t n_event = 0; n_event < fNumberOfEvents; n_event++) { // Calculation, for each event, of the covariance over the samples cov_over_samp(i0StexEcha,j0StexEcha) = (Double_t)0; for(Int_t i0Sample=0; i0Sample<fNbSampForCalc; i0Sample++) { cov_over_samp(i0StexEcha,j0StexEcha) += ( fT3d_distribs[i0StexEcha][i0Sample][n_event] - mean_over_samples(i0StexEcha, n_event) )* ( fT3d_distribs[j0StexEcha][i0Sample][n_event] - mean_over_samples(j0StexEcha, n_event) ); } cov_over_samp(i0StexEcha,j0StexEcha) /= (Double_t)fNbSampForCalc; } //....... Calculation of the mean over the events of Cov_s[A(c_i,s*,e*),A(c_j,s*,e*)] //......... Calculation of half of the matrix, diagonal included fT2d_hf_cov[i0StexEcha][j0StexEcha] = (Double_t)0; for (Int_t n_event = 0; n_event < fNumberOfEvents; n_event++) { fT2d_hf_cov[i0StexEcha][j0StexEcha] += cov_over_samp(i0StexEcha,j0StexEcha); } fT2d_hf_cov[i0StexEcha][j0StexEcha] /= (Double_t)fNumberOfEvents; fT2d_hf_cov[j0StexEcha][i0StexEcha] = fT2d_hf_cov[i0StexEcha][j0StexEcha]; } } } if( i0StexEcha%100 == 0 ){cout << i0StexEcha << "[HFNb Cov], ";} } cout << endl; fTagHfCov[0] = 1; fFileHeader->fHfCovCalc++; }
void TEcnaRun::HighFrequencyMeanCorrelationsBetweenSCs | ( | ) |
Definition at line 2948 of file TEcnaRun.cc.
References HighFrequencyMeanCorrelationsBetweenStins().
void TEcnaRun::HighFrequencyMeanCorrelationsBetweenStins | ( | ) |
Definition at line 2951 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, fFlagPrint, fFlagSubDet, TEcnaHeader::fHFccMoStinsCalc, fMiscDiag, fT2d1_hfcc_mostins, fT2d_hf_cor, fT2d_hfcc_mostins, fTagHFccMoStins, fTagHfCor, fTTBELL, HighFrequencyCorrelationsBetweenChannels(), i, TEcnaParEcal::MaxCrysInStin(), and TEcnaParEcal::MaxStinEcnaInStex().
Referenced by TEcnaGui::Calculations(), HighFrequencyMeanCorrelationsBetweenSCs(), and HighFrequencyMeanCorrelationsBetweenTowers().
{ //Calculation of the mean of the High Frequency Correlations //between channels for each Stin //... preliminary calculation of the High Frequency Cor(c,c) if not done yet // Only one tag (dim=1) to set to 0 (no write in the result ROOT file) if(fTagHfCor[0] != 1){HighFrequencyCorrelationsBetweenChannels();fTagHfCor[0]=0;} //..... mean of the fT2d_hfcc_mostins for each pair (Stin_X,Stin_Y) if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::HighFrequencyMeanCorrelationsBetweenStins()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation of the mean, for each " << fFlagSubDet.Data() << ", of the" << endl << " High Frequency Correlations between channels." << endl;} //................. allocation fT2d_hfcc_mostins + init to zero (mandatory) if( fT2d_hfcc_mostins == 0 ){ const Int_t n_Stin = fEcal->MaxStinEcnaInStex(); fT2d_hfcc_mostins = new Double_t*[n_Stin]; fCnew++; fT2d1_hfcc_mostins = new Double_t[n_Stin*n_Stin]; fCnew++; for(Int_t i0StexStinEcna = 0 ; i0StexStinEcna < n_Stin ; i0StexStinEcna++){ fT2d_hfcc_mostins[i0StexStinEcna] = &fT2d1_hfcc_mostins[0] + i0StexStinEcna*n_Stin;} } for(Int_t i0StexStinEcna=0; i0StexStinEcna<fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) { for(Int_t j0StexStinEcna=0; j0StexStinEcna<fEcal->MaxStinEcnaInStex(); j0StexStinEcna++) { if( fT2d_hfcc_mostins[i0StexStinEcna][j0StexStinEcna] != (Double_t)0 ) {fMiscDiag[32]++; fT2d_hfcc_mostins[i0StexStinEcna][j0StexStinEcna] = (Double_t)0;} } } //..... Calculation of the mean of the HF Cor(c,c) for each pair (Stin_X,Stin_Y) // // ! => Warning: this matrix is NOT symmetric => take N*N elements // Only (Stin,Stin) matrix is symmetric. // (StinEcha,StinEcha) matrix inside a (Stin,Stin) element is NOT symmetric // (except for the (Stin,Stin) DIAGONAL elements) // Then: // 1D array half_LFccMos[N*N] to put the (channel,channel) correlations Int_t ndim = (Int_t)(fEcal->MaxCrysInStin()*fEcal->MaxCrysInStin()); TVectorD half_HFccMos(ndim); for(Int_t i=0; i<ndim; i++){half_HFccMos(i)=(Double_t)0.;} if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::HighFrequencyMeanCorrelationsBetweenStins()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for each " << fFlagSubDet.Data() << ", of the mean of the" << endl << " High Frequency cor(c,c)." << endl;} //..................... Calculation for(Int_t i0StexStinEcna=0; i0StexStinEcna<fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) { for(Int_t j0StexStinEcna=0; j0StexStinEcna<fEcal->MaxStinEcnaInStex(); j0StexStinEcna++) { //.................... Copy the relevant Mean Correlations(c,c') in 1D vector half_HFccMos() Int_t i_count = 0; for(Int_t i0StinCrys=0; i0StinCrys<fEcal->MaxCrysInStin(); i0StinCrys++) { Int_t i0StexEcha = i0StexStinEcna*fEcal->MaxCrysInStin() + i0StinCrys; for(Int_t j0StinCrys=0; j0StinCrys<fEcal->MaxCrysInStin(); j0StinCrys++) { Int_t j0StexEcha = j0StexStinEcna*fEcal->MaxCrysInStin() + j0StinCrys; if( (i0StexEcha>= 0 && i0StexEcha < fEcal->MaxCrysEcnaInStex()) && (j0StexEcha>= 0 && j0StexEcha < fEcal->MaxCrysEcnaInStex()) ) {half_HFccMos(i_count) = fT2d_hf_cor[i0StexEcha][j0StexEcha]; i_count++;} else {cout << "!TEcnaRun::HighFrequencyMeanCorrelationsBetweenStins()> Channel number out of range." << "i0StexEcha = " << i0StexEcha <<", j0StexEcha = " << j0StexEcha << fTTBELL << endl; } } } //..... Calculation of the mean of the absolute values of the HF mean Correlations(c,c') fT2d_hfcc_mostins[i0StexStinEcna][j0StexStinEcna] = (Double_t)0; for(Int_t i_rcor = 0; i_rcor < ndim; i_rcor++) { fT2d_hfcc_mostins[i0StexStinEcna][j0StexStinEcna] += fabs(half_HFccMos(i_rcor)); } fT2d_hfcc_mostins[i0StexStinEcna][j0StexStinEcna] /= (Double_t)ndim; } if( i0StexStinEcna%10 == 0 ){cout << i0StexStinEcna << "[HFN MCtt], ";} } cout << endl; fTagHFccMoStins[0] = 1; fFileHeader->fHFccMoStinsCalc++; } // ------- end of HighFrequencyMeanCorrelationsBetweenStins() -------
void TEcnaRun::HighFrequencyMeanCorrelationsBetweenTowers | ( | ) |
Definition at line 2946 of file TEcnaRun.cc.
References HighFrequencyMeanCorrelationsBetweenStins().
void TEcnaRun::HighFrequencyNoise | ( | ) |
Definition at line 1911 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, fFlagPrint, TEcnaHeader::fHfnCalc, fMiscDiag, fNbSampForCalc, fNumberOfEvents, fT1d_evevt_of_sigsamp, fT3d_distribs, fTagHfn, fTTBELL, i, TEcnaParEcal::MaxCrysEcnaInStex(), and mathSSE::sqrt().
Referenced by AveragedHighFrequencyNoise(), and TEcnaGui::Calculations().
{ // Calculation, for each channel, of the mean (over the events) // of the ADC sigmas (over the samples 0 to fNbSampForCalc-1) //................... Allocation fT1d_evevt_of_sigsamp + init to zero (mandatory) if( fT1d_evevt_of_sigsamp == 0 ){ fT1d_evevt_of_sigsamp = new Double_t[fEcal->MaxCrysEcnaInStex()]; fCnew++; } for(Int_t i0StexEcha=0; i0StexEcha<fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { if( fT1d_evevt_of_sigsamp[i0StexEcha] != (Double_t)0 ) {fMiscDiag[14]++; fT1d_evevt_of_sigsamp[i0StexEcha] = (Double_t)0;} } //................... Allocations mean_over_samples, sigma_over_sample TVectorD mean_over_samples(fNumberOfEvents); for(Int_t i=0; i<fNumberOfEvents; i++){mean_over_samples(i)=(Double_t)0.;} TVectorD sigma_over_samples(fNumberOfEvents); for(Int_t i=0; i<fNumberOfEvents; i++){sigma_over_samples(i)=(Double_t)0.;} //..................... Calculation if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::HighFrequencyNoise()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for each channel, of the sigma (over the events)" << endl << " of the ADC expectation values (over the samples 1 to " << fNbSampForCalc << ")." << endl;} for(Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { //..................... Calculation of the sigma over samples for (Int_t n_event = 0; n_event < fNumberOfEvents; n_event++) { // Calculation, for each event, of the mean over the samples mean_over_samples(n_event) = (Double_t)0.; for(Int_t i0Sample=0; i0Sample<fNbSampForCalc; i0Sample++) {mean_over_samples(n_event) += fT3d_distribs[i0StexEcha][i0Sample][n_event];} mean_over_samples(n_event) /= (Double_t)fNbSampForCalc; // Calculation, for each event, of the sigma over the samples Double_t var_over_samples = (Double_t)0; for(Int_t i0Sample=0; i0Sample<fNbSampForCalc; i0Sample++) {Double_t deviation = fT3d_distribs[i0StexEcha][i0Sample][n_event] - mean_over_samples(n_event); var_over_samples += deviation*deviation;} var_over_samples /= (Double_t)fNbSampForCalc; if( var_over_samples < 0) {cout << "!TEcnaRun::HighFrequencyNoise() *** ERROR ***> Negative variance! " << fTTBELL << endl;} else {sigma_over_samples(n_event) = sqrt(var_over_samples);} } //....... Calculation of the mean over the events of the sigma over samples for (Int_t n_event = 0; n_event < fNumberOfEvents; n_event++) {fT1d_evevt_of_sigsamp[i0StexEcha] += sigma_over_samples(n_event);} fT1d_evevt_of_sigsamp[i0StexEcha] /= (Double_t)fNumberOfEvents; } fTagHfn[0] = 1; fFileHeader->fHfnCalc++; }
void TEcnaRun::Init | ( | void | ) |
Definition at line 356 of file TEcnaRun.cc.
References fBuildEvtNotSkipped, fCdelete, fCnaCommand, fCnaError, fCnaParCout, fCnaParPaths, fCnew, fCodePrintAllComments, fCodePrintComments, fCodePrintNoComment, fCodePrintWarnings, fFileHeader, fFlagPrint, fgMaxCar, fMaxMsgIndexForMiscDiag, fMiscDiag, fNbOfMiscDiagCounters, fNumberOfEvents, fOpenRootFile, fReadyToReadData, fSpecialStexStinNotIndexed, fStinIndexBuilt, fT1d_av_ev_corss, fT1d_av_hifn, fT1d_av_lofn, fT1d_av_mped, fT1d_av_sig_corss, fT1d_av_totn, fT1d_ev, fT1d_ev_cor_ss, fT1d_ev_ev, fT1d_evevt_of_sigsamp, fT1d_evsamp_of_sigevt, fT1d_NbOfEvts, fT1d_sig, fT1d_sig_cor_ss, fT1d_sigevt_of_evsamp, fT1d_StexStinFromIndex, fT1dCrysNumbersTable, fT2d1_hf_cor, fT2d1_hf_cov, fT2d1_hfcc_mostins, fT2d1_lf_cor, fT2d1_lf_cov, fT2d1_lfcc_mostins, fT2d_ev, fT2d_hf_cor, fT2d_hf_cov, fT2d_hfcc_mostins, fT2d_lf_cor, fT2d_lf_cov, fT2d_lfcc_mostins, fT2d_NbOfEvts, fT2d_sig, fT2dCrysNumbersTable, fT3d1_cor_ss, fT3d1_cov_ss, fT3d1_distribs, fT3d2_cor_ss, fT3d2_cov_ss, fT3d2_distribs, fT3d_cor_ss, fT3d_cov_ss, fT3d_distribs, fTagAdcEvt, fTagAvHfn, fTagAvLfn, fTagAvMeanCorss, fTagAvPed, fTagAvSigCorss, fTagAvTno, fTagCorCss, fTagCovCss, fTagHFccMoStins, fTagHfCor, fTagHfCov, fTagHfn, fTagLFccMoStins, fTagLfCor, fTagLfCov, fTagLfn, fTagMeanCorss, fTagMSp, fTagNbOfEvts, fTagPed, fTagSigCorss, fTagSSp, fTagStinNumbers, fTagTno, fTTBELL, and TEcnaParCout::GetCodePrint().
Referenced by TEcnaRun().
{ //Initialisation fCnew = 0; fCdelete = 0; fCnaCommand = 0; fCnaError = 0; fTTBELL = '\007'; //........................... TString file names init fgMaxCar = (Int_t)512; //................ MiscDiag counters ................. fMaxMsgIndexForMiscDiag = (Int_t)10; fNbOfMiscDiagCounters = (Int_t)50; fMiscDiag = 0; fNumberOfEvents = 0; //............................. init pointers ( Init() ) fT3d_distribs = 0; fT3d2_distribs = 0; fT3d1_distribs = 0; fT1d_StexStinFromIndex = 0; fT2d_NbOfEvts = 0; fT1d_NbOfEvts = 0; fT2d_ev = 0; fT1d_ev = 0; fT2d_sig = 0; fT1d_sig = 0; fT3d_cov_ss = 0; fT3d2_cov_ss = 0; fT3d1_cov_ss = 0; fT3d_cor_ss = 0; fT3d2_cor_ss = 0; fT3d1_cor_ss = 0; fT2d_lf_cov = 0; fT2d1_lf_cov = 0; fT2d_lf_cor = 0; fT2d1_lf_cor = 0; fT2d_hf_cov = 0; fT2d1_hf_cov = 0; fT2d_hf_cor = 0; fT2d1_hf_cor = 0; fT2d_lfcc_mostins = 0; fT2d1_lfcc_mostins = 0; fT2d_hfcc_mostins = 0; fT2d1_hfcc_mostins = 0; fT1d_ev_ev = 0; fT1d_evsamp_of_sigevt = 0; fT1d_ev_cor_ss = 0; fT1d_av_mped = 0; fT1d_av_totn = 0; fT1d_av_lofn = 0; fT1d_av_hifn = 0; fT1d_av_ev_corss = 0; fT1d_av_sig_corss = 0; fT1d_sigevt_of_evsamp = 0; fT1d_evevt_of_sigsamp = 0; fT1d_sig_cor_ss = 0; fT2dCrysNumbersTable = 0; fT1dCrysNumbersTable = 0; //................................ tags ( Init() ) fTagStinNumbers = 0; fTagNbOfEvts = 0; fTagAdcEvt = 0; fTagMSp = 0; fTagSSp = 0; fTagCovCss = 0; fTagCorCss = 0; fTagHfCov = 0; fTagHfCor = 0; fTagLfCov = 0; fTagLfCor = 0; fTagLFccMoStins = 0; fTagHFccMoStins = 0; fTagPed = 0; fTagTno = 0; fTagMeanCorss = 0; fTagLfn = 0; fTagHfn = 0; fTagSigCorss = 0; fTagAvPed = 0; fTagAvTno = 0; fTagAvLfn = 0; fTagAvHfn = 0; fTagAvMeanCorss = 0; fTagAvSigCorss = 0; //................................................... Code Print ( Init() ) fFlagPrint = fCodePrintWarnings; fCnaParCout = 0; fCnaParCout = new TEcnaParCout(); //fCnew++; fCodePrintNoComment = fCnaParCout->GetCodePrint("NoComment"); fCodePrintWarnings = fCnaParCout->GetCodePrint("Warnings "); // => default value fCodePrintComments = fCnaParCout->GetCodePrint("Comments"); fCodePrintAllComments = fCnaParCout->GetCodePrint("AllComments"); //................................................... Paths fCnaParPaths = 0; fCnaParPaths = new TEcnaParPaths(); //fCnew++; fOpenRootFile = kFALSE; fReadyToReadData = 0; //.............................................. Miscellaneous fFileHeader = 0; const Text_t *h_name = "CnaHeader"; //==> voir cette question avec FXG const Text_t *h_title = "CnaHeader"; //==> voir cette question avec FXG fFileHeader = new TEcnaHeader(h_name, h_title); //fCnew++; fSpecialStexStinNotIndexed = -1; fStinIndexBuilt = 0; fBuildEvtNotSkipped = 0; }// end of Init()
void TEcnaRun::LowFrequencyCorrelationsBetweenChannels | ( | ) |
Definition at line 2579 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fEcalNumbering, fFileHeader, fFlagPrint, fFlagSubDet, TEcnaHeader::fLfCorCalc, fMiscDiag, TEcnaHeader::fStex, fT2d1_lf_cor, fT2d_lf_cor, fT2d_lf_cov, fTagLfCor, fTagLfCov, LowFrequencyCovariancesBetweenChannels(), TEcnaParEcal::MaxCrysEcnaInStex(), mathSSE::sqrt(), and TEcnaNumbering::StexEchaForCons().
Referenced by TEcnaGui::Calculations(), and LowFrequencyMeanCorrelationsBetweenStins().
{ //Calculation of the Low Frequency Correlations between channels //... preliminary calculation of the covariances if not done yet. if ( fTagLfCov[0] != 1 ) {LowFrequencyCovariancesBetweenChannels(); fTagLfCov[0] = 0;} if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::LowFrequencyCorrelationsBetweenChannels()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation of the Low Frequency Correlations between channels" << endl << " Starting allocation. " << endl;} //................. allocation fT2d_lf_cor + init to zero (mandatory) if( fT2d_lf_cor == 0 ){ const Int_t n_StexEcha = fEcal->MaxCrysEcnaInStex(); fT2d_lf_cor = new Double_t*[n_StexEcha]; fCnew++; fT2d1_lf_cor = new Double_t[n_StexEcha*n_StexEcha]; fCnew++; for(Int_t i0StexEcha = 0 ; i0StexEcha < n_StexEcha ; i0StexEcha++){ fT2d_lf_cor[i0StexEcha] = &fT2d1_lf_cor[0] + i0StexEcha*n_StexEcha;} } for (Int_t i0StexEcha = 0 ; i0StexEcha < fEcal->MaxCrysEcnaInStex() ; i0StexEcha++) { for (Int_t j0StexEcha = 0 ; j0StexEcha < fEcal->MaxCrysEcnaInStex() ; j0StexEcha++) { if( fT2d_lf_cor[i0StexEcha][j0StexEcha] != (Double_t)0 ) {fMiscDiag[22]++; fT2d_lf_cor[i0StexEcha][j0StexEcha] = (Double_t)0;} } } //................. calculation //........................... computation of half of the matrix, diagonal included for (Int_t i0StexEcha = 0 ; i0StexEcha < fEcal->MaxCrysEcnaInStex() ; i0StexEcha++) { if( (fFlagSubDet == "EE" && fEcalNumbering->StexEchaForCons(fFileHeader->fStex, i0StexEcha) > 0) || ( fFlagSubDet == "EB") ) { for (Int_t j0StexEcha = 0 ; j0StexEcha <= i0StexEcha ; j0StexEcha++) { if( (fFlagSubDet == "EE" && fEcalNumbering->StexEchaForCons(fFileHeader->fStex, j0StexEcha) > 0) || ( fFlagSubDet == "EB") ) { if( fT2d_lf_cov[i0StexEcha][i0StexEcha] > 0 && fT2d_lf_cov[j0StexEcha][j0StexEcha] > 0 ) { fT2d_lf_cor[i0StexEcha][j0StexEcha] = fT2d_lf_cov[i0StexEcha][j0StexEcha]/ ( (Double_t)sqrt( fT2d_lf_cov[i0StexEcha][i0StexEcha]* fT2d_lf_cov[j0StexEcha][j0StexEcha] ) ); } else { fT2d_lf_cor[i0StexEcha][j0StexEcha] = (Double_t)0.; } fT2d_lf_cor[j0StexEcha][i0StexEcha] = fT2d_lf_cor[i0StexEcha][j0StexEcha]; } } } if( i0StexEcha%100 == 0 ){cout << i0StexEcha << "[LFN Cor], ";} } cout << endl; fTagLfCor[0] = 1; fFileHeader->fLfCorCalc++; }
void TEcnaRun::LowFrequencyCovariancesBetweenChannels | ( | ) |
Definition at line 2476 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fEcalNumbering, fFileHeader, fFlagPrint, fFlagSubDet, TEcnaHeader::fLfCovCalc, fMiscDiag, fNbSampForCalc, fNumberOfEvents, TEcnaHeader::fStex, fT2d1_lf_cov, fT2d_lf_cov, fT3d_distribs, fTagLfCov, TEcnaParEcal::MaxCrysEcnaInStex(), and TEcnaNumbering::StexEchaForCons().
Referenced by LowFrequencyCorrelationsBetweenChannels().
{ //Calculation of the Low Frequency Covariances between channels if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::LowFrequencyCovariancesBetweenChannels()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation of the Low Frequency Covariances between channels" << endl;} //................. allocation fT2d_lf_cov + init to zero (mandatory) if( fT2d_lf_cov == 0 ){ const Int_t n_StexEcha = fEcal->MaxCrysEcnaInStex(); fT2d_lf_cov = new Double_t*[n_StexEcha]; fCnew++; fT2d1_lf_cov = new Double_t[n_StexEcha*n_StexEcha]; fCnew++; for(Int_t i0StexEcha = 0 ; i0StexEcha < n_StexEcha ; i0StexEcha++){ fT2d_lf_cov[i0StexEcha] = &fT2d1_lf_cov[0] + i0StexEcha*n_StexEcha;}} for (Int_t i0StexEcha = 0 ; i0StexEcha < fEcal->MaxCrysEcnaInStex() ; i0StexEcha++) { for (Int_t j0StexEcha = 0 ; j0StexEcha < fEcal->MaxCrysEcnaInStex() ; j0StexEcha++) { if( fT2d_lf_cov[i0StexEcha][j0StexEcha] != (Double_t)0 ) {fMiscDiag[21]++; fT2d_lf_cov[i0StexEcha][j0StexEcha] = (Double_t)0;} } } //........................................... Calculation (LowFrequencyCovariancesBetweenChannels) //................... Allocation mean_over_samples(i0StexEcha, n_event) TMatrixD mean_over_samples(fEcal->MaxCrysEcnaInStex(), fNumberOfEvents); for(Int_t i0StexEcha=0; i0StexEcha<fEcal->MaxCrysEcnaInStex(); i0StexEcha++) {for(Int_t n_event=0; n_event<fNumberOfEvents; n_event++) {mean_over_samples(i0StexEcha, n_event)=(Double_t)0.;}} //................... Allocation MoeOfMos(i0StexEcha) TVectorD MoeOfMos(fEcal->MaxCrysEcnaInStex()); for(Int_t i0StexEcha=0; i0StexEcha<fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { MoeOfMos(i0StexEcha)=(Double_t)0.;} //................... Calculation if(fFlagPrint != fCodePrintNoComment){ cout << " Calculation, for each pair of channels, of the covariance (over the events)" << endl << " between the ADC expectation values (over the samples 1 to " << fNbSampForCalc << ")." << endl;} cout << " Please, wait (end at i= " << fEcal->MaxCrysEcnaInStex() << "): " << endl; for(Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { MoeOfMos(i0StexEcha) = (Double_t)0; if( (fFlagSubDet == "EE" && fEcalNumbering->StexEchaForCons(fFileHeader->fStex, i0StexEcha) > 0) || ( fFlagSubDet == "EB") ) { for (Int_t n_event = 0; n_event < fNumberOfEvents; n_event++) { // Calculation, for each event, of the mean over the samples ( = E_s[A(c_i,s*,e_n] ) mean_over_samples(i0StexEcha, n_event) = (Double_t)0.; for(Int_t i0Sample=0; i0Sample<fNbSampForCalc; i0Sample++) { mean_over_samples(i0StexEcha, n_event) += fT3d_distribs[i0StexEcha][i0Sample][n_event]; } mean_over_samples(i0StexEcha, n_event) /= (Double_t)fNbSampForCalc; } //Calculation of the mean over the events of E_s[A(c_i,s*,e_n] ( = E_e[E_s[A(c_i,s*,e*]] ) for (Int_t n_event = 0; n_event < fNumberOfEvents; n_event++) {MoeOfMos(i0StexEcha) += mean_over_samples(i0StexEcha, n_event);} MoeOfMos(i0StexEcha) /= (Double_t)fNumberOfEvents; } } //... Calculation of half of the matrix, diagonal included (LowFrequencyCovariancesBetweenChannels) for(Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { if( (fFlagSubDet == "EE" && fEcalNumbering->StexEchaForCons(fFileHeader->fStex, i0StexEcha) > 0) || ( fFlagSubDet == "EB") ) { for(Int_t j0StexEcha = 0; j0StexEcha <= i0StexEcha; j0StexEcha++) { if( (fFlagSubDet == "EE" && fEcalNumbering->StexEchaForCons(fFileHeader->fStex, j0StexEcha) > 0) || ( fFlagSubDet == "EB") ) { fT2d_lf_cov[i0StexEcha][j0StexEcha] = (Double_t)0; for (Int_t n_event = 0; n_event < fNumberOfEvents; n_event++) { fT2d_lf_cov[i0StexEcha][j0StexEcha] += ( mean_over_samples(i0StexEcha, n_event) - MoeOfMos(i0StexEcha) ) *( mean_over_samples(j0StexEcha, n_event) - MoeOfMos(j0StexEcha) ); } fT2d_lf_cov[i0StexEcha][j0StexEcha] /= (Double_t)fNumberOfEvents; fT2d_lf_cov[j0StexEcha][i0StexEcha] = fT2d_lf_cov[i0StexEcha][j0StexEcha]; } } if( i0StexEcha%100 == 0 ){cout << i0StexEcha << "[LFN Cov], ";} } } cout << endl; fTagLfCov[0] = 1; fFileHeader->fLfCovCalc++; }
void TEcnaRun::LowFrequencyMeanCorrelationsBetweenSCs | ( | ) |
Definition at line 2850 of file TEcnaRun.cc.
References LowFrequencyMeanCorrelationsBetweenStins().
void TEcnaRun::LowFrequencyMeanCorrelationsBetweenStins | ( | ) |
Definition at line 2853 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, fFlagPrint, TEcnaHeader::fLFccMoStinsCalc, fMiscDiag, fStinName, fT2d1_lfcc_mostins, fT2d_lf_cor, fT2d_lfcc_mostins, fTagLFccMoStins, fTagLfCor, fTTBELL, i, LowFrequencyCorrelationsBetweenChannels(), TEcnaParEcal::MaxCrysInStin(), and TEcnaParEcal::MaxStinEcnaInStex().
Referenced by TEcnaGui::Calculations(), LowFrequencyMeanCorrelationsBetweenSCs(), and LowFrequencyMeanCorrelationsBetweenTowers().
{ //Calculation of the mean of the Low Frequency Correlations //between channels for each Stin //... preliminary calculation of the Low Frequency Cor(c,c) if not done yet // Only one tag (dim=1) to set to 0 (no write in the result ROOT file) if(fTagLfCor[0] != 1){LowFrequencyCorrelationsBetweenChannels(); fTagLfCor[0]=0;} //..... mean of the fT2d_lfcc_mostins for each pair (Stin_X,Stin_Y) if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::LowFrequencyMeanCorrelationsBetweenStins()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation of the mean, for each " << fStinName.Data() << ", of the" << endl << " Low Frequency Correlations between channels." << endl;} //................. allocation fT2d_lfcc_mostins + init to zero (mandatory) if( fT2d_lfcc_mostins == 0 ){ const Int_t n_Stin = fEcal->MaxStinEcnaInStex(); fT2d_lfcc_mostins = new Double_t*[n_Stin]; fCnew++; fT2d1_lfcc_mostins = new Double_t[n_Stin*n_Stin]; fCnew++; for(Int_t i0StexStinEcna = 0 ; i0StexStinEcna < n_Stin ; i0StexStinEcna++){ fT2d_lfcc_mostins[i0StexStinEcna] = &fT2d1_lfcc_mostins[0] + i0StexStinEcna*n_Stin;} } for(Int_t i0StexStinEcna=0; i0StexStinEcna<fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) { for(Int_t j0StexStinEcna=0; j0StexStinEcna<fEcal->MaxStinEcnaInStex(); j0StexStinEcna++) { if( fT2d_lfcc_mostins[i0StexStinEcna][j0StexStinEcna] != (Double_t)0 ) {fMiscDiag[31]++; fT2d_lfcc_mostins[i0StexStinEcna][j0StexStinEcna] = (Double_t)0;} } } //..... Calculation of the mean of the LF Cor(c,c) for each pair (Stin_X,Stin_Y) // // ! => Warning: this matrix is NOT symmetric => take N*N elements // Only (Stin,Stin) matrix is symmetric. // (StinEcha,StinEcha) matrix inside a (Stin,Stin) element is NOT symmetric // (except for the (Stin,Stin) DIAGONAL elements) // Then: // 1D array half_LFccMos[N*N] to put the (channel,channel) correlations Int_t ndim = (Int_t)(fEcal->MaxCrysInStin()*fEcal->MaxCrysInStin()); TVectorD half_LFccMos(ndim); for(Int_t i=0; i<ndim; i++){half_LFccMos(i)=(Double_t)0.;} //..................... Calculation if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::LowFrequencyMeanCorrelationsBetweenStins()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for each " << fStinName.Data() << ", of the mean of the" << endl << " Low Frequency cor(c,c)." << endl;} for(Int_t i0StexStinEcna=0; i0StexStinEcna<fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) { for(Int_t j0StexStinEcna=0; j0StexStinEcna<fEcal->MaxStinEcnaInStex(); j0StexStinEcna++) { //................... .Copy the Mean Correlations(c,c') in 1D vector half_LFccMos() Int_t i_count = 0; for(Int_t i0StinCrys=0; i0StinCrys<fEcal->MaxCrysInStin(); i0StinCrys++) { Int_t i0StexEcha = i0StexStinEcna*fEcal->MaxCrysInStin() + i0StinCrys; for(Int_t j0StinCrys=0; j0StinCrys<fEcal->MaxCrysInStin(); j0StinCrys++) { Int_t j0StexEcha = j0StexStinEcna*fEcal->MaxCrysInStin() + j0StinCrys; if( (i0StexEcha>= 0 && i0StexEcha < fEcal->MaxCrysEcnaInStex()) && (j0StexEcha>= 0 && j0StexEcha < fEcal->MaxCrysEcnaInStex()) ) {half_LFccMos(i_count) = fT2d_lf_cor[i0StexEcha][j0StexEcha]; i_count++;} else {cout << "!TEcnaRun::LowFrequencyMeanCorrelationsBetweenStins()> Channel number out of range." << "i0StexEcha = " << i0StexEcha <<", j0StexEcha = " << j0StexEcha << fTTBELL << endl; } } } //...... Calculation of the mean of the absolute values of the LF mean Correlations(c,c') fT2d_lfcc_mostins[i0StexStinEcna][j0StexStinEcna] = (Double_t)0; for(Int_t i_rcor = 0; i_rcor < ndim; i_rcor++) { fT2d_lfcc_mostins[i0StexStinEcna][j0StexStinEcna] += fabs(half_LFccMos(i_rcor)); } fT2d_lfcc_mostins[i0StexStinEcna][j0StexStinEcna] /= (Double_t)ndim; } if( i0StexStinEcna%10 == 0 ){cout << i0StexStinEcna << "[LFN MCtt], ";} } cout << endl; fTagLFccMoStins[0] = 1; fFileHeader->fLFccMoStinsCalc++; } // ------- end of LowFrequencyMeanCorrelationsBetweenStins() -------
void TEcnaRun::LowFrequencyMeanCorrelationsBetweenTowers | ( | ) |
Definition at line 2848 of file TEcnaRun.cc.
References LowFrequencyMeanCorrelationsBetweenStins().
void TEcnaRun::LowFrequencyNoise | ( | ) |
Definition at line 1846 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, fFlagPrint, TEcnaHeader::fLfnCalc, fMiscDiag, fNbSampForCalc, fNumberOfEvents, fT1d_sigevt_of_evsamp, fT3d_distribs, fTagLfn, i, TEcnaParEcal::MaxCrysEcnaInStex(), and mathSSE::sqrt().
Referenced by AveragedLowFrequencyNoise(), and TEcnaGui::Calculations().
{ // Calculation, for each channel, of the sigma (over the events) // of the ADC expectation values (over the samples 0 to fNbSampForCalc-1) //................... Allocation fT1d_sigevt_of_evsamp + init to zero (mandatory) if( fT1d_sigevt_of_evsamp == 0 ){ fT1d_sigevt_of_evsamp = new Double_t[fEcal->MaxCrysEcnaInStex()]; fCnew++; } for(Int_t i0StexEcha=0; i0StexEcha<fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { if( fT1d_sigevt_of_evsamp[i0StexEcha] != (Double_t)0 ) {fMiscDiag[13]++; fT1d_sigevt_of_evsamp[i0StexEcha] = (Double_t)0;} } //................... Allocation mean_over_samples TVectorD mean_over_samples(fNumberOfEvents); for(Int_t i=0; i<fNumberOfEvents; i++){mean_over_samples(i)=(Double_t)0.;} //..................... Calculation if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::LowFrequencyNoise()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for each channel, of the sigma (over the events)" << endl << " of the ADC expectation values (over the samples 1 to " << fNbSampForCalc << ")." << endl;} for(Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { // Calculation of the mean over the events of the mean over the samples Double_t mean_over_events = (Double_t)0; for (Int_t n_event = 0; n_event < fNumberOfEvents; n_event++) { // Calculation, for each event, of the mean over the samples mean_over_samples(n_event) = (Double_t)0.; for(Int_t i0Sample=0; i0Sample<fNbSampForCalc; i0Sample++) { mean_over_samples(n_event) += fT3d_distribs[i0StexEcha][i0Sample][n_event]; } mean_over_samples(n_event) /= (Double_t)fNbSampForCalc; mean_over_events += mean_over_samples(n_event); } mean_over_events /= (Double_t)fNumberOfEvents; // Calculation of the sigma over the events of the mean over the samples Double_t var = (Double_t)0; for (Int_t n_event = 0; n_event < fNumberOfEvents; n_event++) { Double_t ecart = mean_over_samples(n_event) - mean_over_events; var += ecart*ecart; } var /= (Double_t)fNumberOfEvents; fT1d_sigevt_of_evsamp[i0StexEcha] = sqrt(var); } fTagLfn[0] = 1; fFileHeader->fLfnCalc++; }
void TEcnaRun::MeanOfCorrelationsBetweenSamples | ( | ) |
Definition at line 1980 of file TEcnaRun.cc.
References CorrelationsBetweenSamples(), gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, fFlagPrint, TEcnaHeader::fMeanCorssCalc, fMiscDiag, fNbSampForCalc, fT1d_ev_cor_ss, fT3d_cor_ss, fTagCorCss, fTagMeanCorss, i, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by AveragedMeanOfCorrelationsBetweenSamples(), TEcnaGui::Calculations(), and SigmaOfCorrelationsBetweenSamples().
{ // Calculation, for all the channels, of the expectation values // of the correlations between the first fNbSampForCalc samples //... preliminary calculation of the correlations if not done yet // (test only the first element since the cor are computed globaly) if ( fTagCorCss[0] != 1 ){CorrelationsBetweenSamples(); fTagCorCss[0]=0;} //................... Allocations ev_cor_ss + init to zero (mandatory) if( fT1d_ev_cor_ss == 0 ){ Int_t n_StexEcha = fEcal->MaxCrysEcnaInStex(); fT1d_ev_cor_ss = new Double_t[n_StexEcha]; fCnew++; } for(Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { if( fT1d_ev_cor_ss[i0StexEcha] != (Double_t)0 ) {fMiscDiag[15]++; fT1d_ev_cor_ss[i0StexEcha] = (Double_t)0;} } //.......... 1D array half_cor_ss[N(N-1)/2] to put the N (sample,sample) correlations // ( half of (them minus the diagonal) ) Int_t ndim = (Int_t)(fNbSampForCalc*(fNbSampForCalc - 1)/2); TVectorD half_cor_ss(ndim); for(Int_t i=0; i<ndim; i++){half_cor_ss(i)=(Double_t)0.;} //..................... Calculation if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::MeanOfCorrelationsBetweenSamples()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for all the channels, of the expectation values of the" << endl << " correlations between the first " << fNbSampForCalc << " samples." << endl;} for(Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { //..................... half_cor_ss() array filling Int_t i_count = 0; for (Int_t i0Sample = 0; i0Sample < fNbSampForCalc; i0Sample++) { for (Int_t j0Sample = 0; j0Sample < i0Sample; j0Sample++) { half_cor_ss(i_count) = fT3d_cor_ss[i0StexEcha][i0Sample][j0Sample]; i_count++; } } //...................... mean of cor(s,s') calculation fT1d_ev_cor_ss[i0StexEcha] = (Double_t)0; for(Int_t i_rcor = 0; i_rcor < ndim; i_rcor++) { fT1d_ev_cor_ss[i0StexEcha] += half_cor_ss(i_rcor); } fT1d_ev_cor_ss[i0StexEcha] /= (Double_t)ndim; } fTagMeanCorss[0] = 1; fFileHeader->fMeanCorssCalc++; }
Bool_t TEcnaRun::OpenRootFile | ( | const Text_t * | name, |
TString | status | ||
) |
Definition at line 3056 of file TEcnaRun.cc.
References gather_cfg::cout, fCnaParPaths, fCnew, fCodePrintAllComments, fFlagPrint, fOpenRootFile, TCnaRootFile::fRootFileStatus, gCnaRootFile, TCnaRootFile::OpenR(), TCnaRootFile::OpenW(), TEcnaParPaths::ResultsRootFilePath(), and ntuplemaker::status.
Referenced by WriteRootFile().
{ //Open the Root file TString s_path; s_path = fCnaParPaths->ResultsRootFilePath(); s_path.Append('/'); s_path.Append(name); gCnaRootFile = new TEcnaRootFile(s_path.Data(), status); fCnew++; Bool_t ok_open = kFALSE; if ( gCnaRootFile->fRootFileStatus == "RECREATE" ){ok_open = gCnaRootFile->OpenW();} if ( gCnaRootFile->fRootFileStatus == "READ" ){ok_open = gCnaRootFile->OpenR();} if (!ok_open) // unable to open file { cout << "TEcnaRun::OpenRootFile> Cannot open file " << s_path.Data() << endl; } else { if(fFlagPrint == fCodePrintAllComments) {cout << "*TEcnaRun::OpenRootFile> Open ROOT file OK for file " << s_path.Data() << endl;} fOpenRootFile = kTRUE; } return ok_open; }
void TEcnaRun::Pedestals | ( | ) |
Definition at line 1758 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, fFlagPrint, fMiscDiag, fNbSampForCalc, TEcnaHeader::fPedCalc, fT1d_ev_ev, fT2d_ev, fTagMSp, fTagPed, TEcnaParEcal::MaxCrysEcnaInStex(), and SampleMeans().
Referenced by AveragedPedestals(), and TEcnaGui::Calculations().
{ // Calculation, for each channel, of the expectation values // (over the samples 0 to fNbSampForCalc-1) of the ADC expectation values // (over the events) //... preliminary calculation of the expectation values if not done yet if ( fTagMSp[0] != 1 ){SampleMeans(); fTagMSp[0]=0;} //................... Allocation ev_ev + init to zero (mandatory) if( fT1d_ev_ev == 0 ){fT1d_ev_ev = new Double_t[fEcal->MaxCrysEcnaInStex()]; fCnew++;} for(Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) {if( fT1d_ev_ev[i0StexEcha] != (Double_t)0 ) {fMiscDiag[11]++; fT1d_ev_ev[i0StexEcha] = (Double_t)0;}} //..................... Calculation if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::Pedestals()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for all the channels, of the expectation values (over the samples 1 to " << fNbSampForCalc << ")" << endl << " of the ADC expectation values (over the events)." << endl;} for(Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { for (Int_t i0Sample = 0; i0Sample < fNbSampForCalc; i0Sample++) { fT1d_ev_ev[i0StexEcha] += fT2d_ev[i0StexEcha][i0Sample]; } fT1d_ev_ev[i0StexEcha] /= fNbSampForCalc; } fTagPed[0] = 1; fFileHeader->fPedCalc++; }
void TEcnaRun::PrintAllComments | ( | ) |
Definition at line 4658 of file TEcnaRun.cc.
References gather_cfg::cout, fCodePrintAllComments, and fFlagPrint.
{ // Set flags to authorize printing of the comments of all the methods fFlagPrint = fCodePrintAllComments; cout << "*TEcnaRun::PrintAllComments()> All the comments will be printed" << endl; }
void TEcnaRun::PrintComments | ( | ) |
Definition at line 4642 of file TEcnaRun.cc.
References gather_cfg::cout, fCodePrintComments, and fFlagPrint.
{ // Set flags to authorize printing of some comments concerning initialisations (default) fFlagPrint = fCodePrintComments; cout << "*TEcnaRun::PrintComments()> Warnings and some comments on init will be printed" << endl; }
void TEcnaRun::PrintNoComment | ( | ) |
Definition at line 4666 of file TEcnaRun.cc.
References fCodePrintNoComment, and fFlagPrint.
{ // Set flags to forbid the printing of all the comments fFlagPrint = fCodePrintNoComment; }
void TEcnaRun::PrintWarnings | ( | ) |
Definition at line 4650 of file TEcnaRun.cc.
References gather_cfg::cout, fCodePrintWarnings, and fFlagPrint.
{ // Set flags to authorize printing of warnings fFlagPrint = fCodePrintWarnings; cout << "*TEcnaRun::PrintWarnings()> Warnings will be printed" << endl; }
Bool_t TEcnaRun::ReadEventDistributions | ( | ) |
Definition at line 1275 of file TEcnaRun.cc.
References fEcal, and TEcnaParEcal::MaxSampADC().
Referenced by TEcnaGui::Calculations().
{ return ReadEventDistributions(fEcal->MaxSampADC()); }
Bool_t TEcnaRun::ReadEventDistributions | ( | const Int_t & | nb_samp_for_calc | ) |
Definition at line 1280 of file TEcnaRun.cc.
References gather_cfg::cout, TEcnaRead::DataExist(), fCnaParCout, fCnaParPaths, fCnaWrite, fEcal, fEcalNumbering, fFileHeader, fFlagSubDet, fNbSampForCalc, fRootFileName, fRootFileNameShort, fT1d_StexStinFromIndex, fT2d_NbOfEvts, fT3d_distribs, fTagNbOfEvts, fTagStinNumbers, fTTBELL, TEcnaRead::GetReadyToReadRootFile(), TEcnaRead::GetRootFileName(), TEcnaRead::GetRootFileNameShort(), TEcnaRead::GetStartDate(), TEcnaRead::GetStartTime(), TEcnaRead::GetStexStinFromIndex(), TEcnaRead::GetStopDate(), TEcnaRead::GetStopTime(), i, j, TEcnaRead::LookAtRootFile(), TEcnaParEcal::MaxCrysEcnaInStex(), TEcnaParEcal::MaxCrysInStin(), TEcnaParEcal::MaxStinEcnaInStex(), TEcnaRead::PrintNoComment(), TEcnaRead::ReadNumberOfEventsForSamples(), TEcnaRead::ReadSampleValuesSameFile(), TEcnaRead::ReadStinNumbers(), and TEcnaParPaths::ResultsRootFilePath().
{ // read the Sample ADC values from "ADC" result root files (ReadEventDistributions) // put the number of sample for calculations in attribute fNbSampForCalc // and call the method without arguments // We must have: nb_samp_for_calc <= fFileHeader->fNbOfSamples (= nb of samples in ROOT file) fNbSampForCalc = nb_samp_for_calc; TEcnaRead* MyRootFile = new TEcnaRead(fFlagSubDet.Data(), fCnaParPaths, fCnaParCout, fFileHeader, fEcalNumbering, fCnaWrite); // fCnew++; MyRootFile->PrintNoComment(); MyRootFile->GetReadyToReadRootFile(fFileHeader->fTypAna, fFileHeader->fNbOfSamples, fFileHeader->fRunNumber, fFileHeader->fFirstReqEvtNumber, fFileHeader->fLastReqEvtNumber, fFileHeader->fReqNbOfEvts, fFileHeader->fStex, fCnaParPaths->ResultsRootFilePath().Data()); Bool_t ok_read = MyRootFile->LookAtRootFile(); fFileHeader->fStartTime = MyRootFile->GetStartTime(); fFileHeader->fStopTime = MyRootFile->GetStopTime(); fFileHeader->fStartDate = MyRootFile->GetStartDate(); fFileHeader->fStopDate = MyRootFile->GetStopDate(); if ( ok_read == kTRUE ) { fRootFileName = MyRootFile->GetRootFileName(); fRootFileNameShort = MyRootFile->GetRootFileNameShort(); cout << "*TEcnaRun::ReadEventDistributions> Reading sample ADC values from file: " << endl << " " << fRootFileName << endl; Int_t i_no_data = 0; //.......... Read the StinNumbers in the old file (ReadEventDistributions) TVectorD vec(fEcal->MaxStinEcnaInStex()); for(Int_t i=0; i<fEcal->MaxStinEcnaInStex(); i++){vec(i)=(Double_t)0.;} vec = MyRootFile->ReadStinNumbers(fEcal->MaxStinEcnaInStex()); if( MyRootFile->DataExist() == kTRUE ) { fTagStinNumbers[0] = 1; fFileHeader->fStinNumbersCalc = 1; for(Int_t i0StexStinEcna=0; i0StexStinEcna<fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) {fT1d_StexStinFromIndex[i0StexStinEcna] = (Int_t)vec(i0StexStinEcna);} } else { i_no_data++; } //.......... Read the Numbers of Events in the old file (ReadEventDistributions) TMatrixD partial_matrix(fEcal->MaxCrysInStin(), fFileHeader->fNbOfSamples); for(Int_t i=0; i<fEcal->MaxCrysInStin(); i++) {for(Int_t j=0; j<fFileHeader->fNbOfSamples; j++){partial_matrix(i,j)=(Double_t)0.;}} for(Int_t i0StexStinEcna=0; i0StexStinEcna<fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) { Int_t n1StexStin = MyRootFile->GetStexStinFromIndex(i0StexStinEcna); if(n1StexStin != -1) { partial_matrix = MyRootFile->ReadNumberOfEventsForSamples (n1StexStin, fEcal->MaxCrysInStin(), fFileHeader->fNbOfSamples); if( MyRootFile->DataExist() == kTRUE ) { fTagNbOfEvts[0] = 1; fFileHeader->fNbOfEvtsCalc = 1; for(Int_t i0StinCrys=0; i0StinCrys<fEcal->MaxCrysInStin(); i0StinCrys++) { Int_t i0StexEcha = (n1StexStin-1)*fEcal->MaxCrysInStin() + i0StinCrys; for(Int_t i0Sample=0; i0Sample<fFileHeader->fNbOfSamples; i0Sample++) {fT2d_NbOfEvts[i0StexEcha][i0Sample] = (Int_t)partial_matrix(i0StinCrys,i0Sample);} } } else { i_no_data++; } } } //.......... Read the Sample ADC values in the old file (ReadEventDistributions) Double_t*** fT3d_read_distribs = MyRootFile->ReadSampleValuesSameFile (fEcal->MaxCrysEcnaInStex(), fFileHeader->fNbOfSamples, fFileHeader->fReqNbOfEvts); if( MyRootFile->DataExist() == kTRUE ) { for(Int_t i0StexEcha=0; i0StexEcha<fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { for(Int_t i0Sample=0; i0Sample<fFileHeader->fNbOfSamples;i0Sample++) { for(Int_t i_event=0; i_event<fFileHeader->fReqNbOfEvts; i_event++) {fT3d_distribs[i0StexEcha][i0Sample][i_event] = fT3d_read_distribs[i0StexEcha][i0Sample][i_event];} } } } else { i_no_data++; } if( i_no_data != 0 ) { cout << "!TEcnaRun::ReadEventDistributions(...)> *ERROR* =====> " << " Read failure. i_no_data = " << i_no_data << fTTBELL << endl; } } else { cout << "!TEcnaRun::ReadEventDistributions(...)> *ERROR* =====> " << " ROOT file not found" << fTTBELL << endl; } delete MyRootFile; // fCdelete++; return ok_read; }
void TEcnaRun::SampleMeans | ( | ) |
Definition at line 1513 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, fFlagPrint, fMiscDiag, TEcnaHeader::fMSpCalc, fNbSampForCalc, fNumberOfEvents, fT1d_ev, fT2d_ev, fT3d_distribs, fTagMSp, i, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by TEcnaGui::Calculations(), CovariancesBetweenSamples(), Pedestals(), and SampleSigmas().
{ // Calculation of the expectation values over events // for the samples 0 to fNbSampForCalc and for all the StexEchas if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::SampleMeans() " << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation: sample expectation values over the events" << " for each channel." << endl;} //................... Allocation fT2d_ev if ( fT2d_ev == 0 ){ Int_t n_samp = fNbSampForCalc; Int_t n_StexEcha = fEcal->MaxCrysEcnaInStex(); fT2d_ev = new Double_t*[n_StexEcha]; fCnew++; fT1d_ev = new Double_t[n_StexEcha*n_samp]; fCnew++; for(Int_t i = 0 ; i < n_StexEcha ; i++){ fT2d_ev[i] = &fT1d_ev[0] + i*n_samp;} } //................... init fT2d_ev to zero for(Int_t i0StexEcha=0; i0StexEcha<fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { for(Int_t i0Sample=0; i0Sample<fNbSampForCalc; i0Sample++) { if( fT2d_ev[i0StexEcha][i0Sample] != (Double_t)0 ) {fMiscDiag[1]++; fT2d_ev[i0StexEcha][i0Sample] = (Double_t)0;} } } //................... Calculation for (Int_t i0StexEcha = 0 ; i0StexEcha < fEcal->MaxCrysEcnaInStex() ; i0StexEcha++) { for (Int_t i0Sample = 0 ; i0Sample < fNbSampForCalc ; i0Sample++) { for( Int_t i_event = 0; i_event < fNumberOfEvents; i_event++ ) { fT2d_ev[i0StexEcha][i0Sample] += fT3d_distribs[i0StexEcha][i0Sample][i_event]; } fT2d_ev[i0StexEcha][i0Sample] /= fNumberOfEvents; } } fTagMSp[0] = 1; fFileHeader->fMSpCalc++; }
void TEcnaRun::SampleSigmas | ( | ) |
Definition at line 1563 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, fFlagPrint, fMiscDiag, fNbSampForCalc, fNumberOfEvents, TEcnaHeader::fSSpCalc, fT1d_sig, fT2d_ev, fT2d_sig, fT3d_distribs, fTagMSp, fTagSSp, TEcnaParEcal::MaxCrysEcnaInStex(), SampleMeans(), and mathSSE::sqrt().
Referenced by TEcnaGui::Calculations(), and TotalNoise().
{ //Calculation of the sigmas of the samples for all the StexEchas if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::SampleSigmas()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation: sample ADC sigmas over the events " << " for each channel." << endl;} //... preliminary calculation of the expectation values if not done yet. // The tag is set to 1 after call to the method. It is reset to 0 // because the expectation values must not be written in the result ROOT file // (since the tag was equal to 0) if(fTagMSp[0] != 1){SampleMeans(); fTagMSp[0] = 0;} //................... Allocation fT2d_sig if( fT2d_sig == 0){ Int_t n_StexEcha = fEcal->MaxCrysEcnaInStex(); Int_t n_samp = fNbSampForCalc; fT2d_sig = new Double_t*[n_StexEcha]; fCnew++; fT1d_sig = new Double_t[n_StexEcha*n_samp]; fCnew++; for(Int_t i0StexEcha = 0 ; i0StexEcha < n_StexEcha ; i0StexEcha++){ fT2d_sig[i0StexEcha] = &fT1d_sig[0] + i0StexEcha*n_samp;} } // ................... init fT2d_sig to zero for(Int_t i0StexEcha=0; i0StexEcha<fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { for(Int_t i0Sample=0; i0Sample<fNbSampForCalc; i0Sample++) { if( fT2d_sig[i0StexEcha][i0Sample] != (Double_t)0 ) {fMiscDiag[2]++; fT2d_sig[i0StexEcha][i0Sample] = (Double_t)0;} } } //................... Calculation for (Int_t i0StexEcha = 0 ; i0StexEcha < fEcal->MaxCrysEcnaInStex() ; i0StexEcha++) { for (Int_t i0Sample = 0 ; i0Sample < fNbSampForCalc ; i0Sample++) { Double_t variance = (Double_t)0.; for( Int_t i_event = 0; i_event < fNumberOfEvents; i_event++ ) { Double_t ecart = fT3d_distribs[i0StexEcha][i0Sample][i_event] - fT2d_ev[i0StexEcha][i0Sample]; variance += ecart*ecart; } variance /= fNumberOfEvents; fT2d_sig[i0StexEcha][i0Sample] = sqrt(variance); } } fTagSSp[0] = 1; fFileHeader->fSSpCalc++; }
void TEcnaRun::SampleValues | ( | ) |
Definition at line 1448 of file TEcnaRun.cc.
References gather_cfg::cout, TEcnaHeader::fAdcEvtCalc, fCodePrintAllComments, fEcal, fFileHeader, fFlagPrint, fTagAdcEvt, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by EcnaAnalyzer::analyze(), and EcnaAnalyzer::~EcnaAnalyzer().
{ //3D histo of the sample ADC values for all the triples (StexEcha, sample, event) if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::SampleValues()>" << " Sample ADC values 3D histo" << " (channel, sample, event number):" << endl << " registration for writing in results .root file." << endl;} // The histo is already in fT3d_distribs[][][] // this method sets the "Tag", increment the "Calc" (and must be kept for that) for (Int_t i0StexEcha = 0 ; i0StexEcha < fEcal->MaxCrysEcnaInStex() ; i0StexEcha++) {fTagAdcEvt[i0StexEcha] = 1; fFileHeader->fAdcEvtCalc++;} }
void TEcnaRun::SetEcalSubDetector | ( | const TString | SubDet | ) |
Definition at line 498 of file TEcnaRun.cc.
References fCnaParCout, fCnaParPaths, fCnaWrite, fEcal, fEcalNumbering, fFlagSubDet, fgMaxCar, fStexName, and fStinName.
Referenced by TEcnaRun().
{ // Set Subdetector (EB or EE) Int_t MaxCar = fgMaxCar; fFlagSubDet.Resize(MaxCar); fFlagSubDet = SubDet.Data(); fEcal = 0; fEcal = new TEcnaParEcal(fFlagSubDet.Data()); //fCnew++; fEcalNumbering = 0; fEcalNumbering = new TEcnaNumbering(fFlagSubDet.Data(), fEcal); //fCnew++; fCnaWrite = 0; fCnaWrite = new TEcnaWrite(fFlagSubDet.Data(), fCnaParPaths, fCnaParCout, fEcal, fEcalNumbering); //fCnew++; if( fFlagSubDet == "EB" ){fStexName = "SM "; fStinName = "tower";} if( fFlagSubDet == "EE" ){fStexName = "Dee"; fStinName = " SC ";} }
void TEcnaRun::SigmaOfCorrelationsBetweenSamples | ( | ) |
Definition at line 2043 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, fFlagPrint, fMiscDiag, fNbSampForCalc, TEcnaHeader::fSigCorssCalc, fT1d_ev_cor_ss, fT1d_sig_cor_ss, fT3d_cor_ss, fTagMeanCorss, fTagSigCorss, i, TEcnaParEcal::MaxCrysEcnaInStex(), MeanOfCorrelationsBetweenSamples(), and mathSSE::sqrt().
Referenced by AveragedSigmaOfCorrelationsBetweenSamples(), and TEcnaGui::Calculations().
{ //Calculation of the sigmas of the (sample,sample) correlations for all the StexEchas //... preliminary calculation of the mean of cor(s,s') if not done yet // (test only the first element since the cor are computed globaly) // Results available in array fT1d_ev_cor_ss[i0StexEcha] if ( fTagMeanCorss[0] != 1 ){MeanOfCorrelationsBetweenSamples(); fTagMeanCorss[0]=0;} //................... Allocations sig_cor_ss + init to zero if( fT1d_sig_cor_ss == 0 ){ Int_t n_StexEcha = fEcal->MaxCrysEcnaInStex(); fT1d_sig_cor_ss = new Double_t[n_StexEcha]; fCnew++; } for(Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { if( fT1d_sig_cor_ss[i0StexEcha] != (Double_t)0 ) {fMiscDiag[16]++; fT1d_sig_cor_ss[i0StexEcha] = (Double_t)0;} } if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::SigmasOfCorrelationsBetweenSamples()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation of the sigmas of the (sample,sample)" << endl << " correlations for all the channels." << endl;} //.......... 1D array half_cor_ss[N(N-1)/2] to put the N (sample,sample) correlations // (half of them minus the diagonal) Int_t ndim = (Int_t)(fNbSampForCalc*(fNbSampForCalc - 1)/2); TVectorD half_cor_ss(ndim); for(Int_t i=0; i<ndim; i++){half_cor_ss(i)=(Double_t)0.;} //.................. Calculation for(Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { //..................... half_cor_ss() array filling Int_t i_count = 0; for (Int_t i0Sample = 0; i0Sample < fNbSampForCalc; i0Sample++) { for (Int_t j0Sample = 0; j0Sample < i0Sample; j0Sample++) { half_cor_ss(i_count) = fT3d_cor_ss[i0StexEcha][i0Sample][j0Sample]; i_count++; } } //...................... sigma of cor(s,s') calculation Double_t var = (Double_t)0; for(Int_t i_rcor = 0; i_rcor < ndim; i_rcor++) { Double_t ecart = half_cor_ss(i_rcor) - fT1d_ev_cor_ss[i0StexEcha]; var += ecart*ecart; } var /= (Double_t)ndim; fT1d_sig_cor_ss[i0StexEcha] = sqrt(var); } fTagSigCorss[0] = 1; fFileHeader->fSigCorssCalc++; }
void TEcnaRun::StartStopDate | ( | TString | c_startdate, |
TString | c_stopdate | ||
) |
Definition at line 1427 of file TEcnaRun.cc.
References fFileHeader, TEcnaHeader::fStartDate, and TEcnaHeader::fStopDate.
Referenced by EcnaAnalyzer::analyze(), and EcnaAnalyzer::~EcnaAnalyzer().
{ // Put the start an stop date (if they exist) in fFileHeader class attributes. fFileHeader->fStartDate = c_startdate; fFileHeader->fStopDate = c_stopdate; }
void TEcnaRun::StartStopTime | ( | time_t | t_startime, |
time_t | t_stoptime | ||
) |
Definition at line 1419 of file TEcnaRun.cc.
References fFileHeader, TEcnaHeader::fStartTime, and TEcnaHeader::fStopTime.
Referenced by EcnaAnalyzer::analyze(), and EcnaAnalyzer::~EcnaAnalyzer().
{ // Put the start an stop time (if they exist) in fFileHeader class attributes. fFileHeader->fStartTime = t_startime; fFileHeader->fStopTime = t_stoptime; }
void TEcnaRun::TotalNoise | ( | ) |
Definition at line 1798 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, fFlagPrint, fMiscDiag, fNbSampForCalc, fT1d_evsamp_of_sigevt, fT2d_sig, fTagSSp, fTagTno, TEcnaHeader::fTnoCalc, fTTBELL, TEcnaParEcal::MaxCrysEcnaInStex(), and SampleSigmas().
Referenced by AveragedTotalNoise(), and TEcnaGui::Calculations().
{ // Calculation, for each channel, of the expectation values // (over the samples 0 to fNbSampForCalc-1) of the sigmas // (over the events) //... preliminary calculation of the sigmas if not done yet if ( fTagSSp[0] != 1 ){SampleSigmas(); fTagSSp[0]=0;} //................... Allocation ev_ev + init to zero (mandatory) if( fT1d_evsamp_of_sigevt == 0 ){fT1d_evsamp_of_sigevt = new Double_t[fEcal->MaxCrysEcnaInStex()]; fCnew++;} for(Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) {if( fT1d_evsamp_of_sigevt[i0StexEcha] != (Double_t)0 ) {fMiscDiag[12]++; fT1d_evsamp_of_sigevt[i0StexEcha] = (Double_t)0;}} //..................... Calculation if(fFlagPrint != fCodePrintNoComment){cout << "*TEcnaRun::TotalNoise()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for all the channels, of the expectation values (over the samples 1 to " << fNbSampForCalc << ")" << endl << " of the ADC expectation values (over the events)." << endl;} for(Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { for (Int_t i0Sample = 0; i0Sample < fNbSampForCalc; i0Sample++) { if( fT2d_sig[i0StexEcha][i0Sample] < 0) { cout << "!TEcnaRun::TotalNoise() *** ERROR ***> Negative sigma!" << fTTBELL << endl; } else { fT1d_evsamp_of_sigevt[i0StexEcha] += fT2d_sig[i0StexEcha][i0Sample]; } } fT1d_evsamp_of_sigevt[i0StexEcha] /= fNbSampForCalc; } fTagTno[0] = 1; fFileHeader->fTnoCalc++; }
void TEcnaRun::TRootAdcEvt | ( | const Int_t & | user_StexEcha, |
const Int_t & | argNbSampWrite | ||
) |
Definition at line 4179 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fFileHeader, TEcnaHeader::fReqNbOfEvts, fT3d_distribs, fTagAdcEvt, and gCnaRootFile.
Referenced by WriteRootFile().
{ if (fTagAdcEvt[user_StexEcha] == 1 ) { for (Int_t i0Sample = 0; i0Sample < argNbSampWrite; i0Sample++) { //...................... all the bins set to zero for (Int_t j_bin = 0; j_bin < fFileHeader->fReqNbOfEvts; j_bin++) { gCnaRootFile->fCnaIndivResult->fMatHis(i0Sample, j_bin) = (Double_t)0.; } //...................... fill the non-zero bins for (Int_t j_bin = 0; j_bin < fFileHeader->fReqNbOfEvts; j_bin++) { gCnaRootFile->fCnaIndivResult->fMatHis(i0Sample, j_bin) = fT3d_distribs[user_StexEcha][i0Sample][j_bin]; } } } }
void TEcnaRun::TRootAvEvCorss | ( | ) |
Definition at line 4605 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT1d_av_ev_corss, fTagAvMeanCorss, gCnaRootFile, and TEcnaParEcal::MaxStinEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagAvMeanCorss[0] == 1 ) // test 1st elt only since global calc { for (Int_t j0StexStinEcna = 0; j0StexStinEcna < fEcal->MaxStinEcnaInStex(); j0StexStinEcna++) { gCnaRootFile->fCnaIndivResult->fMatHis(0, j0StexStinEcna) = fT1d_av_ev_corss[j0StexStinEcna]; } } }
void TEcnaRun::TRootAvHfn | ( | ) |
Definition at line 4327 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT1d_av_hifn, fTagAvHfn, gCnaRootFile, and TEcnaParEcal::MaxStinEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagAvHfn[0] == 1 ) { for (Int_t j0StexStinEcna = 0; j0StexStinEcna < fEcal->MaxStinEcnaInStex(); j0StexStinEcna++) { gCnaRootFile->fCnaIndivResult->fMatHis(0, j0StexStinEcna) = fT1d_av_hifn[j0StexStinEcna]; } } }
void TEcnaRun::TRootAvLfn | ( | ) |
Definition at line 4309 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT1d_av_lofn, fTagAvLfn, gCnaRootFile, and TEcnaParEcal::MaxStinEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagAvLfn[0] == 1 ) { for (Int_t j0StexStinEcna = 0; j0StexStinEcna < fEcal->MaxStinEcnaInStex(); j0StexStinEcna++) { gCnaRootFile->fCnaIndivResult->fMatHis(0, j0StexStinEcna) = fT1d_av_lofn[j0StexStinEcna]; } } }
void TEcnaRun::TRootAvPed | ( | ) |
Definition at line 4586 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT1d_av_mped, fTagAvPed, gCnaRootFile, and TEcnaParEcal::MaxStinEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagAvPed[0] == 1 ) { for (Int_t j0StexStinEcna = 0; j0StexStinEcna < fEcal->MaxStinEcnaInStex(); j0StexStinEcna++) { gCnaRootFile->fCnaIndivResult->fMatHis(0, j0StexStinEcna) = fT1d_av_mped[j0StexStinEcna]; } } }
void TEcnaRun::TRootAvSigCorss | ( | ) |
Definition at line 4624 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT1d_av_sig_corss, fTagAvSigCorss, gCnaRootFile, and TEcnaParEcal::MaxStinEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagAvSigCorss[0] == 1 ) // test 1st elt only since global calc { for (Int_t j0StexStinEcna = 0; j0StexStinEcna < fEcal->MaxStinEcnaInStex(); j0StexStinEcna++) { gCnaRootFile->fCnaIndivResult->fMatHis(0, j0StexStinEcna) = fT1d_av_sig_corss[j0StexStinEcna]; } } }
void TEcnaRun::TRootAvTno | ( | ) |
Definition at line 4292 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT1d_av_totn, fTagAvTno, gCnaRootFile, and TEcnaParEcal::MaxStinEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagAvTno[0] == 1 ) { for (Int_t j0StexStinEcna = 0; j0StexStinEcna < fEcal->MaxStinEcnaInStex(); j0StexStinEcna++) { gCnaRootFile->fCnaIndivResult->fMatHis(0, j0StexStinEcna) = fT1d_av_totn[j0StexStinEcna]; } } }
void TEcnaRun::TRootCorCss | ( | const Int_t & | user_StexEcha, |
const Int_t & | argNbSampWrite | ||
) |
Definition at line 4451 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fT3d_cor_ss, fTagCorCss, and gCnaRootFile.
Referenced by WriteRootFile().
{ if (fTagCorCss[user_StexEcha] == 1 ) { for (Int_t i0Sample = 0; i0Sample < argNbSampWrite; i0Sample++) { for (Int_t j0Sample = 0; j0Sample < argNbSampWrite; j0Sample++) { gCnaRootFile->fCnaIndivResult->fMatMat(i0Sample, j0Sample) = fT3d_cor_ss[user_StexEcha][i0Sample][j0Sample]; } } } }
void TEcnaRun::TRootCovCss | ( | const Int_t & | user_StexEcha, |
const Int_t & | argNbSampWrite | ||
) |
Definition at line 4430 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fT3d_cov_ss, fTagCovCss, and gCnaRootFile.
Referenced by WriteRootFile().
{ if (fTagCovCss[user_StexEcha] == 1 ) { for (Int_t i0Sample = 0; i0Sample < argNbSampWrite; i0Sample++) { for (Int_t j0Sample = 0; j0Sample < argNbSampWrite; j0Sample++) { gCnaRootFile->fCnaIndivResult->fMatMat(i0Sample, j0Sample) = fT3d_cov_ss[user_StexEcha][i0Sample][j0Sample]; } } } }
void TEcnaRun::TRootHFccMoStins | ( | ) |
Definition at line 4271 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT2d_hfcc_mostins, fTagHFccMoStins, gCnaRootFile, and TEcnaParEcal::MaxStinEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagHFccMoStins[0] == 1 ) { for (Int_t i0StexStinEcna = 0; i0StexStinEcna < fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) { for (Int_t j0StexStinEcna = 0; j0StexStinEcna < fEcal->MaxStinEcnaInStex(); j0StexStinEcna++) { gCnaRootFile->fCnaIndivResult->fMatMat(i0StexStinEcna, j0StexStinEcna) = fT2d_hfcc_mostins[i0StexStinEcna][j0StexStinEcna]; } } } }
void TEcnaRun::TRootHfCor | ( | ) |
Definition at line 4408 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT2d_hf_cor, fTagHfCor, gCnaRootFile, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagHfCor[0] == 1 ) { for (Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { for (Int_t j0StexEcha = 0; j0StexEcha < fEcal->MaxCrysEcnaInStex(); j0StexEcha++) { gCnaRootFile->fCnaIndivResult->fMatMat(i0StexEcha, j0StexEcha) = fT2d_hf_cor[i0StexEcha][j0StexEcha]; } } } }
void TEcnaRun::TRootHfCov | ( | ) |
Definition at line 4387 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT2d_hf_cov, fTagHfCov, gCnaRootFile, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagHfCov[0] == 1 ) { for (Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { for (Int_t j0StexEcha = 0; j0StexEcha < fEcal->MaxCrysEcnaInStex(); j0StexEcha++) { gCnaRootFile->fCnaIndivResult->fMatMat(i0StexEcha, j0StexEcha) = fT2d_hf_cov[i0StexEcha][j0StexEcha]; } } } }
void TEcnaRun::TRootHfn | ( | ) |
Definition at line 4548 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT1d_evevt_of_sigsamp, fTagHfn, gCnaRootFile, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagHfn[0] == 1 ) { for (Int_t j0StexEcha = 0; j0StexEcha < fEcal->MaxCrysEcnaInStex(); j0StexEcha++) { gCnaRootFile->fCnaIndivResult->fMatHis(0, j0StexEcha) = fT1d_evevt_of_sigsamp[j0StexEcha]; } } }
void TEcnaRun::TRootLFccMoStins | ( | ) |
Definition at line 4249 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT2d_lfcc_mostins, fTagLFccMoStins, gCnaRootFile, and TEcnaParEcal::MaxStinEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagLFccMoStins[0] == 1 ) { for (Int_t i0StexStinEcna = 0; i0StexStinEcna < fEcal->MaxStinEcnaInStex(); i0StexStinEcna++) { for (Int_t j0StexStinEcna = 0; j0StexStinEcna < fEcal->MaxStinEcnaInStex(); j0StexStinEcna++) { gCnaRootFile->fCnaIndivResult->fMatMat(i0StexStinEcna, j0StexStinEcna) = fT2d_lfcc_mostins[i0StexStinEcna][j0StexStinEcna]; } } } }
void TEcnaRun::TRootLfCor | ( | ) |
Definition at line 4366 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT2d_lf_cor, fTagLfCor, gCnaRootFile, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagLfCor[0] == 1 ) { for (Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { for (Int_t j0StexEcha = 0; j0StexEcha < fEcal->MaxCrysEcnaInStex(); j0StexEcha++) { gCnaRootFile->fCnaIndivResult->fMatMat(i0StexEcha, j0StexEcha) = fT2d_lf_cor[i0StexEcha][j0StexEcha]; } } } }
void TEcnaRun::TRootLfCov | ( | ) |
Definition at line 4345 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT2d_lf_cov, fTagLfCov, gCnaRootFile, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagLfCov[0] == 1 ) { for (Int_t i0StexEcha = 0; i0StexEcha < fEcal->MaxCrysEcnaInStex(); i0StexEcha++) { for (Int_t j0StexEcha = 0; j0StexEcha < fEcal->MaxCrysEcnaInStex(); j0StexEcha++) { gCnaRootFile->fCnaIndivResult->fMatMat(i0StexEcha, j0StexEcha) = fT2d_lf_cov[i0StexEcha][j0StexEcha]; } } } }
void TEcnaRun::TRootLfn | ( | ) |
Definition at line 4529 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT1d_sigevt_of_evsamp, fTagLfn, gCnaRootFile, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagLfn[0] == 1 ) { for (Int_t j0StexEcha = 0; j0StexEcha < fEcal->MaxCrysEcnaInStex(); j0StexEcha++) { gCnaRootFile->fCnaIndivResult->fMatHis(0, j0StexEcha) = fT1d_sigevt_of_evsamp[j0StexEcha]; } } }
void TEcnaRun::TRootMeanCorss | ( | ) |
Definition at line 4510 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT1d_ev_cor_ss, fTagMeanCorss, gCnaRootFile, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagMeanCorss[0] == 1 ) { for (Int_t j0StexEcha = 0; j0StexEcha < fEcal->MaxCrysEcnaInStex(); j0StexEcha++) { gCnaRootFile->fCnaIndivResult->fMatHis(0, j0StexEcha) = fT1d_ev_cor_ss[j0StexEcha]; } } }
void TEcnaRun::TRootMSp | ( | const Int_t & | argNbSampWrite | ) |
Definition at line 4206 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT2d_ev, fTagMSp, gCnaRootFile, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagMSp[0] == 1 ) { for (Int_t j0StexEcha = 0; j0StexEcha < fEcal->MaxCrysEcnaInStex(); j0StexEcha++) { for (Int_t i0Sample = 0; i0Sample < argNbSampWrite; i0Sample++) { gCnaRootFile->fCnaIndivResult->fMatHis( j0StexEcha, i0Sample) = fT2d_ev[j0StexEcha][i0Sample]; } } } }
void TEcnaRun::TRootNbOfEvts | ( | const Int_t & | argNbSampWrite | ) |
Definition at line 4158 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT2d_NbOfEvts, fTagNbOfEvts, gCnaRootFile, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagNbOfEvts[0] == 1 ) { for (Int_t j0StexEcha = 0; j0StexEcha < fEcal->MaxCrysEcnaInStex(); j0StexEcha++) { for (Int_t i0Sample = 0; i0Sample < argNbSampWrite; i0Sample++) { gCnaRootFile->fCnaIndivResult->fMatHis(j0StexEcha, i0Sample) = fT2d_NbOfEvts[j0StexEcha][i0Sample]; } } } }
void TEcnaRun::TRootPed | ( | ) |
Definition at line 4473 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT1d_ev_ev, fTagPed, gCnaRootFile, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagPed[0] == 1 ) { for (Int_t j0StexEcha = 0; j0StexEcha < fEcal->MaxCrysEcnaInStex(); j0StexEcha++) { gCnaRootFile->fCnaIndivResult->fMatHis(0, j0StexEcha) = fT1d_ev_ev[j0StexEcha]; } } }
void TEcnaRun::TRootSigCorss | ( | ) |
Definition at line 4567 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT1d_sig_cor_ss, fTagSigCorss, gCnaRootFile, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagSigCorss[0] == 1 ) { for (Int_t j0StexEcha = 0; j0StexEcha < fEcal->MaxCrysEcnaInStex(); j0StexEcha++) { gCnaRootFile->fCnaIndivResult->fMatHis(0, j0StexEcha) = fT1d_sig_cor_ss[j0StexEcha]; } } }
void TEcnaRun::TRootSSp | ( | const Int_t & | argNbSampWrite | ) |
Definition at line 4227 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT2d_sig, fTagSSp, gCnaRootFile, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagSSp[0] == 1 ) { for (Int_t j0StexEcha=0; j0StexEcha<fEcal->MaxCrysEcnaInStex(); j0StexEcha++) { for (Int_t i0Sample=0; i0Sample<argNbSampWrite; i0Sample++) { gCnaRootFile->fCnaIndivResult->fMatHis(j0StexEcha, i0Sample) = fT2d_sig[j0StexEcha][i0Sample]; } } } }
void TEcnaRun::TRootStinNumbers | ( | ) |
Definition at line 4140 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT1d_StexStinFromIndex, fTagStinNumbers, gCnaRootFile, and TEcnaParEcal::MaxStinEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagStinNumbers[0] == 1 ) { for (Int_t j0StexStinEcna = 0; j0StexStinEcna < fEcal->MaxStinEcnaInStex(); j0StexStinEcna++) { gCnaRootFile->fCnaIndivResult->fMatHis(0, j0StexStinEcna) = fT1d_StexStinFromIndex[j0StexStinEcna]; } } }
void TEcnaRun::TRootTno | ( | ) |
Definition at line 4491 of file TEcnaRun.cc.
References TCnaRootFile::fCnaIndivResult, fEcal, fT1d_evsamp_of_sigevt, fTagTno, gCnaRootFile, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by WriteRootFile().
{ if (fTagTno[0] == 1 ) { for (Int_t j0StexEcha = 0; j0StexEcha < fEcal->MaxCrysEcnaInStex(); j0StexEcha++) { gCnaRootFile->fCnaIndivResult->fMatHis(0, j0StexEcha) = fT1d_evsamp_of_sigevt[j0StexEcha]; } } }
Bool_t TEcnaRun::WriteNewRootFile | ( | const TString | TypAna | ) |
Definition at line 3184 of file TEcnaRun.cc.
References gather_cfg::cout, fCnaWrite, fCodePrintAllComments, fFileHeader, TEcnaHeader::fFirstReqEvtNumber, fFlagPrint, TEcnaHeader::fLastReqEvtNumber, TEcnaWrite::fMakeResultsFileName(), fNbSampForCalc, fNewRootFileName, fNewRootFileNameShort, TEcnaHeader::fReqNbOfEvts, TEcnaHeader::fRunNumber, TEcnaHeader::fStartDate, TEcnaHeader::fStartTime, TEcnaHeader::fStex, TEcnaHeader::fStopDate, TEcnaHeader::fStopTime, TEcnaWrite::GetRootFileName(), TEcnaWrite::GetRootFileNameShort(), TEcnaWrite::RegisterFileParameters(), and WriteRootFile().
Referenced by TEcnaGui::Calculations().
{ //Write a new Root file. File name automatically generated in fMakeResultsFileName. Bool_t ok_write = kFALSE; fCnaWrite->RegisterFileParameters(TypAna.Data(), fNbSampForCalc, fFileHeader->fRunNumber, fFileHeader->fFirstReqEvtNumber, fFileHeader->fLastReqEvtNumber, fFileHeader->fReqNbOfEvts, fFileHeader->fStex, fFileHeader->fStartDate, fFileHeader->fStopDate, fFileHeader->fStartTime, fFileHeader->fStopTime); fCnaWrite->fMakeResultsFileName(); // set fRootFileName, fRootFileNameShort fNewRootFileName = fCnaWrite->GetRootFileName(); fNewRootFileNameShort = fCnaWrite->GetRootFileNameShort(); // const Text_t *FileShortName = (const Text_t *)fCnaWrite->fRootFileNameShort.Data(); const Text_t *FileShortName = (const Text_t *)fNewRootFileNameShort.Data(); if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteNewRootFile()> Results are going to be written in the ROOT file: " << endl << " " << fNewRootFileNameShort.Data() << endl;} ok_write = WriteRootFile(FileShortName, fNbSampForCalc); return ok_write; }
Bool_t TEcnaRun::WriteRootFile | ( | ) |
Definition at line 3127 of file TEcnaRun.cc.
References gather_cfg::cout, fCnaWrite, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, TEcnaHeader::fFirstReqEvtNumber, fFlagPrint, TEcnaHeader::fLastReqEvtNumber, TEcnaWrite::fMakeResultsFileName(), TEcnaHeader::fNbOfSamples, TEcnaHeader::fReqNbOfEvts, TEcnaWrite::fRootFileName, TEcnaWrite::fRootFileNameShort, TEcnaHeader::fRunNumber, TEcnaHeader::fStex, fT2d_NbOfEvts, fTTBELL, TEcnaHeader::fTypAna, TEcnaParEcal::MaxCrysEcnaInStex(), and TEcnaWrite::RegisterFileParameters().
Referenced by WriteNewRootFile().
{ //Write the Root file. File name automatically generated in fMakeResultsFileName. Bool_t ok_write = kFALSE; fCnaWrite->RegisterFileParameters(fFileHeader->fTypAna.Data(), fFileHeader->fNbOfSamples, fFileHeader->fRunNumber, fFileHeader->fFirstReqEvtNumber, fFileHeader->fLastReqEvtNumber, fFileHeader->fReqNbOfEvts, fFileHeader->fStex); fCnaWrite->fMakeResultsFileName(); // set fRootFileName, fRootFileNameShort const Text_t *FileShortName = (const Text_t *)fCnaWrite->fRootFileNameShort.Data(); //============================= check number of found events Int_t nCountEvts = 0; for(Int_t i0StexEcha=0; i0StexEcha<fEcal->MaxCrysEcnaInStex(); i0StexEcha++) {for(Int_t i0Sample=0; i0Sample<fFileHeader->fNbOfSamples; i0Sample++) {nCountEvts += fT2d_NbOfEvts[i0StexEcha][i0Sample];}} if ( nCountEvts <= 0 ) { //============== no write if no event found cout << "!TEcnaRun::WriteRootFile()> No event found for file " << fCnaWrite->fRootFileNameShort.Data() << ". File will not be written." << endl; ok_write = kTRUE; } else { if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile()> Results are going to be written in the ROOT file: " << endl << " " << fCnaWrite->fRootFileName.Data() << endl;} ok_write = WriteRootFile(FileShortName, fFileHeader->fNbOfSamples); if( ok_write == kTRUE ) { if(fFlagPrint != fCodePrintNoComment) {cout << "*TEcnaRun::WriteRootFile()> Writing OK for file " << fCnaWrite->fRootFileNameShort.Data() << endl;} } else { cout << "!TEcnaRun::WriteRootFile()> Writing FAILLED for file " << fCnaWrite->fRootFileNameShort.Data() << fTTBELL << endl; } } return ok_write; } // end of WriteRootFile()
Bool_t TEcnaRun::WriteRootFile | ( | const Text_t * | name, |
Int_t & | argNbSampWrite | ||
) |
Definition at line 3224 of file TEcnaRun.cc.
References CloseRootFile(), gather_cfg::cout, cTypAdcEvt, cTypAvHfn, cTypAvLfn, cTypAvMeanCorss, cTypAvPed, cTypAvSigCorss, cTypAvTno, cTypCorCss, cTypCovCss, cTypHFccMoStins, cTypHfCor, cTypHfCov, cTypHfn, cTypLFccMoStins, cTypLfCor, cTypLfCov, cTypLfn, cTypMeanCorss, cTypMSp, cTypNbOfEvts, cTypNumbers, cTypPed, cTypSigCorss, cTypSSp, cTypTno, TEcnaHeader::fAdcEvtCalc, TEcnaHeader::fAvHfnCalc, TEcnaHeader::fAvLfnCalc, TEcnaHeader::fAvMeanCorssCalc, TEcnaHeader::fAvPedCalc, TEcnaHeader::fAvSigCorssCalc, TEcnaHeader::fAvTnoCalc, TCnaRootFile::fCnaIndivResult, fCnaParPaths, TCnaRootFile::fCnaResultsTree, fCodePrintAllComments, TEcnaHeader::fCorCssCalc, TEcnaHeader::fCovCssCalc, fEcal, fFileHeader, fFlagPrint, fgMaxCar, TEcnaHeader::fHFccMoStinsCalc, TEcnaHeader::fHfCorCalc, TEcnaHeader::fHfCovCalc, TEcnaHeader::fHfnCalc, cmsPerfSuiteHarvest::file_name, TEcnaHeader::fLFccMoStinsCalc, TEcnaHeader::fLfCorCalc, TEcnaHeader::fLfCovCalc, TEcnaHeader::fLfnCalc, TEcnaHeader::fMeanCorssCalc, TEcnaHeader::fMSpCalc, TEcnaHeader::fNbOfEvtsCalc, fOpenRootFile, TEcnaHeader::fPedCalc, TEcnaHeader::fReqNbOfEvts, TCnaRootFile::fRootFile, TEcnaHeader::fSigCorssCalc, TEcnaHeader::fSSpCalc, TEcnaHeader::fStinNumbersCalc, fTagAdcEvt, fTagAvHfn, fTagAvLfn, fTagAvMeanCorss, fTagAvPed, fTagAvSigCorss, fTagAvTno, fTagCorCss, fTagCovCss, fTagHFccMoStins, fTagHfCor, fTagHfCov, fTagHfn, fTagLFccMoStins, fTagLfCor, fTagLfCov, fTagLfn, fTagMeanCorss, fTagMSp, fTagNbOfEvts, fTagPed, fTagSigCorss, fTagSSp, fTagStinNumbers, fTagTno, TEcnaHeader::fTnoCalc, fTTBELL, gCnaRootFile, i, TEcnaParEcal::MaxCrysEcnaInStex(), TEcnaParEcal::MaxStinEcnaInStex(), mergeVDriftHistosByStation::name, OpenRootFile(), TEcnaParPaths::ResultsRootFilePath(), TRootAdcEvt(), TRootAvEvCorss(), TRootAvHfn(), TRootAvLfn(), TRootAvPed(), TRootAvSigCorss(), TRootAvTno(), TRootCorCss(), TRootCovCss(), TRootHFccMoStins(), TRootHfCor(), TRootHfCov(), TRootHfn(), TRootLFccMoStins(), TRootLfCor(), TRootLfCov(), TRootLfn(), TRootMeanCorss(), TRootMSp(), TRootNbOfEvts(), TRootPed(), TRootSigCorss(), TRootSSp(), TRootStinNumbers(), and TRootTno().
{ //Write the Root file const Text_t* file_name = name; Bool_t ok_open = kFALSE; Bool_t ok_write = kFALSE; if ( fOpenRootFile ) { cout << "!TEcnaRun::WriteRootFile(...) *** ERROR ***> Writing on file already open." << fTTBELL << endl; } else { //..... List of the different element types and associated parameters as ordered in the ROOT file // ========== // // WARNING *** SIZES ARE THESE FOR THE BARREL (1700 Xtals) and for 10 samples *** // // Nb of Type of element Type Type Size Comment // elements Number Name // // 1 fMatHis(1,StexStin) ( 0) cTypNumbers 1*( 1, 68) = 68 // 1 fMatHis(1,StexStin) (12) cTypAvPed 1*( 1, 68) = 68 // 1 fMatHis(1, StexStin) ( 3) cTypAvTno 1*( 1, 68) = 68 // 1 fMatHis(1, StexStin) ( 4) cTypAvLfn 1*( 1, 68) = 68 // 1 fMatHis(1, StexStin) ( 5) cTypAvHfn 1*( 1, 68) = 68 // 1 fMatHis(1,StexStin) (13) cTypAvMeanCorss 1*( 1, 68) = 68 // 1 fMatHis(1,StexStin) (14) cTypAvSigCorss 1*( 1, 68) = 68 // 1 fMatHis(1,StexEcha) (16) cTypPed 1*( 1,1700) = 1 700 // 1 fMatHis(1,StexEcha) (17) cTypTno 1*( 1,1700) = 1 700 // 1 fMatHis(1,StexEcha) (10) cTypMeanCorss 1*( 1,1700) = 1 700 // 1 fMatHis(1,StexEcha) (18) cTypLfn 1*( 1,1700) = 1 700 // 1 fMatHis(1,StexEcha) (19) cTypHfn 1*( 1,1700) = 1 700 // 1 fMatHis(1,StexEcha) (11) cTypSigCorss 1*( 1,1700) = 1 700 // 1 fMatMat(Stin,Stin) (23) cTypLFccMoStins 1*( 68, 68) = 4 624 // 1 fMatMat(Stin,Stin) (24) cTypHFccMoStins 1*( 68, 68) = 4 624 // 1 fMatHis(StexEcha, sample) (15) cTypNbOfEvts 1*(1700, 10) = 17 000 // 1 fMatHis(StexEcha, sample) ( 1) cTypMSp 1*(1700, 10) = 17 000 // 1 fMatHis(StexEcha, sample) ( 2) cTypSSp 1*(1700, 10) = 17 000 // StexEcha fMatMat(sample, sample) ( 8) cTypCovCss 1700*( 10, 10) = 170 000 // StexEcha fMatMat(sample, sample ( 9) cTypCorCss 1700*( 10, 10) = 170 000 // StexEcha fMatHis(sample, bin_evt) (20) cTypAdcEvt, 1700*( 10, 150) = 2 550 000 // 1 fMatMat(StexEcha, StexEcha) (21) cTypLfCov 1*(1700,1700) = 2 890 000 // 1 fMatMat(StexEcha, StexEcha) (22) cTypLfCor 1*(1700,1700) = 2 890 000 // 1 fMatMat(StexEcha, StexEcha) ( 6) cTypHfCov 1*(1700,1700) = 2 890 000 // (06/05/08) // 1 fMatMat(StexEcha, StexEcha) ( 7) cTypHfCor 1*(1700,1700) = 2 890 000 // (06/05/08) //...................................................................................................... ok_open = OpenRootFile(file_name, "RECREATE"); TString typ_name = "?"; Int_t v_nb_times = 0; Int_t v_dim_one = 0; Int_t v_dim_two = 0; Int_t v_size = 0; Int_t v_tot = 0; Int_t v_tot_writ = 0; //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // // ===> no general method and no translation to TEcnaWrite // because the fT1d.. and fT2d... arrays // are attributes of TEcnaRun (calls to the "TRootXXXX" methods) // //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% //-------------------------- Stin numbers // 1 fMatHis(1,Stin) ( 0) cTypNumbers 1*( 1, 68) = 68 Int_t MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "StinNumbers"; v_nb_times = fFileHeader->fStinNumbersCalc; v_dim_one = 1; v_dim_two = fEcal->MaxStinEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagStinNumbers[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypNumbers; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootStinNumbers(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Averaged Pedestals (1 value per Stin) // 1 fMatHis(1, StexStin) (12) cTypAvPed 1*(1, 68) = 68 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "AvPed"; v_nb_times = fFileHeader->fAvPedCalc; v_dim_one = 1; v_dim_two = fEcal->MaxStinEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagAvPed[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypAvPed; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootAvPed(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Averaged Total noise // StexEcha fMatHis(1, StexStin) ( 3) cTypAvTno 1*(1, 68) = 68 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "AvTno"; v_nb_times = fFileHeader->fAvTnoCalc; v_dim_one = 1; v_dim_two = fEcal->MaxStinEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagAvTno[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypAvTno; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootAvTno(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Averaged Low frequency noise // 1 fMatHis(1, StexStin) ( 4) cTypAvLfn 1*(1, 68) = 68 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "AvLfn"; v_nb_times = fFileHeader->fAvLfnCalc; v_dim_one = 1; v_dim_two = fEcal->MaxStinEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagAvLfn[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypAvLfn; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootAvLfn(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Averaged High frequency noise // 1 fMatHis(1, StexStin) ( 5) cTypAvHfn 1*(1, 68) = 68 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "AvHfn"; v_nb_times = fFileHeader->fAvHfnCalc; v_dim_one = 1; v_dim_two = fEcal->MaxStinEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagAvHfn[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypAvHfn; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootAvHfn(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Averaged mean of cor(s,s) // 1 fMatHis(1, StexStin) (13) cTypAvMeanCorss 1*(1, 68) = 68 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "AvMeanCorss"; v_nb_times = fFileHeader->fAvMeanCorssCalc; v_dim_one = 1; v_dim_two = fEcal->MaxStinEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagAvMeanCorss[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypAvMeanCorss; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootAvEvCorss(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Averaged sigma of cor(s,s) // 1 fMatHis(1, StexStin) (14) cTypAvSigCorss 1*(1, 68) = 68 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "AvSigCorss"; v_nb_times = fFileHeader->fAvSigCorssCalc; v_dim_one = 1; v_dim_two = fEcal->MaxStinEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagAvSigCorss[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypAvSigCorss; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootAvSigCorss(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Expectation values of the expectation values of the samples (pedestals) // 1 fMatHis(1,StexEcha) (16) cTypPed 1*( 1,1700) = 1 700 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "Ped"; v_nb_times = fFileHeader->fPedCalc; v_dim_one = 1; v_dim_two = fEcal->MaxCrysEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagPed[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypPed; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootPed(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Expectation values of the sigmas the samples // 1 fMatHis(1,StexEcha) (17) cTypTno 1*( 1,1700) = 1 700 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "Tno"; v_nb_times = fFileHeader->fTnoCalc; v_dim_one = 1; v_dim_two = fEcal->MaxCrysEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagTno[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypTno; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootTno(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Expectation values of the correlations between the samples // 1 fMatHis(1,StexEcha) (10) cTypMeanCorss 1*( 1,1700) = 1 700 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "MeanCorss"; v_nb_times = fFileHeader->fMeanCorssCalc; v_dim_one = 1; v_dim_two = fEcal->MaxCrysEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagMeanCorss[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypMeanCorss; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootMeanCorss(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Sigmas of the expectation values of the samples // 1 fMatHis(1,StexEcha) (18) cTypLfn 1*( 1,1700) = 1 700 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "Lfn"; v_nb_times = fFileHeader->fLfnCalc; v_dim_one = 1; v_dim_two = fEcal->MaxCrysEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagLfn[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypLfn; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootLfn(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Sigmas of the sigmas of the samples // 1 fMatHis(1,StexEcha) (19) cTypHfn 1*( 1,1700) = 1 700 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "Hfn"; v_nb_times = fFileHeader->fHfnCalc; v_dim_one = 1; v_dim_two = fEcal->MaxCrysEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagHfn[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypHfn; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootHfn(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Sigmas of the correlations between the samples // 1 fMatHis(1,StexEcha) (11) cTypSigCorss 1*( 1,1700) = 1 700 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "SigCorss"; v_nb_times = fFileHeader->fSigCorssCalc; v_dim_one = 1; v_dim_two = fEcal->MaxCrysEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagSigCorss[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypSigCorss; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootSigCorss(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //----- Mean Covariances between StexEchas (averaged over samples) for all (Stin_X,Stin_Y) // 1 fMatMat(Stin,Stin) (23) cTypLFccMoStins 1*( 68, 68) = 4 624 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "LFccMoStins"; v_nb_times = fFileHeader->fLFccMoStinsCalc; v_dim_one = fEcal->MaxStinEcnaInStex(); v_dim_two = fEcal->MaxStinEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagLFccMoStins[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypLFccMoStins; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeMat(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatHis.ReSet(1,1); TRootLFccMoStins(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //----- Mean Correlations between StexEchas (averaged over samples) for all (Stin_X,Stin_Y) // 1 fMatMat(Stin,Stin) (24) cTypHFccMoStins 1*( 68, 68) = 4 624 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "HFccMoStins"; v_nb_times = fFileHeader->fHFccMoStinsCalc; v_dim_one = fEcal->MaxStinEcnaInStex(); v_dim_two = fEcal->MaxStinEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagHFccMoStins[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypHFccMoStins; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeMat(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatHis.ReSet(1,1); TRootHFccMoStins(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Numbers of found events (NbOfEvts) // 1 fMatHis(StexEcha, sample) (15) cTypNbOfEvts 1*(1700, 10) = 17 000 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "NbOfEvts"; v_nb_times = fFileHeader->fNbOfEvtsCalc; v_dim_one = fEcal->MaxCrysEcnaInStex(); v_dim_two = argNbSampWrite; v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagNbOfEvts[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypNbOfEvts; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootNbOfEvts(argNbSampWrite); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Expectation values of the samples // 1 fMatHis(StexEcha, sample) ( 1) cTypMSp 1*(1700, 10) = 17 000 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "MSp"; v_nb_times = fFileHeader->fMSpCalc; v_dim_one = fEcal->MaxCrysEcnaInStex(); v_dim_two = argNbSampWrite; v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagMSp[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypMSp; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootMSp(argNbSampWrite); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Sigmas of the samples // 1 fMatHis(StexEcha, sample) ( 2) cTypSSp 1*(1700, 10) = 17 000 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "SSp"; v_nb_times = fFileHeader->fSSpCalc; v_dim_one = fEcal->MaxCrysEcnaInStex(); v_dim_two = argNbSampWrite; v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagSSp[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypSSp; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootSSp(argNbSampWrite); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Covariances between samples // StexEcha fMatMat(sample, sample) ( 8) cTypCovCss 1700*( 10, 10) = 170 000 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "CovCss"; v_nb_times = fFileHeader->fCovCssCalc; v_dim_one = argNbSampWrite; v_dim_two = argNbSampWrite; v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i0StexEcha = 0; i0StexEcha < v_nb_times; i0StexEcha++) { if ( fTagCovCss[i0StexEcha] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypCovCss; gCnaRootFile->fCnaIndivResult->fIthElement = i0StexEcha; gCnaRootFile->fCnaIndivResult->SetSizeMat(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatHis.ReSet(1,1); TRootCovCss(i0StexEcha, argNbSampWrite); gCnaRootFile->fCnaResultsTree->Fill(); if( i0StexEcha == 0 && fFlagPrint == fCodePrintAllComments) {cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Correlations between samples // StexEcha fMatMat(sample, sample) ( 9) cTypCorCss 1700*( 10, 10) = 170 000 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "CorCss"; v_nb_times = fFileHeader->fCorCssCalc; v_dim_one = argNbSampWrite; v_dim_two = argNbSampWrite; v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i0StexEcha = 0; i0StexEcha < v_nb_times; i0StexEcha++) { if ( fTagCorCss[i0StexEcha] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypCorCss; gCnaRootFile->fCnaIndivResult->fIthElement = i0StexEcha; gCnaRootFile->fCnaIndivResult->SetSizeMat(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatHis.ReSet(1,1); TRootCorCss(i0StexEcha, argNbSampWrite); gCnaRootFile->fCnaResultsTree->Fill(); if( i0StexEcha == 0 && fFlagPrint == fCodePrintAllComments) {cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Samples as a function of event = events distributions // StexEcha fMatHis(sample, bins) (20) cTypAdcEvt, 1700*( 10, 150) = 2 550 000 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "AdcEvt"; v_nb_times = fFileHeader->fAdcEvtCalc; v_dim_one = argNbSampWrite; v_dim_two = fFileHeader->fReqNbOfEvts; v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i0StexEcha = 0; i0StexEcha < v_nb_times; i0StexEcha++) { if ( fTagAdcEvt[i0StexEcha] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypAdcEvt; gCnaRootFile->fCnaIndivResult->fIthElement = i0StexEcha; gCnaRootFile->fCnaIndivResult->SetSizeHis(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatMat.ReSet(1,1); TRootAdcEvt(i0StexEcha, argNbSampWrite); gCnaRootFile->fCnaResultsTree->Fill(); if( i0StexEcha == 0 && fFlagPrint == fCodePrintAllComments) {cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Low Frequency Covariances between StexEchas // sample fMatMat(StexEcha, StexEcha) (21) cTypLfCov 1*(1700,1700) = 2 890 000 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "LfCov"; v_nb_times = fFileHeader->fLfCovCalc; v_dim_one = fEcal->MaxCrysEcnaInStex(); v_dim_two = fEcal->MaxCrysEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { //=================================== Record type EB if ( fTagLfCov[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypLfCov; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeMat(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatHis.ReSet(1,1); TRootLfCov(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- Low Frequency Correlations between StexEchas // sample fMatMat(StexEcha, StexEcha) (22) cTypLfCor 1*(1700,1700) = 2 890 000 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "LfCor"; v_nb_times = fFileHeader->fLfCorCalc; v_dim_one = fEcal->MaxCrysEcnaInStex(); v_dim_two = fEcal->MaxCrysEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagLfCor[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypLfCor; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeMat(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatHis.ReSet(1,1); TRootLfCor(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- High Frequency Covariances between StexEchas // sample fMatMat(StexEcha, StexEcha) (6) cTypHfCov 1*(1700,1700) = 2 890 000 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "HfCov"; v_nb_times = fFileHeader->fHfCovCalc; v_dim_one = fEcal->MaxCrysEcnaInStex(); v_dim_two = fEcal->MaxCrysEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagHfCov[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypHfCov; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeMat(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatHis.ReSet(1,1); TRootHfCov(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //-------------------------- High Frequency Correlations between StexEchas // sample fMatMat(StexEcha, StexEcha) (7) cTypHfCor 1*(1700,1700) = 2 890 000 MaxCar = fgMaxCar; typ_name.Resize(MaxCar); typ_name = "HfCor"; v_nb_times = fFileHeader->fHfCorCalc; v_dim_one = fEcal->MaxCrysEcnaInStex(); v_dim_two = fEcal->MaxCrysEcnaInStex(); v_size = v_nb_times*v_dim_one*v_dim_two; v_tot += v_size; if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(18) << typ_name << ": " << setw(4) << v_nb_times << " * (" << setw(4) << v_dim_one << "," << setw(4) << v_dim_two << ") = " << setw(9) << v_size;} for (Int_t i = 0; i < v_nb_times; i++) { if ( fTagHfCor[0] == 1 ) { gCnaRootFile->fCnaIndivResult->fTypOfCnaResult = cTypHfCor; gCnaRootFile->fCnaIndivResult->fIthElement = i; gCnaRootFile->fCnaIndivResult->SetSizeMat(v_dim_one,v_dim_two); gCnaRootFile->fCnaIndivResult->fMatHis.ReSet(1,1); TRootHfCor(); gCnaRootFile->fCnaResultsTree->Fill(); if( i == 0 && fFlagPrint == fCodePrintAllComments ){cout << " => WRITTEN ON FILE "; v_tot_writ += v_size;} } } if(fFlagPrint == fCodePrintAllComments){cout << endl;} //---------------------------------------------- WRITING //...................................... file gCnaRootFile->fRootFile->Write(); //...................................... header fFileHeader->Write(); //...................................... status message if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> " << setw(20) << "TOTAL: " << setw(21) << "CALCULATED = " << setw(9) << v_tot << " => WRITTEN ON FILE = " << setw(9) << v_tot_writ << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << "*TEcnaRun::WriteRootFile(...)> Write OK in file " << file_name << " in directory:" << endl << " " << fCnaParPaths->ResultsRootFilePath().Data() << endl;} ok_write = kTRUE; //...................................... close CloseRootFile(file_name); } return ok_write; } //-------------- End of WriteRootFile(...) -----------------------
Int_t TEcnaRun::fBuildEvtNotSkipped [private] |
Definition at line 83 of file TEcnaRun.h.
Referenced by BuildEventDistributions(), Init(), and ~TEcnaRun().
Int_t TEcnaRun::fCdelete [private] |
Definition at line 55 of file TEcnaRun.h.
Referenced by CloseRootFile(), Init(), and ~TEcnaRun().
Int_t TEcnaRun::fCnaCommand [private] |
Definition at line 52 of file TEcnaRun.h.
Referenced by Init().
Int_t TEcnaRun::fCnaError [private] |
Definition at line 52 of file TEcnaRun.h.
Referenced by Init().
TEcnaParCout* TEcnaRun::fCnaParCout [private] |
Definition at line 66 of file TEcnaRun.h.
Referenced by Init(), ReadEventDistributions(), and SetEcalSubDetector().
TEcnaParPaths* TEcnaRun::fCnaParPaths [private] |
Definition at line 67 of file TEcnaRun.h.
Referenced by Init(), OpenRootFile(), ReadEventDistributions(), SetEcalSubDetector(), and WriteRootFile().
TEcnaWrite* TEcnaRun::fCnaWrite [private] |
Definition at line 68 of file TEcnaRun.h.
Referenced by GetReadyToCompute(), ReadEventDistributions(), SetEcalSubDetector(), WriteNewRootFile(), and WriteRootFile().
Int_t TEcnaRun::fCnew [private] |
Definition at line 54 of file TEcnaRun.h.
Referenced by AveragedHighFrequencyNoise(), AveragedLowFrequencyNoise(), AveragedMeanOfCorrelationsBetweenSamples(), AveragedPedestals(), AveragedSigmaOfCorrelationsBetweenSamples(), AveragedTotalNoise(), CorrelationsBetweenSamples(), CovariancesBetweenSamples(), GetReadyToReadData(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), HighFrequencyNoise(), Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), LowFrequencyNoise(), MeanOfCorrelationsBetweenSamples(), OpenRootFile(), Pedestals(), SampleMeans(), SampleSigmas(), SigmaOfCorrelationsBetweenSamples(), TotalNoise(), and ~TEcnaRun().
Int_t TEcnaRun::fCodePrintAllComments [private] |
Definition at line 186 of file TEcnaRun.h.
Referenced by AveragedHighFrequencyNoise(), AveragedLowFrequencyNoise(), AveragedMeanOfCorrelationsBetweenSamples(), AveragedPedestals(), AveragedSigmaOfCorrelationsBetweenSamples(), AveragedTotalNoise(), BuildEventDistributions(), CloseRootFile(), CorrelationsBetweenSamples(), CovariancesBetweenSamples(), GetReadyToReadData(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), HighFrequencyNoise(), Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), LowFrequencyNoise(), MeanOfCorrelationsBetweenSamples(), OpenRootFile(), Pedestals(), PrintAllComments(), SampleMeans(), SampleSigmas(), SampleValues(), SigmaOfCorrelationsBetweenSamples(), TotalNoise(), WriteNewRootFile(), WriteRootFile(), and ~TEcnaRun().
Int_t TEcnaRun::fCodePrintComments [private] |
Definition at line 186 of file TEcnaRun.h.
Referenced by Init(), and PrintComments().
Int_t TEcnaRun::fCodePrintNoComment [private] |
Definition at line 186 of file TEcnaRun.h.
Referenced by AveragedHighFrequencyNoise(), AveragedLowFrequencyNoise(), AveragedMeanOfCorrelationsBetweenSamples(), AveragedPedestals(), AveragedSigmaOfCorrelationsBetweenSamples(), AveragedTotalNoise(), CorrelationsBetweenSamples(), CovariancesBetweenSamples(), GetReadyToReadData(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), HighFrequencyNoise(), Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), LowFrequencyNoise(), MeanOfCorrelationsBetweenSamples(), Pedestals(), PrintNoComment(), SampleMeans(), SampleSigmas(), SigmaOfCorrelationsBetweenSamples(), TotalNoise(), WriteRootFile(), and ~TEcnaRun().
Int_t TEcnaRun::fCodePrintWarnings [private] |
Definition at line 186 of file TEcnaRun.h.
Referenced by Init(), PrintWarnings(), and ~TEcnaRun().
TEcnaParEcal* TEcnaRun::fEcal [private] |
Definition at line 64 of file TEcnaRun.h.
Referenced by AveragedHighFrequencyNoise(), AveragedLowFrequencyNoise(), AveragedMeanOfCorrelationsBetweenSamples(), AveragedPedestals(), AveragedSigmaOfCorrelationsBetweenSamples(), AveragedTotalNoise(), BuildEventDistributions(), CorrelationsBetweenSamples(), CovariancesBetweenSamples(), GetReadyToCompute(), GetReadyToReadData(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), HighFrequencyNoise(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), LowFrequencyNoise(), MeanOfCorrelationsBetweenSamples(), Pedestals(), ReadEventDistributions(), SampleMeans(), SampleSigmas(), SampleValues(), SetEcalSubDetector(), SigmaOfCorrelationsBetweenSamples(), TEcnaRun(), TotalNoise(), TRootAvEvCorss(), TRootAvHfn(), TRootAvLfn(), TRootAvPed(), TRootAvSigCorss(), TRootAvTno(), TRootHFccMoStins(), TRootHfCor(), TRootHfCov(), TRootHfn(), TRootLFccMoStins(), TRootLfCor(), TRootLfCov(), TRootLfn(), TRootMeanCorss(), TRootMSp(), TRootNbOfEvts(), TRootPed(), TRootSigCorss(), TRootSSp(), TRootStinNumbers(), TRootTno(), and WriteRootFile().
TEcnaNumbering* TEcnaRun::fEcalNumbering [private] |
Definition at line 65 of file TEcnaRun.h.
Referenced by AveragedHighFrequencyNoise(), AveragedLowFrequencyNoise(), AveragedMeanOfCorrelationsBetweenSamples(), AveragedPedestals(), AveragedSigmaOfCorrelationsBetweenSamples(), AveragedTotalNoise(), BuildEventDistributions(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), ReadEventDistributions(), and SetEcalSubDetector().
ofstream TEcnaRun::fFcout_f [private] |
Definition at line 183 of file TEcnaRun.h.
TEcnaHeader* TEcnaRun::fFileHeader [private] |
Definition at line 63 of file TEcnaRun.h.
Referenced by AveragedHighFrequencyNoise(), AveragedLowFrequencyNoise(), AveragedMeanOfCorrelationsBetweenSamples(), AveragedPedestals(), AveragedSigmaOfCorrelationsBetweenSamples(), AveragedTotalNoise(), BuildEventDistributions(), CorrelationsBetweenSamples(), CovariancesBetweenSamples(), GetReadyToCompute(), GetReadyToReadData(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), HighFrequencyNoise(), Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), LowFrequencyNoise(), MeanOfCorrelationsBetweenSamples(), Pedestals(), ReadEventDistributions(), SampleMeans(), SampleSigmas(), SampleValues(), SigmaOfCorrelationsBetweenSamples(), StartStopDate(), StartStopTime(), TotalNoise(), TRootAdcEvt(), WriteNewRootFile(), and WriteRootFile().
Int_t TEcnaRun::fFlagPrint [private] |
Definition at line 185 of file TEcnaRun.h.
Referenced by AveragedHighFrequencyNoise(), AveragedLowFrequencyNoise(), AveragedMeanOfCorrelationsBetweenSamples(), AveragedPedestals(), AveragedSigmaOfCorrelationsBetweenSamples(), AveragedTotalNoise(), BuildEventDistributions(), CloseRootFile(), CorrelationsBetweenSamples(), CovariancesBetweenSamples(), GetReadyToReadData(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), HighFrequencyNoise(), Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), LowFrequencyNoise(), MeanOfCorrelationsBetweenSamples(), OpenRootFile(), Pedestals(), PrintAllComments(), PrintComments(), PrintNoComment(), PrintWarnings(), SampleMeans(), SampleSigmas(), SampleValues(), SigmaOfCorrelationsBetweenSamples(), TotalNoise(), WriteNewRootFile(), WriteRootFile(), and ~TEcnaRun().
TString TEcnaRun::fFlagSubDet [private] |
Definition at line 70 of file TEcnaRun.h.
Referenced by BuildEventDistributions(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), ReadEventDistributions(), and SetEcalSubDetector().
Int_t TEcnaRun::fgMaxCar [private] |
Definition at line 50 of file TEcnaRun.h.
Referenced by Init(), SetEcalSubDetector(), and WriteRootFile().
Int_t TEcnaRun::fMaxMsgIndexForMiscDiag [private] |
Definition at line 61 of file TEcnaRun.h.
Referenced by Init().
Int_t* TEcnaRun::fMiscDiag [private] |
Definition at line 59 of file TEcnaRun.h.
Referenced by AveragedHighFrequencyNoise(), AveragedLowFrequencyNoise(), AveragedMeanOfCorrelationsBetweenSamples(), AveragedPedestals(), AveragedSigmaOfCorrelationsBetweenSamples(), AveragedTotalNoise(), GetReadyToReadData(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), HighFrequencyNoise(), Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), LowFrequencyNoise(), MeanOfCorrelationsBetweenSamples(), Pedestals(), SampleMeans(), SampleSigmas(), SigmaOfCorrelationsBetweenSamples(), TotalNoise(), and ~TEcnaRun().
Int_t TEcnaRun::fNbOfMiscDiagCounters [private] |
Definition at line 60 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), and ~TEcnaRun().
Int_t TEcnaRun::fNbSampForCalc [private] |
Definition at line 86 of file TEcnaRun.h.
Referenced by CorrelationsBetweenSamples(), CovariancesBetweenSamples(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyNoise(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyNoise(), MeanOfCorrelationsBetweenSamples(), Pedestals(), ReadEventDistributions(), SampleMeans(), SampleSigmas(), SigmaOfCorrelationsBetweenSamples(), TotalNoise(), and WriteNewRootFile().
Int_t TEcnaRun::fNbSampForFic [private] |
Definition at line 85 of file TEcnaRun.h.
Referenced by BuildEventDistributions(), GetReadyToCompute(), GetReadyToReadData(), and TEcnaRun().
TString TEcnaRun::fNewRootFileName [private] |
Definition at line 78 of file TEcnaRun.h.
Referenced by GetNewRootFileName(), and WriteNewRootFile().
TString TEcnaRun::fNewRootFileNameShort [private] |
Definition at line 79 of file TEcnaRun.h.
Referenced by GetNewRootFileNameShort(), and WriteNewRootFile().
Int_t TEcnaRun::fNumberOfEvents [private] |
Definition at line 88 of file TEcnaRun.h.
Referenced by CovariancesBetweenSamples(), GetReadyToCompute(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyNoise(), Init(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyNoise(), SampleMeans(), and SampleSigmas().
Bool_t TEcnaRun::fOpenRootFile [private] |
Definition at line 73 of file TEcnaRun.h.
Referenced by CloseRootFile(), Init(), OpenRootFile(), and WriteRootFile().
Int_t TEcnaRun::fReadyToReadData [private] |
Definition at line 74 of file TEcnaRun.h.
Referenced by BuildEventDistributions(), GetReadyToReadData(), and Init().
TString TEcnaRun::fRootFileName [private] |
Definition at line 76 of file TEcnaRun.h.
Referenced by GetRootFileName(), and ReadEventDistributions().
TString TEcnaRun::fRootFileNameShort [private] |
Definition at line 77 of file TEcnaRun.h.
Referenced by GetRootFileNameShort(), and ReadEventDistributions().
Int_t TEcnaRun::fSpecialStexStinNotIndexed [private] |
Definition at line 81 of file TEcnaRun.h.
Referenced by BuildEventDistributions(), GetReadyToReadData(), and Init().
TString TEcnaRun::fStexName [private] |
Definition at line 71 of file TEcnaRun.h.
Referenced by AveragedHighFrequencyNoise(), AveragedLowFrequencyNoise(), AveragedMeanOfCorrelationsBetweenSamples(), AveragedPedestals(), AveragedSigmaOfCorrelationsBetweenSamples(), AveragedTotalNoise(), BuildEventDistributions(), GetReadyToReadData(), and SetEcalSubDetector().
Int_t TEcnaRun::fStinIndexBuilt [private] |
Definition at line 82 of file TEcnaRun.h.
Referenced by BuildEventDistributions(), and Init().
TString TEcnaRun::fStinName [private] |
Definition at line 71 of file TEcnaRun.h.
Referenced by AveragedHighFrequencyNoise(), AveragedLowFrequencyNoise(), AveragedMeanOfCorrelationsBetweenSamples(), AveragedPedestals(), AveragedSigmaOfCorrelationsBetweenSamples(), AveragedTotalNoise(), BuildEventDistributions(), GetReadyToReadData(), LowFrequencyMeanCorrelationsBetweenStins(), and SetEcalSubDetector().
Double_t* TEcnaRun::fT1d_av_ev_corss [private] |
Definition at line 133 of file TEcnaRun.h.
Referenced by AveragedMeanOfCorrelationsBetweenSamples(), Init(), TRootAvEvCorss(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_av_hifn [private] |
Definition at line 143 of file TEcnaRun.h.
Referenced by AveragedHighFrequencyNoise(), Init(), TRootAvHfn(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_av_lofn [private] |
Definition at line 138 of file TEcnaRun.h.
Referenced by AveragedLowFrequencyNoise(), Init(), TRootAvLfn(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_av_mped [private] |
Definition at line 123 of file TEcnaRun.h.
Referenced by AveragedPedestals(), Init(), TRootAvPed(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_av_sig_corss [private] |
Definition at line 148 of file TEcnaRun.h.
Referenced by AveragedSigmaOfCorrelationsBetweenSamples(), Init(), TRootAvSigCorss(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_av_totn [private] |
Definition at line 128 of file TEcnaRun.h.
Referenced by AveragedTotalNoise(), Init(), TRootAvTno(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_ev [private] |
Definition at line 103 of file TEcnaRun.h.
Referenced by Init(), SampleMeans(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_ev_cor_ss [private] |
Definition at line 131 of file TEcnaRun.h.
Referenced by AveragedMeanOfCorrelationsBetweenSamples(), Init(), MeanOfCorrelationsBetweenSamples(), SigmaOfCorrelationsBetweenSamples(), TRootMeanCorss(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_ev_ev [private] |
Definition at line 121 of file TEcnaRun.h.
Referenced by AveragedPedestals(), Init(), Pedestals(), TRootPed(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_evevt_of_sigsamp [private] |
Definition at line 141 of file TEcnaRun.h.
Referenced by AveragedHighFrequencyNoise(), HighFrequencyNoise(), Init(), TRootHfn(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_evsamp_of_sigevt [private] |
Definition at line 126 of file TEcnaRun.h.
Referenced by AveragedTotalNoise(), Init(), TotalNoise(), TRootTno(), and ~TEcnaRun().
Int_t* TEcnaRun::fT1d_NbOfEvts [private] |
Definition at line 96 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_sig [private] |
Definition at line 107 of file TEcnaRun.h.
Referenced by Init(), SampleSigmas(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_sig_cor_ss [private] |
Definition at line 146 of file TEcnaRun.h.
Referenced by AveragedSigmaOfCorrelationsBetweenSamples(), Init(), SigmaOfCorrelationsBetweenSamples(), TRootSigCorss(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_sigevt_of_evsamp [private] |
Definition at line 136 of file TEcnaRun.h.
Referenced by AveragedLowFrequencyNoise(), Init(), LowFrequencyNoise(), TRootLfn(), and ~TEcnaRun().
Int_t* TEcnaRun::fT1d_StexStinFromIndex [private] |
Definition at line 99 of file TEcnaRun.h.
Referenced by BuildEventDistributions(), GetReadyToReadData(), Init(), ReadEventDistributions(), TRootStinNumbers(), and ~TEcnaRun().
Int_t* TEcnaRun::fT1dCrysNumbersTable [private] |
Definition at line 181 of file TEcnaRun.h.
Referenced by Init(), and ~TEcnaRun().
Double_t* TEcnaRun::fT2d1_hf_cor [private] |
Definition at line 166 of file TEcnaRun.h.
Referenced by HighFrequencyCorrelationsBetweenChannels(), Init(), and ~TEcnaRun().
Double_t* TEcnaRun::fT2d1_hf_cov [private] |
Definition at line 162 of file TEcnaRun.h.
Referenced by HighFrequencyCovariancesBetweenChannels(), Init(), and ~TEcnaRun().
Double_t* TEcnaRun::fT2d1_hfcc_mostins [private] |
Definition at line 175 of file TEcnaRun.h.
Referenced by HighFrequencyMeanCorrelationsBetweenStins(), Init(), and ~TEcnaRun().
Double_t* TEcnaRun::fT2d1_lf_cor [private] |
Definition at line 157 of file TEcnaRun.h.
Referenced by Init(), LowFrequencyCorrelationsBetweenChannels(), and ~TEcnaRun().
Double_t* TEcnaRun::fT2d1_lf_cov [private] |
Definition at line 153 of file TEcnaRun.h.
Referenced by Init(), LowFrequencyCovariancesBetweenChannels(), and ~TEcnaRun().
Double_t* TEcnaRun::fT2d1_lfcc_mostins [private] |
Definition at line 171 of file TEcnaRun.h.
Referenced by Init(), LowFrequencyMeanCorrelationsBetweenStins(), and ~TEcnaRun().
Double_t** TEcnaRun::fT2d_ev [private] |
Definition at line 102 of file TEcnaRun.h.
Referenced by CovariancesBetweenSamples(), Init(), Pedestals(), SampleMeans(), SampleSigmas(), TRootMSp(), and ~TEcnaRun().
Double_t** TEcnaRun::fT2d_hf_cor [private] |
Definition at line 165 of file TEcnaRun.h.
Referenced by HighFrequencyCorrelationsBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), Init(), TRootHfCor(), and ~TEcnaRun().
Double_t** TEcnaRun::fT2d_hf_cov [private] |
Definition at line 161 of file TEcnaRun.h.
Referenced by HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), Init(), TRootHfCov(), and ~TEcnaRun().
Double_t** TEcnaRun::fT2d_hfcc_mostins [private] |
Definition at line 174 of file TEcnaRun.h.
Referenced by HighFrequencyMeanCorrelationsBetweenStins(), Init(), TRootHFccMoStins(), and ~TEcnaRun().
Double_t** TEcnaRun::fT2d_lf_cor [private] |
Definition at line 156 of file TEcnaRun.h.
Referenced by Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), TRootLfCor(), and ~TEcnaRun().
Double_t** TEcnaRun::fT2d_lf_cov [private] |
Definition at line 152 of file TEcnaRun.h.
Referenced by Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), TRootLfCov(), and ~TEcnaRun().
Double_t** TEcnaRun::fT2d_lfcc_mostins [private] |
Definition at line 170 of file TEcnaRun.h.
Referenced by Init(), LowFrequencyMeanCorrelationsBetweenStins(), TRootLFccMoStins(), and ~TEcnaRun().
Int_t** TEcnaRun::fT2d_NbOfEvts [private] |
Definition at line 95 of file TEcnaRun.h.
Referenced by BuildEventDistributions(), GetReadyToCompute(), GetReadyToReadData(), Init(), ReadEventDistributions(), TRootNbOfEvts(), WriteRootFile(), and ~TEcnaRun().
Double_t** TEcnaRun::fT2d_sig [private] |
Definition at line 106 of file TEcnaRun.h.
Referenced by Init(), SampleSigmas(), TotalNoise(), TRootSSp(), and ~TEcnaRun().
Int_t** TEcnaRun::fT2dCrysNumbersTable [private] |
Definition at line 180 of file TEcnaRun.h.
Referenced by Init(), and ~TEcnaRun().
Double_t* TEcnaRun::fT3d1_cor_ss [private] |
Definition at line 117 of file TEcnaRun.h.
Referenced by CorrelationsBetweenSamples(), Init(), and ~TEcnaRun().
Double_t* TEcnaRun::fT3d1_cov_ss [private] |
Definition at line 112 of file TEcnaRun.h.
Referenced by CovariancesBetweenSamples(), Init(), and ~TEcnaRun().
Double_t* TEcnaRun::fT3d1_distribs [private] |
Definition at line 92 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), and ~TEcnaRun().
Double_t** TEcnaRun::fT3d2_cor_ss [private] |
Definition at line 116 of file TEcnaRun.h.
Referenced by CorrelationsBetweenSamples(), Init(), and ~TEcnaRun().
Double_t** TEcnaRun::fT3d2_cov_ss [private] |
Definition at line 111 of file TEcnaRun.h.
Referenced by CovariancesBetweenSamples(), Init(), and ~TEcnaRun().
Double_t** TEcnaRun::fT3d2_distribs [private] |
Definition at line 91 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), and ~TEcnaRun().
Double_t*** TEcnaRun::fT3d_cor_ss [private] |
Definition at line 115 of file TEcnaRun.h.
Referenced by CorrelationsBetweenSamples(), Init(), MeanOfCorrelationsBetweenSamples(), SigmaOfCorrelationsBetweenSamples(), TRootCorCss(), and ~TEcnaRun().
Double_t*** TEcnaRun::fT3d_cov_ss [private] |
Definition at line 110 of file TEcnaRun.h.
Referenced by CorrelationsBetweenSamples(), CovariancesBetweenSamples(), Init(), TRootCovCss(), and ~TEcnaRun().
Double_t*** TEcnaRun::fT3d_distribs [private] |
Definition at line 90 of file TEcnaRun.h.
Referenced by BuildEventDistributions(), CovariancesBetweenSamples(), GetReadyToReadData(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyNoise(), Init(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyNoise(), ReadEventDistributions(), SampleMeans(), SampleSigmas(), TRootAdcEvt(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagAdcEvt [private] |
Definition at line 93 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), SampleValues(), TRootAdcEvt(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagAvHfn [private] |
Definition at line 144 of file TEcnaRun.h.
Referenced by AveragedHighFrequencyNoise(), GetReadyToReadData(), Init(), TRootAvHfn(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagAvLfn [private] |
Definition at line 139 of file TEcnaRun.h.
Referenced by AveragedLowFrequencyNoise(), GetReadyToReadData(), Init(), TRootAvLfn(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagAvMeanCorss [private] |
Definition at line 134 of file TEcnaRun.h.
Referenced by AveragedMeanOfCorrelationsBetweenSamples(), GetReadyToReadData(), Init(), TRootAvEvCorss(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagAvPed [private] |
Definition at line 124 of file TEcnaRun.h.
Referenced by AveragedPedestals(), GetReadyToReadData(), Init(), TRootAvPed(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagAvSigCorss [private] |
Definition at line 149 of file TEcnaRun.h.
Referenced by AveragedSigmaOfCorrelationsBetweenSamples(), GetReadyToReadData(), Init(), TRootAvSigCorss(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagAvTno [private] |
Definition at line 129 of file TEcnaRun.h.
Referenced by AveragedTotalNoise(), GetReadyToReadData(), Init(), TRootAvTno(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagCorCss [private] |
Definition at line 118 of file TEcnaRun.h.
Referenced by CorrelationsBetweenSamples(), GetReadyToReadData(), Init(), MeanOfCorrelationsBetweenSamples(), TRootCorCss(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagCovCss [private] |
Definition at line 113 of file TEcnaRun.h.
Referenced by CorrelationsBetweenSamples(), CovariancesBetweenSamples(), GetReadyToReadData(), Init(), TRootCovCss(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagHFccMoStins [private] |
Definition at line 176 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), HighFrequencyMeanCorrelationsBetweenStins(), Init(), TRootHFccMoStins(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagHfCor [private] |
Definition at line 167 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), Init(), TRootHfCor(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagHfCov [private] |
Definition at line 163 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), Init(), TRootHfCov(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagHfn [private] |
Definition at line 142 of file TEcnaRun.h.
Referenced by AveragedHighFrequencyNoise(), GetReadyToReadData(), HighFrequencyNoise(), Init(), TRootHfn(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagLFccMoStins [private] |
Definition at line 172 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), LowFrequencyMeanCorrelationsBetweenStins(), TRootLFccMoStins(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagLfCor [private] |
Definition at line 158 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), TRootLfCor(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagLfCov [private] |
Definition at line 154 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), TRootLfCov(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagLfn [private] |
Definition at line 137 of file TEcnaRun.h.
Referenced by AveragedLowFrequencyNoise(), GetReadyToReadData(), Init(), LowFrequencyNoise(), TRootLfn(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagMeanCorss [private] |
Definition at line 132 of file TEcnaRun.h.
Referenced by AveragedMeanOfCorrelationsBetweenSamples(), GetReadyToReadData(), Init(), MeanOfCorrelationsBetweenSamples(), SigmaOfCorrelationsBetweenSamples(), TRootMeanCorss(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagMSp [private] |
Definition at line 104 of file TEcnaRun.h.
Referenced by CovariancesBetweenSamples(), GetReadyToReadData(), Init(), Pedestals(), SampleMeans(), SampleSigmas(), TRootMSp(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagNbOfEvts [private] |
Definition at line 97 of file TEcnaRun.h.
Referenced by BuildEventDistributions(), GetReadyToReadData(), Init(), ReadEventDistributions(), TRootNbOfEvts(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagPed [private] |
Definition at line 122 of file TEcnaRun.h.
Referenced by AveragedPedestals(), GetReadyToReadData(), Init(), Pedestals(), TRootPed(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagSigCorss [private] |
Definition at line 147 of file TEcnaRun.h.
Referenced by AveragedSigmaOfCorrelationsBetweenSamples(), GetReadyToReadData(), Init(), SigmaOfCorrelationsBetweenSamples(), TRootSigCorss(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagSSp [private] |
Definition at line 108 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), SampleSigmas(), TotalNoise(), TRootSSp(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagStinNumbers [private] |
Definition at line 100 of file TEcnaRun.h.
Referenced by BuildEventDistributions(), GetReadyToReadData(), Init(), ReadEventDistributions(), TRootStinNumbers(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagTno [private] |
Definition at line 127 of file TEcnaRun.h.
Referenced by AveragedTotalNoise(), GetReadyToReadData(), Init(), TotalNoise(), TRootTno(), WriteRootFile(), and ~TEcnaRun().
TString TEcnaRun::fTTBELL [private] |
Definition at line 57 of file TEcnaRun.h.
Referenced by BuildEventDistributions(), CloseRootFile(), GetReadyToReadData(), HighFrequencyMeanCorrelationsBetweenStins(), HighFrequencyNoise(), Init(), LowFrequencyMeanCorrelationsBetweenStins(), ReadEventDistributions(), TEcnaRun(), TotalNoise(), WriteRootFile(), and ~TEcnaRun().