Skip to content

Commit a6c8e7c

Browse files
authored
Hardware compatible changes and output ordering fix
Hardware compatible changes
2 parents 4349bb4 + 76b594a commit a6c8e7c

File tree

4 files changed

+30
-25
lines changed

4 files changed

+30
-25
lines changed

DataFormats/L1TParticleFlow/interface/jets.h

+15-10
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ namespace l1ct {
1414
// all possible tag categories (can be extended for new / separate taggers)
1515
class JetTagClass {
1616
public:
17-
enum JetTagClassValue : uint8_t { uds, g, b, c, tau_p, tau_n, e, mu };
17+
enum JetTagClassValue : uint8_t { b, c, uds, g, tau_p, tau_n, mu, e };
1818
JetTagClass() = default;
1919
JetTagClass(JetTagClassValue aJetTagClassValue) : value_(aJetTagClassValue) {}
2020
JetTagClass(std::string aJetTagClassValueString) {
@@ -35,24 +35,29 @@ namespace l1ct {
3535

3636
}; // JetTagClass
3737

38-
struct Jet {
39-
pt_t hwPt;
40-
glbeta_t hwEta;
41-
glbphi_t hwPhi;
42-
z0_t hwZ0;
43-
38+
// Define a separate class/struct for jet tag handling
39+
struct JetTagClassHandler {
4440
static const unsigned NTagFields = 8;
45-
jet_tag_score_t hwTagScores[NTagFields];
46-
4741
static const JetTagClass tagClassesDefault_[NTagFields];
42+
4843
JetTagClass tagClassesArray[NTagFields];
4944

50-
Jet() {
45+
JetTagClassHandler() {
5146
// Copy the default values to the array
5247
for (unsigned i = 0; i < NTagFields; i++) {
5348
tagClassesArray[i] = tagClassesDefault_[i];
5449
}
5550
}
51+
};
52+
53+
struct Jet {
54+
pt_t hwPt;
55+
glbeta_t hwEta;
56+
glbphi_t hwPhi;
57+
z0_t hwZ0;
58+
59+
static const unsigned NTagFields = 8;
60+
jet_tag_score_t hwTagScores[NTagFields];
5661

5762
inline bool operator==(const Jet &other) const {
5863
bool eq = hwPt == other.hwPt && hwEta == other.hwEta && hwPhi == other.hwPhi && hwZ0 == other.hwZ0;
+12-12
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
#include "DataFormats/L1TParticleFlow/interface/jets.h"
22

33
const std::unordered_map<std::string, l1ct::JetTagClass::JetTagClassValue> l1ct::JetTagClass::labels_ = {
4-
{"uds", l1ct::JetTagClass::JetTagClassValue::uds},
5-
{"g", l1ct::JetTagClass::JetTagClassValue::g},
64
{"b", l1ct::JetTagClass::JetTagClassValue::b},
75
{"c", l1ct::JetTagClass::JetTagClassValue::c},
6+
{"uds", l1ct::JetTagClass::JetTagClassValue::uds},
7+
{"g", l1ct::JetTagClass::JetTagClassValue::g},
88
{"tau_p", l1ct::JetTagClass::JetTagClassValue::tau_p},
99
{"tau_n", l1ct::JetTagClass::JetTagClassValue::tau_n},
10-
{"e", l1ct::JetTagClass::JetTagClassValue::e},
11-
{"mu", l1ct::JetTagClass::JetTagClassValue::mu}};
10+
{"mu", l1ct::JetTagClass::JetTagClassValue::mu},
11+
{"e", l1ct::JetTagClass::JetTagClassValue::e}};
1212

13-
const l1ct::JetTagClass l1ct::Jet::tagClassesDefault_[NTagFields] = {l1ct::JetTagClass("uds"),
14-
l1ct::JetTagClass("g"),
15-
l1ct::JetTagClass("b"),
16-
l1ct::JetTagClass("c"),
17-
l1ct::JetTagClass("tau_p"),
18-
l1ct::JetTagClass("tau_n"),
19-
l1ct::JetTagClass("e"),
20-
l1ct::JetTagClass("mu")};
13+
const l1ct::JetTagClass l1ct::JetTagClassHandler::tagClassesDefault_[NTagFields] = {l1ct::JetTagClass("b"),
14+
l1ct::JetTagClass("c"),
15+
l1ct::JetTagClass("uds"),
16+
l1ct::JetTagClass("g"),
17+
l1ct::JetTagClass("tau_p"),
18+
l1ct::JetTagClass("tau_n"),
19+
l1ct::JetTagClass("mu"),
20+
l1ct::JetTagClass("e")};

L1Trigger/Phase2L1ParticleFlow/plugins/L1TSC4NGJetProducer.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ void L1TSC4NGJetProducer::fillDescriptions(edm::ConfigurationDescriptions& descr
115115
desc.add<int>("nParticles", 16);
116116
desc.add<double>("minPt", 10);
117117
desc.add<double>("maxEta", 2.4);
118-
desc.add<std::vector<std::string>>("classes", {"uds", "g", "b", "c", "tau_p", "tau_n", "e", "mu"});
118+
desc.add<std::vector<std::string>>("classes", {"b", "c", "uds", "g", "tau_p", "tau_n", "mu", "e"});
119119
descriptions.add("l1tSC4NGJetProducer", desc);
120120
}
121121

L1Trigger/Phase2L1ParticleFlow/test/make_l1ct_binaryFiles_cfg.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
skipEvents = cms.untracked.uint32(0),
4444
)
4545

46-
process.load('Configuration.Geometry.GeometryExtendedRun4D88Reco_cff')
47-
process.load('Configuration.Geometry.GeometryExtendedRun4D88_cff')
46+
process.load('Configuration.Geometry.GeometryExtendedRun4D110Reco_cff')
47+
process.load('Configuration.Geometry.GeometryExtendedRun4D110_cff')
4848
process.load('Configuration.StandardSequences.MagneticField_cff')
4949
process.load('SimCalorimetry.HcalTrigPrimProducers.hcaltpdigi_cff') # needed to read HCal TPs
5050
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')

0 commit comments

Comments
 (0)