Skip to content

Commit 22b4893

Browse files
Add TOF NSigma from TOF PID framework
1 parent a8e0e88 commit 22b4893

9 files changed

Lines changed: 379 additions & 161 deletions

File tree

Common/Core/PID/PIDTOFParamService.cxx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ void o2::pid::tof::TOFResponseImpl::inheritFromBaseTask(o2::framework::InitConte
3838
if (mIsInit) {
3939
LOG(fatal) << "TOFResponseImpl already initialized, cannot re-initialize";
4040
}
41+
LOG(info) << "couccou";
4142
getCfg(initContext, "ccdb-url", mUrl, task);
4243
getCfg(initContext, "ccdb-path-grplhcif", mPathGrpLhcIf, task);
4344
getCfg(initContext, "ccdb-timestamp", mTimestamp, task);
@@ -53,10 +54,12 @@ void o2::pid::tof::TOFResponseImpl::inheritFromBaseTask(o2::framework::InitConte
5354
getCfg(initContext, "enableTimeDependentResponse", mEnableTimeDependentResponse, task);
5455
getCfg(initContext, "collisionSystem", mCollisionSystem, task);
5556
getCfg(initContext, "autoSetProcessFunctions", mAutoSetProcessFunctions, task);
57+
LOG(info) << "couccou1";
5658
}
5759

5860
void o2::pid::tof::TOFResponseImpl::initSetup(o2::ccdb::BasicCCDBManager* ccdb,
59-
o2::framework::InitContext& initContext)
61+
o2::framework::InitContext& initContext,
62+
const std::string task)
6063
{
6164
if (mIsInit) {
6265
LOG(fatal) << "TOFResponseImpl already initialized, cannot re-initialize";
@@ -65,7 +68,7 @@ void o2::pid::tof::TOFResponseImpl::initSetup(o2::ccdb::BasicCCDBManager* ccdb,
6568
if (!ccdb) {
6669
LOG(fatal) << "CCDB manager is not set, cannot initialize TOFResponseImpl";
6770
}
68-
inheritFromBaseTask(initContext); // Gets the configuration parameters from the base task (tof-signal)
71+
inheritFromBaseTask(initContext, task); // Gets the configuration parameters from the base task (tof-signal)
6972
mCcdb = ccdb; // Set the CCDB manager
7073
mCcdb->setURL(mUrl);
7174
mCcdb->setTimestamp(mTimestamp);

Common/Core/PID/PIDTOFParamService.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,14 @@ struct TOFResponseImpl {
4747
/// \note This function should be called in the init function of each task that uses the TOF response
4848
/// \note The parameters are loaded from the CCDB and stored in the static variable `parameters`
4949
/// \note The metadata information is also initialized in this function
50-
void initSetup(o2::ccdb::BasicCCDBManager* ccdb, o2::framework::InitContext& initContext);
50+
void initSetup(o2::ccdb::BasicCCDBManager* ccdb, o2::framework::InitContext& initContext, const std::string task = "tof-signal");
5151

5252
/// Initialize the TOF response parameters in the init function of each task
5353
/// \param ccdb Service pointer to the CCDB manager
5454
template <typename T>
55-
void initSetup(T ccdb, o2::framework::InitContext& initContext)
55+
void initSetup(T ccdb, o2::framework::InitContext& initContext, const std::string task = "tof-signal")
5656
{
57-
initSetup(ccdb.operator->(), initContext);
57+
initSetup(ccdb.operator->(), initContext, task);
5858
}
5959

6060
/// Initialize the TOF response parameters in the process function of each task, should be called only at least once per run

PWGLF/DataModel/LFStrangenessPIDTables.h

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ DECLARE_SOA_TABLE_VERSIONED(DauTrackTOFPIDs_002, "AOD", "DAUTRACKTOFPID", 2, //
180180
dautrack::TOFExpTimeEl<dautrack::Length, dautrack::TOFExpMom>,
181181
dautrack::TOFExpTimePi<dautrack::Length, dautrack::TOFExpMom>,
182182
dautrack::TOFExpTimeKa<dautrack::Length, dautrack::TOFExpMom>,
183-
dautrack::TOFExpTimePr<dautrack::Length, dautrack::TOFExpMom>);
183+
dautrack::TOFExpTimePr<dautrack::Length, dautrack::TOFExpMom>);
184184

185185
using DauTrackTOFPIDs = DauTrackTOFPIDs_002; // second gen: with collision Id, with TOFExpMom
186186

@@ -198,8 +198,8 @@ DECLARE_SOA_COLUMN(PosTOFSignal, posTOFSignal, float); //! positive trac
198198
DECLARE_SOA_COLUMN(NegTOFSignal, negTOFSignal, float); //! negative track signal
199199
DECLARE_SOA_COLUMN(PosTOFEventTime, posTOFEventTime, float); //! positive track event time
200200
DECLARE_SOA_COLUMN(NegTOFEventTime, negTOFEventTime, float); //! negative track event time
201-
DECLARE_SOA_COLUMN(PosTOFLength, posTOFLength, float); //! positive track length, recalculated
202-
DECLARE_SOA_COLUMN(NegTOFLength, negTOFLength, float); //! negative track length, recalculated
201+
DECLARE_SOA_COLUMN(PosTOFLength, posTOFLength, float); //! positive track length, recalculated
202+
DECLARE_SOA_COLUMN(NegTOFLength, negTOFLength, float); //! negative track length, recalculated
203203

204204
// delta-times
205205
DECLARE_SOA_COLUMN(PosTOFDeltaTLaPi, posTOFDeltaTLaPi, float); //! positive track TOFDeltaT from pion <- lambda expectation
@@ -221,7 +221,7 @@ DECLARE_SOA_COLUMN(TOFNSigmaALaPr, tofNSigmaALaPr, float); //! negative
221221
DECLARE_SOA_COLUMN(TOFNSigmaALaPi, tofNSigmaALaPi, float); //! positive track NSigma from pion <- antilambda expectation
222222
DECLARE_SOA_COLUMN(TOFNSigmaK0PiPlus, tofNSigmaK0PiPlus, float); //! positive track NSigma from pion <- k0short expectation
223223
DECLARE_SOA_COLUMN(TOFNSigmaK0PiMinus, tofNSigmaK0PiMinus, float); //! negative track NSigma from pion <- k0short expectation
224-
224+
225225
// for wrong hypothesis
226226
DECLARE_SOA_COLUMN(TOFNSigmaElPosFromPhoton, tofNSigmaElPosFromPhoton, float); //! n sigma of positive track from photon conversion under electron hypothesis
227227
DECLARE_SOA_COLUMN(TOFNSigmaElNegFromPhoton, tofNSigmaElNegFromPhoton, float); //! n sigma of negative track from photon conversion under electron hypothesis
@@ -369,7 +369,7 @@ DECLARE_SOA_TABLE(V0TOFNSigmasAll, "AOD", "V0TOFNSIGMAALL", // processed NSigma
369369
namespace cascdata
370370
{
371371
// define constants for NSigma operation
372-
const float kNoTOFValue = -1e+6;
372+
constexpr float kNoTOFValue = -1e+6;
373373
const float kEpsilon = 1e-4;
374374

375375
// lengths as stored in the AO2D for TOF calculations
@@ -499,7 +499,6 @@ DECLARE_SOA_TABLE(CascTOFPIDs, "AOD", "CASCTOFPID", // processed information for
499499
cascdata::PosTOFDeltaTOmPi, cascdata::PosTOFDeltaTOmPr,
500500
cascdata::NegTOFDeltaTOmPi, cascdata::NegTOFDeltaTOmPr,
501501
cascdata::BachTOFDeltaTOmKa);
502-
503502
DECLARE_SOA_TABLE(CascTOFNSigmas, "AOD", "CascTOFNSigmas", // Nsigmas for cascades
504503
cascdata::TOFNSigmaXiLaPi, cascdata::TOFNSigmaXiLaPr, cascdata::TOFNSigmaXiPi,
505504
cascdata::TOFNSigmaOmLaPi, cascdata::TOFNSigmaOmLaPr, cascdata::TOFNSigmaOmKa,
@@ -508,13 +507,11 @@ DECLARE_SOA_TABLE(CascTOFNSigmas, "AOD", "CascTOFNSigmas", // Nsigmas for cascad
508507
cascdata::BachelorHasTOF<cascdata::BachTOFDeltaTXiPi>,
509508
cascdata::TofXiCompatibility<cascdata::TOFNSigmaXiLaPr, cascdata::TOFNSigmaXiLaPi, cascdata::TOFNSigmaXiPi>,
510509
cascdata::TofOmegaCompatibility<cascdata::TOFNSigmaOmLaPr, cascdata::TOFNSigmaOmLaPi, cascdata::TOFNSigmaOmKa>);
511-
512510
DECLARE_SOA_TABLE(CascTOFNSigmasAll, "AOD", "CascTOFNSigmasAll", // Nsigmas for cascades including wrong hypothesis
513511
cascdata::TOFNSigmaElFromLambdaFromXi, cascdata::TOFNSigmaElFromXi, cascdata::TOFNSigmaElFromLambdaFromOmega, cascdata::TOFNSigmaElFromOmega,
514512
cascdata::TOFNSigmaPiFromLambdaFromXi, cascdata::TOFNSigmaPiFromXi, cascdata::TOFNSigmaPiFromLambdaFromOmega, cascdata::TOFNSigmaPiFromOmega,
515513
cascdata::TOFNSigmaKaFromLambdaFromXi, cascdata::TOFNSigmaKaFromXi, cascdata::TOFNSigmaKaFromLambdaFromOmega, cascdata::TOFNSigmaKaFromOmega,
516514
cascdata::TOFNSigmaPrFromLambdaFromXi, cascdata::TOFNSigmaPrFromXi, cascdata::TOFNSigmaPrFromLambdaFromOmega, cascdata::TOFNSigmaPrFromOmega);
517-
518515
} // namespace o2::aod
519516

520517
#endif // PWGLF_DATAMODEL_LFSTRANGENESSPIDTABLES_H_

PWGLF/DataModel/LFStrangenessTables.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ DECLARE_SOA_DYNAMIC_COLUMN(EnergyCommonZNC, energyCommonZNC, //! get the total s
6666

6767
// event time
6868
DECLARE_SOA_COLUMN(EventTime, eventTime, float); //! event time (FT0, TOF) for TOF PID (stored once per event)
69-
// event time error
69+
// event time
7070
DECLARE_SOA_COLUMN(EventTimeErr, eventTimeErr, float); //! event time (FT0, TOF) for TOF PID (stored once per event)
7171
} // namespace stracollision
7272

@@ -281,15 +281,15 @@ DECLARE_SOA_TABLE_VERSIONED(StraEvSels_005, "AOD", "STRAEVSELS", 5, //!
281281
// stracollision::EnergyCommonZNC<mult::MultZNC>,
282282
stracollision::IsUPC<udcollision::GapSide>);
283283

284-
DECLARE_SOA_TABLE(StraEvSelExtras, "AOD", "STRAEVSELEXTRAS", //! debug information
285-
udzdc::TimeZNA, // UPC info: re-assigned ZN-A time, in case of SG event, from the most active bc
286-
udzdc::TimeZNC, // UPC info: re-assigned ZN-C time, in case of SG event, from the most active bc
287-
udcollision::TimeFDDA, // Average A-side time (ns)
288-
udcollision::TimeFDDC, // Average C-side time (ns)
289-
udcollision::TimeFV0A, // Average A-side time (ns)
290-
udcollision::TimeFT0A, // Average A-side time (ns)
291-
udcollision::TimeFT0C, // Average C-side time (ns)
292-
udcollision::TriggerMaskFT0); // 8 trigger bits: OrA, OrC, Semi-central, Central, Vertex, IsActiveA, IsActiveC, IsFlangeEvent
284+
DECLARE_SOA_TABLE(StraEvSelExtras, "AOD", "STRAEVSELEXTRAS", //! debug information
285+
udzdc::TimeZNA, // UPC info: re-assigned ZN-A time, in case of SG event, from the most active bc
286+
udzdc::TimeZNC, // UPC info: re-assigned ZN-C time, in case of SG event, from the most active bc
287+
udcollision::TimeFDDA, // Average A-side time (ns)
288+
udcollision::TimeFDDC, // Average C-side time (ns)
289+
udcollision::TimeFV0A, // Average A-side time (ns)
290+
udcollision::TimeFT0A, // Average A-side time (ns)
291+
udcollision::TimeFT0C, // Average C-side time (ns)
292+
udcollision::TriggerMaskFT0); // 8 trigger bits: OrA, OrC, Semi-central, Central, Vertex, IsActiveA, IsActiveC, IsFlangeEvent
293293

294294
DECLARE_SOA_TABLE(StraEvSelsRun2, "AOD", "STRAEVSELSRUN2", //! debug information
295295
evsel::Sel8, evsel::Sel7, evsel::Selection, //! event selection: sel8

PWGLF/TableProducer/Strangeness/Converters/CMakeLists.txt

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,6 @@
99
# granted to it by virtue of its status as an Intergovernmental Organization
1010
# or submit itself to any jurisdiction.
1111

12-
o2physics_add_dpl_workflow(stradautracksconverter
13-
SOURCES stradautracksconverter.cxx
14-
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
15-
COMPONENT_NAME Analysis)
16-
1712
o2physics_add_dpl_workflow(stradautrackstpcpidconverter
1813
SOURCES stradautrackstpcpidconverter.cxx
1914
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
@@ -32,11 +27,6 @@ o2physics_add_dpl_workflow(stradautrackstofpidconverter2
3227
o2physics_add_dpl_workflow(stradautrackstofpidconverter3
3328
SOURCES stradautrackstofpidconverter3.cxx
3429
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
35-
COMPONENT_NAME Analysis)
36-
37-
o2physics_add_dpl_workflow(stradautracksextraconverter
38-
SOURCES stradautracksextraconverter.cxx
39-
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
4030
COMPONENT_NAME Analysis)
4131

4232
o2physics_add_dpl_workflow(stradautracksextraconverter2

PWGLF/TableProducer/Strangeness/Converters/stradautrackstofpidconverter.cxx

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,24 @@ struct stradautrackstofpidconverter {
2424
void process(soa::Join<aod::V0Cores, aod::V0Extras, aod::V0TOFs> const& v0s, soa::Join<aod::CascCores, aod::CascExtras, aod::CascTOFs> const& cascs, aod::DauTrackExtras const& dauTracks)
2525
{
2626
// prepare arrays with the relevant information
27-
std::vector<float> lLengths(dauTracks.size(), 1.e+6), lTOFSignals(dauTracks.size(), -1e+3f), lTOFEvTimes(dauTracks.size(), -1e+3f);
28-
for (const auto& v0 : v0s) {
27+
std::vector<float> lLengths, lTOFSignals, lTOFEvTimes;
28+
lLengths.reserve(dauTracks.size());
29+
lTOFSignals.reserve(dauTracks.size());
30+
lTOFEvTimes.reserve(dauTracks.size());
31+
for (int ii = 0; ii < dauTracks.size(); ii++) {
32+
lLengths[ii] = 1e+6;
33+
lTOFSignals[ii] = -1e+3f;
34+
lTOFEvTimes[ii] = -1e+3f;
35+
}
36+
for (auto& v0 : v0s) {
2937
lLengths[v0.posTrackExtraId()] = v0.posTOFLengthToPV();
3038
lTOFSignals[v0.posTrackExtraId()] = v0.posTOFSignal();
3139
lTOFEvTimes[v0.posTrackExtraId()] = v0.posTOFEventTime();
3240
lLengths[v0.negTrackExtraId()] = v0.negTOFLengthToPV();
3341
lTOFSignals[v0.negTrackExtraId()] = v0.negTOFSignal();
3442
lTOFEvTimes[v0.negTrackExtraId()] = v0.negTOFEventTime();
3543
}
36-
for (const auto& casc : cascs) {
44+
for (auto& casc : cascs) {
3745
lLengths[casc.posTrackExtraId()] = casc.posTOFLengthToPV();
3846
lTOFSignals[casc.posTrackExtraId()] = casc.posTOFSignal();
3947
lTOFEvTimes[casc.posTrackExtraId()] = casc.posTOFEventTime();
@@ -44,7 +52,7 @@ struct stradautrackstofpidconverter {
4452
lTOFSignals[casc.bachTrackExtraId()] = casc.bachTOFSignal();
4553
lTOFEvTimes[casc.bachTrackExtraId()] = casc.bachTOFEventTime();
4654
}
47-
for (unsigned int ii = 0; ii < dauTracks.size(); ii++) {
55+
for (int ii = 0; ii < dauTracks.size(); ii++) {
4856
dautracktofpids(-1, -1, lTOFSignals[ii], lTOFEvTimes[ii], 999.0f /*dummy event time error for TOF*/, lLengths[ii], 0.0f);
4957
}
5058
}
@@ -54,4 +62,4 @@ WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
5462
{
5563
return WorkflowSpec{
5664
adaptAnalysisTask<stradautrackstofpidconverter>(cfgc)};
57-
}
65+
}

PWGLF/TableProducer/Strangeness/Converters/stradautrackstofpidconverter3.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
using namespace o2;
1919
using namespace o2::framework;
2020

21-
// converts DauTrackTOFPIDs_002 to _003
21+
// converts DauTrackTOFPIDs_001 to _002
2222
struct stradautrackstofpidconverter3 {
2323
Produces<aod::DauTrackTOFPIDs_002> dautracktofpids;
2424
Produces<aod::StraEvTimes_001> straEvTimes;
@@ -37,7 +37,7 @@ struct stradautrackstofpidconverter3 {
3737
0.0f);
3838
}
3939
for (const auto& value : straEvTimes_000) {
40-
straEvTimes(value.eventTime(), 1e+6f /*dummy event time error for TOF*/);
40+
straEvTimes(value.eventTime(), 999.0f /*dummy event time error for TOF*/);
4141
}
4242
}
4343
};

0 commit comments

Comments
 (0)