CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
HLTTrackClusterRemoverNew Class Referencefinal
Inheritance diagram for HLTTrackClusterRemoverNew:
edm::stream::EDProducer<>

Classes

struct  ParamBlock
 

Public Member Functions

 HLTTrackClusterRemoverNew (const edm::ParameterSet &iConfig)
 
void produce (edm::Event &iEvent, const edm::EventSetup &iSetup) override
 
 ~HLTTrackClusterRemoverNew () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Private Types

typedef edm::ContainerMask< edmNew::DetSetVector< SiPixelCluster > > PixelMaskContainer
 
typedef edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > StripMaskContainer
 

Private Member Functions

template<typename T >
std::unique_ptr< edmNew::DetSetVector< T > > cleanup (const edmNew::DetSetVector< T > &oldClusters, const std::vector< uint8_t > &isGood, reco::ClusterRemovalInfo::Indices &refs, const reco::ClusterRemovalInfo::Indices *oldRefs)
 
void mergeOld (reco::ClusterRemovalInfo::Indices &refs, const reco::ClusterRemovalInfo::Indices &oldRefs)
 
void process (const OmniClusterRef &cluRef, uint32_t subdet)
 
void process (const TrackingRecHit *hit, float chi2, const TrackerGeometry *tg)
 
void readPSet (const edm::ParameterSet &iConfig, const std::string &name, int id1=-1, int id2=-1, int id3=-1, int id4=-1, int id5=-1, int id6=-1)
 

Private Attributes

std::vector< bool > collectedPixels_
 
std::vector< bool > collectedRegStrips_
 
bool doPixel_
 
bool doPixelChargeCheck_
 
bool doStrip_
 
bool doStripChargeCheck_
 
bool doTracks_
 
bool makeProducts_
 
bool mergeOld_
 
edm::EDGetTokenT< PixelMaskContaineroldPxlMaskToken_
 
edm::EDGetTokenT< StripMaskContaineroldStrMaskToken_
 
ParamBlock pblocks_ [NumberOfParamBlocks]
 
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClusters_
 
std::vector< uint8_t > pixels
 
edm::ProductID pixelSourceProdID
 
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > stripClusters_
 
std::vector< uint8_t > strips
 
edm::ProductID stripSourceProdID
 
edm::EDGetTokenT< std::vector< Trajectory > > trajectories_
 

Static Private Attributes

static const unsigned int NumberOfParamBlocks = 6
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Detailed Description

Definition at line 39 of file HLTTrackClusterRemoverNew.cc.

Member Typedef Documentation

◆ PixelMaskContainer

Definition at line 69 of file HLTTrackClusterRemoverNew.cc.

◆ StripMaskContainer

Definition at line 70 of file HLTTrackClusterRemoverNew.cc.

Constructor & Destructor Documentation

◆ HLTTrackClusterRemoverNew()

HLTTrackClusterRemoverNew::HLTTrackClusterRemoverNew ( const edm::ParameterSet iConfig)

Definition at line 134 of file HLTTrackClusterRemoverNew.cc.

135  : doTracks_(iConfig.exists("trajectories")),
136  doStrip_(iConfig.existsAs<bool>("doStrip") ? iConfig.getParameter<bool>("doStrip") : true),
137  doPixel_(iConfig.existsAs<bool>("doPixel") ? iConfig.getParameter<bool>("doPixel") : true),
138  mergeOld_(false),
139  makeProducts_(true),
141  iConfig.existsAs<bool>("doStripChargeCheck") ? iConfig.getParameter<bool>("doStripChargeCheck") : false),
143  iConfig.existsAs<bool>("doPixelChargeCheck") ? iConfig.getParameter<bool>("doPixelChargeCheck") : false)
144 
145 {
146  if (iConfig.exists("oldClusterRemovalInfo")) {
147  oldPxlMaskToken_ = consumes<PixelMaskContainer>(iConfig.getParameter<InputTag>("oldClusterRemovalInfo"));
148  oldStrMaskToken_ = consumes<StripMaskContainer>(iConfig.getParameter<InputTag>("oldClusterRemovalInfo"));
149  if (not(iConfig.getParameter<InputTag>("oldClusterRemovalInfo") == edm::InputTag()))
150  mergeOld_ = true;
151  }
152 
154  throw cms::Exception("Configuration Error")
155  << "HLTTrackClusterRemoverNew: Charge check asked without cluster collection ";
157  throw cms::Exception("Configuration Error")
158  << "HLTTrackClusterRemoverNew: Pixel cluster charge check not yet implemented";
159 
160  fill(pblocks_, pblocks_ + NumberOfParamBlocks, ParamBlock());
161  readPSet(iConfig, "Common", -1);
162  if (doPixel_) {
163  readPSet(iConfig, "Pixel", 0, 1);
164  readPSet(iConfig, "PXB", 0);
165  readPSet(iConfig, "PXE", 1);
166  }
167  if (doStrip_) {
168  readPSet(iConfig, "Strip", 2, 3, 4, 5);
169  readPSet(iConfig, "StripInner", 2, 3);
170  readPSet(iConfig, "StripOuter", 4, 5);
171  readPSet(iConfig, "TIB", 2);
172  readPSet(iConfig, "TID", 3);
173  readPSet(iConfig, "TOB", 4);
174  readPSet(iConfig, "TEC", 5);
175  }
176 
177  bool usingCharge = false;
178  for (size_t i = 0; i < NumberOfParamBlocks; ++i) {
179  if (!pblocks_[i].isSet_)
180  throw cms::Exception("Configuration Error")
181  << "HLTTrackClusterRemoverNew: Missing configuration for detector with subDetID = " << (i + 1);
182  if (pblocks_[i].usesCharge_ && !usingCharge) {
183  throw cms::Exception("Configuration Error")
184  << "HLTTrackClusterRemoverNew: Configuration for subDetID = " << (i + 1)
185  << " uses cluster charge, which is not enabled.";
186  }
187  }
188 
189  // trajectories_ = consumes<vector<Trajectory> >(iConfig.getParameter<InputTag>("trajectories"));
190  if (doTracks_)
191  trajectories_ = consumes<vector<Trajectory> >(iConfig.getParameter<InputTag>("trajectories"));
192  if (doPixel_)
193  pixelClusters_ = consumes<edmNew::DetSetVector<SiPixelCluster> >(iConfig.getParameter<InputTag>("pixelClusters"));
194  if (doStrip_)
195  stripClusters_ = consumes<edmNew::DetSetVector<SiStripCluster> >(iConfig.getParameter<InputTag>("stripClusters"));
196  if (mergeOld_) {
197  oldPxlMaskToken_ = consumes<PixelMaskContainer>(iConfig.getParameter<InputTag>("oldClusterRemovalInfo"));
198  oldStrMaskToken_ = consumes<StripMaskContainer>(iConfig.getParameter<InputTag>("oldClusterRemovalInfo"));
199  }
200 
201  //produces<edmNew::DetSetVector<SiPixelClusterRefNew> >();
202  //produces<edmNew::DetSetVector<SiStripRecHit1D::ClusterRegionalRef> >();
203 
204  produces<edm::ContainerMask<edmNew::DetSetVector<SiPixelCluster> > >();
205  produces<edm::ContainerMask<edmNew::DetSetVector<SiStripCluster> > >();
206 }

References doPixel_, doPixelChargeCheck_, doStrip_, doStripChargeCheck_, doTracks_, Exception, edm::ParameterSet::exists(), ntuplemaker::fill, edm::ParameterSet::getParameter(), mps_fire::i, mergeOld_, NumberOfParamBlocks, oldPxlMaskToken_, oldStrMaskToken_, pblocks_, pixelClusters_, readPSet(), stripClusters_, and trajectories_.

◆ ~HLTTrackClusterRemoverNew()

HLTTrackClusterRemoverNew::~HLTTrackClusterRemoverNew ( )
override

Definition at line 208 of file HLTTrackClusterRemoverNew.cc.

208 {}

Member Function Documentation

◆ cleanup()

template<typename T >
std::unique_ptr< edmNew::DetSetVector< T > > HLTTrackClusterRemoverNew::cleanup ( const edmNew::DetSetVector< T > &  oldClusters,
const std::vector< uint8_t > &  isGood,
reco::ClusterRemovalInfo::Indices refs,
const reco::ClusterRemovalInfo::Indices oldRefs 
)
private

Definition at line 218 of file HLTTrackClusterRemoverNew.cc.

222  {
223  typedef typename edmNew::DetSetVector<T> DSV;
224  typedef typename edmNew::DetSetVector<T>::FastFiller DSF;
225  typedef typename edmNew::DetSet<T> DS;
226  auto output = std::make_unique<DSV>();
227  output->reserve(oldClusters.size(), oldClusters.dataSize());
228 
229  unsigned int countOld = 0;
230  unsigned int countNew = 0;
231 
232  // cluster removal loop
233  const T *firstOffset = &oldClusters.data().front();
234  for (typename DSV::const_iterator itdet = oldClusters.begin(), enddet = oldClusters.end(); itdet != enddet; ++itdet) {
235  DS oldDS = *itdet;
236 
237  if (oldDS.empty())
238  continue; // skip empty detsets
239 
240  uint32_t id = oldDS.detId();
241  DSF outds(*output, id);
242 
243  for (typename DS::const_iterator it = oldDS.begin(), ed = oldDS.end(); it != ed; ++it) {
244  uint32_t index = ((&*it) - firstOffset);
245  countOld++;
246  if (isGood[index]) {
247  outds.push_back(*it);
248  countNew++;
249  refs.push_back(index);
250  //std::cout << "HLTTrackClusterRemoverNew::cleanup " << typeid(T).name() << " reference " << index << " to " << (refs.size() - 1) << std::endl;
251  }
252  }
253  if (outds.empty())
254  outds.abort(); // not write in an empty DSV
255  }
256  // double fraction = countNew / (double) countOld;
257  // std::cout<<"fraction: "<<fraction<<std::endl;
258  if (oldRefs != nullptr)
259  mergeOld(refs, *oldRefs);
260  return output;
261 }

References edmNew::DetSetVector< T >::begin(), edmNew::DetSetVector< T >::data(), edmNew::DetSetVector< T >::dataSize(), edmNew::DetSetVector< T >::end(), mergeOld(), convertSQLitetoXML_cfg::output, and edmNew::DetSetVector< T >::size().

◆ mergeOld()

void HLTTrackClusterRemoverNew::mergeOld ( reco::ClusterRemovalInfo::Indices refs,
const reco::ClusterRemovalInfo::Indices oldRefs 
)
private

Definition at line 210 of file HLTTrackClusterRemoverNew.cc.

211  {
212  for (size_t i = 0, n = refs.size(); i < n; ++i) {
213  refs[i] = oldRefs[refs[i]];
214  }
215 }

References mps_fire::i, and dqmiodumpmetadata::n.

Referenced by cleanup().

◆ process() [1/2]

void HLTTrackClusterRemoverNew::process ( const OmniClusterRef cluRef,
uint32_t  subdet 
)
inlineprivate

Definition at line 263 of file HLTTrackClusterRemoverNew.cc.

263  {
264  if (clusterReg.id() != stripSourceProdID)
265  throw cms::Exception("Inconsistent Data")
266  << "HLTTrackClusterRemoverNew: strip cluster ref from Product ID = " << clusterReg.id()
267  << " does not match with source cluster collection (ID = " << stripSourceProdID << ")\n.";
268 
269  if (collectedRegStrips_.size() <= clusterReg.key()) {
270  edm::LogError("BadCollectionSize") << collectedRegStrips_.size() << " is smaller than " << clusterReg.key();
271 
272  assert(collectedRegStrips_.size() > clusterReg.key());
273  }
274  collectedRegStrips_[clusterReg.key()] = true;
275 }

References cms::cuda::assert(), collectedRegStrips_, OmniClusterRef::id(), OmniClusterRef::key(), and stripSourceProdID.

◆ process() [2/2]

void HLTTrackClusterRemoverNew::process ( const TrackingRecHit hit,
float  chi2,
const TrackerGeometry tg 
)
inlineprivate

Definition at line 277 of file HLTTrackClusterRemoverNew.cc.

277  {
278  DetId detid = hit->geographicalId();
279  uint32_t subdet = detid.subdetId();
280 
281  assert((subdet > 0) && (subdet <= NumberOfParamBlocks));
282 
283  // chi2 cut
284  if (chi2 > pblocks_[subdet - 1].maxChi2_)
285  return;
286 
288  // std::cout<<"process pxl hit"<<std::endl;
289  if (!doPixel_)
290  return;
291  // this is a pixel, and i *know* it is
292  const SiPixelRecHit *pixelHit = static_cast<const SiPixelRecHit *>(hit);
293 
294  SiPixelRecHit::ClusterRef cluster = pixelHit->cluster();
295  if (cluster.id() != pixelSourceProdID)
296  throw cms::Exception("Inconsistent Data")
297  << "HLTTrackClusterRemoverNew: pixel cluster ref from Product ID = " << cluster.id()
298  << " does not match with source cluster collection (ID = " << pixelSourceProdID << ")\n.";
299 
300  assert(cluster.id() == pixelSourceProdID);
301  //DBG// cout << "HIT NEW PIXEL DETID = " << detid.rawId() << ", Cluster [ " << cluster.key().first << " / " << cluster.key().second << " ] " << endl;
302 
303  // if requested, cut on cluster size
304  if (pblocks_[subdet - 1].usesSize_ && (cluster->pixels().size() > pblocks_[subdet - 1].maxSize_))
305  return;
306 
307  // mark as used
308  //pixels[cluster.key()] = false;
309  assert(collectedPixels_.size() > cluster.key());
310  collectedPixels_[cluster.key()] = true;
311  } else { // aka Strip
312  if (!doStrip_)
313  return;
314  const type_info &hitType = typeid(*hit);
315  if (hitType == typeid(SiStripRecHit2D)) {
316  const SiStripRecHit2D *stripHit = static_cast<const SiStripRecHit2D *>(hit);
317  //DBG// cout << "Plain RecHit 2D: " << endl;
318  process(stripHit->omniClusterRef(), subdet);
319  // int clusCharge=0;
320  // for ( auto cAmp : stripHit->omniClusterRef().stripCluster().amplitudes() ) clusCharge+=cAmp;
321  // std::cout << "[HLTTrackClusterRemoverNew::process (SiStripRecHit2D) chi2: " << chi2 << " [" << subdet << " --> charge: " << clusCharge << "]" << std::endl;
322  } else if (hitType == typeid(SiStripRecHit1D)) {
323  const SiStripRecHit1D *hit1D = static_cast<const SiStripRecHit1D *>(hit);
324  process(hit1D->omniClusterRef(), subdet);
325  // int clusCharge=0;
326  // for ( auto cAmp : hit1D->omniClusterRef().stripCluster().amplitudes() ) clusCharge+=cAmp;
327  // std::cout << "[HLTTrackClusterRemoverNew::process (SiStripRecHit1D) chi2: " << chi2 << " [" << subdet << " --> charge: " << clusCharge << "]" << std::endl;
328  } else if (hitType == typeid(SiStripMatchedRecHit2D)) {
329  const SiStripMatchedRecHit2D *matchHit = static_cast<const SiStripMatchedRecHit2D *>(hit);
330  //DBG// cout << "Matched RecHit 2D: " << endl;
331  process(matchHit->monoClusterRef(), subdet);
332  // int clusCharge=0;
333  // for ( auto cAmp : matchHit->monoClusterRef().stripCluster().amplitudes() ) clusCharge+=cAmp;
334  // std::cout << "[HLTTrackClusterRemoverNew::process (SiStripMatchedRecHit2D:mono) chi2: " << chi2 << " [" << subdet << " --> charge: " << clusCharge << "]" << std::endl;
335 
336  process(matchHit->stereoClusterRef(), subdet);
337  // clusCharge=0;
338  // for ( auto cAmp : matchHit->stereoClusterRef().stripCluster().amplitudes() ) clusCharge+=cAmp;
339  // std::cout << "[HLTTrackClusterRemoverNew::process (SiStripMatchedRecHit2D:stereo) chi2: " << chi2 << " [" << subdet << " --> charge: " << clusCharge << "]" << std::endl;
340 
341  } else if (hitType == typeid(ProjectedSiStripRecHit2D)) {
342  const ProjectedSiStripRecHit2D *projHit = static_cast<const ProjectedSiStripRecHit2D *>(hit);
343  //DBG// cout << "Projected RecHit 2D: " << endl;
344  process(projHit->originalHit().omniClusterRef(), subdet);
345  // int clusCharge=0;
346  // for ( auto cAmp : projHit->originalHit().omniClusterRef().stripCluster().amplitudes() ) clusCharge+=cAmp;
347  // std::cout << "[HLTTrackClusterRemoverNew::process (ProjectedSiStripRecHit2D) chi2: " << chi2 << " [" << subdet << " --> charge: " << clusCharge << "]" << std::endl;
348  } else
349  throw cms::Exception("NOT IMPLEMENTED")
350  << "Don't know how to handle " << hitType.name() << " on detid " << detid.rawId() << "\n";
351  }
352 }

References cms::cuda::assert(), hltPixelTracks_cff::chi2, SiPixelRecHit::cluster(), collectedPixels_, doPixel_, doStrip_, Exception, TrackerGeometry::geomDetSubDetector(), edm::Ref< C, T, F >::id(), GeomDetEnumerators::isTrackerPixel(), edm::Ref< C, T, F >::key(), HLTTrackClusterRemoverNew::ParamBlock::maxSize_, SiStripMatchedRecHit2D::monoClusterRef(), NumberOfParamBlocks, TrackerSingleRecHit::omniClusterRef(), ProjectedSiStripRecHit2D::originalHit(), pblocks_, pixelSourceProdID, DetId::rawId(), SiStripMatchedRecHit2D::stereoClusterRef(), and DetId::subdetId().

Referenced by produce().

◆ produce()

void HLTTrackClusterRemoverNew::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 364 of file HLTTrackClusterRemoverNew.cc.

364  {
365  ProductID pixelOldProdID, stripOldProdID;
366 
368  iSetup.get<TrackerDigiGeometryRecord>().get(tgh);
369 
371  if (doPixel_) {
372  iEvent.getByToken(pixelClusters_, pixelClusters);
374  }
375 
377  if (doStrip_) {
378  iEvent.getByToken(stripClusters_, stripClusters);
380  }
381 
382  //Handle<TrajTrackAssociationCollection> trajectories;
384  iEvent.getByToken(trajectories_, trajectories);
385 
386  if (mergeOld_) {
389  iEvent.getByToken(oldPxlMaskToken_, oldPxlMask);
390  iEvent.getByToken(oldStrMaskToken_, oldStrMask);
391  LogDebug("TrackClusterRemover") << "to merge in, " << oldStrMask->size() << " strp and " << oldPxlMask->size()
392  << " pxl";
393  oldStrMask->copyMaskTo(collectedRegStrips_);
394  oldPxlMask->copyMaskTo(collectedPixels_);
395  collectedRegStrips_.resize(stripClusters->dataSize(), false);
396  } else {
397  collectedRegStrips_.resize(stripClusters->dataSize(), false);
398  collectedPixels_.resize(pixelClusters->dataSize(), false);
399  }
400 
401  //for (TrajTrackAssociationCollection::const_iterator it = trajectories->begin(), ed = trajectories->end(); it != ed; ++it) {
402  // const Trajectory &tj = * it->key;
403 
404  for (std::vector<Trajectory>::const_iterator it = trajectories->begin(), ed = trajectories->end(); it != ed; ++it) {
405  const Trajectory &tj = *it;
406  const std::vector<TrajectoryMeasurement> &tms = tj.measurements();
407 
408  std::vector<TrajectoryMeasurement>::const_iterator itm, endtm;
409  for (itm = tms.begin(), endtm = tms.end(); itm != endtm; ++itm) {
410  const TrackingRecHit *hit = itm->recHit()->hit();
411  if (!hit->isValid())
412  continue;
413  // std::cout<<"process hit"<<std::endl;
414  process(hit, itm->estimate(), tgh.product());
415  }
416  }
417 
418  // std::cout << " => collectedRegStrips_: " << collectedRegStrips_.size() << std::endl;
419  // std::cout << " total strip to skip (before charge check): "<<std::count(collectedRegStrips_.begin(),collectedRegStrips_.end(),true) << std::endl;
420 
421  // checks only cluster already found! creates regression
422  if (doStripChargeCheck_) {
423  // std::cout << "[HLTTrackClusterRemoverNew::produce] doStripChargeCheck_: " << (doStripChargeCheck_ ? "true" : "false") << " stripClusters: " << stripClusters->size() << std::endl;
424 
425  auto const &clusters = stripClusters->data();
426  for (auto const &item : stripClusters->ids()) {
427  if (!item.isValid())
428  continue; // not umpacked
429 
430  DetId detid = item.id;
431  uint32_t subdet = detid.subdetId();
432  if (!pblocks_[subdet - 1].cutOnStripCharge_)
433  continue;
434 
435  // std::cout << " i: " << i << " --> detid: " << detid << " --> subdet: " << subdet << std::endl;
436 
437  for (int i = item.offset; i < item.offset + int(item.size); ++i) {
438  int clusCharge = 0;
439  for (auto cAmp : clusters[i].amplitudes())
440  clusCharge += cAmp;
441 
442  // if (clusCharge < pblocks_[subdet-1].minGoodStripCharge_) std::cout << " clusCharge: " << clusCharge << std::endl;
443  if (clusCharge < pblocks_[subdet - 1].minGoodStripCharge_)
444  collectedRegStrips_[i] = true; // (|= does not work!)
445  }
446  }
447  }
448 
449  // std::cout << " => collectedRegStrips_: " << collectedRegStrips_.size() << std::endl;
450  // std::cout << " total strip to skip: "<<std::count(collectedRegStrips_.begin(),collectedRegStrips_.end(),true) << std::endl;
451  LogDebug("TrackClusterRemover") << "total strip to skip: "
452  << std::count(collectedRegStrips_.begin(), collectedRegStrips_.end(), true);
453  // std::cout << "TrackClusterRemover" <<" total strip to skip: "<<std::count(collectedRegStrips_.begin(),collectedRegStrips_.end(),true)<<std::endl;
454  iEvent.put(std::make_unique<StripMaskContainer>(edm::RefProd<edmNew::DetSetVector<SiStripCluster> >(stripClusters),
456 
457  LogDebug("TrackClusterRemover") << "total pxl to skip: "
458  << std::count(collectedPixels_.begin(), collectedPixels_.end(), true);
459  iEvent.put(std::make_unique<PixelMaskContainer>(edm::RefProd<edmNew::DetSetVector<SiPixelCluster> >(pixelClusters),
461 
462  collectedRegStrips_.clear();
463  collectedPixels_.clear();
464 }

References bsc_activity_cfg::clusters, collectedPixels_, collectedRegStrips_, edm::ContainerMask< T >::copyMaskTo(), submitPVResolutionJobs::count, doPixel_, doStrip_, doStripChargeCheck_, edm::EventSetup::get(), get, mps_fire::i, iEvent, B2GTnPMonitor_cfi::item, LogDebug, Trajectory::measurements(), mergeOld_, oldPxlMaskToken_, oldStrMaskToken_, pblocks_, LumiMonitor_cff::pixelClusters, pixelClusters_, pixelSourceProdID, process(), edm::ESHandle< T >::product(), edm::ContainerMask< T >::size(), HLT_FULL_cff::stripClusters, stripClusters_, stripSourceProdID, DetId::subdetId(), FastTrackerRecHitMaskProducer_cfi::trajectories, and trajectories_.

◆ readPSet()

void HLTTrackClusterRemoverNew::readPSet ( const edm::ParameterSet iConfig,
const std::string &  name,
int  id1 = -1,
int  id2 = -1,
int  id3 = -1,
int  id4 = -1,
int  id5 = -1,
int  id6 = -1 
)
private

Definition at line 112 of file HLTTrackClusterRemoverNew.cc.

113  {
114  if (iConfig.exists(name)) {
115  ParamBlock pblock(iConfig.getParameter<ParameterSet>(name));
116  if (id1 == -1) {
118  } else {
119  pblocks_[id1] = pblock;
120  if (id2 != -1)
121  pblocks_[id2] = pblock;
122  if (id3 != -1)
123  pblocks_[id3] = pblock;
124  if (id4 != -1)
125  pblocks_[id4] = pblock;
126  if (id5 != -1)
127  pblocks_[id5] = pblock;
128  if (id6 != -1)
129  pblocks_[id6] = pblock;
130  }
131  }
132 }

References edm::ParameterSet::exists(), ntuplemaker::fill, edm::ParameterSet::getParameter(), globals_cff::id1, globals_cff::id2, and Skims_PA_cff::name.

Referenced by HLTTrackClusterRemoverNew().

Member Data Documentation

◆ collectedPixels_

std::vector<bool> HLTTrackClusterRemoverNew::collectedPixels_
private

Definition at line 105 of file HLTTrackClusterRemoverNew.cc.

Referenced by process(), and produce().

◆ collectedRegStrips_

std::vector<bool> HLTTrackClusterRemoverNew::collectedRegStrips_
private

Definition at line 104 of file HLTTrackClusterRemoverNew.cc.

Referenced by process(), and produce().

◆ doPixel_

bool HLTTrackClusterRemoverNew::doPixel_
private

Definition at line 66 of file HLTTrackClusterRemoverNew.cc.

Referenced by HLTTrackClusterRemoverNew(), process(), and produce().

◆ doPixelChargeCheck_

bool HLTTrackClusterRemoverNew::doPixelChargeCheck_
private

Definition at line 103 of file HLTTrackClusterRemoverNew.cc.

Referenced by HLTTrackClusterRemoverNew().

◆ doStrip_

bool HLTTrackClusterRemoverNew::doStrip_
private

Definition at line 66 of file HLTTrackClusterRemoverNew.cc.

Referenced by HLTTrackClusterRemoverNew(), process(), and produce().

◆ doStripChargeCheck_

bool HLTTrackClusterRemoverNew::doStripChargeCheck_
private

Definition at line 103 of file HLTTrackClusterRemoverNew.cc.

Referenced by HLTTrackClusterRemoverNew(), and produce().

◆ doTracks_

bool HLTTrackClusterRemoverNew::doTracks_
private

Definition at line 65 of file HLTTrackClusterRemoverNew.cc.

Referenced by HLTTrackClusterRemoverNew().

◆ makeProducts_

bool HLTTrackClusterRemoverNew::makeProducts_
private

Definition at line 102 of file HLTTrackClusterRemoverNew.cc.

◆ mergeOld_

bool HLTTrackClusterRemoverNew::mergeOld_
private

Definition at line 67 of file HLTTrackClusterRemoverNew.cc.

Referenced by HLTTrackClusterRemoverNew(), and produce().

◆ NumberOfParamBlocks

const unsigned int HLTTrackClusterRemoverNew::NumberOfParamBlocks = 6
staticprivate

Definition at line 63 of file HLTTrackClusterRemoverNew.cc.

Referenced by HLTTrackClusterRemoverNew(), and process().

◆ oldPxlMaskToken_

edm::EDGetTokenT<PixelMaskContainer> HLTTrackClusterRemoverNew::oldPxlMaskToken_
private

Definition at line 73 of file HLTTrackClusterRemoverNew.cc.

Referenced by HLTTrackClusterRemoverNew(), and produce().

◆ oldStrMaskToken_

edm::EDGetTokenT<StripMaskContainer> HLTTrackClusterRemoverNew::oldStrMaskToken_
private

Definition at line 74 of file HLTTrackClusterRemoverNew.cc.

Referenced by HLTTrackClusterRemoverNew(), and produce().

◆ pblocks_

ParamBlock HLTTrackClusterRemoverNew::pblocks_[NumberOfParamBlocks]
private

Definition at line 77 of file HLTTrackClusterRemoverNew.cc.

Referenced by HLTTrackClusterRemoverNew(), process(), and produce().

◆ pixelClusters_

edm::EDGetTokenT<edmNew::DetSetVector<SiPixelCluster> > HLTTrackClusterRemoverNew::pixelClusters_
private

Definition at line 71 of file HLTTrackClusterRemoverNew.cc.

Referenced by HLTTrackClusterRemoverNew(), and produce().

◆ pixels

std::vector<uint8_t> HLTTrackClusterRemoverNew::pixels
private

Definition at line 87 of file HLTTrackClusterRemoverNew.cc.

◆ pixelSourceProdID

edm::ProductID HLTTrackClusterRemoverNew::pixelSourceProdID
private

Definition at line 88 of file HLTTrackClusterRemoverNew.cc.

Referenced by process(), and produce().

◆ stripClusters_

edm::EDGetTokenT<edmNew::DetSetVector<SiStripCluster> > HLTTrackClusterRemoverNew::stripClusters_
private

Definition at line 72 of file HLTTrackClusterRemoverNew.cc.

Referenced by HLTTrackClusterRemoverNew(), and produce().

◆ strips

std::vector<uint8_t> HLTTrackClusterRemoverNew::strips
private

Definition at line 87 of file HLTTrackClusterRemoverNew.cc.

◆ stripSourceProdID

edm::ProductID HLTTrackClusterRemoverNew::stripSourceProdID
private

Definition at line 88 of file HLTTrackClusterRemoverNew.cc.

Referenced by process(), and produce().

◆ trajectories_

edm::EDGetTokenT<std::vector<Trajectory> > HLTTrackClusterRemoverNew::trajectories_
private

Definition at line 75 of file HLTTrackClusterRemoverNew.cc.

Referenced by HLTTrackClusterRemoverNew(), and produce().

edm::RefProd
Definition: EDProductfwd.h:25
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
HLTTrackClusterRemoverNew::ParamBlock::maxSize_
size_t maxSize_
Definition: HLTTrackClusterRemoverNew.cc:61
mps_fire.i
i
Definition: mps_fire.py:428
LumiMonitor_cff.pixelClusters
pixelClusters
Definition: LumiMonitor_cff.py:10
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
HLTTrackClusterRemoverNew::readPSet
void readPSet(const edm::ParameterSet &iConfig, const std::string &name, int id1=-1, int id2=-1, int id3=-1, int id4=-1, int id5=-1, int id6=-1)
Definition: HLTTrackClusterRemoverNew.cc:112
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
edmNew::DetSetVector::size
size_type size() const
Definition: DetSetVectorNew.h:554
HLTTrackClusterRemoverNew::oldStrMaskToken_
edm::EDGetTokenT< StripMaskContainer > oldStrMaskToken_
Definition: HLTTrackClusterRemoverNew.cc:74
HLTTrackClusterRemoverNew::pblocks_
ParamBlock pblocks_[NumberOfParamBlocks]
Definition: HLTTrackClusterRemoverNew.cc:77
globals_cff.id1
id1
Definition: globals_cff.py:33
cms::cuda::assert
assert(be >=bs)
HLTTrackClusterRemoverNew::stripSourceProdID
edm::ProductID stripSourceProdID
Definition: HLTTrackClusterRemoverNew.cc:88
edmNew::DetSetVector::begin
const_iterator begin(bool update=false) const
Definition: DetSetVectorNew.h:530
SiStripRecHit2D
Definition: SiStripRecHit2D.h:7
HLTTrackClusterRemoverNew::NumberOfParamBlocks
static const unsigned int NumberOfParamBlocks
Definition: HLTTrackClusterRemoverNew.cc:63
FastTrackerRecHitMaskProducer_cfi.trajectories
trajectories
Definition: FastTrackerRecHitMaskProducer_cfi.py:7
HLTTrackClusterRemoverNew::collectedRegStrips_
std::vector< bool > collectedRegStrips_
Definition: HLTTrackClusterRemoverNew.cc:104
HLTTrackClusterRemoverNew::doTracks_
bool doTracks_
Definition: HLTTrackClusterRemoverNew.cc:65
edm::ParameterSet::existsAs
bool existsAs(std::string const &parameterName, bool trackiness=true) const
checks if a parameter exists as a given type
Definition: ParameterSet.h:171
hltPixelTracks_cff.chi2
chi2
Definition: hltPixelTracks_cff.py:25
HLTTrackClusterRemoverNew::pixelSourceProdID
edm::ProductID pixelSourceProdID
Definition: HLTTrackClusterRemoverNew.cc:88
edm::Handle
Definition: AssociativeIterator.h:50
SiPixelRecHit::cluster
ClusterRef cluster() const
Definition: SiPixelRecHit.h:47
ProjectedSiStripRecHit2D
Definition: ProjectedSiStripRecHit2D.h:8
HLTTrackClusterRemoverNew::trajectories_
edm::EDGetTokenT< std::vector< Trajectory > > trajectories_
Definition: HLTTrackClusterRemoverNew.cc:75
SiPixelRecHit
Our base class.
Definition: SiPixelRecHit.h:23
edm::Ref
Definition: AssociativeIterator.h:58
DetId
Definition: DetId.h:17
HLTTrackClusterRemoverNew::oldPxlMaskToken_
edm::EDGetTokenT< PixelMaskContainer > oldPxlMaskToken_
Definition: HLTTrackClusterRemoverNew.cc:73
HLTTrackClusterRemoverNew::mergeOld_
bool mergeOld_
Definition: HLTTrackClusterRemoverNew.cc:67
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
edm::ESHandle< TrackerGeometry >
edmNew::DetSet
Definition: DetSetNew.h:22
ProjectedSiStripRecHit2D::originalHit
SiStripRecHit2D originalHit() const
Definition: ProjectedSiStripRecHit2D.h:56
HLTTrackClusterRemoverNew::pixelClusters_
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClusters_
Definition: HLTTrackClusterRemoverNew.cc:71
submitPVResolutionJobs.count
count
Definition: submitPVResolutionJobs.py:352
HLTTrackClusterRemoverNew::doStrip_
bool doStrip_
Definition: HLTTrackClusterRemoverNew.cc:66
edmNew::DetSetVector::dataSize
size_type dataSize() const
Definition: DetSetVectorNew.h:552
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
HLTTrackClusterRemoverNew::process
void process(const TrackingRecHit *hit, float chi2, const TrackerGeometry *tg)
Definition: HLTTrackClusterRemoverNew.cc:277
HLT_FULL_cff.stripClusters
stripClusters
Definition: HLT_FULL_cff.py:10080
bsc_activity_cfg.clusters
clusters
Definition: bsc_activity_cfg.py:36
edm::ParameterSet::exists
bool exists(std::string const &parameterName) const
checks if a parameter exists
Definition: ParameterSet.cc:681
ntuplemaker.fill
fill
Definition: ntuplemaker.py:304
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
TrackerGeometry::geomDetSubDetector
const GeomDetEnumerators::SubDetector geomDetSubDetector(int subdet) const
Definition: TrackerGeometry.cc:203
edm::ParameterSet
Definition: ParameterSet.h:47
SiStripMatchedRecHit2D::stereoClusterRef
OmniClusterRef const & stereoClusterRef() const
Definition: SiStripMatchedRecHit2D.h:34
GeomDetEnumerators::isTrackerPixel
bool isTrackerPixel(GeomDetEnumerators::SubDetector m)
Definition: GeomDetEnumerators.cc:68
iEvent
int iEvent
Definition: GenABIO.cc:224
HLTTrackClusterRemoverNew::stripClusters_
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > stripClusters_
Definition: HLTTrackClusterRemoverNew.cc:72
HLTTrackClusterRemoverNew::mergeOld
void mergeOld(reco::ClusterRemovalInfo::Indices &refs, const reco::ClusterRemovalInfo::Indices &oldRefs)
Definition: HLTTrackClusterRemoverNew.cc:210
B2GTnPMonitor_cfi.item
item
Definition: B2GTnPMonitor_cfi.py:147
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
SiStripRecHit1D
Definition: SiStripRecHit1D.h:8
get
#define get
SiStripMatchedRecHit2D::monoClusterRef
OmniClusterRef const & monoClusterRef() const
Definition: SiStripMatchedRecHit2D.h:35
HLTTrackClusterRemoverNew::makeProducts_
bool makeProducts_
Definition: HLTTrackClusterRemoverNew.cc:102
edm::ContainerMask::size
size_t size() const
Definition: ContainerMask.h:53
Trajectory::measurements
DataContainer const & measurements() const
Definition: Trajectory.h:178
TrackingRecHit
Definition: TrackingRecHit.h:21
edmNew::DetSetVector
Definition: DetSetNew.h:13
edm::Ref::id
ProductID id() const
Accessor for product ID.
Definition: Ref.h:244
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
edmNew::DetSetVector::data
data_type const * data(size_t cell) const
Definition: DetSetVectorNew.h:560
SiStripMatchedRecHit2D
Definition: SiStripMatchedRecHit2D.h:8
edm::ContainerMask::copyMaskTo
void copyMaskTo(std::vector< bool > &) const
Definition: ContainerMask.h:87
Trajectory
Definition: Trajectory.h:38
T
long double T
Definition: Basic3DVectorLD.h:48
edmNew::DetSetVector::end
const_iterator end(bool update=false) const
Definition: DetSetVectorNew.h:535
Exception
Definition: hltDiff.cc:246
HLTTrackClusterRemoverNew::collectedPixels_
std::vector< bool > collectedPixels_
Definition: HLTTrackClusterRemoverNew.cc:105
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
HLTTrackClusterRemoverNew::doPixelChargeCheck_
bool doPixelChargeCheck_
Definition: HLTTrackClusterRemoverNew.cc:103
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
edmNew::DetSetVector::FastFiller
Definition: DetSetVectorNew.h:202
edm::Ref::key
key_type key() const
Accessor for product key.
Definition: Ref.h:250
cms::Exception
Definition: Exception.h:70
globals_cff.id2
id2
Definition: globals_cff.py:34
TrackerSingleRecHit::omniClusterRef
OmniClusterRef const & omniClusterRef() const
Definition: TrackerSingleRecHit.h:41
edm::InputTag
Definition: InputTag.h:15
edm::ProductID
Definition: ProductID.h:27
HLTTrackClusterRemoverNew::doPixel_
bool doPixel_
Definition: HLTTrackClusterRemoverNew.cc:66
hit
Definition: SiStripHitEffFromCalibTree.cc:88
HLTTrackClusterRemoverNew::doStripChargeCheck_
bool doStripChargeCheck_
Definition: HLTTrackClusterRemoverNew.cc:103