![]() |
Project
|
#include <algorithm>#include <ctime>#include <fstream>#include <iterator>#include <limits>#include <map>#include <set>#include <sstream>#include <string>#include <tuple>#include <unordered_map>#include <utility>#include <vector>#include <boost/program_options.hpp>#include <fmt/format.h>#include "TFile.h"#include "TCanvas.h"#include "TGraph.h"#include "TH1F.h"#include "TLine.h"#include "TMultiGraph.h"#include "TStyle.h"#include "CCDB/BasicCCDBManager.h"#include "CCDB/CcdbApi.h"#include "CommonUtils/ConfigurableParam.h"#include "DetectorsDCS/DataPointIdentifier.h"#include "DetectorsDCS/DataPointValue.h"#include "MCHConditions/DCSAliases.h"#include "MCHStatus/HVStatusCreator.h"#include "MCHStatus/StatusMapCreatorParam.h"Go to the source code of this file.
Typedefs | |
| using | DPID = dcs::DataPointIdentifier |
| using | DPVAL = dcs::DataPointValue |
| using | DPMAP = std::unordered_map< DPID, std::vector< DPVAL > > |
| using | DPMAP2 = std::map< std::string, std::map< uint64_t, double > > |
| using | RBMAP = std::map< int, std::pair< uint64_t, uint64_t > > |
| using | DPBMAP = std::map< uint64_t, uint64_t > |
| using | ISSUE = std::tuple< uint64_t, uint64_t, double, double, std::string > |
| using | ISSUELIST = std::vector< ISSUE > |
| using | ISSUEMAP = std::map< std::string, ISSUELIST > |
| using | ULL = unsigned long long |
Functions | |
| bool | containsAKey (std::string data, const std::set< std::string > &Keys) |
| bool | isValid (std::string alias) |
| void | scanWhat (std::string what, std::string &path, bool &scanHV, bool &scanAll, std::set< std::string > &aliases) |
| uint64_t | ms2s (uint64_t ts) |
| std::string | getTime (uint64_t ts) |
| std::string | getDuration (uint64_t tStart, uint64_t tStop) |
| std::set< int > | getRuns (std::string runList) |
| RBMAP | getRunBoundaries (ccdb::CcdbApi const &api, std::string runList) |
| void | checkRunBoundaries (const RBMAP &runBoundaries) |
| void | printRunBoundaries (const RBMAP &runBoundaries) |
| void | drawRunBoudaries (const RBMAP &runBoundaries, TCanvas *c) |
| DPBMAP | getDPBoundaries (ccdb::CcdbApi const &api, std::string what, uint64_t tStart, uint64_t tStop, uint64_t timeInterval) |
| void | checkDPBoundaries (const DPBMAP &dpBoundaries, bool scanHV, uint64_t tStart, uint64_t tStop) |
| void | printDPBoundaries (const DPBMAP &dpBoundaries, bool scanHV, uint64_t timeInterval) |
| double | getLVLimit (std::string alias) |
| void | drawLimit (double limit, TCanvas *c) |
| double | getValue (DPVAL dp) |
| std::string | getDE (std::string alias) |
| void | fillDataPoints (const std::vector< DPVAL > &dps, std::map< uint64_t, double > &dps2, uint64_t tMin, uint64_t tMax, int warningLevel) |
| void | selectDataPoints (DPMAP2 dpsMapsPerCh[10], uint64_t tStart, uint64_t tStop) |
| void | printDataPoints (const DPMAP2 dpsMapsPerCh[10], std::string hvlvFormat, bool all) |
| TGraph * | mapToGraph (std::string alias, const std::map< uint64_t, double > &dps) |
| TCanvas * | drawDataPoints (TMultiGraph *mg, double min, double max) |
| void | findIssues (const std::map< uint64_t, double > &dps, double limit, ISSUELIST &issues) |
| void | fillO2Issues (const std::vector< mch::HVStatusCreator::TimeRange > &o2issues, ISSUELIST &issues, uint64_t tMin, uint64_t tMax) |
| std::string | findAffectedRuns (const RBMAP &runBoundaries, uint64_t tStart, uint64_t tStop) |
| void | selectIssues (ISSUEMAP issuesPerCh[10], const RBMAP &runBoundaries, uint64_t minDuration) |
| void | selectO2Issues (ISSUEMAP issuesPerCh[10], const RBMAP &runBoundaries) |
| bool | eraseIssue (const ISSUE &issue, ISSUELIST &issues) |
| void | printIssues (const ISSUEMAP issuesPerCh[10], const ISSUEMAP o2IssuesPerCh[10], bool scanHV, std::string hvlvFormat) |
| int | main (int argc, char **argv) |
| using DPBMAP = std::map<uint64_t, uint64_t> |
Definition at line 55 of file scan-hvlv-ccdb.cxx.
| using DPID = dcs::DataPointIdentifier |
Definition at line 50 of file scan-hvlv-ccdb.cxx.
Definition at line 52 of file scan-hvlv-ccdb.cxx.
| using DPMAP2 = std::map<std::string, std::map<uint64_t, double> > |
Definition at line 53 of file scan-hvlv-ccdb.cxx.
| using DPVAL = dcs::DataPointValue |
Definition at line 51 of file scan-hvlv-ccdb.cxx.
| using ISSUE = std::tuple<uint64_t, uint64_t, double, double, std::string> |
Definition at line 56 of file scan-hvlv-ccdb.cxx.
Definition at line 57 of file scan-hvlv-ccdb.cxx.
| using ISSUEMAP = std::map<std::string, ISSUELIST> |
Definition at line 58 of file scan-hvlv-ccdb.cxx.
Definition at line 54 of file scan-hvlv-ccdb.cxx.
Definition at line 59 of file scan-hvlv-ccdb.cxx.
| void checkDPBoundaries | ( | const DPBMAP & | dpBoundaries, |
| bool | scanHV, | ||
| uint64_t | tStart, | ||
| uint64_t | tStop | ||
| ) |
check the consistency of HV/LV file time boundaries
Definition at line 336 of file scan-hvlv-ccdb.cxx.
check the consistency of the run time boundaries
Definition at line 226 of file scan-hvlv-ccdb.cxx.
| bool containsAKey | ( | std::string | data, |
| const std::set< std::string > & | Keys | ||
| ) |
check if the data contains one of the keys
Definition at line 62 of file scan-hvlv-ccdb.cxx.
| TCanvas * drawDataPoints | ( | TMultiGraph * | mg, |
| double | min, | ||
| double | max | ||
| ) |
display the data points of the given chamber
Definition at line 636 of file scan-hvlv-ccdb.cxx.
| void drawLimit | ( | double | limit, |
| TCanvas * | c | ||
| ) |
draw the HV/LV limit for the displayed chamber
Definition at line 413 of file scan-hvlv-ccdb.cxx.
draw the run time boundaries
Definition at line 278 of file scan-hvlv-ccdb.cxx.
find an issue with the same time range and associated run list and erase it return true in case of success
Definition at line 843 of file scan-hvlv-ccdb.cxx.
| void fillDataPoints | ( | const std::vector< DPVAL > & | dps, |
| std::map< uint64_t, double > & | dps2, | ||
| uint64_t | tMin, | ||
| uint64_t | tMax, | ||
| int | warningLevel | ||
| ) |
fill the map of data points
Definition at line 459 of file scan-hvlv-ccdb.cxx.
| void fillO2Issues | ( | const std::vector< mch::HVStatusCreator::TimeRange > & | o2issues, |
| ISSUELIST & | issues, | ||
| uint64_t | tMin, | ||
| uint64_t | tMax | ||
| ) |
fill the list of issues from O2 (extend the previous one and/or create new ones)
Definition at line 707 of file scan-hvlv-ccdb.cxx.
| std::string findAffectedRuns | ( | const RBMAP & | runBoundaries, |
| uint64_t | tStart, | ||
| uint64_t | tStop | ||
| ) |
return the list of affected runs in this time range
Definition at line 752 of file scan-hvlv-ccdb.cxx.
return the list of HV/LV issues (time range, min value, mean value) for each DCS channel
Definition at line 657 of file scan-hvlv-ccdb.cxx.
| std::string getDE | ( | std::string | alias | ) |
for DCS HV alias: return the corresponding DE (and sector) for DCS LV alias: return an empty string
Definition at line 442 of file scan-hvlv-ccdb.cxx.
| DPBMAP getDPBoundaries | ( | ccdb::CcdbApi const & | api, |
| std::string | what, | ||
| uint64_t | tStart, | ||
| uint64_t | tStop, | ||
| uint64_t | timeInterval | ||
| ) |
get the time boundaries of every HV/LV files found in the time range
Definition at line 301 of file scan-hvlv-ccdb.cxx.
| std::string getDuration | ( | uint64_t | tStart, |
| uint64_t | tStop | ||
| ) |
get the duration (dd hh:mm:ss) between the two time stamps (ms)
Definition at line 158 of file scan-hvlv-ccdb.cxx.
| double getLVLimit | ( | std::string | alias | ) |
return the LV limit for that channel
Definition at line 398 of file scan-hvlv-ccdb.cxx.
| RBMAP getRunBoundaries | ( | ccdb::CcdbApi const & | api, |
| std::string | runList | ||
| ) |
return the SOR / EOR time stamps for every runs in the list
Definition at line 209 of file scan-hvlv-ccdb.cxx.
| std::set< int > getRuns | ( | std::string | runList | ) |
read the runList from an ASCII file, or a comma separated run list, or a single run
Definition at line 172 of file scan-hvlv-ccdb.cxx.
| std::string getTime | ( | uint64_t | ts | ) |
convert the time stamp (ms) to local time
Definition at line 145 of file scan-hvlv-ccdb.cxx.
| double getValue | ( | DPVAL | dp | ) |
return the value of this data point
Definition at line 427 of file scan-hvlv-ccdb.cxx.
| bool isValid | ( | std::string | alias | ) |
check if the alias is a valid (part of a) DCS alias
Definition at line 74 of file scan-hvlv-ccdb.cxx.
scan HV or LV CCDB objects looking for issues
Definition at line 947 of file scan-hvlv-ccdb.cxx.
| TGraph * mapToGraph | ( | std::string | alias, |
| const std::map< uint64_t, double > & | dps | ||
| ) |
create a graph for the DCS channel and add the data points
Definition at line 609 of file scan-hvlv-ccdb.cxx.
| uint64_t ms2s | ( | uint64_t | ts | ) |
convert the time stamp from ms to s
Definition at line 137 of file scan-hvlv-ccdb.cxx.
| void printDataPoints | ( | const DPMAP2 | dpsMapsPerCh[10], |
| std::string | hvlvFormat, | ||
| bool | all | ||
| ) |
print all the registered data points
Definition at line 570 of file scan-hvlv-ccdb.cxx.
print the time boundaries of every HV/LV files found in the full time range
Definition at line 377 of file scan-hvlv-ccdb.cxx.
| void printIssues | ( | const ISSUEMAP | issuesPerCh[10], |
| const ISSUEMAP | o2IssuesPerCh[10], | ||
| bool | scanHV, | ||
| std::string | hvlvFormat | ||
| ) |
print all HV/LV issues
Definition at line 863 of file scan-hvlv-ccdb.cxx.
print the list of runs with their time boundaries
Definition at line 262 of file scan-hvlv-ccdb.cxx.
| void scanWhat | ( | std::string | what, |
| std::string & | path, | ||
| bool & | scanHV, | ||
| bool & | scanAll, | ||
| std::set< std::string > & | aliases | ||
| ) |
get what to scan and where
Definition at line 92 of file scan-hvlv-ccdb.cxx.
remove the data points outside of the given time range and, if needed, add a data point at the boundaries with value equal to the preceding one
Definition at line 530 of file scan-hvlv-ccdb.cxx.
select HV/LV issues of a minimum duration (ms) occurring during runs
Definition at line 777 of file scan-hvlv-ccdb.cxx.
select HV issues from O2 algorithm occurring during runs and restrict the range of issues to the run range
Definition at line 812 of file scan-hvlv-ccdb.cxx.