CMS 3D CMS Logo

ROOTFileReader.h

Go to the documentation of this file.
00001 #ifndef _ROOTFILEREADER_H_
00002 #define _ROOTFILEREADER_H_
00003 
00004 
00005 // STL Headers
00006 #include <string>
00007 #include <sstream>
00008 #include <iomanip>
00009 
00010 // ROOT Headers
00011 #include <TChain.h>
00012 
00013 // Lumi Headers
00014 #include "RecoLuminosity/TCPReceiver/interface/ICTypeDefs.hh"
00015 #include "RecoLuminosity/TCPReceiver/interface/LumiStructures.hh"
00016 
00017 namespace HCAL_HLX{
00018 
00019   class ROOTFileReader{
00020   public:
00021     ROOTFileReader();
00022     ~ROOTFileReader();
00023     
00024     int ReplaceFile(const std::string &fileName);
00025         
00026     unsigned int GetRunNumber(){ return runNumber_;}
00027     unsigned int GetSectionNumber(){ return sectionNumber_;}
00028 
00029     int GetLumiSection(HCAL_HLX::LUMI_SECTION& section);
00030     
00031     int GetThreshold(HCAL_HLX::LUMI_THRESHOLD&   threshold);
00032     int GetHFRingSet(HCAL_HLX::LUMI_HF_RING_SET& ringSet);
00033     int GetL1Trigger(HCAL_HLX::LEVEL1_TRIGGER&   l1trigger);
00034     int GetHLT(HCAL_HLX::HLT& hlt);
00035     int GetTriggerDeadtime(HCAL_HLX::TRIGGER_DEADTIME& TD);
00036     
00037     int GetEntry(int entry);
00038     int GetNumEntries();
00039 
00040   private:
00041     
00042     unsigned int runNumber_;
00043     unsigned int sectionNumber_;
00044     
00045     std::string mFileName_;
00046     TChain* mChain_;
00047 
00048     // LUMI_SECTION
00049     TBranch *b_Header;
00050     TBranch *b_Summary;
00051     TBranch *b_Detail;
00052     
00053     TBranch *b_ETSum[HCAL_HLX_MAX_HLXS];
00054     TBranch *b_Occupancy[HCAL_HLX_MAX_HLXS];
00055     TBranch *b_LHC[HCAL_HLX_MAX_HLXS];
00056 
00057     // OTHER
00058     TBranch *b_Threshold;
00059     TBranch *b_L1Trigger;
00060     TBranch *b_HLT;
00061     TBranch *b_TriggerDeadtime;
00062     TBranch *b_RingSet;
00063 
00064     HCAL_HLX::LUMI_SECTION* lumiSection_;
00065 
00066     // LUMI_SECTION
00067     HCAL_HLX::LUMI_SECTION_HEADER* Header_;
00068     HCAL_HLX::LUMI_SUMMARY*        Summary_;
00069     HCAL_HLX::LUMI_DETAIL*         Detail_;
00070 
00071     HCAL_HLX::ET_SUM_SECTION      *EtSumPtr[HCAL_HLX_MAX_HLXS];
00072     HCAL_HLX::OCCUPANCY_SECTION   *OccupancyPtr[HCAL_HLX_MAX_HLXS];
00073     HCAL_HLX::LHC_SECTION         *LHCPtr[HCAL_HLX_MAX_HLXS];
00074 
00075     // Other
00076     HCAL_HLX::LUMI_THRESHOLD*   Threshold_;
00077     HCAL_HLX::LEVEL1_TRIGGER*   L1Trigger_;
00078     HCAL_HLX::HLT*              HLT_;
00079     HCAL_HLX::TRIGGER_DEADTIME* TriggerDeadtime_;
00080     HCAL_HLX::LUMI_HF_RING_SET* RingSet_;
00081 
00082   };
00083 }
00084 
00085 #endif

Generated on Tue Jun 9 17:44:03 2009 for CMSSW by  doxygen 1.5.4