47 auto patJets = std::make_unique<std::vector<Jet>>();
49 auto genJetsOut = std::make_unique<reco::GenJetCollection>();
50 auto caloTowersOut = std::make_unique<std::vector<CaloTower>>();
51 auto pfCandidatesOut = std::make_unique<reco::PFCandidateCollection>();
52 auto tagInfosOut = std::make_unique<edm::OwnVector<reco::BaseTagInfo>>();
70 bool selectedLoose =
false;
78 for (CaloTowerFwdPtrVector::const_iterator itowerBegin = ijet->caloTowersFwdPtr().begin(),
79 itowerEnd = ijet->caloTowersFwdPtr().end(),
84 caloTowersOut->push_back(**itower);
88 for (reco::PFCandidateFwdPtrVector::const_iterator icandBegin = ijet->pfCandidatesFwdPtr().begin(),
89 icandEnd = ijet->pfCandidatesFwdPtr().end(),
94 pfCandidatesOut->push_back(**icand);
98 for (TagInfoFwdPtrCollection::const_iterator iinfoBegin = ijet->tagInfosFwdPtr().begin(),
99 iinfoEnd = ijet->tagInfosFwdPtr().end(),
104 tagInfosOut->push_back(**iinfo);
108 if (ijet->genJet() !=
nullptr) {
109 genJetsOut->push_back(*(ijet->genJet()));
122 unsigned int caloTowerIndex = 0;
123 unsigned int pfCandidateIndex = 0;
124 unsigned int tagInfoIndex = 0;
125 unsigned int genJetIndex = 0;
131 bool selectedLoose =
false;
133 selectedLoose =
true;
142 for (CaloTowerFwdPtrVector::const_iterator itowerBegin = ijet->caloTowersFwdPtr().begin(),
143 itowerEnd = ijet->caloTowersFwdPtr().end(),
144 itower = itowerBegin;
151 patJets->back().updateFwdCaloTowerFwdPtr(itower - itowerBegin,
157 for (reco::PFCandidateFwdPtrVector::const_iterator icandBegin = ijet->pfCandidatesFwdPtr().begin(),
158 icandEnd = ijet->pfCandidatesFwdPtr().end(),
166 patJets->back().updateFwdPFCandidateFwdPtr(icand - icandBegin,
172 for (TagInfoFwdPtrCollection::const_iterator iinfoBegin = ijet->tagInfosFwdPtr().begin(),
173 iinfoEnd = ijet->tagInfosFwdPtr().end(),
181 patJets->back().updateFwdTagInfoFwdPtr(iinfo - iinfoBegin,
187 if (ijet->genJet() !=
nullptr) {
188 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_