42 : absZ_(config.getParameter<double>(
"absZ")),
43 sigmaZ_(config.getParameter<double>(
"sigmaZ")),
44 maxRecoZ_(config.getParameter<double>(
"maxRecoZ")),
45 absT_(config.getParameter<double>(
"absT")),
46 sigmaT_(config.getParameter<double>(
"sigmaT")),
47 maxRecoT_(config.getParameter<double>(
"maxRecoT")),
48 sharedTrackFraction_(config.getParameter<double>(
"sharedTrackFraction")),
49 trackRecoToSimAssociationToken_(
51 trackSimToRecoAssociationToken_(
53 produces<reco::VertexToTrackingVertexAssociator>();
62 desc.
add<
double>(
"absZ", 0.1);
63 desc.
add<
double>(
"sigmaZ", 3.0);
64 desc.
add<
double>(
"maxRecoZ", 1000.0);
65 desc.
add<
double>(
"absT", -1.0);
66 desc.
add<
double>(
"sigmaT", -1.0);
67 desc.
add<
double>(
"maxRecoT", -1.0);
68 desc.
add<
double>(
"sharedTrackFraction", -1.0);
73 descriptions.
add(
"VertexAssociatorByPositionAndTracks", desc);
85 std::unique_ptr<VertexAssociatorByPositionAndTracks> impl;
87 if (!recotosimCollectionH.
isValid() || !simtorecoCollectionH.
isValid()) {
88 if (!recotosimCollectionH.
isValid())
89 edm::LogWarning(
"PrimaryVertexAnalyzer4PUSlimmed") <<
"trackRecoToSimAssociation is not available in the event";
90 if (!simtorecoCollectionH.
isValid())
91 edm::LogWarning(
"PrimaryVertexAnalyzer4PUSlimmed") <<
"trackSimToRecoAssociation is not available in the event";
95 impl = std::make_unique<VertexAssociatorByPositionAndTracks>(&(iEvent.
productGetter()),
100 recotosimCollectionH.
product(),
101 simtorecoCollectionH.
product());
103 impl = std::make_unique<VertexAssociatorByPositionAndTracks>(&(iEvent.
productGetter()),
111 recotosimCollectionH.
product(),
112 simtorecoCollectionH.
product());
115 auto toPut = std::make_unique<reco::VertexToTrackingVertexAssociator>(
std::move(impl));
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
edm::EDGetTokenT< reco::RecoToSimCollection > trackRecoToSimAssociationToken_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
EDProductGetter const & productGetter() const
VertexAssociatorByPositionAndTracksProducer(const edm::ParameterSet &)
edm::AssociationMap< edm::OneToManyWithQualityGeneric< CaloParticleCollection, reco::CaloClusterCollection, std::pair< float, float > > > SimToRecoCollection
const double sharedTrackFraction_
~VertexAssociatorByPositionAndTracksProducer() override
ParameterDescriptionBase * add(U const &iLabel, T const &value)
edm::EDGetTokenT< reco::SimToRecoCollection > trackSimToRecoAssociationToken_
T const * product() const
void add(std::string const &label, ParameterSetDescription const &psetDescription)
tuple config
parse the configuration file
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
edm::AssociationMap< edm::OneToManyWithQualityGeneric< reco::CaloClusterCollection, CaloParticleCollection, float > > RecoToSimCollection