Skip to content

Commit

Permalink
Add functionality to set the coordinates of PV.
Browse files Browse the repository at this point in the history
  • Loading branch information
Maximilian Korwieser committed Jan 31, 2025
1 parent c1509f8 commit 4490d68
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
11 changes: 11 additions & 0 deletions Detectors/TPC/qc/include/TPCQC/Tracks.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,14 @@ class Tracks
mUseCutMaxAbsDCArOnHistos = useCutMaxAbsDCArOnHistos;
}

// Set PV position
void setPVposition(const o2::math_utils::Point3D<float> meanVtxPoint3D)
{
mXpositionOfPV = meanVtxPoint3D.X();
mYpositionOfPV = meanVtxPoint3D.Y();
mZpositionOfPV = meanVtxPoint3D.Z();
}

/// get ratios of 1D histograms
std::unordered_map<std::string, std::unique_ptr<TH1>>& getMapHist() { return mMapHist; }
const std::unordered_map<std::string, std::unique_ptr<TH1>>& getMapHist() const { return mMapHist; }
Expand All @@ -94,6 +102,9 @@ class Tracks
bool mTurnOffHistosForAsync = false; // Decide whether to turn off some histograms for async to reduce memory
float mCutMaxAbsDCAr = 1.f; // maximum DCAr
bool mUseCutMaxAbsDCArOnHistos = false; // Decide whether to use the cut on maximum DCAr for the histograms
float mXpositionOfPV = 0.f; // x-position of the PV
float mYpositionOfPV = 0.f; // y-position of the PV
float mZpositionOfPV = 0.f; // z-position of the PV

std::unordered_map<std::string, std::unique_ptr<TH1>> mMapHist;
std::vector<TH1F> mHist1D{}; ///< Initialize vector of 1D histograms
Expand Down
3 changes: 2 additions & 1 deletion Detectors/TPC/qc/src/Tracks.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,8 @@ bool Tracks::processTrack(const o2::tpc::TrackTPC& track)
if (propagator->getMatLUT() && propagator->hasMagFieldSet()) {
// ---| fill DCA histos |---
o2::gpu::gpustd::array<float, 2> dca;
const o2::math_utils::Point3D<float> refPoint{0, 0, 0};
const o2::math_utils::Point3D<float> refPoint{mXpositionOfPV, mYpositionOfPV, mZpositionOfPV}; // inlcude option to fetch this information form the CCDB instead of assuming collision at nominal interaction point
// LOGP(error, "DeBugOutput: mXpositionOfPV({%.2f}), mYpositionOfPV({%.2f}), mZpositionOfPV({%i})", mXpositionOfPV, mYpositionOfPV, mZpositionOfPV);
o2::track::TrackPar propTrack(track);
if (propagator->propagateToDCABxByBz(refPoint, propTrack, 2.f, o2::base::Propagator::MatCorrType::USEMatCorrLUT, &dca)) {
const auto phi = o2::math_utils::to02PiGen(track.getPhi());
Expand Down

0 comments on commit 4490d68

Please sign in to comment.