@@ -76,6 +76,7 @@ struct HfTaskElectronWeakBoson {
7676
7777 Configurable<float > vtxZ{" vtxZ" , 10 .f , " " };
7878
79+ Configurable<bool > applyTrackSys{" applyTrackSys" , false , " apply additional track cuts for systematic study" };
7980 Configurable<float > etaTrMin{" etaTrMin" , -1 .0f , " minimun track eta" };
8081 Configurable<float > etaTrMax{" etaTrMax" , 1 .0f , " maximum track eta" };
8182 Configurable<float > etaEmcMax{" etaEmcMax" , 0 .6f , " maximum track eta" };
@@ -173,7 +174,7 @@ struct HfTaskElectronWeakBoson {
173174 using SelectedClusters = o2::aod::EMCALClusters;
174175 // PbPb
175176 // using TrackEle = o2::soa::Join<o2::aod::Tracks, o2::aod::FullTracks, o2::aod::TracksExtra, o2::aod::TracksDCA, o2::aod::TrackSelection, o2::aod::pidTPCFullEl>;
176- using TrackEle = o2::soa::Join<o2::aod::Tracks, o2::aod::TracksCov, o2::aod::FullTracks, o2::aod::TracksExtra, o2::aod::TracksDCA, o2::aod::TrackSelection, o2::aod::pidTPCFullEl>;
177+ using TrackEle = o2::soa::Join<o2::aod::Tracks, o2::aod::TracksCov, o2::aod::FullTracks, o2::aod::TracksExtra, o2::aod::TracksDCA, o2::aod::TrackSelection, o2::aod::pidTPCFullEl, o2::aod::pidTPCFullPi >;
177178
178179 // pp
179180 // using TrackEle = o2::soa::Filtered<o2::soa::Join<o2::aod::Tracks, o2::aod::FullTracks, o2::aod::TracksDCA, o2::aod::TrackSelection, o2::aod::pidTPCEl, o2::aod::pidTOFEl>>;
@@ -201,6 +202,7 @@ struct HfTaskElectronWeakBoson {
201202 ConfigurableAxis confaxisIsoEnergy{" confaxisIsoEnergy" , {255 , 0 , 2.0 }, " E_{iso}" };
202203 ConfigurableAxis confaxisIsoMomentum{" confaxisIsoMomentum" , {255 , 0 , 2.0 }, " p_{iso}" };
203204 ConfigurableAxis confaxisIsoTrack{" confaxisIsoTrack" , {25 , -0.5 , 24.5 }, " Isolation Track" };
205+ ConfigurableAxis confaxisDedxTrack{" confaxisDedxTrack" , {200 , -10 , 10 }, " dEdx" };
204206 ConfigurableAxis confaxisInvMassZgamma{" confaxisInvMassZgamma" , {150 , 0 , 150 }, " M_{ee} (GeV/c^{2})" };
205207 ConfigurableAxis confaxisInvMassZ{" confaxisInvMassZ" , {130 , 20 , 150 }, " M_{ee} (GeV/c^{2})" };
206208 ConfigurableAxis confaxisZfrag{" confaxisZfrag" , {200 , 0 , 2.0 }, " p_{T,h}/p_{T,Z}" };
@@ -259,7 +261,7 @@ struct HfTaskElectronWeakBoson {
259261 const AxisSpec axisNsigma{100 , -5 , 5 , " N#sigma" };
260262 const AxisSpec axisNsigmaZneg{100 , -5 , 5 , " N#sigma_{pos}" };
261263 const AxisSpec axisNsigmaZpos{100 , -5 , 5 , " N#sigma_{neg}" };
262- const AxisSpec axisDedx{150 , 0 , 150 , " dEdx" };
264+ const AxisSpec axisDedx{confaxisDedxTrack , " dEdx" };
263265 const AxisSpec axisE{nBinsE, 0 , binEmax, " Energy" };
264266 const AxisSpec axisM02{100 , 0 , 1 , " M02" };
265267 const AxisSpec axisM02neg{100 , 0 , 1 , " M02(neg)" };
@@ -343,7 +345,7 @@ struct HfTaskElectronWeakBoson {
343345 registry.add (" hTHnTrMatch" , " Track EMC Match" , HistType::kTHnSparseF , {axisPt, axisdPhi, axisdEta});
344346
345347 // Z-hadron correlation histograms
346- registry.add (" hZHadronDphi" , " Z-hadron #Delta#phi correlation" , HistType::kTHnSparseF , {axisCentrality, axisSign, axisPtZ, axisDPhiZh, axisDEtaZh, axisZfrag, axisPtHadron});
348+ registry.add (" hZHadronDphi" , " Z-hadron #Delta#phi correlation" , HistType::kTHnSparseF , {axisCentrality, axisSign, axisPtZ, axisDPhiZh, axisDEtaZh, axisZfrag, axisPtHadron, axisDedx });
347349 registry.add (" hZptSpectrum" , " Z boson p_{T} spectrum" , kTH2F , {{axisSign}, {axisPtZ}});
348350
349351 // hisotgram for EMCal trigger
@@ -646,28 +648,32 @@ struct HfTaskElectronWeakBoson {
646648 // track loop
647649 for (const auto & track : tracks) {
648650
649- if (std::abs (track.eta ()) > etaTrMax) {
650- continue ;
651- }
652- if (track.tpcNClsCrossedRows () < nclcrossTpcMin) {
653- continue ;
654- }
655- if (std::abs (track.dcaXY ()) > dcaxyMax) {
656- continue ;
657- }
658- if (track.itsChi2NCl () > chi2ItsMax) {
659- continue ;
660- }
661- if (track.tpcChi2NCl () > chi2TpcMax) {
651+ if (!track.isGlobalTrackWoPtEta ()) {
662652 continue ;
663653 }
664- if (track.tpcNClsFound () < nclTpcMin ) {
654+ if (std::abs ( track.eta ()) > etaTrMax ) {
665655 continue ;
666656 }
667- if (track.itsNCls () < nclItsMin) {
668- continue ;
657+ if (applyTrackSys) {
658+ if (track.tpcNClsCrossedRows () < nclcrossTpcMin) {
659+ continue ;
660+ }
661+ if (std::abs (track.dcaXY ()) > dcaxyMax) {
662+ continue ;
663+ }
664+ if (track.itsChi2NCl () > chi2ItsMax) {
665+ continue ;
666+ }
667+ if (track.tpcChi2NCl () > chi2TpcMax) {
668+ continue ;
669+ }
670+ if (track.tpcNClsFound () < nclTpcMin) {
671+ continue ;
672+ }
673+ if (track.itsNCls () < nclItsMin) {
674+ continue ;
675+ }
669676 }
670-
671677 registry.fill (HIST (" hEta" ), track.eta ());
672678 registry.fill (HIST (" hITSchi2" ), track.itsChi2NCl ());
673679 registry.fill (HIST (" hTPCchi2" ), track.tpcChi2NCl ());
@@ -694,7 +700,7 @@ struct HfTaskElectronWeakBoson {
694700 eop,
695701 isoEnergy,
696702 isoMomentum,
697- track.tpcNSigmaEl (),
703+ track.tpcNSigmaPi () * track. sign (),
698704 m02,
699705 trackCount,
700706 track.tpcNClsCrossedRows (),
@@ -873,7 +879,7 @@ struct HfTaskElectronWeakBoson {
873879 double const deltaPhi = RecoDecay::constrainAngle (trackAss.phi - zBoson.phi , -o2::constants::math::PIHalf);
874880 double const ptRatio = trackAss.pt / zBoson.pt ;
875881 double const deltaEta = zBoson.eta - trackAss.eta ;
876- registry.fill (HIST (" hZHadronDphi" ), centrality, zBoson.charge , zBoson.pt , deltaPhi, deltaEta, ptRatio, trackAss.pt );
882+ registry.fill (HIST (" hZHadronDphi" ), centrality, zBoson.charge , zBoson.pt , deltaPhi, deltaEta, ptRatio, trackAss.pt , trackAss. dedxTrk );
877883 }
878884 }
879885 } // end of Z-hadron correlation
0 commit comments