Skip to content

Commit 1bb0a22

Browse files
authored
Small update for the converter (#5002)
* Update: configurable TFNumber and collision time wrt to the beginning of BC * Fix for collision time resolution * Fix for collision time * Fix missing declaration of mTFNumber
1 parent 7592bdd commit 1bb0a22

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

Detectors/AOD/include/AODProducerWorkflow/AODProducerWorkflowSpec.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ class AODProducerWorkflowDPL : public Task
104104
int mFillTracksITS = 1;
105105
int mFillTracksTPC = 1;
106106
int mFillTracksITSTPC = 1;
107+
int mTFNumber = -1;
107108
TStopwatch mTimer;
108109

109110
uint64_t maxGlBC = 0;

Detectors/AOD/src/AODProducerWorkflowSpec.cxx

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,10 @@ void AODProducerWorkflowDPL::init(InitContext& ic)
224224
mFillTracksITS = ic.options().get<int>("fill-tracks-its");
225225
mFillTracksTPC = ic.options().get<int>("fill-tracks-tpc");
226226
mFillTracksITSTPC = ic.options().get<int>("fill-tracks-its-tpc");
227+
mTFNumber = ic.options().get<int>("aod-timeframe-id");
228+
if (mTFNumber == -1) {
229+
LOG(INFO) << "TFNumber will be obtained from CCDB";
230+
}
227231
LOG(INFO) << "track filling flags set to: "
228232
<< "\n ITS = " << mFillTracksITS << "\n TPC = " << mFillTracksTPC << "\n ITSTPC = " << mFillTracksITSTPC;
229233

@@ -468,8 +472,8 @@ void AODProducerWorkflowDPL::run(ProcessingContext& pc)
468472
auto& cov = vertex.getCov();
469473
auto& timeStamp = vertex.getTimeStamp();
470474
Double_t tsTimeStamp = timeStamp.getTimeStamp() * 1E3; // mus to ns
471-
// FIXME:
472-
// should use IRMin and IRMax for globalBC calculation
475+
// TODO:
476+
// use filling scheme to calculate most prob. BC
473477
uint64_t globalBC = std::round(tsTimeStamp / o2::constants::lhc::LHCBunchSpacingNS);
474478

475479
LOG(DEBUG) << globalBC << " " << tsTimeStamp;
@@ -478,6 +482,8 @@ void AODProducerWorkflowDPL::run(ProcessingContext& pc)
478482
firstVtxGlBC = globalBC;
479483
}
480484

485+
// collision timestamp in ns wrt the beginning of collision BC
486+
tsTimeStamp = globalBC * o2::constants::lhc::LHCBunchSpacingNS - tsTimeStamp;
481487
int BCid = mGlobBC2BCID.at(globalBC);
482488
// TODO:
483489
// get real collision time mask
@@ -495,8 +501,8 @@ void AODProducerWorkflowDPL::run(ProcessingContext& pc)
495501
cov[5],
496502
vertex.getChi2(),
497503
vertex.getNContributors(),
498-
timeStamp.getTimeStamp(),
499-
timeStamp.getTimeStampError(),
504+
tsTimeStamp,
505+
timeStamp.getTimeStampError() * 1E3,
500506
collisionTimeMask);
501507

502508
auto trackRef = primVer2TRefs[collisionID];
@@ -610,7 +616,11 @@ void AODProducerWorkflowDPL::run(ProcessingContext& pc)
610616
}
611617
}
612618

613-
timeFrameNumberBuilder = getTFNumber(firstVtxGlBC, runNumber);
619+
if (mTFNumber == -1) {
620+
timeFrameNumberBuilder = getTFNumber(firstVtxGlBC, runNumber);
621+
} else {
622+
timeFrameNumberBuilder = mTFNumber;
623+
}
614624

615625
mTimer.Stop();
616626
}
@@ -663,7 +673,8 @@ DataProcessorSpec getAODProducerWorkflowSpec()
663673
Options{
664674
ConfigParamSpec{"fill-tracks-its", VariantType::Int, 1, {"Fill ITS tracks into tracks table"}},
665675
ConfigParamSpec{"fill-tracks-tpc", VariantType::Int, 1, {"Fill TPC tracks into tracks table"}},
666-
ConfigParamSpec{"fill-tracks-its-tpc", VariantType::Int, 1, {"Fill ITS-TPC tracks into tracks table"}}}};
676+
ConfigParamSpec{"fill-tracks-its-tpc", VariantType::Int, 1, {"Fill ITS-TPC tracks into tracks table"}},
677+
ConfigParamSpec{"aod-timeframe-id", VariantType::Int, -1, {"Set timeframe number"}}}};
667678
}
668679

669680
} // namespace o2::aodproducer

0 commit comments

Comments
 (0)