46 auto patJets = std::make_unique<std::vector<Jet>>();
48 auto genJetsOut = std::make_unique<reco::GenJetCollection>();
49 auto caloTowersOut = std::make_unique<std::vector<CaloTower>>();
50 auto pfCandidatesOut = std::make_unique<reco::PFCandidateCollection>();
51 auto tagInfosOut = std::make_unique<edm::OwnVector<reco::BaseTagInfo>>();
69 bool selectedLoose =
false;
77 for (CaloTowerFwdPtrVector::const_iterator itowerBegin = ijet->caloTowersFwdPtr().begin(),
78 itowerEnd = ijet->caloTowersFwdPtr().end(),
83 caloTowersOut->push_back(**itower);
87 for (reco::PFCandidateFwdPtrVector::const_iterator icandBegin = ijet->pfCandidatesFwdPtr().begin(),
88 icandEnd = ijet->pfCandidatesFwdPtr().end(),
93 pfCandidatesOut->push_back(**icand);
97 for (TagInfoFwdPtrCollection::const_iterator iinfoBegin = ijet->tagInfosFwdPtr().begin(),
98 iinfoEnd = ijet->tagInfosFwdPtr().end(),
103 tagInfosOut->push_back(**iinfo);
107 if (ijet->genJet() !=
nullptr) {
108 genJetsOut->push_back(*(ijet->genJet()));
121 unsigned int caloTowerIndex = 0;
122 unsigned int pfCandidateIndex = 0;
123 unsigned int tagInfoIndex = 0;
124 unsigned int genJetIndex = 0;
130 bool selectedLoose =
false;
132 selectedLoose =
true;
141 for (CaloTowerFwdPtrVector::const_iterator itowerBegin = ijet->caloTowersFwdPtr().begin(),
142 itowerEnd = ijet->caloTowersFwdPtr().end(),
143 itower = itowerBegin;
150 patJets->back().updateFwdCaloTowerFwdPtr(itower - itowerBegin,
156 for (reco::PFCandidateFwdPtrVector::const_iterator icandBegin = ijet->pfCandidatesFwdPtr().begin(),
157 icandEnd = ijet->pfCandidatesFwdPtr().end(),
165 patJets->back().updateFwdPFCandidateFwdPtr(icand - icandBegin,
171 for (TagInfoFwdPtrCollection::const_iterator iinfoBegin = ijet->tagInfosFwdPtr().begin(),
172 iinfoEnd = ijet->tagInfosFwdPtr().end(),
180 patJets->back().updateFwdTagInfoFwdPtr(iinfo - iinfoBegin,
186 if (ijet->genJet() !=
nullptr) {
187 patJets->back().updateFwdGenJetFwdRef(
const StringCutObjectSelector< Jet > selector_
const StringCutObjectSelector< Jet > selectorLoose_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::vector< GenJet > GenJetCollection
collection of GenJet objects
RefProd< PROD > getRefBeforePut()
std::vector< reco::PFCandidate > PFCandidateCollection
collection of PFCandidates
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
const edm::EDGetTokenT< edm::View< pat::Jet > > srcToken_