Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 26 additions & 25 deletions PWGCF/TwoParticleCorrelations/TableProducer/longrangeMaker.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -142,8 +142,9 @@
Configurable<float> cfigFt0aEtaMin{"cfigFt0aEtaMin", 3.5f, "Minimum FT0A eta cut"};
Configurable<float> cfigFt0cEtaMax{"cfigFt0cEtaMax", -2.1f, "Maximum FT0C eta cut"};
Configurable<float> cfigFt0cEtaMin{"cfigFt0cEtaMin", -3.3f, "Minimum FT0C eta cut"};
Configurable<bool> useGainCallib{"useGainCallib", true, "use gain calibration"};
Configurable<int> cfigVerbosity{"cfigVerbosity", 0, "print statement"};
Configurable<bool> useGainCalib{"useGainCalib", true, "use gain calibration"};
Configurable<std::string> ConfGainPath{"ConfGainPath", "Analysis/EventPlane/GainEq/FT0", "Path to gain calibration"};

Check failure on line 147 in PWGCF/TwoParticleCorrelations/TableProducer/longrangeMaker.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[name/configurable]

Use lowerCamelCase for names of configurables and use the same name for the struct member as for the JSON string. (Declare the type and names on the same line.)
} cfgfittrksel;

struct : ConfigurableGroup {
Expand Down Expand Up @@ -306,8 +307,6 @@
using MftTrkTable = aod::MFTTracks;
using BCs = soa::Join<aod::BCsWithTimestamps, aod::BcSels, aod::Run3MatchedToBCSparse>;

int currentRunNumber = -999;
int lastRunNumber = -999;
std::vector<float> ft0gainvalues{};
void processData(CollTable::iterator const& col, TrksTable const& tracks,
aod::FT0s const&, MftTrkTable const& mfttracks,
Expand All @@ -320,16 +319,21 @@
auto multiplicity = countNTracks(tracks);
auto centrality = selColCent(col);
auto bc = col.bc_as<aod::BCsWithTimestamps>();
currentRunNumber = bc.runNumber();
if (cfgfittrksel.useGainCallib && (currentRunNumber != lastRunNumber)) {
const auto ft0GainObj = ccdb->getForTimeStamp<std::vector<float>>(cfgfittrksel.ConfGainPath.value, bc.timestamp());
ft0gainvalues.clear();
ft0gainvalues = {};
if (cfgfittrksel.useGainCalib) {
const auto ft0GainObj = ccdb->getForTimeStamp<std::vector<float>>(cfgfittrksel.ConfGainPath, bc.timestamp());
if (!ft0GainObj) {
for (auto i{0u}; i < TotFt0Channels; i++) {
ft0gainvalues.push_back(1.);
}
} else {
ft0gainvalues = *(ft0GainObj);
}
} else {
for (auto i{0u}; i < TotFt0Channels; i++) {
ft0gainvalues.push_back(1.);
}
}
lrcollision(bc.runNumber(), col.posZ(), multiplicity, centrality, bc.timestamp());

Expand All @@ -354,9 +358,9 @@
float ampl = ft0.amplitudeA()[iCh];
auto phi = getPhiFT0(chanelid, 0);
auto eta = getEtaFT0(chanelid, 0);
auto gainampl = 1.0;
if (cfgfittrksel.useGainCallib) {
gainampl = ampl / ft0gainvalues[chanelid];
auto gainampl = ampl / ft0gainvalues[chanelid];
if (cfgfittrksel.cfigVerbosity > 0) {
LOGF(info, "FT0A info: Channel = %d | indexchannel = %d | %f | %f", chanelid, iCh, ft0gainvalues[chanelid], ft0gainvalues[iCh]);
}
lrft0atracks(lrcollision.lastIndex(), chanelid, ampl, gainampl, eta, phi);
}
Expand All @@ -365,9 +369,9 @@
float ampl = ft0.amplitudeC()[iCh];
auto phi = getPhiFT0(chanelid, 1);
auto eta = getEtaFT0(chanelid, 1);
auto gainampl = 1.0;
if (cfgfittrksel.useGainCallib) {
gainampl = ampl / ft0gainvalues[chanelid];
auto gainampl = ampl / ft0gainvalues[chanelid];
if (cfgfittrksel.cfigVerbosity > 0) {
LOGF(info, "FT0C info: Channel = %d | indexchannel = %d | %f | %f", chanelid, iCh, ft0gainvalues[chanelid], ft0gainvalues[iCh]);
}
lrft0ctracks(lrcollision.lastIndex(), chanelid, ampl, gainampl, eta, phi);
}
Expand Down Expand Up @@ -427,7 +431,6 @@
v0.pt(), v0.eta(), v0.phi(), massV0, aod::lrcorrtrktable::kSpALambda);
} // end of Lambda and Anti-Lambda processing
}
lastRunNumber = currentRunNumber;
} // process function

void processUpc(CollTable::iterator const& col, BCs const& bcs,
Expand Down Expand Up @@ -591,16 +594,21 @@
auto multiplicity = countNTracks(recTracksPart);
auto centrality = selColCent(RecCol);
auto bc = RecCol.bc_as<aod::BCsWithTimestamps>();
currentRunNumber = bc.runNumber();
if (cfgfittrksel.useGainCallib && (currentRunNumber != lastRunNumber)) {
const auto ft0GainObj = ccdb->getForTimeStamp<std::vector<float>>(cfgfittrksel.ConfGainPath.value, bc.timestamp());
ft0gainvalues.clear();
ft0gainvalues = {};
if (cfgfittrksel.useGainCalib) {
const auto ft0GainObj = ccdb->getForTimeStamp<std::vector<float>>(cfgfittrksel.ConfGainPath, bc.timestamp());
if (!ft0GainObj) {
for (auto i{0u}; i < TotFt0Channels; i++) {
ft0gainvalues.push_back(1.);
}
} else {
ft0gainvalues = *(ft0GainObj);
}
} else {
for (auto i{0u}; i < TotFt0Channels; i++) {
ft0gainvalues.push_back(1.);
}
}
lrcollision(bc.runNumber(), RecCol.posZ(), multiplicity, centrality, bc.timestamp());
lrcollisionMcLabel(RecCol.mcCollisionId());
Expand Down Expand Up @@ -631,21 +639,15 @@
float ampl = ft0.amplitudeA()[iCh];
auto phi = getPhiFT0(chanelid, 0);
auto eta = getEtaFT0(chanelid, 0);
auto gainampl = 1.0;
if (cfgfittrksel.useGainCallib) {
gainampl = ampl / ft0gainvalues[chanelid];
}
auto gainampl = ampl / ft0gainvalues[chanelid];
lrft0atracks(lrcollision.lastIndex(), chanelid, ampl, gainampl, eta, phi);
}
for (std::size_t iCh = 0; iCh < ft0.channelC().size(); iCh++) {
auto chanelid = ft0.channelC()[iCh] + KminFt0cCell;
float ampl = ft0.amplitudeC()[iCh];
auto phi = getPhiFT0(chanelid, 1);
auto eta = getEtaFT0(chanelid, 1);
auto gainampl = 1.0;
if (cfgfittrksel.useGainCallib) {
gainampl = ampl / ft0gainvalues[chanelid];
}
auto gainampl = ampl / ft0gainvalues[chanelid];
lrft0ctracks(lrcollision.lastIndex(), chanelid, ampl, gainampl, eta, phi);
}
}
Expand Down Expand Up @@ -696,7 +698,6 @@
if (cfgmfttrksel.cfigMftEtaMin < particle.eta() && particle.eta() < cfgmfttrksel.cfigMftEtaMax)
lrmftmctracks(lrmccollision.lastIndex(), particle.pt(), particle.eta(), particle.phi());
}
lastRunNumber = currentRunNumber;
}
}

Expand Down
17 changes: 10 additions & 7 deletions PWGCF/TwoParticleCorrelations/Tasks/longrangecorrDerived.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -259,18 +259,20 @@ struct LongrangecorrDerived {
template <CorrelationContainer::CFStep step, typename TTarget, typename TTriggers, typename TAssocs>
void fillCorrHist(TTarget target, TTriggers const& triggers, TAssocs const& assocs, bool mixing, float vz, float multiplicity, float eventWeight)
{
auto trigAmpl = 1.0f;
for (auto const& triggerTrack : triggers) {
auto trigAmpl = 1.0f;
if constexpr (std::experimental::is_detected<HasFt0, typename TTriggers::iterator>::value) {
trigAmpl = triggerTrack.gainAmplitude();
} else {
trigAmpl = 1.0;
}
if constexpr (std::experimental::is_detected<HasTpcTrack, typename TTriggers::iterator>::value) {
if (cfgPidMask != 0 && (cfgPidMask & (1u << static_cast<uint32_t>(triggerTrack.trackType()))) == 0u)
continue;
} else if constexpr (std::experimental::is_detected<HasV0Track, typename TTriggers::iterator>::value) {
if (cfgV0Mask != 0 && (cfgV0Mask & (1u << static_cast<uint32_t>(triggerTrack.v0Type()))) == 0u)
continue;
}
if constexpr (std::experimental::is_detected<HasFt0, typename TTriggers::iterator>::value) {
trigAmpl *= triggerTrack.gainAmplitude();
}
if (!mixing) {
fillTrigTrackQA(triggerTrack);
if constexpr (std::experimental::is_detected<HasFt0, typename TTriggers::iterator>::value) {
Expand All @@ -281,10 +283,12 @@ struct LongrangecorrDerived {
histos.fill(HIST("Trig_hist"), vz, multiplicity, triggerTrack.pt(), 1.0, eventWeight * trigAmpl);
}
}
auto assoAmpl = 1.0f;
for (auto const& assoTrack : assocs) {
auto assoAmpl = 1.0f;
if constexpr (std::experimental::is_detected<HasFt0, typename TAssocs::iterator>::value) {
assoAmpl *= assoTrack.gainAmplitude();
assoAmpl = assoTrack.gainAmplitude();
} else {
assoAmpl = 1.0f;
}
float deltaPhi = RecoDecay::constrainAngle(triggerTrack.phi() - assoTrack.phi(), -PIHalf);
float deltaEta = triggerTrack.eta() - assoTrack.eta();
Expand All @@ -294,7 +298,6 @@ struct LongrangecorrDerived {
} else {
histos.fill(HIST("deltaEta_deltaPhi_mixed"), deltaPhi, deltaEta, eventWeight * trigAmpl * assoAmpl);
}

if constexpr (std::experimental::is_detected<HasFt0, typename TTriggers::iterator>::value) {
target->getPairHist()->Fill(step, vz, multiplicity, 1.0, 1.0, deltaPhi, deltaEta, 1.0, eventWeight * trigAmpl * assoAmpl);
} else if constexpr (std::experimental::is_detected<HasInvMass, typename TTriggers::iterator>::value) {
Expand Down
Loading