Skip to content

Commit

Permalink
Merge pull request #42792 from SohamBhattacharya/fix_phase2hltEgammaL…
Browse files Browse the repository at this point in the history
…1seeds_13_1_0

[Phase-2] [backport] Fix usage of L1 egamma seeds in Phase-2 HLT
  • Loading branch information
cmsbuild authored Sep 19, 2023
2 parents 1642223 + 3fdef2c commit 45c11cf
Show file tree
Hide file tree
Showing 20 changed files with 142 additions and 82 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
ApplyQual1 = cms.bool(True),
ApplyQual2 = cms.bool(True),
EtaBinsForIsolation = cms.vdouble(0.0, 1.479, 2.4),
MaxEta = cms.double(2.4),
MinEta = cms.double(-2.4),
MinAbsEta1 = cms.double(0.0),
MaxAbsEta1 = cms.double(1.479),
MinAbsEta2 = cms.double(1.479),
MaxAbsEta2 = cms.double(2.4),
MinN = cms.int32(2),
MinPt = cms.double(12.0),
Qual1IsMask = cms.bool(True),
Qual2IsMask = cms.bool(False),
Qual2IsMask = cms.bool(True),
Quality1 = cms.int32(2),
Quality2 = cms.int32(5),
Quality2 = cms.int32(2),
Scalings = cms.PSet(
barrel = cms.vdouble(0.805095, 1.18336, 0.0),
endcap = cms.vdouble(0.453144, 1.26205, 0.0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
ApplyQual1 = cms.bool(True),
ApplyQual2 = cms.bool(True),
EtaBinsForIsolation = cms.vdouble(0.0, 1.479, 2.4),
MaxEta = cms.double(2.4),
MinEta = cms.double(-2.4),
MinAbsEta1 = cms.double(0.0),
MaxAbsEta1 = cms.double(1.479),
MinAbsEta2 = cms.double(1.479),
MaxAbsEta2 = cms.double(2.4),
MinN = cms.int32(1),
MinPt = cms.double(25.0),
Qual1IsMask = cms.bool(True),
Qual2IsMask = cms.bool(False),
Qual2IsMask = cms.bool(True),
Quality1 = cms.int32(2),
Quality2 = cms.int32(5),
Quality2 = cms.int32(2),
Scalings = cms.PSet(
barrel = cms.vdouble(0.805095, 1.18336, 0.0),
endcap = cms.vdouble(0.453144, 1.26205, 0.0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
ApplyQual1 = cms.bool(True),
ApplyQual2 = cms.bool(True),
EtaBinsForIsolation = cms.vdouble(0.0, 1.479, 2.4),
MaxEta = cms.double(2.4),
MinEta = cms.double(-2.4),
MinAbsEta1 = cms.double(0.0),
MaxAbsEta1 = cms.double(1.479),
MinAbsEta2 = cms.double(1.479),
MaxAbsEta2 = cms.double(2.4),
MinN = cms.int32(1),
MinPt = cms.double(36.0),
Qual1IsMask = cms.bool(True),
Qual2IsMask = cms.bool(False),
Qual2IsMask = cms.bool(True),
Quality1 = cms.int32(2),
Quality2 = cms.int32(5),
Quality2 = cms.int32(2),
Scalings = cms.PSet(
barrel = cms.vdouble(0.805095, 1.18336, 0.0),
endcap = cms.vdouble(0.453144, 1.26205, 0.0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
ApplyQual1 = cms.bool(True),
ApplyQual2 = cms.bool(True),
EtaBinsForIsolation = cms.vdouble(0.0, 1.479, 2.4),
MaxEta = cms.double(2.4),
MinEta = cms.double(-2.4),
MinAbsEta1 = cms.double(0.0),
MaxAbsEta1 = cms.double(1.479),
MinAbsEta2 = cms.double(1.479),
MaxAbsEta2 = cms.double(2.4),
MinN = cms.int32(2),
MinPt = cms.double(12.0),
Qual1IsMask = cms.bool(True),
Qual2IsMask = cms.bool(False),
Qual2IsMask = cms.bool(True),
Quality1 = cms.int32(2),
Quality2 = cms.int32(5),
Quality2 = cms.int32(4),
Scalings = cms.PSet(
barrel = cms.vdouble(2.6604, 1.06077, 0.0),
endcap = cms.vdouble(3.17445, 1.13219, 0.0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
ApplyQual1 = cms.bool(True),
ApplyQual2 = cms.bool(True),
EtaBinsForIsolation = cms.vdouble(0.0, 1.479, 2.4),
MaxEta = cms.double(2.4),
MinEta = cms.double(-2.4),
MinAbsEta1 = cms.double(0.0),
MaxAbsEta1 = cms.double(1.479),
MinAbsEta2 = cms.double(1.479),
MaxAbsEta2 = cms.double(2.4),
MinN = cms.int32(2),
MinPt = cms.double(24.0),
Qual1IsMask = cms.bool(True),
Qual2IsMask = cms.bool(False),
Qual2IsMask = cms.bool(True),
Quality1 = cms.int32(2),
Quality2 = cms.int32(5),
Quality2 = cms.int32(4),
Scalings = cms.PSet(
barrel = cms.vdouble(2.6604, 1.06077, 0.0),
endcap = cms.vdouble(3.17445, 1.13219, 0.0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
ApplyQual1 = cms.bool(True),
ApplyQual2 = cms.bool(True),
EtaBinsForIsolation = cms.vdouble(0.0, 1.479, 2.4),
MaxEta = cms.double(2.4),
MinEta = cms.double(-2.4),
MinAbsEta1 = cms.double(0.0),
MaxAbsEta1 = cms.double(1.479),
MinAbsEta2 = cms.double(1.479),
MaxAbsEta2 = cms.double(2.4),
MinN = cms.int32(1),
MinPt = cms.double(37.0),
Qual1IsMask = cms.bool(True),
Qual2IsMask = cms.bool(False),
Qual2IsMask = cms.bool(True),
Quality1 = cms.int32(2),
Quality2 = cms.int32(5),
Quality2 = cms.int32(4),
Scalings = cms.PSet(
barrel = cms.vdouble(2.6604, 1.06077, 0.0),
endcap = cms.vdouble(3.17445, 1.13219, 0.0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
ApplyQual1 = cms.bool(True),
ApplyQual2 = cms.bool(True),
EtaBinsForIsolation = cms.vdouble(0.0, 1.479, 2.4),
MaxEta = cms.double(2.4),
MinEta = cms.double(-2.4),
MinAbsEta1 = cms.double(0.0),
MaxAbsEta1 = cms.double(1.479),
MinAbsEta2 = cms.double(1.479),
MaxAbsEta2 = cms.double(2.4),
MinN = cms.int32(1),
MinPt = cms.double(51.0),
Qual1IsMask = cms.bool(True),
Qual2IsMask = cms.bool(False),
Quality1 = cms.int32(2),
Quality2 = cms.int32(5),
Quality2 = cms.int32(4),
Scalings = cms.PSet(
barrel = cms.vdouble(2.6604, 1.06077, 0.0),
endcap = cms.vdouble(3.17445, 1.13219, 0.0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
ApplyQual1 = cms.bool(True),
ApplyQual2 = cms.bool(True),
EtaBinsForIsolation = cms.vdouble(0.0, 1.479, 2.4),
MaxEta = cms.double(2.4),
MinEta = cms.double(-2.4),
MinAbsEta1 = cms.double(0.0),
MaxAbsEta1 = cms.double(1.479),
MinAbsEta2 = cms.double(1.479),
MaxAbsEta2 = cms.double(2.4),
MinN = cms.int32(1),
MinPt = cms.double(22.0),
Qual1IsMask = cms.bool(True),
Qual2IsMask = cms.bool(False),
Qual2IsMask = cms.bool(True),
Quality1 = cms.int32(2),
Quality2 = cms.int32(5),
Quality2 = cms.int32(2),
Scalings = cms.PSet(
barrel = cms.vdouble(0.434262, 1.20586, 0.0),
endcap = cms.vdouble(0.266186, 1.25976, 0.0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
ApplyQual1 = cms.bool(True),
ApplyQual2 = cms.bool(True),
EtaBinsForIsolation = cms.vdouble(0.0, 1.479, 2.4),
MaxEta = cms.double(2.4),
MinEta = cms.double(-2.4),
MinAbsEta1 = cms.double(0.0),
MaxAbsEta1 = cms.double(1.479),
MinAbsEta2 = cms.double(1.479),
MaxAbsEta2 = cms.double(2.4),
MinN = cms.int32(1),
MinPt = cms.double(28.0),
Qual1IsMask = cms.bool(True),
Qual2IsMask = cms.bool(False),
Qual2IsMask = cms.bool(True),
Quality1 = cms.int32(2),
Quality2 = cms.int32(5),
Quality2 = cms.int32(2),
Scalings = cms.PSet(
barrel = cms.vdouble(0.434262, 1.20586, 0.0),
endcap = cms.vdouble(0.266186, 1.25976, 0.0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
ApplyQual1 = cms.bool(True),
ApplyQual2 = cms.bool(True),
EtaBinsForIsolation = cms.vdouble(0.0, 1.479, 2.4),
MaxEta = cms.double(2.4),
MinEta = cms.double(-2.4),
MinAbsEta1 = cms.double(0.0),
MaxAbsEta1 = cms.double(1.479),
MinAbsEta2 = cms.double(1.479),
MaxAbsEta2 = cms.double(2.4),
MinN = cms.int32(2),
MinPt = cms.double(12.0),
Qual1IsMask = cms.bool(True),
Qual2IsMask = cms.bool(False),
Qual2IsMask = cms.bool(True),
Quality1 = cms.int32(2),
Quality2 = cms.int32(5),
Quality2 = cms.int32(4),
Scalings = cms.PSet(
barrel = cms.vdouble(2.54255, 1.08749, 0.0),
endcap = cms.vdouble(2.11186, 1.15524, 0.0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
ApplyQual1 = cms.bool(True),
ApplyQual2 = cms.bool(True),
EtaBinsForIsolation = cms.vdouble(0.0, 1.479, 2.4),
MaxEta = cms.double(2.4),
MinEta = cms.double(-2.4),
MinAbsEta1 = cms.double(0.0),
MaxAbsEta1 = cms.double(1.479),
MinAbsEta2 = cms.double(1.479),
MaxAbsEta2 = cms.double(2.4),
MinN = cms.int32(1),
MinPt = cms.double(22.0),
Qual1IsMask = cms.bool(True),
Qual2IsMask = cms.bool(False),
Qual2IsMask = cms.bool(True),
Quality1 = cms.int32(2),
Quality2 = cms.int32(5),
Quality2 = cms.int32(4),
Scalings = cms.PSet(
barrel = cms.vdouble(2.54255, 1.08749, 0.0),
endcap = cms.vdouble(2.11186, 1.15524, 0.0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
ApplyQual1 = cms.bool(True),
ApplyQual2 = cms.bool(True),
EtaBinsForIsolation = cms.vdouble(0.0, 1.479, 2.4),
MaxEta = cms.double(2.4),
MinEta = cms.double(-2.4),
MinAbsEta1 = cms.double(0.0),
MaxAbsEta1 = cms.double(1.479),
MinAbsEta2 = cms.double(1.479),
MaxAbsEta2 = cms.double(2.4),
MinN = cms.int32(1),
MinPt = cms.double(36.0),
Qual1IsMask = cms.bool(True),
Qual2IsMask = cms.bool(False),
Qual2IsMask = cms.bool(True),
Quality1 = cms.int32(2),
Quality2 = cms.int32(5),
Quality2 = cms.int32(4),
Scalings = cms.PSet(
barrel = cms.vdouble(2.54255, 1.08749, 0.0),
endcap = cms.vdouble(2.11186, 1.15524, 0.0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
maxBX = cms.int32(1),
minBX = cms.int32(-1),
minPt = cms.double(5.0),
qualIsMask = cms.bool(False),
quality = cms.int32(5),
qualIsMask = cms.bool(True),
quality = cms.int32(1),
scalings = cms.vdouble(3.17445, 1.13219, 0.0)
)
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
maxAbsEta = cms.double(4.0),
minAbsEta = cms.double(1.3),
minPt = cms.double(5.0),
quality = cms.int32(5),
quality = cms.int32(4),
qualityIsMask = cms.bool(True),
applyQuality = cms.bool(True),
type = cms.string('SeedingRegionByL1')
)
)
28 changes: 16 additions & 12 deletions HLTrigger/HLTfilters/plugins/L1TTkEleFilter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,10 @@ L1TTkEleFilter::L1TTkEleFilter(const edm::ParameterSet& iConfig)
tkEleToken2_(consumes<TkEleCollection>(l1TkEleTag2_)) {
min_Pt_ = iConfig.getParameter<double>("MinPt");
min_N_ = iConfig.getParameter<int>("MinN");
min_Eta_ = iConfig.getParameter<double>("MinEta");
max_Eta_ = iConfig.getParameter<double>("MaxEta");
min_AbsEta1_ = iConfig.getParameter<double>("MinAbsEta1");
max_AbsEta1_ = iConfig.getParameter<double>("MaxAbsEta1");
min_AbsEta2_ = iConfig.getParameter<double>("MinAbsEta2");
max_AbsEta2_ = iConfig.getParameter<double>("MaxAbsEta2");
scalings_ = iConfig.getParameter<edm::ParameterSet>("Scalings");
barrelScalings_ = scalings_.getParameter<std::vector<double> >("barrel");
endcapScalings_ = scalings_.getParameter<std::vector<double> >("endcap");
Expand Down Expand Up @@ -65,8 +67,10 @@ void L1TTkEleFilter::fillDescriptions(edm::ConfigurationDescriptions& descriptio

makeHLTFilterDescription(desc);
desc.add<double>("MinPt", -1.0);
desc.add<double>("MinEta", -5.0);
desc.add<double>("MaxEta", 5.0);
desc.add<double>("MinAbsEta1", 0.0);
desc.add<double>("MaxAbsEta1", 1.479);
desc.add<double>("MinAbsEta2", 1.479);
desc.add<double>("MaxAbsEta2", 5.0);
desc.add<int>("MinN", 1);
desc.add<edm::InputTag>("inputTag1", edm::InputTag("L1TkElectrons1"));
desc.add<edm::InputTag>("inputTag2", edm::InputTag("L1TkElectrons2"));
Expand Down Expand Up @@ -133,9 +137,9 @@ bool L1TTkEleFilter::hltFilter(edm::Event& iEvent,

if (applyQual1_) {
if (qual1IsMask_)
passQuality = (itkEle->EGRef()->hwQual() & quality1_);
passQuality = (itkEle->hwQual() & quality1_);
else
passQuality = (itkEle->EGRef()->hwQual() == quality1_);
passQuality = (itkEle->hwQual() == quality1_);
} else
passQuality = true;

Expand All @@ -147,8 +151,8 @@ bool L1TTkEleFilter::hltFilter(edm::Event& iEvent,
passIsolation = true;
}

if (offlinePt >= min_Pt_ && itkEle->eta() <= max_Eta_ && itkEle->eta() >= min_Eta_ && passQuality &&
passIsolation) {
if (offlinePt >= min_Pt_ && std::abs(itkEle->eta()) < max_AbsEta1_ && std::abs(itkEle->eta()) >= min_AbsEta1_ &&
passQuality && passIsolation) {
ntrkEle++;
l1t::TkElectronRef ref1(l1t::TkElectronRef(tkEles1, distance(atrkEles, itkEle)));
filterproduct.addObject(trigger::TriggerObjectType::TriggerL1TkEle, ref1);
Expand All @@ -165,9 +169,9 @@ bool L1TTkEleFilter::hltFilter(edm::Event& iEvent,

if (applyQual2_) {
if (qual2IsMask_)
passQuality = (itkEle->EGRef()->hwQual() & quality2_);
passQuality = (itkEle->hwQual() & quality2_);
else
passQuality = (itkEle->EGRef()->hwQual() == quality2_);
passQuality = (itkEle->hwQual() == quality2_);
} else
passQuality = true;

Expand All @@ -178,8 +182,8 @@ bool L1TTkEleFilter::hltFilter(edm::Event& iEvent,
passIsolation = true;
}

if (offlinePt >= min_Pt_ && itkEle->eta() <= max_Eta_ && itkEle->eta() >= min_Eta_ && passQuality &&
passIsolation) {
if (offlinePt >= min_Pt_ && std::abs(itkEle->eta()) <= max_AbsEta2_ && std::abs(itkEle->eta()) >= min_AbsEta2_ &&
passQuality && passIsolation) {
ntrkEle++;
l1t::TkElectronRef ref2(l1t::TkElectronRef(tkEles2, distance(atrkEles, itkEle)));
filterproduct.addObject(trigger::TriggerObjectType::TriggerL1TkEle, ref2);
Expand Down
6 changes: 4 additions & 2 deletions HLTrigger/HLTfilters/plugins/L1TTkEleFilter.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,10 @@ class L1TTkEleFilter : public HLTFilter {

double min_Pt_; // min pt cut
int min_N_; // min number of candidates above pT cut
double min_Eta_; // min eta cut
double max_Eta_; // max eta cut
double min_AbsEta1_; //min eta cut
double max_AbsEta1_; //max eta cut
double min_AbsEta2_; //min eta cut
double max_AbsEta2_; //max eta cut
edm::ParameterSet scalings_; // all scalings. An indirection level allows extra flexibility
std::vector<double> barrelScalings_; // barrel scalings
std::vector<double> endcapScalings_; // endcap scalings
Expand Down
Loading

0 comments on commit 45c11cf

Please sign in to comment.