Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add functionality to set the coordinates of PV. #13922

Draft
wants to merge 1 commit into
base: dev
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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();
Comment on lines +87 to +89
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
mXpositionOfPV = meanVtxPoint3D.X();
mYpositionOfPV = meanVtxPoint3D.Y();
mZpositionOfPV = meanVtxPoint3D.Z();
mPositionOfPV = meanVtxPoint3D;

}

/// 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
Comment on lines +105 to +107
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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
o2::math_utils::Point3D<float> mPositionOfPV{}; // 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)) {
Comment on lines +183 to 186
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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)) {
// LOGP(error, "DeBugOutput: mXpositionOfPV({%.2f}), mYpositionOfPV({%.2f}), mZpositionOfPV({%i})", mXpositionOfPV, mYpositionOfPV, mZpositionOfPV);
o2::track::TrackPar propTrack(track);
if (propagator->propagateToDCABxByBz(mPositionOfPV, propTrack, 2.f, o2::base::Propagator::MatCorrType::USEMatCorrLUT, &dca)) {

const auto phi = o2::math_utils::to02PiGen(track.getPhi());
Expand Down