Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:58:11

0001 #ifndef CALIBFORMATS_CALOTPG_HCALTPGSCALE_H
0002 #define CALIBFORMATS_CALOTPG_HCALTPGSCALE_H 1
0003 
0004 #include "DataFormats/HcalDetId/interface/HcalTrigTowerDetId.h"
0005 #include "DataFormats/HcalDigi/interface/HcalTriggerPrimitiveSample.h"
0006 
0007 namespace edm {
0008   class EventSetup;
0009 }
0010 
0011 /** \class HcalTPGScale
0012  *
0013  *  To be stored in the CaloTPGRecord
0014  *  
0015  * \author J. Mans - Minnesota
0016  */
0017 class HcalTPGScale {
0018 public:
0019   virtual ~HcalTPGScale() = default;
0020   /** \brief nominal ET value of this sample/code as to be used in
0021       RCT LUT creation */
0022   virtual double et_RCT(const HcalTrigTowerDetId& id, const HcalTriggerPrimitiveSample& s) const = 0;
0023   /// smallest ET value which would resolve into this sample
0024   virtual double et_bin_low(const HcalTrigTowerDetId& id, const HcalTriggerPrimitiveSample& s) const = 0;
0025   /** smallest ET value which would not resolve into sample (too big) */
0026   virtual double et_bin_high(const HcalTrigTowerDetId& id, const HcalTriggerPrimitiveSample& s) const = 0;
0027   /// Get any needed information from the event setup
0028   virtual void setup(const edm::EventSetup& es) const {}
0029   /// Release any objects obtained from the EventSetup
0030   virtual void releaseSetup() const {}
0031 };
0032 
0033 #endif