diff --git a/RecoHGCal/Configuration/python/RecoHGCal_EventContent_cff.py b/RecoHGCal/Configuration/python/RecoHGCal_EventContent_cff.py index 77b647e6ce291..7e0076bb947bb 100644 --- a/RecoHGCal/Configuration/python/RecoHGCal_EventContent_cff.py +++ b/RecoHGCal/Configuration/python/RecoHGCal_EventContent_cff.py @@ -22,8 +22,10 @@ 'keep *_ticlTrackstersTrk_*_*', 'keep *_ticlTrackstersMIP_*_*', 'keep *_ticlTrackstersMerge_*_*', + 'keep *_ticlTrackstersHFNoseTrkEM_*_*', 'keep *_ticlTrackstersHFNoseEM_*_*', 'keep *_ticlTrackstersHFNoseMIP_*_*', + 'keep *_ticlTrackstersHFNoseHAD_*_*', 'keep *_ticlTrackstersHFNoseMerge_*_*', 'keep *_pfTICL_*_*' ) diff --git a/RecoHGCal/TICL/plugins/PatternRecognitionbyCA.cc b/RecoHGCal/TICL/plugins/PatternRecognitionbyCA.cc index d668ac8d05806..f0e53b379cc83 100644 --- a/RecoHGCal/TICL/plugins/PatternRecognitionbyCA.cc +++ b/RecoHGCal/TICL/plugins/PatternRecognitionbyCA.cc @@ -188,7 +188,7 @@ void PatternRecognitionbyCA::makeTracksters( ticl::assignPCAtoTracksters(tmpTracksters, input.layerClusters, input.layerClustersTime, - rhtools_.getPositionLayer(rhtools_.lastLayerEE(type)).z()); + rhtools_.getPositionLayer(rhtools_.lastLayerEE(type), type).z()); // run energy regression and ID energyRegressionAndID(input.layerClusters, tmpTracksters); @@ -246,8 +246,10 @@ void PatternRecognitionbyCA::makeTracksters( tmp.swap(result); } - ticl::assignPCAtoTracksters( - result, input.layerClusters, input.layerClustersTime, rhtools_.getPositionLayer(rhtools_.lastLayerEE(type)).z()); + ticl::assignPCAtoTracksters(result, + input.layerClusters, + input.layerClustersTime, + rhtools_.getPositionLayer(rhtools_.lastLayerEE(type), type).z()); // run energy regression and ID energyRegressionAndID(input.layerClusters, result); diff --git a/RecoHGCal/TICL/plugins/SeedingRegionAlgoFactory.cc b/RecoHGCal/TICL/plugins/SeedingRegionAlgoFactory.cc index 5da8aa8c9e83a..2092262b79e8b 100644 --- a/RecoHGCal/TICL/plugins/SeedingRegionAlgoFactory.cc +++ b/RecoHGCal/TICL/plugins/SeedingRegionAlgoFactory.cc @@ -4,9 +4,11 @@ #include "SeedingRegionByTracks.h" #include "SeedingRegionGlobal.h" #include "SeedingRegionByL1.h" +#include "SeedingRegionByHF.h" EDM_REGISTER_VALIDATED_PLUGINFACTORY(SeedingRegionAlgoFactory, "SeedingRegionAlgoFactory"); DEFINE_EDM_VALIDATED_PLUGIN(SeedingRegionAlgoFactory, ticl::SeedingRegionByTracks, "SeedingRegionByTracks"); DEFINE_EDM_VALIDATED_PLUGIN(SeedingRegionAlgoFactory, ticl::SeedingRegionGlobal, "SeedingRegionGlobal"); DEFINE_EDM_VALIDATED_PLUGIN(SeedingRegionAlgoFactory, ticl::SeedingRegionByL1, "SeedingRegionByL1"); +DEFINE_EDM_VALIDATED_PLUGIN(SeedingRegionAlgoFactory, ticl::SeedingRegionByHF, "SeedingRegionByHF"); diff --git a/RecoHGCal/TICL/plugins/SeedingRegionByHF.cc b/RecoHGCal/TICL/plugins/SeedingRegionByHF.cc new file mode 100644 index 0000000000000..f995a42777118 --- /dev/null +++ b/RecoHGCal/TICL/plugins/SeedingRegionByHF.cc @@ -0,0 +1,62 @@ +#include +#include +#include + +#include "SeedingRegionByHF.h" + +using namespace ticl; + +SeedingRegionByHF::SeedingRegionByHF(const edm::ParameterSet &conf, edm::ConsumesCollector &sumes) + : SeedingRegionAlgoBase(conf, sumes), + hfhits_token_(sumes.consumes(conf.getParameter("hits"))), + minAbsEta_(conf.getParameter("minAbsEta")), + maxAbsEta_(conf.getParameter("maxAbsEta")), + minEt_(conf.getParameter("minEt")) { + geo_token_ = sumes.esConsumes(); +} + +SeedingRegionByHF::~SeedingRegionByHF() {} + +void SeedingRegionByHF::initialize(const edm::EventSetup &es) { geometry_ = &es.getData(geo_token_); } + +void SeedingRegionByHF::makeRegions(const edm::Event &ev, + const edm::EventSetup &es, + std::vector &result) { + const auto &recHits = ev.get(hfhits_token_); + + for (const auto &erh : recHits) { + const HcalDetId &detid = (HcalDetId)erh.detid(); + if (erh.energy() < minEt_) + continue; + + const GlobalPoint &globalPosition = + geometry_->getSubdetectorGeometry(DetId::Hcal, HcalForward)->getGeometry(detid)->getPosition(detid); + auto eta = globalPosition.eta(); + + if (std::abs(eta) < minAbsEta_ || std::abs(eta) > maxAbsEta_) + continue; + + int iSide = int(eta > 0); + int idx = 0; + edm::ProductID hfSeedId = edm::ProductID(detid.rawId()); + + auto phi = globalPosition.phi(); + double theta = 2 * atan(exp(eta)); + result.emplace_back( + globalPosition, GlobalVector(GlobalVector::Polar(theta, phi, erh.energy())), iSide, idx, hfSeedId); + } + + // sorting seeding region by descending momentum + std::sort(result.begin(), result.end(), [](const TICLSeedingRegion &a, const TICLSeedingRegion &b) { + return a.directionAtOrigin.perp2() > b.directionAtOrigin.perp2(); + }); +} + +void SeedingRegionByHF::fillPSetDescription(edm::ParameterSetDescription &desc) { + desc.add("hits", edm::InputTag("hfreco")); + desc.add("algo_verbosity", 0); + desc.add("minAbsEta", 3.0); + desc.add("maxAbsEta", 4.0); + desc.add("minEt", 5); + SeedingRegionAlgoBase::fillPSetDescription(desc); +} diff --git a/RecoHGCal/TICL/plugins/SeedingRegionByHF.h b/RecoHGCal/TICL/plugins/SeedingRegionByHF.h new file mode 100644 index 0000000000000..795299c8b31a1 --- /dev/null +++ b/RecoHGCal/TICL/plugins/SeedingRegionByHF.h @@ -0,0 +1,54 @@ +// Author: dalfonso@cern.ch +// Date: 02/2021 + +#ifndef RecoHGCal_TICL_SeedingRegionByHF_h +#define RecoHGCal_TICL_SeedingRegionByHF_h +#include // unique_ptr +#include +#include "RecoHGCal/TICL/plugins/SeedingRegionAlgoBase.h" + +#include "FWCore/Framework/interface/ESHandle.h" +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" +#include "FWCore/Framework/interface/ConsumesCollector.h" +#include "CommonTools/Utils/interface/StringCutObjectSelector.h" +#include "FWCore/Utilities/interface/ESGetToken.h" + +#include "DataFormats/HcalRecHit/interface/HFRecHit.h" +#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" +#include "Geometry/CaloGeometry/interface/CaloGeometry.h" +#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" +#include "Geometry/Records/interface/CaloGeometryRecord.h" + +namespace ticl { + class SeedingRegionByHF final : public SeedingRegionAlgoBase { + public: + SeedingRegionByHF(const edm::ParameterSet& conf, edm::ConsumesCollector& sumes); + ~SeedingRegionByHF() override; + + void initialize(const edm::EventSetup& es) override; + + void makeRegions(const edm::Event& ev, const edm::EventSetup& es, std::vector& result) override; + static void fillPSetDescription(edm::ParameterSetDescription& desc); + static edm::ParameterSetDescription makePSetDescription(); + + private: + void buildFirstLayers(); + + edm::EDGetTokenT hfhits_token_; + + int algoVerbosity_ = 0; + + double minAbsEta_; + double maxAbsEta_; + double minEt_; + + edm::ESGetToken geo_token_; + const CaloGeometry* geometry_; + }; +} // namespace ticl +#endif diff --git a/RecoHGCal/TICL/plugins/SeedingRegionByTracks.cc b/RecoHGCal/TICL/plugins/SeedingRegionByTracks.cc index c7b07b757775b..0be82627ea2a5 100644 --- a/RecoHGCal/TICL/plugins/SeedingRegionByTracks.cc +++ b/RecoHGCal/TICL/plugins/SeedingRegionByTracks.cc @@ -17,12 +17,15 @@ SeedingRegionByTracks::SeedingRegionByTracks(const edm::ParameterSet &conf, edm: : SeedingRegionAlgoBase(conf, sumes), tracks_token_(sumes.consumes(conf.getParameter("tracks"))), cutTk_(conf.getParameter("cutTk")), + detector_(conf.getParameter("detector")), propName_(conf.getParameter("propagator")), - hdc_token_(sumes.esConsumes( - edm::ESInputTag("", detectorName_))), bfield_token_(sumes.esConsumes()), propagator_token_(sumes.esConsumes( - edm::ESInputTag("", propName_))) {} + edm::ESInputTag("", propName_))) { + std::string detectorName_ = (detector_ == "HFNose") ? "HGCalHFNoseSensitive" : "HGCalEESensitive"; + hdc_token_ = sumes.esConsumes( + edm::ESInputTag("", detectorName_)); +} SeedingRegionByTracks::~SeedingRegionByTracks() {} @@ -71,6 +74,7 @@ void SeedingRegionByTracks::fillPSetDescription(edm::ParameterSetDescription &de "1.48 < abs(eta) < 3.0 && pt > 1. && quality(\"highPurity\") && " "hitPattern().numberOfLostHits(\"MISSING_OUTER_HITS\") < 5"); desc.add("propagator", "PropagatorWithMaterial"); + desc.add("detector", "HGCAL"); SeedingRegionAlgoBase::fillPSetDescription(desc); } diff --git a/RecoHGCal/TICL/plugins/SeedingRegionByTracks.h b/RecoHGCal/TICL/plugins/SeedingRegionByTracks.h index fc8f0f539ef22..328a351d482f7 100644 --- a/RecoHGCal/TICL/plugins/SeedingRegionByTracks.h +++ b/RecoHGCal/TICL/plugins/SeedingRegionByTracks.h @@ -46,7 +46,7 @@ namespace ticl { std::once_flag initializeGeometry_; const HGCalDDDConstants* hgcons_; const StringCutObjectSelector cutTk_; - inline static const std::string detectorName_ = "HGCalEESensitive"; + const std::string detector_; edm::ESHandle propagator_; const std::string propName_; edm::ESHandle bfield_; diff --git a/RecoHGCal/TICL/plugins/TICLSeedingRegionProducer.cc b/RecoHGCal/TICL/plugins/TICLSeedingRegionProducer.cc index ca4a80c3784e7..a25a61820c23e 100644 --- a/RecoHGCal/TICL/plugins/TICLSeedingRegionProducer.cc +++ b/RecoHGCal/TICL/plugins/TICLSeedingRegionProducer.cc @@ -15,10 +15,11 @@ #include "FWCore/ParameterSet/interface/PluginDescription.h" #include "FWCore/Framework/interface/ConsumesCollector.h" #include "RecoHGCal/TICL/plugins/SeedingRegionAlgoBase.h" +#include "SeedingRegionAlgoFactory.h" #include "SeedingRegionByL1.h" #include "SeedingRegionByTracks.h" #include "SeedingRegionGlobal.h" -#include "SeedingRegionAlgoFactory.h" +#include "SeedingRegionByHF.h" using namespace ticl; diff --git a/RecoHGCal/TICL/python/EMStep_cff.py b/RecoHGCal/TICL/python/EMStep_cff.py index 0aa6f9ca50fd9..be4ee499fddc8 100644 --- a/RecoHGCal/TICL/python/EMStep_cff.py +++ b/RecoHGCal/TICL/python/EMStep_cff.py @@ -51,21 +51,25 @@ filteredLayerClustersHFNoseEM = filteredLayerClustersEM.clone( LayerClusters = 'hgcalLayerClustersHFNose', - LayerClustersInputMask = "hgcalLayerClustersHFNose:InitialLayerClustersMask", + LayerClustersInputMask = 'ticlTrackstersHFNoseTrkEM', iteration_label = "EMn", + min_cluster_size = 2, # inclusive algo_number = 9 -#no tracking mask for EM for now ) ticlTrackstersHFNoseEM = ticlTrackstersEM.clone( detector = "HFNose", layer_clusters = "hgcalLayerClustersHFNose", layer_clusters_hfnose_tiles = "ticlLayerTileHFNose", - original_mask = "hgcalLayerClustersHFNose:InitialLayerClustersMask", + original_mask = "ticlTrackstersHFNoseTrkEM", filtered_mask = "filteredLayerClustersHFNoseEM:EMn", seeding_regions = "ticlSeedingGlobalHFNose", time_layerclusters = "hgcalLayerClustersHFNose:timeLayerCluster", - min_layers_per_trackster = 6 + itername = "EMn", + filter_on_categories = [0, 1], + min_layers_per_trackster = 5, + pid_threshold = 0., + shower_start_max_layer = 5 ### inclusive ) ticlHFNoseEMStepTask = cms.Task(ticlSeedingGlobalHFNose diff --git a/RecoHGCal/TICL/python/HADStep_cff.py b/RecoHGCal/TICL/python/HADStep_cff.py index 72efaebc201ec..9af07d2e4faf4 100644 --- a/RecoHGCal/TICL/python/HADStep_cff.py +++ b/RecoHGCal/TICL/python/HADStep_cff.py @@ -1,6 +1,6 @@ import FWCore.ParameterSet.Config as cms -from RecoHGCal.TICL.TICLSeedingRegions_cff import ticlSeedingGlobal +from RecoHGCal.TICL.TICLSeedingRegions_cff import ticlSeedingGlobal, ticlSeedingGlobalHFNose from RecoHGCal.TICL.ticlLayerTileProducer_cfi import ticlLayerTileProducer as _ticlLayerTileProducer from RecoHGCal.TICL.trackstersProducer_cfi import trackstersProducer as _trackstersProducer from RecoHGCal.TICL.filteredLayerClustersProducer_cfi import filteredLayerClustersProducer as _filteredLayerClustersProducer @@ -44,3 +44,32 @@ ,ticlTrackstersHAD ,ticlMultiClustersFromTrackstersHAD) +filteredLayerClustersHFNoseHAD = _filteredLayerClustersProducer.clone( + min_cluster_size = 2, # inclusive + algo_number = 9, + iteration_label = "HADn", + LayerClusters = 'hgcalLayerClustersHFNose', + LayerClustersInputMask = "hgcalLayerClustersHFNose:InitialLayerClustersMask" +) + +ticlTrackstersHFNoseHAD = _trackstersProducer.clone( + detector = "HFNose", + layer_clusters = "hgcalLayerClustersHFNose", + layer_clusters_hfnose_tiles = "ticlLayerTileHFNose", + original_mask = "hgcalLayerClustersHFNose:InitialLayerClustersMask", + filtered_mask = "filteredLayerClustersHFNoseHAD:HADn", + seeding_regions = "ticlSeedingGlobalHFNose", + time_layerclusters = "hgcalLayerClustersHFNose:timeLayerCluster", + # For the moment we mask everything w/o requirements since we are last + pid_threshold = 0., + skip_layers = 1, + min_layers_per_trackster = 5, + min_cos_theta = 0.866, # ~30 degrees + min_cos_pointing = 0.819, # ~35 degrees + max_delta_time = -1, + itername = "HADRONIC" + ) + +ticlHFNoseHADStepTask = cms.Task(ticlSeedingGlobalHFNose + ,filteredLayerClustersHFNoseHAD + ,ticlTrackstersHFNoseHAD) diff --git a/RecoHGCal/TICL/python/TICLSeedingRegions_cff.py b/RecoHGCal/TICL/python/TICLSeedingRegions_cff.py index e5d55aaec4883..0013688c98db3 100644 --- a/RecoHGCal/TICL/python/TICLSeedingRegions_cff.py +++ b/RecoHGCal/TICL/python/TICLSeedingRegions_cff.py @@ -15,3 +15,16 @@ ticlSeedingGlobalHFNose = _ticlSeedingRegionProducer.clone( seedingPSet = _ticlSeedingRegionProducer.seedingPSet.clone(type="SeedingRegionGlobal") ) + +# fixme: empty seed, need to work on propagator +ticlSeedingTrkHFNose = _ticlSeedingRegionProducer.clone( + seedingPSet = _ticlSeedingRegionProducer.seedingPSet.clone( + type="SeedingRegionByTracks", + cutTk = cms.string('3. < abs(eta) < 4. && pt > 1. && quality("highPurity") && hitPattern().numberOfLostHits("MISSING_OUTER_HITS") < 5'), + detector = cms.string("HFNose") + ) +) + +ticlSeedingByHFHFNose = _ticlSeedingRegionProducer.clone( + seedingPSet = _ticlSeedingRegionProducer.seedingPSet.clone(type="SeedingRegionByHF") +) diff --git a/RecoHGCal/TICL/python/TrkEMStep_cff.py b/RecoHGCal/TICL/python/TrkEMStep_cff.py index 458f489f696ec..826e194f6f7ff 100644 --- a/RecoHGCal/TICL/python/TrkEMStep_cff.py +++ b/RecoHGCal/TICL/python/TrkEMStep_cff.py @@ -1,6 +1,6 @@ import FWCore.ParameterSet.Config as cms -from RecoHGCal.TICL.TICLSeedingRegions_cff import ticlSeedingTrk +from RecoHGCal.TICL.TICLSeedingRegions_cff import ticlSeedingTrk, ticlSeedingTrkHFNose from RecoHGCal.TICL.trackstersProducer_cfi import trackstersProducer as _trackstersProducer from RecoHGCal.TICL.filteredLayerClustersProducer_cfi import filteredLayerClustersProducer as _filteredLayerClustersProducer from RecoHGCal.TICL.multiClustersFromTrackstersProducer_cfi import multiClustersFromTrackstersProducer as _multiClustersFromTrackstersProducer @@ -18,7 +18,7 @@ # CA - PATTERN RECOGNITION ticlTrackstersTrkEM = _trackstersProducer.clone( - filtered_mask = cms.InputTag("filteredLayerClustersTrkEM", "TrkEM"), + filtered_mask = "filteredLayerClustersTrkEM:TrkEM", seeding_regions = "ticlSeedingTrk", filter_on_categories = [0, 1], pid_threshold = 0.5, @@ -49,3 +49,31 @@ ,ticlTrackstersTrkEM ,ticlMultiClustersFromTrackstersTrkEM) +filteredLayerClustersHFNoseTrkEM = filteredLayerClustersTrkEM.clone( + LayerClusters = 'hgcalLayerClustersHFNose', + LayerClustersInputMask = "hgcalLayerClustersHFNose:InitialLayerClustersMask", + min_cluster_size = 2, # inclusive + algo_number = 9, + iteration_label = "TrkEMn" +) + +ticlTrackstersHFNoseTrkEM = ticlTrackstersTrkEM.clone( + detector = "HFNose", + layer_clusters = "hgcalLayerClustersHFNose", + layer_clusters_hfnose_tiles = "ticlLayerTileHFNose", + original_mask = "hgcalLayerClustersHFNose:InitialLayerClustersMask", + filtered_mask = "filteredLayerClustersHFNoseTrkEM:TrkEMn", + seeding_regions = "ticlSeedingTrkHFNose", + time_layerclusters = "hgcalLayerClustersHFNose:timeLayerCluster", + itername = "TrkEMn", + filter_on_categories = [0, 1], + min_layers_per_trackster = 5, + pid_threshold = 0., + shower_start_max_layer = 5 #inclusive + +) + +ticlHFNoseTrkEMStepTask = cms.Task(ticlSeedingTrkHFNose + ,filteredLayerClustersHFNoseTrkEM + ,ticlTrackstersHFNoseTrkEM) + diff --git a/RecoHGCal/TICL/python/iterativeTICL_cff.py b/RecoHGCal/TICL/python/iterativeTICL_cff.py index a3e8851ab68d4..9c961d580d09e 100644 --- a/RecoHGCal/TICL/python/iterativeTICL_cff.py +++ b/RecoHGCal/TICL/python/iterativeTICL_cff.py @@ -37,8 +37,9 @@ ticlLayerTileHFNoseTask = cms.Task(ticlLayerTileHFNose) -iterHFNoseTICLTask = cms.Task( - ticlLayerTileHFNoseTask, - ticlHFNoseMIPStepTask, - ticlHFNoseEMStepTask +iterHFNoseTICLTask = cms.Task(ticlLayerTileHFNoseTask + ,ticlHFNoseTrkEMStepTask + ,ticlHFNoseEMStepTask + ,ticlHFNoseHADStepTask + ,ticlHFNoseMIPStepTask ) diff --git a/SimCalorimetry/HGCalAssociatorProducers/python/LCToCPAssociation_cfi.py b/SimCalorimetry/HGCalAssociatorProducers/python/LCToCPAssociation_cfi.py index ca29d5bd8eb10..956ce90365dba 100644 --- a/SimCalorimetry/HGCalAssociatorProducers/python/LCToCPAssociation_cfi.py +++ b/SimCalorimetry/HGCalAssociatorProducers/python/LCToCPAssociation_cfi.py @@ -10,3 +10,7 @@ premix_stage2.toModify(layerClusterCaloParticleAssociation, label_cp = "mixData:MergedCaloTruth" ) + +layerClusterCaloParticleAssociationHFNose = layerClusterCaloParticleAssociation.clone( + label_lc = "hgcalLayerClustersHFNose" +) diff --git a/SimCalorimetry/HGCalAssociatorProducers/python/LCToSCAssociation_cfi.py b/SimCalorimetry/HGCalAssociatorProducers/python/LCToSCAssociation_cfi.py index 4d2515b0e0191..b070e219ce25a 100644 --- a/SimCalorimetry/HGCalAssociatorProducers/python/LCToSCAssociation_cfi.py +++ b/SimCalorimetry/HGCalAssociatorProducers/python/LCToSCAssociation_cfi.py @@ -10,3 +10,7 @@ premix_stage2.toModify(layerClusterSimClusterAssociation, label_scl = "mixData:MergedCaloTruth" ) + +layerClusterSimClusterAssociationHFNose = layerClusterSimClusterAssociation.clone( + label_lcl = "hgcalLayerClustersHFNose" +) diff --git a/SimGeneral/MixingModule/python/caloTruthProducer_cfi.py b/SimGeneral/MixingModule/python/caloTruthProducer_cfi.py index d257b553e3f92..0696591ad7b32 100644 --- a/SimGeneral/MixingModule/python/caloTruthProducer_cfi.py +++ b/SimGeneral/MixingModule/python/caloTruthProducer_cfi.py @@ -35,14 +35,14 @@ from Configuration.ProcessModifiers.premix_stage1_cff import premix_stage1 premix_stage1.toModify(caloParticles, premixStage1 = True) -#from Configuration.Eras.Modifier_phase2_hfnose_cff import phase2_hfnose -#phase2_hfnose.toModify( -# caloParticles, -# simHitCollections = dict( -# hgc = caloParticles.simHitCollections.hgc + [cms.InputTag('g4SimHits','HFNoseHits')], +from Configuration.Eras.Modifier_phase2_hfnose_cff import phase2_hfnose +phase2_hfnose.toModify( + caloParticles, + simHitCollections = dict( + hgc = caloParticles.simHitCollections.hgc + [cms.InputTag('g4SimHits','HFNoseHits')], # hcal = cms.VInputTag(cms.InputTag('g4SimHits','HcalHits')) -# ) -#) + ) +) from Configuration.ProcessModifiers.run3_ecalclustering_cff import run3_ecalclustering run3_ecalclustering.toModify( diff --git a/Validation/Configuration/python/hgcalSimValid_cff.py b/Validation/Configuration/python/hgcalSimValid_cff.py index 4a3128e97816d..2fc76100faa36 100644 --- a/Validation/Configuration/python/hgcalSimValid_cff.py +++ b/Validation/Configuration/python/hgcalSimValid_cff.py @@ -3,6 +3,8 @@ from SimCalorimetry.HGCalSimProducers.hgcHitAssociation_cfi import lcAssocByEnergyScoreProducer, scAssocByEnergyScoreProducer from SimCalorimetry.HGCalAssociatorProducers.LCToCPAssociation_cfi import layerClusterCaloParticleAssociation as layerClusterCaloParticleAssociationProducer from SimCalorimetry.HGCalAssociatorProducers.LCToSCAssociation_cfi import layerClusterSimClusterAssociation as layerClusterSimClusterAssociationProducer +from SimCalorimetry.HGCalAssociatorProducers.LCToCPAssociation_cfi import layerClusterCaloParticleAssociationHFNose as layerClusterCaloParticleAssociationProducerHFNose +from SimCalorimetry.HGCalAssociatorProducers.LCToSCAssociation_cfi import layerClusterSimClusterAssociationHFNose as layerClusterSimClusterAssociationProducerHFNose from Validation.HGCalValidation.simhitValidation_cff import * from Validation.HGCalValidation.digiValidation_cff import * @@ -37,3 +39,6 @@ + hgcalValidatorSequence + hgcalTiclPFValidation + hgcalPFJetValidation) + +_hfnose_hgcalAssociatorsTask = hgcalAssociators.copy() +_hfnose_hgcalAssociatorsTask.add(layerClusterCaloParticleAssociationProducerHFNose, layerClusterSimClusterAssociationProducerHFNose)