Skip to content

Commit 20ecdea

Browse files
authored
Add files via upload
1 parent 5625380 commit 20ecdea

File tree

1 file changed

+34
-39
lines changed

1 file changed

+34
-39
lines changed

PWGCF/Flow/Tasks/flowGfwOmegaXi.cxx

Lines changed: 34 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -147,8 +147,10 @@ struct FlowGfwOmegaXi {
147147
O2_DEFINE_CONFIGURABLE(cfgCutPtPIDbachMin, float, 0.15f, "Minimal pT for daughter PID")
148148
O2_DEFINE_CONFIGURABLE(cfgCutPtPIDdauLaPrMin, float, 0.15f, "Minimal pT for daughter PID")
149149
O2_DEFINE_CONFIGURABLE(cfgCutPtPIDdauLaPiMin, float, 0.15f, "Minimal pT for daughter PID")
150+
O2_DEFINE_CONFIGURABLE(cfgCutDCAz, float, 2.0f, "Minimal pT for daughter PID")
150151
// track quality selections for daughter track
151-
O2_DEFINE_CONFIGURABLE(cfgITSNCls, int, 5, "check minimum number of ITS clusters")
152+
O2_DEFINE_CONFIGURABLE(cfgITSNCls, int, 3, "check minimum number of ITS clusters")
153+
O2_DEFINE_CONFIGURABLE(cfgChITSNCls, int, 5, "check minimum number of ITS clusters")
152154
O2_DEFINE_CONFIGURABLE(cfgTPCNCls, int, 50, "check minimum number of TPC hits")
153155
O2_DEFINE_CONFIGURABLE(cfgTPCCrossedRows, int, 70, "check minimum number of TPC crossed rows")
154156
O2_DEFINE_CONFIGURABLE(cfgCheckGlobalTrack, bool, false, "check global track")
@@ -164,6 +166,7 @@ struct FlowGfwOmegaXi {
164166
O2_DEFINE_CONFIGURABLE(cfgDoNoCollInTimeRangeStandard, bool, true, "check kNoCollInTimeRangeStandard")
165167
O2_DEFINE_CONFIGURABLE(cfgDoIsGoodITSLayersAll, bool, true, "check kIsGoodITSLayersAll")
166168
O2_DEFINE_CONFIGURABLE(cfgCutOccupancyHigh, int, 500, "High cut on TPC occupancy")
169+
O2_DEFINE_CONFIGURABLE(cfgDoZResAndNumContribCut, bool, true, "check kNoTimeFrameBorder")
167170
O2_DEFINE_CONFIGURABLE(cfgDoMultPVCut, bool, true, "do multNTracksPV vs cent cut")
168171
O2_DEFINE_CONFIGURABLE(cfgMultPVCut, std::vector<float>, (std::vector<float>{3074.43, -106.192, 1.46176, -0.00968364, 2.61923e-05, 182.128, -7.43492, 0.193901, -0.00256715, 1.22594e-05}), "Used MultPVCut function parameter")
169172
O2_DEFINE_CONFIGURABLE(cfgDoV0AT0Acut, bool, true, "do V0A-T0A cut")
@@ -211,11 +214,11 @@ struct FlowGfwOmegaXi {
211214
AxisSpec axisMultiplicity{{0, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90}, "Centrality (%)"};
212215

213216
Filter collisionFilter = nabs(aod::collision::posZ) < cfgCutVertex;
214-
Filter trackFilter = (nabs(aod::track::eta) < trkQualityOpts.cfgCutEta.value) && (aod::track::pt > trkQualityOpts.cfgCutPtPOIMin.value) && (aod::track::pt < trkQualityOpts.cfgCutPtPOIMax.value) && ((requireGlobalTrackInFilter()) || (aod::track::isGlobalTrackSDD == (uint8_t) true)) && (aod::track::tpcChi2NCl < cfgCutChi2prTPCcls);
217+
Filter trackFilter = (nabs(aod::track::eta) < trkQualityOpts.cfgCutEta.value) && (aod::track::pt > trkQualityOpts.cfgCutPtPOIMin.value) && (aod::track::pt < trkQualityOpts.cfgCutPtPOIMax.value) && ((requireGlobalTrackInFilter()) || (aod::track::isGlobalTrackSDD == (uint8_t) true)) && (aod::track::tpcChi2NCl < cfgCutChi2prTPCcls) && (nabs(aod::track::dcaZ) < trkQualityOpts.cfgCutDCAz.value);
215218

216219
using TracksPID = soa::Join<aod::pidTPCPi, aod::pidTPCKa, aod::pidTPCPr, aod::pidTOFPi, aod::pidTOFKa, aod::pidTOFPr>;
217-
using AodTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection, o2::aod::TrackSelectionExtension, aod::TracksExtra, TracksPID, aod::TracksIU>>; // tracks filter
218-
using AodCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs, aod::CentFT0Ms, aod::MultsRun3>>; // collisions filter
220+
using AodTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection, o2::aod::TrackSelectionExtension, aod::TracksExtra, TracksPID, aod::TracksIU, aod::TracksDCA>>; // tracks filter
221+
using AodCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs, aod::CentFT0Ms, aod::MultsRun3>>; // collisions filter
219222
using DaughterTracks = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, TracksPID, aod::TrackSelection, o2::aod::TrackSelectionExtension>;
220223

221224
// Connect to ccdb
@@ -363,15 +366,12 @@ struct FlowGfwOmegaXi {
363366
registry.add("hMult", "", {HistType::kTH1D, {cfgaxisNch}});
364367
registry.add("hMultTPC", "", {HistType::kTH1D, {cfgaxisNch}});
365368
registry.add("hCent", "", {HistType::kTH1D, {{90, 0, 90}}});
366-
registry.add("hCentvsNch", "", {HistType::kTH2D, {{18, 0, 90}, cfgaxisNch}});
367-
registry.add("MC/hCentvsNchMC", "", {HistType::kTH2D, {{18, 0, 90}, cfgaxisNch}});
368-
registry.add("hCentvsMultTPC", "", {HistType::kTH2D, {{18, 0, 90}, cfgaxisNch}});
369-
registry.add("MC/hCentvsMultTPCMC", "", {HistType::kTH2D, {{18, 0, 90}, cfgaxisNch}});
370-
registry.add("hNTracksPVvsCentrality", "", {HistType::kTH2D, {{5000, 0, 5000}, axisMultiplicity}});
369+
registry.add("hNTracksPVvsCentrality", "", {HistType::kTH2D, {{5000, 0, 5000}, {100, 0, 100}}});
370+
registry.add("hmultFV0AvsmultFT0A", "", {HistType::kTH2D, {{5000, 0, 5000}, {5000, 0, 5000}}});
371371
registry.add("hPt", "", {HistType::kTH1D, {cfgaxisPt}});
372372

373+
runNumbers = cfgRunNumbers;
373374
if (cfgOutputrunbyrun) {
374-
runNumbers = cfgRunNumbers;
375375
for (const auto& runNumber : runNumbers) {
376376
if (cfgOutputQA) {
377377
std::vector<std::shared_ptr<TH1>> histosPhi(kCount_TH1Names);
@@ -957,21 +957,23 @@ struct FlowGfwOmegaXi {
957957
return 0;
958958
}
959959
registry.fill(HIST("hEventCount"), 8.5);
960-
float vtxz = -999;
961-
if (collision.numContrib() > 1) {
962-
vtxz = collision.posZ();
963-
float zRes = std::sqrt(collision.covZZ());
964-
double zResMin = 0.25;
965-
int numContMax = 20;
966-
if (zRes > zResMin && collision.numContrib() < numContMax)
967-
vtxz = -999;
968-
}
969-
auto multNTracksPV = collision.multNTracksPV();
970-
auto occupancy = collision.trackOccupancyInTimeRange();
971960

961+
float vtxz = collision.posZ();
962+
if (evtSeleOpts.cfgDoZResAndNumContribCut.value) {
963+
if (collision.numContrib() > 1) {
964+
float zRes = std::sqrt(collision.covZZ());
965+
double zResMin = 0.25;
966+
int numContMax = 20;
967+
if (zRes > zResMin && collision.numContrib() < numContMax)
968+
vtxz = -999;
969+
}
970+
}
972971
if (std::fabs(vtxz) > cfgCutVertex)
973972
return false;
974973

974+
auto multNTracksPV = collision.multNTracksPV();
975+
auto occupancy = collision.trackOccupancyInTimeRange();
976+
975977
registry.fill(HIST("hNTracksPVvsCentrality"), multNTracksPV, centrality);
976978
if (evtSeleOpts.cfgDoMultPVCut.value) {
977979
if (multNTracksPV < fMultPVCutLow->Eval(centrality))
@@ -987,6 +989,7 @@ struct FlowGfwOmegaXi {
987989
registry.fill(HIST("hEventCount"), 10.5);
988990

989991
// V0A T0A 5 sigma cut
992+
registry.fill(HIST("hmultFV0AvsmultFT0A"), collision.multFV0A(), collision.multFT0A());
990993
if (evtSeleOpts.cfgDoV0AT0Acut.value) {
991994
int nsigma = 5;
992995
if (std::fabs(collision.multFV0A() - fT0AV0AMean->Eval(collision.multFT0A())) > nsigma * fT0AV0ASigma->Eval(collision.multFT0A()))
@@ -1028,14 +1031,16 @@ struct FlowGfwOmegaXi {
10281031
if (!eventSelected(collision, cent, interactionRate))
10291032
return;
10301033
int matchedPosition = -1;
1031-
for (uint64_t idxPosition = 0; idxPosition < this->runNumbers.size(); idxPosition++) {
1032-
if (this->runNumbers[idxPosition] == runNumber) {
1033-
matchedPosition = idxPosition;
1034-
break;
1034+
if (cfgOutputrunbyrun) {
1035+
for (uint64_t idxPosition = 0; idxPosition < this->runNumbers.size(); idxPosition++) {
1036+
if (this->runNumbers[idxPosition] == runNumber) {
1037+
matchedPosition = idxPosition;
1038+
break;
1039+
}
1040+
}
1041+
if (matchedPosition == -1) {
1042+
return;
10351043
}
1036-
}
1037-
if (matchedPosition == -1) {
1038-
return;
10391044
}
10401045

10411046
TH1D* hLocalDensity = new TH1D("hphi", "hphi", 400, -constants::math::TwoPI, constants::math::TwoPI);
@@ -1056,7 +1061,7 @@ struct FlowGfwOmegaXi {
10561061
if (!setCurrentParticleWeights(weff, wacc, track, vtxz, 0))
10571062
continue;
10581063
}
1059-
if ((track.tpcNClsFound() <= trkQualityOpts.cfgTPCNCls.value) || (track.tpcNClsCrossedRows() <= trkQualityOpts.cfgTPCCrossedRows.value) || (track.itsNCls() <= trkQualityOpts.cfgITSNCls.value))
1064+
if ((track.tpcNClsFound() <= trkQualityOpts.cfgTPCNCls.value) || (track.tpcNClsCrossedRows() <= trkQualityOpts.cfgTPCCrossedRows.value) || (track.itsNCls() <= trkQualityOpts.cfgChITSNCls.value))
10601065
continue;
10611066
registry.fill(HIST("hPhi"), track.phi());
10621067
registry.fill(HIST("hPhicorr"), track.phi(), wacc);
@@ -1085,10 +1090,6 @@ struct FlowGfwOmegaXi {
10851090
registry.fill(HIST("correction/hRunNumberPhiEtaVertex"), matchedPosition, track.phi(), track.eta(), vtxz);
10861091
}
10871092
}
1088-
if (cfgDoLocDenCorr) {
1089-
registry.fill(HIST("hCentvsNch"), cent, nch);
1090-
registry.fill(HIST("hCentvsMultTPC"), cent, nMultTPC);
1091-
}
10921093
// fill GFW of V0 flow
10931094
double lowpt = trkQualityOpts.cfgCutPtPIDDauMin.value;
10941095
double bachPtcut = trkQualityOpts.cfgCutPtPIDbachMin.value;
@@ -1580,7 +1581,6 @@ struct FlowGfwOmegaXi {
15801581
return;
15811582
cent = collision.centFT0C();
15821583
nMultTPC = collision.multTPC();
1583-
registry.fill(HIST("MC/hCentvsMultTPCMC"), cent, nMultTPC);
15841584
}
15851585
if (cent < 0)
15861586
return;
@@ -1613,7 +1613,6 @@ struct FlowGfwOmegaXi {
16131613
}
16141614
}
16151615
}
1616-
registry.fill(HIST("MC/hCentvsNchMC"), cent, nch);
16171616

16181617
for (const auto& straGen : tracksGen) {
16191618
if (!straGen.isPhysicalPrimary())
@@ -1738,10 +1737,6 @@ struct FlowGfwOmegaXi {
17381737
}
17391738
}
17401739

1741-
if (cfgDoLocDenCorr) {
1742-
registry.fill(HIST("hCentvsNch"), cent, nch);
1743-
}
1744-
17451740
for (const auto& casc : Cascades) {
17461741
if (!casc.has_mcParticle())
17471742
continue;

0 commit comments

Comments
 (0)