Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
DQMServices
StreamerIO
plugins
DQMFileIterator.h
Go to the documentation of this file.
1
#ifndef IOPool_DQMStreamer_DQMFilerIterator_h
2
#define IOPool_DQMStreamer_DQMFilerIterator_h
3
4
#include "
FWCore/ServiceRegistry/interface/Service.h
"
5
#include "
FWCore/ParameterSet/interface/ConfigurationDescriptions.h
"
6
#include "
FWCore/ParameterSet/interface/ParameterSetDescription.h
"
7
8
#include "boost/filesystem.hpp"
9
10
#include <memory>
11
#include <string>
12
#include <queue>
13
#include <iterator>
14
#include <chrono>
15
#include <boost/property_tree/json_parser.hpp>
16
#include <boost/property_tree/ptree.hpp>
17
18
namespace
edm {
19
20
class
DQMFileIterator
{
21
public
:
22
enum
JsonType
{
23
JS_PROTOBUF
,
24
JS_DATA
,
25
};
26
27
struct
LumiEntry
{
28
int
ls
;
29
30
std::size_t
n_events
;
31
std::string
datafilename
;
32
33
static
LumiEntry
load_json
(
const
std::string
&
filename
,
int
lumiNumber,
JsonType
type
);
34
};
35
36
struct
EorEntry
{
37
bool
loaded
=
false
;
38
39
std::size_t
n_events
;
40
std::size_t
n_lumi
;
41
std::string
datafilename
;
42
43
static
EorEntry
load_json
(
const
std::string
&
filename
);
44
};
45
46
enum
State
{
47
OPEN
= 0,
48
EOR_CLOSING
= 1,
// EoR file found, but lumis are still pending
49
EOR
= 2,
50
};
51
52
53
DQMFileIterator
(
ParameterSet
const
& pset,
JsonType
t
);
54
~DQMFileIterator
();
55
void
initialise
(
int
run
,
const
std::string
&,
const
std::string
&);
56
57
State
state
();
58
59
/* methods to iterate the actual files */
60
const
LumiEntry&
front
();
61
void
pop
();
62
bool
hasNext
();
63
64
std::string
make_path_jsn
(
int
lumi
);
65
std::string
make_path_eor
();
66
std::string
make_path_data
(
const
LumiEntry&
lumi
);
67
68
/* control */
69
void
reset
();
70
void
collect
();
71
void
update_state
();
72
73
/* misc helpers for input sources */
74
void
logFileAction
(
const
std::string
&
msg
,
75
const
std::string
&
fileName
=
""
)
const
;
76
void
delay
();
77
void
updateWatchdog
();
78
unsigned
int
runNumber
() {
79
return
runNumber_
;
80
};
81
82
static
void
fillDescription
(
ParameterSetDescription
& d);
83
84
private
:
85
JsonType
type_
;
86
87
unsigned
int
runNumber_
;
88
std::string
runInputDir_
;
89
std::string
streamLabel_
;
90
unsigned
int
delayMillis_
;
91
92
std::string
runPath_
;
93
94
int
lastLumiSeen_
;
95
EorEntry
eor_
;
96
State
state_
;
97
std::queue<LumiEntry>
queue_
;
98
99
std::chrono::high_resolution_clock::time_point
last_collect_
;
100
};
101
102
}
/* end of namespace */
103
#endif
edm::DQMFileIterator::state
State state()
Definition:
DQMFileIterator.cc:86
type
type
Definition:
HCALResponse.h:21
edm::DQMFileIterator::runPath_
std::string runPath_
Definition:
DQMFileIterator.h:92
edm::DQMFileIterator::EOR
Definition:
DQMFileIterator.h:49
edm::DQMFileIterator::initialise
void initialise(int run, const std::string &, const std::string &)
edm::DQMFileIterator::make_path_data
std::string make_path_data(const LumiEntry &lumi)
Definition:
DQMFileIterator.cc:108
edm::DQMFileIterator::State
State
Definition:
DQMFileIterator.h:46
edm::DQMFileIterator::collect
void collect()
Definition:
DQMFileIterator.cc:116
edm::DQMFileIterator::EorEntry
Definition:
DQMFileIterator.h:36
edm::DQMFileIterator::LumiEntry::load_json
static LumiEntry load_json(const std::string &filename, int lumiNumber, JsonType type)
Definition:
DQMFileIterator.cc:14
edm::DQMFileIterator::OPEN
Definition:
DQMFileIterator.h:47
edm::DQMFileIterator::make_path_jsn
std::string make_path_jsn(int lumi)
Definition:
DQMFileIterator.cc:99
fjr2json.lumi
tuple lumi
Definition:
fjr2json.py:35
edm::DQMFileIterator::hasNext
bool hasNext()
Definition:
DQMFileIterator.cc:94
edm::DQMFileIterator::lastLumiSeen_
int lastLumiSeen_
Definition:
DQMFileIterator.h:94
edm::DQMFileIterator::delay
void delay()
Definition:
DQMFileIterator.cc:202
edm::DQMFileIterator::update_state
void update_state()
Definition:
DQMFileIterator.cc:163
edm::DQMFileIterator::DQMFileIterator
DQMFileIterator(ParameterSet const &pset, JsonType t)
Definition:
DQMFileIterator.cc:59
edm::DQMFileIterator::EorEntry::n_lumi
std::size_t n_lumi
Definition:
DQMFileIterator.h:40
edm::DQMFileIterator::EorEntry::loaded
bool loaded
Definition:
DQMFileIterator.h:37
edm::DQMFileIterator::EorEntry::n_events
std::size_t n_events
Definition:
DQMFileIterator.h:39
edm::DQMFileIterator::eor_
EorEntry eor_
Definition:
DQMFileIterator.h:95
edm::DQMFileIterator::pop
void pop()
Definition:
DQMFileIterator.cc:92
edm::DQMFileIterator::runInputDir_
std::string runInputDir_
Definition:
DQMFileIterator.h:88
edm::DQMFileIterator::LumiEntry
Definition:
DQMFileIterator.h:27
edm::DQMFileIterator::JS_PROTOBUF
Definition:
DQMFileIterator.h:23
convertXMLtoSQLite_cfg.fileName
tuple fileName
Definition:
convertXMLtoSQLite_cfg.py:12
edm::DQMFileIterator::make_path_eor
std::string make_path_eor()
Definition:
DQMFileIterator.cc:104
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
edm::ParameterSetDescription
Definition:
ParameterSetDescription.h:50
edm::DQMFileIterator::last_collect_
std::chrono::high_resolution_clock::time_point last_collect_
Definition:
DQMFileIterator.h:99
edm::DQMFileIterator::reset
void reset()
Definition:
DQMFileIterator.cc:72
producerFileCleanner.msg
string msg
Definition:
producerFileCleanner.py:91
edm::DQMFileIterator::LumiEntry::ls
int ls
Definition:
DQMFileIterator.h:28
edm::DQMFileIterator::~DQMFileIterator
~DQMFileIterator()
Definition:
DQMFileIterator.cc:70
ParameterSetDescription.h
edmStreamStallGrapher.t
tuple t
Definition:
edmStreamStallGrapher.py:108
edm::DQMFileIterator::front
const LumiEntry & front()
Definition:
DQMFileIterator.cc:88
edm::DQMFileIterator::updateWatchdog
void updateWatchdog()
Definition:
DQMFileIterator.cc:194
edm::DQMFileIterator::logFileAction
void logFileAction(const std::string &msg, const std::string &fileName="") const
Definition:
DQMFileIterator.cc:187
edm::DQMFileIterator::state_
State state_
Definition:
DQMFileIterator.h:96
Service.h
edm::DQMFileIterator::fillDescription
static void fillDescription(ParameterSetDescription &d)
Definition:
DQMFileIterator.cc:210
edm::DQMFileIterator::type_
JsonType type_
Definition:
DQMFileIterator.h:85
edm::DQMFileIterator::runNumber
unsigned int runNumber()
Definition:
DQMFileIterator.h:78
edm::DQMFileIterator::delayMillis_
unsigned int delayMillis_
Definition:
DQMFileIterator.h:90
edm::DQMFileIterator
Definition:
DQMFileIterator.h:20
DTTTrigCorrFirst.run
run
Definition:
DTTTrigCorrFirst.py:63
edm::DQMFileIterator::LumiEntry::n_events
std::size_t n_events
Definition:
DQMFileIterator.h:30
edm::DQMFileIterator::JsonType
JsonType
Definition:
DQMFileIterator.h:22
edm::DQMFileIterator::LumiEntry::datafilename
std::string datafilename
Definition:
DQMFileIterator.h:31
edm::DQMFileIterator::JS_DATA
Definition:
DQMFileIterator.h:24
edm::DQMFileIterator::streamLabel_
std::string streamLabel_
Definition:
DQMFileIterator.h:89
edm::DQMFileIterator::EorEntry::load_json
static EorEntry load_json(const std::string &filename)
Definition:
DQMFileIterator.cc:40
edm::DQMFileIterator::EOR_CLOSING
Definition:
DQMFileIterator.h:48
edm::DQMFileIterator::EorEntry::datafilename
std::string datafilename
Definition:
DQMFileIterator.h:41
lut2db_cfg.filename
tuple filename
Definition:
lut2db_cfg.py:20
edm::DQMFileIterator::queue_
std::queue< LumiEntry > queue_
Definition:
DQMFileIterator.h:97
edm::ParameterSet
Definition:
ParameterSet.h:35
ConfigurationDescriptions.h
edm::DQMFileIterator::runNumber_
unsigned int runNumber_
Definition:
DQMFileIterator.h:87
Generated for CMSSW Reference Manual by
1.8.5