Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
RecoTracker
TransientTrackingRecHit
plugins
TkTransientTrackingRecHitBuilderESProducer.cc
Go to the documentation of this file.
1
#include "
RecoTracker/TransientTrackingRecHit/plugins/TkTransientTrackingRecHitBuilderESProducer.h
"
2
#include "
RecoTracker/TransientTrackingRecHit/interface/TkTransientTrackingRecHitBuilder.h
"
3
#include "
MagneticField/Engine/interface/MagneticField.h
"
4
#include "
Geometry/Records/interface/TrackerDigiGeometryRecord.h
"
5
6
7
#include "
FWCore/Framework/interface/EventSetup.h
"
8
#include "
FWCore/Framework/interface/ESHandle.h
"
9
#include "
FWCore/Framework/interface/ModuleFactory.h
"
10
#include "
FWCore/Framework/interface/ESProducer.h
"
11
12
#include <string>
13
#include <memory>
14
15
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
16
17
using namespace
edm;
18
19
TkTransientTrackingRecHitBuilderESProducer::TkTransientTrackingRecHitBuilderESProducer
(
const
edm::ParameterSet
&
p
)
20
{
21
std::string
myname = p.
getParameter
<
std::string
>(
"ComponentName"
);
22
pset_ =
p
;
23
setWhatProduced(
this
,myname);
24
}
25
26
TkTransientTrackingRecHitBuilderESProducer::~TkTransientTrackingRecHitBuilderESProducer
() {}
27
28
boost::shared_ptr<TransientTrackingRecHitBuilder>
29
TkTransientTrackingRecHitBuilderESProducer::produce
(
const
TransientRecHitRecord
& iRecord){
30
// if (_propagator){
31
// delete _propagator;
32
// _propagator = 0;
33
// }
34
35
std::string
sname
= pset_.getParameter<
std::string
>(
"StripCPE"
);
36
std::string
pname = pset_.getParameter<
std::string
>(
"PixelCPE"
);
37
std::string
mname = pset_.getParameter<
std::string
>(
"Matcher"
);
38
39
edm::ESHandle<StripClusterParameterEstimator>
se;
40
edm::ESHandle<PixelClusterParameterEstimator>
pe;
41
edm::ESHandle<SiStripRecHitMatcher>
me;
42
const
StripClusterParameterEstimator
* sp ;
43
const
PixelClusterParameterEstimator
*
pp
;
44
const
SiStripRecHitMatcher
* mp ;
45
46
if
(sname ==
"Fake"
) {
47
sp = 0;
48
}
else
{
49
iRecord.
getRecord
<
TkStripCPERecord
>().
get
( sname, se );
50
sp = se.product();
51
}
52
53
if
(pname ==
"Fake"
) {
54
pp = 0;
55
}
else
{
56
iRecord.
getRecord
<
TkPixelCPERecord
>().
get
( pname, pe );
57
pp = pe.
product
();
58
}
59
60
if
(mname ==
"Fake"
) {
61
mp = 0;
62
}
else
{
63
iRecord.
getRecord
<
TkStripCPERecord
>().
get
( mname, me );
64
mp = me.
product
();
65
}
66
67
bool
computeCoarseLocalPositionFromDisk = pset_.getParameter<
bool
>(
"ComputeCoarseLocalPositionFromDisk"
);
68
if
(computeCoarseLocalPositionFromDisk)
69
edm::LogWarning
(
"TkTransientTrackingRecHitBuilderESProducer"
)<<
" The tracking rec hit positions and errors are not a persistent in data formats.\n"
70
<<
" They are not available from disk.\n"
71
<<
" However, TkTransientTrackingRecHitBuilderESProducer::ComputeCoarseLocalPositionFromDisk=True \n"
72
<<
" will make the coarse estimation of this position/error available without track refit.\n"
73
<<
" Position/error obtained from rechit with already defined position/error are not recomputed.\n"
74
<<
" Position/error obtained from track refit are precise."
;
75
76
edm::ESHandle<TrackerGeometry>
pDD;
77
iRecord.
getRecord
<
TrackerDigiGeometryRecord
>().
get
( pDD );
78
79
_builder = boost::shared_ptr<TransientTrackingRecHitBuilder>(
new
TkTransientTrackingRecHitBuilder(pDD.
product
(),
pp
, sp, mp, computeCoarseLocalPositionFromDisk));
80
return
_builder;
81
}
82
83
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
TkTransientTrackingRecHitBuilderESProducer::~TkTransientTrackingRecHitBuilderESProducer
virtual ~TkTransientTrackingRecHitBuilderESProducer()
Definition:
TkTransientTrackingRecHitBuilderESProducer.cc:26
TrackerDigiGeometryRecord.h
MessageLogger.h
createTree.pp
tuple pp
Definition:
createTree.py:15
EventSetup.h
edm::LogWarning
Definition:
MessageLogger.h:140
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
TransientRecHitRecord
Definition:
TransientRecHitRecord.h:14
MagneticField.h
edm::eventsetup::DependentRecordImplementation::getRecord
const DepRecordT & getRecord() const
Definition:
DependentRecordImplementation.h:46
TkTransientTrackingRecHitBuilderESProducer.h
edm::ESHandle< StripClusterParameterEstimator >
TkTransientTrackingRecHitBuilder.h
ESHandle.h
TkTransientTrackingRecHitBuilderESProducer::TkTransientTrackingRecHitBuilderESProducer
TkTransientTrackingRecHitBuilderESProducer(const edm::ParameterSet &p)
Definition:
TkTransientTrackingRecHitBuilderESProducer.cc:19
TkPixelCPERecord
Definition:
TkPixelCPERecord.h:16
edm::ESHandle::product
T const * product() const
Definition:
ESHandle.h:62
PixelClusterParameterEstimator
Definition:
PixelClusterParameterEstimator.h:15
ESProducer.h
SiStripRecHitMatcher
Definition:
SiStripRecHitMatcher.h:26
AlCaHLTBitMon_ParallelJobs.p
tuple p
Definition:
AlCaHLTBitMon_ParallelJobs.py:152
StripClusterParameterEstimator
Definition:
StripClusterParameterEstimator.h:25
edm::ParameterSet
Definition:
ParameterSet.h:35
ModuleFactory.h
TkTransientTrackingRecHitBuilderESProducer::produce
boost::shared_ptr< TransientTrackingRecHitBuilder > produce(const TransientRecHitRecord &)
Definition:
TkTransientTrackingRecHitBuilderESProducer.cc:29
TkStripCPERecord
Definition:
TkStripCPERecord.h:14
TrackerDigiGeometryRecord
Definition:
TrackerDigiGeometryRecord.h:31
lumiContext.sname
sname
Definition:
lumiContext.py:192
Generated for CMSSW Reference Manual by
1.8.5