CMS 3D CMS Logo

Public Member Functions | Private Attributes

ZdcSimpleRecAlgo Class Reference

#include <ZdcSimpleRecAlgo.h>

List of all members.

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_

Detailed Description

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

Date:
2011/11/10 10:15:17
Revision:
1.4
Author:
E. Garcia CSU & J. Gomez UMD

Definition at line 37 of file ZdcSimpleRecAlgo.h.


Constructor & Destructor Documentation

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) {
}

Member Function Documentation

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");
   
}

Member Data Documentation

Definition at line 50 of file ZdcSimpleRecAlgo.h.

Referenced by initPulseCorr().

Definition at line 49 of file ZdcSimpleRecAlgo.h.

Definition at line 54 of file ZdcSimpleRecAlgo.h.

Referenced by reconstruct().

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().

Definition at line 55 of file ZdcSimpleRecAlgo.h.

Referenced by initPulseCorr().

Definition at line 48 of file ZdcSimpleRecAlgo.h.

Referenced by reconstruct().