Skip to content

Commit e65b2ed

Browse files
tutripatalibuild
andauthored
[PWGLF] Update in track and event selection cuts (#12227)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent e9c45b8 commit e65b2ed

File tree

1 file changed

+38
-9
lines changed

1 file changed

+38
-9
lines changed

PWGLF/Tasks/GlobalEventProperties/dndeta-mft-pp.cxx

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -83,16 +83,20 @@ struct PseudorapidityDensityMFT {
8383
Configurable<bool> useEvSel{"useEvSel", true, "use event selection"};
8484
Configurable<bool> disableITSROFCut{"disableITSROFCut", false, "Disable ITS ROF cut for event selection"};
8585
ConfigurableAxis multBinning{"multBinning", {701, -0.5, 700.5}, ""};
86-
ConfigurableAxis EtaAxis = {"etaBinning", {18, -4.6, -1.}, ""};
86+
ConfigurableAxis EtaAxis = {"etaBinning", {36, -4.6, -1.}, ""};
8787

8888
Configurable<bool> useZDiffCut{"useZDiffCut", true, "use Z difference cut"};
8989
Configurable<float> maxZDiff{
9090
"maxZDiff", 1.0f,
9191
"max allowed Z difference for reconstructed collisions (cm)"};
9292

93-
Configurable<bool> usePhiCut{"usePhiCut", false, "use azimuthal angle cut"};
93+
Configurable<bool> usePhiCut{"usePhiCut", true, "use azimuthal angle cut"};
9494
Configurable<float> cfgPhiCut{"cfgPhiCut", 0.1f,
9595
"Cut on azimuthal angle of MFT tracks"};
96+
Configurable<float> cfgPhiCut1{"cfgPhiCut1", 0.0f,
97+
"low Cut on azimuthal angle of MFT tracks"};
98+
Configurable<float> cfgPhiCut2{"cfgPhiCut2", 6.3f,
99+
"high Cut on azimuthal angle of MFT tracks"};
96100
Configurable<float> cfgVzCut1{"cfgVzCut1", -30.0f,
97101
"Cut1 on vertex position of MFT tracks"};
98102
Configurable<float> cfgVzCut2{"cfgVzCut2", 30.0f,
@@ -576,15 +580,23 @@ struct PseudorapidityDensityMFT {
576580
registry.fill(HIST("EventSelection"), 2.);
577581
for (const auto& retrack : retracks) {
578582
auto track = retrack.mfttrack();
579-
if ((cfgnEta1 < track.eta()) && (track.eta() < cfgnEta2) && track.nClusters() >= cfgnCluster && retrack.ambDegree() > 0) {
583+
float ndf = std::max(2.0f * track.nClusters() - 5.0f, 1.0f);
584+
float chi2ndf = track.chi2() / ndf;
585+
float phi = track.phi();
586+
o2::math_utils::bringTo02Pi(phi);
587+
if (usePhiCut) {
588+
if ((phi <= 0.02) || ((phi >= 3.10) && (phi <= 3.23)) || (phi >= 6.21))
589+
continue;
590+
}
591+
if ((cfgnEta1 < track.eta()) && (track.eta() < cfgnEta2) && track.nClusters() >= cfgnCluster && retrack.ambDegree() > 0 && chi2ndf < cfgChi2NDFMax && (phi > cfgPhiCut1 && phi < cfgPhiCut2)) {
580592
registry.fill(HIST("Tracks/2Danalysis/EtaZvtx"), track.eta(), z);
581593
}
582594
}
583595
if (!disableITSROFCut && !collision.selection_bit(aod::evsel::kNoITSROFrameBorder)) {
584596
return;
585597
}
586598
registry.fill(HIST("EventSelection"), 3.);
587-
if (!useEvSel || (useEvSel && collision.selection_bit(aod::evsel::kIsTriggerTVX) && collision.selection_bit(aod::evsel::kNoTimeFrameBorder))) {
599+
if (!useEvSel || (useEvSel && collision.selection_bit(aod::evsel::kIsTriggerTVX) && collision.selection_bit(aod::evsel::kNoTimeFrameBorder) && collision.selection_bit(aod::evsel::kNoSameBunchPileup))) {
588600
registry.fill(HIST("EventSelection"), 4.);
589601
registry.fill(HIST("Tracks/2Danalysis/EventsNtrkZvtx_sel8"), Ntrk, z);
590602
std::unordered_set<int> uniqueEvents;
@@ -610,7 +622,13 @@ struct PseudorapidityDensityMFT {
610622
auto track = retrack.mfttrack();
611623
float ndf = std::max(2.0f * track.nClusters() - 5.0f, 1.0f);
612624
float chi2ndf = track.chi2() / ndf;
613-
if ((cfgnEta1 < track.eta()) && (track.eta() < cfgnEta2) && track.nClusters() >= cfgnCluster && retrack.ambDegree() > 0 && chi2ndf < cfgChi2NDFMax) {
625+
float phi = track.phi();
626+
o2::math_utils::bringTo02Pi(phi);
627+
if (usePhiCut) {
628+
if ((phi <= 0.02) || ((phi >= 3.10) && (phi <= 3.23)) || (phi >= 6.21))
629+
continue;
630+
}
631+
if ((cfgnEta1 < track.eta()) && (track.eta() < cfgnEta2) && track.nClusters() >= cfgnCluster && retrack.ambDegree() > 0 && chi2ndf < cfgChi2NDFMax && (phi > cfgPhiCut1 && phi < cfgPhiCut2)) {
614632
registry.fill(HIST("Tracks/Control/Chi2NDF"), chi2ndf);
615633
registry.fill(HIST("Tracks/2Danalysis/EtaZvtx_sel8"), track.eta(), z);
616634
if (midtracks.size() > 0 && retrack.ambDegree() > 0) {
@@ -627,8 +645,13 @@ struct PseudorapidityDensityMFT {
627645
auto track = retrack.mfttrack();
628646
float ndf = std::max(2.0f * track.nClusters() - 5.0f, 1.0f);
629647
float chi2ndf = track.chi2() / ndf;
630-
631-
if ((cfgnEta1 < track.eta()) && (track.eta() < cfgnEta2) && track.nClusters() >= cfgnCluster && chi2ndf < cfgChi2NDFMax) {
648+
float phi = track.phi();
649+
o2::math_utils::bringTo02Pi(phi);
650+
if ((cfgnEta1 < track.eta()) && (track.eta() < cfgnEta2) && track.nClusters() >= cfgnCluster && chi2ndf < cfgChi2NDFMax && (phi > cfgPhiCut1 && phi < cfgPhiCut2)) {
651+
if (usePhiCut) {
652+
if ((phi <= 0.02) || ((phi >= 3.10) && (phi <= 3.23)) || (phi >= 6.21))
653+
continue;
654+
}
632655
registry.fill(HIST("TracksEtaZvtx"), track.eta(), z);
633656
if (midtracks.size() > 0 && retrack.ambDegree() > 0) {
634657
registry.fill(HIST("Tracks/EtaZvtx_gt0"), track.eta(), z);
@@ -866,7 +889,7 @@ struct PseudorapidityDensityMFT {
866889
if (!disableITSROFCut && !collision.selection_bit(aod::evsel::kNoITSROFrameBorder)) {
867890
return;
868891
}
869-
if (!useEvSel || (useEvSel && collision.selection_bit(aod::evsel::kIsTriggerTVX) && collision.selection_bit(aod::evsel::kNoTimeFrameBorder))) {
892+
if (!useEvSel || (useEvSel && collision.selection_bit(aod::evsel::kIsTriggerTVX) && collision.selection_bit(aod::evsel::kNoTimeFrameBorder) && collision.selection_bit(aod::evsel::kNoSameBunchPileup))) {
870893
atLeastOne = true;
871894
auto perCollisionSample = sample->sliceByCached(
872895
o2::aod::fwdtrack::collisionId, collision.globalIndex(), cache);
@@ -912,7 +935,13 @@ struct PseudorapidityDensityMFT {
912935
if (std::abs(charge) < 3.) {
913936
continue;
914937
}
915-
if (cfgnEta1 < particle.eta() && particle.eta() < cfgnEta2) {
938+
float phi = particle.phi();
939+
o2::math_utils::bringTo02Pi(phi);
940+
if (usePhiCut) {
941+
if ((phi <= 0.02) || ((phi >= 3.10) && (phi <= 3.23)) || (phi >= 6.21))
942+
continue;
943+
}
944+
if (cfgnEta1 < particle.eta() && particle.eta() < cfgnEta2 && (phi > cfgPhiCut1 && phi < cfgPhiCut2)) {
916945
registry.fill(HIST("TracksEtaZvtxGen_t"), particle.eta(),
917946
mcCollision.posZ());
918947
if (perCollisionMCSampleCentral.size() > 0) {

0 commit comments

Comments
 (0)