Skip to content

Commit a947b87

Browse files
committed
Adding processes for realigned muons in track-to-collision association
1 parent dda784f commit a947b87

2 files changed

Lines changed: 32 additions & 1 deletion

File tree

Common/DataModel/FwdTrackReAlignTables.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,19 @@ using FwdTrackRealign = FwdTracksReAlign::iterator;
7272
using FwdTrkCovRealign = FwdTrksCovReAlign::iterator;
7373
using FullFwdTracksRealign = soa::Join<FwdTracksReAlign, FwdTrksCovReAlign>;
7474
using FullFwdTrackRealign = FullFwdTracksRealign::iterator;
75+
76+
// ambiguity table for realigned muons
77+
namespace fwdtrackrealignambiguous
78+
{
79+
DECLARE_SOA_INDEX_COLUMN_FULL(FwdTrackRealign, fwdTrackRealign, int, FwdTracksReAlign, ""); //! FwdTracksReAlign index
80+
DECLARE_SOA_SLICE_INDEX_COLUMN(BC, bc);
81+
82+
} // namespace fwdtrackrealignambiguous
83+
84+
DECLARE_SOA_TABLE(AmbiguousFwdTrksReAlign, "AOD", "AMBIFWDREALIGN", //! Table for FwdTracksReAlign which are not associated with a collision
85+
o2::soa::Index<>, fwdtrackrealignambiguous::FwdTrackRealignId, fwdtrackrealignambiguous::BCIdSlice);
86+
87+
using AmbiguousFwdTrkRealign = AmbiguousFwdTrksReAlign::iterator;
7588
} // namespace o2::aod
7689

7790
#endif // COMMON_DATAMODEL_FWDTRACKREALIGNTABLES_H_

Common/TableProducer/fwdtrackToCollisionAssociator.cxx

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
#include "Common/Core/CollisionAssociation.h"
1818
#include "Common/DataModel/CollisionAssociationTables.h"
19+
#include "Common/DataModel/FwdTrackReAlignTables.h"
1920

2021
#include <Framework/AnalysisDataModel.h>
2122
#include <Framework/AnalysisHelpers.h>
@@ -44,6 +45,7 @@ struct FwdTrackToCollisionAssociation {
4445
CollisionAssociation<false> collisionAssociator;
4546

4647
Preslice<FwdTracks> muonsPerCollisions = aod::fwdtrack::collisionId;
48+
Preslice<FwdTracksReAlign> realignmuonsPerCollisions = aod::fwdtrack::collisionId;
4749
Preslice<MFTTracks> mftsPerCollisions = aod::fwdtrack::collisionId;
4850

4951
void init(InitContext const&)
@@ -55,7 +57,7 @@ struct FwdTrackToCollisionAssociation {
5557
LOGP(fatal, "Exactly one process function between standard and time-based association should be enabled!");
5658
}
5759

58-
if (!(doprocessMFTAssocWithTime || doprocessMFTStandardAssoc || doprocessFwdAssocWithTime || doprocessFwdStandardAssoc)) {
60+
if (!(doprocessMFTAssocWithTime || doprocessMFTStandardAssoc || doprocessFwdAssocWithTime || doprocessFwdStandardAssoc || doprocessFwdRealignAssocWithTime || doprocessFwdRealignStandardAssoc)) {
5961
LOGP(fatal, "At least one process function should be enabled!");
6062
}
6163

@@ -85,6 +87,22 @@ struct FwdTrackToCollisionAssociation {
8587
}
8688
PROCESS_SWITCH(FwdTrackToCollisionAssociation, processFwdStandardAssoc, "Use standard fwdtrack-to-collision association", false);
8789

90+
void processFwdRealignAssocWithTime(Collisions const& collisions,
91+
FwdTracksReAlign const& muons,
92+
AmbiguousFwdTrksReAlign const& ambiTracksFwd,
93+
BCs const& bcs)
94+
{
95+
collisionAssociator.runAssocWithTime(collisions, muons, muons, ambiTracksFwd, bcs, fwdassociation, fwdreverseIndices);
96+
}
97+
PROCESS_SWITCH(FwdTrackToCollisionAssociation, processFwdRealignAssocWithTime, "Use fwdrealigntrack-to-collision association based on time", false);
98+
99+
void processFwdRealignStandardAssoc(Collisions const& collisions,
100+
FwdTracksReAlign const& muons)
101+
{
102+
collisionAssociator.runStandardAssoc(collisions, muons, realignmuonsPerCollisions, fwdassociation, fwdreverseIndices);
103+
}
104+
PROCESS_SWITCH(FwdTrackToCollisionAssociation, processFwdRealignStandardAssoc, "Use standard fwdrealigntrack-to-collision association", false);
105+
88106
void processMFTAssocWithTime(Collisions const& collisions,
89107
MFTTracks const& tracks,
90108
AmbiguousMFTTracks const& ambiguousTracks,

0 commit comments

Comments
 (0)