CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/RecoLuminosity/ROOTSchema/interface/ROOTSchema.h

Go to the documentation of this file.
00001 #ifndef ROOTSCHEMA_H
00002 #define ROOTSCHEMA_H
00003 
00004 /*
00005 
00006 Author: Adam Hunt - Princeton University
00007 Date: 2007-10-05
00008 
00009 */
00010 
00011 #include "RecoLuminosity/TCPReceiver/interface/TimeStamp.h"
00012 #include "RecoLuminosity/ROOTSchema/interface/FileToolKit.h"
00013 
00014 #include <string>
00015 
00016 namespace HCAL_HLX{
00017 
00018   class ROOTFileWriter;
00019   class ROOTFileMerger;
00020   class ROOTFileTransfer;
00021   class HTMLGenerator;
00022 
00023   struct LUMI_SECTION;
00024 
00025   class ROOTSchema: private TimeStamp, private FileToolKit{
00026     
00027   public:
00028     
00029     ROOTSchema();
00030     ~ROOTSchema();
00031     
00032     void SetLSDir(    const std::string &lsDir    );
00033     void SetMergeDir( const std::string &mergeDir );
00034 
00035 
00036     void SetMergeFiles(    const bool bMerge );
00037 
00038     void SetTransferFiles( const bool bTransfer );
00039 
00040     void SetFileType( const std::string &fileType );
00041     void SetHistoBins( const int NBins, const double XMin, const double XMax ); 
00042     bool ProcessSection(const HCAL_HLX::LUMI_SECTION &lumiSection);
00043 
00044     void SetWebDir(   const std::string &webDir   );
00045     void SetCreateWebPage( const bool bWBM );
00046     void EndRun();
00047 
00048   private:
00049 
00050     HCAL_HLX::ROOTFileMerger   *RFMerger_;
00051     HCAL_HLX::ROOTFileTransfer *RFTransfer_;
00052     HCAL_HLX::HTMLGenerator    *LumiHTML_;
00053     HCAL_HLX::ROOTFileWriter   *RFWriter_;
00054     
00055     unsigned int previousRun_;
00056     unsigned int firstSectionNumber_;
00057     unsigned int startTime_;
00058 
00059     bool bMerge_;
00060     bool bWBM_;
00061     bool bTransfer_;
00062 
00063     bool        bEtSumOnly_;
00064     std::string fileType_;
00065 
00066     std::string lsDir_;
00067     std::string mergeDir_;
00068 
00069     std::string dateDir_;
00070     std::string runDir_;
00071 
00072     // Setting a directory implies that you want to do something.
00073     
00074     // Making the file type "ET" implies true.
00075     void SetEtSumOnly(     const bool bEtSumOnly);
00076   };
00077 }
00078 
00079 #endif