CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
MkFitEventOfHitsProducer Class Reference
Inheritance diagram for MkFitEventOfHitsProducer:
edm::global::EDProducer<> edm::global::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 MkFitEventOfHitsProducer (edm::ParameterSet const &iConfig)
 
 ~MkFitEventOfHitsProducer () override=default
 
- Public Member Functions inherited from edm::global::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
bool wantsStreamLuminosityBlocks () const final
 
bool wantsStreamRuns () const final
 
- Public Member Functions inherited from edm::global::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::global::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void fill (const std::vector< const TrackingRecHit *> &hits, mkfit::EventOfHits &eventOfHits, const MkFitGeometry &mkFitGeom) const
 
void produce (edm::StreamID, edm::Event &iEvent, const edm::EventSetup &iSetup) const override
 

Private Attributes

const edm::EDGetTokenT< reco::BeamSpotbeamSpotToken_
 
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordgeomToken_
 
const edm::ESGetToken< MkFitGeometry, TrackerRecoGeometryRecordmkFitGeomToken_
 
const edm::EDGetTokenT< MkFitClusterIndexToHitpixelClusterIndexToHitToken_
 
const edm::EDGetTokenT< MkFitHitWrapperpixelHitsToken_
 
edm::ESGetToken< SiPixelQuality, SiPixelQualityRcdpixelQualityToken_
 
const edm::EDPutTokenT< MkFitEventOfHitsputToken_
 
const edm::EDGetTokenT< MkFitClusterIndexToHitstripClusterIndexToHitToken_
 
const edm::EDGetTokenT< MkFitHitWrapperstripHitsToken_
 
edm::ESGetToken< SiStripQuality, SiStripQualityRcdstripQualityToken_
 
const bool usePixelQualityDB_
 
const bool useStripStripQualityDB_
 

Additional Inherited Members

- Public Types inherited from edm::global::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::ProducerBase
template<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Definition at line 32 of file MkFitEventOfHitsProducer.cc.

Constructor & Destructor Documentation

◆ MkFitEventOfHitsProducer()

MkFitEventOfHitsProducer::MkFitEventOfHitsProducer ( edm::ParameterSet const &  iConfig)
explicit

Definition at line 60 of file MkFitEventOfHitsProducer.cc.

References edm::EDConsumerBase::consumes(), and edm::ParameterSet::getParameter().

61  : beamSpotToken_{consumes(iConfig.getParameter<edm::InputTag>("beamSpot"))},
62  pixelHitsToken_{consumes(iConfig.getParameter<edm::InputTag>("pixelHits"))},
63  stripHitsToken_{consumes(iConfig.getParameter<edm::InputTag>("stripHits"))},
64  pixelClusterIndexToHitToken_{consumes(iConfig.getParameter<edm::InputTag>("pixelHits"))},
65  stripClusterIndexToHitToken_{consumes(iConfig.getParameter<edm::InputTag>("stripHits"))},
67  putToken_{produces<MkFitEventOfHits>()},
68  usePixelQualityDB_{iConfig.getParameter<bool>("usePixelQualityDB")},
69  useStripStripQualityDB_{iConfig.getParameter<bool>("useStripStripQualityDB")} {
72  if (usePixelQualityDB_) {
74  }
77  }
78 }
const edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::EDPutTokenT< MkFitEventOfHits > putToken_
edm::ESGetToken< SiPixelQuality, SiPixelQualityRcd > pixelQualityToken_
const edm::EDGetTokenT< MkFitHitWrapper > stripHitsToken_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
const edm::EDGetTokenT< MkFitClusterIndexToHit > pixelClusterIndexToHitToken_
const edm::ESGetToken< MkFitGeometry, TrackerRecoGeometryRecord > mkFitGeomToken_
const edm::EDGetTokenT< MkFitClusterIndexToHit > stripClusterIndexToHitToken_
const edm::EDGetTokenT< MkFitHitWrapper > pixelHitsToken_
edm::ESGetToken< SiStripQuality, SiStripQualityRcd > stripQualityToken_

◆ ~MkFitEventOfHitsProducer()

MkFitEventOfHitsProducer::~MkFitEventOfHitsProducer ( )
overridedefault

Member Function Documentation

◆ fill()

void MkFitEventOfHitsProducer::fill ( const std::vector< const TrackingRecHit *> &  hits,
mkfit::EventOfHits eventOfHits,
const MkFitGeometry mkFitGeom 
) const
private

Definition at line 186 of file MkFitEventOfHitsProducer.cc.

References mps_fire::end, InitialStepPreSplitting_cff::eventOfHits, hfClusterShapes_cfi::hits, mps_fire::i, and MkFitGeometry::mkFitLayerNumber().

Referenced by produce().

188  {
189  for (unsigned int i = 0, end = hits.size(); i < end; ++i) {
190  const auto* hit = hits[i];
191  if (hit != nullptr) {
192  const auto ilay = mkFitGeom.mkFitLayerNumber(hit->geographicalId());
193  eventOfHits[ilay].registerHit(i);
194  }
195  }
196 }
int mkFitLayerNumber(DetId detId) const

◆ fillDescriptions()

void MkFitEventOfHitsProducer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 80 of file MkFitEventOfHitsProducer.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), and submitPVResolutionJobs::desc.

80  {
82 
83  desc.add("beamSpot", edm::InputTag{"offlineBeamSpot"});
84  desc.add("pixelHits", edm::InputTag{"mkFitSiPixelHits"});
85  desc.add("stripHits", edm::InputTag{"mkFitSiStripHits"});
86  desc.add("usePixelQualityDB", true)->setComment("Use SiPixelQuality DB information");
87  desc.add("useStripStripQualityDB", true)->setComment("Use SiStrip quality DB information");
88 
89  descriptions.addWithDefaultLabel(desc);
90 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)

◆ produce()

void MkFitEventOfHitsProducer::produce ( edm::StreamID  iID,
edm::Event iEvent,
const edm::EventSetup iSetup 
) const
overrideprivatevirtual

Implements edm::global::EDProducerBase.

Definition at line 92 of file MkFitEventOfHitsProducer.cc.

References Barrel, beamSpotToken_, cms::cuda::bs, mkfit::StdSeq::cmssw_LoadHits_Begin(), mkfit::StdSeq::cmssw_LoadHits_End(), deadvectors, reco::deltaPhi(), InitialStepPreSplitting_cff::eventOfHits, fill(), dqmdumpme::first, geomToken_, edm::EventSetup::getData(), iEvent, PixelPluginsPhase0_cfi::isBarrel, dqmdumpme::last, mkfit::StdSeq::loadDeads(), LogTrace, mkFitGeomToken_, eostools::move(), pixelClusterIndexToHitToken_, InitialStepPreSplitting_cff::pixelHits, pixelHitsToken_, pixelQualityToken_, putToken_, stripClusterIndexToHitToken_, stripHitsToken_, stripQualityToken_, sistrip::STRIPS_PER_APV, edm::swap(), usePixelQualityDB_, and useStripStripQualityDB_.

92  {
93  const auto& pixelHits = iEvent.get(pixelHitsToken_);
94  const auto& stripHits = iEvent.get(stripHitsToken_);
95  const auto& mkFitGeom = iSetup.getData(mkFitGeomToken_);
96 
97  auto eventOfHits = std::make_unique<mkfit::EventOfHits>(mkFitGeom.trackerInfo());
98  mkfit::StdSeq::cmssw_LoadHits_Begin(*eventOfHits, {&pixelHits.hits(), &stripHits.hits()});
99 
101  std::vector<mkfit::DeadVec> deadvectors(mkFitGeom.layerNumberConverter().nLayers());
102  const auto& trackerGeom = iSetup.getData(geomToken_);
103 
104  if (usePixelQualityDB_) {
105  const auto& pixelQuality = iSetup.getData(pixelQualityToken_);
106  const auto& badPixels = pixelQuality.getBadComponentList();
107  for (const auto& bp : badPixels) {
108  const DetId detid(bp.DetID);
109  const auto& surf = trackerGeom.idToDet(detid)->surface();
110  bool isBarrel = (mkFitGeom.topology()->side(detid) == static_cast<unsigned>(TrackerDetSide::Barrel));
111  const auto ilay = mkFitGeom.mkFitLayerNumber(detid);
112  const auto q1 = isBarrel ? surf.zSpan().first : surf.rSpan().first;
113  const auto q2 = isBarrel ? surf.zSpan().second : surf.rSpan().second;
114  if (bp.errorType == 0)
115  deadvectors[ilay].push_back({surf.phiSpan().first, surf.phiSpan().second, q1, q2});
116  }
117  }
118 
120  const auto& siStripQuality = iSetup.getData(stripQualityToken_);
121  const auto& badStrips = siStripQuality.getBadComponentList();
122  for (const auto& bs : badStrips) {
123  const DetId detid(bs.detid);
124  const auto& surf = trackerGeom.idToDet(detid)->surface();
125  bool isBarrel = (mkFitGeom.topology()->side(detid) == static_cast<unsigned>(TrackerDetSide::Barrel));
126  const auto ilay = mkFitGeom.mkFitLayerNumber(detid);
127  const auto q1 = isBarrel ? surf.zSpan().first : surf.rSpan().first;
128  const auto q2 = isBarrel ? surf.zSpan().second : surf.rSpan().second;
129  if (bs.BadModule)
130  deadvectors[ilay].push_back({surf.phiSpan().first, surf.phiSpan().second, q1, q2});
131  else { //assume that BadApvs are filled in sync with BadFibers
132  auto const& topo = dynamic_cast<const StripTopology&>(trackerGeom.idToDet(detid)->topology());
133  int firstApv = -1;
134  int lastApv = -1;
135 
136  auto addRangeAPV = [&topo, &surf, &q1, &q2](int first, int last, mkfit::DeadVec& dv) {
137  auto const firstPoint = surf.toGlobal(topo.localPosition(first * sistrip::STRIPS_PER_APV));
138  auto const lastPoint = surf.toGlobal(topo.localPosition((last + 1) * sistrip::STRIPS_PER_APV));
139  float phi1 = firstPoint.phi();
140  float phi2 = lastPoint.phi();
141  if (reco::deltaPhi(phi1, phi2) > 0)
142  std::swap(phi1, phi2);
143  LogTrace("SiStripBadComponents")
144  << "insert bad range " << first << " to " << last << " " << phi1 << " " << phi2;
145  dv.push_back({phi1, phi2, q1, q2});
146  };
147 
148  const int nApvs = topo.nstrips() / sistrip::STRIPS_PER_APV;
149  for (int apv = 0; apv < nApvs; ++apv) {
150  const bool isBad = bs.BadApvs & (1 << apv);
151  if (isBad) {
152  LogTrace("SiStripBadComponents") << "bad apv " << apv << " on " << bs.detid;
153  if (lastApv == -1) {
154  firstApv = apv;
155  lastApv = apv;
156  } else if (lastApv + 1 == apv)
157  lastApv++;
158 
159  if (apv + 1 == nApvs)
160  addRangeAPV(firstApv, lastApv, deadvectors[ilay]);
161  } else if (firstApv != -1) {
162  addRangeAPV(firstApv, lastApv, deadvectors[ilay]);
163  //and reset
164  firstApv = -1;
165  lastApv = -1;
166  }
167  }
168  }
169  }
170  }
172  }
173 
174  fill(iEvent.get(pixelClusterIndexToHitToken_).hits(), *eventOfHits, mkFitGeom);
175  fill(iEvent.get(stripClusterIndexToHitToken_).hits(), *eventOfHits, mkFitGeom);
176 
178 
179  auto const bs = iEvent.get(beamSpotToken_);
180  eventOfHits->setBeamSpot(
181  mkfit::BeamSpot(bs.x0(), bs.y0(), bs.z0(), bs.sigmaZ(), bs.BeamWidthX(), bs.BeamWidthY(), bs.dxdz(), bs.dydz()));
182 
184 }
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
Definition: EventSetup.h:119
void cmssw_LoadHits_End(EventOfHits &eoh)
Definition: MkStdSeqs.cc:47
const edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
void swap(Association< C > &lhs, Association< C > &rhs)
Definition: Association.h:112
void cmssw_LoadHits_Begin(EventOfHits &eoh, const std::vector< const HitVec *> &orig_hitvectors)
Definition: MkStdSeqs.cc:31
#define LogTrace(id)
const edm::EDPutTokenT< MkFitEventOfHits > putToken_
int iEvent
Definition: GenABIO.cc:224
edm::ESGetToken< SiPixelQuality, SiPixelQualityRcd > pixelQualityToken_
void loadDeads(EventOfHits &eoh, const std::vector< DeadVec > &deadvectors)
Definition: MkStdSeqs.cc:21
const edm::EDGetTokenT< MkFitHitWrapper > stripHitsToken_
Definition: DetId.h:17
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
const edm::EDGetTokenT< MkFitClusterIndexToHit > pixelClusterIndexToHitToken_
const edm::ESGetToken< MkFitGeometry, TrackerRecoGeometryRecord > mkFitGeomToken_
const edm::EDGetTokenT< MkFitClusterIndexToHit > stripClusterIndexToHitToken_
const edm::EDGetTokenT< MkFitHitWrapper > pixelHitsToken_
std::vector< DeadRegion > DeadVec
Definition: Hit.h:280
edm::ESGetToken< SiStripQuality, SiStripQualityRcd > stripQualityToken_
static const uint16_t STRIPS_PER_APV
void fill(const std::vector< const TrackingRecHit *> &hits, mkfit::EventOfHits &eventOfHits, const MkFitGeometry &mkFitGeom) const
def move(src, dest)
Definition: eostools.py:511
std::vector< DeadVec > deadvectors
Definition: mkFit.cc:44

Member Data Documentation

◆ beamSpotToken_

const edm::EDGetTokenT<reco::BeamSpot> MkFitEventOfHitsProducer::beamSpotToken_
private

Definition at line 46 of file MkFitEventOfHitsProducer.cc.

Referenced by produce().

◆ geomToken_

edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> MkFitEventOfHitsProducer::geomToken_
private

Definition at line 54 of file MkFitEventOfHitsProducer.cc.

Referenced by produce().

◆ mkFitGeomToken_

const edm::ESGetToken<MkFitGeometry, TrackerRecoGeometryRecord> MkFitEventOfHitsProducer::mkFitGeomToken_
private

Definition at line 51 of file MkFitEventOfHitsProducer.cc.

Referenced by produce().

◆ pixelClusterIndexToHitToken_

const edm::EDGetTokenT<MkFitClusterIndexToHit> MkFitEventOfHitsProducer::pixelClusterIndexToHitToken_
private

Definition at line 49 of file MkFitEventOfHitsProducer.cc.

Referenced by produce().

◆ pixelHitsToken_

const edm::EDGetTokenT<MkFitHitWrapper> MkFitEventOfHitsProducer::pixelHitsToken_
private

Definition at line 47 of file MkFitEventOfHitsProducer.cc.

Referenced by produce().

◆ pixelQualityToken_

edm::ESGetToken<SiPixelQuality, SiPixelQualityRcd> MkFitEventOfHitsProducer::pixelQualityToken_
private

Definition at line 52 of file MkFitEventOfHitsProducer.cc.

Referenced by produce().

◆ putToken_

const edm::EDPutTokenT<MkFitEventOfHits> MkFitEventOfHitsProducer::putToken_
private

Definition at line 55 of file MkFitEventOfHitsProducer.cc.

Referenced by produce().

◆ stripClusterIndexToHitToken_

const edm::EDGetTokenT<MkFitClusterIndexToHit> MkFitEventOfHitsProducer::stripClusterIndexToHitToken_
private

Definition at line 50 of file MkFitEventOfHitsProducer.cc.

Referenced by produce().

◆ stripHitsToken_

const edm::EDGetTokenT<MkFitHitWrapper> MkFitEventOfHitsProducer::stripHitsToken_
private

Definition at line 48 of file MkFitEventOfHitsProducer.cc.

Referenced by produce().

◆ stripQualityToken_

edm::ESGetToken<SiStripQuality, SiStripQualityRcd> MkFitEventOfHitsProducer::stripQualityToken_
private

Definition at line 53 of file MkFitEventOfHitsProducer.cc.

Referenced by produce().

◆ usePixelQualityDB_

const bool MkFitEventOfHitsProducer::usePixelQualityDB_
private

Definition at line 56 of file MkFitEventOfHitsProducer.cc.

Referenced by produce().

◆ useStripStripQualityDB_

const bool MkFitEventOfHitsProducer::useStripStripQualityDB_
private

Definition at line 57 of file MkFitEventOfHitsProducer.cc.

Referenced by produce().