@@ -60,24 +60,37 @@ DECLARE_SOA_COLUMN(EnergyZNC, energyZNC, float);
6060DECLARE_SOA_COLUMN (AmplitudeFV0A, amplitudeFV0A, float );
6161DECLARE_SOA_COLUMN (Occupancy, occupancy, float );
6262DECLARE_SOA_COLUMN (UPCMode, upcMode, float );
63+ DECLARE_SOA_COLUMN (PVz, pvz, float );
6364DECLARE_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 >);
6568DECLARE_SOA_COLUMN (PhiSideA, phiSideA, std::vector<float >);
6669DECLARE_SOA_COLUMN (TpcSignalSideA, tpcSignalSideA, std::vector<float >);
6770DECLARE_SOA_COLUMN (TofSignalSideA, tofSignalSideA, std::vector<float >);
6871DECLARE_SOA_COLUMN (TpcNSigmaPiSideA, tpcNSigmaPiSideA, std::vector<float >);
6972DECLARE_SOA_COLUMN (TofNSigmaPiSideA, tofNSigmaPiSideA, std::vector<float >);
7073DECLARE_SOA_COLUMN (TpcNSigmaKaSideA, tpcNSigmaKaSideA, std::vector<float >);
7174DECLARE_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 >);
7279DECLARE_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 >);
7483DECLARE_SOA_COLUMN (PhiSideC, phiSideC, std::vector<float >);
7584DECLARE_SOA_COLUMN (TpcSignalSideC, tpcSignalSideC, std::vector<float >);
7685DECLARE_SOA_COLUMN (TofSignalSideC, tofSignalSideC, std::vector<float >);
7786DECLARE_SOA_COLUMN (TpcNSigmaPiSideC, tpcNSigmaPiSideC, std::vector<float >);
7887DECLARE_SOA_COLUMN (TofNSigmaPiSideC, tofNSigmaPiSideC, std::vector<float >);
7988DECLARE_SOA_COLUMN (TpcNSigmaKaSideC, tpcNSigmaKaSideC, std::vector<float >);
8089DECLARE_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 >);
8194DECLARE_SOA_COLUMN (NchSideA, nchSideA, int );
8295DECLARE_SOA_COLUMN (MultiplicitySideA, multiplicitySideA, int );
8396DECLARE_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