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/ESHandle.h"
36 //#include "FWCore/Framework/interface/Event.h"
37 //#include "FWCore/Framework/interface/LuminosityBlock.h"
38 //#include "FWCore/Framework/interface/MakerMacros.h"
39 //
40 //#include "FWCore/ParameterSet/interface/ParameterSet.h"
41 //
42 //#include "DQMServices/Core/interface/DQMStore.h"
43 //#include "FWCore/ServiceRegistry/interface/Service.h"
44 //#include "FWCore/MessageLogger/interface/MessageLogger.h"
45 //
46 //#include "DQM/L1TMonitor/interface/L1TOMDSHelper.h"
47 //
48 //#include <TString.h>
49 
50 #include <iostream>
51 #include <fstream>
52 #include <string>
53 #include <vector>
54 #include <algorithm>
55 
56 // Forward declarations
57 
58 // Helper
59 template <class T1, class T2, class Pred = std::less<T1> >
61  bool operator()(const std::pair<T1, T2>& left, const std::pair<T1, T2>& right) {
62  Pred p;
63  return p(left.first, right.first);
64  }
65 };
66 
67 // Class declaration
68 class L1TLSBlock {
69 public:
70  // typedefs
71  typedef std::vector<std::pair<int, double> > LumiTestDoubleList;
72  typedef std::vector<std::pair<int, double> > LumiTestIntList;
73  typedef std::pair<int, int> LumiRange;
74  typedef std::vector<LumiRange> LumiRangeList;
75 
77 
78 public:
79  // Constructor
80  L1TLSBlock();
81  // Destructor
82  virtual ~L1TLSBlock();
85 
86  // Private Methods
87 private:
88  void initializeIO(bool);
89  void blockByStatistics();
90  void orderTestDoubleList();
91  void orderTestIntList();
92 
94 
95  // Variables
96 private:
100  double thresholdD_;
102 };
103 
104 #endif
LumiRangeList outputList_
Definition: L1TLSBlock.h:99
void blockByStatistics()
Definition: L1TLSBlock.cc:151
void orderTestIntList()
Definition: L1TLSBlock.cc:144
std::vector< LumiRange > LumiRangeList
Definition: L1TLSBlock.h:74
std::vector< std::pair< int, double > > LumiTestIntList
Definition: L1TLSBlock.h:72
virtual ~L1TLSBlock()
Definition: L1TLSBlock.cc:70
LumiRangeList doBlocking(const LumiTestDoubleList &, double, BLOCKBY)
Definition: L1TLSBlock.cc:75
LumiTestIntList inputIntList_
Definition: L1TLSBlock.h:97
std::pair< int, int > LumiRange
Definition: L1TLSBlock.h:73
int thresholdI_
Definition: L1TLSBlock.h:101
bool operator()(const std::pair< T1, T2 > &left, const std::pair< T1, T2 > &right)
Definition: L1TLSBlock.h:61
double computeErrorFromRange(LumiRange &)
Definition: L1TLSBlock.cc:170
LumiTestDoubleList inputDoubleList_
Definition: L1TLSBlock.h:98
double thresholdD_
Definition: L1TLSBlock.h:100
void orderTestDoubleList()
Definition: L1TLSBlock.cc:136
void initializeIO(bool)
Definition: L1TLSBlock.cc:125
std::vector< std::pair< int, double > > LumiTestDoubleList
Definition: L1TLSBlock.h:71