RecoPixelVertexing
PixelTrackFitting
plugins
PixelFitterByConformalMappingAndLineProducer.cc
Go to the documentation of this file.
1
#include "
FWCore/Framework/interface/Frameworkfwd.h
"
2
#include "
FWCore/Framework/interface/global/EDProducer.h
"
3
4
#include "
FWCore/Framework/interface/Event.h
"
5
#include "
FWCore/Framework/interface/MakerMacros.h
"
6
#include "
FWCore/Framework/interface/EventSetup.h
"
7
#include "
FWCore/Framework/interface/ESHandle.h
"
8
9
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
10
#include "
FWCore/ParameterSet/interface/ConfigurationDescriptions.h
"
11
#include "
FWCore/ParameterSet/interface/ParameterSetDescription.h
"
12
13
#include "
RecoPixelVertexing/PixelTrackFitting/interface/PixelFitter.h
"
14
#include "
RecoPixelVertexing/PixelTrackFitting/interface/PixelFitterByConformalMappingAndLine.h
"
15
16
#include "
TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHitBuilder.h
"
17
#include "
TrackingTools/Records/interface/TransientRecHitRecord.h
"
18
#include "
Geometry/Records/interface/TrackerDigiGeometryRecord.h
"
19
#include "
MagneticField/Records/interface/IdealMagneticFieldRecord.h
"
20
21
class
PixelFitterByConformalMappingAndLineProducer
:
public
edm::global::EDProducer
<> {
22
public
:
23
explicit
PixelFitterByConformalMappingAndLineProducer
(
const
edm::ParameterSet
& iConfig)
24
:
theTTRHBuilderName
(iConfig.getParameter<
std
::
string
>(
"TTRHBuilder"
)),
25
theFixImpactParameter
(0),
26
theUseFixImpactParameter
(
false
) {
27
if
(iConfig.
getParameter
<
bool
>(
"useFixImpactParameter"
)) {
28
theFixImpactParameter
= iConfig.
getParameter
<
double
>(
"fixImpactParameter"
);
29
theUseFixImpactParameter
=
true
;
30
}
31
32
produces<PixelFitter>();
33
}
34
~PixelFitterByConformalMappingAndLineProducer
()
override
{}
35
36
static
void
fillDescriptions
(
edm::ConfigurationDescriptions
& descriptions) {
37
edm::ParameterSetDescription
desc;
38
39
desc.
add
<
std::string
>(
"TTRHBuilder"
,
"PixelTTRHBuilderWithoutAngle"
);
40
desc.
add
<
bool
>(
"useFixImpactParameter"
,
false
);
41
desc.
add
<
double
>(
"fixImpactParameter"
, 0.0);
42
descriptions.
add
(
"pixelFitterByConformalMappingAndLine"
, desc);
43
}
44
45
private
:
46
void
produce
(
edm::StreamID
,
edm::Event
&
iEvent
,
const
edm::EventSetup
& iSetup)
const override
;
47
48
std::string
theTTRHBuilderName
;
49
double
theFixImpactParameter
;
50
bool
theUseFixImpactParameter
;
51
};
52
53
void
PixelFitterByConformalMappingAndLineProducer::produce
(
edm::StreamID
,
54
edm::Event
&
iEvent
,
55
const
edm::EventSetup
& iSetup)
const
{
56
edm::ESHandle<TransientTrackingRecHitBuilder>
ttrhBuilder;
57
iSetup.
get
<
TransientRecHitRecord
>().
get
(
theTTRHBuilderName
, ttrhBuilder);
58
59
edm::ESHandle<TrackerGeometry>
tracker
;
60
iSetup.
get
<
TrackerDigiGeometryRecord
>().
get
(
tracker
);
61
62
edm::ESHandle<MagneticField>
field;
63
iSetup.
get
<
IdealMagneticFieldRecord
>().
get
(field);
64
65
auto
impl
= std::make_unique<PixelFitterByConformalMappingAndLine>(
66
ttrhBuilder.
product
(),
tracker
.product(), field.
product
(),
theFixImpactParameter
,
theUseFixImpactParameter
);
67
auto
prod
= std::make_unique<PixelFitter>(
std::move
(
impl
));
68
iEvent
.put(
std::move
(
prod
));
69
}
70
71
DEFINE_FWK_MODULE
(
PixelFitterByConformalMappingAndLineProducer
);
ConfigurationDescriptions.h
PixelFitterByConformalMappingAndLineProducer::theFixImpactParameter
double theFixImpactParameter
Definition:
PixelFitterByConformalMappingAndLineProducer.cc:49
edm::ESHandle::product
T const * product() const
Definition:
ESHandle.h:86
edm::StreamID
Definition:
StreamID.h:30
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition:
ParameterSetDescription.h:95
funct::false
false
Definition:
Factorize.h:34
ESHandle.h
PixelFitterByConformalMappingAndLineProducer
Definition:
PixelFitterByConformalMappingAndLineProducer.cc:21
TransientRecHitRecord.h
PixelFitterByConformalMappingAndLineProducer::~PixelFitterByConformalMappingAndLineProducer
~PixelFitterByConformalMappingAndLineProducer() override
Definition:
PixelFitterByConformalMappingAndLineProducer.cc:34
PixelFitterByConformalMappingAndLineProducer::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition:
PixelFitterByConformalMappingAndLineProducer.cc:36
edm::ParameterSetDescription
Definition:
ParameterSetDescription.h:52
TransientRecHitRecord
Definition:
TransientRecHitRecord.h:14
PixelFitterByConformalMappingAndLineProducer::theTTRHBuilderName
std::string theTTRHBuilderName
Definition:
PixelFitterByConformalMappingAndLineProducer.cc:48
IdealMagneticFieldRecord
Definition:
IdealMagneticFieldRecord.h:11
MakerMacros.h
PixelFitter.h
edm::EventSetup::get
T get() const
Definition:
EventSetup.h:73
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition:
MakerMacros.h:16
PixelFitterByConformalMappingAndLineProducer::produce
void produce(edm::StreamID, edm::Event &iEvent, const edm::EventSetup &iSetup) const override
Definition:
PixelFitterByConformalMappingAndLineProducer.cc:53
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition:
ConfigurationDescriptions.cc:57
TrackerDigiGeometryRecord
Definition:
TrackerDigiGeometryRecord.h:15
dumpMFGeometry_cfg.prod
prod
Definition:
dumpMFGeometry_cfg.py:24
IdealMagneticFieldRecord.h
edm::ESHandle< TransientTrackingRecHitBuilder >
ParameterSetDescription.h
edm::global::EDProducer
Definition:
EDProducer.h:32
edm::ConfigurationDescriptions
Definition:
ConfigurationDescriptions.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition:
PbPb_ZMuSkimMuonDPG_cff.py:60
TrackerDigiGeometryRecord.h
edm::ParameterSet
Definition:
ParameterSet.h:36
Event.h
iEvent
int iEvent
Definition:
GenABIO.cc:224
edm::EventSetup
Definition:
EventSetup.h:57
get
#define get
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
impl
Definition:
trackAlgoPriorityOrder.h:18
eostools.move
def move(src, dest)
Definition:
eostools.py:511
std
Definition:
JetResolutionObject.h:76
Frameworkfwd.h
PixelFitterByConformalMappingAndLineProducer::PixelFitterByConformalMappingAndLineProducer
PixelFitterByConformalMappingAndLineProducer(const edm::ParameterSet &iConfig)
Definition:
PixelFitterByConformalMappingAndLineProducer.cc:23
PixelFitterByConformalMappingAndLineProducer::theUseFixImpactParameter
bool theUseFixImpactParameter
Definition:
PixelFitterByConformalMappingAndLineProducer.cc:50
EventSetup.h
PixelFitterByConformalMappingAndLine.h
TransientTrackingRecHitBuilder.h
ParameterSet.h
EDProducer.h
edm::Event
Definition:
Event.h:73
Generated for CMSSW Reference Manual by
1.8.16