Skip to content

Commit 94ff254

Browse files
authored
Merge branch 'AliceO2Group:master' into master
2 parents b6df99b + f309a19 commit 94ff254

File tree

5 files changed

+1986
-64
lines changed

5 files changed

+1986
-64
lines changed

DPG/Tasks/TPC/tpcSkimsTableCreator.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -483,13 +483,13 @@ struct TreeWriterTpcV0 {
483483
}
484484

485485
/// Apply a track quality selection with a filter!
486-
void processStandard(Colls::iterator const& collision, V0sWithID const& v0s, CascsWithID const& cascs, aod::BCsWithTimestamps const&)
486+
void processStandard(Colls::iterator const& collision, Trks const&, V0sWithID const& v0s, CascsWithID const& cascs, aod::BCsWithTimestamps const&)
487487
{
488488
runStandard<false, Trks>(collision, v0s, cascs);
489489
} /// process Standard
490490
PROCESS_SWITCH(TreeWriterTpcV0, processStandard, "Standard V0 Samples for PID", true);
491491

492-
void processStandardWithCorrecteddEdx(Colls::iterator const& collision, V0sWithID const& v0s, CascsWithID const& cascs, aod::BCsWithTimestamps const&)
492+
void processStandardWithCorrecteddEdx(Colls::iterator const& collision, TrksWithDEdxCorrection const&, V0sWithID const& v0s, CascsWithID const& cascs, aod::BCsWithTimestamps const&)
493493
{
494494
runStandard<true, TrksWithDEdxCorrection>(collision, v0s, cascs);
495495
} /// process StandardWithCorrecteddEdx

PWGJE/Tasks/jetHadronRecoil.cxx

Lines changed: 98 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -655,29 +655,20 @@ struct JetHadronRecoil {
655655
}
656656

657657
template <typename T, typename U, typename X, typename Y>
658-
void fillRecoilJetMatchedHistograms(T const& jetsBase, U const&, X const& tracks, Y const& particles, float weight = 1.0, float rho = 0.0, float pTHat = 999.0)
658+
void fillRecoilJetMatchedHistograms(T const&, U const& jetsTag, X const& tracks, Y const& particles, float weight = 1.0, float rho = 0.0, float pTHat = 999.0)
659659
{
660660
std::vector<double> phiTTAr;
661-
std::vector<double> phiTTArPart;
662661
double phiTT = 0;
663-
double phiTTPart = 0;
664662
int nTT = 0;
665663

666-
for (const auto& track : tracks) {
667-
if (!track.has_mcParticle()) {
668-
continue;
669-
}
670-
if (!jetderiveddatautilities::selectTrack(track, trackSelection)) {
671-
continue;
672-
}
673-
if (track.pt() > pTHatTrackMaxMCD * pTHat) {
664+
for (const auto& particle : particles) {
665+
if (particle.pt() > pTHatTrackMaxMCP * pTHat) {
674666
if (outlierRejectEvent) {
675667
return;
676668
} else {
677669
continue;
678670
}
679671
}
680-
auto particle = track.template mcParticle_as<Y>();
681672
auto pdgParticle = pdg->GetParticle(particle.pdgCode());
682673
if (!pdgParticle) {
683674
continue;
@@ -687,44 +678,42 @@ struct JetHadronRecoil {
687678
}
688679
if (particle.pt() < ptTTsigMax && particle.pt() > ptTTsigMin) {
689680
nTT++;
690-
phiTTAr.push_back(track.phi());
691-
phiTTArPart.push_back(particle.phi());
681+
phiTTAr.push_back(particle.phi());
692682
}
693683
}
694684

695685
if (nTT > 0) {
696686
int trigNumber = rand->Integer(nTT);
697687
phiTT = phiTTAr[trigNumber];
698-
phiTTPart = phiTTArPart[trigNumber];
699688
} else {
700689
return;
701690
}
702691

703-
for (const auto& jetBase : jetsBase) {
692+
for (const auto& jetTag : jetsTag) {
704693

705-
if (jetBase.pt() > pTHatMaxMCD * pTHat) {
694+
if (jetTag.pt() > pTHatMaxMCP * pTHat) {
706695
if (outlierRejectEvent) {
707696
return;
708697
} else {
709698
continue;
710699
}
711700
}
712701

713-
float dphi = RecoDecay::constrainAngle(jetBase.phi() - phiTT);
714-
double dR = getWTAaxisDifference(jetBase, tracks);
702+
float dphip = RecoDecay::constrainAngle(jetTag.phi() - phiTT);
703+
double dRp = getWTAaxisDifference(jetTag, particles);
715704

716-
if (jetBase.has_matchedJetGeo()) {
717-
for (const auto& jetTag : jetBase.template matchedJetGeo_as<std::decay_t<U>>()) {
718-
if (jetTag.pt() > pTHatMaxMCP * pTHat) {
705+
if (jetTag.has_matchedJetGeo()) {
706+
for (const auto& jetBase : jetTag.template matchedJetGeo_as<std::decay_t<T>>()) {
707+
if (jetBase.pt() > pTHatMaxMCD * pTHat) {
719708
if (outlierRejectEvent) {
720709
return;
721710
} else {
722711
continue;
723712
}
724713
}
725714

726-
float dphip = RecoDecay::constrainAngle(jetTag.phi() - phiTTPart);
727-
double dRp = getWTAaxisDifference(jetTag, particles);
715+
float dphi = RecoDecay::constrainAngle(jetBase.phi() - phiTT);
716+
double dR = getWTAaxisDifference(jetBase, tracks);
728717
registry.fill(HIST("hPhiMatched"), dphi, dphip, weight);
729718
registry.fill(HIST("hPhiMatched2d"), jetTag.phi(), jetTag.pt(), weight);
730719
registry.fill(HIST("hPhiResolution"), jetTag.pt(), dphip - dphi, weight);
@@ -872,39 +861,63 @@ struct JetHadronRecoil {
872861
}
873862
PROCESS_SWITCH(JetHadronRecoil, processMCDWeightedWithRhoSubtraction, "process MC detector level with event weights and rho subtraction", false);
874863

875-
void processMCP(aod::JetMcCollision const& collision,
864+
void processMCP(aod::JetMcCollision const& mccollision,
865+
soa::SmallGroups<aod::JetCollisionsMCD> const& collisions,
876866
soa::Filtered<soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents>> const& jets,
877867
soa::Filtered<aod::JetParticles> const& particles)
878868
{
879-
if (std::abs(collision.posZ()) > vertexZCut) {
869+
if (std::abs(mccollision.posZ()) > vertexZCut) {
880870
return;
881871
}
882-
if (skipMBGapEvents && collision.subGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) {
872+
if (skipMBGapEvents && mccollision.subGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) {
883873
return;
884874
}
885-
if (collision.ptHard() < pTHatMinEvent) {
875+
if (mccollision.ptHard() < pTHatMinEvent) {
886876
return;
887877
}
888-
registry.fill(HIST("hZvtxSelected"), collision.posZ());
889-
fillMCPHistograms(jets, particles, 1.0, collision.ptHard());
878+
if (collisions.size() < 1) {
879+
return;
880+
}
881+
for (auto const& collision : collisions) {
882+
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits)) {
883+
return;
884+
}
885+
if (!jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) {
886+
return;
887+
}
888+
}
889+
registry.fill(HIST("hZvtxSelected"), mccollision.posZ());
890+
fillMCPHistograms(jets, particles, 1.0, mccollision.ptHard());
890891
}
891892
PROCESS_SWITCH(JetHadronRecoil, processMCP, "process MC particle level", false);
892893

893-
void processMCPWeighted(aod::JetMcCollision const& collision,
894+
void processMCPWeighted(aod::JetMcCollision const& mccollision,
895+
soa::SmallGroups<aod::JetCollisionsMCD> const& collisions,
894896
soa::Filtered<soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents>> const& jets,
895897
soa::Filtered<aod::JetParticles> const& particles)
896898
{
897-
if (std::abs(collision.posZ()) > vertexZCut) {
899+
if (std::abs(mccollision.posZ()) > vertexZCut) {
898900
return;
899901
}
900-
if (skipMBGapEvents && collision.subGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) {
902+
if (skipMBGapEvents && mccollision.subGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) {
901903
return;
902904
}
903-
if (collision.ptHard() < pTHatMinEvent) {
905+
if (mccollision.ptHard() < pTHatMinEvent) {
904906
return;
905907
}
906-
registry.fill(HIST("hZvtxSelected"), collision.posZ(), collision.weight());
907-
fillMCPHistograms(jets, particles, collision.weight(), collision.ptHard());
908+
if (collisions.size() < 1) {
909+
return;
910+
}
911+
for (auto const& collision : collisions) {
912+
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits)) {
913+
return;
914+
}
915+
if (!jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) {
916+
return;
917+
}
918+
}
919+
registry.fill(HIST("hZvtxSelected"), mccollision.posZ(), mccollision.weight());
920+
fillMCPHistograms(jets, particles, mccollision.weight(), mccollision.ptHard());
908921
}
909922
PROCESS_SWITCH(JetHadronRecoil, processMCPWeighted, "process MC particle level with event weights", false);
910923

@@ -1004,75 +1017,99 @@ struct JetHadronRecoil {
10041017
}
10051018
PROCESS_SWITCH(JetHadronRecoil, processJetsMCPMCDMatchedWeightedWithRhoSubtraction, "process MC matched with event weights (inc jets) and rho subtraction", false);
10061019

1007-
void processRecoilJetsMCPMCDMatched(soa::Filtered<soa::Join<aod::JetCollisionsMCD, aod::JMcCollisionLbs>>::iterator const& collision,
1020+
void processRecoilJetsMCPMCDMatched(aod::JetMcCollisions::iterator const& mccollision,
1021+
soa::SmallGroups<aod::JetCollisionsMCD> const& collisions,
10081022
soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets>> const& mcdjets,
1009-
soa::Filtered<aod::JetTracksMCD> const& tracks,
10101023
soa::Filtered<aod::JetParticles> const& particles,
1011-
aod::JetMcCollisions const&,
1024+
soa::Filtered<aod::JetTracksMCD> const& tracks,
10121025
soa::Filtered<soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToChargedMCDetectorLevelJets>> const& mcpjets)
10131026
{
1014-
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits)) {
1027+
if (std::abs(mccollision.posZ()) > vertexZCut) {
10151028
return;
10161029
}
1017-
if (!jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) {
1030+
if (skipMBGapEvents && mccollision.subGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) {
10181031
return;
10191032
}
1020-
if (!collision.has_mcCollision()) {
1033+
if (mccollision.ptHard() < pTHatMinEvent) {
10211034
return;
10221035
}
1023-
if (collision.mcCollision().ptHard() < pTHatMinEvent) {
1036+
if (collisions.size() < 1) {
10241037
return;
10251038
}
1026-
registry.fill(HIST("hZvtxSelected"), collision.posZ());
1027-
fillRecoilJetMatchedHistograms(mcdjets, mcpjets, tracks, particles, 1.0, 0.0, collision.mcCollision().ptHard());
1039+
for (auto const& collision : collisions) {
1040+
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits)) {
1041+
return;
1042+
}
1043+
if (!jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) {
1044+
return;
1045+
}
1046+
}
1047+
registry.fill(HIST("hZvtxSelected"), mccollision.posZ(), mccollision.weight());
1048+
fillRecoilJetMatchedHistograms(mcdjets, mcpjets, tracks, particles, 1.0, 0.0, mccollision.ptHard());
10281049
}
10291050
PROCESS_SWITCH(JetHadronRecoil, processRecoilJetsMCPMCDMatched, "process MC matched (recoil jets)", false);
10301051

1031-
void processRecoilJetsMCPMCDMatchedWeighted(soa::Filtered<soa::Join<aod::JetCollisionsMCD, aod::JMcCollisionLbs>>::iterator const& collision,
1052+
void processRecoilJetsMCPMCDMatchedWeighted(aod::JetMcCollisions::iterator const& mccollision,
1053+
soa::SmallGroups<aod::JetCollisionsMCD> const& collisions,
10321054
soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets>> const& mcdjets,
10331055
soa::Filtered<aod::JetTracksMCD> const& tracks,
10341056
soa::Filtered<aod::JetParticles> const& particles,
1035-
aod::JetMcCollisions const&,
10361057
soa::Filtered<soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToChargedMCDetectorLevelJets>> const& mcpjets)
10371058
{
1038-
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits)) {
1059+
if (std::abs(mccollision.posZ()) > vertexZCut) {
10391060
return;
10401061
}
1041-
if (!jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) {
1062+
if (skipMBGapEvents && mccollision.subGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) {
10421063
return;
10431064
}
1044-
if (!collision.has_mcCollision()) {
1065+
if (mccollision.ptHard() < pTHatMinEvent) {
10451066
return;
10461067
}
1047-
if (collision.mcCollision().ptHard() < pTHatMinEvent) {
1068+
if (collisions.size() < 1) {
10481069
return;
10491070
}
1050-
registry.fill(HIST("hZvtxSelected"), collision.posZ());
1051-
fillRecoilJetMatchedHistograms(mcdjets, mcpjets, tracks, particles, collision.mcCollision().weight(), 0.0, collision.mcCollision().ptHard());
1071+
for (auto const& collision : collisions) {
1072+
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits)) {
1073+
return;
1074+
}
1075+
if (!jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) {
1076+
return;
1077+
}
1078+
}
1079+
registry.fill(HIST("hZvtxSelected"), mccollision.posZ(), mccollision.weight());
1080+
fillRecoilJetMatchedHistograms(mcdjets, mcpjets, tracks, particles, mccollision.weight(), 0.0, mccollision.ptHard());
10521081
}
10531082
PROCESS_SWITCH(JetHadronRecoil, processRecoilJetsMCPMCDMatchedWeighted, "process MC matched with event weights (recoil jets)", false);
10541083

1055-
void processRecoilJetsMCPMCDMatchedWeightedWithRhoSubtraction(soa::Filtered<soa::Join<aod::JetCollisionsMCD, aod::JMcCollisionLbs, aod::BkgChargedRhos>>::iterator const& collision,
1084+
void processRecoilJetsMCPMCDMatchedWeightedWithRhoSubtraction(soa::Join<aod::JetMcCollisions, aod::BkgChargedRhos>::iterator const& mccollision,
1085+
soa::SmallGroups<aod::JetCollisionsMCD> const& collisions,
10561086
soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets>> const& mcdjets,
10571087
soa::Filtered<aod::JetTracksMCD> const& tracks,
10581088
soa::Filtered<aod::JetParticles> const& particles,
1059-
aod::JetMcCollisions const&,
10601089
soa::Filtered<soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToChargedMCDetectorLevelJets>> const& mcpjets)
10611090
{
1062-
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits)) {
1091+
if (std::abs(mccollision.posZ()) > vertexZCut) {
10631092
return;
10641093
}
1065-
if (!jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) {
1094+
if (skipMBGapEvents && mccollision.subGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) {
10661095
return;
10671096
}
1068-
if (!collision.has_mcCollision()) {
1097+
if (mccollision.ptHard() < pTHatMinEvent) {
10691098
return;
10701099
}
1071-
if (collision.mcCollision().ptHard() < pTHatMinEvent) {
1100+
if (collisions.size() < 1) {
10721101
return;
10731102
}
1074-
registry.fill(HIST("hZvtxSelected"), collision.posZ());
1075-
fillRecoilJetMatchedHistograms(mcdjets, mcpjets, tracks, particles, collision.mcCollision().weight(), collision.rho(), collision.mcCollision().ptHard());
1103+
for (auto const& collision : collisions) {
1104+
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits)) {
1105+
return;
1106+
}
1107+
if (!jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) {
1108+
return;
1109+
}
1110+
}
1111+
registry.fill(HIST("hZvtxSelected"), mccollision.posZ(), mccollision.weight());
1112+
fillRecoilJetMatchedHistograms(mcdjets, mcpjets, tracks, particles, mccollision.weight(), mccollision.rho(), mccollision.ptHard());
10761113
}
10771114
PROCESS_SWITCH(JetHadronRecoil, processRecoilJetsMCPMCDMatchedWeightedWithRhoSubtraction, "process MC matched with event weights (recoil jets) and rho subtraction", false);
10781115

PWGLF/TableProducer/Common/epvector.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ struct epvector {
9898
Configurable<bool> useITSFrameCut{"useITSFrameCut", true, "Reject ITS RO Frame border events"};
9999
Configurable<bool> usePileupCut{"usePileupCut", false, "Reject same bunch pileup"};
100100
Configurable<bool> useITSLayerCut{"useITSLayerCut", false, "Require good ITS layers"};
101+
Configurable<bool> useGoodZvtx{"useGoodZvtx", false, "Require good vertex from FT0 and PV"};
101102
Configurable<std::string> ConfGainPath{"ConfGainPath", "Users/s/skundu/My/Object/test100", "Path to gain calibration"};
102103
Configurable<std::string> ConfRecentere{"ConfRecentere", "Users/s/skundu/My/Object/Finaltest2/recenereall", "Path for recentere"};
103104
Configurable<std::string> ConfShift{"ConfShift", "Users/s/skundu/My/Object/Finaltest2/recenereall", "Path for Shift"};
@@ -300,7 +301,7 @@ struct epvector {
300301
auto qyTPCL = 0.0;
301302
auto qxTPCR = 0.0;
302303
auto qyTPCR = 0.0;
303-
if (coll.sel8() && centrality < cfgCutCentrality && TMath::Abs(vz) < cfgCutVertex && coll.has_foundFT0() && (!useEventSelection || eventSelected(coll, centrality)) && (!useTimeFrameCut || coll.selection_bit(aod::evsel::kNoTimeFrameBorder)) && (!useITSFrameCut || coll.selection_bit(aod::evsel::kNoITSROFrameBorder)) && (!usePileupCut || coll.selection_bit(aod::evsel::kNoSameBunchPileup)) && (!useITSLayerCut || coll.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll))) {
304+
if (coll.sel8() && centrality < cfgCutCentrality && TMath::Abs(vz) < cfgCutVertex && coll.has_foundFT0() && (!useEventSelection || eventSelected(coll, centrality)) && (!useTimeFrameCut || coll.selection_bit(aod::evsel::kNoTimeFrameBorder)) && (!useITSFrameCut || coll.selection_bit(aod::evsel::kNoITSROFrameBorder)) && (!usePileupCut || coll.selection_bit(aod::evsel::kNoSameBunchPileup)) && (!useITSLayerCut || coll.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) && (!useGoodZvtx || coll.selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV))) {
304305
triggerevent = true;
305306
if (useGainCallib && (currentRunNumber != lastRunNumber)) {
306307
gainprofile = ccdb->getForTimeStamp<TProfile>(ConfGainPath.value, bc.timestamp());

PWGLF/Tasks/Strangeness/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,11 @@ o2physics_add_dpl_workflow(strangeness-in-jets
115115
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::PWGJECore FastJet::FastJet FastJet::Contrib
116116
COMPONENT_NAME Analysis)
117117

118+
o2physics_add_dpl_workflow(strangeness-in-jets-ions
119+
SOURCES strangenessInJetsIons.cxx
120+
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::PWGJECore FastJet::FastJet FastJet::Contrib
121+
COMPONENT_NAME Analysis)
122+
118123
o2physics_add_dpl_workflow(sjet-tree-creator
119124
SOURCES sjetTreeCreator.cxx
120125
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::PWGJECore FastJet::FastJet FastJet::Contrib

0 commit comments

Comments
 (0)