Skip to content

Commit b63d750

Browse files
authored
[PWGCF] adding RCT evsel flag + ITS param. for PID in MC (#11249)
1 parent 79ead1e commit b63d750

File tree

3 files changed

+24
-7
lines changed

3 files changed

+24
-7
lines changed

PWGCF/Femto3D/TableProducer/singleTrackSelector.cxx

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ struct singleTrackSelector {
5858
Configurable<std::string> grpmagPath{"grpmagPath", "GLO/Config/GRPMagField", "CCDB path of the GRPMagField object"};
5959
Configurable<bool> applySkimming{"applySkimming", false, "Skimmed dataset processing"};
6060
Configurable<std::string> cfgSkimming{"cfgSkimming", "fPD", "Configurable for skimming"};
61+
Configurable<bool> CBThadronPID{"CBThadronPID", false, "Apply ev. sel. based on RCT flag `hadronPID`"}; // more in Common/CCDB/RCTSelectionFlags.h
6162

6263
Configurable<int> applyEvSel{"applyEvSel", 2, "Flag to apply rapidity cut: 0 -> no event selection, 1 -> Run 2 event selection, 2 -> Run 3 event selection"};
6364
// Configurable<int> trackSelection{"trackSelection", 1, "Track selection: 0 -> No Cut, 1 -> kGlobalTrack, 2 -> kGlobalTrackWoPtEta, 3 -> kGlobalTrackWoDCA, 4 -> kQualityTracks, 5 -> kInAcceptanceTracks"};
@@ -134,6 +135,8 @@ struct singleTrackSelector {
134135
HistogramRegistry registry{"registry", {}, OutputObjHandlingPolicy::AnalysisObject};
135136
SliceCache cache;
136137

138+
rctsel::RCTFlagsChecker myChecker{"CBT_hadronPID"};
139+
137140
void init(InitContext&)
138141
{
139142

@@ -148,6 +151,8 @@ struct singleTrackSelector {
148151
ccdb->setLocalObjectValidityChecking();
149152
ccdb->setFatalWhenNull(false);
150153

154+
myChecker.init("CBT_hadronPID", true);
155+
151156
registry.add("hNEvents", "hNEvents", {HistType::kTH1D, {{2, 0.f, 2.f}}});
152157
registry.get<TH1>(HIST("hNEvents"))->GetXaxis()->SetBinLabel(1, "All");
153158
registry.get<TH1>(HIST("hNEvents"))->GetXaxis()->SetBinLabel(2, "Skimmed");
@@ -158,12 +163,12 @@ struct singleTrackSelector {
158163

159164
if (enable_gen_info) {
160165
registry.add("hNEvents_MCGen", "hNEvents_MCGen", {HistType::kTH1F, {{1, 0.f, 1.f}}});
161-
registry.add("hGen_EtaPhiPt_Proton", "Gen (anti)protons in true collisions", {HistType::kTH3F, {{100, -1., 1., "#eta"}, {157, 0., 2 * TMath::Pi(), "#phi"}, {100, -5.f, 5.f, "p_{T} GeV/c"}}});
162-
registry.add("hGen_EtaPhiPt_Deuteron", "Gen (anti)deuteron in true collisions", {HistType::kTH3F, {{100, -1., 1., "#eta"}, {157, 0., 2 * TMath::Pi(), "#phi"}, {100, -5.f, 5.f, "p_{T} GeV/c"}}});
163-
registry.add("hGen_EtaPhiPt_Helium3", "Gen (anti)Helium3 in true collisions", {HistType::kTH3F, {{100, -1., 1., "#eta"}, {157, 0., 2 * TMath::Pi(), "#phi"}, {100, -5.f, 5.f, "p_{T} GeV/c"}}});
164-
registry.add("hReco_EtaPhiPt_Proton", "Gen (anti)protons in reco collisions", {HistType::kTH3F, {{100, -1., 1., "#eta"}, {157, 0., 2 * TMath::Pi(), "#phi"}, {100, -5.f, 5.f, "p_{T} GeV/c"}}});
165-
registry.add("hReco_EtaPhiPt_Deuteron", "Gen (anti)deuteron in reco collisions", {HistType::kTH3F, {{100, -1., 1., "#eta"}, {157, 0., 2 * TMath::Pi(), "#phi"}, {100, -5.f, 5.f, "p_{T} GeV/c"}}});
166-
registry.add("hReco_EtaPhiPt_Helium3", "Gen (anti)Helium3 in reco collisions", {HistType::kTH3F, {{100, -1., 1., "#eta"}, {157, 0., 2 * TMath::Pi(), "#phi"}, {100, -5.f, 5.f, "p_{T} GeV/c"}}});
166+
registry.add("hGen_EtaPhiPt_Proton", "Gen (anti)protons in true collisions", {HistType::kTH3F, {{100, -1., 1., "#eta"}, {157, 0., o2::constants::math::TwoPI, "#phi"}, {100, -5.f, 5.f, "p_{T} GeV/c"}}});
167+
registry.add("hGen_EtaPhiPt_Deuteron", "Gen (anti)deuteron in true collisions", {HistType::kTH3F, {{100, -1., 1., "#eta"}, {157, 0., o2::constants::math::TwoPI, "#phi"}, {100, -5.f, 5.f, "p_{T} GeV/c"}}});
168+
registry.add("hGen_EtaPhiPt_Helium3", "Gen (anti)Helium3 in true collisions", {HistType::kTH3F, {{100, -1., 1., "#eta"}, {157, 0., o2::constants::math::TwoPI, "#phi"}, {100, -5.f, 5.f, "p_{T} GeV/c"}}});
169+
registry.add("hReco_EtaPhiPt_Proton", "Gen (anti)protons in reco collisions", {HistType::kTH3F, {{100, -1., 1., "#eta"}, {157, 0., o2::constants::math::TwoPI, "#phi"}, {100, -5.f, 5.f, "p_{T} GeV/c"}}});
170+
registry.add("hReco_EtaPhiPt_Deuteron", "Gen (anti)deuteron in reco collisions", {HistType::kTH3F, {{100, -1., 1., "#eta"}, {157, 0., o2::constants::math::TwoPI, "#phi"}, {100, -5.f, 5.f, "p_{T} GeV/c"}}});
171+
registry.add("hReco_EtaPhiPt_Helium3", "Gen (anti)Helium3 in reco collisions", {HistType::kTH3F, {{100, -1., 1., "#eta"}, {157, 0., o2::constants::math::TwoPI, "#phi"}, {100, -5.f, 5.f, "p_{T} GeV/c"}}});
167172
}
168173
}
169174

@@ -349,6 +354,9 @@ struct singleTrackSelector {
349354
const auto& bc = collision.bc_as<aod::BCsWithTimestamps>();
350355
initCCDB(bc);
351356

357+
if (!myChecker(*collision) && CBThadronPID)
358+
return;
359+
352360
registry.fill(HIST("hNEvents"), 0.5);
353361
if (applySkimming) {
354362
if (!zorro.isSelected(bc.globalBC())) {

PWGCF/Femto3D/Tasks/femto3dPairTaskMC.cxx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,8 @@ struct FemtoCorrelationsMC {
105105
std::pair<int, std::vector<float>> TOFcuts_2;
106106

107107
using FilteredCollisions = soa::Join<aod::SingleCollSels, aod::SingleCollExtras>;
108-
using FilteredTracks = soa::Join<aod::SingleTrackSels, aod::SingleTrkMCs, aod::SinglePIDPis, aod::SinglePIDKas, aod::SinglePIDPrs, aod::SinglePIDDes, aod::SinglePIDTrs, aod::SinglePIDHes>;
108+
using FilteredTracks = soa::Join<aod::SingleTrackSels, aod::SingleTrkMCs, aod::SinglePIDPrs, aod::SinglePIDDes>;
109+
// using FilteredTracks = soa::Join<aod::SingleTrackSels, aod::SingleTrkMCs, aod::SinglePIDPis, aod::SinglePIDKas, aod::SinglePIDPrs, aod::SinglePIDDes, aod::SinglePIDTrs, aod::SinglePIDHes>;
109110

110111
typedef std::shared_ptr<soa::Filtered<FilteredTracks>::iterator> trkType;
111112
typedef std::shared_ptr<soa::Filtered<FilteredCollisions>::iterator> colType;
@@ -143,6 +144,8 @@ struct FemtoCorrelationsMC {
143144
void init(o2::framework::InitContext&)
144145
{
145146

147+
o2::aod::ITSResponse::setMCDefaultParameters(); // set MC parametrisation for the ITS PID
148+
146149
IsIdentical = (_sign_1 * _particlePDG_1 == _sign_2 * _particlePDG_2);
147150

148151
Pair->SetIdentical(IsIdentical);

PWGCF/Femto3D/Tasks/femto3dQA.cxx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ struct QAHistograms {
4545
/// Construct a registry object with direct declaration
4646
HistogramRegistry registry{"registry", {}, OutputObjHandlingPolicy::AnalysisObject};
4747

48+
Configurable<bool> _isMC{"isMC", false, ""};
49+
4850
Configurable<bool> _removeSameBunchPileup{"removeSameBunchPileup", false, ""};
4951
Configurable<bool> _requestGoodZvtxFT0vsPV{"requestGoodZvtxFT0vsPV", false, ""};
5052
Configurable<bool> _requestVertexITSTPC{"requestVertexITSTPC", false, ""};
@@ -101,6 +103,10 @@ struct QAHistograms {
101103

102104
void init(o2::framework::InitContext&)
103105
{
106+
107+
if (_isMC.value)
108+
o2::aod::ITSResponse::setMCDefaultParameters(); // set MC parametrisation for the ITS PID
109+
104110
TPCcuts = std::make_pair(_particlePDG, _tpcNSigma);
105111
TOFcuts = std::make_pair(_particlePDG, _tofNSigma);
106112

0 commit comments

Comments
 (0)