Skip to content

Commit 504da03

Browse files
authored
[PWGLF] Added zorro for processing of skimmed data and removed magic numbers (#10735)
1 parent 7f743ba commit 504da03

File tree

2 files changed

+60
-20
lines changed

2 files changed

+60
-20
lines changed

PWGLF/Tasks/Strangeness/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ o2physics_add_dpl_workflow(cascpolsp
107107
if(FastJet_FOUND)
108108
o2physics_add_dpl_workflow(strangeness-in-jets
109109
SOURCES strangenessInJets.cxx
110-
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::PWGJECore FastJet::FastJet FastJet::Contrib
110+
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::PWGJECore FastJet::FastJet FastJet::Contrib O2Physics::EventFilteringUtils
111111
COMPONENT_NAME Analysis)
112112
endif()
113113

PWGLF/Tasks/Strangeness/strangenessInJets.cxx

Lines changed: 59 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@
5252
#include "PWGJE/DataModel/JetReducedData.h"
5353
#include "PWGJE/DataModel/Jet.h"
5454

55+
#include "EventFiltering/Zorro.h"
56+
#include "EventFiltering/ZorroSummary.h"
57+
5558
using namespace std;
5659
using namespace o2;
5760
using namespace o2::soa;
@@ -71,6 +74,12 @@ using MCTracks = soa::Join<StrHadronDaughterTracks, aod::McTrackLabels>;
7174

7275
struct StrangenessInJets {
7376

77+
Service<o2::ccdb::BasicCCDBManager> ccdb;
78+
o2::ccdb::CcdbApi ccdbApi;
79+
80+
Zorro zorro;
81+
OutputObj<ZorroSummary> zorroSummary{"zorroSummary"};
82+
7483
HistogramRegistry registryData{"registryData", {}, OutputObjHandlingPolicy::AnalysisObject, true, true};
7584
HistogramRegistry registryMC{"registryMC", {}, OutputObjHandlingPolicy::AnalysisObject, true, true};
7685
HistogramRegistry registryQC{"registryQC", {}, OutputObjHandlingPolicy::AnalysisObject, true, true};
@@ -81,6 +90,7 @@ struct StrangenessInJets {
8190
Configurable<double> rJet{"rJet", 0.3, "Jet resolution parameter R"};
8291
Configurable<double> zVtx{"zVtx", 10.0, "Maximum zVertex"};
8392
Configurable<double> deltaEtaEdge{"deltaEtaEdge", 0.05, "eta gap from the edge"};
93+
Configurable<bool> cfgSkimmedProcessing{"cfgSkimmedProcessing", false, "Skimmed dataset processing"};
8494

8595
// Axis parameters
8696
struct : ConfigurableGroup {
@@ -167,9 +177,6 @@ struct StrangenessInJets {
167177
TH1F* weightsAntiXiInJet;
168178
TH1F* weightsAntiXiInUe;
169179

170-
Service<o2::ccdb::BasicCCDBManager> ccdb;
171-
o2::ccdb::CcdbApi ccdbApi;
172-
173180
// List of Particles
174181
enum Option { KZeroLambda,
175182
CascadePart,
@@ -180,8 +187,19 @@ struct StrangenessInJets {
180187
// Jet background subtraction
181188
JetBkgSubUtils backgroundSub;
182189

190+
void initCCDB(aod::BCsWithTimestamps::iterator const& bc)
191+
{
192+
if (cfgSkimmedProcessing) {
193+
zorro.initCCDB(ccdb.service, bc.runNumber(), bc.timestamp(), "fOmega");
194+
}
195+
}
196+
183197
void init(InitContext const&)
184198
{
199+
if (cfgSkimmedProcessing) {
200+
zorroSummary.setObject(zorro.getZorroSummary());
201+
}
202+
185203
ccdb->setURL(urlToCcdb.value);
186204
ccdb->setCaching(true);
187205
ccdb->setLocalObjectValidityChecking();
@@ -501,27 +519,38 @@ struct StrangenessInJets {
501519
template <typename JetTrack>
502520
bool passedTrackSelectionForJetReconstruction(const JetTrack& track)
503521
{
522+
const int minTpcCr = 70;
523+
const double minCrFindable = 0.8;
524+
const double maxChi2Tpc = 4.0;
525+
const double maxChi2Its = 36.0;
526+
const double maxPseudorapidity = 0.8;
527+
const double minPtTrack = 0.1;
528+
const double dcaxyMaxTrackPar0 = 0.0105;
529+
const double dcaxyMaxTrackPar1 = 0.035;
530+
const double dcaxyMaxTrackPar2 = 1.1;
531+
const double dcazMaxTrack = 2.0;
532+
504533
if (!track.hasITS())
505534
return false;
506535
if ((!hasITSHit(track, 1)) && (!hasITSHit(track, 2)) && (!hasITSHit(track, 3)))
507536
return false;
508537
if (!track.hasTPC())
509538
return false;
510-
if (track.tpcNClsCrossedRows() < 70)
539+
if (track.tpcNClsCrossedRows() < minTpcCr)
511540
return false;
512-
if ((static_cast<double>(track.tpcNClsCrossedRows()) / static_cast<double>(track.tpcNClsFindable())) < 0.8)
541+
if ((static_cast<double>(track.tpcNClsCrossedRows()) / static_cast<double>(track.tpcNClsFindable())) < minCrFindable)
513542
return false;
514-
if (track.tpcChi2NCl() > 4)
543+
if (track.tpcChi2NCl() > maxChi2Tpc)
515544
return false;
516-
if (track.itsChi2NCl() > 36)
545+
if (track.itsChi2NCl() > maxChi2Its)
517546
return false;
518-
if (track.eta() < -0.8 || track.eta() > 0.8)
547+
if (track.eta() < -maxPseudorapidity || track.eta() > maxPseudorapidity)
519548
return false;
520-
if (track.pt() < 0.1)
549+
if (track.pt() < minPtTrack)
521550
return false;
522-
if (std::fabs(track.dcaXY()) > (0.0105 + 0.035 / std::pow(track.pt(), 1.1)))
551+
if (std::fabs(track.dcaXY()) > (dcaxyMaxTrackPar0 + dcaxyMaxTrackPar1 / std::pow(track.pt(), dcaxyMaxTrackPar2)))
523552
return false;
524-
if (std::fabs(track.dcaZ()) > 2.0)
553+
if (std::fabs(track.dcaZ()) > dcazMaxTrack)
525554
return false;
526555
return true;
527556
}
@@ -932,9 +961,11 @@ struct StrangenessInJets {
932961
template <typename pionTrack>
933962
bool isHighPurityPion(const pionTrack& track, const float nsigmaTPC, const float nsigmaTOF)
934963
{
935-
if (track.p() < 0.6 && std::fabs(nsigmaTPC) < 2.0)
964+
double nsigmaPi = 2.0;
965+
double pThreshold = 0.6;
966+
if (track.p() < pThreshold && std::fabs(nsigmaTPC) < nsigmaPi)
936967
return true;
937-
if (track.p() > 0.6 && std::fabs(nsigmaTPC) < 2.0 && std::fabs(nsigmaTOF) < 2.0)
968+
if (track.p() > pThreshold && std::fabs(nsigmaTPC) < nsigmaPi && std::fabs(nsigmaTOF) < nsigmaPi)
938969
return true;
939970
return false;
940971
}
@@ -1016,6 +1047,13 @@ struct StrangenessInJets {
10161047
// event counter: before event selection
10171048
registryData.fill(HIST("number_of_events_data"), 0.5);
10181049

1050+
auto bc = collision.template bc_as<aod::BCsWithTimestamps>();
1051+
initCCDB(bc);
1052+
1053+
if (cfgSkimmedProcessing && !zorro.isSelected(collision.template bc_as<aod::BCsWithTimestamps>().globalBC())) {
1054+
return;
1055+
}
1056+
10191057
// event selection
10201058
if (!collision.sel8() || std::fabs(collision.posZ()) > zVtx)
10211059
return;
@@ -1421,7 +1459,7 @@ struct StrangenessInJets {
14211459
continue;
14221460

14231461
registryMC.fill(HIST("number_of_events_mc"), 1.5);
1424-
if (std::fabs(collision.posZ()) > 10.0)
1462+
if (std::fabs(collision.posZ()) > zVtx)
14251463
continue;
14261464

14271465
registryMC.fill(HIST("number_of_events_mc"), 2.5);
@@ -1886,7 +1924,7 @@ struct StrangenessInJets {
18861924
for (const auto& mccollision : mcCollisions) {
18871925

18881926
// Selection on z_{vertex}
1889-
if (std::fabs(mccollision.posZ()) > 10.0)
1927+
if (std::fabs(mccollision.posZ()) > zVtx)
18901928
continue;
18911929

18921930
// MC Particles per Collision
@@ -1898,9 +1936,10 @@ struct StrangenessInJets {
18981936

18991937
if (!particle.isPhysicalPrimary())
19001938
continue;
1901-
if (std::fabs(particle.eta()) > 0.8)
1939+
if (std::fabs(particle.eta()) > etaMax)
19021940
continue;
1903-
if (particle.pt() < 0.1)
1941+
double ptMinPart = 0.1;
1942+
if (particle.pt() < ptMinPart)
19041943
continue;
19051944

19061945
// 4-momentum representation of a particle
@@ -1956,9 +1995,10 @@ struct StrangenessInJets {
19561995

19571996
if (!particle.isPhysicalPrimary())
19581997
continue;
1959-
if (std::fabs(particle.eta()) > 0.8)
1998+
if (std::fabs(particle.eta()) > etaMax)
19601999
continue;
1961-
if (particle.pt() < 0.1)
2000+
double ptMinPart = 0.1;
2001+
if (particle.pt() < ptMinPart)
19622002
continue;
19632003

19642004
TVector3 particleDir(particle.px(), particle.py(), particle.pz());

0 commit comments

Comments
 (0)