Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:35:09

0001 #ifndef CalibTracker_SiPixelESProducers_SiPixelFakeLorentzAngleESSource_h
0002 #define CalibTracker_SiPixelESProducers_SiPixelFakeLorentzAngleESSource_h
0003 // -*- C++ -*-
0004 //
0005 // Package:    SiPixelFakeLorentzAngleESSource
0006 // Class:      SiPixelFakeLorentzAngleESSource
0007 //
0008 /**\class SiPixelFakeLorentzAngleESSource SiPixelFakeLorentzAngleESSource.h CalibTracker/SiPixelGainESProducer/src/SiPixelFakeLorentzAngleESSource.cc
0009 
0010  Description: <one line class summary>
0011 
0012  Implementation:
0013      <Notes on implementation>
0014 */
0015 //
0016 // Original Author:  Lotte Wilke
0017 //         Created:  Jan. 31st, 2008
0018 //
0019 //
0020 
0021 // system include files
0022 #include <memory>
0023 
0024 // user include files
0025 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0026 #include "FWCore/Framework/interface/ESProducer.h"
0027 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h"
0028 #include "CondFormats/SiPixelObjects/interface/SiPixelLorentzAngle.h"
0029 #include "CondFormats/DataRecord/interface/SiPixelLorentzAngleRcd.h"
0030 #include "CalibTracker/StandaloneTrackerTopology/interface/StandaloneTrackerTopology.h"
0031 //
0032 // class decleration
0033 //
0034 
0035 class SiPixelFakeLorentzAngleESSource : public edm::ESProducer, public edm::EventSetupRecordIntervalFinder {
0036 public:
0037   SiPixelFakeLorentzAngleESSource(const edm::ParameterSet &);
0038   ~SiPixelFakeLorentzAngleESSource() override = default;
0039   virtual std::unique_ptr<SiPixelLorentzAngle> produce(const SiPixelLorentzAngleRcd &);
0040 
0041   static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);
0042 
0043 protected:
0044   void setIntervalFor(const edm::eventsetup::EventSetupRecordKey &,
0045                       const edm::IOVSyncValue &,
0046                       edm::ValidityInterval &) override;
0047 
0048 private:
0049   int HVgroup(int panel, int module);
0050 
0051   // data members
0052   const edm::FileInPath fp_;
0053   const edm::FileInPath t_topo_fp_;
0054   const std::string myLabel_;
0055   typedef std::vector<edm::ParameterSet> Parameters;
0056   Parameters BPixParameters_;
0057   Parameters FPixParameters_;
0058   Parameters ModuleParameters_;
0059 
0060   float bPixLorentzAnglePerTesla_;
0061   float fPixLorentzAnglePerTesla_;
0062 };
0063 #endif