Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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
#include "
DataFormats/TrackerCommon/interface/TrackerTopology.h
"
13
#include "
Geometry/Records/interface/TrackerTopologyRcd.h
"
14
15
#include <vector>
16
#include <tuple>
17
class
DetLayer
;
18
19
namespace
edm {
20
template
<
typename
T>
21
class
ContainerMask
;
22
}
23
24
namespace
ctfseeding {
25
26
class
HitExtractorSTRP
final :
public
HitExtractor
{
27
public
:
28
typedef
SiStripRecHit2D::ClusterRef
SiStripClusterRef
;
29
30
HitExtractorSTRP
(
GeomDetEnumerators::SubDetector
subdet,
31
TrackerDetSide
side,
32
int
idLayer,
33
float
iminGoodCharge,
34
edm::ConsumesCollector
& iC);
35
~HitExtractorSTRP
()
override
{}
36
37
HitExtractor::Hits
hits
(
const
TkTransientTrackingRecHitBuilder
& ttrhBuilder,
38
const
edm::Event
&,
39
const
edm::EventSetup
&)
const override
;
40
HitExtractorSTRP
*
clone
()
const override
{
return
new
HitExtractorSTRP
(*
this
); }
41
42
void
useMatchedHits
(
const
edm::InputTag
&
m
,
edm::ConsumesCollector
& iC) {
43
hasMatchedHits
=
true
;
44
theMatchedHits
= iC.
consumes
<
SiStripMatchedRecHit2DCollection
>(
m
);
45
}
46
void
useRPhiHits
(
const
edm::InputTag
&
m
,
edm::ConsumesCollector
& iC) {
47
hasRPhiHits
=
true
;
48
theRPhiHits
= iC.
consumes
<
SiStripRecHit2DCollection
>(
m
);
49
}
50
void
useStereoHits
(
const
edm::InputTag
&
m
,
edm::ConsumesCollector
& iC) {
51
hasStereoHits
=
true
;
52
theStereoHits
= iC.
consumes
<
SiStripRecHit2DCollection
>(
m
);
53
}
54
55
void
useVectorHits
(
const
edm::InputTag
&
m
,
edm::ConsumesCollector
& iC) {
56
hasVectorHits
=
true
;
57
theVectorHits
= iC.
consumes
<
VectorHitCollection
>(
m
);
58
}
59
void
useRingSelector
(
int
minRing,
int
maxRing);
60
void
useSimpleRphiHitsCleaner
(
bool
use) {
hasSimpleRphiHitsCleaner
= use; }
61
62
void
cleanedOfClusters
(
const
TkTransientTrackingRecHitBuilder
& ttrhBuilder,
63
const
edm::Event
&
ev
,
64
HitExtractor::Hits
&
hits
,
65
bool
matched,
66
unsigned
int
cleanFrom = 0)
const
;
67
68
std::pair<bool, ProjectedSiStripRecHit2D*>
skipThis
(
69
const
TkTransientTrackingRecHitBuilder
& ttrhBuilder,
70
TkHitRef
matched,
71
edm::Handle
<
edm::ContainerMask
<
edmNew::DetSetVector<SiStripCluster>
> >& stripClusterMask)
const
;
72
73
bool
skipThis
(
DetId
id
,
74
OmniClusterRef
const
& clus,
75
edm::Handle
<
edm::ContainerMask
<
edmNew::DetSetVector<SiStripCluster>
> >& stripClusterMask)
const
;
76
77
void
setNoProjection
() {
failProjection
=
true
; }
78
void
setMinAbsZ
(
double
minZToSet) {
minAbsZ
= minZToSet; }
79
80
bool
useRingSelector
()
const
{
return
hasRingSelector
; }
81
std::tuple<int, int>
getMinMaxRing
()
const
{
return
std::make_tuple(
theMinRing
,
theMaxRing
); }
82
83
private
:
84
bool
ringRange
(
int
ring
)
const
;
85
86
typedef
edm::ContainerMask<edmNew::DetSetVector<SiStripCluster>
>
SkipClustersCollection
;
87
typedef
edm::ContainerMask<Phase2TrackerCluster1DCollectionNew>
SkipPhase2ClustersCollection
;
88
void
useSkipClusters_
(
const
edm::InputTag
&
m
,
edm::ConsumesCollector
& iC)
override
;
89
90
private
:
91
const
GeomDetEnumerators::SubDetector
theLayerSubDet
;
92
TrackerDetSide
theSide
;
93
int
theIdLayer
;
94
double
minAbsZ
;
95
int
theMinRing
,
theMaxRing
;
96
edm::EDGetTokenT<SkipClustersCollection>
theSkipClusters
;
97
edm::EDGetTokenT<SkipPhase2ClustersCollection>
theSkipPhase2Clusters
;
98
edm::EDGetTokenT<SiStripMatchedRecHit2DCollection>
theMatchedHits
;
99
edm::EDGetTokenT<SiStripRecHit2DCollection>
theRPhiHits
;
100
edm::EDGetTokenT<SiStripRecHit2DCollection>
theStereoHits
;
101
edm::EDGetTokenT<VectorHitCollection>
theVectorHits
;
102
edm::ESGetToken<TrackerTopology, TrackerTopologyRcd>
theTtopo
;
103
bool
hasMatchedHits
;
104
bool
hasRPhiHits
;
105
bool
hasStereoHits
;
106
bool
hasVectorHits
;
107
bool
hasRingSelector
;
108
bool
hasSimpleRphiHitsCleaner
;
109
bool
failProjection
;
110
};
111
112
}
// namespace ctfseeding
113
#endif
SiStripRecHit2DCollection.h
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition:
ConsumesCollector.h:55
ctfseeding::HitExtractorSTRP::hasSimpleRphiHitsCleaner
bool hasSimpleRphiHitsCleaner
Definition:
HitExtractorSTRP.h:108
ctfseeding::HitExtractorSTRP::clone
HitExtractorSTRP * clone() const override
Definition:
HitExtractorSTRP.h:40
ctfseeding::HitExtractorSTRP::theSkipPhase2Clusters
edm::EDGetTokenT< SkipPhase2ClustersCollection > theSkipPhase2Clusters
Definition:
HitExtractorSTRP.h:97
edm::ContainerMask
Definition:
ContainerMask.h:36
ctfseeding::HitExtractor::Hits
std::vector< HitPointer > Hits
Definition:
HitExtractor.h:28
ctfseeding::HitExtractorSTRP::theMaxRing
int theMaxRing
Definition:
HitExtractorSTRP.h:95
ctfseeding::HitExtractorSTRP::ringRange
bool ringRange(int ring) const
Definition:
HitExtractorSTRP.cc:57
ctfseeding::HitExtractorSTRP::useStereoHits
void useStereoHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition:
HitExtractorSTRP.h:50
edm::Ref
Definition:
AssociativeIterator.h:58
HitExtractor.h
ctfseeding::HitExtractorSTRP::useMatchedHits
void useMatchedHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition:
HitExtractorSTRP.h:42
ctfseeding::HitExtractorSTRP::theTtopo
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > theTtopo
Definition:
HitExtractorSTRP.h:102
TrackerDetSide
TrackerDetSide
Definition:
TrackerDetSide.h:4
edm::Handle
Definition:
AssociativeIterator.h:50
ctfseeding::HitExtractor
Definition:
HitExtractor.h:23
ctfseeding::HitExtractorSTRP::~HitExtractorSTRP
~HitExtractorSTRP() override
Definition:
HitExtractorSTRP.h:35
ev
bool ev
Definition:
Hydjet2Hadronizer.cc:96
SiStripRecHit2D.h
edm::EDGetTokenT
Definition:
EDGetToken.h:33
ctfseeding::HitExtractor::TkHitRef
BaseTrackerRecHit const & TkHitRef
Definition:
HitExtractor.h:26
ctfseeding::HitExtractorSTRP::theMatchedHits
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > theMatchedHits
Definition:
HitExtractorSTRP.h:98
ContainerMask
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:75
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd >
visualization-live-secondInstance_cfg.m
tuple m
Definition:
visualization-live-secondInstance_cfg.py:79
ctfseeding::HitExtractorSTRP::hasRPhiHits
bool hasRPhiHits
Definition:
HitExtractorSTRP.h:104
ctfseeding::HitExtractorSTRP::theLayerSubDet
const GeomDetEnumerators::SubDetector theLayerSubDet
Definition:
HitExtractorSTRP.h:91
VectorHit.h
GeomDetEnumerators::SubDetector
SubDetector
Definition:
GeomDetEnumerators.h:10
ctfseeding::HitExtractorSTRP::theStereoHits
edm::EDGetTokenT< SiStripRecHit2DCollection > theStereoHits
Definition:
HitExtractorSTRP.h:100
ctfseeding::HitExtractorSTRP::minAbsZ
double minAbsZ
Definition:
HitExtractorSTRP.h:94
ctfseeding::HitExtractorSTRP::hasStereoHits
bool hasStereoHits
Definition:
HitExtractorSTRP.h:105
ctfseeding::HitExtractorSTRP::theMinRing
int theMinRing
Definition:
HitExtractorSTRP.h:95
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:112
edmNew::DetSetVector
Definition:
DetSetNew.h:13
ctfseeding::HitExtractorSTRP::hasVectorHits
bool hasVectorHits
Definition:
HitExtractorSTRP.h:106
ctfseeding::HitExtractorSTRP::useRPhiHits
void useRPhiHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition:
HitExtractorSTRP.h:46
edm::EventSetup
Definition:
EventSetup.h:59
DetLayer
Definition:
DetLayer.h:21
ctfseeding::HitExtractorSTRP::hasMatchedHits
bool hasMatchedHits
Definition:
HitExtractorSTRP.h:103
relativeConstraints.ring
tuple ring
Definition:
relativeConstraints.py:68
TrackerTopologyRcd.h
ctfseeding::HitExtractorSTRP::SkipClustersCollection
edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > SkipClustersCollection
Definition:
HitExtractorSTRP.h:86
ctfseeding::HitExtractorSTRP
Definition:
HitExtractorSTRP.h:26
ctfseeding::HitExtractorSTRP::theVectorHits
edm::EDGetTokenT< VectorHitCollection > theVectorHits
Definition:
HitExtractorSTRP.h:101
ctfseeding::HitExtractorSTRP::useVectorHits
void useVectorHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition:
HitExtractorSTRP.h:55
ctfseeding::HitExtractorSTRP::hits
HitExtractor::Hits hits(const TkTransientTrackingRecHitBuilder &ttrhBuilder, const edm::Event &, const edm::EventSetup &) const override
Definition:
HitExtractorSTRP.cc:181
DetId
Definition:
DetId.h:17
ctfseeding::HitExtractorSTRP::useRingSelector
bool useRingSelector() const
Definition:
HitExtractorSTRP.h:80
TkTransientTrackingRecHitBuilder
Definition:
TkTransientTrackingRecHitBuilder.h:15
ctfseeding::HitExtractorSTRP::useSimpleRphiHitsCleaner
void useSimpleRphiHitsCleaner(bool use)
Definition:
HitExtractorSTRP.h:60
ctfseeding::HitExtractorSTRP::theRPhiHits
edm::EDGetTokenT< SiStripRecHit2DCollection > theRPhiHits
Definition:
HitExtractorSTRP.h:99
OmniClusterRef
Definition:
OmniClusterRef.h:12
ctfseeding::HitExtractorSTRP::HitExtractorSTRP
HitExtractorSTRP(GeomDetEnumerators::SubDetector subdet, TrackerDetSide side, int idLayer, float iminGoodCharge, edm::ConsumesCollector &iC)
Definition:
HitExtractorSTRP.cc:23
ctfseeding::HitExtractorSTRP::SkipPhase2ClustersCollection
edm::ContainerMask< Phase2TrackerCluster1DCollectionNew > SkipPhase2ClustersCollection
Definition:
HitExtractorSTRP.h:87
edm::InputTag
Definition:
InputTag.h:15
ctfseeding::HitExtractorSTRP::theSide
TrackerDetSide theSide
Definition:
HitExtractorSTRP.h:92
InputTag.h
ctfseeding::HitExtractorSTRP::theIdLayer
int theIdLayer
Definition:
HitExtractorSTRP.h:93
ctfseeding::HitExtractorSTRP::SiStripClusterRef
SiStripRecHit2D::ClusterRef SiStripClusterRef
Definition:
HitExtractorSTRP.h:28
ctfseeding::HitExtractorSTRP::setMinAbsZ
void setMinAbsZ(double minZToSet)
Definition:
HitExtractorSTRP.h:78
TrackerDetSide.h
TrackerTopology.h
edm::Event
Definition:
Event.h:73
ctfseeding::HitExtractorSTRP::useSkipClusters_
void useSkipClusters_(const edm::InputTag &m, edm::ConsumesCollector &iC) override
Definition:
HitExtractorSTRP.cc:46
ctfseeding::HitExtractorSTRP::getMinMaxRing
std::tuple< int, int > getMinMaxRing() const
Definition:
HitExtractorSTRP.h:81
ctfseeding::HitExtractorSTRP::failProjection
bool failProjection
Definition:
HitExtractorSTRP.h:109
ctfseeding::HitExtractorSTRP::hasRingSelector
bool hasRingSelector
Definition:
HitExtractorSTRP.h:107
ctfseeding::HitExtractorSTRP::theSkipClusters
edm::EDGetTokenT< SkipClustersCollection > theSkipClusters
Definition:
HitExtractorSTRP.h:96
SiStripMatchedRecHit2DCollection.h
edm::ConsumesCollector
Definition:
ConsumesCollector.h:45
ctfseeding::HitExtractorSTRP::setNoProjection
void setNoProjection()
Definition:
HitExtractorSTRP.h:77
Generated for CMSSW Reference Manual by
1.8.5