@@ -45,6 +45,7 @@ enum TrackHist {
4545 kEta ,
4646 kPhi ,
4747 kSign ,
48+ kMass ,
4849 // qa variables
4950 kPAtPv ,
5051 kPTpc ,
@@ -145,6 +146,7 @@ struct ConfTrackBinning : o2::framework::ConfigurableGroup {
145146 o2::framework::ConfigurableAxis eta{" eta" , {{300 , -1.5 , 1.5 }}, " Eta" };
146147 o2::framework::ConfigurableAxis phi{" phi" , {{720 , 0 , 1 .f * o2::constants::math::TwoPI}}, " Phi" };
147148 o2::framework::ConfigurableAxis sign{" sign" , {{3 , -1.5 , 1.5 }}, " Sign" };
149+ o2::framework::ConfigurableAxis mass{" mass" , {{200 , 0 .f , 2 .f }}, " Mass (if enabled, plot TOF mass, otherwise PDG mass)" };
148150 o2::framework::ConfigurableAxis pdgCodes{" pdgCodes" , {{8001 , -4000.5 , 4000.5 }}, " MC ONLY: PDG codes of selected tracks" };
149151};
150152
@@ -268,7 +270,8 @@ constexpr std::array<histmanager::HistInfo<TrackHist>, kTrackHistLast>
268270 {kPt , o2::framework::kTH1F , " hPt" , " Transverse Momentum; p_{T} (GeV/#it{c}); Entries" },
269271 {kEta , o2::framework::kTH1F , " hEta" , " Pseudorapidity; #eta; Entries" },
270272 {kPhi , o2::framework::kTH1F , " hPhi" , " Azimuthal angle; #varphi; Entries" },
271- {kSign , o2::framework::kTH1F , " hSign" , " Sign of charge ; Sign; Entries" },
273+ {kSign , o2::framework::kTH1F , " hSign" , " Sign of charge; Sign; Entries" },
274+ {kMass , o2::framework::kTH1F , " hMass" , " Mass; m (GeV/#it{c}^{2}); Entries" },
272275 {kPAtPv , o2::framework::kTH1F , " hPAtPv" , " Momentum at Primary vertex; p_{vertex}; Entries" },
273276 {kPTpc , o2::framework::kTH1F , " hPTpc" , " Momentum at inner wall of TPC; p_{TPC}; Entries" },
274277 {kItsCluster , o2::framework::kTH1F , " hItsCluster" , " ITS cluster; ITS cluster; Entries" },
@@ -353,7 +356,8 @@ constexpr std::array<histmanager::HistInfo<TrackHist>, kTrackHistLast>
353356 {kPt , {conf.pt }}, \
354357 {kEta , {conf.eta }}, \
355358 {kPhi , {conf.phi }}, \
356- {kSign , {conf.sign }},
359+ {kSign , {conf.sign }}, \
360+ {kMass , {conf.mass }},
357361
358362#define TRACK_HIST_QA_MAP (confAnalysis, confQa ) \
359363 {kPAtPv , {confQa.p }}, \
@@ -637,6 +641,7 @@ class TrackHistManager
637641 mHistogramRegistry ->add (analysisDir + getHistNameV2 (kEta , HistTable), getHistDesc (kEta , HistTable), getHistType (kEta , HistTable), {Specs.at (kEta )});
638642 mHistogramRegistry ->add (analysisDir + getHistNameV2 (kPhi , HistTable), getHistDesc (kPhi , HistTable), getHistType (kPhi , HistTable), {Specs.at (kPhi )});
639643 mHistogramRegistry ->add (analysisDir + getHistNameV2 (kSign , HistTable), getHistDesc (kSign , HistTable), getHistType (kSign , HistTable), {Specs.at (kSign )});
644+ mHistogramRegistry ->add (analysisDir + getHistNameV2 (kMass , HistTable), getHistDesc (kMass , HistTable), getHistType (kMass , HistTable), {Specs.at (kMass )});
640645 }
641646
642647 void initQa (std::map<TrackHist, std::vector<o2::framework::AxisSpec>> const & Specs)
@@ -784,6 +789,11 @@ class TrackHistManager
784789 mHistogramRegistry ->fill (HIST (prefix) + HIST (AnalysisDir) + HIST (getHistName (kEta , HistTable)), track.eta ());
785790 mHistogramRegistry ->fill (HIST (prefix) + HIST (AnalysisDir) + HIST (getHistName (kPhi , HistTable)), track.phi ());
786791 mHistogramRegistry ->fill (HIST (prefix) + HIST (AnalysisDir) + HIST (getHistName (kSign , HistTable)), track.sign ());
792+ if constexpr (utils::HasMass<T>) {
793+ mHistogramRegistry ->fill (HIST (prefix) + HIST (AnalysisDir) + HIST (getHistName (kMass , HistTable)), track.mass ());
794+ } else {
795+ mHistogramRegistry ->fill (HIST (prefix) + HIST (AnalysisDir) + HIST (getHistName (kMass , HistTable)), utils::getMass (mPdgCode ));
796+ }
787797 }
788798
789799 template <typename T>
0 commit comments