Skip to content

Commit

Permalink
Merge pull request #1 from Sam-Harper/swagata87/egmhlt_ph2_timing_113X
Browse files Browse the repository at this point in the history
updating TICLSeedingRegionProducer to use plugins : 113X
  • Loading branch information
swagata87 committed Mar 2, 2021
2 parents 9e20287 + 945bbd7 commit 471bd6f
Show file tree
Hide file tree
Showing 10 changed files with 58 additions and 30 deletions.
3 changes: 3 additions & 0 deletions RecoHGCal/TICL/plugins/SeedingRegionAlgoBase.h
Expand Up @@ -9,6 +9,7 @@
#include <vector>
#include "DataFormats/HGCalReco/interface/Common.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
#include "DataFormats/HGCalReco/interface/TICLSeedingRegion.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"

Expand All @@ -30,6 +31,8 @@ namespace ticl {
const edm::EventSetup& es,
std::vector<TICLSeedingRegion>& result) = 0;

static void fillPSetDescription(edm::ParameterSetDescription& desc) { desc.add<int>("algo_verbosity", 0); }

enum VerbosityLevel { None = 0, Basic, Advanced, Expert, Guru };

protected:
Expand Down
13 changes: 13 additions & 0 deletions RecoHGCal/TICL/plugins/SeedingRegionAlgoFactory.cc
@@ -0,0 +1,13 @@
#include "FWCore/ParameterSet/interface/ValidatedPluginFactoryMacros.h"
#include "FWCore/ParameterSet/interface/ValidatedPluginMacros.h"
#include "SeedingRegionAlgoFactory.h"
#include "SeedingRegionByTracks.h"
#include "SeedingRegionGlobal.h"
#include "SeedingRegionByL1.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");

10 changes: 10 additions & 0 deletions RecoHGCal/TICL/plugins/SeedingRegionAlgoFactory.h
@@ -0,0 +1,10 @@
#ifndef RecoHGCAL_TICL_SeedingRegionAlgoFactory_h
#define RecoHGCAL_TICL_SeedingRegionAlgoFactory_h

#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/PluginManager/interface/PluginFactory.h"
#include "SeedingRegionAlgoBase.h"

using SeedingRegionAlgoFactory = edmplugin::PluginFactory<ticl::SeedingRegionAlgoBase*(const edm::ParameterSet&, edm::ConsumesCollector&)>;

#endif
2 changes: 1 addition & 1 deletion RecoHGCal/TICL/plugins/SeedingRegionByL1.cc
Expand Up @@ -59,12 +59,12 @@ double ticl::SeedingRegionByL1::tkEmOfflineEt(double et) const {

void ticl::SeedingRegionByL1::fillPSetDescription(edm::ParameterSetDescription &desc) {
desc.add<edm::InputTag>("l1TkEmColl", edm::InputTag("L1TkPhotonsHGC", "EG"));
desc.add<int>("algo_verbosity", 0);
desc.add<double>("minPt", 10);
desc.add<double>("minAbsEta", 1.479);
desc.add<double>("maxAbsEta", 4.0);
desc.add<std::vector<double>>("endcapScalings", {3.17445, 1.13219, 0.0});
desc.add<int>("quality", 5);
SeedingRegionAlgoBase::fillPSetDescription(desc);
}

edm::ParameterSetDescription ticl::SeedingRegionByL1::makePSetDescription() {
Expand Down
9 changes: 9 additions & 0 deletions RecoHGCal/TICL/plugins/SeedingRegionByTracks.cc
Expand Up @@ -65,6 +65,15 @@ void SeedingRegionByTracks::makeRegions(const edm::Event &ev,
});
}

void SeedingRegionByTracks::fillPSetDescription(edm::ParameterSetDescription &desc) {
desc.add<edm::InputTag>("tracks", edm::InputTag("generalTracks"));
desc.add<std::string>("cutTk",
"1.48 < abs(eta) < 3.0 && pt > 1. && quality(\"highPurity\") && "
"hitPattern().numberOfLostHits(\"MISSING_OUTER_HITS\") < 5");
desc.add<std::string>("propagator", "PropagatorWithMaterial");
SeedingRegionAlgoBase::fillPSetDescription(desc);
}

void SeedingRegionByTracks::buildFirstLayers() {
float zVal = hgcons_->waferZ(1, true);
std::pair<double, double> rMinMax = hgcons_->rangeR(zVal, true);
Expand Down
2 changes: 2 additions & 0 deletions RecoHGCal/TICL/plugins/SeedingRegionByTracks.h
Expand Up @@ -37,6 +37,8 @@ namespace ticl {

void makeRegions(const edm::Event& ev, const edm::EventSetup& es, std::vector<TICLSeedingRegion>& result) override;

static void fillPSetDescription(edm::ParameterSetDescription& desc);

private:
void buildFirstLayers();

Expand Down
4 changes: 4 additions & 0 deletions RecoHGCal/TICL/plugins/SeedingRegionGlobal.cc
Expand Up @@ -26,3 +26,7 @@ void SeedingRegionGlobal::makeRegions(const edm::Event &ev,
result.emplace_back(GlobalPoint(0., 0., 0.), GlobalVector(0., 0., 0.), i, -1, edm::ProductID());
}
}

void SeedingRegionGlobal::fillPSetDescription(edm::ParameterSetDescription &desc) {
SeedingRegionAlgoBase::fillPSetDescription(desc);
}
2 changes: 2 additions & 0 deletions RecoHGCal/TICL/plugins/SeedingRegionGlobal.h
Expand Up @@ -25,6 +25,8 @@ namespace ticl {
void initialize(const edm::EventSetup& es) override{};

void makeRegions(const edm::Event& ev, const edm::EventSetup& es, std::vector<TICLSeedingRegion>& result) override;

static void fillPSetDescription(edm::ParameterSetDescription& desc);
};
} // namespace ticl
#endif
37 changes: 11 additions & 26 deletions RecoHGCal/TICL/plugins/TICLSeedingRegionProducer.cc
Expand Up @@ -12,11 +12,13 @@
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
#include "FWCore/ParameterSet/interface/PluginDescription.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"
#include "RecoHGCal/TICL/plugins/SeedingRegionAlgoBase.h"
#include "SeedingRegionByL1.h"
#include "SeedingRegionByTracks.h"
#include "SeedingRegionGlobal.h"
#include "SeedingRegionAlgoFactory.h"

using namespace ticl;

Expand All @@ -32,41 +34,24 @@ class TICLSeedingRegionProducer : public edm::stream::EDProducer<> {

private:
std::unique_ptr<SeedingRegionAlgoBase> myAlgo_;
int algoId_;
std::string seedingId_;
};

DEFINE_FWK_MODULE(TICLSeedingRegionProducer);

TICLSeedingRegionProducer::TICLSeedingRegionProducer(const edm::ParameterSet& ps)
: algoId_(ps.getParameter<int>("algoId")) {
TICLSeedingRegionProducer::TICLSeedingRegionProducer(const edm::ParameterSet& ps) {
auto sumes = consumesCollector();

switch (algoId_) {
case 1:
myAlgo_ = std::make_unique<SeedingRegionByTracks>(ps, sumes);
break;
case 2:
myAlgo_ = std::make_unique<SeedingRegionGlobal>(ps, sumes);
break;
case 3:
myAlgo_ = std::make_unique<SeedingRegionByL1>(ps.getParameterSet("seedTiclByL1Config"), sumes); // needed for HLT
break;
default:
break;
}
auto seedingPSet = ps.getParameter<edm::ParameterSet>("seedingPSet");
auto algoType = seedingPSet.getParameter<std::string>("type");
myAlgo_ = SeedingRegionAlgoFactory::get()->create(algoType, seedingPSet, sumes);
produces<std::vector<TICLSeedingRegion>>();
}

void TICLSeedingRegionProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
edm::ParameterSetDescription desc;
desc.add<int>("algo_verbosity", 0);
desc.add<edm::InputTag>("tracks", edm::InputTag("generalTracks"));
desc.add<std::string>("cutTk",
"1.48 < abs(eta) < 3.0 && pt > 1. && quality(\"highPurity\") && "
"hitPattern().numberOfLostHits(\"MISSING_OUTER_HITS\") < 5");
desc.add<std::string>("propagator", "PropagatorWithMaterial");
desc.add<int>("algoId", 1);
desc.add<edm::ParameterSetDescription>("seedTiclByL1Config", SeedingRegionByL1::makePSetDescription());

edm::ParameterSetDescription seedingDesc;
seedingDesc.addNode(edm::PluginDescription<SeedingRegionAlgoFactory>("type", "SeedingRegionGlobal", true));
desc.add<edm::ParameterSetDescription>("seedingPSet", seedingDesc);
descriptions.add("ticlSeedingRegionProducer", desc);
}

Expand Down
6 changes: 3 additions & 3 deletions RecoHGCal/TICL/python/TICLSeedingRegions_cff.py
Expand Up @@ -5,13 +5,13 @@
# SEEDING REGION

ticlSeedingGlobal = _ticlSeedingRegionProducer.clone(
algoId = 2
seedingPSet = _ticlSeedingRegionProducer.seedingPSet.clone(type=cms.string("SeedingRegionGlobal"))
)

ticlSeedingTrk = _ticlSeedingRegionProducer.clone(
algoId = 1
seedingPSet = _ticlSeedingRegionProducer.seedingPSet.clone(type=cms.string("SeedingRegionByTracks"))
)

ticlSeedingGlobalHFNose = _ticlSeedingRegionProducer.clone(
algoId = 2
seedingPSet = _ticlSeedingRegionProducer.seedingPSet.clone(type=cms.string("SeedingRegionGlobal"))
)

0 comments on commit 471bd6f

Please sign in to comment.