CMS 3D CMS Logo

EcalDumpRaw.h
Go to the documentation of this file.
1 /*
2  *
3  * Author: Ph Gras. CEA/IRFU - Saclay
4  */
5 
6 #ifndef ECALDUMPRAW_H
7 #define ECALDUMPRAW_H
8 
9 #include <vector>
10 #include <iostream>
11 #include <fstream>
12 #include <sstream>
13 #include <string>
14 #include <cinttypes>
15 //#include "pgras/PGUtilities/interface/PGHisto.h"
16 
22 
35  //ctors
36 public:
37  explicit EcalDumpRaw(const edm::ParameterSet&);
38  ~EcalDumpRaw() override;
39 
40  void analyze(const edm::Event&, const edm::EventSetup&) override;
41 
42  void analyzeEB(const edm::Event&, const edm::EventSetup&) const;
43  void analyzeEE(const edm::Event&, const edm::EventSetup&) const;
44  void endJob();
45  //methods
46 public:
47 private:
48  void analyzeFed(int fedId);
49  void analyzeApd();
50  std::string toNth(int n);
51  bool decode(const uint32_t* data, int iWord32, std::ostream& out);
52  double max(const std::vector<double>& a, unsigned& pos) {
53  pos = 0;
54  double m = a[pos];
55  for (unsigned i = 1; i < a.size(); ++i) {
56  if (a[i] > m) {
57  m = a[i];
58  pos = i;
59  }
60  }
61  return m;
62  }
63  double min(const std::vector<double>& a) {
64  double m = a[0];
65  for (unsigned i = 1; i < a.size(); ++i) {
66  if (a[i] < m)
67  m = a[i];
68  }
69  return m;
70  }
71  //static int lme(int dccId1, int side);
72 
73  template <class T>
75  std::stringstream s;
76  s << val;
77  return s.str();
78  }
79 
80  static int sideOfRu(int ru1);
81 
82  static int modOfRu(int ru1);
83 
84  static int lmodOfRu(int ru1);
85 
86  std::string srRange(int offset) const;
87 
88  std::string ttfTag(int tccType, unsigned iSeq) const;
89 
90  std::string tpgTag(int tccType, unsigned iSeq) const;
91 
92  //fields
93 private:
95  bool writeDcc_;
101  int iEvent_;
102 
103  unsigned iTowerWord64_;
104  unsigned iSrWord64_;
105  unsigned iTccWord64_;
108 
109  std::vector<double> adc_;
110 
111  static const int nSamples = 10;
112  double amplCut_;
113  bool dump_;
114  bool dumpAdc_;
116  // bool doHisto_;
117  int maxEvt_;
120  int l1aMinX_;
121  int l1aMaxX_;
122  int dccCh_;
123  std::vector<uint32_t> lastOrbit_;
124  static const unsigned nDccs_ = 54;
125  static const unsigned fedStart_ = 601;
126  static const int maxTpgsPerTcc_ = 68;
127  static const int maxTccsPerDcc_ = 4;
128 
130 
132  static const int ebmTcc_ = 0;
133  static const int ebpTcc_ = 1;
134  static const int eeInnerTcc_ = 2;
135  static const int eeOuterTcc_ = 3;
136  static const int nTccTypes_ = 4;
138 
141  static const int ttId_[nTccTypes_][maxTpgsPerTcc_];
142 
143  unsigned fedId_;
144  unsigned dccId_;
145  unsigned side_;
146  unsigned eventId_;
147  std::vector<unsigned> eventList_;
148  unsigned minEventId_;
149  unsigned maxEventId_;
150  unsigned orbit0_;
151  uint32_t orbit_;
153  int bx_;
154  int l1a_;
157  // PGHisto histo_;
158  std::vector<std::vector<uint32_t> > l1as_;
159  std::vector<std::vector<uint32_t> > orbits_;
160  std::vector<std::vector<int> > tpg_;
161  std::vector<int> nTpgs_;
162  std::vector<int> dccChStatus_;
163  int iRu_;
164  int srpL1a_;
165  int tccL1a_;
166  //Number of TPGs in TCC block currently parsed:
167  int nTts_;
168  //Length of TCC block currently parsed:
170  static const int nRu_ = 70;
171  std::vector<int> feL1a_;
172  int srpBx_;
173  int tccBx_;
175  int tccType_;
176  std::vector<int> feBx_;
177  std::vector<int> feRuId_;
178  int iTow_;
179  std::ofstream dumpFile_;
183  int tccId_;
184  //tcc sequence number of currenlty parsed tower block of one DCC
185  int iTcc_;
190 };
191 
192 #endif //ECALDUMPRAW_H not defined
EcalDumpRaw::min
double min(const std::vector< double > &a)
Definition: EcalDumpRaw.h:63
EcalDumpRaw::adc_
std::vector< double > adc_
Definition: EcalDumpRaw.h:109
mps_fire.i
i
Definition: mps_fire.py:428
EcalDumpRaw::beg_fed_id_
int beg_fed_id_
Definition: EcalDumpRaw.h:96
EcalDumpRaw::analyzeApd
void analyzeApd()
EcalDumpRaw::orbit0Set_
bool orbit0Set_
Definition: EcalDumpRaw.h:152
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
EcalDumpRaw::nTccTypes_
static const int nTccTypes_
Definition: EcalDumpRaw.h:136
EcalDumpRaw::tccBlockLen64_
int tccBlockLen64_
Definition: EcalDumpRaw.h:169
EcalDumpRaw::sideOfRu
static int sideOfRu(int ru1)
Definition: EcalDumpRaw.cc:792
EcalDumpRaw::inTccBlock
Definition: EcalDumpRaw.h:106
EcalDumpRaw::fedRawDataCollectionToken_
edm::EDGetTokenT< FEDRawDataCollection > fedRawDataCollectionToken_
Definition: EcalDumpRaw.h:188
EDAnalyzer.h
edm::EDGetTokenT< FEDRawDataCollection >
EcalDumpRaw::decodeState_
enum EcalDumpRaw::@486 decodeState_
EcalDumpRaw::nRu_
static const int nRu_
Definition: EcalDumpRaw.h:170
EcalDumpRaw::amplCut_
double amplCut_
Definition: EcalDumpRaw.h:112
EcalDumpRaw::fedStart_
static const unsigned fedStart_
Definition: EcalDumpRaw.h:125
pos
Definition: PixelAliasList.h:18
EcalDumpRaw::dccCh_
int dccCh_
Definition: EcalDumpRaw.h:122
EcalDumpRaw::minEventId_
unsigned minEventId_
Definition: EcalDumpRaw.h:148
EcalDumpRaw::writeDcc_
bool writeDcc_
Definition: EcalDumpRaw.h:95
L1AcceptBunchCrossing.h
EcalDumpRaw::decode
bool decode(const uint32_t *data, int iWord32, std::ostream &out)
Definition: EcalDumpRaw.cc:417
EcalDumpRaw::toNth
std::string toNth(int n)
Definition: EcalDumpRaw.cc:394
EcalDumpRaw::lmodOfRu
static int lmodOfRu(int ru1)
Definition: EcalDumpRaw.cc:809
EcalDumpRaw::l1aHistory_
bool l1aHistory_
Definition: EcalDumpRaw.h:115
EcalDumpRaw::srRange
std::string srRange(int offset) const
Definition: EcalDumpRaw.cc:822
EcalDumpRaw::end_fed_id_
int end_fed_id_
Definition: EcalDumpRaw.h:97
EcalDumpRaw::maxEvt_
int maxEvt_
Definition: EcalDumpRaw.h:117
EcalDumpRaw::pulsePerLme_
bool pulsePerLme_
Definition: EcalDumpRaw.h:182
EcalDumpRaw::detailedTrigType_
int detailedTrigType_
Definition: EcalDumpRaw.h:156
EcalDumpRaw::tccL1a_
int tccL1a_
Definition: EcalDumpRaw.h:165
EcalDumpRaw::iEvent_
int iEvent_
Definition: EcalDumpRaw.h:101
EcalDumpRaw::iTowerWord64_
unsigned iTowerWord64_
Definition: EcalDumpRaw.h:103
EcalDumpRaw::towerBlockLength_
size_t towerBlockLength_
Definition: EcalDumpRaw.h:107
EcalDumpRaw::feBx_
std::vector< int > feBx_
Definition: EcalDumpRaw.h:176
EcalDumpRaw::ttId_
static const int ttId_[nTccTypes_][maxTpgsPerTcc_]
Definition: EcalDumpRaw.h:141
EcalDumpRaw::ttfTag
std::string ttfTag(int tccType, unsigned iSeq) const
Definition: EcalDumpRaw.cc:837
EcalDumpRaw::eventList_
std::vector< unsigned > eventList_
Definition: EcalDumpRaw.h:147
EcalDumpRaw::maxEventId_
unsigned maxEventId_
Definition: EcalDumpRaw.h:149
EcalDumpRaw::inDccHeader
Definition: EcalDumpRaw.h:106
EcalDumpRaw::feL1a_
std::vector< int > feL1a_
Definition: EcalDumpRaw.h:171
EcalDumpRaw::inDaqHeader
Definition: EcalDumpRaw.h:106
EcalDumpRaw::orbits_
std::vector< std::vector< uint32_t > > orbits_
Definition: EcalDumpRaw.h:159
EcalDumpRaw::~EcalDumpRaw
~EcalDumpRaw() override
Definition: EcalDumpRaw.cc:172
EcalDumpRaw::first_event_
int first_event_
Definition: EcalDumpRaw.h:98
alignCSCRings.s
s
Definition: alignCSCRings.py:92
EcalDumpRaw::iTccWord64_
unsigned iTccWord64_
Definition: EcalDumpRaw.h:105
EcalDumpRaw::inSrBlock
Definition: EcalDumpRaw.h:106
EcalDumpRaw::nTpgs_
std::vector< int > nTpgs_
Definition: EcalDumpRaw.h:161
EcalDumpRaw::tpgTag
std::string tpgTag(int tccType, unsigned iSeq) const
Definition: EcalDumpRaw.cc:853
EcalDumpRaw::lastOrbit_
std::vector< uint32_t > lastOrbit_
Definition: EcalDumpRaw.h:123
EcalDumpRaw::pulsePerLmod_
bool pulsePerLmod_
Definition: EcalDumpRaw.h:181
EcalDumpRaw::side_
unsigned side_
Definition: EcalDumpRaw.h:145
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:78
EcalDumpRaw::srpBx_
int srpBx_
Definition: EcalDumpRaw.h:172
EcalDumpRaw::dumpFile_
std::ofstream dumpFile_
Definition: EcalDumpRaw.h:179
EcalDumpRaw::fedRawDataCollectionTag_
edm::InputTag fedRawDataCollectionTag_
Definition: EcalDumpRaw.h:186
EcalDumpRaw::iSrWord64_
unsigned iSrWord64_
Definition: EcalDumpRaw.h:104
EcalDumpRaw::iRu_
int iRu_
Definition: EcalDumpRaw.h:163
EcalDumpRaw::filename_
std::string filename_
Definition: EcalDumpRaw.h:100
EcalDumpRaw::pulsePerRu_
bool pulsePerRu_
Definition: EcalDumpRaw.h:180
EcalDumpRaw::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: EcalDumpRaw.cc:175
EcalDumpRaw::eeOuterTcc_
static const int eeOuterTcc_
Definition: EcalDumpRaw.h:135
EcalDumpRaw::orbit_
uint32_t orbit_
Definition: EcalDumpRaw.h:151
EcalDumpRaw::modOfRu
static int modOfRu(int ru1)
Definition: EcalDumpRaw.cc:800
EcalDumpRaw::profileRuId_
int profileRuId_
Definition: EcalDumpRaw.h:119
EcalDumpRaw::iTow_
int iTow_
Definition: EcalDumpRaw.h:178
edm::ParameterSet
Definition: ParameterSet.h:47
a
double a
Definition: hdecay.h:119
edm::stream::EDAnalyzer
Definition: EDAnalyzer.h:31
EcalDumpRaw::analyzeFed
void analyzeFed(int fedId)
EcalDumpRaw::EcalDumpRaw
EcalDumpRaw(const edm::ParameterSet &)
Definition: EcalDumpRaw.cc:97
EcalDumpRaw::inTowerBlock
Definition: EcalDumpRaw.h:106
EcalDumpRaw::l1aMinX_
int l1aMinX_
Definition: EcalDumpRaw.h:120
EcalDumpRaw::analyzeEB
void analyzeEB(const edm::Event &, const edm::EventSetup &) const
EcalDumpRaw::ebmTcc_
static const int ebmTcc_
Definition: EcalDumpRaw.h:132
EcalDumpRaw::tccType_
int tccType_
type of TCC currently parsed
Definition: EcalDumpRaw.h:175
EcalDumpRaw::dumpAdc_
bool dumpAdc_
Definition: EcalDumpRaw.h:114
EcalDumpRaw::endJob
void endJob()
Definition: EcalDumpRaw.cc:170
EcalDumpRaw::l1a_
int l1a_
Definition: EcalDumpRaw.h:154
EcalDumpRaw::l1as_
std::vector< std::vector< uint32_t > > l1as_
Definition: EcalDumpRaw.h:158
EcalDumpRaw::analyzeEE
void analyzeEE(const edm::Event &, const edm::EventSetup &) const
FEDRawDataCollection.h
EcalDumpRaw::toString
std::string toString(T val)
Definition: EcalDumpRaw.h:74
edm::EventSetup
Definition: EventSetup.h:58
EcalDumpRaw::tpg_
std::vector< std::vector< int > > tpg_
Definition: EcalDumpRaw.h:160
l1tstage2_dqm_sourceclient-live_cfg.fedId
fedId
Definition: l1tstage2_dqm_sourceclient-live_cfg.py:89
EcalDumpRaw::tccId_
int tccId_
Definition: EcalDumpRaw.h:183
EcalDumpRaw::srpL1a_
int srpL1a_
Definition: EcalDumpRaw.h:164
EcalDumpRaw::fedId_
unsigned fedId_
Definition: EcalDumpRaw.h:143
EcalDumpRaw::tccBx_
int tccBx_
Definition: EcalDumpRaw.h:173
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
EcalDumpRaw::nSamples
static const int nSamples
Definition: EcalDumpRaw.h:111
InputTag.h
EcalDumpRaw::simpleTrigType_
int simpleTrigType_
Definition: EcalDumpRaw.h:155
EcalDumpRaw::dccChStatus_
std::vector< int > dccChStatus_
Definition: EcalDumpRaw.h:162
EcalDumpRaw::eeInnerTcc_
static const int eeInnerTcc_
Definition: EcalDumpRaw.h:134
heppy_batch.val
val
Definition: heppy_batch.py:351
EcalDumpRaw::verbosity_
int verbosity_
Definition: EcalDumpRaw.h:94
EcalDumpRaw::max
double max(const std::vector< double > &a, unsigned &pos)
Definition: EcalDumpRaw.h:52
EcalDumpRaw::bx_
int bx_
Definition: EcalDumpRaw.h:153
Frameworkfwd.h
T
long double T
Definition: Basic3DVectorLD.h:48
EcalDumpRaw::l1AcceptBunchCrossingCollectionToken_
edm::EDGetTokenT< L1AcceptBunchCrossingCollection > l1AcceptBunchCrossingCollectionToken_
Definition: EcalDumpRaw.h:189
EcalDumpRaw::iTcc_
int iTcc_
Definition: EcalDumpRaw.h:185
EcalDumpRaw::dump_
bool dump_
Definition: EcalDumpRaw.h:113
EcalDumpRaw::maxTpgsPerTcc_
static const int maxTpgsPerTcc_
Definition: EcalDumpRaw.h:126
EcalDumpRaw::nTts_
int nTts_
Definition: EcalDumpRaw.h:167
EcalDumpRaw::last_event_
int last_event_
Definition: EcalDumpRaw.h:99
EcalDumpRaw::dccId_
unsigned dccId_
Definition: EcalDumpRaw.h:144
EcalDumpRaw::ebpTcc_
static const int ebpTcc_
Definition: EcalDumpRaw.h:133
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
EcalDumpRaw::nDccs_
static const unsigned nDccs_
Definition: EcalDumpRaw.h:124
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
EcalDumpRaw::feRuId_
std::vector< int > feRuId_
Definition: EcalDumpRaw.h:177
EcalDumpRaw::profileFedId_
int profileFedId_
Definition: EcalDumpRaw.h:118
EcalDumpRaw
Definition: EcalDumpRaw.h:34
EcalDumpRaw::orbit0_
unsigned orbit0_
Definition: EcalDumpRaw.h:150
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition: hltrates_dqm_sourceclient-live_cfg.py:82
edm::Event
Definition: Event.h:73
edm::InputTag
Definition: InputTag.h:15
EcalDumpRaw::l1AcceptBunchCrossingCollectionTag_
edm::InputTag l1AcceptBunchCrossingCollectionTag_
Definition: EcalDumpRaw.h:187
EcalDumpRaw::l1aMaxX_
int l1aMaxX_
Definition: EcalDumpRaw.h:121
EcalDumpRaw::maxTccsPerDcc_
static const int maxTccsPerDcc_
Definition: EcalDumpRaw.h:127
EcalDumpRaw::eventId_
unsigned eventId_
Definition: EcalDumpRaw.h:146