Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
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 "
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
ev
bool ev
Definition:
Hydjet2Hadronizer.cc:90
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
TkTransientTrackingRecHitBuilder
Definition:
TkTransientTrackingRecHitBuilder.h:15
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
edm::Ref
Definition:
AssociativeIterator.h:51
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