33 meESFedsEntries_ =
nullptr;
34 meESFedsFatal_ =
nullptr;
35 meESFedsNonFatal_ =
nullptr;
45 sprintf(
histo,
"FEDEntries");
48 sprintf(
histo,
"FEDFatal");
51 sprintf(
histo,
"FEDNonFatal");
60 int esDCC_L1A_MostFreqCounts = 0;
61 int esDCC_BX_MostFreqCounts = 0;
62 int esDCC_OrbitNumber_MostFreqCounts = 0;
63 int gtFedDataSize = 0;
68 if (
e.getByToken(FEDRawDataCollection_, allFedRawData)) {
70 for (
int esFED = 520; esFED <= 575; ++esFED) {
76 meESFedsEntries_->Fill(esFED);
84 if (gtFedDataSize > 0) {
91 map<int, int> esDCC_L1A_FreqMap;
92 map<int, int> esDCC_BX_FreqMap;
93 map<int, int> esDCC_OrbitNumber_FreqMap;
95 if (
e.getByToken(dccCollections_, dccs)) {
99 esDCC_L1A_FreqMap[esdcc.
getLV1()]++;
100 esDCC_BX_FreqMap[esdcc.
getBX()]++;
103 if (esDCC_L1A_FreqMap[esdcc.
getLV1()] > esDCC_L1A_MostFreqCounts) {
104 esDCC_L1A_MostFreqCounts = esDCC_L1A_FreqMap[esdcc.
getLV1()];
108 if (esDCC_BX_FreqMap[esdcc.
getBX()] > esDCC_BX_MostFreqCounts) {
109 esDCC_BX_MostFreqCounts = esDCC_BX_FreqMap[esdcc.
getBX()];
113 if (esDCC_OrbitNumber_FreqMap[esdcc.
getOrbitNumber()] > esDCC_OrbitNumber_MostFreqCounts) {
114 esDCC_OrbitNumber_MostFreqCounts = esDCC_OrbitNumber_FreqMap[esdcc.
getOrbitNumber()];
119 LogWarning(
"ESFEDIntegrityTask") <<
"dccCollections not available";
124 LogWarning(
"ESFEDIntegrityTask") <<
"FEDRawDataCollection not available";
127 vector<int> fiberStatus;
128 if (
e.getByToken(dccCollections_, dccs)) {
132 if (
dcc.getDCCErrors() > 0) {
134 meESFedsFatal_->Fill(
dcc.fedId());
138 cout <<
dcc.fedId() <<
" " <<
dcc.getOptoRX0() <<
" " <<
dcc.getOptoRX1() <<
" " <<
dcc.getOptoRX2() << endl;
139 fiberStatus =
dcc.getFEChannelStatus();
141 if (
dcc.getOptoRX0() == 128) {
142 meESFedsNonFatal_->Fill(
dcc.fedId(), 1. / 3.);
143 }
else if (
dcc.getOptoRX0() == 129) {
144 for (
unsigned int i = 0;
i < 12; ++
i) {
145 if (fiberStatus[
i] == 8 || fiberStatus[
i] == 10 || fiberStatus[
i] == 11 || fiberStatus[
i] == 12)
146 if (meESFedsNonFatal_)
147 meESFedsNonFatal_->Fill(
dcc.fedId(), 1. / 12.);
150 if (
dcc.getOptoRX1() == 128) {
151 meESFedsNonFatal_->Fill(
dcc.fedId(), 1. / 3.);
152 }
else if (
dcc.getOptoRX1() == 129) {
153 for (
unsigned int i = 12;
i < 24; ++
i) {
154 if (fiberStatus[
i] == 8 || fiberStatus[
i] == 10 || fiberStatus[
i] == 11 || fiberStatus[
i] == 12)
155 if (meESFedsNonFatal_)
156 meESFedsNonFatal_->Fill(
dcc.fedId(), 1. / 12.);
159 if (
dcc.getOptoRX2() == 128) {
160 meESFedsNonFatal_->Fill(
dcc.fedId(), 1. / 3.);
161 }
else if (
dcc.getOptoRX2() == 129) {
162 for (
unsigned int i = 24;
i < 36; ++
i) {
163 if (fiberStatus[
i] == 8 || fiberStatus[
i] == 10 || fiberStatus[
i] == 11 || fiberStatus[
i] == 12)
164 if (meESFedsNonFatal_)
165 meESFedsNonFatal_->Fill(
dcc.fedId(), 1. / 12.);
170 if (
dcc.getLV1() != gt_L1A)
171 meESFedsNonFatal_->Fill(
dcc.fedId());
T getParameter(std::string const &) const
ALPAKA_FN_ACC int dcc(int ieta, int iphi)
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Analyze.
virtual void setCurrentFolder(std::string const &fullpath)
std::vector< T >::const_iterator const_iterator
size_t size() const
Lenght of the data buffer in bytes.
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
T getUntrackedParameter(std::string const &, T const &) const
ESFEDIntegrityTask(const edm::ParameterSet &ps)
#define DEFINE_FWK_MODULE(type)
const_iterator begin() const
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
Namespace of DDCMS conversion namespace.
const_iterator end() const
unsigned long long uint64_t
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
Log< level::Warning, false > LogWarning
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())