256 cout <<
" *NcDataStreamStats::Exec* No input data provided." << endl;
263 cout <<
" *NcDataStreamStats::Exec* No device name for the event tags provided." << endl;
268 cout <<
" *** Device and indicator identifiers ***" << endl;
269 cout <<
" Tag device name : " <<
fDevname << endl;
270 cout <<
" Pass indicator : " <<
fPassname << endl;
271 cout <<
" Write indicator : " <<
fWritename << endl;
276 Int_t nen=(int)
fData->GetEntries();
278 cout <<
" Number of entries available : " << nen << endl;
282 cout <<
" *** Number of entries to be processed : " << nen << endl;
288 for (Int_t i=0; i<nact; i++)
293 cout <<
" === Tag names (*=wildcard) that are activated by the user for re-tagged event sample studies ===" << endl;
294 cout <<
" The non-activated tags are flagged as \"dead\" in the combined \"Passing*Writing\" listing." << endl;
295 cout <<
" However, they are still shown in the corresponding tag matrix to identify the missed tags." << endl;
298 TObjString* tagx=(TObjString*)
fAct->At(i);
301 cout <<
" ... *" << tagx->GetString() <<
"*" << endl;
303 for (Int_t i=0; i<ndeact; i++)
308 cout <<
" === Tag names (*=wildcard) that are de-activated by the user for re-tagged background reduction studies ===" << endl;
309 cout <<
" The de-activated tags are flagged as \"dead\" in the combined \"Passing*Writing\" listing." << endl;
310 cout <<
" However, they are still shown in the corresponding tag matrix to identify the missed tags." << endl;
313 TObjString* tagx=(TObjString*)
fDeact->At(i);
316 cout <<
" ... *" << tagx->GetString() <<
"*" << endl;
325 if (title==
"*") title=
"Passing";
326 title+=
" statistics";
332 if (title==
"*") title=
"Writing";
333 title+=
" statistics";
339 if (nact || ndeact) title=
"User reduced combined ";
348 title+=
"Passing*Writing";
350 title+=
" statistics";
374 for (Int_t ient=0; ient<nen; ient++)
376 fData->GetEntry(ient);
380 select=
fEvt->GetSelectLevel();
381 if (select<0)
continue;
385 if (!tagdev)
continue;
394 jrun=
fEvt->GetRunNumber();
395 jevt=
fEvt->GetEventNumber();
414 for (Int_t itag=1; itag<=ntags; itag++)
437 fPass.AddNamedSlot(name);
440 fPass.AddSignal(ipass,name);
441 idx=
fPass.GetSlotIndex(name);
443 fWrites.AddSignal(iwrite,name);
444 idx=
fWrites.GetSlotIndex(name);
446 fCombis.AddSignal(ipass*iwrite,name);
447 idx=
fCombis.GetSlotIndex(name);
460 for (Int_t i=0; i<nact; i++)
462 TObjString* sox=(TObjString*)
fAct->At(i);
464 namex=sox->GetString();
465 if (name.Contains(namex.Data()))
473 for (Int_t i=0; i<ndeact; i++)
475 TObjString* sox=(TObjString*)
fDeact->At(i);
477 namex=sox->GetString();
478 if (name.Contains(namex.Data()))
491 if (ipass*iwrite) combflag=1;
498 ntags=
fPass.GetNslots();
501 for (Int_t irow=0; irow<ntags; irow++)
506 if (!ival1 && !ival2 && !ival3)
continue;
507 for (Int_t icol=0; icol<ntags; icol++)
510 if (ival1 && ival4)
fMpass(irow,icol)+=float(ival4);
512 if (ival2 && ival4)
fMwrites(irow,icol)+=float(ival4);
514 if (ival3 && ival4)
fMcombis(irow,icol)+=float(ival4);
520 perc=100*(ient+1)/nen;
521 cout <<
" *** Processed input entry : " << ient <<
" run : " << jrun <<
" event : " << jevt <<
" (" << perc <<
"%)" << endl;