3434#include " Common/DataModel/Centrality.h"
3535#include " Common/DataModel/CollisionAssociationTables.h"
3636#include " Common/DataModel/EventSelection.h"
37+ #include " Common/DataModel/Qvectors.h"
3738#include " Common/DataModel/FwdTrackReAlignTables.h"
3839#include " Common/DataModel/Multiplicity.h"
3940#include " Common/DataModel/PIDResponseTOF.h"
@@ -129,6 +130,7 @@ using MyEventsWithMultsAndRapidityGapFilter = soa::Join<aod::Collisions, aod::Ev
129130using MyEventsWithCent = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs, aod::CentFT0As, aod::CentFT0Ms>;
130131using MyEventsWithCentAndMults = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs, aod::CentFT0As, aod::CentFT0Ms, aod::Mults, aod::MultsExtra>;
131132using MyEventsWithMultsExtra = soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::MultsExtra>;
133+ using MyEventsWithCentAndMultsQvect = soa::Join<aod::Collisions, aod::EvSels, aod::QvectorFT0Cs, aod::QvectorFT0As, aod::QvectorFT0Ms, aod::QvectorFV0As, aod::QvectorTPCposs, aod::QvectorTPCnegs, aod::QvectorTPCalls, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::Mults, aod::MultsExtra>;
132134using MyMuons = soa::Join<aod::FwdTracks, aod::FwdTracksDCA>;
133135using MyMuonsWithCov = soa::Join<aod::FwdTracks, aod::FwdTracksCov, aod::FwdTracksDCA>;
134136using MyMuonsRealignWithCov = soa::Join<aod::FwdTracksReAlign, aod::FwdTrksCovReAlign, aod::FwdTracksDCA>;
@@ -149,6 +151,7 @@ constexpr static uint32_t gkEventFillMapWithMultsEventFilterZdc = VarManager::Ob
149151constexpr static uint32_t gkEventFillMapWithMultsRapidityGapFilterZdcFit = VarManager::ObjTypes::BC | VarManager::ObjTypes::Collision | VarManager::ObjTypes::CollisionMult | VarManager::ObjTypes::CollisionMultExtra | VarManager::ObjTypes::RapidityGapFilter | VarManager::ObjTypes::Zdc | VarManager::ObjTypes::Fit;
150152// constexpr static uint32_t gkEventFillMapWithCent = VarManager::ObjTypes::BC | VarManager::ObjTypes::Collision | VarManager::ObjTypes::CollisionCent;
151153constexpr static uint32_t gkEventFillMapWithCentAndMults = VarManager::ObjTypes::BC | VarManager::ObjTypes::Collision | VarManager::ObjTypes::CollisionCent | VarManager::CollisionMult | VarManager::ObjTypes::CollisionMultExtra;
154+ constexpr static uint32_t gkEventFillMapWithCentAndMultsQvect = VarManager::ObjTypes::BC | VarManager::ObjTypes::Collision | VarManager::ObjTypes::CollisionCent | VarManager::CollisionMult | VarManager::ObjTypes::CollisionMultExtra | VarManager::ObjTypes::CollisionQvectCentr;
152155constexpr static uint32_t gkEventFillMapWithMultsExtra = VarManager::ObjTypes::BC | VarManager::ObjTypes::Collision | VarManager::CollisionMult | VarManager::ObjTypes::CollisionMultExtra;
153156// constexpr static uint32_t gkEventFillMapWithCentRun2 = VarManager::ObjTypes::BC | VarManager::ObjTypes::Collision | VarManager::ObjTypes::CollisionCentRun2; // Unused variable
154157// constexpr static uint32_t gkTrackFillMap = VarManager::ObjTypes::Track | VarManager::ObjTypes::TrackExtra | VarManager::ObjTypes::TrackDCA | VarManager::ObjTypes::TrackPID | VarManager::ObjTypes::TrackPIDExtra;
@@ -467,7 +470,7 @@ struct TableMaker {
467470 context.mOptions .get <bool >(" processPbPbWithFilterBarrelOnly" ) || context.mOptions .get <bool >(" processPPBarrelOnlyWithV0s" ) || context.mOptions .get <bool >(" processPbPbBarrelOnlyNoTOF" );
468471
469472 bool enableMuonHistos = (context.mOptions .get <bool >(" processPPWithFilter" ) || context.mOptions .get <bool >(" processPPWithFilterMuonOnly" ) || context.mOptions .get <bool >(" processPPWithFilterMuonMFT" ) || context.mOptions .get <bool >(" processPPMuonOnly" ) || context.mOptions .get <bool >(" processPPRealignedMuonOnly" ) || context.mOptions .get <bool >(" processPPMuonMFT" ) || context.mOptions .get <bool >(" processPPMuonMFTWithMultsExtra" ) ||
470- context.mOptions .get <bool >(" processPbPb" ) || context.mOptions .get <bool >(" processPbPbMuonOnly" ) || context.mOptions .get <bool >(" processPbPbRealignedMuonOnly" ) || context.mOptions .get <bool >(" processPbPbMuonMFT" ));
473+ context.mOptions .get <bool >(" processPbPb" ) || context.mOptions .get <bool >(" processPbPbMuonOnly" ) || context.mOptions .get <bool >(" processPbPbMuonOnlyWithQvect " ) || context. mOptions . get < bool >( " processPbPbRealignedMuonOnly" ) || context.mOptions .get <bool >(" processPbPbMuonMFT" ));
471474
472475 if (enableBarrelHistos) {
473476 // Barrel track histograms, before selections
@@ -1053,6 +1056,9 @@ struct TableMaker {
10531056 VarManager::ResetValues (0 , VarManager::kNEventWiseVariables );
10541057 VarManager::FillBC (bc);
10551058 VarManager::FillEvent<TEventFillMap>(collision); // extract event information and place it in the fValues array
1059+ if constexpr ((TEventFillMap & VarManager::ObjTypes::CollisionQvectCentr) > 0 ) {
1060+ VarManager::FillQVectorFromCentralFW (collision);
1061+ }
10561062 if constexpr ((TEventFillMap & VarManager::ObjTypes::Zdc) > 0 ) {
10571063 if constexpr ((TEventFillMap & VarManager::ObjTypes::RapidityGapFilter) > 0 ) {
10581064 // The DQRapidityGapFilter contains the index of the bc we want to get ZDC info from
@@ -1958,6 +1964,13 @@ struct TableMaker {
19581964 fullSkimming<gkEventFillMapWithCentAndMults, 0u , gkMuonFillMapWithCov, 0u >(collisions, bcs, nullptr , nullptr , muons, nullptr , nullptr , fwdTrackAssocs, nullptr , nullptr , ft0s, fv0as, fdds);
19591965 }
19601966
1967+ // produce the muon only DQ skimmed data model typically for Pb-Pb (with centrality), no subscribtion to the DQ event filter
1968+ void processPbPbMuonOnlyWithQvect (MyEventsWithCentAndMultsQvect const & collisions, MyBCs const & bcs,
1969+ MyMuonsWithCov const & muons, FwdTrackAssoc const & fwdTrackAssocs, aod::FT0s& ft0s, aod::FV0As& fv0as, aod::FDDs& fdds)
1970+ {
1971+ fullSkimming<gkEventFillMapWithCentAndMultsQvect, 0u , gkMuonFillMapWithCov, 0u >(collisions, bcs, nullptr , nullptr , muons, nullptr , nullptr , fwdTrackAssocs, nullptr , nullptr , ft0s, fv0as, fdds);
1972+ }
1973+
19611974 // produce the realigned muon only DQ skimmed data model typically for Pb-Pb (with centrality), no subscribtion to the DQ event filter
19621975 void processPbPbRealignedMuonOnly (MyEventsWithCentAndMults const & collisions, MyBCs const & bcs,
19631976 MyMuonsRealignWithCov const & muons, FwdTrackAssoc const & fwdTrackAssocs)
@@ -2010,6 +2023,7 @@ struct TableMaker {
20102023 PROCESS_SWITCH (TableMaker, processPbPbBarrelOnlyWithV0Bits, " Build barrel only DQ skimmed data model typically for Pb-Pb, w/ V0 bits, w/o event filtering" , false );
20112024 PROCESS_SWITCH (TableMaker, processPbPbBarrelOnlyWithV0BitsNoTOF, " Build barrel only DQ skimmed data model typically for Pb-Pb, w/ V0 bits, no TOF, w/o event filtering" , false );
20122025 PROCESS_SWITCH (TableMaker, processPbPbMuonOnly, " Build muon only DQ skimmed data model typically for Pb-Pb, w/o event filtering" , false );
2026+ PROCESS_SWITCH (TableMaker, processPbPbMuonOnlyWithQvect, " Build muon only DQ skimmed data model for Pb-Pb, with event properties and flow" , false );
20132027 PROCESS_SWITCH (TableMaker, processPbPbRealignedMuonOnly, " Build realigned muon only DQ skimmed data model typically for Pb-Pb, w/o event filtering" , false );
20142028 PROCESS_SWITCH (TableMaker, processPbPbMuonMFT, " Build muon + mft DQ skimmed data model typically for Pb-Pb, w/o event filtering" , false );
20152029 PROCESS_SWITCH (TableMaker, processOnlyBCs, " Analyze the BCs to store sampled lumi" , false );
0 commit comments