CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
DeDxHitInfoProducer Class Reference

#include <RecoTracker/DeDx/plugins/DeDxHitInfoProducer.cc>

Inheritance diagram for DeDxHitInfoProducer:
edm::stream::EDProducer<>

Public Member Functions

 DeDxHitInfoProducer (const edm::ParameterSet &)
 
 ~DeDxHitInfoProducer () override
 
- Public Member Functions inherited from edm::stream::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
 
const EDProduceroperator= (const EDProducer &)=delete
 

Private Member Functions

void beginRun (edm::Run const &run, const edm::EventSetup &) override
 
void makeCalibrationMap (const TrackerGeometry &tkGeom_)
 
void processHit (const TrackingRecHit *recHit, const float trackMomentum, const float cosine, reco::DeDxHitInfo &hitDeDxInfo, const LocalPoint &hitLocalPos)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
uint64_t xorshift128p (uint64_t state[2])
 

Private Attributes

std::vector< std::vector< float > > calibGains_
 
const std::string calibrationPath_
 
const bool doShapeTest_
 
const float lowPtTracksDeDxThreshold_
 
GenericTruncatedAverageDeDxEstimator lowPtTracksEstimator_
 
const unsigned int lowPtTracksPrescaleFail_
 
const unsigned int lowPtTracksPrescalePass_
 
const float maxTrackEta_
 
const unsigned int minTrackHits_
 
const float minTrackPt_
 
const float minTrackPtPrescale_
 
unsigned int offsetDU_
 
const float theMeVperADCPixel_
 
const float theMeVperADCStrip_
 
edm::ESHandle< TrackerGeometrytkGeom_
 
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordtkGeomToken_
 
const edm::EDGetTokenT< reco::TrackCollectiontracksToken_
 
const bool useCalibration_
 
const bool usePixel_
 
const bool usePixelForPrescales_
 
const bool useStrip_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 

Detailed Description

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 45 of file DeDxHitInfoProducer.cc.

Constructor & Destructor Documentation

◆ DeDxHitInfoProducer()

DeDxHitInfoProducer::DeDxHitInfoProducer ( const edm::ParameterSet iConfig)
explicit

Definition at line 98 of file DeDxHitInfoProducer.cc.

References edm::BeginRun, usePixel_, and useStrip_.

99  : usePixel_(iConfig.getParameter<bool>("usePixel")),
100  useStrip_(iConfig.getParameter<bool>("useStrip")),
101  theMeVperADCPixel_(iConfig.getParameter<double>("MeVperADCPixel")),
102  theMeVperADCStrip_(iConfig.getParameter<double>("MeVperADCStrip")),
103  minTrackHits_(iConfig.getParameter<unsigned>("minTrackHits")),
104  minTrackPt_(iConfig.getParameter<double>("minTrackPt")),
105  minTrackPtPrescale_(iConfig.getParameter<double>("minTrackPtPrescale")),
106  maxTrackEta_(iConfig.getParameter<double>("maxTrackEta")),
107  calibrationPath_(iConfig.getParameter<string>("calibrationPath")),
108  useCalibration_(iConfig.getParameter<bool>("useCalibration")),
109  doShapeTest_(iConfig.getParameter<bool>("shapeTest")),
110  lowPtTracksPrescalePass_(iConfig.getParameter<uint32_t>("lowPtTracksPrescalePass")),
111  lowPtTracksPrescaleFail_(iConfig.getParameter<uint32_t>("lowPtTracksPrescaleFail")),
112  lowPtTracksEstimator_(iConfig.getParameter<edm::ParameterSet>("lowPtTracksEstimatorParameters")),
113  lowPtTracksDeDxThreshold_(iConfig.getParameter<double>("lowPtTracksDeDxThreshold")),
114  usePixelForPrescales_(iConfig.getParameter<bool>("usePixelForPrescales")),
115  tracksToken_(consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("tracks"))),
116  tkGeomToken_(esConsumes<TrackerGeometry, TrackerDigiGeometryRecord, edm::Transition::BeginRun>()) {
117  produces<reco::DeDxHitInfoCollection>();
118  produces<reco::DeDxHitInfoAss>();
119  produces<edm::ValueMap<int>>("prescale");
120 
121  if (!usePixel_ && !useStrip_)
122  edm::LogError("DeDxHitsProducer") << "No Pixel Hits NOR Strip Hits will be saved. Running this module is useless";
123 }
const unsigned int minTrackHits_
const std::string calibrationPath_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
const unsigned int lowPtTracksPrescaleFail_
Log< level::Error, false > LogError
const edm::EDGetTokenT< reco::TrackCollection > tracksToken_
const unsigned int lowPtTracksPrescalePass_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > tkGeomToken_
GenericTruncatedAverageDeDxEstimator lowPtTracksEstimator_
const float lowPtTracksDeDxThreshold_

◆ ~DeDxHitInfoProducer()

DeDxHitInfoProducer::~DeDxHitInfoProducer ( )
overridedefault

Member Function Documentation

◆ beginRun()

void DeDxHitInfoProducer::beginRun ( edm::Run const &  run,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 128 of file DeDxHitInfoProducer.cc.

References calibGains_, calibrationPath_, edm::EventSetup::getHandle(), deDxTools::makeCalibrationMap(), TrackerGeometry::offsetDU(), offsetDU_, GeomDetEnumerators::PixelBarrel, tkGeom_, tkGeomToken_, and useCalibration_.

128  {
129  tkGeom_ = iSetup.getHandle(tkGeomToken_);
130  if (useCalibration_ && calibGains_.empty()) {
131  offsetDU_ = tkGeom_->offsetDU(GeomDetEnumerators::PixelBarrel); //index start at the first pixel
132 
134  }
135 }
const std::string calibrationPath_
unsigned int offsetDU(SubDetector sid) const
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > tkGeomToken_
edm::ESHandle< TrackerGeometry > tkGeom_
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:130
void makeCalibrationMap(const std::string &m_calibrationPath, const TrackerGeometry &tkGeom, std::vector< std::vector< float >> &calibGains, const unsigned int &m_off)
std::vector< std::vector< float > > calibGains_

◆ makeCalibrationMap()

void DeDxHitInfoProducer::makeCalibrationMap ( const TrackerGeometry tkGeom_)
private

◆ processHit()

void DeDxHitInfoProducer::processHit ( const TrackingRecHit recHit,
const float  trackMomentum,
const float  cosine,
reco::DeDxHitInfo hitDeDxInfo,
const LocalPoint hitLocalPos 
)
private

Definition at line 239 of file DeDxHitInfoProducer.cc.

References funct::abs(), reco::DeDxHitInfo::addHit(), Surface::bounds(), calibGains_, runTheMatrix::const, TrackerSingleRecHit::detUnit(), f, TrackingRecHit::geographicalId(), deDxTools::getCharge(), TrackerGeometry::idToDet(), SiStripPI::max, SiStripMatchedRecHit2D::monoHit(), offsetDU_, rpcPointValidation_cfi::recHit, SiStripMatchedRecHit2D::stereoHit(), TrackerSingleRecHit::stripCluster(), GeomDet::surface(), Bounds::thickness(), tkGeom_, usePixel_, and useStrip_.

Referenced by produce().

243  {
244  auto const& thit = static_cast<BaseTrackerRecHit const&>(*recHit);
245  if (!thit.isValid())
246  return;
247 
248  //make sure cosine is not 0
249  float cosineAbs = std::max(0.00000001f, std::abs(cosine));
250 
251  auto const& clus = thit.firstClusterRef();
252  if (!clus.isValid())
253  return;
254 
255  const auto* detUnit = recHit->detUnit();
256  if (detUnit == nullptr) {
257  detUnit = tkGeom_->idToDet(thit.geographicalId());
258  }
259  float pathLen = detUnit->surface().bounds().thickness() / cosineAbs;
260 
261  if (clus.isPixel()) {
262  if (!usePixel_)
263  return;
264 
265  float chargeAbs = clus.pixelCluster().charge();
266  hitDeDxInfo.addHit(chargeAbs, pathLen, thit.geographicalId(), hitLocalPos, clus.pixelCluster());
267  } else if (clus.isStrip() && !thit.isMatched()) {
268  if (!useStrip_)
269  return;
270 
271  int NSaturating = 0;
272  float chargeAbs = deDxTools::getCharge(&(clus.stripCluster()), NSaturating, *detUnit, calibGains_, offsetDU_);
273  hitDeDxInfo.addHit(chargeAbs, pathLen, thit.geographicalId(), hitLocalPos, clus.stripCluster());
274  } else if (clus.isStrip() && thit.isMatched()) {
275  if (!useStrip_)
276  return;
277  const SiStripMatchedRecHit2D* matchedHit = dynamic_cast<const SiStripMatchedRecHit2D*>(recHit);
278  if (!matchedHit)
279  return;
280 
281  const auto* detUnitM = matchedHit->monoHit().detUnit();
282  if (detUnitM == nullptr)
283  detUnitM = tkGeom_->idToDet(matchedHit->monoHit().geographicalId());
284  int NSaturating = 0;
285  auto pathLenM = detUnitM->surface().bounds().thickness() / cosineAbs;
286  float chargeAbs =
287  deDxTools::getCharge(&(matchedHit->monoHit().stripCluster()), NSaturating, *detUnitM, calibGains_, offsetDU_);
288  hitDeDxInfo.addHit(chargeAbs, pathLenM, thit.geographicalId(), hitLocalPos, matchedHit->monoHit().stripCluster());
289 
290  const auto* detUnitS = matchedHit->stereoHit().detUnit();
291  if (detUnitS == nullptr)
292  detUnitS = tkGeom_->idToDet(matchedHit->stereoHit().geographicalId());
293  NSaturating = 0;
294  auto pathLenS = detUnitS->surface().bounds().thickness() / cosineAbs;
295  chargeAbs =
296  deDxTools::getCharge(&(matchedHit->stereoHit().stripCluster()), NSaturating, *detUnitS, calibGains_, offsetDU_);
297  hitDeDxInfo.addHit(chargeAbs, pathLenS, thit.geographicalId(), hitLocalPos, matchedHit->stereoHit().stripCluster());
298  }
299 }
SiStripRecHit2D stereoHit() const
const GeomDetUnit * detUnit() const override
int getCharge(const SiStripCluster *cluster, int &nSatStrip, const GeomDetUnit &detUnit, const std::vector< std::vector< float >> &calibGains, const unsigned int &m_off)
virtual float thickness() const =0
SiStripCluster const & stripCluster() const
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double f[11][100]
void addHit(const float charge, const float pathlength, const DetId &detId, const LocalPoint &pos, const SiStripCluster &stripCluster)
Definition: DeDxHitInfo.h:89
edm::ESHandle< TrackerGeometry > tkGeom_
const TrackerGeomDet * idToDet(DetId) const override
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
DetId geographicalId() const
SiStripRecHit2D monoHit() const
std::vector< std::vector< float > > calibGains_
const Bounds & bounds() const
Definition: Surface.h:87

◆ produce()

void DeDxHitInfoProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 137 of file DeDxHitInfoProducer.cc.

References funct::abs(), reco::DeDxHitInfo::charge(), GenericTruncatedAverageDeDxEstimator::dedx(), reco::DeDxHitInfo::detId(), doShapeTest_, trigObjTnPSource_cfi::filler, h, hcalSimParameters_cfi::hb, hfClusterShapes_cfi::hits, mps_fire::i, iEvent, dqmdumpme::indices, trackerHitRTTI::isFromDet(), dqmiolumiharvest::j, lowPtTracksDeDxThreshold_, lowPtTracksEstimator_, lowPtTracksPrescaleFail_, lowPtTracksPrescalePass_, maxTrackEta_, minTrackHits_, minTrackPt_, minTrackPtPrescale_, eostools::move(), dqmiodumpmetadata::n, reco::DeDxHitInfo::pathlength(), hltrates_dqm_sourceclient-live_cfg::prescales, processHit(), edm::Handle< T >::product(), rpcPointValidation_cfi::recHit, deDxTools::shapeSelection(), reco::DeDxHitInfo::size(), jetUpdater_cfi::sort, reco::DeDxHitInfo::stripCluster(), DetId::subdetId(), theMeVperADCPixel_, theMeVperADCStrip_, HLT_2022v15_cff::track, JetHT_cfg::trackCollection, tracksToken_, usePixelForPrescales_, and xorshift128p().

137  {
138  edm::Handle<reco::TrackCollection> trackCollectionHandle;
139  iEvent.getByToken(tracksToken_, trackCollectionHandle);
140  const TrackCollection& trackCollection(*trackCollectionHandle.product());
141 
142  // creates the output collection
143  auto resultdedxHitColl = std::make_unique<reco::DeDxHitInfoCollection>();
144 
145  std::vector<int> indices;
146  std::vector<int> prescales;
147  uint64_t state[2] = {iEvent.id().event(), iEvent.id().luminosityBlock()};
148  for (unsigned int j = 0; j < trackCollection.size(); j++) {
150 
151  //track selection
152  bool passPt = (track.pt() >= minTrackPt_), passLowDeDx = false, passHighDeDx = false, pass = passPt;
153  if (!pass && (track.pt() >= minTrackPtPrescale_)) {
154  if (lowPtTracksPrescalePass_ > 0) {
155  passHighDeDx = ((xorshift128p(state) % lowPtTracksPrescalePass_) == 0);
156  }
157  if (lowPtTracksPrescaleFail_ > 0) {
158  passLowDeDx = ((xorshift128p(state) % lowPtTracksPrescaleFail_) == 0);
159  }
160  pass = passHighDeDx || passLowDeDx;
161  }
162  if (!pass || std::abs(track.eta()) > maxTrackEta_ || track.numberOfValidHits() < minTrackHits_) {
163  indices.push_back(-1);
164  continue;
165  }
166 
167  reco::DeDxHitInfo hitDeDxInfo;
168  auto const& trajParams = track.extra()->trajParams();
169  auto hb = track.recHitsBegin();
170  for (unsigned int h = 0; h < track.recHitsSize(); h++) {
171  auto recHit = *(hb + h);
173  continue;
174 
175  auto trackDirection = trajParams[h].direction();
176  float cosine = trackDirection.z() / trackDirection.mag();
177 
178  processHit(recHit, track.p(), cosine, hitDeDxInfo, trajParams[h].position());
179  }
180 
181  if (!passPt) {
182  std::vector<DeDxHit> hits;
183  hits.reserve(hitDeDxInfo.size());
184  for (unsigned int i = 0, n = hitDeDxInfo.size(); i < n; ++i) {
185  if (hitDeDxInfo.detId(i).subdetId() <= 2 && usePixelForPrescales_) {
186  hits.push_back(DeDxHit(hitDeDxInfo.charge(i) / hitDeDxInfo.pathlength(i) * theMeVperADCPixel_, 0, 0, 0));
187  } else if (hitDeDxInfo.detId(i).subdetId() > 2) {
188  if (doShapeTest_ && !deDxTools::shapeSelection(*hitDeDxInfo.stripCluster(i)))
189  continue;
190  hits.push_back(DeDxHit(hitDeDxInfo.charge(i) / hitDeDxInfo.pathlength(i) * theMeVperADCStrip_, 0, 0, 0));
191  }
192  }
193 
194  // In case we have a pixel only track, but usePixelForPrescales_ is false
195  if (hits.empty()) {
196  indices.push_back(-1);
197  continue;
198  }
199  std::sort(hits.begin(), hits.end(), std::less<DeDxHit>());
201  if (passLowDeDx) {
203  } else {
204  indices.push_back(-1);
205  continue;
206  }
207  } else {
208  if (passHighDeDx) {
210  } else {
211  indices.push_back(-1);
212  continue;
213  }
214  }
215  } else {
216  prescales.push_back(1);
217  }
218  indices.push_back(resultdedxHitColl->size());
219  resultdedxHitColl->push_back(hitDeDxInfo);
220  }
222 
223  edm::OrphanHandle<reco::DeDxHitInfoCollection> dedxHitCollHandle = iEvent.put(std::move(resultdedxHitColl));
224 
225  //create map passing the handle to the matched collection
226  auto dedxMatch = std::make_unique<reco::DeDxHitInfoAss>(dedxHitCollHandle);
228  filler.insert(trackCollectionHandle, indices.begin(), indices.end());
229  filler.fill();
230  iEvent.put(std::move(dedxMatch));
231 
232  auto dedxPrescale = std::make_unique<edm::ValueMap<int>>();
233  edm::ValueMap<int>::Filler pfiller(*dedxPrescale);
234  pfiller.insert(dedxHitCollHandle, prescales.begin(), prescales.end());
235  pfiller.fill();
236  iEvent.put(std::move(dedxPrescale), "prescale");
237 }
const unsigned int minTrackHits_
bool isFromDet(TrackingRecHit const &hit)
T const * product() const
Definition: Handle.h:70
const unsigned int lowPtTracksPrescaleFail_
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
const edm::EDGetTokenT< reco::TrackCollection > tracksToken_
int iEvent
Definition: GenABIO.cc:224
const unsigned int lowPtTracksPrescalePass_
void processHit(const TrackingRecHit *recHit, const float trackMomentum, const float cosine, reco::DeDxHitInfo &hitDeDxInfo, const LocalPoint &hitLocalPos)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
trackCollection
Definition: JetHT_cfg.py:51
uint64_t xorshift128p(uint64_t state[2])
unsigned long long uint64_t
Definition: Time.h:13
bool shapeSelection(const SiStripCluster &ampls)
Definition: DeDxTools.cc:13
GenericTruncatedAverageDeDxEstimator lowPtTracksEstimator_
std::pair< float, float > dedx(const reco::DeDxHitCollection &Hits) override
const float lowPtTracksDeDxThreshold_
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
def move(src, dest)
Definition: eostools.py:511

◆ xorshift128p()

uint64_t DeDxHitInfoProducer::xorshift128p ( uint64_t  state[2])
inlineprivate

Definition at line 88 of file DeDxHitInfoProducer.cc.

References x.

Referenced by produce().

88  {
89  uint64_t x = state[0];
90  uint64_t const y = state[1];
91  state[0] = y;
92  x ^= x << 23; // a
93  state[1] = x ^ y ^ (x >> 17) ^ (y >> 26); // b, c
94  return state[1] + y;
95  }
unsigned long long uint64_t
Definition: Time.h:13

Member Data Documentation

◆ calibGains_

std::vector<std::vector<float> > DeDxHitInfoProducer::calibGains_
private

Definition at line 85 of file DeDxHitInfoProducer.cc.

Referenced by beginRun(), and processHit().

◆ calibrationPath_

const std::string DeDxHitInfoProducer::calibrationPath_
private

Definition at line 72 of file DeDxHitInfoProducer.cc.

Referenced by beginRun().

◆ doShapeTest_

const bool DeDxHitInfoProducer::doShapeTest_
private

Definition at line 74 of file DeDxHitInfoProducer.cc.

Referenced by produce().

◆ lowPtTracksDeDxThreshold_

const float DeDxHitInfoProducer::lowPtTracksDeDxThreshold_
private

Definition at line 78 of file DeDxHitInfoProducer.cc.

Referenced by produce().

◆ lowPtTracksEstimator_

GenericTruncatedAverageDeDxEstimator DeDxHitInfoProducer::lowPtTracksEstimator_
private

Definition at line 77 of file DeDxHitInfoProducer.cc.

Referenced by produce().

◆ lowPtTracksPrescaleFail_

const unsigned int DeDxHitInfoProducer::lowPtTracksPrescaleFail_
private

Definition at line 76 of file DeDxHitInfoProducer.cc.

Referenced by produce().

◆ lowPtTracksPrescalePass_

const unsigned int DeDxHitInfoProducer::lowPtTracksPrescalePass_
private

Definition at line 76 of file DeDxHitInfoProducer.cc.

Referenced by produce().

◆ maxTrackEta_

const float DeDxHitInfoProducer::maxTrackEta_
private

Definition at line 70 of file DeDxHitInfoProducer.cc.

Referenced by produce().

◆ minTrackHits_

const unsigned int DeDxHitInfoProducer::minTrackHits_
private

Definition at line 67 of file DeDxHitInfoProducer.cc.

Referenced by produce().

◆ minTrackPt_

const float DeDxHitInfoProducer::minTrackPt_
private

Definition at line 68 of file DeDxHitInfoProducer.cc.

Referenced by produce().

◆ minTrackPtPrescale_

const float DeDxHitInfoProducer::minTrackPtPrescale_
private

Definition at line 69 of file DeDxHitInfoProducer.cc.

Referenced by produce().

◆ offsetDU_

unsigned int DeDxHitInfoProducer::offsetDU_
private

Definition at line 86 of file DeDxHitInfoProducer.cc.

Referenced by beginRun(), and processHit().

◆ theMeVperADCPixel_

const float DeDxHitInfoProducer::theMeVperADCPixel_
private

Definition at line 64 of file DeDxHitInfoProducer.cc.

Referenced by produce().

◆ theMeVperADCStrip_

const float DeDxHitInfoProducer::theMeVperADCStrip_
private

Definition at line 65 of file DeDxHitInfoProducer.cc.

Referenced by produce().

◆ tkGeom_

edm::ESHandle<TrackerGeometry> DeDxHitInfoProducer::tkGeom_
private

Definition at line 82 of file DeDxHitInfoProducer.cc.

Referenced by beginRun(), and processHit().

◆ tkGeomToken_

const edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> DeDxHitInfoProducer::tkGeomToken_
private

Definition at line 83 of file DeDxHitInfoProducer.cc.

Referenced by beginRun().

◆ tracksToken_

const edm::EDGetTokenT<reco::TrackCollection> DeDxHitInfoProducer::tracksToken_
private

Definition at line 81 of file DeDxHitInfoProducer.cc.

Referenced by produce().

◆ useCalibration_

const bool DeDxHitInfoProducer::useCalibration_
private

Definition at line 73 of file DeDxHitInfoProducer.cc.

Referenced by beginRun().

◆ usePixel_

const bool DeDxHitInfoProducer::usePixel_
private

Definition at line 62 of file DeDxHitInfoProducer.cc.

Referenced by DeDxHitInfoProducer(), and processHit().

◆ usePixelForPrescales_

const bool DeDxHitInfoProducer::usePixelForPrescales_
private

Definition at line 79 of file DeDxHitInfoProducer.cc.

Referenced by produce().

◆ useStrip_

const bool DeDxHitInfoProducer::useStrip_
private

Definition at line 63 of file DeDxHitInfoProducer.cc.

Referenced by DeDxHitInfoProducer(), and processHit().