Skip to content

Commit 4162d66

Browse files
authored
Merge pull request cms-sw#33645 from rovere/CLUE3D_12X
[HGCAL] Pattern Recognition as Plugins, with CLUE3D addition.
2 parents b03bf31 + d501c9e commit 4162d66

21 files changed

+1103
-102
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import FWCore.ParameterSet.Config as cms
2+
3+
# This modifier is for injecting CLUE3D-based iterations in TICL.
4+
5+
clue3D = cms.Modifier()

RecoHGCal/TICL/BuildFile.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<use name="DataFormats/HGCalReco"/>
33
<use name="DataFormats/VertexReco"/>
44
<use name="FWCore/PluginManager"/>
5+
<use name="PhysicsTools/TensorFlow"/>
56
<export>
67
<lib name="1"/>
78
</export>
File renamed without changes.

RecoHGCal/TICL/plugins/PatternRecognitionAlgoBase.h renamed to RecoHGCal/TICL/interface/PatternRecognitionAlgoBase.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
#include "DataFormats/HGCalReco/interface/TICLSeedingRegion.h"
1313
#include "FWCore/ParameterSet/interface/ParameterSet.h"
1414
#include "DataFormats/Common/interface/ValueMap.h"
15-
#include "RecoHGCal/TICL/plugins/GlobalCache.h"
15+
#include "RecoHGCal/TICL/interface/GlobalCache.h"
16+
#include "FWCore/Framework/interface/ConsumesCollector.h"
1617

1718
namespace edm {
1819
class Event;
@@ -23,7 +24,7 @@ namespace ticl {
2324
template <typename TILES>
2425
class PatternRecognitionAlgoBaseT {
2526
public:
26-
PatternRecognitionAlgoBaseT(const edm::ParameterSet& conf, const CacheBase* cache)
27+
PatternRecognitionAlgoBaseT(const edm::ParameterSet& conf, const CacheBase* cache, edm::ConsumesCollector)
2728
: algo_verbosity_(conf.getParameter<int>("algo_verbosity")) {}
2829
virtual ~PatternRecognitionAlgoBaseT(){};
2930

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#include "RecoHGCal/TICL/plugins/PatternRecognitionPluginFactory.h"
2+
#include "PatternRecognitionbyCA.h"
3+
#include "PatternRecognitionbyCLUE3D.h"
4+
#include "FWCore/ParameterSet/interface/ValidatedPluginFactoryMacros.h"
5+
#include "FWCore/ParameterSet/interface/ValidatedPluginMacros.h"
6+
7+
EDM_REGISTER_VALIDATED_PLUGINFACTORY(PatternRecognitionFactory, "PatternRecognitionFactory");
8+
EDM_REGISTER_VALIDATED_PLUGINFACTORY(PatternRecognitionHFNoseFactory, "PatternRecognitionHFNoseFactory");
9+
DEFINE_EDM_VALIDATED_PLUGIN(PatternRecognitionFactory, ticl::PatternRecognitionbyCA<TICLLayerTiles>, "CA");
10+
DEFINE_EDM_VALIDATED_PLUGIN(PatternRecognitionFactory, ticl::PatternRecognitionbyCLUE3D<TICLLayerTiles>, "CLUE3D");
11+
DEFINE_EDM_VALIDATED_PLUGIN(PatternRecognitionHFNoseFactory, ticl::PatternRecognitionbyCA<TICLLayerTilesHFNose>, "CA");
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#ifndef RecoHGCal_TICL_PatternRecognitionPluginFactory_H
2+
#define RecoHGCal_TICL_PatternRecognitionPluginFactory_H
3+
4+
#include "FWCore/PluginManager/interface/PluginFactory.h"
5+
#include "FWCore/ParameterSet/interface/ParameterSet.h"
6+
#include "FWCore/Framework/interface/ConsumesCollector.h"
7+
#include "RecoHGCal/TICL/interface/PatternRecognitionAlgoBase.h"
8+
#include "RecoHGCal/TICL/interface/GlobalCache.h"
9+
10+
typedef edmplugin::PluginFactory<ticl::PatternRecognitionAlgoBaseT<TICLLayerTiles>*(
11+
const edm::ParameterSet&, const ticl::CacheBase*, edm::ConsumesCollector)>
12+
PatternRecognitionFactory;
13+
typedef edmplugin::PluginFactory<ticl::PatternRecognitionAlgoBaseT<TICLLayerTilesHFNose>*(
14+
const edm::ParameterSet&, const ticl::CacheBase*, edm::ConsumesCollector)>
15+
PatternRecognitionHFNoseFactory;
16+
17+
#endif

RecoHGCal/TICL/plugins/PatternRecognitionbyCA.cc

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ template <typename TILES>
1919
PatternRecognitionbyCA<TILES>::PatternRecognitionbyCA(const edm::ParameterSet &conf,
2020
const CacheBase *cache,
2121
edm::ConsumesCollector iC)
22-
: PatternRecognitionAlgoBaseT<TILES>(conf, cache),
22+
: PatternRecognitionAlgoBaseT<TILES>(conf, cache, iC),
2323
caloGeomToken_(iC.esConsumes<CaloGeometry, CaloGeometryRecord>()),
2424
theGraph_(std::make_unique<HGCGraphT<TILES>>()),
2525
oneTracksterPerTrackSeed_(conf.getParameter<bool>("oneTracksterPerTrackSeed")),
@@ -468,5 +468,34 @@ void PatternRecognitionbyCA<TILES>::energyRegressionAndID(const std::vector<reco
468468
}
469469
}
470470

471+
template <typename TILES>
472+
void PatternRecognitionbyCA<TILES>::fillPSetDescription(edm::ParameterSetDescription &iDesc) {
473+
iDesc.add<int>("algo_verbosity", 0);
474+
iDesc.add<bool>("oneTracksterPerTrackSeed", false);
475+
iDesc.add<bool>("promoteEmptyRegionToTrackster", false);
476+
iDesc.add<bool>("out_in_dfs", true);
477+
iDesc.add<int>("max_out_in_hops", 10);
478+
iDesc.add<double>("min_cos_theta", 0.915);
479+
iDesc.add<double>("min_cos_pointing", -1.);
480+
iDesc.add<double>("root_doublet_max_distance_from_seed_squared", 9999);
481+
iDesc.add<double>("etaLimitIncreaseWindow", 2.1);
482+
iDesc.add<int>("skip_layers", 0);
483+
iDesc.add<int>("max_missing_layers_in_trackster", 9999);
484+
iDesc.add<int>("shower_start_max_layer", 9999)->setComment("make default such that no filtering is applied");
485+
iDesc.add<int>("min_layers_per_trackster", 10);
486+
iDesc.add<std::vector<int>>("filter_on_categories", {0});
487+
iDesc.add<double>("pid_threshold", 0.)->setComment("make default such that no filtering is applied");
488+
iDesc.add<double>("energy_em_over_total_threshold", -1.)
489+
->setComment("make default such that no filtering is applied");
490+
iDesc.add<double>("max_longitudinal_sigmaPCA", 9999);
491+
iDesc.add<double>("max_delta_time", 3.)->setComment("nsigma");
492+
iDesc.add<std::string>("eid_input_name", "input");
493+
iDesc.add<std::string>("eid_output_name_energy", "output/regressed_energy");
494+
iDesc.add<std::string>("eid_output_name_id", "output/id_probabilities");
495+
iDesc.add<double>("eid_min_cluster_energy", 1.);
496+
iDesc.add<int>("eid_n_layers", 50);
497+
iDesc.add<int>("eid_n_clusters", 10);
498+
}
499+
471500
template class ticl::PatternRecognitionbyCA<TICLLayerTiles>;
472501
template class ticl::PatternRecognitionbyCA<TICLLayerTilesHFNose>;

RecoHGCal/TICL/plugins/PatternRecognitionbyCA.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@
44
#ifndef __RecoHGCal_TICL_PRbyCA_H__
55
#define __RecoHGCal_TICL_PRbyCA_H__
66
#include <memory> // unique_ptr
7-
#include "RecoHGCal/TICL/plugins/PatternRecognitionAlgoBase.h"
7+
#include "RecoHGCal/TICL/interface/PatternRecognitionAlgoBase.h"
88
#include "RecoLocalCalo/HGCalRecAlgos/interface/RecHitTools.h"
99
#include "PhysicsTools/TensorFlow/interface/TensorFlow.h"
10-
#include "FWCore/Framework/interface/ConsumesCollector.h"
1110
#include "HGCGraph.h"
1211

1312
namespace ticl {
@@ -26,6 +25,8 @@ namespace ticl {
2625
std::unordered_map<int, std::vector<int>>& seedToTracksterAssociation,
2726
const edm::ProductID& collectionID) const;
2827

28+
static void fillPSetDescription(edm::ParameterSetDescription& iDesc);
29+
2930
private:
3031
void mergeTrackstersTRK(const std::vector<Trackster>&,
3132
const std::vector<reco::CaloCluster>&,

0 commit comments

Comments
 (0)