Main Page
Namespaces
Classes
Package Documentation
GIT Directory
WorkBook
Offline Guide
Release schedule
•
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:9
ESProducer.h
SiStripRecHitMatcher
Definition:
SiStripRecHitMatcher.h:23
AlCaHLTBitMon_ParallelJobs.p
tuple p
Definition:
AlCaHLTBitMon_ParallelJobs.py:152
StripClusterParameterEstimator
Definition:
StripClusterParameterEstimator.h:19
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