Skip to content
Snippets Groups Projects
  1. Apr 11, 2024
  2. Mar 19, 2024
  3. Mar 01, 2024
    • Nils Erik Krumnack's avatar
      introduce a check that all selection names are valid · c35375d2
      Nils Erik Krumnack authored
      Essentially this ensures that users don't misspell their selection
      names, or use a selection name they forgot to define.
      
      This is only for full selections, for preselections I don't do
      it, as I usually ask for them before they are defined.  I also
      don't do it for the baseline selection.  If that is not present
      that just happens.
      c35375d2
  4. Feb 29, 2024
  5. Feb 12, 2024
  6. Feb 08, 2024
    • Nils Erik Krumnack's avatar
      introduce a mechanism to exclude specific cuts from subsequent use · bdc18522
      Nils Erik Krumnack authored
      The main usage here is that if OR is run before MET we don't want to use the OR selections with MET.  A similar issue is expected to come up with fakes/fakeable objects, i.e. some specific baseline cuts should not be applied (in fact they are inverted), but only for very specific users.
      
      The mechanism chosen here is to mark the cuts when they are registered and then exclude by name when requesting the selection.
      bdc18522
  7. Jan 26, 2024
  8. Jan 05, 2024
  9. Dec 21, 2023
    • Joseph Earl Lambert's avatar
      Replace ConfigFactory used in block config with backend for text config so both are consistent. · 5b0e0364
      Joseph Earl Lambert authored and Frank Winklmeier's avatar Frank Winklmeier committed
      Default blocks are added by default. PRW parameters are obtained from ConfigAccumulator.
      
      Add autoconfigFlags as an attribute to the ConfigAccumulator so information can be
      obtained in other blocks.
      
      Update the PileupReweighting block so that campaign, input files, and useDefaultConfig
      can be obtained from autoconfigFlags. The wrapper function that handeled this before has
      been removed.
      
      addDefaultAlgs function is now part of the ConfigFactory class and is called
      automatically when initializing an object instance. Default parameters are now
      obtained from ConfigAccumulator except for noSystematics flag so that this can
      be changed from the command line if not specified directly.
      5b0e0364
  10. Nov 21, 2023
  11. Nov 17, 2023
  12. Oct 31, 2023
  13. Oct 25, 2023
  14. Oct 20, 2023
  15. Oct 17, 2023
  16. Sep 19, 2023
  17. Sep 06, 2023
    • Nils Krumnack's avatar
      CP Algorithms: object cut flow overhaul · 8195ca1f
      Nils Krumnack authored
      The primary thing this does is to introduce a SelectionNameSvc that
      tracks the name of all the selection bits as reported by the various
      selection tools, allowing to give much better labels for the
      individual bins in the selection.  In addition this means I no longer
      need to track the bits for each selection mask, as they get
      automatically tracked.
      
      I also added a configuration block for the cut flows (there wasn't one
      yet), that allows to neatly add the cut flows when added.
      
      The one breaking change is that this now requires a SelectionNameSvc
      to get created.  I hope this doesn't cause too many issues.  In order
      to minimize the effect of such changes in the future I introduced a
      CommonServicesBlock (and corresponding sequence), to which I can add
      more services as needed.
      8195ca1f
  18. Sep 01, 2023
    • Nils Krumnack's avatar
      CP Algorithms: overhaul of the handling of overlap removal selections · dd25511a
      Nils Krumnack authored
      The main thing this does is to introduce an AsgUnionPreselectionAlg
      that allows to combine systematics dependent selection flags into a
      uniform preselection per systematic copy.  The logic here is that in
      preselections I (typically) just want to filter out objects for
      computational efficiency, but if the object fails for one systematic
      on the shallow copy I anyways have to process it.  Having such a joint
      selection decoration prevents the systematics of the selection to
      propagate into outputs that would otherwise be unaffected by it.
      
      This then in turn allows me to add such a decoration (on request) as
      part of the overlap removal config, as that is the only config block
      that has systematics dependent selection decorations.
      
      I also added a bunch of options to the OverlapRemovalConfig to allow
      changing the selection name to whatever the user wants/needs.
      dd25511a
  19. Aug 28, 2023
  20. Aug 23, 2023
  21. Aug 22, 2023
  22. Aug 17, 2023
  23. Aug 15, 2023
  24. Jul 06, 2023
  25. Jan 18, 2023
    • Nils Krumnack's avatar
      add configuration block for output n-tuple · e1c7bc66
      Nils Krumnack authored
      This allows to fully configure the output n-tuple via
      block-configuration, and it allows to add a suggested list of
      variables from the invidual blocks that define them, instead of having
      to maintain that list outside of the configuration block
      infrastructure.
      e1c7bc66
  26. Dec 07, 2022
  27. Dec 02, 2022
  28. Nov 29, 2022
  29. Oct 07, 2022
  30. Aug 31, 2022
  31. Aug 22, 2022
    • Nils Krumnack's avatar
      add AsgShallowCopyAlg, remove SysCopyHandle from AsgSelectionAlg · e4d0b37e
      Nils Krumnack authored
      This goes back to an old discussion that in principle AsgSelectionAlg
      should not have a SysCopyHandle, as it doesn't introduce new momentum
      systematics.  The reason it has one currently is that if there is a
      selection before the correction algorithm it does need to make a
      shallow copy that can then subsequently be modified at will.
      
      The solution implemented here is what we discussed back then: To
      implement an algorithm that does nothing more than make a shallow copy
      (based on the view container algorithm and the copy mechanism from
      SysCopyHandle) and schedule that before AsgSelectionAlg as needed.
      e4d0b37e
  32. Aug 05, 2022
    • Nils Krumnack's avatar
      CP Algorithm Blocks: replace "references" with two-pass configuration · 2a9da035
      Nils Krumnack authored
      Given that the first iteration of the configuration block design
      invoked criticism of the "reference" design for tracking containers I
      now changed it, so that instead of first allocating references to
      determine what the intermediate containers are, I just run through the
      entire configuration twice.  The second run-through then can rely on
      what it learned in the first run-through to determine what will happen
      further down in the sequence.
      
      This requires routing a number of calls through the ConfigAccumulator
      object, but it definitely makes writing the actual blocks more
      straightforward, and it should also allow for more flexibility if we
      need to redesign the ConfigAccumulator in the future (which also
      became simpler with this change).
      2a9da035
  33. Mar 18, 2022
    • Nils Krumnack's avatar
      introduce ConfigBlock configuration for taus · 11340e1a
      Nils Krumnack authored
      This largely matches what was done for muons, but based on the tau
      configuration.
      
      Unfortunately the unit tests are not currently working and have
      already been disabled in master.  I added more tests, but also
      disabled those.
      11340e1a
  34. Mar 11, 2022
    • Nils Krumnack's avatar
      first attempt at a block configuration, add block configuration for muons · e7202b4d
      Nils Krumnack authored
      The main goal here is to provide a foundation on which we can build,
      and that allows to quickly convert all the existing configurations, so
      that we can drop the old configuration quickly and don't have to
      maintain two parallel configuration mechanisms over an extended period
      of time.
      
      The interfaces and implementations will likely change, particularly as
      we evolve the configuration to add another layer on top of it.  As
      such the primary goal here is to provide a sort of stable interface
      for the actual users of the CP algorithms, so that they don't have to
      constantly update as we tune/change this.  I'd also like to keep the
      actual structure of the configuration blocks sort of stable, but I'd
      expect some degree of changes here over time.
      
      The main ingredients of this configuration model are:
      * ConfigBlock: The actual object specific configuration classes
        that have individual implementations for each group of algorithms that
        should...
      e7202b4d
Loading