[Rivet] Various things for Rivet

cholm cholm at nbi.dk
Fri Jun 30 13:44:53 BST 2017


Hi Andy et al,

On 2017-06-30 13:59, Andy Buckley wrote:
> Hi Christian & al,
> 
> Thanks for your work on this. It's very comprehensive.

No worries.

> I would like to benefit from what you've done here: your "alt-devel"
> strategy sounds very similar to the long-term developments that we've
> had planned. Unfortunately those got held up -- for *years*! -- by the
> technical work needed to handle events with systematics weight
> vectors. In collaboration with Jan Fiete, Jochen, and Przemek we
> recently added histogram preloading to the default branch, which will
> become version 2.6.0, so some pieces are at least close to release.

Right, I saw that.

Note, however, for the delayed finalize to work, one needs something 
like what is done in include/Rivet/Tools/Runner.hh - that is, record the 
collision system so we can build a fake event to initialize the analyses 
on.

Of course, analyses should be updated to use CounterPtr instead of 
member double to record sum of selected event weights (and similar).  It 
will still work in the old set-up as-is, but will break in 
delayed-finalization settings.

> As we've already discussed, some of your innovations aren't things
> that we'll want to pull into the main Rivet development line, but
> others (and the documentation bugfixes!) do sound useful. How do you
> suggest that we selectively merge your changes in a git repository
> into our Mercurial?

I think there's a number of ways to do it :-)

Of course, if you used Git we could have done it more or less with a 
simple pull/merge request :-)

Here's the options as I see it - in no particular order.

- You tell me which changes from

     https://gitlab.cern.ch/cholm/myrivet/compare/hg-tipp...master

   you would like to have, and I make a patch (or several) for the whole 
thing.  You can also do that yourself - e.g.,

     git diff hg-tipp..master include/Rivet/Analysis.hh > 
include_Rivet_Analysis_hh.patch

   This will of course intermingle code changes, documentation fixes, 
etc.

-(*) You can clone my gitlab repo, make a local branch (say, 
"changes-to-take") and cherry pick commits from the master branch into 
that branch

     git clone https://cholm@gitlab.cern.ch/cholm/myrivet.git
     cd myrivet
     git checkout hg-tipp
     git branch changes-to-take
     git cherry-pick <commits>

   where the <commits> are the hash(es) on

     https://gitlab.cern.ch/cholm/myrivet/compare/hg-tipp...master

   that you want to take. Then make a diff or the like.

-(*) Install hg-git, practically do as above but using the hg interface 
(graft instead of cherry-pick, etc.) Note, git branches are represented 
as hg bookmarks.  For this, you'd clone your mercurial repo, and then 
add my git repo as another remote.  Then pull in my changes, and cherry 
pick from the bookmark "master".  Once you're happy you push to 
upstream.

(*) Mind you, I have not tested this, so I cannot tell if it works.

The last option is by far the nicest, since it keeps history, log 
messages, etc.

I'm essentially on vacation from today until the 7. of August.  I will 
read emails sporadically.

Yours,

-- 
Christian Holm Christensen 
-------------------------------------------------
  Niels Bohr Institute, Blegdamsvej 17, DK-2100 Copenhagen
  http://cern.ch/cholm, +4524618591


More information about the Rivet mailing list