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