@@ -40,8 +40,10 @@ struct SystematicsMapping {
4040 ConfigurableAxis invariantMassBins{" invariantMassBins" , {100 , -0 .1f , 0 .1f }, " Binning for the invariant mass (GeV/c^2)" };
4141 ConfigurableAxis nsigmaBins{" nsigmaBins" , {100 , -10 .f , 10 .f }, " Binning for nSigma" };
4242 // Selection bins
43- ConfigurableAxis tpcCrossedRowsBins{" tpcCrossedRowsBins" , {5 , 70 , 100 , 120 , 135 , 150 }, " TPC Crossed rows bins for tracks" };
44- ConfigurableAxis itsClustersBins{" itsClustersBins" , {5 , 0 , 6 }, " ITS Crossed rows bins for tracks" };
43+ ConfigurableAxis tpcCrossedRowsBins{" tpcCrossedRowsBins" , {5 , 70 , 100 , 120 , 135 , 150 }, " Min TPC clusters for tracks" };
44+ ConfigurableAxis itsClustersBins{" itsClustersBins" , {5 , 0 , 6 }, " Min ITS clusters for tracks" };
45+ ConfigurableAxis dcaBins{" dcaBins" , {100 , 0 .f , 5 .f }, " Binning for DCA (cm)" };
46+ ConfigurableAxis chi2Bins{" chi2Bins" , {100 , 0 .f , 10 .f }, " Binning for chi2" };
4547 // Selection configurables
4648 Configurable<float > selectionPosZ{" selectionPosZ" , 10 .f , " Max |z| of the primary vertex" };
4749
@@ -61,15 +63,18 @@ struct SystematicsMapping {
6163
6264 if (doprocessData) {
6365
64- // First we define the histograms on which we are cutting (tpc crossed rows , its clusters, ..)
66+ // First we define the histograms on which we are cutting (tpc clusters , its clusters, ..)
6567 registry.add (" K/hTPCCrossedRows" , " " , HistType::kTH1F , {{100 , 0 , 200 }});
6668 registry.add (" K/hITSClusters" , " " , HistType::kTH1F , {{10 , 0 , 10 }});
69+ registry.add (" K/hDCAxy" , " " , HistType::kTH1F , {dcaBins});
70+ registry.add (" K/hDCAz" , " " , HistType::kTH1F , {dcaBins});
71+ registry.add (" K/hChi2" , " " , HistType::kTH1F , {chi2Bins});
6772 registry.addClone (" K/" , " K0s/" );
6873
6974 // Add the signal histograms
70- registry.add (" K/SignalPositive" , " " , HistType::kTHnSparseF , {ptBins, etaBins, phiBins, nsigmaBins, tpcCrossedRowsBins, itsClustersBins});
71- registry.add (" K/SignalNegative" , " " , HistType::kTHnSparseF , {ptBins, etaBins, phiBins, nsigmaBins, tpcCrossedRowsBins, itsClustersBins});
72- registry.add (" K0s/Signal" , " " , HistType::kTHnSparseF , {ptBins, etaBins, phiBins, invariantMassBins, tpcCrossedRowsBins, itsClustersBins});
75+ registry.add (" K/SignalPositive" , " " , HistType::kTHnSparseF , {ptBins, etaBins, phiBins, nsigmaBins, tpcCrossedRowsBins, itsClustersBins, dcaBins, chi2Bins });
76+ registry.add (" K/SignalNegative" , " " , HistType::kTHnSparseF , {ptBins, etaBins, phiBins, nsigmaBins, tpcCrossedRowsBins, itsClustersBins, dcaBins, chi2Bins });
77+ registry.add (" K0s/Signal" , " " , HistType::kTHnSparseF , {ptBins, etaBins, phiBins, invariantMassBins, tpcCrossedRowsBins, itsClustersBins, dcaBins, chi2Bins });
7378 }
7479
7580 if (doprocessMc) {
@@ -79,7 +84,7 @@ struct SystematicsMapping {
7984 }
8085 }
8186
82- using TrackType = soa::Join<aod::Tracks, aod::TracksExtra, aod::pidTPCFullKa, aod::pidTOFFullPi>;
87+ using TrackType = soa::Join<aod::Tracks, aod::TracksExtra, aod::pidTPCFullKa, aod::pidTOFFullPi, aod::TracksDCA >;
8388 using CollisionType = soa::Join<aod::Collisions, aod::EvSels>;
8489
8590 void processData (CollisionType const & collisions,
@@ -94,12 +99,15 @@ struct SystematicsMapping {
9499 for (const auto & track : tracks) {
95100 if (track.collisionId () != collision.globalIndex ())
96101 continue ;
97- registry.fill (HIST (" hTPCCrossedRows" ), track.tpcCrossedRows ());
98- registry.fill (HIST (" hITSClusters" ), track.itsNCls ());
102+ registry.fill (HIST (" K/hTPCCrossedRows" ), track.tpcNClsCrossedRows ());
103+ registry.fill (HIST (" K/hITSClusters" ), track.itsNCls ());
104+ registry.fill (HIST (" K/hDCAxy" ), track.dcaXY ());
105+ registry.fill (HIST (" K/hDCAz" ), track.dcaZ ());
106+ registry.fill (HIST (" K/hChi2" ), track.tpcChi2NCl ());
99107 if (track.sign () > 0 )
100- registry.fill (HIST (" K/SignalPositive" ), track.pt (), track.eta (), track.phi (), track.tpcNSigmaKa (), track.tpcCrossedRows (), track.itsNCls ());
108+ registry.fill (HIST (" K/SignalPositive" ), track.pt (), track.eta (), track.phi (), track.tpcNSigmaKa (), track.tpcNClsCrossedRows (), track.itsNCls (), track. dcaXY (), track. dcaZ (), track. tpcChi2NCl ());
101109 else
102- registry.fill (HIST (" K/SignalNegative" ), track.pt (), track.eta (), track.phi (), track.tpcNSigmaKa (), track.tpcCrossedRows (), track.itsNCls ());
110+ registry.fill (HIST (" K/SignalNegative" ), track.pt (), track.eta (), track.phi (), track.tpcNSigmaKa (), track.tpcNClsCrossedRows (), track.itsNCls (), track. dcaXY (), track. dcaZ (), track. tpcChi2NCl ());
103111 }
104112
105113 // K0s loop
@@ -108,7 +116,12 @@ struct SystematicsMapping {
108116 continue ;
109117 const auto & posTrack = v0.posTrack_as <TrackType>();
110118 const auto & negTrack = v0.negTrack_as <TrackType>();
111- registry.fill (HIST (" K0s/Signal" ), v0.pt (), v0.eta (), v0.phi (), v0.mK0Short () - constants::physics::MassK0Short, std::min (posTrack.tpcCrossedRows (), negTrack.tpcCrossedRows ()), std::min (posTrack.itsNCls (), negTrack.itsNCls ()));
119+ registry.fill (HIST (" K0s/Signal" ), v0.pt (), v0.eta (), v0.phi (), v0.mK0Short () - constants::physics::MassK0Short,
120+ std::min (posTrack.tpcNClsCrossedRows (), negTrack.tpcNClsCrossedRows ()),
121+ std::min (posTrack.itsNCls (), negTrack.itsNCls ()),
122+ std::min (posTrack.dcaXY (), negTrack.dcaXY ()),
123+ std::min (posTrack.dcaZ (), negTrack.dcaZ ()),
124+ std::min (posTrack.tpcChi2NCl (), negTrack.tpcChi2NCl ()));
112125 }
113126 }
114127 }
0 commit comments