![]() |
![]() |
00001 #include <memory> 00002 #include "boost/shared_ptr.hpp" 00003 #include <fstream> 00004 00005 #include "CondFormats/CSCObjects/interface/CSCDBChipSpeedCorrection.h" 00006 #include "CondFormats/DataRecord/interface/CSCDBChipSpeedCorrectionRcd.h" 00007 #include "CalibMuon/CSCCalibration/interface/CSCChipSpeedCorrectionDBConditions.h" 00008 00009 00010 CSCChipSpeedCorrectionDBConditions::CSCChipSpeedCorrectionDBConditions(const edm::ParameterSet& iConfig) 00011 { 00012 //the following line is needed to tell the framework what 00013 // data is being produced 00014 isForMC = iConfig.getUntrackedParameter<bool>("isForMC",true); 00015 dataCorrFileName= iConfig.getUntrackedParameter<std::string>("dataCorrFileName","empty.txt"); 00016 dataOffset=170.; 00017 cndbChipCorr = prefillDBChipSpeedCorrection(isForMC,dataCorrFileName,dataOffset); 00018 // added by Zhen (changed since 1_2_0) 00019 setWhatProduced(this,&CSCChipSpeedCorrectionDBConditions::produceDBChipSpeedCorrection); 00020 findingRecord<CSCDBChipSpeedCorrectionRcd>(); 00021 //now do what ever other initialization is needed 00022 00023 } 00024 00025 00026 CSCChipSpeedCorrectionDBConditions::~CSCChipSpeedCorrectionDBConditions() 00027 { 00028 00029 // do anything here that needs to be done at desctruction time 00030 // (e.g. close files, deallocate resources etc.) 00031 delete cndbChipCorr; 00032 } 00033 00034 00035 // 00036 // member functions 00037 // 00038 00039 // ------------ method called to produce the data ------------ 00040 CSCChipSpeedCorrectionDBConditions::ReturnType 00041 CSCChipSpeedCorrectionDBConditions::produceDBChipSpeedCorrection(const CSCDBChipSpeedCorrectionRcd& iRecord) 00042 { 00043 //need a new object so to not be deleted at exit 00044 CSCDBChipSpeedCorrection* mydata=new CSCDBChipSpeedCorrection( *cndbChipCorr ); 00045 return mydata; 00046 00047 } 00048 00049 void CSCChipSpeedCorrectionDBConditions::setIntervalFor(const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue&, 00050 edm::ValidityInterval & oValidity) 00051 { 00052 oValidity = edm::ValidityInterval(edm::IOVSyncValue::beginOfTime(),edm::IOVSyncValue::endOfTime()); 00053 00054 }