File indexing completed on 2024-04-06 12:25:46
0001 #ifndef HCALHFSTATUSBITFROMRECHITS_H
0002 #define HCALHFSTATUSBITFROMRECHITS_H 1
0003
0004 #include "DataFormats/HcalRecHit/interface/HFRecHit.h"
0005 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
0006 #include "DataFormats/METReco/interface/HcalCaloFlagLabels.h"
0007 #include "CondFormats/HcalObjects/interface/HcalChannelQuality.h"
0008 #include "RecoLocalCalo/HcalRecAlgos/interface/HcalSeverityLevelComputer.h"
0009 #include "RecoLocalCalo/HcalRecAlgos/interface/HcalSeverityLevelComputerRcd.h"
0010
0011
0012
0013
0014
0015
0016
0017
0018 class HcalHFStatusBitFromRecHits {
0019 public:
0020
0021 HcalHFStatusBitFromRecHits();
0022 HcalHFStatusBitFromRecHits(double shortR, double shortET, double shortE, double longR, double longET, double longE);
0023
0024
0025 ~HcalHFStatusBitFromRecHits();
0026
0027
0028 void hfSetFlagFromRecHits(HFRecHitCollection& rec,
0029 HcalChannelQuality* myqual,
0030 const HcalSeverityLevelComputer* mySeverity);
0031
0032
0033 double long_hflongshortratio() { return long_HFlongshortratio_; }
0034 double long_energythreshold() { return long_thresholdEnergy_; }
0035 double long_ETthreshold() { return long_thresholdET_; }
0036 double short_hflongshortratio() { return short_HFlongshortratio_; }
0037 double short_energythreshold() { return short_thresholdEnergy_; }
0038 double short_ETthreshold() { return short_thresholdET_; }
0039
0040 double bit() { return HcalCaloFlagLabels::HFLongShort; }
0041
0042
0043 void set_long_hflongshortratio(double x) {
0044 long_HFlongshortratio_ = x;
0045 return;
0046 }
0047 void set_long_energythreshold(double x) {
0048 long_thresholdEnergy_ = x;
0049 return;
0050 }
0051 void set_long_ETthreshold(double x) {
0052 long_thresholdET_ = x;
0053 return;
0054 }
0055 void set_short_hflongshortratio(double x) {
0056 short_HFlongshortratio_ = x;
0057 return;
0058 }
0059 void set_short_energythreshold(double x) {
0060 short_thresholdEnergy_ = x;
0061 return;
0062 }
0063 void set_short_ETthreshold(double x) {
0064 short_thresholdET_ = x;
0065 return;
0066 }
0067
0068 private:
0069
0070 double long_HFlongshortratio_;
0071 double long_thresholdET_;
0072 double long_thresholdEnergy_;
0073 double short_HFlongshortratio_;
0074 double short_thresholdET_;
0075 double short_thresholdEnergy_;
0076 };
0077
0078 #endif