Go to the documentation of this file.00001 #ifndef ZDCSIMPLERECALGO_H
00002 #define ZDCSIMPLERECALGO_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
00037 class ZdcSimpleRecAlgo {
00038 public:
00040 ZdcSimpleRecAlgo(bool correctForTimeslew,
00041 bool correctForContainment, float fixedPhaseNs, int recoMethod, int lowGainOffset, double lowGainFrac);
00043 ZdcSimpleRecAlgo(int recoMethod);
00044 void initPulseCorr(int toadd);
00045 ZDCRecHit reconstruct(const ZDCDataFrame& digi, const std::vector<unsigned int>& myNoiseTS, const std::vector<unsigned int>& mySignalTS, const HcalCoder& coder, const HcalCalibrations& calibs) const;
00046 HcalCalibRecHit reconstruct(const HcalCalibDataFrame& digi, const std::vector<unsigned int>& myNoiseTS, const std::vector<unsigned int>& mySignalTS, const HcalCoder& coder, const HcalCalibrations& calibs) const;
00047 private:
00048 int recoMethod_;
00049 bool correctForTimeslew_;
00050 bool correctForPulse_;
00051 float phaseNS_;
00052
00053 int lowGainOffset_;
00054 double lowGainFrac_;
00055 std::auto_ptr<HcalPulseContainmentCorrection> pulseCorr_;
00056 };
00057
00058 #endif