|
|
#include <EcalDigiProducer_Ph2.h>
|
void | accumulate (edm::Event const &e, edm::EventSetup const &c) override |
|
void | accumulate (PileUpEventPrincipal const &e, edm::EventSetup const &c, edm::StreamID const &) override |
|
void | beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override |
|
void | beginRun (edm::Run const &run, edm::EventSetup const &setup) override |
|
| EcalDigiProducer_Ph2 (const edm::ParameterSet ¶ms, edm::ConsumesCollector &iC) |
|
| EcalDigiProducer_Ph2 (const edm::ParameterSet ¶ms, edm::ProducesCollector producesCollector, edm::ConsumesCollector &iC) |
|
void | finalizeEvent (edm::Event &e, edm::EventSetup const &c) override |
|
void | initializeEvent (edm::Event const &e, edm::EventSetup const &c) override |
|
void | setEBNoiseSignalGenerator (EcalBaseSignalGenerator *noiseGenerator) |
|
| ~EcalDigiProducer_Ph2 () override |
|
| DigiAccumulatorMixMod () |
|
virtual void | endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) |
|
virtual void | endRun (edm::Run const &run, edm::EventSetup const &setup) |
|
virtual void | finalizeBunchCrossing (edm::Event &event, edm::EventSetup const &setup, int bunchCrossing) |
|
virtual PileupMixingContent * | getEventPileupInfo () |
|
virtual void | initializeBunchCrossing (edm::Event const &event, edm::EventSetup const &setup, int bunchCrossing) |
|
virtual void | StorePileupInformation (std::vector< int > &numInteractionList, std::vector< int > &bunchCrossingList, std::vector< float > &TrueInteractionList, std::vector< edm::EventID > &eventList, int bunchSpace) |
|
virtual | ~DigiAccumulatorMixMod () |
|
Definition at line 51 of file EcalDigiProducer_Ph2.h.
◆ EBDigitizer_Ph2
◆ EcalElectronicsSim_Ph2
◆ EcalSamples_Ph2
◆ HitsHandle
◆ EcalDigiProducer_Ph2() [1/2]
◆ EcalDigiProducer_Ph2() [2/2]
Definition at line 55 of file EcalDigiProducer_Ph2.cc.
70 m_ParameterMap(std::make_unique<EcalSimParameterMap>(
params.getParameter<
double>(
"simHitToPhotoelectronsBarrel"),
72 params.getParameter<
double>(
"photoelectronsToAnalogBarrel"),
74 params.getParameter<
double>(
"samplingFactor"),
75 params.getParameter<
double>(
"timePhase"),
77 params.getParameter<
int>(
"binOfMaximum"),
78 params.getParameter<
bool>(
"doPhotostatistics"),
79 params.getParameter<
bool>(
"syncPhase"))),
84 params.getParameter<
double>(
"apdSimToPELow"),
85 params.getParameter<
double>(
"apdSimToPEHigh"),
86 params.getParameter<
double>(
"apdTimeOffset"),
87 params.getParameter<
double>(
"apdTimeOffWidth"),
88 params.getParameter<
bool>(
"apdDoPEStats"),
90 params.getParameter<std::vector<double>>(
"apdNonlParms"))),
94 : std::make_unique<EBHitResponse_Ph2>(
123 const std::vector<double> ebCorMatG10Ph2 =
params.getParameter<std::vector<double>>(
"EBCorrNoiseMatrixG10Ph2");
124 const std::vector<double> ebCorMatG01Ph2 =
params.getParameter<std::vector<double>>(
"EBCorrNoiseMatrixG01Ph2");
127 const double rmsConstantTerm =
params.getParameter<
double>(
"ConstantTerm");
129 const bool addNoise =
params.getParameter<
bool>(
"doENoise");
139 const double errorCorrelation = 1.e-7;
147 assert(0 == row || 1. >= ebCorMatG10Ph2[row]);
148 assert(0 == row || 1. >= ebCorMatG01Ph2[row]);
150 for (
unsigned int column(0); column <= row; ++column) {
151 const unsigned int index(row - column);
152 ebMatrix[0](row, column) = ebCorMatG10Ph2[
index];
153 ebMatrix[1](row, column) = ebCorMatG01Ph2[
index];
156 m_EBCorrNoise[0] = std::make_unique<CorrelatedNoisifier<EcalCorrMatrix_Ph2>>(ebMatrix[0]);
157 m_EBCorrNoise[1] = std::make_unique<CorrelatedNoisifier<EcalCorrMatrix_Ph2>>(ebMatrix[1]);
◆ ~EcalDigiProducer_Ph2()
EcalDigiProducer_Ph2::~EcalDigiProducer_Ph2 |
( |
| ) |
|
|
override |
◆ accumulate() [1/2]
◆ accumulate() [2/2]
◆ accumulateCaloHits()
void EcalDigiProducer_Ph2::accumulateCaloHits |
( |
HitsHandle const & |
ebHandle, |
|
|
int |
bunchCrossing |
|
) |
| |
|
private |
◆ beginLuminosityBlock()
◆ beginRun()
◆ cacheEBDigis()
◆ checkCalibrations()
Definition at line 263 of file EcalDigiProducer_Ph2.cc.
267 m_Coder->setPedestals(pedestals);
274 m_Coder->setIntercalibConstants(ical);
299 LogDebug(
"EcalDigi") <<
" GeV/ADC = " << agc->getEBValue() <<
"\n"
303 m_Coder->setFullScaleEnergy(EBscale);
References agcToken_, ecalPh2::gains, edm::EventSetup::getData(), icalToken_, EcalCondDBWriter_cfi::laser, laserToken_, LogDebug, m_APDCoder, m_APDResponse, m_Coder, m_EBResponse, m_EBs25notCont, m_useLCcorrection, ecalPh2::MAXADC, and pedestalToken_.
Referenced by initializeEvent().
◆ checkGeometry()
void EcalDigiProducer_Ph2::checkGeometry |
( |
const edm::EventSetup & |
eventSetup | ) |
|
|
private |
◆ finalizeEvent()
◆ initializeEvent()
◆ setEBNoiseSignalGenerator()
◆ updateGeometry()
void EcalDigiProducer_Ph2::updateGeometry |
( |
| ) |
|
|
private |
◆ agcToken_
◆ geom_token_
◆ icalToken_
◆ laserToken_
◆ m_APDCoder
◆ m_apdDigiTag
const std::string EcalDigiProducer_Ph2::m_apdDigiTag |
|
private |
◆ m_APDDigitizer
◆ m_APDElectronicsSim
◆ m_apdParameters
◆ m_APDResponse
◆ m_apdSeparateDigi
const bool EcalDigiProducer_Ph2::m_apdSeparateDigi |
|
private |
◆ m_APDShape
APDShape EcalDigiProducer_Ph2::m_APDShape |
|
private |
◆ m_BarrelDigitizer
◆ m_Coder
◆ m_EBCorrNoise
◆ m_EBdigiCollection
const std::string EcalDigiProducer_Ph2::m_EBdigiCollection |
|
private |
◆ m_EBResponse
◆ m_EBs25notCont
const double EcalDigiProducer_Ph2::m_EBs25notCont |
|
private |
◆ m_EBShape
EBShape EcalDigiProducer_Ph2::m_EBShape |
|
private |
◆ m_ElectronicsSim
◆ m_Geometry
◆ m_hitsProducerTag
const std::string EcalDigiProducer_Ph2::m_hitsProducerTag |
|
private |
◆ m_ParameterMap
◆ m_PreMix1
const bool EcalDigiProducer_Ph2::m_PreMix1 |
|
private |
◆ m_PreMix2
const bool EcalDigiProducer_Ph2::m_PreMix2 |
|
private |
◆ m_readoutFrameSize
const unsigned int EcalDigiProducer_Ph2::m_readoutFrameSize |
|
private |
◆ m_useLCcorrection
bool EcalDigiProducer_Ph2::m_useLCcorrection |
|
private |
◆ pedestalToken_
◆ randomEngine_
CLHEP::HepRandomEngine* EcalDigiProducer_Ph2::randomEngine_ = nullptr |
|
private |
edm::ESGetToken< EcalIntercalibConstants, EcalIntercalibConstantsRcd > icalToken_
void setEventSetup(const edm::EventSetup &evtSetup)
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
const double m_EBs25notCont
std::array< std::unique_ptr< CorrelatedNoisifier< EcalCorrMatrix_Ph2 > >, 2 > m_EBCorrNoise
static constexpr unsigned int MAXADC
void accumulateCaloHits(HitsHandle const &ebHandle, int bunchCrossing)
CLHEP::HepRandomEngine * randomEngine_
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Log< level::Info, false > LogInfo
std::unique_ptr< EcalElectronicsSim< EcalLiteDTUCoder, EcalSamples_Ph2, EcalDataFrame_Ph2 > > m_APDElectronicsSim
edm::ESGetToken< EcalLiteDTUPedestalsMap, EcalLiteDTUPedestalsRcd > pedestalToken_
std::unique_ptr< EcalElectronicsSim_Ph2 > m_ElectronicsSim
const std::string m_apdDigiTag
std::unique_ptr< EcalLiteDTUCoder > m_Coder
std::unique_ptr< const EcalSimParameterMap > m_ParameterMap
std::unique_ptr< EBDigitizer_Ph2 > m_BarrelDigitizer
edm::ESGetToken< EcalLaserDbService, EcalLaserDbRecord > laserToken_
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
void checkCalibrations(const edm::Event &event, const edm::EventSetup &eventSetup)
EcalIntercalibConstantMap EcalIntercalibConstants
static constexpr unsigned int sampleSize
const unsigned int m_readoutFrameSize
std::unique_ptr< EBHitResponse_Ph2 > m_EBResponse
edm::ESGetToken< EcalADCToGeVConstant, EcalADCToGeVConstantRcd > agcToken_
const std::string m_EBdigiCollection
std::unique_ptr< const APDSimParameters > m_apdParameters
EcalDigiProducer_Ph2(const edm::ParameterSet ¶ms, edm::ProducesCollector producesCollector, edm::ConsumesCollector &iC)
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geom_token_
void checkGeometry(const edm::EventSetup &eventSetup)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
ProductRegistryHelper::BranchAliasSetterT< ProductType > produces()
bool getData(T &iHolder) const
const CaloGeometry * m_Geometry
std::unique_ptr< EcalLiteDTUCoder > m_APDCoder
virtual void cacheEBDigis(const EBDigiCollectionPh2 *ebDigiPtr) const
static constexpr float gains[NGAINS]
std::unique_ptr< EBDigitizer_Ph2 > m_APDDigitizer
Abs< T >::type abs(const T &t)
const std::string m_hitsProducerTag
const bool m_apdSeparateDigi
unsigned long long TimeValue_t
std::unique_ptr< EBHitResponse_Ph2 > m_APDResponse