ATLAS Offline Software
Loading...
Searching...
No Matches
CalibFrontEndInfo.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5//***********************************************************************************************
6// CalibFrontEndInfo - Class to store the calibration information
7// ---------------------------------------
8// begin : 01 11 2023
9// email : sergi.rodriguez@cern.ch
10//***********************************************************************************************
11
12#include "CalibFrontEndInfo.h"
13
14std::stringstream CalibFrontEndInfo::printDBformat() const {
15
16 std::stringstream mytext;
17
18 if(m_FEid == 0) mytext << m_MODid_str << " " << m_MODid << "\n";
19
20 if(m_NormalFitParams.size() == 3 && m_LongFitParams.size() == 3 && m_SigFitParams.size() == 2){
21 mytext << "I" << m_FEid
22 << " " << m_NormalThreshold << " " << m_NormalRms << " " << m_NormalNoise << " " << m_NormalIntime
23 << " " << m_LongThreshold << " " << m_LongRms << " " << m_LongNoise << " " << m_LongIntime
24 << " " << m_GangedThreshold << " " << m_GangedRms << " " << m_GangedNoise << " " << m_GangedIntime
25
26 << " " << m_NormalFitParams.at(0) << " " << m_NormalFitParams.at(1) << " " << m_NormalFitParams.at(2)
27 << " " << m_LongFitParams.at(0) << " " << m_LongFitParams.at(1) << " " << m_LongFitParams.at(2)
28 << " " << m_SigFitParams.at(0) << " " << m_SigFitParams.at(1) ;
29 }
30 else{
31 printf( " ERROR - Is the module disabled for TOT Scan? - m_NormalFitParams.size = %2zu , m_LongFitParams.size = %2zu, m_SigFitParams.size = %2zu \n",m_NormalFitParams.size() ,m_LongFitParams.size(),m_SigFitParams.size());
32 mytext << "I" << m_FEid
33 << " " << m_NormalThreshold << " " << m_NormalRms << " " << m_NormalNoise << " " << m_NormalIntime
34 << " " << m_LongThreshold << " " << m_LongRms << " " << m_LongNoise << " " << m_LongIntime
35 << " " << m_GangedThreshold << " " << m_GangedRms << " " << m_GangedNoise << " " << m_GangedIntime
36
37 << " " << 0 << " " << 0 << " " << 0
38 << " " << 0 << " " << 0 << " " << 0
39 << " " << 0 << " " << 0 ;
40 }
41
42
43
44
45 return mytext;
46
47};
48
50
51 if(m_FEid == 0) printf("ROD: %s -> MOD: %s\n",m_RODid_str.c_str(),m_MODid_str.c_str());
52 printf("I%02d | %4d %3d %3d %4d | %4d %3d %3d %4d | %4d %3d %3d %4d | %11.4e %11.4e %11.4e (%6.1f/%6.1f) | %11.4e %11.4e %11.4e (%6.1f/%6.1f) | %11.4e %11.4e (%6.1f/%6.1f) ---> %d\n",
53
54 m_FEid,
55
59
62
65 );
66 return;
67};
68
69
71
72 printf("******************************************************************************************************\n");
73 printf("%-6s: %s - %-9s:%5d / %s - %-12s:%3d\n", "ROD ID", m_RODid_str.c_str(), "Module ID", m_MODid,m_MODid_str.c_str(), "Front End ID", m_FEid);
74
75 printf("-----------------------------------------------------------------------\n");
76 printf("| %-9s | %9s | %9s | %9s | %9s |\n","", "Threshold", " RMS", " Noise", " Intime" );
77 printf("-----------------------------------------------------------------------\n");
78 printf("| %-9s | %9d | %9d | %9d | %9d |\n","Normal", m_NormalThreshold, m_NormalRms, m_NormalNoise, m_NormalIntime);
79 printf("| %-9s | %9d | %9d | %9d | %9d |\n","Long" , m_LongThreshold , m_LongRms , m_LongNoise , m_LongIntime );
80 printf("| %-9s | %9d | %9d | %9d | %9d |\n","Ganged", m_GangedThreshold, m_GangedRms, m_GangedNoise, m_GangedIntime);
81 printf("-----------------------------------------------------------------------\n\n");
82
83 if(m_NormalFitParams.size() == 3 ) {
84 printf("%-40s: %11.2f / %11.2f / %11.2f\n","Fitting parameters for normal pixel",m_NormalFitParams.at(0),m_NormalFitParams.at(1),m_NormalFitParams.at(2));
85 }
86 else {
87 printf("%-40s: %11s / %11s / %11s\n","Fitting parameters for normal pixel","not set","not set","not set");
88 }
89 if(m_LongFitParams.size() == 3 ) {
90 printf("%-40s: %11.2f / %11.2f / %11.2f\n","Fitting parameters for long pixel",m_LongFitParams.at(0),m_LongFitParams.at(1),m_LongFitParams.at(2));
91 }
92 else {
93 printf("%-40s: %11s / %11s / %11s\n","Fitting parameters for long pixel","not set","not set","not set");
94 }
95 if(m_SigFitParams.size() == 2 ) {
96 printf("%-40s: %11.7f / %.5e\n\n","Fitting parameters for sig (linear fit)",m_SigFitParams.at(0),m_SigFitParams.at(1));
97 }
98 else {
99 printf("%-40s: %11s / %11s\n\n","Fitting parameters for sig (linear fit)","not set","not set");
100 }
101 return;
102};
103
104//Prints the information stored in case of error - needs more implementation.
106
107 bool error = false;
108
112 };
113
114 for(const auto &val : vals) {
115 if(val <= 0) error = true;
116 }
117
118 if(error) printVals();
119
120 return;
121};
122
123
124
std::vector< float > m_SigFitParams
std::vector< float > m_LongFitParams
std::vector< float > m_SigFitParamsQuality
std::vector< float > m_NormalFitParamsQuality
void printBeautyformat() const
std::vector< float > m_LongFitParamsQuality
std::stringstream printDBformat() const
std::vector< float > m_NormalFitParams