1717// / The task store data relevant to the calculation of hadronization observables radial
1818// / profile and/or jet momentum fraction for charmed hadrons
1919
20+ #include " PWGHF/Core/DecayChannels.h"
2021#include " PWGJE/Core/JetDerivedDataUtilities.h"
2122#include " PWGJE/Core/JetHFUtilities.h"
2223#include " PWGJE/Core/JetUtilities.h"
2324#include " PWGJE/DataModel/Jet.h"
2425#include " PWGJE/DataModel/JetReducedData.h"
2526
26- #include " PWGHF/Core/DecayChannels.h"
27-
2827#include " Common/Core/RecoDecay.h"
2928
3029#include < CommonConstants/MathConstants.h>
@@ -65,24 +64,24 @@ double deltaPhi(double phi1, double phi2)
6564 return std::abs (dphi);
6665}
6766
68- //
67+ //
6968// / Collision counter selection indexes
7069// /
7170// / The collision selection is done and stored in multiple steps, for later QA analysis.
7271// / In order not to hard code which bins should be filled throughout different process
7372// / function, this namespace with enums is create
7473namespace collisionSelections
7574{
76- enum CollisionSelectionStep {
77- kMCCollisions = 0 , // /< raw mccollisions with no selection, starts with 0
78- kMCCollisionsZCut , // /< mccollisions with z vtx selection
79- kMCCollisionsZCutSel8 , // /< mccollisions with z vtx and sel8 mc emulated selections
80- kMCCollisionsZCutSel8HasCollisions , // /< mccollisions with z vtx and sel8 mc emulated selections, with at least one reconstructed collisions
81- kMCCollisionsZCutSel8SplitCollisions , // /< mccollisions with z vtx and sel8 mc emulated selections, with no split reconstructed collisions
82- kRecoCollisions , // /< raw reconstructed collisions after previous mccollisions selection
83- kRecoCollisionsZcut , // /< reconstructed collisions with z vtx selection after previous mccollisions selection
84- kRecoCollisionsZcutSel8 // /< reconstructed collisions with z vtx and sel8 selections after previous mccollisions selection
85- };
75+ enum CollisionSelectionStep {
76+ kMCCollisions = 0 , // /< raw mccollisions with no selection, starts with 0
77+ kMCCollisionsZCut , // /< mccollisions with z vtx selection
78+ kMCCollisionsZCutSel8 , // /< mccollisions with z vtx and sel8 mc emulated selections
79+ kMCCollisionsZCutSel8HasCollisions , // /< mccollisions with z vtx and sel8 mc emulated selections, with at least one reconstructed collisions
80+ kMCCollisionsZCutSel8SplitCollisions , // /< mccollisions with z vtx and sel8 mc emulated selections, with no split reconstructed collisions
81+ kRecoCollisions , // /< raw reconstructed collisions after previous mccollisions selection
82+ kRecoCollisionsZcut , // /< reconstructed collisions with z vtx selection after previous mccollisions selection
83+ kRecoCollisionsZcutSel8 // /< reconstructed collisions with z vtx and sel8 selections after previous mccollisions selection
84+ };
8685}
8786// creating table for storing distance data
8887namespace o2 ::aod
@@ -469,7 +468,7 @@ struct HfFragmentationFunction {
469468 if (!hasSelectedCollision) {
470469 continue ;
471470 }
472-
471+
473472 // --- begin particle level jets storage
474473 // hf particle level jets associated to same mccollision
475474 const auto mcpJetsPerMCCollision = mcpjets.sliceBy (MCPJetsPerMCCollisionPreslice, mccollision.globalIndex ());
@@ -498,7 +497,7 @@ struct HfFragmentationFunction {
498497 } else if (mcdcand.candidateSelFlag () & BIT (1 )) { // CandidateSelFlag == BIT(1) -> selected as HFbar
499498 selectedAs = -1 ;
500499 }
501-
500+
502501 // store matched particle and detector level data in one single table (calculate angular distance in eta-phi plane on the fly)
503502 matchJetTable (jetutilities::deltaR (mcpjet, mcpcand), mcpjet.pt (), mcpjet.eta (), mcpjet.phi (), mcpjet.template tracks_as <aod::JetParticles>().size () + mcpjet.template candidates_as <TCandidatesMCP>().size (), // particle level jet
504503 mcpcand.pt (), mcpcand.eta (), mcpcand.phi (), mcpcand.y (), (mcpcand.originMcGen () == RecoDecay::OriginType::Prompt), // particle level HF
@@ -510,11 +509,11 @@ struct HfFragmentationFunction {
510509 } else {
511510 // store matched particle and detector level data in one single table (calculate angular distance in eta-phi plane on the fly)
512511 matchJetTable (jetutilities::deltaR (mcpjet, mcpcand), mcpjet.pt (), mcpjet.eta (), mcpjet.phi (), mcpjet.template tracks_as <aod::JetParticles>().size () + mcpjet.template candidates_as <TCandidatesMCP>().size (), // particle level jet
513- mcpcand.pt (), mcpcand.eta (), mcpcand.phi (), mcpcand.y (), (mcpcand.originMcGen () == RecoDecay::OriginType::Prompt), // particle level HF
514- -2 , -2 , -2 , -2 , -2 , // no detector-level jet found
515- -2 , -2 , -2 , -2 , -2 , false , // no detector-level jet found
516- -2 , -2 , -2 , // no detector-level jet found
517- -2 , -2 ); // no detector-level jet found
512+ mcpcand.pt (), mcpcand.eta (), mcpcand.phi (), mcpcand.y (), (mcpcand.originMcGen () == RecoDecay::OriginType::Prompt), // particle level HF
513+ -2 , -2 , -2 , -2 , -2 , // no detector-level jet found
514+ -2 , -2 , -2 , -2 , -2 , false , // no detector-level jet found
515+ -2 , -2 , -2 , // no detector-level jet found
516+ -2 , -2 ); // no detector-level jet found
518517 }
519518 } // end of mcpjets loop
520519
@@ -551,12 +550,12 @@ struct HfFragmentationFunction {
551550 }
552551
553552 // store matched particle and detector level data in one single table (calculate angular distance in eta-phi plane on the fly)
554- matchJetTable (-2 , -2 , -2 , -2 , -2 , // particle level jet
555- -2 , -2 , -2 , -2 , false , // particle level HF
556- jetutilities::deltaR (mcdjet, mcdcand), mcdjet.pt (), mcdjet.eta (), mcdjet.phi (), mcdjet.template tracks_as <aod::JetTracks>().size () + mcdjet.template candidates_as <TCandidatesMCD>().size (), // detector level jet
557- mcdcand.pt (), mcdcand.eta (), mcdcand.phi (), mcdcand.m (), mcdcand.y (), (mcdcand.originMcRec () == RecoDecay::OriginType::Prompt), // detector level HF
558- mcdcand.mlScores ()[0 ], mcdcand.mlScores ()[1 ], mcdcand.mlScores ()[2 ], // Machine Learning PID scores: background, prompt, non-prompt
559- static_cast <int >(mcdcand.flagMcMatchRec ()), selectedAs); // HF = +1, HFbar = -1, neither = 0
553+ matchJetTable (-2 , -2 , -2 , -2 , -2 , // particle level jet
554+ -2 , -2 , -2 , -2 , false , // particle level HF
555+ jetutilities::deltaR (mcdjet, mcdcand), mcdjet.pt (), mcdjet.eta (), mcdjet.phi (), mcdjet.template tracks_as <aod::JetTracks>().size () + mcdjet.template candidates_as <TCandidatesMCD>().size (), // detector level jet
556+ mcdcand.pt (), mcdcand.eta (), mcdcand.phi (), mcdcand.m (), mcdcand.y (), (mcdcand.originMcRec () == RecoDecay::OriginType::Prompt), // detector level HF
557+ mcdcand.mlScores ()[0 ], mcdcand.mlScores ()[1 ], mcdcand.mlScores ()[2 ], // Machine Learning PID scores: background, prompt, non-prompt
558+ static_cast <int >(mcdcand.flagMcMatchRec ()), selectedAs); // HF = +1, HFbar = -1, neither = 0
560559 }
561560 } // end of non-matched detector level jets loop
562561 } // end of collisions loop
0 commit comments