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
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