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)
 ZdcSimpleRecAlgo (int recoMethod)

Private Attributes

bool correctForPulse_
bool correctForTimeslew_
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/02/23 22:51:18
Revision:
1.3
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 
)

Full featured constructor for ZDC

Definition at line 12 of file ZdcSimpleRecAlgo.cc.

                                                                                                               : 
  recoMethod_(recoMethod),
  correctForTimeslew_(correctForTimeslew),
  correctForPulse_(correctForPulse) {
}
ZdcSimpleRecAlgo::ZdcSimpleRecAlgo ( int  recoMethod)

Simple constructor for PMT-based detectors

Definition at line 18 of file ZdcSimpleRecAlgo.cc.

                                                 : 
  recoMethod_(recoMethod),
  correctForTimeslew_(false) {
}

Member Function Documentation

void ZdcSimpleRecAlgo::initPulseCorr ( int  toadd)

Definition at line 22 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 181 of file ZdcSimpleRecAlgo.cc.

References Exception, HcalTimeSlew::Fast, and recoMethod_.

Referenced by ZdcHitReconstructor::produce(), and ZdcSimpleReconstructor::produce().

                                                                                                                                                                                                                  {
 
  if(recoMethod_ == 1)
   return ZdcSimpleRecAlgoImpl::reco1<ZDCDataFrame,ZDCRecHit>(digi,coder,calibs,
                                                              myNoiseTS,mySignalTS,false,
                                                              0,
                                                              HcalTimeSlew::Fast);
  if(recoMethod_ == 2)
   return ZdcSimpleRecAlgoImpl::reco2<ZDCDataFrame,ZDCRecHit>(digi,coder,calibs,
                                                              myNoiseTS,mySignalTS,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.

float ZdcSimpleRecAlgo::phaseNS_ [private]

Definition at line 51 of file ZdcSimpleRecAlgo.h.

Referenced by initPulseCorr().

Definition at line 52 of file ZdcSimpleRecAlgo.h.

Referenced by initPulseCorr().

Definition at line 48 of file ZdcSimpleRecAlgo.h.

Referenced by reconstruct().