CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
24 
25 class BxTiming : public edm::EDAnalyzer {
26 
27  public:
28 
29  explicit BxTiming(const edm::ParameterSet&);
30  ~BxTiming();
31 
32  protected:
33 
34  virtual void beginJob(void) ;
35  virtual void analyze(const edm::Event&, const edm::EventSetup&);
36  virtual void endJob() ;
37 
38  private:
39 
40  // input
43 
44  // debug verbose level
45  int verbose_;
46  int verbose() {return verbose_;}
47 
54  int calcBxDiff(int bx1, int bx2);
55 
56  // counters
57  int nEvt_;
58 
59  // root output file name
60  std::string histFile_;
61 
62  // dqm histogram folder
63  std::string histFolder_;
64 
65  // dqm common
67 
68  // running in filter farm? (use reduced set of me's)
69  bool runInFF_;
70 
71  // readout l1 systems
72  static const int norb_ = 3564; // bx per orbit
73  static const int half_norb_ = norb_ / 2; // for calculating the difference between two BX numbers
74 
75  static const int nbig_ = 10000; // larger than bx spread
76  static const int nttype_ = 6; // number of trigger types (physics, cal,...)
77 
78  std::vector<int> listGtBits_; // selected gt bit numbers for synch monitoring
79 
80  enum nsys {NSYS=10};
81  enum syslist {PS=0, ETP, HTP, GCT, CTP, CTF, DTP, DTF, RPC, GLT};
82  std::pair<int,int> fedRange_[NSYS];
83  int nfed_; // number of feds
84  int fedRef_; // reference fed
85 
86  // bx spread counters
87  static const int nspr_=3; // delta, min, max
88  int nBxDiff[1500][nspr_];
89  int nBxOccy[1500][nspr_];
90 
92  MonitorElement* hBxDiffAllFed; // bx shift wrt reference fed, for all feds
93  MonitorElement* hBxDiffSysFed[NSYS]; // bx shift wrt reference fed, per subsystem
94  MonitorElement* hBxOccyAllFed; // bx occupancy, for all fed's
95  MonitorElement**hBxOccyOneFed; // bx occupancy, per each fed
96 
97  MonitorElement* hBxDiffAllFedSpread[nspr_]; // bx shift wrt ref fed: mean shift, min, max
98  MonitorElement* hBxOccyAllFedSpread[nspr_]; // bx occupancy: mean shift, min, max
99 
100  MonitorElement* hBxOccyGtTrigType[nttype_]; // gt bx occupancy per trigger type
101  MonitorElement**hBxOccyTrigBit[NSYS]; // subsystem bx occupancy per selected trigger bit
102 
103 };
104 
105 #endif
static const int nttype_
Definition: BxTiming.h:76
static const int norb_
Definition: BxTiming.h:72
DQMStore * dbe
Definition: BxTiming.h:66
MonitorElement * hBxDiffAllFed
histograms
Definition: BxTiming.h:92
MonitorElement * hBxDiffAllFedSpread[nspr_]
Definition: BxTiming.h:97
std::vector< int > listGtBits_
Definition: BxTiming.h:78
int verbose()
Definition: BxTiming.h:46
std::string histFile_
Definition: BxTiming.h:60
MonitorElement * hBxOccyAllFed
Definition: BxTiming.h:94
MonitorElement ** hBxOccyOneFed
Definition: BxTiming.h:95
static const int nbig_
Definition: BxTiming.h:75
int nBxOccy[1500][nspr_]
Definition: BxTiming.h:89
virtual void beginJob(void)
Definition: BxTiming.cc:68
MonitorElement * hBxOccyGtTrigType[nttype_]
Definition: BxTiming.h:100
int nEvt_
Definition: BxTiming.h:57
int verbose_
Definition: BxTiming.h:45
int nBxDiff[1500][nspr_]
Definition: BxTiming.h:88
static const int half_norb_
Definition: BxTiming.h:73
edm::InputTag fedSource_
Definition: BxTiming.h:41
virtual void analyze(const edm::Event &, const edm::EventSetup &)
Definition: BxTiming.cc:262
bool runInFF_
Definition: BxTiming.h:69
std::string histFolder_
Definition: BxTiming.h:63
edm::InputTag gtSource_
Definition: BxTiming.h:42
int fedRef_
Definition: BxTiming.h:84
MonitorElement * hBxDiffSysFed[NSYS]
Definition: BxTiming.h:93
MonitorElement ** hBxOccyTrigBit[NSYS]
Definition: BxTiming.h:101
int nfed_
Definition: BxTiming.h:83
int calcBxDiff(int bx1, int bx2)
Definition: BxTiming.cc:413
virtual void endJob()
Definition: BxTiming.cc:247
std::pair< int, int > fedRange_[NSYS]
Definition: BxTiming.h:82
MonitorElement * hBxOccyAllFedSpread[nspr_]
Definition: BxTiming.h:98
~BxTiming()
Definition: BxTiming.cc:65
BxTiming(const edm::ParameterSet &)
Definition: BxTiming.cc:10
static const int nspr_
Definition: BxTiming.h:87