@@ -83,6 +83,7 @@ struct lambdaspincorrderived {
8383 Configurable<float > ptMin{" ptMin" , 0.5 , " V0 Pt minimum" };
8484 Configurable<float > ptMax{" ptMax" , 3.0 , " V0 Pt maximum" };
8585 Configurable<float > rapidity{" rapidity" , 0.5 , " Rapidity cut on lambda" };
86+ Configurable<float > v0eta{" v0eta" , 0.8 , " Eta cut on lambda" };
8687
8788 // Event Mixing
8889 Configurable<int > nEvtMixing{" nEvtMixing" , 10 , " Number of events to mix" };
@@ -102,6 +103,8 @@ struct lambdaspincorrderived {
102103
103104 void init (o2::framework::InitContext&)
104105 {
106+ histos.add (" hPtYSame" , " hPtYSame" , kTH2F , {{100 , 0.0 , 10.0 }, {200 , -1.0 , 1.0 }});
107+ histos.add (" hPtYMix" , " hPtYMix" , kTH2F , {{100 , 0.0 , 10.0 }, {200 , -1.0 , 1.0 }});
105108 histos.add (" hCentrality" , " Centrality distribution" , kTH1F , {{configThnAxisCentrality}});
106109 histos.add (" deltaPhiSame" , " deltaPhiSame" , HistType::kTH1D , {{72 , 0.0 , 2.0 * TMath::Pi ()}}, true );
107110 histos.add (" deltaPhiMix" , " deltaPhiMix" , HistType::kTH1D , {{72 , 0.0 , 2.0 * TMath::Pi ()}}, true );
@@ -194,6 +197,7 @@ struct lambdaspincorrderived {
194197 const ROOT::Math::PtEtaPhiMVector& daughpart1, const ROOT::Math::PtEtaPhiMVector& daughpart2,
195198 double centrality, int datatype)
196199 {
200+
197201 auto lambda1Mass = 0.0 ;
198202 auto lambda2Mass = 0.0 ;
199203 if (!usePDGM) {
@@ -231,6 +235,7 @@ struct lambdaspincorrderived {
231235 double deltaR = TMath::Sqrt (deltaEta * deltaEta + deltaPhi * deltaPhi);
232236
233237 if (datatype == 0 ) {
238+ histos.fill (HIST (" hPtYSame" ), particle1.Pt (), particle1.Rapidity ());
234239 if (tag1 == 0 && tag2 == 0 ) {
235240 histos.fill (HIST (" hSparseLambdaLambda" ), particle1.M (), particle2.M (), cosThetaDiff, centrality, deltaR);
236241 histos.fill (HIST (" hLambdaSameForLL" ), particle1.Pt (), particle1.Eta (), RecoDecay::constrainAngle (particle1.Phi (), 0 .0F ));
@@ -246,19 +251,20 @@ struct lambdaspincorrderived {
246251 double weight2 = 1.0 ;
247252 double weight3 = 1.0 ;
248253 if (useweight) {
249- weight1 = hweight1->GetBinContent (hweight1->FindBin (particle1.Pt () + 0.001 , particle1.Eta () + 0.001 , particle1.Phi () + 0.001 ));
250- weight2 = hweight2->GetBinContent (hweight2->FindBin (particle1.Pt () + 0.001 , particle1.Eta () + 0.001 , particle1.Phi () + 0.001 ));
251- weight3 = hweight3->GetBinContent (hweight3->FindBin (particle1.Pt () + 0.001 , particle1.Eta () + 0.001 , particle1.Phi () + 0.001 ));
254+ weight1 = hweight1->GetBinContent (hweight1->FindBin (particle1.Pt (), particle1.Eta (), particle1.Phi ()));
255+ weight2 = hweight2->GetBinContent (hweight2->FindBin (particle1.Pt (), particle1.Eta (), particle1.Phi ()));
256+ weight3 = hweight3->GetBinContent (hweight3->FindBin (particle1.Pt (), particle1.Eta (), particle1.Phi ()));
252257 }
258+ histos.fill (HIST (" hPtYMix" ), particle1.Pt (), particle1.Rapidity ());
253259 if (tag1 == 0 && tag2 == 0 ) {
254260 histos.fill (HIST (" hSparseLambdaLambdaMixed" ), particle1.M (), particle2.M (), cosThetaDiff, centrality, deltaR, weight1);
255- histos.fill (HIST (" hLambdaMixForLL" ), particle1.Pt (), particle1.Eta (), RecoDecay::constrainAngle (particle1.Phi (), 0 .0F ));
261+ histos.fill (HIST (" hLambdaMixForLL" ), particle1.Pt (), particle1.Eta (), RecoDecay::constrainAngle (particle1.Phi (), 0 .0F ), weight1 );
256262 } else if ((tag1 == 0 && tag2 == 1 ) || (tag1 == 1 && tag2 == 0 )) {
257263 histos.fill (HIST (" hSparseLambdaAntiLambdaMixed" ), particle1.M (), particle2.M (), cosThetaDiff, centrality, deltaR, weight2);
258- histos.fill (HIST (" hLambdaMixForLAL" ), particle1.Pt (), particle1.Eta (), RecoDecay::constrainAngle (particle1.Phi (), 0 .0F ));
264+ histos.fill (HIST (" hLambdaMixForLAL" ), particle1.Pt (), particle1.Eta (), RecoDecay::constrainAngle (particle1.Phi (), 0 .0F ), weight2 );
259265 } else if (tag1 == 1 && tag2 == 1 ) {
260266 histos.fill (HIST (" hSparseAntiLambdaAntiLambdaMixed" ), particle1.M (), particle2.M (), cosThetaDiff, centrality, deltaR, weight3);
261- histos.fill (HIST (" hAntiLambdaMixForALAL" ), particle1.Pt (), particle1.Eta (), RecoDecay::constrainAngle (particle1.Phi (), 0 .0F ));
267+ histos.fill (HIST (" hAntiLambdaMixForALAL" ), particle1.Pt (), particle1.Eta (), RecoDecay::constrainAngle (particle1.Phi (), 0 .0F ), weight3 );
262268 }
263269 }
264270 }
@@ -283,6 +289,12 @@ struct lambdaspincorrderived {
283289 histos.fill (HIST (" etaCent" ), v0.lambdaEta (), centrality);
284290 proton = ROOT::Math::PtEtaPhiMVector (v0.protonPt (), v0.protonEta (), v0.protonPhi (), o2::constants::physics::MassProton);
285291 lambda = ROOT::Math::PtEtaPhiMVector (v0.lambdaPt (), v0.lambdaEta (), v0.lambdaPhi (), v0.lambdaMass ());
292+ if (std::abs (lambda.Rapidity ()) > rapidity) {
293+ continue ;
294+ }
295+ if (std::abs (lambda.Eta ()) > v0eta) {
296+ continue ;
297+ }
286298 for (const auto & v02 : V0s) {
287299 if (v02.index () <= v0.index ()) {
288300 continue ;
@@ -299,6 +311,12 @@ struct lambdaspincorrderived {
299311 proton2 = ROOT::Math::PtEtaPhiMVector (v02.protonPt (), v02.protonEta (), v02.protonPhi (), o2::constants::physics::MassProton);
300312 lambda2 = ROOT::Math::PtEtaPhiMVector (v02.lambdaPt (), v02.lambdaEta (), v02.lambdaPhi (), v02.lambdaMass ());
301313 histos.fill (HIST (" deltaPhiSame" ), std::abs (RecoDecay::constrainAngle (v0.lambdaPhi (), 0 .0F ) - RecoDecay::constrainAngle (v02.lambdaPhi (), 0 .0F )));
314+ if (std::abs (lambda2.Rapidity ()) > rapidity) {
315+ continue ;
316+ }
317+ if (std::abs (lambda2.Eta ()) > v0eta) {
318+ continue ;
319+ }
302320 if (v0.v0Status () == 0 && v02.v0Status () == 0 ) {
303321 fillHistograms (0 , 0 , lambda, lambda2, proton, proton2, centrality, 0 );
304322 }
@@ -371,6 +389,18 @@ struct lambdaspincorrderived {
371389 proton2 = ROOT::Math::PtEtaPhiMVector (t2.protonPt (), t2.protonEta (), t2.protonPhi (), o2::constants::physics::MassProton);
372390 lambda2 = ROOT::Math::PtEtaPhiMVector (t2.lambdaPt (), t2.lambdaEta (), t2.lambdaPhi (), t2.lambdaMass ());
373391 histos.fill (HIST (" deltaPhiMix" ), std::abs (RecoDecay::constrainAngle (t3.lambdaPhi (), 0 .0F ) - RecoDecay::constrainAngle (t2.lambdaPhi (), 0 .0F )));
392+ if (std::abs (lambda.Rapidity ()) > rapidity) {
393+ continue ;
394+ }
395+ if (std::abs (lambda.Eta ()) > v0eta) {
396+ continue ;
397+ }
398+ if (std::abs (lambda2.Rapidity ()) > rapidity) {
399+ continue ;
400+ }
401+ if (std::abs (lambda2.Eta ()) > v0eta) {
402+ continue ;
403+ }
374404 if (t3.v0Status () == 0 && t2.v0Status () == 0 ) {
375405 fillHistograms (0 , 0 , lambda, lambda2, proton, proton2, centrality, 1 );
376406 }
0 commit comments