File indexing completed on 2024-04-06 12:27:57
0001 #ifndef HcalQLPlotHistoMgr_included
0002 #define HcalQLPlotHistoMgr_included 1
0003
0004 #include "TDirectory.h"
0005 #include "TH1.h"
0006 #include "DataFormats/DetId/interface/DetId.h"
0007 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
0008 #include "DataFormats/HcalDetId/interface/HcalCalibDetId.h"
0009 #include "DataFormats/HcalDetId/interface/HcalElectronicsId.h"
0010 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0011
0012 class HcalQLPlotHistoMgr {
0013 public:
0014 enum HistType { ENERGY = 0, TIME = 1, PULSE = 2, ADC = 3 };
0015 enum EventType { UNKNOWN = 0, PEDESTAL = 1, LED = 2, LASER = 3, BEAM = 4 };
0016 HcalQLPlotHistoMgr(TDirectory* parent, const edm::ParameterSet& histoParams);
0017
0018 TH1* GetAHistogram(const HcalDetId& id, const HcalElectronicsId& eid, HistType ht, EventType et);
0019
0020 TH1* GetAHistogram(const HcalCalibDetId& id, const HcalElectronicsId& eid, HistType ht, EventType et);
0021
0022 static std::string nameForFlavor(HistType ht);
0023 static std::string nameForEvent(EventType et);
0024
0025 private:
0026 TH1* GetAHistogramImpl(const char* name, HistType ht, EventType et);
0027
0028 TDirectory* pedHistDir;
0029 TDirectory* ledHistDir;
0030 TDirectory* laserHistDir;
0031 TDirectory* beamHistDir;
0032 TDirectory* ctrHistDir;
0033 TDirectory* otherHistDir;
0034 edm::ParameterSet histoParams_;
0035 };
0036
0037 #endif