CMS 3D CMS Logo

HitExtractorSTRP.h
Go to the documentation of this file.
1 #ifndef RecoTracker_TkSeedingLayers_HitExtractorSTRP_H
2 #define RecoTracker_TkSeedingLayers_HitExtractorSTRP_H
3 
6 #include "HitExtractor.h"
7 
11 
12 #include <vector>
13 #include <tuple>
14 class DetLayer;
15 
16 namespace edm {
17  template <typename T>
18  class ContainerMask;
19 }
20 
21 namespace ctfseeding {
22 
23  class HitExtractorSTRP final : public HitExtractor {
24  public:
26 
27  HitExtractorSTRP(GeomDetEnumerators::SubDetector subdet, TrackerDetSide side, int idLayer, float iminGoodCharge);
28  ~HitExtractorSTRP() override {}
29 
31  const edm::Event&,
32  const edm::EventSetup&) const override;
33  HitExtractorSTRP* clone() const override { return new HitExtractorSTRP(*this); }
34 
36  hasMatchedHits = true;
38  }
40  hasRPhiHits = true;
42  }
44  hasStereoHits = true;
46  }
47  void useRingSelector(int minRing, int maxRing);
49 
51  const edm::Event& ev,
53  bool matched,
54  unsigned int cleanFrom = 0) const;
55 
56  std::pair<bool, ProjectedSiStripRecHit2D*> skipThis(
57  const TkTransientTrackingRecHitBuilder& ttrhBuilder,
60 
61  bool skipThis(DetId id,
62  OmniClusterRef const& clus,
64 
65  void setNoProjection() { failProjection = true; }
66  void setMinAbsZ(double minZToSet) { minAbsZ = minZToSet; }
67 
68  bool useRingSelector() const { return hasRingSelector; }
69  std::tuple<int, int> getMinMaxRing() const { return std::make_tuple(theMinRing, theMaxRing); }
70 
71  private:
72  bool ringRange(int ring) const;
73 
75  void useSkipClusters_(const edm::InputTag& m, edm::ConsumesCollector& iC) override;
76 
77  private:
81  double minAbsZ;
93  };
94 
95 } // namespace ctfseeding
96 #endif
muonTagProbeFilters_cff.matched
matched
Definition: muonTagProbeFilters_cff.py:62
GeomDetEnumerators::SubDetector
SubDetector
Definition: GeomDetEnumerators.h:10
ctfseeding::HitExtractor::TkHitRef
BaseTrackerRecHit const & TkHitRef
Definition: HitExtractor.h:26
ctfseeding::HitExtractorSTRP::hasMatchedHits
bool hasMatchedHits
Definition: HitExtractorSTRP.h:87
ctfseeding::HitExtractorSTRP::skipThis
std::pair< bool, ProjectedSiStripRecHit2D * > skipThis(const TkTransientTrackingRecHitBuilder &ttrhBuilder, TkHitRef matched, edm::Handle< edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > > &stripClusterMask) const
Definition: HitExtractorSTRP.cc:77
DetLayer
Definition: DetLayer.h:21
SiStripMatchedRecHit2DCollection.h
edm::EDGetTokenT
Definition: EDGetToken.h:33
edm
HLT enums.
Definition: AlignableModifier.h:19
ctfseeding::HitExtractorSTRP::hits
HitExtractor::Hits hits(const TkTransientTrackingRecHitBuilder &ttrhBuilder, const edm::Event &, const edm::EventSetup &) const override
Definition: HitExtractorSTRP.cc:159
ctfseeding::HitExtractorSTRP::setNoProjection
void setNoProjection()
Definition: HitExtractorSTRP.h:65
ctfseeding::HitExtractorSTRP::getMinMaxRing
std::tuple< int, int > getMinMaxRing() const
Definition: HitExtractorSTRP.h:69
ctfseeding::HitExtractorSTRP::failProjection
bool failProjection
Definition: HitExtractorSTRP.h:92
ctfseeding::HitExtractorSTRP::SiStripClusterRef
SiStripRecHit2D::ClusterRef SiStripClusterRef
Definition: HitExtractorSTRP.h:25
ctfseeding::HitExtractorSTRP::theRPhiHits
edm::EDGetTokenT< SiStripRecHit2DCollection > theRPhiHits
Definition: HitExtractorSTRP.h:85
edm::ContainerMask
Definition: ContainerMask.h:36
ctfseeding::HitExtractorSTRP::clone
HitExtractorSTRP * clone() const override
Definition: HitExtractorSTRP.h:33
ctfseeding::HitExtractorSTRP::theStereoHits
edm::EDGetTokenT< SiStripRecHit2DCollection > theStereoHits
Definition: HitExtractorSTRP.h:86
ctfseeding::HitExtractorSTRP::theIdLayer
int theIdLayer
Definition: HitExtractorSTRP.h:80
HLT_2018_cff.minRing
minRing
Definition: HLT_2018_cff.py:44933
edm::Handle
Definition: AssociativeIterator.h:50
OmniClusterRef
Definition: OmniClusterRef.h:12
ctfseeding::HitExtractorSTRP::useRPhiHits
void useRPhiHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition: HitExtractorSTRP.h:39
ctfseeding::HitExtractor
Definition: HitExtractor.h:23
edm::Ref
Definition: AssociativeIterator.h:58
TkTransientTrackingRecHitBuilder
Definition: TkTransientTrackingRecHitBuilder.h:15
ctfseeding::HitExtractorSTRP::setMinAbsZ
void setMinAbsZ(double minZToSet)
Definition: HitExtractorSTRP.h:66
DetId
Definition: DetId.h:17
ctfseeding::HitExtractorSTRP::hasRingSelector
bool hasRingSelector
Definition: HitExtractorSTRP.h:90
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
TrackerDetSide
TrackerDetSide
Definition: TrackerDetSide.h:4
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: ConsumesCollector.h:49
ctfseeding::HitExtractorSTRP::ringRange
bool ringRange(int ring) const
Definition: HitExtractorSTRP.cc:59
ctfseeding::HitExtractorSTRP::hasSimpleRphiHitsCleaner
bool hasSimpleRphiHitsCleaner
Definition: HitExtractorSTRP.h:91
ctfseeding::HitExtractorSTRP::useSkipClusters_
void useSkipClusters_(const edm::InputTag &m, edm::ConsumesCollector &iC) override
Definition: HitExtractorSTRP.cc:49
ctfseeding::HitExtractorSTRP
Definition: HitExtractorSTRP.h:23
ctfseeding::HitExtractorSTRP::useSimpleRphiHitsCleaner
void useSimpleRphiHitsCleaner(bool use)
Definition: HitExtractorSTRP.h:48
ctfseeding::HitExtractorSTRP::hasStereoHits
bool hasStereoHits
Definition: HitExtractorSTRP.h:89
ctfseeding::HitExtractorSTRP::HitExtractorSTRP
HitExtractorSTRP(GeomDetEnumerators::SubDetector subdet, TrackerDetSide side, int idLayer, float iminGoodCharge)
Definition: HitExtractorSTRP.cc:29
ctfseeding::HitExtractorSTRP::theMaxRing
int theMaxRing
Definition: HitExtractorSTRP.h:82
ctfseeding::HitExtractorSTRP::theSide
TrackerDetSide theSide
Definition: HitExtractorSTRP.h:79
HitExtractor.h
SiStripRecHit2DCollection.h
ctfseeding::HitExtractorSTRP::useMatchedHits
void useMatchedHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition: HitExtractorSTRP.h:35
TrackerDetSide.h
edm::EventSetup
Definition: EventSetup.h:57
ctfseeding
Definition: SeedingLayerSetsBuilder.h:23
ctfseeding::HitExtractorSTRP::cleanedOfClusters
void cleanedOfClusters(const TkTransientTrackingRecHitBuilder &ttrhBuilder, const edm::Event &ev, HitExtractor::Hits &hits, bool matched, unsigned int cleanFrom=0) const
Definition: HitExtractorSTRP.cc:114
ctfseeding::HitExtractorSTRP::theLayerSubDet
const GeomDetEnumerators::SubDetector theLayerSubDet
Definition: HitExtractorSTRP.h:78
ctfseeding::HitExtractorSTRP::~HitExtractorSTRP
~HitExtractorSTRP() override
Definition: HitExtractorSTRP.h:28
ctfseeding::HitExtractorSTRP::SkipClustersCollection
edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > SkipClustersCollection
Definition: HitExtractorSTRP.h:74
ctfseeding::HitExtractor::Hits
std::vector< HitPointer > Hits
Definition: HitExtractor.h:28
ctfseeding::HitExtractorSTRP::useRingSelector
bool useRingSelector() const
Definition: HitExtractorSTRP.h:68
InputTag.h
edmNew::DetSetVector
Definition: DetSetNew.h:13
HLT_2018_cff.maxRing
maxRing
Definition: HLT_2018_cff.py:44936
ctfseeding::HitExtractorSTRP::minAbsZ
double minAbsZ
Definition: HitExtractorSTRP.h:81
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
relativeConstraints.ring
ring
Definition: relativeConstraints.py:68
ctfseeding::HitExtractorSTRP::useStereoHits
void useStereoHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition: HitExtractorSTRP.h:43
ctfseeding::HitExtractorSTRP::theSkipClusters
edm::EDGetTokenT< SkipClustersCollection > theSkipClusters
Definition: HitExtractorSTRP.h:83
ContainerMask
ctfseeding::HitExtractorSTRP::theMinRing
int theMinRing
Definition: HitExtractorSTRP.h:82
edm::Event
Definition: Event.h:73
SiStripRecHit2D.h
edm::InputTag
Definition: InputTag.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:39
ctfseeding::HitExtractorSTRP::theMatchedHits
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > theMatchedHits
Definition: HitExtractorSTRP.h:84
ctfseeding::HitExtractorSTRP::hasRPhiHits
bool hasRPhiHits
Definition: HitExtractorSTRP.h:88