Skip to content

PWGCF: Add code skeleton to PWGCF/MultiparticleCorrelations#1007

Merged
victor-gonzalez merged 2 commits into
AliceO2Group:masterfrom
ariedel-cern:master
Jul 18, 2022
Merged

PWGCF: Add code skeleton to PWGCF/MultiparticleCorrelations#1007
victor-gonzalez merged 2 commits into
AliceO2Group:masterfrom
ariedel-cern:master

Conversation

@ariedel-cern

Copy link
Copy Markdown
Collaborator

Adding code skeleton for a new user task in the PWGCF/MultiparticleCorrelations area.

Comment on lines +260 to +287
template <typename TrackInstance>
void FillTrackControlHistBC(TrackInstance const& track, HistogramRegistry& registry)
{
registry.fill(HIST(AR::TCrecoBefore) + HIST(AR::TrackVariableNames[AR::kPT]), track.pt());
registry.fill(HIST(AR::TCrecoBefore) + HIST(AR::TrackVariableNames[AR::kPHI]), track.phi());
registry.fill(HIST(AR::TCrecoBefore) + HIST(AR::TrackVariableNames[AR::kETA]), track.eta());
registry.fill(HIST(AR::TCrecoBefore) + HIST(AR::TrackVariableNames[AR::kCHARGE]), track.sign());
registry.fill(HIST(AR::TCrecoBefore) + HIST(AR::TrackVariableNames[AR::kDCAZ]), track.dcaZ());
registry.fill(HIST(AR::TCrecoBefore) + HIST(AR::TrackVariableNames[AR::kDCAXY]), track.dcaXY());
registry.fill(HIST(AR::TCrecoBefore) + HIST(AR::TrackVariableNames[AR::kTPCCLUSTERS]), track.tpcNClsFound());
registry.fill(HIST(AR::TCrecoBefore) + HIST(AR::TrackVariableNames[AR::kTPCCROSSEDROWS]), track.tpcNClsCrossedRows());
registry.fill(HIST(AR::TCrecoBefore) + HIST(AR::TrackVariableNames[AR::kTPCCHI2]), track.tpcChi2NCl());
registry.fill(HIST(AR::TCrecoBefore) + HIST(AR::TrackVariableNames[AR::kITSCLUSTERS]), track.itsNCls());
}
template <typename TrackInstance>
void FillTrackControlHistAC(TrackInstance const& track, HistogramRegistry& registry)
{
registry.fill(HIST(AR::TCrecoAfter) + HIST(AR::TrackVariableNames[AR::kPT]), track.pt());
registry.fill(HIST(AR::TCrecoAfter) + HIST(AR::TrackVariableNames[AR::kPHI]), track.phi());
registry.fill(HIST(AR::TCrecoAfter) + HIST(AR::TrackVariableNames[AR::kETA]), track.eta());
registry.fill(HIST(AR::TCrecoAfter) + HIST(AR::TrackVariableNames[AR::kCHARGE]), track.sign());
registry.fill(HIST(AR::TCrecoAfter) + HIST(AR::TrackVariableNames[AR::kDCAZ]), track.dcaZ());
registry.fill(HIST(AR::TCrecoAfter) + HIST(AR::TrackVariableNames[AR::kDCAXY]), track.dcaXY());
registry.fill(HIST(AR::TCrecoAfter) + HIST(AR::TrackVariableNames[AR::kTPCCLUSTERS]), track.tpcNClsFound());
registry.fill(HIST(AR::TCrecoAfter) + HIST(AR::TrackVariableNames[AR::kTPCCROSSEDROWS]), track.tpcNClsCrossedRows());
registry.fill(HIST(AR::TCrecoAfter) + HIST(AR::TrackVariableNames[AR::kTPCCHI2]), track.tpcChi2NCl());
registry.fill(HIST(AR::TCrecoAfter) + HIST(AR::TrackVariableNames[AR::kITSCLUSTERS]), track.itsNCls());
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

You should be able to have these two in a single one
Check collectData in https://github.com/AliceO2Group/O2Physics/blob/master/PWGCF/Tasks/match-reco-gen.cxx for inspiration

@victor-gonzalez victor-gonzalez left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'll approve it for the time being but have a look at my comments
I've planned to address both things in a coming training session

Comment on lines +288 to +337
template <typename TrackInstance>
bool SurviveTrackCut(TrackInstance const& track)
{
bool SurviveCut = true;

// cut pt
if (cfgTrack.at(AR::kPT).value.at(5) > 0 &&
(track.pt() < cfgTrack.at(AR::kPT).value.at(3) || track.pt() > cfgTrack.at(AR::kPT).value.at(4))) {
SurviveCut = false;
}
if (cfgTrack.at(AR::kETA).value.at(5) > 0 &&
(track.eta() < cfgTrack.at(AR::kETA).value.at(3) || track.eta() > cfgTrack.at(AR::kETA).value.at(4))) {
SurviveCut = false;
}
if (cfgTrack.at(AR::kPHI).value.at(5) > 0 &&
(track.phi() < cfgTrack.at(AR::kPHI).value.at(3) || track.phi() > cfgTrack.at(AR::kPHI).value.at(4))) {
SurviveCut = false;
}
if (cfgTrack.at(AR::kCHARGE).value.at(5) > 0 &&
(track.sign() < cfgTrack.at(AR::kCHARGE).value.at(3) || track.sign() > cfgTrack.at(AR::kCHARGE).value.at(4))) {
SurviveCut = false;
}
if (cfgTrack.at(AR::kDCAZ).value.at(5) > 0 &&
(track.dcaZ() < cfgTrack.at(AR::kDCAZ).value.at(3) || track.dcaZ() > cfgTrack.at(AR::kDCAZ).value.at(4))) {
SurviveCut = false;
}
if (cfgTrack.at(AR::kDCAXY).value.at(5) > 0 &&
(track.dcaXY() < cfgTrack.at(AR::kDCAXY).value.at(3) || track.dcaXY() > cfgTrack.at(AR::kDCAXY).value.at(4))) {
SurviveCut = false;
}
if (cfgTrack.at(AR::kTPCCLUSTERS).value.at(5) > 0 &&
(track.tpcNClsFound() < cfgTrack.at(AR::kTPCCLUSTERS).value.at(3) || track.tpcNClsFound() > cfgTrack.at(AR::kTPCCLUSTERS).value.at(4))) {
SurviveCut = false;
}
if (cfgTrack.at(AR::kTPCCROSSEDROWS).value.at(5) > 0 &&
(track.tpcNClsCrossedRows() < cfgTrack.at(AR::kTPCCROSSEDROWS).value.at(3) || track.tpcNClsCrossedRows() > cfgTrack.at(AR::kTPCCROSSEDROWS).value.at(4))) {
SurviveCut = false;
}
if (cfgTrack.at(AR::kTPCCHI2).value.at(5) > 0 &&
(track.tpcChi2NCl() < cfgTrack.at(AR::kTPCCHI2).value.at(3) || track.tpcChi2NCl() > cfgTrack.at(AR::kTPCCHI2).value.at(4))) {
SurviveCut = false;
}
if (cfgTrack.at(AR::kITSCLUSTERS).value.at(5) > 0 &&
(track.itsNCls() < cfgTrack.at(AR::kITSCLUSTERS).value.at(3) || track.itsNCls() > cfgTrack.at(AR::kITSCLUSTERS).value.at(4))) {
SurviveCut = false;
}

return SurviveCut;
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

You should be able to have this in a cleaner way by using a lambda function
Check ProcessRun3 in https://github.com/AliceO2Group/O2Physics/blob/master/Common/TableProducer/centralityTable.cxx for inspiration

@victor-gonzalez victor-gonzalez enabled auto-merge (squash) July 18, 2022 11:58
@victor-gonzalez victor-gonzalez merged commit ccd2e0d into AliceO2Group:master Jul 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants