CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_2_9_HLT1_bphpatch4/src/RecoLocalCalo/HcalRecAlgos/interface/HcalHFStatusBitFromRecHits.h

Go to the documentation of this file.
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