5252#include " PWGJE/DataModel/JetReducedData.h"
5353#include " PWGJE/DataModel/Jet.h"
5454
55+ #include " EventFiltering/Zorro.h"
56+ #include " EventFiltering/ZorroSummary.h"
57+
5558using namespace std ;
5659using namespace o2 ;
5760using namespace o2 ::soa;
@@ -71,6 +74,12 @@ using MCTracks = soa::Join<StrHadronDaughterTracks, aod::McTrackLabels>;
7174
7275struct 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