Skip to content

Commit

Permalink
Merge pull request #20182 from bsunanda/Run2-hcx146
Browse files Browse the repository at this point in the history
Run2-hcx146 Correct collection names used in IsoTrack HLTs (Backport PR #19776)
  • Loading branch information
cmsbuild committed Aug 22, 2017
2 parents 427b7a6 + 8505651 commit fee39c1
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

#IsolatedPixelTrackCandidateProducer default configuration
isolPixelTrackProd = cms.EDProducer("IsolatedPixelTrackCandidateL1TProducer",
L1eTauJetsSource = cms.InputTag( 'hltCaloStage2Digis','Tau' ),
L1eTauJetsSource = cms.InputTag( 'hltGtStage2Digis','Tau' ),
tauAssociationCone = cms.double( 0.0 ),
tauUnbiasCone = cms.double( 1.2 ),
PixelTracksSources = cms.VInputTag( "hltPixelTracks" ),
ExtrapolationConeSize = cms.double(1.0),
PixelIsolationConeSizeAtEC = cms.double(40),
L1GTSeedLabel = cms.InputTag( "hltL1sIsoTrack" ),
L1GTSeedLabel = cms.InputTag( "hltL1sV0SingleJet60" ),
MaxVtxDXYSeed = cms.double( 101.0 ),
MaxVtxDXYIsol = cms.double( 101.0 ),
VertexLabel = cms.InputTag( "hltTrimmedPixelVertices" ),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,8 @@ void IsolatedPixelTrackCandidateL1TProducer::beginRun(const edm::Run &run, const
const VolumeBasedMagneticField* vbfCPtr = dynamic_cast<const VolumeBasedMagneticField*>(&(*vbfField));
GlobalVector BField = vbfCPtr->inTesla(GlobalPoint(0,0,0));
bfVal_=BField.mag();
edm::LogVerbatim("IsoTrack") << "rEB " << rEB_ << " zEE " << zEE_ << " B "
<< bfVal_ << std::endl;
}

void IsolatedPixelTrackCandidateL1TProducer::produce(edm::Event& theEvent, const edm::EventSetup& theEventSetup) {
Expand Down Expand Up @@ -116,26 +118,31 @@ void IsolatedPixelTrackCandidateL1TProducer::produce(edm::Event& theEvent, const
std::vector< edm::Ref<l1t::TauBxCollection> > l1tauobjref;
std::vector< edm::Ref<l1t::JetBxCollection> > l1jetobjref;

l1trigobj->getObjects(trigger::TriggerTau, l1tauobjref);
l1trigobj->getObjects(trigger::TriggerJet, l1jetobjref);
// l1trigobj->getObjects(trigger::TriggerTau, l1tauobjref);
l1trigobj->getObjects(trigger::TriggerL1Tau, l1tauobjref);
// l1trigobj->getObjects(trigger::TriggerJet, l1jetobjref);
l1trigobj->getObjects(trigger::TriggerL1Jet, l1jetobjref);

for (unsigned int p=0; p<l1tauobjref.size(); p++) {
if (l1tauobjref[p]->pt()>ptTriggered) {
ptTriggered = l1tauobjref[p]->pt();
phiTriggered = l1tauobjref[p]->phi();
etaTriggered = l1tauobjref[p]->eta();
for (auto p : l1tauobjref) {
if (p->pt()>ptTriggered) {
ptTriggered = p->pt();
phiTriggered = p->phi();
etaTriggered = p->eta();
}
}
for (unsigned int p=0; p<l1jetobjref.size(); p++) {
if (l1jetobjref[p]->pt()>ptTriggered) {
ptTriggered = l1jetobjref[p]->pt();
phiTriggered = l1jetobjref[p]->phi();
etaTriggered = l1jetobjref[p]->eta();
for (auto p : l1jetobjref) {
if (p->pt()>ptTriggered) {
ptTriggered = p->pt();
phiTriggered = p->phi();
etaTriggered = p->eta();
}
}
edm::LogVerbatim("IsoTrack") << "Sizes " << l1tauobjref.size() << ":"
<< l1jetobjref.size() << " Trig " << ptTriggered
<< ":" << etaTriggered << ":" << phiTriggered
<< std::endl;

double drMaxL1Track_ = tauAssocCone_;

int ntr = 0;
std::vector<seedAtEC> VecSeedsatEC;
//loop to select isolated tracks
Expand All @@ -158,10 +165,15 @@ void IsolatedPixelTrackCandidateL1TProducer::produce(edm::Event& theEvent, const
} else {
vtxMatch=true;
}
edm::LogVerbatim("IsoTrack") << "minZD " << minDZ << " Found " << found
<< ":" << vtxMatch << std::endl;

//select tracks not matched to triggered L1 jet
double R=reco::deltaR(etaTriggered, phiTriggered,
pixelTrackRefs[iS]->eta(), pixelTrackRefs[iS]->phi());
edm::LogVerbatim("IsoTrack") << "Distance to L1 " << R << ":"
<< tauUnbiasCone_ << " Result "
<< (R<tauUnbiasCone_) << std::endl;
if (R<tauUnbiasCone_) continue;

//check taujet matching
Expand All @@ -172,7 +184,7 @@ void IsolatedPixelTrackCandidateL1TProducer::produce(edm::Event& theEvent, const
selj = tj;
tmatch = true;
} //loop over L1 tau

edm::LogVerbatim("IsoTrack") << "tMatch " << tmatch << std::endl;

//propagate seed track to ECAL surface:
std::pair<double,double> seedCooAtEC;
Expand All @@ -182,8 +194,9 @@ void IsolatedPixelTrackCandidateL1TProducer::produce(edm::Event& theEvent, const
else seedCooAtEC=GetEtaPhiAtEcal(pixelTrackRefs[iS]->eta(), pixelTrackRefs[iS]->phi(), pixelTrackRefs[iS]->pt(), pixelTrackRefs[iS]->charge(), 0);
seedAtEC seed(iS,(tmatch||vtxMatch),seedCooAtEC.first,seedCooAtEC.second);
VecSeedsatEC.push_back(seed);
edm::LogVerbatim("IsoTrack") << "Seed " << seedCooAtEC.first
<< seedCooAtEC.second << std::endl;
}

for (unsigned int i=0; i<VecSeedsatEC.size(); i++) {
unsigned int iSeed = VecSeedsatEC[i].index;
if (!VecSeedsatEC[i].ok) continue;
Expand Down Expand Up @@ -225,6 +238,7 @@ void IsolatedPixelTrackCandidateL1TProducer::produce(edm::Event& theEvent, const
ntr++;
}
}
edm::LogVerbatim("IsoTrack") << "Number of Isolated Track " << ntr << "\n";
// put the product in the event
theEvent.put(std::move(trackCollection));
}
Expand Down Expand Up @@ -302,4 +316,3 @@ std::pair<double,double> IsolatedPixelTrackCandidateL1TProducer::GetEtaPhiAtEcal
return retVal;
}


0 comments on commit fee39c1

Please sign in to comment.