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 
12 
13 #include <vector>
14 #include <tuple>
15 class DetLayer;
16 
17 namespace edm {
18  template <typename T>
19  class ContainerMask;
20 }
21 
22 namespace ctfseeding {
23 
24  class HitExtractorSTRP final : public HitExtractor {
25  public:
27 
28  HitExtractorSTRP(GeomDetEnumerators::SubDetector subdet, TrackerDetSide side, int idLayer, float iminGoodCharge);
29  ~HitExtractorSTRP() override {}
30 
32  const edm::Event&,
33  const edm::EventSetup&) const override;
34  HitExtractorSTRP* clone() const override { return new HitExtractorSTRP(*this); }
35 
37  hasMatchedHits = true;
39  }
41  hasRPhiHits = true;
43  }
45  hasStereoHits = true;
47  }
48 
50  hasVectorHits = true;
52  }
53  void useRingSelector(int minRing, int maxRing);
55 
57  const edm::Event& ev,
59  bool matched,
60  unsigned int cleanFrom = 0) const;
61 
62  std::pair<bool, ProjectedSiStripRecHit2D*> skipThis(
63  const TkTransientTrackingRecHitBuilder& ttrhBuilder,
66 
67  bool skipThis(DetId id,
68  OmniClusterRef const& clus,
70 
71  void setNoProjection() { failProjection = true; }
72  void setMinAbsZ(double minZToSet) { minAbsZ = minZToSet; }
73 
74  bool useRingSelector() const { return hasRingSelector; }
75  std::tuple<int, int> getMinMaxRing() const { return std::make_tuple(theMinRing, theMaxRing); }
76 
77  private:
78  bool ringRange(int ring) const;
79 
82  void useSkipClusters_(const edm::InputTag& m, edm::ConsumesCollector& iC) override;
83 
84  private:
88  double minAbsZ;
103  };
104 
105 } // namespace ctfseeding
106 #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
HLT_FULL_cff.maxRing
maxRing
Definition: HLT_FULL_cff.py:46711
ctfseeding::HitExtractorSTRP::hasMatchedHits
bool hasMatchedHits
Definition: HitExtractorSTRP.h:96
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:79
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:185
ctfseeding::HitExtractorSTRP::setNoProjection
void setNoProjection()
Definition: HitExtractorSTRP.h:71
ctfseeding::HitExtractorSTRP::getMinMaxRing
std::tuple< int, int > getMinMaxRing() const
Definition: HitExtractorSTRP.h:75
ctfseeding::HitExtractorSTRP::failProjection
bool failProjection
Definition: HitExtractorSTRP.h:102
ctfseeding::HitExtractorSTRP::SiStripClusterRef
SiStripRecHit2D::ClusterRef SiStripClusterRef
Definition: HitExtractorSTRP.h:26
ctfseeding::HitExtractorSTRP::theRPhiHits
edm::EDGetTokenT< SiStripRecHit2DCollection > theRPhiHits
Definition: HitExtractorSTRP.h:93
edm::ContainerMask
Definition: ContainerMask.h:36
ctfseeding::HitExtractorSTRP::clone
HitExtractorSTRP * clone() const override
Definition: HitExtractorSTRP.h:34
ctfseeding::HitExtractorSTRP::theStereoHits
edm::EDGetTokenT< SiStripRecHit2DCollection > theStereoHits
Definition: HitExtractorSTRP.h:94
ctfseeding::HitExtractorSTRP::theIdLayer
int theIdLayer
Definition: HitExtractorSTRP.h:87
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:40
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:72
DetId
Definition: DetId.h:17
ctfseeding::HitExtractorSTRP::hasRingSelector
bool hasRingSelector
Definition: HitExtractorSTRP.h:100
ctfseeding::HitExtractorSTRP::useVectorHits
void useVectorHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition: HitExtractorSTRP.h:49
ctfseeding::HitExtractorSTRP::hasVectorHits
bool hasVectorHits
Definition: HitExtractorSTRP.h:99
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:79
TrackerDetSide
TrackerDetSide
Definition: TrackerDetSide.h:4
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: ConsumesCollector.h:55
ctfseeding::HitExtractorSTRP::ringRange
bool ringRange(int ring) const
Definition: HitExtractorSTRP.cc:61
ctfseeding::HitExtractorSTRP::hasSimpleRphiHitsCleaner
bool hasSimpleRphiHitsCleaner
Definition: HitExtractorSTRP.h:101
ctfseeding::HitExtractorSTRP::useSkipClusters_
void useSkipClusters_(const edm::InputTag &m, edm::ConsumesCollector &iC) override
Definition: HitExtractorSTRP.cc:50
ctfseeding::HitExtractorSTRP
Definition: HitExtractorSTRP.h:24
ctfseeding::HitExtractorSTRP::useSimpleRphiHitsCleaner
void useSimpleRphiHitsCleaner(bool use)
Definition: HitExtractorSTRP.h:54
ctfseeding::HitExtractorSTRP::hasStereoHits
bool hasStereoHits
Definition: HitExtractorSTRP.h:98
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:89
ctfseeding::HitExtractorSTRP::theSide
TrackerDetSide theSide
Definition: HitExtractorSTRP.h:86
HitExtractor.h
SiStripRecHit2DCollection.h
ctfseeding::HitExtractorSTRP::useMatchedHits
void useMatchedHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition: HitExtractorSTRP.h:36
TrackerDetSide.h
edm::EventSetup
Definition: EventSetup.h:58
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:116
ctfseeding::HitExtractorSTRP::theLayerSubDet
const GeomDetEnumerators::SubDetector theLayerSubDet
Definition: HitExtractorSTRP.h:85
ctfseeding::HitExtractorSTRP::~HitExtractorSTRP
~HitExtractorSTRP() override
Definition: HitExtractorSTRP.h:29
ctfseeding::HitExtractorSTRP::SkipClustersCollection
edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > SkipClustersCollection
Definition: HitExtractorSTRP.h:80
ctfseeding::HitExtractor::Hits
std::vector< HitPointer > Hits
Definition: HitExtractor.h:28
ctfseeding::HitExtractorSTRP::useRingSelector
bool useRingSelector() const
Definition: HitExtractorSTRP.h:74
InputTag.h
edmNew::DetSetVector
Definition: DetSetNew.h:13
ctfseeding::HitExtractorSTRP::minAbsZ
double minAbsZ
Definition: HitExtractorSTRP.h:88
ev
bool ev
Definition: Hydjet2Hadronizer.cc:97
relativeConstraints.ring
ring
Definition: relativeConstraints.py:68
ctfseeding::HitExtractorSTRP::useStereoHits
void useStereoHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition: HitExtractorSTRP.h:44
ctfseeding::HitExtractorSTRP::theSkipPhase2Clusters
edm::EDGetTokenT< SkipPhase2ClustersCollection > theSkipPhase2Clusters
Definition: HitExtractorSTRP.h:91
ctfseeding::HitExtractorSTRP::theSkipClusters
edm::EDGetTokenT< SkipClustersCollection > theSkipClusters
Definition: HitExtractorSTRP.h:90
ContainerMask
ctfseeding::HitExtractorSTRP::theMinRing
int theMinRing
Definition: HitExtractorSTRP.h:89
ctfseeding::HitExtractorSTRP::theVectorHits
edm::EDGetTokenT< VectorHitCollection > theVectorHits
Definition: HitExtractorSTRP.h:95
edm::Event
Definition: Event.h:73
SiStripRecHit2D.h
edm::InputTag
Definition: InputTag.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
ctfseeding::HitExtractorSTRP::theMatchedHits
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > theMatchedHits
Definition: HitExtractorSTRP.h:92
VectorHit.h
HLT_FULL_cff.minRing
minRing
Definition: HLT_FULL_cff.py:46708
ctfseeding::HitExtractorSTRP::hasRPhiHits
bool hasRPhiHits
Definition: HitExtractorSTRP.h:97
ctfseeding::HitExtractorSTRP::SkipPhase2ClustersCollection
edm::ContainerMask< Phase2TrackerCluster1DCollectionNew > SkipPhase2ClustersCollection
Definition: HitExtractorSTRP.h:81