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);
77 JManager<JLocation_t, TH1D> H1(
new TH1D(
"HV[%]", NULL, 201, -1500.0, +1500.0));
85 const int ID = getDetector<int> (detid);
86 detid = getDetector<string>(detid);
93 ResultSet& rs =
getResultSet(getTable<JDetectorIntegration>(), getSelector<JDetectorIntegration>(ID));
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) {
110 ResultSet& rs =
getResultSet(getTable<JPMTHVRunSettings>(), getSelector<JPMTHVRunSettings>(detid, run));
112 for (JPMTHVRunSettings parameters; rs >>
parameters; ) {
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@");
137 selection += getSelector<JDatalogNumbers>(detid, run, run);
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;
148 const JLocation_t location = detector[upi];
150 DEBUG(location <<
' ' <<
FIXED(7,1) << HV[location] <<
' ' <<
FIXED(7,1) << parameters.DATA_VALUE << endl);
152 if (location.is_valid()) {
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);
185 out << JGraph(i->second,
MAKE_CSTRING(
"G[" << i->first <<
"].hv"));
Utility class to parse command line options.
static const JPBS_t PMT(3, 4, 2, 3)
PBS of photo-multiplier tube (PMT)
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
#define MAKE_CSTRING(A)
Make C-string.
Auxiliary data structure for floating point format specification.
Double_t G1(const Double_t x)
Integral of method g1.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
ResultSet & getResultSet(const std::string &query)
Get result set.
std::vector< JServer > getServernames()
Get list of names of available database servers.
do set_variable DETECTOR_TXT $WORKDIR detector
#define DEBUG(A)
Message macros.