Skip to content

Commit 1cdc85d

Browse files
Removing not needed optimizations
Also removing - not needed table subscription - not applicable comments
1 parent 0857d0f commit 1cdc85d

1 file changed

Lines changed: 20 additions & 35 deletions

File tree

Common/TableProducer/trackextension.cxx

Lines changed: 20 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ namespace analysis
4444
{
4545
namespace trackextension
4646
{
47-
constexpr long run3grp_timestamp = (1619781650000 + 1619781529000) / 2;
4847
const char* ccdbpath_lut = "GLO/Param/MatLUT";
4948
const char* ccdbpath_geo = "GLO/Config/Geometry";
5049
const char* ccdbpath_grp = "GLO/GRP/GRP";
@@ -82,39 +81,32 @@ struct TrackExtension {
8281
{
8382
using namespace analysis::trackextension;
8483

85-
int lastCollId = -1;
8684
for (auto& track : tracks) {
8785
std::array<float, 2> dca{1e10f, 1e10f};
8886
if (track.has_collision()) {
8987
if (track.trackType() == o2::aod::track::TrackTypeEnum::Run2Track && track.itsChi2NCl() != 0.f && track.tpcChi2NCl() != 0.f && std::abs(track.x()) < 10.f) {
90-
if (lastCollId != track.collisionId()) {
91-
auto bc = track.collision_as<aod::Collisions>().bc_as<aod::BCsWithTimestamps>();
92-
if (mRunNumber != bc.runNumber()) {
93-
o2::parameters::GRPObject* grpo = ccdb->getForTimeStamp<o2::parameters::GRPObject>(ccdbpath_grp, bc.timestamp());
94-
if (grpo != nullptr) {
95-
mMagField = grpo->getNominalL3Field();
96-
LOGF(info, "Setting magnetic field to %f kG for run %d", mMagField, bc.runNumber());
97-
} else {
98-
LOGF(fatal, "GRP object is not available in CCDB for run=%d at timestamp=%llu", bc.runNumber(), bc.timestamp());
99-
}
100-
mRunNumber = bc.runNumber();
88+
auto bc = track.collision_as<aod::Collisions>().bc_as<aod::BCsWithTimestamps>();
89+
if (mRunNumber != bc.runNumber()) {
90+
o2::parameters::GRPObject* grpo = ccdb->getForTimeStamp<o2::parameters::GRPObject>(ccdbpath_grp, bc.timestamp());
91+
if (grpo != nullptr) {
92+
mMagField = grpo->getNominalL3Field();
93+
LOGF(info, "Setting magnetic field to %f kG for run %d", mMagField, bc.runNumber());
94+
} else {
95+
LOGF(fatal, "GRP object is not available in CCDB for run=%d at timestamp=%llu", bc.runNumber(), bc.timestamp());
10196
}
102-
lastCollId = track.collisionId();
97+
mRunNumber = bc.runNumber();
10398
}
10499
auto trackPar = getTrackPar(track);
105100
auto const& collision = track.collision();
106101
trackPar.propagateParamToDCA({collision.posX(), collision.posY(), collision.posZ()}, mMagField, &dca);
107102
}
108103
}
109104
extendedTrackQuantities(dca[0], dca[1]);
110-
111-
// TODO: add realtive pt resolution sigma(pt)/pt \approx pt * sigma(1/pt)
112-
// TODO: add geometrical length / fiducial volume
113105
}
114106
}
115107
PROCESS_SWITCH(TrackExtension, processRun2, "Process Run2 track extension task", true);
116108

117-
void processRun3(aod::FullTracks const& tracks, aod::Collisions const&, aod::BCsWithTimestamps const&)
109+
void processRun3(aod::Tracks const& tracks, aod::Collisions const&, aod::BCsWithTimestamps const&)
118110
{
119111
using namespace analysis::trackextension;
120112

@@ -127,25 +119,21 @@ struct TrackExtension {
127119
/* when a new run (Run3) is processed */
128120
o2::base::Propagator::MatCorrType matCorr = o2::base::Propagator::MatCorrType::USEMatCorrLUT;
129121

130-
int lastCollId = -1;
131122
for (auto& track : tracks) {
132123
std::array<float, 2> dca{1e10f, 1e10f};
133124
if (track.has_collision()) {
134125
if (track.trackType() == o2::aod::track::TrackTypeEnum::Track) {
135-
if (lastCollId != track.collisionId()) {
136-
auto bc = track.collision_as<aod::Collisions>().bc_as<aod::BCsWithTimestamps>();
137-
if (mRunNumber != bc.runNumber()) {
138-
auto grpo = ccdb->getForTimeStamp<o2::parameters::GRPObject>(ccdbpath_grp, bc.timestamp());
139-
if (grpo != nullptr) {
140-
o2::base::Propagator::initFieldFromGRP(grpo);
141-
o2::base::Propagator::Instance()->setMatLUT(lut);
142-
LOGF(info, "Setting magnetic field to %d kG for run %d from its GRP CCDB object", grpo->getNominalL3Field(), bc.runNumber());
143-
} else {
144-
LOGF(fatal, "GRP object is not available in CCDB for run=%d at timestamp=%llu", bc.runNumber(), bc.timestamp());
145-
}
146-
mRunNumber = bc.runNumber();
126+
auto bc = track.collision_as<aod::Collisions>().bc_as<aod::BCsWithTimestamps>();
127+
if (mRunNumber != bc.runNumber()) {
128+
auto grpo = ccdb->getForTimeStamp<o2::parameters::GRPObject>(ccdbpath_grp, bc.timestamp());
129+
if (grpo != nullptr) {
130+
o2::base::Propagator::initFieldFromGRP(grpo);
131+
o2::base::Propagator::Instance()->setMatLUT(lut);
132+
LOGF(info, "Setting magnetic field to %d kG for run %d from its GRP CCDB object", grpo->getNominalL3Field(), bc.runNumber());
133+
} else {
134+
LOGF(fatal, "GRP object is not available in CCDB for run=%d at timestamp=%llu", bc.runNumber(), bc.timestamp());
147135
}
148-
lastCollId = track.collisionId();
136+
mRunNumber = bc.runNumber();
149137
}
150138
auto trackPar = getTrackPar(track);
151139
auto const& collision = track.collision();
@@ -157,9 +145,6 @@ struct TrackExtension {
157145
}
158146
}
159147
extendedTrackQuantities(dca[0], dca[1]);
160-
161-
// TODO: add realtive pt resolution sigma(pt)/pt \approx pt * sigma(1/pt)
162-
// TODO: add geometrical length / fiducial volume
163148
}
164149
}
165150
PROCESS_SWITCH(TrackExtension, processRun3, "Process Run3 track extension task", false);

0 commit comments

Comments
 (0)