Skip to content

Commit dcbdb80

Browse files
committed
Add Event loss in phi meson task and add MC process function for spincorrelation task
1 parent edfdf66 commit dcbdb80

File tree

2 files changed

+656
-26
lines changed

2 files changed

+656
-26
lines changed

PWGLF/Tasks/Resonances/phipbpb.cxx

Lines changed: 48 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ struct phipbpb {
9393
Configurable<bool> fillSA{"fillSA", false, "fill spin alignment"};
9494
// events
9595
Configurable<float> cfgCutVertex{"cfgCutVertex", 10.0f, "Accepted z-vertex range"};
96-
Configurable<float> cfgCutCentrality{"cfgCutCentrality", 80.0f, "Accepted maximum Centrality"};
96+
Configurable<float> cfgCutCentrality{"cfgCutCentrality", 100.0f, "Accepted maximum Centrality"};
9797
Configurable<int> cfgCutOccupancy{"cfgCutOccupancy", 3000, "Occupancy cut"};
9898
// track
9999
Configurable<bool> cqvas{"cqvas", false, "change q vectors after shift correction"};
@@ -198,6 +198,9 @@ struct phipbpb {
198198
AxisSpec centAxis = {8, 0, 80, "V0M (%)"};
199199
AxisSpec occupancyAxis = {occupancyBinning, "Occupancy"};
200200
AxisSpec spAxis = {spNbins, lbinsp, hbinsp, "Sp"};
201+
histos.add("hImpactParameterVsEvrStatusGen", "hImpactParameterVsEvrStatusGen", HistType::kTH2F, {{200, 0.0, 20.0}, {5, 0.0, 5.0}}, true);
202+
histos.add("hImpactParameterVsEvrStatusRec", "hImpactParameterVsEvrStatusRec", HistType::kTH3F, {{200, 0.0, 20.0}, {100, 0.0, 100.0}, {10, 0.0, 10.0}}, true);
203+
histos.add("hINumRecCollisionVsEvrStatusRec", "hINumRecCollisionVsEvrStatusRec", HistType::kTH3F, {{21, -0.5, 20.5}, {100, 0.0, 100.0}, {10, 0.0, 10.0}}, true);
201204

202205
if (fillv1) {
203206
histos.add("hpQxtQxpvscent", "hpQxtQxpvscent", HistType::kTHnSparseF, {cnfgaxis.configThnAxisCentrality, spAxis}, true);
@@ -792,7 +795,7 @@ struct phipbpb {
792795
Npostrack = Npostrack + 1;
793796
}
794797
}
795-
PROCESS_SWITCH(phipbpb, processSameEvent, "Process Same event", true);
798+
PROCESS_SWITCH(phipbpb, processSameEvent, "Process Same event", false);
796799

797800
void processSameEventv1(EventCandidatesv1::iterator const& collision, TrackCandidates const& /*tracks, aod::BCs const&*/, aod::BCsWithTimestamps const&)
798801
{
@@ -1045,7 +1048,7 @@ struct phipbpb {
10451048
}
10461049
}
10471050
}
1048-
PROCESS_SWITCH(phipbpb, processMEAcc, "Process ME Acceptance", true);
1051+
PROCESS_SWITCH(phipbpb, processMEAcc, "Process ME Acceptance", false);
10491052

10501053
void processMEAccv1(EventCandidatesv1 const& collisions, TrackCandidates const& tracks)
10511054
{
@@ -1303,7 +1306,7 @@ struct phipbpb {
13031306
}
13041307
}
13051308
}
1306-
PROCESS_SWITCH(phipbpb, processMixedEventOpti, "Process Mixed event new", true);
1309+
PROCESS_SWITCH(phipbpb, processMixedEventOpti, "Process Mixed event new", false);
13071310

13081311
void processMixedEventOptiv1(EventCandidatesv1 const& collisions, TrackCandidates const& tracks)
13091312
{
@@ -1877,6 +1880,47 @@ struct phipbpb {
18771880

18781881
} // process MC
18791882
PROCESS_SWITCH(phipbpb, processMCPhiWeight, "Process MC Phi Weight", false);
1883+
1884+
using McCollisionMults = soa::Join<aod::McCollisions, aod::MultMCExtras>;
1885+
using EventCandidatesMC = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::CentFV0As, aod::Mults, aod::PVMults>;
1886+
void processEvtLossMC(McCollisionMults::iterator const& mcCollision, const soa::SmallGroups<EventCandidatesMC>& recCollisions)
1887+
{
1888+
auto impactPar = mcCollision.impactParameter();
1889+
histos.fill(HIST("hImpactParameterVsEvrStatusGen"), impactPar, 0.5);
1890+
if (mcCollision.isInelGt0()) {
1891+
histos.fill(HIST("hImpactParameterVsEvrStatusGen"), impactPar, 1.5);
1892+
}
1893+
auto numberRecCollision = recCollisions.size();
1894+
for (const auto& RecCollision : recCollisions) {
1895+
auto isTVX = RecCollision.selection_bit(o2::aod::evsel::kIsTriggerTVX);
1896+
auto vz = TMath::Abs(RecCollision.posZ());
1897+
auto issel8 = RecCollision.sel8();
1898+
auto isITSGoodLayer = RecCollision.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll);
1899+
auto isGoodVtxzFT0vsPV = RecCollision.selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV);
1900+
auto isSameBunchPileup = RecCollision.selection_bit(o2::aod::evsel::kNoSameBunchPileup);
1901+
auto centrality = RecCollision.centFT0C();
1902+
histos.fill(HIST("hImpactParameterVsEvrStatusRec"), impactPar, centrality, 0.5);
1903+
histos.fill(HIST("hINumRecCollisionVsEvrStatusRec"), numberRecCollision, centrality, 0.5);
1904+
if (isTVX) {
1905+
histos.fill(HIST("hImpactParameterVsEvrStatusRec"), impactPar, centrality, 1.5);
1906+
histos.fill(HIST("hINumRecCollisionVsEvrStatusRec"), numberRecCollision, centrality, 1.5);
1907+
}
1908+
if (isTVX && vz < 7) {
1909+
histos.fill(HIST("hImpactParameterVsEvrStatusRec"), impactPar, centrality, 2.5);
1910+
histos.fill(HIST("hINumRecCollisionVsEvrStatusRec"), numberRecCollision, centrality, 2.5);
1911+
}
1912+
if (isTVX && vz < 7 && issel8) {
1913+
histos.fill(HIST("hImpactParameterVsEvrStatusRec"), impactPar, centrality, 3.5);
1914+
histos.fill(HIST("hINumRecCollisionVsEvrStatusRec"), numberRecCollision, centrality, 3.5);
1915+
}
1916+
if (isTVX && vz < 7 && issel8 && isITSGoodLayer && isGoodVtxzFT0vsPV && isSameBunchPileup) {
1917+
histos.fill(HIST("hImpactParameterVsEvrStatusRec"), impactPar, centrality, 4.5);
1918+
histos.fill(HIST("hINumRecCollisionVsEvrStatusRec"), numberRecCollision, centrality, 4.5);
1919+
}
1920+
}
1921+
//}
1922+
}
1923+
PROCESS_SWITCH(phipbpb, processEvtLossMC, "Process to calculate Event Loss", true);
18801924
};
18811925
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
18821926
{

0 commit comments

Comments
 (0)