14 #include "WireCellUtil/NamedFactory.h"
20 using namespace WireCell;
32 std::cerr <<
"ChannelSelectorDB art::Event visit!\n";
37 auto const& gc = *lar::providerFrom<geo::Geometry>();
38 auto nchans = gc.Nchannels();
41 if (m_type ==
"bad") {
42 auto const& csvc = art::ServiceHandle<lariov::ChannelStatusService const>()->GetProvider();
44 for(
size_t ich=0; ich<nchans; ++ich) {
45 if (csvc.IsBad(ich)) {
46 m_bad_channels.push_back(ich);
51 if (m_type ==
"misconfigured") {
52 const auto& esvc = art::ServiceHandle<lariov::ElectronicsCalibService const>()->GetProvider();
54 std::vector<int> mc_channels;
55 for(
size_t ich=0; ich<nchans; ++ich) {
56 if (esvc.ExtraInfo(ich).GetBoolData(
"is_misconfigured")) {
57 m_miscfg_channels.push_back(ich);
66 m_type = get<std::string>(cfg,
"type",
"misconfigured");
67 if(m_type !=
"bad" && m_type !=
"misconfigured"){
69 "Channel type \"%s\" cannot be identified.", m_type)});
virtual void visit(art::Event &event)
IArtEventVisitor.
BEGIN_PROLOG could also be cerr
static std::string format(PyObject *obj, unsigned int pos, unsigned int indent, unsigned int maxlen, unsigned int depth)
Interface for experiment-specific service for pmt gain info.
WIRECELL_FACTORY(wclsChannelNoiseDB, wcls::ChannelNoiseDB, wcls::IArtEventVisitor, WireCell::IChannelNoiseDatabase) using namespace WireCell
virtual ~ChannelSelectorDB()
virtual void configure(const WireCell::Configuration &config)
IConfigurable.
Interface for experiment-specific channel quality info provider.
Interface for experiment-specific service for channel quality info.
art framework interface to geometry description