Skip to content

Commit b4c6d47

Browse files
authored
Bug fix in FT0 gain equalization
1 parent ed36b44 commit b4c6d47

1 file changed

Lines changed: 26 additions & 25 deletions

File tree

PWGCF/TwoParticleCorrelations/TableProducer/longrangeMaker.cxx

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,8 @@ struct LongrangeMaker {
142142
Configurable<float> cfigFt0aEtaMin{"cfigFt0aEtaMin", 3.5f, "Minimum FT0A eta cut"};
143143
Configurable<float> cfigFt0cEtaMax{"cfigFt0cEtaMax", -2.1f, "Maximum FT0C eta cut"};
144144
Configurable<float> cfigFt0cEtaMin{"cfigFt0cEtaMin", -3.3f, "Minimum FT0C eta cut"};
145-
Configurable<bool> useGainCallib{"useGainCallib", true, "use gain calibration"};
145+
Configurable<int> cfigVerbosity{"cfigVerbosity", 0, "print statement"};
146+
Configurable<bool> useGainCalib{"useGainCalib", true, "use gain calibration"};
146147
Configurable<std::string> ConfGainPath{"ConfGainPath", "Analysis/EventPlane/GainEq/FT0", "Path to gain calibration"};
147148
} cfgfittrksel;
148149

@@ -306,8 +307,6 @@ struct LongrangeMaker {
306307
using MftTrkTable = aod::MFTTracks;
307308
using BCs = soa::Join<aod::BCsWithTimestamps, aod::BcSels, aod::Run3MatchedToBCSparse>;
308309

309-
int currentRunNumber = -999;
310-
int lastRunNumber = -999;
311310
std::vector<float> ft0gainvalues{};
312311
void processData(CollTable::iterator const& col, TrksTable const& tracks,
313312
aod::FT0s const&, MftTrkTable const& mfttracks,
@@ -320,16 +319,21 @@ struct LongrangeMaker {
320319
auto multiplicity = countNTracks(tracks);
321320
auto centrality = selColCent(col);
322321
auto bc = col.bc_as<aod::BCsWithTimestamps>();
323-
currentRunNumber = bc.runNumber();
324-
if (cfgfittrksel.useGainCallib && (currentRunNumber != lastRunNumber)) {
325-
const auto ft0GainObj = ccdb->getForTimeStamp<std::vector<float>>(cfgfittrksel.ConfGainPath.value, bc.timestamp());
322+
ft0gainvalues.clear();
323+
ft0gainvalues = {};
324+
if (cfgfittrksel.useGainCalib) {
325+
const auto ft0GainObj = ccdb->getForTimeStamp<std::vector<float>>(cfgfittrksel.ConfGainPath, bc.timestamp());
326326
if (!ft0GainObj) {
327327
for (auto i{0u}; i < TotFt0Channels; i++) {
328328
ft0gainvalues.push_back(1.);
329329
}
330330
} else {
331331
ft0gainvalues = *(ft0GainObj);
332332
}
333+
} else {
334+
for (auto i{0u}; i < TotFt0Channels; i++) {
335+
ft0gainvalues.push_back(1.);
336+
}
333337
}
334338
lrcollision(bc.runNumber(), col.posZ(), multiplicity, centrality, bc.timestamp());
335339

@@ -354,9 +358,9 @@ struct LongrangeMaker {
354358
float ampl = ft0.amplitudeA()[iCh];
355359
auto phi = getPhiFT0(chanelid, 0);
356360
auto eta = getEtaFT0(chanelid, 0);
357-
auto gainampl = 1.0;
358-
if (cfgfittrksel.useGainCallib) {
359-
gainampl = ampl / ft0gainvalues[chanelid];
361+
auto gainampl = ampl / ft0gainvalues[chanelid];
362+
if (cfgfittrksel.cfigVerbosity > 0) {
363+
LOGF(info, "FT0A info: Channel = %d | indexchannel = %d | %f | %f", chanelid, iCh, ft0gainvalues[chanelid], ft0gainvalues[iCh]);
360364
}
361365
lrft0atracks(lrcollision.lastIndex(), chanelid, ampl, gainampl, eta, phi);
362366
}
@@ -365,9 +369,9 @@ struct LongrangeMaker {
365369
float ampl = ft0.amplitudeC()[iCh];
366370
auto phi = getPhiFT0(chanelid, 1);
367371
auto eta = getEtaFT0(chanelid, 1);
368-
auto gainampl = 1.0;
369-
if (cfgfittrksel.useGainCallib) {
370-
gainampl = ampl / ft0gainvalues[chanelid];
372+
auto gainampl = ampl / ft0gainvalues[chanelid];
373+
if (cfgfittrksel.cfigVerbosity > 0) {
374+
LOGF(info, "FT0C info: Channel = %d | indexchannel = %d | %f | %f", chanelid, iCh, ft0gainvalues[chanelid], ft0gainvalues[iCh]);
371375
}
372376
lrft0ctracks(lrcollision.lastIndex(), chanelid, ampl, gainampl, eta, phi);
373377
}
@@ -427,7 +431,6 @@ struct LongrangeMaker {
427431
v0.pt(), v0.eta(), v0.phi(), massV0, aod::lrcorrtrktable::kSpALambda);
428432
} // end of Lambda and Anti-Lambda processing
429433
}
430-
lastRunNumber = currentRunNumber;
431434
} // process function
432435

433436
void processUpc(CollTable::iterator const& col, BCs const& bcs,
@@ -591,16 +594,21 @@ struct LongrangeMaker {
591594
auto multiplicity = countNTracks(recTracksPart);
592595
auto centrality = selColCent(RecCol);
593596
auto bc = RecCol.bc_as<aod::BCsWithTimestamps>();
594-
currentRunNumber = bc.runNumber();
595-
if (cfgfittrksel.useGainCallib && (currentRunNumber != lastRunNumber)) {
596-
const auto ft0GainObj = ccdb->getForTimeStamp<std::vector<float>>(cfgfittrksel.ConfGainPath.value, bc.timestamp());
597+
ft0gainvalues.clear();
598+
ft0gainvalues = {};
599+
if (cfgfittrksel.useGainCalib) {
600+
const auto ft0GainObj = ccdb->getForTimeStamp<std::vector<float>>(cfgfittrksel.ConfGainPath, bc.timestamp());
597601
if (!ft0GainObj) {
598602
for (auto i{0u}; i < TotFt0Channels; i++) {
599603
ft0gainvalues.push_back(1.);
600604
}
601605
} else {
602606
ft0gainvalues = *(ft0GainObj);
603607
}
608+
} else {
609+
for (auto i{0u}; i < TotFt0Channels; i++) {
610+
ft0gainvalues.push_back(1.);
611+
}
604612
}
605613
lrcollision(bc.runNumber(), RecCol.posZ(), multiplicity, centrality, bc.timestamp());
606614
lrcollisionMcLabel(RecCol.mcCollisionId());
@@ -631,21 +639,15 @@ struct LongrangeMaker {
631639
float ampl = ft0.amplitudeA()[iCh];
632640
auto phi = getPhiFT0(chanelid, 0);
633641
auto eta = getEtaFT0(chanelid, 0);
634-
auto gainampl = 1.0;
635-
if (cfgfittrksel.useGainCallib) {
636-
gainampl = ampl / ft0gainvalues[chanelid];
637-
}
642+
auto gainampl = ampl / ft0gainvalues[chanelid];
638643
lrft0atracks(lrcollision.lastIndex(), chanelid, ampl, gainampl, eta, phi);
639644
}
640645
for (std::size_t iCh = 0; iCh < ft0.channelC().size(); iCh++) {
641646
auto chanelid = ft0.channelC()[iCh] + KminFt0cCell;
642647
float ampl = ft0.amplitudeC()[iCh];
643648
auto phi = getPhiFT0(chanelid, 1);
644649
auto eta = getEtaFT0(chanelid, 1);
645-
auto gainampl = 1.0;
646-
if (cfgfittrksel.useGainCallib) {
647-
gainampl = ampl / ft0gainvalues[chanelid];
648-
}
650+
auto gainampl = ampl / ft0gainvalues[chanelid];
649651
lrft0ctracks(lrcollision.lastIndex(), chanelid, ampl, gainampl, eta, phi);
650652
}
651653
}
@@ -696,7 +698,6 @@ struct LongrangeMaker {
696698
if (cfgmfttrksel.cfigMftEtaMin < particle.eta() && particle.eta() < cfgmfttrksel.cfigMftEtaMax)
697699
lrmftmctracks(lrmccollision.lastIndex(), particle.pt(), particle.eta(), particle.phi());
698700
}
699-
lastRunNumber = currentRunNumber;
700701
}
701702
}
702703

0 commit comments

Comments
 (0)