Definition at line 99 of file IsolatedPixelTrackCandidateL1TProducer.cc.
100 auto trackCollection = std::make_unique<reco::IsolatedPixelTrackCandidateCollection>();
103 std::vector<reco::TrackRef> pixelTrackRefs;
105 for (
unsigned int iPix = 0; iPix <
toks_pix_.size(); iPix++) {
107 theEvent.getByToken(
toks_pix_[iPix], iPixCol);
108 for (reco::TrackCollection::const_iterator pit = iPixCol->begin(); pit != iPixCol->end(); pit++) {
109 pixelTrackRefs.push_back(
reco::TrackRef(iPixCol, pit - iPixCol->begin()));
114 theEvent.getByToken(
tok_l1_, l1eTauJets);
119 double ptTriggered = -10;
120 double etaTriggered = -100;
121 double phiTriggered = -100;
124 theEvent.getByToken(
tok_hlt_, l1trigobj);
126 std::vector<edm::Ref<l1t::TauBxCollection> > l1tauobjref;
127 std::vector<edm::Ref<l1t::JetBxCollection> > l1jetobjref;
134 for (
const auto&
p : l1tauobjref) {
135 if (
p->pt() > ptTriggered) {
136 ptTriggered =
p->pt();
137 phiTriggered =
p->phi();
138 etaTriggered =
p->eta();
141 for (
const auto&
p : l1jetobjref) {
142 if (
p->pt() > ptTriggered) {
143 ptTriggered =
p->pt();
144 phiTriggered =
p->phi();
145 etaTriggered =
p->eta();
149 edm::LogVerbatim(
"IsoTrack") <<
"Sizes " << l1tauobjref.size() <<
":" << l1jetobjref.size() <<
" Trig " << ptTriggered
150 <<
":" << etaTriggered <<
":" << phiTriggered;
154 std::vector<seedAtEC> VecSeedsatEC;
156 for (
unsigned iS = 0; iS < pixelTrackRefs.size(); iS++) {
157 bool vtxMatch =
false;
159 reco::VertexCollection::const_iterator vitSel;
162 for (reco::VertexCollection::const_iterator vit = pVert->begin(); vit != pVert->end(); vit++) {
163 if (
std::abs(pixelTrackRefs[iS]->
dz(vit->position())) < minDZ) {
164 minDZ =
std::abs(pixelTrackRefs[iS]->
dz(vit->position()));
180 double R =
reco::deltaR(etaTriggered, phiTriggered, pixelTrackRefs[iS]->
eta(), pixelTrackRefs[iS]->
phi());
193 pixelTrackRefs[iS]->momentum().
phi(),
194 tj->momentum().eta(),
195 tj->momentum().phi()) > drMaxL1Track_)
204 std::pair<double, double> seedCooAtEC;
208 pixelTrackRefs[iS]->
phi(),
209 pixelTrackRefs[iS]->
pt(),
210 pixelTrackRefs[iS]->
charge(),
215 pixelTrackRefs[iS]->
phi(),
216 pixelTrackRefs[iS]->
pt(),
217 pixelTrackRefs[iS]->
charge(),
219 seedAtEC
seed(iS, (tmatch || vtxMatch), seedCooAtEC.first, seedCooAtEC.second);
220 VecSeedsatEC.push_back(
seed);
222 edm::LogVerbatim(
"IsoTrack") <<
"Seed " << seedCooAtEC.first << seedCooAtEC.second;
225 for (
unsigned int i = 0;
i < VecSeedsatEC.size();
i++) {
226 unsigned int iSeed = VecSeedsatEC[
i].index;
227 if (!VecSeedsatEC[
i].
ok)
234 pixelTrackRefs[iSeed]->momentum().
phi(),
235 tj->momentum().eta(),
236 tj->momentum().phi()) > drMaxL1Track_)
242 for (
unsigned int j = 0;
j < VecSeedsatEC.size();
j++) {
245 unsigned int iSurr = VecSeedsatEC[
j].index;
248 pixelTrackRefs[iSeed]->
phi(),
249 pixelTrackRefs[iSurr]->
eta(),
254 reco::VertexCollection::const_iterator vitSel2;
255 for (reco::VertexCollection::const_iterator vit = pVert->begin(); vit != pVert->end(); vit++) {
256 if (
std::abs(pixelTrackRefs[iSurr]->
dz(vit->position())) < minDZ2) {
257 minDZ2 =
std::abs(pixelTrackRefs[iSurr]->
dz(vit->position()));
268 sumP += pixelTrackRefs[iSurr]->p();
269 if (pixelTrackRefs[iSurr]->
p() >
maxP)
270 maxP = pixelTrackRefs[iSurr]->p();
276 newCandidate.setEtaPhiEcal(VecSeedsatEC[
i].
eta, VecSeedsatEC[
i].
phi);
References funct::abs(), BXVector< T >::begin(), ALCARECOTkAlJpsiMuMu_cff::charge, reco::deltaR(), PVValHelper::dxy, PVValHelper::dz, BXVector< T >::end(), PVValHelper::eta, newFWLiteAna::found, edm::Event::getByToken(), getDistInCM(), GetEtaPhiAtEcal(), trigger::TriggerRefsCollections::getObjects(), mps_fire::i, dqmiolumiharvest::j, RecoMuonValidator_cfi::maxP, maxPForIsolationValue_, minPTrackValue_, eostools::move(), convertSQLiteXML::ok, AlCaHLTBitMon_ParallelJobs::p, phi, pixelIsolationConeSizeAtEC_, prelimCone_, DiDispStaMuonMonitor_cfi::pt, edm::Event::put(), dttmaxenums::R, fileCollector::seed, reco::IsolatedPixelTrackCandidate::setEtaPhiEcal(), tauAssocCone_, tauUnbiasCone_, tok_hlt_, tok_l1_, tok_vert_, toks_pix_, duplicaterechits_cfi::trackCollection, trigger::TriggerL1Jet, trigger::TriggerL1Tau, vtxCutIsol_, and vtxCutSeed_.