1212// / \brief Task for analysis of rho' in UPCs using UD tables (from SG producer).
1313// / \author Cesar Ramirez, cesar.ramirez@cern.ch
1414
15- #include < string> // Para std::string
16- #include < vector> // Para std::vector
15+ #include " PWGUD/Core/UPCTauCentralBarrelHelperRL.h"
16+ #include " PWGUD/DataModel/UDTables.h"
17+
18+ #include " Common/DataModel/PIDResponse.h"
1719
18- #include " Framework/AnalysisTask.h"
1920#include " Framework/AnalysisDataModel.h"
21+ #include " Framework/AnalysisTask.h"
2022#include " Framework/runDataProcessing.h"
2123
2224#include " Math/Vector4D.h" // similiar to TLorentzVector (which is now legacy apparently)
23- #include " random"
2425
25- #include " Common/DataModel/PIDResponse.h"
26-
27- #include " PWGUD/DataModel/UDTables.h"
28- #include " PWGUD/Core/UPCTauCentralBarrelHelperRL.h"
26+ #include " random"
27+ #include < string> // Para std::string
28+ #include < vector> // Para std::vector
2929
3030using namespace o2 ;
3131using namespace o2 ::framework;
3232using namespace o2 ::framework::expressions;
3333
34- using FullUDSgCollision = soa::Join<aod::UDCollisions, aod::UDCollisionsSels, aod::UDZdcsReduced, aod::SGCollisions, aod::UDCollisionSelExtras_002 >::iterator;
34+ using FullUDSgCollision = soa::Join<aod::UDCollisions, aod::UDCollisionsSels, aod::UDZdcsReduced, aod::SGCollisions, aod::UDCollisionSelExtras_003 >::iterator;
3535using FullUDTracks = soa::Join<aod::UDTracks, aod::UDTracksExtra, aod::UDTracksDCA, aod::UDTracksPID, aod::UDTracksFlags>;
3636
3737namespace o2 ::aod
@@ -86,6 +86,7 @@ DECLARE_SOA_COLUMN(TimeZNA, timeZNA, float);
8686DECLARE_SOA_COLUMN (TimeZNC, timeZNC, float );
8787DECLARE_SOA_COLUMN (EnergyCommonZNA, energyCommonZNA, float );
8888DECLARE_SOA_COLUMN (EnergyCommonZNC, energyCommonZNC, float );
89+ DECLARE_SOA_COLUMN (IsChargeZero, isChargeZero, bool );
8990
9091DECLARE_SOA_COLUMN (OccupancyInTime, occupancyInTime, int );
9192DECLARE_SOA_COLUMN (HadronicRate, hadronicRate, double );
@@ -97,7 +98,7 @@ DECLARE_SOA_TABLE(SYSTEMTREE, "AOD", "SystemTree", fourpi::RunNumber, fourpi::M,
9798 fourpi::TotalFDDAmplitudeA, fourpi::TotalFDDAmplitudeC, fourpi::TimeFT0A, fourpi::TimeFT0C, fourpi::TimeFV0A, fourpi::TimeFDDA, fourpi::TimeFDDC,
9899 fourpi::NumContrib, fourpi::Sign, fourpi::TrackPt, fourpi::TrackEta, fourpi::TrackPhi,
99100 fourpi::TPCNSigmaEl, fourpi::TPCNSigmaPi, fourpi::TPCNSigmaKa, fourpi::TPCNSigmaPr, fourpi::TrackID, fourpi::IsReconstructedWithUPC,
100- fourpi::TimeZNA, fourpi::TimeZNC, fourpi::EnergyCommonZNA, fourpi::EnergyCommonZNC, fourpi::OccupancyInTime, fourpi::HadronicRate);
101+ fourpi::TimeZNA, fourpi::TimeZNC, fourpi::EnergyCommonZNA, fourpi::EnergyCommonZNC, fourpi::IsChargeZero, fourpi:: OccupancyInTime, fourpi::HadronicRate);
101102} // namespace o2::aod
102103
103104struct upcRhoPrimeAnalysis {
@@ -116,8 +117,8 @@ struct upcRhoPrimeAnalysis {
116117 Configurable<double > tracksTpcNSigmaPiCut{" tracksTpcNSigmaPiCut" , 3.0 , " TPC nSigma pion cut" };
117118 Configurable<double > tracksDcaMaxCut{" tracksDcaMaxCut" , 1.0 , " max DCA cut on tracks" };
118119
119- Configurable<double > systemMassMinCut{" systemMassMinCut" , 0.5 , " min M cut for reco system" };
120- Configurable<double > systemMassMaxCut{" systemMassMaxCut" , 1 .2 , " max M cut for reco system" };
120+ Configurable<double > systemMassMinCut{" systemMassMinCut" , 0.8 , " min M cut for reco system" };
121+ Configurable<double > systemMassMaxCut{" systemMassMaxCut" , 2 .2 , " max M cut for reco system" };
121122 Configurable<double > systemPtCut{" systemPtMaxCut" , 0.1 , " max pT cut for reco system" };
122123 Configurable<double > systemYCut{" systemYCut" , 0.9 , " rapiditiy cut for reco system" };
123124
@@ -281,14 +282,14 @@ struct upcRhoPrimeAnalysis {
281282 double rapidity = system.Rapidity ();
282283 double systemPhi = system.Phi () + o2::constants::math::PI;
283284
284- if (nTracks == 4 && tracksTotalCharge (cutTracks) == 0 ) { // 4pi system
285+ if (nTracks == 4 ) {
286+ bool isChargeZero = (tracksTotalCharge (cutTracks) == 0 );
285287
286288 std::vector<float > vTrackPt, vTrackEta, vTrackPhi;
287289 std::vector<int > vSign, vTrackID;
288290 std::vector<float > vTpcNSigmaEl, vTpcNSigmaPi, vTpcNSigmaKa, vTpcNSigmaPr;
289291
290292 for (size_t i = 0 ; i < cutTracks.size (); i++) {
291-
292293 double tPt = cutTracks[i].pt ();
293294 double tEta = eta (cutTracks[i].px (), cutTracks[i].py (), cutTracks[i].pz ());
294295 double tPhi = phi (cutTracks[i].px (), cutTracks[i].py ());
@@ -313,17 +314,17 @@ struct upcRhoPrimeAnalysis {
313314 isReconstructedWithUPC = false ;
314315 }
315316
316- systemTree (collision.runNumber (), mass, pT, rapidity, systemPhi, collision. posX (), collision. posY (), collision. posZ (), totalCharge,
317- collision.totalFT0AmplitudeA (), collision.totalFT0AmplitudeC (), collision.timeFV0A (), collision. totalFDDAmplitudeA (), collision. totalFDDAmplitudeC () ,
318- collision.timeFT0A (), collision.timeFT0C (), collision.timeFV0A (), collision. timeFDDA (), collision. timeFDDC (),
319- collision.numContrib (), vSign, vTrackPt, vTrackEta, vTrackPhi, vTpcNSigmaEl, vTpcNSigmaPi, vTpcNSigmaKa, vTpcNSigmaPr, vTrackID, isReconstructedWithUPC ,
320- collision.timeZNA (), collision.timeZNC (), collision.energyCommonZNA (), collision. energyCommonZNC (),
321- collision.occupancyInTime (), collision.hadronicRate ());
322-
323- // registry.fill(HIST("4pi/hM"), mass);
324- // registry.fill(HIST("4pi/hPt" ), pT);
325- // registry.fill(HIST("4pi/hEta" ), rapiditiy);
326- // registry.fill(HIST("4pi/hPhi" ), system );
317+ systemTree (collision.runNumber (), mass, pT, rapidity, systemPhi,
318+ collision.posX (), collision.posY (), collision.posZ (), totalCharge ,
319+ collision.totalFT0AmplitudeA (), collision.totalFT0AmplitudeC (), collision.timeFV0A (),
320+ collision.totalFDDAmplitudeA (), collision. totalFDDAmplitudeC () ,
321+ collision.timeFT0A (), collision.timeFT0C (), collision.timeFV0A (),
322+ collision.timeFDDA (), collision.timeFDDC (), collision. numContrib (),
323+ vSign, vTrackPt, vTrackEta, vTrackPhi,
324+ vTpcNSigmaEl, vTpcNSigmaPi, vTpcNSigmaKa, vTpcNSigmaPr,
325+ vTrackID, isReconstructedWithUPC, collision. timeZNA ( ), collision. timeZNC (),
326+ collision. energyCommonZNA ( ), collision. energyCommonZNC (),
327+ isChargeZero, collision. occupancyInTime ( ), collision. hadronicRate () );
327328 }
328329 // std::cout<<"Hello World"<<std::endl;
329330 }
0 commit comments