Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:02:50

0001 #ifndef CondTools_Ecal_EcalTestDevDB_h
0002 #define CondTools_Ecal_EcalTestDevDB_h
0003 
0004 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0005 #include "CondCore/CondDB/interface/Exception.h"
0006 
0007 #include "FWCore/Framework/interface/IOVSyncValue.h"
0008 
0009 #include "CondFormats/EcalObjects/interface/EcalPedestals.h"
0010 #include "CondFormats/DataRecord/interface/EcalPedestalsRcd.h"
0011 #include "CondFormats/EcalObjects/interface/EcalADCToGeVConstant.h"
0012 #include "CondFormats/DataRecord/interface/EcalADCToGeVConstantRcd.h"
0013 #include "CondFormats/EcalObjects/interface/EcalLinearCorrections.h"
0014 #include "CondFormats/DataRecord/interface/EcalLinearCorrectionsRcd.h"
0015 #include "CondFormats/EcalObjects/interface/EcalIntercalibConstants.h"
0016 #include "CondFormats/DataRecord/interface/EcalIntercalibConstantsRcd.h"
0017 #include "CondFormats/EcalObjects/interface/EcalGainRatios.h"
0018 #include "CondFormats/DataRecord/interface/EcalGainRatiosRcd.h"
0019 #include "CondFormats/EcalObjects/interface/EcalWeightXtalGroups.h"
0020 #include "CondFormats/DataRecord/interface/EcalWeightXtalGroupsRcd.h"
0021 #include "CondFormats/EcalObjects/interface/EcalTBWeights.h"
0022 #include "CondFormats/DataRecord/interface/EcalTBWeightsRcd.h"
0023 #include "CondFormats/EcalObjects/interface/EcalLaserAPDPNRatios.h"
0024 #include "CondFormats/DataRecord/interface/EcalLaserAPDPNRatiosRcd.h"
0025 #include "CondFormats/EcalObjects/interface/EcalLaserAlphas.h"
0026 #include "CondFormats/DataRecord/interface/EcalLaserAlphasRcd.h"
0027 #include "CondFormats/EcalObjects/interface/EcalLaserAPDPNRatiosRef.h"
0028 #include "CondFormats/DataRecord/interface/EcalLaserAPDPNRatiosRefRcd.h"
0029 #include "DataFormats/EcalDetId/interface/EBDetId.h"
0030 
0031 #include <string>
0032 #include <map>
0033 #include <memory>
0034 
0035 namespace edm {
0036   class ParameterSet;
0037   class Event;
0038   class EventSetup;
0039 }  // namespace edm
0040 
0041 class EcalTestDevDB : public edm::one::EDAnalyzer<> {
0042 public:
0043   explicit EcalTestDevDB(const edm::ParameterSet& iConfig);
0044   ~EcalTestDevDB() override;
0045 
0046   void analyze(const edm::Event& evt, const edm::EventSetup& evtSetup) override;
0047 
0048   std::shared_ptr<EcalPedestals> generateEcalPedestals();
0049   std::shared_ptr<EcalADCToGeVConstant> generateEcalADCToGeVConstant();
0050   std::shared_ptr<EcalIntercalibConstants> generateEcalIntercalibConstants();
0051   std::shared_ptr<EcalLinearCorrections> generateEcalLinearCorrections();
0052   std::shared_ptr<EcalGainRatios> generateEcalGainRatios();
0053   std::shared_ptr<EcalWeightXtalGroups> generateEcalWeightXtalGroups();
0054   std::shared_ptr<EcalTBWeights> generateEcalTBWeights();
0055   std::shared_ptr<EcalLaserAPDPNRatios> generateEcalLaserAPDPNRatios(uint32_t i_run);
0056   std::shared_ptr<EcalLaserAlphas> generateEcalLaserAlphas();
0057   std::shared_ptr<EcalLaserAPDPNRatiosRef> generateEcalLaserAPDPNRatiosRef();
0058 
0059 private:
0060   std::string m_timetype;
0061   std::map<std::string, unsigned long long> m_cacheIDs;
0062   std::map<std::string, std::string> m_records;
0063   unsigned long m_firstRun;
0064   unsigned long m_lastRun;
0065   unsigned int m_interval;
0066 };
0067 
0068 #endif