#include "RecoLocalCalo/HcalRecAlgos/interface/HcalSimpleRecAlgo.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "CalibCalorimetry/HcalAlgos/interface/HcalTimeSlew.h"
#include "RecoLocalCalo/HcalRecAlgos/src/HcalTDCReco.h"
#include "RecoLocalCalo/HcalRecAlgos/interface/rawEnergy.h"
#include "DataFormats/METReco/interface/HcalCaloFlagLabels.h"
#include <algorithm>
#include <cmath>
Go to the source code of this file.
Namespaces | |
HcalSimpleRecAlgoImpl | |
Functions | |
static float | eCorr (int ieta, int iphi, double ampl, int runnum) |
Ugly hack to apply energy corrections to some HB- cells. More... | |
static float | leakCorr (double energy) |
Leak correction. More... | |
template<class Digi , class RecHit > | |
RecHit | HcalSimpleRecAlgoImpl::reco (const Digi &digi, const HcalCoder &coder, const HcalCalibrations &calibs, const int ifirst, const int n, const bool slewCorrect, const bool pulseCorrect, const HcalPulseContainmentCorrection *corr, const HcalTimeSlew::BiasSetting slewFlavor, const int runnum, const bool useLeak, const AbsOOTPileupCorrection *pileupCorrection, const BunchXParameter *bxInfo, const unsigned lenInfo, const int puCorrMethod, const PulseShapeFitOOTPileupCorrection *psFitOOTpuCorr, HcalDeterministicFit *hltOOTpuCorr, PedestalSub *hltPedSub) |
template<class Digi , class RecHit > | |
RecHit | HcalSimpleRecAlgoImpl::recoHBHE (const Digi &digi, const HcalCoder &coder, const HcalCalibrations &calibs, const int ifirst, const int n, const bool slewCorrect, const bool pulseCorrect, const HcalPulseContainmentCorrection *corr, const HcalTimeSlew::BiasSetting slewFlavor, const int runnum, const bool useLeak, const AbsOOTPileupCorrection *pileupCorrection, const BunchXParameter *bxInfo, const unsigned lenInfo, const int puCorrMethod, const PulseShapeFitOOTPileupCorrection *psFitOOTpuCorr, HcalDeterministicFit *hltOOTpuCorr, PedestalSub *hltPedSub) |
template<class Digi > | |
float | HcalSimpleRecAlgoImpl::recoHFTime (const Digi &digi, const int maxI, const double amp_fC, const bool slewCorrect, double maxA, float t0, float t2) |
template<class Digi > | |
void | HcalSimpleRecAlgoImpl::removePileup (const Digi &digi, const HcalCoder &coder, const HcalCalibrations &calibs, const int ifirst, const int n, const bool pulseCorrect, const HcalPulseContainmentCorrection *corr, const AbsOOTPileupCorrection *pileupCorrection, const BunchXParameter *bxInfo, const unsigned lenInfo, double *p_maxA, double *p_ampl, double *p_uncorr_ampl, double *p_fc_ampl, int *p_nRead, int *p_maxI, bool *leakCorrApplied, float *p_t0, float *p_t2) |
static float | timeshift_ns_hbheho (float wpksamp) |
static float | timeshift_ns_hf (float wpksamp) |
Same as above, but for the HF PMTs. More... | |
Variables | |
static const float | actual_ns_hbheho [num_bins_hbheho] |
static const float | actual_ns_hf [num_bins_hf] |
int | HPDShapev3DataNum = 105 |
int | HPDShapev3MCNum = 105 |
double | MaximumFractionalError = 0.002 |
static const int | num_bins_hbheho = 61 |
static const int | num_bins_hf = 101 |
static const float | wpksamp0_hbheho = 0.5 |
static const float | wpksamp0_hf = 0.5 |
|
static |
Ugly hack to apply energy corrections to some HB- cells.
Definition at line 634 of file HcalSimpleRecAlgo.cc.
References corr, relval_parameters_module::energy, create_public_lumi_plots::exp, and slope.
Referenced by PFClusterProducer::PFClusterProducer(), PFMultiDepthClusterProducer::PFMultiDepthClusterProducer(), HcalSimpleRecAlgoImpl::reco(), and HcalSimpleRecAlgoImpl::recoHBHE().
|
static |
Leak correction.
Definition at line 678 of file HcalSimpleRecAlgo.cc.
References corr.
Referenced by HcalSimpleRecAlgoImpl::reco(), and HcalSimpleRecAlgoImpl::recoHBHE().
|
static |
Timeshift correction for HPDs based on the position of the peak ADC measurement. Allows for an accurate determination of the relative phase of the pulse shape from the HPD. Calculated based on a weighted sum of the -1,0,+1 samples relative to the peak as follows: wpksamp = (0*sample[0] + 1*sample[1] + 2*sample[2]) / (sample[0] + sample[1] + sample[2]) where sample[1] is the maximum ADC sample value.
Definition at line 753 of file HcalSimpleRecAlgo.cc.
References actual_ns_hbheho, cmsHarvester::index, num_bins_hbheho, and wpksamp0_hbheho.
Referenced by HcalSimpleRecAlgoImpl::reco(), and HcalSimpleRecAlgoImpl::recoHBHE().
|
static |
Same as above, but for the HF PMTs.
Definition at line 877 of file HcalSimpleRecAlgo.cc.
References actual_ns_hf, cmsHarvester::index, num_bins_hf, and wpksamp0_hf.
Referenced by HcalSimpleRecAlgoImpl::recoHFTime().
|
static |
Definition at line 689 of file HcalSimpleRecAlgo.cc.
Referenced by timeshift_ns_hbheho().
|
static |
Definition at line 773 of file HcalSimpleRecAlgo.cc.
Referenced by timeshift_ns_hf().
int HPDShapev3DataNum = 105 |
Definition at line 15 of file HcalSimpleRecAlgo.cc.
Referenced by HcalSimpleRecAlgo::setForData().
int HPDShapev3MCNum = 105 |
Definition at line 16 of file HcalSimpleRecAlgo.cc.
Referenced by HcalSimpleRecAlgo::setForData().
double MaximumFractionalError = 0.002 |
Definition at line 14 of file HcalSimpleRecAlgo.cc.
|
static |
Definition at line 687 of file HcalSimpleRecAlgo.cc.
Referenced by timeshift_ns_hbheho().
|
static |
Definition at line 770 of file HcalSimpleRecAlgo.cc.
Referenced by timeshift_ns_hf().
|
static |
Definition at line 686 of file HcalSimpleRecAlgo.cc.
Referenced by timeshift_ns_hbheho().
|
static |
Definition at line 771 of file HcalSimpleRecAlgo.cc.
Referenced by timeshift_ns_hf().