21 srcTime_(cc.consumes<edm::ValueMap<float>>(conf.getParameter<edm::
InputTag>(
"timeValueMap"))),
24 ? cc.consumes<edm::ValueMap<float>>(conf.getParameter<edm::
InputTag>(
"timeQualityMap"))
25 : edm::EDGetTokenT<edm::ValueMap<float>>()),
26 srcTimeGsf_(cc.consumes<edm::ValueMap<float>>(conf.getParameter<edm::
InputTag>(
"timeValueMapGsf"))),
30 : edm::EDGetTokenT<edm::ValueMap<float>>()),
31 debug_(conf.getUntrackedParameter<bool>(
"debug",
false)) {}
59 for (
auto& elem : elems) {
61 const auto& ref = elem->trackRef();
62 if (time.contains(ref.id())) {
65 elem->setTime(time[ref], timeErr[ref]);
67 elem->setTime(0., -1.);
72 <<
"Track with pT / eta " << ref->pt() <<
" / " << ref->eta() <<
" has time: " << elem->time() <<
" +/- "
73 << elem->timeError() << std::endl;
77 if (timeGsf.contains(ref.id())) {
80 elem->setTime(timeGsf[ref], timeErrGsf[ref]);
82 elem->setTime(0., -1.);
87 <<
"Track with pT / eta " << ref->pt() <<
" / " << ref->eta() <<
" has time: " << elem->time() <<
" +/- "
88 << elem->timeError() << std::endl;
edm::EDGetTokenT< edm::ValueMap< float > > srcTimeQuality_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void importToBlock(const edm::Event &, ElementList &) const override
edm::EDGetTokenT< edm::ValueMap< float > > srcTimeErrorGsf_
TrackTimingImporter(const edm::ParameterSet &conf, edm::ConsumesCollector &cc)
edm::EDGetTokenT< edm::ValueMap< float > > srcTimeError_
edm::EDGetTokenT< edm::ValueMap< float > > srcTime_
Container::value_type value_type
bool get(ProductID const &oid, Handle< PROD > &result) const
const bool useTimeQuality_
const double timeQualityThreshold_
Log< level::Info, false > LogInfo
#define DEFINE_EDM_PLUGIN(factory, type, name)
std::vector< std::unique_ptr< reco::PFBlockElement > > ElementList
edm::EDGetTokenT< edm::ValueMap< float > > srcTimeGsf_
edm::EDGetTokenT< edm::ValueMap< float > > srcTimeQualityGsf_