CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DQM/DTMonitorModule/interface/DTTimeEvolutionHisto.h

Go to the documentation of this file.
00001 #ifndef DTTimeEvolutionHisto_H
00002 #define DTTimeEvolutionHisto_H
00003 
00012 #include <string>
00013 #include <map>
00014 
00015 class DQMStore;
00016 class MonitorElement;
00017 
00018 class DTTimeEvolutionHisto {
00019 public:
00033   DTTimeEvolutionHisto(DQMStore *dbe, const std::string& name,
00034                        const std::string& title,
00035                        int nbins,
00036                        int lsPrescale,
00037                        bool sliding,
00038                        int mode = 0);
00039 
00040 
00041   DTTimeEvolutionHisto(DQMStore *dbe, const std::string& name,
00042                        const std::string& title,
00043                        int nbins,
00044                        int firstLS,
00045                        int lsPrescale,
00046                        bool sliding,
00047                        int mode = 0);
00048 
00049 
00050 
00052   DTTimeEvolutionHisto(DQMStore *dbe, const std::string& name);
00053 
00055   virtual ~DTTimeEvolutionHisto();
00056 
00057   // Operations
00058   
00059   void setTimeSlotValue(float value, int timeSlot);
00060   
00061   void accumulateValueTimeSlot(float value);
00062   
00063   void updateTimeSlot(int ls, int nEventsInLS);
00064 
00065   void normalizeTo(const MonitorElement *histForNorm);
00066 
00067 protected:
00068 
00069 private:
00070   float valueLastTimeSlot;
00071   std::map<int,int> nEventsInLastTimeSlot;
00072   std::map<int,int> nLumiTrInLastTimeSlot;
00073   int theFirstLS;
00074   int theLSPrescale;
00075   bool doSlide;
00076   int nBookedBins;
00077   int theMode;
00078   MonitorElement *histo;
00079   
00080 };
00081 #endif
00082