#include <TEcnaRun.h>
----------------------------------------------------------- TEcnaRun.h Update: 16/02/2011 Authors: B.Fabbro (bernard.fabbro@cea.fr), FX Gentit DSM/IRFU/SPP CEA-Saclay Copyright: Those valid for CEA sofware
ECNA web page: http://cms-fabbro.web.cern.ch/cms-fabbro/ cna_new/Correlated_Noise_Analysis/ECNA_cna_1.htm -----------------------------------------------------------
TEcnaRun + ECNA (Ecal Correlated Noise Analysis) instructions for use in the framework of CMSSW.
==============> INTRODUCTION
The present documentation contains:
[1] a brief description of the ECNA package with instructions for use in the framework of the CMS Software
[2] the documentation for the class TEcnaRun
==[1]=====================================================================================
DOCUMENTATION FOR THE INTERFACE: ECNA package / CMSSW / SCRAM
==========================================================================================
ECNA consists in 2 packages named: EcalCorrelatedNoiseAnalysisModules and EcalCorrelatedNoiseAnalysisAlgos.
The directory tree is the following:
<local path>="">/CMSSW_a_b_c/src/----CalibCalorimetry/---EcalCorrelatedNoiseAnalysisModules/BuildFile | | | |---interface/ | | | |---src/ | | |---data/ | | | |---EcalCorrelatedNoiseAnalysisAlgos/BuildFile | | |---interface/ | | |---src/ | | |---test/ | | | | | \--- <other packages="" of="" calibcalorimetry>=""> | \----<other subsystems...>
The package EcalCorrelatedNoiseAnalysisModules contains one standard analyzer (EcnaAnalyzer). The user can edit its own analyzer. A detailed description is given here after in the class TEcnaRun documentation. The package EcalCorrelatedNoiseAnalysisAlgos contains the basic ECNA classes (in src and interface) and standalone executables (in directory test).
==[2]======================================================================================
CLASS TEcnaRun DOCUMENTATION
=========================================================================================== TEcnaRun.
Brief and general description -----------------------------
This class allows the user to calculate pedestals, noises, correlations and other quantities of interest for correlated noise studies on the CMS/ECAL (EB and EE).
Three main operations are performed by the class TEcnaRun. Each of them is associated with a specific method of the analyzer EcnaAnalyzer:
(1) Initialization and calls to "preparation methods". This task is done in the constructor of the analyzer: EcnaAnalyzer::EcnaAnalyzer(const edm::ParameterSet& pSet)
(2) Building of the event distributions (distributions of the sample ADC values for each sample, each channel, etc...) This task is done in the method "analyze" of the analyzer: EcnaAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup)
(3) Calculation of the different quantities (correlations, pedestals, noises, etc...) from the distributions obtained in (2) and writing of these quantities in results ROOT files and also in ASCII files. This task is done in the destructor of the analyzer: EcnaAnalyzer::~EcnaAnalyzer()
Use of the class TEcnaRun by the analyzer EcnaAnalyzer ------------------------------------------------------
see files EcnaAnalyzer.h and EcnaAnalyzer.cc in package EcalCorrelatedNoiseAnalysisModules
More detailled description of the class TEcnaRun -----------------------------------------------
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Declaration and Print Methods
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Just after the declaration with the constructor, you can set a "Print Flag" by means of the following "Print Methods":
TEcnaRun* MyCnaRun = new TEcnaRun(...); // declaration of the object MyCnaRun
Print Methods:
MyCnaRun->PrintNoComment(); // Set flag to forbid printing of all the comments except ERRORS.
MyCnaRun->PrintWarnings(); // (DEFAULT) Set flag to authorize printing of some warnings. WARNING/INFO: information on something unusual in the data. WARNING/CORRECTION: something wrong (but not too serious) in the value of some argument. Automatically modified to a correct value.
MyCnaRun->PrintComments(); // Set flag to authorize printing of infos and some comments concerning initialisations
MyCnaRun->PrintAllComments(); // Set flag to authorize printing of all the comments
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Method GetReadyToReadData(...) and associated methods
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
MyCnaRun->GetReadyToReadData(AnalysisName, NbOfSamples, RunNumber, FirstReqEvtNumber, LastReqEvtNumber, ReqNbOfEvts, StexNumber, [RunType]);
Explanations for the arguments (all of them are input arguments):
TString AnalysisName: code for the analysis. According to this code, the analyzer EcnaAnalyser selects the event type (PEDESTAL_STD, PEDESTAL_GAP, LASER_STD, etc...) and some other event characteristics (example: the gain in pedestal runs: AnalysisName = "Ped1" or "Ped6" or "Ped12") See EcnaAnalyser.h for a list of available codes. The string AnalysisName is automatically included in the name of the results files (see below: results files paragraph).
Int_t NbOfSamples number of samples (=10 maximum) Int_t RunNumber: run number Int_t FirstReqEvtNumber: first requested event number (numbering starting from 1) Int_t LastReqEvtNumber: last requested event number Int_t ReqNbOfEvts: requested number of events Int_t StexNumber: Stex number (Stex = SM if EB, Dee if EE)
The different quantities (correlations, etc...) will be calculated for ReqNbOfEvts events between event# FirstReqEvtNumber and event# LastReqEvtNumber. If LastReqEvtNumber = 0, the calculations will be performed from event# FirstReqEvtNumber until EOF if necessary (i.e. if the number of treated events is < ReqNbOfEvts)
Int_t RunType [optional]: run type
PEDESTAL_STD = 9 LASER_STD = 4 PEDESTAL_GAP = 18, etc... (see CMSSSW/DataFormats/EcalRawData/interface/EcalDCCHeaderBlock.h)
if RunType is specified, the run type will be displayed on the plots
==============> Method to set the start and stop times of the analysis (optional)
A method can be used to set the fStartDate and fStopDate attributes of the class TEcnaHeader from start and stop time given by the user provided these values have been recovered from the event reading:
void MyCnaRun->StartStopDate(TString StartDate, TString StopDate);
TString StartDate, StopDate: start and stop time of the run in "date" format. Example: Wed Oct 8 04:14:23 2003
If the method is not called, the values of the attributes fStartDate and fStopDate are set to: "!Start date> no info" and "!Stop date> no info" at the level of Init() method of the class TEcnaHeader. The values of StartDate and StopDate are written in the header of the .root result file.
PS: another similar method exists, with time_t type arguments:
void MyCnaRun->StartStopTime(time_t StartTime, time_t StopTime);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Calculation methods
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
The "calculation methods" are methods which compute the different quantities of interest. They use the ADC sample values which can be recovered by the method void SampleValues():
void SampleValues(); // 3D histo of the sample ADC value for each triple (channel,sample,event)
List of the calculation methods with associated formulae:
.......... Calculation methods ( need previous call to GetReadyToReadData(...) )
A(t,c,s,e) : ADC value for Stin t channel c, sample s, event e (Stin = tower if EB, SC if EE)
E_e , Cov_e : average, covariance over the events E_s , Cov_s : average, covariance over the samples E_s,s' : average over couples of samples (half correlation matrix)
e* : random variable associated to events s* : random variable associated to samples
void SampleMeans(); // Expectation values for each couple (channel,sample) SMean(t,c,s) = E_e[A(t,c,s,e*)]
void SampleSigmas(); // Sigmas for each couple (channel,sample) SSigma(t,c,s) = sqrt{ Cov_e[A(t,c,s,e*),A(t,c,s,e*)] }
........................................... void CovariancesBetweenSamples(); // (s,s') covariances for each channel Cov(t,c;s,s') = Cov_e[ A(t,c,s,e*) , A(t,c,s',e*) ] = E_e[ ( A(t,c,s,e*) - E_e[A(t,c,s,e*)] )*( A(t,c,s',e*) - E_e[A(t,c,s',e*)] ) ]
void CorrelationsBetweenSamples(); // (s,s') correlations for each channel Cor(t,c;s,s') = Cov(t,c;s,s')/sqrt{ Cov(t,c;s,s)*Cov(t,c;s',s') }
.............................................. *==> Stin = tower if EB, SuperCrystal if EE void LowFrequencyCovariancesBetweenChannels(); // LF (t;c,c') covariances for each Stin void HighFrequencyCovariancesBetweenChannels(); // HF (t;c,c') covariances for each Stin void LowFrequencyCorrelationsBetweenChannels(); // LF (t;c,c') correlations for each Stin void HighFrequencyCorrelationsBetweenChannels(); // HF (t;c,c') correlations for each Stin
LFCov(t;c,c') = Cov_e[ E_s[A(t,c,s*,e*)] , E_s[A(t,c',s*,e*) ]
= E_e[ ( E_s[A(t,c ,s*,e*)] - E_e[ E_s[A(t,c ,s*,e*)] ] )* ( E_s[A(t,c',s*,e*)] - E_e[ E_s[A(t,c',s*,e*)] ] ) ]
HFCov(t;c,c') = E_e[ Cov_s[ A(t,c,s*,e*) , A(t,c',s*,e*) ] ]
= E_e[ E_s[ ( A(t,c ,s*,e*) - E_s[A(t,c ,s*,e*)] )* ( A(t,c',s*,e*) - E_s[A(t,c',s*,e*)] ) ] ]
LFCor(t;c,c') = LFCov(t;c,c')/sqrt{ LFCov(t;c,c)*LFCov(t;c',c') }
HFCor(t;c,c') = HFCov(t;c,c')/sqrt{ HFCov(t;c,c)*HFCov(t;c',c') }
.............................................. . *==> Stex = SM if EB, Dee if EE void LowFrequencyMeanCorrelationsBetweenTowers(); // LF (tow,tow') correlations for each SM void HighFrequencyMeanCorrelationsBetweenTowers(); // HF (tow,tow') correlations for each SM
void LowFrequencyMeanCorrelationsBetweenSCs(); // LF (sc,sc') correlations for each Dee void HighFrequencyMeanCorrelationsBetweenSCs(); // HF (sc,sc') correlations for each Dee
.................................................... Quantities as a function of Xtal# void Pedestals(); void TotalNoise(); void LowFrequencyNoise(); void HighFrequencyNoise(); void MeanCorrelationsBetweenSamples(); void SigmaOfCorrelationsBetweenSamples();
Pedestal(t,c) = E_e[ E_s[A(t,c,s*,e*)] ] TotalNoise(t,c) = E_s[ sqrt{ E_e[ ( A(t,c,s*,e*) - E_e[A(t,c,s*,e*)] )^2 ] } ] LowFqNoise(t,c) = sqrt{ E_e[ ( E_s[A(t,c,s*,e*)] - E_e[ E_s[A(t,c,s*,e*)] ] )^2 ] } HighFqNoise(t,c) = E_e[ sqrt{ E_s[ (A(t,c,s*,e*) - E_s[A(t,c,s*,e*)] )^2 ] } ] MeanCorss(t,c) = E_s,s'[ Cor(t,c;s,s') ] SigmaCorss(t,c) = E_s,s'[ Cor(t,c;s,s') - E_s,s'[ Cor(t,c;s,s') ] ]
............ Quantities as a function of tower# (EB) or SC# (EE), average over the Xtals void AveragePedestals(); void AverageTotalNoise(); void AverageLowFrequencyNoise(); void AverageHighFrequencyNoise(); void AverageMeanCorrelationsBetweenSamples(); void AverageSigmaOfCorrelationsBetweenSamples();
t = tower if EB , SC if EE , c = channel (Xtal) AveragePedestal(t) = E_c[Pedestal(t,c*)] TotalNoise(t) = E_c[TotalNoise(t,c*)] LowFqNoise(t) = E_c[LowFqNoise(t,c*)] HighFqNoise(t) = E_c[HighFqNoise(t,c*)] MeanCorss(t) = E_c[MeanCorss(t,c*)] SigmaCorss(t) = E_c[SigmaCorss(t,c*)]
==============> RESULTS FILES
The calculation methods above provide results which can be used directly in the user's code. However, these results can also be written in results files by appropriate methods. The names of the results files are automaticaly generated.
It is also possible to write results in ASCII files => See TEcnaWrite and TEcnaGui It is also possible to plot results in ROOT canvases => See TEcnaHistos and TEcnaGui
-----------> Codification for the name of the ROOT file:
The name of the ROOT file is the following:
aaa_S1_sss_Rrrr_fff_lll_SMnnn.root for EB aaa_S1_sss_Rrrr_fff_lll_Deennn.root for EE
with: aaa = Analysis name sss = number of samples rrr = Run number fff = First requested event number lll = Last requested events mmm = Requested number of events nnn = SM number or Dee number
This name is automatically generated from the values of the arguments of the method "GetReadyToReadData".
-----------> Method which writes the results in the ROOT file:
Bool_t MyCnaRun->WriteRootFile();
===================================================================================================
Definition at line 363 of file TEcnaRun.h.
TEcnaRun::TEcnaRun | ( | ) |
TEcnaRun::TEcnaRun | ( | TEcnaObject * | pObjectManager, |
const TString | SubDet | ||
) |
Definition at line 26 of file TEcnaRun.cc.
References fCnaParCout, fCnaParPaths, fEcal, fFileHeader, fNbSampForFic, fObjectManager, TEcnaObject::GetPointerValue(), Init(), TEcnaParEcal::MaxSampADC(), TEcnaObject::RegisterPointer(), 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(); fObjectManager = (TEcnaObject*)pObjectManager; Long_t i_this = (Long_t)this; pObjectManager->RegisterPointer("TEcnaRun", i_this); //............................ fCnaParCout fCnaParCout = 0; Long_t iCnaParCout = pObjectManager->GetPointerValue("TEcnaParCout"); if( iCnaParCout == 0 ) {fCnaParCout = new TEcnaParCout(pObjectManager); /*fCnew++*/} else {fCnaParCout = (TEcnaParCout*)iCnaParCout;} //............................ fCnaParPaths fCnaParPaths = 0; Long_t iCnaParPaths = pObjectManager->GetPointerValue("TEcnaParPaths"); if( iCnaParPaths == 0 ) {fCnaParPaths = new TEcnaParPaths(pObjectManager); /*fCnew++*/} else {fCnaParPaths = (TEcnaParPaths*)iCnaParPaths;} //fCfgResultsRootFilePath = fCnaParPaths->ResultsRootFilePath(); //fCfgHistoryRunListFilePath = fCnaParPaths->HistoryRunListFilePath(); //ffFileHeader = 0; //fconst Text_t *h_name = "CnaHeader"; //==> voir cette question avec FXG //fconst Text_t *h_title = "CnaHeader"; //==> voir cette question avec FXG //ffFileHeader = new TEcnaHeader(h_name, h_title); //fCnew++; //............................ fFileHeader const Text_t *h_name = "CnaHeader"; //==> voir cette question avec FXG const Text_t *h_title = "CnaHeader"; //==> voir cette question avec FXG fFileHeader = 0; //Int_t iFileHeader = pObjectManager->GetPointerValue("TEcnaHeader"); Long_t iFileHeader = 0; // one TEcnaHeader object for each file since they can be open simultaneously if( iFileHeader == 0 ) {fFileHeader = new TEcnaHeader(pObjectManager, h_name, h_title); /*fCnew++*/} else {fFileHeader = (TEcnaHeader*)iFileHeader;} SetEcalSubDetector(SubDet.Data()); fNbSampForFic = fEcal->MaxSampADC(); // DEFAULT Number of samples for ROOT file }
TEcnaRun::TEcnaRun | ( | TEcnaObject * | pObjectManager, |
const TString | SubDet, | ||
const Int_t & | NbOfSamples | ||
) |
Definition at line 77 of file TEcnaRun.cc.
References gather_cfg::cout, fCnaParCout, fCnaParPaths, fEcal, fFileHeader, fNbSampForFic, fObjectManager, fTTBELL, TEcnaObject::GetPointerValue(), Init(), TEcnaParEcal::MaxSampADC(), TEcnaObject::RegisterPointer(), and SetEcalSubDetector().
{ //fCnaParPaths = 0; fCnaParPaths = new TEcnaParPaths(); //fCnew++; //fCnaParCout = 0; fCnaParCout = new TEcnaParCout(); //fCnew++; Init(); fObjectManager = (TEcnaObject*)pObjectManager; Long_t i_this = (Long_t)this; pObjectManager->RegisterPointer("TEcnaRun", i_this); //............................ fCnaParCout fCnaParCout = 0; Long_t iCnaParCout = pObjectManager->GetPointerValue("TEcnaParCout"); if( iCnaParCout == 0 ) {fCnaParCout = new TEcnaParCout(pObjectManager); /*fCnew++*/} else {fCnaParCout = (TEcnaParCout*)iCnaParCout;} //............................ fCnaParPaths fCnaParPaths = 0; Long_t iCnaParPaths = pObjectManager->GetPointerValue("TEcnaParPaths"); if( iCnaParPaths == 0 ) {fCnaParPaths = new TEcnaParPaths(pObjectManager); /*fCnew++*/} else {fCnaParPaths = (TEcnaParPaths*)iCnaParPaths;} //fCfgResultsRootFilePath = fCnaParPaths->ResultsRootFilePath(); //fCfgHistoryRunListFilePath = fCnaParPaths->HistoryRunListFilePath(); //............................ fFileHeader const Text_t *h_name = "CnaHeader"; //==> voir cette question avec FXG const Text_t *h_title = "CnaHeader"; //==> voir cette question avec FXG fFileHeader = 0; //Long_t iFileHeader = pObjectManager->GetPointerValue("TEcnaHeader"); Long_t iFileHeader = 0; // one TEcnaHeader object for each file since they can be open simultaneously if( iFileHeader == 0 ) {fFileHeader = new TEcnaHeader(pObjectManager, h_name, h_title); /*fCnew++*/} else {fFileHeader = (TEcnaHeader*)iFileHeader;} 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 297 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 326 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_AdcValues, fT3d1_cor_ss, fT3d1_cov_ss, fT3d2_AdcValues, fT3d2_cor_ss, fT3d2_cov_ss, fT3d_AdcValues, fT3d_cor_ss, fT3d_cov_ss, 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 GetSampleAdcValues 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_AdcValues != 0){delete [] fT3d_AdcValues; fCdelete++;} if (fT3d2_AdcValues != 0){delete [] fT3d2_AdcValues; fCdelete++;} if (fT3d1_AdcValues != 0){delete [] fT3d1_AdcValues; 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::AverageHighFrequencyNoise | ( | ) |
Definition at line 2132 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 StandardCalculations().
{ // 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::AverageHighFrequencyNoise()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for all the " << fStinName.Data() << "s, of the average 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::AverageLowFrequencyNoise | ( | ) |
Definition at line 2072 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 StandardCalculations().
{ // 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::AverageLowFrequencyNoise()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for all the " << fStinName.Data() << "s, of the average 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::AverageMeanCorrelationsBetweenSamples | ( | ) |
Definition at line 2192 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 MeanCorrelationsBetweenSamples().
Referenced by StandardCalculations().
{ // Calculation of the average // (over the Stin's 0 to fEcal->MaxStinInStex()) of the mean cor(s,s) //... preliminary calculation of the mean cor(s,s) if not done yet if ( fTagMeanCorss[0] != 1 ){MeanCorrelationsBetweenSamples(); 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::AverageMeanCorrelationsBetweenSamples()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for all the " << fStinName.Data() << "s, of the average mean 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::AveragePedestals | ( | ) |
Definition at line 1951 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 StandardCalculations().
{ // 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::AveragePedestals()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for all the " << fStinName.Data() << "s, of the average 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::AverageSigmaOfCorrelationsBetweenSamples | ( | ) |
Definition at line 2252 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 StandardCalculations().
{ // 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::AverageSigmaOfCorrelationsBetweenSamples()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for all the " << fStinName.Data() << "s, of the average 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::AverageTotalNoise | ( | ) |
Definition at line 2012 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 StandardCalculations().
{ // 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::AverageTotalNoise()" << endl;} if(fFlagPrint == fCodePrintAllComments){ cout << " Calculation, for all the " << fStinName.Data() << "s, of the average 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::CloseRootFile | ( | const Text_t * | name | ) |
Definition at line 2969 of file TEcnaRun.cc.
References TEcnaRootFile::CloseFile(), gather_cfg::cout, fCnaParPaths, fCodePrintAllComments, fFlagPrint, fOpenRootFile, fTTBELL, gCnaRootFile, and TEcnaParPaths::ResultsRootFilePath().
Referenced by WriteRootFile().
{ //Close the Root file TString s_name; s_name = fCnaParPaths->ResultsRootFilePath(); s_name.Append('/'); s_name.Append(name); Bool_t ok_close = kFALSE; if (fOpenRootFile == kTRUE ) { gCnaRootFile->CloseFile(); if(fFlagPrint != fCodePrintAllComments){ cout << "*TEcnaRun::CloseRootFile> ROOT file " << s_name.Data() << " closed." << endl;} // delete gCnaRootFile; gCnaRootFile = 0; 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 1506 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 MeanCorrelationsBetweenSamples(), and StandardCalculations().
{ //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 1446 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_AdcValues, fT3d_cov_ss, 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_AdcValues[j0StexEcha][i0Sample][i_event] - fT2d_ev[j0StexEcha][i0Sample]) *(fT3d_AdcValues[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++; } }
void TEcnaRun::Expert1Calculations | ( | ) |
Definition at line 1296 of file TEcnaRun.cc.
References HighFrequencyCorrelationsBetweenChannels(), and LowFrequencyCorrelationsBetweenChannels().
Referenced by TEcnaGui::Calculations().
{ // long time, big file LowFrequencyCorrelationsBetweenChannels(); HighFrequencyCorrelationsBetweenChannels(); }
void TEcnaRun::Expert2Calculations | ( | ) |
Definition at line 1304 of file TEcnaRun.cc.
References HighFrequencyMeanCorrelationsBetweenStins(), and LowFrequencyMeanCorrelationsBetweenStins().
Referenced by TEcnaGui::Calculations().
{ // long time, no big file // expert 1 is called (if not called before) without writing in file. // Results are used only in memory to compute expert2 calculations LowFrequencyMeanCorrelationsBetweenStins(); HighFrequencyMeanCorrelationsBetweenStins(); }
TString TEcnaRun::GetNewRootFileName | ( | ) |
Definition at line 3100 of file TEcnaRun.cc.
References fNewRootFileName.
{return fNewRootFileName;}
TString TEcnaRun::GetNewRootFileNameShort | ( | ) |
Definition at line 3101 of file TEcnaRun.cc.
References fNewRootFileNameShort.
Referenced by TEcnaGui::Calculations().
{return fNewRootFileNameShort;}
Bool_t TEcnaRun::GetPathForResults | ( | ) |
Definition at line 133 of file TEcnaRun.cc.
References fCnaParPaths, and TEcnaParPaths::GetPathForResultsRootFiles().
{return fCnaParPaths->GetPathForResultsRootFiles();}
void TEcnaRun::GetReadyToCompute | ( | ) |
Definition at line 1216 of file TEcnaRun.cc.
References gather_cfg::cout, fCnaWrite, fEcal, fFileHeader, TEcnaHeader::fFirstReqEvtNumber, TEcnaHeader::fLastReqEvtNumber, TEcnaWrite::fMakeResultsFileName(), TEcnaHeader::fNbOfSamples, fNbSampForFic, fNumberOfEvents, TEcnaHeader::fReqNbOfEvts, TEcnaHeader::fRunNumber, TEcnaHeader::fStex, fT2d_NbOfEvts, TEcnaHeader::fTypAna, TEcnaParEcal::MaxCrysEcnaInStex(), TEcnaWrite::NumberOfEventsAnalysis(), and TEcnaWrite::RegisterFileParameters().
Referenced by EcnaAnalyzer::analyze(), TEcnaGui::Calculations(), and EcnaAnalyzer::~EcnaAnalyzer().
{ // // MAKE THE RESULTS FILE NAME and // CHECK OF THE NUMBER OF FOUND EVENTS AND init 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 filled by the GetSampleAdcValues(...) method //..................... Making of the Root File name that will be written fCnaWrite->RegisterFileParameters(fFileHeader->fTypAna.Data(), fFileHeader->fNbOfSamples, fFileHeader->fRunNumber, fFileHeader->fFirstReqEvtNumber, fFileHeader->fLastReqEvtNumber, fFileHeader->fReqNbOfEvts, fFileHeader->fStex); fCnaWrite->fMakeResultsFileName(); // set fRootFileName, fRootFileNameShort //..................... Checking numbers of found events channel by channel if( fT2d_NbOfEvts != 0 ) { fNumberOfEvents = fCnaWrite->NumberOfEventsAnalysis(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 504 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 515 of file TEcnaRun.cc.
References dtNoiseDBValidation_cfg::cerr, gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, TEcnaHeader::fFirstReqEvtNumber, fFlagPrint, TEcnaHeader::fLastReqEvtNumber, fMiscDiag, fNbOfMiscDiagCounters, fNbSampForFic, fObjectManager, fReadyToReadData, TEcnaHeader::fReqNbOfEvts, TEcnaHeader::fRunNumber, TEcnaHeader::fRunType, fSpecialStexStinNotIndexed, TEcnaHeader::fStex, fStexName, fStinName, fT1d_NbOfEvts, fT1d_StexStinFromIndex, fT2d_NbOfEvts, fT3d1_AdcValues, fT3d2_AdcValues, fT3d_AdcValues, 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; } } //............. 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(fObjectManager, 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_AdcValues[channel][sample][events] (ADC values) // // This array is filled in the GetSampleAdcValues(...) method // //==================================================================================== if(fT3d_AdcValues == 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_AdcValues = new Double_t**[fEcal->MaxCrysEcnaInStex()]; fCnew++; fT3d2_AdcValues = new Double_t*[fEcal->MaxCrysEcnaInStex()* fNbSampForFic]; fCnew++; fT3d1_AdcValues = new Double_t[fEcal->MaxCrysEcnaInStex()* fNbSampForFic* fFileHeader->fReqNbOfEvts]; fCnew++; for(Int_t i0StexEcha=0; i0StexEcha<fEcal->MaxCrysEcnaInStex(); i0StexEcha++){ fT3d_AdcValues[i0StexEcha] = &fT3d2_AdcValues[0] + i0StexEcha*fNbSampForFic; for(Int_t j0Sample=0; j0Sample<fNbSampForFic; j0Sample++){ fT3d2_AdcValues[fNbSampForFic*i0StexEcha + j0Sample] = &fT3d1_AdcValues[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_AdcValues[iza][izb][izc] != (Double_t)0 ) { fMiscDiag[0]++; fT3d_AdcValues[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;} } } 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 1183 of file TEcnaRun.cc.
References fRootFileNameShort.
Referenced by TEcnaGui::Calculations().
{return fRootFileNameShort;}
Bool_t TEcnaRun::GetSampleAdcValues | ( | const Int_t & | n1EventNumber, |
const Int_t & | n1StexStin, | ||
const Int_t & | i0StinEcha, | ||
const Int_t & | i0Sample, | ||
const Double_t & | adcvalue | ||
) |
Definition at line 835 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_AdcValues, fTagNbOfEvts, fTagStinNumbers, fTTBELL, TEcnaParEcal::MaxCrysEcnaInStex(), TEcnaParEcal::MaxCrysInStin(), TEcnaParEcal::MaxSampADC(), and TEcnaParEcal::MaxStinEcnaInStex().
{ //Building of the arrays fT1d_StexStinFromIndex[] and fT3d_AdcValues[][][] 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; //.................................................................. (GetSampleAdcValues) if(fReadyToReadData == 1) { if( n1StexStin>= 1 && n1StexStin <= fEcal->MaxStinEcnaInStex() ) { if( i0StinEcha >= 0 && i0StinEcha < fEcal->MaxCrysInStin() ) { if( i0Sample >= 0 && i0Sample < fEcal->MaxSampADC() ) { //..... 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: set index for 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::GetSampleAdcValues(...)> 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]) << ", ";} } //.................................................... (GetSampleAdcValues) if(fFlagPrint == fCodePrintAllComments) { cout << " (" << fStinIndexBuilt << " " << fStinName.Data() << " found), channel " << i0StinEcha << ", i0Sample " << i0Sample << endl; } ret_code = kTRUE; } // if ( fT1d_StexStinFromIndex[i0StexStinEcna] == fSpecialStexStinNotIndexed ) else { cout << "!TEcnaRun::GetSampleAdcValues(...)> *** 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, GetSampleAdcValues *** ERROR ***> " << " fT1d_StexStinFromIndex = " << fT1d_StexStinFromIndex << " fT1d_StexStinFromIndex[] ALLOCATION NOT DONE" << fTTBELL << endl; ret_code = kFALSE; } //.................................................................. (GetSampleAdcValues) } // end of 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::GetSampleAdcValues(...) *** ERROR ***> " << " sample number = " << i0Sample << ". OUT OF BOUNDS" << " (max = " << fNbSampForFic << ")" << fTTBELL << endl; ret_code = kFALSE; } else { ret_code = kTRUE; } }// else of if( i0Sample >= 0 && i0Sample < fNbSampForFic ) } // end of if( i0StinEcha >= 0 && i0StinEcha < fEcal->MaxCrysInStin() ) else { cout << "!TEcnaRun::GetSampleAdcValues(...) *** ERROR ***> " << " channel number in " << fStinName.Data() << " = " << i0StinEcha << ". OUT OF BOUNDS" << " (max = " << fEcal->MaxCrysInStin() << ")" << fTTBELL << endl; ret_code = kFALSE; } // else of if( i0StinEcha >= 0 && i0StinEcha < fEcal->MaxCrysInStin() ) } else { cout << "!TEcnaRun::GetSampleAdcValues(...) *** ERROR ***> " << fStinName.Data() << " number in " << fStexName.Data() << " = " << n1StexStin << ". OUT OF BOUNDS" << " (max = " << fEcal->MaxStinEcnaInStex() << ")" << fTTBELL << endl; ret_code = kFALSE; } //.................................................................. (GetSampleAdcValues) //........ 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 // // ONLY if ret_code == kTRUE if( ret_code == kTRUE ) { //............ 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; //--------------------------------------------------------- (GetSampleAdcValues) 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 ) { if( i0Sample >= 0 && i0Sample < fNbSampForFic ) { fT3d_AdcValues[i0StexEcha][i0Sample][i0EventIndex] = adcvalue; } else { cout << "!TEcnaRun::GetSampleAdcValues(...) *** ERROR ***> " << " sample index = " << i0Sample << ". OUT OF BOUNDS" << " (max = " << fNbSampForFic << ")" << fTTBELL << endl; } } else { cout << "!TEcnaRun::GetSampleAdcValues(...) *** ERROR ***> " << " event number = " << n1EventNumber << ". OUT OF BOUNDS" << " (max = " << fFileHeader->fReqNbOfEvts << ")" << fTTBELL << endl; ret_code = kFALSE; } } else { cout << "!TEcnaRun::GetSampleAdcValues(...) *** 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;} } } // end of if( ret_code == kTRUE ) else { cout << "!TEcnaRun::GetSampleAdcValues(...) *** ERROR ***> ret_code = kFALSE " << fTTBELL << endl; } } // end of if(fReadyToReadData == 1) else { cout << "!TEcnaRun::GetSampleAdcValues(...) *** ERROR ***> GetReadyToReadData(...) not called." << fTTBELL << endl; ret_code = kFALSE; } //.................................................................. (GetSampleAdcValues) if (ret_code == kFALSE) { cout << "!TEcnaRun::GetSampleAdcValues(...)> *** ERROR ***> ret_code = " << ret_code << " (FALSE). Event: " << n1EventNumber << ", " << fStexName.Data() << ": " << fFileHeader->fStex << ", " << fStinName.Data() << ": " << n1StexStin << ", channel: " << i0StinEcha << ", Sample: " << i0Sample << ", ADC value: " << adcvalue << endl; } return ret_code; }
void TEcnaRun::HighFrequencyCorrelationsBetweenChannels | ( | ) |
Definition at line 2637 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 Expert1Calculations(), 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 2520 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_AdcValues, 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_AdcValues[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_AdcValues[i0StexEcha][i0Sample][n_event] - mean_over_samples(i0StexEcha, n_event) )* ( fT3d_AdcValues[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 2818 of file TEcnaRun.cc.
References HighFrequencyMeanCorrelationsBetweenStins().
void TEcnaRun::HighFrequencyMeanCorrelationsBetweenStins | ( | ) |
Definition at line 2821 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 Expert2Calculations(), HighFrequencyMeanCorrelationsBetweenSCs(), and HighFrequencyMeanCorrelationsBetweenTowers().
{ //Calculation of the mean 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 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 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 " << 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 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 2816 of file TEcnaRun.cc.
References HighFrequencyMeanCorrelationsBetweenStins().
void TEcnaRun::HighFrequencyNoise | ( | ) |
Definition at line 1748 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, fFlagPrint, TEcnaHeader::fHfnCalc, fMiscDiag, fNbSampForCalc, fNumberOfEvents, fT1d_evevt_of_sigsamp, fT3d_AdcValues, fTagHfn, fTTBELL, i, TEcnaParEcal::MaxCrysEcnaInStex(), and mathSSE::sqrt().
Referenced by AverageHighFrequencyNoise(), and StandardCalculations().
{ // 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_AdcValues[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_AdcValues[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 135 of file TEcnaRun.cc.
References fBuildEvtNotSkipped, fCdelete, fCnaCommand, fCnaError, fCnaParCout, fCnew, fCodePrintAllComments, fCodePrintComments, fCodePrintNoComment, fCodePrintWarnings, fFlagPrint, fgMaxCar, fMaxMsgIndexForMiscDiag, fMemoReadNumberOfEventsforSamples, 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_AdcValues, fT3d1_cor_ss, fT3d1_cov_ss, fT3d2_AdcValues, fT3d2_cor_ss, fT3d2_cov_ss, fT3d_AdcValues, fT3d_cor_ss, fT3d_cov_ss, 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, gCnaRootFile, 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_AdcValues = 0; fT3d2_AdcValues = 0; fT3d1_AdcValues = 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() ) fCodePrintNoComment = fCnaParCout->GetCodePrint("NoComment"); fCodePrintWarnings = fCnaParCout->GetCodePrint("Warnings "); // => default value fCodePrintComments = fCnaParCout->GetCodePrint("Comments"); fCodePrintAllComments = fCnaParCout->GetCodePrint("AllComments"); fFlagPrint = fCodePrintWarnings; //................................................... gCnaRootFile = 0; fOpenRootFile = kFALSE; fReadyToReadData = 0; //.............................................. Miscellaneous fSpecialStexStinNotIndexed = -1; fStinIndexBuilt = 0; fBuildEvtNotSkipped = 0; fMemoReadNumberOfEventsforSamples = 0; }// end of Init()
void TEcnaRun::LowFrequencyCorrelationsBetweenChannels | ( | ) |
Definition at line 2437 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 Expert1Calculations(), 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 2332 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_AdcValues, 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_AdcValues[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 2720 of file TEcnaRun.cc.
References LowFrequencyMeanCorrelationsBetweenStins().
void TEcnaRun::LowFrequencyMeanCorrelationsBetweenStins | ( | ) |
Definition at line 2723 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 Expert2Calculations(), LowFrequencyMeanCorrelationsBetweenSCs(), and LowFrequencyMeanCorrelationsBetweenTowers().
{ //Calculation of the mean 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 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 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 " << 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 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 2718 of file TEcnaRun.cc.
References LowFrequencyMeanCorrelationsBetweenStins().
void TEcnaRun::LowFrequencyNoise | ( | ) |
Definition at line 1678 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, fFlagPrint, TEcnaHeader::fLfnCalc, fMiscDiag, fNbSampForCalc, fNumberOfEvents, fT1d_sigevt_of_evsamp, fT3d_AdcValues, fTagLfn, i, TEcnaParEcal::MaxCrysEcnaInStex(), and mathSSE::sqrt().
Referenced by AverageLowFrequencyNoise(), and StandardCalculations().
{ // 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_AdcValues[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::MeanCorrelationsBetweenSamples | ( | ) |
Definition at line 1820 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 AverageMeanCorrelationsBetweenSamples(), SigmaOfCorrelationsBetweenSamples(), and StandardCalculations().
{ // 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::MeanCorrelationsBetweenSamples()" << 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 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 2926 of file TEcnaRun.cc.
References gather_cfg::cout, fCnaParPaths, fCodePrintAllComments, fFlagPrint, fObjectManager, fOpenRootFile, TEcnaRootFile::fRootFileStatus, gCnaRootFile, TEcnaObject::GetPointerValue(), TEcnaRootFile::OpenR(), TEcnaRootFile::OpenW(), TEcnaRootFile::ReStart(), TEcnaParPaths::ResultsRootFilePath(), and ntuplemaker::status.
Referenced by WriteRootFile().
{ //Open the Root file Bool_t ok_open = kFALSE; TString s_name; s_name = fCnaParPaths->ResultsRootFilePath(); s_name.Append('/'); s_name.Append(name); //gCnaRootFile = new TEcnaRootFile(fObjectManager, s_name.Data(), status); fCnew++; Long_t iCnaRootFile = fObjectManager->GetPointerValue("TEcnaRootFile"); if( iCnaRootFile == 0 ) { gCnaRootFile = new TEcnaRootFile(fObjectManager, s_name.Data(), status); /* Anew("gCnaRootFile");*/ } else { gCnaRootFile = (TEcnaRootFile*)iCnaRootFile; gCnaRootFile->ReStart(s_name.Data(), status); } 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_name.Data() << endl; } else { if(fFlagPrint == fCodePrintAllComments) {cout << "*TEcnaRun::OpenRootFile> Open ROOT file OK for file " << s_name.Data() << endl;} fOpenRootFile = kTRUE; } return ok_open; }
void TEcnaRun::Pedestals | ( | ) |
Definition at line 1580 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 AveragePedestals(), and StandardCalculations().
{ // 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 4541 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 4525 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 4549 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 4533 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::ReadSampleAdcValues | ( | ) |
Definition at line 1054 of file TEcnaRun.cc.
References fEcal, and TEcnaParEcal::MaxSampADC().
Referenced by TEcnaGui::Calculations().
{return ReadSampleAdcValues(fEcal->MaxSampADC());}
Bool_t TEcnaRun::ReadSampleAdcValues | ( | const Int_t & | nb_samp_for_calc | ) |
Definition at line 1056 of file TEcnaRun.cc.
References gather_cfg::cout, TEcnaRead::DataExist(), fCnaParPaths, fEcal, fFileHeader, TEcnaHeader::fFirstReqEvtNumber, fFlagSubDet, TEcnaRead::FileParameters(), TEcnaHeader::fLastReqEvtNumber, TEcnaHeader::fNbOfEvtsCalc, TEcnaHeader::fNbOfSamples, fNbSampForCalc, fObjectManager, TEcnaHeader::fReqNbOfEvts, fRootFileName, fRootFileNameShort, TEcnaHeader::fRunNumber, TEcnaHeader::fStartDate, TEcnaHeader::fStartTime, TEcnaHeader::fStex, TEcnaHeader::fStinNumbersCalc, TEcnaHeader::fStopDate, TEcnaHeader::fStopTime, fT1d_StexStinFromIndex, fT2d_NbOfEvts, fT3d_AdcValues, fTagNbOfEvts, fTagStinNumbers, fTTBELL, TEcnaHeader::fTypAna, 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::ReadSampleAdcValuesSameFile(), TEcnaRead::ReadStinNumbers(), and TEcnaParPaths::ResultsRootFilePath().
{ // read the Sample ADC values from "ADC" result root files (ReadSampleAdcValues) // 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++; TEcnaRead* MyRootFile = new TEcnaRead(fObjectManager, fFlagSubDet.Data()); // fCnew++; MyRootFile->PrintNoComment(); MyRootFile->FileParameters(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::ReadSampleAdcValues> Reading sample ADC values from file: " << endl << " " << fRootFileName << endl; size_t i_no_data = 0; //.......... Read the StinNumbers in the old file (ReadSampleAdcValues) 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 (ReadSampleAdcValues) 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 (ReadSampleAdcValues) Double_t*** fT3d_read_AdcValues = MyRootFile->ReadSampleAdcValuesSameFile (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_AdcValues[i0StexEcha][i0Sample][i_event] = fT3d_read_AdcValues[i0StexEcha][i0Sample][i_event];} } } } else { i_no_data++; } if(i_no_data) { cout << "!TEcnaRun::ReadSampleAdcValues(...)> *ERROR* =====> " << " Read failure. i_no_data = " << i_no_data << fTTBELL << endl; } } else { cout << "!TEcnaRun::ReadSampleAdcValues(...)> *ERROR* =====> " << " ROOT file not found" << fTTBELL << endl; } delete MyRootFile; // fCdelete++; return ok_read; }
void TEcnaRun::SampleMeans | ( | ) |
Definition at line 1326 of file TEcnaRun.cc.
References gather_cfg::cout, fCnew, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, fFlagPrint, fMiscDiag, TEcnaHeader::fMSpCalc, fNbSampForCalc, fNumberOfEvents, fT1d_ev, fT2d_ev, fT3d_AdcValues, fTagMSp, i, and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by CovariancesBetweenSamples(), Pedestals(), SampleSigmas(), and StandardCalculations().
{ // 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_AdcValues[i0StexEcha][i0Sample][i_event]; } fT2d_ev[i0StexEcha][i0Sample] /= fNumberOfEvents; } } fTagMSp[0] = 1; fFileHeader->fMSpCalc++; }
void TEcnaRun::SampleSigmas | ( | ) |
Definition at line 1378 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_AdcValues, fTagMSp, fTagSSp, TEcnaParEcal::MaxCrysEcnaInStex(), SampleMeans(), and mathSSE::sqrt().
Referenced by StandardCalculations(), 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_AdcValues[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 1254 of file TEcnaRun.cc.
References TEcnaHeader::fAdcEvtCalc, fEcal, fFileHeader, 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) // The histo is already in fT3d_AdcValues[][][] // this method sets the "Tag", increment the "f...Calc" (and must be kept for that) // f...Calc > 0 => allow writing on file. if( fFileHeader->fAdcEvtCalc > 0 ){fFileHeader->fAdcEvtCalc = 0;} for( Int_t i0StexEcha=0; i0StexEcha<fEcal->MaxCrysEcnaInStex(); i0StexEcha++) {fTagAdcEvt[i0StexEcha] = 1; fFileHeader->fAdcEvtCalc++;} }
void TEcnaRun::SetEcalSubDetector | ( | const TString | SubDet | ) |
Definition at line 274 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 1886 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(), MeanCorrelationsBetweenSamples(), and mathSSE::sqrt().
Referenced by AverageSigmaOfCorrelationsBetweenSamples(), and StandardCalculations().
{ //Calculation of the sigmas of the (sample,sample) correlations for all the StexEchas //... preliminary calculation of the mean 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 ){MeanCorrelationsBetweenSamples(); 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::StandardCalculations | ( | ) |
Definition at line 1275 of file TEcnaRun.cc.
References AverageHighFrequencyNoise(), AverageLowFrequencyNoise(), AverageMeanCorrelationsBetweenSamples(), AveragePedestals(), AverageSigmaOfCorrelationsBetweenSamples(), AverageTotalNoise(), CorrelationsBetweenSamples(), HighFrequencyNoise(), LowFrequencyNoise(), MeanCorrelationsBetweenSamples(), Pedestals(), SampleMeans(), SampleSigmas(), SigmaOfCorrelationsBetweenSamples(), and TotalNoise().
Referenced by TEcnaGui::Calculations().
{ SampleMeans(); SampleSigmas(); CorrelationsBetweenSamples(); Pedestals(); // => mean over Xtal's TotalNoise(); LowFrequencyNoise(); HighFrequencyNoise(); MeanCorrelationsBetweenSamples(); SigmaOfCorrelationsBetweenSamples(); AveragePedestals(); // Average => mean over Stin's (Tower if EB, SC if EE) AverageTotalNoise(); AverageLowFrequencyNoise(); AverageHighFrequencyNoise(); AverageMeanCorrelationsBetweenSamples(); AverageSigmaOfCorrelationsBetweenSamples(); }
void TEcnaRun::StartStopDate | ( | TString | c_startdate, |
TString | c_stopdate | ||
) |
Definition at line 1203 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 1195 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 1625 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 AverageTotalNoise(), and StandardCalculations().
{ // 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 4062 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fFileHeader, TEcnaResultType::fMatHis, TEcnaHeader::fReqNbOfEvts, fT3d_AdcValues, 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_AdcValues[user_StexEcha][i0Sample][j_bin]; } } } }
void TEcnaRun::TRootAvEvCorss | ( | ) |
Definition at line 4488 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatHis, 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 4210 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatHis, 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 4192 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatHis, 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 4469 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatHis, 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 4507 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatHis, 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 4175 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatHis, 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 4334 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, TEcnaResultType::fMatMat, 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 4313 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, TEcnaResultType::fMatMat, 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 4154 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatMat, 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 4291 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatMat, 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 4270 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatMat, 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 4431 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatHis, 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 4132 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatMat, 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 4249 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatMat, 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 4228 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatMat, 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 4412 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatHis, 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 4393 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatHis, 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 4089 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatHis, 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 4041 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatHis, 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 4356 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatHis, 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 4450 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatHis, 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 4110 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatHis, 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 4023 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatHis, 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 4374 of file TEcnaRun.cc.
References TEcnaRootFile::fCnaIndivResult, fEcal, TEcnaResultType::fMatHis, 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 3067 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 by fCnaWrite->fMakeResultsFileName() //called here. 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 *)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 3015 of file TEcnaRun.cc.
References gather_cfg::cout, fCnaWrite, fCodePrintAllComments, fCodePrintNoComment, fEcal, fFileHeader, fFlagPrint, TEcnaHeader::fNbOfSamples, fT2d_NbOfEvts, fTTBELL, TEcnaWrite::GetRootFileName(), TEcnaWrite::GetRootFileNameShort(), and TEcnaParEcal::MaxCrysEcnaInStex().
Referenced by WriteNewRootFile().
{ //Write the Root file. //File name automatically generated by fCnaWrite->fMakeResultsFileName() //previously called in GetReadyToCompute(). Bool_t ok_write = kFALSE; //============================= 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->GetRootFileNameShort().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->GetRootFileName().Data() << endl;} const Text_t *FileShortName = (const Text_t *)fCnaWrite->GetRootFileNameShort().Data(); ok_write = WriteRootFile(FileShortName, fFileHeader->fNbOfSamples); if( ok_write == kTRUE ) { if(fFlagPrint != fCodePrintNoComment) {cout << "*TEcnaRun::WriteRootFile()> Writing OK for file " << fCnaWrite->GetRootFileName().Data() << endl;} } else { cout << "!TEcnaRun::WriteRootFile()> Writing FAILLED for file " << fCnaWrite->GetRootFileName().Data() << fTTBELL << endl; } } return ok_write; } // end of WriteRootFile()
Bool_t TEcnaRun::WriteRootFile | ( | const Text_t * | name, |
Int_t & | argNbSampWrite | ||
) |
Definition at line 3108 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, TEcnaRootFile::fCnaIndivResult, fCnaParPaths, TEcnaRootFile::fCnaResultsTree, fCodePrintAllComments, TEcnaHeader::fCorCssCalc, TEcnaHeader::fCovCssCalc, fEcal, fFileHeader, fFlagPrint, fgMaxCar, TEcnaHeader::fHFccMoStinsCalc, TEcnaHeader::fHfCorCalc, TEcnaHeader::fHfCovCalc, TEcnaHeader::fHfnCalc, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fIthElement, TEcnaHeader::fLFccMoStinsCalc, TEcnaHeader::fLfCorCalc, TEcnaHeader::fLfCovCalc, TEcnaHeader::fLfnCalc, TEcnaResultType::fMatHis, TEcnaResultType::fMatMat, TEcnaHeader::fMeanCorssCalc, TEcnaHeader::fMSpCalc, TEcnaHeader::fNbOfEvtsCalc, fOpenRootFile, TEcnaHeader::fPedCalc, TEcnaHeader::fReqNbOfEvts, TEcnaRootFile::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, TEcnaResultType::fTypOfCnaResult, gCnaRootFile, i, TEcnaParEcal::MaxCrysEcnaInStex(), TEcnaParEcal::MaxStinEcnaInStex(), mergeVDriftHistosByStation::name, OpenRootFile(), TEcnaNArrayD::ReSet(), TEcnaParPaths::ResultsRootFilePath(), TEcnaResultType::SetSizeHis(), TEcnaResultType::SetSizeMat(), 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_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 (smaller -> larger) // ========== // // WARNING *** HERE 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) //...................................................................................................... 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;} //-------------------------- Average 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;} //-------------------------- Average 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;} //-------------------------- Average 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;} //-------------------------- Average 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;} //-------------------------- Average mean 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;} //-------------------------- Average 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 405 of file TEcnaRun.h.
Referenced by GetSampleAdcValues(), Init(), and ~TEcnaRun().
Int_t TEcnaRun::fCdelete [private] |
Definition at line 374 of file TEcnaRun.h.
Referenced by Init(), and ~TEcnaRun().
Int_t TEcnaRun::fCnaCommand [private] |
Definition at line 371 of file TEcnaRun.h.
Referenced by Init().
Int_t TEcnaRun::fCnaError [private] |
Definition at line 371 of file TEcnaRun.h.
Referenced by Init().
TEcnaParCout* TEcnaRun::fCnaParCout [private] |
Definition at line 386 of file TEcnaRun.h.
Referenced by Init(), SetEcalSubDetector(), and TEcnaRun().
TEcnaParPaths* TEcnaRun::fCnaParPaths [private] |
Definition at line 387 of file TEcnaRun.h.
Referenced by CloseRootFile(), GetPathForResults(), OpenRootFile(), ReadSampleAdcValues(), SetEcalSubDetector(), TEcnaRun(), and WriteRootFile().
TEcnaWrite* TEcnaRun::fCnaWrite [private] |
Definition at line 388 of file TEcnaRun.h.
Referenced by GetReadyToCompute(), SetEcalSubDetector(), WriteNewRootFile(), and WriteRootFile().
Int_t TEcnaRun::fCnew [private] |
Definition at line 373 of file TEcnaRun.h.
Referenced by AverageHighFrequencyNoise(), AverageLowFrequencyNoise(), AverageMeanCorrelationsBetweenSamples(), AveragePedestals(), AverageSigmaOfCorrelationsBetweenSamples(), AverageTotalNoise(), CorrelationsBetweenSamples(), CovariancesBetweenSamples(), GetReadyToReadData(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), HighFrequencyNoise(), Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), LowFrequencyNoise(), MeanCorrelationsBetweenSamples(), Pedestals(), SampleMeans(), SampleSigmas(), SigmaOfCorrelationsBetweenSamples(), TotalNoise(), and ~TEcnaRun().
Int_t TEcnaRun::fCodePrintAllComments [private] |
Definition at line 510 of file TEcnaRun.h.
Referenced by AverageHighFrequencyNoise(), AverageLowFrequencyNoise(), AverageMeanCorrelationsBetweenSamples(), AveragePedestals(), AverageSigmaOfCorrelationsBetweenSamples(), AverageTotalNoise(), CloseRootFile(), CorrelationsBetweenSamples(), CovariancesBetweenSamples(), GetReadyToReadData(), GetSampleAdcValues(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), HighFrequencyNoise(), Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), LowFrequencyNoise(), MeanCorrelationsBetweenSamples(), OpenRootFile(), Pedestals(), PrintAllComments(), SampleMeans(), SampleSigmas(), SigmaOfCorrelationsBetweenSamples(), TotalNoise(), WriteNewRootFile(), WriteRootFile(), and ~TEcnaRun().
Int_t TEcnaRun::fCodePrintComments [private] |
Definition at line 510 of file TEcnaRun.h.
Referenced by Init(), and PrintComments().
Int_t TEcnaRun::fCodePrintNoComment [private] |
Definition at line 510 of file TEcnaRun.h.
Referenced by AverageHighFrequencyNoise(), AverageLowFrequencyNoise(), AverageMeanCorrelationsBetweenSamples(), AveragePedestals(), AverageSigmaOfCorrelationsBetweenSamples(), AverageTotalNoise(), CorrelationsBetweenSamples(), CovariancesBetweenSamples(), GetReadyToReadData(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), HighFrequencyNoise(), Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), LowFrequencyNoise(), MeanCorrelationsBetweenSamples(), Pedestals(), PrintNoComment(), SampleMeans(), SampleSigmas(), SigmaOfCorrelationsBetweenSamples(), TotalNoise(), WriteRootFile(), and ~TEcnaRun().
Int_t TEcnaRun::fCodePrintWarnings [private] |
Definition at line 510 of file TEcnaRun.h.
Referenced by Init(), PrintWarnings(), and ~TEcnaRun().
TEcnaParEcal* TEcnaRun::fEcal [private] |
Definition at line 384 of file TEcnaRun.h.
Referenced by AverageHighFrequencyNoise(), AverageLowFrequencyNoise(), AverageMeanCorrelationsBetweenSamples(), AveragePedestals(), AverageSigmaOfCorrelationsBetweenSamples(), AverageTotalNoise(), CorrelationsBetweenSamples(), CovariancesBetweenSamples(), GetReadyToCompute(), GetReadyToReadData(), GetSampleAdcValues(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), HighFrequencyNoise(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), LowFrequencyNoise(), MeanCorrelationsBetweenSamples(), Pedestals(), ReadSampleAdcValues(), 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 385 of file TEcnaRun.h.
Referenced by AverageHighFrequencyNoise(), AverageLowFrequencyNoise(), AverageMeanCorrelationsBetweenSamples(), AveragePedestals(), AverageSigmaOfCorrelationsBetweenSamples(), AverageTotalNoise(), GetSampleAdcValues(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), and SetEcalSubDetector().
ofstream TEcnaRun::fFcout_f [private] |
Definition at line 507 of file TEcnaRun.h.
TEcnaHeader* TEcnaRun::fFileHeader [private] |
Definition at line 383 of file TEcnaRun.h.
Referenced by AverageHighFrequencyNoise(), AverageLowFrequencyNoise(), AverageMeanCorrelationsBetweenSamples(), AveragePedestals(), AverageSigmaOfCorrelationsBetweenSamples(), AverageTotalNoise(), CorrelationsBetweenSamples(), CovariancesBetweenSamples(), GetReadyToCompute(), GetReadyToReadData(), GetSampleAdcValues(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), HighFrequencyNoise(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), LowFrequencyNoise(), MeanCorrelationsBetweenSamples(), Pedestals(), ReadSampleAdcValues(), SampleMeans(), SampleSigmas(), SampleValues(), SigmaOfCorrelationsBetweenSamples(), StartStopDate(), StartStopTime(), TEcnaRun(), TotalNoise(), TRootAdcEvt(), WriteNewRootFile(), and WriteRootFile().
Int_t TEcnaRun::fFlagPrint [private] |
Definition at line 509 of file TEcnaRun.h.
Referenced by AverageHighFrequencyNoise(), AverageLowFrequencyNoise(), AverageMeanCorrelationsBetweenSamples(), AveragePedestals(), AverageSigmaOfCorrelationsBetweenSamples(), AverageTotalNoise(), CloseRootFile(), CorrelationsBetweenSamples(), CovariancesBetweenSamples(), GetReadyToReadData(), GetSampleAdcValues(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), HighFrequencyNoise(), Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), LowFrequencyNoise(), MeanCorrelationsBetweenSamples(), OpenRootFile(), Pedestals(), PrintAllComments(), PrintComments(), PrintNoComment(), PrintWarnings(), SampleMeans(), SampleSigmas(), SigmaOfCorrelationsBetweenSamples(), TotalNoise(), WriteNewRootFile(), WriteRootFile(), and ~TEcnaRun().
TString TEcnaRun::fFlagSubDet [private] |
Definition at line 392 of file TEcnaRun.h.
Referenced by GetSampleAdcValues(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), ReadSampleAdcValues(), and SetEcalSubDetector().
Int_t TEcnaRun::fgMaxCar [private] |
Definition at line 369 of file TEcnaRun.h.
Referenced by Init(), SetEcalSubDetector(), and WriteRootFile().
Int_t TEcnaRun::fMaxMsgIndexForMiscDiag [private] |
Definition at line 380 of file TEcnaRun.h.
Referenced by Init().
Int_t TEcnaRun::fMemoReadNumberOfEventsforSamples [private] |
Definition at line 412 of file TEcnaRun.h.
Referenced by Init().
Int_t* TEcnaRun::fMiscDiag [private] |
Definition at line 378 of file TEcnaRun.h.
Referenced by AverageHighFrequencyNoise(), AverageLowFrequencyNoise(), AverageMeanCorrelationsBetweenSamples(), AveragePedestals(), AverageSigmaOfCorrelationsBetweenSamples(), AverageTotalNoise(), GetReadyToReadData(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), HighFrequencyNoise(), Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), LowFrequencyNoise(), MeanCorrelationsBetweenSamples(), Pedestals(), SampleMeans(), SampleSigmas(), SigmaOfCorrelationsBetweenSamples(), TotalNoise(), and ~TEcnaRun().
Int_t TEcnaRun::fNbOfMiscDiagCounters [private] |
Definition at line 379 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), and ~TEcnaRun().
Int_t TEcnaRun::fNbSampForCalc [private] |
Definition at line 408 of file TEcnaRun.h.
Referenced by CorrelationsBetweenSamples(), CovariancesBetweenSamples(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyNoise(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyNoise(), MeanCorrelationsBetweenSamples(), Pedestals(), ReadSampleAdcValues(), SampleMeans(), SampleSigmas(), SigmaOfCorrelationsBetweenSamples(), TotalNoise(), and WriteNewRootFile().
Int_t TEcnaRun::fNbSampForFic [private] |
Definition at line 407 of file TEcnaRun.h.
Referenced by GetReadyToCompute(), GetReadyToReadData(), GetSampleAdcValues(), and TEcnaRun().
TString TEcnaRun::fNewRootFileName [private] |
Definition at line 400 of file TEcnaRun.h.
Referenced by GetNewRootFileName(), and WriteNewRootFile().
TString TEcnaRun::fNewRootFileNameShort [private] |
Definition at line 401 of file TEcnaRun.h.
Referenced by GetNewRootFileNameShort(), and WriteNewRootFile().
Int_t TEcnaRun::fNumberOfEvents [private] |
Definition at line 410 of file TEcnaRun.h.
Referenced by CovariancesBetweenSamples(), GetReadyToCompute(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyNoise(), Init(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyNoise(), SampleMeans(), and SampleSigmas().
TEcnaObject* TEcnaRun::fObjectManager [private] |
Definition at line 382 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), OpenRootFile(), ReadSampleAdcValues(), and TEcnaRun().
Bool_t TEcnaRun::fOpenRootFile [private] |
Definition at line 395 of file TEcnaRun.h.
Referenced by CloseRootFile(), Init(), OpenRootFile(), and WriteRootFile().
Int_t TEcnaRun::fReadyToReadData [private] |
Definition at line 396 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), GetSampleAdcValues(), and Init().
TString TEcnaRun::fRootFileName [private] |
Definition at line 398 of file TEcnaRun.h.
Referenced by GetRootFileName(), and ReadSampleAdcValues().
TString TEcnaRun::fRootFileNameShort [private] |
Definition at line 399 of file TEcnaRun.h.
Referenced by GetRootFileNameShort(), and ReadSampleAdcValues().
Int_t TEcnaRun::fSpecialStexStinNotIndexed [private] |
Definition at line 403 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), GetSampleAdcValues(), and Init().
TString TEcnaRun::fStexName [private] |
Definition at line 393 of file TEcnaRun.h.
Referenced by AverageHighFrequencyNoise(), AverageLowFrequencyNoise(), AverageMeanCorrelationsBetweenSamples(), AveragePedestals(), AverageSigmaOfCorrelationsBetweenSamples(), AverageTotalNoise(), GetReadyToReadData(), GetSampleAdcValues(), and SetEcalSubDetector().
Int_t TEcnaRun::fStinIndexBuilt [private] |
Definition at line 404 of file TEcnaRun.h.
Referenced by GetSampleAdcValues(), and Init().
TString TEcnaRun::fStinName [private] |
Definition at line 393 of file TEcnaRun.h.
Referenced by AverageHighFrequencyNoise(), AverageLowFrequencyNoise(), AverageMeanCorrelationsBetweenSamples(), AveragePedestals(), AverageSigmaOfCorrelationsBetweenSamples(), AverageTotalNoise(), GetReadyToReadData(), GetSampleAdcValues(), LowFrequencyMeanCorrelationsBetweenStins(), and SetEcalSubDetector().
Double_t* TEcnaRun::fT1d_av_ev_corss [private] |
Definition at line 457 of file TEcnaRun.h.
Referenced by AverageMeanCorrelationsBetweenSamples(), Init(), TRootAvEvCorss(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_av_hifn [private] |
Definition at line 467 of file TEcnaRun.h.
Referenced by AverageHighFrequencyNoise(), Init(), TRootAvHfn(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_av_lofn [private] |
Definition at line 462 of file TEcnaRun.h.
Referenced by AverageLowFrequencyNoise(), Init(), TRootAvLfn(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_av_mped [private] |
Definition at line 447 of file TEcnaRun.h.
Referenced by AveragePedestals(), Init(), TRootAvPed(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_av_sig_corss [private] |
Definition at line 472 of file TEcnaRun.h.
Referenced by AverageSigmaOfCorrelationsBetweenSamples(), Init(), TRootAvSigCorss(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_av_totn [private] |
Definition at line 452 of file TEcnaRun.h.
Referenced by AverageTotalNoise(), Init(), TRootAvTno(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_ev [private] |
Definition at line 427 of file TEcnaRun.h.
Referenced by Init(), SampleMeans(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_ev_cor_ss [private] |
Definition at line 455 of file TEcnaRun.h.
Referenced by AverageMeanCorrelationsBetweenSamples(), Init(), MeanCorrelationsBetweenSamples(), SigmaOfCorrelationsBetweenSamples(), TRootMeanCorss(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_ev_ev [private] |
Definition at line 445 of file TEcnaRun.h.
Referenced by AveragePedestals(), Init(), Pedestals(), TRootPed(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_evevt_of_sigsamp [private] |
Definition at line 465 of file TEcnaRun.h.
Referenced by AverageHighFrequencyNoise(), HighFrequencyNoise(), Init(), TRootHfn(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_evsamp_of_sigevt [private] |
Definition at line 450 of file TEcnaRun.h.
Referenced by AverageTotalNoise(), Init(), TotalNoise(), TRootTno(), and ~TEcnaRun().
Int_t* TEcnaRun::fT1d_NbOfEvts [private] |
Definition at line 420 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_sig [private] |
Definition at line 431 of file TEcnaRun.h.
Referenced by Init(), SampleSigmas(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_sig_cor_ss [private] |
Definition at line 470 of file TEcnaRun.h.
Referenced by AverageSigmaOfCorrelationsBetweenSamples(), Init(), SigmaOfCorrelationsBetweenSamples(), TRootSigCorss(), and ~TEcnaRun().
Double_t* TEcnaRun::fT1d_sigevt_of_evsamp [private] |
Definition at line 460 of file TEcnaRun.h.
Referenced by AverageLowFrequencyNoise(), Init(), LowFrequencyNoise(), TRootLfn(), and ~TEcnaRun().
Int_t* TEcnaRun::fT1d_StexStinFromIndex [private] |
Definition at line 423 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), GetSampleAdcValues(), Init(), ReadSampleAdcValues(), TRootStinNumbers(), and ~TEcnaRun().
Int_t* TEcnaRun::fT1dCrysNumbersTable [private] |
Definition at line 505 of file TEcnaRun.h.
Referenced by Init(), and ~TEcnaRun().
Double_t* TEcnaRun::fT2d1_hf_cor [private] |
Definition at line 490 of file TEcnaRun.h.
Referenced by HighFrequencyCorrelationsBetweenChannels(), Init(), and ~TEcnaRun().
Double_t* TEcnaRun::fT2d1_hf_cov [private] |
Definition at line 486 of file TEcnaRun.h.
Referenced by HighFrequencyCovariancesBetweenChannels(), Init(), and ~TEcnaRun().
Double_t* TEcnaRun::fT2d1_hfcc_mostins [private] |
Definition at line 499 of file TEcnaRun.h.
Referenced by HighFrequencyMeanCorrelationsBetweenStins(), Init(), and ~TEcnaRun().
Double_t* TEcnaRun::fT2d1_lf_cor [private] |
Definition at line 481 of file TEcnaRun.h.
Referenced by Init(), LowFrequencyCorrelationsBetweenChannels(), and ~TEcnaRun().
Double_t* TEcnaRun::fT2d1_lf_cov [private] |
Definition at line 477 of file TEcnaRun.h.
Referenced by Init(), LowFrequencyCovariancesBetweenChannels(), and ~TEcnaRun().
Double_t* TEcnaRun::fT2d1_lfcc_mostins [private] |
Definition at line 495 of file TEcnaRun.h.
Referenced by Init(), LowFrequencyMeanCorrelationsBetweenStins(), and ~TEcnaRun().
Double_t** TEcnaRun::fT2d_ev [private] |
Definition at line 426 of file TEcnaRun.h.
Referenced by CovariancesBetweenSamples(), Init(), Pedestals(), SampleMeans(), SampleSigmas(), TRootMSp(), and ~TEcnaRun().
Double_t** TEcnaRun::fT2d_hf_cor [private] |
Definition at line 489 of file TEcnaRun.h.
Referenced by HighFrequencyCorrelationsBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), Init(), TRootHfCor(), and ~TEcnaRun().
Double_t** TEcnaRun::fT2d_hf_cov [private] |
Definition at line 485 of file TEcnaRun.h.
Referenced by HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), Init(), TRootHfCov(), and ~TEcnaRun().
Double_t** TEcnaRun::fT2d_hfcc_mostins [private] |
Definition at line 498 of file TEcnaRun.h.
Referenced by HighFrequencyMeanCorrelationsBetweenStins(), Init(), TRootHFccMoStins(), and ~TEcnaRun().
Double_t** TEcnaRun::fT2d_lf_cor [private] |
Definition at line 480 of file TEcnaRun.h.
Referenced by Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), TRootLfCor(), and ~TEcnaRun().
Double_t** TEcnaRun::fT2d_lf_cov [private] |
Definition at line 476 of file TEcnaRun.h.
Referenced by Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), TRootLfCov(), and ~TEcnaRun().
Double_t** TEcnaRun::fT2d_lfcc_mostins [private] |
Definition at line 494 of file TEcnaRun.h.
Referenced by Init(), LowFrequencyMeanCorrelationsBetweenStins(), TRootLFccMoStins(), and ~TEcnaRun().
Int_t** TEcnaRun::fT2d_NbOfEvts [private] |
Definition at line 419 of file TEcnaRun.h.
Referenced by GetReadyToCompute(), GetReadyToReadData(), GetSampleAdcValues(), Init(), ReadSampleAdcValues(), TRootNbOfEvts(), WriteRootFile(), and ~TEcnaRun().
Double_t** TEcnaRun::fT2d_sig [private] |
Definition at line 430 of file TEcnaRun.h.
Referenced by Init(), SampleSigmas(), TotalNoise(), TRootSSp(), and ~TEcnaRun().
Int_t** TEcnaRun::fT2dCrysNumbersTable [private] |
Definition at line 504 of file TEcnaRun.h.
Referenced by Init(), and ~TEcnaRun().
Double_t* TEcnaRun::fT3d1_AdcValues [private] |
Definition at line 416 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), and ~TEcnaRun().
Double_t* TEcnaRun::fT3d1_cor_ss [private] |
Definition at line 441 of file TEcnaRun.h.
Referenced by CorrelationsBetweenSamples(), Init(), and ~TEcnaRun().
Double_t* TEcnaRun::fT3d1_cov_ss [private] |
Definition at line 436 of file TEcnaRun.h.
Referenced by CovariancesBetweenSamples(), Init(), and ~TEcnaRun().
Double_t** TEcnaRun::fT3d2_AdcValues [private] |
Definition at line 415 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), and ~TEcnaRun().
Double_t** TEcnaRun::fT3d2_cor_ss [private] |
Definition at line 440 of file TEcnaRun.h.
Referenced by CorrelationsBetweenSamples(), Init(), and ~TEcnaRun().
Double_t** TEcnaRun::fT3d2_cov_ss [private] |
Definition at line 435 of file TEcnaRun.h.
Referenced by CovariancesBetweenSamples(), Init(), and ~TEcnaRun().
Double_t*** TEcnaRun::fT3d_AdcValues [private] |
Definition at line 414 of file TEcnaRun.h.
Referenced by CovariancesBetweenSamples(), GetReadyToReadData(), GetSampleAdcValues(), HighFrequencyCovariancesBetweenChannels(), HighFrequencyNoise(), Init(), LowFrequencyCovariancesBetweenChannels(), LowFrequencyNoise(), ReadSampleAdcValues(), SampleMeans(), SampleSigmas(), TRootAdcEvt(), and ~TEcnaRun().
Double_t*** TEcnaRun::fT3d_cor_ss [private] |
Definition at line 439 of file TEcnaRun.h.
Referenced by CorrelationsBetweenSamples(), Init(), MeanCorrelationsBetweenSamples(), SigmaOfCorrelationsBetweenSamples(), TRootCorCss(), and ~TEcnaRun().
Double_t*** TEcnaRun::fT3d_cov_ss [private] |
Definition at line 434 of file TEcnaRun.h.
Referenced by CorrelationsBetweenSamples(), CovariancesBetweenSamples(), Init(), TRootCovCss(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagAdcEvt [private] |
Definition at line 417 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), SampleValues(), TRootAdcEvt(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagAvHfn [private] |
Definition at line 468 of file TEcnaRun.h.
Referenced by AverageHighFrequencyNoise(), GetReadyToReadData(), Init(), TRootAvHfn(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagAvLfn [private] |
Definition at line 463 of file TEcnaRun.h.
Referenced by AverageLowFrequencyNoise(), GetReadyToReadData(), Init(), TRootAvLfn(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagAvMeanCorss [private] |
Definition at line 458 of file TEcnaRun.h.
Referenced by AverageMeanCorrelationsBetweenSamples(), GetReadyToReadData(), Init(), TRootAvEvCorss(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagAvPed [private] |
Definition at line 448 of file TEcnaRun.h.
Referenced by AveragePedestals(), GetReadyToReadData(), Init(), TRootAvPed(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagAvSigCorss [private] |
Definition at line 473 of file TEcnaRun.h.
Referenced by AverageSigmaOfCorrelationsBetweenSamples(), GetReadyToReadData(), Init(), TRootAvSigCorss(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagAvTno [private] |
Definition at line 453 of file TEcnaRun.h.
Referenced by AverageTotalNoise(), GetReadyToReadData(), Init(), TRootAvTno(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagCorCss [private] |
Definition at line 442 of file TEcnaRun.h.
Referenced by CorrelationsBetweenSamples(), GetReadyToReadData(), Init(), MeanCorrelationsBetweenSamples(), TRootCorCss(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagCovCss [private] |
Definition at line 437 of file TEcnaRun.h.
Referenced by CorrelationsBetweenSamples(), CovariancesBetweenSamples(), GetReadyToReadData(), Init(), TRootCovCss(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagHFccMoStins [private] |
Definition at line 500 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), HighFrequencyMeanCorrelationsBetweenStins(), Init(), TRootHFccMoStins(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagHfCor [private] |
Definition at line 491 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyMeanCorrelationsBetweenStins(), Init(), TRootHfCor(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagHfCov [private] |
Definition at line 487 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), HighFrequencyCorrelationsBetweenChannels(), HighFrequencyCovariancesBetweenChannels(), Init(), TRootHfCov(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagHfn [private] |
Definition at line 466 of file TEcnaRun.h.
Referenced by AverageHighFrequencyNoise(), GetReadyToReadData(), HighFrequencyNoise(), Init(), TRootHfn(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagLFccMoStins [private] |
Definition at line 496 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), LowFrequencyMeanCorrelationsBetweenStins(), TRootLFccMoStins(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagLfCor [private] |
Definition at line 482 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyMeanCorrelationsBetweenStins(), TRootLfCor(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagLfCov [private] |
Definition at line 478 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), LowFrequencyCorrelationsBetweenChannels(), LowFrequencyCovariancesBetweenChannels(), TRootLfCov(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagLfn [private] |
Definition at line 461 of file TEcnaRun.h.
Referenced by AverageLowFrequencyNoise(), GetReadyToReadData(), Init(), LowFrequencyNoise(), TRootLfn(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagMeanCorss [private] |
Definition at line 456 of file TEcnaRun.h.
Referenced by AverageMeanCorrelationsBetweenSamples(), GetReadyToReadData(), Init(), MeanCorrelationsBetweenSamples(), SigmaOfCorrelationsBetweenSamples(), TRootMeanCorss(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagMSp [private] |
Definition at line 428 of file TEcnaRun.h.
Referenced by CovariancesBetweenSamples(), GetReadyToReadData(), Init(), Pedestals(), SampleMeans(), SampleSigmas(), TRootMSp(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagNbOfEvts [private] |
Definition at line 421 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), GetSampleAdcValues(), Init(), ReadSampleAdcValues(), TRootNbOfEvts(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagPed [private] |
Definition at line 446 of file TEcnaRun.h.
Referenced by AveragePedestals(), GetReadyToReadData(), Init(), Pedestals(), TRootPed(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagSigCorss [private] |
Definition at line 471 of file TEcnaRun.h.
Referenced by AverageSigmaOfCorrelationsBetweenSamples(), GetReadyToReadData(), Init(), SigmaOfCorrelationsBetweenSamples(), TRootSigCorss(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagSSp [private] |
Definition at line 432 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), Init(), SampleSigmas(), TotalNoise(), TRootSSp(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagStinNumbers [private] |
Definition at line 424 of file TEcnaRun.h.
Referenced by GetReadyToReadData(), GetSampleAdcValues(), Init(), ReadSampleAdcValues(), TRootStinNumbers(), WriteRootFile(), and ~TEcnaRun().
Int_t* TEcnaRun::fTagTno [private] |
Definition at line 451 of file TEcnaRun.h.
Referenced by AverageTotalNoise(), GetReadyToReadData(), Init(), TotalNoise(), TRootTno(), WriteRootFile(), and ~TEcnaRun().
TString TEcnaRun::fTTBELL [private] |
Definition at line 376 of file TEcnaRun.h.
Referenced by CloseRootFile(), GetReadyToReadData(), GetSampleAdcValues(), HighFrequencyMeanCorrelationsBetweenStins(), HighFrequencyNoise(), Init(), LowFrequencyMeanCorrelationsBetweenStins(), ReadSampleAdcValues(), TEcnaRun(), TotalNoise(), WriteRootFile(), and ~TEcnaRun().