Skip to content

Store the jvt selection flag as char in the CP algorithm block configuration

This changes the data type of the jet JVT selection decision from unsigned int to char. There are three reasons for this:

  1. this is a simple selection (single bit), so char is simpler and more compact (perhaps this argument is not so important with ROOT compression)
  2. This avoids necessity for bit arithmetic because, e.g. doing a TTree::Scan() is pretty inconvenient for this selection variables since it's basically either max value of unsigned int or max value - 1 (since only the least significant bit is 0/1, all other are 1).
  3. It is more consistent with selection names for various object working point definitions and baselineSelection which are all also stored as char.

NOTE that this may mean that under certain circumstances, a conversion may be necessary, if combining decisions of unsigned int bitmask and a char selection, e.g. AnaJets.baselineSelection&&jvt_selection,as_char.

Edited by Oliver Majersky

Merge request reports