CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes
SiStripBadModuleConfigurableFakeESSource Class Reference
Inheritance diagram for SiStripBadModuleConfigurableFakeESSource:
edm::ESProducer edm::EventSetupRecordIntervalFinder edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

Public Types

typedef std::unique_ptr< SiStripBadStripReturnType
 

Public Member Functions

ReturnType produce (const SiStripBadModuleRcd &)
 
void setIntervalFor (const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &iov, edm::ValidityInterval &iValidity) override
 
 SiStripBadModuleConfigurableFakeESSource (const edm::ParameterSet &)
 
 ~SiStripBadModuleConfigurableFakeESSource () override
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
 ESProducer (const ESProducer &)=delete
 
ESProxyIndex const * getTokenIndices (unsigned int iIndex) const
 
ESRecordIndex const * getTokenRecordIndices (unsigned int iIndex) const
 
bool hasMayConsumes () const noexcept
 
size_t numberOfTokenIndices (unsigned int iIndex) const
 
ESProducer const & operator= (const ESProducer &)=delete
 
SerialTaskQueueChainqueue ()
 
template<typename Record >
std::optional< std::vector< ESProxyIndex > > updateFromMayConsumes (unsigned int iIndex, const Record &iRecord) const
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &) final
 
 ~ESProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::ESProxyFactoryProducer
 ESProxyFactoryProducer ()
 
 ESProxyFactoryProducer (const ESProxyFactoryProducer &)=delete
 
const ESProxyFactoryProduceroperator= (const ESProxyFactoryProducer &)=delete
 
 ~ESProxyFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::DataProxyProvider
void createKeyedProxies (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
 DataProxyProvider ()
 
 DataProxyProvider (const DataProxyProvider &)=delete
 
const ComponentDescriptiondescription () const
 
void fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const
 
virtual void initConcurrentIOVs (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
bool isUsingRecord (const EventSetupRecordKey &key) const
 
KeyedProxieskeyedProxies (const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0)
 
const DataProxyProvideroperator= (const DataProxyProvider &)=delete
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~DataProxyProvider () noexcept(false)
 
- Public Member Functions inherited from edm::EventSetupRecordIntervalFinder
bool concurrentFinder () const
 
const eventsetup::ComponentDescriptiondescriptionForFinder () const
 
 EventSetupRecordIntervalFinder ()
 
 EventSetupRecordIntervalFinder (const EventSetupRecordIntervalFinder &)=delete
 
std::set< eventsetup::EventSetupRecordKeyfindingForRecords () const
 
const ValidityIntervalfindIntervalFor (const eventsetup::EventSetupRecordKey &, const IOVSyncValue &)
 
bool nonconcurrentAndIOVNeedsUpdate (const eventsetup::EventSetupRecordKey &key, const IOVSyncValue &syncValue) const
 
const EventSetupRecordIntervalFinderoperator= (const EventSetupRecordIntervalFinder &)=delete
 
void resetInterval (const eventsetup::EventSetupRecordKey &)
 
void setDescriptionForFinder (const eventsetup::ComponentDescription &iDescription)
 
virtual ~EventSetupRecordIntervalFinder () noexcept(false)
 

Private Types

using Parameters = std::vector< edm::ParameterSet >
 

Private Member Functions

std::vector< std::pair< uint32_t, std::vector< uint32_t > > > selectAPVs () const
 
std::vector< uint32_t > selectDetectors (const TrackerTopology *tTopo, const std::vector< uint32_t > &detIds) const
 

Private Attributes

Parameters m_badAPVsList
 
Parameters m_badComponentList
 
SiStripDetInfo m_detInfo
 
bool m_doByAPVs
 
bool m_printDebug
 
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtrackTopoToken_
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Types inherited from edm::ESProxyFactoryProducer
using EventSetupRecordKey = eventsetup::EventSetupRecordKey
 
- Protected Types inherited from edm::eventsetup::DataProxyProvider
using KeyedProxiesVector = std::vector< std::pair< DataKey, std::shared_ptr< DataProxy > >>
 
- Protected Member Functions inherited from edm::ESProducer
template<typename T >
auto setWhatProduced (T *iThis, const es::Label &iLabel={})
 
template<typename T >
auto setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
auto setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
auto setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord >
auto setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord , typename TArg >
ESConsumesCollectorT< TRecord > setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel={})
 
void usesResources (std::vector< std::string > const &)
 
- Protected Member Functions inherited from edm::ESProxyFactoryProducer
template<class TFactory >
void registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
virtual void registerFactoryWithKey (const EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string())
 
KeyedProxiesVector registerProxies (const EventSetupRecordKey &, unsigned int iovIndex) override
 
- Protected Member Functions inherited from edm::eventsetup::DataProxyProvider
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &key)
 
- Protected Member Functions inherited from edm::EventSetupRecordIntervalFinder
template<class T >
void findingRecord ()
 
void findingRecordWithKey (const eventsetup::EventSetupRecordKey &)
 

Detailed Description

Description: "fake" SiStripBadStrip ESProducer - configurable list of bad modules

Implementation: Port of SiStripBadModuleGenerator and templated fake ESSource to an edm::ESProducer

Definition at line 29 of file SiStripBadModuleConfigurableFakeESSource.cc.

Member Typedef Documentation

◆ Parameters

Definition at line 42 of file SiStripBadModuleConfigurableFakeESSource.cc.

◆ ReturnType

Definition at line 38 of file SiStripBadModuleConfigurableFakeESSource.cc.

Constructor & Destructor Documentation

◆ SiStripBadModuleConfigurableFakeESSource()

SiStripBadModuleConfigurableFakeESSource::SiStripBadModuleConfigurableFakeESSource ( const edm::ParameterSet iConfig)

Definition at line 57 of file SiStripBadModuleConfigurableFakeESSource.cc.

References edm::FileInPath::fullPath(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), m_badAPVsList, m_badComponentList, m_detInfo, m_doByAPVs, m_printDebug, and SiStripDetInfoFileReader::read().

58  : trackTopoToken_(setWhatProduced(this).consumes()) {
59  findingRecord<SiStripBadModuleRcd>();
60 
61  m_badComponentList = iConfig.getUntrackedParameter<Parameters>("BadComponentList");
62  m_doByAPVs = iConfig.getUntrackedParameter<bool>("doByAPVs", false);
63  m_badAPVsList = iConfig.getUntrackedParameter<Parameters>("BadAPVList");
64  m_printDebug = iConfig.getUntrackedParameter<bool>("printDebug", false);
66 }
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:163
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::string fullPath() const
Definition: FileInPath.cc:161
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackTopoToken_
T getUntrackedParameter(std::string const &, T const &) const
vector< ParameterSet > Parameters
SiStripDetInfo read(std::string filePath)

◆ ~SiStripBadModuleConfigurableFakeESSource()

SiStripBadModuleConfigurableFakeESSource::~SiStripBadModuleConfigurableFakeESSource ( )
override

Definition at line 68 of file SiStripBadModuleConfigurableFakeESSource.cc.

68 {}

Member Function Documentation

◆ produce()

SiStripBadModuleConfigurableFakeESSource::ReturnType SiStripBadModuleConfigurableFakeESSource::produce ( const SiStripBadModuleRcd iRecord)

Definition at line 77 of file SiStripBadModuleConfigurableFakeESSource.cc.

References TauDecayModes::dec, edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::get(), SiStripDetInfo::getAllDetIds(), SiStripDetInfo::getNumberOfApvsAndStripLength(), m_detInfo, m_doByAPVs, m_printDebug, quality, selectAPVs(), selectDetectors(), contentValuesCheck::ss, and trackTopoToken_.

78  {
79  using namespace edm::es;
80 
81  TrackerTopology const& tTopo = iRecord.get(trackTopoToken_);
82 
83  auto quality = std::make_unique<SiStripQuality>(m_detInfo);
84 
85  if (!m_doByAPVs) {
86  std::vector<uint32_t> selDetIds{selectDetectors(&tTopo, m_detInfo.getAllDetIds())};
87  edm::LogInfo("SiStripQualityConfigurableFakeESSource")
88  << "[produce] number of selected dets to be removed " << selDetIds.size() << std::endl;
89 
90  std::stringstream ss;
91  for (const auto selId : selDetIds) {
92  SiStripQuality::InputVector theSiStripVector;
93 
94  unsigned short firstBadStrip{0};
95  unsigned short NconsecutiveBadStrips = m_detInfo.getNumberOfApvsAndStripLength(selId).first * 128;
96  unsigned int theBadStripRange{quality->encode(firstBadStrip, NconsecutiveBadStrips)};
97 
98  if (m_printDebug) {
99  ss << "detid " << selId << " \t"
100  << " firstBadStrip " << firstBadStrip << "\t "
101  << " NconsecutiveBadStrips " << NconsecutiveBadStrips << "\t "
102  << " packed integer " << std::hex << theBadStripRange << std::dec << std::endl;
103  }
104 
105  theSiStripVector.push_back(theBadStripRange);
106 
107  if (!quality->put(selId, SiStripBadStrip::Range{theSiStripVector.begin(), theSiStripVector.end()})) {
108  edm::LogError("SiStripQualityConfigurableFakeESSource") << "[produce] detid already exists";
109  }
110  }
111  if (m_printDebug) {
112  edm::LogInfo("SiStripQualityConfigurableFakeESSource") << ss.str();
113  }
114  quality->cleanUp();
115  //quality->fillBadComponents();
116  } else {
117  std::vector<std::pair<uint32_t, std::vector<uint32_t>>> selAPVs{selectAPVs()};
118  edm::LogInfo("SiStripQualityConfigurableFakeESSource")
119  << "[produce] number of selected dets to be removed " << selAPVs.size() << std::endl;
120 
121  std::stringstream ss;
122  for (const auto& selId : selAPVs) {
123  SiStripQuality::InputVector theSiStripVector;
124  auto the_detid = selId.first;
125 
126  for (const auto apv : selId.second) {
127  unsigned short firstBadStrip = apv * 128;
128  unsigned short NconsecutiveBadStrips = 128;
129  unsigned int theBadStripRange{quality->encode(firstBadStrip, NconsecutiveBadStrips)};
130 
131  if (m_printDebug) {
132  ss << "detid " << the_detid << " \t"
133  << " firstBadStrip " << firstBadStrip << "\t "
134  << " NconsecutiveBadStrips " << NconsecutiveBadStrips << "\t "
135  << " packed integer " << std::hex << theBadStripRange << std::dec << std::endl;
136  }
137 
138  theSiStripVector.push_back(theBadStripRange);
139  }
140 
141  if (!quality->put(the_detid, SiStripBadStrip::Range{theSiStripVector.begin(), theSiStripVector.end()})) {
142  edm::LogError("SiStripQualityConfigurableFakeESSource") << "[produce] detid already exists";
143  }
144  } // loop on the packed list of detid/apvs
145 
146  if (m_printDebug) {
147  edm::LogInfo("SiStripQualityConfigurableFakeESSource") << ss.str();
148  }
149  quality->cleanUp();
150 
151  } // do it by APVs
152 
153  if (m_printDebug) {
154  std::stringstream ss1;
155  for (const auto& badComp : quality->getBadComponentList()) {
156  ss1 << "bad module " << badComp.detid << " " << badComp.BadModule << "\n";
157  }
158  edm::LogInfo("SiStripQualityConfigurableFakeESSource") << ss1.str();
159  }
160 
161  return quality;
162 }
std::vector< std::pair< uint32_t, std::vector< uint32_t > > > selectAPVs() const
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackTopoToken_
std::vector< uint32_t > selectDetectors(const TrackerTopology *tTopo, const std::vector< uint32_t > &detIds) const
Log< level::Error, false > LogError
Log< level::Info, false > LogInfo
const std::pair< unsigned short, double > getNumberOfApvsAndStripLength(uint32_t detId) const
std::pair< ContainerIterator, ContainerIterator > Range
string quality
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
const std::vector< uint32_t > & getAllDetIds() const noexcept
Container InputVector

◆ selectAPVs()

std::vector< std::pair< uint32_t, std::vector< uint32_t > > > SiStripBadModuleConfigurableFakeESSource::selectAPVs ( ) const
private

Definition at line 184 of file SiStripBadModuleConfigurableFakeESSource.cc.

References m_badAPVsList.

Referenced by produce().

184  {
185  std::vector<std::pair<uint32_t, std::vector<uint32_t>>> selList;
186  selList.clear();
187 
188  for (const auto& badAPV : m_badAPVsList) {
189  const uint32_t det{badAPV.getParameter<uint32_t>("DetId")};
190  std::vector<uint32_t> apvs{badAPV.getParameter<std::vector<uint32_t>>("APVs")};
191  auto pair = std::make_pair(det, apvs);
192  selList.push_back(pair);
193  }
194  return selList;
195 }

◆ selectDetectors()

std::vector< uint32_t > SiStripBadModuleConfigurableFakeESSource::selectDetectors ( const TrackerTopology tTopo,
const std::vector< uint32_t > &  detIds 
) const
private

Definition at line 197 of file SiStripBadModuleConfigurableFakeESSource.cc.

References gather_cfg::cout, spr::find(), pfDeepBoostedJetPreprocessParams_cfi::lower_bound, m_badComponentList, m_printDebug, DetId::rawId(), contentValuesCheck::ss, AlCaHLTBitMon_QueryRunRegistry::string, SiStripDetId::TEC, TrackerTopology::tecIsFrontPetal(), TrackerTopology::tecIsStereo(), TrackerTopology::tecIsZPlusSide(), TrackerTopology::tecPetalNumber(), TrackerTopology::tecRing(), TrackerTopology::tecWheel(), SiStripDetId::TIB, TrackerTopology::tibIsInternalString(), TrackerTopology::tibIsRPhi(), TrackerTopology::tibIsStereo(), TrackerTopology::tibIsZPlusSide(), TrackerTopology::tibLayer(), TrackerTopology::tibString(), SiStripDetId::TID, TrackerTopology::tidIsRPhi(), TrackerTopology::tidIsStereo(), TrackerTopology::tidIsZPlusSide(), TrackerTopology::tidRing(), TrackerTopology::tidWheel(), SiStripDetId::TOB, TrackerTopology::tobIsRPhi(), TrackerTopology::tobIsStereo(), TrackerTopology::tobIsZPlusSide(), TrackerTopology::tobLayer(), TrackerTopology::tobRod(), and DetId::Tracker.

Referenced by produce().

198  {
199  std::vector<uint32_t> selList;
200  std::stringstream ss;
201  for (const auto& badComp : m_badComponentList) {
202  const std::string subDetStr{badComp.getParameter<std::string>("SubDet")};
203  if (m_printDebug)
204  ss << "Bad SubDet " << subDetStr << " \t";
205  const SiStripDetId::SubDetector subDet = subDetFromString(subDetStr);
206 
207  const std::vector<uint32_t> genericBadDetIds{
208  badComp.getUntrackedParameter<std::vector<uint32_t>>("detidList", std::vector<uint32_t>())};
209  const bool anySubDet{!genericBadDetIds.empty()};
210 
211  std::cout << "genericBadDetIds.size() = " << genericBadDetIds.size() << std::endl;
212 
213  using DetIdIt = std::vector<uint32_t>::const_iterator;
214  const DetIdIt beginDetIt = std::lower_bound(
215  detIds.begin(), detIds.end(), DetId(DetId::Tracker, anySubDet ? SiStripDetId::TIB : subDet).rawId());
216  const DetIdIt endDetIt = std::lower_bound(
217  detIds.begin(), detIds.end(), DetId(DetId::Tracker, anySubDet ? SiStripDetId::TEC + 1 : subDet + 1).rawId());
218 
219  if (anySubDet) {
220  std::copy_if(beginDetIt, endDetIt, std::back_inserter(selList), [&genericBadDetIds](uint32_t detId) {
221  std::cout << "AnySubDet" << detId << std::endl;
222  return std::find(genericBadDetIds.begin(), genericBadDetIds.end(), detId) != genericBadDetIds.end();
223  });
224  } else {
225  switch (subDet) {
226  case SiStripDetId::TIB:
227  std::copy_if(beginDetIt, endDetIt, std::back_inserter(selList), [tTopo, &badComp](uint32_t detectorId) {
228  const DetId detId{detectorId};
229  return ((detId.subdetId() == SiStripDetId::TIB) &&
230  _isSel(badComp.getParameter<uint32_t>("layer"), tTopo->tibLayer(detId)) &&
231  _isSel(badComp.getParameter<uint32_t>("bkw_frw"), tTopo->tibIsZPlusSide(detId) ? 2 : 1) &&
232  _isSel(badComp.getParameter<uint32_t>("int_ext"), tTopo->tibIsInternalString(detId) ? 1 : 2) &&
233  _isSel(badComp.getParameter<uint32_t>("ster"),
234  tTopo->tibIsStereo(detId) ? 1 : (tTopo->tibIsRPhi(detId) ? 2 : -1)) &&
235  _isSel(badComp.getParameter<uint32_t>("string_"), tTopo->tibString(detId)) &&
236  _isSel(badComp.getParameter<uint32_t>("detid"), detId.rawId()));
237  });
238  break;
239  case SiStripDetId::TID:
240  std::copy_if(beginDetIt, endDetIt, std::back_inserter(selList), [tTopo, &badComp](uint32_t detectorId) {
241  const DetId detId{detectorId};
242  return ((detId.subdetId() == SiStripDetId::TID) &&
243  _isSel(badComp.getParameter<uint32_t>("wheel"), tTopo->tidWheel(detId)) &&
244  _isSel(badComp.getParameter<uint32_t>("side"), tTopo->tidIsZPlusSide(detId) ? 2 : 1) &&
245  _isSel(badComp.getParameter<uint32_t>("ster"),
246  tTopo->tidIsStereo(detId) ? 1 : (tTopo->tidIsRPhi(detId) ? 2 : -1)) &&
247  _isSel(badComp.getParameter<uint32_t>("ring"), tTopo->tidRing(detId)) &&
248  _isSel(badComp.getParameter<uint32_t>("detid"), detId.rawId()));
249  });
250  break;
251  case SiStripDetId::TOB:
252  std::copy_if(beginDetIt, endDetIt, std::back_inserter(selList), [tTopo, &badComp](uint32_t detectorId) {
253  const DetId detId{detectorId};
254  return ((detId.subdetId() == SiStripDetId::TOB) &&
255  _isSel(badComp.getParameter<uint32_t>("layer"), tTopo->tobLayer(detId)) &&
256  _isSel(badComp.getParameter<uint32_t>("bkw_frw"), tTopo->tobIsZPlusSide(detId) ? 2 : 1) &&
257  _isSel(badComp.getParameter<uint32_t>("ster"),
258  tTopo->tobIsStereo(detId) ? 1 : (tTopo->tobIsRPhi(detId) ? 2 : -1)) &&
259  _isSel(badComp.getParameter<uint32_t>("rod"), tTopo->tobRod(detId)) &&
260  _isSel(badComp.getParameter<uint32_t>("detid"), detId.rawId()));
261  });
262  break;
263  case SiStripDetId::TEC:
264  std::copy_if(beginDetIt, endDetIt, std::back_inserter(selList), [tTopo, &badComp](uint32_t detectorId) {
265  const DetId detId{detectorId};
266  return ((detId.subdetId() == SiStripDetId::TEC) &&
267  _isSel(badComp.getParameter<uint32_t>("wheel"), tTopo->tecWheel(detId)) &&
268  _isSel(badComp.getParameter<uint32_t>("side"), tTopo->tecIsZPlusSide(detId) ? 2 : 1) &&
269  _isSel(badComp.getParameter<uint32_t>("ster"), tTopo->tecIsStereo(detId) ? 1 : 2) &&
270  _isSel(badComp.getParameter<uint32_t>("petal_bkw_frw"), tTopo->tecIsFrontPetal(detId) ? 2 : 2) &&
271  _isSel(badComp.getParameter<uint32_t>("petal"), tTopo->tecPetalNumber(detId)) &&
272  _isSel(badComp.getParameter<uint32_t>("ring"), tTopo->tecRing(detId)) &&
273  _isSel(badComp.getParameter<uint32_t>("detid"), detId.rawId()));
274  });
275  break;
276  default:
277  break;
278  }
279  }
280  }
281  if (m_printDebug) {
282  edm::LogInfo("SiStripBadModuleGenerator") << ss.str();
283  }
284  return selList;
285 }
unsigned int tecPetalNumber(const DetId &id) const
bool tidIsZPlusSide(const DetId &id) const
unsigned int tobLayer(const DetId &id) const
bool tibIsZPlusSide(const DetId &id) const
bool tecIsFrontPetal(const DetId &id) const
static constexpr auto TID
Definition: SiStripDetId.h:38
unsigned int tidWheel(const DetId &id) const
unsigned int tecWheel(const DetId &id) const
unsigned int tibString(const DetId &id) const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
unsigned int tecRing(const DetId &id) const
ring id
bool tibIsStereo(const DetId &id) const
bool tobIsStereo(const DetId &id) const
bool tibIsRPhi(const DetId &id) const
bool tobIsZPlusSide(const DetId &id) const
static constexpr auto TOB
Definition: SiStripDetId.h:39
bool tobIsRPhi(const DetId &id) const
bool tidIsRPhi(const DetId &id) const
Log< level::Info, false > LogInfo
Definition: DetId.h:17
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
bool tecIsZPlusSide(const DetId &id) const
bool tecIsStereo(const DetId &id) const
bool tibIsInternalString(const DetId &id) const
unsigned int tobRod(const DetId &id) const
static constexpr auto TIB
Definition: SiStripDetId.h:37
bool tidIsStereo(const DetId &id) const
unsigned int tidRing(const DetId &id) const
unsigned int tibLayer(const DetId &id) const
static constexpr auto TEC
Definition: SiStripDetId.h:40

◆ setIntervalFor()

void SiStripBadModuleConfigurableFakeESSource::setIntervalFor ( const edm::eventsetup::EventSetupRecordKey ,
const edm::IOVSyncValue iov,
edm::ValidityInterval iValidity 
)
overridevirtual

Implements edm::EventSetupRecordIntervalFinder.

Definition at line 70 of file SiStripBadModuleConfigurableFakeESSource.cc.

References edm::IOVSyncValue::beginOfTime(), and edm::IOVSyncValue::endOfTime().

72  {
73  iValidity = edm::ValidityInterval{iov.beginOfTime(), iov.endOfTime()};
74 }
static const IOVSyncValue & endOfTime()
Definition: IOVSyncValue.cc:82
static const IOVSyncValue & beginOfTime()
Definition: IOVSyncValue.cc:88

Member Data Documentation

◆ m_badAPVsList

Parameters SiStripBadModuleConfigurableFakeESSource::m_badAPVsList
private

◆ m_badComponentList

Parameters SiStripBadModuleConfigurableFakeESSource::m_badComponentList
private

◆ m_detInfo

SiStripDetInfo SiStripBadModuleConfigurableFakeESSource::m_detInfo
private

◆ m_doByAPVs

bool SiStripBadModuleConfigurableFakeESSource::m_doByAPVs
private

◆ m_printDebug

bool SiStripBadModuleConfigurableFakeESSource::m_printDebug
private

◆ trackTopoToken_

const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> SiStripBadModuleConfigurableFakeESSource::trackTopoToken_
private

Definition at line 48 of file SiStripBadModuleConfigurableFakeESSource.cc.

Referenced by produce().