13 : ebDccAdcToGeV_(0.), eeDccAdcToGeV_(0.), bxGlobalOffset_(0), automaticMasks_(0), automaticSrpSelect_(0) {}
15 #define SR_PRINT(a) o << #a ": " << val.a##_ << "\n";
16 #define SR_VPRINT(a) \
18 if (val.a##_.empty()) \
19 o << "[0.." << (val.a##_.size() - 1) << "]:"; \
22 for (size_t i = 0; i < val.a##_.size(); ++i) \
23 o << "\t" << val.a##_[i]; \
25 #define SR_VVPRINT(a) \
26 if (val.a##_.empty()) \
27 o << #a "[][]: <empty>\n"; \
28 for (size_t i = 0; i < val.a##_.size(); ++i) { \
29 o << #a "[" << i << "]"; \
30 if (val.a##_.empty()) \
31 o << "[0.." << (val.a##_[i].size() - 1) << "]:"; \
34 for (size_t j = 0; j < val.a##_[i].size(); ++j) \
35 o << "\t" << val.a##_[i][j]; \
40 o <<
"# Neighbour eta range, neighborhood: (2*deltaEta+1)*(2*deltaPhi+1)\n"
41 "# In the vector contains:\n"
42 "# - 1 element, then value applies to whole ECAL\n"
43 "# - 2 elements, then element 0 applies to EB, element 1 to EE\n"
44 "# - 12 elements, then element i applied to SRP (i+1)\n"
45 "# SRP emulation (see SimCalorimetry/EcalSelectiveReadoutProcuders) supports\n"
46 "# only 1 element mode.\n";
49 o <<
"\n# Neighbouring eta range, neighborhood: (2*deltaEta+1)*(2*deltaPhi+1)\n"
50 "# If the vector contains...\n"
51 "# ... 1 element, then value applies to whole ECAL\n"
52 "# ... 2 elements, then element 0 applies to EB, element 1 to EE\n"
53 "# ... 12 elements, then element i applied to SRP (i+1)\n"
54 "# If the vector contains...\n"
55 "# ... 1 element, then value applies to whole ECAL\n"
56 "# ... 2 elements, then element 0 applies to EB, element 1 to EE\n"
57 "# ... 12 elements, then element i applied to SRP (i+1)\n"
58 "# SRP emulation (see SimCalorimetry/EcalSelectiveReadoutProcuders) supports\n"
59 "# only the single-element mode.\n";
62 o <<
"\n# Index of time sample (staring from 1) the first DCC weights is implied\n"
63 "# If the vector contains:\n"
64 "# ... 1 element, then value applies to whole ECAL\n"
65 "# ... 2 elements, then element 0 applies to EB, element 1 to EE\n"
66 "# ... 54 elements, then element i applied to DCC (i+1) (FED ID 651+i)\n"
67 "# SRP emulation (see SimCalorimetry/EcalSelectiveReadoutProcuders) supports\n"
68 "# only the single-element mode.\n";
71 o <<
"\n# ADC to GeV conversion factor used in ZS filter for EB\n";
74 o <<
"\n# ADC to GeV conversion factor used in ZS filter for EE\n";
77 o <<
"\n# DCC ZS FIR weights: weights are rounded in such way that in Hw\n"
78 "# representation (weigth*1024 rounded to nearest integer) the sum is null:\n"
79 "# Each element is a vector of 6 values, the 6 weights\n"
80 "# If the vector contains...\n"
81 "# ... 1 element, then the weight set applies to whole ECAL\n"
82 "# ... 2 elements, then element 0 applies to EB, element 1 to EE\n"
83 "# ... 54 elements, then element i applied to DCC (i+1) (FED ID 651+i)\n";
86 o <<
"\n# Switch to use a symetric zero suppression (cut on absolute value). For\n"
87 "# studies only, for time being it is not supported by the hardware.\n"
88 "# having troubles for vector<bool> with coral (3.8.0pre1), using vector<int> instead,\n"
89 "# 0 means false, a value different than 0 means true.\n"
90 "# If the vector contains...\n"
91 "# ... 1 element, then the weight set applies to whole ECAL\n"
92 "# ... 2 elements, then element 0 applies to EB, element 1 to EE\n"
93 "# ... 54 elements, then element i applied to DCC (i+1) (FED ID 651+i)\n"
94 "# ... 75848 elements, then:\n"
95 "# for i < 61200, element i applies to EB crystal with denseIndex i\n"
96 "# (see EBDetId::denseIndex())\n"
97 "# for i >= 61200, element i applies to EE crystal with denseIndex (i+61200)\n"
98 "# (see EBDetId::denseIndex())\n"
99 "# SRP emulation supports only 1 element mode. Hardware does not support\n"
100 "# the symetric ZS, so symetricZS = 0 for real data.\n";
103 o <<
"\n# ZS energy threshold in GeV to apply to low interest channels of barrel\n"
104 "# If the vector contains...\n"
105 "# ... 1 element, then the weight set applies to whole ECAL\n"
106 "# ... 2 elements, then element 0 applies to EB, element 1 to EE\n"
107 "# ... 54 elements, then element i applied to DCC (i+1) (FED ID 651+i)\n"
108 "# SRP emulation supports only the 2-element mode.\n"
109 "# Corresponds to srpBarrelLowInterestChannelZS and srpEndcapLowInterestChannelZS\n"
110 "# of python configuration file parameters\n";
113 o <<
"\n# ZS energy threshold in GeV to apply to high interest channels of endcap\n"
114 "# If the vector contains...\n"
115 "# ... 1 element, then the weight set applies to whole ECAL\n"
116 "# ... 2 elements, then element 0 applies to EB, element 1 to EE\n"
117 "# ... 54 elements, then element i applied to DCC (i+1) (FED ID 651+i)\n"
118 "# SRP emulation supports only the 2-element mode.\n"
119 "# Corresponds to srpBarrelLowInterestChannelZS and srpEndcapLowInterestChannelZS\n"
120 "# of python configuration file parameters\n";
156 o <<
"\n# SR->action flag map. 4 elements\n"
157 "# action_[i]: action for flag value i\n";
160 o <<
"\n# Masks for TTC inputs of SRP cards\n"
161 "# One element per TCC, that is 108 elements: element i applies to TCC (i+1)\n";
164 o <<
"\n# Masks for SRP-SRP inputs of SRP cards\n"
165 "# One element per SRP, that is 12 elements: element i applies to SRP (i+1)\n"
166 "# indices: [iSrp][iCh]\n";
169 o <<
"\n# Masks for DCC output of SRP cards\n"
170 "# One element per DCC, that is 54 elements: element i applies to DCC (i+1)\n";
173 o <<
"\n# Mask to enable pattern test. Typical value: 0.\n"
174 "# One element per SRP, that is 12 elements: element i applies to SRP (i+1)\n";
177 o <<
"\n# Substitution flags used in patterm mode\n"
178 "# indices: [iSrp][iFlag]\n";
181 o <<
"\n# Tester mode configuration\n";
188 o <<
"\n# Per SRP card bunch crossing counter offset.\n"
189 "# This offset is added to the bxGlobalOffset\n";
192 o <<
"\n# SRP system bunch crossing counter offset.\n"
193 "# For each card the bxOffset[i]\n"
194 "# is added to this one.\n";
197 o <<
"\n# Switch for automatic channel masking. 0: disabled; 1: enabled. Standard configuration: 1.\n"
198 "# When enabled, if a FED is excluded from the run, the corresponding TCC inputs is automatically\n"
199 "# masked (overwrites the tccInputMasks).\n";
202 o <<
"\n# Switch for automatic SRP card selection. 0: disabled; 1 : enabled..\n"
203 "# When enabled, if all the FEDs corresponding to a given SRP is excluded from the run,\n"
204 "# Then the corresponding SRP card is automatically excluded.\n";
roAction_t actions[nactions]
tuple dccNormalizedWeights
std::ostream & operator<<(std::ostream &out, const ALILine &li)
static const double deltaEta