CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
ctfseeding::HitExtractorSTRP Class Reference

#include <HitExtractorSTRP.h>

Inheritance diagram for ctfseeding::HitExtractorSTRP:
ctfseeding::HitExtractor

Public Types

typedef SiStripRecHit2D::ClusterRef SiStripClusterRef
 
- Public Types inherited from ctfseeding::HitExtractor
typedef std::vector
< TransientTrackingRecHit::ConstRecHitPointer
Hits
 

Public Member Functions

void cleanedOfClusters (const edm::Event &ev, HitExtractor::Hits &hits, bool matched, unsigned int cleanFrom=0) const
 
virtual HitExtractorSTRPclone () const
 
 HitExtractorSTRP (const DetLayer *detLayer, SeedingLayer::Side &side, int idLayer)
 
virtual HitExtractor::Hits hits (const SeedingLayer &sl, const edm::Event &, const edm::EventSetup &) const
 
void project (TransientTrackingRecHit::ConstRecHitPointer &ptr, const SiStripRecHit2D *hit, TransientTrackingRecHit::ConstRecHitPointer &replaceMe) const
 
void setMinAbsZ (double minZToSet)
 
void setNoProjection () const
 
bool skipThis (TransientTrackingRecHit::ConstRecHitPointer &ptr, edm::Handle< edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > > &stripClusterMask, TransientTrackingRecHit::ConstRecHitPointer &replaceMe) const
 
bool skipThis (OmniClusterRef const &clus, edm::Handle< edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > > &stripClusterMask) const
 
void useMatchedHits (const edm::InputTag &m)
 
void useRingSelector (int minRing, int maxRing)
 
void useRPhiHits (const edm::InputTag &m)
 
void useSimpleRphiHitsCleaner (bool use)
 
void useStereoHits (const edm::InputTag &m)
 
virtual ~HitExtractorSTRP ()
 
- Public Member Functions inherited from ctfseeding::HitExtractor
 HitExtractor ()
 
void useSkipClusters (const edm::InputTag &m)
 
virtual ~HitExtractor ()
 

Private Member Functions

bool ringRange (int ring) const
 

Private Attributes

bool failProjection
 
bool hasMatchedHits
 
bool hasRingSelector
 
bool hasRPhiHits
 
bool hasSimpleRphiHitsCleaner
 
bool hasStereoHits
 
double minAbsZ
 
int theIdLayer
 
const DetLayertheLayer
 
edm::InputTag theMatchedHits
 
int theMaxRing
 
int theMinRing
 
edm::InputTag theRPhiHits
 
SeedingLayer::Side theSide
 
const SeedingLayertheSLayer
 
edm::InputTag theStereoHits
 

Additional Inherited Members

- Public Attributes inherited from ctfseeding::HitExtractor
bool skipClusters
 
edm::InputTag theSkipClusters
 

Detailed Description

Definition at line 19 of file HitExtractorSTRP.h.

Member Typedef Documentation

typedef SiStripRecHit2D::ClusterRef ctfseeding::HitExtractorSTRP::SiStripClusterRef

Definition at line 22 of file HitExtractorSTRP.h.

Constructor & Destructor Documentation

HitExtractorSTRP::HitExtractorSTRP ( const DetLayer detLayer,
SeedingLayer::Side side,
int  idLayer 
)
virtual ctfseeding::HitExtractorSTRP::~HitExtractorSTRP ( )
inlinevirtual

Definition at line 25 of file HitExtractorSTRP.h.

25 {}

Member Function Documentation

void HitExtractorSTRP::cleanedOfClusters ( const edm::Event ev,
HitExtractor::Hits hits,
bool  matched,
unsigned int  cleanFrom = 0 
) const

Definition at line 96 of file HitExtractorSTRP.cc.

References edm::Event::getByLabel(), LogDebug, skipThis(), and ctfseeding::HitExtractor::theSkipClusters.

Referenced by hits().

98  {
99  LogDebug("HitExtractorPIX")<<"getting: "<<hits.size()<<" in input.";
101  ev.getByLabel(theSkipClusters,stripClusterMask);
102  HitExtractor::Hits newHits;
103  unsigned int skipped=0;
104  unsigned int projected=0;
105  newHits.reserve(hits.size());
107  for (unsigned int iH=0;iH<hits.size();++iH){
108  if (!hits[iH]->isValid()) continue;
109  replaceMe=hits[iH];
110  if (iH<cleanFrom) {
111  newHits.push_back(replaceMe);
112  continue;
113  }
114  if (matched && skipThis(hits[iH],stripClusterMask,replaceMe)){
115  LogDebug("HitExtractorSTRP")<<"skipping a matched hit on :"<<hits[iH]->hit()->geographicalId().rawId();
116  skipped++;
117  continue;
118  }
119  if (!matched && skipThis( ((TrackerSingleRecHit const *)(hits[iH]->hit()))->omniClusterRef(),stripClusterMask)){
120  LogDebug("HitExtractorSTRP")<<"skipping a hit on :"<<hits[iH]->hit()->geographicalId().rawId()<<" key: ";
121  skipped++;
122  continue;
123  }
124  if (replaceMe!=hits[iH]) projected++;
125  newHits.push_back(replaceMe);
126  }
127  LogDebug("HitExtractorPIX")<<"skipped :"<<skipped<<" strip rechits because of clusters and projected: "<<projected;
128  hits.swap(newHits);
129 }
#define LogDebug(id)
virtual HitExtractor::Hits hits(const SeedingLayer &sl, const edm::Event &, const edm::EventSetup &) const
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:390
bool skipThis(TransientTrackingRecHit::ConstRecHitPointer &ptr, edm::Handle< edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > > &stripClusterMask, TransientTrackingRecHit::ConstRecHitPointer &replaceMe) const
edm::InputTag theSkipClusters
Definition: HitExtractor.h:28
std::vector< TransientTrackingRecHit::ConstRecHitPointer > Hits
Definition: HitExtractor.h:16
virtual HitExtractorSTRP* ctfseeding::HitExtractorSTRP::clone ( void  ) const
inlinevirtual

Definition at line 28 of file HitExtractorSTRP.h.

References HitExtractorSTRP().

Referenced by SeedingLayerSetsBuilder::layers().

28 { return new HitExtractorSTRP(*this); }
HitExtractorSTRP(const DetLayer *detLayer, SeedingLayer::Side &side, int idLayer)
HitExtractor::Hits HitExtractorSTRP::hits ( const SeedingLayer sl,
const edm::Event ev,
const edm::EventSetup es 
) const
virtual

Implements ctfseeding::HitExtractor.

Definition at line 131 of file HitExtractorSTRP.cc.

References TransientTrackingRecHitBuilder::build(), cleanedOfClusters(), end, edm::Event::getByLabel(), hasMatchedHits, hasRPhiHits, hasSimpleRphiHitsCleaner, hasStereoHits, ctfseeding::SeedingLayer::hitBuilder(), LogDebug, minAbsZ, ctfseeding::range2SeedingHits(), query::result, relativeConstraints::ring, ringRange(), ctfseeding::HitExtractor::skipClusters, TrackerLayerIdAccessor::stripTECDisk(), TrackerLayerIdAccessor::stripTIBLayer(), TrackerLayerIdAccessor::stripTIDDisk(), TrackerLayerIdAccessor::stripTOBLayer(), DetLayer::subDetector(), GeomDetEnumerators::TEC, theIdLayer, theLayer, theMatchedHits, theRPhiHits, theSide, theSLayer, theStereoHits, GeomDetEnumerators::TIB, GeomDetEnumerators::TID, and GeomDetEnumerators::TOB.

132 {
134  TrackerLayerIdAccessor accessor;
135  theSLayer=&sl;
136  unsigned int cleanFrom=0;
137  //
138  // TIB
139  //
141  if (hasMatchedHits) {
143  ev.getByLabel( theMatchedHits, matchedHits);
144  if (skipClusters) cleanFrom=result.size();
145  range2SeedingHits( *matchedHits, result, accessor.stripTIBLayer(theIdLayer), sl, es);
146  if (skipClusters) cleanedOfClusters(ev,result,true,cleanFrom);
147  }
148  if (hasRPhiHits) {
150  ev.getByLabel( theRPhiHits, rphiHits);
151  if (hasMatchedHits){
152  if (!hasSimpleRphiHitsCleaner){ // this is a brutal "cleaning". Add something smarter in the future
153  if (skipClusters) cleanFrom=result.size();
154  range2SeedingHits( *rphiHits, result, accessor.stripTIBLayer(theIdLayer), sl, es);
155  if (skipClusters) cleanedOfClusters(ev,result,false,cleanFrom);
156  }
157  } else {
158  if (skipClusters) cleanFrom=result.size();
159  range2SeedingHits( *rphiHits, result, accessor.stripTIBLayer(theIdLayer), sl, es);
160  if (skipClusters) cleanedOfClusters(ev,result,false,cleanFrom);
161  }
162  }
163  if (hasStereoHits) {
165  ev.getByLabel( theStereoHits, stereoHits);
166  if (skipClusters) cleanFrom=result.size();
167  range2SeedingHits( *stereoHits, result, accessor.stripTIBLayer(theIdLayer), sl, es);
168  if (skipClusters) cleanedOfClusters(ev,result,false,cleanFrom);
169  }
170  }
171 
172  //
173  // TID
174  //
176  if (hasMatchedHits) {
178  ev.getByLabel( theMatchedHits, matchedHits);
179  if (skipClusters) cleanFrom=result.size();
180  std::pair<DetId,DetIdTIDSameDiskComparator> getter = accessor.stripTIDDisk(theSide,theIdLayer);
181  SiStripMatchedRecHit2DCollection::Range range = matchedHits->equal_range(getter.first, getter.second);
182  for (SiStripMatchedRecHit2DCollection::const_iterator it = range.first; it != range.second; ++it) {
183  int ring = TIDDetId( it->detId() ).ring(); if (!ringRange(ring)) continue;
184  for (SiStripMatchedRecHit2DCollection::DetSet::const_iterator hit = it->begin(), end = it->end(); hit != end; ++hit) {
185  result.push_back( sl.hitBuilder()->build(hit) );
186  }
187  }
188  if (skipClusters) cleanedOfClusters(ev,result,true,cleanFrom);
189  }
190  if (hasRPhiHits) {
192  ev.getByLabel( theRPhiHits, rphiHits);
193  if (skipClusters) cleanFrom=result.size();
194  std::pair<DetId,DetIdTIDSameDiskComparator> getter = accessor.stripTIDDisk(theSide,theIdLayer);
195  SiStripRecHit2DCollection::Range range = rphiHits->equal_range(getter.first, getter.second);
196  for (SiStripRecHit2DCollection::const_iterator it = range.first; it != range.second; ++it) {
197  int ring = TIDDetId( it->detId() ).ring(); if (!ringRange(ring)) continue;
198  if ((SiStripDetId(it->detId()).partnerDetId() != 0) && hasSimpleRphiHitsCleaner) continue; // this is a brutal "cleaning". Add something smarter in the future
199  for (SiStripRecHit2DCollection::DetSet::const_iterator hit = it->begin(), end = it->end(); hit != end; ++hit) {
200  result.push_back( sl.hitBuilder()->build(hit) );
201  }
202  }
203  if (skipClusters) cleanedOfClusters(ev,result,false,cleanFrom);
204  }
205  if (hasStereoHits) {
207  ev.getByLabel( theStereoHits, stereoHits);
208  if (skipClusters) cleanFrom=result.size();
209  std::pair<DetId,DetIdTIDSameDiskComparator> getter = accessor.stripTIDDisk(theSide,theIdLayer);
210  SiStripRecHit2DCollection::Range range = stereoHits->equal_range(getter.first, getter.second);
211  for (SiStripRecHit2DCollection::const_iterator it = range.first; it != range.second; ++it) {
212  int ring = TIDDetId( it->detId() ).ring(); if (!ringRange(ring)) continue;
213  for (SiStripRecHit2DCollection::DetSet::const_iterator hit = it->begin(), end = it->end(); hit != end; ++hit) {
214  result.push_back( sl.hitBuilder()->build(hit) );
215  }
216  }
217  if (skipClusters) cleanedOfClusters(ev,result,false,cleanFrom);
218  }
219  }
220  //
221  // TOB
222  //
224  if (hasMatchedHits) {
226  ev.getByLabel( theMatchedHits, matchedHits);
227  if (skipClusters) cleanFrom=result.size();
228  if (minAbsZ>0.) {
229  std::pair<DetId,DetIdTOBSameLayerComparator> getter = accessor.stripTOBLayer(theIdLayer);
230  SiStripMatchedRecHit2DCollection::Range range = matchedHits->equal_range(getter.first, getter.second);
231  for (SiStripMatchedRecHit2DCollection::const_iterator it = range.first; it != range.second; ++it) {
232  for (SiStripMatchedRecHit2DCollection::DetSet::const_iterator hit = it->begin(), end = it->end(); hit != end; ++hit) {
234  if (fabs(ttrh->globalPosition().z())>=minAbsZ) result.push_back( ttrh );
235  }
236  }
237  } else {
238  range2SeedingHits( *matchedHits, result, accessor.stripTOBLayer(theIdLayer), sl, es);
239  }
240  if (skipClusters) cleanedOfClusters(ev,result,true,cleanFrom);
241  }
242  if (hasRPhiHits) {
244  ev.getByLabel( theRPhiHits, rphiHits);
245  if (hasMatchedHits){
246  if (!hasSimpleRphiHitsCleaner){ // this is a brutal "cleaning". Add something smarter in the future
247  if (skipClusters) cleanFrom=result.size();
248  range2SeedingHits( *rphiHits, result, accessor.stripTOBLayer(theIdLayer), sl, es);
249  if (skipClusters) cleanedOfClusters(ev,result,false,cleanFrom);
250  }
251  } else {
252  if (skipClusters) cleanFrom=result.size();
253  range2SeedingHits( *rphiHits, result, accessor.stripTOBLayer(theIdLayer), sl, es);
254  if (skipClusters) cleanedOfClusters(ev,result,false,cleanFrom);
255  }
256  }
257  if (hasStereoHits) {
259  ev.getByLabel( theStereoHits, stereoHits);
260  if (skipClusters) cleanFrom=result.size();
261  range2SeedingHits( *stereoHits, result, accessor.stripTOBLayer(theIdLayer), sl, es);
262  if (skipClusters) cleanedOfClusters(ev,result,false,cleanFrom);
263  }
264  }
265 
266  //
267  // TEC
268  //
270  if (hasMatchedHits) {
272  ev.getByLabel( theMatchedHits, matchedHits);
273  if (skipClusters) cleanFrom=result.size();
274  std::pair<DetId,DetIdTECSameDiskComparator> getter = accessor.stripTECDisk(theSide,theIdLayer);
275  SiStripMatchedRecHit2DCollection::Range range = matchedHits->equal_range(getter.first, getter.second);
276  for (SiStripMatchedRecHit2DCollection::const_iterator it = range.first; it != range.second; ++it) {
277  int ring = TECDetId( it->detId() ).ring(); if (!ringRange(ring)) continue;
278  for (SiStripMatchedRecHit2DCollection::DetSet::const_iterator hit = it->begin(), end = it->end(); hit != end; ++hit) {
279  result.push_back( sl.hitBuilder()->build(hit) );
280  }
281  }
282  if (skipClusters) cleanedOfClusters(ev,result,true,cleanFrom);
283  }
284  if (hasRPhiHits) {
286  ev.getByLabel( theRPhiHits, rphiHits);
287  if (skipClusters) cleanFrom=result.size();
288  std::pair<DetId,DetIdTECSameDiskComparator> getter = accessor.stripTECDisk(theSide,theIdLayer);
289  SiStripRecHit2DCollection::Range range = rphiHits->equal_range(getter.first, getter.second);
290  for (SiStripRecHit2DCollection::const_iterator it = range.first; it != range.second; ++it) {
291  int ring = TECDetId( it->detId() ).ring(); if (!ringRange(ring)) continue;
292  if ((SiStripDetId(it->detId()).partnerDetId() != 0) && hasSimpleRphiHitsCleaner) continue; // this is a brutal "cleaning". Add something smarter in the future
293  for (SiStripRecHit2DCollection::DetSet::const_iterator hit = it->begin(), end = it->end(); hit != end; ++hit) {
294  result.push_back( sl.hitBuilder()->build(hit) );
295  }
296  }
297  if (skipClusters) cleanedOfClusters(ev,result,false,cleanFrom);
298 
299  }
300  if (hasStereoHits) {
302  ev.getByLabel( theStereoHits, stereoHits);
303  if (skipClusters) cleanFrom=result.size();
304  std::pair<DetId,DetIdTECSameDiskComparator> getter = accessor.stripTECDisk(theSide,theIdLayer);
305  SiStripRecHit2DCollection::Range range = stereoHits->equal_range(getter.first, getter.second);
306  for (SiStripRecHit2DCollection::const_iterator it = range.first; it != range.second; ++it) {
307  int ring = TECDetId( it->detId() ).ring(); if (!ringRange(ring)) continue;
308  for (SiStripRecHit2DCollection::DetSet::const_iterator hit = it->begin(), end = it->end(); hit != end; ++hit) {
309  result.push_back( sl.hitBuilder()->build(hit) );
310  }
311  }
312  if (skipClusters) cleanedOfClusters(ev,result,false,cleanFrom);
313  }
314  }
315  LogDebug("HitExtractorSTRP")<<" giving: "<<result.size()<<" out";
316  return result;
317 }
#define LogDebug(id)
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
std::pair< DetId, DetIdTIDSameDiskComparator > stripTIDDisk(int side, int disk)
bool ringRange(int ring) const
std::pair< DetId, DetIdTIBSameLayerComparator > stripTIBLayer(int layer)
virtual SubDetector subDetector() const =0
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap)
std::pair< const_iterator, const_iterator > Range
void range2SeedingHits(DSTV const &dstv, HitExtractor::Hits &v, std::pair< A, B > const &sel, const SeedingLayer &sl, const edm::EventSetup &es)
Definition: HitExtractor.h:45
std::pair< DetId, DetIdTOBSameLayerComparator > stripTOBLayer(int layer)
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
tuple result
Definition: query.py:137
std::pair< DetId, DetIdTECSameDiskComparator > stripTECDisk(int side, int disk)
#define end
Definition: vmac.h:37
const SeedingLayer * theSLayer
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:390
Detector identifier class for the strip tracker.
Definition: SiStripDetId.h:17
const TransientTrackingRecHitBuilder * hitBuilder() const
Definition: SeedingLayer.cc:94
void cleanedOfClusters(const edm::Event &ev, HitExtractor::Hits &hits, bool matched, unsigned int cleanFrom=0) const
std::vector< TransientTrackingRecHit::ConstRecHitPointer > Hits
Definition: HitExtractor.h:16
void HitExtractorSTRP::project ( TransientTrackingRecHit::ConstRecHitPointer ptr,
const SiStripRecHit2D *  hit,
TransientTrackingRecHit::ConstRecHitPointer replaceMe 
) const

Definition at line 56 of file HitExtractorSTRP.cc.

References TransientTrackingRecHitBuilder::build(), failProjection, ctfseeding::SeedingLayer::hitBuilder(), LogDebug, trackerHitRTTI::proj, TrackingRecHitProjector< ResultingHit >::project(), and theSLayer.

Referenced by skipThis().

58  {
59 
60  if (failProjection) {replaceMe=0; return;}
63  replaceMe=proj.project( *sHit, *ptr->det());
64  if (!replaceMe) LogDebug("HitExtractorSTRP")<<"projection failed.";
65 }
#define LogDebug(id)
RecHitPointer project(const TransientTrackingRecHit &hit, const GeomDet &det, const TrajectoryStateOnSurface &ts) const
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
const SeedingLayer * theSLayer
const TransientTrackingRecHitBuilder * hitBuilder() const
Definition: SeedingLayer.cc:94
bool HitExtractorSTRP::ringRange ( int  ring) const
private

Definition at line 41 of file HitExtractorSTRP.cc.

References hasRingSelector, theMaxRing, and theMinRing.

Referenced by hits().

42 {
43  if (!hasRingSelector) return true;
44  else if ( ring >= theMinRing && ring <= theMaxRing) return true;
45  else return false;
46 }
void ctfseeding::HitExtractorSTRP::setMinAbsZ ( double  minZToSet)
inline

Definition at line 47 of file HitExtractorSTRP.h.

References minAbsZ.

Referenced by SeedingLayerSetsBuilder::layers().

47 {minAbsZ=minZToSet;}
void ctfseeding::HitExtractorSTRP::setNoProjection ( ) const
inline

Definition at line 46 of file HitExtractorSTRP.h.

References failProjection.

Referenced by SeedingLayerSetsBuilder::layers().

bool HitExtractorSTRP::skipThis ( TransientTrackingRecHit::ConstRecHitPointer ptr,
edm::Handle< edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > > &  stripClusterMask,
TransientTrackingRecHit::ConstRecHitPointer replaceMe 
) const

Definition at line 67 of file HitExtractorSTRP.cc.

References LogDebug, m, project(), and alignCSCRings::s.

Referenced by cleanedOfClusters().

69  {
70  const SiStripMatchedRecHit2D * hit = (SiStripMatchedRecHit2D *) ptr->hit();
71 
72  bool rejectSt = skipThis(hit->stereoClusterRef(), stripClusterMask);
73  bool rejectMono = skipThis(hit->monoClusterRef(), stripClusterMask);
74 
75  if (rejectSt&&rejectMono){
76  //only skip if both hits are done
77  return true;
78  }
79  else{
80  //FIX use clusters directly
81  auto const & s= hit->stereoHit();
82  auto const & m= hit->monoHit();
83  if (rejectSt) project(ptr,&s,replaceMe);
84  else if (rejectMono) project(ptr,&m,replaceMe);
85  if (!replaceMe) return true; //means that the projection failed, and needs to be skipped
86  if (rejectSt)
87  LogDebug("HitExtractorSTRP")<<"a matched hit is partially masked, and the mono hit got projected onto: "<<replaceMe->hit()->geographicalId().rawId()<<" key: "<<hit->monoClusterRef().key();
88  else if (rejectMono)
89  LogDebug("HitExtractorSTRP")<<"a matched hit is partially masked, and the stereo hit got projected onto: "<<replaceMe->hit()->geographicalId().rawId()<<" key: "<<hit->stereoClusterRef().key();
90  return false; //means the projection succeeded or nothing to be masked, no need to skip and replaceMe is going to be used anyways.
91  }
92  return false;
93 }
#define LogDebug(id)
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
bool HitExtractorSTRP::skipThis ( OmniClusterRef const &  clus,
edm::Handle< edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > > &  stripClusterMask 
) const

Definition at line 48 of file HitExtractorSTRP.cc.

References OmniClusterRef::key().

49  {
50  // if (!hit->isValid()) return false;
51 
52  return stripClusterMask->mask(clus.key());
53 }
bool mask(unsigned int iIndex) const
Definition: ContainerMask.h:43
void ctfseeding::HitExtractorSTRP::useMatchedHits ( const edm::InputTag m)
inline

Definition at line 30 of file HitExtractorSTRP.h.

References hasMatchedHits, m, and theMatchedHits.

Referenced by SeedingLayerSetsBuilder::layers().

void HitExtractorSTRP::useRingSelector ( int  minRing,
int  maxRing 
)

Definition at line 34 of file HitExtractorSTRP.cc.

References hasRingSelector, theMaxRing, and theMinRing.

Referenced by SeedingLayerSetsBuilder::layers().

void ctfseeding::HitExtractorSTRP::useRPhiHits ( const edm::InputTag m)
inline

Definition at line 31 of file HitExtractorSTRP.h.

References hasRPhiHits, m, and theRPhiHits.

Referenced by SeedingLayerSetsBuilder::layers().

void ctfseeding::HitExtractorSTRP::useSimpleRphiHitsCleaner ( bool  use)
inline
void ctfseeding::HitExtractorSTRP::useStereoHits ( const edm::InputTag m)
inline

Definition at line 32 of file HitExtractorSTRP.h.

References hasStereoHits, m, and theStereoHits.

Referenced by SeedingLayerSetsBuilder::layers().

Member Data Documentation

bool ctfseeding::HitExtractorSTRP::failProjection
mutableprivate

Definition at line 61 of file HitExtractorSTRP.h.

Referenced by project(), and setNoProjection().

bool ctfseeding::HitExtractorSTRP::hasMatchedHits
private

Definition at line 55 of file HitExtractorSTRP.h.

Referenced by hits(), and useMatchedHits().

bool ctfseeding::HitExtractorSTRP::hasRingSelector
private

Definition at line 58 of file HitExtractorSTRP.h.

Referenced by ringRange(), and useRingSelector().

bool ctfseeding::HitExtractorSTRP::hasRPhiHits
private

Definition at line 56 of file HitExtractorSTRP.h.

Referenced by hits(), and useRPhiHits().

bool ctfseeding::HitExtractorSTRP::hasSimpleRphiHitsCleaner
private

Definition at line 59 of file HitExtractorSTRP.h.

Referenced by hits(), and useSimpleRphiHitsCleaner().

bool ctfseeding::HitExtractorSTRP::hasStereoHits
private

Definition at line 57 of file HitExtractorSTRP.h.

Referenced by hits(), and useStereoHits().

double ctfseeding::HitExtractorSTRP::minAbsZ
private

Definition at line 60 of file HitExtractorSTRP.h.

Referenced by hits(), and setMinAbsZ().

int ctfseeding::HitExtractorSTRP::theIdLayer
private

Definition at line 54 of file HitExtractorSTRP.h.

Referenced by hits().

const DetLayer* ctfseeding::HitExtractorSTRP::theLayer
private

Definition at line 51 of file HitExtractorSTRP.h.

Referenced by hits().

edm::InputTag ctfseeding::HitExtractorSTRP::theMatchedHits
private

Definition at line 55 of file HitExtractorSTRP.h.

Referenced by hits(), and useMatchedHits().

int ctfseeding::HitExtractorSTRP::theMaxRing
private

Definition at line 58 of file HitExtractorSTRP.h.

Referenced by ringRange(), and useRingSelector().

int ctfseeding::HitExtractorSTRP::theMinRing
private

Definition at line 58 of file HitExtractorSTRP.h.

Referenced by ringRange(), and useRingSelector().

edm::InputTag ctfseeding::HitExtractorSTRP::theRPhiHits
private

Definition at line 56 of file HitExtractorSTRP.h.

Referenced by hits(), and useRPhiHits().

SeedingLayer::Side ctfseeding::HitExtractorSTRP::theSide
private

Definition at line 52 of file HitExtractorSTRP.h.

Referenced by hits().

const SeedingLayer* ctfseeding::HitExtractorSTRP::theSLayer
mutableprivate

Definition at line 53 of file HitExtractorSTRP.h.

Referenced by hits(), and project().

edm::InputTag ctfseeding::HitExtractorSTRP::theStereoHits
private

Definition at line 57 of file HitExtractorSTRP.h.

Referenced by hits(), and useStereoHits().