diff --git a/DataFormats/Scouting/interface/Run3ScoutingElectron.h b/DataFormats/Scouting/interface/Run3ScoutingElectron.h index 58857a0e0ac6f..0a2f3446363fe 100644 --- a/DataFormats/Scouting/interface/Run3ScoutingElectron.h +++ b/DataFormats/Scouting/interface/Run3ScoutingElectron.h @@ -15,6 +15,10 @@ class Run3ScoutingElectron { float m, float d0, float dz, + float trkpt, + float trketa, + float trkphi, + float trkchi2overndf, float dEtaIn, float dPhiIn, float sigmaIetaIeta, @@ -39,6 +43,10 @@ class Run3ScoutingElectron { m_(m), d0_(d0), dz_(dz), + trkpt_(trkpt), + trketa_(trketa), + trkphi_(trkphi), + trkchi2overndf_(trkchi2overndf), dEtaIn_(dEtaIn), dPhiIn_(dPhiIn), sigmaIetaIeta_(sigmaIetaIeta), @@ -65,6 +73,10 @@ class Run3ScoutingElectron { m_(0), d0_(0), dz_(0), + trkpt_(0), + trketa_(0), + trkphi_(0), + trkchi2overndf_(0), dEtaIn_(0), dPhiIn_(0), sigmaIetaIeta_(0), @@ -88,6 +100,10 @@ class Run3ScoutingElectron { float m() const { return m_; } float d0() const { return d0_; } float dz() const { return dz_; } + float trkpt() const { return trkpt_; } + float trketa() const { return trketa_; } + float trkphi() const { return trkphi_; } + float trkchi2overndf() const { return trkchi2overndf_; } float dEtaIn() const { return dEtaIn_; } float dPhiIn() const { return dPhiIn_; } float sigmaIetaIeta() const { return sigmaIetaIeta_; } @@ -114,6 +130,10 @@ class Run3ScoutingElectron { float m_; float d0_; float dz_; + float trkpt_; + float trketa_; + float trkphi_; + float trkchi2overndf_; float dEtaIn_; float dPhiIn_; float sigmaIetaIeta_; diff --git a/DataFormats/Scouting/src/classes_def.xml b/DataFormats/Scouting/src/classes_def.xml index 7be86ecd8abfd..0267ccd3a677a 100644 --- a/DataFormats/Scouting/src/classes_def.xml +++ b/DataFormats/Scouting/src/classes_def.xml @@ -41,10 +41,11 @@ - + + diff --git a/HLTrigger/Egamma/plugins/HLTScoutingEgammaProducer.cc b/HLTrigger/Egamma/plugins/HLTScoutingEgammaProducer.cc index ceac229b76328..01fe21943b039 100644 --- a/HLTrigger/Egamma/plugins/HLTScoutingEgammaProducer.cc +++ b/HLTrigger/Egamma/plugins/HLTScoutingEgammaProducer.cc @@ -275,6 +275,10 @@ void HLTScoutingEgammaProducer::produce(edm::StreamID sid, edm::Event& iEvent, e float d0 = 0.0; float dz = 0.0; + float trackpt = 0.; + float tracketa = 0.; + float trackphi = 0.; + float trackchi2overndf = 0.; int charge = -999; for (auto& track : *EgammaGsfTrackCollection) { RefToBase seed = track.extra()->seedRef(); @@ -284,7 +288,13 @@ void HLTScoutingEgammaProducer::produce(edm::StreamID sid, edm::Event& iEvent, e if (scRefFromTrk == scRef) { d0 = track.d0(); dz = track.dz(); + trackpt = track.pt(); + tracketa = track.eta(); + trackphi = track.phi(); charge = track.charge(); + auto const trackndof = track.ndof(); + if (trackndof != 0) + trackchi2overndf = track.chi2() / trackndof; } } if (charge == -999) { // No associated track. Candidate is a scouting photon @@ -312,6 +322,10 @@ void HLTScoutingEgammaProducer::produce(edm::StreamID sid, edm::Event& iEvent, e candidate.mass(), d0, dz, + trackpt, + tracketa, + trackphi, + trackchi2overndf, (*DetaMap)[candidateRef], (*DphiMap)[candidateRef], (*SigmaIEtaIEtaMap)[candidateRef],