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 
43  m_ps = &ps;
44  setDefaults();
45 }
46 
47 //--------------
48 // Destructor --
49 //--------------
51 
52 //--------------
53 // Operations --
54 //--------------
55 
57  m_DTDigiInputTag = m_ps->getParameter<edm::InputTag>("DTDigi_Source");
58  m_CSCTrSInputTag = m_ps->getParameter<edm::InputTag>("CSCStub_Source");
59 
60  m_debug = true;
61  m_dbgLevel = m_ps->getUntrackedParameter<int>("Debug", 0);
62 
63  m_overlap = m_ps->getUntrackedParameter<bool>("Overlap", true);
64 
65  // set min and max bunch crossing
66  m_BxMin = m_ps->getUntrackedParameter<int>("BX_min", -9);
67  m_BxMax = m_ps->getUntrackedParameter<int>("BX_max", 7);
68  s_BxMin = m_BxMin;
69  s_BxMax = m_BxMax;
70 
71  // set Filter for Extrapolator
72  m_extTSFilter = m_ps->getUntrackedParameter<int>("Extrapolation_Filter", 1);
73 
74  // set switch for open LUTs usage
75  m_openLUTs = m_ps->getUntrackedParameter<bool>("Open_LUTs", false);
76 
77  // set switch for EX21 usage
78  m_useEX21 = m_ps->getUntrackedParameter<bool>("Extrapolation_21", false);
79 
80  // set switch for eta track finder usage
81  m_etaTF = m_ps->getUntrackedParameter<bool>("EtaTrackFinder", true);
82 
83  // set switch for etaFlag cancellation of CSC segments
84  m_etacanc = m_ps->getUntrackedParameter<bool>("CSC_Eta_Cancellation", false);
85 
86  // set Filter for Out-of-time Track Segments
87  m_TSOutOfTimeFilter = m_ps->getUntrackedParameter<bool>("OutOfTime_Filter", false);
88  m_TSOutOfTimeWindow = m_ps->getUntrackedParameter<int>("OutOfTime_Filter_Window", 1);
89 
90  // set precision for extrapolation
91  m_NbitsExtPhi = m_ps->getUntrackedParameter<int>("Extrapolation_nbits_Phi", 8);
92  m_NbitsExtPhib = m_ps->getUntrackedParameter<int>("Extrapolation_nbits_PhiB", 8);
93 
94  // set precision for pt-assignment
95  m_NbitsPtaPhi = m_ps->getUntrackedParameter<int>("PT_Assignment_nbits_Phi", 12);
96  m_NbitsPtaPhib = m_ps->getUntrackedParameter<int>("PT_Assignment_nbits_PhiB", 10);
97 
98  // set precision for phi-assignment look-up tables
99  m_NbitsPhiPhi = m_ps->getUntrackedParameter<int>("PHI_Assignment_nbits_Phi", 10);
100  m_NbitsPhiPhib = m_ps->getUntrackedParameter<int>("PHI_Assignment_nbits_PhiB", 10);
101 
102  if (Debug(1))
103  cout << endl;
104  if (Debug(1))
105  cout << "*******************************************" << endl;
106  if (Debug(1))
107  cout << "**** L1 barrel Track Finder settings : ****" << endl;
108  if (Debug(1))
109  cout << "*******************************************" << endl;
110  if (Debug(1))
111  cout << endl;
112 
113  if (Debug(1))
114  cout << "L1 barrel Track Finder : DT Digi Source: " << m_DTDigiInputTag << endl;
115  if (Debug(1))
116  cout << "L1 barrel Track Finder : CSC Stub Source: " << m_CSCTrSInputTag << endl;
117  if (Debug(1))
118  cout << endl;
119 
120  if (Debug(1))
121  cout << "L1 barrel Track Finder : debug level: " << m_dbgLevel << endl;
122 
123  if (Debug(1) && m_overlap) {
124  cout << "L1 barrel Track Finder : barrel-endcap overlap region : on" << endl;
125  }
126  if (Debug(1) && !m_overlap) {
127  cout << "L1 barrel Track Finder : barrel-endcap overlap region : off" << endl;
128  }
129 
130  if (Debug(1))
131  cout << "L1 barrel Track Finder : minimal bunch-crossing : " << m_BxMin << endl;
132  if (Debug(1))
133  cout << "L1 barrel Track Finder : maximal bunch-crossing : " << m_BxMax << endl;
134 
135  if (Debug(1))
136  cout << "L1 barrel Track Finder : Extrapolation Filter : " << m_extTSFilter << endl;
137 
138  if (Debug(1) && m_openLUTs) {
139  cout << "L1 barrel Track Finder : use open LUTs : on" << endl;
140  }
141  if (Debug(1) && !m_openLUTs) {
142  cout << "L1 barrel Track Finder : use open LUTs : off" << endl;
143  }
144 
145  if (Debug(1) && m_useEX21) {
146  cout << "L1 barrel Track Finder : use EX21 extrapolations : on" << endl;
147  }
148  if (Debug(1) && !m_useEX21) {
149  cout << "L1 barrel Track Finder : use EX21 extrapolations : off" << endl;
150  }
151 
152  if (Debug(1) && m_etaTF) {
153  cout << "L1 barrel Track Finder : Eta Track Finder : on" << endl;
154  }
155  if (Debug(1) && !m_etaTF) {
156  cout << "L1 barrel Track Finder : Eta Track Finder : off" << endl;
157  }
158 
159  if (Debug(1) && m_etacanc) {
160  cout << "L1 barrel Track Finder : CSC etaFlag cancellation : on" << endl;
161  }
162  if (Debug(1) && !m_etacanc) {
163  cout << "L1 barrel Track Finder : CSC etaFlag cancellation : off" << endl;
164  }
165 
166  if (Debug(1) && m_TSOutOfTimeFilter) {
167  cout << "L1 barrel Track Finder : out-of-time TS filter : on" << endl;
168  cout << "L1 barrel Track Finder : out-of-time TS filter window : " << m_TSOutOfTimeWindow << endl;
169  }
170  if (Debug(1) && !m_TSOutOfTimeFilter) {
171  cout << "L1 barrel Track Finder : out-of-time TS filter : off" << endl;
172  }
173 
174  if (Debug(1))
175  cout << "L1 barrel Track Finder : # of bits used for phi (extrapolation) : " << m_NbitsExtPhi << endl;
176  if (Debug(1))
177  cout << "L1 barrel Track Finder : # of bits used for phib (extrapolation) : " << m_NbitsExtPhib << endl;
178  if (Debug(1))
179  cout << "L1 barrel Track Finder : # of bits used for phi (pt-assignment) : " << m_NbitsPtaPhi << endl;
180  if (Debug(1))
181  cout << "L1 barrel Track Finder : # of bits used for phib (pt-assignment) : " << m_NbitsPtaPhib << endl;
182  if (Debug(1))
183  cout << "L1 barrel Track Finder : # of bits used for phi (phi-assignment) : " << m_NbitsPhiPhi << endl;
184  if (Debug(1))
185  cout << "L1 barrel Track Finder : # of bits used for phib (phi-assignment) : " << m_NbitsPhiPhib << endl;
186 }
187 
188 std::atomic<bool> L1MuDTTFConfig::m_debug{false};
189 std::atomic<int> L1MuDTTFConfig::m_dbgLevel{-1};
190 std::atomic<int> L1MuDTTFConfig::s_BxMin{-9};
191 std::atomic<int> L1MuDTTFConfig::s_BxMax{-7};
L1MuDTTFConfig(const edm::ParameterSet &ps)
constructor
static std::atomic< int > s_BxMax
static std::atomic< bool > m_debug
virtual ~L1MuDTTFConfig()
destructor
static std::atomic< int > m_dbgLevel
const bool Debug
static std::atomic< int > s_BxMin