Main Page
Namespaces
Classes
Package Documentation
RecoTracker
TkSeedingLayers
src
HitExtractorSTRP.h
Go to the documentation of this file.
1
#ifndef RecoTracker_TkSeedingLayers_HitExtractorSTRP_H
2
#define RecoTracker_TkSeedingLayers_HitExtractorSTRP_H
3
4
#include "
RecoTracker/TkSeedingLayers/interface/SeedingLayer.h
"
5
#include "
FWCore/Utilities/interface/InputTag.h
"
6
#include "
HitExtractor.h
"
7
8
#include "
DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h
"
9
#include "
DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2DCollection.h
"
10
#include "
DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h
"
11
12
#include <vector>
13
#include <tuple>
14
class
DetLayer
;
15
16
namespace
edm
{
17
template
<
typename
T>
class
ContainerMask
;
18
}
19
20
namespace
ctfseeding
{
21
22
class
HitExtractorSTRP
final :
public
HitExtractor
{
23
24
public
:
25
typedef
SiStripRecHit2D::ClusterRef
SiStripClusterRef
;
26
27
HitExtractorSTRP
(
GeomDetEnumerators::SubDetector
subdet,
SeedingLayer::Side
& side,
int
idLayer,
float
iminGoodCharge);
28
virtual
~HitExtractorSTRP
(){}
29
30
virtual
HitExtractor::Hits
hits
(
const
TkTransientTrackingRecHitBuilder
&ttrhBuilder,
const
edm::Event
& ,
const
edm::EventSetup
&)
const override
;
31
virtual
HitExtractorSTRP
*
clone
()
const override
{
return
new
HitExtractorSTRP
(*
this
); }
32
33
void
useMatchedHits
(
const
edm::InputTag
&
m
,
edm::ConsumesCollector
& iC) { hasMatchedHits =
true
; theMatchedHits = iC.
consumes
<
SiStripMatchedRecHit2DCollection
>(
m
); }
34
void
useRPhiHits
(
const
edm::InputTag
&
m
,
edm::ConsumesCollector
& iC) { hasRPhiHits =
true
; theRPhiHits = iC.
consumes
<
SiStripRecHit2DCollection
>(
m
); }
35
void
useStereoHits
(
const
edm::InputTag
&
m
,
edm::ConsumesCollector
& iC) { hasStereoHits =
true
; theStereoHits = iC.
consumes
<
SiStripRecHit2DCollection
>(
m
); }
36
void
useRingSelector(
int
minRing
,
int
maxRing
);
37
void
useSimpleRphiHitsCleaner
(
bool
use) {hasSimpleRphiHitsCleaner = use;}
38
39
void
cleanedOfClusters(
const
TkTransientTrackingRecHitBuilder
& ttrhBuilder,
const
edm::Event
&
ev
,
HitExtractor::Hits
& hits,
bool
matched
,
unsigned
int
cleanFrom=0)
const
;
40
41
std::pair<bool,ProjectedSiStripRecHit2D *>
42
skipThis
(
const
TkTransientTrackingRecHitBuilder
& ttrhBuilder,
TkHitRef
matched,
43
edm::Handle
<
edm::ContainerMask
<
edmNew::DetSetVector<SiStripCluster>
> > & stripClusterMask)
const
;
44
45
bool
skipThis
(
DetId
id
,
OmniClusterRef
const
& clus,
edm::Handle
<
edm::ContainerMask
<
edmNew::DetSetVector<SiStripCluster>
> > & stripClusterMask)
const
;
46
47
void
setNoProjection
()
const
{failProjection=
true
;};
48
void
setMinAbsZ
(
double
minZToSet) {minAbsZ=minZToSet;}
49
50
bool
useRingSelector
()
const
{
return
hasRingSelector; }
51
std::tuple<int, int>
getMinMaxRing
()
const
{
return
std::make_tuple(theMinRing, theMaxRing); }
52
private
:
53
bool
ringRange(
int
ring
)
const
;
54
55
typedef
edm::ContainerMask<edmNew::DetSetVector<SiStripCluster>
>
SkipClustersCollection
;
56
void
useSkipClusters_(
const
edm::InputTag
&
m
,
edm::ConsumesCollector
& iC)
override
;
57
private
:
58
const
GeomDetEnumerators::SubDetector
theLayerSubDet
;
59
SeedingLayer::Side
theSide
;
60
mutable
const
SeedingLayer
*
theSLayer
;
61
int
theIdLayer
;
62
double
minAbsZ
;
63
int
theMinRing
, theMaxRing;
64
edm::EDGetTokenT<SkipClustersCollection>
theSkipClusters
;
65
edm::EDGetTokenT<SiStripMatchedRecHit2DCollection>
theMatchedHits
;
66
edm::EDGetTokenT<SiStripRecHit2DCollection>
theRPhiHits
;
67
edm::EDGetTokenT<SiStripRecHit2DCollection>
theStereoHits
;
68
bool
hasMatchedHits
;
69
bool
hasRPhiHits
;
70
bool
hasStereoHits
;
71
bool
hasRingSelector
;
72
bool
hasSimpleRphiHitsCleaner
;
73
mutable
bool
failProjection
;
74
};
75
76
}
77
#endif
SiStripRecHit2DCollection.h
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition:
ConsumesCollector.h:52
ctfseeding::HitExtractorSTRP::hasSimpleRphiHitsCleaner
bool hasSimpleRphiHitsCleaner
Definition:
HitExtractorSTRP.h:72
edm::ContainerMask
Definition:
ContainerMask.h:35
ctfseeding::HitExtractor::Hits
std::vector< HitPointer > Hits
Definition:
HitExtractor.h:25
hiMixedTripletStep_cff.minRing
minRing
Definition:
hiMixedTripletStep_cff.py:46
ctfseeding::HitExtractorSTRP::useStereoHits
void useStereoHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition:
HitExtractorSTRP.h:35
edm::Ref
Definition:
AssociativeIterator.h:51
ctfseeding::HitExtractor::TkHitRef
BaseTrackerRecHit const & TkHitRef
Definition:
HitExtractor.h:23
HitExtractor.h
ctfseeding::HitExtractorSTRP::useMatchedHits
void useMatchedHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition:
HitExtractorSTRP.h:33
hfClusterShapes_cfi.hits
hits
Definition:
hfClusterShapes_cfi.py:5
edm::Handle
Definition:
AssociativeIterator.h:47
ctfseeding
Definition:
SeedingLayer.h:17
ctfseeding::HitExtractor
Definition:
HitExtractor.h:20
ev
bool ev
Definition:
Hydjet2Hadronizer.cc:95
ctfseeding::HitExtractorSTRP::clone
virtual HitExtractorSTRP * clone() const override
Definition:
HitExtractorSTRP.h:31
ctfseeding::HitExtractorSTRP::theSide
SeedingLayer::Side theSide
Definition:
HitExtractorSTRP.h:59
SiStripRecHit2D.h
edm::EDGetTokenT
Definition:
EDGetToken.h:32
ctfseeding::SeedingLayer
Definition:
SeedingLayer.h:21
ctfseeding::HitExtractorSTRP::theMatchedHits
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > theMatchedHits
Definition:
HitExtractorSTRP.h:65
ContainerMask
ctfseeding::HitExtractorSTRP::hasRPhiHits
bool hasRPhiHits
Definition:
HitExtractorSTRP.h:69
ctfseeding::HitExtractorSTRP::theLayerSubDet
const GeomDetEnumerators::SubDetector theLayerSubDet
Definition:
HitExtractorSTRP.h:58
GeomDetEnumerators::SubDetector
SubDetector
Definition:
GeomDetEnumerators.h:11
ctfseeding::HitExtractorSTRP::theStereoHits
edm::EDGetTokenT< SiStripRecHit2DCollection > theStereoHits
Definition:
HitExtractorSTRP.h:67
ctfseeding::HitExtractorSTRP::minAbsZ
double minAbsZ
Definition:
HitExtractorSTRP.h:62
ctfseeding::HitExtractorSTRP::hasStereoHits
bool hasStereoHits
Definition:
HitExtractorSTRP.h:70
ctfseeding::HitExtractorSTRP::theMinRing
int theMinRing
Definition:
HitExtractorSTRP.h:63
edmNew::DetSetVector
Definition:
DetSetNew.h:12
ctfseeding::HitExtractorSTRP::useRPhiHits
void useRPhiHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition:
HitExtractorSTRP.h:34
edm::EventSetup
Definition:
EventSetup.h:45
DetLayer
Definition:
DetLayer.h:21
edmScanValgrind.skipThis
skipThis
Definition:
edmScanValgrind.py:202
ctfseeding::HitExtractorSTRP::hasMatchedHits
bool hasMatchedHits
Definition:
HitExtractorSTRP.h:68
ctfseeding::HitExtractorSTRP::setNoProjection
void setNoProjection() const
Definition:
HitExtractorSTRP.h:47
ctfseeding::HitExtractorSTRP::theSLayer
const SeedingLayer * theSLayer
Definition:
HitExtractorSTRP.h:60
ctfseeding::HitExtractorSTRP::SkipClustersCollection
edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > SkipClustersCollection
Definition:
HitExtractorSTRP.h:55
ctfseeding::HitExtractorSTRP
Definition:
HitExtractorSTRP.h:22
DetId
Definition:
DetId.h:18
ctfseeding::HitExtractorSTRP::useRingSelector
bool useRingSelector() const
Definition:
HitExtractorSTRP.h:50
TkTransientTrackingRecHitBuilder
Definition:
TkTransientTrackingRecHitBuilder.h:18
ctfseeding::HitExtractorSTRP::useSimpleRphiHitsCleaner
void useSimpleRphiHitsCleaner(bool use)
Definition:
HitExtractorSTRP.h:37
ctfseeding::HitExtractorSTRP::theRPhiHits
edm::EDGetTokenT< SiStripRecHit2DCollection > theRPhiHits
Definition:
HitExtractorSTRP.h:66
OmniClusterRef
Definition:
OmniClusterRef.h:11
funct::m
m
Definition:
Factorize.h:55
SeedingLayer.h
electronMatch_cfi.matched
matched
Definition:
electronMatch_cfi.py:9
edm
HLT enums.
Definition:
AlignableModifier.h:17
edm::InputTag
Definition:
InputTag.h:15
InputTag.h
ctfseeding::HitExtractorSTRP::theIdLayer
int theIdLayer
Definition:
HitExtractorSTRP.h:61
ctfseeding::HitExtractorSTRP::SiStripClusterRef
SiStripRecHit2D::ClusterRef SiStripClusterRef
Definition:
HitExtractorSTRP.h:25
ctfseeding::HitExtractorSTRP::setMinAbsZ
void setMinAbsZ(double minZToSet)
Definition:
HitExtractorSTRP.h:48
ctfseeding::HitExtractorSTRP::~HitExtractorSTRP
virtual ~HitExtractorSTRP()
Definition:
HitExtractorSTRP.h:28
edm::Event
Definition:
Event.h:66
hiMixedTripletStep_cff.maxRing
maxRing
Definition:
hiMixedTripletStep_cff.py:47
ctfseeding::HitExtractorSTRP::getMinMaxRing
std::tuple< int, int > getMinMaxRing() const
Definition:
HitExtractorSTRP.h:51
relativeConstraints.ring
ring
Definition:
relativeConstraints.py:67
ctfseeding::SeedingLayer::Side
Side
Definition:
SeedingLayer.h:23
ctfseeding::HitExtractorSTRP::failProjection
bool failProjection
Definition:
HitExtractorSTRP.h:73
ctfseeding::HitExtractorSTRP::hasRingSelector
bool hasRingSelector
Definition:
HitExtractorSTRP.h:71
ctfseeding::HitExtractorSTRP::theSkipClusters
edm::EDGetTokenT< SkipClustersCollection > theSkipClusters
Definition:
HitExtractorSTRP.h:64
SiStripMatchedRecHit2DCollection.h
edm::ConsumesCollector
Definition:
ConsumesCollector.h:39
Generated for CMSSW Reference Manual by
1.8.11