Skip to content

Commit 59fc069

Browse files
committed
dev: adding hm cut for normalisation tail for omegahm
1 parent 45ff2c9 commit 59fc069

File tree

1 file changed

+49
-32
lines changed

1 file changed

+49
-32
lines changed

EventFiltering/PWGLF/strangenessFilter.cxx

Lines changed: 49 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -153,14 +153,19 @@ struct strangenessFilter {
153153
Configurable<float> ptthrtof{"ptthrtof", 1.0, "Pt threshold to apply TOF condition"};
154154
Configurable<bool> sel8{"sel8", 0, "Apply sel8 event selection"};
155155
Configurable<bool> isTriggerTVX{"isTriggerTVX", 1, "Require TVX"};
156-
Configurable<int> HMTrgSelectionForOmegaFT0M{"HMTrgSelectionForOmegaFT0M", 1, "0: none, 1: normalised FT0M, 2: FT0M "};
157-
Configurable<int> LowLimitHMTrgOmegaT0M{"LowLimitHMTrgOmegaT0M", 3100, "T0M"};
158-
Configurable<int> LowLimitHMTrgOmegaT0MNorm{"LowLimitHMTrgOmegaT0MNorm", 70, "normalised T0M selection [2] of multFiler"};
159-
Configurable<int> HMTrgSelectionForOmegaTrks{"HMTrgSelectionForOmegaTrks", 2, "0: none, 1: GlobalMult,2: selectTrack"};
160-
Configurable<int> LowLimitHMTrgOmegaTrkGlob{"LowLimitHMTrgOmegaTrksGlob", 90, "tracks from table GlobalMult"};
161-
Configurable<int> LowLimitHMTrgOmegaTrkSel{"LowLimitHMTrgOmegaTrkSel", 50, "tracks as defined in selectTrackHMO"};
162-
Configurable<float> hEtaHM{"hEtaHM", 1.0f, "Eta range for particles defining HM events"};
163-
Configurable<float> hMinPtHM{"hMinPtHM", 0.2f, "Min pt for particles defining HM events"};
156+
struct : ConfigurableGroup {
157+
Configurable<int> HMTrgSelectionForOmegaFT0M{"HMTrgSelectionForOmegaFT0M", 1, "0: none, 1: normalised FT0M, 2: FT0M "};
158+
Configurable<int> LowLimitHMTrgOmegaT0M{"LowLimitHMTrgOmegaT0M", 3100, "T0M"};
159+
Configurable<int> LowLimitHMTrgOmegaT0MNorm{"LowLimitHMTrgOmegaT0MNorm", 70, "normalised T0M selection [2] of multFiler"};
160+
Configurable<int> LowLimitHMTrgT0MNorm{"LowLimitHMTrgT0MNorm", 140, "normalised T0M selection [2] of multFiler"};
161+
Configurable<int> HMTrgSelectionForOmegaTrks{"HMTrgSelectionForOmegaTrks", 1, "0: none, 1: GlobalMult,2: selectTrack"};
162+
Configurable<int> LowLimitHMTrgOmegaTrkGlob{"LowLimitHMTrgOmegaTrkGlob", 45, "Omega HM GlobalMult"};
163+
Configurable<int> LowLimitHMTrgOmegaTrkSel{"LowLimitHMTrgOmegaTrkSel", 50, "Omega HM selectTrackHMO"};
164+
Configurable<int> LowLimitHMTrgTrkGlob{"LowLimitHMTrgTrksGlob", 100, "HM Omega normalisation GlobalMult"};
165+
Configurable<int> LowLimitHMTrgTrkSel{"LowLimitHMTrgTrkSel", 50, "HM Omega normalisation selectTrackHMO"};
166+
Configurable<float> hEtaHM{"hEtaHM", 1.0f, "Eta range for particles defining HM events"};
167+
Configurable<float> hMinPtHM{"hMinPtHM", 0.2f, "Min pt for particles defining HM events"};
168+
} cfgHMOmegaCuts;
164169
Configurable<float> avPyT0C{"avPyT0C", 8.83, "nch from pythia T0C"};
165170
Configurable<float> avPyT0A{"avPyT0A", 8.16, "nch from pythia T0A"};
166171
Configurable<bool> isTimeFrameBorderCut{"isTimeFrameBorderCut", 1, "Apply timeframe border cut"};
@@ -244,7 +249,7 @@ struct strangenessFilter {
244249
}
245250
bool selectTrackOHM(const auto& track)
246251
{
247-
return track.pt() > hMinPtHM && std::abs(track.eta()) < hEtaHM && track.tpcNClsCrossedRows() >= tpcmincrossedrows && track.tpcChi2NCl() <= 4.f && track.itsChi2NCl() <= 36.f && (track.itsClusterMap() & 0x7) != 0;
252+
return track.pt() > cfgHMOmegaCuts.hMinPtHM && std::abs(track.eta()) < cfgHMOmegaCuts.hEtaHM && track.tpcNClsCrossedRows() >= tpcmincrossedrows && track.tpcChi2NCl() <= 4.f && track.itsChi2NCl() <= 36.f && (track.itsClusterMap() & 0x7) != 0;
248253
}
249254
float getV0V0DCA(TVector3 v01pos, TVector3 v01mom, TVector3 v02pos, TVector3 v02mom)
250255
{
@@ -438,7 +443,7 @@ struct strangenessFilter {
438443
std::vector<double> centBinning = {0., 1., 5., 10., 20., 30., 40., 50., 70., 100.};
439444
AxisSpec multAxisNTPV = {100, 0.0f, 100.0f, "N. tracks PV estimator"};
440445
AxisSpec multAxisT0M = {600, 0.0f, 6000.0f, "T0M multiplicity estimator"};
441-
AxisSpec multAxisT0MNorm = {150, 0.0f, 150.0f, "Normalised T0M multiplicity estimator"};
446+
AxisSpec multAxisT0MNorm = {200, 0.0f, 200.0f, "Normalised T0M multiplicity estimator"};
442447
AxisSpec multAxisTrack = {150, 0.0f, 150.0f, "Track multiplicity"};
443448
AxisSpec multAxisV0A = {500, 0.0f, 25000.0f, "V0A multiplicity estimator"};
444449
AxisSpec ximassAxis = {200, 1.28f, 1.36f};
@@ -615,7 +620,7 @@ struct strangenessFilter {
615620
o2::parameters::GRPMagField* grpmag = ccdb->getForRun<o2::parameters::GRPMagField>("GLO/Config/GRPMagField", run);
616621
o2::base::Propagator::initFieldFromGRP(grpmag);
617622
mBz = static_cast<float>(grpmag->getNominalL3Field());
618-
if (HMTrgSelectionForOmegaFT0M == 1) {
623+
if (cfgHMOmegaCuts.HMTrgSelectionForOmegaFT0M == 1) {
619624
mMeanMultT0C = ccdb->getForRun<std::vector<double>>("Users/e/ekryshen/meanT0C", run);
620625
mMeanMultT0A = ccdb->getForRun<std::vector<double>>("Users/e/ekryshen/meanT0A", run);
621626
}
@@ -695,11 +700,14 @@ struct strangenessFilter {
695700
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityZeqNTracksPV"), collision.multZeqNTracksPV());
696701
}
697702

698-
Bool_t isHighMultEvent = 0;
699-
float multFT0MNorm = 0.f;
700-
Bool_t isHighMultEventTrk = 0;
703+
Bool_t isHighMultEvent = 0; // tail
704+
Bool_t isHighMultEventOmegaCut = 0; // Omega HM cut
705+
float multFT0MNorm = 0.f;
706+
Bool_t isHighMultEventTrk = 0; // tail
707+
Bool_t isHighMultEventTrkOmegaCut = 0; // Omega HM cut
708+
701709
float multTrack = 0.f;
702-
if (HMTrgSelectionForOmegaFT0M == 1) {
710+
if (cfgHMOmegaCuts.HMTrgSelectionForOmegaFT0M == 1) {
703711
float meanMultT0C = 0.f;
704712
float fac_FT0C_ebe = 1.;
705713
meanMultT0C = (*mMeanMultT0C)[0];
@@ -740,8 +748,8 @@ struct strangenessFilter {
740748
ampneg++;
741749
}
742750
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityFT0MNorm"), multFT0MNorm);
743-
if (multFT0MNorm > LowLimitHMTrgOmegaT0MNorm) {
744-
isHighMultEvent = 1;
751+
if (multFT0MNorm > cfgHMOmegaCuts.LowLimitHMTrgOmegaT0MNorm) {
752+
isHighMultEventOmegaCut = 1;
745753
LOG(debug) << "Found FT0 using norm mult";
746754
}
747755
} else {
@@ -757,27 +765,36 @@ struct strangenessFilter {
757765
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityFT0MNorm"), 149);
758766
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityFT0MNoFT0"), collision.multFT0M());
759767
}
760-
} else if (HMTrgSelectionForOmegaFT0M == 2) {
768+
} else if (cfgHMOmegaCuts.HMTrgSelectionForOmegaFT0M == 2) {
761769
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityFT0M"), collision.multFT0M());
762-
if (collision.multFT0M() > LowLimitHMTrgOmegaT0M) {
763-
isHighMultEvent = 1;
770+
if (collision.multFT0M() > cfgHMOmegaCuts.LowLimitHMTrgOmegaT0M) {
771+
isHighMultEventOmegaCut = 1;
764772
}
765773
}
766-
if (HMTrgSelectionForOmegaTrks == 1) {
774+
if (cfgHMOmegaCuts.HMTrgSelectionForOmegaTrks == 1) {
767775
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityTracksGlob"), collision.multNTracksGlobal());
768-
if (collision.multNTracksGlobal() > LowLimitHMTrgOmegaTrkGlob) {
776+
if (collision.multNTracksGlobal() > cfgHMOmegaCuts.LowLimitHMTrgOmegaTrkGlob) {
777+
isHighMultEventTrkOmegaCut = 1;
778+
}
779+
if (collision.multNTracksGlobal() > cfgHMOmegaCuts.LowLimitHMTrgTrkGlob) {
769780
isHighMultEventTrk = 1;
770781
}
771-
} else if (HMTrgSelectionForOmegaTrks == 2) {
782+
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityTracks"), collision.multNTracksGlobal());
783+
784+
} else if (cfgHMOmegaCuts.HMTrgSelectionForOmegaTrks == 2) {
772785
for (auto& track : tracks) {
773786
if (selectTrackOHM(track)) {
774787
multTrack++;
775788
}
776789
}
777-
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityTracks"), multTrack);
778-
if (multTrack > LowLimitHMTrgOmegaTrkSel) {
790+
if (multTrack > cfgHMOmegaCuts.LowLimitHMTrgOmegaTrkSel) {
791+
isHighMultEventTrkOmegaCut = 1;
792+
}
793+
if (multTrack > cfgHMOmegaCuts.LowLimitHMTrgTrkSel) {
779794
isHighMultEventTrk = 1;
780795
}
796+
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityTracks"), multTrack);
797+
781798
}
782799
// constants
783800
const float ctauxi = 4.91; // from PDG
@@ -1276,30 +1293,30 @@ struct strangenessFilter {
12761293
}
12771294

12781295
// Omega in high multiplicity events
1279-
if (omegacounter > 0 && isHighMultEvent) {
1296+
if (omegacounter > 0 && isHighMultEventOmegaCut) {
12801297
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityFT0MwOmega"), collision.multFT0M());
12811298
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityFT0MwOmegaNorm"), multFT0MNorm);
12821299
}
1283-
if (omegacounter > 0 && isHighMultEventTrk) {
1300+
if (omegacounter > 0 && isHighMultEventTrkOmegaCut) {
12841301
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityTrackswOmega"), multTrack);
12851302
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityTracksGlobwOmega"), collision.multNTracksGlobal());
12861303
}
1287-
if (omegacounter > 0 && (isHighMultEvent || isHighMultEventTrk)) { // to compute "OR" selectivity
1304+
if (omegacounter > 0 && (isHighMultEventOmegaCut || isHighMultEventTrkOmegaCut)) { // to compute "OR" selectivity
12881305
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityFT0MTrackswOmega"), multTrack);
12891306
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityFT0MTracksGlobwOmega"), collision.multNTracksGlobal());
12901307
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityFT0MTrackswOmega2D"), multTrack, multFT0MNorm);
12911308
EventsvsMultiplicity.fill(HIST("AllEventsvsMultiplicityFT0MTracksGlobwOmega2D"), collision.multNTracksGlobal(), multFT0MNorm);
12921309
}
1293-
if (omegacounter > 0 && isHighMultEvent) {
1310+
if (omegacounter > 0 && isHighMultEventOmegaCut) {
12941311
keepEvent[9] = true;
12951312
}
1296-
if (omegacounter > 0 && isHighMultEventTrk) {
1313+
if (omegacounter > 0 && isHighMultEventTrkOmegaCut) {
12971314
keepEvent[13] = true;
12981315
}
1299-
if (isHighMultEvent) {
1316+
if (isHighMultEvent) { // Normalisation tail
13001317
keepEvent[14] = true;
13011318
}
1302-
if (isHighMultEventTrk) {
1319+
if (isHighMultEventTrk) { // Normalisation tail
13031320
keepEvent[15] = true;
13041321
}
13051322
for (const auto& trackedCascade : trackedCascades) {

0 commit comments

Comments
 (0)