Skip to content

Commit 851162d

Browse files
[PWGCF] Add task for TrackTrackCascade analysis (#16371)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent 23dc037 commit 851162d

6 files changed

Lines changed: 720 additions & 0 deletions

File tree

PWGCF/Femto/Core/closeTripletRejection.h

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,21 @@ constexpr char PrefixTrack2V0Se[] = "CPR_Track2V0/SE/";
4646
constexpr char PrefixTrack1V0Me[] = "CPR_Track1V0/ME/";
4747
constexpr char PrefixTrack2V0Me[] = "CPR_Track2V0/ME/";
4848

49+
constexpr char PrefixTrack1CascadeSe[] = "CPR_Track1Cascade/SE/";
50+
constexpr char PrefixTrack2CascadeSe[] = "CPR_Track2Cascade/SE/";
51+
constexpr char PrefixTrack1CascadeMe[] = "CPR_Track1Cascade/ME/";
52+
constexpr char PrefixTrack2CascadeMe[] = "CPR_Track2Cascade/ME/";
53+
54+
constexpr char PrefixTrack1V0DaughterSe[] = "CPR_Track1V0Dau/SE/";
55+
constexpr char PrefixTrack2V0DaughterSe[] = "CPR_Track2V0Dau/SE/";
56+
constexpr char PrefixTrack1V0DaughterMe[] = "CPR_Track1V0Dau/ME/";
57+
constexpr char PrefixTrack2V0DaughterMe[] = "CPR_Track2V0Dau/ME/";
58+
59+
constexpr char PrefixTrack1CascadeBachelorSe[] = "CPR_Track1CascadeBachelor/SE/";
60+
constexpr char PrefixTrack2CascadeBachelorSe[] = "CPR_TrackCascadeBachelor/SE/";
61+
constexpr char PrefixTrack1CascadeBachelorMe[] = "CPR_TrackCascadeBachelor/ME/";
62+
constexpr char PrefixTrack2CascadeBachelorMe[] = "CPR_TrackCascadeBachelor/ME/";
63+
4964
template <const char* prefixTrack1Track2,
5065
const char* prefixTrack2Track3,
5166
const char* prefixTrack1Track3>
@@ -151,6 +166,64 @@ class CloseTripletRejectionTrackTrackV0
151166
closepairrejection::ClosePairRejectionTrackV0<prefixTrack2V0> mCtrTrack2V0;
152167
};
153168

169+
template <const char* prefixTrack1Track2,
170+
const char* prefixTrack1Bachelor,
171+
const char* prefixTrack1V0Daughter,
172+
const char* prefixTrack2Bachelor,
173+
const char* prefixTrack2V0Daughter>
174+
class CloseTripletRejectionTrackTrackCascade
175+
{
176+
public:
177+
CloseTripletRejectionTrackTrackCascade() = default;
178+
~CloseTripletRejectionTrackTrackCascade() = default;
179+
180+
template <typename T1, typename T2, typename T3>
181+
void init(o2::framework::HistogramRegistry* registry,
182+
std::map<closepairrejection::CprHist, std::vector<o2::framework::AxisSpec>> const& specs,
183+
std::map<closepairrejection::CprHist, std::vector<o2::framework::AxisSpec>> const& specsBachelor,
184+
std::map<closepairrejection::CprHist, std::vector<o2::framework::AxisSpec>> const& specsV0Daughter,
185+
T1 const& confCpr,
186+
T2 const& confCprBachelor,
187+
T3 const& confCprV0Daughter,
188+
int absChargeTrack1,
189+
int absChargeTrack2)
190+
{
191+
mCtrTrack12.init(registry, specs, confCpr, absChargeTrack1, absChargeTrack2);
192+
mCtrTrack1Cascade.init(registry, specsBachelor, specsV0Daughter, confCprBachelor, confCprV0Daughter, absChargeTrack1);
193+
mCtrTrack2Cascade.init(registry, specsBachelor, specsV0Daughter, confCprBachelor, confCprV0Daughter, absChargeTrack2);
194+
}
195+
196+
void setMagField(float magField)
197+
{
198+
mCtrTrack12.setMagField(magField);
199+
mCtrTrack1Cascade.setMagField(magField);
200+
mCtrTrack2Cascade.setMagField(magField);
201+
}
202+
template <typename T1, typename T2, typename T3, typename T4>
203+
void setTriplet(T1 const& track1, T2 const& track2, T3 const& cascade, T4 const& trackTable)
204+
{
205+
mCtrTrack12.setPair(track1, track2, trackTable);
206+
mCtrTrack1Cascade.setPair(track1, cascade, trackTable);
207+
mCtrTrack2Cascade.setPair(track2, cascade, trackTable);
208+
}
209+
bool isCloseTriplet() const
210+
{
211+
return mCtrTrack12.isClosePair() || mCtrTrack1Cascade.isClosePair() || mCtrTrack2Cascade.isClosePair();
212+
}
213+
214+
void fill(float q3)
215+
{
216+
mCtrTrack12.fill(q3);
217+
mCtrTrack1Cascade.fill(q3);
218+
mCtrTrack2Cascade.fill(q3);
219+
}
220+
221+
private:
222+
closepairrejection::ClosePairRejectionTrackTrack<prefixTrack1Track2> mCtrTrack12;
223+
closepairrejection::ClosePairRejectionTrackCascade<prefixTrack1Bachelor, prefixTrack1V0Daughter> mCtrTrack1Cascade;
224+
closepairrejection::ClosePairRejectionTrackCascade<prefixTrack2Bachelor, prefixTrack2V0Daughter> mCtrTrack2Cascade;
225+
};
226+
154227
}; // namespace closetripletrejection
155228
}; // namespace o2::analysis::femto
156229
#endif // PWGCF_FEMTO_CORE_CLOSETRIPLETREJECTION_H_

0 commit comments

Comments
 (0)