8 std::cout <<
"BxTiming::BxTiming()...\n" << std::flush;
22 (
"HistFolder",
"L1T/BXSynch");
25 if(runInFF_) histFolder_ =
"L1T/BXSynch_EvF";
27 std::cout <<
"Filter farm run setting?" << runInFF_
28 <<
"\n" << std::flush;
34 for(
int i=0;
i<ngtbits;
i++)
39 std::cout <<
"BxTiming: gt bits set for timing dqm:";
49 std::cout <<
"BxTiming::BxTiming constructor...done.\n" << std::flush;
71 "PreShower",
"ECAL",
"HCAL",
"GCT",
"CSCTPG",
"CSCTF",
"DTTPG",
"DTTF",
"RPC",
"GT"
74 typedef std::pair<int, int> FEDRange;
76 std::pair<int,int> fedRange[
NSYS] = {
98 refName+=SysLabel[fedRefSys];
104 const int dbx =
nbig_;
109 nfed_ + 1, -0.5, nfed_+0.5,
110 2*dbx+1, -1*dbx-0.5,dbx+0.5
114 lbl.clear();lbl+=
"BxDiffAllFed";lbl+=spreadLabel[
i];
116 lbl.clear();lbl+=
"BxOccyAllFed";lbl+=spreadLabel[
i];
119 lbl.clear();lbl+=
"BxOccyAllFed";
130 lbl.clear();lbl+=SysLabel[
i];lbl+=
"FedBxDiff";
132 nfeds = (nfeds>0)? nfeds:1;
135 2*dbx+1,-1*dbx-0.5,dbx+0.5);
140 lbl.clear();lbl+=
"BxOccyAllFed";
144 lbl.clear(); lbl+=
"BxOccyOneFed";
145 char *
ii =
new char[1000]; std::sprintf(ii,
"%d",
i);lbl+=
ii;
152 lbl.clear();lbl+=
"BxOccyGtTrigType";
153 char *
ii =
new char[10]; std::sprintf(ii,
"%d",
i+1);lbl+=
ii;
162 lbl.clear();lbl+=SysLabel[
i];lbl+=
"BxOccyGtBit";
163 char *
ii =
new char[1000]; std::sprintf(ii,
"%d",
listGtBits_.at(
j)); lbl+=
ii;
173 lbl.clear(); lbl+=
"BX(fed)-BX("; lbl+=refName; lbl+=
")";
176 lbl.clear(); lbl+=
"BX(fed)-BX("; lbl+=refName; lbl+=
") "+spreadLabel[
i];
179 lbl.clear(); lbl+=
"Bx FED occupancy"; lbl+=
" "; lbl+=spreadLabel[
i];
185 lbl.clear(); lbl+=
"Combined FED occupancy";
193 lbl.clear(); lbl+=SysLabel[
i]; lbl+=
" FED ID";
195 lbl.clear(); lbl+=
"BX("; lbl+=SysLabel[
i]; lbl+=
")-BX(";lbl+=refName; lbl+=
")";
201 lbl.clear(); lbl+=
" FED ";
char *
ii =
new char[1000]; std::sprintf(ii,
"%d",
i);lbl+=
ii; lbl+=
" occupancy";
207 lbl.clear(); lbl+=
"GT occupancy for trigger type ";
char *
ii =
new char[10]; std::sprintf(ii,
"%d",
i+1);lbl+=
ii;
215 lbl.clear();lbl+=SysLabel[
i];lbl+=
" Bx occupancy for Trigger bit ";
233 std::cout <<
"BxTiming::analyze() start\n" << std::flush;
245 <<
"BxTiming::analyze() | FEDRawDataCollection with input tag "
254 std::vector<bool> gtbits;
256 gtbits.reserve(ngtbits);
for(
int i=0;
i<ngtbits;
i++) gtbits[
i]=
false;
258 gtbits = gtdata->decisionWord();
260 if(gtbits.size()==0) {
261 gtbits.push_back(
true);
263 std::cout <<
"BxTiming::analyze() | unexpected empty decision bits!";
267 std::cout <<
"BxTiming::analyze() gt data valid:" << (int)(gtdata.
isValid()?0:1)
268 <<
" decision word size:" << (
int)(gtbits.size()) <<
" bits: ";
269 for(
size_t i=0;
i!=gtbits.size();
i++) {
270 int ii = gtbits.at(
i)? 1:0;
292 int bx = header.
bxID();
306 <<
" bxRef:" << bxRef
307 <<
" diff:" << bxDiff
310 <<
"\n" << std::flush;
329 std::cout <<
"BxTiming analyze | problem with vector size!\n" << std::endl;
345 if(ttype!=1)
continue;
354 if(nBxDiff[
i][0]<0 || nBxOccy[
i][0]<0)
continue;
361 <<
" Bx-Bx(" <<
fedRef_ <<
")::"
362 <<
" del:" << nBxDiff[
i][0]
363 <<
" min:" << nBxDiff[
i][1]
364 <<
" max:" << nBxDiff[
i][2]
366 <<
" del:" << nBxOccy[
i][0]
367 <<
" min:" << nBxOccy[
i][1]
368 <<
" max:" << nBxOccy[
i][2]
369 <<
"\n" << std::flush;
375 std::cout <<
"BxTiming::analyze() end.\n" << std::flush;
383 int diff = bx1 - bx2;
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * hBxDiffAllFed
histograms
void setBinContent(int binx, double content)
set content of bin (1-D)
int nBxOccy[FEDNumbering::MAXFEDID+1][nspr_]
virtual void dqmBeginRun(edm::Run const &iRun, edm::EventSetup const &iSetup)
MonitorElement * bookProfile(Args &&...args)
MonitorElement * hBxDiffAllFedSpread[nspr_]
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::vector< int > listGtBits_
MonitorElement * bookInt(Args &&...args)
MonitorElement * runStartTimeStamp_
MonitorElement * hBxOccyAllFed
MonitorElement ** hBxOccyOneFed
size_t size() const
Lenght of the data buffer in bytes.
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtSource_token_
ExperimentType experimentType() const
U second(std::pair< T, U > const &p)
MonitorElement * hBxOccyGtTrigType[nttype_]
MonitorElement * book1D(Args &&...args)
static const int half_norb_
virtual void analyze(const edm::Event &, const edm::EventSetup &)
EventAuxiliary const & eventAuxiliary() const
virtual void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &, edm::EventSetup const &) override
void setCurrentFolder(const std::string &fullpath)
edm::EDGetTokenT< FEDRawDataCollection > fedSource_token_
MonitorElement * hBxDiffSysFed[NSYS]
MonitorElement ** hBxOccyTrigBit[NSYS]
char data[epos_bytes_allocation]
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
int calcBxDiff(int bx1, int bx2)
int nBxDiff[FEDNumbering::MAXFEDID+1][nspr_]
MonitorElement * bookFloat(Args &&...args)
std::pair< int, int > fedRange_[NSYS]
MonitorElement * hBxOccyAllFedSpread[nspr_]
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
BxTiming(const edm::ParameterSet &)
tuple size
Write out results.