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

Bring L1T emulation up to date with l1t-tsg-v4 tag #13767

Merged
merged 239 commits into from Apr 12, 2016

Conversation

mulhearn
Copy link
Contributor

mulhearn and others added 30 commits February 9, 2016 12:14
Conflicts:
	L1Trigger/L1TCalorimeter/data/Flat_Tau_iso_LUT_eff70.txt
	L1Trigger/L1TCalorimeter/data/Flat_Tau_iso_LUT_eff80.txt
	L1Trigger/L1TCalorimeter/data/Flat_Tau_iso_LUT_eff90.txt
* the phi angle converions follows hardware mroe closely
@@ -70,7 +71,8 @@ namespace l1t {
emtf::EventTrailer GetEventTrailer() { return EventTrailer; };
emtf::MTF7Trailer GetMTF7Trailer() { return MTF7Trailer; };
emtf::AMC13Trailer GetAMC13Trailer() { return AMC13Trailer; };
const uint64_t Dataword() const { return dataword; };
const int Format_Errors() const { return format_errors; };
const uint64_t Dataword() const { return dataword; };
Copy link
Contributor

Choose a reason for hiding this comment

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

@mulhearn
These two methods (Format_Errors() and Dataword()) are both missing in the 81X version of this file (#13768), while all methods from line 54 to line 73 were const in the 81X incarnation, but not here. Is all that wanted, or any of the two PR's for 81X or 80X should be fixed, instead?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Right, yeah, that was one of the conflicted files when merging this PR into 81X. I guess some DQM changes were already merged in 81X. I'm pretty sure now this is a harmless difference, but I am still checking.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It was the DQM that made these changes:

mulhearn@lxplus071>git show aeba2b41b2de9ec4382915a4ba29257e410c7800 -- DataFormats/L1TMuon/interface/EMTFOutput.h
commit aeba2b41b2de9ec4382915a4ba29257e410c7800
Author: Sean-Jiun Wang <churchguitarist@gmail.com>
Date:   Mon Mar 7 18:04:48 2016 +0100

    First commit: compiles and runs

diff --git a/DataFormats/L1TMuon/interface/EMTFOutput.h b/DataFormats/L1TMuon/interface/EMTFOutput.h
index 7d607b3..bc8968d 100644
--- a/DataFormats/L1TMuon/interface/EMTFOutput.h
+++ b/DataFormats/L1TMuon/interface/EMTFOutput.h
@@ -50,27 +50,27 @@ namespace l1t {
     void set_AMC13Trailer(emtf::AMC13Trailer bits)  { AMC13Trailer = bits; hasAMC13Trailer = true; };
     void set_dataword(uint64_t bits)                { dataword = bits;               };

-    bool HasAMC13Header()                   { return hasAMC13Header;  };
-    bool HasMTF7Header()                    { return hasMTF7Header;   };
-    bool HasEventHeader()                   { return hasEventHeader;  };
-    bool HasCounters()                      { return hasCounters;     };
-    int  NumSP()                            { return numSP;           };
-    int  NumRPC()                           { return numRPC;          };
-    int  NumME()                            { return numME;           };
-    bool HasAMC13Trailer()                  { return hasAMC13Trailer; };
-    bool HasMTF7Trailer()                   { return hasMTF7Trailer;  };
-    bool HasEventTrailer()                  { return hasEventTrailer; };
-    emtf::AMC13Header GetAMC13Header()      { return AMC13Header;   };
-    emtf::MTF7Header GetMTF7Header()        { return MTF7Header;    };
-    emtf::EventHeader GetEventHeader()      { return EventHeader;   };
-    emtf::Counters GetCounters()            { return Counters;      };
-    emtf::MECollection GetMECollection()    { return MECollection;  };
-    emtf::RPCCollection GetRPCCollection()  { return RPCCollection; };
-    emtf::SPCollection GetSPCollection()    { return SPCollection;  };
-    emtf::EventTrailer GetEventTrailer()    { return EventTrailer;  };
-    emtf::MTF7Trailer GetMTF7Trailer()      { return MTF7Trailer;   };
-    emtf::AMC13Trailer GetAMC13Trailer()    { return AMC13Trailer;  };
-    const uint64_t Dataword() const     { return dataword; };
+    const bool HasAMC13Header()                  const { return hasAMC13Header;  };
+    const bool HasMTF7Header()                   const { return hasMTF7Header;   };
+    const bool HasEventHeader()                  const { return hasEventHeader;  };
+    const bool HasCounters()                     const { return hasCounters;     };
+    const int  NumSP()                           const { return numSP;           };
+    const int  NumRPC()                          const { return numRPC;          };
+    const int  NumME()                           const { return numME;           };
+    const bool HasAMC13Trailer()                 const { return hasAMC13Trailer; };
+    const bool HasMTF7Trailer()                  const { return hasMTF7Trailer;  };
+    const bool HasEventTrailer()                 const { return hasEventTrailer; };
...

Copy link
Contributor

Choose a reason for hiding this comment

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

Why do you even have separate branches for the code for 8.0.x and 8.1.x ?

At the very least, they list of commits should be the same, cherry-picked form one release (whatever you consider the one people should be developing with) to the other.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Uggh, this was a pain to track down... this difference is due to the DQM PR (#13891):

mulhearn@lxplus071>git show --name-only aeba2b41b2de9ec4382915a4ba29257e410c7800
commit aeba2b41b2de9ec4382915a4ba29257e410c7800
Author: Sean-Jiun Wang <churchguitarist@gmail.com>
Date:   Mon Mar 7 18:04:48 2016 +0100

    First commit: compiles and runs

DQM/Integration/python/clients/l1tstage2_dqm_sourceclient-live_cfg.py
DQM/L1TMonitor/interface/L1TStage2EMTF.h
DQM/L1TMonitor/python/L1TStage2EMTF_cfi.py
DQM/L1TMonitor/python/L1TStage2_cff.py
DQM/L1TMonitor/src/L1TStage2EMTF.cc
DQM/L1TMonitor/src/SealModule.cc
DataFormats/L1TMuon/interface/EMTFOutput.h
EventFilter/L1TRawToDigi/python/emtfStage2Digis_cfi.py

this will all be consistent again once the PR is merged, and Vladimir makes the 80x version of that DQM PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@fwyzard: because there were merge conflicts when merging 80x version of PR into 81x.

Copy link
Contributor

Choose a reason for hiding this comment

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

why?
I would hope the L1 code is not diverging between 80x and 81x

On Apr 6, 2016, at 1:38 PM, mulhearn notifications@github.com wrote:

In DataFormats/L1TMuon/interface/EMTFOutput.h:

@@ -70,7 +71,8 @@ namespace l1t {
emtf::EventTrailer GetEventTrailer() { return EventTrailer; };
emtf::MTF7Trailer GetMTF7Trailer() { return MTF7Trailer; };
emtf::AMC13Trailer GetAMC13Trailer() { return AMC13Trailer; };

  • const uint64_t Dataword() const { return dataword; };
  • const int Format_Errors() const { return format_errors; };
  • const uint64_t Dataword() const { return dataword; };

@fwyzard: because there were merge conflicts when merging 80x version of PR into 81x.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

Copy link
Contributor

Choose a reason for hiding this comment

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

The point here is the code in 80X is diverging from 81X on account of a separate PR as Mike mentioned. (#13891)
If we were to compare the L1 packages at a point in the 81X history before this other PR, I suspect no discrepancy would be found.

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 5, 2016

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 5, 2016

@mulhearn
Copy link
Contributor Author

mulhearn commented Apr 6, 2016

+1

@mulhearn
Copy link
Contributor Author

mulhearn commented Apr 6, 2016

Following Perrotta's comments I did a check of all L1T files between this and the 81X version of this PR. All differences are understood.

@mulhearn
Copy link
Contributor Author

mulhearn commented Apr 6, 2016

+1

@davidlt
Copy link
Contributor

davidlt commented Apr 6, 2016

Are you really changing 168 files with 239 commits, or the history here is trashed with merge commits?

@mulhearn
Copy link
Contributor Author

mulhearn commented Apr 6, 2016

Well, not quite trashed, e.g. I don't see a bunch of duplicate version of same commit, but the usual multiple useless empty merge commit business plus lots of small commits.

@davidlt
Copy link
Contributor

davidlt commented Apr 6, 2016

Why did you had to do git merge? How many of these commits out of 239 should actually be part of this PR? Just trying to understand.

@nsmith-
Copy link
Contributor

nsmith- commented Apr 6, 2016

The typical workflow for a change in L1 trigger land is something like:

cmsrel ....
...
git cms-merge-topic cms-l1t-offline:l1t-integration-...
... edit
git push cms-l1t-offline my-change-branch

So every time someone makes a change and makes PR to l1t-integration, there is the empty merge commit that brings the HEAD (from-CMSSW...) up to where cms-l1t-offline is at.

This is where most of the merge commits come from, they are harmless, and just an artifact of the development process that L1 offline has subscribed to.

Granted, there are alternatives that might make the commit history cleaner, but they require commands more unfamiliar to cmssw users

@mulhearn
Copy link
Contributor Author

mulhearn commented Apr 6, 2016

Yes, exactly. I'm considering cleaning up commit history at point we push into official CMSSW in future, but definitely not here in this PR.

@mulhearn
Copy link
Contributor Author

mulhearn commented Apr 6, 2016

And adding to nsmith, you also get two more merge commits if you follow github standard recipe for merging their PRs into the integration branch. So one small change can have four commits.

@mulhearn
Copy link
Contributor Author

mulhearn commented Apr 6, 2016

At integration branch level, we need to keep the developer commits intact so we can sort out what happens. But once we make a tag (l1t-tsg-vX), I think it would be fine to push to CMSSW a cleaned up history with fewer topical commits ("bring L1TGlobal up-to date with l1t-tsg-vX").

@mulhearn
Copy link
Contributor Author

mulhearn commented Apr 6, 2016

But that robs developers of their credit, which is actually a non-neglible consideration now that some firms check github before hiring...

@mulhearn
Copy link
Contributor Author

mulhearn commented Apr 6, 2016

Anyway, let's merge this sucka.

@davidlange6
Copy link
Contributor

Let's fix all the 81x problems first;)

Cheers,
David

On 06 Apr 2016, at 14:08, mulhearn <notifications@github.commailto:notifications@github.com> wrote:

Anyway, let's merge this sucka.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHubhttps://github.com//pull/13767#issuecomment-206342564

@fwyzard
Copy link
Contributor

fwyzard commented Apr 6, 2016

On 6 April 2016 at 14:07, mulhearn notifications@github.com wrote:

But that robs developers of their credit, which is actually a non-neglible
consideration now that some firms check github before hiring...

In general I agree, I prefer to leave the commit to original authors - if
anything to know who to blame for the bugs and credit for the fixes ;-)

You can rebase most of the merges away, and also squash successive commits,
without changing the author.

But trying to rebase this PR now is simply impossible - and pointless,
since we have the equivalent one in 8.1.x already.

.A

@mmusich
Copy link
Contributor

mmusich commented Apr 12, 2016

+1

@davidlange6 davidlange6 merged commit b515c48 into cms-sw:CMSSW_8_0_X Apr 12, 2016
@nsmith- nsmith- mentioned this pull request Apr 19, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet