00001 #ifndef EVF_FED1023_H 00002 #define EVF_FED1023_H 00003 00004 #include "EventFilter/FEDInterface/interface/FEDConstants.h" 00005 00006 namespace evf{ 00007 namespace fedinterface{ 00008 00010 //FED1023 format definition 00011 //Offsets go right to left - in BYTES !!! 00012 //LW\SB 63..............................32 31..............................0 00013 //00 <=======================FED HEADER ================================> 00014 //01 <63-44 PCId ><43-32 RBInst# > <31-0 RB event count > 00015 //02 <63-00 Reserved > 00016 //03 <63-00 In wallclock time in RB > 00017 //04 <63-48 EPPId ><47-32 EPinst# > <31-0 EP event Id > 00018 //05 <63-48 EP VER ><47-32 CMSSW VER > <31-0 EP event count > 00019 //06 <63-00 EP History > 00020 //07 <63-00 HLT algo bits 1 > 00021 //08 <63-00 HLT algo bits 2 > 00022 //09 <63-00 HLT algo bits 3 > 00023 //0a <63-00 Reserved > 00024 //0b <63-00 Reserved > 00025 //0c <63-00 Out wallclock time from EP > 00026 //0d <=======================FED TRAILER ===============================> 00028 const unsigned int EVFFED_ID = 1023; 00029 const unsigned int EVFFED_VERSION = 0x0; 00030 const unsigned int EVFFED_TOTALSIZE = 112; // in bytes 00031 const unsigned int EVFFED_LENGTH = EVFFED_TOTALSIZE/evtn::SLINK_WORD_SIZE; // in SLINK WORDS 00032 const unsigned int EVFFED_PAYLOAD_OFFSET = evtn::FED_HEADER_SIZE; 00033 const unsigned int EVFFED_RBEVCNT_OFFSET = EVFFED_PAYLOAD_OFFSET; 00034 const unsigned int EVFFED_RBIDENT_OFFSET = EVFFED_RBEVCNT_OFFSET + evtn::SLINK_HALFWORD_SIZE; 00035 const unsigned int EVFFED_RBPCIDE_MASK = 0x000fffff; 00036 const unsigned int EVFFED_RBPCIDE_SHIFT = 12; 00037 const unsigned int EVFFED_RBINSTA_MASK = 0x00000fff; 00038 const unsigned int EVFFED_RBINSTA_SHIFT = 0; 00039 const unsigned int EVFFED_RBWCTIM_OFFSET = EVFFED_RBIDENT_OFFSET + 3 * evtn::SLINK_HALFWORD_SIZE; 00040 const unsigned int EVFFED_EPEVENT_OFFSET = EVFFED_RBWCTIM_OFFSET + evtn::SLINK_WORD_SIZE; 00041 const unsigned int EVFFED_EPIDENT_OFFSET = EVFFED_EPEVENT_OFFSET + evtn::SLINK_HALFWORD_SIZE; 00042 const unsigned int EVFFED_EPPCIDE_MASK = 0x000fffff; 00043 const unsigned int EVFFED_EPPCIDE_SHIFT = 12; 00044 const unsigned int EVFFED_EPINSTA_MASK = 0x00000fff; 00045 const unsigned int EVFFED_EPINSTA_SHIFT = 0; 00046 const unsigned int EVFFED_EPEVTCT_OFFSET = EVFFED_EPIDENT_OFFSET + evtn::SLINK_HALFWORD_SIZE; 00047 const unsigned int EVFFED_EPVERSN_OFFSET = EVFFED_EPEVTCT_OFFSET + evtn::SLINK_HALFWORD_SIZE; 00048 const unsigned int EVFFED_EPVERSN_MASK = 0xffff0000; 00049 const unsigned int EVFFED_EPVERSN_SHIFT = 16; 00050 const unsigned int EVFFED_CMSSWVN_MASK = 0x0000ffff; 00051 const unsigned int EVFFED_CMSSWVN_SHIFT = 0; 00052 const unsigned int EVFFED_EPHISTO_OFFSET = EVFFED_EPVERSN_OFFSET + evtn::SLINK_HALFWORD_SIZE; 00053 const unsigned int EVFFED_EPHLTA1_OFFSET = EVFFED_EPHISTO_OFFSET + evtn::SLINK_WORD_SIZE; 00054 const unsigned int EVFFED_EPHLTA2_OFFSET = EVFFED_EPHLTA1_OFFSET + evtn::SLINK_WORD_SIZE; 00055 const unsigned int EVFFED_EPHLTA3_OFFSET = EVFFED_EPHLTA2_OFFSET + evtn::SLINK_WORD_SIZE; 00056 const unsigned int EVFFED_EPWCTIM_OFFSET = EVFFED_EPHLTA3_OFFSET + 3 * evtn::SLINK_WORD_SIZE; 00057 } 00058 } 00059 #endif