Skip to content

Commit 1ca5b7e

Browse files
committed
Add RCT flag chcker
1 parent 1b283a3 commit 1ca5b7e

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

PWGLF/TableProducer/Resonances/resonanceInitializer.cxx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ struct ResonanceInitializer {
103103

104104
/// Event cuts
105105
o2::analysis::CollisonCuts colCuts;
106+
106107
struct : ConfigurableGroup {
107108
Configurable<float> cfgEvtZvtx{"cfgEvtZvtx", 10.f, "Evt sel: Max. z-Vertex (cm)"};
108109
Configurable<int> cfgEvtOccupancyInTimeRangeMax{"cfgEvtOccupancyInTimeRangeMax", -1, "Evt sel: maximum track occupancy"};
@@ -118,7 +119,12 @@ struct ResonanceInitializer {
118119
Configurable<bool> cfgEvtCollInTimeRangeStandard{"cfgEvtCollInTimeRangeStandard", false, "Evt sel: apply NoCollInTimeRangeStandard"};
119120
Configurable<bool> cfgEvtRun2AliEventCuts{"cfgEvtRun2AliEventCuts", true, "Evt sel: apply Run2 AliEventCuts"};
120121
Configurable<bool> cfgEvtRun2INELgtZERO{"cfgEvtRun2INELgtZERO", false, "Evt sel: apply Run2 INELgtZERO"};
122+
Configurable<bool> cfgEvtUseRCTFlagChecker{"cfgEvtUseRCTFlagChecker", false, "Evt sel: use RCT flag checker"};
123+
Configurable<std::string> cfgEvtRCTFlagCheckerLabel{"cfgEvtRCTFlagCheckerLabel", "CBT_hadronPID", "Evt sel: RCT flag checker label"};
124+
Configurable<bool> cfgEvtRCTFlagCheckerZDCCheck{"cfgEvtRCTFlagCheckerZDCCheck", false, "Evt sel: RCT flag checker ZDC check"};
125+
Configurable<bool> cfgEvtRCTFlagCheckerLimitAcceptAsBad{"cfgEvtRCTFlagCheckerLimitAcceptAsBad", false, "Evt sel: RCT flag checker treat Limited Acceptance As Bad"};
121126
} EventCuts;
127+
RCTFlagsChecker myChecker(EventCuts.cfgEvtRCTFlagCheckerLabel, EventCuts.cfgEvtRCTFlagCheckerZDCCheck, EventCuts.cfgEvtRCTFlagCheckerLimitAcceptAsBad);
122128

123129
Configurable<std::string> cfgMultName{"cfgMultName", "FT0M", "The name of multiplicity estimator"};
124130

@@ -1287,6 +1293,8 @@ struct ResonanceInitializer {
12871293
// Default event selection
12881294
if (!colCuts.isSelected(collision))
12891295
return;
1296+
if (EventCuts.cfgEvtUseRCTFlagChecker && !myChecker(*collision))
1297+
return;
12901298
colCuts.fillQA(collision);
12911299

12921300
resoCollisions(0, collision.posX(), collision.posY(), collision.posZ(), centEst(collision), dBz);
@@ -1311,6 +1319,8 @@ struct ResonanceInitializer {
13111319
// Default event selection
13121320
if (!colCuts.isSelected(collision))
13131321
return;
1322+
if (EventCuts.cfgEvtUseRCTFlagChecker && !myChecker(*collision))
1323+
return;
13141324
colCuts.fillQARun2(collision);
13151325

13161326
resoCollisions(0, collision.posX(), collision.posY(), collision.posZ(), collision.centRun2V0M(), dBz);
@@ -1336,6 +1346,8 @@ struct ResonanceInitializer {
13361346
// Default event selection
13371347
if (!colCuts.isSelected(collision))
13381348
return;
1349+
if (EventCuts.cfgEvtUseRCTFlagChecker && !myChecker(*collision))
1350+
return;
13391351
colCuts.fillQA(collision);
13401352

13411353
resoCollisions(0, collision.posX(), collision.posY(), collision.posZ(), centEst(collision), dBz);
@@ -1361,6 +1373,8 @@ struct ResonanceInitializer {
13611373
// Default event selection
13621374
if (!colCuts.isSelected(collision))
13631375
return;
1376+
if (EventCuts.cfgEvtUseRCTFlagChecker && !myChecker(*collision))
1377+
return;
13641378
colCuts.fillQA(collision);
13651379

13661380
resoCollisions(0, collision.posX(), collision.posY(), collision.posZ(), centEst(collision), dBz);
@@ -1415,6 +1429,8 @@ struct ResonanceInitializer {
14151429
// Default event selection
14161430
if (!colCuts.isSelected(collision))
14171431
return;
1432+
if (EventCuts.cfgEvtUseRCTFlagChecker && !myChecker(*collision))
1433+
return;
14181434
colCuts.fillQA(collision);
14191435

14201436
resoCollisions(0, collision.posX(), collision.posY(), collision.posZ(), centEst(collision), dBz);
@@ -1467,6 +1483,8 @@ struct ResonanceInitializer {
14671483
{
14681484
auto bc = collision.bc_as<aod::BCsWithTimestamps>(); /// adding timestamp to access magnetic field later
14691485
initCCDB(bc);
1486+
if (EventCuts.cfgEvtUseRCTFlagChecker && !myChecker(*collision))
1487+
return;
14701488
colCuts.fillQA(collision);
14711489

14721490
resoCollisions(0, collision.posX(), collision.posY(), collision.posZ(), centEst(collision), dBz);
@@ -1497,6 +1515,8 @@ struct ResonanceInitializer {
14971515
{
14981516
auto bc = collision.bc_as<aod::BCsWithTimestamps>(); /// adding timestamp to access magnetic field later
14991517
initCCDB(bc);
1518+
if (EventCuts.cfgEvtUseRCTFlagChecker && !myChecker(*collision))
1519+
return;
15001520
colCuts.fillQA(collision);
15011521

15021522
resoCollisions(0, collision.posX(), collision.posY(), collision.posZ(), centEst(collision), dBz);
@@ -1552,6 +1572,8 @@ struct ResonanceInitializer {
15521572
{
15531573
auto bc = collision.bc_as<aod::BCsWithTimestamps>(); /// adding timestamp to access magnetic field later
15541574
initCCDB(bc);
1575+
if (EventCuts.cfgEvtUseRCTFlagChecker && !myChecker(*collision))
1576+
return;
15551577
colCuts.fillQA(collision);
15561578

15571579
resoCollisions(0, collision.posX(), collision.posY(), collision.posZ(), centEst(collision), dBz);
@@ -1612,6 +1634,8 @@ struct ResonanceInitializer {
16121634
{
16131635
auto bc = collision.bc_as<aod::BCsWithTimestamps>(); /// adding timestamp to access magnetic field later
16141636
initCCDB(bc);
1637+
if (EventCuts.cfgEvtUseRCTFlagChecker && !myChecker(*collision))
1638+
return;
16151639
colCuts.fillQA(collision);
16161640

16171641
resoCollisions(0, collision.posX(), collision.posY(), collision.posZ(), centEst(collision), dBz);

PWGLF/TableProducer/Resonances/resonanceModuleInitializer.cxx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,11 @@ struct ResonanceModuleInitializer {
107107
Configurable<bool> cfgEvtNoITSROBorderCut{"cfgEvtNoITSROBorderCut", false, "Evt sel: apply NoITSRO border cut"};
108108
Configurable<bool> cfgEvtRun2AliEventCuts{"cfgEvtRun2AliEventCuts", true, "Evt sel: apply Run2 AliEventCuts"};
109109
Configurable<bool> cfgEvtRun2INELgtZERO{"cfgEvtRun2INELgtZERO", false, "Evt sel: apply Run2 INELgtZERO"};
110+
Configurable<bool> cfgEvtUseRCTFlagChecker{"cfgEvtUseRCTFlagChecker", false, "Evt sel: use RCT flag checker"};
111+
Configurable<std::string> cfgEvtRCTFlagCheckerLabel{"cfgEvtRCTFlagCheckerLabel", "CBT_hadronPID", "Evt sel: RCT flag checker label"};
112+
Configurable<bool> cfgEvtRCTFlagCheckerZDCCheck{"cfgEvtRCTFlagCheckerZDCCheck", false, "Evt sel: RCT flag checker ZDC check"};
113+
Configurable<bool> cfgEvtRCTFlagCheckerLimitAcceptAsBad{"cfgEvtRCTFlagCheckerLimitAcceptAsBad", false, "Evt sel: RCT flag checker treat Limited Acceptance As Bad"};
114+
RCTFlagsChecker myChecker(cfgEvtRCTFlagCheckerLabel, cfgEvtRCTFlagCheckerZDCCheck, cfgEvtRCTFlagCheckerLimitAcceptAsBad);
110115

111116
// Spherocity configuration
112117
Configurable<int> cfgTrackSphMin{"cfgTrackSphMin", 10, "Number of tracks for Spherocity Calculation"};
@@ -531,6 +536,8 @@ struct ResonanceModuleInitializer {
531536
// Default event selection
532537
if (!colCuts.isSelected(collision))
533538
return;
539+
if (cfgEvtUseRCTFlagChecker && !myChecker(*collision))
540+
return;
534541
colCuts.fillQA(collision);
535542
centrality = centEst(collision);
536543

@@ -574,6 +581,8 @@ struct ResonanceModuleInitializer {
574581
void processRun3MC(soa::Filtered<aod::ResoCollisionCandidatesMC>::iterator const& collision,
575582
aod::McParticles const& mcParticles, GenMCCollisions const&)
576583
{
584+
if (cfgEvtUseRCTFlagChecker && !myChecker(*collision))
585+
return;
577586
fillMCCollision<false>(collision, mcParticles);
578587
}
579588
PROCESS_SWITCH(ResonanceModuleInitializer, processRun3MC, "process MC for RUN3", false);

0 commit comments

Comments
 (0)