CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/RecoTBCalo/HcalPlotter/scripts/HistoManager.h

Go to the documentation of this file.
00001 #ifndef HistoManager_included
00002 #define HistoManager_included 1
00003 
00004 #include "TDirectory.h"
00005 #include "TH1.h"
00006 #include "MyHcalClasses.h"
00007 
00008 class HistoManager {
00009 public:
00010   enum HistType { ENERGY=0, TIME=1, PULSE=2, ADC=3, NUMHISTTYPES=4 };
00011   enum EventType { UNKNOWN=0, PEDESTAL=1, LED=2, LASER=3, BEAM=4, NUMEVTTYPES=5 };
00012 
00013   HistoManager(TDirectory* parent);
00014 
00015   std::vector<MyHcalDetId> getDetIdsForType(HistType ht, EventType et);
00016   TH1* GetAHistogram(const MyHcalDetId& id, HistType ht, EventType et);
00017 
00018 
00019  
00020 
00021  std::vector<MyElectronicsId> getElecIdsForType(HistType ht, EventType et);
00022   TH1* GetAHistogram(const MyElectronicsId& id, HistType ht, EventType et);
00023 
00024 
00025  
00026 
00027   static std::string nameForFlavor(HistType ht);
00028   static std::string nameForEvent(EventType et);
00029 private:
00030   bool m_writeMode;
00031   TDirectory* pedHistDir;
00032   TDirectory* ledHistDir;
00033   TDirectory* laserHistDir;
00034   TDirectory* beamHistDir;
00035   TDirectory* otherHistDir;
00036 };
00037 
00038 #endif