Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-15 23:40:40

0001 //-------------------------------------------------
0002 //
0003 /**  \class L1MuBMTFConfig
0004  *
0005  *   Configuration parameters for L1MuBMTrackFinder
0006  *
0007  *
0008  *
0009  *   N. Neumeister            CERN EP
0010  */
0011 //
0012 //--------------------------------------------------
0013 #ifndef L1MUBM_TF_CONFIG_H
0014 #define L1MUBM_TF_CONFIG_H
0015 
0016 //---------------
0017 // C++ Headers --
0018 //---------------
0019 
0020 #include <string>
0021 
0022 //----------------------
0023 // Base Class Headers --
0024 //----------------------
0025 
0026 //------------------------------------
0027 // Collaborating Class Declarations --
0028 //------------------------------------
0029 
0030 #include <FWCore/ParameterSet/interface/ParameterSet.h>
0031 #include <FWCore/Utilities/interface/InputTag.h>
0032 #include "CondFormats/L1TObjects/interface/L1TMuonBarrelParams.h"
0033 
0034 //              ---------------------
0035 //              -- Class Interface --
0036 //              ---------------------
0037 
0038 class L1MuBMTFConfig {
0039 public:
0040   /// constructor
0041   explicit L1MuBMTFConfig(const edm::ParameterSet& ps);
0042 
0043   void setDefaultsES(const L1TMuonBarrelParams&);
0044 
0045   edm::InputTag getBMDigiInputTag() const { return m_BMDigiInputTag; }
0046   edm::InputTag getBMThetaDigiInputTag() const { return m_BMThetaDigiInputTag; }
0047 
0048   bool Debug() const { return m_debug; }
0049   bool Debug(int level) const { return (m_debug && m_dbgLevel >= level); }
0050 
0051   void setDebugLevel(int level) { m_dbgLevel = level; }
0052   int getDebugLevel() const { return m_dbgLevel; }
0053 
0054   int getBxMin() const { return m_BxMin; }
0055   int getBxMax() const { return m_BxMax; }
0056   int getExtTSFilter() const { return m_extTSFilter; }
0057   bool getopenLUTs() const { return m_openLUTs; }
0058   bool getUseEX21() const { return m_useEX21; }
0059   bool getEtaTF() const { return m_etaTF; }
0060   bool getTSOutOfTimeFilter() const { return m_TSOutOfTimeFilter; }
0061   int getTSOutOfTimeWindow() const { return m_TSOutOfTimeWindow; }
0062   int getNbitsExtPhi() const { return m_NbitsExtPhi; }
0063   int getNbitsExtPhib() const { return m_NbitsExtPhib; }
0064   int getNbitsPtaPhi() const { return m_NbitsPtaPhi; }
0065   int getNbitsPtaPhib() const { return m_NbitsPtaPhib; }
0066   int getNbitsPhiPhi() const { return m_NbitsPhiPhi; }
0067   int getNbitsPhiPhib() const { return m_NbitsPhiPhib; }
0068 
0069 private:
0070   void setDefaults(edm::ParameterSet const&);
0071 
0072 private:
0073   edm::InputTag m_BMDigiInputTag;
0074   edm::InputTag m_BMThetaDigiInputTag;
0075 
0076   int m_dbgLevel = -1;  // debug level
0077 
0078   int m_BxMin = -9;
0079   int m_BxMax = 7;
0080 
0081   int m_extTSFilter = 1;  // Extrapolation TS-Quality Filter
0082 
0083   int m_TSOutOfTimeWindow = 1;  // phi window size to be checked
0084 
0085   int m_NbitsExtPhi = 8;  // precision for extrapolation
0086   int m_NbitsExtPhib = 8;
0087   int m_NbitsPtaPhi = 12;  // precision for pt-assignment
0088   int m_NbitsPtaPhib = 10;
0089   int m_NbitsPhiPhi = 10;  // precision for phi-assignment
0090   int m_NbitsPhiPhib = 10;
0091 
0092   bool m_debug = false;              // debug flag
0093   bool m_openLUTs = false;           // use open LUTs
0094   bool m_useEX21 = false;            // perform EX21 extrapolation (cross-check EX12)
0095   bool m_etaTF = true;               // use eta track finder
0096   bool m_TSOutOfTimeFilter = false;  // perform out-of-time TS cancellation
0097 };
0098 
0099 #endif