CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
EcalUncalibRecHitWorkerMultiFit Class Referencefinal

#include <EcalUncalibRecHitWorkerMultiFit.h>

Inheritance diagram for EcalUncalibRecHitWorkerMultiFit:
EcalUncalibRecHitWorkerBaseClass

Public Member Functions

 EcalUncalibRecHitWorkerMultiFit (const edm::ParameterSet &, edm::ConsumesCollector &c)
 
 EcalUncalibRecHitWorkerMultiFit ()
 
edm::ParameterSetDescription getAlgoDescription ()
 
virtual ~EcalUncalibRecHitWorkerMultiFit ()
 
- Public Member Functions inherited from EcalUncalibRecHitWorkerBaseClass
 EcalUncalibRecHitWorkerBaseClass (const edm::ParameterSet &, edm::ConsumesCollector &c)
 
 EcalUncalibRecHitWorkerBaseClass (const edm::ParameterSet &)
 
 EcalUncalibRecHitWorkerBaseClass ()
 
virtual ~EcalUncalibRecHitWorkerBaseClass ()
 

Private Types

enum  TimeAlgo { noMethod, ratioMethod, weightsMethod }
 

Private Member Functions

const SampleMatrixnoisecor (bool barrel, int gain) const
 
bool run (const edm::Event &evt, const EcalDigiCollection::const_iterator &digi, EcalUncalibratedRecHitCollection &result) override
 
void set (const edm::EventSetup &es) override
 
void set (const edm::Event &evt) override
 
double timeCorrection (float ampli, const std::vector< float > &amplitudeBins, const std::vector< float > &shiftBins)
 

Private Attributes

BXVector activeBX
 
bool ampErrorCalculation_
 
double amplitudeThreshEB_
 
double amplitudeThreshEE_
 
edm::EDGetTokenT< unsigned int > bunchSpacing_
 
int bunchSpacingManual_
 
double chi2ThreshEB_
 
double chi2ThreshEE_
 
bool doPrefitEB_
 
bool doPrefitEE_
 
std::vector< double > EBamplitudeFitParameters_
 
std::vector< double > ebPulseShape_
 
double ebSpikeThresh_
 
double EBtimeConstantTerm_
 
std::pair< double, double > EBtimeFitLimits_
 
std::vector< double > EBtimeFitParameters_
 
double EBtimeNconst_
 
std::vector< double > EEamplitudeFitParameters_
 
std::vector< double > eePulseShape_
 
double EEtimeConstantTerm_
 
std::pair< double, double > EEtimeFitLimits_
 
std::vector< double > EEtimeFitParameters_
 
double EEtimeNconst_
 
edm::ESHandle< EcalGainRatiosgains
 
bool gainSwitchUseMaxSampleEB_
 
bool gainSwitchUseMaxSampleEE_
 
edm::ESHandle
< EcalWeightXtalGroups
grps
 
edm::ESHandle
< EcalTimeCalibConstants
itime
 
bool kPoorRecoFlagEB_
 
bool kPoorRecoFlagEE_
 
EcalUncalibRecHitMultiFitAlgo multiFitMethod_
 
SampleMatrix noisecorEBg1
 
SampleMatrix noisecorEBg12
 
SampleMatrix noisecorEBg6
 
SampleMatrix noisecorEEg1
 
SampleMatrix noisecorEEg12
 
SampleMatrix noisecorEEg6
 
SampleMatrix const *const noisecors [2][3]
 
edm::ESHandle
< EcalSamplesCorrelation
noisecovariances
 
edm::ESHandle
< EcalTimeOffsetConstant
offtime
 
double outOfTimeThreshG12mEB_
 
double outOfTimeThreshG12mEE_
 
double outOfTimeThreshG12pEB_
 
double outOfTimeThreshG12pEE_
 
double outOfTimeThreshG61mEB_
 
double outOfTimeThreshG61mEE_
 
double outOfTimeThreshG61pEB_
 
double outOfTimeThreshG61pEE_
 
edm::ESHandle< EcalPedestalspeds
 
double prefitMaxChiSqEB_
 
double prefitMaxChiSqEE_
 
edm::ESHandle
< EcalPulseCovariances
pulsecovariances
 
edm::ESHandle< EcalPulseShapespulseshapes
 
EcalUncalibRecHitRatioMethodAlgo
< EBDataFrame
ratioMethod_barrel_
 
EcalUncalibRecHitRatioMethodAlgo
< EEDataFrame
ratioMethod_endcap_
 
edm::ESHandle< EcalSampleMasksampleMaskHand_
 
TimeAlgo timealgo_ =noMethod
 
edm::ESHandle
< EcalTimeBiasCorrections
timeCorrBias_
 
bool useLumiInfoRunHeader_
 
const
EcalWeightSet::EcalWeightMatrix
weights [2]
 
EcalUncalibRecHitTimeWeightsAlgo
< EBDataFrame
weightsMethod_barrel_
 
EcalUncalibRecHitTimeWeightsAlgo
< EEDataFrame
weightsMethod_endcap_
 
edm::ESHandle< EcalTBWeightswgts
 

Detailed Description

Definition at line 40 of file EcalUncalibRecHitWorkerMultiFit.h.

Member Enumeration Documentation

Enumerator
noMethod 
ratioMethod 
weightsMethod 

Definition at line 87 of file EcalUncalibRecHitWorkerMultiFit.h.

Constructor & Destructor Documentation

EcalUncalibRecHitWorkerMultiFit::EcalUncalibRecHitWorkerMultiFit ( const edm::ParameterSet ps,
edm::ConsumesCollector c 
)

Definition at line 25 of file EcalUncalibRecHitWorkerMultiFit.cc.

EcalUncalibRecHitWorkerMultiFit::EcalUncalibRecHitWorkerMultiFit ( )
inline

Definition at line 44 of file EcalUncalibRecHitWorkerMultiFit.h.

virtual EcalUncalibRecHitWorkerMultiFit::~EcalUncalibRecHitWorkerMultiFit ( )
inlinevirtual

Definition at line 45 of file EcalUncalibRecHitWorkerMultiFit.h.

Member Function Documentation

edm::ParameterSetDescription EcalUncalibRecHitWorkerMultiFit::getAlgoDescription ( )
virtual
const SampleMatrix& EcalUncalibRecHitWorkerMultiFit::noisecor ( bool  barrel,
int  gain 
) const
inlineprivate

Definition at line 63 of file EcalUncalibRecHitWorkerMultiFit.h.

bool EcalUncalibRecHitWorkerMultiFit::run ( const edm::Event evt,
const EcalDigiCollection::const_iterator digi,
EcalUncalibratedRecHitCollection result 
)
overrideprivatevirtual
void EcalUncalibRecHitWorkerMultiFit::set ( const edm::EventSetup es)
overrideprivatevirtual
void EcalUncalibRecHitWorkerMultiFit::set ( const edm::Event evt)
overrideprivatevirtual

Reimplemented from EcalUncalibRecHitWorkerBaseClass.

Definition at line 148 of file EcalUncalibRecHitWorkerMultiFit.cc.

double EcalUncalibRecHitWorkerMultiFit::timeCorrection ( float  ampli,
const std::vector< float > &  amplitudeBins,
const std::vector< float > &  shiftBins 
)
private

Amplitude-dependent time corrections; EE and EB have separate corrections: EXtimeCorrAmplitudes (ADC) and EXtimeCorrShifts (ns) need to have the same number of elements Bins must be ordered in amplitude. First-last bins take care of under-overflows.

The algorithm is the same for EE and EB, only the correction vectors are different.

Returns
Jitter (in clock cycles) which will be added to UncalibRechit.setJitter(), 0 if no correction is applied.

Definition at line 186 of file EcalUncalibRecHitWorkerMultiFit.cc.

Member Data Documentation

BXVector EcalUncalibRecHitWorkerMultiFit::activeBX
private

Definition at line 75 of file EcalUncalibRecHitWorkerMultiFit.h.

bool EcalUncalibRecHitWorkerMultiFit::ampErrorCalculation_
private

Definition at line 76 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::amplitudeThreshEB_
private

Definition at line 126 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::amplitudeThreshEE_
private

Definition at line 127 of file EcalUncalibRecHitWorkerMultiFit.h.

edm::EDGetTokenT<unsigned int> EcalUncalibRecHitWorkerMultiFit::bunchSpacing_
private

Definition at line 81 of file EcalUncalibRecHitWorkerMultiFit.h.

int EcalUncalibRecHitWorkerMultiFit::bunchSpacingManual_
private

Definition at line 80 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::chi2ThreshEB_
private

Definition at line 141 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::chi2ThreshEE_
private

Definition at line 142 of file EcalUncalibRecHitWorkerMultiFit.h.

bool EcalUncalibRecHitWorkerMultiFit::doPrefitEB_
private

Definition at line 98 of file EcalUncalibRecHitWorkerMultiFit.h.

bool EcalUncalibRecHitWorkerMultiFit::doPrefitEE_
private

Definition at line 99 of file EcalUncalibRecHitWorkerMultiFit.h.

std::vector<double> EcalUncalibRecHitWorkerMultiFit::EBamplitudeFitParameters_
private

Definition at line 106 of file EcalUncalibRecHitWorkerMultiFit.h.

std::vector<double> EcalUncalibRecHitWorkerMultiFit::ebPulseShape_
private

Definition at line 134 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::ebSpikeThresh_
private

Definition at line 128 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::EBtimeConstantTerm_
private

Definition at line 114 of file EcalUncalibRecHitWorkerMultiFit.h.

std::pair<double,double> EcalUncalibRecHitWorkerMultiFit::EBtimeFitLimits_
private

Definition at line 108 of file EcalUncalibRecHitWorkerMultiFit.h.

std::vector<double> EcalUncalibRecHitWorkerMultiFit::EBtimeFitParameters_
private

Definition at line 104 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::EBtimeNconst_
private

Definition at line 116 of file EcalUncalibRecHitWorkerMultiFit.h.

std::vector<double> EcalUncalibRecHitWorkerMultiFit::EEamplitudeFitParameters_
private

Definition at line 107 of file EcalUncalibRecHitWorkerMultiFit.h.

std::vector<double> EcalUncalibRecHitWorkerMultiFit::eePulseShape_
private

Definition at line 135 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::EEtimeConstantTerm_
private

Definition at line 115 of file EcalUncalibRecHitWorkerMultiFit.h.

std::pair<double,double> EcalUncalibRecHitWorkerMultiFit::EEtimeFitLimits_
private

Definition at line 109 of file EcalUncalibRecHitWorkerMultiFit.h.

std::vector<double> EcalUncalibRecHitWorkerMultiFit::EEtimeFitParameters_
private

Definition at line 105 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::EEtimeNconst_
private

Definition at line 117 of file EcalUncalibRecHitWorkerMultiFit.h.

edm::ESHandle<EcalGainRatios> EcalUncalibRecHitWorkerMultiFit::gains
private

Definition at line 55 of file EcalUncalibRecHitWorkerMultiFit.h.

bool EcalUncalibRecHitWorkerMultiFit::gainSwitchUseMaxSampleEB_
private

Definition at line 96 of file EcalUncalibRecHitWorkerMultiFit.h.

bool EcalUncalibRecHitWorkerMultiFit::gainSwitchUseMaxSampleEE_
private

Definition at line 97 of file EcalUncalibRecHitWorkerMultiFit.h.

edm::ESHandle<EcalWeightXtalGroups> EcalUncalibRecHitWorkerMultiFit::grps
private

Definition at line 91 of file EcalUncalibRecHitWorkerMultiFit.h.

edm::ESHandle<EcalTimeCalibConstants> EcalUncalibRecHitWorkerMultiFit::itime
private

Definition at line 132 of file EcalUncalibRecHitWorkerMultiFit.h.

bool EcalUncalibRecHitWorkerMultiFit::kPoorRecoFlagEB_
private

Definition at line 139 of file EcalUncalibRecHitWorkerMultiFit.h.

bool EcalUncalibRecHitWorkerMultiFit::kPoorRecoFlagEE_
private

Definition at line 140 of file EcalUncalibRecHitWorkerMultiFit.h.

EcalUncalibRecHitMultiFitAlgo EcalUncalibRecHitWorkerMultiFit::multiFitMethod_
private

Definition at line 78 of file EcalUncalibRecHitWorkerMultiFit.h.

SampleMatrix EcalUncalibRecHitWorkerMultiFit::noisecorEBg1
private

Definition at line 70 of file EcalUncalibRecHitWorkerMultiFit.h.

SampleMatrix EcalUncalibRecHitWorkerMultiFit::noisecorEBg12
private

Definition at line 66 of file EcalUncalibRecHitWorkerMultiFit.h.

SampleMatrix EcalUncalibRecHitWorkerMultiFit::noisecorEBg6
private

Definition at line 68 of file EcalUncalibRecHitWorkerMultiFit.h.

SampleMatrix EcalUncalibRecHitWorkerMultiFit::noisecorEEg1
private

Definition at line 71 of file EcalUncalibRecHitWorkerMultiFit.h.

SampleMatrix EcalUncalibRecHitWorkerMultiFit::noisecorEEg12
private

Definition at line 67 of file EcalUncalibRecHitWorkerMultiFit.h.

SampleMatrix EcalUncalibRecHitWorkerMultiFit::noisecorEEg6
private

Definition at line 69 of file EcalUncalibRecHitWorkerMultiFit.h.

SampleMatrix const* const EcalUncalibRecHitWorkerMultiFit::noisecors[2][3]
private
edm::ESHandle<EcalSamplesCorrelation> EcalUncalibRecHitWorkerMultiFit::noisecovariances
private

Definition at line 56 of file EcalUncalibRecHitWorkerMultiFit.h.

edm::ESHandle<EcalTimeOffsetConstant> EcalUncalibRecHitWorkerMultiFit::offtime
private

Definition at line 133 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::outOfTimeThreshG12mEB_
private

Definition at line 119 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::outOfTimeThreshG12mEE_
private

Definition at line 123 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::outOfTimeThreshG12pEB_
private

Definition at line 118 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::outOfTimeThreshG12pEE_
private

Definition at line 122 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::outOfTimeThreshG61mEB_
private

Definition at line 121 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::outOfTimeThreshG61mEE_
private

Definition at line 125 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::outOfTimeThreshG61pEB_
private

Definition at line 120 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::outOfTimeThreshG61pEE_
private

Definition at line 124 of file EcalUncalibRecHitWorkerMultiFit.h.

edm::ESHandle<EcalPedestals> EcalUncalibRecHitWorkerMultiFit::peds
private

Definition at line 54 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::prefitMaxChiSqEB_
private

Definition at line 100 of file EcalUncalibRecHitWorkerMultiFit.h.

double EcalUncalibRecHitWorkerMultiFit::prefitMaxChiSqEE_
private

Definition at line 101 of file EcalUncalibRecHitWorkerMultiFit.h.

edm::ESHandle<EcalPulseCovariances> EcalUncalibRecHitWorkerMultiFit::pulsecovariances
private

Definition at line 58 of file EcalUncalibRecHitWorkerMultiFit.h.

edm::ESHandle<EcalPulseShapes> EcalUncalibRecHitWorkerMultiFit::pulseshapes
private

Definition at line 57 of file EcalUncalibRecHitWorkerMultiFit.h.

EcalUncalibRecHitRatioMethodAlgo<EBDataFrame> EcalUncalibRecHitWorkerMultiFit::ratioMethod_barrel_
private

Definition at line 111 of file EcalUncalibRecHitWorkerMultiFit.h.

EcalUncalibRecHitRatioMethodAlgo<EEDataFrame> EcalUncalibRecHitWorkerMultiFit::ratioMethod_endcap_
private

Definition at line 112 of file EcalUncalibRecHitWorkerMultiFit.h.

edm::ESHandle<EcalSampleMask> EcalUncalibRecHitWorkerMultiFit::sampleMaskHand_
private

Definition at line 84 of file EcalUncalibRecHitWorkerMultiFit.h.

TimeAlgo EcalUncalibRecHitWorkerMultiFit::timealgo_ =noMethod
private

Definition at line 88 of file EcalUncalibRecHitWorkerMultiFit.h.

edm::ESHandle<EcalTimeBiasCorrections> EcalUncalibRecHitWorkerMultiFit::timeCorrBias_
private

Definition at line 130 of file EcalUncalibRecHitWorkerMultiFit.h.

bool EcalUncalibRecHitWorkerMultiFit::useLumiInfoRunHeader_
private

Definition at line 77 of file EcalUncalibRecHitWorkerMultiFit.h.

const EcalWeightSet::EcalWeightMatrix* EcalUncalibRecHitWorkerMultiFit::weights[2]
private

Definition at line 93 of file EcalUncalibRecHitWorkerMultiFit.h.

EcalUncalibRecHitTimeWeightsAlgo<EBDataFrame> EcalUncalibRecHitWorkerMultiFit::weightsMethod_barrel_
private

Definition at line 94 of file EcalUncalibRecHitWorkerMultiFit.h.

EcalUncalibRecHitTimeWeightsAlgo<EEDataFrame> EcalUncalibRecHitWorkerMultiFit::weightsMethod_endcap_
private

Definition at line 95 of file EcalUncalibRecHitWorkerMultiFit.h.

edm::ESHandle<EcalTBWeights> EcalUncalibRecHitWorkerMultiFit::wgts
private

Definition at line 92 of file EcalUncalibRecHitWorkerMultiFit.h.