Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DataFormats for Phase-2 L1T-HLT #32150

Merged
merged 21 commits into from
Dec 8, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions DataFormats/HLTReco/BuildFile.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
<use name="DataFormats/METReco"/>
<use name="DataFormats/HcalIsolatedTrack"/>
<use name="DataFormats/TauReco"/>
<use name="DataFormats/L1TParticleFlow"/>
<export>
<lib name="1"/>
</export>
152 changes: 150 additions & 2 deletions DataFormats/HLTReco/interface/TriggerEventWithRefs.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,13 @@ namespace trigger {
size_type l1tmuon_;
size_type l1tegamma_;
size_type l1tjet_;
size_type l1ttkmuon_;
size_type l1ttkele_;
size_type l1ttkem_;
size_type l1tpfjet_;
size_type l1tpftau_;
size_type l1thpspftau_;
size_type l1tpftrack_;
size_type l1ttau_;
size_type l1tetsum_;

Expand All @@ -77,6 +84,13 @@ namespace trigger {
l1tmuon_(0),
l1tegamma_(0),
l1tjet_(0),
l1ttkmuon_(0),
l1ttkele_(0),
l1ttkem_(0),
l1tpfjet_(0),
l1tpftau_(0),
l1thpspftau_(0),
l1tpftrack_(0),
l1ttau_(0),
l1tetsum_(0) {
filterTag_ = edm::InputTag().encode();
Expand All @@ -101,6 +115,13 @@ namespace trigger {
size_type l1tmuon,
size_type l1tegamma,
size_type l1tjet,
size_type l1ttkmuon,
size_type l1ttkele,
size_type l1ttkem,
size_type l1tpfjet,
size_type l1tpftau,
size_type l1thpspftau,
size_type l1tpftrack,
size_type l1ttau,
size_type l1tetsum)
: filterTag_(filterTag.encode()),
Expand All @@ -123,6 +144,13 @@ namespace trigger {
l1tmuon_(l1tmuon),
l1tegamma_(l1tegamma),
l1tjet_(l1tjet),
l1ttkmuon_(l1ttkmuon),
l1ttkele_(l1ttkele),
l1ttkem_(l1ttkem),
l1tpfjet_(l1tpfjet),
l1tpftau_(l1tpftau),
l1thpspftau_(l1thpspftau),
l1tpftrack_(l1tpftrack),
l1ttau_(l1ttau),
l1tetsum_(l1tetsum) {}
};
Expand Down Expand Up @@ -167,6 +195,13 @@ namespace trigger {
addObjects(tfowr.l1tmuonIds(), tfowr.l1tmuonRefs()),
addObjects(tfowr.l1tegammaIds(), tfowr.l1tegammaRefs()),
addObjects(tfowr.l1tjetIds(), tfowr.l1tjetRefs()),
addObjects(tfowr.l1ttkmuonIds(), tfowr.l1ttkmuonRefs()),
addObjects(tfowr.l1ttkeleIds(), tfowr.l1ttkeleRefs()),
addObjects(tfowr.l1ttkemIds(), tfowr.l1ttkemRefs()),
addObjects(tfowr.l1tpfjetIds(), tfowr.l1tpfjetRefs()),
addObjects(tfowr.l1tpftauIds(), tfowr.l1tpftauRefs()),
addObjects(tfowr.l1thpspftauIds(), tfowr.l1thpspftauRefs()),
addObjects(tfowr.l1tpftrackIds(), tfowr.l1tpftrackRefs()),
addObjects(tfowr.l1ttauIds(), tfowr.l1ttauRefs()),
addObjects(tfowr.l1tetsumIds(), tfowr.l1tetsumRefs()))

Expand Down Expand Up @@ -299,19 +334,54 @@ namespace trigger {
const size_type end(filterObjects_.at(filter).l1tmuon_);
return std::pair<size_type, size_type>(begin, end);
}

std::pair<size_type, size_type> l1tegammaSlice(size_type filter) const {
const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tegamma_);
const size_type end(filterObjects_.at(filter).l1tegamma_);
return std::pair<size_type, size_type>(begin, end);
}

std::pair<size_type, size_type> l1tjetSlice(size_type filter) const {
const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tjet_);
const size_type end(filterObjects_.at(filter).l1tjet_);
return std::pair<size_type, size_type>(begin, end);
}

/* Phase-2 */
std::pair<size_type, size_type> l1ttkmuonSlice(size_type filter) const {
const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1ttkmuon_);
const size_type end(filterObjects_.at(filter).l1ttkmuon_);
return std::pair<size_type, size_type>(begin, end);
}
std::pair<size_type, size_type> l1ttkeleSlice(size_type filter) const {
const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1ttkele_);
const size_type end(filterObjects_.at(filter).l1ttkele_);
return std::pair<size_type, size_type>(begin, end);
}
std::pair<size_type, size_type> l1ttkemSlice(size_type filter) const {
const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1ttkem_);
const size_type end(filterObjects_.at(filter).l1ttkem_);
return std::pair<size_type, size_type>(begin, end);
}
std::pair<size_type, size_type> l1tpfjetSlice(size_type filter) const {
const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tpfjet_);
const size_type end(filterObjects_.at(filter).l1tpfjet_);
return std::pair<size_type, size_type>(begin, end);
}
std::pair<size_type, size_type> l1tpftauSlice(size_type filter) const {
const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tpftau_);
const size_type end(filterObjects_.at(filter).l1tpftau_);
return std::pair<size_type, size_type>(begin, end);
}
std::pair<size_type, size_type> l1thpspftauSlice(size_type filter) const {
const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1thpspftau_);
const size_type end(filterObjects_.at(filter).l1thpspftau_);
return std::pair<size_type, size_type>(begin, end);
}
std::pair<size_type, size_type> l1tpftrackSlice(size_type filter) const {
const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tpftrack_);
const size_type end(filterObjects_.at(filter).l1tpftrack_);
return std::pair<size_type, size_type>(begin, end);
}

std::pair<size_type, size_type> l1ttauSlice(size_type filter) const {
const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1ttau_);
const size_type end(filterObjects_.at(filter).l1ttau_);
Expand Down Expand Up @@ -535,6 +605,84 @@ namespace trigger {
TriggerRefsCollections::getObjects(id, l1tjet, begin, end);
}

/* Phase-2 */
void getObjects(size_type filter, Vids& ids, VRl1ttkmuon& l1ttkmuon) const {
const size_type begin(l1ttkmuonSlice(filter).first);
const size_type end(l1ttkmuonSlice(filter).second);
TriggerRefsCollections::getObjects(ids, l1ttkmuon, begin, end);
}
void getObjects(size_type filter, int id, VRl1ttkmuon& l1ttkmuon) const {
const size_type begin(l1ttkmuonSlice(filter).first);
const size_type end(l1ttkmuonSlice(filter).second);
TriggerRefsCollections::getObjects(id, l1ttkmuon, begin, end);
}

void getObjects(size_type filter, Vids& ids, VRl1ttkele& l1ttkele) const {
const size_type begin(l1ttkeleSlice(filter).first);
const size_type end(l1ttkeleSlice(filter).second);
TriggerRefsCollections::getObjects(ids, l1ttkele, begin, end);
}
void getObjects(size_type filter, int id, VRl1ttkele& l1ttkele) const {
const size_type begin(l1ttkeleSlice(filter).first);
const size_type end(l1ttkeleSlice(filter).second);
TriggerRefsCollections::getObjects(id, l1ttkele, begin, end);
}

void getObjects(size_type filter, Vids& ids, VRl1ttkem& l1ttkem) const {
const size_type begin(l1ttkemSlice(filter).first);
const size_type end(l1ttkemSlice(filter).second);
TriggerRefsCollections::getObjects(ids, l1ttkem, begin, end);
}
void getObjects(size_type filter, int id, VRl1ttkem& l1ttkem) const {
const size_type begin(l1ttkemSlice(filter).first);
const size_type end(l1ttkemSlice(filter).second);
TriggerRefsCollections::getObjects(id, l1ttkem, begin, end);
}

void getObjects(size_type filter, Vids& ids, VRl1tpfjet& l1tpfjet) const {
const size_type begin(l1tpfjetSlice(filter).first);
const size_type end(l1tpfjetSlice(filter).second);
TriggerRefsCollections::getObjects(ids, l1tpfjet, begin, end);
}
void getObjects(size_type filter, int id, VRl1tpfjet& l1tpfjet) const {
const size_type begin(l1tpfjetSlice(filter).first);
const size_type end(l1tpfjetSlice(filter).second);
TriggerRefsCollections::getObjects(id, l1tpfjet, begin, end);
}

void getObjects(size_type filter, Vids& ids, VRl1tpftau& l1tpftau) const {
const size_type begin(l1tpftauSlice(filter).first);
const size_type end(l1tpftauSlice(filter).second);
TriggerRefsCollections::getObjects(ids, l1tpftau, begin, end);
}
void getObjects(size_type filter, int id, VRl1tpftau& l1tpftau) const {
const size_type begin(l1tpftauSlice(filter).first);
const size_type end(l1tpftauSlice(filter).second);
TriggerRefsCollections::getObjects(id, l1tpftau, begin, end);
}

void getObjects(size_type filter, Vids& ids, VRl1thpspftau& l1thpspftau) const {
const size_type begin(l1thpspftauSlice(filter).first);
const size_type end(l1thpspftauSlice(filter).second);
TriggerRefsCollections::getObjects(ids, l1thpspftau, begin, end);
}
void getObjects(size_type filter, int id, VRl1thpspftau& l1thpspftau) const {
const size_type begin(l1thpspftauSlice(filter).first);
const size_type end(l1thpspftauSlice(filter).second);
TriggerRefsCollections::getObjects(id, l1thpspftau, begin, end);
}

void getObjects(size_type filter, Vids& ids, VRl1tpftrack& l1tpftrack) const {
const size_type begin(l1tpftrackSlice(filter).first);
const size_type end(l1tpftrackSlice(filter).second);
TriggerRefsCollections::getObjects(ids, l1tpftrack, begin, end);
}
void getObjects(size_type filter, int id, VRl1tpftrack& l1tpftrack) const {
const size_type begin(l1tpftrackSlice(filter).first);
const size_type end(l1tpftrackSlice(filter).second);
TriggerRefsCollections::getObjects(id, l1tpftrack, begin, end);
}

void getObjects(size_type filter, Vids& ids, VRl1ttau& l1ttau) const {
const size_type begin(l1ttauSlice(filter).first);
const size_type end(l1ttauSlice(filter).second);
Expand Down
Loading