@@ -83,6 +83,8 @@ struct TrackEfficiency {
8383 Configurable<float > ptHatMax{" ptHatMax" , 300 , " max pT hat of collisions" };
8484 Configurable<float > pTHatExponent{" pTHatExponent" , 6.0 , " exponent of the event weight for the calculation of pTHat" };
8585
86+ Configurable<int > useTrueTrackWeight{" useTrueTrackWeight" , 1 , " test configurable, to be removed" };
87+
8688 std::vector<int > eventSelectionBits;
8789 int trackSelection = -1 ;
8890
@@ -478,8 +480,8 @@ struct TrackEfficiency {
478480 }
479481 registry.fill (HIST (" hMcCollCutsCounts" ), 5.5 ); // at least one of the reconstructed collisions associated with this mcCollision is selected with regard to centrality
480482
481- float eventWeight = mcCollision.weight ();
482- float pTHat = 10 . / (std::pow (eventWeight , 1.0 / pTHatExponent));
483+ float mcCollEventWeight = mcCollision.weight ();
484+ float pTHat = 10 . / (std::pow (mcCollEventWeight , 1.0 / pTHatExponent));
483485 if (pTHat < ptHatMin || pTHat > ptHatMax) { // only allows mcCollisions with weight in between min and max
484486 return ;
485487 }
@@ -493,16 +495,16 @@ struct TrackEfficiency {
493495 }
494496 registry.fill (HIST (" hMcPartCutsCounts" ), 1.5 ); // isCharged
495497
496- registry.fill (HIST (" h3_particle_pt_particle_eta_particle_phi_mcpart_nonprimary" ), jMcParticle.pt (), jMcParticle.eta (), jMcParticle.phi (), eventWeight );
498+ registry.fill (HIST (" h3_particle_pt_particle_eta_particle_phi_mcpart_nonprimary" ), jMcParticle.pt (), jMcParticle.eta (), jMcParticle.phi (), mcCollEventWeight );
497499
498500 if (checkPrimaryPart && !jMcParticle.isPhysicalPrimary ()) { // global tracks should be mostly primaries
499501 continue ;
500502 }
501503 registry.fill (HIST (" hMcPartCutsCounts" ), 2.5 ); // isPrimary
502504
503- registry.fill (HIST (" h3_particle_pt_particle_eta_particle_phi_mcpartofinterest" ), jMcParticle.pt (), jMcParticle.eta (), jMcParticle.phi (), eventWeight );
505+ registry.fill (HIST (" h3_particle_pt_particle_eta_particle_phi_mcpartofinterest" ), jMcParticle.pt (), jMcParticle.eta (), jMcParticle.phi (), mcCollEventWeight );
504506
505- registry.fill (HIST (" h3_particle_pt_high_particle_eta_particle_phi_mcpartofinterest" ), jMcParticle.pt (), jMcParticle.eta (), jMcParticle.phi (), eventWeight );
507+ registry.fill (HIST (" h3_particle_pt_high_particle_eta_particle_phi_mcpartofinterest" ), jMcParticle.pt (), jMcParticle.eta (), jMcParticle.phi (), mcCollEventWeight );
506508
507509 if ((std::abs (jMcParticle.eta ()) < trackEtaAcceptanceCountQA)) { // removed from actual cuts for now because all the histograms have an eta axis
508510 registry.fill (HIST (" hMcPartCutsCounts" ), 3.5 ); // etaAccept // not actually applied here but it will give an idea of what will be done in the post processing
@@ -532,27 +534,31 @@ struct TrackEfficiency {
532534 registry.fill (HIST (" hTrackCutsCounts" ), 1.5 );
533535
534536 if (!track.has_mcParticle ()) {
535- registry.fill (HIST (" h3_track_pt_track_eta_track_phi_nonassociatedtrack" ), track.pt (), track.eta (), track.phi (), eventWeight);
537+ registry.fill (HIST (" h3_track_pt_track_eta_track_phi_nonassociatedtrack" ), track.pt (), track.eta (), track.phi (), mcCollEventWeight); // weight attribution here not trivial; I use the one of the current mcCollision, but track belongs to no collision; what should be its weight? could be a moot point but algo has complained about invalid index for mcParticle if I put th etrueTrackCollEventWeight before this cut
536538
537- registry.fill (HIST (" h3_track_pt_high_track_eta_track_phi_nonassociatedtrack" ), track.pt (), track.eta (), track.phi (), eventWeight );
539+ registry.fill (HIST (" h3_track_pt_high_track_eta_track_phi_nonassociatedtrack" ), track.pt (), track.eta (), track.phi (), mcCollEventWeight );
538540 continue ;
539541 }
540542 registry.fill (HIST (" hTrackCutsCounts" ), 2.5 );
541543
544+ auto mcParticle = track.mcParticle_as <JetParticlesWithOriginal>();
545+ auto trueTrackMcCollision = mcParticle.mcCollision_as <aod::JetMcCollisions>();
546+ float trueTrackCollEventWeight = useTrueTrackWeight ? trueTrackMcCollision.weight () : mcCollEventWeight; // test1
547+
542548 auto jMcParticleFromTrack = track.mcParticle_as <JetParticlesWithOriginal>();
543549 if (!jMcParticleFromTrack.isPhysicalPrimary ()) {
544- registry.fill (HIST (" h3_track_pt_track_eta_track_phi_associatedtrack_nonprimary" ), track.pt (), track.eta (), track.phi (), eventWeight );
545- registry.fill (HIST (" h3_particle_pt_particle_eta_particle_phi_associatedtrack_nonprimary" ), jMcParticleFromTrack.pt (), jMcParticleFromTrack.eta (), jMcParticleFromTrack.phi (), eventWeight );
550+ registry.fill (HIST (" h3_track_pt_track_eta_track_phi_associatedtrack_nonprimary" ), track.pt (), track.eta (), track.phi (), trueTrackCollEventWeight );
551+ registry.fill (HIST (" h3_particle_pt_particle_eta_particle_phi_associatedtrack_nonprimary" ), jMcParticleFromTrack.pt (), jMcParticleFromTrack.eta (), jMcParticleFromTrack.phi (), trueTrackCollEventWeight );
546552
547- registry.fill (HIST (" h3_track_pt_high_track_eta_track_phi_associatedtrack_nonprimary" ), track.pt (), track.eta (), track.phi (), eventWeight );
548- registry.fill (HIST (" h3_particle_pt_high_particle_eta_particle_phi_associatedtrack_nonprimary" ), jMcParticleFromTrack.pt (), jMcParticleFromTrack.eta (), jMcParticleFromTrack.phi (), eventWeight );
553+ registry.fill (HIST (" h3_track_pt_high_track_eta_track_phi_associatedtrack_nonprimary" ), track.pt (), track.eta (), track.phi (), trueTrackCollEventWeight );
554+ registry.fill (HIST (" h3_particle_pt_high_particle_eta_particle_phi_associatedtrack_nonprimary" ), jMcParticleFromTrack.pt (), jMcParticleFromTrack.eta (), jMcParticleFromTrack.phi (), trueTrackCollEventWeight );
549555
550556 if (std::find (seenMcParticlesVector.begin (), seenMcParticlesVector.end (), jMcParticleFromTrack.globalIndex ()) != seenMcParticlesVector.end ()) {
551- registry.fill (HIST (" h3_track_pt_track_eta_track_phi_associatedtrack_split_nonprimary" ), track.pt (), track.eta (), track.phi (), eventWeight );
552- registry.fill (HIST (" h3_particle_pt_particle_eta_particle_phi_associatedtrack_split_nonprimary" ), jMcParticleFromTrack.pt (), jMcParticleFromTrack.eta (), jMcParticleFromTrack.phi (), eventWeight );
557+ registry.fill (HIST (" h3_track_pt_track_eta_track_phi_associatedtrack_split_nonprimary" ), track.pt (), track.eta (), track.phi (), trueTrackCollEventWeight );
558+ registry.fill (HIST (" h3_particle_pt_particle_eta_particle_phi_associatedtrack_split_nonprimary" ), jMcParticleFromTrack.pt (), jMcParticleFromTrack.eta (), jMcParticleFromTrack.phi (), trueTrackCollEventWeight );
553559
554- registry.fill (HIST (" h3_track_pt_high_track_eta_track_phi_associatedtrack_split_nonprimary" ), track.pt (), track.eta (), track.phi (), eventWeight );
555- registry.fill (HIST (" h3_particle_pt_high_particle_eta_particle_phi_associatedtrack_split_nonprimary" ), jMcParticleFromTrack.pt (), jMcParticleFromTrack.eta (), jMcParticleFromTrack.phi (), eventWeight );
560+ registry.fill (HIST (" h3_track_pt_high_track_eta_track_phi_associatedtrack_split_nonprimary" ), track.pt (), track.eta (), track.phi (), trueTrackCollEventWeight );
561+ registry.fill (HIST (" h3_particle_pt_high_particle_eta_particle_phi_associatedtrack_split_nonprimary" ), jMcParticleFromTrack.pt (), jMcParticleFromTrack.eta (), jMcParticleFromTrack.phi (), trueTrackCollEventWeight );
556562 } else {
557563 seenMcParticlesVector.push_back (jMcParticleFromTrack.globalIndex ());
558564 }
@@ -562,20 +568,20 @@ struct TrackEfficiency {
562568
563569 registry.fill (HIST (" hTrackCutsCounts" ), 3.5 );
564570
565- registry.fill (HIST (" h3_track_pt_track_eta_track_phi_associatedtrack_primary" ), track.pt (), track.eta (), track.phi (), eventWeight );
566- registry.fill (HIST (" h3_particle_pt_particle_eta_particle_phi_associatedtrack_primary" ), jMcParticleFromTrack.pt (), jMcParticleFromTrack.eta (), jMcParticleFromTrack.phi (), eventWeight );
567- registry.fill (HIST (" h2_particle_pt_track_pt_residual_associatedtrack_primary" ), jMcParticleFromTrack.pt (), (jMcParticleFromTrack.pt () - track.pt ()) / jMcParticleFromTrack.pt (), eventWeight );
571+ registry.fill (HIST (" h3_track_pt_track_eta_track_phi_associatedtrack_primary" ), track.pt (), track.eta (), track.phi (), trueTrackCollEventWeight );
572+ registry.fill (HIST (" h3_particle_pt_particle_eta_particle_phi_associatedtrack_primary" ), jMcParticleFromTrack.pt (), jMcParticleFromTrack.eta (), jMcParticleFromTrack.phi (), trueTrackCollEventWeight );
573+ registry.fill (HIST (" h2_particle_pt_track_pt_residual_associatedtrack_primary" ), jMcParticleFromTrack.pt (), (jMcParticleFromTrack.pt () - track.pt ()) / jMcParticleFromTrack.pt (), trueTrackCollEventWeight );
568574
569- registry.fill (HIST (" h3_track_pt_high_track_eta_track_phi_associatedtrack_primary" ), track.pt (), track.eta (), track.phi (), eventWeight );
570- registry.fill (HIST (" h3_particle_pt_high_particle_eta_particle_phi_associatedtrack_primary" ), jMcParticleFromTrack.pt (), jMcParticleFromTrack.eta (), jMcParticleFromTrack.phi (), eventWeight );
571- registry.fill (HIST (" h2_particle_pt_high_track_pt_high_residual_associatedtrack_primary" ), jMcParticleFromTrack.pt (), (jMcParticleFromTrack.pt () - track.pt ()) / jMcParticleFromTrack.pt (), eventWeight );
575+ registry.fill (HIST (" h3_track_pt_high_track_eta_track_phi_associatedtrack_primary" ), track.pt (), track.eta (), track.phi (), trueTrackCollEventWeight );
576+ registry.fill (HIST (" h3_particle_pt_high_particle_eta_particle_phi_associatedtrack_primary" ), jMcParticleFromTrack.pt (), jMcParticleFromTrack.eta (), jMcParticleFromTrack.phi (), trueTrackCollEventWeight );
577+ registry.fill (HIST (" h2_particle_pt_high_track_pt_high_residual_associatedtrack_primary" ), jMcParticleFromTrack.pt (), (jMcParticleFromTrack.pt () - track.pt ()) / jMcParticleFromTrack.pt (), trueTrackCollEventWeight );
572578
573579 if (std::find (seenMcParticlesVector.begin (), seenMcParticlesVector.end (), jMcParticleFromTrack.globalIndex ()) != seenMcParticlesVector.end ()) {
574- registry.fill (HIST (" h3_track_pt_track_eta_track_phi_associatedtrack_split_primary" ), track.pt (), track.eta (), track.phi (), eventWeight );
575- registry.fill (HIST (" h3_particle_pt_particle_eta_particle_phi_associatedtrack_split_primary" ), jMcParticleFromTrack.pt (), jMcParticleFromTrack.eta (), jMcParticleFromTrack.phi (), eventWeight );
580+ registry.fill (HIST (" h3_track_pt_track_eta_track_phi_associatedtrack_split_primary" ), track.pt (), track.eta (), track.phi (), trueTrackCollEventWeight );
581+ registry.fill (HIST (" h3_particle_pt_particle_eta_particle_phi_associatedtrack_split_primary" ), jMcParticleFromTrack.pt (), jMcParticleFromTrack.eta (), jMcParticleFromTrack.phi (), trueTrackCollEventWeight );
576582
577- registry.fill (HIST (" h3_track_pt_high_track_eta_track_phi_associatedtrack_split_primary" ), track.pt (), track.eta (), track.phi (), eventWeight );
578- registry.fill (HIST (" h3_particle_pt_high_particle_eta_particle_phi_associatedtrack_split_primary" ), jMcParticleFromTrack.pt (), jMcParticleFromTrack.eta (), jMcParticleFromTrack.phi (), eventWeight );
583+ registry.fill (HIST (" h3_track_pt_high_track_eta_track_phi_associatedtrack_split_primary" ), track.pt (), track.eta (), track.phi (), trueTrackCollEventWeight );
584+ registry.fill (HIST (" h3_particle_pt_high_particle_eta_particle_phi_associatedtrack_split_primary" ), jMcParticleFromTrack.pt (), jMcParticleFromTrack.eta (), jMcParticleFromTrack.phi (), trueTrackCollEventWeight );
579585 } else {
580586 seenMcParticlesVector.push_back (jMcParticleFromTrack.globalIndex ());
581587 }
0 commit comments