|
|
Go to the documentation of this file.
7 std::cout <<
"BxTiming::BxTiming()...\n" << std::flush;
29 for (
int i = 0;
i < ngtbits;
i++)
34 std::cout <<
"BxTiming: gt bits set for timing dqm:";
44 std::cout <<
"BxTiming::BxTiming constructor...done.\n" << std::flush;
63 std::string SysLabel[
NSYS] = {
"PreShower",
"ECAL",
"HCAL",
"GCT",
"CSCTPG",
"CSCTF",
"DTTPG",
"DTTF",
"RPC",
"GT"};
65 typedef std::pair<int, int> FEDRange;
67 std::pair<int, int> fedRange[
NSYS] = {
91 refName += SysLabel[fedRefSys];
97 const int dbx =
nbig_;
102 "BxDiffAllFed",
"BxDiffAllFed",
nfed_ + 1, -0.5,
nfed_ + 0.5, 2 * dbx + 1, -1 * dbx - 0.5, dbx + 0.5);
106 lbl +=
"BxDiffAllFed";
107 lbl += spreadLabel[
i];
110 lbl +=
"BxOccyAllFed";
111 lbl += spreadLabel[
i];
115 lbl +=
"BxOccyAllFed";
123 for (
int i = 0;
i <
NSYS;
i++) {
128 nfeds = (nfeds > 0) ? nfeds : 1;
140 lbl +=
"BxOccyAllFed";
145 lbl +=
"BxOccyOneFed";
146 char *
ii =
new char[1000];
147 std::sprintf(
ii,
"%d",
i);
156 lbl +=
"BxOccyGtTrigType";
157 char *
ii =
new char[16];
158 std::sprintf(
ii,
"%d",
i + 1);
165 for (
int i = 0;
i <
NSYS;
i++) {
170 lbl +=
"BxOccyGtBit";
171 char *
ii =
new char[1000];
183 lbl +=
"BX(fed)-BX(";
189 lbl +=
"BX(fed)-BX(";
191 lbl +=
") " + spreadLabel[
i];
195 lbl +=
"Bx FED occupancy";
197 lbl += spreadLabel[
i];
204 lbl +=
"Combined FED occupancy";
211 for (
int i = 0;
i <
NSYS;
i++) {
229 char *
ii =
new char[1000];
230 std::sprintf(
ii,
"%d",
i);
239 lbl +=
"GT occupancy for trigger type ";
240 char *
ii =
new char[16];
241 std::sprintf(
ii,
"%d",
i + 1);
247 for (
int i = 0;
i <
NSYS;
i++) {
252 lbl +=
" Bx occupancy for Trigger bit ";
253 char *
ii =
new char[10];
265 std::cout <<
"BxTiming::analyze() start\n" << std::flush;
275 std::cout <<
"BxTiming::analyze() | FEDRawDataCollection with input tag " <<
fedSource_ <<
" not found.";
283 std::vector<bool> gtbits;
285 gtbits.reserve(ngtbits);
286 for (
int i = 0;
i < ngtbits;
i++)
291 if (gtbits.empty()) {
292 gtbits.push_back(
true);
294 std::cout <<
"BxTiming::analyze() | unexpected empty decision bits!";
299 <<
" decision word size:" << (
int)(gtbits.size()) <<
" bits: ";
300 for (
size_t i = 0;
i != gtbits.size();
i++) {
301 int ii = gtbits.at(
i) ? 1 : 0;
312 int ttype = static_cast<double>(
iEvent.eventAuxiliary().experimentType());
339 std::cout <<
" fed:" <<
i <<
" bx:" <<
bx <<
" bxRef:" << bxRef <<
" diff:" << bxDiff <<
" nBxDiff"
360 std::cout <<
"BxTiming analyze | problem with vector size!\n" << std::endl;
364 for (
int j = 0;
j <
NSYS;
j++) {
398 std::cout <<
"BxTiming::analyze() end.\n" << std::flush;
404 int diff = bx1 - bx2;
int nBxOccy[FEDNumbering::MAXFEDID+1][nspr_]
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtSource_token_
std::vector< int > listGtBits_
virtual void setCurrentFolder(std::string const &fullpath)
MonitorElement * hBxDiffAllFedSpread[nspr_]
U second(std::pair< T, U > const &p)
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &, edm::EventSetup const &) override
MonitorElement * hBxOccyGtTrigType[nttype_]
MonitorElement * hBxOccyAllFedSpread[nspr_]
T getUntrackedParameter(std::string const &, T const &) const
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
MonitorElement * hBxDiffAllFed
histograms
BxTiming(const edm::ParameterSet &)
int calcBxDiff(int bx1, int bx2)
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
const DecisionWord & decisionWord(int bxInEventValue) const
int nBxDiff[FEDNumbering::MAXFEDID+1][nspr_]
edm::EDGetTokenT< FEDRawDataCollection > fedSource_token_
static const int half_norb_
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
std::pair< int, int > fedRange_[NSYS]
void analyze(const edm::Event &, const edm::EventSetup &) override
char data[epos_bytes_allocation]
MonitorElement * hBxOccyAllFed
MonitorElement ** hBxOccyOneFed
MonitorElement ** hBxOccyTrigBit[NSYS]
MonitorElement * hBxDiffSysFed[NSYS]
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())