#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 "RecoLocalCalo/HcalRecAlgos/interface/HcalCorrectionFunctions.h"
#include "DataFormats/METReco/interface/HcalCaloFlagLabels.h"
#include <algorithm>
#include <cmath>
Go to the source code of this file.
Namespaces | |
HcalSimpleRecAlgoImpl | |
Functions | |
float | hbminus_special_ecorr (int ieta, int iphi, double energy, 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) |
float | timeshift_ns_hbheho (float wpksamp) |
static float | timeshift_ns_hf (float wpksamp) |
Timeshift correction 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 |
float hbminus_special_ecorr | ( | int | ieta, |
int | iphi, | ||
double | energy, | ||
int | runnum | ||
) |
Ugly hack to apply energy corrections to some HB- cells.
Special energy correction for some HB- cells.
Definition at line 611 of file HcalSimpleRecAlgo.cc.
References corr, relval_parameters_module::energy, create_public_lumi_plots::exp, and slope.
Referenced by SimpleHBHEPhase1Algo::hbminusCorrectionFactor(), HcalSimpleRecAlgoImpl::reco(), and HcalSimpleRecAlgoImpl::recoHBHE().
|
static |
Leak correction.
Definition at line 655 of file HcalSimpleRecAlgo.cc.
References corr.
Referenced by HcalSimpleRecAlgoImpl::reco(), and HcalSimpleRecAlgoImpl::recoHBHE().
float timeshift_ns_hbheho | ( | float | wpksamp | ) |
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 730 of file HcalSimpleRecAlgo.cc.
References actual_ns_hbheho, cmsHarvester::index, num_bins_hbheho, and wpksamp0_hbheho.
Referenced by SimpleHBHEPhase1Algo::m0Time(), HcalSimpleRecAlgoImpl::reco(), and HcalSimpleRecAlgoImpl::recoHBHE().
|
static |
Timeshift correction for the HF PMTs.
Definition at line 854 of file HcalSimpleRecAlgo.cc.
References actual_ns_hf, cmsHarvester::index, num_bins_hf, and wpksamp0_hf.
Referenced by HcalSimpleRecAlgoImpl::recoHFTime().
|
static |
Definition at line 666 of file HcalSimpleRecAlgo.cc.
Referenced by timeshift_ns_hbheho().
|
static |
Definition at line 750 of file HcalSimpleRecAlgo.cc.
Referenced by timeshift_ns_hf().
int HPDShapev3DataNum = 105 |
Definition at line 16 of file HcalSimpleRecAlgo.cc.
Referenced by HcalSimpleRecAlgo::setForData().
int HPDShapev3MCNum = 105 |
Definition at line 17 of file HcalSimpleRecAlgo.cc.
Referenced by HcalSimpleRecAlgo::setForData().
double MaximumFractionalError = 0.002 |
Definition at line 15 of file HcalSimpleRecAlgo.cc.
|
static |
Definition at line 664 of file HcalSimpleRecAlgo.cc.
Referenced by timeshift_ns_hbheho().
|
static |
Definition at line 747 of file HcalSimpleRecAlgo.cc.
Referenced by timeshift_ns_hf().
|
static |
Definition at line 663 of file HcalSimpleRecAlgo.cc.
Referenced by timeshift_ns_hbheho().
|
static |
Definition at line 748 of file HcalSimpleRecAlgo.cc.
Referenced by timeshift_ns_hf().