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 ~HBHEStatusBitSetter();
00019 void Clear();
00020 void SetFlagsFromDigi(const HcalTopology* topo,HBHERecHit& hbhe, const HBHEDataFrame& digi, const HcalCoder& coder,
00021 const HcalCalibrations& calib,
00022 int firstSample=3,
00023 int samplesToAdd=4
00024 );
00025 void SetFlagsFromRecHits(const HcalTopology* topo,HBHERecHitCollection& rec);
00026 private:
00027 double hitEnergyMinimum_;
00028 int hitMultiplicityThreshold_;
00029 unsigned int firstSample_;
00030 unsigned int samplesToAdd_;
00031 double nominalPedestal_;
00032 HcalLogicalMap *logicalMap_;
00033 std::vector<int> hpdMultiplicity_;
00034 std::vector< std::vector<double> > pulseShapeParameters_;
00035 };
00036
00037 #endif