Open jdbrice opened 9 months ago
Note, this PR includes the changes from PR #569 but the only changes relevant here are those in StRoot/StFwdTrackMaker and StRoot/StFwdUtils/
Also the CI jobs seem to be failing on code unrelated to my changes (things in StEvent)
These errors should be fixed first:
2023-07-25T19:47:18.5349686Z #10 1453.7 g++ -m64 -fPIC -pipe -Wall -Woverloaded-virtual -std=c++0x -Wno-long-long -pthread -Wno-deprecated-declarations -Werror -O2 -g -falign-loops -falign-jumps -falign-functions -Dsl79_gcc485 -D__ROOT__ -DNEW_DAQ_READER -I. -IStRoot -I.sl79_gcc485/include -I/opt/software/linux-scientific7-x86_64/gcc-4.8.5/root-5.34.38-l3v6vso6qgojm4l2ctwjojs6trbt4hpn/include -c .sl79_gcc485/OBJ/StRoot/StFwdUtils/StFwdAnalysisMaker.cxx -o .sl79_gcc485/OBJ/StRoot/StFwdUtils/StFwdAnalysisMaker.o
2023-07-25T19:47:19.4377677Z #10 1454.6 .sl79_gcc485/OBJ/StRoot/StFwdUtils/StFwdAnalysisMaker.cxx: In member function 'void StFwdAnalysisMaker::ProcessFwdTracks()':
2023-07-25T19:47:19.4378676Z #10 1454.6 .sl79_gcc485/OBJ/StRoot/StFwdUtils/StFwdAnalysisMaker.cxx:191:54: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
2023-07-25T19:47:19.4379329Z #10 1454.6 for( int i = 0; i < fcs->clusters(iDet).size(); i++){
2023-07-25T19:47:19.4379659Z #10 1454.6 ^
2023-07-25T19:47:19.4380367Z #10 1454.6 .sl79_gcc485/OBJ/StRoot/StFwdUtils/StFwdAnalysisMaker.cxx:245:68: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
2023-07-25T19:47:19.4381434Z #10 1454.6 for ( int iEcal = 0; iEcal < fwdTrack->ecalClusters().size(); iEcal++ ){
2023-07-25T19:47:19.4381970Z #10 1454.6 ^
2023-07-25T19:47:19.4382676Z #10 1454.6 .sl79_gcc485/OBJ/StRoot/StFwdUtils/StFwdAnalysisMaker.cxx:263:62: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
2023-07-25T19:47:19.4383319Z #10 1454.6 for( int i = 0; i < fcs->clusters(iDet).size(); i++){
2023-07-25T19:47:19.4383665Z #10 1454.6 ^
2023-07-25T19:47:19.4384345Z #10 1454.6 .sl79_gcc485/OBJ/StRoot/StFwdUtils/StFwdAnalysisMaker.cxx:301:62: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
2023-07-25T19:47:19.4384994Z #10 1454.6 for( int i = 0; i < fcs->clusters(iDet).size(); i++){
2023-07-25T19:47:19.4385329Z #10 1454.6 ^
2023-07-25T19:47:19.4385933Z #10 1454.6 .sl79_gcc485/OBJ/StRoot/StFwdUtils/StFwdAnalysisMaker.cxx:235:15: error: unused variable 'c' [-Werror=unused-variable]
2023-07-25T19:47:19.4386330Z #10 1454.6 float c[9];
2023-07-25T19:47:19.4386574Z #10 1454.6 ^
2023-07-25T19:47:19.4387294Z #10 1454.6 .sl79_gcc485/OBJ/StRoot/StFwdUtils/StFwdAnalysisMaker.cxx: In member function 'void StFwdAnalysisMaker::ProcessFwdMuTracks()':
2023-07-25T19:47:19.4388295Z #10 1454.6 .sl79_gcc485/OBJ/StRoot/StFwdUtils/StFwdAnalysisMaker.cxx:413:55: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
2023-07-25T19:47:19.4388939Z #10 1454.6 for( int i = 0; i < fcs->numberOfClusters(); i++){
2023-07-25T19:47:19.4389281Z #10 1454.6 ^
2023-07-25T19:47:19.4389984Z #10 1454.6 .sl79_gcc485/OBJ/StRoot/StFwdUtils/StFwdAnalysisMaker.cxx:437:70: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
2023-07-25T19:47:19.4390652Z #10 1454.6 for ( size_t i = 0; i < muFwdTrack->mEcalClusters.GetEntries(); i++ ){
2023-07-25T19:47:19.4391042Z #10 1454.6 ^
2023-07-25T19:47:19.4391851Z #10 1454.6 .sl79_gcc485/OBJ/StRoot/StFwdUtils/StFwdAnalysisMaker.cxx:455:70: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
2023-07-25T19:47:19.4392547Z #10 1454.6 for ( size_t i = 0; i < muFwdTrack->mHcalClusters.GetEntries(); i++ ){
2023-07-25T19:47:19.4392918Z #10 1454.6 ^
2023-07-25T19:47:19.4393526Z #10 1454.6 .sl79_gcc485/OBJ/StRoot/StFwdUtils/StFwdAnalysisMaker.cxx:402:15: error: unused variable 'c' [-Werror=unused-variable]
2023-07-25T19:47:19.4394034Z #10 1454.6 float c[9];
2023-07-25T19:47:19.4394264Z #10 1454.6 ^
@klendathu2k I will remove everything StFtt related from this PR. Everything you suggest is valid - but it I've addressed it in PR #569 instead of here
Well, I thought that PR #538 (Add Fwd Tracks to MuDst) was already merged. It was submitted in May but has not received any review. So I removed MuDST from the PR also (done in https://github.com/star-bnl/star-sw/pull/571/commits/ae1dae2f96d009378c6be9dcf21e19c0f523380d)
Well, I thought that PR #538 (Add Fwd Tracks to MuDst) was already merged. It was submitted in May but has not received any review. So I removed MuDST from the PR also (done in ae1dae2)
I reviewed #538 just now. It looks good to me. I suggest we merge it before this one
I finally updated this PR to include only the needed changes for this feature (FST based tracking) Review can go ahead now
commit e65362f made changes to verify everything works for the ideal simulation cases:
I added: StRoot/StFwdTrackMaker/macro/sim/ideal_sim.C StRoot/StFwdTrackMaker/macro/sim/gen
to make running the code in this way easy. It can be tested with:
cons
ln -s StRoot/StFwdTrackMaker/macro/sim/ .
./sim/gen 100
./sim/ideal_sim.C 100
OK with 99752c4 I think I have brought in all of the most important updates:
These updates provide a new FWD tracking mode in which the track finding is one with FST information. Tracks are then fit to valid Seeds and then (optionally) any FTT hits are added to the track if found along the trajectory.
This mode is needed for any analysis of real data at this point. That would include fast offline for ongoing data taking.