Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:50:17

0001 #ifndef L1GlobalTrigger_L1GlobalTriggerReadoutSetup_h
0002 #define L1GlobalTrigger_L1GlobalTriggerReadoutSetup_h
0003 
0004 /**
0005  * \class L1GlobalTriggerReadoutSetup
0006  * 
0007  * 
0008  * Description: group static constants for GT readout record.  
0009  *
0010  * Implementation:
0011  *    <TODO: enter implementation details>
0012  *   
0013  * \author: Vasile Mihai Ghete - HEPHY Vienna
0014  * 
0015  *
0016  */
0017 
0018 // system include files
0019 #include <string>
0020 #include <vector>
0021 #include <map>
0022 
0023 // user include files
0024 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h"
0025 #include "FWCore/Utilities/interface/typedefs.h"
0026 
0027 // forward declarations
0028 
0029 // class declaration
0030 class L1GlobalTriggerReadoutSetup {
0031 public:
0032   L1GlobalTriggerReadoutSetup();
0033   virtual ~L1GlobalTriggerReadoutSetup();
0034 
0035 public:
0036   static const unsigned int NumberPhysTriggers = 128;
0037   static const unsigned int NumberPhysTriggersExtended = 64;  // in addition to 128
0038   static const unsigned int NumberTechnicalTriggers = 64;
0039 
0040   static const unsigned int NumberL1Muons = 4;
0041 
0042   static const unsigned int NumberL1Electrons = 4;
0043   static const unsigned int NumberL1IsolatedElectrons = 4;
0044 
0045   static const unsigned int NumberL1CentralJets = 4;
0046   static const unsigned int NumberL1ForwardJets = 4;
0047   static const unsigned int NumberL1TauJets = 4;
0048 
0049   static const unsigned int NumberL1JetCounts = 12;
0050 
0051 public:
0052   /// GT DAQ record organized in words of WordLength bits
0053   static const int WordLength = 64;
0054 
0055   /// one unit in the word is UnitLength bits
0056   static const int UnitLength = 8;
0057 
0058 public:
0059   // muons are represented as 32 bits (actually 26 bits)
0060   static const unsigned int NumberMuonBits = 32;
0061   static const unsigned int MuonEtaBits = 6;  // MSB: sign (0+/1-), 5 bits: value
0062 
0063   // e-gamma, jet objects have 16 bits
0064   static const unsigned int NumberCaloBits = 16;
0065   static const unsigned int CaloEtaBits = 4;  // MSB: sign (0+/1-), 3 bits: value
0066 
0067   // missing Et has 32 bits
0068   static const unsigned int NumberMissingEtBits = 32;
0069 
0070   // twelve jet counts, encoded in five bits per count; six jets per 32-bit word
0071   // code jet count = 31 indicate overflow condition
0072   static const unsigned int NumberJetCountsBits = 32;
0073   static const unsigned int NumberJetCountsWords = 2;
0074   static const unsigned int NumberCountBits = 5;
0075 
0076   /// number of PSB boards in GT
0077   static const int NumberPsbBoards = 7;
0078 };
0079 
0080 #endif /*L1GlobalTrigger_L1GlobalTriggerReadoutSetup_h*/