1414// / \author Andi Mathis, TU München, andreas.mathis@ph.tum.de
1515// / \author Valentina Mantovani Sarti, valentina.mantovani-sarti@tum.de
1616
17- #ifndef ANALYSIS_TASKS_PWGCF_FEMTOWORLD_FEMTOWORDLCONTAINER_H_
18- #define ANALYSIS_TASKS_PWGCF_FEMTOWORLD_FEMTOWORDLCONTAINER_H_
17+ #ifndef FEMTOWORDLCONTAINER_H_
18+ #define FEMTOWORDLCONTAINER_H_
1919
2020#include " Framework/HistogramRegistry.h"
2121#include " FemtoWorldMath.h"
@@ -61,22 +61,31 @@ class FemtoWorldContainer
6161 // / \param multBins multiplicity binning for the histograms
6262 // / \param kTBins kT binning for the histograms
6363 // / \param mTBins mT binning for the histograms
64- template <typename T>
65- void init (HistogramRegistry* registry, T& kstarBins, T& multBins, T& kTBins , T& mTBins )
64+ // / \param etaBins mT binning for the histograms
65+ // / \param phiBins mT binning for the histograms
66+ template <typename T1 , typename T2 >
67+ void init (HistogramRegistry* registry, T1 & kstarBins, T1 & multBins, T1 & kTBins , T1 & mTBins , T2 & phiBins, T2 & etaBins)
6668 {
6769 mHistogramRegistry = registry;
6870 std::string femtoObs;
6971 if constexpr (mFemtoObs == femtoWorldContainer::Observable::kstar) {
7072 femtoObs = " #it{k*} (GeV/#it{c})" ;
73+ // dphi =
7174 }
7275 std::vector<double > tmpVecMult = multBins;
7376 framework::AxisSpec multAxis = {tmpVecMult, " Multiplicity" };
7477 framework::AxisSpec femtoObsAxis = {kstarBins, femtoObs.c_str ()};
7578 framework::AxisSpec kTAxis = {kTBins , " #it{k}_{T} (GeV/#it{c})" };
7679 framework::AxisSpec mTAxis = {mTBins , " #it{m}_{T} (GeV/#it{c}^{2})" };
7780
81+ PHI_LO = (-(int )(phiBins / 4 ) + 0.5 ) * 2 . * TMath::Pi () / phiBins;
82+ PHI_HI = 2 * TMath::Pi () + (-(int )(phiBins / 4 ) + 0.5 ) * 2 . * TMath::Pi () / phiBins;
83+
84+ framework::AxisSpec phiAxis = {phiBins, PHI_LO , PHI_HI };
85+ framework::AxisSpec etaAxis = {etaBins, -2.0 , 2.0 };
86+
7887 std::string folderName = static_cast <std::string>(mFolderSuffix [mEventType ]);
79- mHistogramRegistry ->add ((folderName + " relPairDist" ).c_str (), (" ; " + femtoObs + " ; Entries" ).c_str (), kTH1F , {femtoObsAxis});
88+ mHistogramRegistry ->add ((folderName + " relPairDist" ).c_str (), (" Name ; " + femtoObs + " ; Entries" ).c_str (), kTH1F , {femtoObsAxis});
8089 mHistogramRegistry ->add ((folderName + " relPairkT" ).c_str (), " ; #it{k}_{T} (GeV/#it{c}); Entries" , kTH1F , {kTAxis });
8190 mHistogramRegistry ->add ((folderName + " relPairkstarkT" ).c_str (), (" ; " + femtoObs + " ; #it{k}_{T} (GeV/#it{c})" ).c_str (), kTH2F , {femtoObsAxis, kTAxis });
8291 mHistogramRegistry ->add ((folderName + " relPairkstarmT" ).c_str (), (" ; " + femtoObs + " ; #it{m}_{T} (GeV/#it{c}^{2})" ).c_str (), kTH2F , {femtoObsAxis, mTAxis });
@@ -86,6 +95,7 @@ class FemtoWorldContainer
8695 mHistogramRegistry ->add ((folderName + " MultPtPart1" ).c_str (), " ; #it{p} _{T} Particle 1 (GeV/#it{c}); Multiplicity" , kTH2F , {{375 , 0 ., 7.5 }, multAxis});
8796 mHistogramRegistry ->add ((folderName + " MultPtPart2" ).c_str (), " ; #it{p} _{T} Particle 2 (GeV/#it{c}); Multiplicity" , kTH2F , {{375 , 0 ., 7.5 }, multAxis});
8897 mHistogramRegistry ->add ((folderName + " PtPart1PtPart2" ).c_str (), " ; #it{p} _{T} Particle 1 (GeV/#it{c}); #it{p} _{T} Particle 2 (GeV/#it{c})" , kTH2F , {{375 , 0 ., 7.5 }, {375 , 0 ., 7.5 }});
98+ mHistogramRegistry ->add ((folderName + " relPairDetaDphi" ).c_str (), " ; #Delta#varphi (rad); #Delta#eta" , kTH2D , {phiAxis, etaAxis});
8999 }
90100
91101 // / Set the PDG codes of the two particles involved
@@ -112,6 +122,16 @@ class FemtoWorldContainer
112122 const float kT = FemtoWorldMath::getkT (part1, mMassOne , part2, mMassTwo );
113123 const float mT = FemtoWorldMath::getmT (part1, mMassOne , part2, mMassTwo );
114124
125+ double delta_eta = part1.eta () - part2.eta ();
126+
127+ double delta_phi = part1.phi () - part2.phi ();
128+ while (delta_phi < PHI_LO ) {
129+ delta_phi += PIT ;
130+ }
131+ while (delta_phi > PHI_HI ) {
132+ delta_phi -= PIT ;
133+ }
134+
115135 if (mHistogramRegistry ) {
116136 mHistogramRegistry ->fill (HIST (mFolderSuffix [mEventType ]) + HIST (" relPairDist" ), femtoObs);
117137 mHistogramRegistry ->fill (HIST (mFolderSuffix [mEventType ]) + HIST (" relPairkT" ), kT );
@@ -123,6 +143,7 @@ class FemtoWorldContainer
123143 mHistogramRegistry ->fill (HIST (mFolderSuffix [mEventType ]) + HIST (" MultPtPart1" ), part1.pt (), mult);
124144 mHistogramRegistry ->fill (HIST (mFolderSuffix [mEventType ]) + HIST (" MultPtPart2" ), part2.pt (), mult);
125145 mHistogramRegistry ->fill (HIST (mFolderSuffix [mEventType ]) + HIST (" PtPart1PtPart2" ), part1.pt (), part2.pt ());
146+ mHistogramRegistry ->fill (HIST (mFolderSuffix [mEventType ]) + HIST (" relPairDetaDphi" ), delta_phi, delta_eta);
126147 }
127148 }
128149
@@ -133,8 +154,11 @@ class FemtoWorldContainer
133154 static constexpr int mEventType = eventType; // /< Type of the event (same/mixed, according to femtoWorldContainer::EventType)
134155 float mMassOne = 0 .f; // /< PDG mass of particle 1
135156 float mMassTwo = 0 .f; // /< PDG mass of particle 2
157+ double PHI_LO ;
158+ double PHI_HI ;
159+ double PIT = 6.28318530717958623 ;
136160};
137161
138162} // namespace o2::analysis::femtoWorld
139163
140- #endif /* ANALYSIS_TASKS_PWGCF_FEMTOWORLD_FEMTOWORDLCONTAINER_H_ */
164+ #endif /* FEMTOWORDLCONTAINER_H_ */
0 commit comments