Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-12 04:16:16

0001 //-------------------------------------------------
0002 //
0003 //   \class L1MuTriggerScales
0004 //
0005 /**   Description:  Class that creates all scales used to pass 
0006  *                  data from the regional muon triggers to
0007  *                  the Global Muon Trigger and from the latter 
0008  *                  to the Global Trigger
0009 */
0010 //
0011 //   $Date: 2007/04/27 13:16:00 $
0012 //   $Revision: 1.3 $
0013 //
0014 //   Original Author :
0015 //   Hannes Sakulin      HEPHY / Vienna
0016 //
0017 //   Migrated to CMSSW:
0018 //   I. Mikulec
0019 //
0020 //--------------------------------------------------
0021 #ifndef CondFormatsL1TObjects_L1MuTriggerPtScale_h
0022 #define CondFormatsL1TObjects_L1MuTriggerPtScale_h
0023 
0024 #include "CondFormats/Serialization/interface/Serializable.h"
0025 
0026 #include <cmath>
0027 #include <iostream>
0028 #include <vector>
0029 
0030 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0031 #include "CondFormats/L1TObjects/interface/L1MuScale.h"
0032 
0033 class L1MuTriggerPtScale {
0034 public:
0035   /// constructor
0036   L1MuTriggerPtScale() {}
0037 
0038   L1MuTriggerPtScale(int nbitPackingPt, bool signedPackingPt, int nbinsPt, const std::vector<double>& scalePt) {
0039     //
0040     // Pt Scale. Common to all Regioanl Muon Triggers and GMT
0041     //
0042 
0043     // pt scale in GeV
0044     // low edges of pt bins
0045     /*     const float ptscale[33] = {  */
0046     /*       -1.,   0.0,   1.5,   2.0,   2.5,   3.0,   3.5,   4.0, */
0047     /*       4.5,   5.0,   6.0,   7.0,   8.0,  10.0,  12.0,  14.0,   */
0048     /*       16.0,  18.0,  20.0,  25.0,  30.0,  35.0,  40.0,  45.0,  */
0049     /*       50.0,  60.0,  70.0,  80.0,  90.0, 100.0, 120.0, 140.0, 1.E6 }; */
0050 
0051     // m_PtScale = L1MuBinnedScale ( 5, false, 32, ptscale) ;
0052     m_PtScale = L1MuBinnedScale(nbitPackingPt, signedPackingPt, nbinsPt, scalePt);
0053   };
0054 
0055   /// destructor
0056   virtual ~L1MuTriggerPtScale() {}
0057 
0058   /// get the Pt scale
0059   const L1MuScale* getPtScale() const { return &m_PtScale; };
0060 
0061 private:
0062   L1MuBinnedScale m_PtScale;
0063 
0064   COND_SERIALIZABLE;
0065 };
0066 
0067 #endif