153 { {
nullptr,
nullptr,
nullptr} } )
161 if( m_doEB ) iC.consumes<std::vector<PCaloHit> >(
edm::InputTag(m_hitsProducerTag,
"EcalHitsEB"));
162 if( m_doEE ) iC.consumes<std::vector<PCaloHit> >(
edm::InputTag(m_hitsProducerTag,
"EcalHitsEE"));
163 if( m_doES ) iC.consumes<std::vector<PCaloHit> >(
edm::InputTag(m_hitsProducerTag,
"EcalHitsES"));
165 const std::vector<double> ebCorMatG12 = params.getParameter< std::vector<double> >(
"EBCorrNoiseMatrixG12");
166 const std::vector<double> eeCorMatG12 = params.getParameter< std::vector<double> >(
"EECorrNoiseMatrixG12");
167 const std::vector<double> ebCorMatG06 = params.getParameter< std::vector<double> >(
"EBCorrNoiseMatrixG06");
168 const std::vector<double> eeCorMatG06 = params.getParameter< std::vector<double> >(
"EECorrNoiseMatrixG06");
169 const std::vector<double> ebCorMatG01 = params.getParameter< std::vector<double> >(
"EBCorrNoiseMatrixG01");
170 const std::vector<double> eeCorMatG01 = params.getParameter< std::vector<double> >(
"EECorrNoiseMatrixG01");
172 const bool applyConstantTerm = params.getParameter<
bool> (
"applyConstantTerm");
173 const double rmsConstantTerm = params.getParameter<
double> (
"ConstantTerm");
175 const bool addNoise = params.getParameter<
bool> (
"doENoise");
176 const bool cosmicsPhase = params.getParameter<
bool> (
"cosmicsPhase");
177 const double cosmicsShift = params.getParameter<
double> (
"cosmicsShift");
184 if( m_doEB ) m_EBResponse->setPhaseShift( 1. + cosmicsShift ) ;
185 if( m_doEE ) m_EEResponse->setPhaseShift( 1. + cosmicsShift ) ;
191 assert( ebCorMatG12.size() == m_readoutFrameSize ) ;
192 assert( eeCorMatG12.size() == m_readoutFrameSize ) ;
193 assert( ebCorMatG06.size() == m_readoutFrameSize ) ;
194 assert( eeCorMatG06.size() == m_readoutFrameSize ) ;
195 assert( ebCorMatG01.size() == m_readoutFrameSize ) ;
196 assert( eeCorMatG01.size() == m_readoutFrameSize ) ;
198 assert( 1.
e-7 > fabs( ebCorMatG12[0] - 1.0 ) ) ;
199 assert( 1.
e-7 > fabs( ebCorMatG06[0] - 1.0 ) ) ;
200 assert( 1.
e-7 > fabs( ebCorMatG01[0] - 1.0 ) ) ;
201 assert( 1.
e-7 > fabs( eeCorMatG12[0] - 1.0 ) ) ;
202 assert( 1.
e-7 > fabs( eeCorMatG06[0] - 1.0 ) ) ;
203 assert( 1.
e-7 > fabs( eeCorMatG01[0] - 1.0 ) ) ;
205 for (
unsigned int row ( 0 ) ; row != m_readoutFrameSize ; ++row )
207 assert( 0 == row || 1. >= ebCorMatG12[row] ) ;
208 assert( 0 == row || 1. >= ebCorMatG06[row] ) ;
209 assert( 0 == row || 1. >= ebCorMatG01[row] ) ;
210 assert( 0 == row || 1. >= eeCorMatG12[row] ) ;
211 assert( 0 == row || 1. >= eeCorMatG06[row] ) ;
212 assert( 0 == row || 1. >= eeCorMatG01[row] ) ;
213 for (
unsigned int column ( 0 ) ; column <= row ; ++column )
215 const unsigned int index ( row - column ) ;
216 ebMatrix[0]( row, column ) = ebCorMatG12[
index ] ;
217 eeMatrix[0]( row, column ) = eeCorMatG12[
index ] ;
218 ebMatrix[1]( row, column ) = ebCorMatG06[
index ] ;
219 eeMatrix[1]( row, column ) = eeCorMatG06[
index ] ;
220 ebMatrix[2]( row, column ) = ebCorMatG01[
index ] ;
221 eeMatrix[2]( row, column ) = eeCorMatG01[
index ] ;
234 m_EBCorrNoise[0].
get() ,
236 m_EBCorrNoise[1].
get() ,
238 m_EBCorrNoise[2].
get() ,
246 if( m_apdSeparateDigi )
249 m_EBCorrNoise[0].
get() ,
251 m_EBCorrNoise[1].
get() ,
253 m_EBCorrNoise[2].
get() ,
261 m_APDDigitizer.reset(
new EBDigitizer( m_APDResponse.get() ,
262 m_APDElectronicsSim.get() ,
267 m_BarrelDigitizer.reset(
new EBDigitizer( m_EBResponse.get() ,
268 m_ElectronicsSim.get() ,
273 m_EndcapDigitizer.reset(
new EEDigitizer( m_EEResponse.get() ,
274 m_ElectronicsSim.get() ,
EcalTDigitizer< EEDigitizerTraits > EEDigitizer
EcalTDigitizer< EBDigitizerTraits > EBDigitizer
m_EECorrNoise({{0, 0, 0}})
volatile std::atomic< bool > shutdown_flag false