155 cout<<
"Begin DiagMaker Analyzer:::::::::::::::::::::::::::::::::::::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n";
157 cout <<
"Reached analyze part of DiagMaker.\n";
163 ev.
getByLabel(
"L1TMuonTrkFinder" ,
"DataITC" , dataITC );
165 int trknmbData, validData, qualityData, keywireData, stripData, patternData;
166 int bendData, bxData, mpclinkData, bx0Data, syncErrData, cscIDData;
167 int trknmbEmu, validEmu, qualityEmu, keywireEmu, stripEmu, patternEmu;
168 int bendEmu, bxEmu, mpclinkEmu, bx0Emu, syncErrEmu, cscIDEmu;
170 auto itEmu = emuITC->cbegin();
171 auto itendEmu = emuITC->cend();
173 auto itData = dataITC->cbegin();
174 auto itendData = dataITC->cend();
177 for( ; (itEmu != itendEmu) && (itData != itendData) ; ++itEmu, ++itData)
180 cout <<
"TRACK(Emu) " << trkCntr <<
" Phi: " << itEmu->phi <<
", Theta: " << itEmu ->theta << endl;
181 cout <<
"TRACK(Data) " << trkCntr <<
" Phi: " << itData->phi <<
", Theta: " << itData->theta << endl;
182 cout <<
"Track(Emu) " << trkCntr <<
" Rank: " << itEmu->rank << endl;
183 cout <<
"Track(Data) " << trkCntr <<
" Rank: " << itData->rank<< endl;
184 cout <<
"Emu:\n dp1- "<<itEmu->deltas[0][0]<<
" dp2- "<<itEmu->deltas[0][1]<<
" dt1- "<<itEmu->deltas[1][0]<<
" dt2- "<<itEmu->deltas[1][1]<<endl;
185 cout <<
"Data:\n dp1- "<<itData->deltas[0][0]<<
" dp2- "<<itData->deltas[0][1]<<
" dt1- "<<itData->deltas[1][0]<<
" dt2- "<<itData->deltas[1][1]<<endl;
187 wordTrkPhi -> fillWord( itData->phi , itEmu->phi );
188 wordTrkTheta -> fillWord( itData->theta , itEmu->theta );
189 wordRank -> fillWord( itData->rank , itEmu->rank );
190 wordPHD1 -> fillWord( fabs(itData->deltas[0][0]) , fabs(itEmu->deltas[0][0]));
191 wordPHD2 -> fillWord( fabs(itData->deltas[0][1]) , fabs(itEmu->deltas[0][1]));
192 wordTHD1 -> fillWord( fabs(itData->deltas[1][0]) , fabs(itEmu->deltas[1][0]));
193 wordTHD2 -> fillWord( fabs(itData->deltas[1][1]) , fabs(itEmu->deltas[1][1]));
195 if(itData->phi != itEmu->phi){
std::cout<<
"Track Phi Mismatch\n\n";}
196 if(itData->theta != itEmu->theta){
std::cout<<
"Track Theta Mismatch\n\n";}
197 if(itData->rank != itEmu->rank){
std::cout<<
"Track Rank Mismatch\n\n";}
198 if(fabs(itData->deltas[0][0]) != fabs(itEmu->deltas[0][0])){
std::cout<<
"00 D Mismatch\n";}
199 if(fabs(itData->deltas[0][1]) != fabs(itEmu->deltas[0][1])){
std::cout<<
"01 D Mismatch\n";}
200 if(fabs(itData->deltas[1][0]) != fabs(itEmu->deltas[1][0])){
std::cout<<
"10 D Mismatch\n";}
201 if(fabs(itData->deltas[1][1]) != fabs(itEmu->deltas[1][1])){
std::cout<<
"11 D Mismatch\n";}
215 for(
unsigned meNum=
id; meNum<(
id+4); meNum++)
220 std::vector<TriggerPrimitive> tplData = tpsmData[meNum];
221 std::vector<TriggerPrimitive> tplEmu = tpsmEmu[meNum];
223 cout <<
"ME " << meNum-
id+1 <<
" - # Trig Prims = " << tplData.size() << endl;
226 for(
unsigned tpNum = 0; (tpNum < tplData.size()) && (tpNum < tplEmu.size()) ; tpNum++)
228 cout <<
" ----- tp #" << tpNum << endl;
233 trknmbData = (tprData).getCSCData().trknmb;
234 validData = (tprData).getCSCData().valid;
235 qualityData = (tprData).getCSCData().quality;
236 keywireData = (tprData).getCSCData().keywire;
237 stripData = (tprData).getCSCData().strip;
238 patternData = (tprData).getCSCData().pattern;
239 bendData = (tprData).getCSCData().bend;
240 bxData = (tprData).getCSCData().bx;
241 mpclinkData = (tprData).getCSCData().mpclink;
242 bx0Data = (tprData).getCSCData().bx0;
243 syncErrData = (tprData).getCSCData().syncErr;
244 cscIDData = (tprData).getCSCData().cscID;
246 trknmbEmu = (tprEmu).getCSCData().trknmb;
247 validEmu = (tprEmu).getCSCData().valid;
248 qualityEmu = (tprEmu).getCSCData().quality;
249 keywireEmu = (tprEmu).getCSCData().keywire;
250 stripEmu = (tprEmu).getCSCData().strip;
251 patternEmu = (tprEmu).getCSCData().pattern;
252 bendEmu = (tprEmu).getCSCData().bend;
253 bxEmu = (tprEmu).getCSCData().bx;
254 mpclinkEmu = (tprEmu).getCSCData().mpclink;
255 bx0Emu = (tprEmu).getCSCData().bx0;
256 syncErrEmu = (tprEmu).getCSCData().syncErr;
257 cscIDEmu = (tprEmu).getCSCData().cscID;
259 cout <<
"trknmb: " <<
"data=" << trknmbData <<
", emu=" << trknmbEmu << endl;
260 cout <<
"valid: " <<
"data=" << validData <<
", emu=" << validEmu << endl;
261 cout <<
"quality: " <<
"data=" << qualityData <<
", emu=" << qualityEmu << endl;
262 cout <<
"keywire: " <<
"data=" << keywireData <<
", emu=" << keywireEmu << endl;
263 cout <<
"strip: " <<
"data=" << stripData <<
", emu=" << stripEmu << endl;
264 cout <<
"pattern: " <<
"data=" << patternData <<
", emu=" << patternEmu << endl;
265 cout <<
"bend: " <<
"data=" << bendData <<
", emu=" << bendEmu << endl;
266 cout <<
"bx: " <<
"data=" << bxData <<
", emu=" << bxEmu << endl;
267 cout <<
"mpclink: " <<
"data=" << mpclinkData <<
", emu=" << mpclinkEmu << endl;
268 cout <<
"bx0: " <<
"data=" << bx0Data <<
", emu=" << bx0Emu << endl;
269 cout <<
"syncErr: " <<
"data=" << syncErrData <<
", emu=" << syncErrEmu << endl;
270 cout <<
"cscID: " <<
"data=" << cscIDData <<
", emu=" << cscIDEmu << endl;
271 cout <<
"--------------------------------\n";
274 wordTrknmb -> fillWord( trknmbData , trknmbEmu );
275 wordValid -> fillWord( validData , validEmu );
276 wordQuality -> fillWord( qualityData , qualityEmu );
277 wordKeywire -> fillWord( keywireData , keywireEmu );
278 wordStrip -> fillWord( stripData , stripEmu );
279 wordPattern -> fillWord( patternData , patternEmu );
280 wordBend -> fillWord( bendData , bendEmu );
281 wordBx -> fillWord( bxData , bxEmu );
282 wordMpclink -> fillWord( mpclinkData , mpclinkEmu );
283 wordBx0 -> fillWord( bx0Data , bx0Emu );
284 wordSyncErr -> fillWord( syncErrData , syncErrEmu );
285 wordCscID -> fillWord( cscIDData , cscIDEmu );
287 if(keywireData != keywireEmu){
std::cout<<
"Wire Mismatch\n\n";}
288 if(stripData != stripEmu){
std::cout<<
"Strip Mismatch\n\n";}
295 cout<<
"End DiagMaker Analyzer:::::::::::::::::::::::::::::::::::::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n";
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
std::map< unsigned, TriggerPrimitiveCollection > TriggerPrimitiveStationMap