Hi all,
After the discussion today in the HF/Q meeting, here is the code that previously did the track->calo cluster matching:
https://github.com/sPHENIX-Collaboration/coresoftware/blob/76596713170fe38d1262f7300a0a9e99838b06f8/offline/packages/trackreco/PHActsTrackProjection.cc#L191
Previously the code took the Acts projection and used that to do the calo matching. Now, the Acts projection is saved in the SvtxTrackState, so any matching code now would just take the state information and then do the calo cluster matching
from there.
Let me know if there is anything I can do to help. If there is broader collaboration interest, I can develop a module that runs at the analysis level that does this matching and puts a track->cluster map on the node tree (not to be run
in production, but at the analysis level).
Joe
---------------------------
Joe Osborn, Ph.D.
Associate Research Scientist
Oak Ridge National Laboratory
osbornjd AT ornl.gov
(859)-433-8738
From:
sPHENIX-tracking-l <sphenix-tracking-l-bounces AT lists.bnl.gov> on behalf of Osborn, Joe via sPHENIX-tracking-l <sphenix-tracking-l AT lists.bnl.gov>
Date: Wednesday, July 13, 2022 at 8:22 AM
To: Marzia Rosati <marziarosati AT gmail.com>, Anthony Frawley <afrawley AT fsu.edu>, Alex Lebedev <lebedev AT iastate.edu>
Cc: sphenix-tracking-l AT lists.bnl.gov <sphenix-tracking-l AT lists.bnl.gov>
Subject: Re: [Sphenix-tracking-l] [EXTERNAL] Re: Need to update software and macros
Hi Marzia,
This would have to be done at the analysis level (e.g. not in the default track reconstruction), and we’d have to think about how to package things. What we could consider doing is having an analysis module that users could choose to run
if they need that puts a std::map<track, cluster> on the node tree. This could be the “blessed” sPHENIX version, and if an analysis needs something more complicated then they can use the track state information that is provided in the tracks.
Would that be sufficient? Presumably this would not be a huge memory cost as we could just use the pointers in the map, so as to not duplicate memory.
Joe
---------------------------
Joe Osborn, Ph.D.
Associate Research Scientist
Oak Ridge National Laboratory
osbornjd AT ornl.gov
(859)-433-8738
From:
Marzia Rosati <marziarosati AT gmail.com>
Date: Wednesday, July 13, 2022 at 8:09 AM
To: Anthony Frawley <afrawley AT fsu.edu>, Alex Lebedev <lebedev AT iastate.edu>, Osborn, Joe <osbornjd AT ornl.gov>
Cc: sphenix-tracking-l AT lists.bnl.gov <sphenix-tracking-l AT lists.bnl.gov>
Subject: [EXTERNAL] Re: [Sphenix-tracking-l] Need to update software and macros
Joe,
Is there an example on how to do the matching? In any case it seems to me that such a standard task deserves a common analysis function to match the closest cluster to the track, then analyzer can choose which energy to save: ecore e3x3 etc.
Best regards
Marzia
On Jul 13, 2022, 6:59 AM -0500, Osborn, Joe via sPHENIX-tracking-l <sphenix-tracking-l AT lists.bnl.gov>, wrote:
Hi Sasha,
In addition to what Tony said about accessing the cluster keys, the interface for accessing calo matching information has also changed as a means of conserving memory. The functions
get_cal_energy_3x3 and the like have all been deprecated in favor of saving the 6D track state information in the calo itself. This is to provide more flexibility to analyzers and basically punt the matching to the analysis level, so that analyzers can match
as they need to. It also reduces our memory footprint in the reconstruction, which is something we just had to do.
The tracks are projected to the calo and the state information is saved at the calo radius. The state methods for the SvtxTrack are
here, where you will have to get the track state information at the calo layer and then explicitly do the cluster matching yourself now.
Joe Osborn
---------------------------
Joe Osborn, Ph.D.
Associate Research Scientist
Oak Ridge National Laboratory
osbornjd AT ornl.gov
(859)-433-8738
From:
sPHENIX-tracking-l <sphenix-tracking-l-bounces AT lists.bnl.gov> on behalf of Anthony Frawley via sPHENIX-tracking-l <sphenix-tracking-l AT lists.bnl.gov>
Date: Tuesday, July 12, 2022 at 7:48 PM
To: Alex Lebedev <lebedev AT iastate.edu>
Cc: sphenix-tracking-l AT lists.bnl.gov <sphenix-tracking-l AT lists.bnl.gov>
Subject: [EXTERNAL] Re: [Sphenix-tracking-l] Need to update software and macros
The way that cluster keys are stored for tracks has changed with the new seeding scheme. The track is now composed of two track seeds
that keep their own list of clusters, and the track has pointers to the track seeds. To get the clusters you have to do something like this:
std::vector<TrkrDefs::cluskey> clusters;
auto siseed = track->get_silicon_seed();
for (auto iter = siseed->begin_cluster_keys();
iter != siseed->end_cluster_keys();
TrkrDefs::cluskey cluster_key = *iter;
clusters.push_back(cluster_key);
auto tpcseed = track->get_tpc_seed();
for (auto iter = tpcseed->begin_cluster_keys();
iter != tpcseed->end_cluster_keys();
TrkrDefs::cluskey cluster_key = *iter;
clusters.push_back(cluster_key);
}
I am not sure about the association with the CEMC, I have emailed Joe about it.
From:
Alex Lebedev <lebedev AT iastate.edu>
Sent: Tuesday, July 12, 2022 6:46 PM
To: Anthony Frawley <afrawley AT fsu.edu>
Cc: sphenix-tracking-l AT lists.bnl.gov <sphenix-tracking-l AT lists.bnl.gov>
Subject: Re: [Sphenix-tracking-l] Need to update software and macros
I've updated my macros and generated some Pythia6 events with Upsilons.
But there seems to be something wrong with tracking.
I can clearly see reconstructed electron/positron tracks from Upsilons (they make
correct invariant mass together), but E/p ratios for them are less than 0.1.
This is true for booth CEMC cluster energy and 3x3 energy around track projection.
Has someone checked that recently? It used to work a few weeks ago.
Also, When I look at number of hits in mvtx and tpc like this:
int nmvtx = 0; int nintt = 0; int ntpc = 0;
for (SvtxTrack::ConstClusterKeyIter iter = track->begin_cluster_keys();
iter != track->end_cluster_keys(); ++iter)
{
TrkrDefs::cluskey cluster_key = *iter;
int trackerid = TrkrDefs::getTrkrId(cluster_key);
if(trackerid==0) nmvtx++;
if(trackerid==1) nintt++;
if(trackerid==2) ntpc++;
}
I get zero number of mvtx and tpc hits.
/sphenix/user/sphnxpro/embed_new/Fun4All_G4_sPHENIX_pythiaupsilons.C
This is a heads-up for trackers.
Chris has just merged coresoftware PR#1555 and macros PR#529. These modify the TPC clustering to use (and store in the cluster) arrival
time instead of z as the local coordinate. That is how the real data will be handled. The details of converting time to global z value are all handled internally by the ActsGeometry class. That change required that the TpcDefs class be moved from packages/tpc
to packages/trackbase, since ActsGeometry needs to get the side from the cluster key. You will need to update your coresoftware and rebuild, or your tracking code will break. Also update your macros area to get changes to G4_TPC.C, G4_Tracking.C, and G4_Input.C.
Conversion of TPC cluster time to z position needs the drift velocity. I decided to make ActGeometry the keeper of the (reconstruction,
see below) drift velocity, and have any module that needs it request it from ActsGeometry. This is to avoid having the drift velocity be defined in multiple places. The only exception is the utility class tpc/TpcClusterZCrossingCorrection, where I have not
yet figured out how to get the (static) drift velocity from ActsGeometry, so it is set from the macro.
When we have data, the drift velocity used in reconstruction will be determined from the data and will not be the same as the one we use
in simulations. Following PR#529, the TPC macro defines different drift velocities for the simulations and reconstruction modules. Currently they are set at 8 cm/ns for both, but they can be specified independently in the macro.
_______________________________________________
sPHENIX-tracking-l mailing list
sPHENIX-tracking-l AT lists.bnl.gov
hxxps://lists.bnl.gov/mailman/listinfo/sphenix-tracking-l
_______________________________________________
sPHENIX-tracking-l mailing list
sPHENIX-tracking-l AT lists.bnl.gov
hxxps://lists.bnl.gov/mailman/listinfo/sphenix-tracking-l
|