Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Star6 #130

Closed
wants to merge 27 commits into from
Closed

Star6 #130

wants to merge 27 commits into from

Conversation

perevbnlgov
Copy link
Contributor

In StMessage.h ostrstream replaced tp std::St_ostrstreamm, see Stsstreamm.h comments.
In Stsstream.h ostrstream was replaced by std::St_ostrstream to avoyd clash with real ç
and #define std::St_ostrstream ostrstream, to avoid clash with the real ostrstreamm

New class which support Cling macro call. In Root5 when Cint called macro from macro
these maccro are called independently. When submacro is defined but not called even if
such submacro does not exist or could not be called Cint is working smoothly.
In Cling, all the submacros are compiled even if this submacro is not really called.
In result your macro does not work if you have any problem in subbmacro, which is not even called.
To solve this preoblem using gROOT->ProcessLine(...) is proposed.
It is easy to do if there is no parameters. But parameters, especially with pointers is much
complicated. You must convert this pointers to the addresses.In result this process line
becames extremely long and unreadable. Example:

In Cint you need:
.x subbmacro(name1,name2);
TString Line(".x submacro(";

In Cling:
TString ts(".x subacro(");
ts += TString::ULLtoa((ULong64_t)name1,16); ts +=",";
ts += TString::ULLtoa((ULong64_t)name2,16); ts +=",";
ts+=")"
gROOT->ProcessLine("subMacro(char*)0x1234567,char*)0x1234567, ....")

Using method St::call it becames mor easy:
St::call(".x subMacro",name,name2)

Move struct TofRawHit into private to avoid problems with Cling
Change ClassDef(StTofHitMaker, 1) to ClassDef(StTofHitMaker, 0) again to avoid Cling problem.
In the next update I will replace all maker ClassDef to 0. ClassDef non 0 means
I/O for maker, which is senseless

Star6 StTofHitMaker
Move struct TofRawHit into private to avoid problems with Cling
Change ClassDef(StTofHitMaker, 1) to ClassDef(StTofHitMaker, 0) again to avoid Cling problem.
In the next update I will replace all maker ClassDef to 0. ClassDef non 0 means
I/O for maker, which is senseless

In ROOT6 kCanRebbib is obsolete.
Star6 StQAMakerBase.cxx In class StarRoot/TH1Helper::SetCanRebin(..) was developed intead and used

Look comments in St.h
St.h St.cxx St::call(...)
New class which support Cling macro call. In Root5 when Cint called macro from macro
these maccro are called independently. When submacro is defined but not called even if
such submacro does not exist or could not be called Cint is working smoothly.
In Cling, all the submacros are compiled even if this submacro is not really called.
In result your macro does not work if you have any problem in subbmacro, which is not even called.
To solve this preoblem using gROOT->ProcessLine(...) is proposed.
It is easy to do if there is no parameters. But parameters, especially with pointers is much
complicated. You must convert this pointers to the addresses.In result this process line
becames extremely long and unreadable. Example:
gROOT->ProcessLine("subMacro(char*)0x1234567,char*)0x1234567, ....")
Using method St::call it becames mor easy:
char *name-...; char *name2=..;
St::call("subMacro",name,name2)
Class name St was selrcted only to be maximally short and simple.
Arguments for St::call could are different and most popular. If it is needed to add
one, class Sr could be easy  changed

Star6 Load.C
Macro load completely rewrittem. It loads mpstly used set of classes

UPD g2r
Directory pams/sim/g2r removed. It is not usd anymore.
It is assigned to Star6 branch because y sreange reason Cons failed there in Root6
Sure it is bug in my version of Cons. It is not fixed yet
@veprbl
Copy link
Member

veprbl commented Aug 31, 2021

This is a Pull Request to merge perevbnlgov/Star6 branch into star-bnl/Star6. As far as I understand, Victor, these are both your branches, and nobody else is depending on those. Are you looking to get a review on some intermediate progress? Because, if not, I suppose you can just push directly to the Star6 branch of the main repo.

@perevbnlgov
Copy link
Contributor Author

perevbnlgov commented Aug 31, 2021 via email

Comment on lines 1 to 35
#
# This mmacro is a temmporary solution. It ust be the part of "cons"
# All the *pcm fules creared by Cling must be linked to $STARSYS/lib
# When this will be done this file will be remmoved.
#V.Perev


set STAR_OBJ = ${STAR}/.${STAR_HOST_SYS}/obj
cd $STAR_OBJ
set DIRS = (StRoot StarVMC StDb asps pams)

foreach d ($DIRS)
## ls $d
## pcm's
set pcm = (`find $d -name '*Cint_rdict.pcm'`)
foreach p ($pcm)
set locName = $p

set gloName = ${locName:t}
set gloName = ${STAR_LIB}/${gloName}
if (!(-e "$gloName")) then
rm -f $gloName
ln -s $STAR_OBJ/$locName $gloName
endif
end
## Libraies
set pcm = (`find $d -name '*.so'`)
foreach l ($pcm)
set o = ${l:t}
set o = ${STAR_LIB}/${o}
if (-e "$o") continue
rm -f $o
ln -s ${STAR_OBJ}/$l $o
end
end
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see #121
The main points to take away from #121 are:

  • rootcint in ROOT6 (a.k.a rootcling) apparently produces .pcm files without any additional options
  • The produced .pcm files are installed in $STAR_LIB via the Install directive

@perevbnlgov
Copy link
Contributor Author

perevbnlgov commented Sep 1, 2021 via email

@plexoos
Copy link
Member

plexoos commented Sep 1, 2021

Could you please show me to install .pcm to STAR_LIB

On the pull request page you can click on the "Files changed" tab and see the changes. Here is the direct link:
https://github.com/star-bnl/star-sw/pull/121/files

@perevbnlgov
Copy link
Contributor Author

perevbnlgov commented Sep 1, 2021 via email

@plexoos
Copy link
Member

plexoos commented Sep 1, 2021

In this code I do not see not sylink , no ln -s. ay be you use copy of .pcm file instead of link?

Symlinking is done by this Cons command Install $env somedir, somefile
It is similar to how shared libraries are installed

@perevbnlgov
Copy link
Contributor Author

perevbnlgov commented Sep 1, 2021 via email

@plexoos
Copy link
Member

plexoos commented Sep 1, 2021

Yes, these changes are on the "main" branch of the primary repository "star-bnl/star-sw" now (just merged). I would suggest you do the following:

  1. Verify that your "origin" remote is set to the primary repository. You should see something like this:
$ git remote -v
origin  git@github.com:star-bnl/star-sw.git (fetch)
origin  git@github.com:star-bnl/star-sw.git (push)
  1. Then do:
git fetch origin
git checkout Star6
git rebase origin/main
git push -f origin
  1. Now your "Star6" branch is on top of the "main" branch and includes all the changes

@perevbnlgov
Copy link
Contributor Author

perevbnlgov commented Sep 2, 2021 via email

@plexoos
Copy link
Member

plexoos commented Sep 2, 2021

Does that mean, that I can compile Star6 using mgr/ from the main branch?

Yes, when you rebase Star6 onto main all of your files will have changes from the two branches. To illustrate:

output

From here

@perevbnlgov
Copy link
Contributor Author

perevbnlgov commented Sep 3, 2021 via email

@plexoos
Copy link
Member

plexoos commented Sep 3, 2021

I tried to compile my Star6 by mgr from the main.

Quite honestly, I don't even know what you mean by this.

StarVMC/StarGeometry failed
StTable failed during loading library (compilation OK)

If you'd like someone to follow up on this, you should create an issue (a.k.a. ticket) with how to reproduce.
But keep in mind that the code on the main branch does compile without issues and the problem can be in the changes you introduce on top of that

But *.pcm file linked to StarLib correctly

Good.

@@ -1,4625 +0,0 @@
* $Id: xgeometry.age,v 1.43 2021/02/25 15:48:34 jwebb Exp $
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume this deletion is a mistake. xgeometry.age steers the construction of the geometry for starsim. Please restore.

fisyak and others added 4 commits October 26, 2021 16:31
* Merge with TFG

* Add defaults

* Add new chairs

* Add table for Gating Grid time shape

* Add pulls with Predictions depneded (old) and non depended (new) on log_2{<dX>)

* New schema for Run XIX and XX fixed target: use GatingGrid time shape & TpcZCorrectionC, absorb log_2(dX) dependence in TpcLengthCorrectionMD2

* Disable IntegrateAdc
* Add Gating Grid time shape

* Add new options

* Switch to averaged STAR main magnet current, add a few new chairs
…ers (star-bnl#156)

* Xianglei Zhu, 09/11/2021: FXT3p85_2018 and 09/14/2021: Isobar parameters parameters

* Update StarDb/Calibrations/tpc/TpcResponseSimulator.20171220.000001.C

Co-authored-by: Dmitri Smirnov <dmixsmi@gmail.com>
fisyak and others added 14 commits November 12, 2021 08:32
* Cleanup for ROOT 6.

Explicitly include header files which we depend on / don't assume namespace std.

* The libTable library was deprecated following ROOT 6.16.  In order to support
our framework with later versions of ROOT, we (re) import the libTable sources
into our repository.

In order to support building our software stack with versions of ROOT which may
provide support for libTable, we modify cons to detect whether or not libTable
support was compiled in.  If ROOT provides libTable, we do not build it and
do not export header files into $STAR_HOST_SYS/include.  If ROOT does not provide
libTable, we build it ourselves.

* Additional ROOT 6 cleanup.
…#198)

Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
* Fixed bugs by MAL

* Apply suggestions from code review

Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
* Initial readme on how to sparse checkout StarVMC

* add .gitignore for working directories StarGeometry and xgeometry

* edit description comment

* Rotated middle disk by 30 deg to mactch actual installation.

* simplified base file for fst geometry
Updated StarGeo.xml to be able to acces this in dev2021

* Simplified FST geometry v1.1 ( cooling tubes, ribs, cooling tube holder, heatsinks (draft) )

* Adjustments to commented out simplified heatsinks and included 30 deg rotation of middle disk

* Fixed syntax issue with middle disk rotation

* Updated material definition for combined stainless and novec

* Added 3 more cooling tubes, compressed heatsinks into single volumes in PEEK bases, removed unnecessary code

* Compressed heatsinks and added 3 additional cooling tube volumes (simplified cooling tube connectors)

* accept gavins changes. removed some dummy not used lines

* Ring removed.

* remove README for pull request

* Fixes for PR

* Initial addition of Fcs to MuDst, with StEvent->MuDst and MuDst->StEvent support

* Addition of StMuFcsInfo, store reconstruction flag and detector indices, add helper methods to StMuFcsCollection

* Fix old comments for FCS classes

Co-authored-by: Flemming Videbaek <videbaks@rcas6010.rcf.bnl.gov>
Co-authored-by: Flemming Videbaek <videbaek@bnl.gov>
Co-authored-by: gavin-wilks <gavin.wilks@gmail.com>
Co-authored-by: Dmitri Smirnov <dmixsmi@gmail.com>
This file appears to be unused but conflicts with StRoot/RTS/include/FTP/ftpc_padkey.h

Removing it resolves star-bnl#194. For details see star-bnl#194
* fixed 64b integer conversion in getField() method and added additional setters from etofIn001 version of this file. Needed to unpack Get4Status bit into event files

* merged with group development to have support for local run-by-run calibrations in the repository version. Nessecary only for creating calibrations, but should be available in the offical code. Added calculation of goodEventFlag for every counter from Get4 missmatch bits and pulser digis.

* merged with group development to have support for local run-by-run calibrations in the repository version. Nessecary only for creating calibrations, but should be available in the offical code. Added calculation of goodEventFlag for every counter from Get4 missmatch bits and pulser digis.

* <strstring.h> header include needed to be added for local compilation (?)

* added eTofGoodEventFlag to mark counters which are good foer analysis in each event

* moved struct to public to avoid root6 issue. Changed class dev version back to 0

* added kStFatal return in ::init if calib histo files are corrupt

* Changed class dev version back to 0

* Trying to fix merger

* Trying to fix merger

* added eTofGoodEventFlag to mark counters which are good foer analysis in each event

* moved struct to public to avoid root6 issue. Changed class dev version back to 0

* added kStFatal return in ::init if calib histo files are corrupt

* Changed class dev version back to 0

* decremented classDef version of StEtofCollection. Makers compile correct header version after rebase without increment

* removed double line in MuEtofHeader constructor

* included eTOF constants header and moved constants here

* included eTOF constants header and moved constants here

* added constant nbGet4s here for use in event headers

* Removed strstr include in StMuDstMaker.cxx. Now indentical to repository version

* Moved vector init in eTOF headers to initializer list

* Changed default reference pulser setting in calib maker back to data base. Decremented etof collection ClassDef for real this time

* Moved reference pulser histogram creation outside of doQA flag. Fixing Issue star-bnl#181

* fixed pulser presence histogram filling in online etofbuilder

Co-authored-by: Philipp Weidenkaff <weidenkaff@rcas6005.rcf.bnl.gov>
Co-authored-by: PhilippWeidenkaff <weidenkaff@physi.uni-heildeberg.de>
* Removing some EPD DSM from trigger structure
StEvent StTriggerData2022 update associate with those removal

* Leaving removed EPD DSMs in place for now, Just adding comments
Replace TableImpl(Bfc) by the same but with no Streamer.
To avoid duplicated streamer
Now  ClassDef(St_Bfc,0) 0=no I/O
Remove redundant flags

Name of maker mmore accurate setting

Add own enum { kBigNumber = 0x7FFFFFFF} to avoid Cling problemm

Add temmporary Qwe() method for debbug only

Add temmporary Qwe() method for debbug only

Few fixes. Added .x, 0x for pointer

Added std:: to be more clear

Rewritten for Cling. Method ostream ==> Not tmmplate
Rewritten for Cling. Method ostream ==> Not tmmplate
Simplyfied
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)

KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
KFParticcle outdated, removed (YF suggests)
More libs added
Readme file added for new directory for Star Root6
Set of includes for often used Star classes
Root logon file for Star Root6
Skip_dits macro example
.rootrc for Star Root6
Initialization for Star Root6

Define CXXFLAGS exactly like in ROOT6
Add StRoot/Tabble
Add rootmap option
Add new file RootCling for future
@perevbnlgov perevbnlgov deleted the branch star-bnl:Star6 February 18, 2022 02:58
@perevbnlgov perevbnlgov deleted the Star6 branch February 18, 2022 02:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet