Skip to content

Commit e48f23a

Browse files
author
Prottay Das
committed
refactoring the code for systematic study of V0 mesons
1 parent 1592596 commit e48f23a

File tree

3 files changed

+430
-163
lines changed

3 files changed

+430
-163
lines changed

PWGCF/DataModel/CorrelationsDerived.h

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,54 @@ DECLARE_SOA_TABLE(CF2ProngTracks, "AOD", "CF2PRONGTRACK", //! Reduced track tabl
165165
using CF2ProngTrack = CF2ProngTracks::iterator;
166166
//------
167167

168+
// adding table for systematic
169+
// ---- systematics bit layout (cut × WP) ----
170+
namespace cf2prngcuttrack
171+
{
172+
173+
// Keys to refer back to collisions/tracks (handy for checks)
174+
DECLARE_SOA_INDEX_COLUMN_FULL(CFTrackProng0, cfTrackProng0, int, CFTracks, "_0");
175+
DECLARE_SOA_INDEX_COLUMN_FULL(CFTrackProng1, cfTrackProng1, int, CFTracks, "_1");
176+
177+
// Kinematics + decay (to keep downstream code unchanged)
178+
DECLARE_SOA_COLUMN(Pt, pt, float);
179+
DECLARE_SOA_COLUMN(Eta, eta, float);
180+
DECLARE_SOA_COLUMN(Phi, phi, float);
181+
DECLARE_SOA_COLUMN(InvMass, invMass, float);
182+
DECLARE_SOA_COLUMN(Decay, decay, uint8_t);
183+
184+
// Systematics bitmasks (flattened cut × WP)
185+
DECLARE_SOA_COLUMN(SelMask0, selMask0, uint64_t); // bits [0..63]
186+
DECLARE_SOA_COLUMN(SelMask1, selMask1, uint64_t); // bits [64..127]
187+
188+
// Cut categories; WP index is handled separately
189+
enum CutId : uint8_t {
190+
kCutCosPA, // cosPA
191+
kCutDcaDau, // DCA(daughters)
192+
kCutDcaPi, // DCA(pi→PV)
193+
kCutDcaPr, // DCA(pr→PV)
194+
kCutRadMin, // radmin
195+
kCutLT, // lifetime
196+
kCutPID, // PID
197+
kNCuts // to count total number of systematic cuts
198+
};
199+
static constexpr int kMaxWP = 2; // reserve 16 WPs per cut
200+
static constexpr int kTotalBits = kNCuts * kMaxWP; // total bit capacity
201+
202+
} // namespace cf2prngcuttrack
203+
204+
// Self-contained “systematics” table
205+
DECLARE_SOA_TABLE(CF2PrngCutTracks, "AOD", "CF2PRNGCUTTRACK",
206+
o2::soa::Index<>,
207+
cftrack::CFCollisionId,
208+
cf2prngcuttrack::CFTrackProng0Id,
209+
cf2prngcuttrack::CFTrackProng1Id,
210+
cf2prngcuttrack::Pt, cf2prngcuttrack::Eta, cf2prngcuttrack::Phi,
211+
cf2prngcuttrack::InvMass, cf2prngcuttrack::Decay,
212+
cf2prngcuttrack::SelMask0, cf2prngcuttrack::SelMask1);
213+
using CF2PrngCutTrack = CF2PrngCutTracks::iterator;
214+
///-------------------
215+
168216
namespace cf2prongtrackml
169217
{
170218
DECLARE_SOA_COLUMN(MlProbD0, mlProbD0, std::vector<float>); //!

0 commit comments

Comments
 (0)