CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
TEcnaRead Class Reference

#include <TEcnaRead.h>

Inheritance diagram for TEcnaRead:

Public Member Functions

void Adelete (const TString &)
 
void Anew (const TString &)
 
Bool_t CloseRootFile (const Text_t *)
 
Bool_t DataExist ()
 
void FileParameters (const TString &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString &)
 
TString GetAnalysisName ()
 
Int_t GetFirstReqEvtNumber ()
 
Int_t GetLastReqEvtNumber ()
 
Int_t GetNbOfSamples ()
 
Int_t GetNumberOfBinsSampleAsFunctionOfTime ()
 
Int_t GetNumberOfEvents (const Int_t &, const Int_t &)
 
Int_t GetReqNbOfEvts ()
 
TString GetRootFileName ()
 
TString GetRootFileNameShort ()
 
Int_t GetRunNumber ()
 
TString GetRunType ()
 
TString GetStartDate ()
 
time_t GetStartTime ()
 
Int_t GetStexNumber ()
 
Int_t GetStexStinFromIndex (const Int_t &)
 
Int_t GetStinIndex (const Int_t &)
 
TString GetStopDate ()
 
time_t GetStopTime ()
 
TString GetTechReadCode (const TString &, const TString &)
 
TString GetTypeOfQuantity (const CnaResultTyp)
 
void Init ()
 
Bool_t LookAtRootFile ()
 
Bool_t OpenRootFile (const Text_t *, const TString &)
 
TEcnaReadoperator= (const TEcnaRead &)
 
void PrintAllComments ()
 
void PrintComments ()
 
void PrintNoComment ()
 
void PrintWarnings ()
 
TVectorD Read1DHisto (const Int_t &, const TString &, const Int_t &, const Int_t &, const Int_t &)
 
TVectorD Read1DHisto (const Int_t &, const TString &, const Int_t &)
 
TVectorD Read1DHisto (const Int_t &, const TString &, const TString &)
 
TVectorD ReadAverageHighFrequencyNoise (const Int_t &)
 
TVectorD ReadAverageLowFrequencyNoise (const Int_t &)
 
TVectorD ReadAverageMeanCorrelationsBetweenSamples (const Int_t &)
 
TVectorD ReadAverageNumberOfEvents (const Int_t &)
 
TVectorD ReadAveragePedestals (const Int_t &)
 
TVectorD ReadAverageSigmaOfCorrelationsBetweenSamples (const Int_t &)
 
TVectorD ReadAverageTotalNoise (const Int_t &)
 
TMatrixD ReadCorrelationsBetweenSamples (const Int_t &, const Int_t &, const Int_t &)
 
TMatrixD ReadCovariancesBetweenSamples (const Int_t &, const Int_t &, const Int_t &)
 
TMatrixD ReadHighFrequencyCorrelationsBetweenChannels (const Int_t &, const Int_t &, const Int_t &)
 
TMatrixD ReadHighFrequencyCorrelationsBetweenChannels (const Int_t &)
 
TMatrixD ReadHighFrequencyCovariancesBetweenChannels (const Int_t &, const Int_t &, const Int_t &)
 
TMatrixD ReadHighFrequencyCovariancesBetweenChannels (const Int_t &)
 
TMatrixD ReadHighFrequencyMeanCorrelationsBetweenStins (const Int_t &)
 
TVectorD ReadHighFrequencyNoise (const Int_t &)
 
TMatrixD ReadLowFrequencyCorrelationsBetweenChannels (const Int_t &, const Int_t &, const Int_t &)
 
TMatrixD ReadLowFrequencyCorrelationsBetweenChannels (const Int_t &)
 
TMatrixD ReadLowFrequencyCovariancesBetweenChannels (const Int_t &, const Int_t &, const Int_t &)
 
TMatrixD ReadLowFrequencyCovariancesBetweenChannels (const Int_t &)
 
TMatrixD ReadLowFrequencyMeanCorrelationsBetweenStins (const Int_t &)
 
TVectorD ReadLowFrequencyNoise (const Int_t &)
 
TMatrixD ReadMatrix (const Int_t &, const TString &, const TString &, const Int_t &, const Int_t &)
 
TMatrixD ReadMatrix (const Int_t &, const TString &, const TString &)
 
TVectorD ReadMeanCorrelationsBetweenSamples (const Int_t &)
 
TVectorD ReadNumberOfEvents (const Int_t &)
 
TMatrixD ReadNumberOfEventsForSamples (const Int_t &, const Int_t &, const Int_t &)
 
TVectorD ReadPedestals (const Int_t &)
 
TVectorD ReadRelevantCorrelationsBetweenSamples (const Int_t &, const Int_t &, const Int_t &)
 
Bool_t ReadRootFileHeader (const Int_t &)
 
TVectorD ReadSampleAdcValues (const Int_t &, const Int_t &, const Int_t &, const Int_t &)
 
Double_t *** ReadSampleAdcValuesSameFile (const Int_t &, const Int_t &, const Int_t &)
 
TVectorD ReadSampleMeans (const Int_t &, const Int_t &, const Int_t &)
 
TVectorD ReadSampleMeans (const Int_t &, const Int_t &)
 
TVectorD ReadSampleSigmas (const Int_t &, const Int_t &, const Int_t &)
 
TVectorD ReadSampleSigmas (const Int_t &, const Int_t &)
 
TVectorD ReadSigmaOfCorrelationsBetweenSamples (const Int_t &)
 
TVectorD ReadStinNumbers (const Int_t &)
 
TVectorD ReadTotalNoise (const Int_t &)
 
void SetEcalSubDetector (const TString &)
 
 TEcnaRead ()
 
 TEcnaRead (TEcnaObject *, const TString &)
 
 TEcnaRead (const TEcnaRead &)
 
void TestArrayDimH1 (const TString &, const TString &, const Int_t &, const Int_t &)
 
void TestArrayDimH2 (const TString &, const TString &, const Int_t &, const Int_t &)
 
virtual ~TEcnaRead ()
 

Private Member Functions

void fCopy (const TEcnaRead &)
 

Private Attributes

Int_t fCdelete
 
TEcnaParCoutfCnaParCout
 
TEcnaParHistosfCnaParHistos
 
TEcnaParPathsfCnaParPaths
 
TEcnaWritefCnaWrite
 
Int_t fCnew
 
Int_t fCodePrintAllComments
 
Int_t fCodePrintComments
 
Int_t fCodePrintNoComment
 
Int_t fCodePrintWarnings
 
TString fCurrentlyOpenFileName
 
Bool_t fDataExist
 
TEcnaParEcalfEcal
 
TEcnaNumberingfEcalNumbering
 
TEcnaHeaderfFileHeader
 
TString fFlagNoFileOpen
 
Int_t fFlagPrint
 
TString fFlagSubDet
 
Int_t fgMaxCar
 
Int_t fLookAtRootFile
 
Int_t fMemoStinNumbers
 
Int_t fNbChanByLine
 
Int_t fNbSampByLine
 
TEcnaObjectfObjectManager
 
Bool_t fOpenRootFile
 
TString fPathRoot
 
Int_t fReadyToReadRootFile
 
TString fStexName
 
TString fStinName
 
Int_t * fT1d_StexStinFromIndex
 
Double_t * fT3d1_AdcValues
 
Double_t ** fT3d2_AdcValues
 
Double_t *** fT3d_AdcValues
 
Int_t * fTagStinNumbers
 
TString fTTBELL
 

Detailed Description


TEcnaRead.h Update: 05/05/2012 Authors: B.Fabbro (berna.nosp@m.rd.f.nosp@m.abbro.nosp@m.@cea.nosp@m..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_main_page.htm

==============> INTRODUCTION

This class allows the user to read the .root results files (containing

expectation values, variances, covariances, correlations and other quantities of interest) previously computed by the class TEcnaRun. The results are available in arrays.

==============> PRELIMINARY REMARK

Another class named TEcnaHistos can be used directly to make plots of results previously computed by means of the class TEcnaRun. The class TEcnaHistos calls TEcnaRead and manage the reading of the .root result file

        ***   I N S T R U C T I O N S   F O R   U S E   ***

//==============> TEcnaRead DECLARATION

// The declaration is done by calling the constructor without argument:

TEcnaRead* MyCnaRead = new TEcnaRead();

//==============> PREPARATION METHOD FileParameters(...)

// There is a preparation method named: FileParameters(...);

// FileParameters(...) is used to read the quantities written // in the ROOT files in order to use these quantities for analysis.

//....... Example of program using FileParameters(...)

// This example describes the reading of one result file. This file is situated in a // directory which name is given by the contents of a TString named PathForRootFile

//................ Set values for the arguments and call to the method

TString AnalysisName = "AdcPed12" Int_t RunNumber = 132440; Int_t FirstReqEvtNumber = 1; | (numbering starting from 1) Int_t LastReqEvtNumber = 300; | => treats 150 evts between evt#100 and evt#300 (included) Int_t ReqNbOfEvts = 150; | TString PathForRootFile = "/afs/cern.ch/etc..." // .root result files directory

TEcnaRead* MyCnaRead = new TEcnaRead(); MyCnaRead->FileParameters(AnalysisName, RunNumber, FirstReqEvtNumber, LastReqEvtNumber, ReqNbOfEvts, StexNumber, PathForRootFile);

*==> Stex = SM if EB, Dee if EE

//==============> CALL TO THE METHOD: Bool_t LookAtRootFile() (MANDATORY) // and method: Bool_t DataExist(); // if data exist: kTRUE , if not: kFALSE

// This methods returns a boolean. It tests the existence // of the ROOT file corresponding to the argument values given // in the call to the method FileParameters(...). // It is recommended to test the return value of the method.

//....... Example of use:

if( MyCnaRead->LookAtRootFile() == kFALSE ) { std::cout << "*** ERROR: ROOT file not found" << std::endl; } else { //........... The ROOT file exists and has been found // //—> CALLS TO THE METHODS WHICH RECOVER THE QUANTITIES. EXAMPLE: // (see the complete list of the methods hereafter)

Int_t MaxSamples = 10; TMatrixD CorMat(MaxSamples,MaxSamples); Int_t Tower = 59; Int_t Channel = 4; CorMat = MyCnaRead->ReadMatrix(MaxSamples, "Cor", "Samples", Tower, Channel);

// arguments: "Cor" = correlation matrix, "Samples" = between samples // large amount of possibilities for syntax: "Cor", "cor", "correlation", etc... // "Samples", "samples", "samp", etc...

if( MyCnaRead->DataExist() == kFALSE ) { : Analysis of the correlations, etc... : } else { std::cout << "problem while reading file. data not available. " << std::endl; }

}


                  *=======================*
                  | DETAILLED DESCRIPTION |
                  *=======================*

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

   Method FileParameters(...) and associated methods

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

TEcnaRead* MyCnaRead = new TEcnaRead(); // declaration of the object MyCnaRead

MyCnaRead->FileParameters(AnalysisName, RunNumber, NbOfSamples FirstReqEvtNumber, LastReqEvtNumber, ReqNbOfEvts, StexNumber, PathForRootFile);

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)

  TString  PathForRootFile: Path of the directory containing the ROOT file.
           The path must be complete: /afs/cern.ch/user/... etc...

==============> METHODS TO RECOVER THE QUANTITIES FROM THE ROOT FILE

            SM = SuperModule  (EB) equivalent to a Dee   (EE)
            SC = SuperCrystal (EE) equivalent to a Tower (EB)

            Stex = SM    in case of EB  ,  Dee in case of EE
            Stin = Tower in case of EB  ,  SC  in case of EE

n1StexStin = Stin# in Stex = Tower# in SM (RANGE = [1,68]) if EB = SC# in Dee (RANGE = [1,149]) if EE

i0StexEcha = Channel# in Stex = Channel# in SM (RANGE = [0,1699]) if EB = Channel# in Dee (RANGE = [0,3724]) if EE

i0StinEcha = Channel# in Stin = Channel# in tower (RANGE = [0,24]) if EB = Channel# in SC (RANGE = [0,24]) if EE

MaxCrysInStin = Maximum number of Xtals in a tower or a SC (25) MaxCrysEcnaInStex = Maximum number of Xtals in SM (1700) or in the matrix including Dee (5000) MaxStinEcnaInStex = Maximum number of towers in SM (68) or in the matrix including Dee (200) MaxSampADC = Maximum number of samples (10) NbOfSample = Number of samples used to perform the calculations (example: for the 3 first samples, NbOfSample = 3)

=============================== Standard methods for the user ===============================

Intervals: Tower or SC: [1,...] Channel:[0,24] Sample:[1,10]

........................................................................... TVectorD Read1DHisto(const Int_t& VecDim, const TString& Quantity, const Int_t& Tower or SC, const Int_t& Channel, const Int_t& Sample);

Example: Int_t Tower = 59; Int_t Channel = 10; Int_t Sample = 4; NbOfEvts = 150; TVectorD Adc(NbOfEvts); Adc = Read1DHisto(NbOfEvts, "AdcValue", Tower, Channel, Sample;

........................................................................... TVectorD Read1DHisto(const Int_t& VecDim, const TString& Quantity, const Int_t& Tower or SC);

Example: Int_t Tower = 59; TVectorD SampMean(fEcal->MaxCrysInTow()*fEcal->MaxSampADC()); SampMean = Read1DHisto(fEcal->MaxCrysInTow()*fEcal->MaxSampADC(), "SampleMean", Tower);

........................................................................... TVectorD Read1DHisto(const Int_t& VecDim, const TString& Quantity, const TString& Detector);

Example: TVectorD Pedestal(fEcal->MaxCrysInTow()); Pedestal = Read1DHisto(fEcal->MaxCrysInTow(), "Ped","SM");

........................................................................... TMatrixD ReadMatrix(const Int_t&, const TString&, const TString&, const Int_t&, const Int_t&); TMatrixD ReadMatrix(const Int_t&, const TString&, const TString&);

=============================== more "technical" methods ===============================

TVectorD and TMatrixD sizes are indicated after the argument lists

TMatrixD ReadNumberOfEventsForSamples(const Int_t& n1StexStin, const Int_t& MaxCrysInStin, const Int_t& NbOfSamples); // TMatrixD(MaxCrysInStin,NbOfSamples)

TVectorD ReadSampleAdcValues(const Int_t& i0StexEcha, const Int_t& sample, const Int_t& ReqNbOfEvts); // TVectorD(ReqNbOfEvts)

TVectorD ReadSampleMeans(const Int_t& n1StexStin, const Int_t& i0StinEcha, const Int_t& NbOfSamples); // TVectorD(NbOfSamples)

TVectorD ReadSampleMeans(const Int_t& n1StexStin, const Int_t& MaxCrysInStin*NbOfSamples); // TVectorD(MaxCrysInStin*NbOfSamples)

TVectorD ReadSampleSigmas(const Int_t& n1StexStin, const Int_t& i0StinEcha, const Int_t& NbOfSamples); // TVectorD(NbOfSamples)

TVectorD ReadSampleSigmas(const Int_t& n1StexStin, const Int_t& MaxCrysInStin*NbOfSamples); // TVectorD(MaxCrysInStin*NbOfSamples)

TMatrixD ReadCovariancesBetweenSamples(const Int_t& n1StexStin, const Int_t& i0StinEcha); // TMatrixD(NbOfSamples,NbOfSamples)

TMatrixD ReadCorrelationsBetweenSamples(const Int_t& n1StexStin, const Int_t& i0StinEcha); // TMatrixD(NbOfSamples,NbOfSamples)

--------------------------------------------------------— TMatrixD

TMatrixD size is (MaxCrysInStin, MaxCrysInStin)

TMatrixD ReadLowFrequencyCovariancesBetweenChannels(const Int_t& n1StexStin_X, const Int_t& n1StexStin_Y, const Int_t& MaxCrysInStin);

TMatrixD ReadLowFrequencyCorrelationsBetweenChannels(const Int_t& n1StexStin_X, const Int_t& n1StexStin_Y, const Int_t& MaxCrysInStin);

TMatrixD ReadHighFrequencyCovariancesBetweenChannels(const Int_t& n1StexStin_X, const Int_t& n1StexStin_Y, const Int_t& MaxCrysInStin);

TMatrixD ReadHighFrequencyCorrelationsBetweenChannels(const Int_t& n1StexStin_X, const Int_t& n1StexStin_Y, const Int_t& MaxCrysInStin);

--------------------------------------------------------— TMatrixD

TMatrixD size is (MaxCrysEcnaInStex, MaxCrysEcnaInStex) (BIG!: 1700x1700 for EB and 5000x5000 for EE)

TMatrixD ReadLowFrequencyCovariancesBetweenChannels(const Int_t& MaxCrysEcnaInStex); TMatrixD ReadLowFrequencyCorrelationsBetweenChannels(const Int_t& MaxCrysEcnaInStex);

TMatrixD ReadHighFrequencyCovariancesBetweenChannels(const Int_t& MaxCrysEcnaInStex); TMatrixD ReadHighFrequencyCorrelationsBetweenChannels(const Int_t& MaxCrysEcnaInStex);

--------------------------------------------------------— TMatrixD

TMatrixD size is (MaxStinEcnaInStex, MaxStinEcnaInStex)

TMatrixD ReadLowFrequencyMeanCorrelationsBetweenStins(const Int_t& MaxStinEcnaInStex); TMatrixD ReadHighFrequencyMeanCorrelationsBetweenStins(const Int_t& MaxStinEcnaInStex);

--------------------------------------------------------— TVectorD

TVectorD sizes are indicated after the argument lists

TVectorD ReadPedestals(const Int_t& MaxCrysEcnaInStex); // TVectorD(MaxCrysEcnaInStex) TVectorD ReadTotalNoise(const Int_t& MaxCrysEcnaInStex); // TVectorD(MaxCrysEcnaInStex) TVectorD ReadMeanCorrelationsBetweenSamples(const Int_t& MaxCrysEcnaInStex); // TVectorD(MaxCrysEcnaInStex)

TVectorD ReadLowFrequencyNoise(const Int_t& MaxCrysEcnaInStex); // TVectorD(MaxCrysEcnaInStex) TVectorD ReadHighFrequencyNoise(const Int_t& MaxCrysEcnaInStex); // TVectorD(MaxCrysEcnaInStex) TVectorD ReadSigmaOfCorrelationsBetweenSamples(const Int_t& MaxCrysEcnaInStex); // TVectorD(MaxCrysEcnaInStex)


TString GetStartDate() TString GetStopDate() TString GetRunType() Int_t GetFirstReqEvtNumber(); Int_t GetReqNbOfEvts();

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

                     Print Methods

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

 Just after the declaration with the constructor,
 you can set a "Print Flag" by means of the following "Print Methods":

 TEcnaRead* MyCnaRead = new TEcnaRead(....); // declaration of the object MyCnaRead

// Print Methods: 

MyCnaRead->PrintNoComment();  // Set flag to forbid printing of all the comments
                              // except ERRORS.

MyCnaRead->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.

MyCnaRead->PrintComments();    // Set flag to authorize printing of infos
                               // and some comments concerning initialisations

MyCnaRead->PrintAllComments(); // Set flag to authorize printing of all the comments

Definition at line 352 of file TEcnaRead.h.

Constructor & Destructor Documentation

TEcnaRead::TEcnaRead ( )
TEcnaRead::TEcnaRead ( TEcnaObject pObjectManager,
const TString &  SubDet 
)

Definition at line 26 of file TEcnaRead.cc.

References fCnaParCout, fCnaParHistos, fCnaParPaths, fCnaWrite, fEcal, fEcalNumbering, fFileHeader, fObjectManager, TEcnaObject::GetPointerValue(), Init(), TEcnaObject::RegisterPointer(), and SetEcalSubDetector().

27 {
28  fObjectManager = (TEcnaObject*)pObjectManager;
29  Long_t i_this = (Long_t)this;
30  pObjectManager->RegisterPointer("TEcnaRead", i_this);
31 
32  //----------------------- Object management
33  //............................ fCnaParCout
34  fCnaParCout = 0;
35  Long_t iCnaParCout = pObjectManager->GetPointerValue("TEcnaParCout");
36  if( iCnaParCout == 0 )
37  {fCnaParCout = new TEcnaParCout(pObjectManager); /*fCnew++*/}
38  else
39  {fCnaParCout = (TEcnaParCout*)iCnaParCout;}
40 
41  //............................ fCnaParPaths
42  fCnaParPaths = 0;
43  Long_t iCnaParPaths = pObjectManager->GetPointerValue("TEcnaParPaths");
44  if( iCnaParPaths == 0 )
45  {fCnaParPaths = new TEcnaParPaths(pObjectManager); /*fCnew++*/}
46  else
47  {fCnaParPaths = (TEcnaParPaths*)iCnaParPaths;}
48 
49  //............................ fEcalNumbering
50  fEcalNumbering = 0;
51  Long_t iEcalNumbering = pObjectManager->GetPointerValue("TEcnaNumbering");
52  if( iEcalNumbering == 0 )
53  {fEcalNumbering = new TEcnaNumbering(pObjectManager, SubDet.Data()); /*fCnew++*/}
54  else
55  {fEcalNumbering = (TEcnaNumbering*)iEcalNumbering;}
56 
57  //............................ fCnaParHistos
58  fCnaParHistos = 0;
59  Long_t iCnaParHistos = pObjectManager->GetPointerValue("TEcnaParHistos");
60  if( iCnaParHistos == 0 )
61  {fCnaParHistos = new TEcnaParHistos(pObjectManager, SubDet.Data()); /*fCnew++*/}
62  else
63  {fCnaParHistos = (TEcnaParHistos*)iCnaParHistos;}
64 
65  //............................ fCnaWrite
66  fCnaWrite = 0;
67  Long_t iCnaWrite = pObjectManager->GetPointerValue("TEcnaWrite");
68  if( iCnaWrite == 0 )
69  {fCnaWrite = new TEcnaWrite(pObjectManager, SubDet.Data()); /*fCnew++*/}
70  else
71  {fCnaWrite = (TEcnaWrite*)iCnaWrite;}
72 
73  // fEcal = 0; fEcal = new TEcnaParEcal(SubDet.Data()); // Anew("fEcal");
74  //............................ fEcal => to be changed in fParEcal
75  fEcal = 0;
76  Long_t iParEcal = pObjectManager->GetPointerValue("TEcnaParEcal");
77  if( iParEcal == 0 )
78  {fEcal = new TEcnaParEcal(pObjectManager, SubDet.Data()); /*fCnew++*/}
79  else
80  {fEcal = (TEcnaParEcal*)iParEcal;}
81 
82  //fFileHeader = 0;
83  //const Text_t *h_name = "CnaHeader"; //==> voir cette question avec FXG
84  //const Text_t *h_title = "CnaHeader"; //==> voir cette question avec FXG
85  //fFileHeader = new TEcnaHeader(h_name, h_title); // Anew("fFileHeader");
86 
87  //............................ fFileHeader
88  const Text_t *h_name = "CnaHeader"; //==> voir cette question avec FXG
89  const Text_t *h_title = "CnaHeader"; //==> voir cette question avec FXG
90 
91  // "CnaHeader" est le nom du fichier utilisé dans ReadRootFileHeader(...) sous la forme:
92  //
93  // TEcnaHeader *h;
94  // h =(TEcnaHeader*)gCnaRootFile->fRootFile->Get("CnaHeader");
95  //
96 
97  fFileHeader = 0;
98  Long_t iFileHeader = pObjectManager->GetPointerValue("TEcnaHeader");
99  if( iFileHeader == 0 )
100  {fFileHeader = new TEcnaHeader(pObjectManager, h_name, h_title); /*fCnew++*/}
101  else
102  {fFileHeader = (TEcnaHeader*)iFileHeader;}
103 
104  Init();
105  SetEcalSubDetector(SubDet.Data());
106 
107  // std::cout << "[Info Management] CLASS: TEcnaRead. CREATE OBJECT: this = " << this << std::endl;
108 }
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TEcnaParHistos * fCnaParHistos
Definition: TEcnaRead.h:375
Bool_t RegisterPointer(const TString &, const Long_t &)
Definition: TEcnaObject.cc:105
void SetEcalSubDetector(const TString &)
Definition: TEcnaRead.cc:171
TEcnaParCout * fCnaParCout
Definition: TEcnaRead.h:369
TEcnaParPaths * fCnaParPaths
Definition: TEcnaRead.h:370
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
void Init()
Definition: TEcnaRead.cc:110
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
TEcnaObject * fObjectManager
Definition: TEcnaRead.h:367
TEcnaNumbering * fEcalNumbering
Definition: TEcnaRead.h:374
Long_t GetPointerValue(const TString &)
Definition: TEcnaObject.cc:232
TEcnaRead::TEcnaRead ( const TEcnaRead dcop)

Definition at line 234 of file TEcnaRead.cc.

References gather_cfg::cout.

235 {
236  std::cout << "*TEcnaRead::TEcnaRead(const TEcnaRead& dcop)> "
237  << " It is time to write a copy constructor"
238  << std::endl;
239 
240  // { Int_t cintoto; cin >> cintoto; }
241 
242 }
TEcnaRead::~TEcnaRead ( )
virtual

Definition at line 264 of file TEcnaRead.cc.

References Adelete(), gather_cfg::cout, fCdelete, fCnew, fCodePrintAllComments, fCodePrintComments, fFlagPrint, fT1d_StexStinFromIndex, fT3d1_AdcValues, fT3d2_AdcValues, fT3d_AdcValues, fTagStinNumbers, and fTTBELL.

265 {
266 //Destructor
267 
268  // std::cout << "[Info Management] CLASS: TEcnaRead. DESTROY OBJECT: this = " << this << std::endl;
269 
271  std::cout << "*TEcnaRead::~TEcnaRead()> Entering destructor" << std::endl;}
272 
273  //if (fFileHeader != 0){delete fFileHeader; Adelete("fFileHeader");}
274  //if (fEcal != 0){delete fEcal; Adelete("fEcal");}
275  //if (fCnaParCout != 0){delete fCnaParCout; Adelete("fCnaParCout");}
276  //if (fCnaParPaths != 0){delete fCnaParPaths; Adelete("fCnaParPaths");}
277  //if (fCnaWrite != 0){delete fCnaWrite; Adelete("fCnaWrite");}
278  //if (fEcalNumbering != 0){delete fEcalNumbering; Adelete("fEcalNumbering");}
279 
280  if (fT1d_StexStinFromIndex != 0){delete [] fT1d_StexStinFromIndex; Adelete("fT1d_StexStinFromIndex");}
281  if (fTagStinNumbers != 0){delete [] fTagStinNumbers; Adelete("fTagStinNumbers");}
282 
283  if (fT3d_AdcValues != 0){delete [] fT3d_AdcValues; Adelete("fT3d_AdcValues");}
284  if (fT3d2_AdcValues != 0){delete [] fT3d2_AdcValues; Adelete("fT3d2_AdcValues");}
285  if (fT3d1_AdcValues != 0){delete [] fT3d1_AdcValues; Adelete("fT3d1_AdcValues");}
286 
287  if ( fCnew != fCdelete )
288  {
289  std::cout << "!TEcnaRead/destructor> WRONG MANAGEMENT OF ALLOCATIONS: fCnew = "
290  << fCnew << ", fCdelete = " << fCdelete << fTTBELL << std::endl;
291  }
292  else
293  {
294  // std::cout << "*TEcnaRead/destructor> BRAVO! GOOD MANAGEMENT OF ALLOCATIONS: fCnew = "
295  // << fCnew << ", fCdelete = " << fCdelete << std::endl;
296  }
297 
299  std::cout << "*TEcnaRead::~TEcnaRead()> End of destructor " << std::endl;}
300 }
Int_t fCnew
Definition: TEcnaRead.h:362
Int_t fCodePrintAllComments
Definition: TEcnaRead.h:402
void Adelete(const TString &)
Definition: TEcnaRead.cc:193
Int_t * fT1d_StexStinFromIndex
Definition: TEcnaRead.h:390
TString fTTBELL
Definition: TEcnaRead.h:365
Double_t ** fT3d2_AdcValues
Definition: TEcnaRead.h:410
Double_t * fT3d1_AdcValues
Definition: TEcnaRead.h:411
Int_t fCdelete
Definition: TEcnaRead.h:363
Int_t fFlagPrint
Definition: TEcnaRead.h:401
Double_t *** fT3d_AdcValues
Definition: TEcnaRead.h:409
Int_t * fTagStinNumbers
Definition: TEcnaRead.h:391
Int_t fCodePrintComments
Definition: TEcnaRead.h:402

Member Function Documentation

void TEcnaRead::Adelete ( const TString &  VarName)

Definition at line 193 of file TEcnaRead.cc.

References fCdelete.

Referenced by ~TEcnaRead().

194 {
195  // allocation survey for delete
196 
197  fCdelete++;
198  // std::cout << "TEcnaRead::Adelete> ========== delete" << std::setw(4) << fCdelete << " -> " << std::setw(25)
199  // << VarName.Data() << " / object(this): " << this << std::endl;
200 }
Int_t fCdelete
Definition: TEcnaRead.h:363
void TEcnaRead::Anew ( const TString &  VarName)

Definition at line 184 of file TEcnaRead.cc.

References fCnew.

Referenced by LookAtRootFile().

185 {
186  // allocation survey for new
187 
188  fCnew++;
189  // std::cout << "TEcnaRead::Anew---> new " << std::setw(4) << fCnew << " --------------> " << std::setw(25)
190  // << VarName.Data() << " / object(this): " << this << std::endl;
191 }
Int_t fCnew
Definition: TEcnaRead.h:362
Bool_t TEcnaRead::CloseRootFile ( const Text_t *  name)

Definition at line 875 of file TEcnaRead.cc.

References TEcnaRootFile::CloseFile(), gather_cfg::cout, fCodePrintAllComments, fCurrentlyOpenFileName, fFlagNoFileOpen, fFlagPrint, fOpenRootFile, fReadyToReadRootFile, fTTBELL, and gCnaRootFile.

Referenced by ReadAverageHighFrequencyNoise(), ReadAverageLowFrequencyNoise(), ReadAverageMeanCorrelationsBetweenSamples(), ReadAveragePedestals(), ReadAverageSigmaOfCorrelationsBetweenSamples(), ReadAverageTotalNoise(), ReadCorrelationsBetweenSamples(), ReadCovariancesBetweenSamples(), ReadHighFrequencyCorrelationsBetweenChannels(), ReadHighFrequencyCovariancesBetweenChannels(), ReadHighFrequencyMeanCorrelationsBetweenStins(), ReadHighFrequencyNoise(), ReadLowFrequencyCorrelationsBetweenChannels(), ReadLowFrequencyCovariancesBetweenChannels(), ReadLowFrequencyMeanCorrelationsBetweenStins(), ReadLowFrequencyNoise(), ReadMeanCorrelationsBetweenSamples(), ReadNumberOfEventsForSamples(), ReadPedestals(), ReadRelevantCorrelationsBetweenSamples(), ReadRootFileHeader(), ReadSampleAdcValues(), ReadSampleAdcValuesSameFile(), ReadSampleMeans(), ReadSampleSigmas(), ReadSigmaOfCorrelationsBetweenSamples(), ReadStinNumbers(), and ReadTotalNoise().

875  {
876 //Close the Root file
877 
878  Bool_t ok_close = kFALSE;
879 
880  if (fOpenRootFile == kTRUE )
881  {
882  if( gCnaRootFile != 0 )
883  {
885 
887  TString e_path; e_path.Append(name);
888  std::cout << "*TEcnaRead::CloseRootFile> Close ROOT file " << e_path.Data() << " OK " << std::endl;}
890  Long_t pointer_value = (Long_t)gCnaRootFile;
891  std::cout << "*TEcnaRead::CloseRootFile(...)> going to delete gCnaRootFile, gCnaRootFile = " << gCnaRootFile
892  << ", pointer = " << pointer_value << std::endl;}
893 
894  //delete gCnaRootFile; gCnaRootFile = 0; Adelete("gCnaRootFile");
895 
896  ok_close = kTRUE;
897  fOpenRootFile = kFALSE;
900  }
901  else
902  {
903  std::cout << "*TEcnaRead::CloseRootFile(...)> RootFile pointer equal to zero. Close not possible. gCnaRootFile = "
904  << gCnaRootFile
905  << fTTBELL << std::endl;
906  }
907  }
908  else
909  {
910  std::cout << "*TEcnaRead::CloseRootFile(...)> no close since no file is open. fOpenRootFile = " << fOpenRootFile
911  << std::endl;
912  }
913  return ok_close;
914 }
Int_t fReadyToReadRootFile
Definition: TEcnaRead.h:387
Int_t fCodePrintAllComments
Definition: TEcnaRead.h:402
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
Int_t fFlagPrint
Definition: TEcnaRead.h:401
Bool_t fOpenRootFile
Definition: TEcnaRead.h:383
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
Bool_t TEcnaRead::DataExist ( )
void TEcnaRead::fCopy ( const TEcnaRead rund)
private

Definition at line 204 of file TEcnaRead.cc.

References fCdelete, fCnew, fCodePrintAllComments, fCodePrintComments, fCodePrintNoComment, fCodePrintWarnings, fFileHeader, fFlagPrint, fOpenRootFile, fPathRoot, and fTagStinNumbers.

Referenced by operator=().

205 {
206 //Private copy
207 
208  fFileHeader = rund.fFileHeader;
210 
211  //........................................ Codes
212 
217 
218  //.................................................. Tags
220 
221  fFlagPrint = rund.fFlagPrint;
222  fPathRoot = rund.fPathRoot;
223 
224  fCnew = rund.fCnew;
225  fCdelete = rund.fCdelete;
226 }
Int_t fCnew
Definition: TEcnaRead.h:362
TString fPathRoot
Definition: TEcnaRead.h:396
Int_t fCodePrintAllComments
Definition: TEcnaRead.h:402
Int_t fCodePrintWarnings
Definition: TEcnaRead.h:402
Int_t fCodePrintNoComment
Definition: TEcnaRead.h:402
Int_t fCdelete
Definition: TEcnaRead.h:363
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
Int_t fFlagPrint
Definition: TEcnaRead.h:401
Bool_t fOpenRootFile
Definition: TEcnaRead.h:383
Int_t * fTagStinNumbers
Definition: TEcnaRead.h:391
Int_t fCodePrintComments
Definition: TEcnaRead.h:402
void TEcnaRead::FileParameters ( const TString &  typ_ana,
const Int_t &  nb_of_samples,
const Int_t &  run_number,
const Int_t &  nfirst,
const Int_t &  nlast,
const Int_t &  nreqevts,
const Int_t &  Stex,
const TString &  path_root 
)

Definition at line 649 of file TEcnaRead.cc.

References gather_cfg::cout, fCnaWrite, fCodePrintAllComments, fCodePrintComments, fFileHeader, TEcnaHeader::fFirstReqEvtNumber, fFlagPrint, TEcnaHeader::fLastReqEvtNumber, TEcnaWrite::fMakeResultsFileName(), fMemoStinNumbers, TEcnaHeader::fNbOfSamples, fObjectManager, fPathRoot, fReadyToReadRootFile, TEcnaHeader::fReqNbOfEvts, TEcnaHeader::fRunNumber, TEcnaHeader::fStex, TEcnaHeader::fTypAna, TEcnaHeader::HeaderParameters(), nlast, and TEcnaWrite::RegisterFileParameters().

Referenced by TEcnaHistos::EvSamplesXtals(), Read1DHisto(), TEcnaRun::ReadSampleAdcValues(), TEcnaHistos::SigmaSamplesXtals(), TEcnaHistos::StexHocoVecoLHFCorcc(), TEcnaHistos::ViewHistime(), TEcnaHistos::ViewHisto(), TEcnaHistos::ViewMatrix(), TEcnaHistos::ViewStas(), TEcnaHistos::ViewStex(), TEcnaHistos::ViewStin(), TEcnaHistos::XtalSamplesEv(), and TEcnaHistos::XtalSamplesSigma().

653 {
654  // Preparation for reading the ROOT file
655  // Preliminary save of the arguments values because they can be of the form: fFileHeader->...
656  // and because fFileHeader can be deleted and re-created in this method
657 
658  TString sTypAna = typ_ana;
659  Int_t nNbOfSamples = nb_of_samples;
660  Int_t nRunNumber = run_number;
661  Int_t nFirstEvt = nfirst;
662  Int_t nLastEvt = nlast;
663  Int_t nReqNbOfEvts = nreqevts;
664  Int_t nStexNumber = Stex;
665 
666  //................................................................................................
667  const Text_t *h_name = "CnaHeader"; //==> voir cette question avec FXG
668  const Text_t *h_title = "CnaHeader"; //==> voir cette question avec FXG
669 
670  // "CnaHeader" est le nom du fichier utilisé dans ReadRootFileHeader(...) sous la forme:
671  //
672  // TEcnaHeader *h;
673  // h =(TEcnaHeader*)gCnaRootFile->fRootFile->Get("CnaHeader");
674  //
675 
676  //----------- old version, with arguments h_name, h_title, (FXG) ----------
677  //
678  // fFileHeader->HeaderParameters(h_name, h_title,
679  // sTypAna, nNbOfSamples, nRunNumber,
680  // nFirstEvt, nLastEvt, nReqNbOfEvts, nStexNumber);
681  //
682  //-------------------------------------------------------------------------
683 
684  //---------- new version
685  if( fFileHeader == 0 ){fFileHeader = new TEcnaHeader(fObjectManager, h_name, h_title); /* Anew("fFileHeader") */ ;}
686  fFileHeader->HeaderParameters(sTypAna, nNbOfSamples, nRunNumber,
687  nFirstEvt, nLastEvt, nReqNbOfEvts, nStexNumber);
688 
689  // After this call to TEcnaHeader, we have:
690  // fFileHeader->fTypAna = sTypAna
691  // fFileHeader->fNbOfSamples = nNbOfSamples
692  // fFileHeader->fRunNumber = nRunNumber
693  // fFileHeader->fFirstReqEvtNumber = nFirstEvt
694  // fFileHeader->fLastReqEvtNumber = nLastEvt
695  // fFileHeader->fReqNbOfEvts = nReqNbOfEvts
696  // fFileHeader->fStex = nStexNumber ( FileParameters(...) )
697  //.......................... path_root
698  fPathRoot = path_root;
699 
700  //-------- gets the arguments for the file names (long and short) and makes these names
701  fCnaWrite->RegisterFileParameters(typ_ana, nb_of_samples, run_number, nfirst, nlast, nreqevts, Stex);
703  // names can be now recovered by call to TEcnaWrite methods: GetRootFileName() and GetRootFileNameShort()
704 
705  //------------------------- init Stin numbers memo flags
706  fMemoStinNumbers = 0;
707 
709  {
710  std::cout << std::endl;
711  std::cout << "*TEcnaRead::FileParameters(...)>" << std::endl
712  << " The method has been called with the following argument values:" << std::endl
713  << " Analysis name = "
714  << fFileHeader->fTypAna << std::endl
715  << " Nb of required samples = "
716  << fFileHeader->fNbOfSamples << std::endl
717  << " Run number = "
718  << fFileHeader->fRunNumber << std::endl
719  << " First requested event number = "
720  << fFileHeader->fFirstReqEvtNumber << std::endl
721  << " Last requested event number = "
722  << fFileHeader->fLastReqEvtNumber << std::endl
723  << " Requested number of events = "
724  << fFileHeader->fReqNbOfEvts << std::endl
725  << " Stex number = "
726  << fFileHeader->fStex << std::endl
727  << " Path for the ROOT file = "
728  << fPathRoot << std::endl
729  << std::endl;
730  }
731 
732  fReadyToReadRootFile = 1; // set flag
733 
734 } //----------------- end of FileParameters(...)
Int_t fStex
Definition: TEcnaHeader.h:56
Int_t fMemoStinNumbers
Definition: TEcnaRead.h:392
void RegisterFileParameters(const TString &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString &, const TString &, const time_t, const time_t)
Definition: TEcnaWrite.cc:610
TString fPathRoot
Definition: TEcnaRead.h:396
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
Int_t fReadyToReadRootFile
Definition: TEcnaRead.h:387
Int_t fReqNbOfEvts
Definition: TEcnaHeader.h:55
Int_t fCodePrintAllComments
Definition: TEcnaRead.h:402
Int_t fNbOfSamples
Definition: TEcnaHeader.h:51
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
TString fTypAna
Definition: TEcnaHeader.h:50
Int_t fFirstReqEvtNumber
Definition: TEcnaHeader.h:53
Int_t fFlagPrint
Definition: TEcnaRead.h:401
TEcnaObject * fObjectManager
Definition: TEcnaRead.h:367
Int_t fLastReqEvtNumber
Definition: TEcnaHeader.h:54
int nlast
Definition: AMPTWrapper.h:47
void HeaderParameters(const TString &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaHeader.cc:126
Int_t fRunNumber
Definition: TEcnaHeader.h:52
void fMakeResultsFileName()
Definition: TEcnaWrite.cc:640
Int_t fCodePrintComments
Definition: TEcnaRead.h:402
TString TEcnaRead::GetAnalysisName ( )

Definition at line 742 of file TEcnaRead.cc.

References fFileHeader, and TEcnaHeader::fTypAna.

Referenced by TEcnaHistos::FileParameters().

742 {return fFileHeader->fTypAna;}
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
TString fTypAna
Definition: TEcnaHeader.h:50
Int_t TEcnaRead::GetFirstReqEvtNumber ( )

Definition at line 745 of file TEcnaRead.cc.

References fFileHeader, and TEcnaHeader::fFirstReqEvtNumber.

Referenced by TEcnaHistos::FileParameters().

TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
Int_t fFirstReqEvtNumber
Definition: TEcnaHeader.h:53
Int_t TEcnaRead::GetLastReqEvtNumber ( )

Definition at line 746 of file TEcnaRead.cc.

References fFileHeader, and TEcnaHeader::fLastReqEvtNumber.

Referenced by TEcnaHistos::FileParameters().

TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
Int_t fLastReqEvtNumber
Definition: TEcnaHeader.h:54
Int_t TEcnaRead::GetNbOfSamples ( )

Definition at line 743 of file TEcnaRead.cc.

References fFileHeader, and TEcnaHeader::fNbOfSamples.

Referenced by TEcnaHistos::FileParameters().

743 {return fFileHeader->fNbOfSamples;}
Int_t fNbOfSamples
Definition: TEcnaHeader.h:51
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
Int_t TEcnaRead::GetNumberOfBinsSampleAsFunctionOfTime ( )

Definition at line 4379 of file TEcnaRead.cc.

References GetReqNbOfEvts().

4379 {return GetReqNbOfEvts();}
Int_t GetReqNbOfEvts()
Definition: TEcnaRead.cc:747
Int_t TEcnaRead::GetNumberOfEvents ( const Int_t &  xFapNbOfReqEvts,
const Int_t &  xStexNumber 
)

Definition at line 4275 of file TEcnaRead.cc.

References fCdelete, fCnaWrite, fCnew, fEcal, i, TEcnaParEcal::MaxCrysEcnaInStex(), TEcnaWrite::NumberOfEventsAnalysis(), and ReadNumberOfEvents().

Referenced by TEcnaHistos::FileParameters(), TEcnaHistos::StexHocoVecoLHFCorcc(), TEcnaHistos::ViewHisto(), TEcnaHistos::ViewMatrix(), TEcnaHistos::ViewStas(), TEcnaHistos::ViewStex(), and TEcnaHistos::ViewStin().

4276 {
4277  //...... Calculate the number of found events (file existence already tested in calling method)
4278  Int_t xFapNbOfEvts = 0;
4279 
4280  TVectorD NOFE_histp(fEcal->MaxCrysEcnaInStex());
4281  for(Int_t i=0; i<fEcal->MaxCrysEcnaInStex(); i++){NOFE_histp(i)=(Double_t)0.;}
4282  NOFE_histp = ReadNumberOfEvents(fEcal->MaxCrysEcnaInStex());
4283 
4284  //... Call to fCnaWrite->NumberOfEventsAnalysis(...) 1rst argument must be Int_t, not TVectorD,
4285  // duplicate NOFE_histp to NOFE_int to obtain fFapNbOfEvts from fCnaWrite->NumberOfEventsAnalysis(...)
4286  Int_t* NOFE_int = new Int_t[fEcal->MaxCrysEcnaInStex()]; fCnew++;
4287  for(Int_t i=0; i<fEcal->MaxCrysEcnaInStex(); i++){NOFE_int[i]=(Int_t)NOFE_histp(i);}
4288 
4289  xFapNbOfEvts =
4290  fCnaWrite->NumberOfEventsAnalysis(NOFE_int, fEcal->MaxCrysEcnaInStex(), xFapNbOfReqEvts, xStexNumber);
4291 
4292  delete [] NOFE_int; NOFE_int = 0; fCdelete++;
4293 
4294  return xFapNbOfEvts;
4295 }
int i
Definition: DBlmapReader.cc:9
Int_t NumberOfEventsAnalysis(Int_t **, const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaWrite.cc:520
Int_t fCnew
Definition: TEcnaRead.h:362
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
Int_t fCdelete
Definition: TEcnaRead.h:363
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Int_t MaxCrysEcnaInStex()
TVectorD ReadNumberOfEvents(const Int_t &)
Definition: TEcnaRead.cc:1662
Int_t TEcnaRead::GetReqNbOfEvts ( )

Definition at line 747 of file TEcnaRead.cc.

References fFileHeader, and TEcnaHeader::fReqNbOfEvts.

Referenced by TEcnaHistos::FileParameters(), and GetNumberOfBinsSampleAsFunctionOfTime().

747 {return fFileHeader->fReqNbOfEvts;}
Int_t fReqNbOfEvts
Definition: TEcnaHeader.h:55
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
TString TEcnaRead::GetRootFileName ( )

Definition at line 4356 of file TEcnaRead.cc.

References fCnaWrite, and TEcnaWrite::GetRootFileName().

Referenced by TEcnaRun::ReadSampleAdcValues().

4356 {return fCnaWrite->GetRootFileName();}
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString TEcnaRead::GetRootFileNameShort ( )
Int_t TEcnaRead::GetRunNumber ( )

Definition at line 744 of file TEcnaRead.cc.

References fFileHeader, and TEcnaHeader::fRunNumber.

Referenced by TEcnaHistos::FileParameters().

744 {return fFileHeader->fRunNumber;}
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
Int_t fRunNumber
Definition: TEcnaHeader.h:52
TString TEcnaRead::GetRunType ( )

Definition at line 758 of file TEcnaRead.cc.

References fFileHeader, and TEcnaHeader::fRunType.

Referenced by TEcnaHistos::FileParameters(), TEcnaHistos::StexHocoVecoLHFCorcc(), TEcnaHistos::ViewHisto(), TEcnaHistos::ViewMatrix(), TEcnaHistos::ViewStas(), TEcnaHistos::ViewStex(), and TEcnaHistos::ViewStin().

759 {
760  TString cType = "run type not defined";
761  Int_t numtype = fFileHeader->fRunType;
762  //----------------------------------------- run types
763 
764  if( numtype == 0 ){cType = "COSMICS";}
765  if( numtype == 1 ){cType = "BEAMH4";}
766  if( numtype == 2 ){cType = "BEAMH2";}
767  if( numtype == 3 ){cType = "MTCC";}
768  if( numtype == 4 ){cType = "LASER_STD";}
769  if( numtype == 5 ){cType = "LASER_POWER_SCAN";}
770  if( numtype == 6 ){cType = "LASER_DELAY_SCAN";}
771  if( numtype == 7 ){cType = "TESTPULSE_SCAN_MEM";}
772  if( numtype == 8 ){cType = "TESTPULSE_MGPA";}
773  if( numtype == 9 ){cType = "PEDESTAL_STD";}
774  if( numtype == 10 ){cType = "PEDESTAL_OFFSET_SCAN";}
775  if( numtype == 11 ){cType = "PEDESTAL_25NS_SCAN";}
776  if( numtype == 12 ){cType = "LED_STD";}
777 
778  if( numtype == 13 ){cType = "PHYSICS_GLOBAL";}
779  if( numtype == 14 ){cType = "COSMICS_GLOBAL";}
780  if( numtype == 15 ){cType = "HALO_GLOBAL";}
781 
782  if( numtype == 16 ){cType = "LASER_GAP";}
783  if( numtype == 17 ){cType = "TESTPULSE_GAP";}
784  if( numtype == 18 ){cType = "PEDESTAL_GAP";}
785  if( numtype == 19 ){cType = "LED_GAP";}
786 
787  if( numtype == 20 ){cType = "PHYSICS_LOCAL";}
788  if( numtype == 21 ){cType = "COSMICS_LOCAL";}
789  if( numtype == 22 ){cType = "HALO_LOCAL";}
790  if( numtype == 23 ){cType = "CALIB_LOCAL";}
791 
792  if( numtype == 24 ){cType = "PEDSIM";}
793 
794  return cType;
795 }
Int_t fRunType
Definition: TEcnaHeader.h:63
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
TString TEcnaRead::GetStartDate ( )
time_t TEcnaRead::GetStartTime ( )
Int_t TEcnaRead::GetStexNumber ( )

Definition at line 748 of file TEcnaRead.cc.

References fFileHeader, and TEcnaHeader::fStex.

Referenced by TEcnaHistos::FileParameters().

748 {return fFileHeader->fStex;}
Int_t fStex
Definition: TEcnaHeader.h:56
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
Int_t TEcnaRead::GetStexStinFromIndex ( const Int_t &  i0StexStinEcna)

Definition at line 4365 of file TEcnaRead.cc.

References fEcal, i, TEcnaParEcal::MaxStinEcnaInStex(), and ReadStinNumbers().

Referenced by TEcnaRun::ReadSampleAdcValues(), and TEcnaHistos::ViewStex().

4366 {
4367 // Get the Stin number in Stex from the Stin index
4368 
4369  Int_t number = -1;
4370  TVectorD vec(fEcal->MaxStinEcnaInStex());
4371  for(Int_t i=0; i<fEcal->MaxStinEcnaInStex(); i++){vec(i)=(Double_t)0.;}
4373  number = (Int_t)vec(i0StexStinEcna);
4374  return number;
4375 }
int i
Definition: DBlmapReader.cc:9
TVectorD ReadStinNumbers(const Int_t &)
Definition: TEcnaRead.cc:1129
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Int_t MaxStinEcnaInStex()
Int_t TEcnaRead::GetStinIndex ( const Int_t &  n1StexStin)

Definition at line 4385 of file TEcnaRead.cc.

References gather_cfg::cout, fCodePrintAllComments, fEcal, fFlagPrint, fTTBELL, i, TEcnaParEcal::MaxStinEcnaInStex(), and ReadStinNumbers().

Referenced by ReadHighFrequencyCorrelationsBetweenChannels(), ReadHighFrequencyCovariancesBetweenChannels(), ReadLowFrequencyCorrelationsBetweenChannels(), ReadLowFrequencyCovariancesBetweenChannels(), and ReadNumberOfEventsForSamples().

4386 {
4387 //Get the index of the Stin from its number in Stex
4388 
4390  std::cout << "*TEcnaRead::GetStinIndex(...)> fEcal->MaxStinEcnaInStex() = "
4391  << fEcal->MaxStinEcnaInStex() << std::endl
4392  << " n1StexStin = " << n1StexStin
4393  << std::endl << std::endl;}
4394 
4395  Int_t Stin_index = n1StexStin-1; // suppose les 68 tours
4396 
4397 #define NOGT
4398 #ifndef NOGT
4399  Int_t Stin_index = -1;
4400  TVectorD vec(fEcal->MaxStinEcnaInStex());
4401  for(Int_t i=0; i<fEcal->MaxStinEcnaInStex(); i++){vec(i)=(Double_t)0.;}
4403 
4404  //........................... Get the Stin index
4405 
4406  for(Int_t i=0; i < fEcal->MaxStinEcnaInStex(); i++)
4407  {
4409  std::cout << "*TEcnaRead::GetStinIndex(...)> StinNumber[" << i << "] = "
4410  << vec[i] << std::endl;}
4411  if ( vec[i] == n1StexStin ){Stin_index = i;}
4412  }
4413 
4415  std::cout << "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-" << std::endl;
4416  std::cout << "*TEcnaRead::GetStinIndex> Stin number: " << n1StexStin << std::endl
4417  << " Stin index : " << Stin_index << std::endl;
4418  std::cout << "~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-" << std::endl;}
4419 
4420  if ( Stin_index < 0 )
4421  {
4423  std::cout << "!TEcnaRead::GetStinIndex *** WARNING ***> n1StexStin" << n1StexStin << " : "
4424  << "index Stin not found"
4425  << fTTBELL << std::endl;}
4426  }
4427 #endif // NOGT
4428 
4429  return Stin_index;
4430 }
int i
Definition: DBlmapReader.cc:9
Int_t fCodePrintAllComments
Definition: TEcnaRead.h:402
TVectorD ReadStinNumbers(const Int_t &)
Definition: TEcnaRead.cc:1129
TString fTTBELL
Definition: TEcnaRead.h:365
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Int_t fFlagPrint
Definition: TEcnaRead.h:401
Int_t MaxStinEcnaInStex()
TString TEcnaRead::GetStopDate ( )
time_t TEcnaRead::GetStopTime ( )

Definition at line 755 of file TEcnaRead.cc.

References fFileHeader, and TEcnaHeader::fStopTime.

Referenced by Read1DHisto(), TEcnaRun::ReadSampleAdcValues(), TEcnaHistos::ViewHisto(), and TEcnaHistos::ViewStas().

755 {return fFileHeader->fStopTime;}
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
time_t fStopTime
Definition: TEcnaHeader.h:59
TString TEcnaRead::GetTechReadCode ( const TString &  StandardQuantity,
const TString &  StandardDetector 
)

Definition at line 602 of file TEcnaRead.cc.

References gather_cfg::cout, and fTTBELL.

Referenced by Read1DHisto().

603 {
604  TString rTechReadCode = "?";
605  TString dTechDetector = "?";
606 
607  if( StandardDetector == "SM" || StandardDetector == "Dee"){dTechDetector = "Stex";}
608  if( StandardDetector == "EB" || StandardDetector == "EE" ){dTechDetector = "Stas";}
609 
610  if( dTechDetector == "?")
611  {
612  std::cout << "!TEcnaRead::GetTechReadCode(...)> *** ERROR: wrong standard code *** dTechDetector = "
613  << dTechDetector << ", StandardDetector = " << StandardDetector
614  << fTTBELL << std::endl;
615  }
616  else
617  {
618  if( StandardQuantity == "NOE" && dTechDetector == "Stex" ){rTechReadCode = "NOEStex";}
619  if( StandardQuantity == "NOE" && dTechDetector == "Stas" ){rTechReadCode = "NOEStas";}
620  if( StandardQuantity == "Ped" && dTechDetector == "Stex" ){rTechReadCode = "PedStex";}
621  if( StandardQuantity == "Ped" && dTechDetector == "Stas" ){rTechReadCode = "PedStas";}
622  if( StandardQuantity == "TNo" && dTechDetector == "Stex" ){rTechReadCode = "TNoStex";}
623  if( StandardQuantity == "TNo" && dTechDetector == "Stas" ){rTechReadCode = "TNoStas";}
624  if( StandardQuantity == "LFN" && dTechDetector == "Stex" ){rTechReadCode = "LFNStex";}
625  if( StandardQuantity == "LFN" && dTechDetector == "Stas" ){rTechReadCode = "LFNStas";}
626  if( StandardQuantity == "HFN" && dTechDetector == "Stex" ){rTechReadCode = "HFNStex";}
627  if( StandardQuantity == "HFN" && dTechDetector == "Stas" ){rTechReadCode = "HFNStas";}
628  if( StandardQuantity == "MCs" && dTechDetector == "Stex" ){rTechReadCode = "MCsStex";}
629  if( StandardQuantity == "MCs" && dTechDetector == "Stas" ){rTechReadCode = "MCsStas";}
630  if( StandardQuantity == "SCs" && dTechDetector == "Stex" ){rTechReadCode = "SCsStex";}
631  if( StandardQuantity == "SCs" && dTechDetector == "Stas" ){rTechReadCode = "SCsStas";}
632  }
633 
634  if( rTechReadCode == "?")
635  {
636  std::cout << "!TEcnaRead::GetTechReadCode(...)> *** ERROR: wrong standard code *** rTechReadCode = " << rTechReadCode
637  << ", StandardQuantity = " << StandardQuantity
638  << fTTBELL << std::endl;
639  }
640 
641  return rTechReadCode;
642 }
TString fTTBELL
Definition: TEcnaRead.h:365
TString TEcnaRead::GetTypeOfQuantity ( const CnaResultTyp  arg_typ)

Definition at line 4302 of file TEcnaRead.cc.

References 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, and fFlagSubDet.

Referenced by ReadAverageHighFrequencyNoise(), ReadAverageLowFrequencyNoise(), ReadAverageMeanCorrelationsBetweenSamples(), ReadAveragePedestals(), ReadAverageSigmaOfCorrelationsBetweenSamples(), ReadAverageTotalNoise(), ReadCorrelationsBetweenSamples(), ReadCovariancesBetweenSamples(), ReadHighFrequencyCorrelationsBetweenChannels(), ReadHighFrequencyCovariancesBetweenChannels(), ReadHighFrequencyMeanCorrelationsBetweenStins(), ReadHighFrequencyNoise(), ReadLowFrequencyCorrelationsBetweenChannels(), ReadLowFrequencyCovariancesBetweenChannels(), ReadLowFrequencyMeanCorrelationsBetweenStins(), ReadLowFrequencyNoise(), ReadMeanCorrelationsBetweenSamples(), ReadNumberOfEventsForSamples(), ReadPedestals(), ReadRelevantCorrelationsBetweenSamples(), ReadSampleAdcValues(), ReadSampleAdcValuesSameFile(), ReadSampleMeans(), ReadSampleSigmas(), ReadSigmaOfCorrelationsBetweenSamples(), ReadStinNumbers(), and ReadTotalNoise().

4303 {
4304  TString quantity_name = "?";
4305 
4306  if( arg_typ == cTypNumbers)
4307  {
4308  if( fFlagSubDet == "EB" ){quantity_name = "SM numbers";}
4309  if( fFlagSubDet == "EE" ){quantity_name = "Dee numbers";}
4310  }
4311  if( arg_typ == cTypMSp ){quantity_name = "Mean samples";}
4312  if( arg_typ == cTypSSp ){quantity_name = "Sigma of samples";}
4313 
4314  if( arg_typ == cTypNbOfEvts ){quantity_name = "Number of events";}
4315  if( arg_typ == cTypPed ){quantity_name = "Pedestals";}
4316  if( arg_typ == cTypTno ){quantity_name = "Total noise";}
4317  if( arg_typ == cTypLfn ){quantity_name = "LF noise";}
4318  if( arg_typ == cTypHfn ){quantity_name = "HF noise";}
4319  if( arg_typ == cTypMeanCorss){quantity_name = "Mean cor(s,s')";}
4320  if( arg_typ == cTypSigCorss ){quantity_name = "Sigma of cor(s,s')";}
4321 
4322  if( arg_typ == cTypAvPed ){quantity_name = "Average pedestals";}
4323  if( arg_typ == cTypAvTno ){quantity_name = "Average total noise";}
4324  if( arg_typ == cTypAvLfn ){quantity_name = "Average LF noise";}
4325  if( arg_typ == cTypAvHfn ){quantity_name = "Average HF noise";}
4326  if( arg_typ == cTypAvMeanCorss){quantity_name = "Average mean cor(s,s')";}
4327  if( arg_typ == cTypAvSigCorss ){quantity_name = "Average sigma of cor(s,s')";}
4328 
4329  if( arg_typ == cTypAdcEvt ){quantity_name = "Sample ADC a.f.o event number";}
4330 
4331  if( arg_typ == cTypCovCss ){quantity_name = "Cov(s,s')";}
4332  if( arg_typ == cTypCorCss ){quantity_name = "Cor(s,s')";}
4333  if( arg_typ == cTypLfCov ){quantity_name = "LF Cov(c,c')";}
4334  if( arg_typ == cTypLfCor ){quantity_name = "LF Cor(c,c')";}
4335  if( arg_typ == cTypHfCov ){quantity_name = "HF Cov(c,c')";}
4336  if( arg_typ == cTypHfCor ){quantity_name = "HF Cor(c,c')";}
4337 
4338  if( fFlagSubDet == "EB" )
4339  {
4340  if( arg_typ == cTypLFccMoStins){quantity_name = "Mean LF |Cor(c,c')| in (tow,tow')";}
4341  if( arg_typ == cTypHFccMoStins){quantity_name = "Mean HF |Cor(c,c')| in (tow,tow')";}
4342  }
4343  if( fFlagSubDet == "EE" )
4344  {
4345  if( arg_typ == cTypLFccMoStins){quantity_name = "Mean LF |Cor(c,c')| in (SC,SC')";}
4346  if( arg_typ == cTypHFccMoStins){quantity_name = "Mean HF |Cor(c,c')| in (SC,SC')";}
4347  }
4348  return quantity_name;
4349 }
TString fFlagSubDet
Definition: TEcnaRead.h:380
void TEcnaRead::Init ( void  )

Definition at line 110 of file TEcnaRead.cc.

References fCdelete, fCnaParCout, fCnew, fCodePrintAllComments, fCodePrintComments, fCodePrintNoComment, fCodePrintWarnings, fCurrentlyOpenFileName, fDataExist, fFlagNoFileOpen, fFlagPrint, fgMaxCar, fLookAtRootFile, fMemoStinNumbers, fOpenRootFile, fPathRoot, fReadyToReadRootFile, fT1d_StexStinFromIndex, fT3d1_AdcValues, fT3d2_AdcValues, fT3d_AdcValues, fTagStinNumbers, fTTBELL, gCnaRootFile, and TEcnaParCout::GetCodePrint().

Referenced by TEcnaRead().

111 {
112 //Initialisation concerning the ROOT file
113 
114  fCnew = 0;
115  fCdelete = 0;
116 
117  fTTBELL = '\007';
118 
119  fgMaxCar = (Int_t)512;
120 
125 
126  //.................................. Set flag print to "Warnings" (Init)
128 
129  //................................ tags and array Stin numbers
130  fTagStinNumbers = 0;
131  fMemoStinNumbers = 0;
133 
134  //................................
135  // fMemoReadNumberOfEventsforSamples = 0;
136 
137  //.......................... flag data exist (utile ici?)
138  fDataExist = kFALSE;
139 
140  //......................... transfert Sample ADC Values 3D array (Init)
141  fT3d_AdcValues = 0;
142  fT3d2_AdcValues = 0;
143  fT3d1_AdcValues = 0;
144 
145  //................................. path for .root files
146  Int_t MaxCar = fgMaxCar;
147  MaxCar = fgMaxCar;
148  fPathRoot.Resize(MaxCar);
149  fPathRoot = "fPathRoot not defined";
150 
151  //.................................. Pointer and Flags for Root File (Init)
152  gCnaRootFile = 0;
153 
154  fOpenRootFile = kFALSE;
156  fLookAtRootFile = 0;
157 
158  //................................. currently open file
159  MaxCar = fgMaxCar;
160  fFlagNoFileOpen.Resize(MaxCar);
161  fFlagNoFileOpen = "No file is open";
162 
163  MaxCar = fgMaxCar;
164  fCurrentlyOpenFileName.Resize(MaxCar);
166 
167 }// end of Init()
Int_t fCnew
Definition: TEcnaRead.h:362
Int_t fMemoStinNumbers
Definition: TEcnaRead.h:392
TString fPathRoot
Definition: TEcnaRead.h:396
Int_t fgMaxCar
Definition: TEcnaRead.h:360
Int_t fReadyToReadRootFile
Definition: TEcnaRead.h:387
Int_t fCodePrintAllComments
Definition: TEcnaRead.h:402
Int_t fCodePrintWarnings
Definition: TEcnaRead.h:402
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
Int_t fCodePrintNoComment
Definition: TEcnaRead.h:402
Int_t * fT1d_StexStinFromIndex
Definition: TEcnaRead.h:390
TString fTTBELL
Definition: TEcnaRead.h:365
TEcnaParCout * fCnaParCout
Definition: TEcnaRead.h:369
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
Double_t ** fT3d2_AdcValues
Definition: TEcnaRead.h:410
Double_t * fT3d1_AdcValues
Definition: TEcnaRead.h:411
Int_t fCdelete
Definition: TEcnaRead.h:363
Int_t GetCodePrint(const TString &)
Definition: TEcnaParCout.cc:70
Int_t fFlagPrint
Definition: TEcnaRead.h:401
Bool_t fDataExist
Definition: TEcnaRead.h:406
Double_t *** fT3d_AdcValues
Definition: TEcnaRead.h:409
Bool_t fOpenRootFile
Definition: TEcnaRead.h:383
Int_t * fTagStinNumbers
Definition: TEcnaRead.h:391
Int_t fCodePrintComments
Definition: TEcnaRead.h:402
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
Int_t fLookAtRootFile
Definition: TEcnaRead.h:388
Bool_t TEcnaRead::LookAtRootFile ( )

Definition at line 922 of file TEcnaRead.cc.

References Anew(), gather_cfg::cout, fEcal, fFileHeader, fLookAtRootFile, fReadyToReadRootFile, TEcnaHeader::fStinNumbersCalc, fT1d_StexStinFromIndex, fTagStinNumbers, fTTBELL, i, TEcnaParEcal::MaxStinEcnaInStex(), ReadRootFileHeader(), and ReadStinNumbers().

Referenced by TEcnaHistos::EvSamplesXtals(), Read1DHisto(), TEcnaRun::ReadSampleAdcValues(), TEcnaHistos::SigmaSamplesXtals(), TEcnaHistos::StexHocoVecoLHFCorcc(), TEcnaHistos::ViewHistime(), TEcnaHistos::ViewHisto(), TEcnaHistos::ViewMatrix(), TEcnaHistos::ViewStas(), TEcnaHistos::ViewStex(), TEcnaHistos::ViewStin(), TEcnaHistos::XtalSamplesEv(), and TEcnaHistos::XtalSamplesSigma().

923 {
924 //---------- Reads the ROOT file header and makes allocations and some other things
925 
926  fLookAtRootFile = 0; // set flag to zero before looking for the file
927 
928  if(fReadyToReadRootFile == 1)
929  {
930  //------------ Call to ReadRootFileHeader
931  Int_t iprint = 0;
932  if( ReadRootFileHeader(iprint) == kTRUE ) // (1) = print, (0) = no print
933  {
934  //........................................ allocation tags
935  if( fTagStinNumbers == 0 ){fTagStinNumbers = new Int_t[1]; Anew("fTagStinNumbers");}
936 
937  //...................... allocation for fT1d_StexStinFromIndex[]
938  if(fT1d_StexStinFromIndex == 0)
939  {fT1d_StexStinFromIndex = new Int_t[fEcal->MaxStinEcnaInStex()]; Anew("fT1d_StexStinFromIndex");}
940 
941  //.. recover of the Stin numbers from the ROOT file (= init fT1d_StexStinFromIndex+init TagStin)
942  TVectorD vec(fEcal->MaxStinEcnaInStex());
943  for(Int_t i=0; i<fEcal->MaxStinEcnaInStex(); i++){vec(i)=(Double_t)0.;}
945 
946  for (Int_t i = 0; i < fEcal->MaxStinEcnaInStex(); i++ ){
947  fT1d_StexStinFromIndex[i] = (Int_t)vec(i);}
948 
950 
951  fLookAtRootFile = 1; // set flag
952  return kTRUE;
953  }
954  else
955  {
956  std::cout << "!TEcnaRead::LookAtRootFile()> *** ERROR ***>"
957  << " ROOT file not found " << fTTBELL << std::endl;
958  return kFALSE;
959  }
960  }
961  else
962  {
963  std::cout << "!TEcnaRead::LookAtRootFile()> *** ERROR ***>"
964  << " FileParameters not called " << fTTBELL << std::endl;
965  return kFALSE;
966  }
967  return kFALSE;
968 } //----------------- end of LookAtRootFile()
int i
Definition: DBlmapReader.cc:9
Int_t fReadyToReadRootFile
Definition: TEcnaRead.h:387
Bool_t ReadRootFileHeader(const Int_t &)
Definition: TEcnaRead.cc:988
Int_t * fT1d_StexStinFromIndex
Definition: TEcnaRead.h:390
TVectorD ReadStinNumbers(const Int_t &)
Definition: TEcnaRead.cc:1129
TString fTTBELL
Definition: TEcnaRead.h:365
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
void Anew(const TString &)
Definition: TEcnaRead.cc:184
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Int_t MaxStinEcnaInStex()
Int_t * fTagStinNumbers
Definition: TEcnaRead.h:391
Int_t fStinNumbersCalc
Definition: TEcnaHeader.h:66
Int_t fLookAtRootFile
Definition: TEcnaRead.h:388
Bool_t TEcnaRead::OpenRootFile ( const Text_t *  name,
const TString &  status 
)

Definition at line 807 of file TEcnaRead.cc.

References gather_cfg::cout, fCodePrintAllComments, fCurrentlyOpenFileName, fFlagPrint, fObjectManager, fOpenRootFile, fPathRoot, TEcnaRootFile::fRootFileStatus, gCnaRootFile, TEcnaObject::GetPointerValue(), TEcnaRootFile::OpenR(), TEcnaRootFile::OpenW(), TEcnaRootFile::ReStart(), and mps_update::status.

Referenced by ReadAverageHighFrequencyNoise(), ReadAverageLowFrequencyNoise(), ReadAverageMeanCorrelationsBetweenSamples(), ReadAveragePedestals(), ReadAverageSigmaOfCorrelationsBetweenSamples(), ReadAverageTotalNoise(), ReadCorrelationsBetweenSamples(), ReadCovariancesBetweenSamples(), ReadHighFrequencyCorrelationsBetweenChannels(), ReadHighFrequencyCovariancesBetweenChannels(), ReadHighFrequencyMeanCorrelationsBetweenStins(), ReadHighFrequencyNoise(), ReadLowFrequencyCorrelationsBetweenChannels(), ReadLowFrequencyCovariancesBetweenChannels(), ReadLowFrequencyMeanCorrelationsBetweenStins(), ReadLowFrequencyNoise(), ReadMeanCorrelationsBetweenSamples(), ReadNumberOfEventsForSamples(), ReadPedestals(), ReadRelevantCorrelationsBetweenSamples(), ReadRootFileHeader(), ReadSampleAdcValues(), ReadSampleAdcValuesSameFile(), ReadSampleMeans(), ReadSampleSigmas(), ReadSigmaOfCorrelationsBetweenSamples(), ReadStinNumbers(), and ReadTotalNoise().

807  {
808 //Open the Root file
809 
810  Bool_t ok_open = kFALSE;
811 
812  TString s_name;
813  s_name = fPathRoot;
814  s_name.Append('/');
815  s_name.Append(name);
816 
817  // if( gCnaRootFile != 0 )
818  // {
819  // Int_t iPointer = (Int_t)gCnaRootFile;
820  // std::cout << "*TEcnaRead::OpenRootFile(...)> RootFile pointer not (re)initialized to 0. gCnaRootFile = "
821  // << gCnaRootFile << ", pointer = " << iPointer << fTTBELL << std::endl;
822  //
823  // delete gCnaRootFile; gCnaRootFile = 0; Adelete("gCnaRootFile");
824  // }
825 
826  //if( gCnaRootFile != 0 ){gCnaRootFile->ReStart(s_name.Data(), status);}
827  //if( gCnaRootFile == 0 )
828  // {
829  // gCnaRootFile = new TEcnaRootFile(fObjectManager, s_name.Data(), status); Anew("gCnaRootFile");
830 
831  Long_t iCnaRootFile = fObjectManager->GetPointerValue("TEcnaRootFile");
832  if( iCnaRootFile == 0 )
833  {
834  gCnaRootFile = new TEcnaRootFile(fObjectManager, s_name.Data(), status); /* Anew("gCnaRootFile");*/
835  }
836  else
837  {
838  gCnaRootFile = (TEcnaRootFile*)iCnaRootFile;
839  gCnaRootFile->ReStart(s_name.Data(), status);
840  }
841  // }
842 
843  if ( gCnaRootFile->fRootFileStatus == "RECREATE" ){ok_open = gCnaRootFile->OpenW();}
844  if ( gCnaRootFile->fRootFileStatus == "READ" ){ok_open = gCnaRootFile->OpenR();}
845 
846  if ( ok_open == kFALSE )
847  {
848  std::cout << "!TEcnaRead::OpenRootFile> " << s_name.Data() << ": file not found." << std::endl;
849  //if( gCnaRootFile != 0 )
850  // {delete gCnaRootFile; gCnaRootFile = 0; Adelete("gCnaRootFile");}
851  }
852  else
853  {
855  {
856  std::cout << "*TEcnaRead::OpenRootFile> Open ROOT file " << s_name.Data() << " OK "
857  << ", gCnaRootFile = " << gCnaRootFile << std::endl;
858  }
859  fOpenRootFile = kTRUE;
860  fCurrentlyOpenFileName = s_name;
862  {
863  std::cout << "*TEcnaRead::OpenRootFile> Open ROOT file: " << fCurrentlyOpenFileName.Data() << " => OK "
864  << ", gCnaRootFile = " << gCnaRootFile << std::endl << std::endl;
865  }
866  }
867  return ok_open;
868 } // end of OpenRootFile()
Bool_t OpenR(const Text_t *="")
TString fPathRoot
Definition: TEcnaRead.h:396
Int_t fCodePrintAllComments
Definition: TEcnaRead.h:402
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TString fRootFileStatus
Definition: TEcnaRootFile.h:34
Int_t fFlagPrint
Definition: TEcnaRead.h:401
TEcnaObject * fObjectManager
Definition: TEcnaRead.h:367
void ReStart(const Text_t *)
Bool_t OpenW(const Text_t *="")
Bool_t fOpenRootFile
Definition: TEcnaRead.h:383
Long_t GetPointerValue(const TString &)
Definition: TEcnaObject.cc:232
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TEcnaRead & TEcnaRead::operator= ( const TEcnaRead dcop)

Definition at line 250 of file TEcnaRead.cc.

References fCopy().

251 {
252 //Overloading of the operator=
253 
254  fCopy(dcop);
255  return *this;
256 }
void fCopy(const TEcnaRead &)
Definition: TEcnaRead.cc:204
void TEcnaRead::PrintAllComments ( )

Definition at line 4454 of file TEcnaRead.cc.

References gather_cfg::cout, fCodePrintAllComments, and fFlagPrint.

4455 {
4456 // Set flags to authorize printing of the comments of all the methods
4457 
4459  std::cout << "*TEcnaRead::PrintAllComments()> All the comments will be printed" << std::endl;
4460 }
Int_t fCodePrintAllComments
Definition: TEcnaRead.h:402
Int_t fFlagPrint
Definition: TEcnaRead.h:401
void TEcnaRead::PrintComments ( )

Definition at line 4438 of file TEcnaRead.cc.

References gather_cfg::cout, fCodePrintComments, and fFlagPrint.

4439 {
4440 // Set flags to authorize printing of some comments concerning initialisations (default)
4441 
4443  std::cout << "*TEcnaRead::PrintComments()> Warnings and some comments on init will be printed" << std::endl;
4444 }
Int_t fFlagPrint
Definition: TEcnaRead.h:401
Int_t fCodePrintComments
Definition: TEcnaRead.h:402
void TEcnaRead::PrintNoComment ( )
void TEcnaRead::PrintWarnings ( )

Definition at line 4446 of file TEcnaRead.cc.

References gather_cfg::cout, fCodePrintWarnings, and fFlagPrint.

4447 {
4448 // Set flags to authorize printing of warnings
4449 
4451  std::cout << "*TEcnaRead::PrintWarnings()> Warnings will be printed" << std::endl;
4452 }
Int_t fCodePrintWarnings
Definition: TEcnaRead.h:402
Int_t fFlagPrint
Definition: TEcnaRead.h:401
TVectorD TEcnaRead::Read1DHisto ( const Int_t &  VecDim,
const TString &  UserQuantity,
const Int_t &  n1StexStin,
const Int_t &  i0StinEcha,
const Int_t &  n1Sample 
)

Definition at line 313 of file TEcnaRead.cc.

References TEcnaParHistos::BuildStandard1DHistoCodeY(), gather_cfg::cout, fCnaParHistos, fFileHeader, TEcnaHeader::fReqNbOfEvts, fTTBELL, i, and ReadSampleAdcValues().

315 {
316  Int_t VecDimTest = fFileHeader->fReqNbOfEvts;
317 
318  if( VecDim == VecDimTest )
319  {
320  TVectorD vec(VecDim);
321 
322  TString CallingMethod = "1D";
323  TString StandardQuantity = fCnaParHistos->BuildStandard1DHistoCodeY(CallingMethod, UserQuantity);
324 
325  if( StandardQuantity == "Adc" )
326  {
327  Int_t i0Sample = n1Sample-1;
328  vec = ReadSampleAdcValues(n1StexStin, i0StinEcha, i0Sample, VecDim);
329  }
330  else
331  {
332  for(Int_t i=0; i<VecDim; i++){vec(i) = (double_t)0.;}
333  std::cout <<"!TEcnaRead::Read1DHisto(...)> UserQuantity = " << UserQuantity
334  << "(StandardQuantity = " << StandardQuantity
335  << "). Wrong code, no file reading." << fTTBELL << std::endl;
336  }
337  return vec;
338  }
339  else
340  {
341  TVectorD vec(VecDim); for(Int_t i=0; i<VecDim; i++){vec(i) = (double_t)0.;}
342  std::cout <<"!TEcnaRead::Read1DHisto(...)> UserQuantity = " << UserQuantity
343  << ", VecDim = " << VecDim << "(VecDimTest = " << VecDimTest << ")"
344  << ". Wrong code or array dimension. No file reading." << fTTBELL << std::endl;
345  return vec;
346  }
347 } // end of Read1DHisto / ReadSampleAdcValues
int i
Definition: DBlmapReader.cc:9
TString BuildStandard1DHistoCodeY(const TString &, const TString &)
TVectorD ReadSampleAdcValues(const Int_t &, const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1248
Int_t fReqNbOfEvts
Definition: TEcnaHeader.h:55
TEcnaParHistos * fCnaParHistos
Definition: TEcnaRead.h:375
TString fTTBELL
Definition: TEcnaRead.h:365
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
TVectorD TEcnaRead::Read1DHisto ( const Int_t &  VecDim,
const TString &  UserQuantity,
const Int_t &  n1StexStin 
)

Definition at line 349 of file TEcnaRead.cc.

References TEcnaParHistos::BuildStandard1DHistoCodeY(), gather_cfg::cout, fCnaParHistos, fEcal, fTTBELL, i, TEcnaParEcal::MaxCrysInStin(), TEcnaParEcal::MaxSampADC(), ReadSampleMeans(), and ReadSampleSigmas().

350 {
351  Int_t VecDimTest = fEcal->MaxCrysInStin()*fEcal->MaxSampADC();
352  if( VecDim == VecDimTest )
353  {
354  TVectorD vec(VecDim);
355 
356  TString CallingMethod = "1D";
357  TString StandardQuantity = fCnaParHistos->BuildStandard1DHistoCodeY(CallingMethod, UserQuantity);
358 
359  if( StandardQuantity == "MSp" || StandardQuantity == "SSp" )
360  {
361  if( StandardQuantity == "MSp" ){vec = ReadSampleMeans(n1StexStin, VecDim);}
362  if( StandardQuantity == "SSp" ){vec = ReadSampleSigmas(n1StexStin, VecDim);}
363  }
364  else
365  {
366  for(Int_t i=0; i<VecDim; i++){vec(i) = (double_t)0.;}
367  std::cout <<"!TEcnaRead::Read1DHisto(...)> UserQuantity = " << UserQuantity
368  << ", StandardQuantity = " << StandardQuantity
369  << ". Wrong code, no file reading." << fTTBELL << std::endl;
370  }
371  return vec;
372  }
373  else
374  {
375  TVectorD vec(VecDim); for(Int_t i=0; i<VecDim; i++){vec(i) = (double_t)0.;}
376  std::cout <<"!TEcnaRead::Read1DHisto(...)> UserQuantity = " << UserQuantity
377  << ", VecDim = " << VecDim << "(VecDimTest = " << VecDimTest << ")"
378  << ". Wrong code or array dimension. No file reading." << fTTBELL << std::endl;
379  return vec;
380  }
381 } // end of Read1DHisto / ReadSampleMeans , ReadSampleSigmas
int i
Definition: DBlmapReader.cc:9
TString BuildStandard1DHistoCodeY(const TString &, const TString &)
TEcnaParHistos * fCnaParHistos
Definition: TEcnaRead.h:375
TVectorD ReadSampleSigmas(const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1507
TString fTTBELL
Definition: TEcnaRead.h:365
Int_t MaxCrysInStin()
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Int_t MaxSampADC()
TVectorD ReadSampleMeans(const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1335
TVectorD TEcnaRead::Read1DHisto ( const Int_t &  VecDim,
const TString &  UserQuantity,
const TString &  UserDetector 
)

Definition at line 383 of file TEcnaRead.cc.

References TEcnaParHistos::BuildStandard1DHistoCodeY(), TEcnaParHistos::BuildStandardDetectorCode(), gather_cfg::cout, fCnaParHistos, fEcal, fFileHeader, TEcnaHeader::fFirstReqEvtNumber, FileParameters(), TEcnaHeader::fLastReqEvtNumber, TEcnaHeader::fNbOfSamples, fPathRoot, TEcnaHeader::fReqNbOfEvts, TEcnaHeader::fRunNumber, TEcnaHeader::fStartDate, TEcnaHeader::fStopDate, fTTBELL, TEcnaHeader::fTypAna, GetStartDate(), GetStartTime(), GetStopDate(), GetStopTime(), GetTechReadCode(), i, LookAtRootFile(), TEcnaParEcal::MaxCrysEcnaInStex(), TEcnaParEcal::MaxStexInStas(), TEcnaParEcal::MaxStinEcnaInStas(), TEcnaParEcal::MaxStinEcnaInStex(), ReadAverageHighFrequencyNoise(), ReadAverageLowFrequencyNoise(), ReadAverageMeanCorrelationsBetweenSamples(), ReadAverageNumberOfEvents(), ReadAveragePedestals(), ReadAverageSigmaOfCorrelationsBetweenSamples(), ReadAverageTotalNoise(), ReadHighFrequencyNoise(), ReadLowFrequencyNoise(), ReadMeanCorrelationsBetweenSamples(), ReadNumberOfEvents(), ReadPedestals(), ReadSigmaOfCorrelationsBetweenSamples(), and ReadTotalNoise().

384 {
385  // VecDim = fEcal->MaxCrysEcnaInStex if StandardDetector = "SM" or "Dee"
386  // VecDim = fEcal->MaxStinEcnaInStas if StandardDetector = "EB" or "EE"
387 
388  Int_t VecDimTest = 1;
389  TString StandardDetector = fCnaParHistos->BuildStandardDetectorCode(UserDetector);
390  if( StandardDetector == "SM" || StandardDetector == "Dee"){VecDimTest = fEcal->MaxCrysEcnaInStex();}
391  if( StandardDetector == "EB" || StandardDetector == "EE" ){VecDimTest = fEcal->MaxStinEcnaInStas();}
392 
393  if( VecDim == VecDimTest )
394  {
395  TVectorD vec(VecDim);
396 
397  TString CallingMethod = "1D";
398  TString StandardQuantity = "?";
399  StandardQuantity = fCnaParHistos->BuildStandard1DHistoCodeY(CallingMethod, UserQuantity);
400  TString rTechReadCode = GetTechReadCode(StandardQuantity, StandardDetector);
401 
402  if( rTechReadCode != "?" )
403  {
404  if( StandardDetector == "SM" || StandardDetector == "Dee")
405  {
406  if( rTechReadCode == "NOEStex" ){vec = ReadNumberOfEvents(fEcal->MaxCrysEcnaInStex());}
407  if( rTechReadCode == "PedStex" ){vec = ReadPedestals(fEcal->MaxCrysEcnaInStex());}
408  if( rTechReadCode == "TNoStex" ){vec = ReadTotalNoise(fEcal->MaxCrysEcnaInStex());}
409  if( rTechReadCode == "LFNStex" ){vec = ReadLowFrequencyNoise(fEcal->MaxCrysEcnaInStex());}
410  if( rTechReadCode == "HFNStex" ){vec = ReadHighFrequencyNoise(fEcal->MaxCrysEcnaInStex());}
411  if( rTechReadCode == "MCsStex" ){vec = ReadMeanCorrelationsBetweenSamples(fEcal->MaxCrysEcnaInStex());}
412  if( rTechReadCode == "SCsStex" ){vec = ReadSigmaOfCorrelationsBetweenSamples(fEcal->MaxCrysEcnaInStex());}
413  }
414 
415  if( StandardDetector == "EB" || StandardDetector == "EE" )
416  {
417  TVectorD vecStex(fEcal->MaxStinEcnaInStex());
418  for(Int_t i=0; i<fEcal->MaxStinEcnaInStex(); i++){vecStex(i)=(Double_t)0.;}
419 
420  time_t xStartTime = GetStartTime();
421  time_t xStopTime = GetStopTime();
422  TString xStartDate = "sStartDate";
423  TString xStopDate = "sStopDate";
424 
425  for(Int_t i0Stex=0; i0Stex<fEcal->MaxStexInStas(); i0Stex++)
426  {
427  Int_t n1Stex = i0Stex+1;
431  n1Stex, fPathRoot);
432 
433  if( LookAtRootFile() == kTRUE )
434  {
435  if( rTechReadCode == "NOEStas" ){vecStex = ReadAverageNumberOfEvents(fEcal->MaxStinEcnaInStex());}
436  if( rTechReadCode == "PedStas" ){vecStex = ReadAveragePedestals(fEcal->MaxStinEcnaInStex());}
437  if( rTechReadCode == "TNoStas" ){vecStex = ReadAverageTotalNoise(fEcal->MaxStinEcnaInStex());}
438  if( rTechReadCode == "LFNStas" ){vecStex = ReadAverageLowFrequencyNoise(fEcal->MaxStinEcnaInStex());}
439  if( rTechReadCode == "HFNStas" ){vecStex = ReadAverageHighFrequencyNoise(fEcal->MaxStinEcnaInStex());}
440  if( rTechReadCode == "MCsStas" )
442  if( rTechReadCode == "SCsStas" )
444 
445  for(Int_t i0Stin=0; i0Stin<fEcal->MaxStinEcnaInStex(); i0Stin++)
446  {
447  vec(fEcal->MaxStinEcnaInStex()*i0Stex+i0Stin) = vecStex(i0Stin);
448  }
449 
450  //............ Get start and stop date for the Stas (Stas = EB or EE)
451  if( i0Stex == 0 )
452  {
453  xStartTime = GetStartTime();
454  xStopTime = GetStopTime();
455  xStartDate = GetStartDate();
456  xStopDate = GetStopDate();
457  }
458  time_t cStartTime = GetStartTime();
459  time_t cStopTime = GetStopTime();
460  TString cStartDate = GetStartDate();
461  TString cStopDate = GetStopDate();
462 
463  if( cStartTime < xStartTime ){xStartTime = cStartTime; xStartDate = cStartDate;}
464  if( cStopTime > xStopTime ){xStopTime = cStopTime; xStopDate = cStopDate;}
465 
466  fFileHeader->fStartDate = xStartDate;
467  fFileHeader->fStopDate = xStopDate;
468  }
469  else
470  {
471  std::cout << "!TEcnaRead::Read1DHisto(const TString&, const TString&)> *ERROR* =====> "
472  << " ROOT file not found" << fTTBELL << std::endl;
473  }
474  }
475  }
476  }
477  else
478  {
479  for(Int_t i=0; i<VecDim; i++){vec(i) = (double_t)0.;}
480  std::cout <<"!TEcnaRead::Read1DHisto(...)> UserQuantity = " << UserQuantity
481  << ", UserDetector = " << UserDetector
482  << ". Wrong code(s). No file reading." << fTTBELL << std::endl;
483  }
484  return vec;
485  }
486  else
487  {
488  TVectorD vec(VecDim); for(Int_t i=0; i<VecDim; i++){vec(i) = (double_t)0.;}
489  std::cout <<"!TEcnaRead::Read1DHisto(...)> UserQuantity = " << UserQuantity
490  << ", UserDetector = " << UserDetector << ", VecDim = " << VecDim
491  << ". Wrong code(s) or array dimension. No file reading." << fTTBELL << std::endl;
492  return vec;
493  }
494 } // end of Read1DHisto / Stex and Stas histos
int i
Definition: DBlmapReader.cc:9
TVectorD ReadLowFrequencyNoise(const Int_t &)
Definition: TEcnaRead.cc:2049
TVectorD ReadAverageHighFrequencyNoise(const Int_t &)
Definition: TEcnaRead.cc:2610
TString BuildStandard1DHistoCodeY(const TString &, const TString &)
TString fPathRoot
Definition: TEcnaRead.h:396
TString GetStartDate()
Definition: TEcnaRead.cc:756
TVectorD ReadSigmaOfCorrelationsBetweenSamples(const Int_t &)
Definition: TEcnaRead.cc:2211
TVectorD ReadAverageNumberOfEvents(const Int_t &)
Definition: TEcnaRead.cc:2296
time_t GetStopTime()
Definition: TEcnaRead.cc:755
Int_t fReqNbOfEvts
Definition: TEcnaHeader.h:55
TEcnaParHistos * fCnaParHistos
Definition: TEcnaRead.h:375
Int_t fNbOfSamples
Definition: TEcnaHeader.h:51
TString fStopDate
Definition: TEcnaHeader.h:61
TVectorD ReadAverageTotalNoise(const Int_t &)
Definition: TEcnaRead.cc:2444
TString BuildStandardDetectorCode(const TString &)
TString fTTBELL
Definition: TEcnaRead.h:365
TVectorD ReadTotalNoise(const Int_t &)
Definition: TEcnaRead.cc:1889
TVectorD ReadAveragePedestals(const Int_t &)
Definition: TEcnaRead.cc:2361
TString GetStopDate()
Definition: TEcnaRead.cc:757
TVectorD ReadPedestals(const Int_t &)
Definition: TEcnaRead.cc:1807
TString fStartDate
Definition: TEcnaHeader.h:60
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
TVectorD ReadHighFrequencyNoise(const Int_t &)
Definition: TEcnaRead.cc:2130
TString fTypAna
Definition: TEcnaHeader.h:50
Int_t MaxStexInStas()
Int_t fFirstReqEvtNumber
Definition: TEcnaHeader.h:53
TVectorD ReadAverageLowFrequencyNoise(const Int_t &)
Definition: TEcnaRead.cc:2527
void FileParameters(const TString &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaRead.cc:649
TString GetTechReadCode(const TString &, const TString &)
Definition: TEcnaRead.cc:602
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Int_t MaxCrysEcnaInStex()
Int_t fLastReqEvtNumber
Definition: TEcnaHeader.h:54
Int_t MaxStinEcnaInStas()
TVectorD ReadMeanCorrelationsBetweenSamples(const Int_t &)
Definition: TEcnaRead.cc:1968
Bool_t LookAtRootFile()
Definition: TEcnaRead.cc:922
Int_t MaxStinEcnaInStex()
Int_t fRunNumber
Definition: TEcnaHeader.h:52
TVectorD ReadAverageMeanCorrelationsBetweenSamples(const Int_t &)
Definition: TEcnaRead.cc:2693
TVectorD ReadAverageSigmaOfCorrelationsBetweenSamples(const Int_t &)
Definition: TEcnaRead.cc:2777
time_t GetStartTime()
Definition: TEcnaRead.cc:754
TVectorD ReadNumberOfEvents(const Int_t &)
Definition: TEcnaRead.cc:1662
TVectorD TEcnaRead::ReadAverageHighFrequencyNoise ( const Int_t &  VecDim)

Definition at line 2610 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypAvHfn, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, TEcnaParEcal::MaxStinEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

Referenced by Read1DHisto(), TEcnaHistos::ViewHisto(), and TEcnaHistos::ViewStas().

2611 {
2612 //Read the expectation values of the Pedestals
2613 //for all the Stins of a given Stex
2614 //in the ROOT file and return them in a TVectorD
2615 //
2616 //Possible values for VecDim: (1) VecDim = fEcal->MaxStinEcnaInStex()
2617 
2618  TestArrayDimH1("ReadAverageHighFrequencyNoise", "fEcal->MaxStinEcnaInStex()", fEcal->MaxStinEcnaInStex(), VecDim);
2619 
2620  TVectorD vec(VecDim);
2621  for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
2622 
2623  CnaResultTyp typ = cTypAvHfn; // averaged High FrequencyNoise type
2624  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
2625  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
2626 
2627  Bool_t ok_open = kFALSE;
2628  Bool_t ok_read = kFALSE;
2629 
2630  TString FileNameLong = fCnaWrite->GetRootFileName();
2631  Bool_t allowed_to_read = kFALSE;
2632 
2633 // if ( fOpenRootFile )
2634 // {
2635 // std::cout << "!TEcnaRead::ReadAverageHighFrequencyNoise(...) *** ERROR ***> "
2636 // << "Reading on file already open." << fTTBELL << std::endl;
2637 // }
2638 
2639  if( FileNameLong == fCurrentlyOpenFileName )
2640  {
2641  allowed_to_read = kTRUE;
2642  }
2643  else
2644  {
2645  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
2646  ok_open = OpenRootFile(file_name, "READ");
2647 
2648  if(ok_open)
2649  {
2650  allowed_to_read = kTRUE;
2651  }
2652  else
2653  {
2654  std::cout << "!TEcnaRead::ReadAverageHighFrequencyNoise(...) *** ERROR ***> Open .root file failed for file: "
2655  << file_name << fTTBELL << std::endl;
2656  allowed_to_read = kFALSE;
2657  ok_read = kFALSE;
2658  }
2659  }
2660 
2661  if( allowed_to_read == kTRUE )
2662  {
2663  Int_t i_zero = 0;
2664  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
2665 
2666  if ( ok_read == kTRUE )
2667  {
2668  fDataExist = kTRUE;
2669  for ( Int_t i0StexStin = 0; i0StexStin < VecDim; i0StexStin++)
2670  {
2671  vec(i0StexStin) = gCnaRootFile->fCnaIndivResult->fMatHis(i_zero, i0StexStin);
2672  }
2673  }
2674  else
2675  {
2676  fDataExist = kFALSE;
2677  std::cout << "!TEcnaRead::ReadAverageHighFrequencyNoise(...) *** ERROR ***> "
2678  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
2679  << " -> quantity: <"
2680  << GetTypeOfQuantity(typ) << "> not available in file."
2681  << fTTBELL << std::endl;
2682  }
2683  CloseRootFile(file_name);
2684  }
2685  return vec;
2686 } // end of ReadAverageHighFrequencyNoise
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t MaxStinEcnaInStex()
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TVectorD TEcnaRead::ReadAverageLowFrequencyNoise ( const Int_t &  VecDim)

Definition at line 2527 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypAvLfn, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, TEcnaParEcal::MaxStinEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

Referenced by Read1DHisto(), TEcnaHistos::ViewHisto(), and TEcnaHistos::ViewStas().

2528 {
2529 //Read the expectation values of the Pedestals
2530 //for all the Stins of a given Stex
2531 //in the ROOT file and return them in a TVectorD
2532 //
2533 //Possible values for VecDim: (1) VecDim = fEcal->MaxStinEcnaInStex()
2534 
2535  TestArrayDimH1("ReadAverageLowFrequencyNoise", "fEcal->MaxStinEcnaInStex()", fEcal->MaxStinEcnaInStex(), VecDim);
2536 
2537  TVectorD vec(VecDim);
2538  for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
2539 
2540  CnaResultTyp typ = cTypAvLfn; // averaged Low FrequencyNoise type
2541  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
2542  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
2543 
2544  Bool_t ok_open = kFALSE;
2545  Bool_t ok_read = kFALSE;
2546 
2547  TString FileNameLong = fCnaWrite->GetRootFileName();
2548  Bool_t allowed_to_read = kFALSE;
2549 
2550 // if ( fOpenRootFile )
2551 // {
2552 // std::cout << "!TEcnaRead::ReadAverageLowFrequencyNoise(...) *** ERROR ***> "
2553 // << "Reading on file already open." << fTTBELL << std::endl;
2554 // }
2555 
2556  if( FileNameLong == fCurrentlyOpenFileName )
2557  {
2558  allowed_to_read = kTRUE;
2559  }
2560  else
2561  {
2562  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
2563  ok_open = OpenRootFile(file_name, "READ");
2564 
2565  if(ok_open)
2566  {
2567  allowed_to_read = kTRUE;
2568  }
2569  else
2570  {
2571  std::cout << "!TEcnaRead::ReadAverageLowFrequencyNoise(...) *** ERROR ***> Open .root file failed for file: "
2572  << file_name << fTTBELL << std::endl;
2573  allowed_to_read = kFALSE;
2574  ok_read = kFALSE;
2575  }
2576  }
2577 
2578  if( allowed_to_read == kTRUE )
2579  {
2580  Int_t i_zero = 0;
2581  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
2582 
2583  if ( ok_read == kTRUE )
2584  {
2585  fDataExist = kTRUE;
2586  for ( Int_t i0StexStin = 0; i0StexStin < VecDim; i0StexStin++)
2587  {
2588  vec(i0StexStin) = gCnaRootFile->fCnaIndivResult->fMatHis(i_zero, i0StexStin);
2589  }
2590  }
2591  else
2592  {
2593  fDataExist = kFALSE;
2594  std::cout << "!TEcnaRead::ReadAverageLowFrequencyNoise(...) *** ERROR ***> "
2595  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
2596  << " -> quantity: <"
2597  << GetTypeOfQuantity(typ) << "> not available in file."
2598  << fTTBELL << std::endl;
2599  }
2600  CloseRootFile(file_name);
2601  }
2602  return vec;
2603 } // end of ReadAverageLowFrequencyNoise
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t MaxStinEcnaInStex()
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TVectorD TEcnaRead::ReadAverageMeanCorrelationsBetweenSamples ( const Int_t &  VecDim)

Definition at line 2693 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypAvMeanCorss, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, TEcnaParEcal::MaxStinEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

Referenced by Read1DHisto(), TEcnaHistos::ViewHisto(), and TEcnaHistos::ViewStas().

2694 {
2695 //Read the expectation values of the Pedestals
2696 //for all the Stins of a given Stex
2697 //in the ROOT file and return them in a TVectorD
2698 //
2699 //Possible values for VecDim: (1) VecDim = fEcal->MaxStinEcnaInStex()
2700 
2701  TestArrayDimH1("ReadAverageMeanCorrelationsBetweenSamples", "fEcal->MaxStinEcnaInStex()",
2702  fEcal->MaxStinEcnaInStex(), VecDim);
2703 
2704  TVectorD vec(VecDim);
2705  for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
2706 
2707  CnaResultTyp typ = cTypAvMeanCorss; // averaged MeanCorrelationsBetweenSamples type
2708  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
2709  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
2710 
2711  Bool_t ok_open = kFALSE;
2712  Bool_t ok_read = kFALSE;
2713 
2714  TString FileNameLong = fCnaWrite->GetRootFileName();
2715  Bool_t allowed_to_read = kFALSE;
2716 
2717 // if ( fOpenRootFile )
2718 // {
2719 // std::cout << "!TEcnaRead::ReadAverageMeanCorrelationsBetweenSamples(...) *** ERROR ***> "
2720 // << "Reading on file already open." << fTTBELL << std::endl;
2721 // }
2722 
2723  if( FileNameLong == fCurrentlyOpenFileName )
2724  {
2725  allowed_to_read = kTRUE;
2726  }
2727  else
2728  {
2729  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
2730  ok_open = OpenRootFile(file_name, "READ");
2731 
2732  if(ok_open)
2733  {
2734  allowed_to_read = kTRUE;
2735  }
2736  else
2737  {
2738  std::cout << "!TEcnaRead::ReadAverageMeanCorrelationsBetweenSamples(...) *** ERROR ***> Open .root file failed for file: "
2739  << file_name << fTTBELL << std::endl;
2740  allowed_to_read = kFALSE;
2741  ok_read = kFALSE;
2742  }
2743  }
2744 
2745  if( allowed_to_read == kTRUE )
2746  {
2747  Int_t i_zero = 0;
2748  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
2749 
2750  if ( ok_read == kTRUE )
2751  {
2752  fDataExist = kTRUE;
2753  for ( Int_t i0StexStin = 0; i0StexStin < VecDim; i0StexStin++)
2754  {
2755  vec(i0StexStin) = gCnaRootFile->fCnaIndivResult->fMatHis(i_zero, i0StexStin);
2756  }
2757  }
2758  else
2759  {
2760  fDataExist = kFALSE;
2761  std::cout << "!TEcnaRead::ReadAverageMeanCorrelationsBetweenSamples(...) *** ERROR ***> "
2762  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
2763  << " -> quantity: <"
2764  << GetTypeOfQuantity(typ) << "> not available in file."
2765  << fTTBELL << std::endl;
2766  }
2767  CloseRootFile(file_name);
2768  }
2769  return vec;
2770 } // end of ReadAverageMeanCorrelationsBetweenSamples
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t MaxStinEcnaInStex()
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TVectorD TEcnaRead::ReadAverageNumberOfEvents ( const Int_t &  VecDim)

Definition at line 2296 of file TEcnaRead.cc.

References fEcal, fEcalNumbering, fFileHeader, TEcnaHeader::fStex, fStexName, TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha(), i, TEcnaParEcal::MaxCrysEcnaInStex(), TEcnaParEcal::MaxCrysInStin(), TEcnaNumbering::MaxCrysInStinEcna(), TEcnaParEcal::MaxStinEcnaInStex(), ReadNumberOfEvents(), and TestArrayDimH1().

Referenced by Read1DHisto(), TEcnaHistos::ViewHisto(), and TEcnaHistos::ViewStas().

2297 {
2298 //Read the numbers of found events in the data
2299 //for the crystals and for the samples for all the Stin's in the Stex
2300 //in the ROOT file, compute the average on the samples and on the crystals
2301 //and return them in a TVectorD(MaxStinEcnaInStex)
2302 //
2303 //Possible values for VecDim: (1) VecDim = fEcal->MaxStinEcnaInStex()
2304 
2305  TestArrayDimH1("ReadAverageNumberOfEvents", "fEcal->MaxStinEcnaInStex()", fEcal->MaxStinEcnaInStex(), VecDim);
2306 
2307  TVectorD vecAverage(VecDim);
2308  for(Int_t i=0; i<VecDim; i++){vecAverage(i)=(Double_t)0.;}
2309 
2310  TVectorD vecMean(fEcal->MaxCrysEcnaInStex());
2311  for(Int_t i=0; i<fEcal->MaxCrysEcnaInStex(); i++){vecMean(i)=(Double_t)0.;}
2312 
2314 
2315  for(Int_t i0StexStin=0; i0StexStin<VecDim; i0StexStin++)
2316  {
2317  vecAverage(i0StexStin) = 0;
2318  //.... average value over the crystals
2319  for(Int_t i0StinEcha=0; i0StinEcha<fEcal->MaxCrysInStin(); i0StinEcha++)
2320  {
2321  Int_t n1StexStin = i0StexStin+1;
2322  Int_t i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(n1StexStin, i0StinEcha);
2323 
2324  if( fStexName == "SM" )
2325  {vecAverage(i0StexStin) += vecMean(i0StexEcha);}
2326 
2327  if( fStexName == "Dee" )
2328  {
2329  //--------- EE --> Special translation for mixed SCEcna (29 and 32)
2330  // Xtal 11 of SCEcna 29 -> Xtal 11 of SCEcna 10
2331  // Xtal 11 of SCEcna 32 -> Xtal 11 of SCEcna 11
2332  Int_t n1StinEcha = i0StinEcha+1;
2333  if( n1StexStin == 10 && n1StinEcha == 11 )
2334  {i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(29, i0StinEcha);}
2335  if( n1StexStin == 11 && n1StinEcha == 11 )
2336  {i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(32, i0StinEcha);}
2337  if( !( (n1StexStin == 29 || n1StexStin == 32) && n1StinEcha == 11 ) )
2338  {vecAverage(i0StexStin) += vecMean(i0StexEcha);}
2339  }
2340  }
2341 
2342  Double_t xdivis = (Double_t)0.;
2343  if( fStexName == "SM" )
2344  {xdivis = (Double_t)fEcal->MaxCrysInStin();}
2345  if( fStexName == "Dee" )
2346  {
2347  Int_t n1StexStin = i0StexStin+1;
2348  xdivis = (Double_t)fEcalNumbering->MaxCrysInStinEcna(fFileHeader->fStex, n1StexStin, "TEcnaRead");
2349  }
2350 
2351  vecAverage(i0StexStin) = vecAverage(i0StexStin)/xdivis;
2352  }
2353  return vecAverage;
2354 }
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
Int_t fStex
Definition: TEcnaHeader.h:56
TString fStexName
Definition: TEcnaRead.h:381
Int_t MaxCrysInStin()
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
Int_t MaxCrysInStinEcna(const Int_t &, const Int_t &, const TString &)
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Int_t MaxCrysEcnaInStex()
TEcnaNumbering * fEcalNumbering
Definition: TEcnaRead.h:374
Int_t Get0StexEchaFrom1StexStinAnd0StinEcha(const Int_t &, const Int_t &)
Int_t MaxStinEcnaInStex()
TVectorD ReadNumberOfEvents(const Int_t &)
Definition: TEcnaRead.cc:1662
TVectorD TEcnaRead::ReadAveragePedestals ( const Int_t &  VecDim)

Definition at line 2361 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypAvPed, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, TEcnaParEcal::MaxStinEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

Referenced by Read1DHisto(), TEcnaHistos::ViewHisto(), and TEcnaHistos::ViewStas().

2362 {
2363 //Read the expectation values of the Pedestals
2364 //for all the Stins of a given Stex
2365 //in the ROOT file and return them in a TVectorD
2366 //
2367 //Possible values for VecDim: (1) VecDim = fEcal->MaxStinEcnaInStex()
2368 
2369  TestArrayDimH1("ReadAveragePedestals", "fEcal->MaxStinEcnaInStex()", fEcal->MaxStinEcnaInStex(), VecDim);
2370 
2371  TVectorD vec(VecDim);
2372  for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
2373 
2374  CnaResultTyp typ = cTypAvPed; // averaged pedestals type
2375  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
2376  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
2377 
2378  Bool_t ok_open = kFALSE;
2379  Bool_t ok_read = kFALSE;
2380 
2381  TString FileNameLong = fCnaWrite->GetRootFileName();
2382  Bool_t allowed_to_read = kFALSE;
2383 
2384 // if ( fOpenRootFile )
2385 // {
2386 // std::cout << "!TEcnaRead::ReadAveragePedestals(...) *** ERROR ***> "
2387 // << "Reading on file already open." << fTTBELL << std::endl;
2388 // }
2389 
2390  if( FileNameLong == fCurrentlyOpenFileName )
2391  {
2392  allowed_to_read = kTRUE;
2393  }
2394  else
2395  {
2396  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
2397  ok_open = OpenRootFile(file_name, "READ");
2398 
2399  if(ok_open)
2400  {
2401  allowed_to_read = kTRUE;
2402  }
2403  else
2404  {
2405  std::cout << "!TEcnaRead::ReadAveragePedestals(...) *** ERROR ***> Open .root file failed for file: "
2406  << file_name << fTTBELL << std::endl;
2407  allowed_to_read = kFALSE;
2408  ok_read = kFALSE;
2409  }
2410  }
2411 
2412  if( allowed_to_read == kTRUE )
2413  {
2414  Int_t i_zero = 0;
2415  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
2416 
2417  if ( ok_read == kTRUE )
2418  {
2419  fDataExist = kTRUE;
2420  for(Int_t i0StexStin=0; i0StexStin<VecDim; i0StexStin++)
2421  {
2422  vec(i0StexStin) = gCnaRootFile->fCnaIndivResult->fMatHis(i_zero, i0StexStin);
2423  }
2424  }
2425  else
2426  {
2427  fDataExist = kFALSE;
2428  std::cout << "!TEcnaRead::ReadAveragePedestals(...) *** ERROR ***> "
2429  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
2430  << " -> quantity: <"
2431  << GetTypeOfQuantity(typ) << "> not available in file."
2432  << fTTBELL << std::endl;
2433  }
2434  CloseRootFile(file_name);
2435  }
2436  return vec;
2437 } // end of ReadAveragePedestals
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t MaxStinEcnaInStex()
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TVectorD TEcnaRead::ReadAverageSigmaOfCorrelationsBetweenSamples ( const Int_t &  VecDim)

Definition at line 2777 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypAvSigCorss, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, TEcnaParEcal::MaxStinEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

Referenced by Read1DHisto(), TEcnaHistos::ViewHisto(), and TEcnaHistos::ViewStas().

2778 {
2779 //Read the expectation values of the Pedestals
2780 //for all the Stins of a given Stex
2781 //in the ROOT file and return them in a TVectorD
2782 //
2783 //Possible values for VecDim: (1) VecDim = fEcal->MaxStinEcnaInStex()
2784 
2785  TestArrayDimH1("ReadAverageSigmaOfCorrelationsBetweenSamples", "fEcal->MaxStinEcnaInStex()",
2786  fEcal->MaxStinEcnaInStex(), VecDim);
2787 
2788  TVectorD vec(VecDim);
2789  for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
2790 
2791  CnaResultTyp typ = cTypAvSigCorss; // averaged SigmaOfCorrelationsBetweenSamples type
2792  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
2793  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
2794 
2795  Bool_t ok_open = kFALSE;
2796  Bool_t ok_read = kFALSE;
2797 
2798  TString FileNameLong = fCnaWrite->GetRootFileName();
2799  Bool_t allowed_to_read = kFALSE;
2800 
2801 // if ( fOpenRootFile )
2802 // {
2803 // std::cout << "!TEcnaRead::ReadAverageSigmaOfCorrelationsBetweenSamples(...) *** ERROR ***> "
2804 // << "Reading on file already open." << fTTBELL << std::endl;
2805 // }
2806 
2807  if( FileNameLong == fCurrentlyOpenFileName )
2808  {
2809  allowed_to_read = kTRUE;
2810  }
2811  else
2812  {
2813  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
2814  ok_open = OpenRootFile(file_name, "READ");
2815 
2816  if(ok_open)
2817  {
2818  allowed_to_read = kTRUE;
2819  }
2820  else
2821  {
2822  std::cout << "!TEcnaRead::ReadAverageSigmaOfCorrelationsBetweenSamples(...) *** ERROR ***> Open .root file failed for file: "
2823  << file_name << fTTBELL << std::endl;
2824  allowed_to_read = kFALSE;
2825  ok_read = kFALSE;
2826  }
2827  }
2828 
2829  if( allowed_to_read == kTRUE )
2830  {
2831  Int_t i_zero = 0;
2832  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
2833 
2834  if ( ok_read == kTRUE )
2835  {
2836  fDataExist = kTRUE;
2837  for ( Int_t i0StexStin = 0; i0StexStin < VecDim; i0StexStin++)
2838  {
2839  vec(i0StexStin) = gCnaRootFile->fCnaIndivResult->fMatHis(i_zero, i0StexStin);
2840  }
2841  }
2842  else
2843  {
2844  fDataExist = kFALSE;
2845  std::cout << "!TEcnaRead::ReadAverageSigmaOfCorrelationsBetweenSamples(...) *** ERROR ***> "
2846  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
2847  << " -> quantity: <"
2848  << GetTypeOfQuantity(typ) << "> not available in file."
2849  << fTTBELL << std::endl;
2850  }
2851  CloseRootFile(file_name);
2852  }
2853  return vec;
2854 } // end of ReadAverageSigmaOfCorrelationsBetweenSamples
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t MaxStinEcnaInStex()
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TVectorD TEcnaRead::ReadAverageTotalNoise ( const Int_t &  VecDim)

Definition at line 2444 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypAvTno, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, TEcnaParEcal::MaxStinEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

Referenced by Read1DHisto(), TEcnaHistos::ViewHisto(), and TEcnaHistos::ViewStas().

2445 {
2446 //Read the expectation values of the Total Noise
2447 //for all the Stins of a given Stex
2448 //in the ROOT file and return them in a TVectorD
2449 //
2450 //Possible values for VecDim: (1) VecDim = fEcal->MaxStinEcnaInStex()
2451 
2452  TestArrayDimH1("ReadAverageTotalNoise", "fEcal->MaxStinEcnaInStex()", fEcal->MaxStinEcnaInStex(), VecDim);
2453 
2454  TVectorD vec(VecDim);
2455  for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
2456 
2457  CnaResultTyp typ = cTypAvTno; // averaged Total Noise type
2458  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
2459  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
2460 
2461  Bool_t ok_open = kFALSE;
2462  Bool_t ok_read = kFALSE;
2463 
2464  TString FileNameLong = fCnaWrite->GetRootFileName();
2465  Bool_t allowed_to_read = kFALSE;
2466 
2467 // if ( fOpenRootFile )
2468 // {
2469 // std::cout << "!TEcnaRead::ReadAverageTotalNoise(...) *** ERROR ***> "
2470 // << "Reading on file already open." << fTTBELL << std::endl;
2471 // }
2472 
2473  if( FileNameLong == fCurrentlyOpenFileName )
2474  {
2475  allowed_to_read = kTRUE;
2476  }
2477  else
2478  {
2479  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
2480  ok_open = OpenRootFile(file_name, "READ");
2481 
2482  if(ok_open)
2483  {
2484  allowed_to_read = kTRUE;
2485  }
2486  else
2487  {
2488  std::cout << "!TEcnaRead::ReadAverageTotalNoise(...) *** ERROR ***> Open .root file failed for file: "
2489  << file_name << fTTBELL << std::endl;
2490  allowed_to_read = kFALSE;
2491  ok_read = kFALSE;
2492  }
2493  }
2494 
2495  if( allowed_to_read == kTRUE )
2496  {
2497  Int_t i_zero = 0;
2498  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
2499 
2500  if ( ok_read == kTRUE )
2501  {
2502  fDataExist = kTRUE;
2503  for ( Int_t i0StexStin = 0; i0StexStin < VecDim; i0StexStin++)
2504  {
2505  vec(i0StexStin) = gCnaRootFile->fCnaIndivResult->fMatHis(i_zero, i0StexStin);
2506  }
2507  }
2508  else
2509  {
2510  fDataExist = kFALSE;
2511  std::cout << "!TEcnaRead::ReadAverageTotalNoise(...) *** ERROR ***> "
2512  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
2513  << " -> quantity: <"
2514  << GetTypeOfQuantity(typ) << "> not available in file."
2515  << fTTBELL << std::endl;
2516  }
2517  CloseRootFile(file_name);
2518  }
2519  return vec;
2520 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t MaxStinEcnaInStex()
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TMatrixD TEcnaRead::ReadCorrelationsBetweenSamples ( const Int_t &  n1StexStin,
const Int_t &  i0StinEcha,
const Int_t &  MatDim 
)

Definition at line 2956 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypCorCss, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcalNumbering, fFileHeader, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatMat, TEcnaHeader::fNbOfSamples, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha(), TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, j, OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH2().

Referenced by ReadMatrix(), TEcnaHistos::ViewMatrix(), and TEcnaHistos::ViewStin().

2958 {
2959 //Read the (sample,sample) correlations for a given channel
2960 //in ROOT file and return them in a TMatrixD
2961 //
2962 //Possible values for MatDim: (1) MatDim = fFileHeader->fNbOfSamples
2963 
2964  TestArrayDimH2("ReadCorrelationsBetweenSamples", "fFileHeader->fNbOfSamples", fFileHeader->fNbOfSamples, MatDim);
2965 
2966  Int_t i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(n1StexStin, i0StinEcha);
2967  TMatrixD mat(MatDim, MatDim);
2968  for(Int_t i=0; i- MatDim <0; i++)
2969  {for(Int_t j=0; j-MatDim<0; j++){mat(i,j)=(Double_t)0.;}}
2970 
2971  CnaResultTyp typ = cTypCorCss;
2972  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
2973  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
2974 
2975  Bool_t ok_open = kFALSE;
2976  Bool_t ok_read = kFALSE;
2977 
2978  TString FileNameLong = fCnaWrite->GetRootFileName();
2979  Bool_t allowed_to_read = kFALSE;
2980 
2981 // if ( fOpenRootFile )
2982 // {
2983 // std::cout << "!TEcnaRead::ReadCorrelationsBetweenSamples(...) *** ERROR ***> "
2984 // << "Reading on file already open." << fTTBELL << std::endl;
2985 // }
2986 
2987  if( FileNameLong == fCurrentlyOpenFileName )
2988  {
2989  allowed_to_read = kTRUE;
2990  }
2991  else
2992  {
2993  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
2994  ok_open = OpenRootFile(file_name, "READ");
2995 
2996  if(ok_open)
2997  {
2998  allowed_to_read = kTRUE;
2999  }
3000  else
3001  {
3002  std::cout << "!TEcnaRead::ReadCorrelationsBetweenSamples(...) *** ERROR ***> Open .root file failed for file: "
3003  << file_name << fTTBELL << std::endl;
3004  allowed_to_read = kFALSE;
3005  ok_read = kFALSE;
3006  }
3007  }
3008 
3009  if( allowed_to_read == kTRUE )
3010  {
3011  ok_read = gCnaRootFile->ReadElement(typ, i0StexEcha);
3012 
3013  if ( ok_read == kTRUE )
3014  {
3015  fDataExist = kTRUE;
3016  for ( Int_t i_samp = 0; i_samp - MatDim < 0; i_samp++){
3017  for ( Int_t j_samp = 0; j_samp - MatDim < 0; j_samp++){
3018  mat(i_samp, j_samp) = gCnaRootFile->fCnaIndivResult->fMatMat(i_samp,j_samp);}}
3019  }
3020  else
3021  {
3022  fDataExist = kFALSE;
3023  std::cout << "!TEcnaRead::ReadCorrelationsBetweenSamples() *** ERROR ***> "
3024  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
3025  << " -> quantity: <"
3026  << GetTypeOfQuantity(typ) << "> not available in file."
3027  << fTTBELL << std::endl;
3028  }
3029  CloseRootFile(file_name);
3030  }
3031  return mat;
3032 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
TEcnaNArrayD fMatMat
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
Int_t fNbOfSamples
Definition: TEcnaHeader.h:51
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TString fTTBELL
Definition: TEcnaRead.h:365
int j
Definition: DBlmapReader.cc:9
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
TEcnaNumbering * fEcalNumbering
Definition: TEcnaRead.h:374
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t Get0StexEchaFrom1StexStinAnd0StinEcha(const Int_t &, const Int_t &)
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
void TestArrayDimH2(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1100
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TMatrixD TEcnaRead::ReadCovariancesBetweenSamples ( const Int_t &  n1StexStin,
const Int_t &  i0StinEcha,
const Int_t &  MatDim 
)

Definition at line 2867 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypCovCss, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcalNumbering, fFileHeader, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatMat, TEcnaHeader::fNbOfSamples, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha(), TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, j, OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH2().

Referenced by ReadMatrix(), TEcnaHistos::ViewMatrix(), and TEcnaHistos::ViewStin().

2869 {
2870 //Read the (sample,sample) covariances for a given channel
2871 //in ROOT file and return them in a TMatrixD
2872 //
2873 //Possible values for MatDim: (1) MatDim = fFileHeader->fNbOfSamples
2874 
2875  TestArrayDimH2("ReadCovariancesBetweenSamples", "fFileHeader->fNbOfSamples", fFileHeader->fNbOfSamples, MatDim);
2876 
2877  Int_t i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(n1StexStin, i0StinEcha);
2878 
2879  TMatrixD mat(MatDim, MatDim);
2880  for(Int_t i=0; i-MatDim<0; i++)
2881  {for(Int_t j=0; j-MatDim<0; j++){mat(i,j)=(Double_t)0.;}}
2882 
2883  CnaResultTyp typ = cTypCovCss;
2884 
2885  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
2886  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
2887 
2888  Bool_t ok_open = kFALSE;
2889  Bool_t ok_read = kFALSE;
2890 
2891  TString FileNameLong = fCnaWrite->GetRootFileName();
2892  Bool_t allowed_to_read = kFALSE;
2893 
2894 // if ( fOpenRootFile )
2895 // {
2896 // std::cout << "!TEcnaRead::ReadCovariancesBetweenSamples(...) *** ERROR ***> "
2897 // << "Reading on file already open." << fTTBELL << std::endl;
2898 // }
2899 
2900  if( FileNameLong == fCurrentlyOpenFileName )
2901  {
2902  allowed_to_read = kTRUE;
2903  }
2904  else
2905  {
2906  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
2907  ok_open = OpenRootFile(file_name, "READ");
2908 
2909  if(ok_open)
2910  {
2911  allowed_to_read = kTRUE;
2912  }
2913  else
2914  {
2915  std::cout << "!TEcnaRead::ReadCovariancesBetweenSamples(...) *** ERROR ***> Open .root file failed for file: "
2916  << file_name << fTTBELL << std::endl;
2917  allowed_to_read = kFALSE;
2918  ok_read = kFALSE;
2919  }
2920  }
2921 
2922  if( allowed_to_read == kTRUE )
2923  {
2924  ok_read = gCnaRootFile->ReadElement(typ, i0StexEcha);
2925 
2926  if ( ok_read == kTRUE )
2927  {
2928  fDataExist = kTRUE;
2929  for( Int_t i_samp = 0; i_samp - MatDim < 0; i_samp++ )
2930  {
2931  for ( Int_t j_samp = 0; j_samp - MatDim < 0; j_samp++)
2932  {
2933  mat(i_samp, j_samp) = gCnaRootFile->fCnaIndivResult->fMatMat(i_samp,j_samp);
2934  }
2935  }
2936  }
2937  else
2938  {
2939  fDataExist = kFALSE;
2940  std::cout << "!TEcnaRead::ReadCovariancesBetweenSamples() *** ERROR ***> "
2941  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
2942  << " -> quantity: <"
2943  << GetTypeOfQuantity(typ) << "> not available in file."
2944  << fTTBELL << std::endl;
2945  }
2946  CloseRootFile(file_name);
2947  }
2948  return mat;
2949 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
TEcnaNArrayD fMatMat
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
Int_t fNbOfSamples
Definition: TEcnaHeader.h:51
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TString fTTBELL
Definition: TEcnaRead.h:365
int j
Definition: DBlmapReader.cc:9
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
TEcnaNumbering * fEcalNumbering
Definition: TEcnaRead.h:374
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t Get0StexEchaFrom1StexStinAnd0StinEcha(const Int_t &, const Int_t &)
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
void TestArrayDimH2(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1100
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TMatrixD TEcnaRead::ReadHighFrequencyCorrelationsBetweenChannels ( const Int_t &  n1StexStin_a,
const Int_t &  n1StexStin_b,
const Int_t &  MatDim 
)

Definition at line 3413 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypHfCor, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatMat, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetStinIndex(), GetTypeOfQuantity(), i, j, TEcnaParEcal::MaxCrysInStin(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH2().

Referenced by ReadMatrix(), TEcnaHistos::StexHocoVecoLHFCorcc(), and TEcnaHistos::ViewMatrix().

3416 {
3417 //Read the High Frequency Cor(i0StinEcha of Stin_a, i0StinEcha of Stin b)
3418 //in ROOT file and return them in a TMatrixD
3419 //
3420 //Possible values for MatDim: (1) MatDim = fEcal->MaxCrysInStin()
3421 
3422  TestArrayDimH2("ReadHighFrequencyCorrelationsBetweenChannels", "fEcal->MaxCrysInStin()",
3423  fEcal->MaxCrysInStin(), MatDim);
3424 
3425  Int_t index_Stin_a = GetStinIndex(n1StexStin_a);
3426  Int_t index_Stin_b = GetStinIndex(n1StexStin_b);
3427 
3428  TMatrixD mat(MatDim, MatDim);
3429  for(Int_t i=0; i-MatDim<0; i++)
3430  {for(Int_t j=0; j-MatDim<0; j++){mat(i,j)=(Double_t)0.;}}
3431 
3432  CnaResultTyp typ = cTypHfCor;
3433 
3434  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
3435  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
3436 
3437  Bool_t ok_open = kFALSE;
3438  Bool_t ok_read = kFALSE;
3439 
3440  TString FileNameLong = fCnaWrite->GetRootFileName();
3441  Bool_t allowed_to_read = kFALSE;
3442 
3443 // if ( fOpenRootFile )
3444 // {
3445 // std::cout << "!TEcnaRead::ReadHighFrequencyCorrelationsBetweenChannels(...) *** ERROR ***>"
3446 // << " Reading on file already open." << fTTBELL << std::endl;
3447 // }
3448 
3449  if( FileNameLong == fCurrentlyOpenFileName )
3450  {
3451  allowed_to_read = kTRUE;
3452  }
3453  else
3454  {
3455  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
3456  ok_open = OpenRootFile(file_name, "READ");
3457 
3458  if(ok_open)
3459  {
3460  allowed_to_read = kTRUE;
3461  }
3462  else
3463  {
3464  std::cout << "!TEcnaRead::ReadHighFrequencyCorrelationsBetweenChannels(...) *** ERROR ***> Open .root file failed for file: "
3465  << file_name << fTTBELL << std::endl;
3466  allowed_to_read = kFALSE;
3467  ok_read = kFALSE;
3468  }
3469  }
3470 
3471  if( allowed_to_read == kTRUE )
3472  {
3473  Int_t i_zero = 0;
3474 
3475  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
3476 
3477  if ( ok_read == kTRUE )
3478  {
3479  fDataExist = kTRUE;
3480  for ( Int_t i_crys = 0; i_crys - MatDim<0; i_crys++)
3481  {
3482  Int_t i_cna_chan = index_Stin_a*MatDim + i_crys;
3483  for ( Int_t j_crys = 0; j_crys - MatDim<0; j_crys++)
3484  {
3485  Int_t j_cna_chan = index_Stin_b*MatDim + j_crys;
3486  mat(i_crys, j_crys) = gCnaRootFile->fCnaIndivResult->fMatMat(i_cna_chan,j_cna_chan);
3487  }
3488  }
3489  }
3490  else
3491  {
3492  fDataExist = kFALSE;
3493  std::cout << "!TEcnaRead::ReadHighFrequencyCorrelationsBetweenChannels(...) *** ERROR ***> "
3494  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
3495  << " -> quantity: <"
3496  << GetTypeOfQuantity(typ) << "> not available in file."
3497  << fTTBELL << std::endl;
3498  }
3499  CloseRootFile(file_name);
3500  }
3501  return mat;
3502 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
TEcnaNArrayD fMatMat
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
Int_t GetStinIndex(const Int_t &)
Definition: TEcnaRead.cc:4385
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TString fTTBELL
Definition: TEcnaRead.h:365
int j
Definition: DBlmapReader.cc:9
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
Int_t MaxCrysInStin()
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Bool_t fDataExist
Definition: TEcnaRead.h:406
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
void TestArrayDimH2(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1100
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TMatrixD TEcnaRead::ReadHighFrequencyCorrelationsBetweenChannels ( const Int_t &  MatDim)

Definition at line 3840 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypHfCor, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatMat, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, j, TEcnaParEcal::MaxCrysEcnaInStex(), TEcnaParEcal::MaxCrysInStin(), TEcnaParEcal::MaxStinEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), ReadStinNumbers(), and TestArrayDimH2().

3841 {
3842 //Read all the High Frequency correlations
3843 //in ROOT file and return them in a TMatrixD
3844 //
3845 //Possible values for MatDim: (1) MatDim = fEcal->MaxCrysEcnaInStex()
3846 
3847  TestArrayDimH2("ReadHighFrequencyCorrelationsBetweenChannels", "fEcal->MaxCrysEcnaInStex()",
3848  fEcal->MaxCrysEcnaInStex(), MatDim);
3849 
3850  //=====> WARNING: BIG MATRIX (1700x1700)
3851  TMatrixD mat(MatDim, MatDim);
3852  for(Int_t i=0; i-MatDim<0; i++){for(Int_t j=0; j-MatDim<0; j++){mat(i,j)=(Double_t)0.;}}
3853 
3854  TVectorD vec(fEcal->MaxStinEcnaInStex());
3855  for(Int_t i=0; i<fEcal->MaxStinEcnaInStex(); i++){vec(i)=(Double_t)0.;}
3857 
3858  CnaResultTyp typ = cTypHfCor;
3859 
3860  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
3861  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
3862 
3863  Bool_t ok_open = kFALSE;
3864  Bool_t ok_read = kFALSE;
3865 
3866  TString FileNameLong = fCnaWrite->GetRootFileName();
3867  Bool_t allowed_to_read = kFALSE;
3868 
3869 // if ( fOpenRootFile )
3870 // {
3871 // std::cout << "!TEcnaRead::ReadHighFrequencyCorrelationsBetweenChannels() *** ERROR ***>"
3872 // << " Reading on file already open." << fTTBELL << std::endl;
3873 // }
3874 
3875  if( FileNameLong == fCurrentlyOpenFileName )
3876  {
3877  allowed_to_read = kTRUE;
3878  }
3879  else
3880  {
3881  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
3882  ok_open = OpenRootFile(file_name, "READ");
3883 
3884  if(ok_open)
3885  {
3886  allowed_to_read = kTRUE;
3887  }
3888  else
3889  {
3890  std::cout << "!TEcnaRead::ReadHighFrequencyCorrelationsBetweenChannels(...) *** ERROR ***> Open .root file failed for file: "
3891  << file_name << fTTBELL << std::endl;
3892  allowed_to_read = kFALSE;
3893  ok_read = kFALSE;
3894  }
3895  }
3896 
3897  if( allowed_to_read == kTRUE )
3898  {
3899  Int_t i_zero = 0;
3900  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
3901 
3902  if ( ok_read == kTRUE )
3903  {
3904  fDataExist = kTRUE;
3905  for (Int_t index_Stin_a = 0; index_Stin_a < fEcal->MaxStinEcnaInStex(); index_Stin_a++)
3906  {
3907  if ( vec(index_Stin_a) > 0 && vec(index_Stin_a) <= fEcal->MaxStinEcnaInStex())
3908  {
3909  for (Int_t index_Stin_b = 0; index_Stin_b < fEcal->MaxStinEcnaInStex(); index_Stin_b++)
3910  {
3911  if ( vec(index_Stin_b) > 0 && vec(index_Stin_b) <= fEcal->MaxStinEcnaInStex())
3912  {
3913  for ( Int_t i_crys = 0; i_crys < fEcal->MaxCrysInStin(); i_crys++)
3914  {
3915  Int_t i_cna_chan = index_Stin_a*fEcal->MaxCrysInStin() + i_crys;
3916  Int_t i_chan_sm = (Int_t)(vec(index_Stin_a)-1)*fEcal->MaxCrysInStin() + i_crys;
3917  for ( Int_t j_crys = 0; j_crys < fEcal->MaxCrysInStin(); j_crys++)
3918  {
3919  Int_t j_cna_chan = index_Stin_b*fEcal->MaxCrysInStin() + j_crys;
3920  Int_t j_chan_sm = (Int_t)(vec(index_Stin_b)-1)*fEcal->MaxCrysInStin() + j_crys;
3921  mat(i_chan_sm, j_chan_sm) =
3922  gCnaRootFile->fCnaIndivResult->fMatMat(i_cna_chan,j_cna_chan);
3923  }
3924  }
3925  }
3926  }
3927  }
3928  }
3929  }
3930  else
3931  {
3932  fDataExist = kFALSE;
3933  std::cout << "!TEcnaRead::ReadHighFrequencyCorrelationsBetweenChannels() *** ERROR ***> "
3934  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
3935  << " -> quantity: <"
3936  << GetTypeOfQuantity(typ) << "> not available in file."
3937  << fTTBELL << std::endl;
3938  }
3939  CloseRootFile(file_name);
3940  }
3941  return mat;
3942 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
TEcnaNArrayD fMatMat
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TVectorD ReadStinNumbers(const Int_t &)
Definition: TEcnaRead.cc:1129
TString fTTBELL
Definition: TEcnaRead.h:365
int j
Definition: DBlmapReader.cc:9
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
Int_t MaxCrysInStin()
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Int_t MaxCrysEcnaInStex()
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t MaxStinEcnaInStex()
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
void TestArrayDimH2(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1100
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TMatrixD TEcnaRead::ReadHighFrequencyCovariancesBetweenChannels ( const Int_t &  n1StexStin_a,
const Int_t &  n1StexStin_b,
const Int_t &  MatDim 
)

Definition at line 3317 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypHfCov, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatMat, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetStinIndex(), GetTypeOfQuantity(), i, j, TEcnaParEcal::MaxCrysInStin(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH2().

Referenced by ReadMatrix(), and TEcnaHistos::ViewMatrix().

3320 {
3321 //Read the High Frequency cov(i0StinEcha of Stin_a, i0StinEcha of Stin b)
3322 //in ROOT file and return them in a TMatrixD
3323 //
3324 //Possible values for MatDim: (1) MatDim = fEcal->MaxCrysInStin()
3325 
3326  TestArrayDimH2("ReadHighFrequencyCovariancesBetweenChannels", "fEcal->MaxCrysInStin()",
3327  fEcal->MaxCrysInStin(), MatDim);
3328 
3329  Int_t index_Stin_a = GetStinIndex(n1StexStin_a);
3330  Int_t index_Stin_b = GetStinIndex(n1StexStin_b);
3331 
3332  TMatrixD mat(MatDim, MatDim);
3333  for(Int_t i=0; i-MatDim<0; i++)
3334  {for(Int_t j=0; j-MatDim<0; j++){mat(i,j)=(Double_t)0.;}}
3335 
3336  CnaResultTyp typ = cTypHfCov;
3337 
3338  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
3339  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
3340 
3341  Bool_t ok_open = kFALSE;
3342  Bool_t ok_read = kFALSE;
3343 
3344  TString FileNameLong = fCnaWrite->GetRootFileName();
3345  Bool_t allowed_to_read = kFALSE;
3346 
3347 // if ( fOpenRootFile )
3348 // {
3349 // std::cout << "!TEcnaRead::ReadHighFrequencyCovariancesBetweenChannels(...) *** ERROR ***>"
3350 // << " Reading on file already open." << fTTBELL << std::endl;
3351 // }
3352 
3353  if( FileNameLong == fCurrentlyOpenFileName )
3354  {
3355  allowed_to_read = kTRUE;
3356  }
3357  else
3358  {
3359  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
3360  ok_open = OpenRootFile(file_name, "READ");
3361 
3362  if(ok_open)
3363  {
3364  allowed_to_read = kTRUE;
3365  }
3366  else
3367  {
3368  std::cout << "!TEcnaRead::ReadHighFrequencyCovariancesBetweenChannels(...) *** ERROR ***> Open .root file failed for file: "
3369  << file_name << fTTBELL << std::endl;
3370  allowed_to_read = kFALSE;
3371  ok_read = kFALSE;
3372  }
3373  }
3374 
3375  if( allowed_to_read == kTRUE )
3376  {
3377  Int_t i_zero = 0;
3378  ok_read = gCnaRootFile->ReadElement(typ,i_zero);
3379 
3380  if ( ok_read == kTRUE )
3381  {
3382  fDataExist = kTRUE;
3383  for ( Int_t i_crys = 0; i_crys - MatDim<0; i_crys++)
3384  {
3385  Int_t i_cna_chan = index_Stin_a*MatDim + i_crys;
3386  for ( Int_t j_crys = 0; j_crys - MatDim<0; j_crys++)
3387  {
3388  Int_t j_cna_chan = index_Stin_b*MatDim + j_crys;
3389  mat(i_crys, j_crys) = gCnaRootFile->fCnaIndivResult->fMatMat(i_cna_chan,j_cna_chan);
3390  }
3391  }
3392  }
3393  else
3394  {
3395  fDataExist = kFALSE;
3396  std::cout << "!TEcnaRead::ReadHighFrequencyCovariancesBetweenChannels(...) *** ERROR ***> "
3397  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
3398  << " -> quantity: <"
3399  << GetTypeOfQuantity(typ) << "> not available in file."
3400  << fTTBELL << std::endl;
3401  }
3402  CloseRootFile(file_name);
3403  }
3404  return mat;
3405 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
TEcnaNArrayD fMatMat
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
Int_t GetStinIndex(const Int_t &)
Definition: TEcnaRead.cc:4385
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TString fTTBELL
Definition: TEcnaRead.h:365
int j
Definition: DBlmapReader.cc:9
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
Int_t MaxCrysInStin()
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Bool_t fDataExist
Definition: TEcnaRead.h:406
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
void TestArrayDimH2(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1100
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TMatrixD TEcnaRead::ReadHighFrequencyCovariancesBetweenChannels ( const Int_t &  MatDim)

Definition at line 3730 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypHfCov, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatMat, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, j, TEcnaParEcal::MaxCrysEcnaInStex(), TEcnaParEcal::MaxCrysInStin(), TEcnaParEcal::MaxStinEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), ReadStinNumbers(), and TestArrayDimH2().

3731 {
3732 //Read all the High Frequency covariances
3733 //in ROOT file and return them in a TMatrixD
3734 //
3735 //Possible values for MatDim: (1) MatDim = fEcal->MaxCrysEcnaInStex()
3736 
3737  TestArrayDimH2("ReadHighFrequencyCovariancesBetweenChannels", "fEcal->MaxCrysEcnaInStex()",
3738  fEcal->MaxCrysEcnaInStex(), MatDim);
3739 
3740  //=====> WARNING: BIG MATRIX (1700x1700)
3741  TMatrixD mat(MatDim, MatDim);
3742  for(Int_t i=0; i-MatDim<0; i++){for(Int_t j=0; j-MatDim<0; j++){mat(i,j)=(Double_t)0.;}}
3743 
3744  TVectorD vec(fEcal->MaxStinEcnaInStex());
3745  for(Int_t i=0; i<fEcal->MaxStinEcnaInStex(); i++){vec(i)=(Double_t)0.;}
3747 
3748  CnaResultTyp typ = cTypHfCov;
3749 
3750  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
3751  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
3752 
3753  Bool_t ok_open = kFALSE;
3754  Bool_t ok_read = kFALSE;
3755 
3756  TString FileNameLong = fCnaWrite->GetRootFileName();
3757  Bool_t allowed_to_read = kFALSE;
3758 
3759 // if ( fOpenRootFile )
3760 // {
3761 // std::cout << "!TEcnaRead::ReadHighFrequencyCovariancesBetweenChannels() *** ERROR ***>"
3762 // << " Reading on file already open." << fTTBELL << std::endl;
3763 // }
3764 
3765  if( FileNameLong == fCurrentlyOpenFileName )
3766  {
3767  allowed_to_read = kTRUE;
3768  }
3769  else
3770  {
3771  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
3772  ok_open = OpenRootFile(file_name, "READ");
3773 
3774  if(ok_open)
3775  {
3776  allowed_to_read = kTRUE;
3777  }
3778  else
3779  {
3780  std::cout << "!TEcnaRead::ReadHighFrequencyCovariancesBetweenChannels(...) *** ERROR ***> Open .root file failed for file: "
3781  << file_name << fTTBELL << std::endl;
3782  allowed_to_read = kFALSE;
3783  ok_read = kFALSE;
3784  }
3785  }
3786 
3787  if( allowed_to_read == kTRUE )
3788  {
3789  Int_t i_zero = 0;
3790  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
3791 
3792  if ( ok_read == kTRUE )
3793  {
3794  fDataExist = kTRUE;
3795  for (Int_t index_Stin_a = 0; index_Stin_a < fEcal->MaxStinEcnaInStex(); index_Stin_a++)
3796  {
3797  if ( vec(index_Stin_a) > 0 && vec(index_Stin_a) <= fEcal->MaxStinEcnaInStex())
3798  {
3799  for (Int_t index_Stin_b = 0; index_Stin_b < fEcal->MaxStinEcnaInStex(); index_Stin_b++)
3800  {
3801  if ( vec(index_Stin_b) > 0 && vec(index_Stin_b) <= fEcal->MaxStinEcnaInStex())
3802  {
3803  for ( Int_t i_crys = 0; i_crys < fEcal->MaxCrysInStin(); i_crys++)
3804  {
3805  Int_t i_cna_chan = index_Stin_a*fEcal->MaxCrysInStin() + i_crys;
3806  Int_t i_chan_sm = (Int_t)(vec(index_Stin_a)-1)*fEcal->MaxCrysInStin() +i_crys;
3807  for ( Int_t j_crys = 0; j_crys < fEcal->MaxCrysInStin(); j_crys++)
3808  {
3809  Int_t j_cna_chan = index_Stin_b*fEcal->MaxCrysInStin() + j_crys;
3810  Int_t j_chan_sm = (Int_t)(vec(index_Stin_b)-1)*fEcal->MaxCrysInStin() +j_crys;
3811  mat(i_chan_sm, j_chan_sm) =
3812  gCnaRootFile->fCnaIndivResult->fMatMat(i_cna_chan,j_cna_chan);
3813  }
3814  }
3815  }
3816  }
3817  }
3818  }
3819  }
3820  else
3821  {
3822  fDataExist = kFALSE;
3823  std::cout << "!TEcnaRead::ReadHighFrequencyCovariancesBetweenChannels() *** ERROR ***> "
3824  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
3825  << " -> quantity: <"
3826  << GetTypeOfQuantity(typ) << "> not available in file."
3827  << fTTBELL << std::endl;
3828  }
3829  CloseRootFile(file_name);
3830  }
3831  return mat;
3832 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
TEcnaNArrayD fMatMat
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TVectorD ReadStinNumbers(const Int_t &)
Definition: TEcnaRead.cc:1129
TString fTTBELL
Definition: TEcnaRead.h:365
int j
Definition: DBlmapReader.cc:9
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
Int_t MaxCrysInStin()
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Int_t MaxCrysEcnaInStex()
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t MaxStinEcnaInStex()
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
void TestArrayDimH2(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1100
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TMatrixD TEcnaRead::ReadHighFrequencyMeanCorrelationsBetweenStins ( const Int_t &  MatDim)

Definition at line 4053 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypHFccMoStins, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatMat, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, j, TEcnaParEcal::MaxStinEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), ReadStinNumbers(), and TestArrayDimH2().

Referenced by ReadMatrix(), and TEcnaHistos::ViewMatrix().

4054 {
4055 //Read all the High Frequency Mean Correlations Between Stins the for all (Stin_X, Stin_Y)
4056 //in ROOT file and return them in a TMatrixD
4057 //
4058 //Possible values for MatDim: (1) MatDim = fEcal->MaxStinEcnaInStex()
4059 
4060  TestArrayDimH2("ReadHighFrequencyMeanCorrelationsBetweenStins", "fEcal->MaxStinEcnaInStex()",
4061  fEcal->MaxStinEcnaInStex(), MatDim);
4062 
4063  TMatrixD mat(MatDim, MatDim);
4064  for(Int_t i=0; i-MatDim<0; i++)
4065  {for(Int_t j=0; j-MatDim<0; j++){mat(i,j)=(Double_t)0.;}}
4066 
4067  TVectorD vec(fEcal->MaxStinEcnaInStex());
4068  for(Int_t i=0; i<fEcal->MaxStinEcnaInStex(); i++){vec(i)=(Double_t)0.;}
4070 
4072 
4073  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
4074  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
4075 
4076  Bool_t ok_open = kFALSE;
4077  Bool_t ok_read = kFALSE;
4078 
4079  TString FileNameLong = fCnaWrite->GetRootFileName();
4080  Bool_t allowed_to_read = kFALSE;
4081 
4082 // if ( fOpenRootFile )
4083 // {
4084 // std::cout << "!TEcnaRead::ReadHighFrequencyMeanCorrelationsBetweenStins() *** ERROR ***>"
4085 // << " Reading on file already open." << fTTBELL << std::endl;
4086 // }
4087 
4088  if( FileNameLong == fCurrentlyOpenFileName )
4089  {
4090  allowed_to_read = kTRUE;
4091  }
4092  else
4093  {
4094  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
4095  ok_open = OpenRootFile(file_name, "READ");
4096 
4097  if(ok_open)
4098  {
4099  allowed_to_read = kTRUE;
4100  }
4101  else
4102  {
4103  std::cout << "!TEcnaRead::ReadHighFrequencyMeanCorrelationsBetweenStins(...) *** ERROR ***> Open .root file failed for file: "
4104  << file_name << fTTBELL << std::endl;
4105  allowed_to_read = kFALSE;
4106  ok_read = kFALSE;
4107  }
4108  }
4109 
4110  if( allowed_to_read == kTRUE )
4111  {
4112  Int_t i_zero = 0;
4113  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
4114 
4115  if( ok_read == kTRUE )
4116  {
4117  fDataExist = kTRUE;
4118  for(Int_t index_Stin_a = 0; index_Stin_a - MatDim<0; index_Stin_a++)
4119  {
4120  for(Int_t index_Stin_b = 0; index_Stin_b - MatDim<0; index_Stin_b++)
4121  {
4122  if( vec(index_Stin_a) > 0 && vec(index_Stin_a) <= MatDim)
4123  {
4124  if( vec(index_Stin_b) > 0 && vec(index_Stin_b) <= MatDim)
4125  {
4126  Int_t vec_ia_m = (Int_t)vec(index_Stin_a)-1;
4127  Int_t vec_ib_m = (Int_t)vec(index_Stin_b)-1;
4128  mat((Int_t)vec_ia_m, (Int_t)vec_ib_m) =
4129  gCnaRootFile->fCnaIndivResult->fMatMat(index_Stin_a,index_Stin_b);
4130  }
4131  }
4132  }
4133  }
4134  }
4135  else
4136  {
4137  fDataExist = kFALSE;
4138  std::cout << "!TEcnaRead::ReadHighFrequencyMeanCorrelationsBetweenStins() *** ERROR ***> "
4139  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
4140  << " -> quantity: <"
4141  << GetTypeOfQuantity(typ) << "> not available in file."
4142  << fTTBELL << std::endl;
4143  }
4144  CloseRootFile(file_name);
4145  }
4146  return mat;
4147 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
TEcnaNArrayD fMatMat
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TVectorD ReadStinNumbers(const Int_t &)
Definition: TEcnaRead.cc:1129
TString fTTBELL
Definition: TEcnaRead.h:365
int j
Definition: DBlmapReader.cc:9
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t MaxStinEcnaInStex()
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
void TestArrayDimH2(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1100
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TVectorD TEcnaRead::ReadHighFrequencyNoise ( const Int_t &  VecDim)

Definition at line 2130 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypHfn, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, TEcnaParEcal::MaxCrysEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

Referenced by TEcnaHistos::GetHistoValues(), Read1DHisto(), TEcnaHistos::ViewHistime(), and TEcnaHistos::ViewStex().

2131 {
2132 //Read the sigmas of the sigmas of the samples
2133 //for all the channels of a given Stin
2134 //in the ROOT file and return them in a TVectorD
2135 //
2136 //Possible values for VecDim: (1) MatDim = fEcal->MaxCrysEcnaInStex()
2137 
2138  TestArrayDimH1("ReadHighFrequencyNoise", "fEcal->MaxCrysEcnaInStex()", fEcal->MaxCrysEcnaInStex(), VecDim);
2139 
2140  TVectorD vec(VecDim); for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
2141  CnaResultTyp typ = cTypHfn; // high frequency noise type
2142  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
2143  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
2144 
2145  Bool_t ok_open = kFALSE;
2146  Bool_t ok_read = kFALSE;
2147 
2148  TString FileNameLong = fCnaWrite->GetRootFileName();
2149  Bool_t allowed_to_read = kFALSE;
2150 
2151 // if ( fOpenRootFile )
2152 // {
2153 // std::cout << "!TEcnaRead::ReadHighFrequencyNoise(...) *** ERROR ***> "
2154 // << "Reading on file already open." << fTTBELL << std::endl;
2155 // }
2156 
2157  if( FileNameLong == fCurrentlyOpenFileName )
2158  {
2159  allowed_to_read = kTRUE;
2160  }
2161  else
2162  {
2163  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
2164  ok_open = OpenRootFile(file_name, "READ");
2165 
2166  if(ok_open)
2167  {
2168  allowed_to_read = kTRUE;
2169  }
2170  else
2171  {
2172  std::cout << "!TEcnaRead::ReadHighFrequencyNoise(...) *** ERROR ***> Open .root file failed for file: "
2173  << file_name << fTTBELL << std::endl;
2174  allowed_to_read = kFALSE;
2175  ok_read = kFALSE;
2176  }
2177  }
2178 
2179  if( allowed_to_read == kTRUE )
2180  {
2181  Int_t i_zero = 0;
2182  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
2183 
2184  if ( ok_read == kTRUE )
2185  {
2186  fDataExist = kTRUE;
2187  for ( Int_t i_StexCrys = 0; i_StexCrys < VecDim; i_StexCrys++)
2188  {
2189  vec(i_StexCrys) = gCnaRootFile->fCnaIndivResult->fMatHis(i_zero,i_StexCrys);
2190  }
2191  }
2192  else
2193  {
2194  fDataExist = kFALSE;
2195  std::cout << "!TEcnaRead::ReadHighFrequencyNoise(...) *** ERROR ***> "
2196  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
2197  << " -> quantity: <"
2198  << GetTypeOfQuantity(typ) << "> not available in file."
2199  << fTTBELL << std::endl;
2200  }
2201  CloseRootFile(file_name);
2202  }
2203  return vec;
2204 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Int_t MaxCrysEcnaInStex()
Bool_t fDataExist
Definition: TEcnaRead.h:406
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TMatrixD TEcnaRead::ReadLowFrequencyCorrelationsBetweenChannels ( const Int_t &  n1StexStin_a,
const Int_t &  n1StexStin_b,
const Int_t &  MatDim 
)

Definition at line 3221 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypLfCor, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatMat, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetStinIndex(), GetTypeOfQuantity(), i, j, TEcnaParEcal::MaxCrysInStin(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH2().

Referenced by ReadMatrix(), TEcnaHistos::StexHocoVecoLHFCorcc(), and TEcnaHistos::ViewMatrix().

3224 {
3225 //Read the Low Frequency cor(i0StinEcha of Stin_a, i0StinEcha of Stin b)
3226 //in ROOT file and return them in a TMatrixD
3227 //
3228 //Possible values for MatDim: (1) MatDim = fEcal->MaxCrysInStin()
3229 
3230  TestArrayDimH2("ReadLowFrequencyCorrelationsBetweenChannels", "fEcal->MaxCrysInStin()", fEcal->MaxCrysInStin(), MatDim);
3231 
3232  Int_t index_Stin_a = GetStinIndex(n1StexStin_a);
3233  Int_t index_Stin_b = GetStinIndex(n1StexStin_b);
3234 
3235  TMatrixD mat(MatDim, MatDim);
3236  for(Int_t i=0; i-MatDim<0; i++)
3237  {for(Int_t j=0; j-MatDim<0; j++){mat(i,j)=(Double_t)0.;}}
3238 
3239  CnaResultTyp typ = cTypLfCor;
3240 
3241  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
3242  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
3243 
3244  Bool_t ok_open = kFALSE;
3245  Bool_t ok_read = kFALSE;
3246 
3247  TString FileNameLong = fCnaWrite->GetRootFileName();
3248  Bool_t allowed_to_read = kFALSE;
3249 
3250 // if ( fOpenRootFile )
3251 // {
3252 // std::cout << "!TEcnaRead::ReadLowFrequencyCorrelationsBetweenChannels(...) *** ERROR ***>"
3253 // << " Reading on file already open." << fTTBELL << std::endl;
3254 // }
3255 
3256  if( FileNameLong == fCurrentlyOpenFileName )
3257  {
3258  allowed_to_read = kTRUE;
3259  }
3260  else
3261  {
3262  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
3263  ok_open = OpenRootFile(file_name, "READ");
3264 
3265  if(ok_open)
3266  {
3267  allowed_to_read = kTRUE;
3268  }
3269  else
3270  {
3271  std::cout << "!TEcnaRead::ReadLowFrequencyCorrelationsBetweenChannels(...) *** ERROR ***> Open .root file failed for file: "
3272  << file_name << fTTBELL << std::endl;
3273  allowed_to_read = kFALSE;
3274  ok_read = kFALSE;
3275  }
3276  }
3277 
3278  if( allowed_to_read == kTRUE )
3279  {
3280  Int_t i_zero = 0;
3281 
3282  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
3283 
3284  if ( ok_read == kTRUE )
3285  {
3286  fDataExist = kTRUE;
3287  for ( Int_t i_crys = 0; i_crys - MatDim<0; i_crys++)
3288  {
3289  Int_t i_cna_chan = index_Stin_a*MatDim + i_crys;
3290  for ( Int_t j_crys = 0; j_crys - MatDim<0; j_crys++)
3291  {
3292  Int_t j_cna_chan = index_Stin_b*MatDim + j_crys;
3293  mat(i_crys, j_crys) = gCnaRootFile->fCnaIndivResult->fMatMat(i_cna_chan,j_cna_chan);
3294  }
3295  }
3296  }
3297  else
3298  {
3299  fDataExist = kFALSE;
3300  std::cout << "!TEcnaRead::ReadLowFrequencyCorrelationsBetweenChannels(...) *** ERROR ***> "
3301  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
3302  << " -> quantity: <"
3303  << GetTypeOfQuantity(typ) << "> not available in file."
3304  << fTTBELL << std::endl;
3305  }
3306  CloseRootFile(file_name);
3307  }
3308  return mat;
3309 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
TEcnaNArrayD fMatMat
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
Int_t GetStinIndex(const Int_t &)
Definition: TEcnaRead.cc:4385
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TString fTTBELL
Definition: TEcnaRead.h:365
int j
Definition: DBlmapReader.cc:9
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
Int_t MaxCrysInStin()
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Bool_t fDataExist
Definition: TEcnaRead.h:406
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
void TestArrayDimH2(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1100
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TMatrixD TEcnaRead::ReadLowFrequencyCorrelationsBetweenChannels ( const Int_t &  MatDim)

Definition at line 3620 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypLfCor, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatMat, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, j, TEcnaParEcal::MaxCrysEcnaInStex(), TEcnaParEcal::MaxCrysInStin(), TEcnaParEcal::MaxStinEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), ReadStinNumbers(), and TestArrayDimH2().

3621 {
3622 //Read all the Low Frequency correlations
3623 //in ROOT file and return them in a TMatrixD
3624 //
3625 //Possible values for MatDim: (1) MatDim = fEcal->MaxCrysEcnaInStex()
3626 
3627  TestArrayDimH2("ReadLowFrequencyCorrelationsBetweenChannels", "fEcal->MaxCrysEcnaInStex()",
3628  fEcal->MaxCrysEcnaInStex(), MatDim);
3629 
3630  //=====> WARNING: BIG MATRIX (1700x1700)
3631  TMatrixD mat(MatDim, MatDim);
3632  for(Int_t i=0; i-MatDim<0; i++){for(Int_t j=0; j-MatDim<0; j++){mat(i,j)=(Double_t)0.;}}
3633 
3634  TVectorD vec(fEcal->MaxStinEcnaInStex());
3635  for(Int_t i=0; i<fEcal->MaxStinEcnaInStex(); i++){vec(i)=(Double_t)0.;}
3637 
3638  CnaResultTyp typ = cTypLfCor;
3639 
3640  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
3641  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
3642 
3643  Bool_t ok_open = kFALSE;
3644  Bool_t ok_read = kFALSE;
3645 
3646  TString FileNameLong = fCnaWrite->GetRootFileName();
3647  Bool_t allowed_to_read = kFALSE;
3648 
3649 // if ( fOpenRootFile )
3650 // {
3651 // std::cout << "!TEcnaRead::ReadLowFrequencyCorrelationsBetweenChannels() *** ERROR ***>"
3652 // << " Reading on file already open." << fTTBELL << std::endl;
3653 // }
3654 
3655  if( FileNameLong == fCurrentlyOpenFileName )
3656  {
3657  allowed_to_read = kTRUE;
3658  }
3659  else
3660  {
3661  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
3662  ok_open = OpenRootFile(file_name, "READ");
3663 
3664  if(ok_open)
3665  {
3666  allowed_to_read = kTRUE;
3667  }
3668  else
3669  {
3670  std::cout << "!TEcnaRead::ReadLowFrequencyCorrelationsBetweenChannels(...) *** ERROR ***> Open .root file failed for file: "
3671  << file_name << fTTBELL << std::endl;
3672  allowed_to_read = kFALSE;
3673  ok_read = kFALSE;
3674  }
3675  }
3676 
3677  if( allowed_to_read == kTRUE )
3678  {
3679  Int_t i_zero = 0;
3680  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
3681 
3682  if ( ok_read == kTRUE )
3683  {
3684  fDataExist = kTRUE;
3685  for (Int_t index_Stin_a = 0; index_Stin_a < fEcal->MaxStinEcnaInStex(); index_Stin_a++)
3686  {
3687  if ( vec(index_Stin_a) > 0 && vec(index_Stin_a) <= fEcal->MaxStinEcnaInStex())
3688  {
3689  for (Int_t index_Stin_b = 0; index_Stin_b < fEcal->MaxStinEcnaInStex(); index_Stin_b++)
3690  {
3691  if ( vec(index_Stin_b) > 0 && vec(index_Stin_b) <= fEcal->MaxStinEcnaInStex())
3692  {
3693  for ( Int_t i_crys = 0; i_crys < fEcal->MaxCrysInStin(); i_crys++)
3694  {
3695  Int_t i_cna_chan = index_Stin_a*fEcal->MaxCrysInStin() + i_crys;
3696  Int_t i_chan_sm = (Int_t)(vec(index_Stin_a)-1)*fEcal->MaxCrysInStin() + i_crys;
3697  for ( Int_t j_crys = 0; j_crys < fEcal->MaxCrysInStin(); j_crys++)
3698  {
3699  Int_t j_cna_chan = index_Stin_b*fEcal->MaxCrysInStin() + j_crys;
3700  Int_t j_chan_sm = (Int_t)(vec(index_Stin_b)-1)*fEcal->MaxCrysInStin() + j_crys;
3701  mat(i_chan_sm, j_chan_sm) =
3702  gCnaRootFile->fCnaIndivResult->fMatMat(i_cna_chan,j_cna_chan);
3703  }
3704  }
3705  }
3706  }
3707  }
3708  }
3709  }
3710  else
3711  {
3712  fDataExist = kFALSE;
3713  std::cout << "!TEcnaRead::ReadLowFrequencyCorrelationsBetweenChannels() *** ERROR ***> "
3714  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
3715  << " -> quantity: <"
3716  << GetTypeOfQuantity(typ) << "> not available in file."
3717  << fTTBELL << std::endl;
3718  }
3719  CloseRootFile(file_name);
3720  }
3721  return mat;
3722 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
TEcnaNArrayD fMatMat
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TVectorD ReadStinNumbers(const Int_t &)
Definition: TEcnaRead.cc:1129
TString fTTBELL
Definition: TEcnaRead.h:365
int j
Definition: DBlmapReader.cc:9
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
Int_t MaxCrysInStin()
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Int_t MaxCrysEcnaInStex()
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t MaxStinEcnaInStex()
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
void TestArrayDimH2(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1100
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TMatrixD TEcnaRead::ReadLowFrequencyCovariancesBetweenChannels ( const Int_t &  n1StexStin_a,
const Int_t &  n1StexStin_b,
const Int_t &  MatDim 
)

Definition at line 3125 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypLfCov, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatMat, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetStinIndex(), GetTypeOfQuantity(), i, j, TEcnaParEcal::MaxCrysInStin(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH2().

Referenced by ReadMatrix(), and TEcnaHistos::ViewMatrix().

3128 {
3129 //Read the Low Frequency cov(i0StinEcha of Stin_a, i0StinEcha of Stin b)
3130 //in ROOT file and return them in a TMatrixD
3131 //
3132 //Possible values for MatDim: (1) MatDim = fEcal->MaxCrysInStin()
3133 
3134  TestArrayDimH2("ReadLowFrequencyCovariancesBetweenChannels", "fEcal->MaxCrysInStin()",
3135  fEcal->MaxCrysInStin(), MatDim);
3136 
3137  Int_t index_Stin_a = GetStinIndex(n1StexStin_a);
3138  Int_t index_Stin_b = GetStinIndex(n1StexStin_b);
3139 
3140  TMatrixD mat(MatDim, MatDim);
3141  for(Int_t i=0; i-MatDim<0; i++)
3142  {for(Int_t j=0; j-MatDim<0; j++){mat(i,j)=(Double_t)0.;}}
3143 
3144  CnaResultTyp typ = cTypLfCov;
3145 
3146  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
3147  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
3148 
3149  Bool_t ok_open = kFALSE;
3150  Bool_t ok_read = kFALSE;
3151 
3152  TString FileNameLong = fCnaWrite->GetRootFileName();
3153  Bool_t allowed_to_read = kFALSE;
3154 
3155 // if ( fOpenRootFile )
3156 // {
3157 // std::cout << "!TEcnaRead::ReadLowFrequencyCovariancesBetweenChannels(...) *** ERROR ***>"
3158 // << " Reading on file already open." << fTTBELL << std::endl;
3159 // }
3160 
3161  if( FileNameLong == fCurrentlyOpenFileName )
3162  {
3163  allowed_to_read = kTRUE;
3164  }
3165  else
3166  {
3167  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
3168  ok_open = OpenRootFile(file_name, "READ");
3169 
3170  if(ok_open)
3171  {
3172  allowed_to_read = kTRUE;
3173  }
3174  else
3175  {
3176  std::cout << "!TEcnaRead::ReadLowFrequencyCovariancesBetweenChannels(...) *** ERROR ***> Open .root file failed for file: "
3177  << file_name << fTTBELL << std::endl;
3178  allowed_to_read = kFALSE;
3179  ok_read = kFALSE;
3180  }
3181  }
3182 
3183  if( allowed_to_read == kTRUE )
3184  {
3185  Int_t i_zero = 0;
3186  ok_read = gCnaRootFile->ReadElement(typ,i_zero);
3187 
3188  if ( ok_read == kTRUE )
3189  {
3190  fDataExist = kTRUE;
3191  for ( Int_t i_crys = 0; i_crys - MatDim < 0; i_crys++)
3192  {
3193  Int_t i_cna_chan = index_Stin_a*MatDim + i_crys;
3194  for ( Int_t j_crys = 0; j_crys - MatDim<0; j_crys++)
3195  {
3196  Int_t j_cna_chan = index_Stin_b*MatDim + j_crys;
3197  mat(i_crys, j_crys) = gCnaRootFile->fCnaIndivResult->fMatMat(i_cna_chan,j_cna_chan);
3198  }
3199  }
3200  }
3201  else
3202  {
3203  fDataExist = kFALSE;
3204  std::cout << "!TEcnaRead::ReadLowFrequencyCovariancesBetweenChannels(...) *** ERROR ***> "
3205  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
3206  << " -> quantity: <"
3207  << GetTypeOfQuantity(typ) << "> not available in file."
3208  << fTTBELL << std::endl;
3209  }
3210  CloseRootFile(file_name);
3211  }
3212  return mat;
3213 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
TEcnaNArrayD fMatMat
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
Int_t GetStinIndex(const Int_t &)
Definition: TEcnaRead.cc:4385
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TString fTTBELL
Definition: TEcnaRead.h:365
int j
Definition: DBlmapReader.cc:9
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
Int_t MaxCrysInStin()
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Bool_t fDataExist
Definition: TEcnaRead.h:406
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
void TestArrayDimH2(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1100
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TMatrixD TEcnaRead::ReadLowFrequencyCovariancesBetweenChannels ( const Int_t &  MatDim)

Definition at line 3510 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypLfCov, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatMat, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, j, TEcnaParEcal::MaxCrysEcnaInStex(), TEcnaParEcal::MaxCrysInStin(), TEcnaParEcal::MaxStinEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), ReadStinNumbers(), and TestArrayDimH2().

3511 {
3512 //Read all the Low Frequency covariances
3513 //in ROOT file and return them in a TMatrixD
3514 //
3515 //Possible values for MatDim: (1) MatDim = fEcal->MaxCrysEcnaInStex()
3516 
3517  TestArrayDimH2("ReadLowFrequencyCovariancesBetweenChannels", "fEcal->MaxCrysEcnaInStex()",
3518  fEcal->MaxCrysEcnaInStex(), MatDim);
3519 
3520  //=====> WARNING: BIG MATRIX (1700x1700)
3521  TMatrixD mat(MatDim, MatDim);
3522  for(Int_t i=0; i-MatDim<0; i++){for(Int_t j=0; j-MatDim<0; j++){mat(i,j)=(Double_t)0.;}}
3523 
3524  TVectorD vec(fEcal->MaxStinEcnaInStex());
3525  for(Int_t i=0; i<fEcal->MaxStinEcnaInStex(); i++){vec(i)=(Double_t)0.;}
3527 
3528  CnaResultTyp typ = cTypLfCov;
3529 
3530  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
3531  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
3532 
3533  Bool_t ok_open = kFALSE;
3534  Bool_t ok_read = kFALSE;
3535 
3536  TString FileNameLong = fCnaWrite->GetRootFileName();
3537  Bool_t allowed_to_read = kFALSE;
3538 
3539 // if ( fOpenRootFile )
3540 // {
3541 // std::cout << "!TEcnaRead::ReadLowFrequencyCovariancesBetweenChannels() *** ERROR ***>"
3542 // << " Reading on file already open." << fTTBELL << std::endl;
3543 // }
3544 
3545  if( FileNameLong == fCurrentlyOpenFileName )
3546  {
3547  allowed_to_read = kTRUE;
3548  }
3549  else
3550  {
3551  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
3552  ok_open = OpenRootFile(file_name, "READ");
3553 
3554  if(ok_open)
3555  {
3556  allowed_to_read = kTRUE;
3557  }
3558  else
3559  {
3560  std::cout << "!TEcnaRead::ReadLowFrequencyCovariancesBetweenChannels(...) *** ERROR ***> Open .root file failed for file: "
3561  << file_name << fTTBELL << std::endl;
3562  allowed_to_read = kFALSE;
3563  ok_read = kFALSE;
3564  }
3565  }
3566 
3567  if( allowed_to_read == kTRUE )
3568  {
3569  Int_t i_zero = 0;
3570  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
3571 
3572  if ( ok_read == kTRUE )
3573  {
3574  fDataExist = kTRUE;
3575  for (Int_t index_Stin_a = 0; index_Stin_a < fEcal->MaxStinEcnaInStex(); index_Stin_a++)
3576  {
3577  if ( vec(index_Stin_a) > 0 && vec(index_Stin_a) <= fEcal->MaxStinEcnaInStex())
3578  {
3579  for (Int_t index_Stin_b = 0; index_Stin_b < fEcal->MaxStinEcnaInStex(); index_Stin_b++)
3580  {
3581  if ( vec(index_Stin_b) > 0 && vec(index_Stin_b) <= fEcal->MaxStinEcnaInStex())
3582  {
3583  for ( Int_t i_crys = 0; i_crys < fEcal->MaxCrysInStin(); i_crys++)
3584  {
3585  Int_t i_cna_chan = index_Stin_a*fEcal->MaxCrysInStin() + i_crys;
3586  Int_t i_chan_sm = (Int_t)(vec(index_Stin_a)-1)*fEcal->MaxCrysInStin() +i_crys;
3587  for ( Int_t j_crys = 0; j_crys < fEcal->MaxCrysInStin(); j_crys++)
3588  {
3589  Int_t j_cna_chan = index_Stin_b*fEcal->MaxCrysInStin() + j_crys;
3590  Int_t j_chan_sm = (Int_t)(vec(index_Stin_b)-1)*fEcal->MaxCrysInStin() +j_crys;
3591  mat(i_chan_sm, j_chan_sm) =
3592  gCnaRootFile->fCnaIndivResult->fMatMat(i_cna_chan,j_cna_chan);
3593  }
3594  }
3595  }
3596  }
3597  }
3598  }
3599  }
3600  else
3601  {
3602  fDataExist = kFALSE;
3603  std::cout << "!TEcnaRead::ReadLowFrequencyCovariancesBetweenChannels() *** ERROR ***> "
3604  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
3605  << " -> quantity: <"
3606  << GetTypeOfQuantity(typ) << "> not available in file."
3607  << fTTBELL << std::endl;
3608  }
3609  CloseRootFile(file_name);
3610  }
3611  return mat;
3612 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
TEcnaNArrayD fMatMat
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TVectorD ReadStinNumbers(const Int_t &)
Definition: TEcnaRead.cc:1129
TString fTTBELL
Definition: TEcnaRead.h:365
int j
Definition: DBlmapReader.cc:9
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
Int_t MaxCrysInStin()
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Int_t MaxCrysEcnaInStex()
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t MaxStinEcnaInStex()
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
void TestArrayDimH2(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1100
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TMatrixD TEcnaRead::ReadLowFrequencyMeanCorrelationsBetweenStins ( const Int_t &  MatDim)

Definition at line 3951 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypLFccMoStins, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatMat, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, j, TEcnaParEcal::MaxStinEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), ReadStinNumbers(), and TestArrayDimH2().

Referenced by ReadMatrix(), and TEcnaHistos::ViewMatrix().

3952 {
3953 //Read all the Low Frequency Mean Correlations Between Stins the for all (Stin_X, Stin_Y)
3954 //in ROOT file and return them in a TMatrixD
3955 //
3956 //Possible values for MatDim: (1) MatDim = fEcal->MaxStinEcnaInStex()
3957 
3958  TestArrayDimH2("ReadLowFrequencyMeanCorrelationsBetweenStins", "fEcal->MaxStinEcnaInStex()",
3959  fEcal->MaxStinEcnaInStex(), MatDim);
3960 
3961  TMatrixD mat(MatDim, MatDim);
3962  for(Int_t i=0; i-MatDim<0; i++)
3963  {for(Int_t j=0; j-MatDim<0; j++){mat(i,j)=(Double_t)0.;}}
3964 
3965  TVectorD vec(fEcal->MaxStinEcnaInStex());
3966  for(Int_t i=0; i<fEcal->MaxStinEcnaInStex(); i++){vec(i)=(Double_t)0.;}
3968 
3970 
3971  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
3972  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
3973 
3974  Bool_t ok_open = kFALSE;
3975  Bool_t ok_read = kFALSE;
3976 
3977  TString FileNameLong = fCnaWrite->GetRootFileName();
3978  Bool_t allowed_to_read = kFALSE;
3979 
3980 // if ( fOpenRootFile )
3981 // {
3982 // std::cout << "!TEcnaRead::ReadLowFrequencyMeanCorrelationsBetweenStins() *** ERROR ***>"
3983 // << " Reading on file already open." << fTTBELL << std::endl;
3984 // }
3985 
3986  if( FileNameLong == fCurrentlyOpenFileName )
3987  {
3988  allowed_to_read = kTRUE;
3989  }
3990  else
3991  {
3992  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
3993  ok_open = OpenRootFile(file_name, "READ");
3994 
3995  if(ok_open)
3996  {
3997  allowed_to_read = kTRUE;
3998  }
3999  else
4000  {
4001  std::cout << "!TEcnaRead::ReadLowFrequencyMeanCorrelationsBetweenStins(...) *** ERROR ***> Open .root file failed for file: "
4002  << file_name << fTTBELL << std::endl;
4003  allowed_to_read = kFALSE;
4004  ok_read = kFALSE;
4005  }
4006  }
4007 
4008  if( allowed_to_read == kTRUE )
4009  {
4010  Int_t i_zero = 0;
4011  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
4012 
4013  if( ok_read == kTRUE )
4014  {
4015  fDataExist = kTRUE;
4016  for(Int_t index_Stin_a = 0; index_Stin_a - MatDim < 0; index_Stin_a++)
4017  {
4018  for(Int_t index_Stin_b = 0; index_Stin_b - MatDim < 0; index_Stin_b++)
4019  {
4020  if( vec(index_Stin_a) > 0 && vec(index_Stin_a) <= MatDim)
4021  {
4022  if( vec(index_Stin_b) > 0 && vec(index_Stin_b) <= MatDim)
4023  {
4024  Int_t vec_ia_m = (Int_t)vec(index_Stin_a)-1;
4025  Int_t vec_ib_m = (Int_t)vec(index_Stin_b)-1;
4026  mat((Int_t)vec_ia_m, vec_ib_m) =
4027  gCnaRootFile->fCnaIndivResult->fMatMat(index_Stin_a,index_Stin_b);
4028  }
4029  }
4030  }
4031  }
4032  }
4033  else
4034  {
4035  fDataExist = kFALSE;
4036  std::cout << "!TEcnaRead::ReadLowFrequencyMeanCorrelationsBetweenStins() *** ERROR ***> "
4037  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
4038  << " -> quantity: <"
4039  << GetTypeOfQuantity(typ) << "> not available in file."
4040  << fTTBELL << std::endl;
4041  }
4042  CloseRootFile(file_name);
4043  }
4044  return mat;
4045 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
TEcnaNArrayD fMatMat
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TVectorD ReadStinNumbers(const Int_t &)
Definition: TEcnaRead.cc:1129
TString fTTBELL
Definition: TEcnaRead.h:365
int j
Definition: DBlmapReader.cc:9
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t MaxStinEcnaInStex()
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
void TestArrayDimH2(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1100
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TVectorD TEcnaRead::ReadLowFrequencyNoise ( const Int_t &  VecDim)

Definition at line 2049 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypLfn, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, TEcnaParEcal::MaxCrysEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

Referenced by TEcnaHistos::GetHistoValues(), Read1DHisto(), TEcnaHistos::ViewHistime(), and TEcnaHistos::ViewStex().

2050 {
2051 //Read the sigmas of the expectation values of the samples
2052 //for all the channels of a given Stin
2053 //in the ROOT file and return them in a TVectorD
2054 //
2055 //Possible values for VecDim: (1) MatDim = fEcal->MaxCrysEcnaInStex()
2056 
2057  TestArrayDimH1("ReadLowFrequencyNoise", "fEcal->MaxCrysEcnaInStex()", fEcal->MaxCrysEcnaInStex(), VecDim);
2058 
2059  TVectorD vec(VecDim); for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
2060  CnaResultTyp typ = cTypLfn; // low frequency noise type
2061  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
2062  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
2063 
2064  Bool_t ok_open = kFALSE;
2065  Bool_t ok_read = kFALSE;
2066 
2067  TString FileNameLong = fCnaWrite->GetRootFileName();
2068  Bool_t allowed_to_read = kFALSE;
2069 
2070 // if ( fOpenRootFile )
2071 // {
2072 // std::cout << "!TEcnaRead::ReadLowFrequencyNoise(...) *** ERROR ***> "
2073 // << "Reading on file already open." << fTTBELL << std::endl;
2074 // }
2075 
2076  if( FileNameLong == fCurrentlyOpenFileName )
2077  {
2078  allowed_to_read = kTRUE;
2079  }
2080  else
2081  {
2082  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
2083  ok_open = OpenRootFile(file_name, "READ");
2084 
2085  if(ok_open)
2086  {
2087  allowed_to_read = kTRUE;
2088  }
2089  else
2090  {
2091  std::cout << "!TEcnaRead::ReadLowFrequencyNoise(...) *** ERROR ***> Open .root file failed for file: "
2092  << file_name << fTTBELL << std::endl;
2093  allowed_to_read = kFALSE;
2094  ok_read = kFALSE;
2095  }
2096  }
2097 
2098  if( allowed_to_read == kTRUE )
2099  {
2100  Int_t i_zero = 0;
2101  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
2102 
2103  if ( ok_read == kTRUE )
2104  {
2105  fDataExist = kTRUE;
2106  for ( Int_t i_StexCrys = 0; i_StexCrys < VecDim; i_StexCrys++)
2107  {
2108  vec(i_StexCrys) = gCnaRootFile->fCnaIndivResult->fMatHis(i_zero,i_StexCrys);
2109  }
2110  }
2111  else
2112  {
2113  fDataExist = kFALSE;
2114  std::cout << "!TEcnaRead::ReadLowFrequencyNoise(...) *** ERROR ***> "
2115  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
2116  << " -> quantity: <"
2117  << GetTypeOfQuantity(typ) << "> not available in file."
2118  << fTTBELL << std::endl;
2119  }
2120  CloseRootFile(file_name);
2121  }
2122  return vec;
2123 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Int_t MaxCrysEcnaInStex()
Bool_t fDataExist
Definition: TEcnaRead.h:406
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TMatrixD TEcnaRead::ReadMatrix ( const Int_t &  MatDim,
const TString &  UserCorOrCov,
const TString &  UserBetweenWhat,
const Int_t &  nb_arg_1,
const Int_t &  nb_arg_2 
)

Definition at line 501 of file TEcnaRead.cc.

References TEcnaParHistos::BuildStandardBetweenWhatCode(), TEcnaParHistos::BuildStandardCovOrCorCode(), gather_cfg::cout, fCnaParHistos, fTTBELL, i, j, ReadCorrelationsBetweenSamples(), ReadCovariancesBetweenSamples(), ReadHighFrequencyCorrelationsBetweenChannels(), ReadHighFrequencyCovariancesBetweenChannels(), ReadLowFrequencyCorrelationsBetweenChannels(), and ReadLowFrequencyCovariancesBetweenChannels().

503 {
504  TMatrixD mat(MatDim, MatDim);
505  TString CallingMethod = "2D";
506  TString StandardMatrixType = "?";
507  TString StandardBetweenWhat = "?";
508 
509  StandardMatrixType = fCnaParHistos->BuildStandardCovOrCorCode(CallingMethod, UserCorOrCov);
510  StandardBetweenWhat = fCnaParHistos->BuildStandardBetweenWhatCode(CallingMethod, UserBetweenWhat);
511 
512  if( StandardMatrixType != "?" && StandardBetweenWhat != "?" )
513  {
514  if( StandardBetweenWhat == "Mss" )
515  {
516  Int_t n1StexStin = nb_arg_1;
517  Int_t i0StinEcha = nb_arg_2;
518 
519  if( StandardMatrixType == "Cov" )
520  {mat = ReadCovariancesBetweenSamples(n1StexStin, i0StinEcha, MatDim);}
521 
522  if( StandardMatrixType == "Cor" )
523  {mat = ReadCorrelationsBetweenSamples(n1StexStin, i0StinEcha, MatDim);}
524  }
525 
526  if( StandardBetweenWhat != "Mss" )
527  {
528  Int_t n1StexStin_a = nb_arg_1;
529  Int_t n1StexStin_b = nb_arg_2;
530 
531  if( StandardMatrixType == "Cov" && StandardBetweenWhat == "MccLF" )
532  {mat = ReadLowFrequencyCovariancesBetweenChannels(n1StexStin_a, n1StexStin_b, MatDim);}
533 
534  if( StandardMatrixType == "Cor" && StandardBetweenWhat == "MccLF" )
535  {mat = ReadLowFrequencyCorrelationsBetweenChannels(n1StexStin_a, n1StexStin_b, MatDim);}
536 
537  if( StandardMatrixType == "Cov" && StandardBetweenWhat == "MccHF" )
538  {mat = ReadHighFrequencyCovariancesBetweenChannels(n1StexStin_a, n1StexStin_b, MatDim);}
539 
540  if( StandardMatrixType == "Cor" && StandardBetweenWhat == "MccHF" )
541  {mat = ReadHighFrequencyCorrelationsBetweenChannels(n1StexStin_a, n1StexStin_b, MatDim);}
542  }
543  }
544  else
545  {
546  for(Int_t i=0; i-MatDim<0; i++)
547  {for(Int_t j=0; j-MatDim<0; j++)
548  {mat(i,j) = (double_t)0.;}}
549  std::cout <<"!TEcnaRead::ReadMatrix(...)> UserCorOrCov = " << UserCorOrCov
550  << ", UserBetweenWhat = " << UserBetweenWhat
551  << ". Wrong code(s), no file reading." << fTTBELL << std::endl;
552  }
553  return mat;
554 }
int i
Definition: DBlmapReader.cc:9
TMatrixD ReadCovariancesBetweenSamples(const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:2867
TMatrixD ReadLowFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:3221
TEcnaParHistos * fCnaParHistos
Definition: TEcnaRead.h:375
TString BuildStandardBetweenWhatCode(const TString &, const TString &)
TString fTTBELL
Definition: TEcnaRead.h:365
int j
Definition: DBlmapReader.cc:9
TMatrixD ReadLowFrequencyCovariancesBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:3125
TMatrixD ReadHighFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:3413
TString BuildStandardCovOrCorCode(const TString &, const TString &)
TMatrixD ReadCorrelationsBetweenSamples(const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:2956
TMatrixD ReadHighFrequencyCovariancesBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:3317
TMatrixD TEcnaRead::ReadMatrix ( const Int_t &  MatDim,
const TString &  UserCorOrCov,
const TString &  UserBetweenWhat 
)

Definition at line 556 of file TEcnaRead.cc.

References TEcnaParHistos::BuildStandardBetweenWhatCode(), TEcnaParHistos::BuildStandardCovOrCorCode(), gather_cfg::cout, fCnaParHistos, fTTBELL, i, j, ReadHighFrequencyCorrelationsBetweenChannels(), ReadHighFrequencyCovariancesBetweenChannels(), ReadHighFrequencyMeanCorrelationsBetweenStins(), ReadLowFrequencyCorrelationsBetweenChannels(), ReadLowFrequencyCovariancesBetweenChannels(), and ReadLowFrequencyMeanCorrelationsBetweenStins().

557 {
558  //------------------- (BIG MATRIX 1700x1700 for barrel, 5000x5000 for endcap) ------------------
559  TMatrixD mat(MatDim, MatDim);
560  TString CallingMethod = "2D";
561  TString StandardMatrixType = "?";
562  TString StandardBetweenWhat = "?";
563 
564  StandardMatrixType = fCnaParHistos->BuildStandardCovOrCorCode(CallingMethod, UserCorOrCov);
565  StandardBetweenWhat = fCnaParHistos->BuildStandardBetweenWhatCode(CallingMethod, UserBetweenWhat);
566 
567  if( StandardMatrixType != "?" && StandardBetweenWhat != "?" )
568  {
569  //......................... between channels (covariances, correlations)
570  if( StandardMatrixType == "Cov" && StandardBetweenWhat == "MccLF" )
572 
573  if( StandardMatrixType == "Cor" && StandardBetweenWhat == "MccLF" )
575 
576  if( StandardMatrixType == "Cov" && StandardBetweenWhat == "MccHF" )
578 
579  if( StandardMatrixType == "Cor" && StandardBetweenWhat == "MccHF" )
581 
582  //......................... between Stins (mean correlations)
583  if( StandardMatrixType == "Cor" && StandardBetweenWhat == "MttLF" )
585 
586  if( StandardMatrixType == "Cor" && StandardBetweenWhat == "MttHF" )
588  }
589  else
590  {
591  for(Int_t i=0; i-MatDim<0; i++)
592  {for(Int_t j=0; j-MatDim<0; j++)
593  {mat(i,j) = (double_t)0.;}}
594  std::cout <<"!TEcnaRead::ReadMatrix(...)> UserCorOrCov = " << UserCorOrCov
595  << ", UserBetweenWhat = " << UserBetweenWhat
596  << ". Wrong code(s), no file reading." << fTTBELL << std::endl;
597  }
598  return mat;
599 }
int i
Definition: DBlmapReader.cc:9
TMatrixD ReadLowFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:3221
TEcnaParHistos * fCnaParHistos
Definition: TEcnaRead.h:375
TMatrixD ReadHighFrequencyMeanCorrelationsBetweenStins(const Int_t &)
Definition: TEcnaRead.cc:4053
TString BuildStandardBetweenWhatCode(const TString &, const TString &)
TMatrixD ReadLowFrequencyMeanCorrelationsBetweenStins(const Int_t &)
Definition: TEcnaRead.cc:3951
TString fTTBELL
Definition: TEcnaRead.h:365
int j
Definition: DBlmapReader.cc:9
TMatrixD ReadLowFrequencyCovariancesBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:3125
TMatrixD ReadHighFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:3413
TString BuildStandardCovOrCorCode(const TString &, const TString &)
TMatrixD ReadHighFrequencyCovariancesBetweenChannels(const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:3317
TVectorD TEcnaRead::ReadMeanCorrelationsBetweenSamples ( const Int_t &  VecDim)

Definition at line 1968 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypMeanCorss, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, TEcnaParEcal::MaxCrysEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

Referenced by TEcnaHistos::GetHistoValues(), Read1DHisto(), TEcnaHistos::ViewHistime(), and TEcnaHistos::ViewStex().

1969 {
1970 //Read the Expectation values of the (sample,sample) correlations
1971 //for all the channels of a given Stin
1972 //in the ROOT file and return them in a TVectorD
1973 //
1974 //Possible values for VecDim: (1) VecDim = fEcal->MaxCrysEcnaInStex()
1975 
1976  TestArrayDimH1("ReadMeanCorrelationsBetweenSamples", "fEcal->MaxCrysEcnaInStex()",
1977  fEcal->MaxCrysEcnaInStex(), VecDim);
1978 
1979  TVectorD vec(VecDim); for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
1980  CnaResultTyp typ = cTypMeanCorss; // mean corss type
1981  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
1982  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
1983 
1984  Bool_t ok_open = kFALSE;
1985  Bool_t ok_read = kFALSE;
1986 
1987  TString FileNameLong = fCnaWrite->GetRootFileName();
1988  Bool_t allowed_to_read = kFALSE;
1989 
1990  //if ( fOpenRootFile )
1991  // {
1992  // std::cout << "!TEcnaRead::ReadMeanCorrelationsBetweenSamples(...) *** ERROR ***> "
1993  // << "Reading on file already open." << fTTBELL << std::endl;
1994  // }
1995 
1996  if( FileNameLong == fCurrentlyOpenFileName )
1997  {
1998  allowed_to_read = kTRUE;
1999  }
2000  else
2001  {
2002  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
2003  ok_open = OpenRootFile(file_name, "READ");
2004  if(ok_open)
2005  {
2006  allowed_to_read = kTRUE;
2007  }
2008  else
2009  {
2010  std::cout << "!TEcnaRead::ReadMeanCorrelationsBetweenSamples(...) *** ERROR ***> Open .root file failed for file: "
2011  << file_name << fTTBELL << std::endl;
2012  allowed_to_read = kFALSE;
2013  ok_read = kFALSE;
2014  }
2015  }
2016 
2017  if( allowed_to_read == kTRUE )
2018  {
2019  Int_t i_zero = 0;
2020  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
2021 
2022  if ( ok_read == kTRUE )
2023  {
2024  fDataExist = kTRUE;
2025  for ( Int_t i_StexCrys = 0; i_StexCrys < VecDim; i_StexCrys++)
2026  {
2027  vec(i_StexCrys) = gCnaRootFile->fCnaIndivResult->fMatHis(i_zero,i_StexCrys);
2028  }
2029  }
2030  else
2031  {
2032  fDataExist = kFALSE;
2033  std::cout << "!TEcnaRead::ReadMeanCorrelationsBetweenSamples(...) *** ERROR ***> "
2034  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
2035  << " -> quantity: <"
2036  << GetTypeOfQuantity(typ) << "> not available in file."
2037  << fTTBELL << std::endl;
2038  }
2039  CloseRootFile(file_name);
2040  }
2041  return vec;
2042 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Int_t MaxCrysEcnaInStex()
Bool_t fDataExist
Definition: TEcnaRead.h:406
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TVectorD TEcnaRead::ReadNumberOfEvents ( const Int_t &  VecDim)

Definition at line 1662 of file TEcnaRead.cc.

References fEcal, fEcalNumbering, fFileHeader, TEcnaHeader::fNbOfSamples, TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha(), i, j, TEcnaParEcal::MaxCrysEcnaInStex(), TEcnaParEcal::MaxCrysInStin(), TEcnaParEcal::MaxStinEcnaInStex(), ReadNumberOfEventsForSamples(), and TestArrayDimH1().

Referenced by TEcnaHistos::GetHistoValues(), GetNumberOfEvents(), Read1DHisto(), ReadAverageNumberOfEvents(), and TEcnaHistos::ViewStex().

1663 {
1664 //Read the numbers of found events in the data
1665 //for the crystals and for the samples for all the Stin's in the Stex
1666 //in the ROOT file, compute the average on the samples
1667 //and return them in a TVectorD(MaxCrysEcnaInStex)
1668 //
1669 //Possible values for VecDim: (1) MatDim = fEcal->MaxCrysEcnaInStex()
1670 
1671  TestArrayDimH1("ReadNumberOfEvents", "fEcal->MaxCrysEcnaInStex()", fEcal->MaxCrysEcnaInStex(), VecDim);
1672 
1673  TVectorD vec(VecDim);
1674  for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
1675 
1676  TMatrixD mat(fEcal->MaxCrysInStin(), fFileHeader->fNbOfSamples);
1677 
1678  for(Int_t iStexStin=0; iStexStin<fEcal->MaxStinEcnaInStex(); iStexStin++)
1679  {
1680  //............. set mat(,) to zero before reading it
1681  for(Int_t i=0; i<fEcal->MaxCrysInStin(); i++)
1682  {for(Int_t j=0; j<fFileHeader->fNbOfSamples; j++){mat(i,j)=(Double_t)0.;}}
1683  //............. read mat(,)
1684  Int_t n1StexStin = iStexStin+1;
1686 
1687  for(Int_t i0StinEcha=0; i0StinEcha<fEcal->MaxCrysInStin(); i0StinEcha++)
1688  {
1689  Int_t i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(n1StexStin, i0StinEcha);
1690  vec(i0StexEcha) = 0;
1691  //.... average value over the samples
1692  for(Int_t i_samp=0; i_samp<fFileHeader->fNbOfSamples; i_samp++)
1693  {vec(i0StexEcha) += mat(i0StinEcha, i_samp);}
1694  vec(i0StexEcha) = vec(i0StexEcha)/fFileHeader->fNbOfSamples;
1695  }
1696  }
1697  return vec;
1698 }
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
Int_t fNbOfSamples
Definition: TEcnaHeader.h:51
int j
Definition: DBlmapReader.cc:9
Int_t MaxCrysInStin()
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
TMatrixD ReadNumberOfEventsForSamples(const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1705
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Int_t MaxCrysEcnaInStex()
TEcnaNumbering * fEcalNumbering
Definition: TEcnaRead.h:374
Int_t Get0StexEchaFrom1StexStinAnd0StinEcha(const Int_t &, const Int_t &)
Int_t MaxStinEcnaInStex()
TMatrixD TEcnaRead::ReadNumberOfEventsForSamples ( const Int_t &  n1StexStin,
const Int_t &  MatDimX,
const Int_t &  MatDimY 
)

Definition at line 1705 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypNbOfEvts, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, fLookAtRootFile, TEcnaResultType::fMatHis, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetStinIndex(), GetTypeOfQuantity(), i, j, OpenRootFile(), and TEcnaRootFile::ReadElement().

Referenced by ReadNumberOfEvents(), and TEcnaRun::ReadSampleAdcValues().

1707 {
1708 //Read the numbers of found events in the data
1709 //for the crystals and for the samples, for a given Stin in the Stex
1710 //in the ROOT file and return them in a TMatrixD(MaxCrysInStin,NbOfSamples)
1711 //
1712 //Possible values for MatDimX and MatDimY:
1713 // (1) MatDimX = fEcal->MaxCrysInStin(), MatDimY = fFileHeader->fNbOfSamples
1714 
1715 
1716 
1717  TMatrixD mat(MatDimX, MatDimY);
1718  for(Int_t i=0; i-MatDimX<0; i++)
1719  {for(Int_t j=0; j-MatDimY<0; j++){mat(i,j)=(Double_t)0.;}}
1720 
1721  Int_t Stin_index = GetStinIndex(n1StexStin);
1722  if( Stin_index >= 0 )
1723  {
1724  if(fLookAtRootFile == 1)
1725  {
1726  CnaResultTyp typ = cTypNbOfEvts;
1727  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
1728  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
1729 
1730  Bool_t ok_open = kFALSE;
1731  Bool_t ok_read = kFALSE;
1732 
1733  TString FileNameLong = fCnaWrite->GetRootFileName();
1734  Bool_t allowed_to_read = kFALSE;
1735 
1736  // if ( fOpenRootFile )
1737  // {
1738  // std::cout << "!TEcnaRead::ReadNumberOfEventsForSamples(...) *** ERROR ***> "
1739  // << " Reading on file already open." << fTTBELL << std::endl;
1740  // }
1741 
1742  if( FileNameLong == fCurrentlyOpenFileName )
1743  {
1744  allowed_to_read = kTRUE;
1745  }
1746  else
1747  {
1748  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
1749  ok_open = OpenRootFile(file_name, "READ"); // set fOpenRootFile to kTRUE
1750  if(ok_open)
1751  {
1752  allowed_to_read = kTRUE;
1753  }
1754  else
1755  {
1756  std::cout << "!TEcnaRead::ReadNumberOfEventsForSamples(...) *** ERROR ***> Open .root file failed for file: "
1757  << file_name << fTTBELL << std::endl;
1758  allowed_to_read = kFALSE;
1759  ok_read = kFALSE;
1760  }
1761  }
1762 
1763  if( allowed_to_read == kTRUE )
1764  {
1765  Int_t i_zero = 0;
1766  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
1767 
1768  if ( ok_read == kTRUE )
1769  {
1770  fDataExist = kTRUE;
1771  for (Int_t i_crys=0; i_crys-MatDimX<0; i_crys++)
1772  {
1773  Int_t j_cna_chan = Stin_index*MatDimX + i_crys;
1774  for ( Int_t i_samp=0; i_samp-MatDimY<0; i_samp++)
1775  {
1776  mat(i_crys, i_samp) = gCnaRootFile->fCnaIndivResult->fMatHis(j_cna_chan, i_samp);
1777  }
1778  }
1779  }
1780  else
1781  {
1782  fDataExist = kFALSE;
1783  std::cout << "!TEcnaRead::ReadNumberOfEventsForSamples(...) *** ERROR ***> "
1784  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
1785  << " -> quantity: <"
1786  << GetTypeOfQuantity(typ) << "> not available in file."
1787  << fTTBELL << std::endl;
1788  }
1789  }
1790  CloseRootFile(file_name);
1791  } // end of if (fLookAtRootFile == 1)
1792  else
1793  {
1794  std::cout << "!TEcnaRead::ReadNumberOfEventsForSamples(...) *** ERROR ***> "
1795  << "It is not possible to access the number of found events: the ROOT file has not been read."
1796  << fTTBELL << std::endl;
1797  }
1798  } // end of if (Stin_index >= 0)
1799  return mat;
1800 }// ----------------- end of ReadNumberOfEventsForSamples(...)
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
Int_t GetStinIndex(const Int_t &)
Definition: TEcnaRead.cc:4385
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
int j
Definition: DBlmapReader.cc:9
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Bool_t fDataExist
Definition: TEcnaRead.h:406
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
Int_t fLookAtRootFile
Definition: TEcnaRead.h:388
TVectorD TEcnaRead::ReadPedestals ( const Int_t &  VecDim)

Definition at line 1807 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypPed, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, TEcnaParEcal::MaxCrysEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

Referenced by TEcnaHistos::GetHistoValues(), Read1DHisto(), TEcnaHistos::ViewHistime(), and TEcnaHistos::ViewStex().

1808 {
1809 //Read the expectation values of the expectation values of the samples
1810 //for all the channels of a given Stin
1811 //in the ROOT file and return them in a TVectorD
1812 //
1813 //Possible values for VecDim: (1) MatDim = fEcal->MaxCrysEcnaInStex()
1814 
1815  TestArrayDimH1("ReadPedestals", "fEcal->MaxCrysEcnaInStex()", fEcal->MaxCrysEcnaInStex(), VecDim);
1816 
1817  TVectorD vec(VecDim);
1818  for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
1819 
1820  CnaResultTyp typ = cTypPed; // pedestals type
1821  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
1822  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
1823 
1824  Bool_t ok_open = kFALSE;
1825  Bool_t ok_read = kFALSE;
1826 
1827  TString FileNameLong = fCnaWrite->GetRootFileName();
1828  Bool_t allowed_to_read = kFALSE;
1829 
1830 // if ( fOpenRootFile )
1831 // {
1832 // std::cout << "!TEcnaRead::ReadPedestals(...) *** ERROR ***> "
1833 // << "Reading on file already open." << fTTBELL << std::endl;
1834 // }
1835 
1836  if( FileNameLong == fCurrentlyOpenFileName )
1837  {
1838  allowed_to_read = kTRUE;
1839  }
1840  else
1841  {
1842  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
1843  ok_open = OpenRootFile(file_name, "READ");
1844  if(ok_open)
1845  {
1846  allowed_to_read = kTRUE;
1847  }
1848  else
1849  {
1850  std::cout << "!TEcnaRead::ReadPedestals(...) *** ERROR ***> Open .root file failed for file: "
1851  << file_name << fTTBELL << std::endl;
1852  allowed_to_read = kFALSE;
1853  ok_read = kFALSE;
1854  }
1855  }
1856 
1857  if( allowed_to_read == kTRUE )
1858  {
1859  Int_t i_zero = 0;
1860  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
1861 
1862  if ( ok_read == kTRUE )
1863  {
1864  fDataExist = kTRUE;
1865  for ( Int_t i_StexCrys = 0; i_StexCrys < VecDim; i_StexCrys++)
1866  {
1867  vec(i_StexCrys) = gCnaRootFile->fCnaIndivResult->fMatHis(i_zero, i_StexCrys);
1868  }
1869  }
1870  else
1871  {
1872  fDataExist = kFALSE;
1873  std::cout << "!TEcnaRead::ReadPedestals(...) *** ERROR ***> "
1874  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
1875  << " -> quantity: <"
1876  << GetTypeOfQuantity(typ) << "> not available in file."
1877  << fTTBELL << std::endl;
1878  }
1879  CloseRootFile(file_name);
1880  }
1881  return vec;
1882 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Int_t MaxCrysEcnaInStex()
Bool_t fDataExist
Definition: TEcnaRead.h:406
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TVectorD TEcnaRead::ReadRelevantCorrelationsBetweenSamples ( const Int_t &  n1StexStin,
const Int_t &  i0StinEcha,
const Int_t &  InPutMatDim 
)

Definition at line 3038 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypCorCss, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcalNumbering, fFileHeader, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatMat, TEcnaHeader::fNbOfSamples, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha(), TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH2().

3040 {
3041 //Read the (sample,sample) correlations for a given channel
3042 //in ROOT file and return the relevant correlations in a TVectorD
3043 //
3044 //Possible values for InPutMatDim: (1) InPutMatDim = fFileHeader->fNbOfSamples
3045 //
3046 // *===> OutPut TVectorD dimension value = InPutMatDim*(InPutMatDim-1)/2
3047 
3048  TestArrayDimH2("ReadRelevantCorrelationsBetweenSamples", "fFileHeader->fNbOfSamples",
3049  fFileHeader->fNbOfSamples, InPutMatDim);
3050 
3051  Int_t i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(n1StexStin, i0StinEcha);
3052  Int_t nb_of_relevant = InPutMatDim*(InPutMatDim-1)/2;
3053  TVectorD vec_rel(nb_of_relevant); for(Int_t i=0; i<nb_of_relevant; i++){vec_rel(i)=(Double_t)0.;}
3054  CnaResultTyp typ = cTypCorCss;
3055  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
3056  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
3057 
3058  Bool_t ok_open = kFALSE;
3059  Bool_t ok_read = kFALSE;
3060 
3061  TString FileNameLong = fCnaWrite->GetRootFileName();
3062  Bool_t allowed_to_read = kFALSE;
3063 
3064 // if ( fOpenRootFile )
3065 // {
3066 // std::cout << "!TEcnaRead::ReadRelevantCorrelationsBetweenSamples(...) *** ERROR ***> "
3067 // << "Reading on file already open." << fTTBELL << std::endl;
3068 // }
3069 
3070  if( FileNameLong == fCurrentlyOpenFileName )
3071  {
3072  allowed_to_read = kTRUE;
3073  }
3074  else
3075  {
3076  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
3077  ok_open = OpenRootFile(file_name, "READ");
3078 
3079  if(ok_open)
3080  {
3081  allowed_to_read = kTRUE;
3082  }
3083  else
3084  {
3085  std::cout << "!TEcnaRead::ReadRelevantCorrelationsBetweenSamples(...) *** ERROR ***> Open .root file failed for file: "
3086  << file_name << fTTBELL << std::endl;
3087  allowed_to_read = kFALSE;
3088  ok_read = kFALSE;
3089  }
3090  }
3091 
3092  if( allowed_to_read == kTRUE )
3093  {
3094  ok_read = gCnaRootFile->ReadElement(typ, i0StexEcha);
3095 
3096  if ( ok_read == kTRUE )
3097  {
3098  fDataExist = kTRUE;
3099  Int_t k_cor = 0;
3100  for ( Int_t i_samp = 0; i_samp < InPutMatDim; i_samp++){
3101  for ( Int_t j_samp = 0; j_samp < i_samp; j_samp++){
3102  vec_rel(k_cor) = gCnaRootFile->fCnaIndivResult->fMatMat(i_samp,j_samp);
3103  k_cor++;}}
3104  }
3105  else
3106  {
3107  fDataExist = kFALSE;
3108  std::cout << "!TEcnaRead::ReadRelevantCorrelationsBetweenSamples() *** ERROR ***> "
3109  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
3110  << " -> quantity: <"
3111  << GetTypeOfQuantity(typ) << "> not available in file."
3112  << fTTBELL << std::endl;
3113  }
3114  CloseRootFile(file_name);
3115  }
3116  return vec_rel;
3117 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
TEcnaNArrayD fMatMat
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
Int_t fNbOfSamples
Definition: TEcnaHeader.h:51
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
TEcnaNumbering * fEcalNumbering
Definition: TEcnaRead.h:374
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t Get0StexEchaFrom1StexStinAnd0StinEcha(const Int_t &, const Int_t &)
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
void TestArrayDimH2(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1100
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
Bool_t TEcnaRead::ReadRootFileHeader ( const Int_t &  i_print)

Definition at line 988 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, TEcnaHeader::fAdcEvtCalc, TEcnaHeader::fAvHfnCalc, TEcnaHeader::fAvLfnCalc, TEcnaHeader::fAvMeanCorssCalc, TEcnaHeader::fAvPedCalc, TEcnaHeader::fAvSigCorssCalc, TEcnaHeader::fAvTnoCalc, fCnaWrite, TEcnaHeader::fCorCssCalc, TEcnaHeader::fCovCssCalc, fCurrentlyOpenFileName, fFileHeader, fFlagNoFileOpen, TEcnaHeader::fHFccMoStinsCalc, TEcnaHeader::fHfCorCalc, TEcnaHeader::fHfCovCalc, cmsPerfSuiteHarvest::file_name, TEcnaHeader::fLFccMoStinsCalc, TEcnaHeader::fLfCorCalc, TEcnaHeader::fLfCovCalc, TEcnaHeader::fMeanCorssCalc, TEcnaHeader::fMSpCalc, TEcnaRootFile::fRootFile, TEcnaWrite::fRootFileNameShort, TEcnaHeader::fRunType, TEcnaHeader::fSigCorssCalc, TEcnaHeader::fSSpCalc, TEcnaHeader::fStartDate, TEcnaHeader::fStartTime, TEcnaHeader::fStinNumbersCalc, TEcnaHeader::fStopDate, TEcnaHeader::fStopTime, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), OpenRootFile(), and TEcnaHeader::Print().

Referenced by LookAtRootFile().

989 {
990 //Read the header of the Root file => test the file existence
991 
992  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
993  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
994 
995  if( i_print == 1 ){std::cout << "*TEcnaRead::ReadRootFileHeader> file_name = "
996  << fCnaWrite->fRootFileNameShort.Data() << std::endl;}
997 
998  Bool_t ok_open = kFALSE;
999 
1000  TString FileNameLong = fCnaWrite->GetRootFileName();
1001  Bool_t allowed_to_read = kFALSE;
1002 
1003  // if( fOpenRootFile )
1004  // {
1005  // std::cout << "!TEcnaRead::ReadRootFileHeader(...)*** ERROR ***> "
1006  // << "Reading header on file already open." << std::endl;
1007  // }
1008 
1009  if( FileNameLong == fCurrentlyOpenFileName )
1010  {
1011  allowed_to_read = kTRUE;
1012  }
1013  else
1014  {
1015  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
1016  ok_open = OpenRootFile(file_name, "READ");
1017  if(ok_open)
1018  {
1019  allowed_to_read = kTRUE;
1020  }
1021  else
1022  {
1023  std::cout << "!TEcnaRead::ReadRootFileHeader(...) *** ERROR ***> Open .root file failed for file: "
1024  << file_name << fTTBELL << std::endl;
1025  allowed_to_read = kFALSE;
1026  }
1027  }
1028 
1029  if( allowed_to_read == kTRUE )
1030  {
1031  TEcnaHeader *headerFile;
1032  headerFile =(TEcnaHeader*)gCnaRootFile->fRootFile->Get("CnaHeader");
1033 
1034  //..... get the attributes which are not already set by the call to TEcnaHeader
1035  // in FileParameters(...) and are only available in the ROOT file
1036 
1037  fFileHeader->fStartTime = headerFile->fStartTime;
1038  fFileHeader->fStopTime = headerFile->fStopTime;
1039  fFileHeader->fStartDate = headerFile->fStartDate;
1040  fFileHeader->fStopDate = headerFile->fStopDate;
1041 
1042  fFileHeader->fRunType = headerFile->fRunType;
1043 
1044  //....... Les f..Calc dans le header: pour acces direct a la taille des differentes data du fichier
1046  fFileHeader->fAdcEvtCalc = headerFile->fAdcEvtCalc;
1047  fFileHeader->fMSpCalc = headerFile->fMSpCalc;
1048  fFileHeader->fSSpCalc = headerFile->fSSpCalc;
1049  fFileHeader->fAvTnoCalc = headerFile->fAvTnoCalc;
1050  fFileHeader->fAvLfnCalc = headerFile->fAvLfnCalc;
1051  fFileHeader->fAvHfnCalc = headerFile->fAvHfnCalc;
1052 
1053  fFileHeader->fCovCssCalc = headerFile->fCovCssCalc;
1054  fFileHeader->fCorCssCalc = headerFile->fCorCssCalc;
1055  fFileHeader->fHfCovCalc = headerFile->fHfCovCalc;
1056  fFileHeader->fHfCorCalc = headerFile->fHfCorCalc;
1057  fFileHeader->fLfCovCalc = headerFile->fLfCovCalc;
1058  fFileHeader->fLfCorCalc = headerFile->fLfCorCalc;
1061  fFileHeader->fMeanCorssCalc = headerFile->fMeanCorssCalc;
1062  fFileHeader->fSigCorssCalc = headerFile->fSigCorssCalc;
1063 
1064  fFileHeader->fAvPedCalc = headerFile->fAvPedCalc;
1067 
1068  if(i_print == 1){fFileHeader->Print();}
1069 
1070  CloseRootFile(file_name);
1071  return kTRUE;
1072  }
1073  return kFALSE;
1074 }
Int_t fHFccMoStinsCalc
Definition: TEcnaHeader.h:83
Int_t fAvLfnCalc
Definition: TEcnaHeader.h:73
Int_t fSSpCalc
Definition: TEcnaHeader.h:71
void Print()
Definition: TEcnaHeader.cc:144
Int_t fRunType
Definition: TEcnaHeader.h:63
Int_t fAvMeanCorssCalc
Definition: TEcnaHeader.h:92
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
Int_t fHfCorCalc
Definition: TEcnaHeader.h:79
Int_t fMSpCalc
Definition: TEcnaHeader.h:70
TString fStopDate
Definition: TEcnaHeader.h:61
Int_t fMeanCorssCalc
Definition: TEcnaHeader.h:86
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
Int_t fHfCovCalc
Definition: TEcnaHeader.h:78
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
Int_t fCorCssCalc
Definition: TEcnaHeader.h:77
Int_t fAvTnoCalc
Definition: TEcnaHeader.h:72
TString fTTBELL
Definition: TEcnaRead.h:365
Int_t fAvHfnCalc
Definition: TEcnaHeader.h:74
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TString fStartDate
Definition: TEcnaHeader.h:60
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
Int_t fAvPedCalc
Definition: TEcnaHeader.h:91
Int_t fLfCorCalc
Definition: TEcnaHeader.h:81
Int_t fAdcEvtCalc
Definition: TEcnaHeader.h:69
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
time_t fStartTime
Definition: TEcnaHeader.h:58
time_t fStopTime
Definition: TEcnaHeader.h:59
Int_t fLfCovCalc
Definition: TEcnaHeader.h:80
Int_t fLFccMoStinsCalc
Definition: TEcnaHeader.h:82
Int_t fSigCorssCalc
Definition: TEcnaHeader.h:89
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
Int_t fStinNumbersCalc
Definition: TEcnaHeader.h:66
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
Int_t fAvSigCorssCalc
Definition: TEcnaHeader.h:93
Int_t fCovCssCalc
Definition: TEcnaHeader.h:76
TFile * fRootFile
Definition: TEcnaRootFile.h:36
TVectorD TEcnaRead::ReadSampleAdcValues ( const Int_t &  n1StexStin,
const Int_t &  i0StinEcha,
const Int_t &  sample,
const Int_t &  VecDim 
)

Definition at line 1248 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypAdcEvt, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcalNumbering, fFileHeader, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaHeader::fReqNbOfEvts, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha(), TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

Referenced by TEcnaHistos::GetHistoValues(), and Read1DHisto().

1250 {
1251 //Read the sample ADC values for each event for a given i0StexEcha and a given sample
1252 //in the results ROOT file and return it in a TVectorD(requested nb of events)
1253 //
1254 //Possible values for VecDim: (1) VecDim = fFileHeader->fReqNbOfEvts
1255 
1256  TestArrayDimH1("ReadSampleAdcValues", "fFileHeader->fReqNbOfEvts", fFileHeader->fReqNbOfEvts, VecDim);
1257 
1258  Int_t i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(n1StexStin, i0StinEcha);
1259 
1260  TVectorD vec(VecDim);
1261  for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
1262 
1263  CnaResultTyp typ = cTypAdcEvt; // sample as a function of time type
1264 
1265  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
1266  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
1267 
1268  Bool_t ok_open = kFALSE;
1269  Bool_t ok_read = kFALSE;
1270 
1271  TString FileNameLong = fCnaWrite->GetRootFileName();
1272  Bool_t allowed_to_read = kFALSE;
1273 
1274  // if ( fOpenRootFile )
1275  // {
1276  // std::cout << "!TEcnaRead::ReadSampleAdcValues(...) *** ERROR ***> "
1277  // << "Reading on file already open." << fTTBELL << std::endl;
1278  // }
1279 
1280  if( FileNameLong == fCurrentlyOpenFileName )
1281  {
1282  allowed_to_read = kTRUE;
1283  }
1284  else
1285  {
1286  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
1287  ok_open = OpenRootFile(file_name, "READ");
1288 
1289  if(ok_open)
1290  {
1291  allowed_to_read = kTRUE;
1292  }
1293  else
1294  {
1295  std::cout << "!TEcnaRead::ReadSampleAdcValues(...) *** ERROR ***> Open .root file failed for file: "
1296  << file_name << fTTBELL << std::endl;
1297  allowed_to_read = kFALSE;
1298  ok_read = kFALSE;
1299  }
1300  }
1301 
1302  if( allowed_to_read == kTRUE )
1303  {
1304  ok_read = gCnaRootFile->ReadElement(typ, i0StexEcha);
1305 
1306  if ( ok_read == kTRUE )
1307  {
1308  fDataExist = kTRUE;
1309  for ( Int_t i_bin=0; i_bin<VecDim; i_bin++)
1310  {
1311  vec(i_bin) = gCnaRootFile->fCnaIndivResult->fMatHis(sample, i_bin);
1312  }
1313  }
1314  else
1315  {
1316  fDataExist = kFALSE;
1317  std::cout << "!TEcnaRead::ReadSampleAdcValues(...) *** ERROR ***> "
1318  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
1319  << " -> quantity: <"
1320  << GetTypeOfQuantity(typ) << "> not available in file."
1321  << fTTBELL << std::endl;
1322  }
1323  CloseRootFile(file_name);
1324  }
1325  return vec;
1326 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
Int_t fReqNbOfEvts
Definition: TEcnaHeader.h:55
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
TEcnaNumbering * fEcalNumbering
Definition: TEcnaRead.h:374
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t Get0StexEchaFrom1StexStinAnd0StinEcha(const Int_t &, const Int_t &)
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
Double_t *** TEcnaRead::ReadSampleAdcValuesSameFile ( const Int_t &  DimX,
const Int_t &  DimY,
const Int_t &  DimZ 
)

Definition at line 4162 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypAdcEvt, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCnew, fDataExist, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaWrite::fRootFileNameShort, fT3d1_AdcValues, fT3d2_AdcValues, fT3d_AdcValues, fTTBELL, gCnaRootFile, GetTypeOfQuantity(), OpenRootFile(), TEcnaRootFile::ReadElement(), TEcnaRootFile::ReadElementNextEntryNumber(), and simplePhotonAnalyzer_cfi::sample.

Referenced by TEcnaRun::ReadSampleAdcValues().

4163 {
4164 
4165 //Possible values for DimX, DimY, DimZ : (1) DimX = fEcal->MaxCrysEcnaInStex()
4166 // DimY = fFileHeader->fNbOfSamples
4167 // DimZ = fFileHeader->fReqNbOfEvts
4168 
4169  if(fT3d_AdcValues == 0)
4170  {
4171  //............ Allocation for the 3d array
4172  fT3d_AdcValues = new Double_t**[DimX]; fCnew++;
4173  fT3d2_AdcValues = new Double_t*[DimX*DimY]; fCnew++;
4174  fT3d1_AdcValues = new Double_t[DimX*DimY*DimZ]; fCnew++;
4175 
4176  for(Int_t i0StexEcha = 0 ; i0StexEcha < DimX ; i0StexEcha++){
4177  fT3d_AdcValues[i0StexEcha] = &fT3d2_AdcValues[0] + i0StexEcha*DimY;
4178  for(Int_t j_samp = 0 ; j_samp < DimY ; j_samp++){
4179  fT3d2_AdcValues[DimY*i0StexEcha + j_samp] = &fT3d1_AdcValues[0]+
4180  DimZ*(DimY*i0StexEcha+j_samp);}}
4181  }
4182 
4183  //................................. Init to zero (ReadSampleAdcValuesSameFile)
4184  for (Int_t iza=0; iza<DimX; iza++)
4185  {
4186  for (Int_t izb=0; izb<DimY; izb++)
4187  {
4188  for (Int_t izc=0; izc<DimZ; izc++)
4189  {
4190  if( fT3d_AdcValues[iza][izb][izc] != (Double_t)0 )
4191  {
4192  fT3d_AdcValues[iza][izb][izc] = (Double_t)0;
4193  }
4194  }
4195  }
4196  }
4197 
4198  //-------------------------------------------------------------------------- (ReadSampleAdcValuesSameFile)
4199  CnaResultTyp typ = cTypAdcEvt; // sample as a function of time type
4200 
4201  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
4202 
4203  Bool_t ok_open = kFALSE;
4204  Bool_t ok_read = kFALSE;
4205 
4206  Int_t i_entry = 0;
4207  Int_t i_entry_fail = 0;
4208 
4209  ok_open = OpenRootFile(file_name, "READ");
4210 
4211  if( ok_open == kTRUE )
4212  {
4213  for(Int_t i0StexEcha=0; i0StexEcha<DimX; i0StexEcha++)
4214  {
4215  if( i0StexEcha == 0 )
4216  {
4217  i_entry = gCnaRootFile->ReadElementNextEntryNumber(typ, i0StexEcha);
4218  if( i_entry >= 0 ){ok_read = kTRUE;}
4219  }
4220  if( i_entry >= 0 ) // (ReadSampleAdcValuesSameFile)
4221  {
4222  if( i0StexEcha > 0 ){ok_read = gCnaRootFile->ReadElement(i_entry); i_entry++;}
4223 
4224  if ( ok_read == kTRUE )
4225  {
4226  fDataExist = kTRUE;
4227  for(Int_t sample=0; sample<DimY; sample++)
4228  {
4229  for ( Int_t i_bin=0; i_bin<DimZ; i_bin++)
4230  {
4231  fT3d_AdcValues[i0StexEcha][sample][i_bin]
4233  }
4234  }
4235  }
4236  else // (ReadSampleAdcValuesSameFile)
4237  {
4238  fDataExist = kFALSE;
4239  std::cout << "!TEcnaRead::ReadSampleAdcValuesSameFile(...) *** ERROR ***> "
4240  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
4241  << " -> quantity: <"
4242  << GetTypeOfQuantity(typ) << "> not available in file."
4243  << fTTBELL << std::endl;
4244  }
4245  }
4246  else
4247  {
4248  i_entry_fail++;
4249  }
4250  }
4251  CloseRootFile(file_name);
4252  }
4253  else
4254  {
4255  std::cout << "*TEcnaRead::ReadSampleAdcValuesSameFile(...)> *ERROR* =====> "
4256  << " ROOT file not found" << fTTBELL << std::endl;
4257  }
4258 
4259  if(i_entry_fail > 0 )
4260  {
4261  std::cout << "*TEcnaRead::ReadSampleAdcValuesSameFile(...)> *ERROR* =====> "
4262  << " Entry reading failure(s). i_entry_fail = "
4263  << i_entry_fail << fTTBELL << std::endl;
4264  }
4265  return fT3d_AdcValues;
4266 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
Int_t fCnew
Definition: TEcnaRead.h:362
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
Double_t ** fT3d2_AdcValues
Definition: TEcnaRead.h:410
Double_t * fT3d1_AdcValues
Definition: TEcnaRead.h:411
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Int_t ReadElementNextEntryNumber(CnaResultTyp, Int_t)
Bool_t fDataExist
Definition: TEcnaRead.h:406
Double_t *** fT3d_AdcValues
Definition: TEcnaRead.h:409
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TVectorD TEcnaRead::ReadSampleMeans ( const Int_t &  n1StexStin,
const Int_t &  i0StinEcha,
const Int_t &  VecDim 
)

Definition at line 1335 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypMSp, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcalNumbering, fFileHeader, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaHeader::fNbOfSamples, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha(), TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

Referenced by TEcnaHistos::EvSamplesXtals(), TEcnaHistos::GetHistoValues(), Read1DHisto(), and TEcnaHistos::XtalSamplesEv().

1337 {
1338 //Read the expectation values of the samples
1339 //for a given Stin and a given channel
1340 //in the ROOT file and return them in a TVectorD
1341 //
1342 //Possible values for VecDim : (1) VecDim = fFileHeader->fNbOfSamples
1343 
1344  TestArrayDimH1("ReadSampleMeans", "fFileHeader->fNbOfSamples", fFileHeader->fNbOfSamples, VecDim);
1345 
1346  Int_t i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(n1StexStin, i0StinEcha);
1347 
1348  TVectorD vec(VecDim);
1349  for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
1350 
1351  CnaResultTyp typ = cTypMSp;
1352 
1353  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
1354  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
1355 
1356  Bool_t ok_open = kFALSE;
1357  Bool_t ok_read = kFALSE;
1358 
1359  TString FileNameLong = fCnaWrite->GetRootFileName();
1360  Bool_t allowed_to_read = kFALSE;
1361 
1362  // if ( fOpenRootFile )
1363  // {
1364  // std::cout << "!TEcnaRead::ReadSampleMeans(...) *** ERROR ***> "
1365  // << " Reading on file already open." << fTTBELL << std::endl;
1366  // }
1367 
1368  if( FileNameLong == fCurrentlyOpenFileName )
1369  {
1370  allowed_to_read = kTRUE;
1371  }
1372  else
1373  {
1374  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
1375  ok_open = OpenRootFile(file_name, "READ");
1376  if(ok_open)
1377  {
1378  allowed_to_read = kTRUE;
1379  }
1380  else
1381  {
1382  std::cout << "!TEcnaRead::ReadSampleMeans(...) *** ERROR ***> Open .root file failed for file: "
1383  << file_name << fTTBELL << std::endl;
1384  allowed_to_read = kFALSE;
1385  ok_read = kFALSE;
1386  }
1387  }
1388 
1389  if( allowed_to_read == kTRUE )
1390  {
1391  Int_t i_zero = 0;
1392  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
1393 
1394  if ( ok_read == kTRUE )
1395  {
1396  fDataExist = kTRUE;
1397  for ( Int_t i_samp = 0; i_samp < VecDim; i_samp++)
1398  {
1399  vec(i_samp) = gCnaRootFile->fCnaIndivResult->fMatHis(i0StexEcha, i_samp);
1400  }
1401  }
1402  else
1403  {
1404  fDataExist = kFALSE;
1405  std::cout << "!TEcnaRead::ReadSampleMeans(...) *** ERROR ***> "
1406  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
1407  << " quantity: <"
1408  << GetTypeOfQuantity(typ) << "> not available in file."
1409  << fTTBELL << std::endl;
1410  }
1411  CloseRootFile(file_name);
1412  }
1413  return vec;
1414 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
Int_t fNbOfSamples
Definition: TEcnaHeader.h:51
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
TEcnaNumbering * fEcalNumbering
Definition: TEcnaRead.h:374
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t Get0StexEchaFrom1StexStinAnd0StinEcha(const Int_t &, const Int_t &)
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TVectorD TEcnaRead::ReadSampleMeans ( const Int_t &  n1StexStin,
const Int_t &  VecDim 
)

Definition at line 1416 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypMSp, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fEcalNumbering, fFileHeader, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaHeader::fNbOfSamples, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha(), TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, TEcnaParEcal::MaxCrysInStin(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

1417 {
1418 //Read the expectation values of the samples
1419 //for all the channel of a given Stin
1420 //in the ROOT file and return them in a TVectorD
1421 //
1422 //Possible values for VecDim : (1) VecDim = fFileHeader->fNbOfSamples*fEcal->MaxCrysInStin()
1423 
1424  TestArrayDimH1("ReadSampleMeans", "fFileHeader->fNbOfSamples*fEcal->MaxCrysInStin()",
1426 
1427  TVectorD vec(VecDim);
1428  for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
1429 
1430  CnaResultTyp typ = cTypMSp;
1431 
1432  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
1433  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
1434 
1435  Bool_t ok_open = kFALSE;
1436  Bool_t ok_read = kFALSE;
1437 
1438  TString FileNameLong = fCnaWrite->GetRootFileName();
1439  Bool_t allowed_to_read = kFALSE;
1440 
1441  //if ( fOpenRootFile )
1442  // {
1443  // std::cout << "!TEcnaRead::ReadSampleMeans(...) *** ERROR ***> "
1444  // << " Reading on file already open." << fTTBELL << std::endl;
1445  // }
1446 
1447  if( FileNameLong == fCurrentlyOpenFileName )
1448  {
1449  allowed_to_read = kTRUE;
1450  }
1451  else
1452  {
1453  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
1454  ok_open = OpenRootFile(file_name, "READ");
1455 
1456  if(ok_open)
1457  {
1458  allowed_to_read = kTRUE;
1459  }
1460  else
1461  {
1462  std::cout << "!TEcnaRead::ReadSampleMeans(...) *** ERROR ***> Open .root file failed for file: "
1463  << file_name << fTTBELL << std::endl;
1464  allowed_to_read = kFALSE;
1465  ok_read = kFALSE;
1466  }
1467  }
1468 
1469  if( allowed_to_read == kTRUE )
1470  {
1471  Int_t i_zero = 0;
1472  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
1473 
1474  if ( ok_read == kTRUE )
1475  {
1476  fDataExist = kTRUE;
1477 
1478  for( Int_t i0StinEcha=0; i0StinEcha<fEcal->MaxCrysInStin(); i0StinEcha++ )
1479  {
1480  Int_t i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(n1StexStin, i0StinEcha);
1481  for ( Int_t i_samp=0; i_samp<fFileHeader->fNbOfSamples; i_samp++ )
1482  {
1483  vec(i0StinEcha*fFileHeader->fNbOfSamples+i_samp) =
1484  gCnaRootFile->fCnaIndivResult->fMatHis(i0StexEcha, i_samp);
1485  }
1486  }
1487  }
1488  else
1489  {
1490  fDataExist = kFALSE;
1491  std::cout << "!TEcnaRead::ReadSampleMeans(...) *** ERROR ***> "
1492  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
1493  << " -> quantity: <"
1494  << GetTypeOfQuantity(typ) << "> not available in file."
1495  << fTTBELL << std::endl;
1496  }
1497  CloseRootFile(file_name);
1498  }
1499  return vec;
1500 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
Int_t fNbOfSamples
Definition: TEcnaHeader.h:51
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
Int_t MaxCrysInStin()
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
TEcnaNumbering * fEcalNumbering
Definition: TEcnaRead.h:374
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t Get0StexEchaFrom1StexStinAnd0StinEcha(const Int_t &, const Int_t &)
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TVectorD TEcnaRead::ReadSampleSigmas ( const Int_t &  n1StexStin,
const Int_t &  i0StinEcha,
const Int_t &  VecDim 
)

Definition at line 1507 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypSSp, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcalNumbering, fFileHeader, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaHeader::fNbOfSamples, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha(), TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

Referenced by TEcnaHistos::GetHistoValues(), Read1DHisto(), TEcnaHistos::SigmaSamplesXtals(), and TEcnaHistos::XtalSamplesSigma().

1509 {
1510 //Read the expectation values of the samples
1511 //for a given Stin and a given channel
1512 //in the ROOT file and return them in a TVectorD
1513 //
1514 //Possible values for VecDim : (1) VecDim = fFileHeader->fNbOfSamples
1515 
1516  TestArrayDimH1("ReadSampleSigmas", "fFileHeader->fNbOfSamples", fFileHeader->fNbOfSamples, VecDim);
1517 
1518  Int_t i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(n1StexStin, i0StinEcha);
1519 
1520  TVectorD vec(VecDim);
1521  vec.Zero();
1522 
1523  CnaResultTyp typ = cTypSSp;
1524 
1525  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
1526  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
1527 
1528  TString FileNameLong = fCnaWrite->GetRootFileName();
1529 
1530  //if ( fOpenRootFile )
1531  // {
1532  // std::cout << "!TEcnaRead::ReadSampleSigmas(...) *** ERROR ***> "
1533  // << "Reading on file already open." << fTTBELL << std::endl;
1534  // }
1535 
1536  if (FileNameLong != fCurrentlyOpenFileName)
1537  {
1539  CloseRootFile(current_file_name);
1540 
1541  if(!(OpenRootFile(file_name, "READ")))
1542  {
1543  std::cout << "!TEcnaRead::ReadSampleSigmas(...) *** ERROR ***> Open .root file failed for file: "
1544  << file_name << fTTBELL << std::endl;
1545  return vec;
1546  }
1547  }
1548 
1549  Int_t i_zero = 0;
1550 
1551  if ( gCnaRootFile->ReadElement(typ, i_zero) )
1552  {
1553  fDataExist = kTRUE;
1554  for ( Int_t i_samp = 0; i_samp < VecDim; i_samp++)
1555  {
1556  vec(i_samp) = gCnaRootFile->fCnaIndivResult->fMatHis(i0StexEcha,i_samp);
1557  }
1558  }
1559  else
1560  {
1561  fDataExist = kFALSE;
1562  std::cout << "!TEcnaRead::ReadSampleSigmas(...) *** ERROR ***> "
1563  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
1564  << " -> quantity: <"
1565  << GetTypeOfQuantity(typ) << "> not available in file."
1566  << fTTBELL << std::endl;
1567  }
1568  CloseRootFile(file_name);
1569  return vec;
1570 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
Int_t fNbOfSamples
Definition: TEcnaHeader.h:51
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
TEcnaNumbering * fEcalNumbering
Definition: TEcnaRead.h:374
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t Get0StexEchaFrom1StexStinAnd0StinEcha(const Int_t &, const Int_t &)
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TVectorD TEcnaRead::ReadSampleSigmas ( const Int_t &  n1StexStin,
const Int_t &  VecDim 
)

Definition at line 1572 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypSSp, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fEcalNumbering, fFileHeader, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaHeader::fNbOfSamples, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaNumbering::Get0StexEchaFrom1StexStinAnd0StinEcha(), TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, TEcnaParEcal::MaxCrysInStin(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

1573 {
1574 //Read the expectation values of the samples
1575 //for all the channel of a given Stin
1576 //in the ROOT file and return them in a TVectorD
1577 //
1578 //Possible values for VecDim : (1) VecDim = fFileHeader->fNbOfSamples*fEcal->MaxCrysInStin()
1579 
1580  TestArrayDimH1("ReadSampleSigmas", "fFileHeader->fNbOfSamples*fEcal->MaxCrysInStin()",
1582 
1583  TVectorD vec(VecDim); for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
1584 
1585  CnaResultTyp typ = cTypSSp;
1586 
1587  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
1588  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
1589 
1590  Bool_t ok_open = kFALSE;
1591  Bool_t ok_read = kFALSE;
1592 
1593  TString FileNameLong = fCnaWrite->GetRootFileName();
1594  Bool_t allowed_to_read = kFALSE;
1595 
1596  //if ( fOpenRootFile )
1597  // {
1598  // std::cout << "!TEcnaRead::ReadSampleSigmas(...) *** ERROR ***> "
1599  // << "Reading on file already open." << fTTBELL << std::endl;
1600  // }
1601 
1602  if( FileNameLong == fCurrentlyOpenFileName )
1603  {
1604  allowed_to_read = kTRUE;
1605  }
1606  else
1607  {
1608  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
1609  ok_open = OpenRootFile(file_name, "READ");
1610 
1611  if(ok_open)
1612  {
1613  allowed_to_read = kTRUE;
1614  }
1615  else
1616  {
1617  std::cout << "!TEcnaRead::ReadSampleSigmas(...) *** ERROR ***> Open .root file failed for file: "
1618  << file_name << fTTBELL << std::endl;
1619  allowed_to_read = kFALSE;
1620  ok_read = kFALSE;
1621  }
1622  }
1623 
1624  if( allowed_to_read == kTRUE )
1625  {
1626  Int_t i_zero = 0;
1627  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
1628 
1629  if ( ok_read == kTRUE )
1630  {
1631  fDataExist = kTRUE;
1632 
1633  for( Int_t i0StinEcha=0; i0StinEcha<fEcal->MaxCrysInStin(); i0StinEcha++ )
1634  {
1635  Int_t i0StexEcha = fEcalNumbering->Get0StexEchaFrom1StexStinAnd0StinEcha(n1StexStin, i0StinEcha);
1636  for ( Int_t i_samp = 0; i_samp < fFileHeader->fNbOfSamples; i_samp++)
1637  {
1638  vec(i0StinEcha*fFileHeader->fNbOfSamples+i_samp) =
1639  gCnaRootFile->fCnaIndivResult->fMatHis(i0StexEcha,i_samp);
1640  }
1641  }
1642  }
1643  else
1644  {
1645  fDataExist = kFALSE;
1646  std::cout << "!TEcnaRead::ReadSampleSigmas(...) *** ERROR ***> "
1647  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
1648  << " -> quantity: <"
1649  << GetTypeOfQuantity(typ) << "> not available in file."
1650  << fTTBELL << std::endl;
1651  }
1652  CloseRootFile(file_name);
1653  }
1654  return vec;
1655 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
Int_t fNbOfSamples
Definition: TEcnaHeader.h:51
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
Int_t MaxCrysInStin()
TEcnaHeader * fFileHeader
Definition: TEcnaRead.h:372
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
TEcnaNumbering * fEcalNumbering
Definition: TEcnaRead.h:374
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t Get0StexEchaFrom1StexStinAnd0StinEcha(const Int_t &, const Int_t &)
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TVectorD TEcnaRead::ReadSigmaOfCorrelationsBetweenSamples ( const Int_t &  VecDim)

Definition at line 2211 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypSigCorss, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, TEcnaParEcal::MaxCrysEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

Referenced by TEcnaHistos::GetHistoValues(), Read1DHisto(), TEcnaHistos::ViewHistime(), and TEcnaHistos::ViewStex().

2212 {
2213 //Read the Expectation values of the (sample,sample) correlations
2214 //for all the channels of a given Stin
2215 //in the ROOT file and return them in a TVectorD
2216 //
2217 //Possible values for VecDim: (1) MatDim = fEcal->MaxCrysEcnaInStex()
2218 
2219  TestArrayDimH1("ReadSigmaOfCorrelationsBetweenSamples", "fEcal->MaxCrysEcnaInStex()",
2220  fEcal->MaxCrysEcnaInStex(), VecDim);
2221 
2222  TVectorD vec(VecDim); for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
2223  CnaResultTyp typ = cTypSigCorss; // sigma of corss type
2224  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
2225  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
2226 
2227  Bool_t ok_open = kFALSE;
2228  Bool_t ok_read = kFALSE;
2229 
2230  TString FileNameLong = fCnaWrite->GetRootFileName();
2231  Bool_t allowed_to_read = kFALSE;
2232 
2233 // if ( fOpenRootFile )
2234 // {
2235 // std::cout << "!TEcnaRead::ReadSigmaOfCorrelationsBetweenSamples(...) *** ERROR ***> "
2236 // << "Reading on file already open." << fTTBELL << std::endl;
2237 // }
2238 
2239  if( FileNameLong == fCurrentlyOpenFileName )
2240  {
2241  allowed_to_read = kTRUE;
2242  }
2243  else
2244  {
2245  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
2246  ok_open = OpenRootFile(file_name, "READ");
2247 
2248  if(ok_open)
2249  {
2250  allowed_to_read = kTRUE;
2251  }
2252  else
2253  {
2254  std::cout << "!TEcnaRead::ReadSigmaOfCorrelationsBetweenSamples(...) *** ERROR ***> Open .root file failed for file: "
2255  << file_name << fTTBELL << std::endl;
2256  allowed_to_read = kFALSE;
2257  ok_read = kFALSE;
2258  }
2259  }
2260 
2261  if( allowed_to_read == kTRUE )
2262  {
2263  Int_t i_zero = 0;
2264  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
2265 
2266  if ( ok_read == kTRUE )
2267  {
2268  fDataExist = kTRUE;
2269  for ( Int_t i_StexCrys = 0; i_StexCrys < VecDim; i_StexCrys++)
2270  {
2271  vec(i_StexCrys) = gCnaRootFile->fCnaIndivResult->fMatHis(i_zero,i_StexCrys);
2272  }
2273  }
2274  else
2275  {
2276  fDataExist = kFALSE;
2277  std::cout << "!TEcnaRead::ReadSigmaOfCorrelationsBetweenSamples(...) *** ERROR ***> "
2278  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
2279  << " -> quantity: <"
2280  << GetTypeOfQuantity(typ) << "> not available in file."
2281  << fTTBELL << std::endl;
2282  }
2283  CloseRootFile(file_name);
2284  }
2285  return vec;
2286 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Int_t MaxCrysEcnaInStex()
Bool_t fDataExist
Definition: TEcnaRead.h:406
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TVectorD TEcnaRead::ReadStinNumbers ( const Int_t &  VecDim)

Definition at line 1129 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypNumbers, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCodePrintAllComments, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, fFlagPrint, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, fMemoStinNumbers, TEcnaWrite::fRootFileNameShort, fT1d_StexStinFromIndex, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, TEcnaParEcal::MaxStinEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

Referenced by TEcnaHistos::GetOkViewHisto(), GetStexStinFromIndex(), GetStinIndex(), LookAtRootFile(), ReadHighFrequencyCorrelationsBetweenChannels(), ReadHighFrequencyCovariancesBetweenChannels(), ReadHighFrequencyMeanCorrelationsBetweenStins(), ReadLowFrequencyCorrelationsBetweenChannels(), ReadLowFrequencyCovariancesBetweenChannels(), ReadLowFrequencyMeanCorrelationsBetweenStins(), TEcnaRun::ReadSampleAdcValues(), TEcnaHistos::StexHocoVecoLHFCorcc(), TEcnaHistos::ViewMatrix(), and TEcnaHistos::ViewStin().

1130 {
1131 //Get the Stin numbers and put them in a TVectorD
1132 //Read the ROOT file at first call and load in a TVectorD attribute
1133 //Get directly the TVectorD attribute at other times
1134 //
1135 // Possible values for VecDim:
1136 // (1) VecDim = fEcal->MaxStinEcnaInStex()
1137 
1138  TVectorD vec(VecDim);
1139 
1140  TestArrayDimH1("ReadStinNumbers", "fEcal->MaxStinEcnaInStex()", fEcal->MaxStinEcnaInStex(), VecDim);
1141 
1142  for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
1143 
1144  if (fMemoStinNumbers == 0)
1145  {
1146  CnaResultTyp typ = cTypNumbers;
1147  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
1148  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
1149 
1150  //.............. reading of the ROOT file data type TResultTyp = cTypStinsNumbers
1151  // to get the conversion: Stin index -> Stin number (n1StexStin)
1152 
1153  Bool_t ok_open = kFALSE;
1154  Bool_t ok_read = kFALSE;
1155 
1156  TString FileNameLong = fCnaWrite->GetRootFileName();
1157  Bool_t allowed_to_read = kFALSE;
1158 
1159 // if ( fOpenRootFile )
1160 // {
1161 // std::cout << "!TEcnaRead::ReadStinNumbers(...) *** ERROR ***> Reading on file already open."
1162 // << fTTBELL << std::endl;
1163 // }
1164 
1165  if( FileNameLong == fCurrentlyOpenFileName )
1166  {
1167  allowed_to_read = kTRUE;
1168  }
1169  else
1170  {
1171  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
1172  ok_open = OpenRootFile(file_name, "READ");
1173 
1174  if(ok_open)
1175  {
1176  allowed_to_read = kTRUE;
1177  }
1178  else
1179  {
1180  std::cout << "!TEcnaRead::ReadStinNumbers(...) *** ERROR ***> Open .root file failed for file: "
1181  << file_name << fTTBELL << std::endl;
1182  allowed_to_read = kFALSE;
1183  ok_read = kFALSE;
1184  }
1185  }
1186 
1187  if( allowed_to_read == kTRUE )
1188  {
1189  Int_t i_zero = 0;
1190  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
1191 
1192  if( ok_read == kTRUE )
1193  {
1194  fDataExist = kTRUE;
1195  //......... Get the Stin numbers and put them in TVectorD vec()
1196  for ( Int_t i_Stin = 0; i_Stin < VecDim; i_Stin++)
1197  {
1198  vec(i_Stin) = gCnaRootFile->fCnaIndivResult->fMatHis(0,i_Stin);
1199  fT1d_StexStinFromIndex[i_Stin] = (Int_t)vec(i_Stin);
1200  }
1201  fMemoStinNumbers++;
1202  }
1203  else
1204  {
1205  fDataExist = kFALSE;
1206  std::cout << "!TEcnaRead::ReadStinNumbers(...) *** ERROR ***> "
1207  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
1208  << " -> quantity: <"
1209  << GetTypeOfQuantity(typ) << "> not available in file."
1210  << fTTBELL << std::endl;
1211  }
1212  CloseRootFile(file_name);
1213  }
1214 
1215  if( ok_read == kTRUE )
1216  {
1217  //........................... Print the Stin numbers
1219  {
1220  for(Int_t i=0; i < VecDim; i++)
1221  {
1222  std::cout << "*TEcnaRead::ReadStinNumbers(...)> StinNumber[" << i << "] = "
1223  << vec[i] << std::endl;
1224  }
1225  }
1226  }
1227  }
1228  else
1229  {
1230  fDataExist = kTRUE;
1231  for ( Int_t i_Stin = 0; i_Stin < VecDim; i_Stin++)
1232  {vec(i_Stin) = fT1d_StexStinFromIndex[i_Stin];}
1233  }
1234  return vec;
1235 } // ----------------- ( end of ReadStinNumbers(...) ) -----------------
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
Int_t fMemoStinNumbers
Definition: TEcnaRead.h:392
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
Int_t fCodePrintAllComments
Definition: TEcnaRead.h:402
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
Int_t * fT1d_StexStinFromIndex
Definition: TEcnaRead.h:390
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Int_t fFlagPrint
Definition: TEcnaRead.h:401
Bool_t fDataExist
Definition: TEcnaRead.h:406
Int_t MaxStinEcnaInStex()
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
TVectorD TEcnaRead::ReadTotalNoise ( const Int_t &  VecDim)

Definition at line 1889 of file TEcnaRead.cc.

References CloseRootFile(), gather_cfg::cout, cTypTno, TEcnaRootFile::fCnaIndivResult, fCnaWrite, fCurrentlyOpenFileName, fDataExist, fEcal, fFlagNoFileOpen, cmsPerfSuiteHarvest::file_name, TEcnaResultType::fMatHis, TEcnaWrite::fRootFileNameShort, fTTBELL, gCnaRootFile, TEcnaWrite::GetRootFileName(), GetTypeOfQuantity(), i, TEcnaParEcal::MaxCrysEcnaInStex(), OpenRootFile(), TEcnaRootFile::ReadElement(), and TestArrayDimH1().

Referenced by TEcnaHistos::GetHistoValues(), Read1DHisto(), TEcnaHistos::ViewHistime(), and TEcnaHistos::ViewStex().

1890 {
1891 //Read the expectation values of the sigmas of the samples
1892 //for all the channels of a given Stin
1893 //in the ROOT file and return them in a TVectorD
1894 //
1895 //Possible values for VecDim: (1) MatDim = fEcal->MaxCrysEcnaInStex()
1896 
1897  TestArrayDimH1("ReadTotalNoise", "fEcal->MaxCrysEcnaInStex()", fEcal->MaxCrysEcnaInStex(), VecDim);
1898 
1899  TVectorD vec(VecDim); for(Int_t i=0; i<VecDim; i++){vec(i)=(Double_t)0.;}
1900  CnaResultTyp typ = cTypTno; // Total noise type
1901  const Text_t *file_name = (const Text_t *)fCnaWrite->fRootFileNameShort.Data();
1902  const Text_t *current_file_name = (const Text_t *)fCurrentlyOpenFileName.Data();
1903 
1904  Bool_t ok_open = kFALSE;
1905  Bool_t ok_read = kFALSE;
1906 
1907  TString FileNameLong = fCnaWrite->GetRootFileName();
1908  Bool_t allowed_to_read = kFALSE;
1909 
1910  // if ( fOpenRootFile )
1911  // {
1912  // std::cout << "!TEcnaRead::ReadTotalNoise(...) *** ERROR ***> "
1913  // << "Reading on file already open." << fTTBELL << std::endl;
1914  // }
1915 
1916  if( FileNameLong == fCurrentlyOpenFileName )
1917  {
1918  allowed_to_read = kTRUE;
1919  }
1920  else
1921  {
1922  if( fCurrentlyOpenFileName != fFlagNoFileOpen ){CloseRootFile(current_file_name);}
1923  ok_open = OpenRootFile(file_name, "READ");
1924  if(ok_open)
1925  {
1926  allowed_to_read = kTRUE;
1927  }
1928  else
1929  {
1930  std::cout << "!TEcnaRead::ReadTotalNoise(...) *** ERROR ***> Open .root file failed for file: "
1931  << file_name << fTTBELL << std::endl;
1932  allowed_to_read = kFALSE;
1933  ok_read = kFALSE;
1934  }
1935  }
1936 
1937  if( allowed_to_read == kTRUE )
1938  {
1939  Int_t i_zero = 0;
1940  ok_read = gCnaRootFile->ReadElement(typ, i_zero);
1941 
1942  if ( ok_read == kTRUE )
1943  {
1944  fDataExist = kTRUE;
1945  for ( Int_t i_StexCrys = 0; i_StexCrys < VecDim; i_StexCrys++)
1946  {
1947  vec(i_StexCrys) = gCnaRootFile->fCnaIndivResult->fMatHis(i_zero,i_StexCrys);
1948  }
1949  }
1950  else
1951  {
1952  fDataExist = kFALSE;
1953  std::cout << "!TEcnaRead::ReadTotalNoise(...) *** ERROR ***> "
1954  << fCnaWrite->fRootFileNameShort.Data() << ": .root file failed" << std::endl
1955  << " -> quantity: <"
1956  << GetTypeOfQuantity(typ) << "> not available in file."
1957  << fTTBELL << std::endl;
1958  }
1959  CloseRootFile(file_name);
1960  }
1961  return vec;
1962 }
TEcnaResultType * fCnaIndivResult
Definition: TEcnaRootFile.h:45
void TestArrayDimH1(const TString &, const TString &, const Int_t &, const Int_t &)
Definition: TEcnaRead.cc:1076
int i
Definition: DBlmapReader.cc:9
CnaResultTyp
TEcnaWrite * fCnaWrite
Definition: TEcnaRead.h:376
TString GetTypeOfQuantity(const CnaResultTyp)
Definition: TEcnaRead.cc:4302
TString fRootFileNameShort
Definition: TEcnaWrite.h:142
R__EXTERN TEcnaRootFile * gCnaRootFile
Definition: TEcnaRead.cc:13
TEcnaNArrayD fMatHis
TString fTTBELL
Definition: TEcnaRead.h:365
TString fFlagNoFileOpen
Definition: TEcnaRead.h:385
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
Bool_t OpenRootFile(const Text_t *, const TString &)
Definition: TEcnaRead.cc:807
Int_t MaxCrysEcnaInStex()
Bool_t fDataExist
Definition: TEcnaRead.h:406
Bool_t ReadElement(Int_t)
Bool_t CloseRootFile(const Text_t *)
Definition: TEcnaRead.cc:875
TString GetRootFileName()
Definition: TEcnaWrite.cc:385
TString fCurrentlyOpenFileName
Definition: TEcnaRead.h:384
void TEcnaRead::SetEcalSubDetector ( const TString &  SubDet)

Definition at line 171 of file TEcnaRead.cc.

References fEcal, fFlagSubDet, fgMaxCar, fStexName, fStinName, and TEcnaParEcal::GetEcalSubDetector().

Referenced by TEcnaRead().

172 {
173  // Set Subdetector (EB or EE)
174 
175  Int_t MaxCar = fgMaxCar;
176  fFlagSubDet.Resize(MaxCar);
178 
179  if( fFlagSubDet == "EB" ){fStexName = "SM"; fStinName = "tower";}
180  if( fFlagSubDet == "EE" ){fStexName = "Dee"; fStinName = "SC";}
181 }
Int_t fgMaxCar
Definition: TEcnaRead.h:360
TString fStexName
Definition: TEcnaRead.h:381
TEcnaParEcal * fEcal
Definition: TEcnaRead.h:373
TString fFlagSubDet
Definition: TEcnaRead.h:380
TString GetEcalSubDetector()
TString fStinName
Definition: TEcnaRead.h:381
void TEcnaRead::TestArrayDimH1 ( const TString &  CallingMethod,
const TString &  MaxName,
const Int_t &  MaxValue,
const Int_t &  VecDim 
)

Definition at line 1076 of file TEcnaRead.cc.

References gather_cfg::cout, and fTTBELL.

Referenced by ReadAverageHighFrequencyNoise(), ReadAverageLowFrequencyNoise(), ReadAverageMeanCorrelationsBetweenSamples(), ReadAverageNumberOfEvents(), ReadAveragePedestals(), ReadAverageSigmaOfCorrelationsBetweenSamples(), ReadAverageTotalNoise(), ReadHighFrequencyNoise(), ReadLowFrequencyNoise(), ReadMeanCorrelationsBetweenSamples(), ReadNumberOfEvents(), ReadPedestals(), ReadSampleAdcValues(), ReadSampleMeans(), ReadSampleSigmas(), ReadSigmaOfCorrelationsBetweenSamples(), ReadStinNumbers(), and ReadTotalNoise().

1078 {
1079 // array dim test
1080 
1081  if( MaxValue != VecDim)
1082  {
1083  std::cout << "!TEcnaRead::TestArrayDimH1(...)> No matching for array dimension: CallingMethod: " << CallingMethod.Data()
1084  << ", MaxName: " << MaxName.Data()
1085  << ", Maxvalue = " << MaxValue
1086  << ", VecDim = " << VecDim << fTTBELL << std::endl;
1087  }
1088 #define NOPM
1089 #ifndef NOPM
1090  else
1091  {
1092  std::cout << "!TEcnaRead::TestArrayDimH1(...)> matching array dimension: OK. CallingMethod: " << CallingMethod.Data()
1093  << ", MaxName: " << MaxName.Data()
1094  << ", Maxvalue = " << MaxValue
1095  << ", VecDim = " << VecDim << std::endl;
1096  }
1097 #endif // NOPM
1098 }
TString fTTBELL
Definition: TEcnaRead.h:365
void TEcnaRead::TestArrayDimH2 ( const TString &  CallingMethod,
const TString &  MaxName,
const Int_t &  MaxValue,
const Int_t &  MatDim 
)

Definition at line 1100 of file TEcnaRead.cc.

References gather_cfg::cout, and fTTBELL.

Referenced by ReadCorrelationsBetweenSamples(), ReadCovariancesBetweenSamples(), ReadHighFrequencyCorrelationsBetweenChannels(), ReadHighFrequencyCovariancesBetweenChannels(), ReadHighFrequencyMeanCorrelationsBetweenStins(), ReadLowFrequencyCorrelationsBetweenChannels(), ReadLowFrequencyCovariancesBetweenChannels(), ReadLowFrequencyMeanCorrelationsBetweenStins(), and ReadRelevantCorrelationsBetweenSamples().

1102 {
1103 // array dim test
1104 
1105  if( MaxValue != MatDim)
1106  {
1107  std::cout << "!TEcnaRead::TestArrayDimH2(...)> No matching for array dimension: CallingMethod: " << CallingMethod.Data()
1108  << ", MaxName: " << MaxName.Data()
1109  << ", Maxvalue = " << MaxValue
1110  << ", MatDim = " << MatDim << fTTBELL << std::endl;
1111  }
1112 #define NOPN
1113 #ifndef NOPN
1114  else
1115  {
1116  std::cout << "!TEcnaRead::TestArrayDimH2(...)> matching array dimension: OK. CallingMethod: " << CallingMethod.Data()
1117  << ", MaxName: " << MaxName.Data()
1118  << ", Maxvalue = " << MaxValue
1119  << ", MatDim = " << MatDim << std::endl;
1120  }
1121 #endif // NOPN
1122 }
TString fTTBELL
Definition: TEcnaRead.h:365

Member Data Documentation

Int_t TEcnaRead::fCdelete
private

Definition at line 363 of file TEcnaRead.h.

Referenced by Adelete(), fCopy(), GetNumberOfEvents(), Init(), and ~TEcnaRead().

TEcnaParCout* TEcnaRead::fCnaParCout
private

Definition at line 369 of file TEcnaRead.h.

Referenced by Init(), and TEcnaRead().

TEcnaParHistos* TEcnaRead::fCnaParHistos
private

Definition at line 375 of file TEcnaRead.h.

Referenced by Read1DHisto(), ReadMatrix(), and TEcnaRead().

TEcnaParPaths* TEcnaRead::fCnaParPaths
private

Definition at line 370 of file TEcnaRead.h.

Referenced by TEcnaRead().

TEcnaWrite* TEcnaRead::fCnaWrite
private
Int_t TEcnaRead::fCnew
private
Int_t TEcnaRead::fCodePrintAllComments
private
Int_t TEcnaRead::fCodePrintComments
private

Definition at line 402 of file TEcnaRead.h.

Referenced by fCopy(), FileParameters(), Init(), PrintComments(), and ~TEcnaRead().

Int_t TEcnaRead::fCodePrintNoComment
private

Definition at line 402 of file TEcnaRead.h.

Referenced by fCopy(), Init(), and PrintNoComment().

Int_t TEcnaRead::fCodePrintWarnings
private

Definition at line 402 of file TEcnaRead.h.

Referenced by fCopy(), Init(), and PrintWarnings().

TString TEcnaRead::fCurrentlyOpenFileName
private
Bool_t TEcnaRead::fDataExist
private
TEcnaParEcal* TEcnaRead::fEcal
private
TEcnaNumbering* TEcnaRead::fEcalNumbering
private
TEcnaHeader* TEcnaRead::fFileHeader
private
TString TEcnaRead::fFlagNoFileOpen
private
Int_t TEcnaRead::fFlagPrint
private
TString TEcnaRead::fFlagSubDet
private

Definition at line 380 of file TEcnaRead.h.

Referenced by GetTypeOfQuantity(), and SetEcalSubDetector().

Int_t TEcnaRead::fgMaxCar
private

Definition at line 360 of file TEcnaRead.h.

Referenced by Init(), and SetEcalSubDetector().

Int_t TEcnaRead::fLookAtRootFile
private

Definition at line 388 of file TEcnaRead.h.

Referenced by Init(), LookAtRootFile(), and ReadNumberOfEventsForSamples().

Int_t TEcnaRead::fMemoStinNumbers
private

Definition at line 392 of file TEcnaRead.h.

Referenced by FileParameters(), Init(), and ReadStinNumbers().

Int_t TEcnaRead::fNbChanByLine
private

Definition at line 398 of file TEcnaRead.h.

Int_t TEcnaRead::fNbSampByLine
private

Definition at line 399 of file TEcnaRead.h.

TEcnaObject* TEcnaRead::fObjectManager
private

Definition at line 367 of file TEcnaRead.h.

Referenced by FileParameters(), OpenRootFile(), and TEcnaRead().

Bool_t TEcnaRead::fOpenRootFile
private

Definition at line 383 of file TEcnaRead.h.

Referenced by CloseRootFile(), fCopy(), Init(), and OpenRootFile().

TString TEcnaRead::fPathRoot
private

Definition at line 396 of file TEcnaRead.h.

Referenced by fCopy(), FileParameters(), Init(), OpenRootFile(), and Read1DHisto().

Int_t TEcnaRead::fReadyToReadRootFile
private

Definition at line 387 of file TEcnaRead.h.

Referenced by CloseRootFile(), FileParameters(), Init(), and LookAtRootFile().

TString TEcnaRead::fStexName
private

Definition at line 381 of file TEcnaRead.h.

Referenced by ReadAverageNumberOfEvents(), and SetEcalSubDetector().

TString TEcnaRead::fStinName
private

Definition at line 381 of file TEcnaRead.h.

Referenced by SetEcalSubDetector().

Int_t* TEcnaRead::fT1d_StexStinFromIndex
private

Definition at line 390 of file TEcnaRead.h.

Referenced by Init(), LookAtRootFile(), ReadStinNumbers(), and ~TEcnaRead().

Double_t* TEcnaRead::fT3d1_AdcValues
private

Definition at line 411 of file TEcnaRead.h.

Referenced by Init(), ReadSampleAdcValuesSameFile(), and ~TEcnaRead().

Double_t** TEcnaRead::fT3d2_AdcValues
private

Definition at line 410 of file TEcnaRead.h.

Referenced by Init(), ReadSampleAdcValuesSameFile(), and ~TEcnaRead().

Double_t*** TEcnaRead::fT3d_AdcValues
private

Definition at line 409 of file TEcnaRead.h.

Referenced by Init(), ReadSampleAdcValuesSameFile(), and ~TEcnaRead().

Int_t* TEcnaRead::fTagStinNumbers
private

Definition at line 391 of file TEcnaRead.h.

Referenced by fCopy(), Init(), LookAtRootFile(), and ~TEcnaRead().

TString TEcnaRead::fTTBELL
private