Skip to content

CMS: updates for the MC provenance query 2016 #182

@katilp

Description

@katilp

The current script gets the provenance information as follows

  • it starts the query from the dataset to be released
  • it goes to the preceding step in the processing chain using input file of the current step
  • if the step is LHE it queries the generator information from gridpacks

As the processing scheme has changed from UL processing (no input datasets before AODSIM as they were transient) this won't work anymore.

The query flow should be changed to go directly to the chain:

For an example dataset /ADDmonoPhoton_MD-1_d-3_TuneCP5_13TeV-pythia8/RunIISummer20UL16NanoAODv9-106X_mcRun2_asymptotic_v17-v2/NANOAODSIM:

On the web GUI:

Query by the output file name:

https://cms-pdmv.cern.ch/mcm/requests?produce=%2FADDmonoPhoton_MD-1_d-3_TuneCP5_13TeV-pythia8%2FRunIISummer20UL16NanoAODv9-106X_mcRun2_asymptotic_v17-v2%2FNANOAODSIM&page=0&shown=140737488355327

image

https://cms-pdmv.cern.ch/mcm/chained_requests?contains=EXO-RunIISummer20UL16NanoAODv9-00205&page=0

image

then for each request of the query and get the dicts in the respective pages.

On the command line

Using pred_id from das

$ dasgoclient -query="dataset=/ADDmonoPhoton_MD-1_d-3_TuneCP5_13TeV-pythia8/RunIISummer20UL16NanoAODv9-106X_mcRun2_asymptotic_v17-v2/NANOAODSIM"  -json | jq .[].dataset[].prep_id
"EXO-RunIISummer20UL16NanoAODv9-00205"
"EXO-RunIISummer20UL16NanoAODv9-00205"
null
"EXO-RunIISummer20UL16NanoAODv9-00205"
  • get the chain from the dictionary:

    • from the web GUI: https://cms-pdmv.cern.ch/mcm/public/restapi/requests/get/EXO-RunIISummer20UL16NanoAODv9-00205
    • command line: curl -s -k https://cms-pdmv.cern.ch/mcm/public/restapi/requests/get/EXO-RunIISummer20UL16NanoAODv9-00205
    • get the chain(s):
      $ curl -s -k https://cms-pdmv.cern.ch/mcm/public/restapi/requests/get/EXO-RunIISummer20UL16NanoAODv9-00205 | jq .results.member_of_chain
      [
        "EXO-chain_RunIISummer20UL16GEN_flowRunIISummer20UL16SIM_flowRunIISummer20UL16DIGIPremix_flowRunIISummer20UL16HLT_flowRunIISummer20UL16RECO_flowRunIISummer20UL16MiniAODv2_flowRunIISummer20UL16NanoAODv9-00109"
      ]
      
  • get the id of the chained request

    • from the web GUI: https://cms-pdmv.cern.ch/mcm/chained_requests?contains=EXO-RunIISummer20UL16NanoAODv9-00205&page=0&shown=15
    • command line:
      $ curl -L -s -b cookies.txt https://cms-pdmv.cern.ch/mcm/restapi/chained_requests/get/EXO-chain_RunIISummer20UL16GEN_flowRunIISummer20UL16SIM_flowRunIISummer20UL16DIGIPremix_flowRunIISummer20UL16HLT_flowRunIISummer20UL16RECO_flowRunIISummer20UL16MiniAODv2_flowRunIISummer20UL16NanoAODv9-00109 | jq .results.chain
      [
        "EXO-RunIISummer20UL16GEN-00123",
        "EXO-RunIISummer20UL16SIM-00521",
        "EXO-RunIISummer20UL16DIGIPremix-00521",
        "EXO-RunIISummer20UL16HLT-00521",
        "EXO-RunIISummer20UL16RECO-00521",
        "EXO-RunIISummer20UL16MiniAODv2-00213",
        "EXO-RunIISummer20UL16NanoAODv9-00205"
      ]
      
      • with auth-get-sso-cookie -u https://cms-pdmv.cern.ch/mcm -o cookies.txt (see also docs)
  • then, for each step in the chain, get the full dict or what is needed, e.g.

    $ curl -s -k https://cms-pdmv.cern.ch/mcm/public/restapi/requests/get/EXO-RunIISummer20UL16GEN-00123 | jq .results.sequences[0].conditions
    "106X_mcRun2_asymptotic_v13"
    $ curl -s -k https://cms-pdmv.cern.ch/mcm/public/restapi/requests/get/EXO-RunIISummer20UL16GEN-00123 | jq .results.cmssw_release
    "CMSSW_10_6_19_patch2"
    
  • An example with the LHE step:

    $  curl -s -k https://cms-pdmv.cern.ch/mcm/public/restapi/requests/get/SMP-RunIISummer20UL16MiniAODv2-00038 | jq .results.member_of_chain
    [
      "SMP-chain_RunIISummer20UL16wmLHEGEN_flowRunIISummer20UL16SIM_flowRunIISummer20UL16DIGIPremix_flowRunIISummer20UL16HLT_flowRunIISummer20UL16RECO_flowRunIISummer20UL16MiniAODv2_flowRunIISummer20UL16NanoAODv9-00038"
    ]
    $  curl -L -s -b cookies.txt https://cms-pdmv.cern.ch/mcm/restapi/chained_requests/get/SMP-chain_RunIISummer20UL16wmLHEGEN_flowRunIISummer20UL16SIM_flowRunIISummer20UL16DIGIPremix_flowRunIISummer20UL16HLT_flowRunIISummer20UL16RECO_flowRunIISummer20UL16MiniAODv2_flowRunIISummer20UL16NanoAODv9-00038  | jq .results.chain
    [
      "SMP-RunIISummer20UL16wmLHEGEN-00237",
      "SMP-RunIISummer20UL16SIM-00056",
      "SMP-RunIISummer20UL16DIGIPremix-00053",
      "SMP-RunIISummer20UL16HLT-00056",
      "SMP-RunIISummer20UL16RECO-00056",
      "SMP-RunIISummer20UL16MiniAODv2-00038",
      "SMP-RunIISummer20UL16NanoAODv9-00038"
    ]
    
  • the gridpack location is in the fragment:

    $ curl -s -k https://cms-pdmv.cern.ch/mcm/public/restapi/requests/get/SMP-RunIISummer20UL16wmLHEGEN-00237 | jq .results.fragment
    "\nimport FWCore.ParameterSet.Config as cms\n\nexternalLHEProducer = cms.EDProducer(\"ExternalLHEProducer\",\n    args = cms.vstring('/cvmfs/cms.cern.ch/phys_generator/gridpacks/slc7_amd64_gcc700/13TeV/madgraph/V5_2.6.5/XToJPsiG_JPsiToMuMu/bbH_HToJPsiG_JPsiToMuMu_slc7_amd64_gcc700_CMSSW_10_6_19_tarball.tar.xz'),\n    nEvents = cms.untracked.uint32(5000),\n    numberOfParameters = cms.uint32(1),\n    outputFile = cms.string('cmsgrid_final.lhe'),\n    scriptName = cms.FileInPath('GeneratorInterface/LHEInterface/data/run_generic_tarball_cvmfs.sh')\n)\n\n# Link to datacards\n# https://github.com/cms-sw/genproductions/tree/a46d2f429a051a1594209e3ebec3f5c75aea2ee2/bin/MadGraph5_aMCatNLO/cards/production/13TeV/XToJPsiG_JPsiToMuMu\n\nfrom Configuration.Generator.Pythia8CommonSettings_cfi import *\nfrom Configuration.Generator.MCTunes2017.PythiaCP5Settings_cfi import *\nfrom Configuration.Generator.PSweightsPythia.PythiaPSweightsSettings_cfi import *\n\ngenerator = cms.EDFilter(\"Pythia8HadronizerFilter\",\n    maxEventsToPrint = cms.untracked.int32(1),\n    pythiaPylistVerbosity = cms.untracked.int32(1),\n    filterEfficiency = cms.untracked.double(1.0),\n    pythiaHepMCVerbosity = cms.untracked.bool(False),\n    comEnergy = cms.double(13000.),\n    PythiaParameters = cms.PSet(\n        pythia8CommonSettingsBlock,\n        pythia8CP5SettingsBlock,\n        pythia8PSweightsSettingsBlock,\n        parameterSets = cms.vstring('pythia8CommonSettings',\n                                    'pythia8CP5Settings',\n
                'pythia8PSweightsSettings',\n                                    )\n    )\n)\n\nProductionFilterSequence = cms.Sequence(generator)\n"
    

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions