CMS 3D CMS Logo

L1TLSBlock.h
Go to the documentation of this file.
1 #ifndef DQMOffline_L1Trigger_L1TLSBlock_h
2 #define DQMOffline_L1Trigger_L1TLSBlock_h
3 
29 // System include files
30 //#include <memory>
31 //#include <unistd.h>
32 
33 // User include files
34 //#include "FWCore/Framework/interface/Frameworkfwd.h"
35 //#include "FWCore/Framework/interface/EDAnalyzer.h"
36 //#include "FWCore/Framework/interface/ESHandle.h"
37 //#include "FWCore/Framework/interface/Event.h"
38 //#include "FWCore/Framework/interface/LuminosityBlock.h"
39 //#include "FWCore/Framework/interface/MakerMacros.h"
40 //
41 //#include "FWCore/ParameterSet/interface/ParameterSet.h"
42 //
43 //#include "DQMServices/Core/interface/DQMStore.h"
44 //#include "FWCore/ServiceRegistry/interface/Service.h"
45 //#include "FWCore/MessageLogger/interface/MessageLogger.h"
46 //
47 //#include "DQM/L1TMonitor/interface/L1TOMDSHelper.h"
48 //
49 //#include <TString.h>
50 
51 #include <iostream>
52 #include <fstream>
53 #include <string>
54 #include <vector>
55 #include <algorithm>
56 
57 // Forward declarations
58 
59 // Helper
60 template <class T1, class T2, class Pred = std::less<T1> >
62  bool operator()(const std::pair<T1, T2>& left, const std::pair<T1, T2>& right) {
63  Pred p;
64  return p(left.first, right.first);
65  }
66 };
67 
68 // Class declaration
69 class L1TLSBlock {
70 public:
71  // typedefs
72  typedef std::vector<std::pair<int, double> > LumiTestDoubleList;
73  typedef std::vector<std::pair<int, double> > LumiTestIntList;
74  typedef std::pair<int, int> LumiRange;
75  typedef std::vector<LumiRange> LumiRangeList;
76 
78 
79 public:
80  // Constructor
81  L1TLSBlock();
82  // Destructor
83  virtual ~L1TLSBlock();
86 
87  // Private Methods
88 private:
89  void initializeIO(bool);
90  void blockByStatistics();
91  void orderTestDoubleList();
92  void orderTestIntList();
93 
95 
96  // Variables
97 private:
101  double thresholdD_;
103 };
104 
105 #endif
LumiRangeList outputList_
Definition: L1TLSBlock.h:100
void blockByStatistics()
Definition: L1TLSBlock.cc:151
void orderTestIntList()
Definition: L1TLSBlock.cc:144
std::vector< LumiRange > LumiRangeList
Definition: L1TLSBlock.h:75
std::vector< std::pair< int, double > > LumiTestIntList
Definition: L1TLSBlock.h:73
virtual ~L1TLSBlock()
Definition: L1TLSBlock.cc:70
LumiRangeList doBlocking(const LumiTestDoubleList &, double, BLOCKBY)
Definition: L1TLSBlock.cc:75
LumiTestIntList inputIntList_
Definition: L1TLSBlock.h:98
std::pair< int, int > LumiRange
Definition: L1TLSBlock.h:74
int thresholdI_
Definition: L1TLSBlock.h:102
bool operator()(const std::pair< T1, T2 > &left, const std::pair< T1, T2 > &right)
Definition: L1TLSBlock.h:62
double computeErrorFromRange(LumiRange &)
Definition: L1TLSBlock.cc:170
LumiTestDoubleList inputDoubleList_
Definition: L1TLSBlock.h:99
double thresholdD_
Definition: L1TLSBlock.h:101
void orderTestDoubleList()
Definition: L1TLSBlock.cc:136
void initializeIO(bool)
Definition: L1TLSBlock.cc:125
std::vector< std::pair< int, double > > LumiTestDoubleList
Definition: L1TLSBlock.h:72