Back to home page

Project CMSSW displayed by LXR

 
 

    


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