1 #ifndef HLTReco_TriggerEventWithRefs_h 2 #define HLTReco_TriggerEventWithRefs_h 65 photons_(0), electrons_(0), muons_(0), jets_(0), composites_(0), basemets_(0), calomets_(0), pixtracks_(0), l1em_(0), l1muon_(0), l1jet_(0), l1etmiss_(0), l1hfrings_(0), pfjets_(0), pftaus_(0), pfmets_(0), l1tmuon_(0), l1tegamma_(0), l1tjet_(0), l1ttau_(0), l1tetsum_(0) {
69 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) :
70 filterTag_(filterTag.
encode()),
71 photons_(np), electrons_(ne), muons_(nm), jets_(nj), composites_(nc), basemets_(nB), calomets_(nC), pixtracks_(nt), l1em_(l1em), l1muon_(l1muon), l1jet_(l1jet), l1etmiss_(l1etmiss), l1hfrings_(l1hfrings), pfjets_(pfjets), pftaus_(pftaus), pfmets_(pfmets), l1tmuon_(l1tmuon), l1tegamma_(l1tegamma), l1tjet_(l1tjet), l1ttau_(l1ttau), l1tetsum_(l1tetsum) { }
87 usedProcessName_(usedProcessName),
90 filterObjects_.reserve(n);
96 filterObjects_.push_back(
134 return edm::InputTag(filterObjects_.at(filterIndex).filterTag_);
142 if (encodedFilterTag==filterObjects_[
i].
filterTag_) {
return i;}
150 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).photons_);
151 const size_type end(filterObjects_.at(filter).photons_);
152 return std::pair<size_type,size_type>(
begin,
end);
156 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).electrons_);
157 const size_type end(filterObjects_.at(filter).electrons_);
158 return std::pair<size_type,size_type>(
begin,
end);
162 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).muons_);
164 return std::pair<size_type,size_type>(
begin,
end);
168 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).jets_);
170 return std::pair<size_type,size_type>(
begin,
end);
174 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).composites_);
175 const size_type end(filterObjects_.at(filter).composites_);
176 return std::pair<size_type,size_type>(
begin,
end);
180 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).basemets_);
181 const size_type end(filterObjects_.at(filter).basemets_);
182 return std::pair<size_type,size_type>(
begin,
end);
186 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).calomets_);
187 const size_type end(filterObjects_.at(filter).calomets_);
188 return std::pair<size_type,size_type>(
begin,
end);
192 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).pixtracks_);
193 const size_type end(filterObjects_.at(filter).pixtracks_);
194 return std::pair<size_type,size_type>(
begin,
end);
198 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).l1em_);
200 return std::pair<size_type,size_type>(
begin,
end);
204 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).l1muon_);
206 return std::pair<size_type,size_type>(
begin,
end);
210 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).l1jet_);
212 return std::pair<size_type,size_type>(
begin,
end);
216 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).l1etmiss_);
217 const size_type end(filterObjects_.at(filter).l1etmiss_);
218 return std::pair<size_type,size_type>(
begin,
end);
222 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).l1hfrings_);
223 const size_type end(filterObjects_.at(filter).l1hfrings_);
224 return std::pair<size_type,size_type>(
begin,
end);
228 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).pfjets_);
230 return std::pair<size_type,size_type>(
begin,
end);
234 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).pftaus_);
236 return std::pair<size_type,size_type>(
begin,
end);
240 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).pfmets_);
242 return std::pair<size_type,size_type>(
begin,
end);
246 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).l1tmuon_);
247 const size_type end(filterObjects_.at(filter).l1tmuon_);
248 return std::pair<size_type,size_type>(
begin,
end);
252 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).l1tegamma_);
253 const size_type end(filterObjects_.at(filter).l1tegamma_);
254 return std::pair<size_type,size_type>(
begin,
end);
258 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).l1tjet_);
260 return std::pair<size_type,size_type>(
begin,
end);
264 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).l1ttau_);
266 return std::pair<size_type,size_type>(
begin,
end);
270 const size_type begin(filter==0? 0 : filterObjects_.at(filter-1).l1tetsum_);
271 const size_type end(filterObjects_.at(filter).l1tetsum_);
272 return std::pair<size_type,size_type>(
begin,
end);
void getObjects(size_type filter, int id, VRelectron &electrons) const
std::pair< size_type, size_type > l1tmuonSlice(size_type filter) const
const Vids & l1ttauIds() const
void getObjects(size_type filter, Vids &ids, VRl1em &l1em) const
std::pair< size_type, size_type > pftauSlice(size_type filter) const
const Vids & muonIds() 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
std::pair< size_type, size_type > l1tegammaSlice(size_type filter) const
void getObjects(size_type filter, int id, VRpftau &pftaus) const
const VRbasemet & basemetRefs() const
std::pair< size_type, size_type > compositeSlice(size_type filter) const
void addFilterObject(const edm::InputTag &filterTag, const TriggerFilterObjectWithRefs &tfowr)
setters - to build EDProduct
std::pair< size_type, size_type > l1etmissSlice(size_type filter) const
const VRcalomet & calometRefs() const
const Vids & compositeIds() const
const Vids & pfjetIds() const
TriggerEventWithRefs()
methods
void getObjects(size_type filter, Vids &ids, VRl1ttau &l1ttau) 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 > pfmetSlice(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
std::pair< size_type, size_type > calometSlice(size_type filter) const
const Vids & basemetIds() const
std::vector< l1extra::L1MuonParticleRef > VRl1muon
void getObjects(size_type filter, int id, VRl1tetsum &l1tetsum) const
std::pair< size_type, size_type > jetSlice(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
void getObjects(size_type filter, int id, VRbasemet &basemets) const
const VRl1muon & l1muonRefs() const
const VRpfjet & pfjetRefs() const
std::vector< l1extra::L1EtMissParticleRef > VRl1etmiss
std::pair< size_type, size_type > l1muonSlice(size_type filter) const
const Vids & l1tjetIds() const
const VRl1tegamma & l1tegammaRefs() const
std::pair< size_type, size_type > muonSlice(size_type filter) const
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
const VRl1em & l1emRefs() const
std::pair< size_type, size_type > l1jetSlice(size_type filter) const
const Vids & l1hfringsIds() const
std::vector< l1extra::L1EmParticleRef > VRl1em
void getObjects(size_type filter, Vids &ids, VRcomposite &composites) 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
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
std::pair< size_type, size_type > l1tjetSlice(size_type filter) const
std::pair< size_type, size_type > pfjetSlice(size_type filter) 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
std::pair< size_type, size_type > l1ttauSlice(size_type filter) const
const VRphoton & photonRefs() const
std::vector< reco::RecoChargedCandidateRef > VRmuon
const Vids & calometIds() 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, Vids &ids, VRelectron &electrons) const
std::pair< size_type, size_type > l1emSlice(size_type filter) 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 > pixtrackSlice(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
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 > l1tetsumSlice(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::pair< size_type, size_type > basemetSlice(size_type filter) const
std::pair< size_type, size_type > electronSlice(size_type filter) const
std::string filterTag_
encoded InputTag of filter product