Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-08-07 02:12:40

0001 //-------------------------------------------------
0002 //
0003 /**  \class L1MuDTTFConfig
0004  *
0005  *   Configuration parameters for L1MuDTTrackFinder
0006  *
0007  *
0008  *
0009  *   N. Neumeister            CERN EP
0010  */
0011 //
0012 //--------------------------------------------------
0013 #ifndef L1MUDT_TF_CONFIG_H
0014 #define L1MUDT_TF_CONFIG_H
0015 
0016 //---------------
0017 // C++ Headers --
0018 //---------------
0019 
0020 #include <string>
0021 #include <atomic>
0022 
0023 //----------------------
0024 // Base Class Headers --
0025 //----------------------
0026 
0027 //------------------------------------
0028 // Collaborating Class Declarations --
0029 //------------------------------------
0030 
0031 #include <FWCore/ParameterSet/interface/ParameterSet.h>
0032 #include <FWCore/Utilities/interface/InputTag.h>
0033 
0034 //              ---------------------
0035 //              -- Class Interface --
0036 //              ---------------------
0037 
0038 class L1MuDTTFConfig {
0039 public:
0040   /// constructor
0041   L1MuDTTFConfig(const edm::ParameterSet& ps);
0042 
0043   /// destructor
0044   virtual ~L1MuDTTFConfig();
0045 
0046   edm::InputTag getDTDigiInputTag() const { return m_DTDigiInputTag; }
0047   edm::InputTag getCSCTrSInputTag() const { return m_CSCTrSInputTag; }
0048 
0049   static bool Debug() { return m_debug; }
0050   static bool Debug(int level) { return (m_debug && m_dbgLevel >= level); }
0051 
0052   static void setDebugLevel(int level) { m_dbgLevel = level; }
0053   static int getDebugLevel() { return m_dbgLevel; }
0054   static int getBxMinGlobally() { return s_BxMin; }
0055   static int getBxMaxGlobally() { return s_BxMax; }
0056 
0057   int getBxMin() const { return m_BxMin; }
0058   int getBxMax() const { return m_BxMax; }
0059   bool overlap() const { return m_overlap; }
0060   int getExtTSFilter() const { return m_extTSFilter; }
0061   bool getopenLUTs() const { return m_openLUTs; }
0062   bool getUseEX21() const { return m_useEX21; }
0063   bool getEtaTF() const { return m_etaTF; }
0064   bool getEtaCanc() const { return m_etacanc; }
0065   bool getTSOutOfTimeFilter() const { return m_TSOutOfTimeFilter; }
0066   int getTSOutOfTimeWindow() const { return m_TSOutOfTimeWindow; }
0067   int getNbitsExtPhi() const { return m_NbitsExtPhi; }
0068   int getNbitsExtPhib() const { return m_NbitsExtPhib; }
0069   int getNbitsPtaPhi() const { return m_NbitsPtaPhi; }
0070   int getNbitsPtaPhib() const { return m_NbitsPtaPhib; }
0071   int getNbitsPhiPhi() const { return m_NbitsPhiPhi; }
0072   int getNbitsPhiPhib() const { return m_NbitsPhiPhib; }
0073 
0074 private:
0075   void setDefaults();
0076 
0077 private:
0078   const edm::ParameterSet* m_ps;
0079 
0080   edm::InputTag m_DTDigiInputTag;
0081   edm::InputTag m_CSCTrSInputTag;
0082 
0083   static std::atomic<bool> m_debug;    // debug flag
0084   static std::atomic<int> m_dbgLevel;  // debug level
0085   static std::atomic<int> s_BxMin;
0086   static std::atomic<int> s_BxMax;
0087 
0088   bool m_overlap;  // barrel-endcap overlap region
0089 
0090   int m_BxMin;
0091   int m_BxMax;
0092 
0093   int m_extTSFilter;  // Extrapolation TS-Quality Filter
0094 
0095   bool m_openLUTs;  // use open LUTs
0096 
0097   bool m_useEX21;  // perform EX21 extrapolation (cross-check EX12)
0098 
0099   bool m_etaTF;  // use eta track finder
0100 
0101   bool m_etacanc;  // use etaFlag for CSC segment cancellation
0102 
0103   bool m_TSOutOfTimeFilter;  // perform out-of-time TS cancellation
0104   int m_TSOutOfTimeWindow;   // phi window size to be checked
0105 
0106   int m_NbitsExtPhi;  // precision for extrapolation
0107   int m_NbitsExtPhib;
0108   int m_NbitsPtaPhi;  // precision for pt-assignment
0109   int m_NbitsPtaPhib;
0110   int m_NbitsPhiPhi;  // precision for phi-assignment
0111   int m_NbitsPhiPhib;
0112 };
0113 
0114 #endif