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