291 std::string subs[5] = {
"DTTF",
"RPCb",
"CSCTF",
"RPCf",
"GMT" };
306 dbe->setCurrentFolder(
"L1T/L1TGMT");
307 dbe->rmdir(
"L1T/L1TGMT");
313 dbe->setCurrentFolder(
"L1T/L1TGMT");
315 int nqty=8;
double qtymin=-0.5;
double qtymax=7.5;
321 if(nbins>144) nbins=144;
330 for(
int j=0;
j<9;
j++) {
331 qscale[
j] = -0.5 +
j;
340 if(nbins>31) nbins=31;
344 ptscale[
nbins]=ptscale[nbins-1]+10.;
348 float etascale[5][66];
353 if(nbins>65) nbins = 65;
362 if(nbins>65) nbins = 65;
372 if(nbins>32) nbins = 32;
375 for(
int j=nbins;
j>=0;
j--,i++) {
381 netascale[
CSCTF]=i-1;
386 if(nbins>65) nbins = 65;
395 if(nbins>32) nbins = 32;
398 for(
int j=nbins;
j>0;
j--,i++) {
411 for(
int i=0; i<5; i++) {
413 hname = subs[
i] +
"_nbx"; htitle = subs[
i] +
" multiplicity in bx";
414 subs_nbx[
i] =
dbe->book2D(hname.data(),htitle.data(), 4, 1., 5., 5, -2.5, 2.5);
418 hname = subs[
i] +
"_eta"; htitle = subs[
i] +
" eta value";
419 subs_eta[
i] =
dbe->book1D(hname.data(),htitle.data(), netascale[
i], etascale[
i]);
422 hname = subs[
i] +
"_phi"; htitle = subs[
i] +
" phi value";
423 subs_phi[
i] =
dbe->book1D(hname.data(),htitle.data(), nphiscale, phiscale);
426 hname = subs[
i] +
"_pt"; htitle = subs[
i] +
" pt value";
427 subs_pt[
i] =
dbe->book1D(hname.data(),htitle.data(), nptscale, ptscale);
430 hname = subs[
i] +
"_qty"; htitle = subs[
i] +
" qty value";
431 subs_qty[
i] =
dbe->book1D(hname.data(),htitle.data(), nqty, qtymin, qtymax);
434 hname = subs[
i] +
"_etaphi"; htitle = subs[
i] +
" phi vs eta";
435 subs_etaphi[
i] =
dbe->book2D(hname.data(),htitle.data(), netascale[
i], etascale[
i], nphiscale, phiscale);
439 hname = subs[
i] +
"_etaqty"; htitle = subs[
i] +
" qty vs eta";
440 subs_etaqty[
i] =
dbe->book2D(hname.data(),htitle.data(), netascale[
i], etascale[
i], nqty, qscale);
444 hname = subs[
i] +
"_bits"; htitle = subs[
i] +
" bit population";
445 subs_bits[
i] =
dbe->book1D(hname.data(),htitle.data(), 32, -0.5, 31.5);
480 bx_number =
dbe->book1D(
"Bx_Number",
"Bx number ROP chip", 3564, 0., 3564.);
483 dbx_chip =
dbe->bookProfile(
"dbx_Chip",
"bx count difference wrt ROP chip", 5, 0., 5.,100,-4000.,4000.,
"i");
493 netascale[
GMT], etascale[GMT]);
496 eta_dtcsc_only =
dbe->book1D(
"eta_DTCSC_only",
"eta of unconfirmed DT/CSC candidates",
497 netascale[GMT], etascale[GMT]);
500 eta_rpc_only =
dbe->book1D(
"eta_RPC_only",
"eta of unconfirmed RPC candidates",
501 netascale[GMT], etascale[GMT]);
505 nphiscale, phiscale);
508 phi_dtcsc_only =
dbe->book1D(
"phi_DTCSC_only",
"phi of unconfirmed DT/CSC candidates",
509 nphiscale, phiscale);
512 phi_rpc_only =
dbe->book1D(
"phi_RPC_only",
"phi of unconfirmed RPC candidates",
513 nphiscale, phiscale);
517 netascale[GMT], etascale[GMT], nphiscale, phiscale);
521 etaphi_dtcsc_only =
dbe->book2D(
"etaphi_DTCSC_only",
"eta vs phi map of unconfirmed DT/CSC candidates",
522 netascale[GMT], etascale[GMT], nphiscale, phiscale);
526 etaphi_rpc_only =
dbe->book2D(
"etaphi_RPC_only",
"eta vs phi map of unconfirmed RPC candidates",
527 netascale[GMT], etascale[GMT], nphiscale, phiscale);
532 dist_phi_dt_rpc =
dbe->book1D(
"dist_phi_DT_RPC",
"Dphi between DT and RPC candidates", 100, -125., 125.);
535 dist_phi_csc_rpc =
dbe->book1D(
"dist_phi_CSC_RPC",
"Dphi between CSC and RPC candidates", 100, -125., 125.);
538 dist_phi_dt_csc =
dbe->book1D(
"dist_phi_DT_CSC",
"Dphi between DT and CSC candidates", 100, -125., 125.);
542 dist_eta_dt_rpc =
dbe->book1D(
"dist_eta_DT_RPC",
"Deta between DT and RPC candidates", 40, -1., 1.);
545 dist_eta_csc_rpc =
dbe->book1D(
"dist_eta_CSC_RPC",
"Deta between CSC and RPC candidates", 40, -1., 1.);
548 dist_eta_dt_csc =
dbe->book1D(
"dist_eta_DT_CSC",
"Deta between DT and CSC candidates", 40, -1., 1.);
552 n_rpcb_vs_dttf =
dbe->book2D(
"n_RPCb_vs_DTTF",
"n cands RPCb vs DTTF", 5, -0.5, 4.5, 5, -0.5, 4.5);
556 n_rpcf_vs_csctf =
dbe->book2D(
"n_RPCf_vs_CSCTF",
"n cands RPCf vs CSCTF", 5, -0.5, 4.5, 5, -0.5, 4.5);
560 n_csctf_vs_dttf =
dbe->book2D(
"n_CSCTF_vs_DTTF",
"n cands CSCTF vs DTTF", 5, -0.5, 4.5, 5, -0.5, 4.5);
564 bx_dt_rpc =
dbe->book2D(
"bx_DT_vs_RPC",
"1st bx DT vs. RPC", 5, -2.5, 2.5, 5, -2.5, 2.5);
568 bx_csc_rpc =
dbe->book2D(
"bx_CSC_vs_RPC",
"1st bx CSC vs. RPC", 5, -2.5, 2.5, 5, -2.5, 2.5);
572 bx_dt_csc =
dbe->book2D(
"bx_DT_vs_CSC",
"1st bx DT vs. CSC", 5, -2.5, 2.5, 5, -2.5, 2.5);
577 for(
int i=0; i<4; i++) {
578 hname = subs[
i] +
"_dbx"; htitle =
"dBx " + subs[
i] +
" to previous event";
579 subs_dbx[
i] =
dbe->book2D(hname.data(),htitle.data(), 1000, 0., 1000., 4, 0., 4.);
580 for(
int j=0;
j<4;
j++) {
MonitorElement * bx_number
const L1MuScale * getPtScale() const
get the Pt scale
MonitorElement * phi_rpc_only
MonitorElement * subs_eta[5]
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * subs_nbx[5]
MonitorElement * dist_eta_dt_rpc
MonitorElement * subs_bits[5]
MonitorElement * subs_dbx[4]
MonitorElement * n_csctf_vs_dttf
MonitorElement * eta_dtcsc_and_rpc
MonitorElement * dist_eta_csc_rpc
MonitorElement * subs_etaphi[5]
MonitorElement * regional_triggers
static const double piconv_
MonitorElement * etaphi_dtcsc_and_rpc
MonitorElement * etaphi_rpc_only
MonitorElement * eta_dtcsc_only
MonitorElement * eta_rpc_only
MonitorElement * n_rpcb_vs_dttf
MonitorElement * phi_dtcsc_only
const L1MuScale * getPhiScale() const
get the phi scale
virtual float getValue(unsigned i) const =0
get value of the underlying vector for bin i
MonitorElement * bx_dt_csc
MonitorElement * subs_phi[5]
MonitorElement * dbx_chip
MonitorElement * dist_phi_dt_rpc
MonitorElement * dist_phi_dt_csc
MonitorElement * phi_dtcsc_and_rpc
MonitorElement * subs_pt[5]
T const * product() const
virtual unsigned getNBins() const =0
get number of bins
MonitorElement * subs_qty[5]
const L1MuScale * getRegionalEtaScale(int isys) const
get the regioanl muon trigger eta scale, isys = 0(DT), 1(bRPC), 2(CSC), 3(fwdRPC) ...
char data[epos_bytes_allocation]
MonitorElement * bx_csc_rpc
MonitorElement * bx_dt_rpc
MonitorElement * dist_phi_csc_rpc
MonitorElement * etaphi_dtcsc_only
const L1MuScale * getGMTEtaScale() const
get the GMT eta scale
MonitorElement * subs_etaqty[5]
MonitorElement * dist_eta_dt_csc
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * n_rpcf_vs_csctf