Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-10-16 05:06:39

0001 // Author: Felice Pantaleo, felice.pantaleo@cern.ch 06/2024
0002 
0003 #ifndef TracksterToSimTracksterAssociatorByHitsProducer_h
0004 #define TracksterToSimTracksterAssociatorByHitsProducer_h
0005 
0006 #include <vector>
0007 
0008 #include "FWCore/Framework/interface/global/EDProducer.h"
0009 #include "FWCore/Framework/interface/Event.h"
0010 #include "FWCore/Framework/interface/MakerMacros.h"
0011 #include "FWCore/Framework/interface/ESHandle.h"
0012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0013 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0014 #include "FWCore/Utilities/interface/EDGetToken.h"
0015 #include "DataFormats/HGCalReco/interface/Trackster.h"
0016 #include "SimDataFormats/Associations/interface/TICLAssociationMap.h"
0017 #include "DataFormats/Provenance/interface/ProductID.h"
0018 #include "DataFormats/HGCRecHit/interface/HGCRecHitCollections.h"
0019 #include "CommonTools/RecoAlgos/interface/MultiVectorManager.h"
0020 #include "SimDataFormats/CaloAnalysis/interface/CaloParticle.h"
0021 #include "SimDataFormats/CaloAnalysis/interface/SimCluster.h"
0022 
0023 class TracksterToSimTracksterAssociatorByHitsProducer : public edm::global::EDProducer<> {
0024 public:
0025   explicit TracksterToSimTracksterAssociatorByHitsProducer(const edm::ParameterSet&);
0026   ~TracksterToSimTracksterAssociatorByHitsProducer() override;
0027 
0028   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0029 
0030 private:
0031   void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
0032 
0033   edm::EDGetTokenT<std::vector<ticl::Trackster>> recoTracksterCollectionToken_;
0034   edm::EDGetTokenT<std::vector<ticl::Trackster>> simTracksterCollectionToken_;
0035   edm::EDGetTokenT<std::vector<ticl::Trackster>> simTracksterFromCPCollectionToken_;
0036   edm::EDGetTokenT<ticl::AssociationMap<ticl::mapWithFraction>> hitToTracksterMapToken_;
0037   edm::EDGetTokenT<ticl::AssociationMap<ticl::mapWithFraction>> hitToSimTracksterMapToken_;
0038   edm::EDGetTokenT<ticl::AssociationMap<ticl::mapWithFraction>> hitToSimTracksterFromCPMapToken_;
0039   edm::EDGetTokenT<ticl::AssociationMap<ticl::mapWithFraction>> hitToSimClusterMapToken_;
0040   edm::EDGetTokenT<ticl::AssociationMap<ticl::mapWithFraction>> hitToCaloParticleMapToken_;
0041   edm::EDGetTokenT<ticl::AssociationMap<ticl::mapWithFraction>> tracksterToHitMapToken_;
0042   edm::EDGetTokenT<ticl::AssociationMap<ticl::mapWithFraction>> simTracksterToHitMapToken_;
0043   edm::EDGetTokenT<ticl::AssociationMap<ticl::mapWithFraction>> simTracksterFromCPToHitMapToken_;
0044   edm::EDGetTokenT<std::vector<CaloParticle>> caloParticleToken_;
0045   std::vector<edm::EDGetTokenT<HGCRecHitCollection>> hitsTokens_;
0046 };
0047 
0048 #endif