@@ -575,41 +575,33 @@ struct photonhbt {
575575 constexpr auto base = fullRangePrefix<ev_id>();
576576 fRegistry .fill (HIST (base) + HIST (" hDeltaRCosOAVsQinv" ), qinv, drOverCosOA);
577577 }
578-
579- void addQAHistogramsForStep (const std::string& path)
580- {
581- fRegistryPairQA .add ((path + " hPairEta" ).c_str (), " pair #eta;#eta_{pair};counts" , kTH1D , {axisEta}, true );
582- fRegistryPairQA .add ((path + " hPairPhi" ).c_str (), " pair #phi;#phi_{pair} (rad);counts" , kTH1D , {axisPhi}, true );
583- fRegistryPairQA .add ((path + " hPairKt" ).c_str (), " pair k_{T};k_{T} (GeV/c);counts" , kTH1D , {axisKt}, true );
584- fRegistryPairQA .add ((path + " hQinv" ).c_str (), " q_{inv};q_{inv} (GeV/c);counts" , kTH1D , {axisQinv}, true );
585- fRegistryPairQA .add ((path + " hDeltaEta" ).c_str (), " #Delta#eta;#Delta#eta;counts" , kTH1D , {axisDeltaEta}, true );
586- fRegistryPairQA .add ((path + " hDeltaPhi" ).c_str (), " #Delta#phi;#Delta#phi (rad);counts" , kTH1D , {axisDeltaPhi}, true );
587- fRegistryPairQA .add ((path + " hCosTheta" ).c_str (), " cos(#theta*);cos(#theta*);counts" , kTH1D , {axisCosTheta}, true );
588- fRegistryPairQA .add ((path + " hOpeningAngle" ).c_str (), " Opening angle;#alpha (rad);counts" , kTH1D , {axisOpeningAngle}, true );
589- fRegistryPairQA .add ((path + " hEllipseVal" ).c_str (), " (#Delta#eta/#sigma)^{2}+(#Delta#phi/#sigma)^{2};value;counts" , kTH1D , {axisEllipseVal}, true );
590- fRegistryPairQA .add ((path + " hR1" ).c_str (), " R_{conv,1};R_{1} (cm);counts" , kTH1D , {axisR}, true );
591- fRegistryPairQA .add ((path + " hR2" ).c_str (), " R_{conv,2};R_{2} (cm);counts" , kTH1D , {axisR}, true );
592- fRegistryPairQA .add ((path + " hDeltaR" ).c_str (), " |R_{1}-R_{2}|;|R_{1}-R_{2}| (cm);counts" , kTH1D , {axisDeltaR}, true );
593- fRegistryPairQA .add ((path + " hDeltaZ" ).c_str (), " #Delta z;#Delta z (cm);counts" , kTH1D , {axisDeltaZ}, true );
594- fRegistryPairQA .add ((path + " hDeltaRxy" ).c_str (), " #Delta r_{xy};#Delta r_{xy} (cm);counts" , kTH1D , {axisDeltaRxy}, true );
595- fRegistryPairQA .add ((path + " hDeltaR3D" ).c_str (), " #Delta r_{3D};#Delta r_{3D} (cm);counts" , kTH1D , {axisDeltaR3D}, true );
596- fRegistryPairQA .add ((path + " hCent" ).c_str (), " centrality;centrality (%);counts" , kTH1D , {axisCentQA}, true );
597- fRegistryPairQA .add ((path + " hOccupancy" ).c_str (), " occupancy;occupancy;counts" , kTH1D , {axisOccupancy}, true );
598- fRegistryPairQA .add ((path + " hDEtaDPhi" ).c_str (), " #Delta#eta vs #Delta#phi;#Delta#eta;#Delta#phi (rad)" , kTH2D , {axisDeltaEta, axisDeltaPhi}, true );
599- fRegistryPairQA .add ((path + " hDeltaEtaVsPairEta" ).c_str (), " #Delta#eta vs #LT#eta#GT_{pair};#LT#eta#GT_{pair};#Delta#eta" , kTH2D , {axisEta, axisDeltaEta}, true );
600- fRegistryPairQA .add ((path + " hR1VsR2" ).c_str (), " R_{1} vs R_{2};R_{1} (cm);R_{2} (cm)" , kTH2D , {axisR, axisR}, true );
601- fRegistryPairQA .add ((path + " hDeltaRVsDeltaZ" ).c_str (), " |R_{1}-R_{2}| vs #Delta z;|R_{1}-R_{2}| (cm);#Delta z (cm)" , kTH2D , {axisDeltaR, axisDeltaZ}, true );
602- fRegistryPairQA .add ((path + " hDeltaRVsKt" ).c_str (), " |R_{1}-R_{2}| vs k_{T};k_{T} (GeV/c);|R_{1}-R_{2}| (cm)" , kTH2D , {axisKt, axisDeltaR}, true );
603- fRegistryPairQA .add ((path + " hDeltaZVsKt" ).c_str (), " #Delta z vs k_{T};k_{T} (GeV/c);#Delta z (cm)" , kTH2D , {axisKt, axisDeltaZ}, true );
604- fRegistryPairQA .add ((path + " hDeltaPhiVsDeltaR" ).c_str (), " #Delta#phi vs |R_{1}-R_{2}|;|R_{1}-R_{2}| (cm);#Delta#phi (rad)" , kTH2D , {axisDeltaR, axisDeltaPhi}, true );
605- fRegistryPairQA .add ((path + " hDeltaEtaVsDeltaR" ).c_str (), " #Delta#eta vs |R_{1}-R_{2}|;|R_{1}-R_{2}| (cm);#Delta#eta" , kTH2D , {axisDeltaR, axisDeltaEta}, true );
606- fRegistryPairQA .add ((path + " hDeltaPhiVsDeltaZ" ).c_str (), " #Delta#phi vs #Delta z;#Delta z (cm);#Delta#phi (rad)" , kTH2D , {axisDeltaZ, axisDeltaPhi}, true );
607- fRegistryPairQA .add ((path + " hDeltaEtaVsDeltaZ" ).c_str (), " #Delta#eta vs #Delta z;#Delta z (cm);#Delta#eta" , kTH2D , {axisDeltaZ, axisDeltaEta}, true );
608- fRegistryPairQA .add ((path + " hDeltaRVsCent" ).c_str (), " |R_{1}-R_{2}| vs centrality;centrality (%);|R_{1}-R_{2}| (cm)" , kTH2D , {axisCentQA, axisDeltaR}, true );
609- fRegistryPairQA .add ((path + " hDeltaRVsOccupancy" ).c_str (), " |R_{1}-R_{2}| vs occupancy;occupancy;|R_{1}-R_{2}| (cm)" , kTH2D , {axisOccupancy, axisDeltaR}, true );
610- fRegistryPairQA .add ((path + " hSparseDEtaDPhiKt" ).c_str (), " #Delta#eta,#Delta#phi,k_{T}" , kTHnSparseD , {axisDeltaEta, axisDeltaPhi, axisKt}, true );
611- fRegistryPairQA .add ((path + " hSparseDeltaRDeltaZKt" ).c_str (), " |R_{1}-R_{2}|,#Delta z,k_{T}" , kTHnSparseD , {axisDeltaR, axisDeltaZ, axisKt}, true );
612- }
578+ void addQAHistogramsForStep (const std::string& path)
579+ {
580+ // Ellipse
581+ fRegistryPairQA .add ((path + " hEllipseVal" ).c_str (), " (#Delta#eta/#sigma)^{2}+(#Delta#phi/#sigma)^{2};value;counts" , kTH1D , {axisEllipseVal}, true );
582+
583+ // Conversion point
584+ fRegistryPairQA .add ((path + " hR1VsR2" ).c_str (), " R_{1} vs R_{2};R_{1} (cm);R_{2} (cm)" , kTH2D , {axisR, axisR}, true );
585+ fRegistryPairQA .add ((path + " hDeltaRxyKt" ).c_str (), " #Delta r_{xy} vs k_{T};#Delta r_{xy} (cm);k_{T} (GeV/c)" , kTH2D , {axisDeltaRxy, axisKt}, true );
586+ fRegistryPairQA .add ((path + " hDeltaR3DKt" ).c_str (), " #Delta r_{3D} vs k_{T};#Delta r_{3D} (cm);k_{T} (GeV/c)" , kTH2D , {axisDeltaR3D, axisKt}, true );
587+
588+ // Delta Eta QA
589+ fRegistryPairQA .add ((path + " hDeltaEtaDeltaRKt" ).c_str (), " #Delta#eta,|R_{1}-R_{2}|,k_{T}" , kTHnSparseD , {axisDeltaEta, axisDeltaR, axisKt}, true );
590+ fRegistryPairQA .add ((path + " hDeltaEtaDeltaZKt" ).c_str (), " #Delta#eta,#Delta z,k_{T}" , kTHnSparseD , {axisDeltaEta, axisDeltaZ, axisKt}, true );
591+ fRegistryPairQA .add ((path + " hDeltaEtaEtaKt" ).c_str (), " #Delta#eta,#eta_{pair},k_{T}" , kTHnSparseD , {axisDeltaEta, axisEta, axisKt}, true );
592+ fRegistryPairQA .add ((path + " hDeltaEtaPhiKt" ).c_str (), " #Delta#eta,#phi_{pair},k_{T}" , kTHnSparseD , {axisDeltaEta, axisPhi, axisKt}, true );
593+
594+ // Delta Phi QA
595+ fRegistryPairQA .add ((path + " hSparseDEtaDPhiKt" ).c_str (), " #Delta#eta,#Delta#phi,k_{T}" , kTHnSparseD , {axisDeltaEta, axisDeltaPhi, axisKt}, true );
596+ fRegistryPairQA .add ((path + " hDeltaPhiDeltaRKt" ).c_str (), " #Delta#phi,|R_{1}-R_{2}|,k_{T}" , kTHnSparseD , {axisDeltaPhi, axisDeltaR, axisKt}, true );
597+ fRegistryPairQA .add ((path + " hDeltaPhiDeltaZKt" ).c_str (), " #Delta#phi,#Delta z,k_{T}" , kTHnSparseD , {axisDeltaPhi, axisDeltaZ, axisKt}, true );
598+ fRegistryPairQA .add ((path + " hDeltaPhiPhiKt" ).c_str (), " #Delta#phi,#phi_{pair},k_{T}" , kTHnSparseD , {axisDeltaPhi, axisPhi, axisKt}, true );
599+ fRegistryPairQA .add ((path + " hDeltaPhiEtaKt" ).c_str (), " #Delta#phi,#eta_{pair},k_{T}" , kTHnSparseD , {axisDeltaPhi, axisEta, axisKt}, true );
600+
601+ // Delta Eta Dleta Phi Stuff
602+ fRegistryPairQA .add ((path + " hPhiVsEtaKt" ).c_str (), " #phi_{pair},#eta_{pair},k_{T}" , kTHnSparseD , {axisPhi, axisEta, axisKt}, true );
603+ fRegistryPairQA .add ((path + " hSparseDeltaRDeltaZKt" ).c_str (), " |R_{1}-R_{2}|,#Delta z,k_{T}" , kTHnSparseD , {axisDeltaR, axisDeltaZ, axisKt}, true );
604+ }
613605
614606 void addhistograms ()
615607 {
@@ -899,39 +891,38 @@ struct photonhbt {
899891 if (!qaflags.doPairQa )
900892 return ;
901893 constexpr auto base = qaPrefix<ev_id, step_id>();
902- fRegistryPairQA .fill (HIST (base) + HIST (" hPairEta" ), o.pairEta );
903- fRegistryPairQA .fill (HIST (base) + HIST (" hPairPhi" ), o.pairPhi );
904- fRegistryPairQA .fill (HIST (base) + HIST (" hPairKt" ), o.kt );
905- fRegistryPairQA .fill (HIST (base) + HIST (" hQinv" ), o.qinv );
906- fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaEta" ), o.deta );
907- fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaPhi" ), o.dphi );
908- fRegistryPairQA .fill (HIST (base) + HIST (" hCosTheta" ), o.cosTheta );
909- fRegistryPairQA .fill (HIST (base) + HIST (" hOpeningAngle" ), o.openingAngle );
910- fRegistryPairQA .fill (HIST (base) + HIST (" hR1" ), o.r1 );
911- fRegistryPairQA .fill (HIST (base) + HIST (" hR2" ), o.r2 );
912- fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaR" ), o.deltaR );
913- fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaZ" ), o.deltaZ );
914- fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaRxy" ), o.deltaRxy );
915- fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaR3D" ), o.deltaR3D );
916- fRegistryPairQA .fill (HIST (base) + HIST (" hCent" ), cent);
917- fRegistryPairQA .fill (HIST (base) + HIST (" hOccupancy" ), occupancy);
918- const float sE = ggpaircuts.cfgEllipseSigEta .value , sP = ggpaircuts.cfgEllipseSigPhi .value ;
919- if (sE > 1e-9f && sP > 1e-9f )
920- fRegistryPairQA .fill (HIST (base) + HIST (" hEllipseVal" ), (o.deta / sE ) * (o.deta / sE ) + (o.dphi / sP ) * (o.dphi / sP ));
921- fRegistryPairQA .fill (HIST (base) + HIST (" hDEtaDPhi" ), o.deta , o.dphi );
922- fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaEtaVsPairEta" ), o.pairEta , o.deta );
923- fRegistryPairQA .fill (HIST (base) + HIST (" hR1VsR2" ), o.r1 , o.r2 );
924- fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaRVsDeltaZ" ), o.deltaR , o.deltaZ );
925- fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaRVsKt" ), o.kt , o.deltaR );
926- fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaZVsKt" ), o.kt , o.deltaZ );
927- fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaPhiVsDeltaR" ), o.deltaR , o.dphi );
928- fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaEtaVsDeltaR" ), o.deltaR , o.deta );
929- fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaPhiVsDeltaZ" ), o.deltaZ , o.dphi );
930- fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaEtaVsDeltaZ" ), o.deltaZ , o.deta );
931- fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaRVsCent" ), cent, o.deltaR );
932- fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaRVsOccupancy" ), occupancy, o.deltaR );
894+
895+ // /// Delta Eta QA
896+
897+ fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaEtaDeltaRKt" ), o.deta , o.deltaR , o.kt );
898+ fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaEtaEtaKt" ), o.deta , o.pairEta , o.kt );
899+ fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaEtaPhiKt" ), o.deta , o.pairPhi , o.kt );
900+ fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaEtaDeltaZKt" ), o.deta , o.deltaZ , o.kt );
901+
902+ // /// Delta Phi QA
903+
904+ fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaPhiDeltaRKt" ), o.dphi , o.deltaR , o.kt );
905+ fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaPhiDeltaZKt" ), o.dphi , o.deltaZ , o.kt );
933906 fRegistryPairQA .fill (HIST (base) + HIST (" hSparseDEtaDPhiKt" ), o.deta , o.dphi , o.kt );
907+ fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaPhiPhiKt" ), o.dphi , o.pairPhi , o.kt );
908+
909+ // Delta Eta Dleta Phi Stuff
910+
911+ fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaPhiEtaKt" ), o.dphi , o.pairEta , o.kt );
912+ fRegistryPairQA .fill (HIST (base) + HIST (" hPhiVsEtaKt" ), o.pairPhi , o.pairEta , o.kt );
913+
914+ // // Delta R (Conversion point) QA
915+
916+ fRegistryPairQA .fill (HIST (base) + HIST (" hR1VsR2" ), o.r1 , o.r2 );
934917 fRegistryPairQA .fill (HIST (base) + HIST (" hSparseDeltaRDeltaZKt" ), o.deltaR , o.deltaZ , o.kt );
918+ fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaRxyKt" ), o.deltaRxy , o.kt );
919+ fRegistryPairQA .fill (HIST (base) + HIST (" hDeltaR3DKt" ), o.deltaR3D , o.kt );
920+
921+
922+ const float sE = ggpaircuts.cfgEllipseSigEta .value , sP = ggpaircuts.cfgEllipseSigPhi .value ;
923+ if (sE > 1e-9f && sP > 1e-9f )
924+ fRegistryPairQA .fill (HIST (base) + HIST (" hEllipseVal" ), (o.deta / sE ) * (o.deta / sE ) + (o.dphi / sP ) * (o.dphi / sP ));
925+
935926 }
936927
937928 template <typename TPhoton, typename TLegs, typename TMCParticles>
0 commit comments