From 76d8a578b9b016394d83a475b6b1f4e8073bd576 Mon Sep 17 00:00:00 2001 From: Stefano Argiro Date: Mon, 26 Feb 2018 12:59:20 +0100 Subject: [PATCH] Initial commit for new PF threshold DB object --- CondCore/EcalPlugins/src/plugin.cc | 6 + .../interface/EcalPFRecHitThresholdsRcd.h | 6 + .../src/EcalPFRecHitThresholdsRcd.cc | 4 + .../interface/EcalPFRecHitThresholds.h | 15 ++ CondFormats/EcalObjects/src/classes.h | 3 +- CondFormats/EcalObjects/src/headers.h | 1 + .../test/testSerializationEcalObjects.cpp | 3 + CondTools/Ecal/BuildFile.xml | 1 + .../interface/EcalPFRecHitThresholdsMaker.h | 32 +++ .../EcalPFRecHitThresholdsXMLTranslator.h | 17 ++ CondTools/Ecal/plugins/StoreEcalCondition.cc | 85 +++++++ CondTools/Ecal/plugins/StoreEcalCondition.h | 2 + .../copyEcalPFRecHitThresholdsFromFile_cfg.py | 51 ++++ .../python/copyEcalPFRecHitThresholds_cfg.py | 49 ++++ .../python/copyTrivialEnergyCorrection_cfg.py | 10 +- CondTools/Ecal/python/updateADCToGeV_test.py | 6 +- CondTools/Ecal/python/updateIntercali_test.py | 50 ++-- CondTools/Ecal/src/EcalDBCopy.cc | 15 +- .../Ecal/src/EcalPFRecHitThresholdsMaker.cc | 233 ++++++++++++++++++ CondTools/Ecal/test/BuildFile.xml | 20 -- CondTools/Ecal/test/EcalDAQ_O2O_test.sh | 3 - 21 files changed, 547 insertions(+), 65 deletions(-) create mode 100644 CondFormats/DataRecord/interface/EcalPFRecHitThresholdsRcd.h create mode 100644 CondFormats/DataRecord/src/EcalPFRecHitThresholdsRcd.cc create mode 100644 CondFormats/EcalObjects/interface/EcalPFRecHitThresholds.h create mode 100644 CondTools/Ecal/interface/EcalPFRecHitThresholdsMaker.h create mode 100644 CondTools/Ecal/interface/EcalPFRecHitThresholdsXMLTranslator.h create mode 100644 CondTools/Ecal/python/copyEcalPFRecHitThresholdsFromFile_cfg.py create mode 100644 CondTools/Ecal/python/copyEcalPFRecHitThresholds_cfg.py create mode 100644 CondTools/Ecal/src/EcalPFRecHitThresholdsMaker.cc diff --git a/CondCore/EcalPlugins/src/plugin.cc b/CondCore/EcalPlugins/src/plugin.cc index 7cfb276019425..e3361553730ec 100644 --- a/CondCore/EcalPlugins/src/plugin.cc +++ b/CondCore/EcalPlugins/src/plugin.cc @@ -156,6 +156,9 @@ #include "CondFormats/EcalObjects/interface/EcalPulseSymmCovariances.h" #include "CondFormats/DataRecord/interface/EcalPulseSymmCovariancesRcd.h" +#include "CondFormats/EcalObjects/interface/EcalPFRecHitThresholds.h" +#include "CondFormats/DataRecord/interface/EcalPFRecHitThresholdsRcd.h" + REGISTER_PLUGIN(EcalPedestalsRcd,EcalCondObjectContainer); REGISTER_PLUGIN(EcalWeightXtalGroupsRcd,EcalCondObjectContainer); @@ -173,6 +176,8 @@ REGISTER_PLUGIN(EcalLaserAlphasRcd,EcalCondObjectContainer); REGISTER_PLUGIN(EcalLaserAPDPNRatiosRcd,EcalLaserAPDPNRatios); REGISTER_PLUGIN(EcalLaserAPDPNRatiosRefRcd,EcalCondObjectContainer); REGISTER_PLUGIN(EcalChannelStatusRcd,EcalCondObjectContainer); +REGISTER_PLUGIN(EcalPFRecHitThresholdsRcd,EcalCondObjectContainer); + REGISTER_PLUGIN(EcalClusterCrackCorrParametersRcd,EcalFunParams); REGISTER_PLUGIN(EcalClusterLocalContCorrParametersRcd,EcalFunParams); @@ -180,6 +185,7 @@ REGISTER_PLUGIN(EcalClusterEnergyUncertaintyParametersRcd,EcalFunParams); REGISTER_PLUGIN(EcalClusterEnergyCorrectionParametersRcd,EcalFunParams); REGISTER_PLUGIN(EcalClusterEnergyCorrectionObjectSpecificParametersRcd,EcalFunParams); + REGISTER_PLUGIN(EcalMappingElectronicsRcd,EcalCondObjectContainer); REGISTER_PLUGIN(EcalTPGPedestalsRcd,EcalCondObjectContainer ); diff --git a/CondFormats/DataRecord/interface/EcalPFRecHitThresholdsRcd.h b/CondFormats/DataRecord/interface/EcalPFRecHitThresholdsRcd.h new file mode 100644 index 0000000000000..48ccc677ed863 --- /dev/null +++ b/CondFormats/DataRecord/interface/EcalPFRecHitThresholdsRcd.h @@ -0,0 +1,6 @@ +#ifndef CondFormats_DataRecord_EcalPFRecHitThresholdsRcd_h +#define CondFormats_DataRecord_EcalPFRecHitThresholdsRcd_h + +#include "FWCore/Framework/interface/EventSetupRecordImplementation.h" +class EcalPFRecHitThresholdsRcd : public edm::eventsetup::EventSetupRecordImplementation {}; +#endif diff --git a/CondFormats/DataRecord/src/EcalPFRecHitThresholdsRcd.cc b/CondFormats/DataRecord/src/EcalPFRecHitThresholdsRcd.cc new file mode 100644 index 0000000000000..c15d0328566f7 --- /dev/null +++ b/CondFormats/DataRecord/src/EcalPFRecHitThresholdsRcd.cc @@ -0,0 +1,4 @@ +#include "CondFormats/DataRecord/interface/EcalPFRecHitThresholdsRcd.h" +#include "FWCore/Framework/interface/eventsetuprecord_registration_macro.h" + +EVENTSETUP_RECORD_REG(EcalPFRecHitThresholdsRcd); diff --git a/CondFormats/EcalObjects/interface/EcalPFRecHitThresholds.h b/CondFormats/EcalObjects/interface/EcalPFRecHitThresholds.h new file mode 100644 index 0000000000000..0aa7becb00616 --- /dev/null +++ b/CondFormats/EcalObjects/interface/EcalPFRecHitThresholds.h @@ -0,0 +1,15 @@ +#ifndef CondFormats_EcalObjects_EcalPFRecHitThresholds_H +#define CondFormats_EcalObjects_EcalPFRecHitThresholds_H +/** + * Author: Shahram Rahatlou, University of Rome & INFN + * Created: 22 Feb 2006 + * $Id: EcalPFRecHitThresholds.h,v 1.3 2007/09/27 09:42:55 ferriff Exp $ + **/ +#include "CondFormats/EcalObjects/interface/EcalCondObjectContainer.h" + +typedef float EcalPFRecHitThreshold; +typedef EcalFloatCondObjectContainer EcalPFRecHitThresholdsMap; +typedef EcalPFRecHitThresholdsMap EcalPFRecHitThresholds; + + +#endif diff --git a/CondFormats/EcalObjects/src/classes.h b/CondFormats/EcalObjects/src/classes.h index da6241eb3be16..5fa7e5781dd56 100644 --- a/CondFormats/EcalObjects/src/classes.h +++ b/CondFormats/EcalObjects/src/classes.h @@ -50,6 +50,7 @@ #include "CondFormats/EcalObjects/interface/EcalMappingElectronics.h" #include "CondFormats/EcalObjects/interface/EcalFunctionParameters.h" #include "CondFormats/EcalObjects/interface/EcalClusterLocalContCorrParameters.h" +#include "CondFormats/EcalObjects/interface/EcalPFRecHitThresholds.h" #include "CondFormats/EcalObjects/interface/EcalClusterCrackCorrParameters.h" #include "CondFormats/EcalObjects/interface/EcalClusterEnergyCorrectionParameters.h" #include "CondFormats/EcalObjects/interface/EcalClusterEnergyUncertaintyParameters.h" @@ -114,7 +115,7 @@ namespace CondFormats_EcalObjects { EcalContainer ec_eeDetId_float; EcalContainer ec_ebDetId_float; - EcalCondObjectContainer floatCondObjectContainer; //typedefs: EcalFloatCondObjectContainer, EcalLinearCorrections, EcalIntercalibConstants, EcalIntercalibConstantsMC, EcalIntercalibErrors, EcalLaserAPDPNRatiosRef, EcalLaserAlphas, EcalTimeCalibConstants, EcalTimeCalibErrors + EcalCondObjectContainer floatCondObjectContainer; //typedefs: EcalFloatCondObjectContainer, EcalLinearCorrections, EcalIntercalibConstants, EcalIntercalibConstantsMC, EcalIntercalibErrors, EcalLaserAPDPNRatiosRef, EcalLaserAlphas, EcalTimeCalibConstants, EcalTimeCalibErrors, EcalPFRecHitThresholds EcalLaserAPDPNRatios laser_map; std::vector laser_pair_map; diff --git a/CondFormats/EcalObjects/src/headers.h b/CondFormats/EcalObjects/src/headers.h index 5eb5e8822920d..5ae33ca7d026d 100644 --- a/CondFormats/EcalObjects/src/headers.h +++ b/CondFormats/EcalObjects/src/headers.h @@ -4,6 +4,7 @@ #include "CondFormats/EcalObjects/interface/EcalPulseShapes.h" #include "CondFormats/EcalObjects/interface/EcalPulseCovariances.h" #include "CondFormats/EcalObjects/interface/EcalPulseSymmCovariances.h" +#include "CondFormats/EcalObjects/interface/EcalPFRecHitThresholds.h" #include "CondFormats/External/interface/EcalDetID.h" #include "CondFormats/External/interface/SMatrix.h" diff --git a/CondFormats/EcalObjects/test/testSerializationEcalObjects.cpp b/CondFormats/EcalObjects/test/testSerializationEcalObjects.cpp index 1d2e47aa1e602..b21e4861ec599 100644 --- a/CondFormats/EcalObjects/test/testSerializationEcalObjects.cpp +++ b/CondFormats/EcalObjects/test/testSerializationEcalObjects.cpp @@ -7,6 +7,7 @@ int main() testSerialization(); testSerialization(); testSerialization(); + testSerialization(); testSerialization(); testSerialization(); @@ -18,6 +19,7 @@ int main() testSerialization>(); testSerialization>(); testSerialization>(); + testSerialization>(); testSerialization>(); testSerialization>(); @@ -68,6 +70,7 @@ int main() testSerialization(); testSerialization(); testSerialization(); + testSerialization(); testSerialization(); testSerialization(); testSerialization(); diff --git a/CondTools/Ecal/BuildFile.xml b/CondTools/Ecal/BuildFile.xml index e5322c664472b..9b0492dd31ad7 100644 --- a/CondTools/Ecal/BuildFile.xml +++ b/CondTools/Ecal/BuildFile.xml @@ -16,6 +16,7 @@ + diff --git a/CondTools/Ecal/interface/EcalPFRecHitThresholdsMaker.h b/CondTools/Ecal/interface/EcalPFRecHitThresholdsMaker.h new file mode 100644 index 0000000000000..b8423e9dc4f98 --- /dev/null +++ b/CondTools/Ecal/interface/EcalPFRecHitThresholdsMaker.h @@ -0,0 +1,32 @@ +#ifndef ECALPFRECHITTHRESHOLDSMAKER_H +#define ECALPFRECHITTHRESHOLDSMAKER_H + +#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "CondCore/CondDB/interface/Exception.h" + +#include "FWCore/Framework/interface/IOVSyncValue.h" + +#include +#include + +namespace edm { + class ParameterSet; + class Event; + class EventSetup; +} + +class EcalPFRecHitThresholdsMaker : public edm::EDAnalyzer { + public: + explicit EcalPFRecHitThresholdsMaker(const edm::ParameterSet& iConfig ); + ~EcalPFRecHitThresholdsMaker() override; + + void analyze( const edm::Event& evt, const edm::EventSetup& evtSetup) override; + + private: + + std::string m_timetype; + double m_nsigma; + +}; + +#endif diff --git a/CondTools/Ecal/interface/EcalPFRecHitThresholdsXMLTranslator.h b/CondTools/Ecal/interface/EcalPFRecHitThresholdsXMLTranslator.h new file mode 100644 index 0000000000000..509ed640de898 --- /dev/null +++ b/CondTools/Ecal/interface/EcalPFRecHitThresholdsXMLTranslator.h @@ -0,0 +1,17 @@ +/** + Translates a EcalPFRecHitThresholds record to XML + and vice versa + + \author Stefano ARGIRO + \version $Id: EcalPFRecHitThresholdsXMLTranslator.h,v 1.2 2009/06/30 14:40:11 argiro Exp $ + \date 20 Jun 2008 +*/ + +#ifndef __EcalPFRecHitThresholdsXMLTranslator_h_ +#define __EcalPFRecHitThresholdsXMLTranslator_h_ + +#include "CondTools/Ecal/interface/EcalFloatCondObjectContainerXMLTranslator.h" + +typedef EcalFloatCondObjectContainerXMLTranslator EcalPFRecHitThresholdsXMLTranslator; + +#endif // __EcalPFRecHitThresholdsXMLTranslator_h_ diff --git a/CondTools/Ecal/plugins/StoreEcalCondition.cc b/CondTools/Ecal/plugins/StoreEcalCondition.cc index b38ce4ea41f0b..f2b8ff9b8fdc6 100644 --- a/CondTools/Ecal/plugins/StoreEcalCondition.cc +++ b/CondTools/Ecal/plugins/StoreEcalCondition.cc @@ -101,6 +101,13 @@ void StoreEcalCondition::endJob() { }else{ mydbservice->appendSinceTime(mycali,newTime,"EcalIntercalibConstantsRcd"); } + } else if (objectName_[i] == "EcalPFRecHitThresholds") { + EcalPFRecHitThresholds* mycali=readEcalPFRecHitThresholdsFromFile(inpFileName_[i].c_str(),inpFileNameEE_[i].c_str()); + if(!toAppend){ + mydbservice->createNewIOV(mycali,newTime,mydbservice->endOfTime(),"EcalPFRecHitThresholdsRcd"); + }else{ + mydbservice->appendSinceTime(mycali,newTime,"EcalPFRecHitThresholdsRcd"); + } } else if (objectName_[i] == "EcalIntercalibConstantsMC") { EcalIntercalibConstantsMC* mycali=readEcalIntercalibConstantsMCFromFile(inpFileName_[i].c_str(),inpFileNameEE_[i].c_str()); if(!toAppend){ @@ -508,6 +515,84 @@ StoreEcalCondition::readEcalADCToGeVConstantFromFile(const char* inputFile) { } +//------------------------------------------------------------- +EcalPFRecHitThresholds* +StoreEcalCondition::readEcalPFRecHitThresholdsFromFile(const char* inputFile,const char* inputFileEE) { +//------------------------------------------------------------- + + EcalPFRecHitThresholds* ical = new EcalPFRecHitThresholds(); + + + FILE *inpFile; // input file + inpFile = fopen(inputFile,"r"); + if(!inpFile) { + edm::LogError("StoreEcalCondition")<<"*** Can not open file: "<().cacheIdentifier(); } else if (container == "EcalClusterCrackCorrParameters") { cacheID = evtSetup.get().cacheIdentifier(); + } else if (container == "EcalPFRecHitThresholds") { + cacheID = evtSetup.get().cacheIdentifier(); } else if (container == "EcalClusterEnergyUncertaintyParameters") { cacheID = evtSetup.get().cacheIdentifier(); } else if (container == "EcalClusterEnergyCorrectionParameters") { @@ -374,9 +380,16 @@ else if (container == "EcalIntercalibConstantsMC") { edm::ESHandle handle; evtSetup.get().get(handle); const EcalClusterCrackCorrParameters* obj = handle.product(); - std::cout << "tbweight pointer is: "<< obj<< std::endl; + std::cout << "cluster crack pointer is: "<< obj<< std::endl; dbOutput->createNewIOV( new EcalClusterCrackCorrParameters(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName); + } else if (container == "EcalPFRecHitThresholds") { + edm::ESHandle handle; + evtSetup.get().get(handle); + const EcalPFRecHitThresholds* obj = handle.product(); + std::cout << "Ecal PF rec hit thresholds pointer is: "<< obj<< std::endl; + dbOutput->createNewIOV( new EcalPFRecHitThresholds(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName); + } else if (container == "EcalClusterEnergyUncertaintyParameters") { edm::ESHandle handle; diff --git a/CondTools/Ecal/src/EcalPFRecHitThresholdsMaker.cc b/CondTools/Ecal/src/EcalPFRecHitThresholdsMaker.cc new file mode 100644 index 0000000000000..7bdef240c6e00 --- /dev/null +++ b/CondTools/Ecal/src/EcalPFRecHitThresholdsMaker.cc @@ -0,0 +1,233 @@ +#include "FWCore/ServiceRegistry/interface/Service.h" +#include "CondCore/DBOutputService/interface/PoolDBOutputService.h" + +#include "FWCore/ParameterSet/interface/ParameterSet.h" + + +#include "FWCore/Framework/interface/ESHandle.h" +#include "FWCore/Framework/interface/EventSetup.h" + +#include "FWCore/Framework/interface/Event.h" + +#include "CalibCalorimetry/EcalLaserCorrection/interface/EcalLaserDbService.h" +#include "CalibCalorimetry/EcalLaserCorrection/interface/EcalLaserDbRecord.h" + +#include "CondTools/Ecal/interface/EcalPFRecHitThresholdsMaker.h" +#include "CondFormats/EcalObjects/interface/EcalPedestals.h" +#include "CondFormats/DataRecord/interface/EcalPedestalsRcd.h" +#include "CondFormats/EcalObjects/interface/EcalADCToGeVConstant.h" +#include "CondFormats/DataRecord/interface/EcalADCToGeVConstantRcd.h" +#include "CondFormats/EcalObjects/interface/EcalTimeCalibConstants.h" +#include "CondFormats/DataRecord/interface/EcalTimeCalibConstantsRcd.h" +#include "CondFormats/EcalObjects/interface/EcalChannelStatus.h" +#include "CondFormats/DataRecord/interface/EcalChannelStatusRcd.h" +#include "CondFormats/EcalObjects/interface/EcalLinearCorrections.h" +#include "CondFormats/DataRecord/interface/EcalLinearCorrectionsRcd.h" +#include "CondFormats/EcalObjects/interface/EcalIntercalibConstants.h" +#include "CondFormats/DataRecord/interface/EcalIntercalibConstantsRcd.h" +#include "CondFormats/EcalObjects/interface/EcalIntercalibConstantsMC.h" +#include "CondFormats/DataRecord/interface/EcalIntercalibConstantsMCRcd.h" +#include "CondFormats/EcalObjects/interface/EcalIntercalibErrors.h" +#include "CondFormats/DataRecord/interface/EcalIntercalibErrorsRcd.h" +#include "CondFormats/EcalObjects/interface/EcalGainRatios.h" +#include "CondFormats/DataRecord/interface/EcalGainRatiosRcd.h" +#include "CondFormats/EcalObjects/interface/EcalWeightXtalGroups.h" +#include "CondFormats/DataRecord/interface/EcalWeightXtalGroupsRcd.h" +#include "CondFormats/EcalObjects/interface/EcalTBWeights.h" +#include "CondFormats/DataRecord/interface/EcalTBWeightsRcd.h" +#include "CondFormats/EcalObjects/interface/EcalLaserAlphas.h" +#include "CondFormats/DataRecord/interface/EcalLaserAlphasRcd.h" +#include "CondFormats/EcalObjects/interface/EcalLaserAPDPNRatios.h" +#include "CondFormats/DataRecord/interface/EcalLaserAPDPNRatiosRcd.h" +#include "CondFormats/EcalObjects/interface/EcalLaserAPDPNRatiosRef.h" +#include "CondFormats/DataRecord/interface/EcalLaserAPDPNRatiosRefRcd.h" +#include "CondFormats/EcalObjects/interface/EcalTPGCrystalStatus.h" +#include "CondFormats/DataRecord/interface/EcalTPGCrystalStatusRcd.h" +#include "CondFormats/EcalObjects/interface/EcalTPGTowerStatus.h" +#include "CondFormats/DataRecord/interface/EcalTPGTowerStatusRcd.h" + +#include "CondFormats/EcalObjects/interface/EcalDCSTowerStatus.h" +#include "CondFormats/DataRecord/interface/EcalDCSTowerStatusRcd.h" +#include "CondFormats/EcalObjects/interface/EcalDAQTowerStatus.h" +#include "CondFormats/DataRecord/interface/EcalDAQTowerStatusRcd.h" +#include "CondFormats/EcalObjects/interface/EcalDQMTowerStatus.h" +#include "CondFormats/DataRecord/interface/EcalDQMTowerStatusRcd.h" +#include "CondFormats/EcalObjects/interface/EcalDQMChannelStatus.h" +#include "CondFormats/DataRecord/interface/EcalDQMChannelStatusRcd.h" + +#include "CondFormats/EcalObjects/interface/EcalClusterCrackCorrParameters.h" +#include "CondFormats/DataRecord/interface/EcalClusterCrackCorrParametersRcd.h" + +#include "CondFormats/EcalObjects/interface/EcalPFRecHitThresholds.h" +#include "CondFormats/DataRecord/interface/EcalPFRecHitThresholdsRcd.h" + +#include "CondFormats/EcalObjects/interface/EcalClusterEnergyCorrectionParameters.h" +#include "CondFormats/DataRecord/interface/EcalClusterEnergyCorrectionParametersRcd.h" +#include "CondFormats/EcalObjects/interface/EcalClusterEnergyUncertaintyParameters.h" +#include "CondFormats/DataRecord/interface/EcalClusterEnergyUncertaintyParametersRcd.h" +#include "CondFormats/EcalObjects/interface/EcalClusterEnergyCorrectionObjectSpecificParameters.h" +#include "CondFormats/DataRecord/interface/EcalClusterEnergyCorrectionObjectSpecificParametersRcd.h" +#include "CondFormats/EcalObjects/interface/EcalClusterLocalContCorrParameters.h" +#include "CondFormats/DataRecord/interface/EcalClusterLocalContCorrParametersRcd.h" + +#include "CondFormats/Alignment/interface/Alignments.h" +#include "CondFormats/AlignmentRecord/interface/EBAlignmentRcd.h" +#include "CondFormats/AlignmentRecord/interface/EEAlignmentRcd.h" +#include "CondFormats/AlignmentRecord/interface/ESAlignmentRcd.h" +#include "CondFormats/EcalObjects/interface/EcalTimeOffsetConstant.h" +#include "CondFormats/DataRecord/interface/EcalTimeOffsetConstantRcd.h" + +#include "CondFormats/EcalObjects/interface/EcalSampleMask.h" +#include "CondFormats/DataRecord/interface/EcalSampleMaskRcd.h" + +#include "CondFormats/EcalObjects/interface/EcalTimeBiasCorrections.h" +#include "CondFormats/DataRecord/interface/EcalTimeBiasCorrectionsRcd.h" + +#include "CondFormats/EcalObjects/interface/EcalSamplesCorrelation.h" +#include "CondFormats/DataRecord/interface/EcalSamplesCorrelationRcd.h" + +#include "DataFormats/Provenance/interface/Timestamp.h" + +#include "CondCore/DBOutputService/interface/PoolDBOutputService.h" + +#include + +EcalPFRecHitThresholdsMaker::EcalPFRecHitThresholdsMaker(const edm::ParameterSet& iConfig) : + m_timetype(iConfig.getParameter("timetype")) +{ + + std::string container; + std::string tag; + std::string record; + + m_nsigma = iConfig.getParameter("NSigma"); + +} + + +EcalPFRecHitThresholdsMaker::~EcalPFRecHitThresholdsMaker() +{ + +} + +void EcalPFRecHitThresholdsMaker::analyze( const edm::Event& evt, const edm::EventSetup& evtSetup){ + + edm::Service dbOutput; + if ( !dbOutput.isAvailable() ) { + throw cms::Exception("PoolDBOutputService is not available"); + } + + + + edm::ESHandle handle1; + evtSetup.get().get(handle1); + const EcalPedestals* ped_db = handle1.product(); + std::cout << "ped pointer is: "<< ped_db<< std::endl; + + + edm::ESHandle handle2; + evtSetup.get().get(handle2); + const EcalADCToGeVConstant* adc_db = handle2.product(); + std::cout << "adc pointer is: "<< adc_db<< std::endl; + + edm::ESHandle handle3; + evtSetup.get().get(handle3); + const EcalIntercalibConstants* ical_db = handle3.product(); + std::cout << "inter pointer is: "<< ical_db<< std::endl; + + + edm::ESHandle laser; + evtSetup.get().get(laser); + + EcalPFRecHitThresholds* pfthresh = new EcalPFRecHitThresholds(); + + // const EcalIntercalibConstantMap& icalMap = ical_db->getMap(); + + + float adc_EB= float(adc_db->getEEValue()) ; + float adc_EE=float(adc_db->getEBValue()); + + + //edm::Timestamp tsince; + + + + for(int iEta=-EBDetId::MAX_IETA; iEta<=EBDetId::MAX_IETA ;++iEta) { + if(iEta==0) continue; + for(int iPhi=EBDetId::MIN_IPHI; iPhi<=EBDetId::MAX_IPHI; ++iPhi) { + // make an EBDetId since we need EBDetId::rawId() to be used as the key for the pedestals + if (EBDetId::validDetId(iEta,iPhi)) { + EBDetId ebdetid(iEta,iPhi,EBDetId::ETAPHIMODE); + EcalPedestals::const_iterator it =ped_db->find(ebdetid.rawId()); + EcalPedestals::Item aped = (*it); + + EcalIntercalibConstants::const_iterator itc =ical_db->find(ebdetid.rawId()); + float calib = (*itc); + + // get laser coefficient + float lasercalib = 1.; + lasercalib = laser->getLaserCorrection( ebdetid, evt.time()); // TODO correct time + + EcalPFRecHitThreshold thresh= aped.rms_x12 * calib * adc_EB * lasercalib * m_nsigma; + + if(iPhi==100) std::cout<<"Thresh(GeV)="<insert(std::make_pair(ebdetid.rawId(),thresh)); + } + } + } + + for(int iX=EEDetId::IX_MIN; iX<=EEDetId::IX_MAX ;++iX) { + for(int iY=EEDetId::IY_MIN; iY<=EEDetId::IY_MAX; ++iY) { + // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals + if (EEDetId::validDetId(iX,iY,1)) { + EEDetId eedetid(iX,iY,1); + + EcalPedestals::const_iterator it =ped_db->find(eedetid.rawId()); + EcalPedestals::Item aped = (*it); + + EcalIntercalibConstants::const_iterator itc =ical_db->find(eedetid.rawId()); + float calib = (*itc); + + // get laser coefficient + float lasercalib = 1.; + lasercalib = laser->getLaserCorrection( eedetid, evt.time()); // TODO correct time + + EcalPFRecHitThreshold thresh= aped.rms_x12 * calib * adc_EE * lasercalib * m_nsigma; + pfthresh->insert(std::make_pair(eedetid.rawId(),thresh)); + } + if(EEDetId::validDetId(iX,iY,-1)) { + + EEDetId eedetid(iX,iY,-1); + + EcalPedestals::const_iterator it =ped_db->find(eedetid.rawId()); + EcalPedestals::Item aped = (*it); + + EcalIntercalibConstants::const_iterator itc =ical_db->find(eedetid.rawId()); + float calib = (*itc); + + // get laser coefficient + float lasercalib = 1.; + lasercalib = laser->getLaserCorrection( eedetid, evt.time()); // TODO correct time + + EcalPFRecHitThreshold thresh= aped.rms_x12 * calib * adc_EE * lasercalib * m_nsigma; + pfthresh->insert(std::make_pair(eedetid.rawId(),thresh)); + + if(iX==50) std::cout<<"Thresh(GeV)="<createNewIOV( pfthresh , dbOutput->beginOfTime(), dbOutput->endOfTime(),"EcalPFRecHitThresholdsRcd"); + + + + std::cout<< "EcalPFRecHitThresholdsMaker wrote it " << std::endl; +} + diff --git a/CondTools/Ecal/test/BuildFile.xml b/CondTools/Ecal/test/BuildFile.xml index 37a6056a1a12c..e87f32df67020 100644 --- a/CondTools/Ecal/test/BuildFile.xml +++ b/CondTools/Ecal/test/BuildFile.xml @@ -2,24 +2,4 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/CondTools/Ecal/test/EcalDAQ_O2O_test.sh b/CondTools/Ecal/test/EcalDAQ_O2O_test.sh index a714974fb4b3b..71bea48cb5f3b 100755 --- a/CondTools/Ecal/test/EcalDAQ_O2O_test.sh +++ b/CondTools/Ecal/test/EcalDAQ_O2O_test.sh @@ -1,7 +1,4 @@ #!/bin/sh conddb --yes copy EcalDAQTowerStatus_online --destdb EcalDAQTowerStatus_online_O2OTEST.db --o2oTest popconRun ./src/CondTools/Ecal/python/EcalDAQ_popcon.py -d sqlite_file:EcalDAQTowerStatus_online_O2OTEST.db -t EcalDAQTowerStatus_online -c -ret=$? conddb --db EcalDAQTowerStatus_online_O2OTEST.db list EcalDAQTowerStatus_online -echo "return code is $ret" -exit $ret