Skip to content

Commit 8f12b02

Browse files
author
Romain Schotter
committed
Update task producing or subscribing to StraEvSels
1 parent 53fc054 commit 8f12b02

16 files changed

Lines changed: 1334 additions & 2675 deletions

PWGCF/Flow/Tasks/flowEfficiencyCasc.cxx

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,24 @@
1616

1717
#include "PWGLF/DataModel/LFStrangenessPIDTables.h"
1818
#include "PWGLF/DataModel/LFStrangenessTables.h"
19+
#include "PWGLF/DataModel/cascqaanalysis.h"
1920

21+
#include "Common/Core/TrackSelection.h"
22+
#include "Common/Core/TrackSelectionDefaults.h"
23+
#include "Common/DataModel/Centrality.h"
24+
#include "Common/DataModel/EventSelection.h"
25+
#include "Common/DataModel/Multiplicity.h"
26+
#include "Common/DataModel/TrackSelectionTables.h"
2027
#include "Common/CCDB/EventSelectionParams.h"
2128
#include "Common/CCDB/TriggerAliases.h"
2229

23-
#include <CommonConstants/PhysicsConstants.h>
24-
#include <Framework/ASoA.h>
25-
#include <Framework/AnalysisTask.h>
26-
#include <Framework/Configurable.h>
27-
#include <Framework/HistogramRegistry.h>
28-
#include <Framework/HistogramSpec.h>
29-
#include <Framework/InitContext.h>
30-
#include <Framework/runDataProcessing.h>
30+
#include "CommonConstants/PhysicsConstants.h"
31+
#include "Framework/ASoAHelpers.h"
32+
#include "Framework/AnalysisTask.h"
33+
#include "Framework/runDataProcessing.h"
3134

3235
#include <TPDGCode.h>
3336

34-
#include <cmath>
35-
#include <cstdlib>
3637
#include <vector>
3738

3839
using namespace o2;
@@ -89,7 +90,7 @@ struct FlowEfficiencyCasc {
8990
AxisSpec axisK0sMass = {400, 0.4f, 0.6f, "Inv. Mass (GeV)"};
9091
AxisSpec axisLambdaMass = {160, 1.08f, 1.16f, "Inv. Mass (GeV)"};
9192

92-
using MyCollisions = soa::Join<aod::StraCollisions, aod::StraEvSels, aod::StraCents>;
93+
using MyCollisions = soa::Join<aod::StraCollisions, aod::StraEvSels, aod::StraEvSelExtras, aod::StraCents>;
9394
using MyMcCollisions = soa::Join<aod::StraMCCollisions, aod::StraMCCollMults>;
9495
using CascMCCandidates = soa::Join<aod::CascCollRefs, aod::CascCores, aod::CascExtras, aod::CascBBs, aod::CascCoreMCLabels>;
9596
using V0MCCandidates = soa::Join<aod::V0CollRefs, aod::V0Cores, aod::V0Extras, aod::V0CoreMCLabels>;
@@ -345,7 +346,7 @@ struct FlowEfficiencyCasc {
345346
}
346347
PROCESS_SWITCH(FlowEfficiencyCasc, processRec, "process reconstructed information", true);
347348

348-
void processGen(MyMcCollisions::iterator const&, soa::SmallGroups<soa::Join<aod::StraCollisions, aod::StraEvSels, aod::StraCollLabels>> const& coll, const soa::SmallGroups<soa::Join<aod::CascMCCores, aod::CascMCCollRefs>>& cascMCs, const soa::SmallGroups<soa::Join<aod::V0MCCores, aod::V0MCCollRefs>>& v0MCs)
349+
void processGen(MyMcCollisions::iterator const&, soa::SmallGroups<soa::Join<aod::StraCollisions, aod::StraEvSels, aod::StraEvSelExtras, aod::StraCollLabels>> const& coll, const soa::SmallGroups<soa::Join<aod::CascMCCores, aod::CascMCCollRefs>>& cascMCs, const soa::SmallGroups<soa::Join<aod::V0MCCores, aod::V0MCCollRefs>>& v0MCs)
349350
{
350351
registry.fill(HIST("mcEventCounter"), 0.5);
351352
int rectracknum = 0;

PWGDQ/Tasks/quarkoniaToHyperons.cxx

Lines changed: 68 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -29,51 +29,72 @@
2929
// david.dobrigkeit.chinellato@cern.ch
3030
//
3131

32+
#include <Math/Vector4D.h>
33+
#include <cmath>
34+
#include <array>
35+
#include <cstdlib>
36+
#include <map>
37+
#include <string>
38+
#include <vector>
39+
40+
#include <TFile.h>
41+
#include <TH2F.h>
42+
#include <TProfile.h>
43+
#include <TLorentzVector.h>
44+
#include <TPDGCode.h>
45+
#include "Math/Vector3D.h"
46+
47+
#include "DCAFitter/DCAFitterN.h"
48+
#include "DataFormatsParameters/GRPMagField.h"
49+
#include "DataFormatsParameters/GRPObject.h"
50+
#include "DetectorsBase/GeometryManager.h"
51+
#include "DetectorsBase/Propagator.h"
52+
#include "Framework/runDataProcessing.h"
53+
#include "Framework/AnalysisTask.h"
54+
#include "Framework/AnalysisDataModel.h"
55+
#include "Framework/ASoAHelpers.h"
56+
#include "Framework/O2DatabasePDGPlugin.h"
57+
#include "ReconstructionDataFormats/Track.h"
58+
#include "CCDB/BasicCCDBManager.h"
59+
#include "CommonConstants/PhysicsConstants.h"
60+
#include "Common/Core/trackUtilities.h"
61+
#include "PWGLF/DataModel/LFStrangenessTables.h"
3262
#include "PWGLF/DataModel/LFStrangenessMLTables.h"
3363
#include "PWGLF/DataModel/LFStrangenessPIDTables.h"
3464
#include "PWGLF/DataModel/LFStrangenessTables.h"
3565
#include "PWGLF/Utils/strangenessBuilderHelper.h"
3666
#include "PWGUD/Core/SGSelector.h"
67+
#include "PWGUD/Core/UPCHelpers.h"
3768

38-
#include "Common/CCDB/EventSelectionParams.h"
39-
#include "Common/Core/RecoDecay.h"
69+
#include "Common/Core/TrackSelection.h"
4070
#include "Common/Core/Zorro.h"
4171
#include "Common/Core/ZorroSummary.h"
72+
#include "Common/Core/trackUtilities.h"
73+
#include "Common/DataModel/Centrality.h"
74+
#include "Common/DataModel/EventSelection.h"
75+
#include "Common/DataModel/Multiplicity.h"
76+
#include "Common/DataModel/TrackSelectionTables.h"
77+
#include "Tools/ML/MlResponse.h"
4278
#include "Tools/ML/model.h"
4379

44-
#include <CCDB/BasicCCDBManager.h>
45-
#include <CCDB/CcdbApi.h>
46-
#include <CommonConstants/MathConstants.h>
47-
#include <CommonConstants/PhysicsConstants.h>
48-
#include <DCAFitter/DCAFitterN.h>
49-
#include <DataFormatsParameters/GRPMagField.h>
50-
#include <DataFormatsParameters/GRPObject.h>
51-
#include <DetectorsBase/MatLayerCylSet.h>
52-
#include <DetectorsBase/Propagator.h>
53-
#include <Framework/AnalysisDataModel.h>
54-
#include <Framework/AnalysisHelpers.h>
55-
#include <Framework/AnalysisTask.h>
56-
#include <Framework/Array2D.h>
57-
#include <Framework/Configurable.h>
58-
#include <Framework/DataTypes.h>
59-
#include <Framework/HistogramRegistry.h>
60-
#include <Framework/HistogramSpec.h>
61-
#include <Framework/InitContext.h>
62-
#include <Framework/O2DatabasePDGPlugin.h>
63-
#include <Framework/OutputObjHeader.h>
64-
#include <Framework/runDataProcessing.h>
65-
#include <ReconstructionDataFormats/Track.h>
66-
67-
#include <Math/Vector3Dfwd.h>
68-
#include <TH1.h>
69-
#include <TMath.h>
80+
#include "CCDB/BasicCCDBManager.h"
81+
#include "CommonConstants/PhysicsConstants.h"
82+
#include "Framework/ASoAHelpers.h"
83+
#include "Framework/AnalysisDataModel.h"
84+
#include "Framework/AnalysisTask.h"
85+
#include "Framework/O2DatabasePDGPlugin.h"
86+
#include "Framework/runDataProcessing.h"
87+
#include "ReconstructionDataFormats/Track.h"
88+
89+
#include <Math/Vector4D.h>
90+
#include <TFile.h>
91+
#include <TH2F.h>
92+
#include <TLorentzVector.h>
7093
#include <TPDGCode.h>
71-
#include <TVector3.h>
94+
#include <TProfile.h>
7295

73-
#include <algorithm>
7496
#include <array>
7597
#include <cmath>
76-
#include <cstdint>
7798
#include <cstdlib>
7899
#include <map>
79100
#include <string>
@@ -139,7 +160,7 @@ struct QuarkoniaToHyperons {
139160
Configurable<bool> requireNoCollInTimeRangeStd{"requireNoCollInTimeRangeStd", true, "reject collisions corrupted by the cannibalism, with other collisions within +/- 10 microseconds"};
140161
Configurable<bool> requireNoCollInTimeRangeNarrow{"requireNoCollInTimeRangeNarrow", false, "reject collisions corrupted by the cannibalism, with other collisions within +/- 10 microseconds"};
141162

142-
Configurable<float> maxZVtxPosition{"maxZVtxPosition", 10., "max Z vtx position (cm)"};
163+
Configurable<float> maxZVtxPosition{"maxZVtxPosition", 10., "max Z vtx position"};
143164

144165
Configurable<bool> buildK0sK0sPairs{"buildK0sK0sPairs", false, "Build K0s K0s from charmonia decay"};
145166
Configurable<bool> buildLaLaBarPairs{"buildLaLaBarPairs", false, "Build Lambda antiLambda from charmonia decay"};
@@ -368,7 +389,7 @@ struct QuarkoniaToHyperons {
368389
ConfigurableAxis axisHypPairPhi{"axisHypPairPhi", {180, 0.0f, constants::math::TwoPI}, "Hyperon pair azimuthal angle (rad)"};
369390
} axes;
370391

371-
o2::base::MatLayerCylSet* lut; // material LUT for DCA fitter
392+
o2::base::MatLayerCylSet* lut; // material LUT for DCA fitter
372393
o2::vertexing::DCAFitterN<2> fitter;
373394

374395
// helper object
@@ -378,7 +399,7 @@ struct QuarkoniaToHyperons {
378399
Service<o2::framework::O2DatabasePDG> pdgDB;
379400

380401
// For manual sliceBy
381-
PresliceUnsorted<soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraCollLabels>> perMcCollision = aod::v0data::straMCCollisionId;
402+
PresliceUnsorted<soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraEvSelExtras, aod::StraCollLabels>> perMcCollision = aod::v0data::straMCCollisionId;
382403

383404
enum Selection : uint64_t { selCosPA = 0,
384405
selRadius,
@@ -794,10 +815,10 @@ struct QuarkoniaToHyperons {
794815
histos.add("QA/XiXiBar/h3dMassXiXiBarVsDCAPair", "h3dMassXiXiBarVsDCAPair", kTH3F, {axes.axisDCAHypPair, axes.axisPt, axes.axisQuarkoniumMass});
795816
histos.add("QA/XiXiBar/h3dMassXiXiBarVsPairCosPA", "h3dMassXiXiBarVsPairCosPA", kTH3F, {axes.axisHypPairCosPA, axes.axisPt, axes.axisQuarkoniumMass});
796817
histos.add("QA/XiXiBar/h3dMassXiXiBarVsPairOpAngle", "h3dMassXiXiBarVsPairOpAngle", kTH3F, {axes.axisHypPairOpAngle, axes.axisPt, axes.axisQuarkoniumMass});
797-
histos.add("QA/XiXiBar/h3dMassXiXiBarVsPairEta", "h3dMassXiXiBarVsPairEta", kTH3F, {axes.axisHypPairEta, axes.axisPt, axes.axisQuarkoniumMass});
798-
histos.add("QA/XiXiBar/h3dMassXiXiBarVsPairPhi", "h3dMassXiXiBarVsPairPhi", kTH3F, {axes.axisHypPairPhi, axes.axisPt, axes.axisQuarkoniumMass});
799-
histos.add("QA/XiXiBar/h3dDeltaEtaXiXiBarVsPairEta", "h3dDeltaEtaXiXiBarVsPairEta", kTH3F, {axes.axisHypPairEta, axes.axisPt, axes.axisHypPairEta});
800-
histos.add("QA/XiXiBar/h3dDeltaPhiXiXiBarVsPairPhi", "h3dDeltaPhiXiXiBarVsPairPhi", kTH3F, {axes.axisHypPairPhi, axes.axisPt, axes.axisHypPairPhi});
818+
histos.add("QA/XiXiBar/h3dMassXiXiBarVsPairEta", "h3dMassXiXiBarVsPairEta", kTH3F, {axes.axisHypPairEta, axes.axisPt, axes.axisQuarkoniumMass});
819+
histos.add("QA/XiXiBar/h3dMassXiXiBarVsPairPhi", "h3dMassXiXiBarVsPairPhi", kTH3F, {axes.axisHypPairPhi, axes.axisPt, axes.axisQuarkoniumMass});
820+
histos.add("QA/LaLaBar/h3dDeltaEtaXiXiBarVsPairEta", "h3dDeltaEtaXiXiBarVsPairEta", kTH3F, {axes.axisHypPairEta, axes.axisPt, axes.axisHypPairEta});
821+
histos.add("QA/LaLaBar/h3dDeltaPhiXiXiBarVsPairPhi", "h3dDeltaPhiXiXiBarVsPairPhi", kTH3F, {axes.axisHypPairPhi, axes.axisPt, axes.axisHypPairPhi});
801822
}
802823
}
803824
if (buildOmOmBarPairs) {
@@ -890,8 +911,8 @@ struct QuarkoniaToHyperons {
890911
histos.add("QA/OmOmBar/h3dMassOmOmBarVsPairOpAngle", "h3dMassOmOmBarVsPairOpAngle", kTH3F, {axes.axisHypPairOpAngle, axes.axisPt, axes.axisQuarkoniumMass});
891912
histos.add("QA/OmOmBar/h3dMassOmOmBarVsPairEta", "h3dMassOmOmBarVsPairEta", kTH3F, {axes.axisHypPairEta, axes.axisPt, axes.axisQuarkoniumMass});
892913
histos.add("QA/OmOmBar/h3dMassOmOmBarVsPairPhi", "h3dMassOmOmBarVsPairPhi", kTH3F, {axes.axisHypPairPhi, axes.axisPt, axes.axisQuarkoniumMass});
893-
histos.add("QA/OmOmBar/h3dDeltaEtaOmOmBarVsPairEta", "h3dDeltaEtaOmOmBarVsPairEta", kTH3F, {axes.axisHypPairEta, axes.axisPt, axes.axisHypPairEta});
894-
histos.add("QA/OmOmBar/h3dDeltaPhiOmOmBarVsPairPhi", "h3dDeltaPhiOmOmBarVsPairPhi", kTH3F, {axes.axisHypPairPhi, axes.axisPt, axes.axisHypPairPhi});
914+
histos.add("QA/LaLaBar/h3dDeltaEtaOmOmBarVsPairEta", "h3dDeltaEtaOmOmBarVsPairEta", kTH3F, {axes.axisHypPairEta, axes.axisPt, axes.axisHypPairEta});
915+
histos.add("QA/LaLaBar/h3dDeltaPhiOmOmBarVsPairPhi", "h3dDeltaPhiOmOmBarVsPairPhi", kTH3F, {axes.axisHypPairPhi, axes.axisPt, axes.axisHypPairPhi});
895916
}
896917
}
897918

@@ -1061,13 +1082,11 @@ struct QuarkoniaToHyperons {
10611082
std::array<float, 3> antiHyperonMomentum = {0.0f, 0.0f, 0.0f};
10621083
float DCADau = -999.f;
10631084
float CosPA = -1.f;
1064-
float OpAngle = -999.f;
1065-
float Eta() const
1066-
{
1085+
float OpAngle = -999.f;
1086+
float Eta() const {
10671087
return RecoDecay::eta(std::array{hyperonMomentum[0] + antiHyperonMomentum[0], hyperonMomentum[1] + antiHyperonMomentum[1], hyperonMomentum[2] + antiHyperonMomentum[2]});
10681088
}
1069-
float Phi() const
1070-
{
1089+
float Phi() const {
10711090
return RecoDecay::phi(std::array{hyperonMomentum[0] + antiHyperonMomentum[0], hyperonMomentum[1] + antiHyperonMomentum[1]});
10721091
}
10731092
};
@@ -1122,7 +1141,7 @@ struct QuarkoniaToHyperons {
11221141
TVector3 hyp2Momentum(pairInfo.antiHyperonMomentum[0], pairInfo.antiHyperonMomentum[1], pairInfo.antiHyperonMomentum[2]);
11231142
pairInfo.OpAngle = hyp1Momentum.Angle(hyp2Momentum);
11241143

1125-
if (d < 1e-5f) { // Parallel or nearly parallel lines
1144+
if (d < 1e-5f) { // Parallel or nearly parallel lines
11261145
pairInfo.X = pairInfo.Y = pairInfo.Z = -999.f; // should we use another dummy value? Perhaps 999.f?
11271146
return pairInfo;
11281147
}
@@ -1202,6 +1221,7 @@ struct QuarkoniaToHyperons {
12021221
return pairInfo;
12031222
}
12041223

1224+
12051225
template <typename TCollision>
12061226
bool isEventAccepted(TCollision collision, bool fillHists)
12071227
// check whether the collision passes our collision selections
@@ -2497,7 +2517,7 @@ struct QuarkoniaToHyperons {
24972517

24982518
// ______________________________________________________
24992519
// Real data processing - no MC subscription
2500-
void processRealData(soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraStamps> const& collisions, V0Candidates const& fullV0s, CascadeCandidates const& fullCascades, DauTracks const&)
2520+
void processRealData(soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraEvSelExtras, aod::StraStamps> const& collisions, V0Candidates const& fullV0s, CascadeCandidates const& fullCascades, DauTracks const&)
25012521
{
25022522
// Custom grouping
25032523
v0sGrouped.clear();
@@ -2674,7 +2694,7 @@ struct QuarkoniaToHyperons {
26742694

26752695
// ______________________________________________________
26762696
// Simulated processing (subscribes to MC information too)
2677-
void processMonteCarlo(soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraStamps, aod::StraCollLabels> const& collisions, V0MCCandidates const& fullV0s, CascadeMCCandidates const& fullCascades, DauTracks const&, aod::MotherMCParts const&, soa::Join<aod::StraMCCollisions, aod::StraMCCollMults> const& /*mccollisions*/, soa::Join<aod::V0MCCores, aod::V0MCCollRefs> const&, soa::Join<aod::CascMCCores, aod::CascMCCollRefs> const&)
2697+
void processMonteCarlo(soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraEvSelExtras, aod::StraStamps, aod::StraCollLabels> const& collisions, V0MCCandidates const& fullV0s, CascadeMCCandidates const& fullCascades, DauTracks const&, aod::MotherMCParts const&, soa::Join<aod::StraMCCollisions, aod::StraMCCollMults> const& /*mccollisions*/, soa::Join<aod::V0MCCores, aod::V0MCCollRefs> const&, soa::Join<aod::CascMCCores, aod::CascMCCollRefs> const&)
26782698
{
26792699
// Custom grouping
26802700
v0sGrouped.clear();

PWGLF/TableProducer/Strangeness/Converters/CMakeLists.txt

Lines changed: 15 additions & 15 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
@@ -29,11 +24,6 @@ o2physics_add_dpl_workflow(stradautrackstofpidconverter2
2924
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
3025
COMPONENT_NAME Analysis)
3126

32-
o2physics_add_dpl_workflow(stradautracksextraconverter
33-
SOURCES stradautracksextraconverter.cxx
34-
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
35-
COMPONENT_NAME Analysis)
36-
3727
o2physics_add_dpl_workflow(stradautracksextraconverter2
3828
SOURCES stradautracksextraconverter2.cxx
3929
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
@@ -79,6 +69,21 @@ o2physics_add_dpl_workflow(straevselsconverter5
7969
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::AnalysisCCDB
8070
COMPONENT_NAME Analysis)
8171

72+
o2physics_add_dpl_workflow(straevselsconverter6
73+
SOURCES straevselsconverter6.cxx
74+
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::AnalysisCCDB
75+
COMPONENT_NAME Analysis)
76+
77+
o2physics_add_dpl_workflow(straevselextrasconverter
78+
SOURCES straevselextrasconverter.cxx
79+
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
80+
COMPONENT_NAME Analysis)
81+
82+
o2physics_add_dpl_workflow(straevselextrasconverter2
83+
SOURCES straevselextrasconverter2.cxx
84+
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
85+
COMPONENT_NAME Analysis)
86+
8287
o2physics_add_dpl_workflow(straevselsconverter2rawcents
8388
SOURCES straevselsconverter2rawcents.cxx
8489
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
@@ -124,11 +129,6 @@ o2physics_add_dpl_workflow(stracentconverter
124129
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
125130
COMPONENT_NAME Analysis)
126131

127-
o2physics_add_dpl_workflow(stracentconverter2
128-
SOURCES stracentconverter2.cxx
129-
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
130-
COMPONENT_NAME Analysis)
131-
132132
o2physics_add_dpl_workflow(stramccollmultconverter
133133
SOURCES stramccollmultconverter.cxx
134134
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore

0 commit comments

Comments
 (0)