Skip to content
Merged
Changes from 4 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
111 changes: 72 additions & 39 deletions PWGCF/Flow/Tasks/flowZdcTask.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -112,14 +112,15 @@ struct FlowZdcTask {
Configurable<float> minT0CcentCut{"minT0CcentCut", 0.0, "Min T0C Cent. cut"};
Configurable<float> maxT0CcentCut{"maxT0CcentCut", 90.0, "Max T0C Cent. cut"};

using ColEvent = soa::Join<aod::Collisions, aod::EvSels>;
Copy link
Collaborator

Choose a reason for hiding this comment

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

I would suggest using a plural. Singular are left to iterators

Filter collisionFilter = nabs(aod::collision::posZ) < cfgCutVertex;
Filter trackFilter = ((aod::track::eta > minEta) && (aod::track::eta < maxEta));
using ColEvSels = soa::Join<aod::Collisions, aod::EvSels, o2::aod::CentFT0Cs, aod::TPCMults, o2::aod::BarrelMults, aod::FT0MultZeqs>;
using AodCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs, aod::Mults>>;
using AodTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection, aod::TracksExtra, aod::TracksDCA>>;
Partition<AodTracks> tracksIUWithTPC = (aod::track::tpcNClsFindable > (uint8_t)0);
using TracksSel = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksCovIU, aod::TrackSelection, aod::TracksDCA>;
using BCsRun3 = soa::Join<aod::BCs, aod::Timestamps, aod::BcSels, aod::Run3MatchedToBCSparse>;
using TracksSel = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksCovIU, aod::TrackSelection, aod::TracksDCA>;
using CollisionDataTable = soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::CentFT0Cs, aod::CentFT0CVariant1s, aod::CentFT0Ms>;
using TrackDataTable = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::TrackSelection>;
using FilTrackDataTable = soa::Filtered<TrackDataTable>;
Expand Down Expand Up @@ -863,45 +864,77 @@ struct FlowZdcTask {
histos.get<TH2>(HIST("ZDC_energy_vs_ZEM"))->Fill(sumZEM, sumZDC);
}

void processZdc(aod::Zdc const& zdc)
void processZdc(
ColEvent const& cols,
BCsRun3 const& /*bcs*/,
aod::Zdcs const& /*zdcs*/)
{
auto znA = zdc.amplitudeZNA() / cfgCollisionEnergy;
auto znC = zdc.amplitudeZNC() / cfgCollisionEnergy;
auto zpA = zdc.amplitudeZPA() / cfgCollisionEnergy;
auto zpC = zdc.amplitudeZPC() / cfgCollisionEnergy;
float sumZNC = ((zdc.energySectorZNC())[0] + (zdc.energySectorZNC())[1] + (zdc.energySectorZNC())[2] + (zdc.energySectorZNC())[3]) / cfgCollisionEnergy;
float sumZNA = ((zdc.energySectorZNA())[0] + (zdc.energySectorZNA())[1] + (zdc.energySectorZNA())[2] + (zdc.energySectorZNA())[3]) / cfgCollisionEnergy;
float sumZPC = ((zdc.energySectorZPC())[0] + (zdc.energySectorZPC())[1] + (zdc.energySectorZPC())[2] + (zdc.energySectorZPC())[3]) / cfgCollisionEnergy;
float sumZPA = ((zdc.energySectorZPA())[0] + (zdc.energySectorZPA())[1] + (zdc.energySectorZPA())[2] + (zdc.energySectorZPA())[3]) / cfgCollisionEnergy;
float commonSumZnc = zdc.energyCommonZNC() / cfgCollisionEnergy;
float commonSumZna = zdc.energyCommonZNA() / cfgCollisionEnergy;
float commonSumZpc = zdc.energyCommonZPC() / cfgCollisionEnergy;
float commonSumZpa = zdc.energyCommonZPA() / cfgCollisionEnergy;
float aZEM1 = zdc.amplitudeZEM1();
float aZEM2 = zdc.amplitudeZEM2();
float sumZEMs = aZEM1 + aZEM2;
if (sumZEMs > zemCut) {
histos.fill(HIST("ampZna"), znA);
histos.fill(HIST("ampZnc"), znC);
histos.fill(HIST("ampZpa"), zpA);
histos.fill(HIST("ampZpc"), zpC);
histos.fill(HIST("ampZEM1"), aZEM1);
histos.fill(HIST("ampZEM2"), aZEM2);
histos.fill(HIST("ZnVsZem"), sumZEMs, znC + znA);
histos.fill(HIST("ZnaVsZnc"), znA, znC);
histos.fill(HIST("ZpaVsZpc"), zpA, zpC);
histos.fill(HIST("ZnaVsZpa"), znA, zpA);
histos.fill(HIST("ZncVsZpc"), znC, zpC);
histos.fill(HIST("ZnccVsZncSum"), sumZNC, commonSumZnc);
histos.fill(HIST("ZnacVsZnaSum"), sumZNA, commonSumZna);
histos.fill(HIST("ZpccVsZpcSum"), sumZPC, commonSumZpc);
histos.fill(HIST("ZpacVsZpaSum"), sumZPA, commonSumZpa);
histos.fill(HIST("ZncVsTdc"), zdc.timeZNC(), znC);
histos.fill(HIST("ZnaVsTdc"), zdc.timeZNA(), znA);
histos.fill(HIST("ZpcVsTdc"), zdc.timeZPC(), zpC);
histos.fill(HIST("ZpaVsTdc"), zdc.timeZPA(), zpA);
histos.fill(HIST("Zem1VsTdc"), zdc.timeZEM1(), aZEM1);
histos.fill(HIST("Zem2VsTdc"), zdc.timeZEM2(), aZEM2);
for (const auto& collision : cols) {
const auto& foundBC = collision.foundBC_as<BCsRun3>();
if (foundBC.has_zdc()) {
const auto& zdc = foundBC.zdc();
auto znA = zdc.amplitudeZNA() / cfgCollisionEnergy;
auto znC = zdc.amplitudeZNC() / cfgCollisionEnergy;
auto zpA = zdc.amplitudeZPA() / cfgCollisionEnergy;
auto zpC = zdc.amplitudeZPC() / cfgCollisionEnergy;
float sumZNC = ((zdc.energySectorZNC())[0] + (zdc.energySectorZNC())[1] + (zdc.energySectorZNC())[2] + (zdc.energySectorZNC())[3]) / cfgCollisionEnergy;
float sumZNA = ((zdc.energySectorZNA())[0] + (zdc.energySectorZNA())[1] + (zdc.energySectorZNA())[2] + (zdc.energySectorZNA())[3]) / cfgCollisionEnergy;
float sumZPC = ((zdc.energySectorZPC())[0] + (zdc.energySectorZPC())[1] + (zdc.energySectorZPC())[2] + (zdc.energySectorZPC())[3]) / cfgCollisionEnergy;
float sumZPA = ((zdc.energySectorZPA())[0] + (zdc.energySectorZPA())[1] + (zdc.energySectorZPA())[2] + (zdc.energySectorZPA())[3]) / cfgCollisionEnergy;
float commonSumZnc = zdc.energyCommonZNC() / cfgCollisionEnergy;
float commonSumZna = zdc.energyCommonZNA() / cfgCollisionEnergy;
float commonSumZpc = zdc.energyCommonZPC() / cfgCollisionEnergy;
float commonSumZpa = zdc.energyCommonZPA() / cfgCollisionEnergy;
float aZEM1 = zdc.amplitudeZEM1();
float aZEM2 = zdc.amplitudeZEM2();
float sumZEMs = aZEM1 + aZEM2;
auto tZNA = zdc.timeZNA();
auto tZNC = zdc.timeZNC();
auto tZPA = zdc.timeZPA();
auto tZPC = zdc.timeZPC();
if (isTDCcut) {
if ((tZNA >= minTdcZn) && (tZNA <= maxTdcZn))
histos.fill(HIST("ampZna"), znA);
if ((tZNC >= minTdcZn) && (tZNC <= minTdcZn))
histos.fill(HIST("ampZnc"), znC);
if ((tZPA >= minTdcZp) && (tZPA <= maxTdcZp))
histos.fill(HIST("ampZpa"), zpA);
if ((tZPC >= minTdcZp) && (tZPC <= maxTdcZp))
histos.fill(HIST("ampZpc"), zpC);
if (((tZNC >= minTdcZn) && (tZNC <= maxTdcZn)) && ((tZNA >= minTdcZn) && (tZNA <= maxTdcZn)))
histos.fill(HIST("ZnVsZem"), sumZEMs, znC + znA);
if (((tZNC >= minTdcZn) && (tZNC <= maxTdcZn)) && ((tZNA >= minTdcZn) && (tZNA <= maxTdcZn)))
histos.fill(HIST("ZnaVsZnc"), znA, znC);
if (((tZPC >= minTdcZp) && (tZPC <= maxTdcZp)) && ((tZPA >= minTdcZp) && (tZPA <= maxTdcZp)))
histos.fill(HIST("ZpaVsZpc"), zpA, zpC);
if ((tZNA >= minTdcZn) && (tZNA <= maxTdcZn))
histos.fill(HIST("ZnaVsZpa"), znA, zpA);
if ((tZNC >= minTdcZn) && (tZNC <= maxTdcZn))
histos.fill(HIST("ZncVsZpc"), znC, zpC);
} else {
histos.fill(HIST("ampZna"), znA);
histos.fill(HIST("ampZnc"), znC);
histos.fill(HIST("ampZpa"), zpA);
histos.fill(HIST("ampZpc"), zpC);
histos.fill(HIST("ZnVsZem"), sumZEMs, znC + znA);
histos.fill(HIST("ZnaVsZnc"), znA, znC);
histos.fill(HIST("ZpaVsZpc"), zpA, zpC);
histos.fill(HIST("ZnaVsZpa"), znA, zpA);
histos.fill(HIST("ZncVsZpc"), znC, zpC);
}
histos.fill(HIST("ampZEM1"), aZEM1);
histos.fill(HIST("ampZEM2"), aZEM2);
histos.fill(HIST("ZnccVsZncSum"), sumZNC, commonSumZnc);
histos.fill(HIST("ZnacVsZnaSum"), sumZNA, commonSumZna);
histos.fill(HIST("ZpccVsZpcSum"), sumZPC, commonSumZpc);
histos.fill(HIST("ZpacVsZpaSum"), sumZPA, commonSumZpa);
histos.fill(HIST("ZncVsTdc"), zdc.timeZNC(), znC);
histos.fill(HIST("ZnaVsTdc"), zdc.timeZNA(), znA);
histos.fill(HIST("ZpcVsTdc"), zdc.timeZPC(), zpC);
histos.fill(HIST("ZpaVsTdc"), zdc.timeZPA(), zpA);
histos.fill(HIST("Zem1VsTdc"), zdc.timeZEM1(), aZEM1);
histos.fill(HIST("Zem2VsTdc"), zdc.timeZEM2(), aZEM2);
}
}
}

Expand Down
Loading