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
L1TLSBlock::orderTestIntList
void orderTestIntList()
Definition: L1TLSBlock.cc:144
L1TLSBlock::BLOCKBY
BLOCKBY
Definition: L1TLSBlock.h:77
L1TLSBlock::~L1TLSBlock
virtual ~L1TLSBlock()
Definition: L1TLSBlock.cc:70
L1TLSBlock::inputDoubleList_
LumiTestDoubleList inputDoubleList_
Definition: L1TLSBlock.h:99
L1TLSBlock::thresholdI_
int thresholdI_
Definition: L1TLSBlock.h:102
sort_pair_first
Definition: L1TLSBlock.h:61
L1TLSBlock::computeErrorFromRange
double computeErrorFromRange(LumiRange &)
Definition: L1TLSBlock.cc:170
L1TLSBlock::N_BLOCKINGBY
Definition: L1TLSBlock.h:77
L1TLSBlock::initializeIO
void initializeIO(bool)
Definition: L1TLSBlock.cc:125
L1TLSBlock::outputList_
LumiRangeList outputList_
Definition: L1TLSBlock.h:100
L1TLSBlock::LumiRangeList
std::vector< LumiRange > LumiRangeList
Definition: L1TLSBlock.h:75
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
L1TLSBlock::thresholdD_
double thresholdD_
Definition: L1TLSBlock.h:101
L1TLSBlock::LumiTestIntList
std::vector< std::pair< int, double > > LumiTestIntList
Definition: L1TLSBlock.h:73
L1TLSBlock::blockByStatistics
void blockByStatistics()
Definition: L1TLSBlock.cc:151
L1TLSBlock::STATISTICS
Definition: L1TLSBlock.h:77
L1TLSBlock::doBlocking
LumiRangeList doBlocking(const LumiTestDoubleList &, double, BLOCKBY)
Definition: L1TLSBlock.cc:75
L1TLSBlock::LumiTestDoubleList
std::vector< std::pair< int, double > > LumiTestDoubleList
Definition: L1TLSBlock.h:72
L1TLSBlock::L1TLSBlock
L1TLSBlock()
Definition: L1TLSBlock.cc:62
L1TLSBlock::LumiRange
std::pair< int, int > LumiRange
Definition: L1TLSBlock.h:74
sort_pair_first::operator()
bool operator()(const std::pair< T1, T2 > &left, const std::pair< T1, T2 > &right)
Definition: L1TLSBlock.h:62
L1TLSBlock::inputIntList_
LumiTestIntList inputIntList_
Definition: L1TLSBlock.h:98
L1TLSBlock::orderTestDoubleList
void orderTestDoubleList()
Definition: L1TLSBlock.cc:136
L1TLSBlock
Definition: L1TLSBlock.h:69