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 "
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
SiStripRecHit2DCollection.h
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition:
ConsumesCollector.h:49
ctfseeding::HitExtractorSTRP::hasSimpleRphiHitsCleaner
bool hasSimpleRphiHitsCleaner
Definition:
HitExtractorSTRP.h:91
edm::ContainerMask
Definition:
ContainerMask.h:36
muonTagProbeFilters_cff.matched
matched
Definition:
muonTagProbeFilters_cff.py:62
ctfseeding::HitExtractor::Hits
std::vector< HitPointer > Hits
Definition:
HitExtractor.h:28
ctfseeding::HitExtractorSTRP::useStereoHits
void useStereoHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition:
HitExtractorSTRP.h:43
edm::Ref
Definition:
AssociativeIterator.h:57
HitExtractor.h
ctfseeding::HitExtractorSTRP::useMatchedHits
void useMatchedHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition:
HitExtractorSTRP.h:35
TrackerDetSide
TrackerDetSide
Definition:
TrackerDetSide.h:4
hfClusterShapes_cfi.hits
hits
Definition:
hfClusterShapes_cfi.py:5
edm::Handle
Definition:
AssociativeIterator.h:49
ctfseeding
Definition:
SeedingLayerSetsBuilder.h:23
ctfseeding::HitExtractor
Definition:
HitExtractor.h:23
ctfseeding::HitExtractorSTRP::~HitExtractorSTRP
~HitExtractorSTRP() override
Definition:
HitExtractorSTRP.h:28
ev
bool ev
Definition:
Hydjet2Hadronizer.cc:95
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:84
ContainerMask
ctfseeding::HitExtractorSTRP::hasRPhiHits
bool hasRPhiHits
Definition:
HitExtractorSTRP.h:88
ctfseeding::HitExtractorSTRP::theLayerSubDet
const GeomDetEnumerators::SubDetector theLayerSubDet
Definition:
HitExtractorSTRP.h:78
GeomDetEnumerators::SubDetector
SubDetector
Definition:
GeomDetEnumerators.h:11
ctfseeding::HitExtractorSTRP::theStereoHits
edm::EDGetTokenT< SiStripRecHit2DCollection > theStereoHits
Definition:
HitExtractorSTRP.h:86
ctfseeding::HitExtractorSTRP::minAbsZ
double minAbsZ
Definition:
HitExtractorSTRP.h:81
ctfseeding::HitExtractorSTRP::hasStereoHits
bool hasStereoHits
Definition:
HitExtractorSTRP.h:89
visualization-live-secondInstance_cfg.m
m
Definition:
visualization-live-secondInstance_cfg.py:60
ctfseeding::HitExtractorSTRP::theMinRing
int theMinRing
Definition:
HitExtractorSTRP.h:82
edmNew::DetSetVector
Definition:
DetSetNew.h:13
ctfseeding::HitExtractorSTRP::useRPhiHits
void useRPhiHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition:
HitExtractorSTRP.h:39
edm::EventSetup
Definition:
EventSetup.h:57
DetLayer
Definition:
DetLayer.h:21
edmScanValgrind.skipThis
skipThis
Definition:
edmScanValgrind.py:203
ctfseeding::HitExtractorSTRP::hasMatchedHits
bool hasMatchedHits
Definition:
HitExtractorSTRP.h:87
ctfseeding::HitExtractorSTRP::SkipClustersCollection
edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > SkipClustersCollection
Definition:
HitExtractorSTRP.h:74
ctfseeding::HitExtractorSTRP::clone
HitExtractorSTRP * clone() const override
Definition:
HitExtractorSTRP.h:33
ctfseeding::HitExtractorSTRP
Definition:
HitExtractorSTRP.h:23
HLT_2018_cff.minRing
minRing
Definition:
HLT_2018_cff.py:44831
DetId
Definition:
DetId.h:17
ctfseeding::HitExtractorSTRP::useRingSelector
bool useRingSelector() const
Definition:
HitExtractorSTRP.h:68
TkTransientTrackingRecHitBuilder
Definition:
TkTransientTrackingRecHitBuilder.h:15
ctfseeding::HitExtractorSTRP::useSimpleRphiHitsCleaner
void useSimpleRphiHitsCleaner(bool use)
Definition:
HitExtractorSTRP.h:48
ctfseeding::HitExtractorSTRP::theRPhiHits
edm::EDGetTokenT< SiStripRecHit2DCollection > theRPhiHits
Definition:
HitExtractorSTRP.h:85
OmniClusterRef
Definition:
OmniClusterRef.h:12
edm
HLT enums.
Definition:
AlignableModifier.h:19
edm::InputTag
Definition:
InputTag.h:15
ctfseeding::HitExtractorSTRP::theSide
TrackerDetSide theSide
Definition:
HitExtractorSTRP.h:79
InputTag.h
ctfseeding::HitExtractorSTRP::theIdLayer
int theIdLayer
Definition:
HitExtractorSTRP.h:80
ctfseeding::HitExtractorSTRP::SiStripClusterRef
SiStripRecHit2D::ClusterRef SiStripClusterRef
Definition:
HitExtractorSTRP.h:25
HLT_2018_cff.maxRing
maxRing
Definition:
HLT_2018_cff.py:44834
ctfseeding::HitExtractorSTRP::setMinAbsZ
void setMinAbsZ(double minZToSet)
Definition:
HitExtractorSTRP.h:66
TrackerDetSide.h
edm::Event
Definition:
Event.h:72
ctfseeding::HitExtractorSTRP::getMinMaxRing
std::tuple< int, int > getMinMaxRing() const
Definition:
HitExtractorSTRP.h:69
relativeConstraints.ring
ring
Definition:
relativeConstraints.py:68
ctfseeding::HitExtractorSTRP::failProjection
bool failProjection
Definition:
HitExtractorSTRP.h:92
ctfseeding::HitExtractorSTRP::hasRingSelector
bool hasRingSelector
Definition:
HitExtractorSTRP.h:90
ctfseeding::HitExtractorSTRP::theSkipClusters
edm::EDGetTokenT< SkipClustersCollection > theSkipClusters
Definition:
HitExtractorSTRP.h:83
SiStripMatchedRecHit2DCollection.h
edm::ConsumesCollector
Definition:
ConsumesCollector.h:39
ctfseeding::HitExtractorSTRP::setNoProjection
void setNoProjection()
Definition:
HitExtractorSTRP.h:65
Generated for CMSSW Reference Manual by
1.8.11