Skip to content

Commit 76324fc

Browse files
committed
adding PID checks
1 parent 16aea8c commit 76324fc

1 file changed

Lines changed: 85 additions & 14 deletions

File tree

PWGUD/Tasks/upcPhotonuclearAnalysisJMG.cxx

Lines changed: 85 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -60,24 +60,37 @@ DECLARE_SOA_COLUMN(EnergyZNC, energyZNC, float);
6060
DECLARE_SOA_COLUMN(AmplitudeFV0A, amplitudeFV0A, float);
6161
DECLARE_SOA_COLUMN(Occupancy, occupancy, float);
6262
DECLARE_SOA_COLUMN(UPCMode, upcMode, float);
63+
DECLARE_SOA_COLUMN(PVz, pvz, float);
6364
DECLARE_SOA_COLUMN(PtSideA, ptSideA, std::vector<float>);
64-
DECLARE_SOA_COLUMN(RapSideA, rapSideA, std::vector<float>);
65+
DECLARE_SOA_COLUMN(PSideA, pSideA, std::vector<float>);
66+
DECLARE_SOA_COLUMN(ChargeSideA, chargeSideA, std::vector<float>);
67+
DECLARE_SOA_COLUMN(PseudorapSideA, pseudorapSideA, std::vector<float>);
6568
DECLARE_SOA_COLUMN(PhiSideA, phiSideA, std::vector<float>);
6669
DECLARE_SOA_COLUMN(TpcSignalSideA, tpcSignalSideA, std::vector<float>);
6770
DECLARE_SOA_COLUMN(TofSignalSideA, tofSignalSideA, std::vector<float>);
6871
DECLARE_SOA_COLUMN(TpcNSigmaPiSideA, tpcNSigmaPiSideA, std::vector<float>);
6972
DECLARE_SOA_COLUMN(TofNSigmaPiSideA, tofNSigmaPiSideA, std::vector<float>);
7073
DECLARE_SOA_COLUMN(TpcNSigmaKaSideA, tpcNSigmaKaSideA, std::vector<float>);
7174
DECLARE_SOA_COLUMN(TofNSigmaKaSideA, tofNSigmaKaSideA, std::vector<float>);
75+
DECLARE_SOA_COLUMN(TpcNSigmaProSideA, tpcNSigmaProSideA, std::vector<float>);
76+
DECLARE_SOA_COLUMN(TofNSigmaProSideA, tofNSigmaProSideA, std::vector<float>);
77+
DECLARE_SOA_COLUMN(TofBetaSideA, tofBetaSideA, std::vector<float>);
78+
DECLARE_SOA_COLUMN(TofBetaErrorSideA, tofBetaErrorSideA, std::vector<float>);
7279
DECLARE_SOA_COLUMN(PtSideC, ptSideC, std::vector<float>);
73-
DECLARE_SOA_COLUMN(RapSideC, rapSideC, std::vector<float>);
80+
DECLARE_SOA_COLUMN(PSideC, pSideC, std::vector<float>);
81+
DECLARE_SOA_COLUMN(ChargeSideC, chargeSideC, std::vector<float>);
82+
DECLARE_SOA_COLUMN(PseudorapSideC, pseudorapSideC, std::vector<float>);
7483
DECLARE_SOA_COLUMN(PhiSideC, phiSideC, std::vector<float>);
7584
DECLARE_SOA_COLUMN(TpcSignalSideC, tpcSignalSideC, std::vector<float>);
7685
DECLARE_SOA_COLUMN(TofSignalSideC, tofSignalSideC, std::vector<float>);
7786
DECLARE_SOA_COLUMN(TpcNSigmaPiSideC, tpcNSigmaPiSideC, std::vector<float>);
7887
DECLARE_SOA_COLUMN(TofNSigmaPiSideC, tofNSigmaPiSideC, std::vector<float>);
7988
DECLARE_SOA_COLUMN(TpcNSigmaKaSideC, tpcNSigmaKaSideC, std::vector<float>);
8089
DECLARE_SOA_COLUMN(TofNSigmaKaSideC, tofNSigmaKaSideC, std::vector<float>);
90+
DECLARE_SOA_COLUMN(TpcNSigmaProSideC, tpcNSigmaProSideC, std::vector<float>);
91+
DECLARE_SOA_COLUMN(TofNSigmaProSideC, tofNSigmaProSideC, std::vector<float>);
92+
DECLARE_SOA_COLUMN(TofBetaSideC, tofBetaSideC, std::vector<float>);
93+
DECLARE_SOA_COLUMN(TofBetaErrorSideC, tofBetaErrorSideC, std::vector<float>);
8194
DECLARE_SOA_COLUMN(NchSideA, nchSideA, int);
8295
DECLARE_SOA_COLUMN(MultiplicitySideA, multiplicitySideA, int);
8396
DECLARE_SOA_COLUMN(NchSideC, nchSideC, int);
@@ -97,24 +110,37 @@ DECLARE_SOA_TABLE(TREE, "AOD", "Tree",
97110
tree::AmplitudeFV0A,
98111
tree::Occupancy,
99112
tree::UPCMode,
113+
tree::PVz,
100114
tree::PtSideA,
101-
tree::RapSideA,
115+
tree::PSideA,
116+
tree::ChargeSideA,
117+
tree::PseudorapSideA,
102118
tree::PhiSideA,
103119
tree::TpcSignalSideA,
104120
tree::TofSignalSideA,
105121
tree::TpcNSigmaPiSideA,
106122
tree::TofNSigmaPiSideA,
107123
tree::TpcNSigmaKaSideA,
108124
tree::TofNSigmaKaSideA,
125+
tree::TpcNSigmaProSideA,
126+
tree::TofNSigmaProSideA,
127+
tree::TofBetaSideA,
128+
tree::TofBetaErrorSideA,
109129
tree::PtSideC,
110-
tree::RapSideC,
130+
tree::PSideC,
131+
tree::ChargeSideC,
132+
tree::PseudorapSideC,
111133
tree::PhiSideC,
112134
tree::TpcSignalSideC,
113135
tree::TofSignalSideC,
114136
tree::TpcNSigmaPiSideC,
115137
tree::TofNSigmaPiSideC,
116138
tree::TpcNSigmaKaSideC,
117139
tree::TofNSigmaKaSideC,
140+
tree::TpcNSigmaProSideC,
141+
tree::TofNSigmaProSideC,
142+
tree::TofBetaSideC,
143+
tree::TofBetaErrorSideC,
118144
tree::NchSideA,
119145
tree::MultiplicitySideA,
120146
tree::NchSideC,
@@ -286,6 +312,8 @@ struct UpcPhotonuclearAnalysisJMG {
286312
histos.add("Tracks/SGsideA/hTrackPhi", "#it{#phi} distribution; #it{#phi}; counts", kTH1F, {axisPhi});
287313
histos.add("Tracks/SGsideA/hTrackEta", "#it{#eta} distribution; #it{#eta}; counts", kTH1F, {axisEta});
288314
histos.add("Tracks/SGsideA/hTrackTPCSignnalP", "#it{TPC dE/dx vs p}; #it{p*charge}; #it{TPC dE/dx}", kTH2F, {axisP, axisTPCSignal});
315+
histos.add("Tracks/SGsideA/hTrackTPCSignnalPPiones", "#it{TPC dE/dx vs p}; #it{p*charge}; #it{TPC dE/dx}", kTH2F, {axisP, axisTPCSignal});
316+
histos.add("Tracks/SGsideA/hTrackTPCSignnalPKaones", "#it{TPC dE/dx vs p}; #it{p*charge}; #it{TPC dE/dx}", kTH2F, {axisP, axisTPCSignal});
289317
histos.add("Tracks/SGsideA/hTrackTOFSignnalP", "#it{TOF signal vs p}; #it{p*charge}; #it{TOF signal}", kTH2F, {axisP, axisTPCSignal});
290318
histos.add("Tracks/SGsideA/hTrackITSNCls", "#it{N Clusters ITS} distribution; #it{N Clusters ITS}; counts", kTH1F, {axisNCls});
291319
histos.add("Tracks/SGsideA/hTrackITSChi2NCls", "#it{N Clusters Chi2 ITS} distribution; #it{N Clusters Chi2 ITS}; counts", kTH1F, {axisChi2NCls});
@@ -318,6 +346,8 @@ struct UpcPhotonuclearAnalysisJMG {
318346
histos.add("Tracks/SGsideC/hTrackPhi", "#it{#phi} distribution; #it{#phi}; counts", kTH1F, {axisPhi});
319347
histos.add("Tracks/SGsideC/hTrackEta", "#it{#eta} distribution; #it{#eta}; counts", kTH1F, {axisEta});
320348
histos.add("Tracks/SGsideC/hTrackTPCSignnalP", "#it{TPC dE/dx vs p}; #it{p*charge}; #it{TPC dE/dx}", kTH2F, {axisP, axisTPCSignal});
349+
histos.add("Tracks/SGsideC/hTrackTPCSignnalPPiones", "#it{TPC dE/dx vs p}; #it{p*charge}; #it{TPC dE/dx}", kTH2F, {axisP, axisTPCSignal});
350+
histos.add("Tracks/SGsideC/hTrackTPCSignnalPKaones", "#it{TPC dE/dx vs p}; #it{p*charge}; #it{TPC dE/dx}", kTH2F, {axisP, axisTPCSignal});
321351
histos.add("Tracks/SGsideC/hTrackTOFSignnalP", "#it{TOF signal vs p}; #it{p*charge}; #it{TOF signal}", kTH2F, {axisP, axisTPCSignal});
322352
histos.add("Tracks/SGsideC/hTrackITSNCls", "#it{N Clusters ITS} distribution; #it{N Clusters ITS}; counts", kTH1F, {axisNCls});
323353
histos.add("Tracks/SGsideC/hTrackITSChi2NCls", "#it{N Clusters Chi2 ITS} distribution; #it{N Clusters Chi2 ITS}; counts", kTH1F, {axisChi2NCls});
@@ -627,8 +657,8 @@ struct UpcPhotonuclearAnalysisJMG {
627657
int nchPVGapSideC = 0;
628658
int nchGapSideA = 0;
629659
int nchGapSideC = 0;
630-
std::vector<float> vTrackPtSideA, vTrackEtaSideA, vTrackPhiSideA, vTrackTPCSignalSideA, vTrackTOFSignalSideA, vTrackTPCNSigmaPiSideA, vTrackTOFNSigmaPiSideA, vTrackTPCNSigmaKaSideA, vTrackTOFNSigmaKaSideA;
631-
std::vector<float> vTrackPtSideC, vTrackEtaSideC, vTrackPhiSideC, vTrackTPCSignalSideC, vTrackTOFSignalSideC, vTrackTPCNSigmaPiSideC, vTrackTOFNSigmaPiSideC, vTrackTPCNSigmaKaSideC, vTrackTOFNSigmaKaSideC;
660+
std::vector<float> vTrackPtSideA, vTrackPSideA, vTrackChargeSideA, vTrackEtaSideA, vTrackPhiSideA, vTrackTPCSignalSideA, vTrackTOFSignalSideA, vTrackTPCNSigmaPiSideA, vTrackTOFNSigmaPiSideA, vTrackTPCNSigmaKaSideA, vTrackTOFNSigmaKaSideA, vTrackTPCNSigmaProSideA, vTrackTOFNSigmaProSideA, vTrackTOFBetaSideA, vTrackTOFNBetaErrorSideA;
661+
std::vector<float> vTrackPtSideC, vTrackPSideC, vTrackChargeSideC, vTrackEtaSideC, vTrackPhiSideC, vTrackTPCSignalSideC, vTrackTOFSignalSideC, vTrackTPCNSigmaPiSideC, vTrackTOFNSigmaPiSideC, vTrackTPCNSigmaKaSideC, vTrackTOFNSigmaKaSideC, vTrackTPCNSigmaProSideC, vTrackTOFNSigmaProSideC, vTrackTOFBetaSideC, vTrackTOFNBetaErrorSideC;
632662

633663
int nTracksChargedSideA(-222), nTracksChargedSideC(-222);
634664
int multiplicitySideA(-222), multiplicitySideC(-222);
@@ -675,20 +705,34 @@ struct UpcPhotonuclearAnalysisJMG {
675705
nTracksCharged++;
676706
sumPt += track.pt();
677707
float phiVal = RecoDecay::constrainAngle(phi(track.px(), track.py()), 0.f);
708+
float pTotal = momentum(track.px(), track.py(), track.pz()) * track.sign();
709+
float etaVal = eta(track.px(), track.py(), track.pz());
678710
histos.fill(HIST("Tracks/SGsideA/hTrackPt"), track.pt());
679711
histos.fill(HIST("Tracks/SGsideA/hTrackPhi"), phiVal);
680-
histos.fill(HIST("Tracks/SGsideA/hTrackEta"), eta(track.px(), track.py(), track.pz()));
681-
histos.fill(HIST("Tracks/SGsideA/hTrackTPCSignnalP"), momentum(track.px(), track.py(), track.pz()) * track.sign(), track.tpcSignal());
682-
histos.fill(HIST("Tracks/SGsideA/hTrackTOFSignnalP"), momentum(track.px(), track.py(), track.pz()) * track.sign(), track.tofSignal());
712+
histos.fill(HIST("Tracks/SGsideA/hTrackEta"), etaVal);
713+
histos.fill(HIST("Tracks/SGsideA/hTrackTPCSignnalP"), pTotal, track.tpcSignal());
714+
if(TMath::Sqrt(TMath::Power(track.tpcNSigmaPi(),2) + TMath::Power(track.tofNSigmaPi(),2)) < 3 && TMath::Sqrt(TMath::Power(tpcNSigmaKa(),2) + TMath::Power(tofNSigmaKa(),2)) > 3){
715+
histos.fill(HIST("Tracks/SGsideA/hTrackTPCSignnalPPiones"), pTotal, track.tpcSignal());
716+
}
717+
if(TMath::Sqrt(TMath::Power(track.tpcNSigmaKa(),2) + TMath::Power(track.tofNSigmaKa(),2)) < 3 && TMath::Sqrt(TMath::Power(tpcNSigmaPi(),2) + TMath::Power(tofNSigmaPi(),2)) > 3){
718+
histos.fill(HIST("Tracks/SGsideA/hTrackTPCSignnalPKaones"), pTotal, track.tpcSignal());
719+
}
720+
histos.fill(HIST("Tracks/SGsideA/hTrackTOFSignnalP"), pTotal, track.tofSignal());
683721
vTrackPtSideA.push_back(track.pt());
684-
vTrackEtaSideA.push_back(eta(track.px(), track.py(), track.pz()));
722+
vTrackPSideA.push_back(pTotal);
723+
vTrackChargeSideA.push_back(track.sign());
724+
vTrackEtaSideA.push_back(etaVal);
685725
vTrackPhiSideA.push_back(phiVal);
686726
vTrackTPCSignalSideA.push_back(track.tpcSignal());
687727
vTrackTOFSignalSideA.push_back(track.tofSignal());
688728
vTrackTPCNSigmaPiSideA.push_back(track.tpcNSigmaPi());
689729
vTrackTOFNSigmaPiSideA.push_back(track.tofNSigmaPi());
690730
vTrackTPCNSigmaKaSideA.push_back(track.tpcNSigmaKa());
691731
vTrackTOFNSigmaKaSideA.push_back(track.tofNSigmaKa());
732+
vTrackTPCNSigmaProSideA.push_back(track.tpcNSigmaPr());
733+
vTrackTOFNSigmaProSideA.push_back(track.tofNSigmaPr());
734+
vTrackTOFBetaSideA.push_back(track.beta());
735+
vTrackTOFBetaErrorSideA.push_back(track.betaerror());
692736

693737
histos.fill(HIST("Tracks/SGsideA/hTrackITSNCls"), track.itsNCls());
694738
histos.fill(HIST("Tracks/SGsideA/hTrackITSChi2NCls"), track.itsChi2NCl());
@@ -735,20 +779,34 @@ struct UpcPhotonuclearAnalysisJMG {
735779
nTracksCharged++;
736780
sumPt += track.pt();
737781
float phiVal = RecoDecay::constrainAngle(phi(track.px(), track.py()), 0.f);
782+
float pTotal = momentum(track.px(), track.py(), track.pz()) * track.sign();
783+
float etaVal = eta(track.px(), track.py(), track.pz());
738784
histos.fill(HIST("Tracks/SGsideC/hTrackPt"), track.pt());
739785
histos.fill(HIST("Tracks/SGsideC/hTrackPhi"), phiVal);
740-
histos.fill(HIST("Tracks/SGsideC/hTrackEta"), eta(track.px(), track.py(), track.pz()));
741-
histos.fill(HIST("Tracks/SGsideC/hTrackTPCSignnalP"), momentum(track.px(), track.py(), track.pz()) * track.sign(), track.tpcSignal());
742-
histos.fill(HIST("Tracks/SGsideC/hTrackTOFSignnalP"), momentum(track.px(), track.py(), track.pz()) * track.sign(), track.tofSignal());
786+
histos.fill(HIST("Tracks/SGsideC/hTrackEta"), etaVal);
787+
histos.fill(HIST("Tracks/SGsideC/hTrackTPCSignnalP"), pTotal, track.tpcSignal());
788+
if(TMath::Sqrt(TMath::Power(track.tpcNSigmaPi(),2) + TMath::Power(track.tofNSigmaPi(),2)) < 3 && TMath::Sqrt(TMath::Power(tpcNSigmaKa(),2) + TMath::Power(tofNSigmaKa(),2)) > 3){
789+
histos.fill(HIST("Tracks/SGsideC/hTrackTPCSignnalPPiones"), pTotal, track.tpcSignal());
790+
}
791+
if(TMath::Sqrt(TMath::Power(track.tpcNSigmaKa(),2) + TMath::Power(track.tofNSigmaKa(),2)) < 3 && TMath::Sqrt(TMath::Power(tpcNSigmaPi(),2) + TMath::Power(tofNSigmaPi(),2)) > 3){
792+
histos.fill(HIST("Tracks/SGsideC/hTrackTPCSignnalPKaones"), pTotal, track.tpcSignal());
793+
}
794+
histos.fill(HIST("Tracks/SGsideC/hTrackTOFSignnalP"), pTotal, track.tofSignal());
743795
vTrackPtSideC.push_back(track.pt());
744-
vTrackEtaSideC.push_back(eta(track.px(), track.py(), track.pz()));
796+
vTrackPSideC.push_back(pTotal);
797+
vTrackChargeSideC.push_back(track.sign());
798+
vTrackEtaSideC.push_back(etaVal);
745799
vTrackPhiSideC.push_back(phiVal);
746800
vTrackTPCSignalSideC.push_back(track.tpcSignal());
747801
vTrackTOFSignalSideC.push_back(track.tofSignal());
748802
vTrackTPCNSigmaPiSideC.push_back(track.tpcNSigmaPi());
749803
vTrackTOFNSigmaPiSideC.push_back(track.tofNSigmaPi());
750804
vTrackTPCNSigmaKaSideC.push_back(track.tpcNSigmaKa());
751805
vTrackTOFNSigmaKaSideC.push_back(track.tofNSigmaKa());
806+
vTrackTPCNSigmaProSideC.push_back(track.tpcNSigmaPr());
807+
vTrackTOFNSigmaProSideC.push_back(track.tofNSigmaPr());
808+
vTrackTOFBetaSideC.push_back(track.beta());
809+
vTrackTOFBetaErrorSideC.push_back(track.betaerror());
752810

753811
histos.fill(HIST("Tracks/SGsideC/hTrackITSNCls"), track.itsNCls());
754812
histos.fill(HIST("Tracks/SGsideC/hTrackITSChi2NCls"), track.itsChi2NCl());
@@ -787,7 +845,10 @@ struct UpcPhotonuclearAnalysisJMG {
787845
reconstructedCollision.totalFV0AmplitudeA(),
788846
reconstructedCollision.occupancyInTime(),
789847
reconstructedCollision.flags(),
848+
reconstructedCollision.posZ(),
790849
vTrackPtSideA,
850+
vTrackPSideA,
851+
vTrackChargeSideA,
791852
vTrackEtaSideA,
792853
vTrackPhiSideA,
793854
vTrackTPCSignalSideA,
@@ -796,7 +857,13 @@ struct UpcPhotonuclearAnalysisJMG {
796857
vTrackTOFNSigmaPiSideA,
797858
vTrackTPCNSigmaKaSideA,
798859
vTrackTOFNSigmaKaSideA,
860+
vTrackTPCNSigmaProSideA,
861+
vTrackTOFNSigmaProSideA,
862+
vTrackTOFBetaSideA,
863+
vTrackTOFBetaErrorSideA,
799864
vTrackPtSideC,
865+
vTrackPSideC,
866+
vTrackChargeSideC,
800867
vTrackEtaSideC,
801868
vTrackPhiSideC,
802869
vTrackTPCSignalSideA,
@@ -805,6 +872,10 @@ struct UpcPhotonuclearAnalysisJMG {
805872
vTrackTOFNSigmaPiSideA,
806873
vTrackTPCNSigmaKaSideA,
807874
vTrackTOFNSigmaKaSideA,
875+
vTrackTPCNSigmaProSideA,
876+
vTrackTOFNSigmaProSideA,
877+
vTrackTOFBetaSideA,
878+
vTrackTOFBetaErrorSideA,
808879
nTracksChargedSideA,
809880
multiplicitySideA,
810881
nTracksChargedSideC,

0 commit comments

Comments
 (0)