2020#include " Common/DataModel/EventSelection.h"
2121#include " Common/DataModel/PIDResponse.h"
2222#include " Common/DataModel/TrackSelectionTables.h"
23- #include " Common/DataModel/Centrality.h"
2423#include " Common/DataModel/Multiplicity.h"
2524#include " Framework/ASoAHelpers.h"
2625#include " Framework/AnalysisDataModel.h"
@@ -38,7 +37,7 @@ using PIDTracks = soa::Join<
3837 aod::Tracks, aod::TracksExtra, aod::TrackSelectionExtension, aod::TracksDCA, aod::TrackSelection,
3938 aod::pidTOFFullPi, aod::pidTOFFullPr, aod::pidTOFFullEl, aod::pidTOFbeta>;
4039
41- using SelectedCollisions = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs >;
40+ using SelectedCollisions = soa::Join<aod::Collisions, aod::EvSels>;
4241
4342struct DedxAnalysis {
4443
@@ -53,8 +52,6 @@ struct DedxAnalysis {
5352 static constexpr int kEtaIntervals = 8 ;
5453 static constexpr int kParticlesType = 4 ;
5554 float tpcCut = 0.6 ;
56- float centMin = 0.0 ;
57- float centMax = 100.0 ;
5855 float pionMin = 0.35 ;
5956 float pionMax = 0.45 ;
6057 float elTofCut = 0.1 ;
@@ -71,6 +68,8 @@ struct DedxAnalysis {
7168 " max chi2 per cluster TPC" };
7269 Configurable<float > maxChi2ITS{" maxChi2ITS" , 36 .0f ,
7370 " max chi2 per cluster ITS" };
71+ Configurable<float > maxZDistanceToIP{" maxZDistanceToIP" , 10 .0f ,
72+ " max z distance to IP" };
7473 Configurable<float > etaMin{" etaMin" , -0 .8f , " etaMin" };
7574 Configurable<float > etaMax{" etaMax" , +0 .8f , " etaMax" };
7675 Configurable<float > minNCrossedRowsOverFindableClustersTPC{" minNCrossedRowsOverFindableClustersTPC" , 0 .8f , " Additional cut on the minimum value of the ratio between crossed rows and findable clusters in the TPC" };
@@ -95,6 +94,7 @@ struct DedxAnalysis {
9594 Configurable<float > maxMassGamma{" maxMassGamma" , 0 .002022f ,
9695 " Maximum Mass Gamma" };
9796 Configurable<bool > calibrationMode{" calibrationMode" , false , " calibration mode" };
97+ Configurable<bool > additionalCuts{" additionalCuts" , false , " additional cuts" };
9898 // Histograms names
9999 static constexpr std::string_view kDedxvsMomentumPos [kParticlesType ] = {" dEdx_vs_Momentum_all_Pos" , " dEdx_vs_Momentum_Pi_v0_Pos" , " dEdx_vs_Momentum_Pr_v0_Pos" , " dEdx_vs_Momentum_El_v0_Pos" };
100100 static constexpr std::string_view kDedxvsMomentumNeg [kParticlesType ] = {" dEdx_vs_Momentum_all_Neg" , " dEdx_vs_Momentum_Pi_v0_Neg" , " dEdx_vs_Momentum_Pr_v0_Neg" , " dEdx_vs_Momentum_El_v0_Neg" };
@@ -117,6 +117,7 @@ struct DedxAnalysis {
117117 selectedTracks.SetMaxChi2PerClusterITS (maxChi2ITS);
118118 selectedTracks.SetMaxDcaXYPtDep ([](float pt) { return 0 .0105f + 0 .0350f / std::pow (pt, 1 .1f ); });
119119 selectedTracks.SetMaxDcaZ (maxDCAz);
120+ selectedTracks.SetRequireGoldenChi2 (true );
120121
121122 return selectedTracks;
122123 }
@@ -382,14 +383,23 @@ struct DedxAnalysis {
382383 if (!collision.sel8 ())
383384 return ;
384385
386+ if (additionalCuts) {
387+ if (!collision.selection_bit (o2::aod::evsel::kNoSameBunchPileup ))
388+ return ;
389+
390+ if (!collision.selection_bit (o2::aod::evsel::kIsGoodZvtxFT0vsPV ))
391+ return ;
392+
393+ if (std::abs (collision.posZ ()) >= maxZDistanceToIP)
394+ return ;
395+
396+ if (!collision.selection_bit (o2::aod::evsel::kNoCollInTimeRangeStandard ))
397+ return ;
398+ }
399+
385400 // Event Counter
386401 registryDeDx.fill (HIST (" histRecVtxZData" ), collision.posZ ());
387402
388- // Centrality
389- float centrality = collision.centFT0C ();
390- if (centrality < centMin || centrality > centMax)
391- centrality = 1.0 ;
392-
393403 // Kaons
394404 for (const auto & trk : tracks) {
395405
0 commit comments