@@ -97,13 +97,14 @@ struct TaskPi0FlowEMC {
9797 Configurable<int > cfgDistanceToEdge{" cfgDistanceToEdge" , 1 , " Distance to edge in cells required for rotated cluster to be accepted" };
9898 Configurable<bool > cfgDoM02{" cfgDoM02" , false , " Flag to enable flow vs M02 for single photons" };
9999 Configurable<bool > cfgDoReverseScaling{" cfgDoReverseScaling" , false , " Flag to reverse the scaling that is possibly applied during NonLin" };
100+ Configurable<bool > cfgDoPlaneQA{" cfgDoPlaneQA" , false , " Flag to enable QA plots comparing in and out of plane" };
100101
101102 // configurable axis
102103 ConfigurableAxis thnConfigAxisInvMass{" thnConfigAxisInvMass" , {400 , 0.0 , 0.8 }, " " };
103104 ConfigurableAxis thnConfigAxisPt{" thnConfigAxisPt" , {100 , 0 ., 20 .}, " " };
104105 ConfigurableAxis thnConfigAxisCent{" thnConfigAxisCent" , {20 , 0 ., 100 .}, " " };
105106 ConfigurableAxis thnConfigAxisCosNPhi{" thnConfigAxisCosNPhi" , {100 , -1 ., 1 .}, " " };
106- ConfigurableAxis thnConfigAxisCosDeltaPhi{" thnConfigAxisCosDeltaPhi" , {100 , -1 ., 1 .}, " " };
107+ ConfigurableAxis thnConfigAxisCosDeltaPhi{" thnConfigAxisCosDeltaPhi" , {8 , -1 ., 1 .}, " " };
107108 ConfigurableAxis thnConfigAxisScalarProd{" thnConfigAxisScalarProd" , {100 , -5 ., 5 .}, " " };
108109 ConfigurableAxis thnConfigAxisM02{" thnConfigAxisM02" , {200 , 0 ., 5 .}, " " };
109110
@@ -303,6 +304,9 @@ struct TaskPi0FlowEMC {
303304 registry.add (" hSparseBkgRotFlow" , " THn for SP" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisCent, thnAxisScalarProd});
304305 registry.add (" hSparseBkgMixFlow" , " THn for SP" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisCent, thnAxisScalarProd});
305306 registry.add (" h3DMixingCount" , " THn Event Mixing QA" , HistType::kTH3D , {thnAxisMixingVtx, thnAxisMixingCent, thnAxisMixingEP});
307+ if (cfgDoPlaneQA.value ) {
308+ registry.add (" hSparsePi0FlowPlane" , " THn for SP" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisCent, thnAxisCosDeltaPhi});
309+ }
306310 auto hClusterCuts = registry.add <TH1>(" hClusterCuts" , " hClusterCuts;;Counts" , kTH1D , {{6 , 0.5 , 6.5 }}, false );
307311 hClusterCuts->GetXaxis ()->SetBinLabel (1 , " in" );
308312 hClusterCuts->GetXaxis ()->SetBinLabel (2 , " opening angle" );
@@ -850,6 +854,12 @@ struct TaskPi0FlowEMC {
850854 scalprodCand = scalprodCand / h1SPResolution->GetBinContent (h1SPResolution->FindBin (cent + epsilon));
851855 }
852856
857+ if (cfgDoPlaneQA.value && histType == 0 ) {
858+ float epAngle = epHelper.GetEventPlane (xQVec, yQVec, harmonic);
859+ float cosDeltaPhi = std::cos (harmonic * getDeltaPsiInRange (phiCand, epAngle));
860+ registry.fill (HIST (" hSparsePi0FlowPlane" ), massCand, ptCand, cent, cosDeltaPhi);
861+ }
862+
853863 fillThn<histType>(massCand, ptCand, cent, scalprodCand);
854864 return ;
855865 }
0 commit comments