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
22 //dataFormats
30 
31 #define nfed_ FEDNumbering::MAXFEDID + 1
32 
33 class BxTiming : public DQMEDAnalyzer {
34 public:
35  explicit BxTiming(const edm::ParameterSet&);
36  ~BxTiming() override;
37 
38 protected:
39  void analyze(const edm::Event&, const edm::EventSetup&) override;
40  void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const&, edm::EventSetup const&) override;
41 
42 private:
43  // input
48 
49  // debug verbose level
50  int verbose_;
51  int verbose() { return verbose_; }
52 
59  int calcBxDiff(int bx1, int bx2);
60 
61  // counters
62  int nEvt_;
63 
64  // root output file name
66 
67  // dqm histogram folder
69 
70  // running in filter farm? (use reduced set of me's)
71  bool runInFF_;
72 
73  // readout l1 systems
74  static const int norb_ = 3564; // bx per orbit
75  static const int half_norb_ = norb_ / 2; // for calculating the difference between two BX numbers
76 
77  static const int nbig_ = 10000; // larger than bx spread
78  static const int nttype_ = 6; // number of trigger types (physics, cal,...)
79 
80  std::vector<int> listGtBits_; // selected gt bit numbers for synch monitoring
81 
82  enum nsys { NSYS = 10 };
83  enum syslist { PS = 0, ETP, HTP, GCT, CTP, CTF, DTP, DTF, RPC, GLT };
84  std::pair<int, int> fedRange_[NSYS];
85  int fedRef_; // reference fed
86 
87  // bx spread counters
88  static const int nspr_ = 3; // delta, min, max
91 
93  MonitorElement* hBxDiffAllFed; // bx shift wrt reference fed, for all feds
94  MonitorElement* hBxDiffSysFed[NSYS]; // bx shift wrt reference fed, per subsystem
95  MonitorElement* hBxOccyAllFed; // bx occupancy, for all fed's
96  MonitorElement** hBxOccyOneFed; // bx occupancy, per each fed
97 
98  MonitorElement* hBxDiffAllFedSpread[nspr_]; // bx shift wrt ref fed: mean shift, min, max
99  MonitorElement* hBxOccyAllFedSpread[nspr_]; // bx occupancy: mean shift, min, max
100 
101  MonitorElement* hBxOccyGtTrigType[nttype_]; // gt bx occupancy per trigger type
102  MonitorElement** hBxOccyTrigBit[NSYS]; // subsystem bx occupancy per selected trigger bit
103 };
104 
105 #endif
FEDNumbering.h
BxTiming
Definition: BxTiming.h:33
BxTiming::nttype_
static const int nttype_
Definition: BxTiming.h:78
BxTiming::norb_
static const int norb_
Definition: BxTiming.h:74
MessageLogger.h
BxTiming::runInFF_
bool runInFF_
Definition: BxTiming.h:71
BxTiming::nEvt_
int nEvt_
Definition: BxTiming.h:62
edm::Run
Definition: Run.h:45
BxTiming::fedRef_
int fedRef_
Definition: BxTiming.h:85
edm::EDGetTokenT< FEDRawDataCollection >
BxTiming::nBxOccy
int nBxOccy[FEDNumbering::MAXFEDID+1][nspr_]
Definition: BxTiming.h:90
BxTiming::gtSource_token_
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtSource_token_
Definition: BxTiming.h:47
BxTiming::nbig_
static const int nbig_
Definition: BxTiming.h:77
BxTiming::listGtBits_
std::vector< int > listGtBits_
Definition: BxTiming.h:80
nfed_
#define nfed_
Definition: BxTiming.h:31
BxTiming::hBxDiffAllFedSpread
MonitorElement * hBxDiffAllFedSpread[nspr_]
Definition: BxTiming.h:98
DQMStore.h
BxTiming::bookHistograms
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &, edm::EventSetup const &) override
Definition: BxTiming.cc:49
dqm::legacy::MonitorElement
Definition: MonitorElement.h:462
BxTiming::histFolder_
std::string histFolder_
Definition: BxTiming.h:68
BxTiming::hBxOccyGtTrigType
MonitorElement * hBxOccyGtTrigType[nttype_]
Definition: BxTiming.h:101
BxTiming::hBxOccyAllFedSpread
MonitorElement * hBxOccyAllFedSpread[nspr_]
Definition: BxTiming.h:99
EDAnalyzer.h
BxTiming::RPC
Definition: BxTiming.h:83
BxTiming::hBxDiffAllFed
MonitorElement * hBxDiffAllFed
histograms
Definition: BxTiming.h:93
MakerMacros.h
BxTiming::BxTiming
BxTiming(const edm::ParameterSet &)
Definition: BxTiming.cc:4
BxTiming::calcBxDiff
int calcBxDiff(int bx1, int bx2)
Definition: BxTiming.cc:385
Service.h
BxTiming::DTF
Definition: BxTiming.h:83
BxTiming::NSYS
Definition: BxTiming.h:82
BxTiming::verbose_
int verbose_
Definition: BxTiming.h:50
BxTiming::gtSource_
edm::InputTag gtSource_
Definition: BxTiming.h:46
BxTiming::CTF
Definition: BxTiming.h:83
DQMEDAnalyzer.h
BxTiming::histFile_
std::string histFile_
Definition: BxTiming.h:65
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
edm::ParameterSet
Definition: ParameterSet.h:47
BxTiming::~BxTiming
~BxTiming() override
Definition: BxTiming.cc:47
Event.h
BxTiming::ETP
Definition: BxTiming.h:83
FEDRawDataCollection.h
edm::EventSetup
Definition: EventSetup.h:58
BxTiming::nBxDiff
int nBxDiff[FEDNumbering::MAXFEDID+1][nspr_]
Definition: BxTiming.h:89
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
BxTiming::syslist
syslist
Definition: BxTiming.h:83
BxTiming::fedSource_
edm::InputTag fedSource_
Definition: BxTiming.h:44
BxTiming::fedSource_token_
edm::EDGetTokenT< FEDRawDataCollection > fedSource_token_
Definition: BxTiming.h:45
BxTiming::GLT
Definition: BxTiming.h:83
BxTiming::GCT
Definition: BxTiming.h:83
BxTiming::half_norb_
static const int half_norb_
Definition: BxTiming.h:75
BxTiming::CTP
Definition: BxTiming.h:83
BxTiming::fedRange_
std::pair< int, int > fedRange_[NSYS]
Definition: BxTiming.h:84
Frameworkfwd.h
EventAuxiliary.h
BxTiming::nspr_
static const int nspr_
Definition: BxTiming.h:88
BxTiming::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: BxTiming.cc:245
dqm::implementation::IBooker
Definition: DQMStore.h:43
BxTiming::hBxOccyAllFed
MonitorElement * hBxOccyAllFed
Definition: BxTiming.h:95
BxTiming::hBxOccyOneFed
MonitorElement ** hBxOccyOneFed
Definition: BxTiming.h:96
BxTiming::verbose
int verbose()
Definition: BxTiming.h:51
ParameterSet.h
BxTiming::PS
Definition: BxTiming.h:83
BxTiming::hBxOccyTrigBit
MonitorElement ** hBxOccyTrigBit[NSYS]
Definition: BxTiming.h:102
edm::Event
Definition: Event.h:73
FEDHeader.h
BxTiming::hBxDiffSysFed
MonitorElement * hBxDiffSysFed[NSYS]
Definition: BxTiming.h:94
edm::InputTag
Definition: InputTag.h:15
L1GlobalTriggerReadoutRecord.h
BxTiming::DTP
Definition: BxTiming.h:83
BxTiming::HTP
Definition: BxTiming.h:83
BxTiming::nsys
nsys
Definition: BxTiming.h:82
FEDTrailer.h