File indexing completed on 2023-03-17 10:42:10
0001 #ifndef _CSCFAKEGAINSCONDITIONS_H
0002 #define _CSCFAKEGAINSCONDITIONS_H
0003
0004 #include "FWCore/Framework/interface/ESHandle.h"
0005 #include "FWCore/Framework/interface/ESProducer.h"
0006 #include "FWCore/Framework/interface/Event.h"
0007 #include "FWCore/Framework/interface/EventSetup.h"
0008 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h"
0009 #include "FWCore/Framework/interface/Frameworkfwd.h"
0010 #include "FWCore/Framework/interface/MakerMacros.h"
0011 #include "FWCore/Framework/interface/SourceFactory.h"
0012 #include <memory>
0013
0014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0015
0016 #include "CondFormats/CSCObjects/interface/CSCGains.h"
0017 #include "CondFormats/DataRecord/interface/CSCGainsRcd.h"
0018 #include <DataFormats/MuonDetId/interface/CSCDetId.h>
0019
0020 class CSCFakeGainsConditions : public edm::ESProducer, public edm::EventSetupRecordIntervalFinder {
0021 public:
0022 CSCFakeGainsConditions(const edm::ParameterSet &);
0023 ~CSCFakeGainsConditions() override;
0024
0025 float mean, min, minchi;
0026 int seed;
0027 long int M;
0028
0029 CSCGains *prefillGains();
0030
0031 typedef std::unique_ptr<CSCGains> ReturnType;
0032
0033 ReturnType produceGains(const CSCGainsRcd &);
0034
0035 private:
0036
0037 void setIntervalFor(const edm::eventsetup::EventSetupRecordKey &,
0038 const edm::IOVSyncValue &,
0039 edm::ValidityInterval &) override;
0040 };
0041
0042 #endif