Skip to content

Commit f3f8ef5

Browse files
authored
K*(892) optimized (#6978)
* adding new task for k*(892) using filters on resonancetables * modified cmakelists * adding partitions for tpc PID at low pt, process functions * adding Occupancy and ImpactParameter to ResonanceTables * adding Maximum occupancy cut to PWGLF/Utils/collisionCuts.h
1 parent faf31f1 commit f3f8ef5

5 files changed

Lines changed: 944 additions & 9 deletions

File tree

PWGLF/DataModel/LFResonanceTables.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ DECLARE_SOA_COLUMN(IsINELgt0, isINELgt0, bool); //! INEL>0
6666
DECLARE_SOA_COLUMN(IsTriggerTVX, isTriggerTVX, bool); //! TriggerTVX
6767
DECLARE_SOA_COLUMN(IsInSel8, isInSel8, bool); //! InSel8
6868
DECLARE_SOA_COLUMN(IsInAfterAllCuts, isInAfterAllCuts, bool); //! InAfterAllCuts
69+
DECLARE_SOA_COLUMN(ImpactParameter, impactParameter, float); //! ImpactParameter
6970

7071
} // namespace resocollision
7172
DECLARE_SOA_TABLE(ResoCollisions, "AOD", "RESOCOLLISION",
@@ -89,7 +90,8 @@ DECLARE_SOA_TABLE(ResoMCCollisions, "AOD", "RESOMCCOL",
8990
resocollision::IsINELgt0,
9091
resocollision::IsTriggerTVX,
9192
resocollision::IsInSel8,
92-
resocollision::IsInAfterAllCuts);
93+
resocollision::IsInAfterAllCuts,
94+
resocollision::ImpactParameter);
9395
using ResoMCCollision = ResoMCCollisions::iterator;
9496

9597
// Resonance Daughters

PWGLF/TableProducer/Resonances/LFResonanceInitializer.cxx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ struct reso2initializer {
8989
/// Event cuts
9090
o2::analysis::CollisonCuts colCuts;
9191
Configurable<float> ConfEvtZvtx{"ConfEvtZvtx", 10.f, "Evt sel: Max. z-Vertex (cm)"};
92+
Configurable<int> ConfEvtOccupancyInTimeRange{"ConfEvtOccupancyInTimeRange", -1, "Evt sel: maximum track occupancy"};
9293
Configurable<bool> ConfEvtTriggerCheck{"ConfEvtTriggerCheck", false, "Evt sel: check for trigger"};
9394
Configurable<int> ConfEvtTriggerSel{"ConfEvtTriggerSel", 8, "Evt sel: trigger"};
9495
Configurable<bool> ConfEvtOfflineCheck{"ConfEvtOfflineCheck", true, "Evt sel: check for offline selection"};
@@ -837,7 +838,7 @@ struct reso2initializer {
837838
}
838839

839840
template <bool isRun2, typename MCCol, typename MCPart>
840-
void fillMCCollision(MCCol const& mccol, MCPart const& mcparts)
841+
void fillMCCollision(MCCol const& mccol, MCPart const& mcparts, float impactpar = -999.0)
841842
{
842843
auto centrality = 0.0;
843844
if constexpr (!isRun2)
@@ -849,7 +850,7 @@ struct reso2initializer {
849850
bool isTriggerTVX = mccol.selection_bit(aod::evsel::kIsTriggerTVX);
850851
bool isSel8 = mccol.sel8();
851852
bool isSelected = colCuts.isSelected(mccol);
852-
resoMCCollisions(inVtx10, isTrueINELgt0, isTriggerTVX, isSel8, isSelected);
853+
resoMCCollisions(inVtx10, isTrueINELgt0, isTriggerTVX, isSel8, isSelected, impactpar);
853854

854855
// QA for Trigger efficiency
855856
qaRegistry.fill(HIST("Event/hMCEventIndices"), centrality, aod::resocollision::kINEL);
@@ -923,7 +924,7 @@ struct reso2initializer {
923924
if (doprocessTrackDataRun2 || doprocessTrackV0DataRun2 || doprocessTrackV0CascDataRun2 || doprocessTrackMCRun2 || doprocessTrackV0MCRun2 || doprocessTrackV0CascMCRun2) {
924925
colCuts.setCuts(ConfEvtZvtx, ConfEvtTriggerCheck, ConfEvtTriggerSel, ConfEvtOfflineCheck, false);
925926
} else if (doprocessTrackData || doprocessTrackV0Data || doprocessTrackV0CascData || doprocessTrackMC || doprocessTrackV0MC || doprocessTrackV0CascMC || doprocessTrackEPData) {
926-
colCuts.setCuts(ConfEvtZvtx, ConfEvtTriggerCheck, ConfEvtTriggerSel, ConfEvtOfflineCheck, true);
927+
colCuts.setCuts(ConfEvtZvtx, ConfEvtTriggerCheck, ConfEvtTriggerSel, ConfEvtOfflineCheck, true, false, ConfEvtOccupancyInTimeRange);
927928
}
928929
colCuts.init(&qaRegistry);
929930
colCuts.setTriggerTVX(ConfEvtTriggerTVXSel);
@@ -1144,7 +1145,10 @@ struct reso2initializer {
11441145
colCuts.fillQA(collision);
11451146

11461147
resoCollisions(0, collision.posX(), collision.posY(), collision.posZ(), CentEst(collision), ComputeSpherocity(tracks, trackSphMin, trackSphDef), 0., 0., 0., 0., d_bz, bc.timestamp());
1147-
fillMCCollision<false>(collision, mcParticles);
1148+
1149+
auto mccollision = collision.mcCollision_as<aod::McCollisions>();
1150+
float impactpar = mccollision.impactParameter();
1151+
fillMCCollision<false>(collision, mcParticles, impactpar);
11481152

11491153
// Loop over tracks
11501154
fillTracks<true>(collision, tracks);

PWGLF/Tasks/Resonances/CMakeLists.txt

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

27+
o2physics_add_dpl_workflow(kstar892analysis
28+
SOURCES kstar892analysis.cxx
29+
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
30+
COMPONENT_NAME Analysis)
31+
2732
o2physics_add_dpl_workflow(k892pmanalysis
2833
SOURCES k892pmanalysis.cxx
2934
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore

0 commit comments

Comments
 (0)