40 std::optional<edm::ESGetToken<StripClusterParameterEstimator, TkStripCPERecord>>
spToken_;
41 std::optional<edm::ESGetToken<PixelClusterParameterEstimator, TkPixelCPERecord>>
ppToken_;
42 std::optional<edm::ESGetToken<SiStripRecHitMatcher, TkStripCPERecord>>
mpToken_;
51 : pname_(
p.getParameter<
std::
string>(
"PixelCPE")),
52 computeCoarseLocalPositionFromDisk_(
p.getParameter<
bool>(
"ComputeCoarseLocalPositionFromDisk")) {
58 if (sname !=
"Fake") {
66 auto const mname =
p.getParameter<
std::string>(
"Matcher");
67 if (mname !=
"Fake") {
71 auto const P2otname =
p.getParameter<
std::string>(
"Phase2StripCPE");
72 if (!P2otname.empty()) {
79 if (
pname_ ==
"PixelCPEFast") {
81 <<
"\n\t\t WARNING!\n 'PixelCPEFast' has been chosen as PixelCPE choice.\n" 82 <<
" Track angles will NOT be used in the CPE estimation!\n";
102 <<
" The tracking rec hit positions and errors are not a persistent in data formats.\n" 103 <<
" They are not available from disk.\n" 104 <<
" However, TkTransientTrackingRecHitBuilderESProducer::ComputeCoarseLocalPositionFromDisk=True \n" 105 <<
" will make the coarse estimation of this position/error available without track refit.\n" 106 <<
" Position/error obtained from rechit with already defined position/error are not recomputed.\n" 107 <<
" Position/error obtained from track refit are precise.";
113 return std::make_unique<TkTransientTrackingRecHitBuilder>(&
dd,
pp, &iRecord.
get(*
p2OTToken_));
121 desc.add<
bool>(
"ComputeCoarseLocalPositionFromDisk",
false);
122 desc.add<
std::string>(
"StripCPE",
"Fake")->setComment(
"Using \"Fake\" disables use of StripCPE");
123 desc.add<
std::string>(
"PixelCPE",
"Fake")->setComment(
"Using \"Fake\" disables use of PixelCPE");
124 desc.add<
std::string>(
"Matcher",
"Fake")->setComment(
"Using \"Fake\" disables use of SiStripRecHitMatcher");
125 desc.add<
std::string>(
"Phase2StripCPE",
"")->setComment(
"Using empty string disables use of Phase2StripCPE");
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
bool const computeCoarseLocalPositionFromDisk_
std::optional< edm::ESGetToken< SiStripRecHitMatcher, TkStripCPERecord > > mpToken_
std::unique_ptr< TransientTrackingRecHitBuilder > produce(const TransientRecHitRecord &)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
std::optional< edm::ESGetToken< PixelClusterParameterEstimator, TkPixelCPERecord > > ppToken_
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
TkTransientTrackingRecHitBuilderESProducer(const edm::ParameterSet &p)
Log< level::Warning, false > LogWarning
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
std::optional< edm::ESGetToken< StripClusterParameterEstimator, TkStripCPERecord > > spToken_
std::optional< edm::ESGetToken< ClusterParameterEstimator< Phase2TrackerCluster1D >, TkPhase2OTCPERecord > > p2OTToken_