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
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ bool loadfromccdb = false;

std::vector<int> recoIdMethods = {0, 1, 2}; // Reconstructed PID Methods, 0 is no PID, 1 is calculated PID, 2 is MC PID
std::vector<int> trackTypes = {0, 1, 2, 3};
const int twoDenom = 2; // Used to test if a value is even or odd

//============================================================================================
// The IdentifiedBfFilter histogram objects
Expand Down Expand Up @@ -136,7 +137,8 @@ TH2F* fhdEdxB = nullptr;
TH2F* fhdEdxIPTPCB = nullptr;
TH2F* fhdEdxA[kIdBfNoOfSpecies + 2] = {nullptr};
TH2F* fhdEdxIPTPCA[kIdBfNoOfSpecies + 2] = {nullptr};
TH2F* fhTrackTime[kIdBfNoOfSpecies + 2] = {nullptr};
TH2F* fhTrackTimeA[kIdBfNoOfSpecies + 2] = {nullptr};
TH2F* fhTrackBetaA[kIdBfNoOfSpecies + 2] = {nullptr};

TH1F* fhMassB = nullptr;
TH1F* fhMassA[kIdBfNoOfSpecies + 1] = {nullptr};
Expand Down Expand Up @@ -895,13 +897,26 @@ struct IdentifiedBfFilterTracks {
fhdEdxIPTPCA[sp] = new TH2F(TString::Format("fhdEdxIPTPCA_%s", speciesName[sp]).Data(),
TString::Format("dE/dx vs P_{IP} reconstructed %s; P (GeV/c); dE/dx (a.u.)", speciesTitle[sp]).Data(),
ptbins, ptlow, ptup, 1000, 0.0, 1000.0);
fhTrackTimeA[sp] = new TH2F(TString::Format("fhTrackTimeA_%s", speciesName[sp]).Data(),
TString::Format("Track Time vs P_{IP} reconstructed %s; P (GeV/c); Track Time(ns)", speciesTitle[sp]).Data(),
ptbins, ptlow, ptup, 1000, 0.0, 10.0);
fhTrackBetaA[sp] = new TH2F(TString::Format("fhTrackBetaA_%s", speciesName[sp]).Data(),
TString::Format("1/#Beta vs P_{IP} reconstructed %s; P (GeV/c); 1/#Beta(ns/m)", speciesTitle[sp]).Data(),
ptbins, ptlow, ptup, 1000, 0.0, 10.0);
}
fhdEdxA[kIdBfNoOfSpecies + 1] = new TH2F(TString::Format("fhdEdxA_WrongSpecies").Data(),
TString::Format("dE/dx vs P reconstructed Wrong Species; P (GeV/c); dE/dx (a.u.)").Data(),
ptbins, ptlow, ptup, 1000, 0.0, 1000.0);
fhdEdxIPTPCA[kIdBfNoOfSpecies + 1] = new TH2F(TString::Format("fhdEdxIPTPCA_WrongSpecies").Data(),
TString::Format("dE/dx vs P_{IP} reconstructed Wrong Species; P (GeV/c); dE/dx (a.u.)").Data(),
ptbins, ptlow, ptup, 1000, 0.0, 1000.0);
fhTrackTimeA[kIdBfNoOfSpecies + 1] = new TH2F(TString::Format("fhTrackTimeA_WrongSpecies").Data(),
TString::Format("Track Time vs P_{IP} reconstructed Wrong Species; P (GeV/c); Track Time(ns)").Data(),
ptbins, ptlow, ptup, 1000, 0.0, 10.0);
fhTrackBetaA[kIdBfNoOfSpecies + 1] = new TH2F(TString::Format("fhTrackBetaA_WrongSpecies").Data(),
TString::Format("1/#Beta vs P_{IP} reconstructed Wrong Species; P (GeV/c); 1/#Beta(ns/m)").Data(),
ptbins, ptlow, ptup, 1000, 0.0, 10.0);

/* add the hstograms to the output list */
fOutputList->Add(fhXYB);
fOutputList->Add(fhYZB);
Expand Down Expand Up @@ -963,9 +978,13 @@ struct IdentifiedBfFilterTracks {
fOutputList->Add(fhDeltaNA[sp]);
fOutputList->Add(fhdEdxA[sp]);
fOutputList->Add(fhdEdxIPTPCA[sp]);
fOutputList->Add(fhTrackTimeA[sp]);
fOutputList->Add(fhTrackBetaA[sp]);
}
fOutputList->Add(fhdEdxA[kIdBfNoOfSpecies + 1]);
fOutputList->Add(fhdEdxIPTPCA[kIdBfNoOfSpecies + 1]);
fOutputList->Add(fhTrackTimeA[kIdBfNoOfSpecies + 1]);
fOutputList->Add(fhTrackBetaA[kIdBfNoOfSpecies + 1]);
}

if ((fDataType != kData) && (fDataType != kDataNoEvtSel)) {
Expand Down Expand Up @@ -1145,10 +1164,10 @@ struct IdentifiedBfFilterTracks {
if (!(pid < 0)) {
naccepted++;
/* update charged multiplicities */
if (pid % 2 == 0) {
if (pid % twoDenom == trackTypes[0]) {
trkMultPos[kIdBfCharged]++;
}
if (pid % 2 == 1) {
if (pid % twoDenom == trackTypes[1]) {
trkMultNeg[kIdBfCharged]++;
}
if (fullDerivedData) {
Expand Down Expand Up @@ -1567,6 +1586,8 @@ inline MatchRecoGenSpecies IdentifiedBfFilterTracks::identifyTrack(TrackObject c
fhWrongTrackID->Fill(track.p());
fhdEdxA[kIdBfNoOfSpecies]->Fill(track.p(), track.tpcSignal());
fhdEdxIPTPCA[kIdBfNoOfSpecies]->Fill(track.tpcInnerParam(), track.tpcSignal());
fhTrackTimeA[kIdBfNoOfSpecies]->Fill(track.tpcInnerParam(), track.trackTime());
fhTrackBetaA[kIdBfNoOfSpecies]->Fill(track.tpcInnerParam(), track.trackTime() / track.length());
fhDoublePID->Fill(spMinNSigma, spDouble);
return kWrongSpecies; // Return wrong species value
} else {
Expand Down Expand Up @@ -1658,7 +1679,13 @@ inline int8_t IdentifiedBfFilterTracks::acceptParticle(ParticleObject& particle,
}

if (ptlow < particle.pt() && particle.pt() < ptup && etalow < particle.eta() && particle.eta() < etaup) {
MatchRecoGenSpecies sp = identifyParticle(particle);
MatchRecoGenSpecies sp;
if (recoIdMethod == recoIdMethods[0]) {
sp = kIdBfCharged;
}
if (recoIdMethod == recoIdMethods[1]) {
sp = identifyParticle(particle);
}
if (sp != kWrongSpecies) {
if (sp != kIdBfCharged) {
/* fill the charged particle histograms */
Expand Down Expand Up @@ -1809,6 +1836,8 @@ void IdentifiedBfFilterTracks::fillTrackHistosAfterSelection(TrackObject const&
fhPtA[sp]->Fill(track.pt());
fhdEdxA[sp]->Fill(track.p(), track.tpcSignal());
fhdEdxIPTPCA[sp]->Fill(track.tpcInnerParam(), track.tpcSignal());
fhTrackTimeA[sp]->Fill(track.tpcInnerParam(), track.trackTime());
fhTrackBetaA[sp]->Fill(track.tpcInnerParam(), track.trackTime() / track.length());
if (track.sign() > 0) {
fhPtPosA[sp]->Fill(track.pt());
fhPtEtaPosA[sp]->Fill(track.pt(), track.eta());
Expand Down
6 changes: 6 additions & 0 deletions PWGCF/TwoParticleCorrelations/Tasks/identifiedbf.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,12 @@ struct IdentifiedbfTask {
} else {
fhN1VsZEtaPhiPtSecondary[track.trackacceptedid()]->Fill(zvtx, getEtaPhiIndex(track) + 0.5, track.pt(), corr);
}
} else if constexpr (framework::has_type_v<aod::mcparticle::McCollisionId, typename TrackObject::all_columns>) {
if (isPrimaryCheck(track)) {
fhN1VsZEtaPhiPtPrimary[track.trackacceptedid()]->Fill(zvtx, getEtaPhiIndex(track) + 0.5, track.pt(), corr);
} else {
fhN1VsZEtaPhiPtSecondary[track.trackacceptedid()]->Fill(zvtx, getEtaPhiIndex(track) + 0.5, track.pt(), corr);
}
}
}

Expand Down
Loading