Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:28

0001 #ifndef SIMCALORIMETRY_ECALTRIGPRIMALGOS_ECALFENIXETTOT_H
0002 #define SIMCALORIMETRY_ECALTRIGPRIMALGOS_ECALFENIXETTOT_H
0003 
0004 #include "DataFormats/EcalDigi/interface/EBDataFrame.h"
0005 #include <vector>
0006 
0007 /**
0008     \class EcalFenixEtTot
0009 
0010     \brief class for calculation of Et for Fenix tcp
0011     *  calculates the sum.
0012     * As in the firmware the Et sum is splitted in even and odd sum according to the OddEvenBit.
0013     * The bit (14th) is handled by strip.
0014     *
0015     *  inputs:
0016     *        -5x 12 bits (12 first bits of output of passlin or take 13 bits and
0017    select the first 12 ones in the class...
0018     *         for EBDataFrame
0019               5X 10 bits (10 first bits)
0020               according to the second parameter)
0021     *        -number of interesting bits according EE or EBDataFrame
0022              -mask to apply before checking for oddEven flaf
0023     *
0024     *  output :12 bits (EB) or 10(EE)
0025     *
0026     *  in case of overflow, result is set to (2**12)-1 or (2**10)-1
0027     */
0028 class EcalFenixEtTot {
0029 public:
0030   EcalFenixEtTot();
0031   virtual ~EcalFenixEtTot();
0032   virtual std::vector<int> process(const std::vector<EBDataFrame *> &);
0033 
0034   void process(std::vector<std::vector<int>> &,
0035                int nStr,
0036                int bitMask,
0037                int bitOddEven,
0038                std::vector<int> &out_even,
0039                std::vector<int> &out_odd);
0040 
0041 private:
0042 };
0043 
0044 #endif