Skip to content

Commit 28e9474

Browse files
[PWGLF] Replaced Flattenicity from MCGen to MCRec for event and signal loss calculations (AliceO2Group#9526)
1 parent 7c52c19 commit 28e9474

File tree

1 file changed

+30
-19
lines changed

1 file changed

+30
-19
lines changed

PWGLF/Tasks/Strangeness/lambdak0sflattenicity.cxx

+30-19
Original file line numberDiff line numberDiff line change
@@ -18,28 +18,22 @@
1818
/// \author Suraj Prasad ([email protected])
1919

2020
#include <cmath>
21-
// #include <tuple>
2221
#include <vector>
22+
#include <TGraph.h>
23+
#include <Framework/Configurable.h>
24+
#include <CommonConstants/MathConstants.h>
2325

24-
// #include "Framework/ASoAHelpers.h"
2526
#include "Framework/AnalysisDataModel.h"
2627
#include "Framework/AnalysisTask.h"
2728
#include "Framework/HistogramRegistry.h"
28-
// #include "Framework/StaticFor.h"
2929
#include "Framework/runDataProcessing.h"
30+
#include "Framework/O2DatabasePDGPlugin.h"
3031

31-
// #include "Common/Core/TrackSelection.h"
32-
// #include "Common/Core/TrackSelectionDefaults.h"
3332
#include "Common/DataModel/EventSelection.h"
3433
#include "Common/DataModel/Multiplicity.h"
3534
#include "Common/DataModel/TrackSelectionTables.h"
36-
// #include "ReconstructionDataFormats/Track.h"
37-
#include "Framework/O2DatabasePDGPlugin.h"
38-
39-
#include <CommonConstants/MathConstants.h>
40-
#include <TGraph.h>
41-
4235
#include "Common/DataModel/PIDResponse.h"
36+
4337
#include "PWGLF/DataModel/LFStrangenessTables.h"
4438
#include "PWGLF/Utils/inelGt.h"
4539

@@ -137,7 +131,8 @@ struct Lambdak0sflattenicity {
137131

138132
Configurable<int> flattenicityforanalysis{"flattenicityforanalysis", 0,
139133
"Which Flattenicity to be used for analysis, 0 for FV0, 1 for FT0, 2 for FV0+FT0C"};
140-
134+
Configurable<bool> flattenicityforLossCorrRec{"flattenicityforLossCorrRec", true,
135+
"Flattenicity from Rec Tracks are used for Signal and Event loss calculations"};
141136
// Common Configurable parameters for V0 selection
142137
Configurable<float> v0settingDcav0dau{"v0settingDcav0dau", 1,
143138
"DCA V0 Daughters"};
@@ -254,6 +249,9 @@ struct Lambdak0sflattenicity {
254249
rEventSelection.add("hFlattenicityDistributionMCGen", "hFlattenicityDistributionMCGen",
255250
{HistType::kTH1D, {flatAxis}});
256251

252+
rEventSelection.add("hFlattenicityDistributionRecMCGen", "hFlattenicityDistributionRecMCGen",
253+
{HistType::kTH1D, {flatAxis}});
254+
257255
rEventSelection.add("hFlat_RecoColl_MC", "hFlat_RecoColl_MC", {HistType::kTH1D, {flatAxis}});
258256
rEventSelection.add("hFlat_RecoColl_MC_INELgt0", "hFlat_RecoColl_MC_INELgt0", {HistType::kTH1D, {flatAxis}});
259257
rEventSelection.add("hFlat_GenRecoColl_MC", "hFlat_GenRecoColl_MC", {HistType::kTH1D, {flatAxis}});
@@ -1206,8 +1204,7 @@ struct Lambdak0sflattenicity {
12061204
soa::Join<aod::Collisions, aod::EvSels,
12071205
aod::PVMults>::iterator const& collision,
12081206
soa::Filtered<aod::V0Datas> const& V0s, TrackCandidates const& tracks,
1209-
soa::Join<aod::BCs, aod::Timestamps> const& /*bcs*/,
1210-
aod::MFTTracks const& /*mfttracks*/, aod::FT0s const& /*ft0s*/,
1207+
soa::Join<aod::BCs, aod::Timestamps> const& /*bcs*/, aod::FT0s const& /*ft0s*/,
12111208
aod::FV0As const& /*fv0s*/)
12121209
{
12131210
if (applyEvSel &&
@@ -1363,8 +1360,7 @@ struct Lambdak0sflattenicity {
13631360
soa::Join<aod::Collisions, aod::EvSels,
13641361
aod::PVMults, aod::McCollisionLabels> const& collisions,
13651362
soa::Filtered<soa::Join<aod::V0Datas, aod::McV0Labels>> const& V0s, aod::McCollisions const&, TrackCandidatesMC const& tracks,
1366-
soa::Join<aod::BCs, aod::Timestamps> const& /*bcs*/,
1367-
aod::MFTTracks const& /*mfttracks*/, aod::FT0s const& /*ft0s*/,
1363+
soa::Join<aod::BCs, aod::Timestamps> const& /*bcs*/, aod::FT0s const& /*ft0s*/,
13681364
aod::FV0As const& /*fv0s*/, aod::McParticles const& mcParticles)
13691365
{
13701366
for (const auto& collision : collisions) {
@@ -1547,10 +1543,25 @@ struct Lambdak0sflattenicity {
15471543

15481544
// Filter posZFilterMC = (nabs(o2::aod::mccollision::posZ) < cutzvertex);
15491545
void processGenMC(
1550-
o2::aod::McCollision const& mcCollision, const soa::SmallGroups<soa::Join<o2::aod::Collisions, o2::aod::McCollisionLabels, o2::aod::EvSels, aod::PVMults>>& collisions, o2::aod::McParticles const& mcParticles)
1546+
o2::aod::McCollision const& mcCollision, const soa::SmallGroups<soa::Join<o2::aod::Collisions, o2::aod::McCollisionLabels, o2::aod::EvSels, aod::PVMults>>& collisions, TrackCandidatesMC const& tracks, aod::FT0s const& /*ft0s*/,
1547+
aod::FV0As const& /*fv0s*/, o2::aod::McParticles const& mcParticles)
15511548
{
1552-
float flattenicity = estimateFlattenicityFV0MC(mcParticles);
1553-
rEventSelection.fill(HIST("hFlattenicityDistributionMCGen"), flattenicity);
1549+
1550+
float flattenicity;
1551+
if (flattenicityforLossCorrRec) {
1552+
float flattenicityRec = 999.0;
1553+
for (const auto& collision : collisions) {
1554+
flattenicityRec = estimateFlattenicity(collision, tracks);
1555+
// printf("FoundFlattenicity, Gen=%f, Rec=%f \n", flattenicity, flattenicityRec);
1556+
}
1557+
rEventSelection.fill(HIST("hFlattenicityDistributionRecMCGen"), flattenicityRec);
1558+
flattenicity = flattenicityRec;
1559+
} else {
1560+
float flattenicityGen = estimateFlattenicityFV0MC(mcParticles);
1561+
rEventSelection.fill(HIST("hFlattenicityDistributionMCGen"), flattenicityGen);
1562+
flattenicity = flattenicityGen;
1563+
}
1564+
15541565
//====================================
15551566
//===== Event Loss Denominator =======
15561567
//====================================

0 commit comments

Comments
 (0)