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],