1313// / \brief Task to compute and evaluate DCA quantities
1414// / \author Nicolas Bizé <nicolas.bize@cern.ch>, SUBATECH
1515//
16+
1617#include " PWGDQ/Core/VarManager.h"
17- #include " PWGDQ/DataModel/ReducedInfoTables.h"
18+ // #include "PWGDQ/DataModel/ReducedInfoTables.h"
1819
1920#include " Common/CCDB/EventSelectionParams.h"
2021#include " Common/CCDB/RCTSelectionFlags.h"
2122#include " Common/DataModel/EventSelection.h"
23+ #include " Common/DataModel/TrackSelectionTables.h"
2224
2325#include < CCDB/BasicCCDBManager.h>
2426#include < CCDB/CcdbApi.h>
@@ -88,9 +90,9 @@ using namespace o2::aod;
8890
8991using namespace o2 ::aod::rctsel;
9092
91- using MyReducedMuons = soa::Join<aod::ReducedMuons, aod::ReducedMuonsExtra, aod::ReducedMuonsCov>;
92- using MyReducedEvents = soa::Join<aod::ReducedEvents, aod::ReducedEventsExtended>;
93- using MyReducedEventsVtxCov = soa::Join<aod::ReducedEvents, aod::ReducedEventsExtended, aod::ReducedEventsVtxCov>;
93+ // using MyReducedMuons = soa::Join<aod::ReducedMuons, aod::ReducedMuonsExtra, aod::ReducedMuonsCov>;
94+ // using MyReducedEvents = soa::Join<aod::ReducedEvents, aod::ReducedEventsExtended>;
95+ // using MyReducedEventsVtxCov = soa::Join<aod::ReducedEvents, aod::ReducedEventsExtended, aod::ReducedEventsVtxCov>;
9496
9597using MyCollisions = aod::Collisions;
9698using MyBCs = soa::Join<aod::BCs, aod::Timestamps, aod::BcSels>;
@@ -114,7 +116,22 @@ static o2::globaltracking::MatchGlobalFwd sExtrap;
114116using o2::dataformats::GlobalFwdTrack;
115117using o2::track::TrackParCovFwd;
116118
119+ namespace o2 ::aod
120+ {
121+ DECLARE_SOA_TABLE (CompactMFTTracks, " AOD" , " COMPACTMFT" , // ! standalone table for studying alignment
122+ collision::PosX, collision::PosY, collision::PosZ,
123+ fwdtrack::Signed1Pt, fwdtrack::Tgl, fwdtrack::Phi,
124+ fwdtrack::FwdDcaX, fwdtrack::FwdDcaY, o2::aod::fwdtrack::CXX, o2::aod::fwdtrack::CYY, o2::aod::fwdtrack::CXY,
125+ fwdtrack::NClusters, fwdtrack::Chi2,
126+ fwdtrack::X, fwdtrack::Y, fwdtrack::Z);
127+ using CompactMFTTrack = CompactMFTTracks;
128+ } // namespace o2::aod
129+
117130struct muonGlobalAlignment {
131+
132+ Produces<aod::CompactMFTTracks> mftTable;
133+ Configurable<bool > cfgProduceMFTTable{" cfgProduceMFTTable" , false , " flag to produce MFTsa table" };
134+
118135 // // Variables for selecting MCH and MFT tracks
119136 Configurable<float > fTrackChi2MchUp {" cfgTrackChi2MchUp" , 5 .f , " " };
120137 Configurable<float > fPtMchLow {" cfgPtMchLow" , 0 .7f , " " };
@@ -1452,6 +1469,14 @@ struct muonGlobalAlignment {
14521469 registry.get <THnSparse>(HIST (" DCA/MFT/DCA_x" ))->Fill (dcax, collision.posZ (), mftTrack.x (), mftTrack.y (), mftNclusters);
14531470 registry.get <THnSparse>(HIST (" DCA/MFT/DCA_y" ))->Fill (dcay, collision.posZ (), mftTrack.x (), mftTrack.y (), mftNclusters);
14541471
1472+ if (cfgProduceMFTTable) {
1473+ mftTable (collision.posX (), collision.posY (), collision.posZ (),
1474+ mftTrack.signed1Pt (), mftTrack.tgl (), mftTrack.phi (),
1475+ dcax, dcay, mftTrackAtDCA.getSigma2X (), mftTrackAtDCA.getSigma2Y (), mftTrackAtDCA.getSigmaXY (),
1476+ mftNclusters, mftTrack.chi2 (),
1477+ mftTrack.x (), mftTrack.y (), mftTrack.z ());
1478+ }
1479+
14551480 if (fEnableMftDcaExtraPlots ) {
14561481 if (mftNclusters >= 6 ) {
14571482 for (int i = 0 ; i < nMftLayers; i++) {
0 commit comments