#include "CondFormats/EcalObjects/interface/EcalSRSettings.h"
#include "FWCore/Utilities/interface/Exception.h"
#include <sstream>
#include <iostream>
#include <cstdlib>
#include <cassert>
#include <algorithm>
Go to the source code of this file.
#define SR_PRINT |
( |
|
a | ) |
o << #a ": " << val.a ## _ << "\n"; |
Value:if(
val.a ##
_.size() == 0)
o << #
a "[][]: <empty>\n"; \
for(
size_t i = 0;
i <
val.a ##
_.size(); ++
i){ \
o << #
a "[" <<
i <<
"]"; \
if(
val.a ##
_.size())
o <<
"[0.." << (
val.a ##
_[i].size() -1 ) <<
"]:"; \
else
o <<
"[]: <empty>"; \
for(
size_t j = 0; j <
val.a ##
_[
i].size(); ++j) o <<
"\t" <<
val.a ##
_[i][j]; \
o << "\n"; \
}
Definition at line 27 of file EcalSRSettings.cc.
Referenced by operator<<().
std::ostream& operator<< |
( |
std::ostream & |
o, |
|
|
const EcalSRSettings & |
val |
|
) |
| |
Definition at line 37 of file EcalSRSettings.cc.
References actions, ecalDigis_beamcom09_cff::dccNormalizedWeights, spr::deltaEta, hiPixelPairStep_cff::deltaPhi, ecalDigis_beamcom09_cff::ebDccAdcToGeV, ecalDigis_beamcom09_cff::ecalDccZs1stSample, ecalDigis_beamcom09_cff::eeDccAdcToGeV, connectstrParser::o, SR_PRINT, SR_VPRINT, SR_VVPRINT, and ecalDigis_craft_cfi::symetricZS.
38 o <<
"# Neighbour eta range, neighborhood: (2*deltaEta+1)*(2*deltaPhi+1)\n" 39 "# In the vector contains:\n" 40 "# - 1 element, then value applies to whole ECAL\n" 41 "# - 2 elements, then element 0 applies to EB, element 1 to EE\n" 42 "# - 12 elements, then element i applied to SRP (i+1)\n" 43 "# SRP emulation (see SimCalorimetry/EcalSelectiveReadoutProcuders) supports\n" 44 "# only 1 element mode.\n";
47 o <<
"\n# Neighbouring eta range, neighborhood: (2*deltaEta+1)*(2*deltaPhi+1)\n" 48 "# If the vector contains...\n" 49 "# ... 1 element, then value applies to whole ECAL\n" 50 "# ... 2 elements, then element 0 applies to EB, element 1 to EE\n" 51 "# ... 12 elements, then element i applied to SRP (i+1)\n" 52 "# If the vector contains...\n" 53 "# ... 1 element, then value applies to whole ECAL\n" 54 "# ... 2 elements, then element 0 applies to EB, element 1 to EE\n" 55 "# ... 12 elements, then element i applied to SRP (i+1)\n" 56 "# SRP emulation (see SimCalorimetry/EcalSelectiveReadoutProcuders) supports\n" 57 "# only the single-element mode.\n";
60 o <<
"\n# Index of time sample (staring from 1) the first DCC weights is implied\n" 61 "# If the vector contains:\n" 62 "# ... 1 element, then value applies to whole ECAL\n" 63 "# ... 2 elements, then element 0 applies to EB, element 1 to EE\n" 64 "# ... 54 elements, then element i applied to DCC (i+1) (FED ID 651+i)\n" 65 "# SRP emulation (see SimCalorimetry/EcalSelectiveReadoutProcuders) supports\n" 66 "# only the single-element mode.\n";
69 o <<
"\n# ADC to GeV conversion factor used in ZS filter for EB\n";
72 o <<
"\n# ADC to GeV conversion factor used in ZS filter for EE\n";
75 o <<
"\n# DCC ZS FIR weights: weights are rounded in such way that in Hw\n" 76 "# representation (weigth*1024 rounded to nearest integer) the sum is null:\n" 77 "# Each element is a vector of 6 values, the 6 weights\n" 78 "# If the vector contains...\n" 79 "# ... 1 element, then the weight set applies to whole ECAL\n" 80 "# ... 2 elements, then element 0 applies to EB, element 1 to EE\n" 81 "# ... 54 elements, then element i applied to DCC (i+1) (FED ID 651+i)\n";
84 o <<
"\n# Switch to use a symetric zero suppression (cut on absolute value). For\n" 85 "# studies only, for time being it is not supported by the hardware.\n" 86 "# having troubles for vector<bool> with coral (3.8.0pre1), using vector<int> instead,\n" 87 "# 0 means false, a value different than 0 means true.\n" 88 "# If the vector contains...\n" 89 "# ... 1 element, then the weight set applies to whole ECAL\n" 90 "# ... 2 elements, then element 0 applies to EB, element 1 to EE\n" 91 "# ... 54 elements, then element i applied to DCC (i+1) (FED ID 651+i)\n" 92 "# ... 75848 elements, then:\n" 93 "# for i < 61200, element i applies to EB crystal with denseIndex i\n" 94 "# (see EBDetId::denseIndex())\n" 95 "# for i >= 61200, element i applies to EE crystal with denseIndex (i+61200)\n" 96 "# (see EBDetId::denseIndex())\n" 97 "# SRP emulation supports only 1 element mode. Hardware does not support\n" 98 "# the symetric ZS, so symetricZS = 0 for real data.\n";
101 o <<
"\n# ZS energy threshold in GeV to apply to low interest channels of barrel\n" 102 "# If the vector contains...\n" 103 "# ... 1 element, then the weight set applies to whole ECAL\n" 104 "# ... 2 elements, then element 0 applies to EB, element 1 to EE\n" 105 "# ... 54 elements, then element i applied to DCC (i+1) (FED ID 651+i)\n" 106 "# SRP emulation supports only the 2-element mode.\n" 107 "# Corresponds to srpBarrelLowInterestChannelZS and srpEndcapLowInterestChannelZS\n" 108 "# of python configuration file parameters\n";
111 o <<
"\n# ZS energy threshold in GeV to apply to high interest channels of endcap\n" 112 "# If the vector contains...\n" 113 "# ... 1 element, then the weight set applies to whole ECAL\n" 114 "# ... 2 elements, then element 0 applies to EB, element 1 to EE\n" 115 "# ... 54 elements, then element i applied to DCC (i+1) (FED ID 651+i)\n" 116 "# SRP emulation supports only the 2-element mode.\n" 117 "# Corresponds to srpBarrelLowInterestChannelZS and srpEndcapLowInterestChannelZS\n" 118 "# of python configuration file parameters\n";
154 o <<
"\n# SR->action flag map. 4 elements\n" 155 "# action_[i]: action for flag value i\n";
158 o <<
"\n# Masks for TTC inputs of SRP cards\n" 159 "# One element per TCC, that is 108 elements: element i applies to TCC (i+1)\n";
162 o <<
"\n# Masks for SRP-SRP inputs of SRP cards\n" 163 "# One element per SRP, that is 12 elements: element i applies to SRP (i+1)\n" 164 "# indices: [iSrp][iCh]\n";
167 o <<
"\n# Masks for DCC output of SRP cards\n" 168 "# One element per DCC, that is 54 elements: element i applies to DCC (i+1)\n";
171 o <<
"\n# Mask to enable pattern test. Typical value: 0.\n" 172 "# One element per SRP, that is 12 elements: element i applies to SRP (i+1)\n";
175 o <<
"\n# Substitution flags used in patterm mode\n" 176 "# indices: [iSrp][iFlag]\n";
179 o <<
"\n# Tester mode configuration\n";
186 o <<
"\n# Per SRP card bunch crossing counter offset.\n" 187 "# This offset is added to the bxGlobalOffset\n";
190 o <<
"\n# SRP system bunch crossing counter offset.\n" 191 "# For each card the bxOffset[i]\n" 192 "# is added to this one.\n";
195 o <<
"\n# Switch for automatic channel masking. 0: disabled; 1: enabled. Standard configuration: 1.\n" 196 "# When enabled, if a FED is excluded from the run, the corresponding TCC inputs is automatically\n" 197 "# masked (overwrites the tccInputMasks).\n";
200 o <<
"\n# Switch for automatic SRP card selection. 0: disabled; 1 : enabled..\n" 201 "# When enabled, if all the FEDs corresponding to a given SRP is excluded from the run,\n" 202 "# Then the corresponding SRP card is automatically excluded.\n";
roAction_t actions[nactions]
static const double deltaEta