Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:10:49

0001 #ifndef L1T_PACKER_STAGE2_LAYER1UNPACKER_H
0002 #define L1T_PACKER_STAGE2_LAYER1UNPACKER_H
0003 
0004 #include "EventFilter/L1TRawToDigi/interface/Unpacker.h"
0005 #include "CaloLayer1Collections.h"
0006 #include "UCTCTP7RawData.h"
0007 #include "UCTCTP7RawData_HCALFB.h"
0008 #include "UCTCTP7RawData5BX.h"
0009 #include "UCTCTP7RawData5BX_HCALFB.h"
0010 
0011 namespace l1t {
0012   namespace stage2 {
0013     class CaloLayer1Unpacker : public Unpacker {
0014     public:
0015       bool unpack(const Block& block, UnpackerCollections* coll) override;
0016 
0017     private:
0018       void makeECalTPGs(uint32_t lPhi, UCTCTP7RawData& ctp7Data, EcalTrigPrimDigiCollection* ecalTPGs);
0019       void makeHCalTPGs(uint32_t lPhi, UCTCTP7RawData& ctp7Data, HcalTrigPrimDigiCollection* hcalTPGs);
0020       void makeHFTPGs(uint32_t lPhi, UCTCTP7RawData& ctp7Data, HcalTrigPrimDigiCollection* hcalTPGs);
0021       void makeRegions(uint32_t lPhi, UCTCTP7RawData& ctp7Data, L1CaloRegionCollection* regions);
0022       void makeECalTPGs_HCALFB(uint32_t lPhi,
0023                                UCTCTP7RawData_HCALFB& ctp7Data_HCALFB,
0024                                EcalTrigPrimDigiCollection* ecalTPGs);
0025       void makeHCalTPGs_HCALFB(uint32_t lPhi,
0026                                UCTCTP7RawData_HCALFB& ctp7Data_HCALFB,
0027                                HcalTrigPrimDigiCollection* hcalTPGs);
0028       void makeHFTPGs_HCALFB(uint32_t lPhi,
0029                              UCTCTP7RawData_HCALFB& ctp7Data_HCALFB,
0030                              HcalTrigPrimDigiCollection* hcalTPGs);
0031       void makeRegions_HCALFB(uint32_t lPhi, UCTCTP7RawData_HCALFB& ctp7Data_HCALFB, L1CaloRegionCollection* regions);
0032       void makeECalTPGs5BX(uint32_t lPhi,
0033                            UCTCTP7RawData5BX& ctp7Data5BX,
0034                            EcalTrigPrimDigiCollection* ecalTPGs,
0035                            uint32_t BX_n);
0036       void makeHCalTPGs5BX(uint32_t lPhi,
0037                            UCTCTP7RawData5BX& ctp7Data5BX,
0038                            HcalTrigPrimDigiCollection* hcalTPGs,
0039                            uint32_t BX_n);
0040       void makeHFTPGs5BX(uint32_t lPhi,
0041                          UCTCTP7RawData5BX& ctp7Data5BX,
0042                          HcalTrigPrimDigiCollection* hcalTPGs,
0043                          uint32_t BX_n);
0044       void makeRegions5BX(uint32_t lPhi, UCTCTP7RawData5BX& ctp7Data5BX, L1CaloRegionCollection* regions, uint32_t BX_n);
0045       void makeECalTPGs5BX_HCALFB(uint32_t lPhi,
0046                                   UCTCTP7RawData5BX_HCALFB& ctp7Data5BX_HCALFB,
0047                                   EcalTrigPrimDigiCollection* ecalTPGs,
0048                                   uint32_t BX_n);
0049       void makeHCalTPGs5BX_HCALFB(uint32_t lPhi,
0050                                   UCTCTP7RawData5BX_HCALFB& ctp7Data5BX_HCALFB,
0051                                   HcalTrigPrimDigiCollection* hcalTPGs,
0052                                   uint32_t BX_n);
0053       void makeHFTPGs5BX_HCALFB(uint32_t lPhi,
0054                                 UCTCTP7RawData5BX_HCALFB& ctp7Data5BX_HCALFB,
0055                                 HcalTrigPrimDigiCollection* hcalTPGs,
0056                                 uint32_t BX_n);
0057       void makeRegions5BX_HCALFB(uint32_t lPhi,
0058                                  UCTCTP7RawData5BX_HCALFB& ctp7Data5BX_HCALFB,
0059                                  L1CaloRegionCollection* regions,
0060                                  uint32_t BX_n);
0061     };
0062   }  // namespace stage2
0063 }  // namespace l1t
0064 
0065 #endif