Skip to content

Commit 07b1872

Browse files
authored
added new collision cuts (#5628)
1 parent f3da3b4 commit 07b1872

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

PWGLF/TableProducer/Resonances/LFResonanceInitializer.cxx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,9 @@ struct reso2initializer {
104104
Configurable<int> ConfEvtTriggerSel{"ConfEvtTriggerSel", 8, "Evt sel: trigger"};
105105
Configurable<bool> ConfEvtOfflineCheck{"ConfEvtOfflineCheck", true, "Evt sel: check for offline selection"};
106106
Configurable<bool> ConfEvtTFBorderCut{"ConfEvtTFBorderCut", false, "Evt sel: apply TF border cut"};
107+
Configurable<bool> ConfEvtITSTPCmatching{"ConfEvtITSTPCmatching", false, "Evt sel: apply ITS-TPC matching"};
108+
Configurable<bool> ConfEvtZvertexTimedifference{"ConfEvtZvertexTimedifference", false, "Evt sel: apply Z-vertex time difference"};
109+
Configurable<bool> ConfEvtPileupRejection{"ConfEvtPileupRejection", false, "Evt sel: apply pileup rejection"};
107110
Configurable<bool> ConfEvtNoITSROBorderCut{"ConfEvtNoITSROBorderCut", false, "Evt sel: apply NoITSRO border cut"};
108111

109112
Configurable<std::string> cfgMultName{"cfgMultName", "FT0M", "The name of multiplicity estimator"};
@@ -857,6 +860,9 @@ struct reso2initializer {
857860
}
858861
colCuts.init(&qaRegistry);
859862
colCuts.setApplyTFBorderCut(ConfEvtTFBorderCut);
863+
colCuts.setApplyITSTPCmatching(ConfEvtITSTPCmatching);
864+
colCuts.setApplyZvertexTimedifference(ConfEvtZvertexTimedifference);
865+
colCuts.setApplyPileupRejection(ConfEvtPileupRejection);
860866
colCuts.setApplyNoITSROBorderCut(ConfEvtNoITSROBorderCut);
861867
if (!ConfBypassCCDB) {
862868
ccdb->setURL(ccdburl.value);

PWGLF/Utils/collisionCuts.h

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ class CollisonCuts
4848
mCheckOffline = checkOffline;
4949
mCheckIsRun3 = checkRun3;
5050
mApplyTFBorderCut = false;
51+
mApplyITSTPCmatching = false;
52+
mApplyZvertexTimedifference = false;
53+
mApplyPileupRejection = false;
5154
mApplyNoITSROBorderCut = false;
5255
}
5356

@@ -82,6 +85,15 @@ class CollisonCuts
8285
/// Set the time frame border cut
8386
void setApplyTFBorderCut(bool applyTFBorderCut) { mApplyTFBorderCut = applyTFBorderCut; }
8487

88+
/// Set the ITS-TPC matching cut
89+
void setApplyITSTPCmatching(bool applyITSTPCmatching) { mApplyITSTPCmatching = applyITSTPCmatching; }
90+
91+
/// Set the Z-vertex time difference cut
92+
void setApplyZvertexTimedifference(bool applyZvertexTimedifference) { mApplyZvertexTimedifference = applyZvertexTimedifference; }
93+
94+
/// Set the Pileup rejection
95+
void setApplyPileupRejection(bool applyPileupRejection) { mApplyPileupRejection = applyPileupRejection; }
96+
8597
/// Set the NoITSRO frame border cut
8698
void setApplyNoITSROBorderCut(bool applyNoITSROBorderCut) { mApplyNoITSROBorderCut = applyNoITSROBorderCut; }
8799

@@ -105,6 +117,18 @@ class CollisonCuts
105117
LOGF(debug, "Time frame border cut failed");
106118
return false;
107119
}
120+
if (!col.selection_bit(o2::aod::evsel::kIsVertexITSTPC) && mApplyITSTPCmatching) {
121+
LOGF(debug, "ITS-TPC matching cut failed");
122+
return false;
123+
}
124+
if (!col.selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV) && mApplyZvertexTimedifference) {
125+
LOGF(debug, "Z-vertex time difference cut failed");
126+
return false;
127+
}
128+
if (!col.selection_bit(o2::aod::evsel::kNoSameBunchPileup) && mApplyPileupRejection) {
129+
LOGF(debug, "Pileup rejection failed");
130+
return false;
131+
}
108132
if (!col.selection_bit(aod::evsel::kNoITSROFrameBorder) && mApplyNoITSROBorderCut) {
109133
LOGF(debug, "NoITSRO frame border cut failed");
110134
return false;
@@ -166,6 +190,9 @@ class CollisonCuts
166190
bool mCheckIsRun3 = false; ///< Check if running on Pilot Beam
167191
bool mInitialTriggerScan = false; ///< Check trigger when the event is first selected
168192
bool mApplyTFBorderCut = false; ///< Apply time frame border cut
193+
bool mApplyITSTPCmatching = false; ///< selects collisions with at least one ITS-TPC track
194+
bool mApplyZvertexTimedifference = false; ///< removes collisions with large differences between z of PV by tracks and z of PV from FT0 A-C time difference.
195+
bool mApplyPileupRejection = false; ///< Pileup rejection
169196
bool mApplyNoITSROBorderCut = false; ///< Apply NoITSRO frame border cut
170197
int mTrigger = kINT7; ///< Trigger to check for
171198
float mZvtxMax = 999.f; ///< Maximal deviation from nominal z-vertex (cm)

0 commit comments

Comments
 (0)