text: #ifndef PFCand_AssoMap_h
  #define PFCand_AssoMap_h
  
  // -*- C++ -*-
  //
  // Package:    PFCand_AssoMap
  // Class:      PFCand_AssoMap
  //
  /**\class PFCand_AssoMap PFCand_AssoMap.cc CommonTools/RecoUtils/plugins/PFCand_AssoMap.cc
  
    Description: Produces a map with association between pf candidates and their particular most probable vertex with a quality of this association
  */
  //
  // Original Author:  Matthias Geisler
  //         Created:  Wed Apr 18 14:48:37 CEST 2012
  // $Id: PFCand_AssoMap.h,v 1.7 2012/10/10 11:45:01 mgeisler Exp $
  //
  //
  
  #include "FWCore/Framework/interface/Frameworkfwd.h"
  #include "FWCore/Framework/interface/stream/EDProducer.h"
  
  #include "FWCore/Framework/interface/Event.h"
  #include "FWCore/Framework/interface/MakerMacros.h"
  
  #include "FWCore/ParameterSet/interface/ParameterSet.h"
  
  #include "FWCore/Utilities/interface/InputTag.h"
  
  #include "CommonTools/RecoUtils/interface/PFCand_AssoMapAlgos.h"
  
  //
  // class declaration
  //
  
  class PFCand_AssoMap : public edm::stream::EDProducer<>, public PFCand_AssoMapAlgos {
  public:
    explicit PFCand_AssoMap(const edm::ParameterSet&);
    ~PFCand_AssoMap() override;
  
    static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
  
  private:
    void produce(edm::Event&, const edm::EventSetup&) override;
  
    // ----------member data ---------------------------
  
    edm::InputTag input_AssociationType_;
  
    edm::EDGetTokenT<reco::PFCandidateCollection> token_PFCandidates_;
  };
  
  #endif
  