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

Infrastructure to create the actual ValueMap pat::Tau-discriminator for tau isolation and ID #15778

Merged

Conversation

roger-wolf
Copy link
Contributor

This is a pull request to layout the infrastructure to create the actual pat::Tau-discriminator ValueMap.

The PATTauDiscriminator.h is declared in DataFormats/PatCandidate. The classes for filling are provided in RecoTauTag/RecoTau:

  • PATTauDiscriminantCutMultiplexer.cc : used to save discriminator working points (eventually depending on other variables), following the currently existing TauPOG infrastructure.
  • PATTauDiscriminantCutMultiplexer_cfi.py : corresponding cfi file for configuration.
  • PATTauDiscriminationByMVAIsolationRun2.cc : the plugin to create the tauID discriminator ValueMap
  • PATTauDiscriminationByMVAIsolationRun2_cff.py : corresponding cff file for configuration.

Several other files have been modified to account for the existence new discriminator or to adapt helper functions to be able to act on the PATTauDiscriminator as well as on the PFTauDiscriminator. The input values for the AOD based discriminator calculation have been downgraded to float, since this is the available level of accuracy on miniAOD. This has been done with the premiss to guarantee that the MVA return values are the same irrespective of whether AOD or miniAOD has been used as input to the calculation. A few files have been added to the RecoTauTag/RecoTau/test directory for unit testing.

Usual checks have been made (apart from runMatrix problems with CMS_DAS). Also internal tests show that already existing workflows are not altered or compromised in any way. The unit test show that the discriminator can be calculated on miniAOD event content and read-in at analysis level and that it returns identical results to the discriminator as calculated on AOD input at an accuracy of 10e-5. Residual differences are understood in terms of differences on the miniAOD input variables.

We would like to get this infrastructure integrated in time for CMSSW_8_1_0_pre12.

Potentially we would like to backport it to 80X: it does not change any existing event content while it clearly add a new object to the EDM. In the typical case the new objects will be used at the analysis level and will be transient. The use case is also expressed by the fact that the new data object is defined in the AT packages DataFormats/PatCandidates. We anticipate that the backport might be subject of debate and rely on our assessment.

As for the extension of the miniAOD event content before we have one more development that is a bit lacking behind but that we would like to be integrated on the same time scale for the anti-electron discriminator. We hope that we can prepare this PR by tomorrow based on the infrastructure that has been laid out here. It will then ideally only add the plugins to calculate the physically different discriminator values using the PATTauDiscriminator infrastructure introduced with this PR. It will therefore not be as extended in lines of new/altered code as this PR.

Cheers,
Roger

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 8, 2016

A new Pull Request was created by @roger-wolf (Roger Wolf) for CMSSW_8_1_X.

It involves the following packages:

DataFormats/PatCandidates
RecoTauTag/RecoTau

@cmsbuild, @cvuosalo, @slava77, @monttj, @davidlange6 can you please review it and eventually sign? Thanks.
@gpetruc, @cbernet this is something you requested to watch as well.
@slava77, @smuzaffar you are the release manager for this.

cms-bot commands are list here #13028

<class name="pat::PATTauDiscriminatorBase">
<field name="transientVector_" transient="true"/>
</class>
<class name="pat::PATTauDiscriminator"/>
Copy link
Contributor

Choose a reason for hiding this comment

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

add versions to non-templated classes

Copy link
Contributor

Choose a reason for hiding this comment

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

start from version 3

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok -- if've done as advised. PATTauDiscriminator now has a class version 3. The PATTauDiscriminatorBase is a templated class.

@slava77
Copy link
Contributor

slava77 commented Sep 8, 2016

@cmsbuild please test

... mainly to get static analysis results and see the new unit test complete.
Review of so much code can take a while

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 8, 2016

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/15038/console

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 8, 2016

Pull request #15778 was updated. @cmsbuild, @cvuosalo, @slava77, @monttj, @davidlange6 can you please check and sign again.

@cmsbuild
Copy link
Contributor

Pull request #15778 was updated. @cmsbuild, @cvuosalo, @slava77, @monttj, @davidlange6 can you please check and sign again.

@cvuosalo
Copy link
Contributor

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 27, 2016

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/15405/console

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

@cvuosalo
Copy link
Contributor

+1

For #15778 d8d833b

Second approval after minor code clean-up. Code revisions are satisfactory and should not change results. New Jenkins tests still show no problems.

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

7 participants