00001 #ifndef HCALHFSTATUSBITFROMRECHITS_H 00002 #define HCALHFSTATUSBITFROMRECHITS_H 1 00003 00004 #include "DataFormats/HcalRecHit/interface/HFRecHit.h" 00005 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" 00006 #include "RecoLocalCalo/HcalRecAlgos/interface/HcalCaloFlagLabels.h" 00007 #include "CondFormats/HcalObjects/interface/HcalChannelQuality.h" 00008 #include "RecoLocalCalo/HcalRecAlgos/interface/HcalSeverityLevelComputer.h" 00009 #include "RecoLocalCalo/HcalRecAlgos/interface/HcalSeverityLevelComputerRcd.h" 00010 00011 00021 class HcalHFStatusBitFromRecHits { 00022 public: 00024 HcalHFStatusBitFromRecHits(); 00025 HcalHFStatusBitFromRecHits(double shortR, double shortET, double shortE, 00026 double longR, double longET, double longE); 00027 00028 // Destructor 00029 ~HcalHFStatusBitFromRecHits(); 00030 00031 // The important stuff! Methods for setting the status flag values 00032 void hfSetFlagFromRecHits(HFRecHitCollection& rec, 00033 HcalChannelQuality* myqual, 00034 const HcalSeverityLevelComputer* mySeverity); 00035 00036 // getter functions 00037 double long_hflongshortratio(){return long_HFlongshortratio_;} 00038 double long_energythreshold(){return long_thresholdEnergy_;} 00039 double long_ETthreshold(){return long_thresholdET_;} 00040 double short_hflongshortratio(){return short_HFlongshortratio_;} 00041 double short_energythreshold(){return short_thresholdEnergy_;} 00042 double short_ETthreshold(){return short_thresholdET_;} 00043 00044 double bit(){return HcalCaloFlagLabels::HFLongShort;} 00045 00046 // setter functions 00047 void set_long_hflongshortratio(double x){long_HFlongshortratio_=x; return;} 00048 void set_long_energythreshold(double x){long_thresholdEnergy_=x; return;} 00049 void set_long_ETthreshold(double x){long_thresholdET_=x; return;} 00050 void set_short_hflongshortratio(double x){short_HFlongshortratio_=x; return;} 00051 void set_short_energythreshold(double x){short_thresholdEnergy_=x; return;} 00052 void set_short_ETthreshold(double x){short_thresholdET_=x; return;} 00053 00054 private: 00055 // variables for cfg files 00056 double long_HFlongshortratio_; 00057 double long_thresholdET_; // minimum energy needed before the noise algorithm is run 00058 double long_thresholdEnergy_; 00059 double short_HFlongshortratio_; 00060 double short_thresholdET_; // minimum energy needed before the noise algorithm is run 00061 double short_thresholdEnergy_; 00062 }; 00063 00064 #endif