#include <ZdcSimpleRecAlgo.h>
Public Member Functions | |
void | initPulseCorr (int toadd) |
HcalCalibRecHit | reconstruct (const HcalCalibDataFrame &digi, const std::vector< unsigned int > &myNoiseTS, const std::vector< unsigned int > &mySignalTS, const HcalCoder &coder, const HcalCalibrations &calibs) const |
ZDCRecHit | reconstruct (const ZDCDataFrame &digi, const std::vector< unsigned int > &myNoiseTS, const std::vector< unsigned int > &mySignalTS, const HcalCoder &coder, const HcalCalibrations &calibs) const |
ZdcSimpleRecAlgo (bool correctForTimeslew, bool correctForContainment, float fixedPhaseNs, int recoMethod, int lowGainOffset, double lowGainFrac) | |
ZdcSimpleRecAlgo (int recoMethod) | |
Private Attributes | |
bool | correctForPulse_ |
bool | correctForTimeslew_ |
double | lowGainFrac_ |
int | lowGainOffset_ |
float | phaseNS_ |
std::auto_ptr < HcalPulseContainmentCorrection > | pulseCorr_ |
int | recoMethod_ |
This class reconstructs RecHits from Digis for ZDC by addition of selected time samples, pedestal subtraction, and gain application. The time of the hit is reconstructed using a weighted peak bin calculation supplemented by precise time lookup table. A consumer of this class also has the option of correcting the reconstructed time for energy-dependent time slew associated with the QIE.
A sencon method based on a based on a event by event substraction is also implelented. signal = (S4 + S5 - 2*(S1+S2+S3 + S7+S8+S9+S10))*(ft-Gev constant) where SN is the signal in the nth time slice
Definition at line 37 of file ZdcSimpleRecAlgo.h.
ZdcSimpleRecAlgo::ZdcSimpleRecAlgo | ( | bool | correctForTimeslew, |
bool | correctForContainment, | ||
float | fixedPhaseNs, | ||
int | recoMethod, | ||
int | lowGainOffset, | ||
double | lowGainFrac | ||
) |
Full featured constructor for ZDC
Definition at line 12 of file ZdcSimpleRecAlgo.cc.
: recoMethod_(recoMethod), correctForTimeslew_(correctForTimeslew), correctForPulse_(correctForPulse), phaseNS_(phaseNS), lowGainOffset_(lowGainOffset), lowGainFrac_(lowGainFrac) { }
ZdcSimpleRecAlgo::ZdcSimpleRecAlgo | ( | int | recoMethod | ) |
Simple constructor for PMT-based detectors
Definition at line 22 of file ZdcSimpleRecAlgo.cc.
: recoMethod_(recoMethod), correctForTimeslew_(false) { }
void ZdcSimpleRecAlgo::initPulseCorr | ( | int | toadd | ) |
Definition at line 26 of file ZdcSimpleRecAlgo.cc.
References correctForPulse_, MaximumFractionalError, phaseNS_, and pulseCorr_.
Referenced by ZdcSimpleReconstructor::produce().
{ if (correctForPulse_) { pulseCorr_=std::auto_ptr<HcalPulseContainmentCorrection>(new HcalPulseContainmentCorrection(toadd,phaseNS_,MaximumFractionalError)); } }
HcalCalibRecHit ZdcSimpleRecAlgo::reconstruct | ( | const HcalCalibDataFrame & | digi, |
const std::vector< unsigned int > & | myNoiseTS, | ||
const std::vector< unsigned int > & | mySignalTS, | ||
const HcalCoder & | coder, | ||
const HcalCalibrations & | calibs | ||
) | const |
ZDCRecHit ZdcSimpleRecAlgo::reconstruct | ( | const ZDCDataFrame & | digi, |
const std::vector< unsigned int > & | myNoiseTS, | ||
const std::vector< unsigned int > & | mySignalTS, | ||
const HcalCoder & | coder, | ||
const HcalCalibrations & | calibs | ||
) | const |
Definition at line 230 of file ZdcSimpleRecAlgo.cc.
References Exception, HcalTimeSlew::Fast, lowGainFrac_, lowGainOffset_, and recoMethod_.
Referenced by ZdcHitReconstructor::produce(), and ZdcSimpleReconstructor::produce().
{ if(recoMethod_ == 1) return ZdcSimpleRecAlgoImpl::reco1<ZDCDataFrame,ZDCRecHit>(digi,coder,calibs, myNoiseTS,mySignalTS,lowGainOffset_,lowGainFrac_,false, 0, HcalTimeSlew::Fast); if(recoMethod_ == 2) return ZdcSimpleRecAlgoImpl::reco2<ZDCDataFrame,ZDCRecHit>(digi,coder,calibs, myNoiseTS,mySignalTS,lowGainOffset_,lowGainFrac_,false, 0,HcalTimeSlew::Fast); edm::LogError("ZDCSimpleRecAlgoImpl::reconstruct, recoMethod was not declared"); throw cms::Exception("ZDCSimpleRecoAlgos::exiting process"); }
bool ZdcSimpleRecAlgo::correctForPulse_ [private] |
Definition at line 50 of file ZdcSimpleRecAlgo.h.
Referenced by initPulseCorr().
bool ZdcSimpleRecAlgo::correctForTimeslew_ [private] |
Definition at line 49 of file ZdcSimpleRecAlgo.h.
double ZdcSimpleRecAlgo::lowGainFrac_ [private] |
Definition at line 54 of file ZdcSimpleRecAlgo.h.
Referenced by reconstruct().
int ZdcSimpleRecAlgo::lowGainOffset_ [private] |
Definition at line 53 of file ZdcSimpleRecAlgo.h.
Referenced by reconstruct().
float ZdcSimpleRecAlgo::phaseNS_ [private] |
Definition at line 51 of file ZdcSimpleRecAlgo.h.
Referenced by initPulseCorr().
std::auto_ptr<HcalPulseContainmentCorrection> ZdcSimpleRecAlgo::pulseCorr_ [private] |
Definition at line 55 of file ZdcSimpleRecAlgo.h.
Referenced by initPulseCorr().
int ZdcSimpleRecAlgo::recoMethod_ [private] |
Definition at line 48 of file ZdcSimpleRecAlgo.h.
Referenced by reconstruct().