File indexing completed on 2024-10-16 05:06:39
0001 #ifndef SimCalorimetry_HGCalAssociatorProducers_HitToTracksterAssociatorProducer_h
0002 #define SimCalorimetry_HGCalAssociatorProducers_HitToTracksterAssociatorProducer_h
0003
0004
0005
0006
0007 #include "FWCore/Framework/interface/global/EDProducer.h"
0008 #include "FWCore/Framework/interface/Event.h"
0009 #include "FWCore/Framework/interface/MakerMacros.h"
0010 #include "FWCore/Framework/interface/ESHandle.h"
0011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0012 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0013 #include "FWCore/Utilities/interface/EDGetToken.h"
0014 #include "DataFormats/HGCalReco/interface/Trackster.h"
0015 #include "DataFormats/CaloRecHit/interface/CaloCluster.h"
0016 #include "SimDataFormats/Associations/interface/TICLAssociationMap.h"
0017 #include "DataFormats/Provenance/interface/ProductID.h"
0018 #include "CommonTools/RecoAlgos/interface/MultiVectorManager.h"
0019 #include "DataFormats/HGCRecHit/interface/HGCRecHitCollections.h"
0020
0021 class HitToTracksterAssociatorProducer : public edm::global::EDProducer<> {
0022 public:
0023 explicit HitToTracksterAssociatorProducer(const edm::ParameterSet &);
0024 ~HitToTracksterAssociatorProducer() override;
0025
0026 static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);
0027
0028 private:
0029 void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override;
0030
0031 edm::EDGetTokenT<std::vector<reco::CaloCluster>> LCCollectionToken_;
0032 edm::EDGetTokenT<std::vector<ticl::Trackster>> tracksterCollectionToken_;
0033 edm::EDGetTokenT<std::unordered_map<DetId, const unsigned int>> hitMapToken_;
0034 std::vector<edm::EDGetTokenT<HGCRecHitCollection>> hitsTokens_;
0035 };
0036
0037 #endif