CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
9 
10 #include <vector>
11 class DetLayer;
12 
13 namespace edm {
14  template< typename T> class ContainerMask;
15 }
16 
17 namespace ctfseeding {
18 
20 
21 public:
23 
24  HitExtractorSTRP( const DetLayer* detLayer, SeedingLayer::Side & side, int idLayer);
25  virtual ~HitExtractorSTRP(){}
26 
27  virtual HitExtractor::Hits hits( const SeedingLayer & sl, const edm::Event& , const edm::EventSetup& ) const;
28  virtual HitExtractorSTRP * clone() const { return new HitExtractorSTRP(*this); }
29 
31  void useRPhiHits( const edm::InputTag & m) { hasRPhiHits = true; theRPhiHits = m; }
32  void useStereoHits( const edm::InputTag & m) { hasStereoHits = true; theStereoHits = m; }
33  void useRingSelector(int minRing, int maxRing);
35 
36  void cleanedOfClusters( const edm::Event& ev, HitExtractor::Hits & hits, bool matched, unsigned int cleanFrom=0) const;
37 
40 
41  bool skipThis(OmniClusterRef const& clus, edm::Handle<edm::ContainerMask<edmNew::DetSetVector<SiStripCluster> > > & stripClusterMask) const;
42 
44  const SiStripRecHit2D * hit,
46  void setNoProjection() const {failProjection=true;};
47 private:
48  bool ringRange(int ring) const;
49 private:
50  const DetLayer * theLayer;
52  mutable const SeedingLayer * theSLayer;
59  mutable bool failProjection;
60 };
61 
62 }
63 #endif
HitExtractorSTRP(const DetLayer *detLayer, SeedingLayer::Side &side, int idLayer)
void useMatchedHits(const edm::InputTag &m)
bool ringRange(int ring) const
void useRPhiHits(const edm::InputTag &m)
virtual HitExtractor::Hits hits(const SeedingLayer &sl, const edm::Event &, const edm::EventSetup &) const
const SeedingLayer * theSLayer
void useRingSelector(int minRing, int maxRing)
void cleanedOfClusters(const edm::Event &ev, HitExtractor::Hits &hits, bool matched, unsigned int cleanFrom=0) const
virtual HitExtractorSTRP * clone() const
void useSimpleRphiHitsCleaner(bool use)
void project(TransientTrackingRecHit::ConstRecHitPointer &ptr, const SiStripRecHit2D *hit, TransientTrackingRecHit::ConstRecHitPointer &replaceMe) const
bool skipThis(TransientTrackingRecHit::ConstRecHitPointer &ptr, edm::Handle< edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > > &stripClusterMask, TransientTrackingRecHit::ConstRecHitPointer &replaceMe) const
SiStripRecHit2D::ClusterRef SiStripClusterRef
void useStereoHits(const edm::InputTag &m)
std::vector< TransientTrackingRecHit::ConstRecHitPointer > Hits
Definition: HitExtractor.h:16