Skip to content

Commit 82d5221

Browse files
author
Sofia Tomassini
committed
Add ITS PID and changing of double track cuts
1 parent e49c109 commit 82d5221

File tree

6 files changed

+75
-11
lines changed

6 files changed

+75
-11
lines changed

PWGCF/Femto3D/DataModel/singletrackselector.h

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,15 @@ DECLARE_SOA_COLUMN(StoredTPCNSigmaDe, storedTpcNSigmaDe, binning::nsigma::binned
254254
DECLARE_SOA_DYNAMIC_COLUMN(TPCNSigmaDe, tpcNSigmaDe,
255255
[](binning::nsigma::binned_t nsigma_binned) -> float { return singletrackselector::unPackSymmetric<binning::nsigma>(nsigma_binned); });
256256

257+
//------------------------------------ Triton ------------------------------------
258+
DECLARE_SOA_COLUMN(StoredTOFNSigmaTr, storedTofNSigmaTr, binning::nsigma::binned_t); // (v1) TOF
259+
DECLARE_SOA_DYNAMIC_COLUMN(TOFNSigmaTr, tofNSigmaTr,
260+
[](binning::nsigma::binned_t nsigma_binned) -> float { return singletrackselector::unPackSymmetric<binning::nsigma>(nsigma_binned); });
261+
262+
DECLARE_SOA_COLUMN(StoredTPCNSigmaTr, storedTpcNSigmaTr, binning::nsigma::binned_t); // (v1) TPC
263+
DECLARE_SOA_DYNAMIC_COLUMN(TPCNSigmaTr, tpcNSigmaTr,
264+
[](binning::nsigma::binned_t nsigma_binned) -> float { return singletrackselector::unPackSymmetric<binning::nsigma>(nsigma_binned); });
265+
257266
//------------------------------------ Helium3 ------------------------------------
258267
DECLARE_SOA_COLUMN(StoredTOFNSigmaHe, storedTofNSigmaHe, binning::nsigma::binned_t); // (v1) TOF
259268
DECLARE_SOA_DYNAMIC_COLUMN(TOFNSigmaHe, tofNSigmaHe,
@@ -348,6 +357,7 @@ DECLARE_SOA_TABLE(SingleTrackSels_v3, "AOD", "SINGLETRACKSEL", // Table of the v
348357
o2::aod::pidits::ITSNSigmaKaImp<singletrackselector::ITSclusterSizes, singletrackselector::P, singletrackselector::Eta>,
349358
o2::aod::pidits::ITSNSigmaPrImp<singletrackselector::ITSclusterSizes, singletrackselector::P, singletrackselector::Eta>,
350359
o2::aod::pidits::ITSNSigmaDeImp<singletrackselector::ITSclusterSizes, singletrackselector::P, singletrackselector::Eta>,
360+
o2::aod::pidits::ITSNSigmaTrImp<singletrackselector::ITSclusterSizes, singletrackselector::P, singletrackselector::Eta>,
351361
o2::aod::pidits::ITSNSigmaHeImp<singletrackselector::ITSclusterSizes, singletrackselector::P, singletrackselector::Eta>);
352362

353363
DECLARE_SOA_TABLE_VERSIONED(SingleTrackSels_v2, "AOD", "SINGLETRACKSEL2", 2, // Table of the variables for single track selection.
@@ -447,6 +457,13 @@ DECLARE_SOA_TABLE(SinglePIDDes, "AOD", "SINGLEPIDDE",
447457
singletrackselector::TOFNSigmaDe<singletrackselector::StoredTOFNSigmaDe>,
448458
singletrackselector::TPCNSigmaDe<singletrackselector::StoredTPCNSigmaDe>);
449459

460+
DECLARE_SOA_TABLE(SinglePIDTrs, "AOD", "SINGLEPIDTR",
461+
singletrackselector::StoredTOFNSigmaTr,
462+
singletrackselector::StoredTPCNSigmaTr,
463+
464+
singletrackselector::TOFNSigmaTr<singletrackselector::StoredTOFNSigmaTr>,
465+
singletrackselector::TPCNSigmaTr<singletrackselector::StoredTPCNSigmaTr>);
466+
450467
DECLARE_SOA_TABLE(SinglePIDHes, "AOD", "SINGLEPIDHE",
451468
singletrackselector::StoredTOFNSigmaHe,
452469
singletrackselector::StoredTPCNSigmaHe,
@@ -500,7 +517,7 @@ DECLARE_SOA_TABLE(SingleTrkMCs, "AOD", "SINGLETRKMC", // Table with generatad in
500517

501518
namespace o2::aod::singletrackselector
502519
{
503-
template <typename TrackType>
520+
template <typename TrackType>
504521
inline bool ITSselection(TrackType const& track, std::pair<int, std::vector<float>> const& PIDcuts)
505522
{
506523
int PDG = PIDcuts.first;
@@ -516,6 +533,9 @@ inline bool ITSselection(TrackType const& track, std::pair<int, std::vector<floa
516533
case 1000020030:
517534
Nsigma = track.itsNSigmaHe();
518535
break;
536+
case 1000010030:
537+
Nsigma = track.itsNSigmaTr();
538+
break;
519539
case 211:
520540
Nsigma = track.itsNSigmaPi();
521541
break;
@@ -534,15 +554,15 @@ inline bool ITSselection(TrackType const& track, std::pair<int, std::vector<floa
534554
return false;
535555
}
536556

537-
538557
template <bool useITS, typename TrackType>
539558
inline bool TPCselection(TrackType const& track, std::pair<int, std::vector<float>> const& PIDcuts, std::vector<float> const& ITSCut = std::vector<float>{})
540559
{
541560
int PDG = PIDcuts.first;
542561

543-
if constexpr (useITS){
544-
if (ITSCut.size()!=0 && !ITSselection(track, std::make_pair(PDG, ITSCut)))
545-
return false;}
562+
if constexpr (useITS) {
563+
if (ITSCut.size() != 0 && !ITSselection(track, std::make_pair(PDG, ITSCut)))
564+
return false;
565+
}
546566

547567
float Nsigma = -1000;
548568
switch (PDG) {
@@ -555,6 +575,9 @@ inline bool TPCselection(TrackType const& track, std::pair<int, std::vector<floa
555575
case 1000020030:
556576
Nsigma = track.tpcNSigmaHe();
557577
break;
578+
case 1000010030:
579+
Nsigma = track.tpcNSigmaTr();
580+
break;
558581
case 211:
559582
Nsigma = track.tpcNSigmaPi();
560583
break;
@@ -591,6 +614,9 @@ inline bool TOFselection(TrackType const& track, std::pair<int, std::vector<floa
591614
case 1000020030:
592615
Nsigma = track.tofNSigmaHe();
593616
break;
617+
case 1000010030:
618+
Nsigma = track.tofNSigmaTr();
619+
break;
594620
case 211:
595621
Nsigma = track.tofNSigmaPi();
596622
break;

PWGCF/Femto3D/TableProducer/singleTrackSelector.cxx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,9 @@ struct singleTrackSelector {
8787

8888
using Trks = soa::Join<aod::Tracks, aod::TracksExtra, aod::pidEvTimeFlags, aod::TracksDCA,
8989
aod::pidTPCFullEl, aod::pidTPCFullPi, aod::pidTPCFullKa,
90-
aod::pidTPCFullPr, aod::pidTPCFullDe, aod::pidTPCFullHe,
90+
aod::pidTPCFullPr, aod::pidTPCFullDe, aod::pidTPCFullTr, aod::pidTPCFullHe,
9191
aod::pidTOFFullEl, aod::pidTOFFullMu, aod::pidTOFFullPi, aod::pidTOFFullKa,
92-
aod::pidTOFFullPr, aod::pidTOFFullDe, aod::pidTOFFullHe,
92+
aod::pidTOFFullPr, aod::pidTOFFullDe, aod::pidTOFFullTr, aod::pidTOFFullHe,
9393
aod::TrackSelection, aod::pidTOFbeta>;
9494

9595
using CollRun2 = soa::Join<aod::Collisions, aod::Mults, aod::EvSels, aod::CentRun2V0Ms>;
@@ -106,6 +106,7 @@ struct singleTrackSelector {
106106
Produces<o2::aod::SinglePIDKas> tableRowPIDKa;
107107
Produces<o2::aod::SinglePIDPrs> tableRowPIDPr;
108108
Produces<o2::aod::SinglePIDDes> tableRowPIDDe;
109+
Produces<o2::aod::SinglePIDTrs> tableRowPIDTr;
109110
Produces<o2::aod::SinglePIDHes> tableRowPIDHe;
110111

111112
Produces<o2::aod::SingleTrkMCs> tableRowMC;
@@ -267,6 +268,9 @@ struct singleTrackSelector {
267268
tableRowPIDDe(singletrackselector::packSymmetric<singletrackselector::binning::nsigma>(track.tofNSigmaDe()),
268269
singletrackselector::packSymmetric<singletrackselector::binning::nsigma>(track.tpcNSigmaDe()));
269270

271+
tableRowPIDTr(singletrackselector::packSymmetric<singletrackselector::binning::nsigma>(track.tofNSigmaTr()),
272+
singletrackselector::packSymmetric<singletrackselector::binning::nsigma>(track.tpcNSigmaTr()));
273+
270274
tableRowPIDHe(singletrackselector::packSymmetric<singletrackselector::binning::nsigma>(track.tofNSigmaHe()),
271275
singletrackselector::packSymmetric<singletrackselector::binning::nsigma>(track.tpcNSigmaHe()));
272276

PWGCF/Femto3D/TableProducer/singleTrackSelectorPIDMaker.cxx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,19 @@ struct StPidDe {
8888
}
8989
}
9090
};
91+
92+
struct StPidTr {
93+
Produces<o2::aod::SinglePIDTrs> table;
94+
void process(o2::aod::SingleTrackSels const& tracks)
95+
{
96+
table.reserve(tracks.size());
97+
for (int i = 0; i < tracks.size(); i++) {
98+
table(singletrackselector::binning::nsigma::underflowBin,
99+
singletrackselector::binning::nsigma::underflowBin);
100+
}
101+
}
102+
};
103+
91104
struct StPidHe {
92105
Produces<o2::aod::SinglePIDHes> table;
93106
void process(o2::aod::SingleTrackSels const& tracks)
@@ -115,6 +128,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
115128
{"O2singlepidka", {[&]() { workflow.push_back(adaptAnalysisTask<StPidKa>(cfgc)); }}},
116129
{"O2singlepidpr", {[&]() { workflow.push_back(adaptAnalysisTask<StPidPr>(cfgc)); }}},
117130
{"O2singlepidde", {[&]() { workflow.push_back(adaptAnalysisTask<StPidDe>(cfgc)); }}},
131+
{"O2singlepidtr", {[&]() { workflow.push_back(adaptAnalysisTask<StPidTr>(cfgc)); }}},
118132
{"O2singlepidhe", {[&]() { workflow.push_back(adaptAnalysisTask<StPidHe>(cfgc)); }}}
119133

120134
};

PWGCF/Femto3D/Tasks/femto3dPairTask.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ struct FemtoCorrelations {
123123
std::pair<int, std::vector<float>> TOFcuts_2;
124124

125125
using FilteredCollisions = soa::Join<aod::SingleCollSels, aod::SingleCollExtras>;
126-
using FilteredTracks = soa::Join<aod::SingleTrackSels, aod::SinglePIDPis, aod::SinglePIDKas, aod::SinglePIDPrs, aod::SinglePIDDes, aod::SinglePIDHes>;
126+
using FilteredTracks = soa::Join<aod::SingleTrackSels, aod::SinglePIDPis, aod::SinglePIDKas, aod::SinglePIDPrs, aod::SinglePIDDes, aod::SinglePIDTrs, aod::SinglePIDHes>;
127127

128128
typedef std::shared_ptr<soa::Filtered<FilteredTracks>::iterator> trkType;
129129
typedef std::shared_ptr<soa::Filtered<FilteredCollisions>::iterator> colType;

PWGCF/Femto3D/Tasks/femto3dPairTaskMC.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ struct FemtoCorrelationsMC {
105105
std::pair<int, std::vector<float>> TOFcuts_2;
106106

107107
using FilteredCollisions = soa::Join<aod::SingleCollSels, aod::SingleCollExtras>;
108-
using FilteredTracks = soa::Join<aod::SingleTrackSels, aod::SingleTrkMCs, aod::SinglePIDPis, aod::SinglePIDKas, aod::SinglePIDPrs, aod::SinglePIDDes, aod::SinglePIDHes>;
108+
using FilteredTracks = soa::Join<aod::SingleTrackSels, aod::SingleTrkMCs, aod::SinglePIDPis, aod::SinglePIDKas, aod::SinglePIDPrs, aod::SinglePIDDes, aod::SinglePIDTrs, aod::SinglePIDHes>;
109109

110110
typedef std::shared_ptr<soa::Filtered<FilteredTracks>::iterator> trkType;
111111
typedef std::shared_ptr<soa::Filtered<FilteredCollisions>::iterator> colType;

PWGCF/Femto3D/Tasks/femto3dQA.cxx

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,16 @@ struct QAHistograms {
166166
registry.add("nsigmaTPCDe", "nsigmaTPCDe", kTH2F, {{100, 0., 5.}, {100, -10., 10.}});
167167
registry.add("nsigmaITSDe", "nsigmaITSDe", kTH2F, {{100, 0., 5.}, {100, -10., 10.}});
168168
break;
169+
case 1000010030:
170+
registry.add("nsigmaTOFTr", "nsigmaTOFTr", kTH2F, {{100, 0., 5.}, {100, -10., 10.}});
171+
registry.add("nsigmaTPCTr", "nsigmaTPCTr", kTH2F, {{100, 0., 5.}, {100, -10., 10.}});
172+
registry.add("nsigmaITSTr", "nsigmaITSTr", kTH2F, {{100, 0., 5.}, {100, -10., 10.}});
173+
break;
174+
case 1000020030:
175+
registry.add("nsigmaTOFHe", "nsigmaTOFHe", kTH2F, {{100, 0., 5.}, {100, -10., 10.}});
176+
registry.add("nsigmaTPCHe", "nsigmaTPCHe", kTH2F, {{100, 0., 5.}, {100, -10., 10.}});
177+
registry.add("nsigmaITSHe", "nsigmaITSHe", kTH2F, {{100, 0., 5.}, {100, -10., 10.}});
178+
break;
169179
default:
170180
break;
171181
}
@@ -277,6 +287,16 @@ struct QAHistograms {
277287
registry.fill(HIST("nsigmaTPCDe"), track.p(), track.tpcNSigmaDe());
278288
registry.fill(HIST("nsigmaITSDe"), track.p(), track.itsNSigmaDe());
279289
break;
290+
case 1000010030:
291+
registry.fill(HIST("nsigmaTOFTr"), track.p(), track.tofNSigmaTr());
292+
registry.fill(HIST("nsigmaTPCTr"), track.p(), track.tpcNSigmaTr());
293+
registry.fill(HIST("nsigmaITSTr"), track.p(), track.itsNSigmaTr());
294+
break;
295+
case 1000020030:
296+
registry.fill(HIST("nsigmaTOFHe"), track.p(), track.tofNSigmaHe());
297+
registry.fill(HIST("nsigmaTPCHe"), track.p(), track.tpcNSigmaHe());
298+
registry.fill(HIST("nsigmaITSHe"), track.p(), track.itsNSigmaHe());
299+
break;
280300
default:
281301
break;
282302
}
@@ -289,13 +309,13 @@ struct QAHistograms {
289309
}
290310
}
291311

292-
void processDefault(soa::Filtered<soa::Join<aod::SingleCollSels, aod::SingleCollExtras>> const& collisions, soa::Filtered<soa::Join<aod::SingleTrackSels, aod::SinglePIDPis, aod::SinglePIDKas, aod::SinglePIDPrs, aod::SinglePIDDes, aod::SinglePIDHes>> const& tracks)
312+
void processDefault(soa::Filtered<soa::Join<aod::SingleCollSels, aod::SingleCollExtras>> const& collisions, soa::Filtered<soa::Join<aod::SingleTrackSels, aod::SinglePIDPis, aod::SinglePIDKas, aod::SinglePIDPrs, aod::SinglePIDDes, aod::SinglePIDTrs, aod::SinglePIDHes>> const& tracks)
293313
{
294314
fillHistograms<false>(collisions, tracks);
295315
}
296316
PROCESS_SWITCH(QAHistograms, processDefault, "process default", true);
297317

298-
void processExtra(soa::Filtered<soa::Join<aod::SingleCollSels, aod::SingleCollExtras>> const& collisions, soa::Filtered<soa::Join<aod::SingleTrackSels, aod::SingleTrkExtras, aod::SinglePIDPis, aod::SinglePIDKas, aod::SinglePIDPrs, aod::SinglePIDDes, aod::SinglePIDHes>> const& tracks)
318+
void processExtra(soa::Filtered<soa::Join<aod::SingleCollSels, aod::SingleCollExtras>> const& collisions, soa::Filtered<soa::Join<aod::SingleTrackSels, aod::SingleTrkExtras, aod::SinglePIDPis, aod::SinglePIDKas, aod::SinglePIDPrs, aod::SinglePIDDes, aod::SinglePIDTrs, aod::SinglePIDHes>> const& tracks)
299319
{
300320
fillHistograms<true>(collisions, tracks);
301321
}

0 commit comments

Comments
 (0)