diff --git a/DataFormats/Scouting/test/BuildFile.xml b/DataFormats/Scouting/test/BuildFile.xml new file mode 100644 index 0000000000000..1f6570eac7355 --- /dev/null +++ b/DataFormats/Scouting/test/BuildFile.xml @@ -0,0 +1,2 @@ + + diff --git a/DataFormats/Scouting/test/scoutingCollectionsDumper.py b/DataFormats/Scouting/test/scoutingCollectionsDumper.py new file mode 100755 index 0000000000000..86c788059f532 --- /dev/null +++ b/DataFormats/Scouting/test/scoutingCollectionsDumper.py @@ -0,0 +1,182 @@ +#!/usr/bin/env python3 +import os +import argparse +import glob +import fnmatch +import ROOT + +from DataFormats.FWLite import Runs, Events, Handle + +def getScoutingProductsList(key): + '''Returns list of tuples (type, label) for EDM Scouting collections + - 'key' must be "Scouting" (data formats before Run 3), or "Run3Scouting" + ''' + if key == 'Scouting': + return [ + ('vector', 'hltScoutingCaloPacker'), + ('vector', 'hltScoutingEgammaPacker'), + ('vector', 'hltScoutingMuonPackerCalo'), + ('vector', 'hltScoutingPFPacker'), + ('vector', 'hltScoutingPFPacker'), + ('vector', 'hltScoutingEgammaPacker'), + ('vector', 'hltScoutingTrackPacker'), + ('vector', 'hltScoutingPrimaryVertexPacker:primaryVtx'), + ] + elif key == 'Run3Scouting': + return [ + ('vector', 'hltScoutingEgammaPacker'), + ('vector', 'hltScoutingMuonPacker'), + ('vector', 'hltScoutingPFPacker'), + ('vector', 'hltScoutingPFPacker'), + ('vector', 'hltScoutingEgammaPacker'), + ('vector', 'hltScoutingTrackPacker'), + ('vector', 'hltScoutingMuonPacker:displacedVtx'), + ('vector', 'hltScoutingPrimaryVertexPacker:primaryVtx') + ] + else: + raise RuntimeError(f'getScoutingProductsList -- invalid key (must be "Scouting", or "Run3Scouting"): "{key}"') + +def printScoutingVar(name, value): + '''Print content of data member of Scouting object + ''' + if isinstance(value, ROOT.Run3ScoutingHitPatternPOD): + for subvar in [ + 'hitCount', + 'beginTrackHits', + 'endTrackHits', + 'beginInner', + 'endInner', + 'beginOuter', + 'endOuter', + 'hitPattern', + ]: + subvalue = getattr(value, subvar) + print(f' {name}.{subvar} = {subvalue}') + else: + print(f' {name} = {value}') + +def printScoutingProduct(product_label, product_type, product, verbosity): + '''Print content of EDM product + ''' + if verbosity == 0: + return + + productIsVector = product_type.startswith('vector') + + productInfoStr = f'Product Label: "{product_label}" (type: "{product_type}")' + if productIsVector: + productInfoStr += f', size = {product.size()}' + + print(f'\n {productInfoStr}') + + if not productIsVector: + printScoutingVar('value', product[0]) + return + + obj_idx = 0 + for obj in product: + # print only first N objects, where N corresponds to verbosity (if positive) + if verbosity > 0 and obj_idx >= verbosity: + break + + # names of data members to print + if obj_idx == 0: + varNames = sorted([foo for foo in dir(obj) if not fnmatch.fnmatch(foo, '__*__')]) + + print(f'\n Object #{obj_idx}') + obj_idx += 1 + for varName in varNames: + varValue = getattr(obj, varName)() + printScoutingVar(varName, varValue) + +def analyseEvent(event, productList, verbosity = -1): + '''Function to analyse a single EDM Event + ''' + if verbosity != 0: + print('-'*50) + print(f'Run = {event.eventAuxiliary().run()}') + print(f'LuminosityBlock = {event.eventAuxiliary().luminosityBlock()}') + print(f'Event = {event.eventAuxiliary().event()}') + + for productType, productLabel in productList: + productHandle = Handle(productType) + event.getByLabel(productLabel, productHandle) + if productHandle.isValid(): + printScoutingProduct(productLabel, productType, productHandle.product(), verbosity) + + if verbosity != 0: + print('-'*50) + +def getInputFiles(inputList): + '''List of input files (after resolving wildcards, removing duplicates, and sorting) + ''' + ret = set() + for input_i in inputList: + inputFiles_i = glob.glob(input_i) + if len(inputFiles_i) == 0: + inputFiles_i = [input_i] + for input_j in inputFiles_i: + ret.add(os.path.abspath(os.path.realpath(input_j)) if os.path.isfile(input_j) else input_j) + return sorted(list(ret)) + +### +### main +### +if __name__ == '__main__': + ## args + parser = argparse.ArgumentParser( + description = 'FWLite script to print to stdout content of Scouting collections in EDM files.', + formatter_class = argparse.ArgumentDefaultsHelpFormatter + ) + + parser.add_argument('-i', '--inputs', dest='inputs', required=True, nargs='+', default=None, + help='List of EDM files in ROOT format') + + parser.add_argument('-s', '--skipEvents', dest='skipEvents', action='store', type=int, default=0, + help='Index of first event to be processed (inclusive)') + + parser.add_argument('-n', '--maxEvents', dest='maxEvents', action='store', type=int, default=-1, + help='Maximum number of events to be processed (inclusive)') + + parser.add_argument('-k', '--key', dest='key', action='store', type=str, choices=['Scouting', 'Run3Scouting'], default='Scouting', + help='Keyword to select Scouting DataFormats (must be "Scouting", or "Run3Scouting")') + + parser.add_argument('-v', '--verbosity', dest='verbosity', action='store', type=int, default=-1, + help='Level of verbosity') + + opts, opts_unknown = parser.parse_known_args() + + log_prx = os.path.basename(__file__)+' --' + + ## args validation + if len(opts_unknown) > 0: + raise RuntimeError(f'{log_prx} unrecognized command-line arguments: {opts_unknown}') + + inputFiles = getInputFiles(opts.inputs) + + if len(inputFiles) == 0: + raise RuntimeError(f'{log_prx} empty list of input files [-i]') + + ## Event Loop + nEvtRead, nEvtProcessed = 0, 0 + skipEvents = max(0, opts.skipEvents) + + scoutingProductsList = getScoutingProductsList(opts.key) + + for input_file in inputFiles: + try: + events = Events(input_file) + for event in events: + nEvtRead += 1 + if (nEvtRead <= skipEvents) or ((opts.maxEvents >= 0) and (nEvtProcessed >= opts.maxEvents)): + continue + + analyseEvent(event = event, productList = scoutingProductsList, verbosity = opts.verbosity) + nEvtProcessed += 1 + + except: + print(f'{log_prx} failed to analyse TFile (file will be ignored): {input_file}') + continue + + if opts.verbosity != 0: + print(f'Events processed = {nEvtProcessed}') diff --git a/DataFormats/Scouting/test/scoutingCollectionsIO_cfg.py b/DataFormats/Scouting/test/scoutingCollectionsIO_cfg.py new file mode 100644 index 0000000000000..bd6bf625d71db --- /dev/null +++ b/DataFormats/Scouting/test/scoutingCollectionsIO_cfg.py @@ -0,0 +1,68 @@ +import FWCore.ParameterSet.Config as cms + +import argparse +import sys + +parser = argparse.ArgumentParser( + prog = 'cmsRun '+sys.argv[0]+' --', + description = 'Configuration file to test I/O of Scouting collections.', + formatter_class = argparse.ArgumentDefaultsHelpFormatter +) + +parser.add_argument('-t', '--nThreads', type = int, help = 'Number of threads', + default = 1) + +parser.add_argument('-s', '--nStreams', type = int, help = 'Number of EDM streams', + default = 0) + +parser.add_argument('-i', '--inputFiles', nargs = '+', help = 'List of EDM input files', + default = ['/store/mc/Run3Summer22DR/GluGlutoHHto2B2Tau_kl-5p00_kt-1p00_c2-0p00_TuneCP5_13p6TeV_powheg-pythia8/GEN-SIM-RAW/124X_mcRun3_2022_realistic_v12-v2/2550000/bbfb86f3-4073-47e3-967b-059aa6b904ad.root']) + +parser.add_argument('-n', '--maxEvents', type = int, help = 'Max number of input events to be processed', + default = 10) + +parser.add_argument('--skipEvents', type = int, help = 'Number of input events to be skipped', + default = 0) + +parser.add_argument('-o', '--outputFile', type = str, help = 'Path to output EDM file in ROOT format', + default = 'scoutingCollectionsIO_output.root') + +parser.add_argument('--wantSummary', action = 'store_true', help = 'Value of process.options.wantSummary', + default = False) + +argv = sys.argv[:] +if '--' in argv: + argv.remove('--') + +args, unknown = parser.parse_known_args(argv) + +# Process +process = cms.Process('TEST') + +process.options.numberOfThreads = args.nThreads +process.options.numberOfStreams = args.nStreams +process.options.wantSummary = args.wantSummary + +process.maxEvents.input = args.maxEvents + +# Source (EDM input) +process.source = cms.Source('PoolSource', + fileNames = cms.untracked.vstring(args.inputFiles), + skipEvents = cms.untracked.uint32(args.skipEvents) +) + +# MessageLogger (Service) +process.load('FWCore.MessageLogger.MessageLogger_cfi') +process.MessageLogger.cerr.FwkReport.reportEvery = 1 + +# Output module +process.testOutput = cms.OutputModule('PoolOutputModule', + fileName = cms.untracked.string( args.outputFile ), + outputCommands = cms.untracked.vstring( + 'drop *', + 'keep *Scouting*_*_*_*', + ) +) + +# EndPath +process.testEndPath = cms.EndPath( process.testOutput ) diff --git a/DataFormats/Scouting/test/testDataFormatsScoutingRun2.sh b/DataFormats/Scouting/test/testDataFormatsScoutingRun2.sh new file mode 100755 index 0000000000000..f7f01c5d97cf2 --- /dev/null +++ b/DataFormats/Scouting/test/testDataFormatsScoutingRun2.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# Pass in name and status +function die { + printf "\n%s: status %s\n" "$1" "$2" + if [ $# -gt 2 ]; then + printf "%s\n" "=== Log File ==========" + cat $3 + printf "%s\n" "=== End of Log File ===" + fi + exit $2 +} + +# read Scouting collections from existing EDM file, and write them to disk +cmsRun "${SCRAM_TEST_PATH}"/scoutingCollectionsIO_cfg.py -- \ + -i /store/mc/RunIISummer20UL18RECO/DoubleElectron_Pt-1To300-gun/AODSIM/FlatPU0to70EdalIdealGT_EdalIdealGT_106X_upgrade2018_realistic_v11_L1v1_EcalIdealIC-v2/270000/4CDD9457-E14C-D84A-9BD4-3140CB6AEEB6.root \ + -n 150 --skip 900 -o testDataFormatsScoutingRun2_step1.root \ + > testDataFormatsScoutingRun2_step1.log 2> testDataFormatsScoutingRun2_step1_stderr.log \ + || die "Failure running scoutingCollectionsIO_cfg.py" $? testDataFormatsScoutingRun2_step1_stderr.log + +cat testDataFormatsScoutingRun2_step1.log + +# validate content of Scouting collections +"${SCRAM_TEST_PATH}"/scoutingCollectionsDumper.py -v 1 -n 1 --skip 81 -i testDataFormatsScoutingRun2_step1.root -k Scouting \ + > testDataFormatsScoutingRun2_step2.log 2> testDataFormatsScoutingRun2_step2_stderr.log \ + || die "Failure running scoutingCollectionsDumper.py" $? testDataFormatsScoutingRun2_step2_stderr.log + +diff -q "${SCRAM_TEST_PATH}"/testDataFormatsScoutingRun2_expected.log testDataFormatsScoutingRun2_step2.log \ + || die "Unexpected differences in outputs of testDataFormatsScoutingRun2 (step 2)" $? diff --git a/DataFormats/Scouting/test/testDataFormatsScoutingRun2_expected.log b/DataFormats/Scouting/test/testDataFormatsScoutingRun2_expected.log new file mode 100644 index 0000000000000..44c853e1557cc --- /dev/null +++ b/DataFormats/Scouting/test/testDataFormatsScoutingRun2_expected.log @@ -0,0 +1,170 @@ +-------------------------------------------------- +Run = 1 +LuminosityBlock = 291048 +Event = 29104772 + + Product Label: "hltScoutingCaloPacker" (type: "vector"), size = 14 + + Object #0 + btagDiscriminator = -20.0 + emEnergyInEB = 239.46920776367188 + emEnergyInEE = 0.0 + emEnergyInHF = 0.0 + eta = 0.19732625782489777 + hadEnergyInHB = 4.694222450256348 + hadEnergyInHE = 0.0 + hadEnergyInHF = 0.0 + jetArea = 0.5026548504829407 + m = 13.72571849822998 + maxEInEmTowers = 221.2417755126953 + maxEInHadTowers = 1.1859394311904907 + mvaDiscriminator = 0.8697163462638855 + phi = -2.93450927734375 + pt = 239.10707092285156 + towersArea = 0.12147484719753265 + + Product Label: "hltScoutingEgammaPacker" (type: "vector"), size = 6 + + Object #0 + charge = 1 + d0 = -0.03971549868583679 + dEtaIn = 8.61436128616333e-05 + dPhiIn = 0.0005463957786560059 + dz = -2.0579769611358643 + ecalIso = 5.6464996337890625 + eta = -0.22388292849063873 + hOverE = 0.0 + hcalIso = 0.0 + m = -4.42200598627096e-06 + missingHits = 0 + ooEMOop = 0.0010115106124430895 + phi = 0.19714701175689697 + pt = 225.0137176513672 + sigmaIetaIeta = 0.009137610904872417 + trackIso = 0.0 + + Product Label: "hltScoutingMuonPackerCalo" (type: "vector"), size = 1 + + Object #0 + charge = 1 + chi2 = 33.93075942993164 + dxy = -0.025435244664549828 + dxyError = 0.0014315954176709056 + dz = 5.874882698059082 + dzError = 0.002003241330385208 + ecalIso = -1.0 + eta = -0.3469981849193573 + hcalIso = -1.0 + isGlobalMuon = True + isTrackerMuon = False + m = 0.0 + nMatchedStations = 4 + nTrackerLayersWithMeasurement = 14 + nValidMuonHits = 34 + nValidPixelHits = 4 + nValidStripHits = 15 + ndof = 18.0 + phi = -2.360595464706421 + pt = 9.477605819702148 + trackIso = 0.0 + trk_dsz = 5.5381083488464355 + trk_dszError = 0.0018884065793827176 + trk_eta = -0.3469981849193573 + trk_lambda = -0.34023720026016235 + trk_lambdaError = 0.0002624643384478986 + trk_phi = -2.360595464706421 + trk_phiError = 0.0002613998076412827 + trk_pt = 9.477605819702148 + trk_qoverp = 0.09946347028017044 + trk_qoverpError = 0.0008352764998562634 + type = 2 + vtxIndx = {} + + Product Label: "hltScoutingPFPacker" (type: "vector"), size = 15 + + Object #0 + HFEMEnergy = 0.0 + HFEMMultiplicity = 0 + HFHadronEnergy = 0.0 + HFHadronMultiplicity = 0 + HOEnergy = 0.0 + chargedHadronEnergy = 5.21009635925293 + chargedHadronMultiplicity = 6 + constituents = { 1252, 1225, 1148, 1147, 103, 313, 364, 337, 86, 1206 } + csv = -20.0 + electronEnergy = 0.0 + electronMultiplicity = 0 + eta = 0.15360045433044434 + jetArea = 0.5026548504829407 + m = 17.293928146362305 + muonEnergy = 0.0 + muonMultiplicity = 0 + mvaDiscriminator = 0.0 + neutralHadronEnergy = 4.073654651641846 + neutralHadronMultiplicity = 2 + phi = -2.9331908226013184 + photonEnergy = 236.12876892089844 + photonMultiplicity = 12 + pt = 241.9427032470703 + + Product Label: "hltScoutingPFPacker" (type: "vector"), size = 1336 + + Object #0 + eta = 2.6104886531829834 + m = 0.0 + pdgId = 22 + phi = -0.648145854473114 + pt = 0.9936956763267517 + vertex = 0 + + Product Label: "hltScoutingEgammaPacker" (type: "vector"), size = 2 + + Object #0 + ecalIso = 3.121485948562622 + eta = -1.1164329051971436 + hOverE = 0.0 + hcalIso = 3.9732704162597656 + m = -1.6858739115832577e-07 + phi = 2.536961078643799 + pt = 7.608181953430176 + sigmaIetaIeta = 0.011486247181892395 + + Product Label: "hltScoutingTrackPacker" (type: "vector"), size = 78 + + Object #0 + tk_charge = -1 + tk_chi2 = 32.697689056396484 + tk_dsz = 5.522921562194824 + tk_dsz_Error = 0.009875157848000526 + tk_dxy = -0.025069741532206535 + tk_dxy_Error = 0.015570130199193954 + tk_dz = 5.897363185882568 + tk_dz_Error = 0.0105446707457304 + tk_eta = 0.36618342995643616 + tk_lambda = 0.35826390981674194 + tk_lambda_Error = 0.0020103193819522858 + tk_nTrackerLayersWithMeasurement = 4 + tk_nValidPixelHits = 4 + tk_nValidStripHits = 0 + tk_ndof = 3.0 + tk_phi = -2.915278196334839 + tk_phi_Error = 0.00473041320219636 + tk_pt = 0.9674832224845886 + tk_qoverp = -0.9679827094078064 + tk_qoverp_Error = 0.061383962631225586 + + Product Label: "hltScoutingPrimaryVertexPacker:primaryVtx" (type: "vector"), size = 25 + + Object #0 + chi2 = 0.0 + isValidVtx = True + ndof = 1 + tracksSize = 30 + x = 0.010730049572885036 + xError = 0.0 + y = 0.041916027665138245 + yError = 0.0 + z = 5.910659313201904 + zError = 0.005083281081169844 +-------------------------------------------------- +Events processed = 1 diff --git a/DataFormats/Scouting/test/testDataFormatsScoutingRun3.sh b/DataFormats/Scouting/test/testDataFormatsScoutingRun3.sh new file mode 100755 index 0000000000000..c65958793b5bd --- /dev/null +++ b/DataFormats/Scouting/test/testDataFormatsScoutingRun3.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# Pass in name and status +function die { + printf "\n%s: status %s\n" "$1" "$2" + if [ $# -gt 2 ]; then + printf "%s\n" "=== Log File ==========" + cat $3 + printf "%s\n" "=== End of Log File ===" + fi + exit $2 +} + +# read Scouting collections from existing EDM file, and write them to disk +cmsRun "${SCRAM_TEST_PATH}"/scoutingCollectionsIO_cfg.py -- \ + -i /store/mc/Run3Summer22DR/GluGlutoHHto2B2Tau_kl-5p00_kt-1p00_c2-0p00_TuneCP5_13p6TeV_powheg-pythia8/GEN-SIM-RAW/124X_mcRun3_2022_realistic_v12-v2/2550000/bbfb86f3-4073-47e3-967b-059aa6b904ad.root \ + -n 150 --skip 0 -o testDataFormatsScoutingRun3_step1.root \ + >testDataFormatsScoutingRun3_step1.log 2>testDataFormatsScoutingRun3_step1_stderr.log \ + || die "Failure running scoutingCollectionsIO_cfg.py" $? testDataFormatsScoutingRun3_step1_stderr.log + +cat testDataFormatsScoutingRun3_step1.log + +# validate content of Scouting collections +"${SCRAM_TEST_PATH}"/scoutingCollectionsDumper.py -v 1 -n 1 --skip 137 -i testDataFormatsScoutingRun3_step1.root -k Run3Scouting \ + > testDataFormatsScoutingRun3_step2.log 2>testDataFormatsScoutingRun3_step2_stderr.log \ + || die "Failure running scoutingCollectionsDumper.py" $? testDataFormatsScoutingRun3_step2_stderr.log + +diff -q "${SCRAM_TEST_PATH}"/testDataFormatsScoutingRun3_expected.log testDataFormatsScoutingRun3_step2.log \ + || die "Unexpected differences in outputs of testDataFormatsScoutingRun3 (step 2)" $? diff --git a/DataFormats/Scouting/test/testDataFormatsScoutingRun3_expected.log b/DataFormats/Scouting/test/testDataFormatsScoutingRun3_expected.log new file mode 100644 index 0000000000000..0fbb1c3c5d34e --- /dev/null +++ b/DataFormats/Scouting/test/testDataFormatsScoutingRun3_expected.log @@ -0,0 +1,241 @@ +-------------------------------------------------- +Run = 1 +LuminosityBlock = 83 +Event = 29083 + + Product Label: "hltScoutingEgammaPacker" (type: "vector"), size = 1 + + Object #0 + dEtaIn = 0.00014007469872012734 + dPhiIn = 5.698204040527344e-05 + detIds = { 838944835, 838944311, 838944312, 838944316, 838944317, 838944320, 838944323, 838944324, 838943802, 838943805, 838943811, 838943812, 838943814, 838943288, 838943291, 838943292, 838943296, 838943297, 838943298, 838943302, 838942776, 838942782, 838942783, 838942785, 838942272, 838942273, 838942274, 838942275, 838941755, 838941756, 838941758, 838941759, 838941760, 838941761, 838941762, 838941242, 838941244, 838941246, 838941247, 838941248, 838941249, 838941250, 838941251, 838940729, 838940732, 838940733, 838940735, 838940736, 838940737, 838940738, 838940740, 838940742, 838940218, 838940222, 838940224, 838940225, 838940230, 838939705, 838939711, 838939713, 838939715, 838939716, 838939192, 838939193, 838939194, 838939195, 838939201, 838939202, 838939206, 838938681, 838938687, 838938689, 838938690, 838938693, 838938694, 838938169, 838938170, 838938172, 838938173, 838938176, 838938178, 838938179, 838937657, 838937658, 838937659, 838937660, 838937663, 838937668, 838937145, 838937152, 838937154, 838937156 } + ecalIso = 7.798269271850586 + energyMatrix = { 0.467529f, 0.624023f, 0.0174255f, 0.0977173f, 0.0157776f, 0.0956421f, 2.89062f, 0.685059f, 0.00851440f, 0.0712891f, 0.426025f, 0.199341f, 0.0661621f, 0.155884f, 0.0534363f, 0.0522766f, 0.00791168f, 0.0205688f, 0.107300f, 0.0122452f, 0.0700073f, 0.0157013f, 0.0520325f, 0.138428f, 0.0748291f, 0.124878f, 0.166870f, 0.0969849f, 0.0126724f, 0.0423279f, 0.0621338f, 0.142700f, 0.521484f, 0.131226f, 0.00601959f, 0.0630493f, 0.0369873f, 2.90039f, 0.886719f, 14.4453f, 0.731445f, 0.0470886f, 0.0833130f, 0.0942993f, 0.0527039f, 0.413818f, 0.182983f, 0.498535f, 0.225952f, 0.180542f, 0.0482483f, 0.0472412f, 0.114014f, 0.0368958f, 0.0646362f, 0.0283203f, 0.00453186f, 0.368896f, 0.0597839f, 0.418701f, 0.0561218f, 0.0733643f, 0.0261688f, 0.0989990f, 0.468750f, 0.0487976f, 0.0332642f, 0.0870361f, 0.00700760f, 0.0215149f, 0.0932617f, 0.0542603f, 0.0838013f, 0.336914f, 0.0405884f, 0.165405f, 0.0224762f, 0.0451355f, 0.0472717f, 0.0596008f, 0.0596619f, 0.216187f, 0.0328064f, 0.191040f, 0.0786743f, 0.0371399f, 0.00169468f, 0.0335693f, 0.0767822f, 0.0492249f, 0.0543823f, 0.0711670f } + eta = 0.5031031370162964 + hOverE = 0.0 + hcalIso = 0.0 + m = -2.920019426255749e-07 + missingHits = 0 + ooEMOop = 0.005525607615709305 + phi = 0.9313944578170776 + pt = 19.88896942138672 + r9 = 0.8709825277328491 + rechitZeroSuppression = True + sMaj = 0.2543233036994934 + sMin = 0.23481805622577667 + seedId = 838941248 + sigmaIetaIeta = 0.007278029341250658 + timingMatrix = {} + trackIso = 7.829135417938232 + trkcharge = { -1 } + trkchi2overndf = {} + trkd0 = { 0.0910756f } + trkdz = { 1.75743f } + trketa = {} + trkphi = {} + trkpt = {} + + Product Label: "hltScoutingMuonPacker" (type: "vector"), size = 2 + + Object #0 + charge = 1 + ecalIso = 0.8200493454933167 + eta = 0.4523281455039978 + hcalIso = -0.8316822648048401 + isGlobalMuon = True + isTrackerMuon = True + m = 0.0 + nPixelLayersWithMeasurement = 4 + nRecoMuonChambers = 10 + nRecoMuonChambersCSCorDT = 4 + nRecoMuonExpectedMatchedStations = 4 + nRecoMuonMatchedRPCLayers = 0 + nRecoMuonMatchedStations = 4 + nRecoMuonMatches = 4 + nStandAloneMuonMatchedStations = 4 + nTrackerLayersWithMeasurement = 13 + nValidPixelHits = 4 + nValidRecoMuonHits = 48 + nValidStandAloneMuonHits = 48 + nValidStripHits = 9 + normalizedChi2 = 1.241951823234558 + phi = -1.6093230247497559 + pt = 61.90772247314453 + recoMuonRPClayerMask = 0 + recoMuonStationMask = 15 + trackIso = 0.023261696100234985 + trk_chi2 = 28.453201293945312 + trk_dsz = 1.6049633026123047 + trk_dszError = 0.000999733223579824 + trk_dxy = 0.09571316093206406 + trk_dxyError = 0.0009637423790991306 + trk_dxy_dsz_cov = -7.264699064535307e-08 + trk_dz = 1.771970272064209 + trk_dzError = 0.0011037620715796947 + trk_eta = 0.4523281455039978 + trk_hitPattern.hitCount = 14 + trk_hitPattern.beginTrackHits = 1 + trk_hitPattern.endTrackHits = 14 + trk_hitPattern.beginInner = 0 + trk_hitPattern.endInner = 0 + trk_hitPattern.beginOuter = 0 + trk_hitPattern.endOuter = 1 + trk_hitPattern.hitPattern = { 34481, 36936, 18820, 33952, 36952, 22917, 34208, 36968, 27014, 34464, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } + trk_lambda = 0.43764862418174744 + trk_lambdaError = 8.468596934108064e-05 + trk_lambda_dsz_cov = -7.34926359768906e-08 + trk_lambda_dxy_cov = 5.0671942197766384e-09 + trk_lambda_phi_cov = -3.863420139360585e-10 + trk_ndof = 21.0 + trk_phi = -1.6093230247497559 + trk_phiError = 8.349290146725252e-05 + trk_phi_dsz_cov = 5.383451018303731e-09 + trk_phi_dxy_cov = -7.052129546991637e-08 + trk_pt = 61.90772247314453 + trk_qoverp = 0.01463065855205059 + trk_qoverpError = 0.0001785793574526906 + trk_qoverp_dsz_cov = 7.775126320552772e-09 + trk_qoverp_dxy_cov = -9.391782640477686e-08 + trk_qoverp_lambda_cov = -5.765431465576398e-10 + trk_qoverp_phi_cov = 9.820788626768717e-09 + trk_vx = 0.09521367400884628 + trk_vy = -0.014802273362874985 + trk_vz = 1.7771753072738647 + type = 14 + vtxIndx = { 0 } + + Product Label: "hltScoutingPFPacker" (type: "vector"), size = 8 + + Object #0 + HFEMEnergy = 0.0 + HFEMMultiplicity = 0 + HFHadronEnergy = 0.0 + HFHadronMultiplicity = 0 + HOEnergy = 0.0 + chargedHadronEnergy = 10.6640625 + chargedHadronMultiplicity = 5 + constituents = {} + csv = -20.0 + electronEnergy = 0.0 + electronMultiplicity = 0 + eta = 1.3583984375 + jetArea = 0.50244140625 + m = 22.953125 + muonEnergy = 0.0 + muonMultiplicity = 0 + mvaDiscriminator = 0.0 + neutralHadronEnergy = 283.75 + neutralHadronMultiplicity = 7 + phi = 0.7021484375 + photonEnergy = 194.625 + photonMultiplicity = 7 + pt = 235.75 + + Product Label: "hltScoutingPFPacker" (type: "vector"), size = 220 + + Object #0 + dxy = -0.0002617835998535156 + dxysig = -0.0318603515625 + dz = -1.015625 + dzsig = -76.25 + eta = 1.3603515625 + lostInnerHits = 255 + normchi2 = 1.349609375 + pdgId = -211 + phi = 1.8115234375 + pt = 0.89208984375 + quality = 5 + relative_trk_vars = True + trk_eta = 0.0 + trk_phi = 0.0 + trk_pt = 0.0 + vertex = -1 + + Product Label: "hltScoutingEgammaPacker" (type: "vector"), size = 6 + + Object #0 + detIds = { 838967413, 838967414, 838967415, 838967421, 838966903, 838966908, 838966385, 838966389, 838966391, 838966395, 838966396, 838966397, 838965874, 838965876, 838965877, 838965878, 838965880, 838965882, 838965359, 838965360, 838965361, 838965368, 838965370, 838965372, 838964852, 838964853, 838964854, 838964855, 838964856, 838964857, 838964858, 838964859, 838964861, 838964862, 838964863, 838964864, 838964866, 838964335, 838964337, 838964340, 838964341, 838964342, 838964343, 838964346, 838964347, 838964351, 838964352, 838963825, 838963828, 838963830, 838963831, 838963833, 838963835, 838963836, 838963837, 838963838, 838963842, 838963313, 838963318, 838963319, 838963320, 838963321, 838963322, 838962804, 838962806, 838962807, 838962808, 838962809, 838962810, 838962811, 838962812, 838962813, 838962816, 838962817, 838962818, 838962287, 838962289, 838962291, 838962293, 838962294, 838962295, 838962296, 838962297, 838962298, 838962299, 838962302, 838962303, 838962304, 838962305, 838961775, 838961776, 838961781, 838961782, 838961783, 838961784, 838961785, 838961786, 838961787, 838961788, 838961790, 838961791, 838961792, 838961794, 838961263, 838961264, 838961266, 838961267, 838961268, 838961270, 838961271, 838961272, 838961273, 838961274, 838961275, 838961279, 838961280, 838960754, 838960759, 838960761, 838960762, 838960763, 838960766, 838960241, 838960245, 838960246, 838960248, 838960249, 838960250, 838960251, 838960252, 838960253, 838959727, 838959728, 838959732, 838959737, 838959743, 838959215, 838959217, 838959218, 838959223, 838959226, 838959232, 838959233, 838958704, 838958705, 838958709, 838958711, 838958712, 838958714, 838958717, 838958719, 838958191, 838958192, 838958193, 838958194, 838958197, 838958199, 838958200, 838958204, 838958205, 838958206, 838957680, 838957681, 838957685, 838957687, 838957689, 838957690, 838957693, 838957694, 838957695, 838957698, 838957171 } + ecalIso = 23.55951499938965 + energyMatrix = { 0.0222931f, 0.150757f, 0.0249481f, 0.0767822f, 0.140869f, 0.122803f, 0.0506897f, 0.0967407f, 0.166016f, 0.00157928f, 0.181152f, 0.0864258f, 0.0174408f, 0.00457001f, 0.108826f, 0.128540f, 0.0128784f, 0.0436401f, 0.108521f, 0.0340576f, 0.111755f, 0.247681f, 0.0782471f, 0.0677490f, 0.336670f, 1.18848f, 0.267334f, 0.476562f, 0.177246f, 0.0941162f, 0.171875f, 0.101807f, 0.100342f, 0.00579834f, 0.0549316f, 0.0106964f, 0.0411072f, 0.260986f, 0.122498f, 0.454346f, 10.4766f, 0.910156f, 0.528809f, 0.112671f, 0.0553284f, 0.102600f, 0.0888062f, 0.198486f, 0.0527039f, 0.915039f, 0.183228f, 0.0674438f, 0.0311127f, 0.0353394f, 0.492676f, 0.00539017f, 0.232422f, 0.699219f, 0.132690f, 0.236816f, 5.05859f, 0.0823975f, 0.129639f, 0.0683594f, 0.269531f, 0.601562f, 0.607422f, 1.18066f, 0.355957f, 0.287109f, 0.165039f, 0.273682f, 0.307617f, 0.0896606f, 0.0958252f, 0.0691528f, 0.215454f, 0.0404358f, 0.781738f, 0.755371f, 1.65430f, 0.885254f, 18.8281f, 1.44531f, 0.166260f, 0.0358887f, 0.0574341f, 0.00404739f, 0.159424f, 0.0280151f, 0.307129f, 2.46484f, 1.96777f, 0.173218f, 2.32031f, 1.24512f, 0.646973f, 0.0563049f, 0.172119f, 0.131104f, 1.79688f, 0.994141f, 0.0682983f, 0.505371f, 0.0115128f, 0.00272751f, 0.281494f, 0.00685120f, 1.72168f, 1.53027f, 0.338379f, 0.240845f, 0.247437f, 0.0144196f, 0.294678f, 0.0547485f, 0.159302f, 0.0407715f, 0.124451f, 0.00750732f, 0.0658569f, 0.0204773f, 0.111145f, 0.0135269f, 0.170410f, 0.140137f, 0.0145874f, 0.131958f, 0.112610f, 0.150635f, 0.0569153f, 0.0301208f, 0.0916748f, 0.0727539f, 0.00557709f, 0.153564f, 0.00154972f, 0.0683594f, 0.0527344f, 0.262207f, 0.0475769f, 0.162354f, 0.0407104f, 0.0469360f, 0.0335388f, 0.0665283f, 0.0793457f, 0.107971f, 0.120056f, 0.153442f, 0.0162048f, 0.0679321f, 0.323730f, 1.99512f, 0.0513000f, 0.00398254f, 0.00563049f, 0.0698242f, 0.0297852f, 0.136230f, 0.00747681f, 0.166260f, 0.889648f, 0.0120773f, 0.0858765f, 0.242065f, 0.0953369f, 0.0283966f, 0.0717163f, 0.121704f, 0.000929832f, 0.244141f } + eta = 1.21042001247406 + hOverE = 0.038411639630794525 + hcalIso = 20.55815887451172 + m = 6.743495646333031e-07 + phi = 1.92743980884552 + pt = 17.033815383911133 + r9 = 1.0433892011642456 + rechitZeroSuppression = True + sMaj = 0.6447122693061829 + sMin = 0.2290443778038025 + seedId = 838962297 + sigmaIetaIeta = 0.01953848823904991 + timingMatrix = {} + trkIso = 0.0 + + Product Label: "hltScoutingTrackPacker" (type: "vector"), size = 20 + + Object #0 + tk_charge = 1 + tk_chi2 = 30.46875 + tk_dsz = 1.6064453125 + tk_dsz_Error = 0.0007586479187011719 + tk_dxy = 0.09515380859375 + tk_dxy_Error = 0.0009350776672363281 + tk_dxy_dsz_cov = 1.987791620194912e-08 + tk_dz = 1.7734375 + tk_dz_Error = 0.0008373260498046875 + tk_eta = 0.4521484375 + tk_lambda = 0.4375 + tk_lambda_Error = 7.69495964050293e-05 + tk_lambda_dsz_cov = -4.700268618762493e-08 + tk_lambda_dxy_cov = -1.4142642612569034e-09 + tk_lambda_phi_cov = 1.0317080523236655e-10 + tk_nTrackerLayersWithMeasurement = 14 + tk_nValidPixelHits = 5 + tk_nValidStripHits = 13 + tk_ndof = 18.0 + tk_phi = -1.609375 + tk_phi_Error = 8.511543273925781e-05 + tk_phi_dsz_cov = -1.4133547665551305e-09 + tk_phi_dxy_cov = -6.746267899870872e-08 + tk_pt = 61.46875 + tk_qoverp = 0.014739990234375 + tk_qoverp_Error = 0.00016427040100097656 + tk_qoverp_dsz_cov = -1.267835614271462e-09 + tk_qoverp_dxy_cov = -8.055940270423889e-08 + tk_qoverp_lambda_cov = 7.270273272297345e-11 + tk_qoverp_phi_cov = 8.381903171539307e-09 + tk_vtxInd = 0 + tk_vx = 0.09466552734375 + tk_vy = -0.0147857666015625 + tk_vz = 1.779296875 + + Product Label: "hltScoutingMuonPacker:displacedVtx" (type: "vector"), size = 1 + + Object #0 + chi2 = 0.8499976992607117 + isValidVtx = True + ndof = 1 + tracksSize = 2 + x = 0.09472132474184036 + xError = 0.0008815590408630669 + y = -0.018364980816841125 + yError = 0.002398101380094886 + z = 1.7790638208389282 + zError = 0.0015540826134383678 + + Product Label: "hltScoutingPrimaryVertexPacker:primaryVtx" (type: "vector"), size = 8 + + Object #0 + chi2 = 119.6875 + isValidVtx = True + ndof = 52 + tracksSize = 53 + x = 0.10064697265625 + xError = 0.0 + y = -0.0150146484375 + yError = 0.0 + z = 1.783203125 + zError = 0.0013170242309570312 +-------------------------------------------------- +Events processed = 1