Skip to content
Merged
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
13 changes: 13 additions & 0 deletions PWGDQ/Core/CutsLibrary.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#include <TF1.h>
#include <vector>
#include <string>
#include <iostream>

Check warning on line 19 in PWGDQ/Core/CutsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[include-iostream]

Do not include iostream. Use O2 logging instead.
#include "AnalysisCompositeCut.h"
#include "VarManager.h"

Expand Down Expand Up @@ -1156,7 +1156,7 @@
AnalysisCompositeCut* magnus_PID311 = new AnalysisCompositeCut("magnus_PID311", "");
magnus_PID311->AddCut(GetAnalysisCut("pidJpsi_magnus_ele3"));
magnus_PID311->AddCut(GetAnalysisCut("pidJpsi_magnus_pion1"));
magnus_PID311->AddCut(GetAnalysisCut("pidJpsi_magnus_prot1"));

Check warning on line 1159 in PWGDQ/Core/CutsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
if (!nameStr.compare("MagnussOptimization311")) {
cut->AddCut(GetAnalysisCut("kineJpsiEle_ionut"));
cut->AddCut(GetAnalysisCut("dcaCut1_ionut"));
Expand Down Expand Up @@ -1456,7 +1456,7 @@
cut->AddCut(GetAnalysisCut("jpsiStandardKine"));
cut->AddCut(GetAnalysisCut("electronStandardQuality"));
cut->AddCut(GetAnalysisCut("standardPrimaryTrack"));
cut->AddCut(GetAnalysisCut("electronPIDshift"));

Check warning on line 1459 in PWGDQ/Core/CutsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
return cut;
}

Expand Down Expand Up @@ -1958,7 +1958,7 @@
cut->AddCut(cut_pid_OR);
return cut;
}

Check warning on line 1961 in PWGDQ/Core/CutsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
if (!nameStr.compare(Form("lmee%s_eNSigmaRun3%s", vecTypetrackWithPID.at(jcase).Data(), vecPIDcase.at(icase).Data()))) {
cut->AddCut(GetAnalysisCut("lmeeStandardKine"));
cut->AddCut(GetAnalysisCut(Form("lmeeQCTrackCuts%s", vecTypetrackWithPID.at(jcase).Data())));
Expand Down Expand Up @@ -2728,7 +2728,7 @@
AnalysisCompositeCut* cut_tpc_nSigma = new AnalysisCompositeCut("pid_TPCnSigma", "pid_TPCnSigma", kTRUE);
cut_tpc_nSigma->AddCut(GetAnalysisCut(Form("electronPID_TPCnsigma%s", vecPIDcase.at(icase).Data())));

AnalysisCompositeCut* cut_tof_nSigma = new AnalysisCompositeCut("pid_TOFnSigma", "pid_TOFnSigma", kTRUE);

Check warning on line 2731 in PWGDQ/Core/CutsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
cut_tof_nSigma->AddCut(GetAnalysisCut(Form("electronPID_TOFnsigma%s", vecPIDcase.at(icase).Data())));

AnalysisCompositeCut* cut_pid_OR = new AnalysisCompositeCut("e_NSigma", "e_NSigma", kFALSE);
Expand Down Expand Up @@ -2785,7 +2785,7 @@

AnalysisCompositeCut* cut_tpc_nSigma = new AnalysisCompositeCut("pid_TPCnSigma", "pid_TPCnSigma", kTRUE);
cut_tpc_nSigma->AddCut(GetAnalysisCut(Form("lmee_pp_502TeV_TPCloose%s", vecPIDcase.at(icase).Data())));

Check warning on line 2788 in PWGDQ/Core/CutsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
AnalysisCompositeCut* cut_tof_nSigma = new AnalysisCompositeCut("pid_TOFnSigma", "pid_TOFnSigma", kTRUE);
cut_tof_nSigma->AddCut(GetAnalysisCut(Form("lmee_pp_502TeV_TOFloose%s", vecPIDcase.at(icase).Data())));

Expand Down Expand Up @@ -2910,6 +2910,11 @@
return cut;
}

if (!nameStr.compare("muonMinimalCuts")) {
cut->AddCut(GetAnalysisCut("muonMinimalCuts"));
return cut;
}

if (!nameStr.compare("muonQualityCuts")) {
cut->AddCut(GetAnalysisCut("muonQualityCuts"));
return cut;
Expand Down Expand Up @@ -4509,20 +4514,20 @@
cut->AddCut(VarManager::kITSncls, 3.5, 7.5);
cut->AddCut(VarManager::kTPCncls, 70.0, 170.);
return cut;
}

Check warning on line 4517 in PWGDQ/Core/CutsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.

if (!nameStr.compare("TightGlobalTrackRun3_strongTPC")) {
cut->AddCut(VarManager::kIsSPDfirst, 0.5, 1.5);
cut->AddCut(VarManager::kTPCchi2, 0.0, 4.0);

Check warning on line 4521 in PWGDQ/Core/CutsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
cut->AddCut(VarManager::kITSchi2, 0.0, 5.0);
cut->AddCut(VarManager::kITSncls, 4.5, 7.5);
cut->AddCut(VarManager::kTPCnclsCR, 140.0, 161.);
cut->AddCut(VarManager::kTPCncls, 120.0, 170.);
return cut;

Check warning on line 4526 in PWGDQ/Core/CutsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
}

if (!nameStr.compare("TightTPCTrackRun3")) {
cut->AddCut(VarManager::kTPCchi2, 0.0, 4.0);

Check warning on line 4530 in PWGDQ/Core/CutsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
cut->AddCut(VarManager::kTPCnclsCR, 80.0, 161.);
return cut;
}
Expand Down Expand Up @@ -5982,6 +5987,14 @@
return cut;
}

if (!nameStr.compare("muonMinimalCuts")) {
cut->AddCut(VarManager::kEta, -4.0, -2.5);
cut->AddCut(VarManager::kMuonRAtAbsorberEnd, 17.6, 89.5);
cut->AddCut(VarManager::kMuonPDca, 0.0, 594.0, false, VarManager::kMuonRAtAbsorberEnd, 17.6, 26.5);
cut->AddCut(VarManager::kMuonPDca, 0.0, 324.0, false, VarManager::kMuonRAtAbsorberEnd, 26.5, 89.5);
return cut;
}

if (!nameStr.compare("muonQualityCuts")) {
cut->AddCut(VarManager::kEta, -4.0, -2.5);
cut->AddCut(VarManager::kMuonRAtAbsorberEnd, 17.6, 89.5);
Expand Down
5 changes: 5 additions & 0 deletions PWGDQ/Core/MCSignalLibrary.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,11 @@ MCSignal* o2::aod::dqmcsignals::GetMCSignal(const char* name)
signal = new MCSignal(name, "Inclusive jpsi", {prong}, {-1});
return signal;
}
if (!nameStr.compare("Helium3")) {
MCProng prong(1, {1000020030}, {true}, {false}, {0}, {0}, {false});
signal = new MCSignal(name, "Helium3", {prong}, {-1});
return signal;
}
if (!nameStr.compare("Helium3Primary")) {
MCProng prong(1, {1000020030}, {true}, {false}, {0}, {0}, {false});
prong.SetSourceBit(0, MCProng::kPhysicalPrimary);
Expand Down
2 changes: 1 addition & 1 deletion PWGDQ/DataModel/ReducedInfoTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -905,7 +905,7 @@ DECLARE_SOA_COLUMN(Pt, pt, float); //!
DECLARE_SOA_COLUMN(Eta, eta, float); //!
DECLARE_SOA_COLUMN(Phi, phi, float); //!
DECLARE_SOA_COLUMN(Sign, sign, int); //!
DECLARE_SOA_COLUMN(McDecision, mcDecision, uint32_t); //!
DECLARE_SOA_COLUMN(McDecision, mcDecision, uint16_t); //!
} // namespace fwdpid

DECLARE_SOA_TABLE(FwdPidsAll, "AOD", "RTFWDPIDALL", //!
Expand Down
45 changes: 9 additions & 36 deletions PWGDQ/Tasks/taskFwdTrackPid.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -139,13 +139,11 @@ struct taskFwdTrackPid {
template <bool TMatchedOnly, uint32_t TEventFillMap, uint32_t TTrackFillMap, typename TEvent, typename Muons, typename MftTracks>
void runFwdTrackPid(TEvent const& event, Muons const& muons, MftTracks const& mftTracks)
{
uint32_t mcDecision = 0;

fwdPidAllList.reserve(1);
for (const auto& muon : muons) {
if (muon.has_matchMFTTrack() && muon.trackType() == 0 && TMath::Abs(muon.fwdDcaX()) < fConfigMaxDCA && TMath::Abs(muon.fwdDcaY()) < fConfigMaxDCA) {
auto mftTrack = muon.template matchMFTTrack_as<MyMftTracks>();
fwdPidAllList(muon.trackType(), event.posX(), event.posY(), event.posZ(), event.numContrib(), muon.pt(), muon.eta(), muon.phi(), muon.sign(), mftTrack.mftClusterSizesAndTrackFlags(), muon.fwdDcaX(), muon.fwdDcaY(), muon.chi2MatchMCHMID(), muon.chi2MatchMCHMFT(), mcDecision);
fwdPidAllList(muon.trackType(), event.posX(), event.posY(), event.posZ(), event.numContrib(), muon.pt(), muon.eta(), muon.phi(), muon.sign(), mftTrack.mftClusterSizesAndTrackFlags(), muon.fwdDcaX(), muon.fwdDcaY(), muon.chi2MatchMCHMID(), muon.chi2MatchMCHMFT(), 0);
}
}
if constexpr (TMatchedOnly == false) {
Expand All @@ -157,7 +155,7 @@ struct taskFwdTrackPid {
continue;
}
}
fwdPidAllList(4, event.posX(), event.posY(), event.posZ(), event.numContrib(), mftTrack.pt(), mftTrack.eta(), mftTrack.phi(), mftTrack.sign(), mftTrack.mftClusterSizesAndTrackFlags(), mftTrack.fwdDcaX(), mftTrack.fwdDcaY(), -999, -999, mcDecision);
fwdPidAllList(4, event.posX(), event.posY(), event.posZ(), event.numContrib(), mftTrack.pt(), mftTrack.eta(), mftTrack.phi(), mftTrack.sign(), mftTrack.mftClusterSizesAndTrackFlags(), mftTrack.fwdDcaX(), mftTrack.fwdDcaY(), -999, -999, 0);
}
}
}
Expand All @@ -169,31 +167,16 @@ struct taskFwdTrackPid {
{
fwdPidAllList.reserve(1);
for (const auto& muon : muons) {
uint32_t mcDecision = 0;
int isig = 0;
for (auto sig = fRecMCSignals.begin(); sig != fRecMCSignals.end(); sig++, isig++) {
if ((*sig).CheckSignal(false, muon.reducedMCTrack())) {
mcDecision |= (uint32_t(1) << isig);
}
}

if (muon.has_matchMFTTrack() && muon.trackType() == 0 && TMath::Abs(muon.fwdDcaX()) < fConfigMaxDCA && TMath::Abs(muon.fwdDcaY()) < fConfigMaxDCA) {
auto mftTrack = muon.template matchMFTTrack_as<MyMftTracksMC>();
fwdPidAllList(muon.trackType(), event.posX(), event.posY(), event.posZ(), event.numContrib(), muon.pt(), muon.eta(), muon.phi(), muon.sign(), mftTrack.mftClusterSizesAndTrackFlags(), muon.fwdDcaX(), muon.fwdDcaY(), muon.chi2MatchMCHMID(), muon.chi2MatchMCHMFT(), mcDecision);
fwdPidAllList(muon.trackType(), event.posX(), event.posY(), event.posZ(), event.numContrib(), muon.pt(), muon.eta(), muon.phi(), muon.sign(), mftTrack.mftClusterSizesAndTrackFlags(), muon.fwdDcaX(), muon.fwdDcaY(), muon.chi2MatchMCHMID(), muon.chi2MatchMCHMFT(), muon.mcReducedFlags());
}
}

if constexpr (TMatchedOnly == false) {
for (const auto& mftTrack : mftTracks) {
uint32_t mcDecision = 0;
int isig = 0;
for (auto sig = fRecMCSignals.begin(); sig != fRecMCSignals.end(); sig++, isig++) {
if ((*sig).CheckSignal(false, mftTrack.reducedMCTrack())) {
mcDecision |= (uint32_t(1) << isig);
}
}
if (TMath::Abs(mftTrack.fwdDcaX()) < fConfigMaxDCA && TMath::Abs(mftTrack.fwdDcaY()) < fConfigMaxDCA) {
fwdPidAllList(4, event.posX(), event.posY(), event.posZ(), event.numContrib(), mftTrack.pt(), mftTrack.eta(), mftTrack.phi(), mftTrack.sign(), mftTrack.mftClusterSizesAndTrackFlags(), mftTrack.fwdDcaX(), mftTrack.fwdDcaY(), -999, -999, mcDecision);
fwdPidAllList(4, event.posX(), event.posY(), event.posZ(), event.numContrib(), mftTrack.pt(), mftTrack.eta(), mftTrack.phi(), mftTrack.sign(), mftTrack.mftClusterSizesAndTrackFlags(), mftTrack.fwdDcaX(), mftTrack.fwdDcaY(), -999, -999, mftTrack.mcReducedFlags());
}
}
}
Expand All @@ -206,19 +189,10 @@ struct taskFwdTrackPid {
for (auto& mctrack : groupedMCTracks) {
VarManager::FillTrackMC(groupedMCTracks, mctrack);

for (auto& sig : fGenMCSignals) {
if (sig.GetNProngs() != 1) { // NOTE: 1-prong signals required
continue;
}
bool checked = false;
if constexpr (soa::is_soa_filtered_v<TTracksMC>) {
auto mctrack_raw = groupedMCTracks.rawIteratorAt(mctrack.globalIndex());
checked = sig.CheckSignal(false, mctrack_raw);
} else {
checked = sig.CheckSignal(false, mctrack);
}
if (checked) {
fHistMan->FillHistClass(Form("MCTruthGen_%s", sig.GetName()), VarManager::fgValues);
int isig = 0;
for (auto sig = fGenMCSignals.begin(); sig != fGenMCSignals.end(); sig++, isig++) {
if (mctrack.mcReducedFlags() & (static_cast<uint16_t>(1) << isig)) {
fHistMan->FillHistClass(Form("MCTruthGen_%s", sig->GetName()), VarManager::fgValues);
}
}
}
Expand Down Expand Up @@ -287,8 +261,7 @@ void DefineHistograms(HistogramManager* histMan, TString histClasses)
if (classStr.Contains("MCTruthGen")) {
dqhistograms::DefineHistograms(histMan, objArray->At(iclass)->GetName(), "mctruth");
histMan->AddHistogram(objArray->At(iclass)->GetName(), "Pt_Rapidity", "MC generator p_{T}, y distribution", false, 120, 0.0, 30.0, VarManager::kMCPt, 150, 2.5, 4.0, VarManager::kMCY);
histMan->AddHistogram(objArray->At(iclass)->GetName(), "Eta", "MC generator #eta distribution", false, 200, 2.5, 4.0, VarManager::kMCEta);
// histMan->AddHistogram(objArray->At(iclass)->GetName(), "Rapidity", "MC generator y distribution", false, 150, 2.5, 4.0, VarManager::kMCY);
histMan->AddHistogram(objArray->At(iclass)->GetName(), "Eta", "MC generator #eta distribution", false, 200, -5.0, 5.0, VarManager::kMCEta);
histMan->AddHistogram(objArray->At(iclass)->GetName(), "Phi", "MC generator #varphi distribution", false, 50, 0.0, 2. * TMath::Pi(), VarManager::kMCPhi);
}

Expand Down
Loading