CMS 3D CMS Logo

L1MuDTTFConfig.cc
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
3 // Class: L1MuDTTFConfig
4 //
5 // Description: DTTrackFinder parameters for L1MuDTTrackFinder
6 //
7 //
8 //
9 // Author :
10 // N. Neumeister CERN EP
11 // J. Troconiz UAM Madrid
12 //
13 //--------------------------------------------------
14 
15 //-----------------------
16 // This Class's Header --
17 //-----------------------
18 
20 
21 //---------------
22 // C++ Headers --
23 //---------------
24 
25 #include <iostream>
26 #include <string>
27 
28 //-------------------------------
29 // Collaborating Class Headers --
30 //-------------------------------
31 
32 using namespace std;
33 
34 // --------------------------------
35 // class L1MuDTTFConfig
36 //---------------------------------
37 
38 //----------------
39 // Constructors --
40 //----------------
41 
42 L1MuDTTFConfig::L1MuDTTFConfig(const edm::ParameterSet& ps) { setDefaults(ps); }
43 
44 //--------------
45 // Destructor --
46 //--------------
48 
49 //--------------
50 // Operations --
51 //--------------
52 
54  m_DTDigiInputTag = ps.getParameter<edm::InputTag>("DTDigi_Source");
55  m_CSCTrSInputTag = ps.getParameter<edm::InputTag>("CSCStub_Source");
56 
57  m_debug = true;
58  m_dbgLevel = ps.getUntrackedParameter<int>("Debug", 0);
59 
60  m_overlap = ps.getUntrackedParameter<bool>("Overlap", true);
61 
62  // set min and max bunch crossing
63  m_BxMin = ps.getUntrackedParameter<int>("BX_min", -9);
64  m_BxMax = ps.getUntrackedParameter<int>("BX_max", 7);
65  s_BxMin = m_BxMin;
66  s_BxMax = m_BxMax;
67 
68  // set Filter for Extrapolator
69  m_extTSFilter = ps.getUntrackedParameter<int>("Extrapolation_Filter", 1);
70 
71  // set switch for open LUTs usage
72  m_openLUTs = ps.getUntrackedParameter<bool>("Open_LUTs", false);
73 
74  // set switch for EX21 usage
75  m_useEX21 = ps.getUntrackedParameter<bool>("Extrapolation_21", false);
76 
77  // set switch for eta track finder usage
78  m_etaTF = ps.getUntrackedParameter<bool>("EtaTrackFinder", true);
79 
80  // set switch for etaFlag cancellation of CSC segments
81  m_etacanc = ps.getUntrackedParameter<bool>("CSC_Eta_Cancellation", false);
82 
83  // set Filter for Out-of-time Track Segments
84  m_TSOutOfTimeFilter = ps.getUntrackedParameter<bool>("OutOfTime_Filter", false);
85  m_TSOutOfTimeWindow = ps.getUntrackedParameter<int>("OutOfTime_Filter_Window", 1);
86 
87  // set precision for extrapolation
88  m_NbitsExtPhi = ps.getUntrackedParameter<int>("Extrapolation_nbits_Phi", 8);
89  m_NbitsExtPhib = ps.getUntrackedParameter<int>("Extrapolation_nbits_PhiB", 8);
90 
91  // set precision for pt-assignment
92  m_NbitsPtaPhi = ps.getUntrackedParameter<int>("PT_Assignment_nbits_Phi", 12);
93  m_NbitsPtaPhib = ps.getUntrackedParameter<int>("PT_Assignment_nbits_PhiB", 10);
94 
95  // set precision for phi-assignment look-up tables
96  m_NbitsPhiPhi = ps.getUntrackedParameter<int>("PHI_Assignment_nbits_Phi", 10);
97  m_NbitsPhiPhib = ps.getUntrackedParameter<int>("PHI_Assignment_nbits_PhiB", 10);
98 
99  if (Debug(1))
100  cout << endl;
101  if (Debug(1))
102  cout << "*******************************************" << endl;
103  if (Debug(1))
104  cout << "**** L1 barrel Track Finder settings : ****" << endl;
105  if (Debug(1))
106  cout << "*******************************************" << endl;
107  if (Debug(1))
108  cout << endl;
109 
110  if (Debug(1))
111  cout << "L1 barrel Track Finder : DT Digi Source: " << m_DTDigiInputTag << endl;
112  if (Debug(1))
113  cout << "L1 barrel Track Finder : CSC Stub Source: " << m_CSCTrSInputTag << endl;
114  if (Debug(1))
115  cout << endl;
116 
117  if (Debug(1))
118  cout << "L1 barrel Track Finder : debug level: " << m_dbgLevel << endl;
119 
120  if (Debug(1) && m_overlap) {
121  cout << "L1 barrel Track Finder : barrel-endcap overlap region : on" << endl;
122  }
123  if (Debug(1) && !m_overlap) {
124  cout << "L1 barrel Track Finder : barrel-endcap overlap region : off" << endl;
125  }
126 
127  if (Debug(1))
128  cout << "L1 barrel Track Finder : minimal bunch-crossing : " << m_BxMin << endl;
129  if (Debug(1))
130  cout << "L1 barrel Track Finder : maximal bunch-crossing : " << m_BxMax << endl;
131 
132  if (Debug(1))
133  cout << "L1 barrel Track Finder : Extrapolation Filter : " << m_extTSFilter << endl;
134 
135  if (Debug(1) && m_openLUTs) {
136  cout << "L1 barrel Track Finder : use open LUTs : on" << endl;
137  }
138  if (Debug(1) && !m_openLUTs) {
139  cout << "L1 barrel Track Finder : use open LUTs : off" << endl;
140  }
141 
142  if (Debug(1) && m_useEX21) {
143  cout << "L1 barrel Track Finder : use EX21 extrapolations : on" << endl;
144  }
145  if (Debug(1) && !m_useEX21) {
146  cout << "L1 barrel Track Finder : use EX21 extrapolations : off" << endl;
147  }
148 
149  if (Debug(1) && m_etaTF) {
150  cout << "L1 barrel Track Finder : Eta Track Finder : on" << endl;
151  }
152  if (Debug(1) && !m_etaTF) {
153  cout << "L1 barrel Track Finder : Eta Track Finder : off" << endl;
154  }
155 
156  if (Debug(1) && m_etacanc) {
157  cout << "L1 barrel Track Finder : CSC etaFlag cancellation : on" << endl;
158  }
159  if (Debug(1) && !m_etacanc) {
160  cout << "L1 barrel Track Finder : CSC etaFlag cancellation : off" << endl;
161  }
162 
163  if (Debug(1) && m_TSOutOfTimeFilter) {
164  cout << "L1 barrel Track Finder : out-of-time TS filter : on" << endl;
165  cout << "L1 barrel Track Finder : out-of-time TS filter window : " << m_TSOutOfTimeWindow << endl;
166  }
167  if (Debug(1) && !m_TSOutOfTimeFilter) {
168  cout << "L1 barrel Track Finder : out-of-time TS filter : off" << endl;
169  }
170 
171  if (Debug(1))
172  cout << "L1 barrel Track Finder : # of bits used for phi (extrapolation) : " << m_NbitsExtPhi << endl;
173  if (Debug(1))
174  cout << "L1 barrel Track Finder : # of bits used for phib (extrapolation) : " << m_NbitsExtPhib << endl;
175  if (Debug(1))
176  cout << "L1 barrel Track Finder : # of bits used for phi (pt-assignment) : " << m_NbitsPtaPhi << endl;
177  if (Debug(1))
178  cout << "L1 barrel Track Finder : # of bits used for phib (pt-assignment) : " << m_NbitsPtaPhib << endl;
179  if (Debug(1))
180  cout << "L1 barrel Track Finder : # of bits used for phi (phi-assignment) : " << m_NbitsPhiPhi << endl;
181  if (Debug(1))
182  cout << "L1 barrel Track Finder : # of bits used for phib (phi-assignment) : " << m_NbitsPhiPhib << endl;
183 }
184 
185 std::atomic<bool> L1MuDTTFConfig::m_debug{false};
186 std::atomic<int> L1MuDTTFConfig::m_dbgLevel{-1};
187 std::atomic<int> L1MuDTTFConfig::s_BxMin{-9};
188 std::atomic<int> L1MuDTTFConfig::s_BxMax{-7};
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
L1MuDTTFConfig(const edm::ParameterSet &ps)
constructor
void setDefaults(const edm::ParameterSet &)
static std::atomic< int > s_BxMax
T getUntrackedParameter(std::string const &, T const &) const
static std::atomic< bool > m_debug
virtual ~L1MuDTTFConfig()
destructor
static std::atomic< int > m_dbgLevel
const bool Debug
static std::atomic< int > s_BxMin