Skip to content

Commit 3189c89

Browse files
[PWGLF] Fix Zorro initialization and extended table (#10137)
Co-authored-by: Carolina Reetz <c.reetz@cern.ch>
1 parent b36c67a commit 3189c89

File tree

2 files changed

+52
-31
lines changed

2 files changed

+52
-31
lines changed

PWGLF/DataModel/Reduced3BodyTables.h

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -226,29 +226,29 @@ DECLARE_SOA_TABLE_FULL(StoredRedIUTracks, "RedIUTracks", "AOD", "REDIUTRACK", //
226226
reducedtracks3body::ITSClsSizeInLayer<reducedtracks3body::ITSClusterSizes>,
227227
reducedtracks3body::TPCCrossedRowsOverFindableCls<reducedtracks3body::TPCNClsFindable, reducedtracks3body::TPCNClsFindableMinusCrossedRows>);
228228

229-
DECLARE_SOA_EXTENDED_TABLE(RedIUTracks, StoredRedIUTracks, "EXREDIUTRACK", 0, //! Track parameters at inner most update (e.g. ITS) as it comes from the tracking
230-
reducedtracks3body::Pt,
231-
reducedtracks3body::P,
232-
reducedtracks3body::Eta,
233-
reducedtracks3body::Phi,
234-
// cov matrix
235-
reducedtracks3body::CYY,
236-
reducedtracks3body::CZY,
237-
reducedtracks3body::CZZ,
238-
reducedtracks3body::CSnpY,
239-
reducedtracks3body::CSnpZ,
240-
reducedtracks3body::CSnpSnp,
241-
reducedtracks3body::CTglY,
242-
reducedtracks3body::CTglZ,
243-
reducedtracks3body::CTglSnp,
244-
reducedtracks3body::CTglTgl,
245-
reducedtracks3body::C1PtY,
246-
reducedtracks3body::C1PtZ,
247-
reducedtracks3body::C1PtSnp,
248-
reducedtracks3body::C1PtTgl,
249-
reducedtracks3body::C1Pt21Pt2,
250-
// tracks extra
251-
reducedtracks3body::DetectorMap);
229+
DECLARE_SOA_EXTENDED_TABLE_USER(RedIUTracks, StoredRedIUTracks, "REDIUTRACKEXT", //! Track parameters at inner most update (e.g. ITS) as it comes from the tracking
230+
reducedtracks3body::Pt,
231+
reducedtracks3body::P,
232+
reducedtracks3body::Eta,
233+
reducedtracks3body::Phi,
234+
// cov matrix
235+
reducedtracks3body::CYY,
236+
reducedtracks3body::CZY,
237+
reducedtracks3body::CZZ,
238+
reducedtracks3body::CSnpY,
239+
reducedtracks3body::CSnpZ,
240+
reducedtracks3body::CSnpSnp,
241+
reducedtracks3body::CTglY,
242+
reducedtracks3body::CTglZ,
243+
reducedtracks3body::CTglSnp,
244+
reducedtracks3body::CTglTgl,
245+
reducedtracks3body::C1PtY,
246+
reducedtracks3body::C1PtZ,
247+
reducedtracks3body::C1PtSnp,
248+
reducedtracks3body::C1PtTgl,
249+
reducedtracks3body::C1Pt21Pt2,
250+
// tracks extra
251+
reducedtracks3body::DetectorMap);
252252

253253
namespace reduceddecay3body
254254
{

PWGLF/TableProducer/Nuspex/reduced3bodyCreator.cxx

Lines changed: 29 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
1111

12+
/// \file reduced3bodyCreator.cxx
1213
/// \brief Task to produce reduced AO2Ds for use in the hypertriton 3body reconstruction with the decay3bodybuilder.cxx
1314
/// \author Yuanzhe Wang <yuanzhe.wang@cern.ch>
1415
/// \author Carolina Reetz <c.reetz@cern.ch>
@@ -86,6 +87,8 @@ struct reduced3bodyCreator {
8687
Configurable<bool> fatalOnPassNotAvailable{"fatalOnPassNotAvailable", true, "Flag to throw a fatal if the pass is not available in the retrieved CCDB object"};
8788
// Zorro counting
8889
Configurable<bool> cfgSkimmedProcessing{"cfgSkimmedProcessing", false, "Skimmed dataset processing"};
90+
// Flag for trigger
91+
Configurable<bool> cfgOnlyKeepH3L3Body{"cfgOnlyKeepH3L3Body", false, "Flag to keep only H3L3Body trigger"};
8992

9093
int mRunNumber;
9194
o2::pid::tof::TOFResoParamsV2 mRespParamsV2;
@@ -117,18 +120,21 @@ struct reduced3bodyCreator {
117120
hEventCounterZorro->GetXaxis()->SetBinLabel(2, "Zorro after evsel");
118121
}
119122

123+
void initZorroBC(aod::BCsWithTimestamps::iterator const& bc)
124+
{
125+
if (cfgSkimmedProcessing) {
126+
zorro.initCCDB(ccdb.service, bc.runNumber(), bc.timestamp(), "fH3L3Body");
127+
zorro.populateHistRegistry(registry, bc.runNumber());
128+
}
129+
}
130+
120131
void initCCDB(aod::BCsWithTimestamps::iterator const& bc)
121132
{
122133
// In case override, don't proceed, please - no CCDB access required
123134
if (mRunNumber == bc.runNumber()) {
124135
return;
125136
}
126-
127137
mRunNumber = bc.runNumber();
128-
if (cfgSkimmedProcessing) {
129-
zorro.initCCDB(ccdb.service, bc.runNumber(), bc.timestamp(), "fH3L3Body");
130-
zorro.populateHistRegistry(registry, bc.runNumber());
131-
}
132138

133139
// Initial TOF PID Paras, copied from PIDTOF.h
134140
timestamp.value = bc.timestamp();
@@ -217,14 +223,20 @@ struct reduced3bodyCreator {
217223
void process(ColwithEvTimesMultsCents const& collisions, TrackExtPIDIUwithEvTimes const&, aod::Decay3Bodys const& decay3bodys, aod::BCsWithTimestamps const&)
218224
{
219225

220-
int lastCollisionID = -1; // collisionId of last analysed decay3body. Table is sorted.
221-
226+
int lastRunNumber = -1; // RunNumber of last collision, used for zorro counting
222227
// Event counting
223228
for (const auto& collision : collisions) {
229+
230+
auto bc = collision.bc_as<aod::BCsWithTimestamps>();
231+
if (bc.runNumber() != lastRunNumber) {
232+
initZorroBC(bc);
233+
lastRunNumber = bc.runNumber(); // Update the last run number
234+
}
235+
224236
// Zorro event counting
225237
bool isZorroSelected = false;
226238
if (cfgSkimmedProcessing) {
227-
isZorroSelected = zorro.isSelected(collision.bc_as<aod::BCsWithTimestamps>().globalBC());
239+
isZorroSelected = zorro.isSelected(bc.globalBC());
228240
if (isZorroSelected) {
229241
registry.fill(HIST("hEventCounterZorro"), 0.5);
230242
}
@@ -247,6 +259,8 @@ struct reduced3bodyCreator {
247259
}
248260
}
249261

262+
int lastCollisionID = -1; // collisionId of last analysed decay3body. Table is sorted.
263+
250264
// Creat reduced table
251265
for (const auto& d3body : decay3bodys) {
252266

@@ -263,6 +277,13 @@ struct reduced3bodyCreator {
263277

264278
auto bc = collision.bc_as<aod::BCsWithTimestamps>();
265279
initCCDB(bc);
280+
bool isZorroSelected = false;
281+
if (cfgSkimmedProcessing && cfgOnlyKeepH3L3Body) {
282+
isZorroSelected = zorro.isSelected(bc.globalBC());
283+
if (!isZorroSelected) {
284+
continue;
285+
}
286+
}
266287

267288
// Save the collision
268289
if (collision.globalIndex() != lastCollisionID) {

0 commit comments

Comments
 (0)