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 "
DataFormats/TrackerCommon/interface/TrackerDetSide.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
#include "
DataFormats/TrackerRecHit2D/interface/VectorHit.h
"
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
:
26
typedef
SiStripRecHit2D::ClusterRef
SiStripClusterRef
;
27
28
HitExtractorSTRP
(
GeomDetEnumerators::SubDetector
subdet,
TrackerDetSide
side,
int
idLayer,
float
iminGoodCharge);
29
~HitExtractorSTRP
()
override
{}
30
31
HitExtractor::Hits
hits
(
const
TkTransientTrackingRecHitBuilder
& ttrhBuilder,
32
const
edm::Event
&,
33
const
edm::EventSetup
&)
const override
;
34
HitExtractorSTRP
*
clone
()
const override
{
return
new
HitExtractorSTRP
(*
this
); }
35
36
void
useMatchedHits
(
const
edm::InputTag
&
m
,
edm::ConsumesCollector
& iC) {
37
hasMatchedHits
=
true
;
38
theMatchedHits
= iC.
consumes
<
SiStripMatchedRecHit2DCollection
>(
m
);
39
}
40
void
useRPhiHits
(
const
edm::InputTag
&
m
,
edm::ConsumesCollector
& iC) {
41
hasRPhiHits
=
true
;
42
theRPhiHits
= iC.
consumes
<
SiStripRecHit2DCollection
>(
m
);
43
}
44
void
useStereoHits
(
const
edm::InputTag
&
m
,
edm::ConsumesCollector
& iC) {
45
hasStereoHits
=
true
;
46
theStereoHits
= iC.
consumes
<
SiStripRecHit2DCollection
>(
m
);
47
}
48
49
void
useVectorHits
(
const
edm::InputTag
&
m
,
edm::ConsumesCollector
& iC) {
50
hasVectorHits
=
true
;
51
theVectorHits
= iC.
consumes
<
VectorHitCollection
>(
m
);
52
}
53
void
useRingSelector
(
int
minRing
,
int
maxRing
);
54
void
useSimpleRphiHitsCleaner
(
bool
use) {
hasSimpleRphiHitsCleaner
= use; }
55
56
void
cleanedOfClusters
(
const
TkTransientTrackingRecHitBuilder
& ttrhBuilder,
57
const
edm::Event
&
ev
,
58
HitExtractor::Hits
&
hits
,
59
bool
matched
,
60
unsigned
int
cleanFrom = 0)
const
;
61
62
std::pair<bool, ProjectedSiStripRecHit2D*>
skipThis
(
63
const
TkTransientTrackingRecHitBuilder
& ttrhBuilder,
64
TkHitRef
matched
,
65
edm::Handle
<
edm::ContainerMask
<
edmNew::DetSetVector<SiStripCluster>
> >& stripClusterMask)
const
;
66
67
bool
skipThis
(
DetId
id
,
68
OmniClusterRef
const
& clus,
69
edm::Handle
<
edm::ContainerMask
<
edmNew::DetSetVector<SiStripCluster>
> >& stripClusterMask)
const
;
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
80
typedef
edm::ContainerMask<edmNew::DetSetVector<SiStripCluster>
>
SkipClustersCollection
;
81
typedef
edm::ContainerMask<Phase2TrackerCluster1DCollectionNew>
SkipPhase2ClustersCollection
;
82
void
useSkipClusters_
(
const
edm::InputTag
&
m
,
edm::ConsumesCollector
& iC)
override
;
83
84
private
:
85
const
GeomDetEnumerators::SubDetector
theLayerSubDet
;
86
TrackerDetSide
theSide
;
87
int
theIdLayer
;
88
double
minAbsZ
;
89
int
theMinRing
,
theMaxRing
;
90
edm::EDGetTokenT<SkipClustersCollection>
theSkipClusters
;
91
edm::EDGetTokenT<SkipPhase2ClustersCollection>
theSkipPhase2Clusters
;
92
edm::EDGetTokenT<SiStripMatchedRecHit2DCollection>
theMatchedHits
;
93
edm::EDGetTokenT<SiStripRecHit2DCollection>
theRPhiHits
;
94
edm::EDGetTokenT<SiStripRecHit2DCollection>
theStereoHits
;
95
edm::EDGetTokenT<VectorHitCollection>
theVectorHits
;
96
bool
hasMatchedHits
;
97
bool
hasRPhiHits
;
98
bool
hasStereoHits
;
99
bool
hasVectorHits
;
100
bool
hasRingSelector
;
101
bool
hasSimpleRphiHitsCleaner
;
102
bool
failProjection
;
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
Generated for CMSSW Reference Manual by
1.8.16