@@ -103,6 +103,7 @@ struct HfTaskElectronWeakBoson {
103103
104104 Configurable<float > massZMin{" massZMin" , 60.0 , " Minimum Z mass (GeV/c^2)" };
105105 Configurable<float > massZMax{" massZMax" , 120.0 , " Maximum Z mass (GeV/c^2)" };
106+ Configurable<float > correctionPtElectron{" correctionPtElectron" , 1.0 , " momentum correction factor for decay electrons from Z boson" };
106107
107108 // flag for THn
108109 Configurable<bool > isTHnElectron{" isTHnElectron" , true , " Enables THn for electrons" };
@@ -195,6 +196,7 @@ struct HfTaskElectronWeakBoson {
195196 const AxisSpec axisEta{20 , -1.0 , 1.0 , " #eta" };
196197 const AxisSpec axisPt{nBinsPt, 0 , binPtmax, " p_{T}" };
197198 const AxisSpec axisNsigma{100 , -5 , 5 , " N#sigma" };
199+ const AxisSpec axisDedx{150 , 0 , 150 , " dEdx" };
198200 const AxisSpec axisE{nBinsE, 0 , binEmax, " Energy" };
199201 const AxisSpec axisM02{100 , 0 , 1 , " M02" };
200202 const AxisSpec axisdPhi{100 , -0.5 , 0.5 , " dPhi" };
@@ -245,7 +247,7 @@ struct HfTaskElectronWeakBoson {
245247 registry.add (" hInvMassZeeUls" , " invariant mass for Z ULS pair" , kTH2F , {{axisPt}, {axisInvMassZ}});
246248 registry.add (" hKfInvMassZeeLs" , " invariant mass for Z LS pair KFp" , kTH2F , {{axisPt}, {axisInvMassZ}});
247249 registry.add (" hKfInvMassZeeUls" , " invariant mass for Z ULS pair KFp" , kTH2F , {{axisPt}, {axisInvMassZ}});
248- registry.add (" hTHnElectrons" , " electron info" , HistType::kTHnSparseF , {axisPt, axisNsigma, axisM02, axisEop, axisIsoEnergy, axisIsoTrack});
250+ registry.add (" hTHnElectrons" , " electron info" , HistType::kTHnSparseF , {axisPt, axisNsigma, axisM02, axisEop, axisIsoEnergy, axisIsoTrack, axisEta, axisDedx });
249251 registry.add (" hTHnTrMatch" , " Track EMC Match" , HistType::kTHnSparseF , {axisPt, axisdPhi, axisdEta});
250252
251253 // Z-hadron correlation histograms
@@ -338,8 +340,8 @@ struct HfTaskElectronWeakBoson {
338340 KFPTrack kfpTrackAssEle = createKFPTrackFromTrack (track);
339341 KFParticle kfpAssEle (kfpTrackAssEle, pdgAss);
340342 // reco by RecoDecay
341- auto child1 = RecoDecayPtEtaPhi::pVector (kfpIsoEle.GetPt (), kfpIsoEle.GetEta (), kfpIsoEle.GetPhi ());
342- auto child2 = RecoDecayPtEtaPhi::pVector (kfpAssEle.GetPt (), kfpAssEle.GetEta (), kfpAssEle.GetPhi ());
343+ auto child1 = RecoDecayPtEtaPhi::pVector (kfpIsoEle.GetPt () * correctionPtElectron , kfpIsoEle.GetEta (), kfpIsoEle.GetPhi ());
344+ auto child2 = RecoDecayPtEtaPhi::pVector (kfpAssEle.GetPt () * correctionPtElectron , kfpAssEle.GetEta (), kfpAssEle.GetPhi ());
343345 double invMassEE = RecoDecay::m (std::array{child1, child2}, std::array{o2::constants::physics::MassElectron, o2::constants::physics::MassElectron});
344346
345347 // reco by KFparticle
@@ -556,7 +558,7 @@ struct HfTaskElectronWeakBoson {
556558 int trackCount = getIsolatedTrack (track.eta (), track.phi (), track.pt (), tracks) - 1 ;
557559
558560 if (match.track_as <TrackEle>().pt () > ptTHnThresh && isTHnElectron) {
559- registry.fill (HIST (" hTHnElectrons" ), match.track_as <TrackEle>().pt (), match.track_as <TrackEle>().tpcNSigmaEl (), m02Emc, eop, isoEnergy, trackCount);
561+ registry.fill (HIST (" hTHnElectrons" ), match.track_as <TrackEle>().pt (), match.track_as <TrackEle>().tpcNSigmaEl (), m02Emc, eop, isoEnergy, trackCount, track. eta (), track. tpcSignal () );
560562 }
561563 // LOG(info) << "E/p" << eop;
562564 registry.fill (HIST (" hEopNsigTPC" ), match.track_as <TrackEle>().tpcNSigmaEl (), eop);
0 commit comments