@@ -46,6 +46,7 @@ struct doublephimeson {
4646 Configurable<float > minPhiMass{" minPhiMass" , 1.01 , " Minimum phi mass" };
4747 Configurable<float > maxPhiMass{" maxPhiMass" , 1.03 , " Maximum phi mass" };
4848 Configurable<bool > additionalEvsel{" additionalEvsel" , false , " Additional event selection" };
49+ Configurable<bool > isDeep{" isDeep" , true , " Store deep angle" };
4950 Configurable<float > cutMinNsigmaTPC{" cutMinNsigmaTPC" , -2.5 , " nsigma cut TPC" };
5051 Configurable<float > cutNsigmaTPC{" cutNsigmaTPC" , 3.0 , " nsigma cut TPC" };
5152 Configurable<float > cutNsigmaTOF{" cutNsigmaTOF" , 3.0 , " nsigma cut TOF" };
@@ -61,7 +62,7 @@ struct doublephimeson {
6162 ConfigurableAxis configThnAxisPt{" configThnAxisPt" , {40 , 0.0 , 20 .}, " #it{p}_{T} (GeV/#it{c})" };
6263 ConfigurableAxis configThnAxisKstar{" configThnAxisKstar" , {200 , 0.0 , 2.0 }, " #it{k}^{*} (GeV/#it{c})" };
6364 ConfigurableAxis configThnAxisDeltaR{" configThnAxisDeltaR" , {200 , 0.0 , 2.0 }, " #it{k}^{*} (GeV/#it{c})" };
64- ConfigurableAxis configThnAxisCosTheta{" configThnAxisCosTheta" , {100 , - 1 .0 , 1.0 }, " cos #theta{*}" };
65+ ConfigurableAxis configThnAxisCosTheta{" configThnAxisCosTheta" , {160 , 0 .0 , 3.2 }, " cos #theta{*}" };
6566 ConfigurableAxis configThnAxisNumPhi{" configThnAxisNumPhi" , {101 , -0.5 , 100.5 }, " cos #theta{*}" };
6667
6768 // Initialize the ananlysis task
@@ -106,6 +107,20 @@ struct doublephimeson {
106107 return 0.5 * trackRelK.P ();
107108 }
108109
110+ float deepangle (const TLorentzVector candidate1,
111+ const TLorentzVector candidate2)
112+ {
113+ double pt1, pt2, pz1, pz2, p1, p2, angle;
114+ pt1 = candidate1.Pt ();
115+ pt2 = candidate2.Pt ();
116+ pz1 = candidate1.Pz ();
117+ pz2 = candidate2.Pz ();
118+ p1 = candidate1.P ();
119+ p2 = candidate2.P ();
120+ angle = TMath::ACos ((pt1 * pt2 + pz1 * pz2) / (p1 * p2));
121+ return angle;
122+ }
123+
109124 // get cosTheta
110125 TLorentzVector daughterCMS;
111126 ROOT::Math::XYZVector threeVecDauCM, threeVecMother;
@@ -217,7 +232,12 @@ struct doublephimeson {
217232 // auto kstar = getkstar(Phid1, Phid2);
218233 auto deltaR = TMath::Sqrt (TMath::Power (Phid1.Phi () - Phid2.Phi (), 2.0 ) + TMath::Power (Phid1.Eta () - Phid2.Eta (), 2.0 ));
219234 auto costheta = (Phid1.Px () * Phid2.Px () + Phid1.Py () * Phid2.Py () + Phid1.Pz () * Phid2.Pz ()) / (Phid1.P () * Phid2.P ());
220- histos.fill (HIST (" SEMassUnlike" ), exotic.M (), exotic.Pt (), deltaR, costheta, Phid1.M (), Phid2.M (), phimult);
235+ if (!isDeep) {
236+ histos.fill (HIST (" SEMassUnlike" ), exotic.M (), exotic.Pt (), deltaR, costheta, Phid1.M (), Phid2.M (), phimult);
237+ }
238+ if (isDeep) {
239+ histos.fill (HIST (" SEMassUnlike" ), exotic.M (), exotic.Pt (), deltaR, deepangle (Phid1, Phid2), Phid1.M (), Phid2.M (), phimult);
240+ }
221241 }
222242 }
223243 }
@@ -263,7 +283,12 @@ struct doublephimeson {
263283 exotic = Phid1 + Phid2;
264284 auto deltaR = TMath::Sqrt (TMath::Power (Phid1.Phi () - Phid2.Phi (), 2.0 ) + TMath::Power (Phid1.Eta () - Phid2.Eta (), 2.0 ));
265285 auto costheta = (Phid1.Px () * Phid2.Px () + Phid1.Py () * Phid2.Py () + Phid1.Pz () * Phid2.Pz ()) / (Phid1.P () * Phid2.P ());
266- histos.fill (HIST (" MEMassUnlike" ), exotic.M (), exotic.Pt (), deltaR, costheta, Phid1.M (), Phid2.M (), phimult);
286+ if (!isDeep) {
287+ histos.fill (HIST (" MEMassUnlike" ), exotic.M (), exotic.Pt (), deltaR, costheta, Phid1.M (), Phid2.M (), phimult);
288+ }
289+ if (isDeep) {
290+ histos.fill (HIST (" MEMassUnlike" ), exotic.M (), exotic.Pt (), deltaR, deepangle (Phid1, Phid2), Phid1.M (), Phid2.M (), phimult);
291+ }
267292 }
268293 }
269294 }
0 commit comments