CMS 3D CMS Logo

HcalQLPlotHistoMgr.h

Go to the documentation of this file.
00001 #ifndef HcalQLPlotHistoMgr_included
00002 #define HcalQLPlotHistoMgr_included 1
00003 
00004 #include "TDirectory.h"
00005 #include "TH1.h"
00006 #include "DataFormats/DetId/interface/DetId.h"
00007 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
00008 #include "DataFormats/HcalDetId/interface/HcalCalibDetId.h"
00009 #include "DataFormats/HcalDetId/interface/HcalElectronicsId.h"
00010 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00011 
00012 class HcalQLPlotHistoMgr {
00013 public:
00014   enum HistType { ENERGY=0, TIME=1, PULSE=2, ADC=3 };
00015   enum EventType { UNKNOWN=0, PEDESTAL=1, LED=2, LASER=3, BEAM=4 };
00016   HcalQLPlotHistoMgr(TDirectory* parent, const edm::ParameterSet& histoParams);
00017 
00018   TH1* GetAHistogram(const HcalDetId& id,
00019                      const HcalElectronicsId& eid,
00020                      HistType ht, EventType et);
00021 
00022   TH1* GetAHistogram(const HcalCalibDetId& id,
00023                      const HcalElectronicsId& eid,
00024                      HistType ht, EventType et);
00025 
00026   static std::string nameForFlavor(HistType ht);
00027   static std::string nameForEvent(EventType et);
00028 private:
00029   TH1* GetAHistogramImpl(const char *name, HistType ht, EventType et);
00030 
00031   TDirectory* pedHistDir;
00032   TDirectory* ledHistDir;
00033   TDirectory* laserHistDir;
00034   TDirectory* beamHistDir;
00035   TDirectory* ctrHistDir;
00036   TDirectory* otherHistDir;
00037   edm::ParameterSet histoParams_;
00038 };
00039 
00040 #endif

Generated on Tue Jun 9 17:45:11 2009 for CMSSW by  doxygen 1.5.4