Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 10:03:36

0001 #ifndef SIMCALORIMETRY_ECALTRIGPRIMALGOS_ECALFENIXTCPFORMATEB_H
0002 #define SIMCALORIMETRY_ECALTRIGPRIMALGOS_ECALFENIXTCPFORMATEB_H
0003 
0004 #include "DataFormats/EcalDigi/interface/EcalTriggerPrimitiveSample.h"
0005 #include <vector>
0006 
0007 class EcalTPGLutGroup;
0008 class EcalTPGLutIdMap;
0009 class EcalTPGTowerStatus;
0010 class EcalTPGSpike;
0011 class EcalTPGTPMode;
0012 
0013 /**
0014     \class EcalFenixStripFormat
0015     \brief Formatting for Fenix Tcp EB
0016     *  input 10 bits from Ettot
0017     *         1 bit from fgvb  / ODD>even flag
0018     *         3 bits TriggerTowerFlag
0019     *  output: 16 bits
0020     *  simple formatting
0021     *
0022     *  Using even_sum and odd_sum as inputs. Deciding the option with TPmode options
0023      */
0024 class EcalFenixTcpFormatEB {
0025 public:
0026   EcalFenixTcpFormatEB(bool tccFormat, bool debug, bool famos, int binOfMax);
0027   virtual ~EcalFenixTcpFormatEB();
0028   virtual std::vector<int> process(const std::vector<int> &, const std::vector<int> &) {
0029     std::vector<int> v;
0030     return v;
0031   }
0032   void process(std::vector<int> &Et_even_sum,
0033                std::vector<int> &Et_odd_sum,
0034                std::vector<int> &fgvb,
0035                std::vector<int> &sfgvb,
0036                int eTTotShift,
0037                std::vector<EcalTriggerPrimitiveSample> &out,
0038                std::vector<EcalTriggerPrimitiveSample> &outTcc);
0039   void setParameters(uint32_t towid,
0040                      const EcalTPGLutGroup *ecaltpgLutGroup,
0041                      const EcalTPGLutIdMap *ecaltpgLut,
0042                      const EcalTPGTowerStatus *ecaltpgbadTT,
0043                      const EcalTPGSpike *ecaltpgSpike,
0044                      const EcalTPGTPMode *ecaltpgTPMode);
0045 
0046 private:
0047   const unsigned int *lut_;
0048   const uint16_t *badTTStatus_;
0049   uint16_t status_;
0050   bool tcpFormat_;
0051   bool debug_;
0052   bool famos_;
0053   unsigned int binOfMax_;
0054   uint16_t spikeZeroThresh_;
0055   const EcalTPGTPMode *ecaltpgTPMode_;
0056 };
0057 
0058 #endif