Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:41:01

0001 #ifndef ROOT_TEcnaResultType
0002 #define ROOT_TEcnaResultType
0003 
0004 #include "TMath.h"
0005 
0006 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaObject.h"
0007 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaNArrayD.h"
0008 
0009 ///-----------------------------------------------------------
0010 ///   TEcnaResultType.h
0011 ///   Update: 05/10/2012
0012 ///   Authors:   FX Gentit, B.Fabbro (bernard.fabbro@cea.fr)
0013 ///              DSM/IRFU/SPP CEA-Saclay
0014 ///   Copyright: Those valid for CEA sofware
0015 ///
0016 ///   ECNA web page:
0017 ///     http://cms-fabbro.web.cern.ch/cms-fabbro/
0018 ///     cna_new/Correlated_Noise_Analysis/ECNA_main_page.htm
0019 ///-----------------------------------------------------------
0020 ///
0021 ///  Set the results types and dimensions
0022 ///
0023 
0024 enum CnaResultTyp {
0025   cTypNumbers,
0026   cTypMSp,
0027   cTypSSp,
0028   cTypAvTno,
0029   cTypAvLfn,
0030   cTypAvHfn,
0031   cTypHfCov,
0032   cTypHfCor,
0033   cTypCovCss,
0034   cTypCorCss,
0035   cTypMeanCorss,
0036   cTypSigCorss,
0037   cTypAvPed,
0038   cTypAvMeanCorss,
0039   cTypAvSigCorss,
0040   cTypNbOfEvts,
0041   cTypPed,
0042   cTypTno,
0043   cTypLfn,
0044   cTypHfn,
0045   cTypAdcEvt,
0046   cTypLfCov,
0047   cTypLfCor,
0048   cTypLFccMoStins,
0049   cTypHFccMoStins,
0050   cTypEvtNbInLoop
0051 };  //  cTypEvtNbInLoop -> FREE
0052 
0053 class TEcnaResultType : public TObject {
0054 protected:
0055 public:
0056   CnaResultTyp fTypOfCnaResult;  //type of info in this class
0057   Int_t fIthElement;             //Ith element in the entry of type fTypOfCnaResult
0058   Int_t fUserChannel;            //Channel chosen by the user
0059   TEcnaNArrayD fMatMat;          //1st matrix, used in case of MatMat
0060   TEcnaNArrayD fMatHis;          //2nd matrix, used in case of MatHis
0061 
0062   TEcnaResultType();
0063   TEcnaResultType(TEcnaObject*);
0064 
0065   ~TEcnaResultType() override;
0066   void SetSizeMat(Int_t, Int_t);
0067   void SetSizeHis(Int_t, Int_t);
0068 
0069   CnaResultTyp GetTypOfEntry(Int_t);
0070 
0071   ClassDefOverride(TEcnaResultType, 1)  //One leaf of the CNA root file
0072 };
0073 #endif