1+ //
12// Copyright 2019-2022 CERN and copyright holders of ALICE O2.
23// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
34// All rights not expressly granted are reserved.
2324#include " Framework/HistogramRegistry.h"
2425#include " PWGCF/FemtoUnited/Core/HistManager.h"
2526#include " PWGCF/FemtoUnited/Core/Modes.h"
27+ #include " PWGCF/FemtoUnited/Utils/FemtoUtils.h"
2628
2729using namespace ::o2::framework;
2830
@@ -42,6 +44,9 @@ enum TrackHist {
4244 kItsClusterIb ,
4345 kTpcCluster ,
4446 kTpcClusterShared ,
47+ // kDcaxy,
48+ // kDcaz,
49+ // kDca,
4550 // 2d qa
4651 kPtVsEta ,
4752 kPtVsPhi ,
@@ -50,7 +55,11 @@ enum TrackHist {
5055 kPtVsTpcCluster ,
5156 kPtVsTpcClusterShared ,
5257 kTpcClusterVsTpcClusterShared ,
58+ kPtVsDcaxy ,
59+ kPtVsDcaz ,
60+ kPtVsDca ,
5361 // its pid
62+ kItsSignal ,
5463 kItsElectron ,
5564 kItsPion ,
5665 kItsKaon ,
@@ -109,6 +118,10 @@ constexpr std::array<Histmanager::HistInfo<TrackHist>, kTrackHistogramLast> Hist
109118 {kPtVsTpcCluster , kTH2F , " hPtVsTpcCluster" , " p_{T} vs TPC cluster found; p_{T} (GeV/#it{c}) ; TPC cluster found" },
110119 {kPtVsTpcClusterShared , kTH2F , " hPtVsTpcClusterShared" , " p_{T} vs TPC cluster shared; p_{T} (GeV/#it{c}) ; TPC cluster shared" },
111120 {kTpcClusterVsTpcClusterShared , kTH2F , " hTpcClusterVsTpcClusterShared" , " TPC cluster found vs TPC cluster shared; TPC cluster found; TPC cluster shared" },
121+ {kPtVsDcaxy , kTH2F , " hPtVsDcaxy" , " p_{T} vs DCA_{XY}; p_{T} (GeV/#it{c}); DCA_{XY} (cm)" },
122+ {kPtVsDcaz , kTH2F , " hPtVsDcaz" , " p_{T} vs DCA_{Z}; p_{T} (GeV/#it{c}); DCA_{Z} (cm)" },
123+ {kPtVsDca , kTH2F , " hPtVsDca" , " p_{T} vs DCA; p_{T} (GeV/#it{c}); DCA (cm)" },
124+ {kItsSignal , kTH2F , " hItsSignal" , " ITS Signal; p (GeV/#it{c}) ; <ITS Cluster Size> x <cos #lambda>" },
112125 {kItsElectron , kTH2F , " hItsPidElectron" , " TPC PID Electron; p (GeV/#it{c}) ; n#sigma_{TPC,el}" },
113126 {kItsPion , kTH2F , " hItsPidPion" , " ITS PID Pion; p (GeV/#it{c}) ; n#sigma_{ITS,pi}" },
114127 {kItsKaon , kTH2F , " hItsPidKaon" , " ITS PID Kaon; p (GeV/#it{c}) ; n#sigma_{ITS,ka}" },
@@ -182,8 +195,14 @@ class TrackHistManager
182195 mHistogramRegistry ->add (qaDir + GetHistNamev2 (kPtVsTpcClusterShared , HistTable), GetHistDesc (kPtVsTpcClusterShared , HistTable), GetHistType (kPtVsTpcClusterShared , HistTable), {Specs[kPtVsTpcClusterShared ]});
183196 mHistogramRegistry ->add (qaDir + GetHistNamev2 (kTpcClusterVsTpcClusterShared , HistTable), GetHistDesc (kTpcClusterVsTpcClusterShared , HistTable), GetHistType (kTpcClusterVsTpcClusterShared , HistTable), {Specs[kTpcClusterVsTpcClusterShared ]});
184197
198+ // dca
199+ mHistogramRegistry ->add (qaDir + GetHistNamev2 (kPtVsDcaxy , HistTable), GetHistDesc (kPtVsDcaxy , HistTable), GetHistType (kPtVsDcaxy , HistTable), {Specs[kPtVsDcaxy ]});
200+ mHistogramRegistry ->add (qaDir + GetHistNamev2 (kPtVsDcaz , HistTable), GetHistDesc (kPtVsDcaz , HistTable), GetHistType (kPtVsDcaz , HistTable), {Specs[kPtVsDcaz ]});
201+ mHistogramRegistry ->add (qaDir + GetHistNamev2 (kPtVsDca , HistTable), GetHistDesc (kPtVsDca , HistTable), GetHistType (kPtVsDca , HistTable), {Specs[kPtVsDca ]});
202+
185203 std::string pidDir = std::string (PidDir);
186204
205+ mHistogramRegistry ->add (pidDir + GetHistNamev2 (kItsSignal , HistTable), GetHistDesc (kItsSignal , HistTable), GetHistType (kItsSignal , HistTable), {Specs[kItsSignal ]});
187206 mHistogramRegistry ->add (pidDir + GetHistNamev2 (kItsElectron , HistTable), GetHistDesc (kItsElectron , HistTable), GetHistType (kItsElectron , HistTable), {Specs[kItsElectron ]});
188207 mHistogramRegistry ->add (pidDir + GetHistNamev2 (kItsPion , HistTable), GetHistDesc (kItsPion , HistTable), GetHistType (kItsPion , HistTable), {Specs[kItsPion ]});
189208 mHistogramRegistry ->add (pidDir + GetHistNamev2 (kItsKaon , HistTable), GetHistDesc (kItsKaon , HistTable), GetHistType (kItsKaon , HistTable), {Specs[kItsKaon ]});
@@ -244,6 +263,11 @@ class TrackHistManager
244263 mHistogramRegistry ->fill (HIST (QaDir) + HIST (GetHistName (kPtVsTpcClusterShared , HistTable)), track.pt (), static_cast <float >(track.tpcNClsShared ()));
245264 mHistogramRegistry ->fill (HIST (QaDir) + HIST (GetHistName (kTpcClusterVsTpcClusterShared , HistTable)), static_cast <float >(track.tpcNClsFound ()), static_cast <float >(track.tpcNClsShared ()));
246265
266+ mHistogramRegistry ->fill (HIST (QaDir) + HIST (GetHistName (kPtVsDcaxy , HistTable)), track.pt (), track.dcaXY ());
267+ mHistogramRegistry ->fill (HIST (QaDir) + HIST (GetHistName (kPtVsDcaz , HistTable)), track.pt (), track.dcaZ ());
268+ mHistogramRegistry ->fill (HIST (QaDir) + HIST (GetHistName (kPtVsDca , HistTable)), track.pt (), utils::geometricMean (track.dcaXY (), track.dcaZ ()));
269+
270+ mHistogramRegistry ->fill (HIST (PidDir) + HIST (GetHistName (kItsSignal , HistTable)), track.p (), o2::analysis::femtounited::utils::itsSignal (track));
247271 mHistogramRegistry ->fill (HIST (PidDir) + HIST (GetHistName (kItsElectron , HistTable)), track.p (), track.itsNSigmaEl ());
248272 mHistogramRegistry ->fill (HIST (PidDir) + HIST (GetHistName (kItsPion , HistTable)), track.p (), track.itsNSigmaPi ());
249273 mHistogramRegistry ->fill (HIST (PidDir) + HIST (GetHistName (kItsKaon , HistTable)), track.p (), track.itsNSigmaKa ());
0 commit comments