CMS 3D CMS Logo

L1CSCTPEmulatorConfigAnalyzer.cc
Go to the documentation of this file.
1 
7 #include <iostream>
8 
15 
16 // Configuration via EventSetup
19 
21 public:
23 
25 
26  void beginJob() override {}
27  void analyze(edm::Event const& iEvent, edm::EventSetup const&) override;
28  void endJob() override {}
29 
30 private:
32 };
33 
34 using namespace std;
36 
37 void L1CSCTPEmulatorConfigAnalyzer::analyze(const edm::Event& /*iEvent*/, const edm::EventSetup& iSetup) {
39  iSetup.get<CSCDBL1TPParametersRcd>().get(confH);
40  const CSCDBL1TPParameters* dbConfig = confH.product();
41 
42  // python params
44  edm::ParameterSet alctParams = pyConfig.getParameter<edm::ParameterSet>("alctParam07");
45  edm::ParameterSet clctParams = pyConfig.getParameter<edm::ParameterSet>("clctParam07");
46 
47  unsigned int db_alctFifoTbins = dbConfig->alctFifoTbins();
48  unsigned int db_alctFifoPretrig = dbConfig->alctFifoPretrig();
49  unsigned int db_alctDriftDelay = dbConfig->alctDriftDelay();
50  unsigned int db_alctNplanesHitPretrig = dbConfig->alctNplanesHitPretrig();
51  unsigned int db_alctNplanesHitPattern = dbConfig->alctNplanesHitPattern();
52  unsigned int db_alctNplanesHitAccelPretrig = dbConfig->alctNplanesHitAccelPretrig();
53  unsigned int db_alctNplanesHitAccelPattern = dbConfig->alctNplanesHitAccelPattern();
54  unsigned int db_alctTrigMode = dbConfig->alctTrigMode();
55  unsigned int db_alctAccelMode = dbConfig->alctAccelMode();
56  unsigned int db_alctL1aWindowWidth = dbConfig->alctL1aWindowWidth();
57 
58  unsigned int db_clctFifoTbins = dbConfig->clctFifoTbins();
59  unsigned int db_clctFifoPretrig = dbConfig->clctFifoPretrig();
60  unsigned int db_clctHitPersist = dbConfig->clctHitPersist();
61  unsigned int db_clctDriftDelay = dbConfig->clctDriftDelay();
62  unsigned int db_clctNplanesHitPretrig = dbConfig->clctNplanesHitPretrig();
63  unsigned int db_clctNplanesHitPattern = dbConfig->clctNplanesHitPattern();
64  unsigned int db_clctPidThreshPretrig = dbConfig->clctPidThreshPretrig();
65  unsigned int db_clctMinSeparation = dbConfig->clctMinSeparation();
66 
67  unsigned int db_tmbMpcBlockMe1a = dbConfig->tmbMpcBlockMe1a();
68  unsigned int db_tmbAlctTrigEnable = dbConfig->tmbAlctTrigEnable();
69  unsigned int db_tmbClctTrigEnable = dbConfig->tmbClctTrigEnable();
70  unsigned int db_tmbMatchTrigEnable = dbConfig->tmbMatchTrigEnable();
71  unsigned int db_tmbMatchTrigWindowSize = dbConfig->tmbMatchTrigWindowSize();
72  unsigned int db_tmbL1aWindowSize = dbConfig->tmbTmbL1aWindowSize();
73 
74  unsigned int py_alctFifoTbins = alctParams.getParameter<unsigned int>("alctFifoTbins");
75  unsigned int py_alctFifoPretrig = alctParams.getParameter<unsigned int>("alctFifoPretrig");
76  unsigned int py_alctDriftDelay = alctParams.getParameter<unsigned int>("alctDriftDelay");
77  unsigned int py_alctNplanesHitPretrig = alctParams.getParameter<unsigned int>("alctNplanesHitPretrig");
78  unsigned int py_alctNplanesHitPattern = alctParams.getParameter<unsigned int>("alctNplanesHitPattern");
79  unsigned int py_alctNplanesHitAccelPretrig = alctParams.getParameter<unsigned int>("alctNplanesHitAccelPretrig");
80  unsigned int py_alctNplanesHitAccelPattern = alctParams.getParameter<unsigned int>("alctNplanesHitAccelPattern");
81  unsigned int py_alctTrigMode = alctParams.getParameter<unsigned int>("alctTrigMode");
82  unsigned int py_alctAccelMode = alctParams.getParameter<unsigned int>("alctAccelMode");
83  unsigned int py_alctL1aWindowWidth = alctParams.getParameter<unsigned int>("alctL1aWindowWidth");
84 
85  unsigned int py_clctFifoTbins = clctParams.getParameter<unsigned int>("clctFifoTbins");
86  unsigned int py_clctFifoPretrig = clctParams.getParameter<unsigned int>("clctFifoPretrig");
87  unsigned int py_clctHitPersist = clctParams.getParameter<unsigned int>("clctHitPersist");
88  unsigned int py_clctDriftDelay = clctParams.getParameter<unsigned int>("clctDriftDelay");
89  unsigned int py_clctNplanesHitPretrig = clctParams.getParameter<unsigned int>("clctNplanesHitPretrig");
90  unsigned int py_clctNplanesHitPattern = clctParams.getParameter<unsigned int>("clctNplanesHitPattern");
91  unsigned int py_clctPidThreshPretrig = clctParams.getParameter<unsigned int>("clctPidThreshPretrig");
92  unsigned int py_clctMinSeparation = clctParams.getParameter<unsigned int>("clctMinSeparation");
93 
94  unsigned int py_tmbMpcBlockMe1a = tmbParams.getParameter<unsigned int>("mpcBlockMe1a");
95  unsigned int py_tmbAlctTrigEnable = tmbParams.getParameter<unsigned int>("alctTrigEnable");
96  unsigned int py_tmbClctTrigEnable = tmbParams.getParameter<unsigned int>("clctTrigEnable");
97  unsigned int py_tmbMatchTrigEnable = tmbParams.getParameter<unsigned int>("matchTrigEnable");
98  unsigned int py_tmbMatchTrigWindowSize = tmbParams.getParameter<unsigned int>("matchTrigWindowSize");
99  unsigned int py_tmbL1aWindowSize = tmbParams.getParameter<unsigned int>("tmbL1aWindowSize");
100 
101  //check
102  bool ok_alctFifoTbins = db_alctFifoTbins == py_alctFifoTbins;
103  bool ok_alctFifoPretrig = db_alctFifoPretrig == py_alctFifoPretrig;
104  bool ok_alctDriftDelay = db_alctDriftDelay == py_alctDriftDelay;
105  bool ok_alctNplanesHitPretrig = db_alctNplanesHitPretrig == py_alctNplanesHitPretrig;
106  bool ok_alctNplanesHitPattern = db_alctNplanesHitPattern == py_alctNplanesHitPattern;
107  bool ok_alctNplanesHitAccelPretrig = db_alctNplanesHitAccelPretrig == py_alctNplanesHitAccelPretrig;
108  bool ok_alctNplanesHitAccelPattern = db_alctNplanesHitAccelPattern == py_alctNplanesHitAccelPattern;
109  bool ok_alctTrigMode = db_alctTrigMode == py_alctTrigMode;
110  bool ok_alctAccelMode = db_alctAccelMode == py_alctAccelMode;
111  bool ok_alctL1aWindowWidth = db_alctL1aWindowWidth == py_alctL1aWindowWidth;
112 
113  bool ok_clctFifoTbins = db_clctFifoTbins == py_clctFifoTbins;
114  bool ok_clctFifoPretrig = db_clctFifoPretrig == py_clctFifoPretrig;
115  bool ok_clctHitPersist = db_clctHitPersist == py_clctHitPersist;
116  bool ok_clctDriftDelay = db_clctDriftDelay == py_clctDriftDelay;
117  bool ok_clctNplanesHitPretrig = db_clctNplanesHitPretrig == py_clctNplanesHitPretrig;
118  bool ok_clctNplanesHitPattern = db_clctNplanesHitPattern == py_clctNplanesHitPattern;
119  bool ok_clctPidThreshPretrig = db_clctPidThreshPretrig == py_clctPidThreshPretrig;
120  bool ok_clctMinSeparation = db_clctMinSeparation == py_clctMinSeparation;
121 
122  bool ok_tmbMpcBlockMe1a = db_tmbMpcBlockMe1a == py_tmbMpcBlockMe1a;
123  bool ok_tmbAlctTrigEnable = db_tmbAlctTrigEnable == py_tmbAlctTrigEnable;
124  bool ok_tmbClctTrigEnable = db_tmbClctTrigEnable == py_tmbClctTrigEnable;
125  bool ok_tmbMatchTrigEnable = db_tmbMatchTrigEnable == py_tmbMatchTrigEnable;
126  bool ok_tmbMatchTrigWindowSize = db_tmbMatchTrigWindowSize == py_tmbMatchTrigWindowSize;
127  bool ok_tmbL1aWindowSize = db_tmbL1aWindowSize == py_tmbL1aWindowSize;
128 
129  std::cout << std::endl;
130  std::cout << "Start Comparing the L1 CSC TP emulator settings between Python and conditions DB." << std::endl;
131 
132  std::cout << std::endl;
133  std::cout << "Parameters different between Py and DB" << std::endl;
134  std::cout << "- - - - - - - - - - - - - - - - - - - " << std::endl;
135  std::cout << std::endl;
136 
137  if (!ok_alctFifoTbins)
138  std::cout << "alctFifoTbins: Py = " << py_alctFifoTbins << ", DB = " << db_alctFifoTbins << std::endl;
139  if (!ok_alctFifoPretrig)
140  std::cout << "alctFifoPretrig: Py = " << py_alctFifoPretrig << ", DB = " << db_alctFifoPretrig << std::endl;
141  if (!ok_alctDriftDelay)
142  std::cout << "alctDriftDelay: Py = " << py_alctDriftDelay << ", DB = " << db_alctDriftDelay << std::endl;
143  if (!ok_alctNplanesHitPretrig)
144  std::cout << "alctNplanesHitPretrig: Py = " << py_alctNplanesHitPretrig << ", DB = " << db_alctNplanesHitPretrig
145  << std::endl;
146  if (!ok_alctNplanesHitPattern)
147  std::cout << "alctNplanesHitPattern: Py = " << py_alctNplanesHitPattern << ", DB = " << db_alctNplanesHitPattern
148  << std::endl;
149  if (!ok_alctNplanesHitAccelPretrig)
150  std::cout << "alctNplanesHitAccelPretrig: Py = " << py_alctNplanesHitAccelPretrig
151  << ", DB = " << db_alctNplanesHitAccelPretrig << std::endl;
152  if (!ok_alctNplanesHitAccelPattern)
153  std::cout << "alctNplanesHitAccelPattern: Py = " << py_alctNplanesHitAccelPattern
154  << ", DB = " << db_alctNplanesHitAccelPattern << std::endl;
155  if (!ok_alctTrigMode)
156  std::cout << "alctTrigMode: Py = " << py_alctTrigMode << ", DB = " << db_alctTrigMode << std::endl;
157  if (!ok_alctAccelMode)
158  std::cout << "alctAccelMode: Py = " << py_alctAccelMode << ", DB = " << db_alctAccelMode << std::endl;
159  if (!ok_alctL1aWindowWidth)
160  std::cout << "alctL1aWindowWidth: Py = " << py_alctL1aWindowWidth << ", DB = " << db_alctL1aWindowWidth
161  << std::endl;
162  std::cout << std::endl;
163 
164  if (!ok_clctFifoTbins)
165  std::cout << "clctFifoTbins: Py = " << py_clctFifoTbins << ", DB = " << db_clctFifoTbins << std::endl;
166  if (!ok_clctFifoPretrig)
167  std::cout << "clctFifoPretrig: Py = " << py_clctFifoPretrig << ", DB = " << db_clctFifoPretrig << std::endl;
168  if (!ok_clctHitPersist)
169  std::cout << "clctHitPersist: Py = " << py_clctHitPersist << ", DB = " << db_clctHitPersist << std::endl;
170  if (!ok_clctDriftDelay)
171  std::cout << "clctDriftDelay: Py = " << py_clctDriftDelay << ", DB = " << db_clctDriftDelay << std::endl;
172  if (!ok_clctNplanesHitPretrig)
173  std::cout << "clctNplanesHitPretrig: Py = " << py_clctNplanesHitPretrig << ", DB = " << db_clctNplanesHitPretrig
174  << std::endl;
175  if (!ok_clctNplanesHitPattern)
176  std::cout << "clctNplanesHitPattern: Py = " << py_clctNplanesHitPattern << ", DB = " << db_clctNplanesHitPattern
177  << std::endl;
178  if (!ok_clctPidThreshPretrig)
179  std::cout << "clctPidThreshPretrig: Py = " << py_clctPidThreshPretrig << ", DB = " << db_clctPidThreshPretrig
180  << std::endl;
181  if (!ok_clctMinSeparation)
182  std::cout << "clctMinSeparation: Py = " << py_clctMinSeparation << ", DB = " << db_clctMinSeparation << std::endl;
183  std::cout << std::endl;
184 
185  if (!ok_tmbMpcBlockMe1a)
186  std::cout << "tmbMpcBlockMe1a: Py = " << py_tmbMpcBlockMe1a << ", DB = " << db_tmbMpcBlockMe1a << std::endl;
187  if (!ok_tmbAlctTrigEnable)
188  std::cout << "tmbAlctTrigEnable: Py = " << py_tmbAlctTrigEnable << ", DB = " << db_tmbAlctTrigEnable << std::endl;
189  if (!ok_tmbClctTrigEnable)
190  std::cout << "tmbClctTrigEnable: Py = " << py_tmbClctTrigEnable << ", DB = " << db_tmbClctTrigEnable << std::endl;
191  if (!ok_tmbMatchTrigEnable)
192  std::cout << "tmbMatchTrigEnable: Py = " << py_tmbMatchTrigEnable << ", DB = " << db_tmbMatchTrigEnable
193  << std::endl;
194  if (!ok_tmbMatchTrigWindowSize)
195  std::cout << "tmbMatchTrigWindowSize: Py = " << py_tmbMatchTrigWindowSize << ", DB = " << db_tmbMatchTrigWindowSize
196  << std::endl;
197  if (!ok_tmbL1aWindowSize)
198  std::cout << "tmbL1aWindowSize: Py = " << py_tmbL1aWindowSize << ", DB = " << db_tmbL1aWindowSize << std::endl;
199 
200  std::cout << std::endl;
201  std::cout << "Parameters same in Py and DB" << std::endl;
202  std::cout << "- - - - - - - - - - - - - - " << std::endl;
203  std::cout << std::endl;
204 
205  if (ok_alctFifoTbins)
206  std::cout << "alctFifoTbins: " << py_alctFifoTbins << std::endl;
207  if (ok_alctFifoPretrig)
208  std::cout << "alctFifoPretrig: " << py_alctFifoPretrig << std::endl;
209  if (ok_alctDriftDelay)
210  std::cout << "alctDriftDelay: " << py_alctDriftDelay << std::endl;
211  if (ok_alctNplanesHitPretrig)
212  std::cout << "alctNplanesHitPretrig: " << py_alctNplanesHitPretrig << std::endl;
213  if (ok_alctNplanesHitPattern)
214  std::cout << "alctNplanesHitPattern: " << py_alctNplanesHitPattern << std::endl;
215  if (ok_alctNplanesHitAccelPretrig)
216  std::cout << "alctNplanesHitAccelPretrig: " << py_alctNplanesHitAccelPretrig << std::endl;
217  if (ok_alctNplanesHitAccelPattern)
218  std::cout << "alctNplanesHitAccelPattern: " << py_alctNplanesHitAccelPattern << std::endl;
219  if (ok_alctTrigMode)
220  std::cout << "alctTrigMode: " << py_alctTrigMode << std::endl;
221  if (ok_alctAccelMode)
222  std::cout << "alctAccelMode: " << py_alctAccelMode << std::endl;
223  if (ok_alctL1aWindowWidth)
224  std::cout << "alctL1aWindowWidth: " << py_alctL1aWindowWidth << std::endl;
225  std::cout << std::endl;
226 
227  if (ok_clctFifoTbins)
228  std::cout << "clctFifoTbins: " << py_clctFifoTbins << std::endl;
229  if (ok_clctFifoPretrig)
230  std::cout << "clctFifoPretrig: " << py_clctFifoPretrig << std::endl;
231  if (ok_clctHitPersist)
232  std::cout << "clctHitPersist: " << py_clctHitPersist << std::endl;
233  if (ok_clctDriftDelay)
234  std::cout << "clctDriftDelay: " << py_clctDriftDelay << std::endl;
235  if (ok_clctNplanesHitPretrig)
236  std::cout << "clctNplanesHitPretrig: " << py_clctNplanesHitPretrig << std::endl;
237  if (ok_clctNplanesHitPattern)
238  std::cout << "clctNplanesHitPattern: " << py_clctNplanesHitPattern << std::endl;
239  if (ok_clctPidThreshPretrig)
240  std::cout << "clctPidThreshPretrig: " << py_clctPidThreshPretrig << std::endl;
241  if (ok_clctMinSeparation)
242  std::cout << "clctMinSeparation: " << py_clctMinSeparation << std::endl;
243  std::cout << std::endl;
244 
245  if (ok_tmbMpcBlockMe1a)
246  std::cout << "tmbMpcBlockMe1a: " << py_tmbMpcBlockMe1a << std::endl;
247  if (ok_tmbAlctTrigEnable)
248  std::cout << "tmbAlctTrigEnable: " << py_tmbAlctTrigEnable << std::endl;
249  if (ok_tmbClctTrigEnable)
250  std::cout << "tmbClctTrigEnable: " << py_tmbClctTrigEnable << std::endl;
251  if (ok_tmbMatchTrigEnable)
252  std::cout << "tmbMatchTrigEnable: " << py_tmbMatchTrigEnable << std::endl;
253  if (ok_tmbMatchTrigWindowSize)
254  std::cout << "tmbMatchTrigWindowSize: " << py_tmbMatchTrigWindowSize << std::endl;
255  if (ok_tmbL1aWindowSize)
256  std::cout << "tmbL1aWindowSize: " << py_tmbL1aWindowSize << std::endl;
257  std::cout << std::endl;
258 
259  std::cout << "Done." << std::endl;
260 }
261 
262 //define this as a plug-in
T getParameter(std::string const &) const
unsigned int alctDriftDelay() const
unsigned int clctHitPersist() const
unsigned int clctNplanesHitPattern() const
unsigned int tmbClctTrigEnable() const
unsigned int alctNplanesHitPretrig() const
unsigned int clctMinSeparation() const
unsigned int clctNplanesHitPretrig() const
unsigned int clctDriftDelay() const
unsigned int alctL1aWindowWidth() const
L1CSCTPEmulatorConfigAnalyzer(const edm::ParameterSet &pset)
int iEvent
Definition: GenABIO.cc:224
unsigned int tmbTmbL1aWindowSize() const
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
unsigned int clctPidThreshPretrig() const
unsigned int tmbMatchTrigWindowSize() const
unsigned int tmbAlctTrigEnable() const
unsigned int clctFifoPretrig() const
unsigned int alctTrigMode() const
void analyze(edm::Event const &iEvent, edm::EventSetup const &) override
unsigned int tmbMpcBlockMe1a() const
unsigned int alctAccelMode() const
unsigned int alctFifoPretrig() const
unsigned int alctNplanesHitAccelPretrig() const
unsigned int alctNplanesHitAccelPattern() const
unsigned int clctFifoTbins() const
T get() const
Definition: EventSetup.h:73
unsigned int alctNplanesHitPattern() const
T const * product() const
Definition: ESHandle.h:86
unsigned int tmbMatchTrigEnable() const
unsigned int alctFifoTbins() const