Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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