@@ -397,9 +397,10 @@ class TrackHistManager
397397 // / Destructor
398398 virtual ~TrackHistManager () = default ;
399399
400- void init (o2::framework::HistogramRegistry* registry, std::map<TrackHist, std::vector<o2::framework::AxisSpec>> Specs, int momentumTypeForPid = 0 )
400+ void init (o2::framework::HistogramRegistry* registry, std::map<TrackHist, std::vector<o2::framework::AxisSpec>> Specs, float charge = 1 , int momentumTypeForPid = 0 )
401401 {
402402 mHistogramRegistry = registry;
403+ mAbsCharge = std::fabs (charge);
403404
404405 if constexpr (isFlagSet (mode, modes::Mode::kAnalysis )) {
405406 std::string analysisDir = std::string (prefix) + std::string (AnalysisDir);
@@ -489,7 +490,7 @@ class TrackHistManager
489490 void fill (T const & track)
490491 {
491492 if constexpr (isFlagSet (mode, modes::Mode::kAnalysis )) {
492- mHistogramRegistry ->fill (HIST (prefix) + HIST (AnalysisDir) + HIST (GetHistName (kPt , HistTable)), track.pt ());
493+ mHistogramRegistry ->fill (HIST (prefix) + HIST (AnalysisDir) + HIST (GetHistName (kPt , HistTable)), mAbsCharge * track.pt ());
493494 mHistogramRegistry ->fill (HIST (prefix) + HIST (AnalysisDir) + HIST (GetHistName (kEta , HistTable)), track.eta ());
494495 mHistogramRegistry ->fill (HIST (prefix) + HIST (AnalysisDir) + HIST (GetHistName (kPhi , HistTable)), track.phi ());
495496 mHistogramRegistry ->fill (HIST (prefix) + HIST (AnalysisDir) + HIST (GetHistName (kSign , HistTable)), track.sign ());
@@ -503,23 +504,23 @@ class TrackHistManager
503504 mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kTpcClusterShared , HistTable)), static_cast <float >(track.tpcNClsShared ()));
504505 mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kTpcClusterFractionShared , HistTable)), track.tpcSharedOverFound ());
505506
506- mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPtVsEta , HistTable)), track.pt (), track.eta ());
507- mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPtVsPhi , HistTable)), track.pt (), track.phi ());
507+ mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPtVsEta , HistTable)), mAbsCharge * track.pt (), track.eta ());
508+ mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPtVsPhi , HistTable)), mAbsCharge * track.pt (), track.phi ());
508509 mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPhiVsEta , HistTable)), track.phi (), track.eta ());
509- mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPtVsItsCluster , HistTable)), track.pt (), static_cast <float >(track.itsNCls ()));
510- mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPtVsTpcCluster , HistTable)), track.pt (), static_cast <float >(track.tpcNClsFound ()));
511- mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPtVsTpcClusterShared , HistTable)), track.pt (), static_cast <float >(track.tpcNClsShared ()));
510+ mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPtVsItsCluster , HistTable)), mAbsCharge * track.pt (), static_cast <float >(track.itsNCls ()));
511+ mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPtVsTpcCluster , HistTable)), mAbsCharge * track.pt (), static_cast <float >(track.tpcNClsFound ()));
512+ mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPtVsTpcClusterShared , HistTable)), mAbsCharge * track.pt (), static_cast <float >(track.tpcNClsShared ()));
512513 mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kTpcClusterVsTpcClusterShared , HistTable)), static_cast <float >(track.tpcNClsFound ()), static_cast <float >(track.tpcNClsShared ()));
513514
514- mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPtVsDcaxy , HistTable)), track.pt (), track.dcaXY ());
515- mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPtVsDcaz , HistTable)), track.pt (), track.dcaZ ());
516- mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPtVsDca , HistTable)), track.pt (), track.dca ());
515+ mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPtVsDcaxy , HistTable)), mAbsCharge * track.pt (), track.dcaXY ());
516+ mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPtVsDcaz , HistTable)), mAbsCharge * track.pt (), track.dcaZ ());
517+ mHistogramRegistry ->fill (HIST (prefix) + HIST (QaDir) + HIST (GetHistName (kPtVsDca , HistTable)), mAbsCharge * track.pt (), track.dca ());
517518
518519 float momentum = 0 .f ;
519520 if (mMomentumType == modes::MomentumType::kPAtPv ) {
520- momentum = track.p ();
521+ momentum = mAbsCharge * track.p ();
521522 } else if (mMomentumType == modes::MomentumType::kPt ) {
522- momentum = track.pt ();
523+ momentum = mAbsCharge * track.pt ();
523524 }
524525
525526 mHistogramRegistry ->fill (HIST (prefix) + HIST (PidDir) + HIST (GetHistName (kItsSignal , HistTable)), momentum, o2::analysis::femto::utils::itsSignal (track));
@@ -570,6 +571,7 @@ class TrackHistManager
570571
571572 private:
572573 o2::framework::HistogramRegistry* mHistogramRegistry = nullptr ;
574+ float mAbsCharge = 1 ;
573575 modes::MomentumType mMomentumType = modes::MomentumType::kPAtPv ;
574576};
575577}; // namespace trackhistmanager
0 commit comments