Skip to content

Resolve "Explicit TQ(Sample)Folder variant support"

Ralf Gugel requested to merge 327-explicit-tq-sample-folder-variant-support into master

Release notes

Added a way to create "Variants" of cuts, e.g., for STXS but also to speed up scale factor systematics. Patch files such as the following

@bkg/?/?/diboson/NonWW/qq/WZgammaStar {
  <.variant.cut.A.allJet = "1"> 
  <.variant.cut.A.0jet = "[nJets3030]==0"> 
  <.variant.cut.A.ge1jet = "[nJets3030]>=1"> 
  <.variant.replaceCut.A= "CutWZnJetSplit">  
}

cause the "WZgammaStar" folders to be copied while analyzing it. Instead of executing AnalysisJobs for the original AnalysisJobs are duplicated for each "Variant" operating on a separate folder (named WZgammaStar_0jet for example). For each of these folders the cut expression for the specified replaceCut (here: CutWZnJetSplit) is replaced by the one given for each "Variant". Note that it is the user's responsibility to prevent double counting unless desired (in the example each event is counted twice, once in "allJet", once in either of the other two variants. It should be noted that any differences between the variants must be explicitly entered in the expressions, identical expressions evaluate in the same way for all "Variants" (as opposed to channels where corresponding Observables are explicitly separated from one channel to another).

Details

  • TQSample now considers "proxy samples" (used for VariantSamples). If a proxySample is set the TQSample instance will forward almost all TQSample (read: not TQ(Sample)Folder) specific calls to the TQSample set as the proxy. This ensures that with variants the VariantSamples still provide file/tree/event tokens as if one obtained them from the original. Only the latter is set up with the Friends mechanism and can therefore properly handle sharing of input files/trees/TEvents between multiple instances (channels but also via proxies for variants) processing data simultaneously.

Closes #327 (closed)

Edited by Ralf Gugel

Merge request reports