CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/CalibCalorimetry/EcalPedestalOffsets/interface/TPedValues.h

Go to the documentation of this file.
00001 #ifndef TPedValues_h
00002 #define TPedValues_h
00003 
00013 #include <vector>
00014 
00015 #include "TFile.h"
00016 #include "TSinglePedEntry.h"
00017 #include "TPedResult.h"
00018 
00019 class TPedValues
00020 {
00021   public:
00022   
00024     TPedValues (double RMSmax = 2 , int bestPedestal = 200) ;
00025 
00027     TPedValues (const TPedValues & orig) ;
00028 
00030     ~TPedValues () ;
00031   
00033     void insert (const int gainId, 
00034                  const int crystal, 
00035                  const int DAC, 
00036                  const int pedestal,
00037                  const int endcapIndex) ;
00038     
00040     TPedResult terminate (const int & DACstart = 0, const int & DACend = 256) const ;
00041 
00043     int checkEntries (const int & DACstart = 0, const int & DACend = 256) const ;
00044      
00046     int makePlots (TFile * rootFile, const std::string & dirName, const double maxSlopeAllowed, 
00047         const double minSlopeAllowed, const double maxChi2OverNDF) const ;
00048     
00050     int getCrystalNumber(int xtal) const;
00051     
00052   private:
00053     
00054     TSinglePedEntry m_entries[3][1700][256] ;
00055     // 1,305,600 elements
00056     int m_bestPedestal ;
00057     double m_RMSmax ;
00058     // store the EE index as 100*elecId.towerId()+5*(elecId.stripId()-1)+elecId.xtalId()
00059     int endcapCrystalNumbers[1700];
00060 
00061 } ;
00062 
00063 
00064 #endif