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>
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,
TrackerDetSide
side,
int
idLayer,
float
iminGoodCharge);
28
~HitExtractorSTRP
()
override
{}
29
30
HitExtractor::Hits
hits
(
const
TkTransientTrackingRecHitBuilder
&ttrhBuilder,
const
edm::Event
& ,
const
edm::EventSetup
&)
const override
;
31
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
() {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
TrackerDetSide
theSide
;
60
int
theIdLayer
;
61
double
minAbsZ
;
62
int
theMinRing
, theMaxRing;
63
edm::EDGetTokenT<SkipClustersCollection>
theSkipClusters
;
64
edm::EDGetTokenT<SiStripMatchedRecHit2DCollection>
theMatchedHits
;
65
edm::EDGetTokenT<SiStripRecHit2DCollection>
theRPhiHits
;
66
edm::EDGetTokenT<SiStripRecHit2DCollection>
theStereoHits
;
67
bool
hasMatchedHits
;
68
bool
hasRPhiHits
;
69
bool
hasStereoHits
;
70
bool
hasRingSelector
;
71
bool
hasSimpleRphiHitsCleaner
;
72
bool
failProjection
;
73
};
74
75
}
76
#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:71
edm::ContainerMask
Definition:
ContainerMask.h:36
ctfseeding::HitExtractor::Hits
std::vector< HitPointer > Hits
Definition:
HitExtractor.h:24
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:22
HitExtractor.h
ctfseeding::HitExtractorSTRP::useMatchedHits
void useMatchedHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition:
HitExtractorSTRP.h:33
TrackerDetSide
TrackerDetSide
Definition:
TrackerDetSide.h:4
hfClusterShapes_cfi.hits
hits
Definition:
hfClusterShapes_cfi.py:5
edm::Handle
Definition:
AssociativeIterator.h:47
ctfseeding
Definition:
SeedingLayerSetsBuilder.h:19
ctfseeding::HitExtractor
Definition:
HitExtractor.h:19
ctfseeding::HitExtractorSTRP::~HitExtractorSTRP
~HitExtractorSTRP() override
Definition:
HitExtractorSTRP.h:28
ev
bool ev
Definition:
Hydjet2Hadronizer.cc:95
ConversionStep2_cff.maxRing
maxRing
Definition:
ConversionStep2_cff.py:125
SiStripRecHit2D.h
edm::EDGetTokenT
Definition:
EDGetToken.h:33
ctfseeding::HitExtractorSTRP::theMatchedHits
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > theMatchedHits
Definition:
HitExtractorSTRP.h:64
ContainerMask
ConversionStep2_cff.minRing
minRing
Definition:
ConversionStep2_cff.py:126
ctfseeding::HitExtractorSTRP::hasRPhiHits
bool hasRPhiHits
Definition:
HitExtractorSTRP.h:68
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:66
ctfseeding::HitExtractorSTRP::minAbsZ
double minAbsZ
Definition:
HitExtractorSTRP.h:61
ctfseeding::HitExtractorSTRP::hasStereoHits
bool hasStereoHits
Definition:
HitExtractorSTRP.h:69
ctfseeding::HitExtractorSTRP::theMinRing
int theMinRing
Definition:
HitExtractorSTRP.h:62
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:57
DetLayer
Definition:
DetLayer.h:21
edmScanValgrind.skipThis
skipThis
Definition:
edmScanValgrind.py:203
ctfseeding::HitExtractorSTRP::hasMatchedHits
bool hasMatchedHits
Definition:
HitExtractorSTRP.h:67
electrons_cff.matched
matched
Definition:
electrons_cff.py:464
ctfseeding::HitExtractorSTRP::SkipClustersCollection
edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > SkipClustersCollection
Definition:
HitExtractorSTRP.h:55
ctfseeding::HitExtractorSTRP::clone
HitExtractorSTRP * clone() const override
Definition:
HitExtractorSTRP.h:31
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:65
OmniClusterRef
Definition:
OmniClusterRef.h:12
funct::m
m
Definition:
Factorize.h:56
edm
HLT enums.
Definition:
AlignableModifier.h:17
edm::InputTag
Definition:
InputTag.h:15
ctfseeding::HitExtractorSTRP::theSide
TrackerDetSide theSide
Definition:
HitExtractorSTRP.h:59
InputTag.h
ctfseeding::HitExtractorSTRP::theIdLayer
int theIdLayer
Definition:
HitExtractorSTRP.h:60
ctfseeding::HitExtractorSTRP::SiStripClusterRef
SiStripRecHit2D::ClusterRef SiStripClusterRef
Definition:
HitExtractorSTRP.h:25
ctfseeding::HitExtractorSTRP::setMinAbsZ
void setMinAbsZ(double minZToSet)
Definition:
HitExtractorSTRP.h:48
TrackerDetSide.h
edm::Event
Definition:
Event.h:71
ctfseeding::HitExtractorSTRP::getMinMaxRing
std::tuple< int, int > getMinMaxRing() const
Definition:
HitExtractorSTRP.h:51
relativeConstraints.ring
ring
Definition:
relativeConstraints.py:68
ctfseeding::HitExtractorSTRP::failProjection
bool failProjection
Definition:
HitExtractorSTRP.h:72
ctfseeding::HitExtractorSTRP::hasRingSelector
bool hasRingSelector
Definition:
HitExtractorSTRP.h:70
ctfseeding::HitExtractorSTRP::theSkipClusters
edm::EDGetTokenT< SkipClustersCollection > theSkipClusters
Definition:
HitExtractorSTRP.h:63
SiStripMatchedRecHit2DCollection.h
edm::ConsumesCollector
Definition:
ConsumesCollector.h:39
ctfseeding::HitExtractorSTRP::setNoProjection
void setNoProjection()
Definition:
HitExtractorSTRP.h:47
Generated for CMSSW Reference Manual by
1.8.11