Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:20:17

0001 // Stage1TauIsolationLUT.h
0002 // Author: Leonard Apanasevich
0003 //
0004 
0005 #ifndef STAGE1TAUISOLATIONLUT_H
0006 #define STAGE1TAUISOLATIONLUT_H
0007 
0008 #define NBITS_JET_ET_LUT 8
0009 #define NBITS_TAU_ET_LUT 8
0010 #define NBITS_DATA 1  // number of bits in the payload
0011 #define LUT_VERSION \
0012   1  // bump up the version number is any of the above is changed or if the relative tau iso algo is changed
0013 
0014 #include <iostream>
0015 #include <cmath>
0016 #include "L1Trigger/L1TCalorimeter/interface/CaloParamsHelper.h"
0017 
0018 namespace l1t {
0019 
0020   class Stage1TauIsolationLUT {
0021   public:
0022     static const unsigned int nbitsJet;    // number of bits used to store JET ET in LUT
0023     static const unsigned int nbitsTau;    // number of bits used to store TAU ET in LUT
0024     static const unsigned int nbits_data;  // number of bits in the payload
0025     static const unsigned int lut_version;
0026 
0027     Stage1TauIsolationLUT(CaloParamsHelper const* params);
0028     virtual ~Stage1TauIsolationLUT();
0029 
0030     unsigned lutAddress(unsigned int, unsigned int) const;
0031     int lutPayload(unsigned int) const;
0032 
0033   private:
0034     CaloParamsHelper const* const params_;
0035     //double tauMaxJetIsolationA;
0036     //double tauMaxJetIsolationB;
0037     //int tauMinPtJetIsolationB;
0038   };
0039 
0040 }  // namespace l1t
0041 #endif