38 int main(
int argc,
char **argv)
50 long long int numberOfRows;
56 JParser<> zap(
"Auxiliary program to check HV.");
63 zap[
'D'] =
make_field(detid,
"Detector identifier");
65 zap[
'n'] =
make_field(numberOfRows,
"Maximal number of rows") = numeric_limits<long long int>::max();
71 catch(
const exception &error) {
72 FATAL(error.what() << endl);
85 const int ID = getDetector<int> (detid);
86 detid = getDetector<string>(detid);
97 if (parameters.PMTUPI.getPBS() ==
PBS::PMT) {
98 detector[parameters.PMTUPI] =
JLocation_t(parameters.DUID, parameters.FLOORID, parameters.CABLEPOS);
105 for (
const int run : runs) {
114 const JLocation_t location(parameters.DUID, parameters.FLOORID, parameters.CABLEPOS);
116 if (parameters.CABLEPOS != parameters.PMTINTID) {
117 WARNING(
"PMT " << location <<
" position " << parameters.PMTINTID << endl);
120 HV[location] = parameters.HV_VALUE;
128 cout <<
"HV settings " << setw(8) << run << endl;
131 cout << i->first <<
' ' <<
FIXED(6,1) << i->second << endl;
135 JSelector selection(&JDatalogNumbers::PARAMETER_NAME,
"pmt_highvolt@");
139 ResultSet& rs =
getResultSet(getTable<JDatalogNumbers>(), selection);
141 long long int counter = 0;
143 for (
JDatalogNumbers parameters; rs >> parameters && counter != numberOfRows; ++counter) {
147 const JUPI_t upi = parameters.SOURCE_NAME;
150 DEBUG(location <<
' ' <<
FIXED(7,1) << HV[location] <<
' ' <<
FIXED(7,1) << parameters.DATA_VALUE << endl);
154 G1[location].put(parameters.getTime(), parameters.DATA_VALUE);
156 H1[location]->Fill(HV[location] - parameters.DATA_VALUE);
158 if (fabs(HV[location] - parameters.DATA_VALUE) > precision) {
159 ERROR(
"HV " << location <<
" set/read " <<
FIXED(7,1) << HV[location] <<
"/" <<
FIXED(7,1) << parameters.DATA_VALUE << endl);
173 catch(
const exception& error) {
174 FATAL(error.what() << endl);
179 ERROR(
"Alien UPI " << setw(24) << i->first <<
' ' << i->second << endl);
int main(int argc, char **argv)
JDAQPMTIdentifier PMT
Command line options.
ROOT TTree parameter settings.
Dynamic ROOT object management.
General purpose messaging.
#define DEBUG(A)
Message macros.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
I/O formatting auxiliaries.
#define MAKE_CSTRING(A)
Make C-string.
Double_t G1(const Double_t x)
Integral of method g1.
Auxiliary class for specifying selection of database data.
Utility class to parse command line options.
Auxiliary class to manage set of compatible ROOT objects (e.g. histograms) using unique keys.
void Write(TDirectory &out, const bool wm=false)
Write objects to file.
ResultSet & getResultSet(const std::string &query)
Get result set.
std::vector< JServer > getServernames()
Get list of names of available database servers.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for floating point format specification.
Auxiliary data structure for location of product in detector.
bool is_valid() const
Check validity of location.
Wrapper class for server name.
Universal product identifier (UPI).
Template definition for getting table specific selector.
Auxiliary data structure to build TGraph.