@@ -54,31 +54,6 @@ using namespace o2::soa;
5454
5555struct doublephimeson {
5656 HistogramRegistry histos{" histos" , {}, OutputObjHandlingPolicy::AnalysisObject};
57- <<<<<<< HEAD
58- Configurable<int > strategyPID1{" strategyPID1" , 0 , " PID strategy 1" };
59- Configurable<int > strategyPID2{" strategyPID2" , 0 , " PID strategy 2" };
60- Configurable<float > daughterDeltaR{" daughterDeltaR" , 0.0 , " delta R of daughter" };
61- Configurable<float > minPhiMass1{" minPhiMass1" , 1.01 , " Minimum phi mass1" };
62- Configurable<float > maxPhiMass1{" maxPhiMass1" , 1.03 , " Maximum phi mass1" };
63- Configurable<float > minPhiPt{" minPhiPt" , 0 , " Minimum phi Pt" };
64- Configurable<float > maxPhiPt{" maxPhiPt" , 100 , " Maximum phi Pt" };
65- Configurable<float > minPhiMass2{" minPhiMass2" , 1.01 , " Minimum phi mass2" };
66- Configurable<float > maxPhiMass2{" maxPhiMass2" , 1.03 , " Maximum phi mass2" };
67- Configurable<float > minExoticPt{" minExoticPt" , 6.0 , " Minimum Exotic Pt" };
68- Configurable<float > minExoticMass{" minExoticMass" , 2.0 , " Minimum Exotic mass" };
69- Configurable<float > maxExoticMass{" maxExoticMass" , 3.6 , " Maximum Exotic mass" };
70- Configurable<bool > additionalEvsel{" additionalEvsel" , true , " Additional event selection" };
71- Configurable<bool > isDeep{" isDeep" , true , " Store deep angle" };
72- Configurable<float > cutMinNsigmaTPC{" cutMinNsigmaTPC" , -2.5 , " nsigma cut TPC" };
73- Configurable<float > cutNsigmaTPC{" cutNsigmaTPC" , 2.5 , " nsigma cut TPC" };
74- Configurable<float > cutNsigmaTOF{" cutNsigmaTOF" , 2.5 , " nsigma cut TOF" };
75- Configurable<float > momTOFCut{" momTOFCut" , 1.8 , " minimum pT cut for madnatory TOF" };
76- Configurable<float > maxKaonPt{" maxKaonPt" , 100.0 , " maximum kaon pt cut" };
77- Configurable<float > cfgCrossPhiLow{" cfgCrossPhiLow" , 1.01 , " Lower edge of phi mass window for cross-pairing (ghost) veto" };
78- Configurable<float > cfgCrossPhiHigh{" cfgCrossPhiHigh" , 1.03 , " Upper edge of phi mass window for cross-pairing (ghost) veto" };
79- Configurable<bool > useParametrized{" useParametrized" , false , " Use pT dependent mass peak and width" };
80- Configurable<bool > useCrossPairRejection{" useCrossPairRejection" , true , " Use cross pair phi signal compatibilaty" };
81- =======
8257 struct : ConfigurableGroup {
8358 Configurable<int > strategyPID1{" strategyPID1" , 0 , " PID strategy 1" };
8459 Configurable<int > strategyPID2{" strategyPID2" , 0 , " PID strategy 2" };
@@ -107,7 +82,6 @@ struct doublephimeson {
10782 Configurable<bool > applyMomentumShift{" applyMomentumShift" , false , " Apply momentum shift to kaons to check effect on phi mass peak" };
10883 } config;
10984
110- >>>>>>> e91d2ba11 (fixed compiler warnings)
11185 Configurable<bool > cfgFillDataDrivenPhiResolution{
11286 " cfgFillDataDrivenPhiResolution" , true ,
11387 " Fill the single-phi daughter-kinematics sparse used for data-driven X resolution and inter-dataset momentum-scale calibration" };
@@ -403,9 +377,6 @@ struct doublephimeson {
403377 thnAxisNumPhi,
404378 axisDoublePhiPID});
405379
406- <<<<<<< HEAD
407- histos.add (" SEMassUnlike_VertexVars" , " SEMassUnlike_VertexVars" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisInvMassDeltaPhi, thnAxisInvMassPhi, thnAxisInvMassPhi, thnAxisDecayLength, thnAxisFitChi2Ndf, thnAxisRmsDcaSig});
408- =======
409380 histos.add (" SEMassPhiPhi" , " SEMassPhiPhi" , HistType::kTHnSparseF ,
410381 {
411382 thnAxisInvMass, // M(phi-phi)
@@ -446,7 +417,6 @@ struct doublephimeson {
446417 histos.add (" NEvents" , " NEvents" , HistType::kTH1F , {{2 , 0 , 2 }});
447418
448419 histos.add (" SEMassUnlike_VertexVars" , " SEMassUnlike_VertexVars" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisInvMassDeltaPhi, thnAxisInvMassPhi, thnAxisInvMassPhi, thnAxisDecayLength, thnAxisFitChi2Ndf, thnAxisRmsDcaSig});
449- >>>>>>> e91d2ba11 (fixed compiler warnings)
450420
451421 // Single-phi calibration input. Axis order:
452422 // 0 m(KK), 1 pT(K+), 2 pT(K-), 3 eta(K+), 4 eta(K-),
@@ -561,17 +531,10 @@ struct doublephimeson {
561531 if (!hasTOF) {
562532 // TPC-only branch
563533 if (ptcand < 0 .5f ) {
564- <<<<<<< HEAD
565- return std::abs (nsigmaTPC) < cutNsigmaTPC;
566- } else {
567- return nsigmaTPC > -2 .0f &&
568- nsigmaTPC < cutNsigmaTPC;
569- =======
570534 return std::abs (nsigmaTPC) < config.cutNsigmaTPC ;
571535 } else {
572536 return nsigmaTPC > -2 .0f &&
573537 nsigmaTPC < config.cutNsigmaTPC ;
574- >>>>>>> e91d2ba11 (fixed compiler warnings)
575538 }
576539
577540 } else {
@@ -1424,11 +1387,7 @@ struct doublephimeson {
14241387 }
14251388 int phimult = 0 ;
14261389 for (auto const & phitrackd1 : phitracks) {
1427- <<<<<<< HEAD
1428- if (phitrackd1.phiMass () < minPhiMass1 || phitrackd1.phiMass () > maxPhiMass1) {
1429- =======
14301390 if (phitrackd1.phiMass () < config.minPhiMass1 || phitrackd1.phiMass () > config.maxPhiMass1 ) {
1431- >>>>>>> e91d2ba11 (fixed compiler warnings)
14321391 continue ;
14331392 }
14341393 auto kaonplusd1pt = TMath::Sqrt (phitrackd1.phid1Px () * phitrackd1.phid1Px () + phitrackd1.phid1Py () * phitrackd1.phid1Py ());
@@ -1564,11 +1523,7 @@ struct doublephimeson {
15641523 int phimult = 0 ;
15651524
15661525 for (auto const & phitrackd1 : phitracks) {
1567- <<<<<<< HEAD
1568- if (phitrackd1.phiMass () < minPhiMass1 || phitrackd1.phiMass () > maxPhiMass1) {
1569- =======
15701526 if (phitrackd1.phiMass () < config.minPhiMass1 || phitrackd1.phiMass () > config.maxPhiMass1 ) {
1571- >>>>>>> e91d2ba11 (fixed compiler warnings)
15721527 continue ;
15731528 }
15741529 auto kaonplusd1pt = TMath::Sqrt (phitrackd1.phid1Px () * phitrackd1.phid1Px () + phitrackd1.phid1Py () * phitrackd1.phid1Py ());
@@ -2252,14 +2207,10 @@ struct doublephimeson {
22522207 // Apply the same daughter/PID requirements before filling the calibration
22532208 // sparse. The phi-pT requirement for that sparse is evaluated below from
22542209 // the RAW daughters, so it remains independent of any optional correction.
2255- <<<<<<< HEAD
2256- if (kpluspt > maxKaonPt || kminuspt > maxKaonPt) {
2257- =======
22582210 if (kpluspt > config.maxKaonPt || kminuspt > config.maxKaonPt ) {
22592211 continue ;
22602212 }
22612213 if (!selectionPID (t.phid1TPC (), t.phid1TOF (), t.phid1TOFHit (), config.strategyPID1 , kpluspt)) {
2262- >>>>>>> e91d2ba11 (fixed compiler warnings)
22632214 continue ;
22642215 }
22652216 if (!selectionPID (t.phid2TPC (), t.phid2TOF (), t.phid2TOFHit (), config.strategyPID2 , kminuspt)) {
@@ -2295,35 +2246,6 @@ struct doublephimeson {
22952246 continue ;
22962247 }
22972248
2298- if (cfgFillDataDrivenPhiResolution) {
2299- // IMPORTANT: always store the RAW reconstructed daughter momenta here,
2300- // independent of cfgApplyKaonMomentumCorrection. This keeps the
2301- // resolution calibration data-driven and also allows two data sets to
2302- // be compared later to infer their relative momentum-scale shift
2303- // without circularly applying a pre-existing correction first.
2304- TLorentzVector kplusRaw;
2305- TLorentzVector kminusRaw;
2306- kplusRaw.SetXYZM (t.phid1Px (), t.phid1Py (), t.phid1Pz (), mKPDG );
2307- kminusRaw.SetXYZM (t.phid2Px (), t.phid2Py (), t.phid2Pz (), mKPDG );
2308- const TLorentzVector phiForResolution = kplusRaw + kminusRaw;
2309- const double dPhiKK = TVector2::Phi_mpi_pi (kplusRaw.Phi () - kminusRaw.Phi ());
2310- if (phiForResolution.Pt () >= minPhiPt && phiForResolution.Pt () <= maxPhiPt) {
2311- histos.fill (HIST (" PhiMassResolutionDataDriven" ),
2312- phiForResolution.M (),
2313- kplusRaw.Pt (), kminusRaw.Pt (),
2314- kplusRaw.Eta (), kminusRaw.Eta (),
2315- dPhiKK, phiForResolution.Pt ());
2316- }
2317- }
2318-
2319- // From here onward keep the original signal-phi definition unchanged.
2320- if (phi1.Pt () < minPhiPt || phi1.Pt () > maxPhiPt) {
2321- continue ;
2322- }
2323- if (phi1Mass < minPhiMass1 || phi1Mass > maxPhiMass1) {
2324- continue ;
2325- }
2326-
23272249 histos.fill (HIST (" hnsigmaTPCTOFKaon" ), t.phid1TPC (), t.phid1TOF (), kpluspt);
23282250 histos.fill (HIST (" hnsigmaTPCKaonPlus" ), t.phid1TPC (), kpluspt);
23292251 histos.fill (HIST (" hnsigmaTPCKaonMinus" ), t.phid2TPC (), kminuspt);
@@ -2462,11 +2384,7 @@ struct doublephimeson {
24622384 buildPhiAndKaons (t1, phi1, k1p, k1m);
24632385 const double phi1Mass = cfgApplyKaonMomentumCorrection ? phi1.M () : t1.phiMass ();
24642386
2465- <<<<<<< HEAD
2466- if (phi1Mass < minPhiMass1 || phi1Mass > maxPhiMass1) {
2467- =======
24682387 if (phi1Mass < config.minPhiMass1 || phi1Mass > config.maxPhiMass1 ) {
2469- >>>>>>> e91d2ba11 (fixed compiler warnings)
24702388 continue ;
24712389 }
24722390 if (phi1.Pt () < config.minPhiPt || phi1.Pt () > config.maxPhiPt ) {
@@ -2501,11 +2419,7 @@ struct doublephimeson {
25012419 buildPhiAndKaons (t2, phi2, k2p, k2m);
25022420 const double phi2Mass = cfgApplyKaonMomentumCorrection ? phi2.M () : t2.phiMass ();
25032421
2504- <<<<<<< HEAD
2505- if (phi2Mass < minPhiMass1 || phi2Mass > maxPhiMass1) {
2506- =======
25072422 if (phi2Mass < config.minPhiMass1 || phi2Mass > config.maxPhiMass1 ) {
2508- >>>>>>> e91d2ba11 (fixed compiler warnings)
25092423 continue ;
25102424 }
25112425 if (phi2.Pt () < config.minPhiPt || phi2.Pt () > config.maxPhiPt ) {
@@ -2604,11 +2518,7 @@ struct doublephimeson {
26042518 const double minDR = minDRV[i];
26052519 const double combine4kpid = pid4KV[i];
26062520 const double nkaonTOF = nTOFV[i];
2607- <<<<<<< HEAD
2608- if (!useParametrized) {
2609- =======
26102521 if (!config.useParametrized ) {
2611- >>>>>>> e91d2ba11 (fixed compiler warnings)
26122522 dMNominal = deltaMPhiNominal (p1.M (), p2.M ());
26132523 } else {
26142524 dMNominal = getDeltaMPhi (p1.M (), p1.Pt (), p2.M (), p2.Pt ());
@@ -2627,11 +2537,7 @@ struct doublephimeson {
26272537 const double apt = phiPtAsymmetry (p1, p2);
26282538 // const double absCosTheta = absCosThetaStar(p1, p2);
26292539
2630- <<<<<<< HEAD
2631- if (pairPt > minExoticPt) {
2632- =======
26332540 if (pairPt > config.minExoticPt ) {
2634- >>>>>>> e91d2ba11 (fixed compiler warnings)
26352541 histos.fill (HIST (" hPtCorrelation" ), pairPt, ptcorr);
26362542 // histos.fill(HIST("hMassCent"), p1.M(), p2.M(), collision.centrality());
26372543 histos.fill (HIST (" SEMassUnlike_AllVars" ),
0 commit comments