Skip to content

Commit b352413

Browse files
authored
[PWGEM/Dilepton] update treeCreatorElectronMLDDA.cxx (#11301)
1 parent 37f001e commit b352413

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

PWGEM/Dilepton/TableProducer/treeCreatorElectronMLDDA.cxx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include "Common/DataModel/EventSelection.h"
3333
#include "Common/DataModel/Multiplicity.h"
3434
#include "Common/DataModel/PIDResponse.h"
35+
#include "Common/CCDB/RCTSelectionFlags.h"
3536
#include "CommonConstants/PhysicsConstants.h"
3637
#include "DetectorsBase/Propagator.h"
3738
#include "DetectorsBase/GeometryManager.h"
@@ -255,6 +256,12 @@ struct TreeCreatorElectronMLDDA {
255256
Configurable<float> cfg_max_phiv_ee{"cfg_max_phiv_ee", 2.0, "max phiv for ee from pi0 dalitz decay in rad."};
256257
} dalitzcuts;
257258

259+
// for RCT
260+
Configurable<bool> cfgRequireGoodRCT{"cfgRequireGoodRCT", false, "require good detector flag in run condtion table"};
261+
Configurable<std::string> cfgRCTLabel{"cfgRCTLabel", "CBT_hadronPID", "select 1 [CBT, CBT_hadron, CBT_muon_glo] see O2Physics/Common/CCDB/RCTSelectionFlags.h"};
262+
Configurable<bool> cfgCheckZDC{"cfgCheckZDC", false, "set ZDC flag for PbPb"};
263+
Configurable<bool> cfgTreatLimitedAcceptanceAsBad{"cfgTreatLimitedAcceptanceAsBad", false, "reject all events where the detectors relevant for the specified Runlist are flagged as LimitedAcceptance"};
264+
258265
int mRunNumber;
259266
float d_bz;
260267
Service<o2::ccdb::BasicCCDBManager> ccdb;
@@ -263,6 +270,7 @@ struct TreeCreatorElectronMLDDA {
263270
const o2::dataformats::MeanVertexObject* mMeanVtx = nullptr;
264271
o2::base::MatLayerCylSet* lut = nullptr;
265272
o2::dataformats::DCA mDcaInfoCov;
273+
o2::aod::rctsel::RCTFlagsChecker rctChecker;
266274

267275
std::mt19937 engine;
268276
std::uniform_real_distribution<float> dist01;
@@ -277,6 +285,8 @@ struct TreeCreatorElectronMLDDA {
277285
ccdb->setLocalObjectValidityChecking();
278286
ccdb->setFatalWhenNull(false);
279287

288+
rctChecker.init(cfgRCTLabel.value, cfgCheckZDC.value, cfgTreatLimitedAcceptanceAsBad.value);
289+
280290
if (useMatCorrType == 1) {
281291
LOGF(info, "TGeo correction requested, loading geometry");
282292
if (!o2::base::GeometryManager::isGeometryLoaded()) {
@@ -583,6 +593,11 @@ struct TreeCreatorElectronMLDDA {
583593
auto bc = collision.template foundBC_as<aod::BCsWithTimestamps>();
584594
initCCDB(bc);
585595

596+
if (cfgRequireGoodRCT && !rctChecker.checkTable(collision)) {
597+
continue;
598+
}
599+
registry.fill(HIST("hEventCounter"), 2.0); // selected
600+
586601
auto v0s_coll = v0s.sliceBy(perCollision_v0, collision.globalIndex());
587602
for (const auto& v0 : v0s_coll) {
588603
auto pos = v0.template posTrack_as<MyTracks>();

0 commit comments

Comments
 (0)