Skip to content

Commit 07ea6a7

Browse files
Add UPC info in the derived data producer & V0 analysis task (#7526)
* Add UPC info in the derived data producer & V0 analysis task * Please consider the following formating changes * Merge StraRawCents and StraEvSels tables * Please consider the following formatting changes * Exploit UD tables to fill strangeness tables * Remove unnecessary linked library * Add FIT/ZN info from UPC and use it in analysis task * Please consider the following formatting changes * Please consider the following formatting changes
1 parent 59a7b7a commit 07ea6a7

7 files changed

Lines changed: 433 additions & 100 deletions

File tree

PWGLF/DataModel/LFStrangenessPIDTables.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -137,15 +137,15 @@ DECLARE_SOA_COLUMN(BachTOFEventTime, bachTOFEventTime, float); //! bachelor tr
137137

138138
// delta-times
139139
DECLARE_SOA_COLUMN(PosTOFDeltaTXiPi, posTOFDeltaTXiPi, float); //! positive track TOFDeltaT from pion <- lambda <- xi expectation
140-
DECLARE_SOA_COLUMN(PosTOFDeltaTXiPr, posTOFDeltaTXiPr, float); //! positive track TOFDeltaT from pion <- lambda <- xi expectation
140+
DECLARE_SOA_COLUMN(PosTOFDeltaTXiPr, posTOFDeltaTXiPr, float); //! positive track TOFDeltaT from proton <- lambda <- xi expectation
141141
DECLARE_SOA_COLUMN(NegTOFDeltaTXiPi, negTOFDeltaTXiPi, float); //! negative track TOFDeltaT from pion <- lambda <- xi expectation
142-
DECLARE_SOA_COLUMN(NegTOFDeltaTXiPr, negTOFDeltaTXiPr, float); //! negative track TOFDeltaT from pion <- lambda <- xi expectation
142+
DECLARE_SOA_COLUMN(NegTOFDeltaTXiPr, negTOFDeltaTXiPr, float); //! negative track TOFDeltaT from proton <- lambda <- xi expectation
143143
DECLARE_SOA_COLUMN(BachTOFDeltaTXiPi, bachTOFDeltaTXiPi, float); //! bachelor track TOFDeltaT from pion <- xi expectation
144144
DECLARE_SOA_COLUMN(PosTOFDeltaTOmPi, posTOFDeltaTOmPi, float); //! positive track TOFDeltaT from pion <- lambda <- omega expectation
145-
DECLARE_SOA_COLUMN(PosTOFDeltaTOmPr, posTOFDeltaTOmPr, float); //! positive track TOFDeltaT from pion <- lambda <- omega expectation
145+
DECLARE_SOA_COLUMN(PosTOFDeltaTOmPr, posTOFDeltaTOmPr, float); //! positive track TOFDeltaT from proton <- lambda <- omega expectation
146146
DECLARE_SOA_COLUMN(NegTOFDeltaTOmPi, negTOFDeltaTOmPi, float); //! negative track TOFDeltaT from pion <- lambda <- omega expectation
147-
DECLARE_SOA_COLUMN(NegTOFDeltaTOmPr, negTOFDeltaTOmPr, float); //! negative track TOFDeltaT from pion <- lambda <- omega expectation
148-
DECLARE_SOA_COLUMN(BachTOFDeltaTOmPi, bachTOFDeltaTOmPi, float); //! bachelor track TOFDeltaT from pion <- omega expectation
147+
DECLARE_SOA_COLUMN(NegTOFDeltaTOmPr, negTOFDeltaTOmPr, float); //! negative track TOFDeltaT from proton <- lambda <- omega expectation
148+
DECLARE_SOA_COLUMN(BachTOFDeltaTOmKa, bachTOFDeltaTOmKa, float); //! bachelor track TOFDeltaT from kaon <- omega expectation
149149

150150
// n-sigmas
151151
DECLARE_SOA_COLUMN(TOFNSigmaXiLaPi, tofNSigmaXiLaPi, float); //! meson track NSigma from pion <- lambda <- xi expectation
@@ -170,7 +170,7 @@ DECLARE_SOA_TABLE(CascTOFPIDs, "AOD", "CASCTOFPID", // processed information for
170170
cascdata::BachTOFDeltaTXiPi,
171171
cascdata::PosTOFDeltaTOmPi, cascdata::PosTOFDeltaTOmPr,
172172
cascdata::NegTOFDeltaTOmPi, cascdata::NegTOFDeltaTOmPr,
173-
cascdata::BachTOFDeltaTOmPi);
173+
cascdata::BachTOFDeltaTOmKa);
174174
DECLARE_SOA_TABLE(CascTOFNSigmas, "AOD", "CascTOFNSigmas", // Nsigmas for cascades
175175
cascdata::TOFNSigmaXiLaPi, cascdata::TOFNSigmaXiLaPr, cascdata::TOFNSigmaXiPi,
176176
cascdata::TOFNSigmaOmLaPi, cascdata::TOFNSigmaOmLaPr, cascdata::TOFNSigmaOmKa);

PWGLF/DataModel/LFStrangenessTables.h

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,31 @@
2222
#include "Common/DataModel/Qvectors.h"
2323
#include "Common/DataModel/McCollisionExtra.h"
2424
#include "PWGLF/DataModel/EPCalibrationTables.h"
25+
#include "PWGUD/DataModel/UDTables.h"
2526

2627
namespace o2::aod
2728
{
2829

30+
namespace stracollision
31+
{
32+
DECLARE_SOA_DYNAMIC_COLUMN(IsUPC, isUPC, //! check whether this is a UPC or hadronic collision
33+
[](int value) -> bool { return value <= 2 ? true : false; });
34+
DECLARE_SOA_DYNAMIC_COLUMN(TotalFV0AmplitudeA, totalFV0AmplitudeA, //! get the total sum of the FV0 A amplitudes
35+
[](float value) -> float { return value; });
36+
DECLARE_SOA_DYNAMIC_COLUMN(TotalFT0AmplitudeA, totalFT0AmplitudeA, //! get the total sum of the FT0 A amplitudes
37+
[](float value) -> float { return value; });
38+
DECLARE_SOA_DYNAMIC_COLUMN(TotalFT0AmplitudeC, totalFT0AmplitudeC, //! get the total sum of the FT0 C amplitudes
39+
[](float value) -> float { return value; });
40+
DECLARE_SOA_DYNAMIC_COLUMN(TotalFDDAmplitudeA, totalFDDAmplitudeA, //! get the total sum of the FDD A amplitudes
41+
[](float value) -> float { return value; });
42+
DECLARE_SOA_DYNAMIC_COLUMN(TotalFDDAmplitudeC, totalFDDAmplitudeC, //! get the total sum of the FDD C amplitudes
43+
[](float value) -> float { return value; });
44+
DECLARE_SOA_DYNAMIC_COLUMN(EnergyCommonZNA, energyCommonZNA, //! get the total sum of the ZN A amplitudes
45+
[](float value) -> float { return value; });
46+
DECLARE_SOA_DYNAMIC_COLUMN(EnergyCommonZNC, energyCommonZNC, //! get the total sum of the ZN A amplitudes
47+
[](float value) -> float { return value; });
48+
} // namespace stracollision
49+
2950
//______________________________________________________
3051
// Collision declarations for derived data analysis
3152
// this is optional but will ensure full flexibility
@@ -35,20 +56,24 @@ DECLARE_SOA_TABLE(StraCollisions, "AOD", "STRACOLLISION", //! basic collision pr
3556
DECLARE_SOA_TABLE(StraCents, "AOD", "STRACENTS", //! centrality percentiles
3657
cent::CentFT0M, cent::CentFT0A,
3758
cent::CentFT0C, cent::CentFV0A);
59+
// !!! DEPRECATED TABLE: StraRawCents_000 !!! All info in StraEvSels_001, in order to group all event characteristics in a unique table. Please use StraEvSels_001
3860
DECLARE_SOA_TABLE(StraRawCents_000, "AOD", "STRARAWCENTS", //! debug information
3961
mult::MultFT0A, mult::MultFT0C, mult::MultFV0A, mult::MultNTracksPVeta1);
62+
// !!! DEPRECATED TABLE: StraRawCents_001 !!! All info in StraEvSels_001, in order to group all event characteristics in a unique table. Please use StraEvSels_001
4063
DECLARE_SOA_TABLE_VERSIONED(StraRawCents_001, "AOD", "STRARAWCENTS", 1, //! debug information
4164
mult::MultFT0A, mult::MultFT0C, mult::MultFV0A, // FIT detectors
4265
mult::MultNTracksPVeta1, // track multiplicities
4366
mult::MultZNA, mult::MultZNC, mult::MultZEM1, // ZDC signals
4467
mult::MultZEM2, mult::MultZPA, mult::MultZPC);
68+
// !!! DEPRECATED TABLE: StraRawCents_002 !!! All info in StraEvSels_001, in order to group all event characteristics in a unique table. Please use StraEvSels_001
4569
DECLARE_SOA_TABLE_VERSIONED(StraRawCents_002, "AOD", "STRARAWCENTS", 2, //! debug information
4670
mult::MultFT0A, mult::MultFT0C, mult::MultFV0A, // FIT detectors
4771
mult::MultNTracksPVeta1, // track multiplicities with eta cut for INEL>0
4872
mult::MultNTracksITSTPC, // track multiplicities, PV contribs, no eta cut
4973
mult::MultAllTracksTPCOnly, mult::MultAllTracksITSTPC, // track multiplicities, all, no eta cut
5074
mult::MultZNA, mult::MultZNC, mult::MultZEM1, // ZDC signals
5175
mult::MultZEM2, mult::MultZPA, mult::MultZPC);
76+
// !!! DEPRECATED TABLE: StraRawCents_003 !!! All info in StraEvSels_001, in order to group all event characteristics in a unique table. Please use StraEvSels_001
5277
DECLARE_SOA_TABLE_VERSIONED(StraRawCents_003, "AOD", "STRARAWCENTS", 3, //! debug information
5378
mult::MultFT0A, mult::MultFT0C, mult::MultFV0A, // FIT detectors
5479
mult::MultNTracksPVeta1, // track multiplicities with eta cut for INEL>0
@@ -59,6 +84,7 @@ DECLARE_SOA_TABLE_VERSIONED(StraRawCents_003, "AOD", "STRARAWCENTS", 3, //!
5984
mult::MultAllTracksITSTPC, // ITSTPC track multiplicities, all, no eta cut
6085
mult::MultZNA, mult::MultZNC, mult::MultZEM1, // ZDC signals
6186
mult::MultZEM2, mult::MultZPA, mult::MultZPC);
87+
// !!! DEPRECATED TABLE: StraRawCents_004 !!! All info in StraEvSels_001, in order to group all event characteristics in a unique table. Please use StraEvSels_001
6288
DECLARE_SOA_TABLE_VERSIONED(StraRawCents_004, "AOD", "STRARAWCENTS", 4, //! debug information
6389
mult::MultFT0A, mult::MultFT0C, mult::MultFV0A, // FIT detectors
6490
mult::MultNTracksPVeta1, // track multiplicities with eta cut for INEL>0
@@ -70,8 +96,40 @@ DECLARE_SOA_TABLE_VERSIONED(StraRawCents_004, "AOD", "STRARAWCENTS", 4, //!
7096
mult::MultZNA, mult::MultZNC, mult::MultZEM1, // ZDC signals
7197
mult::MultZEM2, mult::MultZPA, mult::MultZPC,
7298
evsel::NumTracksInTimeRange); // add occupancy as extra
73-
DECLARE_SOA_TABLE(StraEvSels, "AOD", "STRAEVSELS", //! event selection: sel8
99+
DECLARE_SOA_TABLE(StraEvSels_000, "AOD", "STRAEVSELS", //! event selection: sel8
74100
evsel::Sel8, evsel::Selection);
101+
DECLARE_SOA_TABLE_VERSIONED(StraEvSels_001, "AOD", "STRAEVSELS", 1, //! debug information
102+
evsel::Sel8, evsel::Selection, //! event selection: sel8
103+
mult::MultFT0A, mult::MultFT0C, mult::MultFV0A, // FIT detectors
104+
mult::MultFDDA, mult::MultFDDC,
105+
mult::MultNTracksPVeta1, // track multiplicities with eta cut for INEL>0
106+
mult::MultPVTotalContributors, // number of PV contribs total
107+
mult::MultNTracksGlobal, // global track multiplicities
108+
mult::MultNTracksITSTPC, // track multiplicities, PV contribs, no eta cut
109+
mult::MultAllTracksTPCOnly, // TPConly track multiplicities, all, no eta cut
110+
mult::MultAllTracksITSTPC, // ITSTPC track multiplicities, all, no eta cut
111+
mult::MultZNA, mult::MultZNC, mult::MultZEM1, // ZDC signals
112+
mult::MultZEM2, mult::MultZPA, mult::MultZPC,
113+
evsel::NumTracksInTimeRange, // add occupancy as extra
114+
udcollision::GapSide, // UPC info: 0 for side A, 1 for side C, 2 for both sides, 3 neither A or C, 4 not enough or too many pv contributors
115+
udcollision::TotalFT0AmplitudeA, // UPC info: re-assigned FT0-A amplitude, in case of SG event, from the most active bc
116+
udcollision::TotalFT0AmplitudeC, // UPC info: re-assigned FT0-C amplitude, in case of SG event, from the most active bc
117+
udcollision::TotalFV0AmplitudeA, // UPC info: re-assigned FV0-A amplitude, in case of SG event, from the most active bc
118+
udcollision::TotalFDDAmplitudeA, // UPC info: re-assigned FDD-A amplitude, in case of SG event, from the most active bc
119+
udcollision::TotalFDDAmplitudeC, // UPC info: re-assigned FDD-C amplitude, in case of SG event, from the most active bc
120+
udzdc::EnergyCommonZNA, // UPC info: re-assigned ZN-A amplitude, in case of SG event, from the most active bc
121+
udzdc::EnergyCommonZNC, // UPC info: re-assigned ZN-C amplitude, in case of SG event, from the most active bc
122+
123+
// Dynamic columns for manipulating information
124+
// stracollision::TotalFV0AmplitudeA<mult::MultFV0A>,
125+
// stracollision::TotalFT0AmplitudeA<mult::MultFT0A>,
126+
// stracollision::TotalFT0AmplitudeC<mult::MultFT0C>,
127+
// stracollision::TotalFDDAmplitudeA<mult::MultFDDA>,
128+
// stracollision::TotalFDDAmplitudeC<mult::MultFDDC>,
129+
// stracollision::EnergyCommonZNA<mult::MultZNA>,
130+
// stracollision::EnergyCommonZNC<mult::MultZNC>,
131+
stracollision::IsUPC<udcollision::GapSide>);
132+
75133
DECLARE_SOA_TABLE(StraFT0AQVs, "AOD", "STRAFT0AQVS", //! t0a Qvec
76134
qvec::QvecFT0ARe, qvec::QvecFT0AIm, qvec::SumAmplFT0A);
77135
DECLARE_SOA_TABLE(StraFT0CQVs, "AOD", "STRAFT0CQVS", //! t0c Qvec
@@ -89,6 +147,7 @@ DECLARE_SOA_TABLE(StraStamps, "AOD", "STRASTAMPS", //! information for ID-ing ma
89147
bc::RunNumber, timestamp::Timestamp);
90148

91149
using StraRawCents = StraRawCents_004;
150+
using StraEvSels = StraEvSels_001;
92151
using StraCollision = StraCollisions::iterator;
93152
using StraCent = StraCents::iterator;
94153

PWGLF/TableProducer/Strangeness/Converters/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ o2physics_add_dpl_workflow(strarawcentsconverter2v4
2424
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
2525
COMPONENT_NAME Analysis)
2626

27+
o2physics_add_dpl_workflow(straevselsconverter
28+
SOURCES straevselsconverter.cxx
29+
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
30+
COMPONENT_NAME Analysis)
31+
2732
o2physics_add_dpl_workflow(v0coresconverter
2833
SOURCES v0coresconverter.cxx
2934
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2+
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3+
// All rights not expressly granted are reserved.
4+
//
5+
// This software is distributed under the terms of the GNU General Public
6+
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7+
//
8+
// In applying this license CERN does not waive the privileges and immunities
9+
// granted to it by virtue of its status as an Intergovernmental Organization
10+
// or submit itself to any jurisdiction.
11+
#include "Framework/runDataProcessing.h"
12+
#include "Framework/AnalysisTask.h"
13+
#include "Framework/AnalysisDataModel.h"
14+
#include "PWGLF/DataModel/LFStrangenessTables.h"
15+
16+
using namespace o2;
17+
using namespace o2::framework;
18+
19+
// Converts Stra Event selections from 000 to 001
20+
struct straevselsconverter {
21+
Produces<aod::StraEvSels_001> straEvSels_001;
22+
23+
void process(soa::Join<aod::StraEvSels_000, aod::StraRawCents_004> const& straEvSels_000_RawCents_004)
24+
{
25+
for (auto& values : straEvSels_000_RawCents_004) {
26+
straEvSels_001(values.sel8(),
27+
values.selection_raw(),
28+
values.multFT0A(),
29+
values.multFT0C(),
30+
values.multFT0A(),
31+
0 /*dummy FDDA value*/,
32+
0 /*dummy FDDC value*/,
33+
values.multNTracksPVeta1(),
34+
values.multPVTotalContributors(),
35+
values.multNTracksGlobal(),
36+
values.multNTracksITSTPC(),
37+
values.multAllTracksTPCOnly(),
38+
values.multAllTracksITSTPC(),
39+
values.multZNA(),
40+
values.multZNC(),
41+
values.multZEM1(),
42+
values.multZEM2(),
43+
values.multZPA(),
44+
values.multZPC(),
45+
values.trackOccupancyInTimeRange(),
46+
-1 /*dummy gap side value*/,
47+
-999. /*dummy FT0-A value*/,
48+
-999. /*dummy FT0-C value*/,
49+
-999. /*dummy FV0-A value*/,
50+
-999. /*dummy FDD-A value*/,
51+
-999. /*dummy FDD-C value*/,
52+
-999. /*dummy ZN-A value*/,
53+
-999. /*dummy ZN-C value*/);
54+
}
55+
}
56+
};
57+
58+
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
59+
{
60+
return WorkflowSpec{
61+
adaptAnalysisTask<straevselsconverter>(cfgc)};
62+
}

0 commit comments

Comments
 (0)