Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
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 "
RecoTracker/TkSeedingLayers/interface/SeedingLayer.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,
SeedingLayer::Side
& side,
int
idLayer);
28
virtual
~HitExtractorSTRP
(){}
29
30
virtual
HitExtractor::Hits
hits
(
const
TkTransientTrackingRecHitBuilder &ttrhBuilder,
const
edm::Event
& ,
const
edm::EventSetup
& )
const override
;
31
virtual
HitExtractorSTRP
*
clone
()
const
{
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
(
OmniClusterRef
const
& clus,
edm::Handle
<
edm::ContainerMask
<
edmNew::DetSetVector<SiStripCluster>
> > & stripClusterMask)
const
;
46
47
void
setNoProjection
()
const
{
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
SeedingLayer::Side
theSide
;
60
mutable
const
SeedingLayer
*
theSLayer
;
61
int
theIdLayer
;
62
double
minAbsZ
;
63
int
theMinRing
,
theMaxRing
;
64
edm::EDGetTokenT<SkipClustersCollection>
theSkipClusters
;
65
edm::EDGetTokenT<SiStripMatchedRecHit2DCollection>
theMatchedHits
;
66
edm::EDGetTokenT<SiStripRecHit2DCollection>
theRPhiHits
;
67
edm::EDGetTokenT<SiStripRecHit2DCollection>
theStereoHits
;
68
bool
hasMatchedHits
;
69
bool
hasRPhiHits
;
70
bool
hasStereoHits
;
71
bool
hasRingSelector
;
72
bool
hasSimpleRphiHitsCleaner
;
73
mutable
bool
failProjection
;
74
};
75
76
}
77
#endif
SiStripRecHit2DCollection.h
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition:
ConsumesCollector.h:41
ctfseeding::HitExtractorSTRP::HitExtractorSTRP
HitExtractorSTRP(GeomDetEnumerators::SubDetector subdet, SeedingLayer::Side &side, int idLayer)
Definition:
HitExtractorSTRP.cc:29
ctfseeding::HitExtractorSTRP::hasSimpleRphiHitsCleaner
bool hasSimpleRphiHitsCleaner
Definition:
HitExtractorSTRP.h:72
edm::ContainerMask
Definition:
ContainerMask.h:35
ctfseeding::HitExtractor::Hits
std::vector< HitPointer > Hits
Definition:
HitExtractor.h:25
ctfseeding::HitExtractorSTRP::theMaxRing
int theMaxRing
Definition:
HitExtractorSTRP.h:63
ctfseeding::HitExtractorSTRP::ringRange
bool ringRange(int ring) const
Definition:
HitExtractorSTRP.cc:47
ctfseeding::HitExtractorSTRP::useStereoHits
void useStereoHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition:
HitExtractorSTRP.h:35
ctfseeding::HitExtractor::TkHitRef
BaseTrackerRecHit const & TkHitRef
Definition:
HitExtractor.h:23
HitExtractor.h
ctfseeding::HitExtractorSTRP::useMatchedHits
void useMatchedHits(const edm::InputTag &m, edm::ConsumesCollector &iC)
Definition:
HitExtractorSTRP.h:33
ctfseeding::HitExtractor
Definition:
HitExtractor.h:20
ctfseeding::HitExtractorSTRP::theSide
SeedingLayer::Side theSide
Definition:
HitExtractorSTRP.h:59
edm::Handle
Definition:
AssociativeIterator.h:47
SiStripRecHit2D.h
edm::EDGetTokenT
Definition:
EDGetToken.h:32
ctfseeding::SeedingLayer
Definition:
SeedingLayer.h:21
ctfseeding::HitExtractorSTRP::theMatchedHits
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > theMatchedHits
Definition:
HitExtractorSTRP.h:65
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:61
MixedLayerPairs_cfi.maxRing
tuple maxRing
Definition:
MixedLayerPairs_cfi.py:36
ctfseeding::HitExtractorSTRP::hasRPhiHits
bool hasRPhiHits
Definition:
HitExtractorSTRP.h:69
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:67
ctfseeding::HitExtractorSTRP::minAbsZ
double minAbsZ
Definition:
HitExtractorSTRP.h:62
ctfseeding::HitExtractorSTRP::hasStereoHits
bool hasStereoHits
Definition:
HitExtractorSTRP.h:70
ctfseeding::HitExtractorSTRP::theMinRing
int theMinRing
Definition:
HitExtractorSTRP.h:63
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:95
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:44
DetLayer
Definition:
DetLayer.h:21
ctfseeding::HitExtractorSTRP::hasMatchedHits
bool hasMatchedHits
Definition:
HitExtractorSTRP.h:68
ctfseeding::HitExtractorSTRP::setNoProjection
void setNoProjection() const
Definition:
HitExtractorSTRP.h:47
relativeConstraints.ring
tuple ring
Definition:
relativeConstraints.py:67
ctfseeding::HitExtractorSTRP::theSLayer
const SeedingLayer * theSLayer
Definition:
HitExtractorSTRP.h:60
ctfseeding::HitExtractorSTRP::SkipClustersCollection
edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > SkipClustersCollection
Definition:
HitExtractorSTRP.h:55
ctfseeding::HitExtractorSTRP
Definition:
HitExtractorSTRP.h:22
ctfseeding::HitExtractorSTRP::hits
virtual HitExtractor::Hits hits(const TkTransientTrackingRecHitBuilder &ttrhBuilder, const edm::Event &, const edm::EventSetup &) const override
Definition:
HitExtractorSTRP.cc:132
m
int m
Definition:
DTDataIntegrityTask.cc:30
ctfseeding::HitExtractorSTRP::useRingSelector
bool useRingSelector() const
Definition:
HitExtractorSTRP.h:50
ctfseeding::HitExtractorSTRP::clone
virtual HitExtractorSTRP * clone() const
Definition:
HitExtractorSTRP.h:31
ctfseeding::HitExtractorSTRP::useSimpleRphiHitsCleaner
void useSimpleRphiHitsCleaner(bool use)
Definition:
HitExtractorSTRP.h:37
ctfseeding::HitExtractorSTRP::theRPhiHits
edm::EDGetTokenT< SiStripRecHit2DCollection > theRPhiHits
Definition:
HitExtractorSTRP.h:66
OmniClusterRef
Definition:
OmniClusterRef.h:10
SeedingLayer.h
edm::InputTag
Definition:
InputTag.h:17
InputTag.h
ctfseeding::HitExtractorSTRP::theIdLayer
int theIdLayer
Definition:
HitExtractorSTRP.h:61
ctfseeding::HitExtractorSTRP::SiStripClusterRef
SiStripRecHit2D::ClusterRef SiStripClusterRef
Definition:
HitExtractorSTRP.h:25
ctfseeding::HitExtractorSTRP::setMinAbsZ
void setMinAbsZ(double minZToSet)
Definition:
HitExtractorSTRP.h:48
ctfseeding::HitExtractorSTRP::~HitExtractorSTRP
virtual ~HitExtractorSTRP()
Definition:
HitExtractorSTRP.h:28
edm::Event
Definition:
Event.h:62
ctfseeding::HitExtractorSTRP::useSkipClusters_
void useSkipClusters_(const edm::InputTag &m, edm::ConsumesCollector &iC) override
Definition:
HitExtractorSTRP.cc:36
ctfseeding::HitExtractorSTRP::getMinMaxRing
std::tuple< int, int > getMinMaxRing() const
Definition:
HitExtractorSTRP.h:51
ctfseeding::SeedingLayer::Side
Side
Definition:
SeedingLayer.h:23
ctfseeding::HitExtractorSTRP::failProjection
bool failProjection
Definition:
HitExtractorSTRP.h:73
ctfseeding::HitExtractorSTRP::hasRingSelector
bool hasRingSelector
Definition:
HitExtractorSTRP.h:71
ctfseeding::HitExtractorSTRP::theSkipClusters
edm::EDGetTokenT< SkipClustersCollection > theSkipClusters
Definition:
HitExtractorSTRP.h:64
MixedLayerPairs_cfi.minRing
tuple minRing
Definition:
MixedLayerPairs_cfi.py:35
SiStripMatchedRecHit2DCollection.h
edm::ConsumesCollector
Definition:
ConsumesCollector.h:32
Generated for CMSSW Reference Manual by
1.8.5