CMS 3D CMS Logo

SiStripCommissioningSource.h

Go to the documentation of this file.
00001 #ifndef DQM_SiStripCommissioningSources_SiStripCommissioningSource_H
00002 #define DQM_SiStripCommissioningSources_SiStripCommissioningSource_H
00003 
00004 #include "CalibFormats/SiStripObjects/interface/SiStripFecCabling.h"
00005 #include "CondFormats/SiStripObjects/interface/SiStripFedCabling.h"
00006 #include "DataFormats/Common/interface/DetSetVector.h"
00007 #include "DataFormats/SiStripCommon/interface/SiStripConstants.h"
00008 #include "DataFormats/SiStripCommon/interface/SiStripHistoTitle.h"
00009 #include "DataFormats/SiStripDigi/interface/SiStripDigi.h"
00010 #include "DataFormats/SiStripDigi/interface/SiStripRawDigi.h"
00011 #include "FWCore/Framework/interface/EDAnalyzer.h"
00012 #include <boost/cstdint.hpp>
00013 #include <string>
00014 #include <vector>
00015 #include <map>
00016 
00017 class DQMStore;
00018 class CommissioningTask;
00019 class FedChannelConnection;
00020 class SiStripEventSummary;
00021 
00025 class SiStripCommissioningSource : public edm::EDAnalyzer {
00026   
00027  public: // ---------- Public interface ----------
00028   
00030   typedef std::map<unsigned int, CommissioningTask*> TaskMap;
00031   typedef std::vector<CommissioningTask*> VecOfTasks;
00032   typedef std::vector<VecOfTasks> VecOfVecOfTasks;
00033   
00034   SiStripCommissioningSource( const edm::ParameterSet& );
00035   ~SiStripCommissioningSource();
00036   
00037   void beginJob( edm::EventSetup const& );
00038   void analyze( const edm::Event&, const edm::EventSetup& );
00039   void endJob();
00040   
00041  private: // ---------- Private methods ----------
00042 
00044   SiStripCommissioningSource();
00045   
00047   DQMStore* const dqm( std::string method = "" ) const;
00048   
00050   void createRunNumber();
00051 
00053   void createTask( const SiStripEventSummary* const, const edm::EventSetup& );
00054   
00056   void createCablingTasks();
00057 
00059   void createTasks( sistrip::RunType, const edm::EventSetup& );
00060   
00062   void clearCablingTasks();
00063 
00065   void clearTasks();
00066   
00068   void fillCablingHistos( const SiStripEventSummary* const,
00069                           const edm::DetSetVector<SiStripRawDigi>& );
00070 
00072   void fillHistos( const SiStripEventSummary* const,
00073                    const edm::DetSetVector<SiStripRawDigi>& );
00074   
00076   void remove();
00077   
00079   void directory( std::stringstream&, 
00080                   uint32_t run_number = 0 );
00081   
00083   //void cablingForConnectionRun( const sistrip::RunType& ); //@@ do not use!
00084 
00085   
00086   // ---------- DQM fwk and cabling ----------
00087 
00089   DQMStore* dqm_;
00090 
00092   SiStripFedCabling* fedCabling_;
00093 
00095   SiStripFecCabling* fecCabling_;
00096   
00097   // ---------- Input / output ----------
00098 
00100   std::string inputModuleLabel_;
00101   std::string inputModuleLabelSummary_;
00102 
00104   std::string filename_;
00105 
00107   uint32_t run_;
00108 
00110   int32_t time_;
00111 
00112   // ---------- Histogram-related ----------
00113 
00115   std::string taskConfigurable_; 
00116 
00118   sistrip::RunType task_; 
00119 
00121   VecOfVecOfTasks tasks_;
00122 
00124   TaskMap cablingTasks_;
00125 
00127   bool tasksExist_;
00128 
00130   bool cablingTask_;
00131   
00133   int updateFreq_;
00134 
00136   std::string base_;
00137 
00138 };
00139 
00140 #endif // DQM_SiStripCommissioningSources_SiStripCommissioningSource_H
00141 

Generated on Tue Jun 9 17:33:31 2009 for CMSSW by  doxygen 1.5.4