CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/RecoLocalCalo/HcalRecAlgos/interface/HBHEStatusBitSetter.h

Go to the documentation of this file.
00001 #ifndef HBHESTATUSBITSETTER_H
00002 #define HBHESTATUSBITSETTER_H 1
00003 
00004 
00005 #include "DataFormats/HcalDigi/interface/HBHEDataFrame.h"
00006 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
00007 #include "DataFormats/HcalRecHit/interface/HBHERecHit.h"
00008 #include "CondFormats/HcalObjects/interface/HcalLogicalMap.h"
00009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00010 #include "RecoLocalCalo/HcalRecAlgos/interface/HcalCaloFlagLabels.h"
00011 #include "CalibFormats/HcalObjects/interface/HcalCalibrations.h"
00012 #include "CalibFormats/HcalObjects/interface/HcalCoderDb.h"
00013 
00014 class HBHEStatusBitSetter {
00015  public:
00016   HBHEStatusBitSetter();
00017   HBHEStatusBitSetter(double nominalPedestal,double hitEnergyMinimum,int hitMultiplicityThreshold,std::vector<edm::ParameterSet> pulseShapeParameterSets, 
00018                       int firstSample=0, 
00019                       int samplesToAdd=10);
00020   ~HBHEStatusBitSetter();
00021   void Clear();
00022   void SetFlagsFromDigi(HBHERecHit& hbhe, const HBHEDataFrame& digi, const HcalCoder& coder,
00023                         const HcalCalibrations& calib);
00024   void SetFlagsFromRecHits(HBHERecHitCollection& rec);
00025  private:
00026   double hitEnergyMinimum_;
00027   int hitMultiplicityThreshold_;
00028   unsigned int firstSample_;
00029   unsigned int samplesToAdd_;
00030   double nominalPedestal_;
00031   HcalLogicalMap *logicalMap_;
00032   std::vector<int> hpdMultiplicity_;
00033   std::vector< std::vector<double> > pulseShapeParameters_;
00034 };
00035 
00036 #endif