File indexing completed on 2025-08-05 08:12:21
0001
0002
0003 #ifndef PROTOTYPE4_PROTOTYPE4FEM_H
0004 #define PROTOTYPE4_PROTOTYPE4FEM_H
0005
0006 #include <map>
0007 #include <string>
0008 #include <vector>
0009
0010 namespace PROTOTYPE4_FEM
0011 {
0012
0013 const int PACKET_ID = 21351;
0014
0015
0016 const int NSAMPLES = 31;
0017
0018
0019 const int ADC_DATA_MASK = (1 << 14) - 1;
0020
0021
0022 const int NCH_IHCAL_ROWS = 4;
0023 const int NCH_IHCAL_COLUMNS = 4;
0024
0025
0026 const int NCH_OHCAL_ROWS = 4;
0027 const int NCH_OHCAL_COLUMNS = 4;
0028
0029
0030 const int NCH_EMCAL_ROWS = 8;
0031 const int NCH_EMCAL_COLUMNS = 8;
0032
0033
0034 const int SATURATED_ADC_ERROR = 100;
0035
0036
0037 const int DEAD_CHANNEL_ERROR = 300;
0038
0039
0040 int GetChannelNumber(const std::string &caloname, int i_column, int i_row);
0041
0042
0043 bool SampleFit_PowerLawExp(
0044 const std::vector<double> &samples,
0045 double &peak,
0046 double &peak_sample,
0047 double &pedstal,
0048 const int verbosity = 0);
0049
0050
0051 bool SampleFit_PowerLawDoubleExp(
0052 const std::vector<double> &samples,
0053 double &peak,
0054 double &peak_sample,
0055
0056 double &pedestal,
0057 std::map<int, double>
0058 ¶meters_io,
0059
0060
0061
0062
0063 const int verbosity = 0);
0064
0065
0066 bool SampleFit_PeakSample(
0067 const std::vector<double> &samples,
0068 double &peak,
0069 double &peak_sample,
0070
0071 double &pedestal,
0072 const int verbosity = 0);
0073
0074
0075 double SignalShape_PowerLawExp(double *x, double *par);
0076 double SignalShape_PowerLawDoubleExp(double *x, double *par);
0077
0078
0079
0080
0081
0082 const int PACKET_EMCAL_HIGHETA_FLAG = 905;
0083 }
0084
0085 #endif