CMS 3D CMS Logo

BxTiming.h
Go to the documentation of this file.
1 #ifndef BxTiming_H
2 #define BxTiming_H
3 
4 /*\class BxTiming
5  *\description common FED timing DQM module
6  *\author N.Leonardo, A.Holzner, T.Christiansen, I.Mikulec
7  *\date 08.03
8  */
9 
10 // system, common includes
11 #include <memory>
12 #include <string>
20 // dqm includes
23 //dataFormats
31 
32 #define nfed_ FEDNumbering::MAXFEDID+1
33 
34 class BxTiming : public DQMEDAnalyzer {
35 
36  public:
37 
38  explicit BxTiming(const edm::ParameterSet&);
39  ~BxTiming() override;
40 
41  protected:
42 
43  void dqmBeginRun(edm::Run const& iRun, edm::EventSetup const& iSetup) override;
44  void analyze(const edm::Event&, const edm::EventSetup&) override;
45  void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const&, edm::EventSetup const&) override ;
46 
47  private:
48 
49  // input
54 
55  // debug verbose level
56  int verbose_;
57  int verbose() {return verbose_;}
58 
65  int calcBxDiff(int bx1, int bx2);
66 
67  // counters
68  int nEvt_;
69 
70  // root output file name
72 
73  // dqm histogram folder
75 
76 
77  // running in filter farm? (use reduced set of me's)
78  bool runInFF_;
79 
80  // readout l1 systems
81  static const int norb_ = 3564; // bx per orbit
82  static const int half_norb_ = norb_ / 2; // for calculating the difference between two BX numbers
83 
84  static const int nbig_ = 10000; // larger than bx spread
85  static const int nttype_ = 6; // number of trigger types (physics, cal,...)
86 
87  std::vector<int> listGtBits_; // selected gt bit numbers for synch monitoring
88 
89  enum nsys {NSYS=10};
90  enum syslist {PS=0, ETP, HTP, GCT, CTP, CTF, DTP, DTF, RPC, GLT};
91  std::pair<int,int> fedRange_[NSYS];
92  int fedRef_; // reference fed
93 
94  // bx spread counters
95  static const int nspr_=3; // delta, min, max
98 
100  MonitorElement* hBxDiffAllFed; // bx shift wrt reference fed, for all feds
101  MonitorElement* hBxDiffSysFed[NSYS]; // bx shift wrt reference fed, per subsystem
102  MonitorElement* hBxOccyAllFed; // bx occupancy, for all fed's
103  MonitorElement**hBxOccyOneFed; // bx occupancy, per each fed
104 
105  MonitorElement* hBxDiffAllFedSpread[nspr_]; // bx shift wrt ref fed: mean shift, min, max
106  MonitorElement* hBxOccyAllFedSpread[nspr_]; // bx occupancy: mean shift, min, max
107 
108  MonitorElement* hBxOccyGtTrigType[nttype_]; // gt bx occupancy per trigger type
109  MonitorElement**hBxOccyTrigBit[NSYS]; // subsystem bx occupancy per selected trigger bit
110 
111 
112 };
113 
114 #endif
~BxTiming() override
Definition: BxTiming.cc:52
static const int nttype_
Definition: BxTiming.h:85
static const int norb_
Definition: BxTiming.h:81
MonitorElement * hBxDiffAllFed
histograms
Definition: BxTiming.h:100
int nBxOccy[FEDNumbering::MAXFEDID+1][nspr_]
Definition: BxTiming.h:97
MonitorElement * hBxDiffAllFedSpread[nspr_]
Definition: BxTiming.h:105
std::vector< int > listGtBits_
Definition: BxTiming.h:87
int verbose()
Definition: BxTiming.h:57
#define nfed_
Definition: BxTiming.h:32
std::string histFile_
Definition: BxTiming.h:71
MonitorElement * hBxOccyAllFed
Definition: BxTiming.h:102
MonitorElement ** hBxOccyOneFed
Definition: BxTiming.h:103
static const int nbig_
Definition: BxTiming.h:84
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtSource_token_
Definition: BxTiming.h:53
MonitorElement * hBxOccyGtTrigType[nttype_]
Definition: BxTiming.h:108
int nEvt_
Definition: BxTiming.h:68
int verbose_
Definition: BxTiming.h:56
static const int half_norb_
Definition: BxTiming.h:82
edm::InputTag fedSource_
Definition: BxTiming.h:50
bool runInFF_
Definition: BxTiming.h:78
std::string histFolder_
Definition: BxTiming.h:74
edm::InputTag gtSource_
Definition: BxTiming.h:52
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &, edm::EventSetup const &) override
Definition: BxTiming.cc:55
edm::EDGetTokenT< FEDRawDataCollection > fedSource_token_
Definition: BxTiming.h:51
int fedRef_
Definition: BxTiming.h:92
MonitorElement * hBxDiffSysFed[NSYS]
Definition: BxTiming.h:101
void dqmBeginRun(edm::Run const &iRun, edm::EventSetup const &iSetup) override
Definition: BxTiming.cc:220
MonitorElement ** hBxOccyTrigBit[NSYS]
Definition: BxTiming.h:109
int calcBxDiff(int bx1, int bx2)
Definition: BxTiming.cc:377
int nBxDiff[FEDNumbering::MAXFEDID+1][nspr_]
Definition: BxTiming.h:96
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: BxTiming.cc:226
std::pair< int, int > fedRange_[NSYS]
Definition: BxTiming.h:91
MonitorElement * hBxOccyAllFedSpread[nspr_]
Definition: BxTiming.h:106
BxTiming(const edm::ParameterSet &)
Definition: BxTiming.cc:4
static const int nspr_
Definition: BxTiming.h:95
Definition: Run.h:43