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