CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/L1Trigger/GlobalTriggerAnalyzer/interface/L1GetHistLimits.h

Go to the documentation of this file.
00001 #ifndef L1Trigger_GlobalTriggerAnalyzer_L1GetHistLimits_h
00002 #define L1Trigger_GlobalTriggerAnalyzer_L1GetHistLimits_h
00003 
00020 // system include files
00021 #include <iosfwd>
00022 #include <memory>
00023 #include <vector>
00024 #include <string>
00025 
00026 // user include files
00027 //
00028 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h"
00029 
00030 #include "FWCore/Framework/interface/Frameworkfwd.h"
00031 #include "FWCore/Framework/interface/EventSetup.h"
00032 
00033 // scales
00034 #include "CondFormats/L1TObjects/interface/L1CaloGeometry.h"
00035 #include "CondFormats/DataRecord/interface/L1CaloGeometryRecord.h"
00036 
00037 #include "CondFormats/L1TObjects/interface/L1CaloEtScale.h"
00038 #include "CondFormats/DataRecord/interface/L1EmEtScaleRcd.h"
00039 #include "CondFormats/DataRecord/interface/L1JetEtScaleRcd.h"
00040 #include "CondFormats/DataRecord/interface/L1HtMissScaleRcd.h"
00041 #include "CondFormats/DataRecord/interface/L1HfRingEtScaleRcd.h"
00042 #include "CondFormats/L1TObjects/interface/L1GctJetFinderParams.h"
00043 #include "CondFormats/DataRecord/interface/L1GctJetFinderParamsRcd.h"
00044 
00045 #include "CondFormats/L1TObjects/interface/L1MuTriggerScales.h"
00046 #include "CondFormats/DataRecord/interface/L1MuTriggerScalesRcd.h"
00047 #include "CondFormats/L1TObjects/interface/L1MuTriggerPtScale.h"
00048 #include "CondFormats/DataRecord/interface/L1MuTriggerPtScaleRcd.h"
00049 
00050 // forward declarations
00051 
00052 
00053 // class declaration
00054 class L1GetHistLimits {
00055 
00056 public:
00057 
00058     // constructor(s)
00059     explicit L1GetHistLimits(const edm::EventSetup& evSetup);
00060 
00061     // destructor
00062     virtual ~L1GetHistLimits();
00063 
00069     struct L1HistLimits {
00070         int nrBins;
00071         double lowerBinValue;
00072         double upperBinValue;
00073         std::vector<float> binThresholds;
00074     };
00075 
00076 public:
00077 
00080     const L1HistLimits& l1HistLimits(const L1GtObject& l1GtObject,
00081             const std::string& quantity);
00082 
00085     const L1HistLimits& l1HistLimits(const L1GtObject& l1GtObject,
00086             const std::string& quantity, const double histMinValue,
00087             const double histMaxValue);
00088 
00089 
00092     const int l1HistNrBins(const L1GtObject& l1GtObject,
00093             const std::string& quantity);
00094 
00097     const double l1HistLowerBinValue(const L1GtObject& l1GtObject,
00098             const std::string& quantity);
00099 
00102     const double l1HistUpperBinValue(const L1GtObject& l1GtObject,
00103             const std::string& quantity);
00104 
00107     const std::vector<float>& l1HistBinThresholds(const L1GtObject& l1GtObject,
00108             const std::string& quantity);
00109 
00110 private:
00111 
00115     void getHistLimits(const L1GtObject& l1GtObject,
00116             const std::string& quantity);
00117 
00118 
00119 private:
00120 
00121     const edm::EventSetup& m_evSetup;
00122 
00124     L1HistLimits m_l1HistLimits;
00125 
00126 };
00127 
00128 #endif