CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/RecoLocalCalo/HcalRecAlgos/interface/ZdcSimpleRecAlgo.h

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    // new lowGainEnergy variables
00053    int lowGainOffset_;
00054    double lowGainFrac_;
00055   std::auto_ptr<HcalPulseContainmentCorrection> pulseCorr_;
00056 };
00057 
00058 #endif