1 #ifndef HLTReco_TriggerEventWithRefs_h 2 #define HLTReco_TriggerEventWithRefs_h 106 : filterTag_(filterTag.
encode()),
119 l1hfrings_(l1hfrings),
124 l1tegamma_(l1tegamma),
127 l1tetsum_(l1tetsum) {}
143 filterObjects_.reserve(n);
148 filterObjects_.push_back(
184 return edm::InputTag(filterObjects_.at(filterIndex).filterTag_);
192 if (encodedFilterTag == filterObjects_[
i].
filterTag_) {
202 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).photons_);
203 const size_type end(filterObjects_.at(filter).photons_);
204 return std::pair<size_type, size_type>(
begin,
end);
208 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).electrons_);
209 const size_type end(filterObjects_.at(filter).electrons_);
210 return std::pair<size_type, size_type>(
begin,
end);
214 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).muons_);
216 return std::pair<size_type, size_type>(
begin,
end);
220 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).jets_);
222 return std::pair<size_type, size_type>(
begin,
end);
226 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).composites_);
227 const size_type end(filterObjects_.at(filter).composites_);
228 return std::pair<size_type, size_type>(
begin,
end);
232 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).basemets_);
233 const size_type end(filterObjects_.at(filter).basemets_);
234 return std::pair<size_type, size_type>(
begin,
end);
238 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).calomets_);
239 const size_type end(filterObjects_.at(filter).calomets_);
240 return std::pair<size_type, size_type>(
begin,
end);
244 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).pixtracks_);
245 const size_type end(filterObjects_.at(filter).pixtracks_);
246 return std::pair<size_type, size_type>(
begin,
end);
250 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1em_);
252 return std::pair<size_type, size_type>(
begin,
end);
256 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1muon_);
258 return std::pair<size_type, size_type>(
begin,
end);
262 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1jet_);
264 return std::pair<size_type, size_type>(
begin,
end);
268 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1etmiss_);
269 const size_type end(filterObjects_.at(filter).l1etmiss_);
270 return std::pair<size_type, size_type>(
begin,
end);
274 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1hfrings_);
275 const size_type end(filterObjects_.at(filter).l1hfrings_);
276 return std::pair<size_type, size_type>(
begin,
end);
280 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).pfjets_);
282 return std::pair<size_type, size_type>(
begin,
end);
286 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).pftaus_);
288 return std::pair<size_type, size_type>(
begin,
end);
292 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).pfmets_);
294 return std::pair<size_type, size_type>(
begin,
end);
298 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tmuon_);
299 const size_type end(filterObjects_.at(filter).l1tmuon_);
300 return std::pair<size_type, size_type>(
begin,
end);
304 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tegamma_);
305 const size_type end(filterObjects_.at(filter).l1tegamma_);
306 return std::pair<size_type, size_type>(
begin,
end);
310 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tjet_);
312 return std::pair<size_type, size_type>(
begin,
end);
316 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1ttau_);
318 return std::pair<size_type, size_type>(
begin,
end);
322 const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tetsum_);
323 const size_type end(filterObjects_.at(filter).l1tetsum_);
324 return std::pair<size_type, size_type>(
begin,
end);
void getObjects(size_type filter, int id, VRelectron &electrons) const
const Vids & l1ttauIds() const
void getObjects(size_type filter, Vids &ids, VRl1em &l1em) const
const Vids & muonIds() const
std::pair< size_type, size_type > l1jetSlice(size_type filter) const
size_type addObjects(const Vids &ids, const VRphoton &refs)
void getObjects(size_type filter, int id, VRpfjet &pfjets) const
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
const VRpfmet & pfmetRefs() const
const VRjet & jetRefs() const
void getObjects(size_type filter, Vids &ids, VRl1jet &l1jet) const
std::vector< TriggerFilterObject > filterObjects_
the filters recorded here
void getObjects(size_type filter, int id, VRpftau &pftaus) const
std::pair< size_type, size_type > l1ttauSlice(size_type filter) const
const VRbasemet & basemetRefs() const
std::pair< size_type, size_type > l1muonSlice(size_type filter) const
void addFilterObject(const edm::InputTag &filterTag, const TriggerFilterObjectWithRefs &tfowr)
setters - to build EDProduct
const VRcalomet & calometRefs() const
const Vids & compositeIds() const
std::pair< size_type, size_type > l1tegammaSlice(size_type filter) const
const Vids & pfjetIds() const
TriggerEventWithRefs()
methods
void getObjects(size_type filter, Vids &ids, VRl1ttau &l1ttau) const
std::pair< size_type, size_type > l1etmissSlice(size_type filter) const
const VRl1tetsum & l1tetsumRefs() const
l1t::EGammaVectorRef VRl1tegamma
void getObjects(size_type filter, Vids &ids, VRpfmet &pfmets) const
std::vector< reco::METRef > VRbasemet
void getObjects(size_type filter, Vids &ids, VRbasemet &basemets) const
void getObjects(size_type filter, int id, VRpfmet &pfmets) const
std::pair< size_type, size_type > jetSlice(size_type filter) const
void getObjects(size_type filter, int id, VRl1tjet &l1tjet) const
const std::string & usedProcessName() const
getters - for user access
const Vids & electronIds() const
void getObjects(size_type filter, Vids &ids, VRjet &jets) const
const edm::InputTag filterTag(size_type filterIndex) const
tag from index
const Vids & l1etmissIds() const
void getObjects(size_type filter, Vids &ids, VRl1tmuon &l1tmuon) const
l1t::JetVectorRef VRl1tjet
TriggerFilterObject(const edm::InputTag &filterTag, size_type np, size_type ne, size_type nm, size_type nj, size_type nc, size_type nB, size_type nC, size_type nt, size_type l1em, size_type l1muon, size_type l1jet, size_type l1etmiss, size_type l1hfrings, size_type pfjets, size_type pftaus, size_type pfmets, size_type l1tmuon, size_type l1tegamma, size_type l1tjet, size_type l1ttau, size_type l1tetsum)
std::string usedProcessName_
data members
const Vids & basemetIds() const
std::pair< size_type, size_type > electronSlice(size_type filter) const
std::vector< l1extra::L1MuonParticleRef > VRl1muon
void getObjects(size_type filter, int id, VRl1tetsum &l1tetsum) const
std::pair< size_type, size_type > pixtrackSlice(size_type filter) const
void getObjects(size_type filter, int id, VRl1tegamma &l1tegamma) const
U second(std::pair< T, U > const &p)
void getObjects(size_type filter, Vids &ids, VRpftau &pftaus) const
const VRl1ttau & l1ttauRefs() const
std::vector< l1extra::L1HFRingsRef > VRl1hfrings
const Vids & pftauIds() const
void getObjects(size_type filter, int id, VRl1etmiss &l1etmiss) const
void getObjects(size_type filter, int id, VRl1tmuon &l1tmuon) const
std::vector< reco::IsolatedPixelTrackCandidateRef > VRpixtrack
const Vids & l1muonIds() const
void getObjects(size_type filter, Vids &ids, VRmuon &muons) const
std::pair< size_type, size_type > l1tmuonSlice(size_type filter) const
void getObjects(size_type filter, int id, VRbasemet &basemets) const
const VRl1muon & l1muonRefs() const
const VRpfjet & pfjetRefs() const
std::vector< l1extra::L1EtMissParticleRef > VRl1etmiss
const Vids & l1tjetIds() const
const VRl1tegamma & l1tegammaRefs() const
std::pair< size_type, size_type > l1emSlice(size_type filter) const
std::pair< size_type, size_type > photonSlice(size_type filter) const
slices of objects for a specific filter: [begin,end[
void getObjects(size_type filter, int id, VRcalomet &calomets) const
const VRmuon & muonRefs() const
void getObjects(size_type filter, int id, VRl1em &l1em) const
void getObjects(size_type filter, Vids &ids, VRl1muon &l1muon) const
const Vids & l1tetsumIds() const
const VRcomposite & compositeRefs() const
TriggerFilterObject()
constructor
void getObjects(size_type filter, Vids &ids, VRcalomet &calomets) const
void getObjects(size_type filter, int id, VRl1hfrings &l1hfrings) const
std::pair< size_type, size_type > muonSlice(size_type filter) const
const VRl1em & l1emRefs() const
const Vids & l1hfringsIds() const
std::pair< size_type, size_type > l1tjetSlice(size_type filter) const
std::vector< l1extra::L1EmParticleRef > VRl1em
void getObjects(size_type filter, Vids &ids, VRcomposite &composites) const
std::pair< size_type, size_type > l1tetsumSlice(size_type filter) const
std::pair< size_type, size_type > compositeSlice(size_type filter) const
const VRl1hfrings & l1hfringsRefs() const
void getObjects(size_type filter, int id, VRjet &jets) const
const Vids & l1jetIds() const
const Vids & pixtrackIds() const
void getObjects(size_type filter, Vids &ids, VRpfjet &pfjets) const
size_type filterIndex(const edm::InputTag &filterTag) const
index from tag
std::pair< size_type, size_type > basemetSlice(size_type filter) const
void getObjects(size_type filter, int id, VRl1jet &l1jet) const
const VRl1jet & l1jetRefs() const
void getObjects(size_type filter, int id, VRl1ttau &l1ttau) const
void getObjects(size_type filter, int id, VRpixtrack &pixtracks) const
void getObjects(size_type filter, Vids &ids, VRl1tetsum &l1tetsum) const
const VRpftau & pftauRefs() const
const VRl1tmuon & l1tmuonRefs() const
const VRl1etmiss & l1etmissRefs() const
std::vector< reco::CaloJetRef > VRjet
const VRl1tjet & l1tjetRefs() const
void getObjects(size_type filter, Vids &ids, VRl1etmiss &l1etmiss) const
void getObjects(size_type filter, Vids &ids, VRl1hfrings &l1hfrings) const
std::vector< reco::PFJetRef > VRpfjet
void getObjects(size_type filter, Vids &ids, VRphoton &photons) const
extract Ref<C>s for a specific filter and of specific physics type
void getObjects(size_type filter, int id, VRmuon &muons) const
size_type size() const
number of filters
std::vector< reco::CompositeCandidateRef > VRcomposite
l1t::MuonVectorRef VRl1tmuon
const VRphoton & photonRefs() const
std::pair< size_type, size_type > calometSlice(size_type filter) const
std::vector< reco::RecoChargedCandidateRef > VRmuon
const Vids & calometIds() const
void getObjects(size_type filter, Vids &ids, VRelectron &electrons) const
const VRelectron & electronRefs() const
void getObjects(size_type filter, int id, VRcomposite &composites) const
const Vids & l1tmuonIds() const
const Vids & photonIds() const
const Vids & l1emIds() const
TriggerEventWithRefs(const std::string &usedProcessName, size_type n)
std::pair< size_type, size_type > pfjetSlice(size_type filter) const
const VRpixtrack & pixtrackRefs() const
void getObjects(size_type filter, Vids &ids, VRpixtrack &pixtracks) const
l1t::TauVectorRef VRl1ttau
std::vector< reco::ElectronRef > VRelectron
std::pair< size_type, size_type > l1hfringsSlice(size_type filter) const
std::vector< reco::PFMETRef > VRpfmet
std::vector< reco::CaloMETRef > VRcalomet
Helper class: trigger objects firing a single filter.
const Vids & jetIds() const
l1t::EtSumVectorRef VRl1tetsum
std::vector< reco::RecoEcalCandidateRef > VRphoton
std::pair< size_type, size_type > pftauSlice(size_type filter) const
void getObjects(size_type filter, int id, VRphoton &photons) const
void getObjects(size_type filter, Vids &ids, VRl1tegamma &l1tegamma) const
std::vector< l1extra::L1JetParticleRef > VRl1jet
const Vids & l1tegammaIds() const
const Vids & pfmetIds() const
std::vector< reco::PFTauRef > VRpftau
std::pair< size_type, size_type > pfmetSlice(size_type filter) const
void getObjects(size_type filter, int id, VRl1muon &l1muon) const
void getObjects(size_type filter, Vids &ids, VRl1tjet &l1tjet) const
std::string filterTag_
encoded InputTag of filter product