CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
EcalTrivialConditionRetriever Class Reference

#include <EcalTrivialConditionRetriever.h>

Inheritance diagram for EcalTrivialConditionRetriever:
edm::ESProducer edm::EventSetupRecordIntervalFinder edm::ESProductResolverFactoryProducer edm::eventsetup::ESProductResolverProvider

Public Member Functions

 EcalTrivialConditionRetriever (const edm::ParameterSet &pset)
 
 EcalTrivialConditionRetriever (const EcalTrivialConditionRetriever &)=delete
 
virtual std::unique_ptr< EcalChannelStatusgetChannelStatusFromConfiguration (const EcalChannelStatusRcd &)
 
virtual std::unique_ptr< EcalSimComponentShapegetEcalSimComponentShapeFromConfiguration (const EcalSimComponentShapeRcd &)
 
virtual std::unique_ptr< EcalSimPulseShapegetEcalSimPulseShapeFromConfiguration (const EcalSimPulseShapeRcd &)
 
virtual std::unique_ptr< EcalIntercalibConstantsgetIntercalibConstantsFromConfiguration (const EcalIntercalibConstantsRcd &)
 
virtual std::unique_ptr< EcalIntercalibConstantsMCgetIntercalibConstantsMCFromConfiguration (const EcalIntercalibConstantsMCRcd &)
 
virtual std::unique_ptr< EcalIntercalibErrorsgetIntercalibErrorsFromConfiguration (const EcalIntercalibErrorsRcd &)
 
virtual std::unique_ptr< EcalMappingElectronicsgetMappingFromConfiguration (const EcalMappingElectronicsRcd &)
 
virtual std::unique_ptr< EcalPFRecHitThresholdsgetPFRecHitThresholdsFromConfiguration (const EcalPFRecHitThresholdsRcd &)
 
virtual std::unique_ptr< EcalTimeCalibConstantsgetTimeCalibConstantsFromConfiguration (const EcalTimeCalibConstantsRcd &)
 
virtual std::unique_ptr< EcalTimeCalibErrorsgetTimeCalibErrorsFromConfiguration (const EcalTimeCalibErrorsRcd &)
 
virtual std::unique_ptr< EcalTPGCrystalStatusgetTrgChannelStatusFromConfiguration (const EcalTPGCrystalStatusRcd &)
 
const EcalTrivialConditionRetrieveroperator= (const EcalTrivialConditionRetriever &)=delete
 
virtual std::unique_ptr< EcalADCToGeVConstantproduceEcalADCToGeVConstant (const EcalADCToGeVConstantRcd &)
 
virtual std::unique_ptr< AlignmentsproduceEcalAlignmentEB (const EBAlignmentRcd &)
 
virtual std::unique_ptr< AlignmentsproduceEcalAlignmentEE (const EEAlignmentRcd &)
 
virtual std::unique_ptr< AlignmentsproduceEcalAlignmentES (const ESAlignmentRcd &)
 
virtual std::unique_ptr< EcalChannelStatusproduceEcalChannelStatus (const EcalChannelStatusRcd &)
 
virtual std::unique_ptr< EcalClusterCrackCorrParametersproduceEcalClusterCrackCorrParameters (const EcalClusterCrackCorrParametersRcd &)
 
virtual std::unique_ptr< EcalClusterEnergyCorrectionObjectSpecificParametersproduceEcalClusterEnergyCorrectionObjectSpecificParameters (const EcalClusterEnergyCorrectionObjectSpecificParametersRcd &)
 
virtual std::unique_ptr< EcalClusterEnergyCorrectionParametersproduceEcalClusterEnergyCorrectionParameters (const EcalClusterEnergyCorrectionParametersRcd &)
 
virtual std::unique_ptr< EcalClusterEnergyUncertaintyParametersproduceEcalClusterEnergyUncertaintyParameters (const EcalClusterEnergyUncertaintyParametersRcd &)
 
virtual std::unique_ptr< EcalClusterLocalContCorrParametersproduceEcalClusterLocalContCorrParameters (const EcalClusterLocalContCorrParametersRcd &)
 
virtual std::unique_ptr< EcalDAQTowerStatusproduceEcalDAQTowerStatus (const EcalDAQTowerStatusRcd &)
 
virtual std::unique_ptr< EcalDCSTowerStatusproduceEcalDCSTowerStatus (const EcalDCSTowerStatusRcd &)
 
virtual std::unique_ptr< EcalDQMChannelStatusproduceEcalDQMChannelStatus (const EcalDQMChannelStatusRcd &)
 
virtual std::unique_ptr< EcalDQMTowerStatusproduceEcalDQMTowerStatus (const EcalDQMTowerStatusRcd &)
 
virtual std::unique_ptr< EcalGainRatiosproduceEcalGainRatios (const EcalGainRatiosRcd &)
 
virtual std::unique_ptr< EcalIntercalibConstantsproduceEcalIntercalibConstants (const EcalIntercalibConstantsRcd &)
 
virtual std::unique_ptr< EcalIntercalibConstantsMCproduceEcalIntercalibConstantsMC (const EcalIntercalibConstantsMCRcd &)
 
virtual std::unique_ptr< EcalIntercalibErrorsproduceEcalIntercalibErrors (const EcalIntercalibErrorsRcd &)
 
virtual std::unique_ptr< EcalLaserAlphasproduceEcalLaserAlphas (const EcalLaserAlphasRcd &)
 
virtual std::unique_ptr< EcalLaserAPDPNRatiosproduceEcalLaserAPDPNRatios (const EcalLaserAPDPNRatiosRcd &)
 
virtual std::unique_ptr< EcalLaserAPDPNRatiosRefproduceEcalLaserAPDPNRatiosRef (const EcalLaserAPDPNRatiosRefRcd &)
 
virtual std::unique_ptr< EcalLinearCorrectionsproduceEcalLinearCorrections (const EcalLinearCorrectionsRcd &)
 
virtual std::unique_ptr< EcalMappingElectronicsproduceEcalMappingElectronics (const EcalMappingElectronicsRcd &)
 
virtual std::unique_ptr< EcalPedestalsproduceEcalPedestals (const EcalPedestalsRcd &)
 
virtual std::unique_ptr< EcalPFRecHitThresholdsproduceEcalPFRecHitThresholds (const EcalPFRecHitThresholdsRcd &)
 
virtual std::unique_ptr< EcalSampleMaskproduceEcalSampleMask (const EcalSampleMaskRcd &)
 
virtual std::unique_ptr< EcalSamplesCorrelationproduceEcalSamplesCorrelation (const EcalSamplesCorrelationRcd &)
 
virtual std::unique_ptr< EcalTBWeightsproduceEcalTBWeights (const EcalTBWeightsRcd &)
 
virtual std::unique_ptr< EcalTimeBiasCorrectionsproduceEcalTimeBiasCorrections (const EcalTimeBiasCorrectionsRcd &)
 
virtual std::unique_ptr< EcalTimeCalibConstantsproduceEcalTimeCalibConstants (const EcalTimeCalibConstantsRcd &)
 
virtual std::unique_ptr< EcalTimeCalibErrorsproduceEcalTimeCalibErrors (const EcalTimeCalibErrorsRcd &)
 
virtual std::unique_ptr< EcalTimeOffsetConstantproduceEcalTimeOffsetConstant (const EcalTimeOffsetConstantRcd &)
 
virtual std::unique_ptr< EcalTPGCrystalStatusproduceEcalTrgChannelStatus (const EcalTPGCrystalStatusRcd &)
 
virtual std::unique_ptr< EcalWeightXtalGroupsproduceEcalWeightXtalGroups (const EcalWeightXtalGroupsRcd &)
 
 ~EcalTrivialConditionRetriever () override
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
 ESProducer (const ESProducer &)=delete
 
 ESProducer (ESProducer &&)=delete
 
ESResolverIndex const * getTokenIndices (unsigned int iIndex) const
 
ESRecordIndex const * getTokenRecordIndices (unsigned int iIndex) const
 
bool hasMayConsumes () const noexcept
 
size_t numberOfTokenIndices (unsigned int iIndex) const
 
ESProduceroperator= (const ESProducer &)=delete
 
ESProduceroperator= (ESProducer &&)=delete
 
SerialTaskQueueChainqueue ()
 
template<typename Record >
std::optional< std::vector< ESResolverIndex > > updateFromMayConsumes (unsigned int iIndex, const Record &iRecord) const
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &) final
 
 ~ESProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::ESProductResolverFactoryProducer
 ESProductResolverFactoryProducer ()
 
 ESProductResolverFactoryProducer (const ESProductResolverFactoryProducer &)=delete
 
const ESProductResolverFactoryProduceroperator= (const ESProductResolverFactoryProducer &)=delete
 
 ~ESProductResolverFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::ESProductResolverProvider
void createKeyedResolvers (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
const ComponentDescriptiondescription () const
 
 ESProductResolverProvider ()
 
 ESProductResolverProvider (const ESProductResolverProvider &)=delete
 
void fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const
 
virtual void initConcurrentIOVs (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
bool isUsingRecord (const EventSetupRecordKey &key) const
 
KeyedResolverskeyedResolvers (const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0)
 
const ESProductResolverProvideroperator= (const ESProductResolverProvider &)=delete
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~ESProductResolverProvider () noexcept(false)
 
- Public Member Functions inherited from edm::EventSetupRecordIntervalFinder
bool concurrentFinder () const
 
const eventsetup::ComponentDescriptiondescriptionForFinder () const
 
 EventSetupRecordIntervalFinder ()
 
 EventSetupRecordIntervalFinder (const EventSetupRecordIntervalFinder &)=delete
 
std::set< eventsetup::EventSetupRecordKeyfindingForRecords () const
 
const ValidityIntervalfindIntervalFor (const eventsetup::EventSetupRecordKey &, const IOVSyncValue &)
 
bool nonconcurrentAndIOVNeedsUpdate (const eventsetup::EventSetupRecordKey &key, const IOVSyncValue &syncValue) const
 
const EventSetupRecordIntervalFinderoperator= (const EventSetupRecordIntervalFinder &)=delete
 
void resetInterval (const eventsetup::EventSetupRecordKey &)
 
void setDescriptionForFinder (const eventsetup::ComponentDescription &iDescription)
 
virtual ~EventSetupRecordIntervalFinder () noexcept(false)
 

Protected Member Functions

void setIntervalFor (const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &) override
 
- Protected Member Functions inherited from edm::ESProducer
ESConsumesInfoconsumesInfoPushBackNew ()
 
unsigned int consumesInfoSize () const
 
template<typename CallbackT , typename TList , typename TRecord >
void registerProducts (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const TList *, const TRecord *iRecord, const es::Label &iLabel)
 
template<typename CallbackT , typename TRecord >
void registerProducts (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>>, const eventsetup::produce::Null *, const TRecord *, const es::Label &)
 
template<typename T >
auto setWhatProduced (T *iThis, const es::Label &iLabel={})
 
template<typename T >
auto setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
auto setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
auto setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord >
auto setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord , typename TDecorator >
auto setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename TFunc >
auto setWhatProduced (TFunc &&func, const es::Label &iLabel={})
 
template<typename TReturn , typename TRecord , typename TFunc , typename TDecorator >
ESConsumesCollectorT< TRecord > setWhatProduced (TFunc &&func, TDecorator &&iDec, const es::Label &iLabel={})
 
void usesResources (std::vector< std::string > const &)
 
- Protected Member Functions inherited from edm::ESProductResolverFactoryProducer
template<class TFactory >
void registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
virtual void registerFactoryWithKey (const EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ESProductResolverFactoryBase > iFactory, const std::string &iLabel=std::string())
 
KeyedResolversVector registerResolvers (const EventSetupRecordKey &, unsigned int iovIndex) override
 
- Protected Member Functions inherited from edm::eventsetup::ESProductResolverProvider
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &key)
 
- Protected Member Functions inherited from edm::EventSetupRecordIntervalFinder
template<class T >
void findingRecord ()
 
void findingRecordWithKey (const eventsetup::EventSetupRecordKey &)
 

Private Member Functions

void getWeightsFromConfiguration (const edm::ParameterSet &ps)
 

Private Attributes

double adcToGeVEBConstant_
 
double adcToGeVEEConstant_
 
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > amplWeights_
 
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > amplWeightsAft_
 
std::string amplWeightsAftFile_
 
std::string amplWeightsFile_
 
std::string APDSimPulseShapeFile_
 
std::string channelStatusFile_
 
std::vector< EcalWeightSet::EcalChi2WeightMatrixchi2Matrix_
 
std::vector< EcalWeightSet::EcalChi2WeightMatrixchi2MatrixAft_
 
std::string chi2MatrixAftFile_
 
std::string chi2MatrixFile_
 
std::vector< double > crackCorrParameters_
 
std::string EBAlignmentFile_
 
std::vector< double > EBG12samplesCorrelation_
 
std::vector< double > EBG1samplesCorrelation_
 
std::vector< double > EBG6samplesCorrelation_
 
std::string EBLaserAlphaFile_
 
double EBpedMeanX12_
 
double EBpedMeanX1_
 
double EBpedMeanX6_
 
double EBpedRMSX12_
 
double EBpedRMSX1_
 
double EBpedRMSX6_
 
std::vector< std::string > EBSimComponentShapeFiles_
 
std::string EBSimPulseShapeFile_
 
std::vector< double > EBtimeCorrAmplitudeBins_
 
std::vector< double > EBtimeCorrShiftBins_
 
std::string EEAlignmentFile_
 
std::vector< double > EEG12samplesCorrelation_
 
std::vector< double > EEG1samplesCorrelation_
 
std::vector< double > EEG6samplesCorrelation_
 
std::string EELaserAlphaFile2_
 
std::string EELaserAlphaFile_
 
double EEpedMeanX12_
 
double EEpedMeanX1_
 
double EEpedMeanX6_
 
double EEpedRMSX12_
 
double EEpedRMSX1_
 
double EEpedRMSX6_
 
std::string EESimPulseShapeFile_
 
std::vector< double > EEtimeCorrAmplitudeBins_
 
std::vector< double > EEtimeCorrShiftBins_
 
std::vector< double > energyCorrectionObjectSpecificParameters_
 
std::vector< double > energyCorrectionParameters_
 
std::vector< double > energyUncertaintyParameters_
 
std::string ESAlignmentFile_
 
double gainRatio12over6_
 
double gainRatio6over1_
 
bool getEBAlignmentFromFile_
 
bool getEEAlignmentFromFile_
 
bool getESAlignmentFromFile_
 
bool getLaserAlphaFromFileEB_
 
bool getLaserAlphaFromFileEE_
 
bool getLaserAlphaFromTypeEB_
 
bool getLaserAlphaFromTypeEE_
 
bool getSamplesCorrelationFromFile_
 
bool getSimComponentShapeFromFile_
 
bool getSimPulseShapeFromFile_
 
bool getWeightsFromFile_
 
double instLumi_
 
double intercalibConstantMean_
 
double intercalibConstantMeanMC_
 
std::string intercalibConstantsFile_
 
double intercalibConstantSigma_
 
double intercalibConstantSigmaMC_
 
std::string intercalibConstantsMCFile_
 
double intercalibErrorMean_
 
std::string intercalibErrorsFile_
 
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > jittWeights_
 
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > jittWeightsAft_
 
std::string jittWeightsAftFile_
 
std::string jittWeightsFile_
 
double laserAlphaMean_
 
double laserAlphaMeanEBC_
 
double laserAlphaMeanEBR_
 
double laserAlphaMeanEEC_
 
double laserAlphaMeanEEC_higheta_
 
double laserAlphaMeanEER_
 
double laserAlphaMeanEER_higheta_
 
double laserAlphaSigma_
 
double laserAPDPNMean_
 
double laserAPDPNRefMean_
 
double laserAPDPNRefSigma_
 
double laserAPDPNSigma_
 
unsigned long laserAPDPNTime1_
 
unsigned long laserAPDPNTime2_
 
unsigned long laserAPDPNTime3_
 
double linCorrMean_
 
double linCorrSigma_
 
std::string linearCorrectionsFile_
 
unsigned long linearTime1_
 
unsigned long linearTime2_
 
unsigned long linearTime3_
 
std::vector< double > localContCorrParameters_
 
std::string mappingFile_
 
int nTDCbins_
 
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > pedWeights_
 
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > pedWeightsAft_
 
std::string pedWeightsAftFile_
 
std::string pedWeightsFile_
 
std::string pfRecHitFile_
 
std::string pfRecHitFileEE_
 
double pfRecHitThresholdsEB_
 
double pfRecHitThresholdsEE_
 
double pfRecHitThresholdsNSigmas_
 
double pfRecHitThresholdsNSigmasHEta_
 
bool producedEcalADCToGeVConstant_
 
bool producedEcalAlignmentEB_
 
bool producedEcalAlignmentEE_
 
bool producedEcalAlignmentES_
 
bool producedEcalChannelStatus_
 
bool producedEcalClusterCrackCorrParameters_
 
bool producedEcalClusterEnergyCorrectionObjectSpecificParameters_
 
bool producedEcalClusterEnergyCorrectionParameters_
 
bool producedEcalClusterEnergyUncertaintyParameters_
 
bool producedEcalClusterLocalContCorrParameters_
 
bool producedEcalDAQTowerStatus_
 
bool producedEcalDCSTowerStatus_
 
bool producedEcalDQMChannelStatus_
 
bool producedEcalDQMTowerStatus_
 
bool producedEcalGainRatios_
 
bool producedEcalIntercalibConstants_
 
bool producedEcalIntercalibConstantsMC_
 
bool producedEcalIntercalibErrors_
 
bool producedEcalLaserCorrection_
 
bool producedEcalLinearCorrections_
 
bool producedEcalMappingElectronics_
 
bool producedEcalPedestals_
 
bool producedEcalPFRecHitThresholds_
 
bool producedEcalSampleMask_
 
bool producedEcalSamplesCorrelation_
 
bool producedEcalSimComponentShape_
 
bool producedEcalSimPulseShape_
 
bool producedEcalTimeBiasCorrections_
 
bool producedEcalTimeCalibConstants_
 
bool producedEcalTimeCalibErrors_
 
bool producedEcalTimeOffsetConstant_
 
bool producedEcalTrgChannelStatus_
 
bool producedEcalWeights_
 
unsigned int sampleMaskEB_
 
unsigned int sampleMaskEE_
 
std::string SamplesCorrelationFile_
 
double sim_pulse_shape_APD_thresh_
 
double sim_pulse_shape_EB_thresh_
 
double sim_pulse_shape_EE_thresh_
 
float sim_pulse_shape_TI_
 
double timeCalibConstantMean_
 
std::string timeCalibConstantsFile_
 
double timeCalibConstantSigma_
 
double timeCalibErrorMean_
 
std::string timeCalibErrorsFile_
 
double timeOffsetEBConstant_
 
double timeOffsetEEConstant_
 
double totLumi_
 
std::string trgChannelStatusFile_
 
int verbose_
 
bool weightsForAsynchronousRunning_
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::eventsetup::ESProductResolverProvider
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Types inherited from edm::ESProductResolverFactoryProducer
using EventSetupRecordKey = eventsetup::EventSetupRecordKey
 
- Protected Types inherited from edm::eventsetup::ESProductResolverProvider
using KeyedResolversVector = std::vector< std::pair< DataKey, std::shared_ptr< ESProductResolver > >>
 

Detailed Description

Definition at line 126 of file EcalTrivialConditionRetriever.h.

Constructor & Destructor Documentation

◆ EcalTrivialConditionRetriever() [1/2]

EcalTrivialConditionRetriever::EcalTrivialConditionRetriever ( const edm::ParameterSet pset)

Definition at line 31 of file EcalTrivialConditionRetriever.cc.

References getChannelStatusFromConfiguration(), getEcalSimComponentShapeFromConfiguration(), getEcalSimPulseShapeFromConfiguration(), getIntercalibConstantsFromConfiguration(), getIntercalibConstantsMCFromConfiguration(), getIntercalibErrorsFromConfiguration(), getMappingFromConfiguration(), edm::ParameterSet::getParameter(), getPFRecHitThresholdsFromConfiguration(), getTimeCalibConstantsFromConfiguration(), getTimeCalibErrorsFromConfiguration(), getTrgChannelStatusFromConfiguration(), edm::ParameterSet::getUntrackedParameter(), produceEcalADCToGeVConstant(), produceEcalAlignmentEB(), produceEcalAlignmentEE(), produceEcalAlignmentES(), produceEcalChannelStatus(), produceEcalClusterCrackCorrParameters(), produceEcalClusterEnergyCorrectionObjectSpecificParameters(), produceEcalClusterEnergyCorrectionParameters(), produceEcalClusterEnergyUncertaintyParameters(), produceEcalClusterLocalContCorrParameters(), produceEcalDAQTowerStatus(), produceEcalDCSTowerStatus(), produceEcalDQMChannelStatus(), produceEcalDQMTowerStatus(), produceEcalGainRatios(), produceEcalIntercalibConstants(), produceEcalIntercalibConstantsMC(), produceEcalIntercalibErrors(), produceEcalLaserAlphas(), produceEcalLaserAPDPNRatios(), produceEcalLaserAPDPNRatiosRef(), produceEcalLinearCorrections(), produceEcalMappingElectronics(), produceEcalPedestals(), produceEcalPFRecHitThresholds(), produceEcalSampleMask(), produceEcalSamplesCorrelation(), produceEcalTBWeights(), produceEcalTimeBiasCorrections(), produceEcalTimeCalibConstants(), produceEcalTimeCalibErrors(), produceEcalTimeOffsetConstant(), produceEcalTrgChannelStatus(), produceEcalWeightXtalGroups(), str, and AlCaHLTBitMon_QueryRunRegistry::string.

31  {
32  std::string dataPath_ =
33  ps.getUntrackedParameter<std::string>("dataPath", "CalibCalorimetry/EcalTrivialCondModules/data/");
34  // std::string dataPath_ = "CalibCalorimetry/EcalTrivialCondModules/data_test/";
35 
36  /*since CMSSW_10_6_0, this dataPath_ points to https://github.com/cms-data/CalibCalorimetry-EcalTrivialCondModules (extra package).
37 To modify the default values :
38 $ git clone https://github.com/cms-data/CalibCalorimetry-EcalTrivialCondModules.git
39 $ cd CalibCalorimetry-EcalTrivialCondModules
40 $ modify what you want
41 $ git commit -a
42 $ git remote add ModifyCalibCalorimetryExtraPackage git@github.com:yourName/CalibCalorimetry-EcalTrivialCondModules
43 $ git push ModifyCalibCalorimetryExtraPackage master:building-calibCalorimetry-extra-package
44 
45 other solution : change this dataPath name to work directly in afs, ex. :
46 
47  std::string dataPath_="CalibCalorimetry/EcalTrivialCondModules/data_test/";
48 
49  */
50 
51  // initialize parameters used to produce cond DB objects
52  totLumi_ = ps.getUntrackedParameter<double>("TotLumi", 0.0);
53  instLumi_ = ps.getUntrackedParameter<double>("InstLumi", 0.0);
54 
55  // initilize parameters used to produce cond DB objects
56  adcToGeVEBConstant_ = ps.getUntrackedParameter<double>("adcToGeVEBConstant", 0.035);
57  adcToGeVEEConstant_ = ps.getUntrackedParameter<double>("adcToGeVEEConstant", 0.060);
58 
59  intercalibConstantMeanMC_ = ps.getUntrackedParameter<double>("intercalibConstantMeanMC", 1.0);
60  intercalibConstantSigmaMC_ = ps.getUntrackedParameter<double>("intercalibConstantSigmaMC", 0.0);
61 
62  linCorrMean_ = ps.getUntrackedParameter<double>("linCorrMean", 1.0);
63  linCorrSigma_ = ps.getUntrackedParameter<double>("linCorrSigma", 0.0);
64 
65  linearTime1_ = (unsigned long)atoi(ps.getUntrackedParameter<std::string>("linearTime1", "1").c_str());
66  linearTime2_ = (unsigned long)atoi(ps.getUntrackedParameter<std::string>("linearTime2", "0").c_str());
67  linearTime3_ = (unsigned long)atoi(ps.getUntrackedParameter<std::string>("linearTime3", "0").c_str());
68 
69  intercalibConstantMean_ = ps.getUntrackedParameter<double>("intercalibConstantMean", 1.0);
70  intercalibConstantSigma_ = ps.getUntrackedParameter<double>("intercalibConstantSigma", 0.0);
71  intercalibErrorMean_ = ps.getUntrackedParameter<double>("IntercalibErrorMean", 0.0);
72 
73  timeCalibConstantMean_ = ps.getUntrackedParameter<double>("timeCalibConstantMean", 0.0);
74  timeCalibConstantSigma_ = ps.getUntrackedParameter<double>("timeCalibConstantSigma", 0.0);
75  timeCalibErrorMean_ = ps.getUntrackedParameter<double>("timeCalibErrorMean", 0.0);
76 
77  timeOffsetEBConstant_ = ps.getUntrackedParameter<double>("timeOffsetEBConstant", 0.0);
78  timeOffsetEEConstant_ = ps.getUntrackedParameter<double>("timeOffsetEEConstant", 0.0);
79 
80  laserAlphaMean_ = ps.getUntrackedParameter<double>("laserAlphaMean", 1.55);
81  laserAlphaSigma_ = ps.getUntrackedParameter<double>("laserAlphaSigma", 0);
82 
83  laserAPDPNTime1_ = (unsigned long)atoi(ps.getUntrackedParameter<std::string>("laserAPDPNTime1", "1").c_str());
84  laserAPDPNTime2_ = (unsigned long)atoi(ps.getUntrackedParameter<std::string>("laserAPDPNTime2", "0").c_str());
85  laserAPDPNTime3_ = (unsigned long)atoi(ps.getUntrackedParameter<std::string>("laserAPDPNTime3", "0").c_str());
86 
87  laserAPDPNRefMean_ = ps.getUntrackedParameter<double>("laserAPDPNRefMean", 1.0);
88  laserAPDPNRefSigma_ = ps.getUntrackedParameter<double>("laserAPDPNRefSigma", 0.0);
89 
90  laserAPDPNMean_ = ps.getUntrackedParameter<double>("laserAPDPNMean", 1.0);
91  laserAPDPNSigma_ = ps.getUntrackedParameter<double>("laserAPDPNSigma", 0.0);
92 
93  pfRecHitThresholdsNSigmas_ = ps.getUntrackedParameter<double>("EcalPFRecHitThresholdNSigmas", 1.0);
94  pfRecHitThresholdsNSigmasHEta_ = ps.getUntrackedParameter<double>("EcalPFRecHitThresholdNSigmasHEta", 1.0);
95  pfRecHitThresholdsEB_ = ps.getUntrackedParameter<double>("EcalPFRecHitThresholdEB", 0.0);
96  pfRecHitThresholdsEE_ = ps.getUntrackedParameter<double>("EcalPFRecHitThresholdEE", 0.0);
97 
99  ps.getUntrackedParameter<std::vector<double> >("localContCorrParameters", std::vector<double>(0));
100  crackCorrParameters_ = ps.getUntrackedParameter<std::vector<double> >("crackCorrParameters", std::vector<double>(0));
102  ps.getUntrackedParameter<std::vector<double> >("energyCorrectionParameters", std::vector<double>(0));
104  ps.getUntrackedParameter<std::vector<double> >("energyUncertaintyParameters", std::vector<double>(0));
105  energyCorrectionObjectSpecificParameters_ = ps.getUntrackedParameter<std::vector<double> >(
106  "energyCorrectionObjectSpecificParameters", std::vector<double>(0));
107 
108  EBpedMeanX12_ = ps.getUntrackedParameter<double>("EBpedMeanX12", 200.);
109  EBpedRMSX12_ = ps.getUntrackedParameter<double>("EBpedRMSX12", 1.10);
110  EBpedMeanX6_ = ps.getUntrackedParameter<double>("EBpedMeanX6", 200.);
111  EBpedRMSX6_ = ps.getUntrackedParameter<double>("EBpedRMSX6", 0.90);
112  EBpedMeanX1_ = ps.getUntrackedParameter<double>("EBpedMeanX1", 200.);
113  EBpedRMSX1_ = ps.getUntrackedParameter<double>("EBpedRMSX1", 0.62);
114 
115  EEpedMeanX12_ = ps.getUntrackedParameter<double>("EEpedMeanX12", 200.);
116  EEpedRMSX12_ = ps.getUntrackedParameter<double>("EEpedRMSX12", 2.50);
117  EEpedMeanX6_ = ps.getUntrackedParameter<double>("EEpedMeanX6", 200.);
118  EEpedRMSX6_ = ps.getUntrackedParameter<double>("EEpedRMSX6", 2.00);
119  EEpedMeanX1_ = ps.getUntrackedParameter<double>("EEpedMeanX1", 200.);
120  EEpedRMSX1_ = ps.getUntrackedParameter<double>("EEpedRMSX1", 1.40);
121 
122  gainRatio12over6_ = ps.getUntrackedParameter<double>("gainRatio12over6", 2.0);
123  gainRatio6over1_ = ps.getUntrackedParameter<double>("gainRatio6over1", 6.0);
124 
125  getWeightsFromFile_ = ps.getUntrackedParameter<bool>("getWeightsFromFile", false);
126 
127  sampleMaskEB_ = ps.getUntrackedParameter<unsigned int>("sampleMaskEB", 1023);
128  sampleMaskEE_ = ps.getUntrackedParameter<unsigned int>("sampleMaskEB", 1023);
129 
131  ps.getUntrackedParameter<std::vector<double> >("EBtimeCorrAmplitudeBins", std::vector<double>());
132  EBtimeCorrShiftBins_ = ps.getUntrackedParameter<std::vector<double> >("EBtimeCorrShiftBins", std::vector<double>());
134  ps.getUntrackedParameter<std::vector<double> >("EEtimeCorrAmplitudeBins", std::vector<double>());
135  EEtimeCorrShiftBins_ = ps.getUntrackedParameter<std::vector<double> >("EEtimeCorrShiftBins", std::vector<double>());
136 
138  ps.getUntrackedParameter<std::vector<double> >("EBG12samplesCorrelation", std::vector<double>());
140  ps.getUntrackedParameter<std::vector<double> >("EBG6samplesCorrelation", std::vector<double>());
142  ps.getUntrackedParameter<std::vector<double> >("EBG1samplesCorrelation", std::vector<double>());
144  ps.getUntrackedParameter<std::vector<double> >("EEG12samplesCorrelation", std::vector<double>());
146  ps.getUntrackedParameter<std::vector<double> >("EEG6samplesCorrelation", std::vector<double>());
148  ps.getUntrackedParameter<std::vector<double> >("EEG1samplesCorrelation", std::vector<double>());
149 
150  sim_pulse_shape_EB_thresh_ = ps.getParameter<double>("sim_pulse_shape_EB_thresh");
151  sim_pulse_shape_EE_thresh_ = ps.getParameter<double>("sim_pulse_shape_EE_thresh");
152  sim_pulse_shape_APD_thresh_ = ps.getParameter<double>("sim_pulse_shape_APD_thresh");
153 
154  sim_pulse_shape_TI_ = ps.getUntrackedParameter<double>("sim_pulse_shape_TI", 1.0);
155 
156  nTDCbins_ = 1;
157 
158  weightsForAsynchronousRunning_ = ps.getUntrackedParameter<bool>("weightsForTB", false);
159 
160  edm::LogInfo(" EcalTrivialConditionRetriever ");
161 
162  if (totLumi_ > 0) {
163  edm::LogInfo(" EcalTrivialConditionRetriever going to create conditions based on the damage due to ")
164  << totLumi_ << " fb-1 integrated luminosity";
165  }
166 
168  getWeightsFromFile_ = true; //override user request
169  //nTDCbins_ = 25;
170  nTDCbins_ = 50; //modif Alex-21-07-2006
171  }
172 
173  std::string weightType;
174  std::ostringstream str;
175 
177  str << "_CMS.txt";
178  else
179  str << "_TB.txt";
180 
181  weightType = str.str();
182 
183  amplWeightsFile_ = ps.getUntrackedParameter<std::string>("amplWeightsFile", dataPath_ + "ampWeights" + weightType);
185  ps.getUntrackedParameter<std::string>("amplWeightsAftFile", dataPath_ + "ampWeightsAfterGainSwitch" + weightType);
186  pedWeightsFile_ = ps.getUntrackedParameter<std::string>("pedWeightsFile", dataPath_ + "pedWeights" + weightType);
188  ps.getUntrackedParameter<std::string>("pedWeightsAftFile", dataPath_ + "pedWeightsAfterGainSwitch" + weightType);
189  jittWeightsFile_ = ps.getUntrackedParameter<std::string>("jittWeightsFile", dataPath_ + "timeWeights" + weightType);
190  jittWeightsAftFile_ = ps.getUntrackedParameter<std::string>("jittWeightsAftFile",
191  dataPath_ + "timeWeightsAfterGainSwitch" + weightType);
192  chi2MatrixFile_ = ps.getUntrackedParameter<std::string>("chi2MatrixFile", dataPath_ + "chi2Matrix" + weightType);
194  ps.getUntrackedParameter<std::string>("chi2MatrixAftFile", dataPath_ + "chi2MatrixAfterGainSwitch" + weightType);
195 
196  amplWeights_.resize(nTDCbins_);
197  amplWeightsAft_.resize(nTDCbins_);
198  pedWeights_.resize(nTDCbins_);
199  pedWeightsAft_.resize(nTDCbins_);
200  jittWeights_.resize(nTDCbins_);
201  jittWeightsAft_.resize(nTDCbins_);
202  chi2Matrix_.resize(nTDCbins_);
203  chi2MatrixAft_.resize(nTDCbins_);
204 
205  // default weights for MGPA shape after pedestal subtraction
207 
208  producedEcalPedestals_ = ps.getUntrackedParameter<bool>("producedEcalPedestals", true);
209  producedEcalWeights_ = ps.getUntrackedParameter<bool>("producedEcalWeights", true);
210 
211  producedEcalGainRatios_ = ps.getUntrackedParameter<bool>("producedEcalGainRatios", true);
212  producedEcalADCToGeVConstant_ = ps.getUntrackedParameter<bool>("producedEcalADCToGeVConstant", true);
213 
214  producedEcalMappingElectronics_ = ps.getUntrackedParameter<bool>("producedEcalMappingElectronics", true);
215  mappingFile_ = ps.getUntrackedParameter<std::string>("mappingFile", "");
216 
218  if (!mappingFile_.empty()) { // if file provided read channel map
220  } else {
222  }
223  findingRecord<EcalMappingElectronicsRcd>();
224  }
225  // Alignment from file
226  getEBAlignmentFromFile_ = ps.getUntrackedParameter<bool>("getEBAlignmentFromFile", false);
228  EBAlignmentFile_ = ps.getUntrackedParameter<std::string>("EBAlignmentFile", dataPath_ + "EBAlignment.txt");
229  }
230 
231  getEEAlignmentFromFile_ = ps.getUntrackedParameter<bool>("getEEAlignmentFromFile", false);
233  EEAlignmentFile_ = ps.getUntrackedParameter<std::string>("EEAlignmentFile", dataPath_ + "EEAlignment.txt");
234  }
235 
236  getESAlignmentFromFile_ = ps.getUntrackedParameter<bool>("getESAlignmentFromFile", false);
238  ESAlignmentFile_ = ps.getUntrackedParameter<std::string>("ESAlignmentFile", dataPath_ + "ESAlignment.txt");
239 
240  verbose_ = ps.getUntrackedParameter<int>("verbose", 0);
241 
242  //Tell Producer what we produce
243  //setWhatproduce(this);
246 
247  if (producedEcalWeights_) {
250  }
251 
254 
257 
258  // TimeOffsetConstant
259  producedEcalTimeOffsetConstant_ = ps.getUntrackedParameter<bool>("producedEcalTimeOffsetConstant", true);
260  //std::cout << " EcalTrivialConditionRetriever : producedEcalTimeOffsetConstant_" << producedEcalTimeOffsetConstant_ << std::endl;
263  findingRecord<EcalTimeOffsetConstantRcd>();
264  }
265 
266  // linear corrections
267  producedEcalLinearCorrections_ = ps.getUntrackedParameter<bool>("producedEcalLinearCorrections", true);
268  linearCorrectionsFile_ = ps.getUntrackedParameter<std::string>("linearCorrectionsFile", "");
269 
270  if (producedEcalLinearCorrections_) { // user asks to produce constants
271  if (!linearCorrectionsFile_.empty()) { // if file provided read constants
273  } else { // set all constants to 1. or smear as specified by user
275  }
276  findingRecord<EcalLinearCorrectionsRcd>();
277  }
278 
279  // intercalibration constants
280  producedEcalIntercalibConstants_ = ps.getUntrackedParameter<bool>("producedEcalIntercalibConstants", true);
281  intercalibConstantsFile_ = ps.getUntrackedParameter<std::string>("intercalibConstantsFile", "");
282 
283  intercalibConstantsMCFile_ = ps.getUntrackedParameter<std::string>("intercalibConstantsMCFile", "");
284 
285  if (producedEcalIntercalibConstants_) { // user asks to produce constants
286  if (!intercalibConstantsFile_.empty()) { // if file provided read constants
288  } else { // set all constants to 1. or smear as specified by user
290  }
291  findingRecord<EcalIntercalibConstantsRcd>();
292  }
293  // MC intercalibrations
294  producedEcalIntercalibConstantsMC_ = ps.getUntrackedParameter<bool>("producedEcalIntercalibConstantsMC", true);
295 
296  if (producedEcalIntercalibConstantsMC_) { // user asks to produce constants
297  if (!intercalibConstantsMCFile_.empty()) { // if file provided read constants
299  } else { // set all constants to 1. or smear as specified by user
301  }
302  findingRecord<EcalIntercalibConstantsMCRcd>();
303  }
304 
305  // intercalibration constants
306  producedEcalIntercalibErrors_ = ps.getUntrackedParameter<bool>("producedEcalIntercalibErrors", true);
307  intercalibErrorsFile_ = ps.getUntrackedParameter<std::string>("intercalibErrorsFile", "");
308 
309  if (producedEcalIntercalibErrors_) { // user asks to produce constants
310  if (!intercalibErrorsFile_.empty()) { // if file provided read constants
312  } else { // set all constants to 1. or smear as specified by user
314  }
315  findingRecord<EcalIntercalibErrorsRcd>();
316  }
317 
318  // time calibration constants
319  producedEcalTimeCalibConstants_ = ps.getUntrackedParameter<bool>("producedEcalTimeCalibConstants", true);
320  timeCalibConstantsFile_ = ps.getUntrackedParameter<std::string>("timeCalibConstantsFile", "");
321 
322  if (producedEcalTimeCalibConstants_) { // user asks to produce constants
323  if (!timeCalibConstantsFile_.empty()) { // if file provided read constants
325  } else { // set all constants to 1. or smear as specified by user
327  }
328  findingRecord<EcalTimeCalibConstantsRcd>();
329  }
330 
331  // time calibration constants
332  producedEcalTimeCalibErrors_ = ps.getUntrackedParameter<bool>("producedEcalTimeCalibErrors", true);
333  timeCalibErrorsFile_ = ps.getUntrackedParameter<std::string>("timeCalibErrorsFile", "");
334 
335  if (producedEcalTimeCalibErrors_) { // user asks to produce constants
336  if (!timeCalibErrorsFile_.empty()) { // if file provided read constants
338  } else { // set all constants to 1. or smear as specified by user
340  }
341  findingRecord<EcalTimeCalibErrorsRcd>();
342  }
343 
344  // sim component shape
345  getSimComponentShapeFromFile_ = ps.getUntrackedParameter<bool>("getSimComponentShapeFromFile", false);
346  producedEcalSimComponentShape_ = ps.getUntrackedParameter<bool>("producedEcalSimComponentShape", true);
347  std::vector<std::string> vComponentShapes;
349  ps.getUntrackedParameter<std::vector<std::string> >("EBSimComponentShapeFiles", vComponentShapes);
350 
351  if (producedEcalSimComponentShape_) { // user asks to produce constants
353  findingRecord<EcalSimComponentShapeRcd>();
354  }
355 
356  // sim pulse shape
357  getSimPulseShapeFromFile_ = ps.getUntrackedParameter<bool>("getSimPulseShapeFromFile", false);
358  producedEcalSimPulseShape_ = ps.getUntrackedParameter<bool>("producedEcalSimPulseShape", true);
359  EBSimPulseShapeFile_ = ps.getUntrackedParameter<std::string>("EBSimPulseShapeFile", "");
360  EESimPulseShapeFile_ = ps.getUntrackedParameter<std::string>("EESimPulseShapeFile", "");
361  APDSimPulseShapeFile_ = ps.getUntrackedParameter<std::string>("APDSimPulseShapeFile", "");
362 
363  if (producedEcalSimPulseShape_) { // user asks to produce constants
365  findingRecord<EcalSimPulseShapeRcd>();
366  }
367 
368  producedEcalPFRecHitThresholds_ = ps.getUntrackedParameter<bool>("producedEcalPFRecHitThresholds", false);
369 
370  // new for PFRecHit Thresholds
371  pfRecHitFile_ = ps.getUntrackedParameter<std::string>("pFRecHitFile", dataPath_ + "EB_product_TL235.txt");
372  pfRecHitFileEE_ = ps.getUntrackedParameter<std::string>("pFRecHitFileEE", dataPath_ + "EE_product_TL235.txt");
373 
374  if (producedEcalPFRecHitThresholds_) { // user asks to produce constants
375  if (!pfRecHitFile_.empty()) { // if file provided read constants
377  } else { // set all constants to 0
379  }
380  findingRecord<EcalPFRecHitThresholdsRcd>();
381  }
382 
383  // cluster corrections
385  ps.getUntrackedParameter<bool>("producedEcalClusterLocalContCorrParameters", false);
387  ps.getUntrackedParameter<bool>("producedEcalClusterCrackCorrParameters", false);
389  ps.getUntrackedParameter<bool>("producedEcalClusterEnergyCorrectionParameters", false);
391  ps.getUntrackedParameter<bool>("producedEcalClusterEnergyUncertaintyParameters", false);
393  ps.getUntrackedParameter<bool>("producedEcalClusterEnergyCorrectionObjectSpecificParameters", false);
396  findingRecord<EcalClusterLocalContCorrParametersRcd>();
397  }
400  findingRecord<EcalClusterCrackCorrParametersRcd>();
401  }
404  findingRecord<EcalClusterEnergyCorrectionParametersRcd>();
405  }
408  findingRecord<EcalClusterEnergyUncertaintyParametersRcd>();
409  }
412  findingRecord<EcalClusterEnergyCorrectionObjectSpecificParametersRcd>();
413  }
414 
415  // laser correction
416  producedEcalLaserCorrection_ = ps.getUntrackedParameter<bool>("producedEcalLaserCorrection", false);
417  if (producedEcalLaserCorrection_) { // user asks to produce constants
418  // set all constants to 1. or smear as specified by user
420  findingRecord<EcalLaserAlphasRcd>();
421  getLaserAlphaFromFileEB_ = ps.getUntrackedParameter<bool>("getLaserAlphaFromFileEB", false);
422  getLaserAlphaFromFileEE_ = ps.getUntrackedParameter<bool>("getLaserAlphaFromFileEE", false);
423  getLaserAlphaFromTypeEB_ = ps.getUntrackedParameter<bool>("getLaserAlphaFromTypeEB", false);
424  getLaserAlphaFromTypeEE_ = ps.getUntrackedParameter<bool>("getLaserAlphaFromTypeEE", false);
425  edm::LogInfo(" getLaserAlphaFromFileEB_ ") << getLaserAlphaFromFileEB_;
426  edm::LogInfo(" getLaserAlphaFromFileEE_ ") << getLaserAlphaFromFileEE_;
427  edm::LogInfo(" getLaserAlphaFromTypeEB_ ") << getLaserAlphaFromTypeEB_;
428  edm::LogInfo(" getLaserAlphaFromTypeEE_ ") << getLaserAlphaFromTypeEE_;
430  EBLaserAlphaFile_ = ps.getUntrackedParameter<std::string>(
431  "EBLaserAlphaFile", dataPath_ + "EBLaserAlpha.txt"); // file is used to read the alphas
432  }
434  EELaserAlphaFile_ = ps.getUntrackedParameter<std::string>(
435  "EELaserAlphaFile", dataPath_ + "EELaserAlpha.txt"); // file is used to read the alphas
436  }
438  laserAlphaMeanEBR_ = ps.getUntrackedParameter<double>("laserAlphaMeanEBR", 1.55); // alpha russian crystals in EB
439  laserAlphaMeanEBC_ = ps.getUntrackedParameter<double>("laserAlphaMeanEBC", 1.00); // alpha chinese crystals in EB
440  EBLaserAlphaFile_ = ps.getUntrackedParameter<std::string>(
441  "EBLaserAlphaFile", dataPath_ + "EBLaserAlpha.txt"); // file to find out which one is russian/chinese
442  }
444  laserAlphaMeanEEC_higheta_ = ps.getUntrackedParameter<double>("laserAlphaMeanEEC_higheta",
445  1.00); // alpha chinese crystals in EE for eta>2.5
446  laserAlphaMeanEER_higheta_ = ps.getUntrackedParameter<double>("laserAlphaMeanEER_higheta",
447  1.16); // alpha russian crystals in EE for eta>2
448  laserAlphaMeanEER_ = ps.getUntrackedParameter<double>("laserAlphaMeanEER", 1.16); // alpha russian crystals in EE
449  laserAlphaMeanEEC_ = ps.getUntrackedParameter<double>("laserAlphaMeanEEC", 1.00); // alpha chinese crystals in EE
450  EELaserAlphaFile_ = ps.getUntrackedParameter<std::string>(
451  "EELaserAlphaFile",
452  dataPath_ + "EELaserAlpha.txt"); // file is used to find out which one is russian or chinese
453  EELaserAlphaFile2_ = ps.getUntrackedParameter<std::string>(
454  "EELaserAlphaFile2", dataPath_ + "EELaserAlpha2.txt"); // file is used to read the alphas
455  }
457  findingRecord<EcalLaserAPDPNRatiosRefRcd>();
459  findingRecord<EcalLaserAPDPNRatiosRcd>();
460  }
461 
462  // channel status
463  producedEcalChannelStatus_ = ps.getUntrackedParameter<bool>("producedEcalChannelStatus", true);
464  channelStatusFile_ = ps.getUntrackedParameter<std::string>("channelStatusFile", "");
465 
467  if (!channelStatusFile_.empty()) { // if file provided read channel map
469  } else { // set all channels to working -- FIXME might be changed
471  }
472  findingRecord<EcalChannelStatusRcd>();
473  }
474  // DQM channel status
475  producedEcalDQMChannelStatus_ = ps.getUntrackedParameter<bool>("producedEcalDQMChannelStatus", true);
478  findingRecord<EcalDQMChannelStatusRcd>();
479  }
480  // DCS Tower status
481  producedEcalDCSTowerStatus_ = ps.getUntrackedParameter<bool>("producedEcalDCSTowerStatus", true);
484  findingRecord<EcalDCSTowerStatusRcd>();
485  }
486  // DAQ Tower status
487  producedEcalDAQTowerStatus_ = ps.getUntrackedParameter<bool>("producedEcalDAQTowerStatus", true);
490  findingRecord<EcalDAQTowerStatusRcd>();
491  }
492  // DQM Tower status
493  producedEcalDQMTowerStatus_ = ps.getUntrackedParameter<bool>("producedEcalDQMTowerStatus", true);
496  findingRecord<EcalDQMTowerStatusRcd>();
497  }
498 
499  // trigger channel status
500  producedEcalTrgChannelStatus_ = ps.getUntrackedParameter<bool>("producedEcalTrgChannelStatus", true);
501  trgChannelStatusFile_ = ps.getUntrackedParameter<std::string>("trgChannelStatusFile", "");
502 
504  if (!trgChannelStatusFile_.empty()) { // if file provided read channel map
506  } else { // set all channels to working -- FIXME might be changed
508  }
509  findingRecord<EcalTPGCrystalStatusRcd>();
510  }
511 
512  // Alignment
513  producedEcalAlignmentEB_ = ps.getUntrackedParameter<bool>("producedEcalAlignmentEB", true);
516  findingRecord<EBAlignmentRcd>();
517  }
518  producedEcalAlignmentEE_ = ps.getUntrackedParameter<bool>("producedEcalAlignmentEE", true);
521  findingRecord<EEAlignmentRcd>();
522  }
523  producedEcalAlignmentES_ = ps.getUntrackedParameter<bool>("producedEcalAlignmentES", true);
526  findingRecord<ESAlignmentRcd>();
527  }
528  //Tell Finder what records we find
530  findingRecord<EcalPedestalsRcd>();
531 
532  if (producedEcalWeights_) {
533  findingRecord<EcalWeightXtalGroupsRcd>();
534  findingRecord<EcalTBWeightsRcd>();
535  }
536 
538  findingRecord<EcalGainRatiosRcd>();
539 
541  findingRecord<EcalADCToGeVConstantRcd>();
542 
543  producedEcalSampleMask_ = ps.getUntrackedParameter<bool>("producedEcalSampleMask", true);
546  findingRecord<EcalSampleMaskRcd>();
547  }
548  producedEcalTimeBiasCorrections_ = ps.getUntrackedParameter<bool>("producedEcalTimeBiasCorrections", false);
551  findingRecord<EcalTimeBiasCorrectionsRcd>();
552  }
553  producedEcalSamplesCorrelation_ = ps.getUntrackedParameter<bool>("producedEcalSamplesCorrelation", false);
556  findingRecord<EcalSamplesCorrelationRcd>();
557  getSamplesCorrelationFromFile_ = ps.getUntrackedParameter<bool>("getSamplesCorrelationFromFile", false);
560  ps.getUntrackedParameter<std::string>("SamplesCorrelationFile", "EcalSamplesCorrelation.txt");
561  }
562  }
563 }
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:166
virtual std::unique_ptr< EcalDQMChannelStatus > produceEcalDQMChannelStatus(const EcalDQMChannelStatusRcd &)
virtual std::unique_ptr< EcalIntercalibConstants > produceEcalIntercalibConstants(const EcalIntercalibConstantsRcd &)
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > pedWeights_
virtual std::unique_ptr< EcalIntercalibErrors > produceEcalIntercalibErrors(const EcalIntercalibErrorsRcd &)
virtual std::unique_ptr< EcalLaserAPDPNRatiosRef > produceEcalLaserAPDPNRatiosRef(const EcalLaserAPDPNRatiosRefRcd &)
virtual std::unique_ptr< EcalSamplesCorrelation > produceEcalSamplesCorrelation(const EcalSamplesCorrelationRcd &)
std::vector< double > energyCorrectionObjectSpecificParameters_
virtual std::unique_ptr< EcalTimeCalibConstants > produceEcalTimeCalibConstants(const EcalTimeCalibConstantsRcd &)
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > jittWeights_
virtual std::unique_ptr< EcalMappingElectronics > getMappingFromConfiguration(const EcalMappingElectronicsRcd &)
virtual std::unique_ptr< EcalADCToGeVConstant > produceEcalADCToGeVConstant(const EcalADCToGeVConstantRcd &)
virtual std::unique_ptr< EcalWeightXtalGroups > produceEcalWeightXtalGroups(const EcalWeightXtalGroupsRcd &)
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > amplWeightsAft_
virtual std::unique_ptr< EcalChannelStatus > produceEcalChannelStatus(const EcalChannelStatusRcd &)
void getWeightsFromConfiguration(const edm::ParameterSet &ps)
virtual std::unique_ptr< EcalLaserAlphas > produceEcalLaserAlphas(const EcalLaserAlphasRcd &)
virtual std::unique_ptr< EcalClusterEnergyUncertaintyParameters > produceEcalClusterEnergyUncertaintyParameters(const EcalClusterEnergyUncertaintyParametersRcd &)
virtual std::unique_ptr< Alignments > produceEcalAlignmentEB(const EBAlignmentRcd &)
virtual std::unique_ptr< EcalClusterEnergyCorrectionParameters > produceEcalClusterEnergyCorrectionParameters(const EcalClusterEnergyCorrectionParametersRcd &)
virtual std::unique_ptr< EcalIntercalibConstantsMC > getIntercalibConstantsMCFromConfiguration(const EcalIntercalibConstantsMCRcd &)
virtual std::unique_ptr< EcalDQMTowerStatus > produceEcalDQMTowerStatus(const EcalDQMTowerStatusRcd &)
virtual std::unique_ptr< EcalSimComponentShape > getEcalSimComponentShapeFromConfiguration(const EcalSimComponentShapeRcd &)
virtual std::unique_ptr< Alignments > produceEcalAlignmentEE(const EEAlignmentRcd &)
virtual std::unique_ptr< EcalLinearCorrections > produceEcalLinearCorrections(const EcalLinearCorrectionsRcd &)
virtual std::unique_ptr< EcalMappingElectronics > produceEcalMappingElectronics(const EcalMappingElectronicsRcd &)
virtual std::unique_ptr< EcalLaserAPDPNRatios > produceEcalLaserAPDPNRatios(const EcalLaserAPDPNRatiosRcd &)
virtual std::unique_ptr< EcalChannelStatus > getChannelStatusFromConfiguration(const EcalChannelStatusRcd &)
virtual std::unique_ptr< EcalTimeBiasCorrections > produceEcalTimeBiasCorrections(const EcalTimeBiasCorrectionsRcd &)
virtual std::unique_ptr< EcalIntercalibConstants > getIntercalibConstantsFromConfiguration(const EcalIntercalibConstantsRcd &)
virtual std::unique_ptr< EcalIntercalibConstantsMC > produceEcalIntercalibConstantsMC(const EcalIntercalibConstantsMCRcd &)
std::vector< EcalWeightSet::EcalChi2WeightMatrix > chi2Matrix_
virtual std::unique_ptr< Alignments > produceEcalAlignmentES(const ESAlignmentRcd &)
Log< level::Info, false > LogInfo
virtual std::unique_ptr< EcalPedestals > produceEcalPedestals(const EcalPedestalsRcd &)
std::vector< std::string > EBSimComponentShapeFiles_
virtual std::unique_ptr< EcalClusterEnergyCorrectionObjectSpecificParameters > produceEcalClusterEnergyCorrectionObjectSpecificParameters(const EcalClusterEnergyCorrectionObjectSpecificParametersRcd &)
virtual std::unique_ptr< EcalDCSTowerStatus > produceEcalDCSTowerStatus(const EcalDCSTowerStatusRcd &)
virtual std::unique_ptr< EcalClusterLocalContCorrParameters > produceEcalClusterLocalContCorrParameters(const EcalClusterLocalContCorrParametersRcd &)
virtual std::unique_ptr< EcalTimeCalibErrors > getTimeCalibErrorsFromConfiguration(const EcalTimeCalibErrorsRcd &)
virtual std::unique_ptr< EcalGainRatios > produceEcalGainRatios(const EcalGainRatiosRcd &)
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > pedWeightsAft_
virtual std::unique_ptr< EcalTPGCrystalStatus > produceEcalTrgChannelStatus(const EcalTPGCrystalStatusRcd &)
virtual std::unique_ptr< EcalTimeCalibErrors > produceEcalTimeCalibErrors(const EcalTimeCalibErrorsRcd &)
virtual std::unique_ptr< EcalTBWeights > produceEcalTBWeights(const EcalTBWeightsRcd &)
virtual std::unique_ptr< EcalTimeOffsetConstant > produceEcalTimeOffsetConstant(const EcalTimeOffsetConstantRcd &)
virtual std::unique_ptr< EcalPFRecHitThresholds > getPFRecHitThresholdsFromConfiguration(const EcalPFRecHitThresholdsRcd &)
virtual std::unique_ptr< EcalTimeCalibConstants > getTimeCalibConstantsFromConfiguration(const EcalTimeCalibConstantsRcd &)
virtual std::unique_ptr< EcalTPGCrystalStatus > getTrgChannelStatusFromConfiguration(const EcalTPGCrystalStatusRcd &)
virtual std::unique_ptr< EcalPFRecHitThresholds > produceEcalPFRecHitThresholds(const EcalPFRecHitThresholdsRcd &)
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > jittWeightsAft_
virtual std::unique_ptr< EcalSampleMask > produceEcalSampleMask(const EcalSampleMaskRcd &)
virtual std::unique_ptr< EcalIntercalibErrors > getIntercalibErrorsFromConfiguration(const EcalIntercalibErrorsRcd &)
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > amplWeights_
#define str(s)
std::vector< EcalWeightSet::EcalChi2WeightMatrix > chi2MatrixAft_
virtual std::unique_ptr< EcalDAQTowerStatus > produceEcalDAQTowerStatus(const EcalDAQTowerStatusRcd &)
virtual std::unique_ptr< EcalSimPulseShape > getEcalSimPulseShapeFromConfiguration(const EcalSimPulseShapeRcd &)
virtual std::unique_ptr< EcalClusterCrackCorrParameters > produceEcalClusterCrackCorrParameters(const EcalClusterCrackCorrParametersRcd &)

◆ EcalTrivialConditionRetriever() [2/2]

EcalTrivialConditionRetriever::EcalTrivialConditionRetriever ( const EcalTrivialConditionRetriever )
delete

◆ ~EcalTrivialConditionRetriever()

EcalTrivialConditionRetriever::~EcalTrivialConditionRetriever ( )
override

Definition at line 565 of file EcalTrivialConditionRetriever.cc.

565 {}

Member Function Documentation

◆ getChannelStatusFromConfiguration()

std::unique_ptr< EcalChannelStatus > EcalTrivialConditionRetriever::getChannelStatusFromConfiguration ( const EcalChannelStatusRcd )
virtual

Definition at line 2233 of file EcalTrivialConditionRetriever.cc.

References Exception, contentValuesFiles::fullPath, edm::FileInPath::fullPath(), hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, mps_update::status, str, AlCaHLTBitMon_QueryRunRegistry::string, EBDetId::unhashIndex(), EEDetId::unhashIndex(), EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

2234  {
2235  auto ecalStatus = std::make_unique<EcalChannelStatus>();
2236 
2237  // start by setting all statuses to 0
2238 
2239  // barrel
2240  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
2241  if (ieta == 0)
2242  continue;
2243  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
2244  if (EBDetId::validDetId(ieta, iphi)) {
2245  EBDetId ebid(ieta, iphi);
2246  ecalStatus->setValue(ebid, 0);
2247  }
2248  }
2249  }
2250  // endcap
2251  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
2252  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
2253  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
2254  if (EEDetId::validDetId(iX, iY, 1)) {
2255  EEDetId eedetidpos(iX, iY, 1);
2256  ecalStatus->setValue(eedetidpos, 0);
2257  }
2258  if (EEDetId::validDetId(iX, iY, -1)) {
2259  EEDetId eedetidneg(iX, iY, -1);
2260  ecalStatus->setValue(eedetidneg, 0);
2261  }
2262  }
2263  }
2264 
2265  // overwrite the statuses which are in the file
2266 
2267  edm::LogInfo("EcalTrivialConditionRetriever")
2268  << "Reading channel statuses from file " << edm::FileInPath(channelStatusFile_).fullPath().c_str();
2269  std::ifstream statusFile(edm::FileInPath(channelStatusFile_).fullPath().c_str());
2270  if (!statusFile.good()) {
2271  edm::LogError("EcalTrivialConditionRetriever") << "*** Problems opening file: " << channelStatusFile_;
2272  throw cms::Exception("Cannot open ECAL channel status file");
2273  }
2274 
2275  std::string EcalSubDet;
2276  std::string str;
2277  int hashIndex(0);
2278  int status(0);
2279 
2280  while (!statusFile.eof()) {
2281  statusFile >> EcalSubDet;
2282  if (EcalSubDet != std::string("EB") && EcalSubDet != std::string("EE")) {
2283  std::getline(statusFile, str);
2284  continue;
2285  } else {
2286  statusFile >> hashIndex >> status;
2287  }
2288  // std::cout << EcalSubDet << " " << hashIndex << " " << status;
2289 
2290  if (EcalSubDet == std::string("EB")) {
2291  EBDetId ebid = EBDetId::unhashIndex(hashIndex);
2292  ecalStatus->setValue(ebid, status);
2293  } else if (EcalSubDet == std::string("EE")) {
2294  EEDetId eedetid = EEDetId::unhashIndex(hashIndex);
2295  ecalStatus->setValue(eedetid, status);
2296  } else {
2297  edm::LogError("EcalTrivialConditionRetriever") << " *** " << EcalSubDet << " is neither EB nor EE ";
2298  }
2299  }
2300  // the file is supposed to be in the form -- FIXME
2301 
2302  statusFile.close();
2303  return ecalStatus;
2304 }
static const int MIN_IPHI
Definition: EBDetId.h:135
std::string fullPath() const
Definition: FileInPath.cc:161
Log< level::Error, false > LogError
static EEDetId unhashIndex(int hi)
Definition: EEDetId.cc:65
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
static const int IX_MAX
Definition: EEDetId.h:298
Log< level::Info, false > LogInfo
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static EBDetId unhashIndex(int hi)
get a DetId from a compact index for arrays
Definition: EBDetId.h:110
static const int IY_MAX
Definition: EEDetId.h:302
#define str(s)

◆ getEcalSimComponentShapeFromConfiguration()

std::unique_ptr< EcalSimComponentShape > EcalTrivialConditionRetriever::getEcalSimComponentShapeFromConfiguration ( const EcalSimComponentShapeRcd )
virtual

Definition at line 3560 of file EcalTrivialConditionRetriever.cc.

References filterCSVwithJSON::copy, corrVsCorr::filename, and mps_fire::result.

Referenced by EcalTrivialConditionRetriever().

3561  {
3562  auto result = std::make_unique<EcalSimComponentShape>();
3563 
3564  // save time interval to be used for the pulse shape
3565  result->time_interval = sim_pulse_shape_TI_;
3566 
3567  // containers to store the shape info
3568  std::vector<std::vector<float> > EBshapes;
3569 
3570  // --- get the shapes from the user provided txt files
3571  if (!EBSimComponentShapeFiles_.empty()) {
3572  int iShape(0);
3573  for (auto filename : EBSimComponentShapeFiles_) {
3574  std::ifstream shapeEBFile;
3575  EBshapes.emplace_back();
3576  shapeEBFile.open(EBSimComponentShapeFiles_[iShape].c_str());
3577  float ww;
3578  while (shapeEBFile >> ww)
3579  EBshapes[iShape].push_back(ww);
3580  shapeEBFile.close();
3581  ++iShape;
3582  }
3583  }
3584 
3585  // --- save threshold
3586  result->barrel_thresh = sim_pulse_shape_EB_thresh_;
3587 
3588  // --- copy
3589  copy(EBshapes.begin(), EBshapes.end(), back_inserter(result->barrel_shapes));
3590 
3591  return result;
3592 }
std::vector< std::string > EBSimComponentShapeFiles_

◆ getEcalSimPulseShapeFromConfiguration()

std::unique_ptr< EcalSimPulseShape > EcalTrivialConditionRetriever::getEcalSimPulseShapeFromConfiguration ( const EcalSimPulseShapeRcd )
virtual

Definition at line 3509 of file EcalTrivialConditionRetriever.cc.

References filterCSVwithJSON::copy, and mps_fire::result.

Referenced by EcalTrivialConditionRetriever().

3510  {
3511  auto result = std::make_unique<EcalSimPulseShape>();
3512 
3513  // save time interval to be used for the pulse shape
3514  result->time_interval = sim_pulse_shape_TI_;
3515 
3516  // containers to store the shape info
3517  std::vector<double> EBshape;
3518  std::vector<double> EEshape;
3519  std::vector<double> APDshape;
3520 
3521  // --- get the 3 shapes from the user provided txt files
3522  if (!EBSimPulseShapeFile_.empty()) {
3523  std::ifstream shapeEBFile;
3524  shapeEBFile.open(EBSimPulseShapeFile_.c_str());
3525  double ww;
3526  while (shapeEBFile >> ww)
3527  EBshape.push_back(ww);
3528  shapeEBFile.close();
3529  }
3530  if (!EESimPulseShapeFile_.empty()) {
3531  std::ifstream shapeEEFile;
3532  shapeEEFile.open(EESimPulseShapeFile_.c_str());
3533  double ww;
3534  while (shapeEEFile >> ww)
3535  EEshape.push_back(ww);
3536  shapeEEFile.close();
3537  }
3538  if (!APDSimPulseShapeFile_.empty()) {
3539  std::ifstream shapeAPDFile;
3540  shapeAPDFile.open(APDSimPulseShapeFile_.c_str());
3541  double ww;
3542  while (shapeAPDFile >> ww)
3543  APDshape.push_back(ww);
3544  shapeAPDFile.close();
3545  }
3546 
3547  // --- save threshold
3548  result->barrel_thresh = sim_pulse_shape_EB_thresh_;
3549  result->endcap_thresh = sim_pulse_shape_EE_thresh_;
3550  result->apd_thresh = sim_pulse_shape_APD_thresh_;
3551 
3552  // --- copy
3553  copy(EBshape.begin(), EBshape.end(), back_inserter(result->barrel_shape));
3554  copy(EEshape.begin(), EEshape.end(), back_inserter(result->endcap_shape));
3555  copy(APDshape.begin(), APDshape.end(), back_inserter(result->apd_shape));
3556 
3557  return result;
3558 }

◆ getIntercalibConstantsFromConfiguration()

std::unique_ptr< EcalIntercalibConstants > EcalTrivialConditionRetriever::getIntercalibConstantsFromConfiguration ( const EcalIntercalibConstantsRcd )
virtual

Definition at line 2607 of file EcalTrivialConditionRetriever.cc.

References EBDetId::approxEta(), cms::cuda::assert(), EnergyResolutionVsLumi::calcresolutitonConstantTerm(), HLT_2023v12_cff::constantTerm, EcalCondObjectContainer< T >::end(), PVValHelper::eta, Exception, EcalCondObjectContainer< T >::find(), EcalCondObjectContainer< T >::getMap(), h, mps_fire::i, hcalRecHitTable_cff::ieta, cuy::ii, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, mps_splice::line, dqm-mbProfile::log, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MAX_SM, EBDetId::MIN_IPHI, EBDetId::MIN_SM, alignCSCRings::r, DetId::rawId(), EcalFloatCondObjectContainerXMLTranslator::readXML(), EnergyResolutionVsLumi::setInstLumi(), EnergyResolutionVsLumi::setLumi(), EcalCondObjectContainer< T >::setValue(), EBDetId::SMCRYSTALMODE, mathSSE::sqrt(), str, AlCaHLTBitMon_QueryRunRegistry::string, funct::tan(), EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

2608  {
2609  std::unique_ptr<EcalIntercalibConstants> ical;
2610  // std::make_unique<EcalIntercalibConstants>();
2611 
2612  // Read the values from a txt file
2613  // -------------------------------
2614 
2615  edm::LogInfo("EcalTrivialConditionRetriever")
2616  << "Reading intercalibration constants from file " << intercalibConstantsFile_.c_str();
2617 
2618  if (intercalibConstantsFile_.find(".xml") != std::string::npos) {
2619  edm::LogInfo("generating Intercalib from xml file");
2620 
2621  EcalCondHeader h;
2624 
2625  if (totLumi_ != 0 || instLumi_ != 0) {
2626  edm::LogInfo("implementing ageing for intercalib");
2627 
2629 
2630  if (intercalibConstantsMCFile_.find(".xml") != std::string::npos) {
2631  edm::LogInfo("generating IntercalibMC from xml file");
2632 
2633  EcalCondHeader h;
2635 
2636  } else {
2637  edm::LogInfo("please provide the xml file of the EcalIntercalibConstantsMC");
2638  }
2639 
2640  TRandom3* gRandom = new TRandom3();
2641 
2642  EnergyResolutionVsLumi ageing;
2643  ageing.setLumi(totLumi_);
2644  ageing.setInstLumi(instLumi_);
2645 
2646  const EcalIntercalibConstantMap& mymap = rcd->getMap();
2647  const EcalIntercalibConstantMCMap& mymapMC = rcdMC->getMap();
2648 
2649  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
2650  if (ieta == 0)
2651  continue;
2652 
2653  double eta = EBDetId::approxEta(EBDetId(ieta, 1));
2654  eta = fabs(eta);
2655  double constantTerm = ageing.calcresolutitonConstantTerm(eta);
2656  edm::LogInfo("EB at eta=") << eta << " constant term is " << constantTerm;
2657 
2658  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
2659  // make an EBDetId since we need EBDetId::rawId() to be used as the key for the pedestals
2660  if (EBDetId::validDetId(ieta, iphi)) {
2661  EBDetId ebid(ieta, iphi);
2662  EcalIntercalibConstants::const_iterator idref = mymap.find(ebid);
2663  EcalIntercalibConstant icalconstant = 1;
2664  if (idref != mymap.end())
2665  icalconstant = (*idref);
2666 
2667  EcalIntercalibConstantsMC::const_iterator idrefMC = mymapMC.find(ebid);
2668  EcalIntercalibConstantMC icalconstantMC = 1;
2669  if (idrefMC != mymapMC.end())
2670  icalconstantMC = (*idrefMC);
2671 
2672  double r = gRandom->Gaus(0, constantTerm);
2673 
2674  if (iphi == 10)
2675  edm::LogInfo("EB at eta=") << eta << " IC=" << icalconstant << " ICMC=" << icalconstantMC
2676  << " smear=" << r << " ";
2677 
2678  icalconstant = icalconstant + r * 1.29 * icalconstantMC;
2679  rcd->setValue(ebid.rawId(), icalconstant);
2680 
2681  if (iphi == 10)
2682  edm::LogInfo("newIC=") << icalconstant;
2683 
2684  EcalIntercalibConstant icalconstant2 = (*idref);
2685  if (icalconstant != icalconstant2)
2686  edm::LogInfo(">>>> error in smearing intercalib");
2687  }
2688  }
2689  }
2690 
2691  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
2692  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
2693  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
2694  if (EEDetId::validDetId(iX, iY, 1)) {
2695  EEDetId eedetidpos(iX, iY, 1);
2696  double eta =
2697  -log(tan(0.5 * atan(sqrt((iX - 50.0) * (iX - 50.0) + (iY - 50.0) * (iY - 50.0)) * 2.98 / 328.)));
2698  eta = fabs(eta);
2699  double constantTerm = ageing.calcresolutitonConstantTerm(eta);
2700  if (iX == 50)
2701  edm::LogInfo("EE at eta=") << eta << " constant term is " << constantTerm;
2702 
2703  EcalIntercalibConstants::const_iterator idref = mymap.find(eedetidpos);
2704  EcalIntercalibConstant icalconstant = 1;
2705  if (idref != mymap.end())
2706  icalconstant = (*idref);
2707 
2708  EcalIntercalibConstantsMC::const_iterator idrefMC = mymapMC.find(eedetidpos);
2709  EcalIntercalibConstantMC icalconstantMC = 1;
2710  if (idrefMC != mymapMC.end())
2711  icalconstantMC = (*idrefMC);
2712 
2713  double r = gRandom->Gaus(0, constantTerm);
2714 
2715  if (iX == 10)
2716  edm::LogInfo("EE at eta=") << eta << " IC=" << icalconstant << " ICMC=" << icalconstantMC
2717  << " smear=" << r << " ";
2718  icalconstant = icalconstant + r * 1.29 * icalconstantMC;
2719  rcd->setValue(eedetidpos.rawId(), icalconstant);
2720  if (iX == 10)
2721  edm::LogInfo("newIC=") << icalconstant;
2722  }
2723  if (EEDetId::validDetId(iX, iY, -1)) {
2724  EEDetId eedetidneg(iX, iY, -1);
2725  double eta =
2726  -log(tan(0.5 * atan(sqrt((iX - 50.0) * (iX - 50.0) + (iY - 50.0) * (iY - 50.0)) * 2.98 / 328.)));
2727  eta = fabs(eta);
2728  double constantTerm = ageing.calcresolutitonConstantTerm(eta);
2729  EcalIntercalibConstant icalconstant = 1;
2730 
2731  EcalIntercalibConstantsMC::const_iterator idrefMC = mymapMC.find(eedetidneg);
2732  EcalIntercalibConstantMC icalconstantMC = 1;
2733  if (idrefMC != mymapMC.end())
2734  icalconstantMC = (*idrefMC);
2735 
2736  double r = gRandom->Gaus(0, constantTerm);
2737  icalconstant = icalconstant + r * 1.29 * icalconstantMC;
2738  rcd->setValue(eedetidneg.rawId(), icalconstant);
2739  }
2740  }
2741  }
2742 
2743  ical = std::unique_ptr<EcalIntercalibConstants>(rcd);
2744 
2745  delete gRandom;
2746  }
2747 
2748  } else {
2749  ical = std::make_unique<EcalIntercalibConstants>();
2750 
2751  FILE* inpFile;
2752  inpFile = fopen(intercalibConstantsFile_.c_str(), "r");
2753  if (!inpFile) {
2754  edm::LogError("EcalTrivialConditionRetriever") << "*** Can not open file: " << intercalibConstantsFile_;
2755  throw cms::Exception("Cannot open inter-calibration coefficients txt file");
2756  }
2757 
2758  char line[256];
2759  std::ostringstream str;
2760  fgets(line, 255, inpFile);
2761  int sm_number = atoi(line);
2762  str << "sm: " << sm_number;
2763 
2764  fgets(line, 255, inpFile);
2765  //int nevents=atoi (line) ; // not necessary here just for online conddb
2766 
2767  fgets(line, 255, inpFile);
2768  std::string gen_tag = line;
2769  str << "gen tag: " << gen_tag; // should I use this?
2770 
2771  fgets(line, 255, inpFile);
2772  std::string cali_method = line;
2773  str << "cali method: " << cali_method << std::endl; // not important
2774 
2775  fgets(line, 255, inpFile);
2776  std::string cali_version = line;
2777  str << "cali version: " << cali_version << std::endl; // not important
2778 
2779  fgets(line, 255, inpFile);
2780  std::string cali_type = line;
2781  str << "cali type: " << cali_type; // not important
2782 
2783  edm::LogInfo("EcalTrivialConditionRetriever") << "[PIETRO] Intercalibration file - " << str.str();
2784 
2785  float calib[1700] = {1};
2786  int calib_status[1700] = {0};
2787 
2788  int ii = 0;
2789 
2790  while (fgets(line, 255, inpFile)) {
2791  ii++;
2792  int dmy_num = 0;
2793  float dmy_calib = 0.;
2794  float dmy_RMS = 0.;
2795  int dmy_events = 0;
2796  int dmy_status = 0;
2797  sscanf(line, "%d %f %f %d %d", &dmy_num, &dmy_calib, &dmy_RMS, &dmy_events, &dmy_status);
2798  assert(dmy_num >= 1);
2799  assert(dmy_num <= 1700);
2800  calib[dmy_num - 1] = dmy_calib;
2801  calib_status[dmy_num - 1] = dmy_status;
2802 
2803  // edm::LogInfo ("EcalTrivialConditionRetriever")
2804  // << "[PIETRO] cry = " << dmy_num
2805  // << " calib = " << calib[dmy_num-1]
2806  // << " RMS = " << dmy_RMS
2807  // << " events = " << dmy_events
2808  // << " status = " << calib_status[dmy_num-1]
2809  // << std::endl ;
2810  }
2811 
2812  fclose(inpFile); // close inp. file
2813  edm::LogInfo("EcalTrivialConditionRetriever") << "Read intercalibrations for " << ii << " xtals ";
2814  if (ii != 1700)
2815  edm::LogWarning("StoreEcalCondition") << "Some crystals missing, set to 1" << std::endl;
2816 
2817  // Transfer the data to the inter-calibration coefficients container
2818  // -----------------------------------------------------------------
2819 
2820  // DB supermodule always set to 1 for the TestBeam FIXME
2821  int sm_db = 1;
2822  // loop over channels
2823  for (int i = 0; i < 1700; i++) {
2824  //if (EBDetId::validDetId(iEta,iPhi)) {
2825  // CANNOT be used -- validDetId only checks ETA PHI method
2826  // doing a check by hand, here is the only place in CMSSW
2827  // outside TB code and EcalRawToDigi where needed
2828  // => no need for changing the DetId interface
2829  //
2830  // checking only sm_db -- guess can change with the above FIXME
2831  if (sm_db >= EBDetId::MIN_SM && sm_db <= EBDetId::MAX_SM) {
2832  EBDetId ebid(sm_db, i + 1, EBDetId::SMCRYSTALMODE);
2833  if (calib_status[i])
2834  ical->setValue(ebid.rawId(), calib[i]);
2835  else
2836  ical->setValue(ebid.rawId(), 1.);
2837  }
2838  //}
2839  } // loop over channels
2840  }
2841 
2842  return ical;
2843 }
EcalIntercalibConstantMCMap EcalIntercalibConstantsMC
static const int MIN_IPHI
Definition: EBDetId.h:135
double calcresolutitonConstantTerm(double eta)
Log< level::Error, false > LogError
assert(be >=bs)
static const int IX_MIN
Definition: EEDetId.h:290
static int readXML(const std::string &filename, EcalCondHeader &header, EcalFloatCondObjectContainer &record)
static const int IY_MIN
Definition: EEDetId.h:294
float approxEta() const
Definition: EBDetId.h:102
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
static const int MIN_SM
Definition: EBDetId.h:145
void setValue(const uint32_t id, const Item &item)
T sqrt(T t)
Definition: SSEVec.h:19
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
const_iterator find(uint32_t rawId) const
ii
Definition: cuy.py:589
static const int IX_MAX
Definition: EEDetId.h:298
Log< level::Info, false > LogInfo
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
std::vector< Item >::const_iterator const_iterator
static const int MAX_IETA
Definition: EBDetId.h:136
EcalIntercalibConstantMap EcalIntercalibConstants
static const int MAX_SM
Definition: EBDetId.h:146
const_iterator end() const
static const int IY_MAX
Definition: EEDetId.h:302
float EcalIntercalibConstantMC
Log< level::Warning, false > LogWarning
static const int SMCRYSTALMODE
Definition: EBDetId.h:159
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
#define str(s)
float EcalIntercalibConstant

◆ getIntercalibConstantsMCFromConfiguration()

std::unique_ptr< EcalIntercalibConstantsMC > EcalTrivialConditionRetriever::getIntercalibConstantsMCFromConfiguration ( const EcalIntercalibConstantsMCRcd )
virtual

Definition at line 2937 of file EcalTrivialConditionRetriever.cc.

References h, and EcalFloatCondObjectContainerXMLTranslator::readXML().

Referenced by EcalTrivialConditionRetriever().

2938  {
2939  std::unique_ptr<EcalIntercalibConstantsMC> ical;
2940  // std::make_unique<EcalIntercalibConstants>();
2941 
2942  // Read the values from a xml file
2943  // -------------------------------
2944 
2945  edm::LogInfo("EcalTrivialConditionRetriever")
2946  << "Reading intercalibration constants MC from file " << intercalibConstantsMCFile_.c_str();
2947 
2948  if (intercalibConstantsMCFile_.find(".xml") != std::string::npos) {
2949  edm::LogInfo("generating Intercalib MC from xml file");
2950 
2951  EcalCondHeader h;
2954 
2955  ical = std::unique_ptr<EcalIntercalibConstants>(rcd);
2956 
2957  } else {
2958  edm::LogInfo("ERROR>>> please provide a xml file");
2959  }
2960 
2961  return ical;
2962 }
EcalIntercalibConstantMCMap EcalIntercalibConstantsMC
static int readXML(const std::string &filename, EcalCondHeader &header, EcalFloatCondObjectContainer &record)
Log< level::Info, false > LogInfo
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4

◆ getIntercalibErrorsFromConfiguration()

std::unique_ptr< EcalIntercalibErrors > EcalTrivialConditionRetriever::getIntercalibErrorsFromConfiguration ( const EcalIntercalibErrorsRcd )
virtual

Definition at line 2964 of file EcalTrivialConditionRetriever.cc.

References cms::cuda::assert(), Exception, mps_fire::i, cuy::ii, mps_splice::line, EBDetId::MAX_SM, EBDetId::MIN_SM, DetId::rawId(), EBDetId::SMCRYSTALMODE, str, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by EcalTrivialConditionRetriever().

2965  {
2966  auto ical = std::make_unique<EcalIntercalibErrors>();
2967 
2968  // Read the values from a txt file
2969  // -------------------------------
2970 
2971  edm::LogInfo("EcalTrivialConditionRetriever")
2972  << "Reading intercalibration constants from file " << intercalibErrorsFile_.c_str();
2973 
2974  FILE* inpFile;
2975  inpFile = fopen(intercalibErrorsFile_.c_str(), "r");
2976  if (!inpFile) {
2977  edm::LogError("EcalTrivialConditionRetriever") << "*** Can not open file: " << intercalibErrorsFile_;
2978  throw cms::Exception("Cannot open inter-calibration coefficients txt file");
2979  }
2980 
2981  char line[256];
2982  std::ostringstream str;
2983  fgets(line, 255, inpFile);
2984  int sm_number = atoi(line);
2985  str << "sm: " << sm_number;
2986 
2987  fgets(line, 255, inpFile);
2988  //int nevents=atoi (line) ; // not necessary here just for online conddb
2989 
2990  fgets(line, 255, inpFile);
2991  std::string gen_tag = line;
2992  str << "gen tag: " << gen_tag; // should I use this?
2993 
2994  fgets(line, 255, inpFile);
2995  std::string cali_method = line;
2996  str << "cali method: " << cali_method << std::endl; // not important
2997 
2998  fgets(line, 255, inpFile);
2999  std::string cali_version = line;
3000  str << "cali version: " << cali_version << std::endl; // not important
3001 
3002  fgets(line, 255, inpFile);
3003  std::string cali_type = line;
3004  str << "cali type: " << cali_type; // not important
3005 
3006  edm::LogInfo("EcalTrivialConditionRetriever") << "[PIETRO] Intercalibration file - " << str.str() << std::endl;
3007 
3008  float calib[1700] = {1};
3009  int calib_status[1700] = {0};
3010 
3011  int ii = 0;
3012 
3013  while (fgets(line, 255, inpFile)) {
3014  ii++;
3015  int dmy_num = 0;
3016  float dmy_calib = 0.;
3017  float dmy_RMS = 0.;
3018  int dmy_events = 0;
3019  int dmy_status = 0;
3020  sscanf(line, "%d %f %f %d %d", &dmy_num, &dmy_calib, &dmy_RMS, &dmy_events, &dmy_status);
3021  assert(dmy_num >= 1);
3022  assert(dmy_num <= 1700);
3023  calib[dmy_num - 1] = dmy_calib;
3024  calib_status[dmy_num - 1] = dmy_status;
3025 
3026  // edm::LogInfo ("EcalTrivialConditionRetriever")
3027  // << "[PIETRO] cry = " << dmy_num
3028  // << " calib = " << calib[dmy_num-1]
3029  // << " RMS = " << dmy_RMS
3030  // << " events = " << dmy_events
3031  // << " status = " << calib_status[dmy_num-1]
3032  // << std::endl ;
3033  }
3034 
3035  fclose(inpFile); // close inp. file
3036  edm::LogInfo("EcalTrivialConditionRetriever") << "Read intercalibrations for " << ii << " xtals ";
3037  if (ii != 1700)
3038  edm::LogWarning("StoreEcalCondition") << "Some crystals missing, set to 1" << std::endl;
3039 
3040  // Transfer the data to the inter-calibration coefficients container
3041  // -----------------------------------------------------------------
3042 
3043  // DB supermodule always set to 1 for the TestBeam FIXME
3044  int sm_db = 1;
3045  // loop over channels
3046  for (int i = 0; i < 1700; i++) {
3047  //if (EBDetId::validDetId(iEta,iPhi)) {
3048  // CANNOT be used -- validDetId only checks ETA PHI method
3049  // doing a check by hand, here is the only place in CMSSW
3050  // outside TB code and EcalRawToDigi where needed
3051  // => no need for changing the DetId interface
3052  //
3053  // checking only sm_db -- guess can change with the above FIXME
3054  if (sm_db >= EBDetId::MIN_SM && sm_db <= EBDetId::MAX_SM) {
3055  EBDetId ebid(sm_db, i + 1, EBDetId::SMCRYSTALMODE);
3056  if (calib_status[i])
3057  ical->setValue(ebid.rawId(), calib[i]);
3058  else
3059  ical->setValue(ebid.rawId(), 1.);
3060  }
3061  //}
3062  } // loop over channels
3063 
3064  // edm::LogInfo ("EcalTrivialConditionRetriever") << "INTERCALIBRATION DONE" ;
3065  return ical;
3066 }
Log< level::Error, false > LogError
assert(be >=bs)
static const int MIN_SM
Definition: EBDetId.h:145
ii
Definition: cuy.py:589
Log< level::Info, false > LogInfo
static const int MAX_SM
Definition: EBDetId.h:146
Log< level::Warning, false > LogWarning
static const int SMCRYSTALMODE
Definition: EBDetId.h:159
#define str(s)

◆ getMappingFromConfiguration()

std::unique_ptr< EcalMappingElectronics > EcalTrivialConditionRetriever::getMappingFromConfiguration ( const EcalMappingElectronicsRcd )
virtual

Definition at line 3280 of file EcalTrivialConditionRetriever.cc.

References L1DTConfigBti_cff::CL, EcalMappingElement::electronicsid, Exception, f, contentValuesFiles::fullPath, edm::FileInPath::fullPath(), taus_updatedMVAIds_cff::mapping, EcalTriggerElectronicsId::rawId(), EcalElectronicsId::rawId(), l1tHGCalTowerProducer_cfi::tower, EcalMappingElement::triggerid, and EEDetId::XYMODE.

Referenced by EcalTrivialConditionRetriever().

3281  {
3282  auto mapping = std::make_unique<EcalMappingElectronics>();
3283  edm::LogInfo("EcalTrivialConditionRetriever")
3284  << "Reading mapping from file " << edm::FileInPath(mappingFile_).fullPath().c_str();
3285 
3286  std::ifstream f(edm::FileInPath(mappingFile_).fullPath().c_str());
3287  if (!f.good()) {
3288  edm::LogError("EcalTrivialConditionRetriever") << "File not found";
3289  throw cms::Exception("FileNotFound");
3290  }
3291 
3292  // uint32_t detid, elecid, triggerid;
3293 
3294  int ix, iy, iz, CL;
3295  // int dccid, towerid, stripid, xtalid;
3296  // int tccid, tower, ipseudostrip, xtalinps;
3297  int dccid, towerid, pseudostrip_in_SC, xtal_in_pseudostrip;
3298  int tccid, tower, pseudostrip_in_TCC, pseudostrip_in_TT;
3299 
3300  while (!f.eof()) {
3301  // f >> detid >> elecid >> triggerid;
3302  f >> ix >> iy >> iz >> CL >> dccid >> towerid >> pseudostrip_in_SC >> xtal_in_pseudostrip >> tccid >> tower >>
3303  pseudostrip_in_TCC >> pseudostrip_in_TT;
3304 
3305  // if (!EEDetId::validDetId(ix,iy,iz))
3306  // continue;
3307 
3308  EEDetId detid(ix, iy, iz, EEDetId::XYMODE);
3309  // std::cout << " dcc tower ps_in_SC xtal_in_ps " << dccid << " " << towerid << " " << pseudostrip_in_SC << " " << xtal_in_pseudostrip << std::endl;
3310  EcalElectronicsId elecid(dccid, towerid, pseudostrip_in_SC, xtal_in_pseudostrip);
3311  // std::cout << " tcc tt ps_in_TT xtal_in_ps " << tccid << " " << tower << " " << pseudostrip_in_TT << " " << xtal_in_pseudostrip << std::endl;
3312  EcalTriggerElectronicsId triggerid(tccid, tower, pseudostrip_in_TT, xtal_in_pseudostrip);
3313  EcalMappingElement aElement;
3314  aElement.electronicsid = elecid.rawId();
3315  aElement.triggerid = triggerid.rawId();
3316  (*mapping).setValue(detid, aElement);
3317  }
3318 
3319  f.close();
3320  return mapping;
3321 }
std::string fullPath() const
Definition: FileInPath.cc:161
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
static const int XYMODE
Definition: EEDetId.h:335
Log< level::Error, false > LogError
double f[11][100]
Log< level::Info, false > LogInfo
Ecal trigger electronics identification [32:20] Unused (so far) [19:13] TCC id [12:6] TT id [5:3] pse...

◆ getPFRecHitThresholdsFromConfiguration()

std::unique_ptr< EcalPFRecHitThresholds > EcalTrivialConditionRetriever::getPFRecHitThresholdsFromConfiguration ( const EcalPFRecHitThresholdsRcd )
virtual

Definition at line 2847 of file EcalTrivialConditionRetriever.cc.

References TauDecayModes::dec, PVValHelper::eta, contentValuesFiles::fullPath, edm::FileInPath::fullPath(), dqm-mbProfile::log, phi, DetId::rawId(), mathSSE::sqrt(), funct::tan(), DMR_cfg::thresh, EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

2848  {
2849  std::unique_ptr<EcalPFRecHitThresholds> ical;
2850 
2851  // Reads the values from a txt file
2852  edm::LogInfo("EcalTrivialConditionRetriever")
2853  << "Reading PF RecHit Thresholds from file " << edm::FileInPath(pfRecHitFile_).fullPath().c_str();
2854 
2855  std::ifstream PFRecHitsFile(edm::FileInPath(pfRecHitFile_).fullPath().c_str());
2856 
2857  ical = std::make_unique<EcalPFRecHitThresholds>();
2858 
2859  // char line[50];
2860 
2861  int nxt = 0;
2862 
2863  edm::LogInfo("Going to multiply the sigmas by ") << pfRecHitThresholdsNSigmas_;
2864  edm::LogInfo("We will print some values ");
2865 
2866  while (!PFRecHitsFile.eof()) {
2867  // while (fgets(line,50,inpFile)) {
2868  float thresh;
2869  int eta = 0;
2870  int phi = 0;
2871  int zeta = 0;
2872  PFRecHitsFile >> eta >> phi >> zeta >> thresh;
2873  // sscanf(line, "%d %d %d %f", &eta, &phi, &zeta, &thresh);
2874 
2876 
2877  if (phi == 50)
2878  edm::LogInfo("EB ") << std::dec << eta << "/" << std::dec << phi << "/" << std::dec << zeta
2879  << " thresh: " << thresh;
2880  nxt = nxt + 1;
2881  if (EBDetId::validDetId(eta, phi)) {
2882  EBDetId ebid(eta, phi);
2883  ical->setValue(ebid.rawId(), thresh);
2884  }
2885  }
2886  PFRecHitsFile.close();
2887  // fclose(inpFile);
2888 
2889  edm::LogInfo("Read number of EB crystals: ") << nxt;
2890 
2891  //******************************************************
2892  edm::LogInfo("Now reading the EE file ... ");
2893  edm::LogInfo("We will multiply the sigma in EE by ") << pfRecHitThresholdsNSigmas_;
2894  edm::LogInfo("We will multiply the sigma in EE at high eta by") << pfRecHitThresholdsNSigmasHEta_;
2895  edm::LogInfo("We will print some values ");
2896 
2897  edm::LogInfo("EcalTrivialConditionRetriever")
2898  << "Reading PF RecHit Thresholds EE from file " << edm::FileInPath(pfRecHitFileEE_).fullPath().c_str();
2899  std::ifstream PFRecHitsFileEE(edm::FileInPath(pfRecHitFileEE_).fullPath().c_str());
2900 
2901  nxt = 0;
2902 
2903  while (!PFRecHitsFileEE.eof()) {
2904  // while (fgets(line,40,inpFileEE)) {
2905  float thresh;
2906  int ix = 0;
2907  int iy = 0;
2908  int iz = 0;
2909  PFRecHitsFileEE >> ix >> iy >> iz >> thresh;
2910  // sscanf(line, "%d %d %d %f", &ix, &iy,&iz, &thresh);
2911 
2912  double eta =
2913  -log(tan(0.5 * atan(sqrt((ix - 50.5) * (ix - 50.5) + (iy - 50.5) * (iy - 50.5)) * 2.98 / 328.))); // approx eta
2914 
2915  if (eta > 2.5) {
2917  } else {
2919  }
2920 
2921  if (ix == 50)
2922  edm::LogInfo("EE ") << std::dec << ix << "/" << std::dec << iy << "/" << std::dec << iz << " thresh: " << thresh;
2923  if (EEDetId::validDetId(ix, iy, iz)) {
2924  EEDetId eeid(ix, iy, iz);
2925  ical->setValue(eeid.rawId(), thresh);
2926  }
2927  nxt = nxt + 1;
2928  }
2929  PFRecHitsFileEE.close();
2930  // fclose(inpFileEE);
2931  edm::LogInfo("Read number of EE crystals: ") << nxt;
2932  edm::LogInfo("end PF Rec Hits ... ");
2933 
2934  return ical;
2935 }
std::string fullPath() const
Definition: FileInPath.cc:161
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
T sqrt(T t)
Definition: SSEVec.h:19
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
Log< level::Info, false > LogInfo
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248

◆ getTimeCalibConstantsFromConfiguration()

std::unique_ptr< EcalTimeCalibConstants > EcalTrivialConditionRetriever::getTimeCalibConstantsFromConfiguration ( const EcalTimeCalibConstantsRcd )
virtual

Definition at line 3070 of file EcalTrivialConditionRetriever.cc.

References cms::cuda::assert(), Exception, mps_fire::i, cuy::ii, mps_splice::line, EBDetId::MAX_SM, EBDetId::MIN_SM, DetId::rawId(), EBDetId::SMCRYSTALMODE, str, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by EcalTrivialConditionRetriever().

3071  {
3072  auto ical = std::make_unique<EcalTimeCalibConstants>();
3073 
3074  // Read the values from a txt file
3075  // -------------------------------
3076 
3077  edm::LogInfo("EcalTrivialConditionRetriever")
3078  << "Reading time calibration constants from file " << timeCalibConstantsFile_.c_str();
3079 
3080  FILE* inpFile;
3081  inpFile = fopen(timeCalibConstantsFile_.c_str(), "r");
3082  if (!inpFile) {
3083  edm::LogError("EcalTrivialConditionRetriever") << "*** Can not open file: " << timeCalibConstantsFile_;
3084  throw cms::Exception("Cannot open inter-calibration coefficients txt file");
3085  }
3086 
3087  char line[256];
3088  std::ostringstream str;
3089  fgets(line, 255, inpFile);
3090  int sm_number = atoi(line);
3091  str << "sm: " << sm_number;
3092 
3093  fgets(line, 255, inpFile);
3094  //int nevents=atoi (line) ; // not necessary here just for online conddb
3095 
3096  fgets(line, 255, inpFile);
3097  std::string gen_tag = line;
3098  str << "gen tag: " << gen_tag; // should I use this?
3099 
3100  fgets(line, 255, inpFile);
3101  std::string cali_method = line;
3102  str << "cali method: " << cali_method << std::endl; // not important
3103 
3104  fgets(line, 255, inpFile);
3105  std::string cali_version = line;
3106  str << "cali version: " << cali_version << std::endl; // not important
3107 
3108  fgets(line, 255, inpFile);
3109  std::string cali_type = line;
3110  str << "cali type: " << cali_type; // not important
3111 
3112  edm::LogInfo("EcalTrivialConditionRetriever") << "TimeCalibration file - " << str.str() << std::endl;
3113 
3114  float calib[1700] = {1};
3115  int calib_status[1700] = {0};
3116 
3117  int ii = 0;
3118 
3119  while (fgets(line, 255, inpFile)) {
3120  ii++;
3121  int dmy_num = 0;
3122  float dmy_calib = 0.;
3123  float dmy_RMS = 0.;
3124  int dmy_events = 0;
3125  int dmy_status = 0;
3126  sscanf(line, "%d %f %f %d %d", &dmy_num, &dmy_calib, &dmy_RMS, &dmy_events, &dmy_status);
3127  assert(dmy_num >= 1);
3128  assert(dmy_num <= 1700);
3129  calib[dmy_num - 1] = dmy_calib;
3130  calib_status[dmy_num - 1] = dmy_status;
3131 
3132  // edm::LogInfo ("EcalTrivialConditionRetriever")
3133  // << "[PIETRO] cry = " << dmy_num
3134  // << " calib = " << calib[dmy_num-1]
3135  // << " RMS = " << dmy_RMS
3136  // << " events = " << dmy_events
3137  // << " status = " << calib_status[dmy_num-1]
3138  // << std::endl ;
3139  }
3140 
3141  fclose(inpFile); // close inp. file
3142  edm::LogInfo("EcalTrivialConditionRetriever") << "Read timeCalibrations for " << ii << " xtals ";
3143  if (ii != 1700)
3144  edm::LogWarning("StoreEcalCondition") << "Some crystals missing, set to 1" << std::endl;
3145 
3146  // Transfer the data to the inter-calibration coefficients container
3147  // -----------------------------------------------------------------
3148 
3149  // DB supermodule always set to 1 for the TestBeam FIXME
3150  int sm_db = 1;
3151  // loop over channels
3152  for (int i = 0; i < 1700; i++) {
3153  //if (EBDetId::validDetId(iEta,iPhi)) {
3154  // CANNOT be used -- validDetId only checks ETA PHI method
3155  // doing a check by hand, here is the only place in CMSSW
3156  // outside TB code and EcalRawToDigi where needed
3157  // => no need for changing the DetId interface
3158  //
3159  // checking only sm_db -- guess can change with the above FIXME
3160  if (sm_db >= EBDetId::MIN_SM && sm_db <= EBDetId::MAX_SM) {
3161  EBDetId ebid(sm_db, i + 1, EBDetId::SMCRYSTALMODE);
3162  if (calib_status[i])
3163  ical->setValue(ebid.rawId(), calib[i]);
3164  else
3165  ical->setValue(ebid.rawId(), 1.);
3166  }
3167  //}
3168  } // loop over channels
3169 
3170  // edm::LogInfo ("EcalTrivialConditionRetriever") << "INTERCALIBRATION DONE" ;
3171  return ical;
3172 }
Log< level::Error, false > LogError
assert(be >=bs)
static const int MIN_SM
Definition: EBDetId.h:145
ii
Definition: cuy.py:589
Log< level::Info, false > LogInfo
static const int MAX_SM
Definition: EBDetId.h:146
Log< level::Warning, false > LogWarning
static const int SMCRYSTALMODE
Definition: EBDetId.h:159
#define str(s)

◆ getTimeCalibErrorsFromConfiguration()

std::unique_ptr< EcalTimeCalibErrors > EcalTrivialConditionRetriever::getTimeCalibErrorsFromConfiguration ( const EcalTimeCalibErrorsRcd )
virtual

Definition at line 3174 of file EcalTrivialConditionRetriever.cc.

References cms::cuda::assert(), Exception, mps_fire::i, cuy::ii, mps_splice::line, EBDetId::MAX_SM, EBDetId::MIN_SM, DetId::rawId(), EBDetId::SMCRYSTALMODE, str, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by EcalTrivialConditionRetriever().

3175  {
3176  auto ical = std::make_unique<EcalTimeCalibErrors>();
3177 
3178  // Read the values from a txt file
3179  // -------------------------------
3180 
3181  edm::LogInfo("EcalTrivialConditionRetriever")
3182  << "Reading timeCalibration constants from file " << timeCalibErrorsFile_.c_str();
3183 
3184  FILE* inpFile;
3185  inpFile = fopen(timeCalibErrorsFile_.c_str(), "r");
3186  if (!inpFile) {
3187  edm::LogError("EcalTrivialConditionRetriever") << "*** Can not open file: " << timeCalibErrorsFile_;
3188  throw cms::Exception("Cannot open inter-calibration coefficients txt file");
3189  }
3190 
3191  char line[256];
3192  std::ostringstream str;
3193  fgets(line, 255, inpFile);
3194  int sm_number = atoi(line);
3195  str << "sm: " << sm_number;
3196 
3197  fgets(line, 255, inpFile);
3198  //int nevents=atoi (line) ; // not necessary here just for online conddb
3199 
3200  fgets(line, 255, inpFile);
3201  std::string gen_tag = line;
3202  str << "gen tag: " << gen_tag; // should I use this?
3203 
3204  fgets(line, 255, inpFile);
3205  std::string cali_method = line;
3206  str << "cali method: " << cali_method << std::endl; // not important
3207 
3208  fgets(line, 255, inpFile);
3209  std::string cali_version = line;
3210  str << "cali version: " << cali_version << std::endl; // not important
3211 
3212  fgets(line, 255, inpFile);
3213  std::string cali_type = line;
3214  str << "cali type: " << cali_type; // not important
3215 
3216  edm::LogInfo("EcalTrivialConditionRetriever") << "TimeCalibration file - " << str.str() << std::endl;
3217 
3218  float calib[1700] = {1};
3219  int calib_status[1700] = {0};
3220 
3221  int ii = 0;
3222 
3223  while (fgets(line, 255, inpFile)) {
3224  ii++;
3225  int dmy_num = 0;
3226  float dmy_calib = 0.;
3227  float dmy_RMS = 0.;
3228  int dmy_events = 0;
3229  int dmy_status = 0;
3230  sscanf(line, "%d %f %f %d %d", &dmy_num, &dmy_calib, &dmy_RMS, &dmy_events, &dmy_status);
3231  assert(dmy_num >= 1);
3232  assert(dmy_num <= 1700);
3233  calib[dmy_num - 1] = dmy_calib;
3234  calib_status[dmy_num - 1] = dmy_status;
3235 
3236  // edm::LogInfo ("EcalTrivialConditionRetriever")
3237  // << "[PIETRO] cry = " << dmy_num
3238  // << " calib = " << calib[dmy_num-1]
3239  // << " RMS = " << dmy_RMS
3240  // << " events = " << dmy_events
3241  // << " status = " << calib_status[dmy_num-1]
3242  // << std::endl ;
3243  }
3244 
3245  fclose(inpFile); // close inp. file
3246  edm::LogInfo("EcalTrivialConditionRetriever") << "Read time calibrations for " << ii << " xtals ";
3247  if (ii != 1700)
3248  edm::LogWarning("StoreEcalCondition") << "Some crystals missing, set to 1" << std::endl;
3249 
3250  // Transfer the data to the inter-calibration coefficients container
3251  // -----------------------------------------------------------------
3252 
3253  // DB supermodule always set to 1 for the TestBeam FIXME
3254  int sm_db = 1;
3255  // loop over channels
3256  for (int i = 0; i < 1700; i++) {
3257  //if (EBDetId::validDetId(iEta,iPhi)) {
3258  // CANNOT be used -- validDetId only checks ETA PHI method
3259  // doing a check by hand, here is the only place in CMSSW
3260  // outside TB code and EcalRawToDigi where needed
3261  // => no need for changing the DetId interface
3262  //
3263  // checking only sm_db -- guess can change with the above FIXME
3264  if (sm_db >= EBDetId::MIN_SM && sm_db <= EBDetId::MAX_SM) {
3265  EBDetId ebid(sm_db, i + 1, EBDetId::SMCRYSTALMODE);
3266  if (calib_status[i])
3267  ical->setValue(ebid.rawId(), calib[i]);
3268  else
3269  ical->setValue(ebid.rawId(), 1.);
3270  }
3271  //}
3272  } // loop over channels
3273 
3274  // edm::LogInfo ("EcalTrivialConditionRetriever") << "INTERCALIBRATION DONE" ;
3275  return ical;
3276 }
Log< level::Error, false > LogError
assert(be >=bs)
static const int MIN_SM
Definition: EBDetId.h:145
ii
Definition: cuy.py:589
Log< level::Info, false > LogInfo
static const int MAX_SM
Definition: EBDetId.h:146
Log< level::Warning, false > LogWarning
static const int SMCRYSTALMODE
Definition: EBDetId.h:159
#define str(s)

◆ getTrgChannelStatusFromConfiguration()

std::unique_ptr< EcalTPGCrystalStatus > EcalTrivialConditionRetriever::getTrgChannelStatusFromConfiguration ( const EcalTPGCrystalStatusRcd )
virtual

Definition at line 2503 of file EcalTrivialConditionRetriever.cc.

References Exception, contentValuesFiles::fullPath, edm::FileInPath::fullPath(), hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, mps_update::status, str, AlCaHLTBitMon_QueryRunRegistry::string, EBDetId::unhashIndex(), EEDetId::unhashIndex(), EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

2504  {
2505  auto ecalStatus = std::make_unique<EcalTPGCrystalStatus>();
2506 
2507  // start by setting all statuses to 0
2508 
2509  // barrel
2510  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
2511  if (ieta == 0)
2512  continue;
2513  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
2514  if (EBDetId::validDetId(ieta, iphi)) {
2515  EBDetId ebid(ieta, iphi);
2516  ecalStatus->setValue(ebid, 0);
2517  }
2518  }
2519  }
2520  // endcap
2521  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
2522  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
2523  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
2524  if (EEDetId::validDetId(iX, iY, 1)) {
2525  EEDetId eedetidpos(iX, iY, 1);
2526  ecalStatus->setValue(eedetidpos, 0);
2527  }
2528  if (EEDetId::validDetId(iX, iY, -1)) {
2529  EEDetId eedetidneg(iX, iY, -1);
2530  ecalStatus->setValue(eedetidneg, 0);
2531  }
2532  }
2533  }
2534 
2535  // overwrite the statuses which are in the file
2536 
2537  edm::LogInfo("EcalTrivialConditionRetriever")
2538  << "Reading channel statuses from file " << edm::FileInPath(channelStatusFile_).fullPath().c_str();
2539  std::ifstream statusFile(edm::FileInPath(channelStatusFile_).fullPath().c_str());
2540  if (!statusFile.good()) {
2541  edm::LogError("EcalTrivialConditionRetriever") << "*** Problems opening file: " << channelStatusFile_;
2542  throw cms::Exception("Cannot open ECAL channel status file");
2543  }
2544 
2545  std::string EcalSubDet;
2546  std::string str;
2547  int hashIndex(0);
2548  int status(0);
2549 
2550  while (!statusFile.eof()) {
2551  statusFile >> EcalSubDet;
2552  if (EcalSubDet != std::string("EB") && EcalSubDet != std::string("EE")) {
2553  std::getline(statusFile, str);
2554  continue;
2555  } else {
2556  statusFile >> hashIndex >> status;
2557  }
2558  // std::cout << EcalSubDet << " " << hashIndex << " " << status;
2559 
2560  if (EcalSubDet == std::string("EB")) {
2561  EBDetId ebid = EBDetId::unhashIndex(hashIndex);
2562  ecalStatus->setValue(ebid, status);
2563  } else if (EcalSubDet == std::string("EE")) {
2564  EEDetId eedetid = EEDetId::unhashIndex(hashIndex);
2565  ecalStatus->setValue(eedetid, status);
2566  } else {
2567  edm::LogError("EcalTrivialConditionRetriever") << " *** " << EcalSubDet << " is neither EB nor EE ";
2568  }
2569  }
2570  // the file is supposed to be in the form -- FIXME
2571 
2572  statusFile.close();
2573  return ecalStatus;
2574 }
static const int MIN_IPHI
Definition: EBDetId.h:135
std::string fullPath() const
Definition: FileInPath.cc:161
Log< level::Error, false > LogError
static EEDetId unhashIndex(int hi)
Definition: EEDetId.cc:65
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
static const int IX_MAX
Definition: EEDetId.h:298
Log< level::Info, false > LogInfo
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static EBDetId unhashIndex(int hi)
get a DetId from a compact index for arrays
Definition: EBDetId.h:110
static const int IY_MAX
Definition: EEDetId.h:302
#define str(s)

◆ getWeightsFromConfiguration()

void EcalTrivialConditionRetriever::getWeightsFromConfiguration ( const edm::ParameterSet ps)
private

Definition at line 1682 of file EcalTrivialConditionRetriever.cc.

References cms::cuda::assert(), Exception, contentValuesFiles::fullPath, edm::FileInPath::fullPath(), edm::ParameterSet::getUntrackedParameter(), mps_fire::i, dqmiolumiharvest::j, MainPageGenerator::l, and findQualityFiles::size.

1682  {
1683  std::vector<std::vector<double> > amplwgtv(nTDCbins_);
1684 
1685  if (!getWeightsFromFile_ && nTDCbins_ == 1) {
1686  std::vector<double> vampl;
1687  //As default using simple 3+1 weights
1688  vampl.push_back(-0.33333);
1689  vampl.push_back(-0.33333);
1690  vampl.push_back(-0.33333);
1691  vampl.push_back(0.);
1692  vampl.push_back(0.);
1693  vampl.push_back(1.);
1694  vampl.push_back(0.);
1695  vampl.push_back(0.);
1696  vampl.push_back(0.);
1697  vampl.push_back(0.);
1698  amplwgtv[0] = ps.getUntrackedParameter<std::vector<double> >("amplWeights", vampl);
1699  } else if (getWeightsFromFile_) {
1700  edm::LogInfo("EcalTrivialConditionRetriever")
1701  << "Reading amplitude weights from file " << edm::FileInPath(amplWeightsFile_).fullPath().c_str();
1702  std::ifstream amplFile(edm::FileInPath(amplWeightsFile_).fullPath().c_str());
1703  int tdcBin = 0;
1704  while (!amplFile.eof() && tdcBin < nTDCbins_) {
1705  for (int j = 0; j < 10; ++j) {
1706  float ww;
1707  amplFile >> ww;
1708  amplwgtv[tdcBin].push_back(ww);
1709  }
1710  ++tdcBin;
1711  }
1712  assert(tdcBin == nTDCbins_);
1713  //Read from file
1714  } else {
1715  //Not supported
1716  edm::LogError("EcalTrivialConditionRetriever") << "Configuration not supported. Exception is raised ";
1717  throw cms::Exception("WrongConfig");
1718  }
1719 
1720  for (int i = 0; i < nTDCbins_; i++) {
1721  assert(amplwgtv[i].size() == 10);
1722  int j = 0;
1723  for (std::vector<double>::const_iterator it = amplwgtv[i].begin(); it != amplwgtv[i].end(); ++it) {
1724  (amplWeights_[i])[j] = *it;
1725  j++;
1726  }
1727  }
1728 
1729  std::vector<std::vector<double> > amplwgtvAftGain(nTDCbins_);
1730 
1731  if (!getWeightsFromFile_ && nTDCbins_ == 1) {
1732  std::vector<double> vamplAftGain;
1733  vamplAftGain.push_back(0.);
1734  vamplAftGain.push_back(0.);
1735  vamplAftGain.push_back(0.);
1736  vamplAftGain.push_back(0.);
1737  vamplAftGain.push_back(0.);
1738  vamplAftGain.push_back(1.);
1739  vamplAftGain.push_back(0.);
1740  vamplAftGain.push_back(0.);
1741  vamplAftGain.push_back(0.);
1742  vamplAftGain.push_back(0.);
1743  amplwgtvAftGain[0] = ps.getUntrackedParameter<std::vector<double> >("amplWeightsAftGain", vamplAftGain);
1744  } else if (getWeightsFromFile_) {
1745  //Read from file
1746  edm::LogInfo("EcalTrivialConditionRetriever") << "Reading amplitude weights aftre gain switch from file "
1748  std::ifstream amplFile(edm::FileInPath(amplWeightsAftFile_).fullPath().c_str());
1749  int tdcBin = 0;
1750  while (!amplFile.eof() && tdcBin < nTDCbins_) {
1751  for (int j = 0; j < 10; ++j) {
1752  float ww;
1753  amplFile >> ww;
1754  amplwgtvAftGain[tdcBin].push_back(ww);
1755  }
1756  ++tdcBin;
1757  }
1758  assert(tdcBin == nTDCbins_);
1759  } else {
1760  //Not supported
1761  edm::LogError("EcalTrivialConditionRetriever") << "Configuration not supported. Exception is raised ";
1762  throw cms::Exception("WrongConfig");
1763  }
1764 
1765  for (int i = 0; i < nTDCbins_; i++) {
1766  assert(amplwgtvAftGain[i].size() == 10);
1767  int j = 0;
1768  for (std::vector<double>::const_iterator it = amplwgtvAftGain[i].begin(); it != amplwgtvAftGain[i].end(); ++it) {
1769  (amplWeightsAft_[i])[j] = *it;
1770  j++;
1771  }
1772  }
1773 
1774  // default weights to reco amplitude w/o pedestal subtraction
1775 
1776  std::vector<std::vector<double> > pedwgtv(nTDCbins_);
1777 
1778  if (!getWeightsFromFile_ && nTDCbins_ == 1) {
1779  std::vector<double> vped;
1780  vped.push_back(0.33333);
1781  vped.push_back(0.33333);
1782  vped.push_back(0.33333);
1783  vped.push_back(0.);
1784  vped.push_back(0.);
1785  vped.push_back(0.);
1786  vped.push_back(0.);
1787  vped.push_back(0.);
1788  vped.push_back(0.);
1789  vped.push_back(0.);
1790  pedwgtv[0] = ps.getUntrackedParameter<std::vector<double> >("pedWeights", vped);
1791  } else if (getWeightsFromFile_) {
1792  //Read from file
1793  edm::LogInfo("EcalTrivialConditionRetriever")
1794  << "Reading pedestal weights from file " << edm::FileInPath(pedWeightsFile_).fullPath().c_str();
1795  std::ifstream pedFile(edm::FileInPath(pedWeightsFile_).fullPath().c_str());
1796  int tdcBin = 0;
1797  while (!pedFile.eof() && tdcBin < nTDCbins_) {
1798  for (int j = 0; j < 10; ++j) {
1799  float ww;
1800  pedFile >> ww;
1801  pedwgtv[tdcBin].push_back(ww);
1802  }
1803  ++tdcBin;
1804  }
1805  assert(tdcBin == nTDCbins_);
1806  } else {
1807  //Not supported
1808  edm::LogError("EcalTrivialConditionRetriever") << "Configuration not supported. Exception is raised ";
1809  throw cms::Exception("WrongConfig");
1810  }
1811 
1812  for (int i = 0; i < nTDCbins_; i++) {
1813  assert(pedwgtv[i].size() == 10);
1814  int j = 0;
1815  for (std::vector<double>::const_iterator it = pedwgtv[i].begin(); it != pedwgtv[i].end(); ++it) {
1816  (pedWeights_[i])[j] = *it;
1817  j++;
1818  }
1819  }
1820 
1821  std::vector<std::vector<double> > pedwgtvaft(nTDCbins_);
1822 
1823  if (!getWeightsFromFile_ && nTDCbins_ == 1) {
1824  std::vector<double> vped;
1825  vped.push_back(0.);
1826  vped.push_back(0.);
1827  vped.push_back(0.);
1828  vped.push_back(0.);
1829  vped.push_back(0.);
1830  vped.push_back(0.);
1831  vped.push_back(0.);
1832  vped.push_back(0.);
1833  vped.push_back(0.);
1834  vped.push_back(0.);
1835  pedwgtvaft[0] = ps.getUntrackedParameter<std::vector<double> >("pedWeightsAft", vped);
1836  } else if (getWeightsFromFile_) {
1837  //Read from file
1838  edm::LogInfo("EcalTrivialConditionRetriever") << "Reading pedestal after gain switch weights from file "
1840  std::ifstream pedFile(edm::FileInPath(pedWeightsAftFile_).fullPath().c_str());
1841  int tdcBin = 0;
1842  while (!pedFile.eof() && tdcBin < nTDCbins_) {
1843  for (int j = 0; j < 10; ++j) {
1844  float ww;
1845  pedFile >> ww;
1846  pedwgtvaft[tdcBin].push_back(ww);
1847  }
1848  ++tdcBin;
1849  }
1850  assert(tdcBin == nTDCbins_);
1851  } else {
1852  //Not supported
1853  edm::LogError("EcalTrivialConditionRetriever") << "Configuration not supported. Exception is raised ";
1854  throw cms::Exception("WrongConfig");
1855  }
1856 
1857  for (int i = 0; i < nTDCbins_; i++) {
1858  assert(pedwgtvaft[i].size() == 10);
1859  int j = 0;
1860  for (std::vector<double>::const_iterator it = pedwgtvaft[i].begin(); it != pedwgtvaft[i].end(); ++it) {
1861  (pedWeightsAft_[i])[j] = *it;
1862  j++;
1863  }
1864  }
1865 
1866  // default weights to reco jitter
1867 
1868  std::vector<std::vector<double> > jittwgtv(nTDCbins_);
1869 
1870  if (!getWeightsFromFile_ && nTDCbins_ == 1) {
1871  std::vector<double> vjitt;
1872  vjitt.push_back(0.04066309);
1873  vjitt.push_back(0.04066309);
1874  vjitt.push_back(0.04066309);
1875  vjitt.push_back(0.000);
1876  vjitt.push_back(1.325176);
1877  vjitt.push_back(-0.04997078);
1878  vjitt.push_back(-0.504338);
1879  vjitt.push_back(-0.5024844);
1880  vjitt.push_back(-0.3903718);
1881  vjitt.push_back(0.000);
1882  jittwgtv[0] = ps.getUntrackedParameter<std::vector<double> >("jittWeights", vjitt);
1883  } else if (getWeightsFromFile_) {
1884  //Read from file
1885  edm::LogInfo("EcalTrivialConditionRetriever")
1886  << "Reading jitter weights from file " << edm::FileInPath(jittWeightsFile_).fullPath().c_str();
1887  std::ifstream jittFile(edm::FileInPath(jittWeightsFile_).fullPath().c_str());
1888  int tdcBin = 0;
1889  while (!jittFile.eof() && tdcBin < nTDCbins_) {
1890  for (int j = 0; j < 10; ++j) {
1891  float ww;
1892  jittFile >> ww;
1893  jittwgtv[tdcBin].push_back(ww);
1894  }
1895  ++tdcBin;
1896  }
1897  assert(tdcBin == nTDCbins_);
1898  } else {
1899  //Not supported
1900  edm::LogError("EcalTrivialConditionRetriever") << "Configuration not supported. Exception is raised ";
1901  throw cms::Exception("WrongConfig");
1902  }
1903 
1904  for (int i = 0; i < nTDCbins_; i++) {
1905  assert(jittwgtv[i].size() == 10);
1906  int j = 0;
1907  for (std::vector<double>::const_iterator it = jittwgtv[i].begin(); it != jittwgtv[i].end(); ++it) {
1908  (jittWeights_[i])[j] = *it;
1909  j++;
1910  }
1911  }
1912 
1913  std::vector<std::vector<double> > jittwgtvaft(nTDCbins_);
1914 
1915  if (!getWeightsFromFile_ && nTDCbins_ == 1) {
1916  std::vector<double> vjitt;
1917  vjitt.push_back(0.);
1918  vjitt.push_back(0.);
1919  vjitt.push_back(0.);
1920  vjitt.push_back(0.);
1921  vjitt.push_back(1.097871);
1922  vjitt.push_back(-0.04551035);
1923  vjitt.push_back(-0.4159156);
1924  vjitt.push_back(-0.4185352);
1925  vjitt.push_back(-0.3367127);
1926  vjitt.push_back(0.);
1927  jittwgtvaft[0] = ps.getUntrackedParameter<std::vector<double> >("jittWeightsAft", vjitt);
1928  } else if (getWeightsFromFile_) {
1929  //Read from file
1930  edm::LogInfo("EcalTrivialConditionRetriever") << "Reading jitter after gain switch weights from file "
1932  std::ifstream jittFile(edm::FileInPath(jittWeightsAftFile_).fullPath().c_str());
1933  int tdcBin = 0;
1934  while (!jittFile.eof() && tdcBin < nTDCbins_) {
1935  for (int j = 0; j < 10; ++j) {
1936  float ww;
1937  jittFile >> ww;
1938  jittwgtvaft[tdcBin].push_back(ww);
1939  }
1940  ++tdcBin;
1941  }
1942  assert(tdcBin == nTDCbins_);
1943  } else {
1944  //Not supported
1945  edm::LogError("EcalTrivialConditionRetriever") << "Configuration not supported. Exception is raised ";
1946  throw cms::Exception("WrongConfig");
1947  }
1948 
1949  for (int i = 0; i < nTDCbins_; i++) {
1950  assert(jittwgtvaft[i].size() == 10);
1951  int j = 0;
1952  for (std::vector<double>::const_iterator it = jittwgtvaft[i].begin(); it != jittwgtvaft[i].end(); ++it) {
1953  (jittWeightsAft_[i])[j] = *it;
1954  j++;
1955  }
1956  }
1957 
1958  std::vector<EcalWeightSet::EcalChi2WeightMatrix> chi2Matrix(nTDCbins_);
1959  if (!getWeightsFromFile_ && nTDCbins_ == 1) {
1960  // chi2Matrix[0].resize(10);
1961  // for (int i=0;i<10;i++)
1962  // chi2Matrix[0][i].resize(10);
1963 
1964  chi2Matrix[0](0, 0) = 0.694371;
1965  chi2Matrix[0](0, 1) = -0.305629;
1966  chi2Matrix[0](0, 2) = -0.305629;
1967  chi2Matrix[0](0, 3) = 0.;
1968  chi2Matrix[0](0, 4) = 0.;
1969  chi2Matrix[0](0, 5) = 0.;
1970  chi2Matrix[0](0, 6) = 0.;
1971  chi2Matrix[0](0, 7) = 0.;
1972  chi2Matrix[0](0, 8) = 0.;
1973  chi2Matrix[0](0, 9) = 0.;
1974  chi2Matrix[0](1, 0) = -0.305629;
1975  chi2Matrix[0](1, 1) = 0.694371;
1976  chi2Matrix[0](1, 2) = -0.305629;
1977  chi2Matrix[0](1, 3) = 0.;
1978  chi2Matrix[0](1, 4) = 0.;
1979  chi2Matrix[0](1, 5) = 0.;
1980  chi2Matrix[0](1, 6) = 0.;
1981  chi2Matrix[0](1, 7) = 0.;
1982  chi2Matrix[0](1, 8) = 0.;
1983  chi2Matrix[0](1, 9) = 0.;
1984  chi2Matrix[0](2, 0) = -0.305629;
1985  chi2Matrix[0](2, 1) = -0.305629;
1986  chi2Matrix[0](2, 2) = 0.694371;
1987  chi2Matrix[0](2, 3) = 0.;
1988  chi2Matrix[0](2, 4) = 0.;
1989  chi2Matrix[0](2, 5) = 0.;
1990  chi2Matrix[0](2, 6) = 0.;
1991  chi2Matrix[0](2, 7) = 0.;
1992  chi2Matrix[0](2, 8) = 0.;
1993  chi2Matrix[0](2, 9) = 0.;
1994  chi2Matrix[0](3, 0) = 0.;
1995  chi2Matrix[0](3, 1) = 0.;
1996  chi2Matrix[0](3, 2) = 0.;
1997  chi2Matrix[0](3, 3) = 0.;
1998  chi2Matrix[0](3, 4) = 0.;
1999  chi2Matrix[0](3, 5) = 0.;
2000  chi2Matrix[0](3, 6) = 0.;
2001  chi2Matrix[0](3, 7) = 0.;
2002  chi2Matrix[0](3, 8) = 0.;
2003  chi2Matrix[0](3, 9) = 0.;
2004  chi2Matrix[0](4, 0) = 0.;
2005  chi2Matrix[0](4, 1) = 0.;
2006  chi2Matrix[0](4, 2) = 0.;
2007  chi2Matrix[0](4, 3) = 0.;
2008  chi2Matrix[0](4, 4) = 0.8027116;
2009  chi2Matrix[0](4, 5) = -0.2517103;
2010  chi2Matrix[0](4, 6) = -0.2232882;
2011  chi2Matrix[0](4, 7) = -0.1716192;
2012  chi2Matrix[0](4, 8) = -0.1239006;
2013  chi2Matrix[0](4, 9) = 0.;
2014  chi2Matrix[0](5, 0) = 0.;
2015  chi2Matrix[0](5, 1) = 0.;
2016  chi2Matrix[0](5, 2) = 0.;
2017  chi2Matrix[0](5, 3) = 0.;
2018  chi2Matrix[0](5, 4) = -0.2517103;
2019  chi2Matrix[0](5, 5) = 0.6528964;
2020  chi2Matrix[0](5, 6) = -0.2972839;
2021  chi2Matrix[0](5, 7) = -0.2067162;
2022  chi2Matrix[0](5, 8) = -0.1230729;
2023  chi2Matrix[0](5, 9) = 0.;
2024  chi2Matrix[0](6, 0) = 0.;
2025  chi2Matrix[0](6, 1) = 0.;
2026  chi2Matrix[0](6, 2) = 0.;
2027  chi2Matrix[0](6, 3) = 0.;
2028  chi2Matrix[0](6, 4) = -0.2232882;
2029  chi2Matrix[0](6, 5) = -0.2972839;
2030  chi2Matrix[0](6, 6) = 0.7413607;
2031  chi2Matrix[0](6, 7) = -0.1883866;
2032  chi2Matrix[0](6, 8) = -0.1235052;
2033  chi2Matrix[0](6, 9) = 0.;
2034  chi2Matrix[0](7, 0) = 0.;
2035  chi2Matrix[0](7, 1) = 0.;
2036  chi2Matrix[0](7, 2) = 0.;
2037  chi2Matrix[0](7, 3) = 0.;
2038  chi2Matrix[0](7, 4) = -0.1716192;
2039  chi2Matrix[0](7, 5) = -0.2067162;
2040  chi2Matrix[0](7, 6) = -0.1883866;
2041  chi2Matrix[0](7, 7) = 0.844935;
2042  chi2Matrix[0](7, 8) = -0.124291;
2043  chi2Matrix[0](7, 9) = 0.;
2044  chi2Matrix[0](8, 0) = 0.;
2045  chi2Matrix[0](8, 1) = 0.;
2046  chi2Matrix[0](8, 2) = 0.;
2047  chi2Matrix[0](8, 3) = 0.;
2048  chi2Matrix[0](8, 4) = -0.1239006;
2049  chi2Matrix[0](8, 5) = -0.1230729;
2050  chi2Matrix[0](8, 6) = -0.1235052;
2051  chi2Matrix[0](8, 7) = -0.124291;
2052  chi2Matrix[0](8, 8) = 0.8749833;
2053  chi2Matrix[0](8, 9) = 0.;
2054  chi2Matrix[0](9, 0) = 0.;
2055  chi2Matrix[0](9, 1) = 0.;
2056  chi2Matrix[0](9, 2) = 0.;
2057  chi2Matrix[0](9, 3) = 0.;
2058  chi2Matrix[0](9, 4) = 0.;
2059  chi2Matrix[0](9, 5) = 0.;
2060  chi2Matrix[0](9, 6) = 0.;
2061  chi2Matrix[0](9, 7) = 0.;
2062  chi2Matrix[0](9, 8) = 0.;
2063  chi2Matrix[0](9, 9) = 0.;
2064  } else if (getWeightsFromFile_) {
2065  //Read from file
2066  edm::LogInfo("EcalTrivialConditionRetriever")
2067  << "Reading chi2Matrix from file " << edm::FileInPath(chi2MatrixFile_).fullPath().c_str();
2068  std::ifstream chi2MatrixFile(edm::FileInPath(chi2MatrixFile_).fullPath().c_str());
2069  int tdcBin = 0;
2070  while (!chi2MatrixFile.eof() && tdcBin < nTDCbins_) {
2071  // chi2Matrix[tdcBin].resize(10);
2072  for (int j = 0; j < 10; ++j) {
2073  for (int l = 0; l < 10; ++l) {
2074  float ww;
2075  chi2MatrixFile >> ww;
2076  chi2Matrix[tdcBin](j, l) = ww;
2077  }
2078  }
2079  ++tdcBin;
2080  }
2081  assert(tdcBin == nTDCbins_);
2082  } else {
2083  //Not supported
2084  edm::LogError("EcalTrivialConditionRetriever") << "Configuration not supported. Exception is raised ";
2085  throw cms::Exception("WrongConfig");
2086  }
2087 
2088  // for (int i=0;i<nTDCbins_;i++)
2089  // {
2090  // assert(chi2Matrix[i].size() == 10);
2091  chi2Matrix_ = chi2Matrix;
2092  // }
2093 
2094  std::vector<EcalWeightSet::EcalChi2WeightMatrix> chi2MatrixAft(nTDCbins_);
2095  if (!getWeightsFromFile_ && nTDCbins_ == 1) {
2096  // chi2MatrixAft[0].resize(10);
2097  // for (int i=0;i<10;i++)
2098  // chi2MatrixAft[0][i].resize(10);
2099 
2100  chi2MatrixAft[0](0, 0) = 0.;
2101  chi2MatrixAft[0](0, 1) = 0.;
2102  chi2MatrixAft[0](0, 2) = 0.;
2103  chi2MatrixAft[0](0, 3) = 0.;
2104  chi2MatrixAft[0](0, 4) = 0.;
2105  chi2MatrixAft[0](0, 5) = 0.;
2106  chi2MatrixAft[0](0, 6) = 0.;
2107  chi2MatrixAft[0](0, 7) = 0.;
2108  chi2MatrixAft[0](0, 8) = 0.;
2109  chi2MatrixAft[0](0, 9) = 0.;
2110  chi2MatrixAft[0](1, 0) = 0.;
2111  chi2MatrixAft[0](1, 1) = 0.;
2112  chi2MatrixAft[0](1, 2) = 0.;
2113  chi2MatrixAft[0](1, 3) = 0.;
2114  chi2MatrixAft[0](1, 4) = 0.;
2115  chi2MatrixAft[0](1, 5) = 0.;
2116  chi2MatrixAft[0](1, 6) = 0.;
2117  chi2MatrixAft[0](1, 7) = 0.;
2118  chi2MatrixAft[0](1, 8) = 0.;
2119  chi2MatrixAft[0](1, 9) = 0.;
2120  chi2MatrixAft[0](2, 0) = 0.;
2121  chi2MatrixAft[0](2, 1) = 0.;
2122  chi2MatrixAft[0](2, 2) = 0.;
2123  chi2MatrixAft[0](2, 3) = 0.;
2124  chi2MatrixAft[0](2, 4) = 0.;
2125  chi2MatrixAft[0](2, 5) = 0.;
2126  chi2MatrixAft[0](2, 6) = 0.;
2127  chi2MatrixAft[0](2, 7) = 0.;
2128  chi2MatrixAft[0](2, 8) = 0.;
2129  chi2MatrixAft[0](2, 9) = 0.;
2130  chi2MatrixAft[0](3, 0) = 0.;
2131  chi2MatrixAft[0](3, 1) = 0.;
2132  chi2MatrixAft[0](3, 2) = 0.;
2133  chi2MatrixAft[0](3, 3) = 0.;
2134  chi2MatrixAft[0](3, 4) = 0.;
2135  chi2MatrixAft[0](3, 5) = 0.;
2136  chi2MatrixAft[0](3, 6) = 0.;
2137  chi2MatrixAft[0](3, 7) = 0.;
2138  chi2MatrixAft[0](3, 8) = 0.;
2139  chi2MatrixAft[0](3, 9) = 0.;
2140  chi2MatrixAft[0](4, 0) = 0.;
2141  chi2MatrixAft[0](4, 1) = 0.;
2142  chi2MatrixAft[0](4, 2) = 0.;
2143  chi2MatrixAft[0](4, 3) = 0.;
2144  chi2MatrixAft[0](4, 4) = 0.8030884;
2145  chi2MatrixAft[0](4, 5) = -0.2543541;
2146  chi2MatrixAft[0](4, 6) = -0.2243544;
2147  chi2MatrixAft[0](4, 7) = -0.1698177;
2148  chi2MatrixAft[0](4, 8) = -0.1194506;
2149  chi2MatrixAft[0](4, 9) = 0.;
2150  chi2MatrixAft[0](5, 0) = 0.;
2151  chi2MatrixAft[0](5, 1) = 0.;
2152  chi2MatrixAft[0](5, 2) = 0.;
2153  chi2MatrixAft[0](5, 3) = 0.;
2154  chi2MatrixAft[0](5, 4) = -0.2543541;
2155  chi2MatrixAft[0](5, 5) = 0.6714465;
2156  chi2MatrixAft[0](5, 6) = -0.2898025;
2157  chi2MatrixAft[0](5, 7) = -0.2193564;
2158  chi2MatrixAft[0](5, 8) = -0.1542964;
2159  chi2MatrixAft[0](5, 9) = 0.;
2160  chi2MatrixAft[0](6, 0) = 0.;
2161  chi2MatrixAft[0](6, 1) = 0.;
2162  chi2MatrixAft[0](6, 2) = 0.;
2163  chi2MatrixAft[0](6, 3) = 0.;
2164  chi2MatrixAft[0](6, 4) = -0.2243544;
2165  chi2MatrixAft[0](6, 5) = -0.2898025;
2166  chi2MatrixAft[0](6, 6) = 0.7443781;
2167  chi2MatrixAft[0](6, 7) = -0.1934846;
2168  chi2MatrixAft[0](6, 8) = -0.136098;
2169  chi2MatrixAft[0](6, 9) = 0.;
2170  chi2MatrixAft[0](7, 0) = 0.;
2171  chi2MatrixAft[0](7, 1) = 0.;
2172  chi2MatrixAft[0](7, 2) = 0.;
2173  chi2MatrixAft[0](7, 3) = 0.;
2174  chi2MatrixAft[0](7, 4) = -0.1698177;
2175  chi2MatrixAft[0](7, 5) = -0.2193564;
2176  chi2MatrixAft[0](7, 6) = -0.1934846;
2177  chi2MatrixAft[0](7, 7) = 0.8535482;
2178  chi2MatrixAft[0](7, 8) = -0.1030149;
2179  chi2MatrixAft[0](7, 9) = 0.;
2180  chi2MatrixAft[0](8, 0) = 0.;
2181  chi2MatrixAft[0](8, 1) = 0.;
2182  chi2MatrixAft[0](8, 2) = 0.;
2183  chi2MatrixAft[0](8, 3) = 0.;
2184  chi2MatrixAft[0](8, 4) = -0.1194506;
2185  chi2MatrixAft[0](8, 5) = -0.1542964;
2186  chi2MatrixAft[0](8, 6) = -0.136098;
2187  chi2MatrixAft[0](8, 7) = -0.1030149;
2188  chi2MatrixAft[0](8, 8) = 0.9275388;
2189  chi2MatrixAft[0](8, 9) = 0.;
2190  chi2MatrixAft[0](9, 0) = 0.;
2191  chi2MatrixAft[0](9, 1) = 0.;
2192  chi2MatrixAft[0](9, 2) = 0.;
2193  chi2MatrixAft[0](9, 3) = 0.;
2194  chi2MatrixAft[0](9, 4) = 0.;
2195  chi2MatrixAft[0](9, 5) = 0.;
2196  chi2MatrixAft[0](9, 6) = 0.;
2197  chi2MatrixAft[0](9, 7) = 0.;
2198  chi2MatrixAft[0](9, 8) = 0.;
2199  chi2MatrixAft[0](9, 9) = 0.;
2200  } else if (getWeightsFromFile_) {
2201  //Read from file
2202  edm::LogInfo("EcalTrivialConditionRetriever")
2203  << "Reading chi2MatrixAft from file " << edm::FileInPath(chi2MatrixAftFile_).fullPath().c_str();
2204  std::ifstream chi2MatrixAftFile(edm::FileInPath(chi2MatrixAftFile_).fullPath().c_str());
2205  int tdcBin = 0;
2206  while (!chi2MatrixAftFile.eof() && tdcBin < nTDCbins_) {
2207  // chi2MatrixAft[tdcBin].resize(10);
2208  for (int j = 0; j < 10; ++j) {
2209  for (int l = 0; l < 10; ++l) {
2210  float ww;
2211  chi2MatrixAftFile >> ww;
2212  chi2MatrixAft[tdcBin](j, l) = ww;
2213  }
2214  }
2215  ++tdcBin;
2216  }
2217  assert(tdcBin == nTDCbins_);
2218  } else {
2219  //Not supported
2220  edm::LogError("EcalTrivialConditionRetriever") << "Configuration not supported. Exception is raised ";
2221  throw cms::Exception("WrongConfig");
2222  }
2223 
2224  // for (int i=0;i<nTDCbins_;i++)
2225  // {
2226  // assert(chi2MatrixAft[i].size() == 10);
2227  chi2MatrixAft_ = chi2MatrixAft;
2228  // }
2229 }
size
Write out results.
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > pedWeights_
std::string fullPath() const
Definition: FileInPath.cc:161
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > jittWeights_
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > amplWeightsAft_
Log< level::Error, false > LogError
assert(be >=bs)
T getUntrackedParameter(std::string const &, T const &) const
std::vector< EcalWeightSet::EcalChi2WeightMatrix > chi2Matrix_
Log< level::Info, false > LogInfo
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > pedWeightsAft_
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > jittWeightsAft_
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > amplWeights_
std::vector< EcalWeightSet::EcalChi2WeightMatrix > chi2MatrixAft_

◆ operator=()

const EcalTrivialConditionRetriever& EcalTrivialConditionRetriever::operator= ( const EcalTrivialConditionRetriever )
delete

◆ produceEcalADCToGeVConstant()

std::unique_ptr< EcalADCToGeVConstant > EcalTrivialConditionRetriever::produceEcalADCToGeVConstant ( const EcalADCToGeVConstantRcd )
virtual

Definition at line 1002 of file EcalTrivialConditionRetriever.cc.

Referenced by EcalTrivialConditionRetriever().

1003  {
1004  return std::make_unique<EcalADCToGeVConstant>(adcToGeVEBConstant_, adcToGeVEEConstant_);
1005 }

◆ produceEcalAlignmentEB()

std::unique_ptr< Alignments > EcalTrivialConditionRetriever::produceEcalAlignmentEB ( const EBAlignmentRcd )
virtual

Definition at line 3331 of file EcalTrivialConditionRetriever.cc.

References a, f, contentValuesFiles::fullPath, hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, and HcalDetIdTransform::transform().

Referenced by EcalTrivialConditionRetriever().

3331  {
3332  double mytrans[3] = {0., 0., 0.};
3333  double myeuler[3] = {0., 0., 0.};
3334  std::ifstream f;
3336  f.open(edm::FileInPath(EBAlignmentFile_).fullPath().c_str());
3337  std::vector<AlignTransform> my_align;
3338  int ieta = 1;
3339  int iphi = 0;
3340  for (int SM = 1; SM < 37; SM++) {
3341  // make an EBDetId since we need EBDetId::rawId()
3342  if (SM > 18) {
3343  iphi = 1 + (SM - 19) * 20;
3344  ieta = -1;
3345  } else
3346  iphi = SM * 20;
3347  EBDetId ebdetId(ieta, iphi);
3349  f >> myeuler[0] >> myeuler[1] >> myeuler[2] >> mytrans[0] >> mytrans[1] >> mytrans[2];
3350  edm::LogInfo(" translation ") << mytrans[0] << " " << mytrans[1] << " " << mytrans[2] << "\n"
3351  << " euler " << myeuler[0] << " " << myeuler[1] << " " << myeuler[2];
3352  }
3353  CLHEP::Hep3Vector translation(mytrans[0], mytrans[1], mytrans[2]);
3354  CLHEP::HepEulerAngles euler(myeuler[0], myeuler[1], myeuler[2]);
3355  AlignTransform transform(translation, euler, ebdetId);
3356  my_align.push_back(transform);
3357  }
3358  /*
3359  // check
3360  uint32_t m_rawid;
3361  double m_x, m_y, m_z;
3362  double m_phi, m_theta, m_psi;
3363  int SM = 0;
3364  for (std::vector<AlignTransform>::const_iterator i = my_align.begin(); i != my_align.end(); ++i){
3365  m_rawid = i->rawId();
3366  CLHEP::Hep3Vector translation = i->translation();
3367  m_x = translation.x();
3368  m_y = translation.y();
3369  m_z = translation.z();
3370  CLHEP::HepRotation rotation = i->rotation();
3371  m_phi = rotation.getPhi();
3372  m_theta = rotation.getTheta();
3373  m_psi = rotation.getPsi();
3374  SM++;
3375  std::cout << " SM " << SM << " Id " << m_rawid << " x " << m_x << " y " << m_y << " z " << m_z
3376  << " phi " << m_phi << " theta " << m_theta << " psi " << m_psi << std::endl;
3377  }
3378  */
3379  Alignments a;
3380  a.m_align = my_align;
3381 
3382  return std::make_unique<Alignments>(a);
3383 }
double f[11][100]
Log< level::Info, false > LogInfo
double a
Definition: hdecay.h:121
unsigned transform(const HcalDetId &id, unsigned transformCode)

◆ produceEcalAlignmentEE()

std::unique_ptr< Alignments > EcalTrivialConditionRetriever::produceEcalAlignmentEE ( const EEAlignmentRcd )
virtual

Definition at line 3385 of file EcalTrivialConditionRetriever.cc.

References a, f, contentValuesFiles::fullPath, and HcalDetIdTransform::transform().

Referenced by EcalTrivialConditionRetriever().

3385  {
3386  double mytrans[3] = {0., 0., 0.};
3387  double myeuler[3] = {0., 0., 0.};
3388  std::ifstream f;
3390  f.open(edm::FileInPath(EEAlignmentFile_).fullPath().c_str());
3391  std::vector<AlignTransform> my_align;
3392  int ix = 20;
3393  int iy = 50;
3394  int side = -1;
3395  for (int Dee = 0; Dee < 4; Dee++) {
3396  // make an EEDetId since we need EEDetId::rawId()
3397  if (Dee == 1 || Dee == 3)
3398  ix = 70;
3399  else
3400  ix = 20;
3401  if (Dee == 2)
3402  side = 1;
3403  EEDetId eedetId(ix, iy, side);
3405  f >> myeuler[0] >> myeuler[1] >> myeuler[2] >> mytrans[0] >> mytrans[1] >> mytrans[2];
3406  edm::LogInfo(" translation ") << mytrans[0] << " " << mytrans[1] << " " << mytrans[2] << "\n"
3407  << " euler " << myeuler[0] << " " << myeuler[1] << " " << myeuler[2];
3408  }
3409  CLHEP::Hep3Vector translation(mytrans[0], mytrans[1], mytrans[2]);
3410  CLHEP::HepEulerAngles euler(myeuler[0], myeuler[1], myeuler[2]);
3411  AlignTransform transform(translation, euler, eedetId);
3412  my_align.push_back(transform);
3413  }
3414  Alignments a;
3415  a.m_align = my_align;
3416  return std::make_unique<Alignments>(a);
3417 }
double f[11][100]
Log< level::Info, false > LogInfo
double a
Definition: hdecay.h:121
unsigned transform(const HcalDetId &id, unsigned transformCode)

◆ produceEcalAlignmentES()

std::unique_ptr< Alignments > EcalTrivialConditionRetriever::produceEcalAlignmentES ( const ESAlignmentRcd )
virtual

Definition at line 3419 of file EcalTrivialConditionRetriever.cc.

References a, f, contentValuesFiles::fullPath, nano_mu_digi_cff::layer, nano_mu_digi_cff::strip, and HcalDetIdTransform::transform().

Referenced by EcalTrivialConditionRetriever().

3419  {
3420  double mytrans[3] = {0., 0., 0.};
3421  double myeuler[3] = {0., 0., 0.};
3422  std::ifstream f;
3424  f.open(edm::FileInPath(ESAlignmentFile_).fullPath().c_str());
3425  std::vector<AlignTransform> my_align;
3426  // int ix_vect[10] = {10, 30, 30, 50, 10, 30, 10, 30};
3427  int pl_vect[10] = {2, 2, 1, 1, 1, 1, 2, 2};
3428  int iy = 10;
3429  int side = -1;
3430  int strip = 1;
3431  for (int layer = 0; layer < 8; layer++) {
3432  // make an ESDetId since we need ESDetId::rawId()
3433  int ix = 10 + (layer % 2) * 20;
3434  int plane = pl_vect[layer];
3435  if (layer > 3)
3436  side = 1;
3437  ESDetId esdetId(strip, ix, iy, plane, side);
3439  f >> myeuler[0] >> myeuler[1] >> myeuler[2] >> mytrans[0] >> mytrans[1] >> mytrans[2];
3440  edm::LogInfo(" translation ") << mytrans[0] << " " << mytrans[1] << " " << mytrans[2] << "\n"
3441  << " euler " << myeuler[0] << " " << myeuler[1] << " " << myeuler[2];
3442  }
3443  CLHEP::Hep3Vector translation(mytrans[0], mytrans[1], mytrans[2]);
3444  CLHEP::HepEulerAngles euler(myeuler[0], myeuler[1], myeuler[2]);
3445  AlignTransform transform(translation, euler, esdetId);
3446  my_align.push_back(transform);
3447  }
3448  Alignments a;
3449  a.m_align = my_align;
3450  return std::make_unique<Alignments>(a);
3451 }
double f[11][100]
Log< level::Info, false > LogInfo
double a
Definition: hdecay.h:121
unsigned transform(const HcalDetId &id, unsigned transformCode)

◆ produceEcalChannelStatus()

std::unique_ptr< EcalChannelStatus > EcalTrivialConditionRetriever::produceEcalChannelStatus ( const EcalChannelStatusRcd )
virtual

Definition at line 2306 of file EcalTrivialConditionRetriever.cc.

References hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

2306  {
2307  auto ical = std::make_unique<EcalChannelStatus>();
2308  // barrel
2309  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
2310  if (ieta == 0)
2311  continue;
2312  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
2313  if (EBDetId::validDetId(ieta, iphi)) {
2314  EBDetId ebid(ieta, iphi);
2315  ical->setValue(ebid, 0);
2316  }
2317  }
2318  }
2319  // endcap
2320  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
2321  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
2322  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
2323  if (EEDetId::validDetId(iX, iY, 1)) {
2324  EEDetId eedetidpos(iX, iY, 1);
2325  ical->setValue(eedetidpos, 0);
2326  }
2327  if (EEDetId::validDetId(iX, iY, -1)) {
2328  EEDetId eedetidneg(iX, iY, -1);
2329  ical->setValue(eedetidneg, 0);
2330  }
2331  }
2332  }
2333  return ical;
2334 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
static const int IX_MAX
Definition: EEDetId.h:298
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static const int IY_MAX
Definition: EEDetId.h:302

◆ produceEcalClusterCrackCorrParameters()

std::unique_ptr< EcalClusterCrackCorrParameters > EcalTrivialConditionRetriever::produceEcalClusterCrackCorrParameters ( const EcalClusterCrackCorrParametersRcd )
virtual

Definition at line 1098 of file EcalTrivialConditionRetriever.cc.

References mps_fire::i.

Referenced by EcalTrivialConditionRetriever().

1099  {
1100  auto ipar = std::make_unique<EcalClusterCrackCorrParameters>();
1101  for (size_t i = 0; i < crackCorrParameters_.size(); ++i) {
1102  ipar->params().push_back(crackCorrParameters_[i]);
1103  }
1104  return ipar;
1105 }

◆ produceEcalClusterEnergyCorrectionObjectSpecificParameters()

std::unique_ptr< EcalClusterEnergyCorrectionObjectSpecificParameters > EcalTrivialConditionRetriever::produceEcalClusterEnergyCorrectionObjectSpecificParameters ( const EcalClusterEnergyCorrectionObjectSpecificParametersRcd )
virtual

Definition at line 1125 of file EcalTrivialConditionRetriever.cc.

References mps_fire::i.

Referenced by EcalTrivialConditionRetriever().

1126  {
1127  auto ipar = std::make_unique<EcalClusterEnergyCorrectionObjectSpecificParameters>();
1128  for (size_t i = 0; i < energyCorrectionObjectSpecificParameters_.size(); ++i) {
1129  ipar->params().push_back(energyCorrectionObjectSpecificParameters_[i]);
1130  }
1131  return ipar;
1132 }
std::vector< double > energyCorrectionObjectSpecificParameters_

◆ produceEcalClusterEnergyCorrectionParameters()

std::unique_ptr< EcalClusterEnergyCorrectionParameters > EcalTrivialConditionRetriever::produceEcalClusterEnergyCorrectionParameters ( const EcalClusterEnergyCorrectionParametersRcd )
virtual

Definition at line 1107 of file EcalTrivialConditionRetriever.cc.

References mps_fire::i.

Referenced by EcalTrivialConditionRetriever().

1108  {
1109  auto ipar = std::make_unique<EcalClusterEnergyCorrectionParameters>();
1110  for (size_t i = 0; i < energyCorrectionParameters_.size(); ++i) {
1111  ipar->params().push_back(energyCorrectionParameters_[i]);
1112  }
1113  return ipar;
1114 }

◆ produceEcalClusterEnergyUncertaintyParameters()

std::unique_ptr< EcalClusterEnergyUncertaintyParameters > EcalTrivialConditionRetriever::produceEcalClusterEnergyUncertaintyParameters ( const EcalClusterEnergyUncertaintyParametersRcd )
virtual

Definition at line 1116 of file EcalTrivialConditionRetriever.cc.

References mps_fire::i.

Referenced by EcalTrivialConditionRetriever().

1117  {
1118  auto ipar = std::make_unique<EcalClusterEnergyUncertaintyParameters>();
1119  for (size_t i = 0; i < energyUncertaintyParameters_.size(); ++i) {
1120  ipar->params().push_back(energyUncertaintyParameters_[i]);
1121  }
1122  return ipar;
1123 }

◆ produceEcalClusterLocalContCorrParameters()

std::unique_ptr< EcalClusterLocalContCorrParameters > EcalTrivialConditionRetriever::produceEcalClusterLocalContCorrParameters ( const EcalClusterLocalContCorrParametersRcd )
virtual

Definition at line 1091 of file EcalTrivialConditionRetriever.cc.

References mps_fire::i.

Referenced by EcalTrivialConditionRetriever().

1091  {
1092  auto ipar = std::make_unique<EcalClusterLocalContCorrParameters>();
1093  for (size_t i = 0; i < localContCorrParameters_.size(); ++i) {
1094  ipar->params().push_back(localContCorrParameters_[i]);
1095  }
1096  return ipar;
1097 }

◆ produceEcalDAQTowerStatus()

std::unique_ptr< EcalDAQTowerStatus > EcalTrivialConditionRetriever::produceEcalDAQTowerStatus ( const EcalDAQTowerStatusRcd )
virtual

Definition at line 2459 of file EcalTrivialConditionRetriever.cc.

References EcalBarrel, mps_fire::i, dqmiolumiharvest::j, dqmdumpme::k, mps_update::status, EcalTrigTowerDetId::validDetId(), and EcalScDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

2460  {
2461  auto ical = std::make_unique<EcalDAQTowerStatus>();
2462 
2463  int status(0);
2464 
2465  // barrel
2466  int iz = 0;
2467  for (int k = 0; k < 2; k++) {
2468  if (k == 0)
2469  iz = -1;
2470  if (k == 1)
2471  iz = +1;
2472  for (int i = 1; i < 73; i++) {
2473  for (int j = 1; j < 18; j++) {
2475  EcalTrigTowerDetId ebid(iz, EcalBarrel, j, i);
2476 
2477  ical->setValue(ebid, status);
2478  }
2479  }
2480  }
2481  }
2482 
2483  // endcap
2484  for (int k = 0; k < 2; k++) {
2485  if (k == 0)
2486  iz = -1;
2487  if (k == 1)
2488  iz = +1;
2489  for (int i = 1; i < 21; i++) {
2490  for (int j = 1; j < 21; j++) {
2491  if (EcalScDetId::validDetId(i, j, iz)) {
2492  EcalScDetId eeid(i, j, iz);
2493  ical->setValue(eeid, status);
2494  }
2495  }
2496  }
2497  }
2498 
2499  return ical;
2500 }
static bool validDetId(int ix, int iy, int iz)
Definition: EcalScDetId.cc:59
static bool validDetId(int iz, EcalSubdetector sd, int i, int j)
check if a valid index combination

◆ produceEcalDCSTowerStatus()

std::unique_ptr< EcalDCSTowerStatus > EcalTrivialConditionRetriever::produceEcalDCSTowerStatus ( const EcalDCSTowerStatusRcd )
virtual

Definition at line 2415 of file EcalTrivialConditionRetriever.cc.

References EcalBarrel, mps_fire::i, dqmiolumiharvest::j, dqmdumpme::k, mps_update::status, EcalTrigTowerDetId::validDetId(), and EcalScDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

2416  {
2417  auto ical = std::make_unique<EcalDCSTowerStatus>();
2418 
2419  int status(0);
2420 
2421  // barrel
2422  int iz = 0;
2423  for (int k = 0; k < 2; k++) {
2424  if (k == 0)
2425  iz = -1;
2426  if (k == 1)
2427  iz = +1;
2428  for (int i = 1; i < 73; i++) {
2429  for (int j = 1; j < 18; j++) {
2431  EcalTrigTowerDetId ebid(iz, EcalBarrel, j, i);
2432 
2433  ical->setValue(ebid, status);
2434  }
2435  }
2436  }
2437  }
2438 
2439  // endcap
2440  for (int k = 0; k < 2; k++) {
2441  if (k == 0)
2442  iz = -1;
2443  if (k == 1)
2444  iz = +1;
2445  for (int i = 1; i < 21; i++) {
2446  for (int j = 1; j < 21; j++) {
2447  if (EcalScDetId::validDetId(i, j, iz)) {
2448  EcalScDetId eeid(i, j, iz);
2449  ical->setValue(eeid, status);
2450  }
2451  }
2452  }
2453  }
2454 
2455  return ical;
2456 }
static bool validDetId(int ix, int iy, int iz)
Definition: EcalScDetId.cc:59
static bool validDetId(int iz, EcalSubdetector sd, int i, int j)
check if a valid index combination

◆ produceEcalDQMChannelStatus()

std::unique_ptr< EcalDQMChannelStatus > EcalTrivialConditionRetriever::produceEcalDQMChannelStatus ( const EcalDQMChannelStatusRcd )
virtual

Definition at line 2337 of file EcalTrivialConditionRetriever.cc.

References hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

2338  {
2339  uint32_t sta(0);
2340 
2341  auto ical = std::make_unique<EcalDQMChannelStatus>();
2342  // barrel
2343  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
2344  if (ieta == 0)
2345  continue;
2346  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
2347  if (EBDetId::validDetId(ieta, iphi)) {
2348  EBDetId ebid(ieta, iphi);
2349  ical->setValue(ebid, sta);
2350  }
2351  }
2352  }
2353  // endcap
2354  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
2355  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
2356  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
2357  if (EEDetId::validDetId(iX, iY, 1)) {
2358  EEDetId eedetidpos(iX, iY, 1);
2359  ical->setValue(eedetidpos, sta);
2360  }
2361  if (EEDetId::validDetId(iX, iY, -1)) {
2362  EEDetId eedetidneg(iX, iY, -1);
2363  ical->setValue(eedetidneg, sta);
2364  }
2365  }
2366  }
2367  return ical;
2368 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
static const int IX_MAX
Definition: EEDetId.h:298
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static const int IY_MAX
Definition: EEDetId.h:302

◆ produceEcalDQMTowerStatus()

std::unique_ptr< EcalDQMTowerStatus > EcalTrivialConditionRetriever::produceEcalDQMTowerStatus ( const EcalDQMTowerStatusRcd )
virtual

Definition at line 2371 of file EcalTrivialConditionRetriever.cc.

References EcalBarrel, mps_fire::i, dqmiolumiharvest::j, dqmdumpme::k, EcalTrigTowerDetId::validDetId(), and EcalScDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

2372  {
2373  auto ical = std::make_unique<EcalDQMTowerStatus>();
2374 
2375  uint32_t sta(0);
2376 
2377  // barrel
2378  int iz = 0;
2379  for (int k = 0; k < 2; k++) {
2380  if (k == 0)
2381  iz = -1;
2382  if (k == 1)
2383  iz = +1;
2384  for (int i = 1; i < 73; i++) {
2385  for (int j = 1; j < 18; j++) {
2387  EcalTrigTowerDetId ebid(iz, EcalBarrel, j, i);
2388 
2389  ical->setValue(ebid, sta);
2390  }
2391  }
2392  }
2393  }
2394 
2395  // endcap
2396  for (int k = 0; k < 2; k++) {
2397  if (k == 0)
2398  iz = -1;
2399  if (k == 1)
2400  iz = +1;
2401  for (int i = 1; i < 21; i++) {
2402  for (int j = 1; j < 21; j++) {
2403  if (EcalScDetId::validDetId(i, j, iz)) {
2404  EcalScDetId eeid(i, j, iz);
2405  ical->setValue(eeid, sta);
2406  }
2407  }
2408  }
2409  }
2410 
2411  return ical;
2412 }
static bool validDetId(int ix, int iy, int iz)
Definition: EcalScDetId.cc:59
static bool validDetId(int iz, EcalSubdetector sd, int i, int j)
check if a valid index combination

◆ produceEcalGainRatios()

std::unique_ptr< EcalGainRatios > EcalTrivialConditionRetriever::produceEcalGainRatios ( const EcalGainRatiosRcd )
virtual

Definition at line 968 of file EcalTrivialConditionRetriever.cc.

References hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, DetId::rawId(), EcalMGPAGainRatio::setGain12Over6(), EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

968  {
969  auto gratio = std::make_unique<EcalGainRatios>();
972  gr.setGain6Over1(gainRatio6over1_);
973 
974  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
975  if (ieta == 0)
976  continue;
977  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
978  if (EBDetId::validDetId(ieta, iphi)) {
979  EBDetId ebid(ieta, iphi);
980  gratio->setValue(ebid.rawId(), gr);
981  }
982  }
983  }
984 
985  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
986  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
987  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
988  if (EEDetId::validDetId(iX, iY, 1)) {
989  EEDetId eedetidpos(iX, iY, 1);
990  gratio->setValue(eedetidpos.rawId(), gr);
991  }
992  if (EEDetId::validDetId(iX, iY, -1)) {
993  EEDetId eedetidneg(iX, iY, -1);
994  gratio->setValue(eedetidneg.rawId(), gr);
995  }
996  }
997  }
998 
999  return gratio;
1000 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
void setGain12Over6(const float &g)
static const int IX_MAX
Definition: EEDetId.h:298
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static const int IY_MAX
Definition: EEDetId.h:302

◆ produceEcalIntercalibConstants()

std::unique_ptr< EcalIntercalibConstants > EcalTrivialConditionRetriever::produceEcalIntercalibConstants ( const EcalIntercalibConstantsRcd )
virtual

Definition at line 787 of file EcalTrivialConditionRetriever.cc.

References hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, alignCSCRings::r, diffTwoXMLs::r1, DetId::rawId(), EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

788  {
789  auto ical = std::make_unique<EcalIntercalibConstants>();
790 
791  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
792  if (ieta == 0)
793  continue;
794  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
795  // make an EBDetId since we need EBDetId::rawId() to be used as the key for the pedestals
796  if (EBDetId::validDetId(ieta, iphi)) {
797  EBDetId ebid(ieta, iphi);
798  double r = (double)std::rand() / (double(RAND_MAX) + double(1));
799  ical->setValue(ebid.rawId(), intercalibConstantMean_ + r * intercalibConstantSigma_);
800  }
801  }
802  }
803 
804  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
805  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
806  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
807  if (EEDetId::validDetId(iX, iY, 1)) {
808  double r = (double)std::rand() / (double(RAND_MAX) + double(1));
809  EEDetId eedetidpos(iX, iY, 1);
810  ical->setValue(eedetidpos.rawId(), intercalibConstantMean_ + r * intercalibConstantSigma_);
811  }
812  if (EEDetId::validDetId(iX, iY, -1)) {
813  double r1 = (double)std::rand() / (double(RAND_MAX) + double(1));
814  EEDetId eedetidneg(iX, iY, -1);
815  ical->setValue(eedetidneg.rawId(), intercalibConstantMean_ + r1 * intercalibConstantSigma_);
816  }
817  }
818  }
819 
820  return ical;
821 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
static const int IX_MAX
Definition: EEDetId.h:298
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static const int IY_MAX
Definition: EEDetId.h:302

◆ produceEcalIntercalibConstantsMC()

std::unique_ptr< EcalIntercalibConstantsMC > EcalTrivialConditionRetriever::produceEcalIntercalibConstantsMC ( const EcalIntercalibConstantsMCRcd )
virtual

Definition at line 823 of file EcalTrivialConditionRetriever.cc.

References hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, alignCSCRings::r, diffTwoXMLs::r1, DetId::rawId(), EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

824  {
825  auto ical = std::make_unique<EcalIntercalibConstantsMC>();
826 
827  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
828  if (ieta == 0)
829  continue;
830  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
831  // make an EBDetId since we need EBDetId::rawId() to be used as the key for the pedestals
832  if (EBDetId::validDetId(ieta, iphi)) {
833  EBDetId ebid(ieta, iphi);
834  double r = (double)std::rand() / (double(RAND_MAX) + double(1));
835  ical->setValue(ebid.rawId(), intercalibConstantMeanMC_ + r * intercalibConstantSigmaMC_);
836  }
837  }
838  }
839 
840  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
841  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
842  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
843  if (EEDetId::validDetId(iX, iY, 1)) {
844  double r = (double)std::rand() / (double(RAND_MAX) + double(1));
845  EEDetId eedetidpos(iX, iY, 1);
846  ical->setValue(eedetidpos.rawId(), intercalibConstantMeanMC_ + r * intercalibConstantSigmaMC_);
847  }
848  if (EEDetId::validDetId(iX, iY, -1)) {
849  double r1 = (double)std::rand() / (double(RAND_MAX) + double(1));
850  EEDetId eedetidneg(iX, iY, -1);
851  ical->setValue(eedetidneg.rawId(), intercalibConstantMeanMC_ + r1 * intercalibConstantSigmaMC_);
852  }
853  }
854  }
855 
856  return ical;
857 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
static const int IX_MAX
Definition: EEDetId.h:298
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static const int IY_MAX
Definition: EEDetId.h:302

◆ produceEcalIntercalibErrors()

std::unique_ptr< EcalIntercalibErrors > EcalTrivialConditionRetriever::produceEcalIntercalibErrors ( const EcalIntercalibErrorsRcd )
virtual

Definition at line 859 of file EcalTrivialConditionRetriever.cc.

References hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, DetId::rawId(), EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

860  {
861  auto ical = std::make_unique<EcalIntercalibErrors>();
862 
863  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
864  if (ieta == 0)
865  continue;
866  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
867  // make an EBDetId since we need EBDetId::rawId() to be used as the key for the pedestals
868  if (EBDetId::validDetId(ieta, iphi)) {
869  EBDetId ebid(ieta, iphi);
870  ical->setValue(ebid.rawId(), intercalibErrorMean_);
871  }
872  }
873  }
874 
875  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
876  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
877  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
878  if (EEDetId::validDetId(iX, iY, 1)) {
879  EEDetId eedetidpos(iX, iY, 1);
880  ical->setValue(eedetidpos.rawId(), intercalibErrorMean_);
881  }
882  if (EEDetId::validDetId(iX, iY, -1)) {
883  EEDetId eedetidneg(iX, iY, -1);
884  ical->setValue(eedetidneg.rawId(), intercalibErrorMean_);
885  }
886  }
887  }
888 
889  return ical;
890 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
static const int IX_MAX
Definition: EEDetId.h:298
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static const int IY_MAX
Definition: EEDetId.h:302

◆ produceEcalLaserAlphas()

std::unique_ptr< EcalLaserAlphas > EcalTrivialConditionRetriever::produceEcalLaserAlphas ( const EcalLaserAlphasRcd )
virtual

Definition at line 1312 of file EcalTrivialConditionRetriever.cc.

References funct::abs(), simBeamSpotPI::alpha, photonOfflineClient_cfi::batch, PVValHelper::eta, contentValuesFiles::fullPath, mps_fire::i, hcalRecHitTable_cff::ieta, createfilelist::int, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EcalCondDBWriter_cfi::laser, dqm-mbProfile::log, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, alignCSCRings::r, diffTwoXMLs::r1, EBDetId::SMCRYSTALMODE, mathSSE::sqrt(), AlCaHLTBitMon_QueryRunRegistry::string, funct::tan(), EBDetId::validDetId(), EEDetId::validDetId(), x, y, and z.

Referenced by EcalTrivialConditionRetriever().

1312  {
1313  edm::LogInfo(" produceEcalLaserAlphas ");
1314  auto ical = std::make_unique<EcalLaserAlphas>();
1315 
1316  // get Barrel alpha from type
1318  std::ifstream fEB(edm::FileInPath(EBLaserAlphaFile_).fullPath().c_str());
1319  int SMpos[36] = {-10, 4, -7, -16, 6, -9, 11, -17, 5, 18, 3, -8, 1, -3, -13, 14, -6, 2,
1320  15, -18, 8, 17, -2, 9, -1, 10, -5, 7, -12, -11, 16, -4, -15, -14, 12, 13};
1321  // check!
1322  int SMCal[36] = {12, 17, 10, 1, 8, 4, 27, 20, 23, 25, 6, 34, 35, 15, 18, 30, 21, 9,
1323  24, 22, 13, 31, 26, 16, 2, 11, 5, 0, 29, 28, 14, 33, 32, 3, 7, 19};
1324 
1325  for (int SMcons = 0; SMcons < 36; SMcons++) {
1326  int SM = SMpos[SMcons];
1327  if (SM < 0)
1328  SM = 17 + abs(SM);
1329  else
1330  SM--;
1331  if (SMCal[SM] != SMcons)
1332  edm::LogInfo(" SM pb : read SM ") << SMcons << " SMpos " << SM << " SMCal " << SMCal[SM];
1333  }
1334 
1336  int readSM, pos, bar, bar2;
1337  float alpha = 0;
1338  for (int SMcons = 0; SMcons < 36; SMcons++) {
1339  int SM = SMpos[SMcons];
1340  for (int ic = 0; ic < 1700; ic++) {
1341  fEB >> readSM >> pos >> bar >> bar2 >> type >> batch;
1342 
1343  if (readSM != SMcons || pos != ic + 1)
1344  edm::LogInfo(" barrel read pb read SM ")
1345  << readSM << " const SM " << SMcons << " read pos " << pos << " ic " << ic;
1346  if (SM < 0)
1347  SM = 18 + abs(SM);
1348  EBDetId ebdetid(SM, pos, EBDetId::SMCRYSTALMODE);
1349  if (bar == 33101 || bar == 30301)
1351  else if (bar == 33106) {
1352  if (bar2 <= 2000)
1354  else {
1355  edm::LogInfo(" problem with barcode first ")
1356  << bar << " last " << bar2 << " read SM " << readSM << " read pos " << pos;
1358  }
1359  }
1360  ical->setValue(ebdetid, alpha);
1361 
1362  if (ic == 1650) {
1363  edm::LogInfo(" ic/alpha ") << ic << "/" << alpha;
1364  }
1365  }
1366  } // loop over SMcons
1367  fEB.close();
1368  // end laserAlpha from type
1369  } else if (getLaserAlphaFromFileEB_) {
1370  // laser alpha from file
1371  edm::LogInfo("Laser alpha for EB will be taken from File");
1372  int ieta, iphi;
1373  float alpha;
1374  std::ifstream fEB(edm::FileInPath(EBLaserAlphaFile_).fullPath().c_str());
1375  // std::ifstream fEB(EBLaserAlphaFile_.c_str());
1376  for (int ic = 0; ic < 61200; ic++) {
1377  fEB >> ieta >> iphi >> alpha;
1378 
1379  if (EBDetId::validDetId(ieta, iphi)) {
1380  EBDetId ebid(ieta, iphi);
1381  ical->setValue(ebid, alpha);
1382  //std::cout << " ieta/iphi/alpha "<<ieta<<"/"<<iphi<<"/"<<alpha<<std::endl;
1383  }
1384  if (ieta == 10) {
1385  edm::LogInfo("I will print some alphas from the file... ieta/iphi/alpha ")
1386  << ieta << "/" << iphi << "/" << alpha;
1387  }
1388  }
1389  fEB.close();
1390 
1391  } else {
1392  edm::LogInfo("laser alphas from default values");
1393 
1394  // laser alpha from mean and smearing
1395  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
1396  if (ieta == 0)
1397  continue;
1398  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
1399  if (EBDetId::validDetId(ieta, iphi)) {
1400  EBDetId ebid(ieta, iphi);
1401  double r = (double)std::rand() / (double(RAND_MAX) + double(1));
1402  ical->setValue(ebid, laserAlphaMean_ + r * laserAlphaSigma_);
1403  }
1404  } // loop over iphi
1405  } // loop over ieta
1406  } // do not read a file
1407 
1408  edm::LogInfo(" produceEcalLaserAlphas EE");
1409  // read mean laser per ring per year
1410 
1411  int itype, iring, iyear;
1412  float laser = 0;
1413  float las[2][140][6];
1414 
1416  edm::LogInfo(" EE laser alphas from type");
1417 
1418  std::ifstream fRing(edm::FileInPath(EELaserAlphaFile2_).fullPath().c_str());
1419  for (int i = 0; i < 1681; i++) {
1420  fRing >> itype >> iring >> iyear >> laser;
1421  edm::LogInfo(" ") << itype << " " << iring << " " << iyear << " " << laser << std::endl;
1422  las[itype][iring][iyear] = laser;
1423  }
1424  fRing.close();
1425 
1426  std::ifstream fEE(edm::FileInPath(EELaserAlphaFile_).fullPath().c_str());
1427  int nxt = 0;
1428  for (int crystal = 0; crystal < 14648; crystal++) {
1429  int x, y, z, bid, bar, bar2;
1430  float LY, alpha = 0;
1431  fEE >> z >> x >> y >> LY >> bid >> bar >> bar2;
1432  if (x < 1 || x > 100 || y < 1 || y > 100)
1433  edm::LogInfo(" wrong coordinates for barcode ") << bar << " x " << x << " y " << y << " z " << z;
1434  else {
1435  int iyear = 4;
1436  int iring = (int)(sqrt(((float)x - 50.5) * ((float)x - 50.5) + ((float)y - 50.5) * ((float)y - 50.5)) + 85);
1437 
1438  double eta = -log(tan(0.5 * atan(sqrt((x - 50.5) * (x - 50.5) + (y - 50.5) * (y - 50.5)) * 2.98 / 328.)));
1439 
1440  if (bar == 33201 || (bar == 30399 && bar2 < 568)) {
1441  // russian
1443 
1444  double raggio = 50.5 - sqrt(((float)x - 50.5) * ((float)x - 50.5) + ((float)y - 50.5) * ((float)y - 50.5));
1445 
1446  if (raggio >= 25) {
1447  alpha = 1.07;
1448  }
1449  /*
1450  if(raggio>=34){
1451 
1452  if(eta>2.0) {
1453  itype=0;
1454  if(las[itype][iring][iyear]!=999){
1455  alpha=0.8044+0.3555*las[itype][iring][iyear];
1456  }
1457  }
1458 
1459  }
1460  */
1461 
1462  if (x == 50)
1463  edm::LogInfo("R=") << raggio << " x " << x << " y " << y << " z " << z << "eta=" << eta
1464  << " alpha=" << alpha << " R";
1465 
1466  } else if ((bar == 33106 && bar2 > 2000 && bar2 < 4669) || (bar == 30399 && bar2 > 567)) {
1467  // SIC
1468  itype = 1;
1470 
1471  double raggio = 50.5 - sqrt(((float)x - 50.5) * ((float)x - 50.5) + ((float)y - 50.5) * ((float)y - 50.5));
1472 
1473  if (raggio >= 25) {
1474  alpha = 0.80;
1475  }
1476  if (raggio >= 34) {
1477  float r = sqrt((x - 50.5) * (x - 50.5) + (y - 50.5) * (y - 50.5));
1478  if (r < 21) {
1479  nxt = nxt + 1;
1480  // inner SIC crystals
1481 
1482  if (las[itype][iring][iyear] != 999) {
1483  alpha = 0.7312 + 0.2688 * las[itype][iring][iyear];
1484  }
1485  }
1486  }
1487  if (x == 50)
1488  edm::LogInfo("R=") << raggio << " x " << x << " y " << y << " z " << z << "eta=" << eta
1489  << " alpha=" << alpha << " C";
1490 
1491  } else {
1492  edm::LogInfo(" problem with barcode ") << bar << " " << bar2 << " x " << x << " y " << y << " z " << z;
1494  }
1495  }
1496 
1497  if (EEDetId::validDetId(x, y, z)) {
1498  EEDetId eedetidpos(x, y, z);
1499  ical->setValue(eedetidpos, alpha);
1500  if (x == 50)
1501  edm::LogInfo(" x ") << x << " y " << y << " alpha " << alpha;
1502  } else // should not occur
1503  edm::LogInfo(" problem with EEDetId ") << " x " << x << " y " << y << " z " << z;
1504  }
1505  fEE.close();
1506  edm::LogInfo("Number of inner SIC crystals with different alpha= ") << nxt;
1507  // end laserAlpha from type EE
1508 
1509  } else if (getLaserAlphaFromFileEE_) {
1510  edm::LogInfo(" EE laser alphas from file");
1511 
1512  std::ifstream fEE(edm::FileInPath(EELaserAlphaFile_).fullPath().c_str());
1513 
1514  for (int crystal = 0; crystal < 14648; crystal++) {
1515  int x, y, z;
1516  float alpha = 1;
1517  fEE >> z >> x >> y >> alpha;
1518  if (x < 1 || x > 100 || y < 1 || y > 100 || z == 0 || z > 1 || z < -1) {
1519  edm::LogInfo("ERROR: wrong coordinates for crystal ") << " x " << x << " y " << y << " z " << z;
1520  edm::LogInfo(" the format of the file should be z x y alpha ");
1521  } else {
1522  if (EEDetId::validDetId(x, y, z)) {
1523  EEDetId eedetidpos(x, y, z);
1524  ical->setValue(eedetidpos, alpha);
1525  } else // should not occur
1526  edm::LogInfo(" problem with EEDetId ") << " x " << x << " y " << y << " z " << z;
1527  }
1528  }
1529  fEE.close();
1530 
1531  // end laser alpha from file EE
1532  } else {
1533  // alphas from python config file
1534  edm::LogInfo(" EE laser alphas from default values");
1535  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
1536  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
1537  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
1538  if (EEDetId::validDetId(iX, iY, 1)) {
1539  double r = (double)std::rand() / (double(RAND_MAX) + double(1));
1540  EEDetId eedetidpos(iX, iY, 1);
1541  ical->setValue(eedetidpos, laserAlphaMean_ + r * laserAlphaSigma_);
1542  }
1543  if (EEDetId::validDetId(iX, iY, -1)) {
1544  double r1 = (double)std::rand() / (double(RAND_MAX) + double(1));
1545  EEDetId eedetidneg(iX, iY, -1);
1546  ical->setValue(eedetidneg, laserAlphaMean_ + r1 * laserAlphaSigma_);
1547  }
1548  } // loop over iY
1549  } // loop over iX
1550  }
1551 
1552  return ical;
1553 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
T sqrt(T t)
Definition: SSEVec.h:19
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
static const int IX_MAX
Definition: EEDetId.h:298
Log< level::Info, false > LogInfo
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static const int IY_MAX
Definition: EEDetId.h:302
static const int SMCRYSTALMODE
Definition: EBDetId.h:159

◆ produceEcalLaserAPDPNRatios()

std::unique_ptr< EcalLaserAPDPNRatios > EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatios ( const EcalLaserAPDPNRatiosRcd )
virtual

Definition at line 1590 of file EcalTrivialConditionRetriever.cc.

References EBDetId::approxEta(), EnergyResolutionVsLumi::calcampDropTotal(), drop, edm::Timestamp::endOfTime(), PVValHelper::eta, mps_fire::i, hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, dqm-mbProfile::log, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, EcalLaserAPDPNRatios::EcalLaserAPDPNpair::p1, EcalLaserAPDPNRatios::EcalLaserAPDPNpair::p2, EcalLaserAPDPNRatios::EcalLaserAPDPNpair::p3, alignCSCRings::r, diffTwoXMLs::r1, EnergyResolutionVsLumi::setInstLumi(), EnergyResolutionVsLumi::setLumi(), mathSSE::sqrt(), EcalLaserAPDPNRatios::EcalLaserTimeStamp::t1, EcalLaserAPDPNRatios::EcalLaserTimeStamp::t2, EcalLaserAPDPNRatios::EcalLaserTimeStamp::t3, funct::tan(), EBDetId::validDetId(), EEDetId::validDetId(), and relativeConstraints::value.

Referenced by EcalTrivialConditionRetriever().

1591  {
1592  EnergyResolutionVsLumi ageing;
1593  ageing.setLumi(totLumi_);
1594  ageing.setInstLumi(instLumi_);
1595 
1596  auto ical = std::make_unique<EcalLaserAPDPNRatios>();
1597  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
1598  if (ieta == 0)
1599  continue;
1600 
1601  double eta = EBDetId::approxEta(EBDetId(ieta, 1));
1602 
1603  eta = fabs(eta);
1604  double drop = ageing.calcampDropTotal(eta);
1605  // edm::LogInfo("EB at eta=")<<eta<<" dropping by "<<drop;
1606 
1607  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
1608  if (EBDetId::validDetId(ieta, iphi)) {
1609  EBDetId ebid(ieta, iphi);
1610  double r = (double)std::rand() / (double(RAND_MAX) + double(1));
1611 
1613  pairAPDPN.p1 = laserAPDPNMean_ * drop + r * laserAPDPNSigma_;
1614  pairAPDPN.p2 = laserAPDPNMean_ * drop + r * laserAPDPNSigma_;
1615  pairAPDPN.p3 = laserAPDPNMean_ * drop + r * laserAPDPNSigma_;
1616  ical->setValue(ebid, pairAPDPN);
1617  }
1618  }
1619  }
1620 
1621  edm::LogInfo("----- EE -----");
1622 
1623  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
1624  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
1625  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
1626 
1627  if (EEDetId::validDetId(iX, iY, 1)) {
1628  double r = (double)std::rand() / (double(RAND_MAX) + double(1));
1629  EEDetId eedetidpos(iX, iY, 1);
1630 
1631  double eta = -log(tan(0.5 * atan(sqrt((iX - 50.0) * (iX - 50.0) + (iY - 50.0) * (iY - 50.0)) * 2.98 / 328.)));
1632  eta = fabs(eta);
1633  double drop = ageing.calcampDropTotal(eta);
1634  // if(iX==50) edm::LogInfo("EE at eta=")<<eta<<" dropping by "<<drop;
1635 
1637  pairAPDPN.p1 = laserAPDPNMean_ * drop + r * laserAPDPNSigma_;
1638  pairAPDPN.p2 = laserAPDPNMean_ * drop + r * laserAPDPNSigma_;
1639  pairAPDPN.p3 = laserAPDPNMean_ * drop + r * laserAPDPNSigma_;
1640  ical->setValue(eedetidpos, pairAPDPN);
1641  }
1642 
1643  if (EEDetId::validDetId(iX, iY, -1)) {
1644  double r1 = (double)std::rand() / (double(RAND_MAX) + double(1));
1645  EEDetId eedetidneg(iX, iY, -1);
1646 
1647  double eta = -log(tan(0.5 * atan(sqrt((iX - 50.0) * (iX - 50.0) + (iY - 50.0) * (iY - 50.0)) * 2.98 / 328.)));
1648  eta = fabs(eta);
1649  double drop = ageing.calcampDropTotal(eta);
1650  // if(iX==50) edm::LogInfo("EE at eta=")<<eta<<" dropping by "<<drop;
1651 
1653  pairAPDPN.p1 = laserAPDPNMean_ * drop + r1 * laserAPDPNSigma_;
1654  pairAPDPN.p2 = laserAPDPNMean_ * drop + r1 * laserAPDPNSigma_;
1655  pairAPDPN.p3 = laserAPDPNMean_ * drop + r1 * laserAPDPNSigma_;
1656  ical->setValue(eedetidneg, pairAPDPN);
1657  }
1658  }
1659  }
1660 
1662  // for(int i=1; i<=92; i++){
1663  for (int i = 0; i < 92; i++) {
1664  TimeStamp.t1 = Timestamp(laserAPDPNTime1_);
1665  if (laserAPDPNTime2_ == 0) {
1666  TimeStamp.t2 = Timestamp(edm::Timestamp::endOfTime().value());
1667  } else {
1668  TimeStamp.t2 = Timestamp(laserAPDPNTime2_);
1669  }
1670  if (laserAPDPNTime3_ == 0) {
1671  TimeStamp.t3 = Timestamp(edm::Timestamp::endOfTime().value());
1672  } else {
1673  TimeStamp.t3 = Timestamp(laserAPDPNTime3_);
1674  }
1675 
1676  ical->setTime(i, TimeStamp);
1677  }
1678 
1679  return ical;
1680 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static Timestamp endOfTime()
Definition: Timestamp.h:76
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
float approxEta() const
Definition: EBDetId.h:102
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
T sqrt(T t)
Definition: SSEVec.h:19
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
const int drop
static const int IX_MAX
Definition: EEDetId.h:298
Log< level::Info, false > LogInfo
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static const int IY_MAX
Definition: EEDetId.h:302
double calcampDropTotal(double eta)

◆ produceEcalLaserAPDPNRatiosRef()

std::unique_ptr< EcalLaserAPDPNRatiosRef > EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatiosRef ( const EcalLaserAPDPNRatiosRefRcd )
virtual

Definition at line 1555 of file EcalTrivialConditionRetriever.cc.

References hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, alignCSCRings::r, diffTwoXMLs::r1, EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

1556  {
1557  auto ical = std::make_unique<EcalLaserAPDPNRatiosRef>();
1558  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
1559  if (ieta == 0)
1560  continue;
1561  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
1562  if (EBDetId::validDetId(ieta, iphi)) {
1563  EBDetId ebid(ieta, iphi);
1564  double r = (double)std::rand() / (double(RAND_MAX) + double(1));
1565  ical->setValue(ebid, laserAPDPNRefMean_ + r * laserAPDPNRefSigma_);
1566  }
1567  }
1568  }
1569 
1570  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
1571  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
1572  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
1573  if (EEDetId::validDetId(iX, iY, 1)) {
1574  double r = (double)std::rand() / (double(RAND_MAX) + double(1));
1575  EEDetId eedetidpos(iX, iY, 1);
1576  ical->setValue(eedetidpos, laserAPDPNRefMean_ + r * laserAPDPNRefSigma_);
1577  }
1578 
1579  if (EEDetId::validDetId(iX, iY, -1)) {
1580  double r1 = (double)std::rand() / (double(RAND_MAX) + double(1));
1581  EEDetId eedetidneg(iX, iY, -1);
1582  ical->setValue(eedetidneg, laserAPDPNRefMean_ + r1 * laserAPDPNRefSigma_);
1583  }
1584  }
1585  }
1586 
1587  return ical;
1588 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
static const int IX_MAX
Definition: EEDetId.h:298
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static const int IY_MAX
Definition: EEDetId.h:302

◆ produceEcalLinearCorrections()

std::unique_ptr< EcalLinearCorrections > EcalTrivialConditionRetriever::produceEcalLinearCorrections ( const EcalLinearCorrectionsRcd )
virtual

Definition at line 679 of file EcalTrivialConditionRetriever.cc.

References edm::Timestamp::endOfTime(), mps_fire::i, hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, EcalTimeDependentCorrections::Values::p1, EcalTimeDependentCorrections::Values::p2, EcalTimeDependentCorrections::Values::p3, alignCSCRings::r, diffTwoXMLs::r1, EcalTimeDependentCorrections::Times::t1, EcalTimeDependentCorrections::Times::t2, EcalTimeDependentCorrections::Times::t3, EBDetId::validDetId(), EEDetId::validDetId(), and relativeConstraints::value.

Referenced by EcalTrivialConditionRetriever().

680  {
681  auto ical = std::make_unique<EcalLinearCorrections>();
682 
683  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
684  if (ieta == 0)
685  continue;
686  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
687  if (EBDetId::validDetId(ieta, iphi)) {
688  EBDetId ebid(ieta, iphi);
689  double r = (double)std::rand() / (double(RAND_MAX) + double(1));
690 
692  pairAPDPN.p1 = linCorrMean_ + r * linCorrSigma_;
693  pairAPDPN.p2 = linCorrMean_ + r * linCorrSigma_;
694  pairAPDPN.p3 = linCorrMean_ + r * linCorrSigma_;
695  ical->setValue(ebid, pairAPDPN);
696  }
697  }
698  }
699 
700  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
701  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
702  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
703  if (EEDetId::validDetId(iX, iY, 1)) {
704  double r = (double)std::rand() / (double(RAND_MAX) + double(1));
705  EEDetId eedetidpos(iX, iY, 1);
706 
708  pairAPDPN.p1 = linCorrMean_ + r * linCorrSigma_;
709  pairAPDPN.p2 = linCorrMean_ + r * linCorrSigma_;
710  pairAPDPN.p3 = linCorrMean_ + r * linCorrSigma_;
711 
712  ical->setValue(eedetidpos, pairAPDPN);
713  }
714 
715  if (EEDetId::validDetId(iX, iY, -1)) {
716  double r1 = (double)std::rand() / (double(RAND_MAX) + double(1));
717  EEDetId eedetidneg(iX, iY, -1);
718 
720  pairAPDPN.p1 = linCorrMean_ + r1 * linCorrSigma_;
721  pairAPDPN.p2 = linCorrMean_ + r1 * linCorrSigma_;
722  pairAPDPN.p3 = linCorrMean_ + r1 * linCorrSigma_;
723 
724  ical->setValue(eedetidneg, pairAPDPN);
725  }
726  }
727  }
728 
730  // for(int i=1; i<=92; i++){
731  for (int i = 0; i < 92; i++) {
732  TimeStamp.t1 = Timestamp(linearTime1_);
733  if (linearTime2_ == 0) {
734  TimeStamp.t2 = Timestamp(edm::Timestamp::endOfTime().value());
735  } else {
736  TimeStamp.t2 = Timestamp(linearTime2_);
737  }
738  if (linearTime3_ == 0) {
739  TimeStamp.t3 = Timestamp(edm::Timestamp::endOfTime().value());
740  } else {
741  TimeStamp.t3 = Timestamp(linearTime3_);
742  }
743 
744  ical->setTime(i, TimeStamp);
745  }
746 
747  return ical;
748 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static Timestamp endOfTime()
Definition: Timestamp.h:76
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
static const int IX_MAX
Definition: EEDetId.h:298
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static const int IY_MAX
Definition: EEDetId.h:302

◆ produceEcalMappingElectronics()

std::unique_ptr< EcalMappingElectronics > EcalTrivialConditionRetriever::produceEcalMappingElectronics ( const EcalMappingElectronicsRcd )
virtual

Definition at line 3323 of file EcalTrivialConditionRetriever.cc.

Referenced by EcalTrivialConditionRetriever().

3324  {
3325  auto ical = std::make_unique<EcalMappingElectronics>();
3326  return ical;
3327 }

◆ produceEcalPedestals()

std::unique_ptr< EcalPedestals > EcalTrivialConditionRetriever::produceEcalPedestals ( const EcalPedestalsRcd )
virtual

Definition at line 581 of file EcalTrivialConditionRetriever.cc.

References EBDetId::approxEta(), EnergyResolutionVsLumi::calcnoiseIncreaseADC(), PVValHelper::eta, l1tTowerCalibrationProducer_cfi::iEta, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, DetId::rawId(), EnergyResolutionVsLumi::setInstLumi(), EnergyResolutionVsLumi::setLumi(), EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

581  {
582  auto peds = std::make_unique<EcalPedestals>();
583  EcalPedestals::Item EBitem;
584  EcalPedestals::Item EEitem;
585 
586  EBitem.mean_x1 = EBpedMeanX1_;
587  EBitem.rms_x1 = EBpedRMSX1_;
588  EBitem.mean_x6 = EBpedMeanX6_;
589  EBitem.rms_x6 = EBpedRMSX6_;
590  EBitem.mean_x12 = EBpedMeanX12_;
591  EBitem.rms_x12 = EBpedRMSX12_;
592 
593  EEitem.mean_x1 = EEpedMeanX1_;
594  EEitem.rms_x1 = EEpedRMSX1_;
595  EEitem.mean_x6 = EEpedMeanX6_;
596  EEitem.rms_x6 = EEpedRMSX6_;
597  EEitem.mean_x12 = EEpedMeanX12_;
598  EEitem.rms_x12 = EEpedRMSX12_;
599 
600  for (int iEta = -EBDetId::MAX_IETA; iEta <= EBDetId::MAX_IETA; ++iEta) {
601  if (iEta == 0)
602  continue;
603 
604  if (totLumi_ > 0) {
605  double eta = EBDetId::approxEta(EBDetId(iEta, 1));
606 
607  EnergyResolutionVsLumi ageing;
608  ageing.setLumi(totLumi_);
609  ageing.setInstLumi(instLumi_);
610  eta = fabs(eta);
611  double noisefactor = ageing.calcnoiseIncreaseADC(eta);
612 
613  EBitem.rms_x1 = EBpedRMSX1_ * noisefactor;
614  EBitem.rms_x6 = EBpedRMSX6_ * noisefactor;
615  EBitem.rms_x12 = EBpedRMSX12_ * noisefactor;
616  edm::LogInfo("rms ped at eta:") << eta << " =" << EBitem.rms_x12;
617  }
618 
619  for (int iPhi = EBDetId::MIN_IPHI; iPhi <= EBDetId::MAX_IPHI; ++iPhi) {
620  // make an EBDetId since we need EBDetId::rawId() to be used as the key for the pedestals
621  if (EBDetId::validDetId(iEta, iPhi)) {
622  EBDetId ebdetid(iEta, iPhi);
623  peds->insert(std::make_pair(ebdetid.rawId(), EBitem));
624  }
625  }
626  }
627 
628  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
629  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
630  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
631  if (EEDetId::validDetId(iX, iY, 1)) {
632  EEDetId eedetidpos(iX, iY, 1);
633  peds->insert(std::make_pair(eedetidpos.rawId(), EEitem));
634  }
635  if (EEDetId::validDetId(iX, iY, -1)) {
636  EEDetId eedetidneg(iX, iY, -1);
637  peds->insert(std::make_pair(eedetidneg.rawId(), EEitem));
638  }
639  }
640  }
641 
642  //return std::unique_ptr<EcalPedestals>( peds );
643  return peds;
644 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
float approxEta() const
Definition: EBDetId.h:102
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
double calcnoiseIncreaseADC(double eta)
static const int IX_MAX
Definition: EEDetId.h:298
Log< level::Info, false > LogInfo
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static const int IY_MAX
Definition: EEDetId.h:302

◆ produceEcalPFRecHitThresholds()

std::unique_ptr< EcalPFRecHitThresholds > EcalTrivialConditionRetriever::produceEcalPFRecHitThresholds ( const EcalPFRecHitThresholdsRcd )
virtual

Definition at line 752 of file EcalTrivialConditionRetriever.cc.

References hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, DetId::rawId(), EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

753  {
754  auto ical = std::make_unique<EcalPFRecHitThresholds>();
755 
756  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
757  if (ieta == 0)
758  continue;
759  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
760  // make an EBDetId since we need EBDetId::rawId() to be used as the key for the pedestals
761  if (EBDetId::validDetId(ieta, iphi)) {
762  EBDetId ebid(ieta, iphi);
763  ical->setValue(ebid.rawId(), pfRecHitThresholdsEB_);
764  }
765  }
766  }
767 
768  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
769  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
770  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
771  if (EEDetId::validDetId(iX, iY, 1)) {
772  EEDetId eedetidpos(iX, iY, 1);
773  ical->setValue(eedetidpos.rawId(), pfRecHitThresholdsEE_);
774  }
775  if (EEDetId::validDetId(iX, iY, -1)) {
776  EEDetId eedetidneg(iX, iY, -1);
777  ical->setValue(eedetidneg.rawId(), pfRecHitThresholdsEE_);
778  }
779  }
780  }
781 
782  return ical;
783 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
static const int IX_MAX
Definition: EEDetId.h:298
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static const int IY_MAX
Definition: EEDetId.h:302

◆ produceEcalSampleMask()

std::unique_ptr< EcalSampleMask > EcalTrivialConditionRetriever::produceEcalSampleMask ( const EcalSampleMaskRcd )
virtual

Definition at line 3453 of file EcalTrivialConditionRetriever.cc.

Referenced by EcalTrivialConditionRetriever().

3453  {
3454  return std::make_unique<EcalSampleMask>(sampleMaskEB_, sampleMaskEE_);
3455 }

◆ produceEcalSamplesCorrelation()

std::unique_ptr< EcalSamplesCorrelation > EcalTrivialConditionRetriever::produceEcalSamplesCorrelation ( const EcalSamplesCorrelationRcd )
virtual

Definition at line 3467 of file EcalTrivialConditionRetriever.cc.

References filterCSVwithJSON::copy, f, contentValuesFiles::fullPath, and dqmiolumiharvest::j.

Referenced by EcalTrivialConditionRetriever().

3468  {
3470  std::ifstream f;
3472  float ww;
3473  for (int j = 0; j < 10; ++j) {
3474  f >> ww;
3475  EBG12samplesCorrelation_.push_back(ww);
3476  }
3477  for (int j = 0; j < 10; ++j) {
3478  f >> ww;
3479  EBG6samplesCorrelation_.push_back(ww);
3480  }
3481  for (int j = 0; j < 10; ++j) {
3482  f >> ww;
3483  EBG1samplesCorrelation_.push_back(ww);
3484  }
3485  for (int j = 0; j < 10; ++j) {
3486  f >> ww;
3487  EEG12samplesCorrelation_.push_back(ww);
3488  }
3489  for (int j = 0; j < 10; ++j) {
3490  f >> ww;
3491  EEG6samplesCorrelation_.push_back(ww);
3492  }
3493  for (int j = 0; j < 10; ++j) {
3494  f >> ww;
3495  EEG1samplesCorrelation_.push_back(ww);
3496  }
3497  f.close();
3498  }
3499  auto ipar = std::make_unique<EcalSamplesCorrelation>();
3500  copy(EBG12samplesCorrelation_.begin(), EBG12samplesCorrelation_.end(), back_inserter(ipar->EBG12SamplesCorrelation));
3501  copy(EBG6samplesCorrelation_.begin(), EBG6samplesCorrelation_.end(), back_inserter(ipar->EBG6SamplesCorrelation));
3502  copy(EBG1samplesCorrelation_.begin(), EBG1samplesCorrelation_.end(), back_inserter(ipar->EBG1SamplesCorrelation));
3503  copy(EEG12samplesCorrelation_.begin(), EEG12samplesCorrelation_.end(), back_inserter(ipar->EEG12SamplesCorrelation));
3504  copy(EEG6samplesCorrelation_.begin(), EEG6samplesCorrelation_.end(), back_inserter(ipar->EEG6SamplesCorrelation));
3505  copy(EEG1samplesCorrelation_.begin(), EEG1samplesCorrelation_.end(), back_inserter(ipar->EEG1SamplesCorrelation));
3506  return ipar;
3507 }
double f[11][100]

◆ produceEcalTBWeights()

std::unique_ptr< EcalTBWeights > EcalTrivialConditionRetriever::produceEcalTBWeights ( const EcalTBWeightsRcd )
virtual
   for(size_t i=0; i<3; ++i) {
   std::vector<EcalWeight> tv1, tv2;
   for(size_t j=0; j<10; ++j) {
   double ww = igrp*itdc*r + i*10. + j;

std::cout << "row: " << i << " col: " << j << " - val: " << ww << std::endl; tv1.push_back( EcalWeight(ww) ); tv2.push_back( EcalWeight(100+ww) ); } mat1.push_back(tv1); mat2.push_back(tv2); }

Definition at line 1007 of file EcalTrivialConditionRetriever.cc.

References EcalWeightSet::getChi2WeightsAfterGainSwitch(), EcalWeightSet::getChi2WeightsBeforeGainSwitch(), EcalWeightSet::getWeightsAfterGainSwitch(), and EcalWeightSet::getWeightsBeforeGainSwitch().

Referenced by EcalTrivialConditionRetriever().

1007  {
1008  // create weights for the test-beam
1009  auto tbwgt = std::make_unique<EcalTBWeights>();
1010 
1011  // create weights for each distinct group ID
1012  // int nMaxTDC = 10;
1013  // for(int igrp=-EBDetId::MAX_IETA; igrp<=EBDetId::MAX_IETA; ++igrp) {
1014  // if(igrp==0) continue;
1015  int igrp = 1;
1016  for (int itdc = 1; itdc <= nTDCbins_; ++itdc) {
1017  // generate random number
1018  // double r = (double)std::rand()/( double(RAND_MAX)+double(1) );
1019 
1020  // make a new set of weights
1021  EcalWeightSet wgt;
1022  //typedef std::vector< std::vector<EcalWeight> > EcalWeightSet::EcalWeightMatrix;
1025 
1026  // if(verbose_>=1) {
1027  // std::cout << "initial size of mat1: " << mat1.size() << std::endl;
1028  // std::cout << "initial size of mat2: " << mat2.size() << std::endl;
1029  // }
1030 
1031  // generate random numbers to use as weights
1046  // use values provided by user
1047  mat1.Place_in_row(amplWeights_[itdc - 1], 0, 0);
1048  mat1.Place_in_row(pedWeights_[itdc - 1], 1, 0);
1049  mat1.Place_in_row(jittWeights_[itdc - 1], 2, 0);
1050 
1051  // wdights after gain switch
1052  mat2.Place_in_row(amplWeightsAft_[itdc - 1], 0, 0);
1053  mat2.Place_in_row(pedWeightsAft_[itdc - 1], 1, 0);
1054  mat2.Place_in_row(jittWeightsAft_[itdc - 1], 2, 0);
1055 
1056  // fill the chi2 matrcies with random numbers
1057  // r = (double)std::rand()/( double(RAND_MAX)+double(1) );
1060  mat3 = chi2Matrix_[itdc - 1];
1061  mat4 = chi2MatrixAft_[itdc - 1];
1062 
1063  // for(size_t i=0; i<10; ++i)
1064  // {
1065  // mat3.push_back(chi2Matrix_[itdc-1][i]);
1066  // mat4.push_back(chi2MatrixAft_[itdc-1][i]);
1067  // }
1068  // std::vector<EcalWeight> tv1, tv2;
1069  // for(size_t j=0; j<10; ++j) {
1070  // double ww = igrp*itdc*r + i*10. + j;
1071  // tv1.push_back( EcalWeight(1000+ww) );
1072  // tv2.push_back( EcalWeight(1000+100+ww) );
1073  // }
1074 
1075  // if(verbose_>=1) {
1076  // std::cout << "group: " << igrp << " TDC: " << itdc
1077  // << " mat1: " << mat1.size() << " mat2: " << mat2.size()
1078  // << " mat3: " << mat3.size() << " mat4: " << mat4.size()
1079  // << std::endl;
1080  // }
1081 
1082  // put the weight in the container
1083  tbwgt->setValue(std::make_pair(igrp, itdc), wgt);
1084  }
1085  // }
1086  return tbwgt;
1087 }
Definition: mat4.h:9
EcalChi2WeightMatrix & getChi2WeightsBeforeGainSwitch()
Definition: EcalWeightSet.h:28
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > pedWeights_
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > jittWeights_
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > amplWeightsAft_
math::Matrix< 10, 10 >::type EcalChi2WeightMatrix
Definition: EcalWeightSet.h:20
math::Matrix< 3, 10 >::type EcalWeightMatrix
Definition: EcalWeightSet.h:19
EcalChi2WeightMatrix & getChi2WeightsAfterGainSwitch()
Definition: EcalWeightSet.h:29
std::vector< EcalWeightSet::EcalChi2WeightMatrix > chi2Matrix_
EcalWeightMatrix & getWeightsAfterGainSwitch()
Definition: EcalWeightSet.h:27
EcalWeightMatrix & getWeightsBeforeGainSwitch()
Definition: EcalWeightSet.h:26
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > pedWeightsAft_
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > jittWeightsAft_
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > amplWeights_
std::vector< EcalWeightSet::EcalChi2WeightMatrix > chi2MatrixAft_

◆ produceEcalTimeBiasCorrections()

std::unique_ptr< EcalTimeBiasCorrections > EcalTrivialConditionRetriever::produceEcalTimeBiasCorrections ( const EcalTimeBiasCorrectionsRcd )
virtual

Definition at line 3457 of file EcalTrivialConditionRetriever.cc.

References filterCSVwithJSON::copy.

Referenced by EcalTrivialConditionRetriever().

3458  {
3459  auto ipar = std::make_unique<EcalTimeBiasCorrections>();
3460  copy(EBtimeCorrAmplitudeBins_.begin(), EBtimeCorrAmplitudeBins_.end(), back_inserter(ipar->EBTimeCorrAmplitudeBins));
3461  copy(EBtimeCorrShiftBins_.begin(), EBtimeCorrShiftBins_.end(), back_inserter(ipar->EBTimeCorrShiftBins));
3462  copy(EEtimeCorrAmplitudeBins_.begin(), EEtimeCorrAmplitudeBins_.end(), back_inserter(ipar->EETimeCorrAmplitudeBins));
3463  copy(EEtimeCorrShiftBins_.begin(), EEtimeCorrShiftBins_.end(), back_inserter(ipar->EETimeCorrShiftBins));
3464  return ipar;
3465 }

◆ produceEcalTimeCalibConstants()

std::unique_ptr< EcalTimeCalibConstants > EcalTrivialConditionRetriever::produceEcalTimeCalibConstants ( const EcalTimeCalibConstantsRcd )
virtual

Definition at line 892 of file EcalTrivialConditionRetriever.cc.

References hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, alignCSCRings::r, diffTwoXMLs::r1, DetId::rawId(), EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

893  {
894  auto ical = std::make_unique<EcalTimeCalibConstants>();
895 
896  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
897  if (ieta == 0)
898  continue;
899  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
900  // make an EBDetId since we need EBDetId::rawId() to be used as the key for the pedestals
901  if (EBDetId::validDetId(ieta, iphi)) {
902  EBDetId ebid(ieta, iphi);
903  double r = (double)std::rand() / (double(RAND_MAX) + double(1));
904  ical->setValue(ebid.rawId(), timeCalibConstantMean_ + r * timeCalibConstantSigma_);
905  }
906  }
907  }
908 
909  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
910  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
911  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
912  if (EEDetId::validDetId(iX, iY, 1)) {
913  double r = (double)std::rand() / (double(RAND_MAX) + double(1));
914  EEDetId eedetidpos(iX, iY, 1);
915  ical->setValue(eedetidpos.rawId(), timeCalibConstantMean_ + r * timeCalibConstantSigma_);
916  }
917  if (EEDetId::validDetId(iX, iY, -1)) {
918  double r1 = (double)std::rand() / (double(RAND_MAX) + double(1));
919  EEDetId eedetidneg(iX, iY, -1);
920  ical->setValue(eedetidneg.rawId(), timeCalibConstantMean_ + r1 * timeCalibConstantSigma_);
921  }
922  }
923  }
924 
925  return ical;
926 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
static const int IX_MAX
Definition: EEDetId.h:298
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static const int IY_MAX
Definition: EEDetId.h:302

◆ produceEcalTimeCalibErrors()

std::unique_ptr< EcalTimeCalibErrors > EcalTrivialConditionRetriever::produceEcalTimeCalibErrors ( const EcalTimeCalibErrorsRcd )
virtual

Definition at line 928 of file EcalTrivialConditionRetriever.cc.

References hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, DetId::rawId(), EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

929  {
930  auto ical = std::make_unique<EcalTimeCalibErrors>();
931 
932  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
933  if (ieta == 0)
934  continue;
935  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
936  // make an EBDetId since we need EBDetId::rawId() to be used as the key for the pedestals
937  if (EBDetId::validDetId(ieta, iphi)) {
938  EBDetId ebid(ieta, iphi);
939  ical->setValue(ebid.rawId(), timeCalibErrorMean_);
940  }
941  }
942  }
943 
944  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
945  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
946  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
947  if (EEDetId::validDetId(iX, iY, 1)) {
948  EEDetId eedetidpos(iX, iY, 1);
949  ical->setValue(eedetidpos.rawId(), timeCalibErrorMean_);
950  }
951  if (EEDetId::validDetId(iX, iY, -1)) {
952  EEDetId eedetidneg(iX, iY, -1);
953  ical->setValue(eedetidneg.rawId(), timeCalibErrorMean_);
954  }
955  }
956  }
957 
958  return ical;
959 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
static const int IX_MAX
Definition: EEDetId.h:298
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static const int IY_MAX
Definition: EEDetId.h:302

◆ produceEcalTimeOffsetConstant()

std::unique_ptr< EcalTimeOffsetConstant > EcalTrivialConditionRetriever::produceEcalTimeOffsetConstant ( const EcalTimeOffsetConstantRcd )
virtual

Definition at line 961 of file EcalTrivialConditionRetriever.cc.

Referenced by EcalTrivialConditionRetriever().

962  {
963  edm::LogInfo(" produceEcalTimeOffsetConstant: ");
965  return std::make_unique<EcalTimeOffsetConstant>(timeOffsetEBConstant_, timeOffsetEEConstant_);
966 }
Log< level::Info, false > LogInfo

◆ produceEcalTrgChannelStatus()

std::unique_ptr< EcalTPGCrystalStatus > EcalTrivialConditionRetriever::produceEcalTrgChannelStatus ( const EcalTPGCrystalStatusRcd )
virtual

Definition at line 2576 of file EcalTrivialConditionRetriever.cc.

References hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

2577  {
2578  auto ical = std::make_unique<EcalTPGCrystalStatus>();
2579  // barrel
2580  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
2581  if (ieta == 0)
2582  continue;
2583  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
2584  if (EBDetId::validDetId(ieta, iphi)) {
2585  EBDetId ebid(ieta, iphi);
2586  ical->setValue(ebid, 0);
2587  }
2588  }
2589  }
2590  // endcap
2591  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
2592  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
2593  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
2594  if (EEDetId::validDetId(iX, iY, 1)) {
2595  EEDetId eedetidpos(iX, iY, 1);
2596  ical->setValue(eedetidpos, 0);
2597  }
2598  if (EEDetId::validDetId(iX, iY, -1)) {
2599  EEDetId eedetidneg(iX, iY, -1);
2600  ical->setValue(eedetidneg, 0);
2601  }
2602  }
2603  }
2604  return ical;
2605 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
static const int IX_MAX
Definition: EEDetId.h:298
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static const int IY_MAX
Definition: EEDetId.h:302

◆ produceEcalWeightXtalGroups()

std::unique_ptr< EcalWeightXtalGroups > EcalTrivialConditionRetriever::produceEcalWeightXtalGroups ( const EcalWeightXtalGroupsRcd )
virtual

Definition at line 646 of file EcalTrivialConditionRetriever.cc.

References hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::IX_MAX, EEDetId::IX_MIN, EEDetId::IY_MAX, EEDetId::IY_MIN, EBDetId::MAX_IETA, EBDetId::MAX_IPHI, EBDetId::MIN_IPHI, DetId::rawId(), EBDetId::validDetId(), and EEDetId::validDetId().

Referenced by EcalTrivialConditionRetriever().

647  {
648  auto xtalGroups = std::make_unique<EcalWeightXtalGroups>();
649  EcalXtalGroupId defaultGroupId(1);
650  for (int ieta = -EBDetId::MAX_IETA; ieta <= EBDetId::MAX_IETA; ++ieta) {
651  if (ieta == 0)
652  continue;
653  for (int iphi = EBDetId::MIN_IPHI; iphi <= EBDetId::MAX_IPHI; ++iphi) {
654  // make an EBDetId since we need EBDetId::rawId() to be used as the key for the pedestals
655  if (EBDetId::validDetId(ieta, iphi)) {
656  EBDetId ebid(ieta, iphi);
657  // xtalGroups->setValue(ebid.rawId(), EcalXtalGroupId(ieta) ); // define rings in eta
658  xtalGroups->setValue(ebid.rawId(), defaultGroupId); // define rings in eta
659  }
660  }
661  }
662 
663  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
664  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
665  // make an EEDetId since we need EEDetId::rawId() to be used as the key for the pedestals
666  if (EEDetId::validDetId(iX, iY, 1)) {
667  EEDetId eedetidpos(iX, iY, 1);
668  xtalGroups->setValue(eedetidpos.rawId(), defaultGroupId);
669  }
670  if (EEDetId::validDetId(iX, iY, -1)) {
671  EEDetId eedetidneg(iX, iY, -1);
672  xtalGroups->setValue(eedetidneg.rawId(), defaultGroupId);
673  }
674  }
675  }
676  return xtalGroups;
677 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
static const int IX_MAX
Definition: EEDetId.h:298
static const int MAX_IPHI
Definition: EBDetId.h:137
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
static const int MAX_IETA
Definition: EBDetId.h:136
static const int IY_MAX
Definition: EEDetId.h:302

◆ setIntervalFor()

void EcalTrivialConditionRetriever::setIntervalFor ( const edm::eventsetup::EventSetupRecordKey rk,
const edm::IOVSyncValue iTime,
edm::ValidityInterval oValidity 
)
overrideprotectedvirtual

Implements edm::EventSetupRecordIntervalFinder.

Definition at line 570 of file EcalTrivialConditionRetriever.cc.

References edm::IOVSyncValue::beginOfTime(), edm::IOVSyncValue::endOfTime(), edm::eventsetup::EventSetupRecordKey::name(), edm::IOVSyncValue::time(), and edm::Timestamp::value().

572  {
573  if (verbose_ >= 1)
574  edm::LogInfo("EcalTrivialConditionRetriever::setIntervalFor(): record key = ")
575  << rk.name() << "\ttime: " << iTime.time().value();
576  //For right now, we will just use an infinite interval of validity
578 }
static const IOVSyncValue & endOfTime()
Definition: IOVSyncValue.cc:82
std::pair< Time_t, Time_t > ValidityInterval
Definition: Time.h:17
static const IOVSyncValue & beginOfTime()
Definition: IOVSyncValue.cc:88
Log< level::Info, false > LogInfo
TimeValue_t value() const
Definition: Timestamp.h:38
const Timestamp & time() const
Definition: IOVSyncValue.h:42

Member Data Documentation

◆ adcToGeVEBConstant_

double EcalTrivialConditionRetriever::adcToGeVEBConstant_
private

Definition at line 215 of file EcalTrivialConditionRetriever.h.

◆ adcToGeVEEConstant_

double EcalTrivialConditionRetriever::adcToGeVEEConstant_
private

Definition at line 216 of file EcalTrivialConditionRetriever.h.

◆ amplWeights_

std::vector<ROOT::Math::SVector<double, EcalDataFrame::MAXSAMPLES> > EcalTrivialConditionRetriever::amplWeights_
private

Definition at line 303 of file EcalTrivialConditionRetriever.h.

◆ amplWeightsAft_

std::vector<ROOT::Math::SVector<double, EcalDataFrame::MAXSAMPLES> > EcalTrivialConditionRetriever::amplWeightsAft_
private

Definition at line 305 of file EcalTrivialConditionRetriever.h.

◆ amplWeightsAftFile_

std::string EcalTrivialConditionRetriever::amplWeightsAftFile_
private

Definition at line 319 of file EcalTrivialConditionRetriever.h.

◆ amplWeightsFile_

std::string EcalTrivialConditionRetriever::amplWeightsFile_
private

Definition at line 318 of file EcalTrivialConditionRetriever.h.

◆ APDSimPulseShapeFile_

std::string EcalTrivialConditionRetriever::APDSimPulseShapeFile_
private

Definition at line 356 of file EcalTrivialConditionRetriever.h.

◆ channelStatusFile_

std::string EcalTrivialConditionRetriever::channelStatusFile_
private

Definition at line 332 of file EcalTrivialConditionRetriever.h.

◆ chi2Matrix_

std::vector<EcalWeightSet::EcalChi2WeightMatrix> EcalTrivialConditionRetriever::chi2Matrix_
private

Definition at line 315 of file EcalTrivialConditionRetriever.h.

◆ chi2MatrixAft_

std::vector<EcalWeightSet::EcalChi2WeightMatrix> EcalTrivialConditionRetriever::chi2MatrixAft_
private

Definition at line 316 of file EcalTrivialConditionRetriever.h.

◆ chi2MatrixAftFile_

std::string EcalTrivialConditionRetriever::chi2MatrixAftFile_
private

Definition at line 325 of file EcalTrivialConditionRetriever.h.

◆ chi2MatrixFile_

std::string EcalTrivialConditionRetriever::chi2MatrixFile_
private

Definition at line 324 of file EcalTrivialConditionRetriever.h.

◆ crackCorrParameters_

std::vector<double> EcalTrivialConditionRetriever::crackCorrParameters_
private

Definition at line 236 of file EcalTrivialConditionRetriever.h.

◆ EBAlignmentFile_

std::string EcalTrivialConditionRetriever::EBAlignmentFile_
private

Definition at line 335 of file EcalTrivialConditionRetriever.h.

◆ EBG12samplesCorrelation_

std::vector<double> EcalTrivialConditionRetriever::EBG12samplesCorrelation_
private

Definition at line 347 of file EcalTrivialConditionRetriever.h.

◆ EBG1samplesCorrelation_

std::vector<double> EcalTrivialConditionRetriever::EBG1samplesCorrelation_
private

Definition at line 349 of file EcalTrivialConditionRetriever.h.

◆ EBG6samplesCorrelation_

std::vector<double> EcalTrivialConditionRetriever::EBG6samplesCorrelation_
private

Definition at line 348 of file EcalTrivialConditionRetriever.h.

◆ EBLaserAlphaFile_

std::string EcalTrivialConditionRetriever::EBLaserAlphaFile_
private

Definition at line 338 of file EcalTrivialConditionRetriever.h.

◆ EBpedMeanX12_

double EcalTrivialConditionRetriever::EBpedMeanX12_
private

Definition at line 285 of file EcalTrivialConditionRetriever.h.

◆ EBpedMeanX1_

double EcalTrivialConditionRetriever::EBpedMeanX1_
private

Definition at line 289 of file EcalTrivialConditionRetriever.h.

◆ EBpedMeanX6_

double EcalTrivialConditionRetriever::EBpedMeanX6_
private

Definition at line 287 of file EcalTrivialConditionRetriever.h.

◆ EBpedRMSX12_

double EcalTrivialConditionRetriever::EBpedRMSX12_
private

Definition at line 286 of file EcalTrivialConditionRetriever.h.

◆ EBpedRMSX1_

double EcalTrivialConditionRetriever::EBpedRMSX1_
private

Definition at line 290 of file EcalTrivialConditionRetriever.h.

◆ EBpedRMSX6_

double EcalTrivialConditionRetriever::EBpedRMSX6_
private

Definition at line 288 of file EcalTrivialConditionRetriever.h.

◆ EBSimComponentShapeFiles_

std::vector<std::string> EcalTrivialConditionRetriever::EBSimComponentShapeFiles_
private

Definition at line 357 of file EcalTrivialConditionRetriever.h.

◆ EBSimPulseShapeFile_

std::string EcalTrivialConditionRetriever::EBSimPulseShapeFile_
private

Definition at line 354 of file EcalTrivialConditionRetriever.h.

◆ EBtimeCorrAmplitudeBins_

std::vector<double> EcalTrivialConditionRetriever::EBtimeCorrAmplitudeBins_
private

Definition at line 342 of file EcalTrivialConditionRetriever.h.

◆ EBtimeCorrShiftBins_

std::vector<double> EcalTrivialConditionRetriever::EBtimeCorrShiftBins_
private

Definition at line 343 of file EcalTrivialConditionRetriever.h.

◆ EEAlignmentFile_

std::string EcalTrivialConditionRetriever::EEAlignmentFile_
private

Definition at line 336 of file EcalTrivialConditionRetriever.h.

◆ EEG12samplesCorrelation_

std::vector<double> EcalTrivialConditionRetriever::EEG12samplesCorrelation_
private

Definition at line 350 of file EcalTrivialConditionRetriever.h.

◆ EEG1samplesCorrelation_

std::vector<double> EcalTrivialConditionRetriever::EEG1samplesCorrelation_
private

Definition at line 352 of file EcalTrivialConditionRetriever.h.

◆ EEG6samplesCorrelation_

std::vector<double> EcalTrivialConditionRetriever::EEG6samplesCorrelation_
private

Definition at line 351 of file EcalTrivialConditionRetriever.h.

◆ EELaserAlphaFile2_

std::string EcalTrivialConditionRetriever::EELaserAlphaFile2_
private

Definition at line 256 of file EcalTrivialConditionRetriever.h.

◆ EELaserAlphaFile_

std::string EcalTrivialConditionRetriever::EELaserAlphaFile_
private

Definition at line 339 of file EcalTrivialConditionRetriever.h.

◆ EEpedMeanX12_

double EcalTrivialConditionRetriever::EEpedMeanX12_
private

Definition at line 292 of file EcalTrivialConditionRetriever.h.

◆ EEpedMeanX1_

double EcalTrivialConditionRetriever::EEpedMeanX1_
private

Definition at line 296 of file EcalTrivialConditionRetriever.h.

◆ EEpedMeanX6_

double EcalTrivialConditionRetriever::EEpedMeanX6_
private

Definition at line 294 of file EcalTrivialConditionRetriever.h.

◆ EEpedRMSX12_

double EcalTrivialConditionRetriever::EEpedRMSX12_
private

Definition at line 293 of file EcalTrivialConditionRetriever.h.

◆ EEpedRMSX1_

double EcalTrivialConditionRetriever::EEpedRMSX1_
private

Definition at line 297 of file EcalTrivialConditionRetriever.h.

◆ EEpedRMSX6_

double EcalTrivialConditionRetriever::EEpedRMSX6_
private

Definition at line 295 of file EcalTrivialConditionRetriever.h.

◆ EESimPulseShapeFile_

std::string EcalTrivialConditionRetriever::EESimPulseShapeFile_
private

Definition at line 355 of file EcalTrivialConditionRetriever.h.

◆ EEtimeCorrAmplitudeBins_

std::vector<double> EcalTrivialConditionRetriever::EEtimeCorrAmplitudeBins_
private

Definition at line 344 of file EcalTrivialConditionRetriever.h.

◆ EEtimeCorrShiftBins_

std::vector<double> EcalTrivialConditionRetriever::EEtimeCorrShiftBins_
private

Definition at line 345 of file EcalTrivialConditionRetriever.h.

◆ energyCorrectionObjectSpecificParameters_

std::vector<double> EcalTrivialConditionRetriever::energyCorrectionObjectSpecificParameters_
private

Definition at line 239 of file EcalTrivialConditionRetriever.h.

◆ energyCorrectionParameters_

std::vector<double> EcalTrivialConditionRetriever::energyCorrectionParameters_
private

Definition at line 237 of file EcalTrivialConditionRetriever.h.

◆ energyUncertaintyParameters_

std::vector<double> EcalTrivialConditionRetriever::energyUncertaintyParameters_
private

Definition at line 238 of file EcalTrivialConditionRetriever.h.

◆ ESAlignmentFile_

std::string EcalTrivialConditionRetriever::ESAlignmentFile_
private

Definition at line 337 of file EcalTrivialConditionRetriever.h.

◆ gainRatio12over6_

double EcalTrivialConditionRetriever::gainRatio12over6_
private

Definition at line 299 of file EcalTrivialConditionRetriever.h.

◆ gainRatio6over1_

double EcalTrivialConditionRetriever::gainRatio6over1_
private

Definition at line 300 of file EcalTrivialConditionRetriever.h.

◆ getEBAlignmentFromFile_

bool EcalTrivialConditionRetriever::getEBAlignmentFromFile_
private

Definition at line 393 of file EcalTrivialConditionRetriever.h.

◆ getEEAlignmentFromFile_

bool EcalTrivialConditionRetriever::getEEAlignmentFromFile_
private

Definition at line 394 of file EcalTrivialConditionRetriever.h.

◆ getESAlignmentFromFile_

bool EcalTrivialConditionRetriever::getESAlignmentFromFile_
private

Definition at line 395 of file EcalTrivialConditionRetriever.h.

◆ getLaserAlphaFromFileEB_

bool EcalTrivialConditionRetriever::getLaserAlphaFromFileEB_
private

Definition at line 400 of file EcalTrivialConditionRetriever.h.

◆ getLaserAlphaFromFileEE_

bool EcalTrivialConditionRetriever::getLaserAlphaFromFileEE_
private

Definition at line 401 of file EcalTrivialConditionRetriever.h.

◆ getLaserAlphaFromTypeEB_

bool EcalTrivialConditionRetriever::getLaserAlphaFromTypeEB_
private

Definition at line 402 of file EcalTrivialConditionRetriever.h.

◆ getLaserAlphaFromTypeEE_

bool EcalTrivialConditionRetriever::getLaserAlphaFromTypeEE_
private

Definition at line 403 of file EcalTrivialConditionRetriever.h.

◆ getSamplesCorrelationFromFile_

bool EcalTrivialConditionRetriever::getSamplesCorrelationFromFile_
private

Definition at line 407 of file EcalTrivialConditionRetriever.h.

◆ getSimComponentShapeFromFile_

bool EcalTrivialConditionRetriever::getSimComponentShapeFromFile_
private

Definition at line 397 of file EcalTrivialConditionRetriever.h.

◆ getSimPulseShapeFromFile_

bool EcalTrivialConditionRetriever::getSimPulseShapeFromFile_
private

Definition at line 398 of file EcalTrivialConditionRetriever.h.

◆ getWeightsFromFile_

bool EcalTrivialConditionRetriever::getWeightsFromFile_
private

Definition at line 361 of file EcalTrivialConditionRetriever.h.

◆ instLumi_

double EcalTrivialConditionRetriever::instLumi_
private

Definition at line 260 of file EcalTrivialConditionRetriever.h.

◆ intercalibConstantMean_

double EcalTrivialConditionRetriever::intercalibConstantMean_
private

Definition at line 218 of file EcalTrivialConditionRetriever.h.

◆ intercalibConstantMeanMC_

double EcalTrivialConditionRetriever::intercalibConstantMeanMC_
private

Definition at line 221 of file EcalTrivialConditionRetriever.h.

◆ intercalibConstantsFile_

std::string EcalTrivialConditionRetriever::intercalibConstantsFile_
private

Definition at line 327 of file EcalTrivialConditionRetriever.h.

◆ intercalibConstantSigma_

double EcalTrivialConditionRetriever::intercalibConstantSigma_
private

Definition at line 219 of file EcalTrivialConditionRetriever.h.

◆ intercalibConstantSigmaMC_

double EcalTrivialConditionRetriever::intercalibConstantSigmaMC_
private

Definition at line 222 of file EcalTrivialConditionRetriever.h.

◆ intercalibConstantsMCFile_

std::string EcalTrivialConditionRetriever::intercalibConstantsMCFile_
private

Definition at line 328 of file EcalTrivialConditionRetriever.h.

◆ intercalibErrorMean_

double EcalTrivialConditionRetriever::intercalibErrorMean_
private

Definition at line 225 of file EcalTrivialConditionRetriever.h.

◆ intercalibErrorsFile_

std::string EcalTrivialConditionRetriever::intercalibErrorsFile_
private

Definition at line 329 of file EcalTrivialConditionRetriever.h.

◆ jittWeights_

std::vector<ROOT::Math::SVector<double, EcalDataFrame::MAXSAMPLES> > EcalTrivialConditionRetriever::jittWeights_
private

Definition at line 312 of file EcalTrivialConditionRetriever.h.

◆ jittWeightsAft_

std::vector<ROOT::Math::SVector<double, EcalDataFrame::MAXSAMPLES> > EcalTrivialConditionRetriever::jittWeightsAft_
private

Definition at line 313 of file EcalTrivialConditionRetriever.h.

◆ jittWeightsAftFile_

std::string EcalTrivialConditionRetriever::jittWeightsAftFile_
private

Definition at line 323 of file EcalTrivialConditionRetriever.h.

◆ jittWeightsFile_

std::string EcalTrivialConditionRetriever::jittWeightsFile_
private

Definition at line 322 of file EcalTrivialConditionRetriever.h.

◆ laserAlphaMean_

double EcalTrivialConditionRetriever::laserAlphaMean_
private

Definition at line 263 of file EcalTrivialConditionRetriever.h.

◆ laserAlphaMeanEBC_

double EcalTrivialConditionRetriever::laserAlphaMeanEBC_
private

Definition at line 266 of file EcalTrivialConditionRetriever.h.

◆ laserAlphaMeanEBR_

double EcalTrivialConditionRetriever::laserAlphaMeanEBR_
private

Definition at line 265 of file EcalTrivialConditionRetriever.h.

◆ laserAlphaMeanEEC_

double EcalTrivialConditionRetriever::laserAlphaMeanEEC_
private

Definition at line 268 of file EcalTrivialConditionRetriever.h.

◆ laserAlphaMeanEEC_higheta_

double EcalTrivialConditionRetriever::laserAlphaMeanEEC_higheta_
private

Definition at line 251 of file EcalTrivialConditionRetriever.h.

◆ laserAlphaMeanEER_

double EcalTrivialConditionRetriever::laserAlphaMeanEER_
private

Definition at line 267 of file EcalTrivialConditionRetriever.h.

◆ laserAlphaMeanEER_higheta_

double EcalTrivialConditionRetriever::laserAlphaMeanEER_higheta_
private

Definition at line 250 of file EcalTrivialConditionRetriever.h.

◆ laserAlphaSigma_

double EcalTrivialConditionRetriever::laserAlphaSigma_
private

Definition at line 264 of file EcalTrivialConditionRetriever.h.

◆ laserAPDPNMean_

double EcalTrivialConditionRetriever::laserAPDPNMean_
private

Definition at line 272 of file EcalTrivialConditionRetriever.h.

◆ laserAPDPNRefMean_

double EcalTrivialConditionRetriever::laserAPDPNRefMean_
private

Definition at line 270 of file EcalTrivialConditionRetriever.h.

◆ laserAPDPNRefSigma_

double EcalTrivialConditionRetriever::laserAPDPNRefSigma_
private

Definition at line 271 of file EcalTrivialConditionRetriever.h.

◆ laserAPDPNSigma_

double EcalTrivialConditionRetriever::laserAPDPNSigma_
private

Definition at line 273 of file EcalTrivialConditionRetriever.h.

◆ laserAPDPNTime1_

unsigned long EcalTrivialConditionRetriever::laserAPDPNTime1_
private

Definition at line 274 of file EcalTrivialConditionRetriever.h.

◆ laserAPDPNTime2_

unsigned long EcalTrivialConditionRetriever::laserAPDPNTime2_
private

Definition at line 275 of file EcalTrivialConditionRetriever.h.

◆ laserAPDPNTime3_

unsigned long EcalTrivialConditionRetriever::laserAPDPNTime3_
private

Definition at line 276 of file EcalTrivialConditionRetriever.h.

◆ linCorrMean_

double EcalTrivialConditionRetriever::linCorrMean_
private

Definition at line 278 of file EcalTrivialConditionRetriever.h.

◆ linCorrSigma_

double EcalTrivialConditionRetriever::linCorrSigma_
private

Definition at line 279 of file EcalTrivialConditionRetriever.h.

◆ linearCorrectionsFile_

std::string EcalTrivialConditionRetriever::linearCorrectionsFile_
private

Definition at line 326 of file EcalTrivialConditionRetriever.h.

◆ linearTime1_

unsigned long EcalTrivialConditionRetriever::linearTime1_
private

Definition at line 281 of file EcalTrivialConditionRetriever.h.

◆ linearTime2_

unsigned long EcalTrivialConditionRetriever::linearTime2_
private

Definition at line 282 of file EcalTrivialConditionRetriever.h.

◆ linearTime3_

unsigned long EcalTrivialConditionRetriever::linearTime3_
private

Definition at line 283 of file EcalTrivialConditionRetriever.h.

◆ localContCorrParameters_

std::vector<double> EcalTrivialConditionRetriever::localContCorrParameters_
private

Definition at line 235 of file EcalTrivialConditionRetriever.h.

◆ mappingFile_

std::string EcalTrivialConditionRetriever::mappingFile_
private

Definition at line 334 of file EcalTrivialConditionRetriever.h.

◆ nTDCbins_

int EcalTrivialConditionRetriever::nTDCbins_
private

Definition at line 359 of file EcalTrivialConditionRetriever.h.

◆ pedWeights_

std::vector<ROOT::Math::SVector<double, EcalDataFrame::MAXSAMPLES> > EcalTrivialConditionRetriever::pedWeights_
private

Definition at line 308 of file EcalTrivialConditionRetriever.h.

◆ pedWeightsAft_

std::vector<ROOT::Math::SVector<double, EcalDataFrame::MAXSAMPLES> > EcalTrivialConditionRetriever::pedWeightsAft_
private

Definition at line 310 of file EcalTrivialConditionRetriever.h.

◆ pedWeightsAftFile_

std::string EcalTrivialConditionRetriever::pedWeightsAftFile_
private

Definition at line 321 of file EcalTrivialConditionRetriever.h.

◆ pedWeightsFile_

std::string EcalTrivialConditionRetriever::pedWeightsFile_
private

Definition at line 320 of file EcalTrivialConditionRetriever.h.

◆ pfRecHitFile_

std::string EcalTrivialConditionRetriever::pfRecHitFile_
private

Definition at line 253 of file EcalTrivialConditionRetriever.h.

◆ pfRecHitFileEE_

std::string EcalTrivialConditionRetriever::pfRecHitFileEE_
private

Definition at line 254 of file EcalTrivialConditionRetriever.h.

◆ pfRecHitThresholdsEB_

double EcalTrivialConditionRetriever::pfRecHitThresholdsEB_
private

Definition at line 242 of file EcalTrivialConditionRetriever.h.

◆ pfRecHitThresholdsEE_

double EcalTrivialConditionRetriever::pfRecHitThresholdsEE_
private

Definition at line 243 of file EcalTrivialConditionRetriever.h.

◆ pfRecHitThresholdsNSigmas_

double EcalTrivialConditionRetriever::pfRecHitThresholdsNSigmas_
private

Definition at line 240 of file EcalTrivialConditionRetriever.h.

◆ pfRecHitThresholdsNSigmasHEta_

double EcalTrivialConditionRetriever::pfRecHitThresholdsNSigmasHEta_
private

Definition at line 241 of file EcalTrivialConditionRetriever.h.

◆ producedEcalADCToGeVConstant_

bool EcalTrivialConditionRetriever::producedEcalADCToGeVConstant_
private

Definition at line 373 of file EcalTrivialConditionRetriever.h.

◆ producedEcalAlignmentEB_

bool EcalTrivialConditionRetriever::producedEcalAlignmentEB_
private

Definition at line 387 of file EcalTrivialConditionRetriever.h.

◆ producedEcalAlignmentEE_

bool EcalTrivialConditionRetriever::producedEcalAlignmentEE_
private

Definition at line 388 of file EcalTrivialConditionRetriever.h.

◆ producedEcalAlignmentES_

bool EcalTrivialConditionRetriever::producedEcalAlignmentES_
private

Definition at line 389 of file EcalTrivialConditionRetriever.h.

◆ producedEcalChannelStatus_

bool EcalTrivialConditionRetriever::producedEcalChannelStatus_
private

Definition at line 375 of file EcalTrivialConditionRetriever.h.

◆ producedEcalClusterCrackCorrParameters_

bool EcalTrivialConditionRetriever::producedEcalClusterCrackCorrParameters_
private

Definition at line 382 of file EcalTrivialConditionRetriever.h.

◆ producedEcalClusterEnergyCorrectionObjectSpecificParameters_

bool EcalTrivialConditionRetriever::producedEcalClusterEnergyCorrectionObjectSpecificParameters_
private

Definition at line 385 of file EcalTrivialConditionRetriever.h.

◆ producedEcalClusterEnergyCorrectionParameters_

bool EcalTrivialConditionRetriever::producedEcalClusterEnergyCorrectionParameters_
private

Definition at line 383 of file EcalTrivialConditionRetriever.h.

◆ producedEcalClusterEnergyUncertaintyParameters_

bool EcalTrivialConditionRetriever::producedEcalClusterEnergyUncertaintyParameters_
private

Definition at line 384 of file EcalTrivialConditionRetriever.h.

◆ producedEcalClusterLocalContCorrParameters_

bool EcalTrivialConditionRetriever::producedEcalClusterLocalContCorrParameters_
private

Definition at line 381 of file EcalTrivialConditionRetriever.h.

◆ producedEcalDAQTowerStatus_

bool EcalTrivialConditionRetriever::producedEcalDAQTowerStatus_
private

Definition at line 379 of file EcalTrivialConditionRetriever.h.

◆ producedEcalDCSTowerStatus_

bool EcalTrivialConditionRetriever::producedEcalDCSTowerStatus_
private

Definition at line 378 of file EcalTrivialConditionRetriever.h.

◆ producedEcalDQMChannelStatus_

bool EcalTrivialConditionRetriever::producedEcalDQMChannelStatus_
private

Definition at line 377 of file EcalTrivialConditionRetriever.h.

◆ producedEcalDQMTowerStatus_

bool EcalTrivialConditionRetriever::producedEcalDQMTowerStatus_
private

Definition at line 376 of file EcalTrivialConditionRetriever.h.

◆ producedEcalGainRatios_

bool EcalTrivialConditionRetriever::producedEcalGainRatios_
private

Definition at line 372 of file EcalTrivialConditionRetriever.h.

◆ producedEcalIntercalibConstants_

bool EcalTrivialConditionRetriever::producedEcalIntercalibConstants_
private

Definition at line 366 of file EcalTrivialConditionRetriever.h.

◆ producedEcalIntercalibConstantsMC_

bool EcalTrivialConditionRetriever::producedEcalIntercalibConstantsMC_
private

Definition at line 367 of file EcalTrivialConditionRetriever.h.

◆ producedEcalIntercalibErrors_

bool EcalTrivialConditionRetriever::producedEcalIntercalibErrors_
private

Definition at line 368 of file EcalTrivialConditionRetriever.h.

◆ producedEcalLaserCorrection_

bool EcalTrivialConditionRetriever::producedEcalLaserCorrection_
private

Definition at line 374 of file EcalTrivialConditionRetriever.h.

◆ producedEcalLinearCorrections_

bool EcalTrivialConditionRetriever::producedEcalLinearCorrections_
private

Definition at line 365 of file EcalTrivialConditionRetriever.h.

◆ producedEcalMappingElectronics_

bool EcalTrivialConditionRetriever::producedEcalMappingElectronics_
private

Definition at line 386 of file EcalTrivialConditionRetriever.h.

◆ producedEcalPedestals_

bool EcalTrivialConditionRetriever::producedEcalPedestals_
private

Definition at line 363 of file EcalTrivialConditionRetriever.h.

◆ producedEcalPFRecHitThresholds_

bool EcalTrivialConditionRetriever::producedEcalPFRecHitThresholds_
private

Definition at line 392 of file EcalTrivialConditionRetriever.h.

◆ producedEcalSampleMask_

bool EcalTrivialConditionRetriever::producedEcalSampleMask_
private

Definition at line 404 of file EcalTrivialConditionRetriever.h.

◆ producedEcalSamplesCorrelation_

bool EcalTrivialConditionRetriever::producedEcalSamplesCorrelation_
private

Definition at line 406 of file EcalTrivialConditionRetriever.h.

◆ producedEcalSimComponentShape_

bool EcalTrivialConditionRetriever::producedEcalSimComponentShape_
private

Definition at line 390 of file EcalTrivialConditionRetriever.h.

◆ producedEcalSimPulseShape_

bool EcalTrivialConditionRetriever::producedEcalSimPulseShape_
private

Definition at line 391 of file EcalTrivialConditionRetriever.h.

◆ producedEcalTimeBiasCorrections_

bool EcalTrivialConditionRetriever::producedEcalTimeBiasCorrections_
private

Definition at line 405 of file EcalTrivialConditionRetriever.h.

◆ producedEcalTimeCalibConstants_

bool EcalTrivialConditionRetriever::producedEcalTimeCalibConstants_
private

Definition at line 369 of file EcalTrivialConditionRetriever.h.

◆ producedEcalTimeCalibErrors_

bool EcalTrivialConditionRetriever::producedEcalTimeCalibErrors_
private

Definition at line 370 of file EcalTrivialConditionRetriever.h.

◆ producedEcalTimeOffsetConstant_

bool EcalTrivialConditionRetriever::producedEcalTimeOffsetConstant_
private

Definition at line 371 of file EcalTrivialConditionRetriever.h.

◆ producedEcalTrgChannelStatus_

bool EcalTrivialConditionRetriever::producedEcalTrgChannelStatus_
private

Definition at line 380 of file EcalTrivialConditionRetriever.h.

◆ producedEcalWeights_

bool EcalTrivialConditionRetriever::producedEcalWeights_
private

Definition at line 364 of file EcalTrivialConditionRetriever.h.

◆ sampleMaskEB_

unsigned int EcalTrivialConditionRetriever::sampleMaskEB_
private

Definition at line 340 of file EcalTrivialConditionRetriever.h.

◆ sampleMaskEE_

unsigned int EcalTrivialConditionRetriever::sampleMaskEE_
private

Definition at line 341 of file EcalTrivialConditionRetriever.h.

◆ SamplesCorrelationFile_

std::string EcalTrivialConditionRetriever::SamplesCorrelationFile_
private

Definition at line 353 of file EcalTrivialConditionRetriever.h.

◆ sim_pulse_shape_APD_thresh_

double EcalTrivialConditionRetriever::sim_pulse_shape_APD_thresh_
private

Definition at line 247 of file EcalTrivialConditionRetriever.h.

◆ sim_pulse_shape_EB_thresh_

double EcalTrivialConditionRetriever::sim_pulse_shape_EB_thresh_
private

Definition at line 245 of file EcalTrivialConditionRetriever.h.

◆ sim_pulse_shape_EE_thresh_

double EcalTrivialConditionRetriever::sim_pulse_shape_EE_thresh_
private

Definition at line 246 of file EcalTrivialConditionRetriever.h.

◆ sim_pulse_shape_TI_

float EcalTrivialConditionRetriever::sim_pulse_shape_TI_
private

Definition at line 248 of file EcalTrivialConditionRetriever.h.

◆ timeCalibConstantMean_

double EcalTrivialConditionRetriever::timeCalibConstantMean_
private

Definition at line 227 of file EcalTrivialConditionRetriever.h.

◆ timeCalibConstantsFile_

std::string EcalTrivialConditionRetriever::timeCalibConstantsFile_
private

Definition at line 330 of file EcalTrivialConditionRetriever.h.

◆ timeCalibConstantSigma_

double EcalTrivialConditionRetriever::timeCalibConstantSigma_
private

Definition at line 228 of file EcalTrivialConditionRetriever.h.

◆ timeCalibErrorMean_

double EcalTrivialConditionRetriever::timeCalibErrorMean_
private

Definition at line 229 of file EcalTrivialConditionRetriever.h.

◆ timeCalibErrorsFile_

std::string EcalTrivialConditionRetriever::timeCalibErrorsFile_
private

Definition at line 331 of file EcalTrivialConditionRetriever.h.

◆ timeOffsetEBConstant_

double EcalTrivialConditionRetriever::timeOffsetEBConstant_
private

Definition at line 231 of file EcalTrivialConditionRetriever.h.

◆ timeOffsetEEConstant_

double EcalTrivialConditionRetriever::timeOffsetEEConstant_
private

Definition at line 232 of file EcalTrivialConditionRetriever.h.

◆ totLumi_

double EcalTrivialConditionRetriever::totLumi_
private

Definition at line 259 of file EcalTrivialConditionRetriever.h.

◆ trgChannelStatusFile_

std::string EcalTrivialConditionRetriever::trgChannelStatusFile_
private

Definition at line 333 of file EcalTrivialConditionRetriever.h.

◆ verbose_

int EcalTrivialConditionRetriever::verbose_
private

Definition at line 409 of file EcalTrivialConditionRetriever.h.

◆ weightsForAsynchronousRunning_

bool EcalTrivialConditionRetriever::weightsForAsynchronousRunning_
private

Definition at line 362 of file EcalTrivialConditionRetriever.h.