Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:51:17

0001 #ifndef CondFormats_L1TObjects_L1GtStableParameters_h
0002 #define CondFormats_L1TObjects_L1GtStableParameters_h
0003 
0004 /**
0005  * \class L1GtStableParameters
0006  * 
0007  * 
0008  * Description: L1 GT stable parameters.  
0009  *
0010  * Implementation:
0011  *    <TODO: enter implementation details>
0012  *   
0013  * \author: Vasile Mihai Ghete - HEPHY Vienna
0014  * 
0015  * $Date$
0016  * $Revision$
0017  *
0018  */
0019 
0020 // system include files
0021 #include "CondFormats/Serialization/interface/Serializable.h"
0022 
0023 #include <vector>
0024 
0025 #include <ostream>
0026 
0027 // user include files
0028 //   base class
0029 
0030 // forward declarations
0031 
0032 // class declaration
0033 class L1GtStableParameters {
0034 public:
0035   // constructor
0036   L1GtStableParameters();
0037 
0038   // destructor
0039   virtual ~L1GtStableParameters();
0040 
0041 public:
0042   /// get / set the number of physics trigger algorithms
0043   inline unsigned int gtNumberPhysTriggers() const { return m_numberPhysTriggers; }
0044 
0045   void setGtNumberPhysTriggers(const unsigned int&);
0046 
0047   /// get / set the additional number of physics trigger algorithms
0048   inline unsigned int gtNumberPhysTriggersExtended() const { return m_numberPhysTriggersExtended; }
0049 
0050   void setGtNumberPhysTriggersExtended(const unsigned int&);
0051 
0052   /// get / set the number of technical triggers
0053   inline unsigned int gtNumberTechnicalTriggers() const { return m_numberTechnicalTriggers; }
0054 
0055   void setGtNumberTechnicalTriggers(const unsigned int&);
0056 
0057   ///  get / set the number of L1 muons received by GT
0058   inline unsigned int gtNumberL1Mu() const { return m_numberL1Mu; }
0059 
0060   void setGtNumberL1Mu(const unsigned int&);
0061 
0062   ///  get / set the number of L1 e/gamma objects received by GT
0063   inline unsigned int gtNumberL1NoIsoEG() const { return m_numberL1NoIsoEG; }
0064 
0065   void setGtNumberL1NoIsoEG(const unsigned int&);
0066 
0067   ///  get / set the number of L1 isolated e/gamma objects received by GT
0068   inline unsigned int gtNumberL1IsoEG() const { return m_numberL1IsoEG; }
0069 
0070   void setGtNumberL1IsoEG(const unsigned int&);
0071 
0072   ///  get / set the number of L1 central jets received by GT
0073   inline unsigned int gtNumberL1CenJet() const { return m_numberL1CenJet; }
0074 
0075   void setGtNumberL1CenJet(const unsigned int&);
0076 
0077   ///  get / set the number of L1 forward jets received by GT
0078   inline unsigned int gtNumberL1ForJet() const { return m_numberL1ForJet; }
0079 
0080   void setGtNumberL1ForJet(const unsigned int&);
0081 
0082   ///  get / set the number of L1 tau jets received by GT
0083   inline unsigned int gtNumberL1TauJet() const { return m_numberL1TauJet; }
0084 
0085   void setGtNumberL1TauJet(const unsigned int&);
0086 
0087   ///  get / set the number of L1 jet counts received by GT
0088   inline unsigned int gtNumberL1JetCounts() const { return m_numberL1JetCounts; }
0089 
0090   void setGtNumberL1JetCounts(const unsigned int&);
0091 
0092   /// hardware stuff
0093 
0094   ///   get / set the number of condition chips in GTL
0095   inline unsigned int gtNumberConditionChips() const { return m_numberConditionChips; }
0096 
0097   void setGtNumberConditionChips(const unsigned int&);
0098 
0099   ///   get / set the number of pins on the GTL condition chips
0100   inline unsigned int gtPinsOnConditionChip() const { return m_pinsOnConditionChip; }
0101 
0102   void setGtPinsOnConditionChip(const unsigned int&);
0103 
0104   ///   get / set the correspondence "condition chip - GTL algorithm word"
0105   ///   in the hardware
0106   inline const std::vector<int>& gtOrderConditionChip() const { return m_orderConditionChip; }
0107 
0108   void setGtOrderConditionChip(const std::vector<int>&);
0109 
0110   ///   get / set the number of PSB boards in GT
0111   inline int gtNumberPsbBoards() const { return m_numberPsbBoards; }
0112 
0113   void setGtNumberPsbBoards(const int&);
0114 
0115   ///   get / set the number of bits for eta of calorimeter objects
0116   inline unsigned int gtIfCaloEtaNumberBits() const { return m_ifCaloEtaNumberBits; }
0117 
0118   void setGtIfCaloEtaNumberBits(const unsigned int&);
0119 
0120   ///   get / set the number of bits for eta of muon objects
0121   inline unsigned int gtIfMuEtaNumberBits() const { return m_ifMuEtaNumberBits; }
0122 
0123   void setGtIfMuEtaNumberBits(const unsigned int&);
0124 
0125   ///    get / set WordLength
0126   inline int gtWordLength() const { return m_wordLength; }
0127 
0128   void setGtWordLength(const int&);
0129 
0130   ///    get / set one UnitLength
0131   inline int gtUnitLength() const { return m_unitLength; }
0132 
0133   void setGtUnitLength(const int&);
0134 
0135   /// print all the L1 GT stable parameters
0136   void print(std::ostream&) const;
0137 
0138 private:
0139   /// trigger decision
0140 
0141   /// number of physics trigger algorithms
0142   unsigned int m_numberPhysTriggers;
0143 
0144   /// additional number of physics trigger algorithms
0145   unsigned int m_numberPhysTriggersExtended;
0146 
0147   /// number of technical triggers
0148   unsigned int m_numberTechnicalTriggers;
0149 
0150   /// trigger objects
0151 
0152   /// muons
0153   unsigned int m_numberL1Mu;
0154 
0155   /// e/gamma and isolated e/gamma objects
0156   unsigned int m_numberL1NoIsoEG;
0157   unsigned int m_numberL1IsoEG;
0158 
0159   /// central, forward and tau jets
0160   unsigned int m_numberL1CenJet;
0161   unsigned int m_numberL1ForJet;
0162   unsigned int m_numberL1TauJet;
0163 
0164   /// jet counts
0165   unsigned int m_numberL1JetCounts;
0166 
0167 private:
0168   /// hardware
0169 
0170   /// number of condition chips
0171   unsigned int m_numberConditionChips;
0172 
0173   /// number of pins on the GTL condition chips
0174   unsigned int m_pinsOnConditionChip;
0175 
0176   /// correspondence "condition chip - GTL algorithm word" in the hardware
0177   /// chip 2: 0 - 95;  chip 1: 96 - 128 (191)
0178   std::vector<int> m_orderConditionChip;
0179 
0180   /// number of PSB boards in GT
0181   int m_numberPsbBoards;
0182 
0183   /// number of bits for eta of calorimeter objects
0184   unsigned int m_ifCaloEtaNumberBits;
0185 
0186   /// number of bits for eta of muon objects
0187   unsigned int m_ifMuEtaNumberBits;
0188 
0189 private:
0190   /// GT DAQ record organized in words of WordLength bits
0191   int m_wordLength;
0192 
0193   /// one unit in the word is UnitLength bits
0194   int m_unitLength;
0195 
0196   COND_SERIALIZABLE;
0197 };
0198 
0199 #endif /*CondFormats_L1TObjects_L1GtStableParameters_h*/