Skip to content

Commit 688c9d2

Browse files
committed
add RCT check
1 parent 6463e91 commit 688c9d2

2 files changed

Lines changed: 17 additions & 1 deletion

File tree

DPG/Tasks/AOTTrack/PID/TPC/treeCreatorPidTpcQa.cxx

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
#include "treeCreatorPidTpcQa.h"
1919

20+
#include "Common/CCDB/RCTSelectionFlags.h"
2021
#include "Common/CCDB/ctpRateFetcher.h"
2122
#include "Common/DataModel/EventSelection.h"
2223
#include "Common/DataModel/Multiplicity.h"
@@ -76,6 +77,11 @@ struct TreeCreatorPidTpcQa {
7677
// Configurables for output tables reservation size
7778
Configurable<float> reserveRatio{"reserveRatio", 1.f, "Ratio of how many rows expected in the output table to the input Tracks table size"};
7879
Configurable<bool> saveReserveQaHisto{"saveReserveQaHisto", true, "Flag to save the DF-wise ratio of output table size to that of input table"};
80+
// Configurables for run condtion table
81+
Configurable<std::string> rctLabel{"rctLabel", "CBT_hadronPID", "select 1 [CBT, CBT_hadronPID, CBT_muon_glo] see O2Physics/Common/CCDB/RCTSelectionFlags.h"};
82+
Configurable<bool> checkZdc{"checkZdc", false, "set ZDC flag for PbPb"};
83+
Configurable<bool> treatLimitedAcceptanceAsBad{"treatLimitedAcceptanceAsBad", false, "reject all events where the detectors relevant for the specified Runlist are flagged as LimitedAcceptance"};
84+
Configurable<bool> requireGoodRct{"requireGoodRct", false, "require good detector flag in run condtion table"};
7985

8086
#define DECLARE_PARTICLE_WISE_CONFIGURABLES(ParticleNameShort, ParticleNameLong) \
8187
Configurable<float> cutTpcInnerParameterMin##ParticleNameLong{"cutTpcInnerParameterMin" #ParticleNameLong, 0.f, "Lower-value cut on tpcInnerParam for " #ParticleNameLong}; /* o2-linter: disable=name/configurable (Configurable defined in macro)*/ \
@@ -106,6 +112,8 @@ struct TreeCreatorPidTpcQa {
106112

107113
ctpRateFetcher mRateFetcher{};
108114

115+
o2::aod::rctsel::RCTFlagsChecker rctChecker{};
116+
109117
using CollisionsExtra = soa::Join<aod::Collisions, aod::Mults, aod::EvSels>;
110118
using TrackCandidates = soa::Join<aod::Tracks, aod::TracksExtra, aod::TrackSelection>;
111119

@@ -157,6 +165,8 @@ struct TreeCreatorPidTpcQa {
157165
ccdb->setCaching(true);
158166
ccdb->setFatalWhenNull(false);
159167

168+
rctChecker.init(rctLabel, checkZdc, treatLimitedAcceptanceAsBad);
169+
160170
if (saveReserveQaHisto) {
161171
registry.add("hOutputRatio", "Table out/in ratio;Table out/in ratio;Entries", {HistType::kTH1F, {{100, 0, reserveRatio}}});
162172
}
@@ -178,6 +188,11 @@ struct TreeCreatorPidTpcQa {
178188
continue;
179189
}
180190

191+
const bool isGoodRctEvent = rctChecker.checkTable(collision);
192+
if (requireGoodRct && !isGoodRctEvent) {
193+
continue;
194+
}
195+
181196
const auto bc = collision.bc_as<aod::BCsWithTimestamps>();
182197
if (isFirstCollision) {
183198
evaluateIrSourceAndSqrtSnn(ccdb, ccdbPathGrpLhcIf, bc.timestamp(), irSource, sqrtSNN);
@@ -231,7 +246,7 @@ struct TreeCreatorPidTpcQa {
231246
nSigmaTof = o2::aod::pidutils::tofNSigma<Id>(track);
232247
}
233248

234-
rowPidTpcQa(Id, ft0Occ, hadronicRate, multTPC, nClNormalized, nclPID, phi, tgl, tpcInnerParam, rapidity, momentum, signed1Pt, nSigmaTpc, dedxExpected, dedxDiff, expSigma, nSigmaTof);
249+
rowPidTpcQa(isGoodRctEvent, Id, ft0Occ, hadronicRate, multTPC, nClNormalized, nclPID, phi, tgl, tpcInnerParam, rapidity, momentum, signed1Pt, nSigmaTpc, dedxExpected, dedxDiff, expSigma, nSigmaTof);
235250
} // tracksFromCollision
236251
} // collisions
237252
++mProcessedParticles;

DPG/Tasks/AOTTrack/PID/TPC/treeCreatorPidTpcQa.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ DECLARE_SOA_COLUMN(NSigmaTof, nSigmaTof, float);
3434
} // namespace dpg_tpcpidqa
3535

3636
DECLARE_SOA_TABLE(QaPidTpc, "AOD", "QAPIDTPC",
37+
tpcskims::IsGoodRct,
3738
tpcskims::PidIndex,
3839
tpcskims::Ft0Occ,
3940
tpcskims::HadronicRate,

0 commit comments

Comments
 (0)