CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/RecoLocalCalo/HcalRecAlgos/interface/HcalSimpleRecAlgo.h

Go to the documentation of this file.
00001 #ifndef HCALSIMPLERECALGO_H
00002 #define HCALSIMPLERECALGO_H 1
00003 
00004 #include "DataFormats/HcalDigi/interface/HBHEDataFrame.h"
00005 #include "DataFormats/HcalDigi/interface/HFDataFrame.h"
00006 #include "DataFormats/HcalDigi/interface/HODataFrame.h"
00007 #include "DataFormats/HcalDigi/interface/ZDCDataFrame.h"
00008 #include "DataFormats/HcalDigi/interface/HcalCalibDataFrame.h"
00009 #include "DataFormats/HcalRecHit/interface/HBHERecHit.h"
00010 #include "DataFormats/HcalRecHit/interface/HFRecHit.h"
00011 #include "DataFormats/HcalRecHit/interface/HORecHit.h"
00012 #include "DataFormats/HcalRecHit/interface/ZDCRecHit.h"
00013 #include "DataFormats/HcalRecHit/interface/HcalCalibRecHit.h"
00014 #include "CalibFormats/HcalObjects/interface/HcalCoder.h"
00015 #include "CalibFormats/HcalObjects/interface/HcalCalibrations.h"
00016 #include "CalibCalorimetry/HcalAlgos/interface/HcalPulseContainmentCorrection.h"
00017 #include <memory>
00018 
00032 class HcalSimpleRecAlgo {
00033 public:
00035   HcalSimpleRecAlgo(int firstSample, int samplesToAdd, bool correctForTimeslew, 
00036                     bool correctForContainment, float fixedPhaseNs);
00038   HcalSimpleRecAlgo(int firstSample, int samplesToAdd);
00039 
00040 // ugly hack only for purposes of 3.11 HF treatment
00041   void resetTimeSamples(int firstSample, int samplesToAdd);
00042 
00043   HBHERecHit reconstruct(const HBHEDataFrame& digi, const HcalCoder& coder, const HcalCalibrations& calibs) const;
00044   HFRecHit reconstruct(const HFDataFrame& digi, const HcalCoder& coder, const HcalCalibrations& calibs) const;
00045   HORecHit reconstruct(const HODataFrame& digi, const HcalCoder& coder, const HcalCalibrations& calibs) const;
00046   HcalCalibRecHit reconstruct(const HcalCalibDataFrame& digi, const HcalCoder& coder, const HcalCalibrations& calibs) const;
00047 private:
00048   int firstSample_, samplesToAdd_;
00049   bool correctForTimeslew_;
00050   std::auto_ptr<HcalPulseContainmentCorrection> pulseCorr_;
00051 };
00052 
00053 #endif