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