Reading and Processing Physics Data with Spark

Example notebook to demonstrate the use of Jupyter notebooks, Spark-Root data source, Hadoop-XRootD connector

The example in this notebook is mostly a repackaging of the notebook (https://github.com/vkhristenko/spark-root/blob/master/ipynb/publicCMSMuonia_exampleAnalysis.ipynb) by Viktor Khristenko
It uses CMS data from the CERN opendata portal (http://opendata.cern.ch)

Relevant techonology and links:
spark-root - Data source for Spark to read data in ROOT format
Hadoop-XRootD connector - this is currently on CERN gitlab, will be made available also on GitHub
CMS Big Data project
CERN openlab data analytics project

Created: Luca.Canali@cern.ch August 2017

Prerequisites to set up the environment before starting this

export PATH=/opt/anaconda2/bin:$PATH
# this uses a local anaconda installtion for jupyter, python and pyspark installed with pip install
# note, normally we would use the envirnment on cvmfs, but currently it interferes with Hadoop-XRootD to be followed up

source /cvmfs/sft.cern.ch/lcg/etc/hadoop-confext/hadoop-setconf.sh <cluster_name>
# this sets up the YARN cluster variables, use the relevant cluster name

export SPARK_DIST_CLASSPATH=/afs/cern.ch/user/c/canali/public/org.apache.bcel_bcel-6.0.jar     
# this is a temporary workaround till we fix cluster config to remove dependency to flume

kinit
# check that KRB5CCNAME is set to FILE:<path to credentail cache file>

Run the notebook and connect to it, for example by tunneling the port with something like:
ssh -L 8888:localhost:8888 user@jupytermanchine.cern.ch

jupyter notebook --no-browser

In [1]:
# This creates the Spark Session with additional packages and environemnt variables
from pyspark.sql import SparkSession

spark=SparkSession.builder \
        .appName("CMS Big Data test notebook") \
        .config("spark.master","yarn") \
        .config("executor-memory","7g") \
        .config("spark.jars.packages", "org.diana-hep:spark-root_2.11:0.1.11,org.diana-hep:histogrammar-sparksql_2.11:1.0.3") \
        .config("spark.yarn.files", "$KRB5CCNAME#krbcache") \
        .config("spark.executorEnv.KRB5CCNAME","'FILE:$PWD/krbcache'") \
        .config("spark.driver.extraClassPath", "/usr/lib/hadoop/EOSfs.jar") \
        .config("spark.executor.extraClassPath", "/usr/lib/hadoop/EOSfs.jar") \
        .getOrCreate()

# The Spark session allocation above relies on the default config of the cluster which uses dynamic allocation 
# you can force allocating a fixed number of executors and cores using something like this example:
# .config("spark.dynamicAllocation.enabled","false").config("num-executors", 8).config("executor-cores", 4) \

In [2]:
# Test that Spark SQL works, debug code, can remove

sql = spark.sql
sql("select 'Hello World!'").show()


+------------+
|Hello World!|
+------------+
|Hello World!|
+------------+


In [3]:
# Example 1: maps the root files stored in HDFS into a Spark Dataframe

df1 = spark.read \
        .format("org.dianahep.sparkroot") \
        .option("tree", "Events") \
        .load("hdfs:/cms/bigdatasci/vkhriste/data/publiccms_muionia_aod/0000/FEEFB039-0978-E011-BB60-E41F131815BC.root")
        
# Note, the example above reads only 1 file
# to read the entire folder, change it to: 
#   load("hdfs:/cms/bigdatasci/vkhriste/data/publiccms_muionia_aod/0000") to read the entire folder

In [4]:
# This is an actions, it reads the file and counts the events
df1.count()


Out[4]:
13864

In [5]:
df1.printSchema()


root
 |-- EventAuxiliary: struct (nullable = true)
 |    |-- processHistoryID_: struct (nullable = true)
 |    |    |-- hash_: string (nullable = true)
 |    |-- id_: struct (nullable = true)
 |    |    |-- run_: integer (nullable = true)
 |    |    |-- luminosityBlock_: integer (nullable = true)
 |    |    |-- event_: integer (nullable = true)
 |    |-- processGUID_: string (nullable = true)
 |    |-- time_: struct (nullable = true)
 |    |    |-- timeLow_: integer (nullable = true)
 |    |    |-- timeHigh_: integer (nullable = true)
 |    |-- luminosityBlock_: integer (nullable = true)
 |    |-- isRealData_: boolean (nullable = true)
 |    |-- experimentType_: integer (nullable = true)
 |    |-- bunchCrossing_: integer (nullable = true)
 |    |-- orbitNumber_: integer (nullable = true)
 |    |-- storeNumber_: integer (nullable = true)
 |-- EventBranchEntryInfo: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- branchID_: struct (nullable = true)
 |    |    |    |-- id_: integer (nullable = true)
 |    |    |-- productStatus_: byte (nullable = true)
 |    |    |-- parentageID_: struct (nullable = true)
 |    |    |    |-- hash_: string (nullable = true)
 |    |    |-- transients_: struct (nullable = true)
 |-- EventSelections: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- hash_: string (nullable = true)
 |-- BranchListIndexes: array (nullable = true)
 |    |-- element: short (containsNull = true)
 |-- L1GlobalTriggerObjectMapRecord_hltL1GtObjectMap__HLT_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- L1GlobalTriggerObjectMapRecord_hltL1GtObjectMap__HLT_obj: struct (nullable = true)
 |    |    |-- m_gtObjectMap: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- m_algoName: string (nullable = true)
 |    |    |    |    |-- m_algoBitNumber: integer (nullable = true)
 |    |    |    |    |-- m_algoGtlResult: boolean (nullable = true)
 |    |    |    |    |-- m_operandTokenVector: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- tokenName: string (nullable = true)
 |    |    |    |    |    |    |-- tokenNumber: integer (nullable = true)
 |    |    |    |    |    |    |-- tokenResult: boolean (nullable = true)
 |    |    |    |    |-- m_combinationVector: array (nullable = true)
 |    |    |    |    |    |-- element: array (containsNull = true)
 |    |    |    |    |    |    |-- element: array (containsNull = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |-- edmTriggerResults_TriggerResults__HLT_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- edmTriggerResults_TriggerResults__HLT_obj: struct (nullable = true)
 |    |    |-- edm::HLTGlobalStatus: struct (nullable = true)
 |    |    |    |-- paths_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- status_: short (nullable = true)
 |    |    |-- edm::DoNotRecordParents: struct (nullable = true)
 |    |    |-- psetid_: struct (nullable = true)
 |    |    |    |-- hash_: string (nullable = true)
 |    |    |-- names_: array (nullable = true)
 |    |    |    |-- element: string (containsNull = true)
 |-- triggerTriggerEvent_hltTriggerSummaryAOD__HLT_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- triggerTriggerEvent_hltTriggerSummaryAOD__HLT_obj: struct (nullable = true)
 |    |    |-- edm::DoNotRecordParents: struct (nullable = true)
 |    |    |-- usedProcessName_: string (nullable = true)
 |    |    |-- collectionTags_: array (nullable = true)
 |    |    |    |-- element: string (containsNull = true)
 |    |    |-- collectionKeys_: array (nullable = true)
 |    |    |    |-- element: short (containsNull = true)
 |    |    |-- triggerObjects_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |-- triggerFilters_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- filterTag_: string (nullable = true)
 |    |    |    |    |-- filterIds_: array (nullable = true)
 |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- filterKeys_: array (nullable = true)
 |    |    |    |    |    |-- element: short (containsNull = true)
 |-- EBDigiCollection_selectDigi_selectedEcalEBDigiCollection_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- EBDigiCollection_selectDigi_selectedEcalEBDigiCollection_RECO_obj: struct (nullable = true)
 |    |    |-- EcalDigiCollection: struct (nullable = true)
 |    |    |    |-- edm::DataFrameContainer: struct (nullable = true)
 |    |    |    |    |-- m_subdetId: integer (nullable = true)
 |    |    |    |    |-- m_stride: integer (nullable = true)
 |    |    |    |    |-- m_ids: array (nullable = true)
 |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- m_data: array (nullable = true)
 |    |    |    |    |    |-- element: short (containsNull = true)
 |-- EEDigiCollection_selectDigi_selectedEcalEEDigiCollection_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- EEDigiCollection_selectDigi_selectedEcalEEDigiCollection_RECO_obj: struct (nullable = true)
 |    |    |-- EcalDigiCollection: struct (nullable = true)
 |    |    |    |-- edm::DataFrameContainer: struct (nullable = true)
 |    |    |    |    |-- m_subdetId: integer (nullable = true)
 |    |    |    |    |-- m_stride: integer (nullable = true)
 |    |    |    |    |-- m_ids: array (nullable = true)
 |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- m_data: array (nullable = true)
 |    |    |    |    |    |-- element: short (containsNull = true)
 |-- HcalNoiseSummary_hcalnoise__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- HcalNoiseSummary_hcalnoise__RECO_obj: struct (nullable = true)
 |    |    |-- filterstatus_: integer (nullable = true)
 |    |    |-- noisetype_: integer (nullable = true)
 |    |    |-- emenergy_: float (nullable = true)
 |    |    |-- hadenergy_: float (nullable = true)
 |    |    |-- trackenergy_: float (nullable = true)
 |    |    |-- min10_: float (nullable = true)
 |    |    |-- max10_: float (nullable = true)
 |    |    |-- rms10_: float (nullable = true)
 |    |    |-- min25_: float (nullable = true)
 |    |    |-- max25_: float (nullable = true)
 |    |    |-- rms25_: float (nullable = true)
 |    |    |-- cnthit10_: integer (nullable = true)
 |    |    |-- cnthit25_: integer (nullable = true)
 |    |    |-- mine2ts_: float (nullable = true)
 |    |    |-- mine10ts_: float (nullable = true)
 |    |    |-- maxe2ts_: float (nullable = true)
 |    |    |-- maxe10ts_: float (nullable = true)
 |    |    |-- maxzeros_: integer (nullable = true)
 |    |    |-- maxhpdhits_: integer (nullable = true)
 |    |    |-- maxhpdhitsnoother_: integer (nullable = true)
 |    |    |-- maxrbxhits_: integer (nullable = true)
 |    |    |-- minhpdemf_: float (nullable = true)
 |    |    |-- minrbxemf_: float (nullable = true)
 |    |    |-- nproblemRBXs_: integer (nullable = true)
 |    |    |-- nisolnoise_: integer (nullable = true)
 |    |    |-- isolnoisee_: float (nullable = true)
 |    |    |-- isolnoiseet_: float (nullable = true)
 |    |    |-- nflatnoise_: integer (nullable = true)
 |    |    |-- flatnoisee_: float (nullable = true)
 |    |    |-- flatnoiseet_: float (nullable = true)
 |    |    |-- nspikenoise_: integer (nullable = true)
 |    |    |-- spikenoisee_: float (nullable = true)
 |    |    |-- spikenoiseet_: float (nullable = true)
 |    |    |-- ntrianglenoise_: integer (nullable = true)
 |    |    |-- trianglenoisee_: float (nullable = true)
 |    |    |-- trianglenoiseet_: float (nullable = true)
 |    |    |-- nts4ts5noise_: integer (nullable = true)
 |    |    |-- ts4ts5noisee_: float (nullable = true)
 |    |    |-- ts4ts5noiseet_: float (nullable = true)
 |    |    |-- hasBadRBXTS4TS5_: boolean (nullable = true)
 |    |    |-- problemjets_: struct (nullable = true)
 |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- HcalNoiseSummary_hcalnoise__RECO_obj_problemjets__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |-- loosenoisetwrs_: struct (nullable = true)
 |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- HcalNoiseSummary_hcalnoise__RECO_obj_loosenoisetwrs__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |-- tightnoisetwrs_: struct (nullable = true)
 |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- HcalNoiseSummary_hcalnoise__RECO_obj_tightnoisetwrs__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |-- hlnoisetwrs_: struct (nullable = true)
 |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- HcalNoiseSummary_hcalnoise__RECO_obj_hlnoisetwrs__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |-- element: integer (containsNull = true)
 |-- L1GlobalTriggerReadoutRecord_gtDigis__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- L1GlobalTriggerReadoutRecord_gtDigis__RECO_obj: struct (nullable = true)
 |    |    |-- m_gtfeWord: struct (nullable = true)
 |    |    |    |-- m_boardId: short (nullable = true)
 |    |    |    |-- m_recordLength1: short (nullable = true)
 |    |    |    |-- m_recordLength: short (nullable = true)
 |    |    |    |-- m_bxNr: short (nullable = true)
 |    |    |    |-- m_setupVersion: integer (nullable = true)
 |    |    |    |-- m_activeBoards: short (nullable = true)
 |    |    |    |-- m_altNrBxBoard: short (nullable = true)
 |    |    |    |-- m_totalTriggerNr: integer (nullable = true)
 |    |    |-- m_gtFdlWord: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- m_boardId: short (nullable = true)
 |    |    |    |    |-- m_bxInEvent: integer (nullable = true)
 |    |    |    |    |-- m_bxNr: short (nullable = true)
 |    |    |    |    |-- m_eventNr: integer (nullable = true)
 |    |    |    |    |-- m_gtTechnicalTriggerWord: array (nullable = true)
 |    |    |    |    |    |-- element: boolean (containsNull = true)
 |    |    |    |    |-- m_gtDecisionWord: array (nullable = true)
 |    |    |    |    |    |-- element: boolean (containsNull = true)
 |    |    |    |    |-- m_gtDecisionWordExtended: array (nullable = true)
 |    |    |    |    |    |-- element: boolean (containsNull = true)
 |    |    |    |    |-- m_physicsDeclared: short (nullable = true)
 |    |    |    |    |-- m_gtPrescaleFactorIndexTech: short (nullable = true)
 |    |    |    |    |-- m_gtPrescaleFactorIndexAlgo: short (nullable = true)
 |    |    |    |    |-- m_noAlgo: short (nullable = true)
 |    |    |    |    |-- m_finalOR: short (nullable = true)
 |    |    |    |    |-- m_orbitNr: integer (nullable = true)
 |    |    |    |    |-- m_lumiSegmentNr: short (nullable = true)
 |    |    |    |    |-- m_localBxNr: short (nullable = true)
 |    |    |-- m_gtPsbWord: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- m_boardId: short (nullable = true)
 |    |    |    |    |-- m_bxInEvent: integer (nullable = true)
 |    |    |    |    |-- m_bxNr: short (nullable = true)
 |    |    |    |    |-- m_eventNr: integer (nullable = true)
 |    |    |    |    |-- m_aData: array (nullable = true)
 |    |    |    |    |    |-- element: short (containsNull = true)
 |    |    |    |    |-- m_bData: array (nullable = true)
 |    |    |    |    |    |-- element: short (containsNull = true)
 |    |    |    |    |-- m_localBxNr: short (nullable = true)
 |    |    |-- m_muCollRefProd: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- double_ak5CaloJets_rho_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_ak5PFJets_rho_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_ak5TrackJets_rho_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_ak7BasicJets_rho_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_ak7CaloJets_rho_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_ak7PFJets_rho_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_kt4CaloJets_rho_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_kt4PFJets_rho_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_kt6CaloJets_rho_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_kt6PFJets_rho_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_ak5CaloJets_sigma_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_ak5PFJets_sigma_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_ak5TrackJets_sigma_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_ak7BasicJets_sigma_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_ak7CaloJets_sigma_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_ak7PFJets_sigma_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_kt4CaloJets_sigma_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_kt4PFJets_sigma_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_kt6CaloJets_sigma_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- double_kt6PFJets_sigma_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- obj: double (nullable = true)
 |-- recoSuperClustersToOnerecoHFEMClusterShapesAssociation_hfEMClusters__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoSuperClustersToOnerecoHFEMClusterShapesAssociation_hfEMClusters__RECO_obj: struct (nullable = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- key: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |-- val: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |-- recoSuperClustersToOnerecoHFEMClusterShapesAssociation_hfEMClusters__RECO_obj_map_: map (nullable = true)
 |    |    |    |-- key: integer
 |    |    |    |-- value: integer (valueContainsNull = true)
 |-- recoTracksToOnerecoTracksAssociation_tevMuons_default_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracksToOnerecoTracksAssociation_tevMuons_default_RECO_obj: struct (nullable = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- key: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |-- val: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |-- recoTracksToOnerecoTracksAssociation_tevMuons_default_RECO_obj_map_: map (nullable = true)
 |    |    |    |-- key: integer
 |    |    |    |-- value: integer (valueContainsNull = true)
 |-- recoTracksToOnerecoTracksAssociation_tevMuons_dyt_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracksToOnerecoTracksAssociation_tevMuons_dyt_RECO_obj: struct (nullable = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- key: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |-- val: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |-- recoTracksToOnerecoTracksAssociation_tevMuons_dyt_RECO_obj_map_: map (nullable = true)
 |    |    |    |-- key: integer
 |    |    |    |-- value: integer (valueContainsNull = true)
 |-- recoTracksToOnerecoTracksAssociation_tevMuons_firstHit_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracksToOnerecoTracksAssociation_tevMuons_firstHit_RECO_obj: struct (nullable = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- key: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |-- val: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |-- recoTracksToOnerecoTracksAssociation_tevMuons_firstHit_RECO_obj_map_: map (nullable = true)
 |    |    |    |-- key: integer
 |    |    |    |-- value: integer (valueContainsNull = true)
 |-- recoTracksToOnerecoTracksAssociation_tevMuons_picky_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracksToOnerecoTracksAssociation_tevMuons_picky_RECO_obj: struct (nullable = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- key: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |-- val: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |-- recoTracksToOnerecoTracksAssociation_tevMuons_picky_RECO_obj_map_: map (nullable = true)
 |    |    |    |-- key: integer
 |    |    |    |-- value: integer (valueContainsNull = true)
 |-- recoJetedmRefToBaseProdrecoTracksrecoTrackrecoTracksTorecoTrackedmrefhelperFindUsingAdvanceedmRefVectorsAssociationVector_ak5JetTracksAssociatorAtVertex__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdrecoTracksrecoTrackrecoTracksTorecoTrackedmrefhelperFindUsingAdvanceedmRefVectorsAssociationVector_ak5JetTracksAssociatorAtVertex__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdrecoTracksrecoTrackrecoTracksTorecoTrackedmrefhelperFindUsingAdvanceedmRefVectorsAssociationVector_ak5JetTracksAssociatorAtVertex__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoJetedmRefToBaseProdrecoTracksrecoTrackrecoTracksTorecoTrackedmrefhelperFindUsingAdvanceedmRefVectorsAssociationVector_ak5JetTracksAssociatorAtVertex__RECO_obj_data__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdrecoTracksrecoTrackrecoTracksTorecoTrackedmrefhelperFindUsingAdvanceedmRefVectorsAssociationVector_ak7JetTracksAssociatorAtVertex__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdrecoTracksrecoTrackrecoTracksTorecoTrackedmrefhelperFindUsingAdvanceedmRefVectorsAssociationVector_ak7JetTracksAssociatorAtVertex__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdrecoTracksrecoTrackrecoTracksTorecoTrackedmrefhelperFindUsingAdvanceedmRefVectorsAssociationVector_ak7JetTracksAssociatorAtVertex__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoJetedmRefToBaseProdrecoTracksrecoTrackrecoTracksTorecoTrackedmrefhelperFindUsingAdvanceedmRefVectorsAssociationVector_ak7JetTracksAssociatorAtVertex__RECO_obj_data__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTofloatsAssociationVector_combinedSecondaryVertexBJetTags__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_combinedSecondaryVertexBJetTags__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_combinedSecondaryVertexBJetTags__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTofloatsAssociationVector_combinedSecondaryVertexMVABJetTags__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_combinedSecondaryVertexMVABJetTags__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_combinedSecondaryVertexMVABJetTags__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTofloatsAssociationVector_ghostTrackBJetTags__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_ghostTrackBJetTags__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_ghostTrackBJetTags__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTofloatsAssociationVector_jetBProbabilityBJetTags__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_jetBProbabilityBJetTags__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_jetBProbabilityBJetTags__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTofloatsAssociationVector_jetProbabilityBJetTags__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_jetProbabilityBJetTags__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_jetProbabilityBJetTags__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTofloatsAssociationVector_simpleSecondaryVertexHighEffBJetTags__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_simpleSecondaryVertexHighEffBJetTags__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_simpleSecondaryVertexHighEffBJetTags__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTofloatsAssociationVector_simpleSecondaryVertexHighPurBJetTags__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_simpleSecondaryVertexHighPurBJetTags__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_simpleSecondaryVertexHighPurBJetTags__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTofloatsAssociationVector_softElectronByIP3dBJetTags__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_softElectronByIP3dBJetTags__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_softElectronByIP3dBJetTags__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTofloatsAssociationVector_softElectronByPtBJetTags__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_softElectronByPtBJetTags__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_softElectronByPtBJetTags__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTofloatsAssociationVector_softMuonBJetTags__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_softMuonBJetTags__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_softMuonBJetTags__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTofloatsAssociationVector_softMuonByIP3dBJetTags__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_softMuonByIP3dBJetTags__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_softMuonByIP3dBJetTags__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTofloatsAssociationVector_softMuonByPtBJetTags__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_softMuonByPtBJetTags__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_softMuonByPtBJetTags__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTofloatsAssociationVector_trackCountingHighEffBJetTags__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_trackCountingHighEffBJetTags__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_trackCountingHighEffBJetTags__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTofloatsAssociationVector_trackCountingHighPurBJetTags__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_trackCountingHighPurBJetTags__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTofloatsAssociationVector_trackCountingHighPurBJetTags__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTorecoJetExtendedAssociationJetExtendedDatasAssociationVector_ak5JetExtender__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTorecoJetExtendedAssociationJetExtendedDatasAssociationVector_ak5JetExtender__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTorecoJetExtendedAssociationJetExtendedDatasAssociationVector_ak5JetExtender__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- mTracksAtVertexNumber: integer (nullable = true)
 |    |    |    |    |-- mTracksAtVertexP4: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fPt: float (nullable = true)
 |    |    |    |    |    |    |-- fEta: float (nullable = true)
 |    |    |    |    |    |    |-- fPhi: float (nullable = true)
 |    |    |    |    |    |    |-- fE: float (nullable = true)
 |    |    |    |    |-- mTracksAtCaloNumber: integer (nullable = true)
 |    |    |    |    |-- mTracksAtCaloP4: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fPt: float (nullable = true)
 |    |    |    |    |    |    |-- fEta: float (nullable = true)
 |    |    |    |    |    |    |-- fPhi: float (nullable = true)
 |    |    |    |    |    |    |-- fE: float (nullable = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTorecoJetExtendedAssociationJetExtendedDatasAssociationVector_ak7JetExtender__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTorecoJetExtendedAssociationJetExtendedDatasAssociationVector_ak7JetExtender__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTorecoJetExtendedAssociationJetExtendedDatasAssociationVector_ak7JetExtender__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- mTracksAtVertexNumber: integer (nullable = true)
 |    |    |    |    |-- mTracksAtVertexP4: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fPt: float (nullable = true)
 |    |    |    |    |    |    |-- fEta: float (nullable = true)
 |    |    |    |    |    |    |-- fPhi: float (nullable = true)
 |    |    |    |    |    |    |-- fE: float (nullable = true)
 |    |    |    |    |-- mTracksAtCaloNumber: integer (nullable = true)
 |    |    |    |    |-- mTracksAtCaloP4: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fPt: float (nullable = true)
 |    |    |    |    |    |    |-- fEta: float (nullable = true)
 |    |    |    |    |    |    |-- fPhi: float (nullable = true)
 |    |    |    |    |    |    |-- fE: float (nullable = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoJetedmRefToBaseProdTorecoJetExtendedAssociationJetExtendedDatasAssociationVector_kt4JetExtender__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetedmRefToBaseProdTorecoJetExtendedAssociationJetExtendedDatasAssociationVector_kt4JetExtender__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetedmRefToBaseProdTorecoJetExtendedAssociationJetExtendedDatasAssociationVector_kt4JetExtender__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- mTracksAtVertexNumber: integer (nullable = true)
 |    |    |    |    |-- mTracksAtVertexP4: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fPt: float (nullable = true)
 |    |    |    |    |    |    |-- fEta: float (nullable = true)
 |    |    |    |    |    |    |-- fPhi: float (nullable = true)
 |    |    |    |    |    |    |-- fE: float (nullable = true)
 |    |    |    |    |-- mTracksAtCaloNumber: integer (nullable = true)
 |    |    |    |    |-- mTracksAtCaloP4: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fPt: float (nullable = true)
 |    |    |    |    |    |    |-- fEta: float (nullable = true)
 |    |    |    |    |    |    |-- fPhi: float (nullable = true)
 |    |    |    |    |    |    |-- fE: float (nullable = true)
 |    |    |-- ref_: struct (nullable = true)
 |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- transient_: struct (nullable = true)
 |-- edmConditionsInEventBlock_conditionsInEdm__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- edmConditionsInEventBlock_conditionsInEdm__RECO_obj: struct (nullable = true)
 |    |    |-- bstMasterStatus: short (nullable = true)
 |    |    |-- turnCountNumber: integer (nullable = true)
 |-- TrackingRecHitsOwned_standAloneMuons__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- TrackingRecHitsOwned_standAloneMuons__RECO_obj: struct (nullable = true)
 |    |    |-- TrackingRecHitsOwned_standAloneMuons__RECO_obj_data_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- m_id: integer (nullable = true)
 |    |    |    |    |-- m_status: integer (nullable = true)
 |    |    |-- fixup_: struct (nullable = true)
 |-- CaloTowersSorted_towerMaker__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- CaloTowersSorted_towerMaker__RECO_obj: struct (nullable = true)
 |    |    |-- CaloTowersSorted_towerMaker__RECO_obj_obj: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- id_: struct (nullable = true)
 |    |    |    |    |    |-- DetId: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |-- twrStatusWord_: integer (nullable = true)
 |    |    |    |    |-- emPosition_: struct (nullable = true)
 |    |    |    |    |    |-- PV3DBase<float,PointTag,GlobalTag>: struct (nullable = true)
 |    |    |    |    |    |    |-- theVector: struct (nullable = true)
 |    |    |    |    |    |    |    |-- theX: float (nullable = true)
 |    |    |    |    |    |    |    |-- theY: float (nullable = true)
 |    |    |    |    |    |    |    |-- theZ: float (nullable = true)
 |    |    |    |    |-- hadPosition_: struct (nullable = true)
 |    |    |    |    |    |-- PV3DBase<float,PointTag,GlobalTag>: struct (nullable = true)
 |    |    |    |    |    |    |-- theVector: struct (nullable = true)
 |    |    |    |    |    |    |    |-- theX: float (nullable = true)
 |    |    |    |    |    |    |    |-- theY: float (nullable = true)
 |    |    |    |    |    |    |    |-- theZ: float (nullable = true)
 |    |    |    |    |-- ecalTime_: integer (nullable = true)
 |    |    |    |    |-- hcalTime_: integer (nullable = true)
 |    |    |    |    |-- emE_: float (nullable = true)
 |    |    |    |    |-- hadE_: float (nullable = true)
 |    |    |    |    |-- outerE_: float (nullable = true)
 |    |    |    |    |-- hottestCellE_: float (nullable = true)
 |    |    |    |    |-- emLvl1_: integer (nullable = true)
 |    |    |    |    |-- hadLvl1_: integer (nullable = true)
 |    |    |    |    |-- CaloTowersSorted_towerMaker__RECO_obj_obj_constituents_: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |-- CastorRecHitsSorted_castorreco__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- CastorRecHitsSorted_castorreco__RECO_obj: struct (nullable = true)
 |    |    |-- obj: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- CaloRecHit: struct (nullable = true)
 |    |    |    |    |    |-- id_: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |-- energy_: float (nullable = true)
 |    |    |    |    |    |-- time_: float (nullable = true)
 |    |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |    |    |-- aux_: integer (nullable = true)
 |-- EcalRecHitsSorted_reducedEcalRecHitsEB__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- EcalRecHitsSorted_reducedEcalRecHitsEB__RECO_obj: struct (nullable = true)
 |    |    |-- obj: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- CaloRecHit: struct (nullable = true)
 |    |    |    |    |    |-- id_: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |-- energy_: float (nullable = true)
 |    |    |    |    |    |-- time_: float (nullable = true)
 |    |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |    |    |-- aux_: integer (nullable = true)
 |    |    |    |    |-- flagBits_: integer (nullable = true)
 |-- EcalRecHitsSorted_reducedEcalRecHitsEE__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- EcalRecHitsSorted_reducedEcalRecHitsEE__RECO_obj: struct (nullable = true)
 |    |    |-- obj: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- CaloRecHit: struct (nullable = true)
 |    |    |    |    |    |-- id_: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |-- energy_: float (nullable = true)
 |    |    |    |    |    |-- time_: float (nullable = true)
 |    |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |    |    |-- aux_: integer (nullable = true)
 |    |    |    |    |-- flagBits_: integer (nullable = true)
 |-- EcalRecHitsSorted_reducedEcalRecHitsES__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- EcalRecHitsSorted_reducedEcalRecHitsES__RECO_obj: struct (nullable = true)
 |    |    |-- obj: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- CaloRecHit: struct (nullable = true)
 |    |    |    |    |    |-- id_: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |-- energy_: float (nullable = true)
 |    |    |    |    |    |-- time_: float (nullable = true)
 |    |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |    |    |-- aux_: integer (nullable = true)
 |    |    |    |    |-- flagBits_: integer (nullable = true)
 |-- HBHERecHitsSorted_reducedHcalRecHits_hbhereco_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- HBHERecHitsSorted_reducedHcalRecHits_hbhereco_RECO_obj: struct (nullable = true)
 |    |    |-- obj: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- CaloRecHit: struct (nullable = true)
 |    |    |    |    |    |-- id_: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |-- energy_: float (nullable = true)
 |    |    |    |    |    |-- time_: float (nullable = true)
 |    |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |    |    |-- aux_: integer (nullable = true)
 |-- HFRecHitsSorted_reducedHcalRecHits_hfreco_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- HFRecHitsSorted_reducedHcalRecHits_hfreco_RECO_obj: struct (nullable = true)
 |    |    |-- obj: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- CaloRecHit: struct (nullable = true)
 |    |    |    |    |    |-- id_: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |-- energy_: float (nullable = true)
 |    |    |    |    |    |-- time_: float (nullable = true)
 |    |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |    |    |-- aux_: integer (nullable = true)
 |-- HORecHitsSorted_reducedHcalRecHits_horeco_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- HORecHitsSorted_reducedHcalRecHits_horeco_RECO_obj: struct (nullable = true)
 |    |    |-- obj: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- CaloRecHit: struct (nullable = true)
 |    |    |    |    |    |-- id_: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |-- energy_: float (nullable = true)
 |    |    |    |    |    |-- time_: float (nullable = true)
 |    |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |    |    |-- aux_: integer (nullable = true)
 |-- edmTriggerResults_TriggerResults__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- edmTriggerResults_TriggerResults__RECO_obj: struct (nullable = true)
 |    |    |-- edm::HLTGlobalStatus: struct (nullable = true)
 |    |    |    |-- paths_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- status_: short (nullable = true)
 |    |    |-- edm::DoNotRecordParents: struct (nullable = true)
 |    |    |-- psetid_: struct (nullable = true)
 |    |    |    |-- hash_: string (nullable = true)
 |    |    |-- names_: array (nullable = true)
 |    |    |    |-- element: string (containsNull = true)
 |-- booledmValueMap_muidAllArbitrated__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidAllArbitrated__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidGMStaChiCompatibility__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidGMStaChiCompatibility__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidGMTkChiCompatibility__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidGMTkChiCompatibility__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidGMTkKinkTight__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidGMTkKinkTight__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidGlobalMuonPromptTight__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidGlobalMuonPromptTight__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidTM2DCompatibilityLoose__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidTM2DCompatibilityLoose__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidTM2DCompatibilityTight__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidTM2DCompatibilityTight__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidTMLastStationAngLoose__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidTMLastStationAngLoose__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidTMLastStationAngTight__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidTMLastStationAngTight__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidTMLastStationLoose__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidTMLastStationLoose__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidTMLastStationOptimizedLowPtLoose__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidTMLastStationOptimizedLowPtLoose__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidTMLastStationOptimizedLowPtTight__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidTMLastStationOptimizedLowPtTight__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidTMLastStationTight__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidTMLastStationTight__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidTMOneStationAngLoose__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidTMOneStationAngLoose__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidTMOneStationAngTight__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidTMOneStationAngTight__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidTMOneStationLoose__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidTMOneStationLoose__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidTMOneStationTight__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidTMOneStationTight__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_muidTrackerMuonArbitrated__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_muidTrackerMuonArbitrated__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_PhotonIDProd_PhotonCutBasedIDLoose_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_PhotonIDProd_PhotonCutBasedIDLoose_RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_PhotonIDProd_PhotonCutBasedIDLooseEM_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_PhotonIDProd_PhotonCutBasedIDLooseEM_RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- booledmValueMap_PhotonIDProd_PhotonCutBasedIDTight_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- booledmValueMap_PhotonIDProd_PhotonCutBasedIDTight_RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: boolean (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- floatedmValueMap_eidLoose__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- floatedmValueMap_eidLoose__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- floatedmValueMap_eidRobustHighEnergy__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- floatedmValueMap_eidRobustHighEnergy__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- floatedmValueMap_eidRobustLoose__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- floatedmValueMap_eidRobustLoose__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- floatedmValueMap_eidRobustTight__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- floatedmValueMap_eidRobustTight__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- floatedmValueMap_eidTight__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- floatedmValueMap_eidTight__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: float (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoCastorJetIDedmValueMap_ak7CastorJetID__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCastorJetIDedmValueMap_ak7CastorJetID__RECO_obj: struct (nullable = true)
 |    |    |-- recoCastorJetIDedmValueMap_ak7CastorJetID__RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- emEnergy: double (nullable = true)
 |    |    |    |    |-- hadEnergy: double (nullable = true)
 |    |    |    |    |-- fem: double (nullable = true)
 |    |    |    |    |-- width: double (nullable = true)
 |    |    |    |    |-- depth: double (nullable = true)
 |    |    |    |    |-- fhot: double (nullable = true)
 |    |    |    |    |-- sigmaz: double (nullable = true)
 |    |    |    |    |-- nTowers: integer (nullable = true)
 |    |    |-- recoCastorJetIDedmValueMap_ak7CastorJetID__RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoDeDxDataedmValueMap_dedxDiscrimASmi__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoDeDxDataedmValueMap_dedxDiscrimASmi__RECO_obj: struct (nullable = true)
 |    |    |-- recoDeDxDataedmValueMap_dedxDiscrimASmi__RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- value_: float (nullable = true)
 |    |    |    |    |-- error_: float (nullable = true)
 |    |    |    |    |-- numberOfMeasurements_: integer (nullable = true)
 |    |    |-- recoDeDxDataedmValueMap_dedxDiscrimASmi__RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoDeDxDataedmValueMap_dedxHarmonic2__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoDeDxDataedmValueMap_dedxHarmonic2__RECO_obj: struct (nullable = true)
 |    |    |-- recoDeDxDataedmValueMap_dedxHarmonic2__RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- value_: float (nullable = true)
 |    |    |    |    |-- error_: float (nullable = true)
 |    |    |    |    |-- numberOfMeasurements_: integer (nullable = true)
 |    |    |-- recoDeDxDataedmValueMap_dedxHarmonic2__RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoIsoDepositedmValueMap_muIsoDepositJets__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoIsoDepositedmValueMap_muIsoDepositJets__RECO_obj: struct (nullable = true)
 |    |    |-- recoIsoDepositedmValueMap_muIsoDepositJets__RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- theDirection: struct (nullable = true)
 |    |    |    |    |    |-- theEta: float (nullable = true)
 |    |    |    |    |    |-- thePhi: float (nullable = true)
 |    |    |    |    |-- theVeto: struct (nullable = true)
 |    |    |    |    |    |-- vetoDir: struct (nullable = true)
 |    |    |    |    |    |    |-- theEta: float (nullable = true)
 |    |    |    |    |    |    |-- thePhi: float (nullable = true)
 |    |    |    |    |    |-- dR: float (nullable = true)
 |    |    |    |    |-- theCandTag: float (nullable = true)
 |    |    |    |    |-- recoIsoDepositedmValueMap_muIsoDepositJets__RECO_obj_values__theDeposits: map (nullable = true)
 |    |    |    |    |    |-- key: struct
 |    |    |    |    |    |-- value: array (valueContainsNull = true)
 |    |    |    |    |    |    |-- deltaR: float (nullable = true)
 |    |    |    |    |    |    |-- relativeAngle: float (nullable = true)
 |    |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |-- recoIsoDepositedmValueMap_muIsoDepositJets__RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoIsoDepositedmValueMap_muIsoDepositTk__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoIsoDepositedmValueMap_muIsoDepositTk__RECO_obj: struct (nullable = true)
 |    |    |-- recoIsoDepositedmValueMap_muIsoDepositTk__RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- theDirection: struct (nullable = true)
 |    |    |    |    |    |-- theEta: float (nullable = true)
 |    |    |    |    |    |-- thePhi: float (nullable = true)
 |    |    |    |    |-- theVeto: struct (nullable = true)
 |    |    |    |    |    |-- vetoDir: struct (nullable = true)
 |    |    |    |    |    |    |-- theEta: float (nullable = true)
 |    |    |    |    |    |    |-- thePhi: float (nullable = true)
 |    |    |    |    |    |-- dR: float (nullable = true)
 |    |    |    |    |-- theCandTag: float (nullable = true)
 |    |    |    |    |-- recoIsoDepositedmValueMap_muIsoDepositTk__RECO_obj_values__theDeposits: map (nullable = true)
 |    |    |    |    |    |-- key: struct
 |    |    |    |    |    |-- value: array (valueContainsNull = true)
 |    |    |    |    |    |    |-- deltaR: float (nullable = true)
 |    |    |    |    |    |    |-- relativeAngle: float (nullable = true)
 |    |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |-- recoIsoDepositedmValueMap_muIsoDepositTk__RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoIsoDepositedmValueMap_muIsoDepositCalByAssociatorTowers_ecal_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoIsoDepositedmValueMap_muIsoDepositCalByAssociatorTowers_ecal_RECO_obj: struct (nullable = true)
 |    |    |-- recoIsoDepositedmValueMap_muIsoDepositCalByAssociatorTowers_ecal_RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- theDirection: struct (nullable = true)
 |    |    |    |    |    |-- theEta: float (nullable = true)
 |    |    |    |    |    |-- thePhi: float (nullable = true)
 |    |    |    |    |-- theVeto: struct (nullable = true)
 |    |    |    |    |    |-- vetoDir: struct (nullable = true)
 |    |    |    |    |    |    |-- theEta: float (nullable = true)
 |    |    |    |    |    |    |-- thePhi: float (nullable = true)
 |    |    |    |    |    |-- dR: float (nullable = true)
 |    |    |    |    |-- theCandTag: float (nullable = true)
 |    |    |    |    |-- recoIsoDepositedmValueMap_muIsoDepositCalByAssociatorTowers_ecal_RECO_obj_values__theDeposits: map (nullable = true)
 |    |    |    |    |    |-- key: struct
 |    |    |    |    |    |-- value: array (valueContainsNull = true)
 |    |    |    |    |    |    |-- deltaR: float (nullable = true)
 |    |    |    |    |    |    |-- relativeAngle: float (nullable = true)
 |    |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |-- recoIsoDepositedmValueMap_muIsoDepositCalByAssociatorTowers_ecal_RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoIsoDepositedmValueMap_muIsoDepositCalByAssociatorTowers_hcal_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoIsoDepositedmValueMap_muIsoDepositCalByAssociatorTowers_hcal_RECO_obj: struct (nullable = true)
 |    |    |-- recoIsoDepositedmValueMap_muIsoDepositCalByAssociatorTowers_hcal_RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- theDirection: struct (nullable = true)
 |    |    |    |    |    |-- theEta: float (nullable = true)
 |    |    |    |    |    |-- thePhi: float (nullable = true)
 |    |    |    |    |-- theVeto: struct (nullable = true)
 |    |    |    |    |    |-- vetoDir: struct (nullable = true)
 |    |    |    |    |    |    |-- theEta: float (nullable = true)
 |    |    |    |    |    |    |-- thePhi: float (nullable = true)
 |    |    |    |    |    |-- dR: float (nullable = true)
 |    |    |    |    |-- theCandTag: float (nullable = true)
 |    |    |    |    |-- recoIsoDepositedmValueMap_muIsoDepositCalByAssociatorTowers_hcal_RECO_obj_values__theDeposits: map (nullable = true)
 |    |    |    |    |    |-- key: struct
 |    |    |    |    |    |-- value: array (valueContainsNull = true)
 |    |    |    |    |    |    |-- deltaR: float (nullable = true)
 |    |    |    |    |    |    |-- relativeAngle: float (nullable = true)
 |    |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |-- recoIsoDepositedmValueMap_muIsoDepositCalByAssociatorTowers_hcal_RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoIsoDepositedmValueMap_muIsoDepositCalByAssociatorTowers_ho_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoIsoDepositedmValueMap_muIsoDepositCalByAssociatorTowers_ho_RECO_obj: struct (nullable = true)
 |    |    |-- recoIsoDepositedmValueMap_muIsoDepositCalByAssociatorTowers_ho_RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- theDirection: struct (nullable = true)
 |    |    |    |    |    |-- theEta: float (nullable = true)
 |    |    |    |    |    |-- thePhi: float (nullable = true)
 |    |    |    |    |-- theVeto: struct (nullable = true)
 |    |    |    |    |    |-- vetoDir: struct (nullable = true)
 |    |    |    |    |    |    |-- theEta: float (nullable = true)
 |    |    |    |    |    |    |-- thePhi: float (nullable = true)
 |    |    |    |    |    |-- dR: float (nullable = true)
 |    |    |    |    |-- theCandTag: float (nullable = true)
 |    |    |    |    |-- recoIsoDepositedmValueMap_muIsoDepositCalByAssociatorTowers_ho_RECO_obj_values__theDeposits: map (nullable = true)
 |    |    |    |    |    |-- key: struct
 |    |    |    |    |    |-- value: array (valueContainsNull = true)
 |    |    |    |    |    |    |-- deltaR: float (nullable = true)
 |    |    |    |    |    |    |-- relativeAngle: float (nullable = true)
 |    |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |-- recoIsoDepositedmValueMap_muIsoDepositCalByAssociatorTowers_ho_RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoJetIDedmValueMap_ak5JetID__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetIDedmValueMap_ak5JetID__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetIDedmValueMap_ak5JetID__RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- fHPD: float (nullable = true)
 |    |    |    |    |-- fRBX: float (nullable = true)
 |    |    |    |    |-- n90Hits: short (nullable = true)
 |    |    |    |    |-- fSubDetector1: float (nullable = true)
 |    |    |    |    |-- fSubDetector2: float (nullable = true)
 |    |    |    |    |-- fSubDetector3: float (nullable = true)
 |    |    |    |    |-- fSubDetector4: float (nullable = true)
 |    |    |    |    |-- restrictedEMF: float (nullable = true)
 |    |    |    |    |-- nHCALTowers: short (nullable = true)
 |    |    |    |    |-- nECALTowers: short (nullable = true)
 |    |    |    |    |-- approximatefHPD: float (nullable = true)
 |    |    |    |    |-- approximatefRBX: float (nullable = true)
 |    |    |    |    |-- hitsInN90: short (nullable = true)
 |    |    |    |    |-- numberOfHits2RPC: short (nullable = true)
 |    |    |    |    |-- numberOfHits3RPC: short (nullable = true)
 |    |    |    |    |-- numberOfHitsRPC: short (nullable = true)
 |    |    |    |    |-- fEB: float (nullable = true)
 |    |    |    |    |-- fEE: float (nullable = true)
 |    |    |    |    |-- fHB: float (nullable = true)
 |    |    |    |    |-- fHE: float (nullable = true)
 |    |    |    |    |-- fHO: float (nullable = true)
 |    |    |    |    |-- fLong: float (nullable = true)
 |    |    |    |    |-- fShort: float (nullable = true)
 |    |    |    |    |-- fLS: float (nullable = true)
 |    |    |    |    |-- fHFOOT: float (nullable = true)
 |    |    |-- recoJetIDedmValueMap_ak5JetID__RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoJetIDedmValueMap_ak7JetID__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetIDedmValueMap_ak7JetID__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetIDedmValueMap_ak7JetID__RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- fHPD: float (nullable = true)
 |    |    |    |    |-- fRBX: float (nullable = true)
 |    |    |    |    |-- n90Hits: short (nullable = true)
 |    |    |    |    |-- fSubDetector1: float (nullable = true)
 |    |    |    |    |-- fSubDetector2: float (nullable = true)
 |    |    |    |    |-- fSubDetector3: float (nullable = true)
 |    |    |    |    |-- fSubDetector4: float (nullable = true)
 |    |    |    |    |-- restrictedEMF: float (nullable = true)
 |    |    |    |    |-- nHCALTowers: short (nullable = true)
 |    |    |    |    |-- nECALTowers: short (nullable = true)
 |    |    |    |    |-- approximatefHPD: float (nullable = true)
 |    |    |    |    |-- approximatefRBX: float (nullable = true)
 |    |    |    |    |-- hitsInN90: short (nullable = true)
 |    |    |    |    |-- numberOfHits2RPC: short (nullable = true)
 |    |    |    |    |-- numberOfHits3RPC: short (nullable = true)
 |    |    |    |    |-- numberOfHitsRPC: short (nullable = true)
 |    |    |    |    |-- fEB: float (nullable = true)
 |    |    |    |    |-- fEE: float (nullable = true)
 |    |    |    |    |-- fHB: float (nullable = true)
 |    |    |    |    |-- fHE: float (nullable = true)
 |    |    |    |    |-- fHO: float (nullable = true)
 |    |    |    |    |-- fLong: float (nullable = true)
 |    |    |    |    |-- fShort: float (nullable = true)
 |    |    |    |    |-- fLS: float (nullable = true)
 |    |    |    |    |-- fHFOOT: float (nullable = true)
 |    |    |-- recoJetIDedmValueMap_ak7JetID__RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoJetIDedmValueMap_kt4JetID__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetIDedmValueMap_kt4JetID__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetIDedmValueMap_kt4JetID__RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- fHPD: float (nullable = true)
 |    |    |    |    |-- fRBX: float (nullable = true)
 |    |    |    |    |-- n90Hits: short (nullable = true)
 |    |    |    |    |-- fSubDetector1: float (nullable = true)
 |    |    |    |    |-- fSubDetector2: float (nullable = true)
 |    |    |    |    |-- fSubDetector3: float (nullable = true)
 |    |    |    |    |-- fSubDetector4: float (nullable = true)
 |    |    |    |    |-- restrictedEMF: float (nullable = true)
 |    |    |    |    |-- nHCALTowers: short (nullable = true)
 |    |    |    |    |-- nECALTowers: short (nullable = true)
 |    |    |    |    |-- approximatefHPD: float (nullable = true)
 |    |    |    |    |-- approximatefRBX: float (nullable = true)
 |    |    |    |    |-- hitsInN90: short (nullable = true)
 |    |    |    |    |-- numberOfHits2RPC: short (nullable = true)
 |    |    |    |    |-- numberOfHits3RPC: short (nullable = true)
 |    |    |    |    |-- numberOfHitsRPC: short (nullable = true)
 |    |    |    |    |-- fEB: float (nullable = true)
 |    |    |    |    |-- fEE: float (nullable = true)
 |    |    |    |    |-- fHB: float (nullable = true)
 |    |    |    |    |-- fHE: float (nullable = true)
 |    |    |    |    |-- fHO: float (nullable = true)
 |    |    |    |    |-- fLong: float (nullable = true)
 |    |    |    |    |-- fShort: float (nullable = true)
 |    |    |    |    |-- fLS: float (nullable = true)
 |    |    |    |    |-- fHFOOT: float (nullable = true)
 |    |    |-- recoJetIDedmValueMap_kt4JetID__RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoJetIDedmValueMap_kt6JetID__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJetIDedmValueMap_kt6JetID__RECO_obj: struct (nullable = true)
 |    |    |-- recoJetIDedmValueMap_kt6JetID__RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- fHPD: float (nullable = true)
 |    |    |    |    |-- fRBX: float (nullable = true)
 |    |    |    |    |-- n90Hits: short (nullable = true)
 |    |    |    |    |-- fSubDetector1: float (nullable = true)
 |    |    |    |    |-- fSubDetector2: float (nullable = true)
 |    |    |    |    |-- fSubDetector3: float (nullable = true)
 |    |    |    |    |-- fSubDetector4: float (nullable = true)
 |    |    |    |    |-- restrictedEMF: float (nullable = true)
 |    |    |    |    |-- nHCALTowers: short (nullable = true)
 |    |    |    |    |-- nECALTowers: short (nullable = true)
 |    |    |    |    |-- approximatefHPD: float (nullable = true)
 |    |    |    |    |-- approximatefRBX: float (nullable = true)
 |    |    |    |    |-- hitsInN90: short (nullable = true)
 |    |    |    |    |-- numberOfHits2RPC: short (nullable = true)
 |    |    |    |    |-- numberOfHits3RPC: short (nullable = true)
 |    |    |    |    |-- numberOfHitsRPC: short (nullable = true)
 |    |    |    |    |-- fEB: float (nullable = true)
 |    |    |    |    |-- fEE: float (nullable = true)
 |    |    |    |    |-- fHB: float (nullable = true)
 |    |    |    |    |-- fHE: float (nullable = true)
 |    |    |    |    |-- fHO: float (nullable = true)
 |    |    |    |    |-- fLong: float (nullable = true)
 |    |    |    |    |-- fShort: float (nullable = true)
 |    |    |    |    |-- fLS: float (nullable = true)
 |    |    |    |    |-- fHFOOT: float (nullable = true)
 |    |    |-- recoJetIDedmValueMap_kt6JetID__RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoMuonCosmicCompatibilityedmValueMap_cosmicsVeto__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMuonCosmicCompatibilityedmValueMap_cosmicsVeto__RECO_obj: struct (nullable = true)
 |    |    |-- recoMuonCosmicCompatibilityedmValueMap_cosmicsVeto__RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- cosmicCompatibility: float (nullable = true)
 |    |    |    |    |-- timeCompatibility: float (nullable = true)
 |    |    |    |    |-- backToBackCompatibility: float (nullable = true)
 |    |    |    |    |-- overlapCompatibility: float (nullable = true)
 |    |    |    |    |-- ipCompatibility: float (nullable = true)
 |    |    |    |    |-- vertexCompatibility: float (nullable = true)
 |    |    |-- recoMuonCosmicCompatibilityedmValueMap_cosmicsVeto__RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoMuonMETCorrectionDataedmValueMap_muonMETValueMapProducer_muCorrData_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMuonMETCorrectionDataedmValueMap_muonMETValueMapProducer_muCorrData_RECO_obj: struct (nullable = true)
 |    |    |-- recoMuonMETCorrectionDataedmValueMap_muonMETValueMapProducer_muCorrData_RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- type_: integer (nullable = true)
 |    |    |    |    |-- corrX_: float (nullable = true)
 |    |    |    |    |-- corrY_: float (nullable = true)
 |    |    |-- recoMuonMETCorrectionDataedmValueMap_muonMETValueMapProducer_muCorrData_RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoMuonMETCorrectionDataedmValueMap_muonTCMETValueMapProducer_muCorrData_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMuonMETCorrectionDataedmValueMap_muonTCMETValueMapProducer_muCorrData_RECO_obj: struct (nullable = true)
 |    |    |-- recoMuonMETCorrectionDataedmValueMap_muonTCMETValueMapProducer_muCorrData_RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- type_: integer (nullable = true)
 |    |    |    |    |-- corrX_: float (nullable = true)
 |    |    |    |    |-- corrY_: float (nullable = true)
 |    |    |-- recoMuonMETCorrectionDataedmValueMap_muonTCMETValueMapProducer_muCorrData_RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoMuonShoweredmValueMap_muonShowerInformation__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMuonShoweredmValueMap_muonShowerInformation__RECO_obj: struct (nullable = true)
 |    |    |-- recoMuonShoweredmValueMap_muonShowerInformation__RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- recoMuonShoweredmValueMap_muonShowerInformation__RECO_obj_values__nStationHits: array (nullable = true)
 |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- recoMuonShoweredmValueMap_muonShowerInformation__RECO_obj_values__nStationCorrelatedHits: array (nullable = true)
 |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- recoMuonShoweredmValueMap_muonShowerInformation__RECO_obj_values__stationShowerSizeT: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- recoMuonShoweredmValueMap_muonShowerInformation__RECO_obj_values__stationShowerDeltaR: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |-- recoMuonShoweredmValueMap_muonShowerInformation__RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoMuonTimeExtraedmValueMap_muons_combined_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMuonTimeExtraedmValueMap_muons_combined_RECO_obj: struct (nullable = true)
 |    |    |-- recoMuonTimeExtraedmValueMap_muons_combined_RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- nDof_: integer (nullable = true)
 |    |    |    |    |-- inverseBeta_: float (nullable = true)
 |    |    |    |    |-- inverseBetaErr_: float (nullable = true)
 |    |    |    |    |-- freeInverseBeta_: float (nullable = true)
 |    |    |    |    |-- freeInverseBetaErr_: float (nullable = true)
 |    |    |    |    |-- timeAtIpInOut_: float (nullable = true)
 |    |    |    |    |-- timeAtIpInOutErr_: float (nullable = true)
 |    |    |    |    |-- timeAtIpOutIn_: float (nullable = true)
 |    |    |    |    |-- timeAtIpOutInErr_: float (nullable = true)
 |    |    |-- recoMuonTimeExtraedmValueMap_muons_combined_RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoMuonTimeExtraedmValueMap_muons_csc_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMuonTimeExtraedmValueMap_muons_csc_RECO_obj: struct (nullable = true)
 |    |    |-- recoMuonTimeExtraedmValueMap_muons_csc_RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- nDof_: integer (nullable = true)
 |    |    |    |    |-- inverseBeta_: float (nullable = true)
 |    |    |    |    |-- inverseBetaErr_: float (nullable = true)
 |    |    |    |    |-- freeInverseBeta_: float (nullable = true)
 |    |    |    |    |-- freeInverseBetaErr_: float (nullable = true)
 |    |    |    |    |-- timeAtIpInOut_: float (nullable = true)
 |    |    |    |    |-- timeAtIpInOutErr_: float (nullable = true)
 |    |    |    |    |-- timeAtIpOutIn_: float (nullable = true)
 |    |    |    |    |-- timeAtIpOutInErr_: float (nullable = true)
 |    |    |-- recoMuonTimeExtraedmValueMap_muons_csc_RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoMuonTimeExtraedmValueMap_muons_dt_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMuonTimeExtraedmValueMap_muons_dt_RECO_obj: struct (nullable = true)
 |    |    |-- recoMuonTimeExtraedmValueMap_muons_dt_RECO_obj_values_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- nDof_: integer (nullable = true)
 |    |    |    |    |-- inverseBeta_: float (nullable = true)
 |    |    |    |    |-- inverseBetaErr_: float (nullable = true)
 |    |    |    |    |-- freeInverseBeta_: float (nullable = true)
 |    |    |    |    |-- freeInverseBetaErr_: float (nullable = true)
 |    |    |    |    |-- timeAtIpInOut_: float (nullable = true)
 |    |    |    |    |-- timeAtIpInOutErr_: float (nullable = true)
 |    |    |    |    |-- timeAtIpOutIn_: float (nullable = true)
 |    |    |    |    |-- timeAtIpOutInErr_: float (nullable = true)
 |    |    |-- recoMuonTimeExtraedmValueMap_muons_dt_RECO_obj_ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- uintedmValueMap_cosmicsVeto__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- uintedmValueMap_cosmicsVeto__RECO_obj: struct (nullable = true)
 |    |    |-- values_: array (nullable = true)
 |    |    |    |-- element: integer (containsNull = true)
 |    |    |-- ids_: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |-- second: integer (nullable = true)
 |-- recoBeamHaloSummary_BeamHaloSummary__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoBeamHaloSummary_BeamHaloSummary__RECO_obj: struct (nullable = true)
 |    |    |-- recoBeamHaloSummary_BeamHaloSummary__RECO_obj_HcalHaloReport: array (nullable = true)
 |    |    |    |-- element: byte (containsNull = true)
 |    |    |-- recoBeamHaloSummary_BeamHaloSummary__RECO_obj_EcalHaloReport: array (nullable = true)
 |    |    |    |-- element: byte (containsNull = true)
 |    |    |-- recoBeamHaloSummary_BeamHaloSummary__RECO_obj_CSCHaloReport: array (nullable = true)
 |    |    |    |-- element: byte (containsNull = true)
 |    |    |-- recoBeamHaloSummary_BeamHaloSummary__RECO_obj_GlobalHaloReport: array (nullable = true)
 |    |    |    |-- element: byte (containsNull = true)
 |    |    |-- recoBeamHaloSummary_BeamHaloSummary__RECO_obj_HcaliPhiSuspects: array (nullable = true)
 |    |    |    |-- element: integer (containsNull = true)
 |    |    |-- recoBeamHaloSummary_BeamHaloSummary__RECO_obj_EcaliPhiSuspects: array (nullable = true)
 |    |    |    |-- element: integer (containsNull = true)
 |    |    |-- recoBeamHaloSummary_BeamHaloSummary__RECO_obj_GlobaliPhiSuspects: array (nullable = true)
 |    |    |    |-- element: integer (containsNull = true)
 |-- recoBeamSpot_offlineBeamSpot__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoBeamSpot_offlineBeamSpot__RECO_obj: struct (nullable = true)
 |    |    |-- position_: struct (nullable = true)
 |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |-- error_: struct (nullable = true)
 |    |    |    |-- fRep: struct (nullable = true)
 |    |    |    |    |-- fArray: array (nullable = true)
 |    |    |    |    |    |-- element: double (containsNull = true)
 |    |    |-- sigmaZ_: double (nullable = true)
 |    |    |-- BeamWidthX_: double (nullable = true)
 |    |    |-- BeamWidthY_: double (nullable = true)
 |    |    |-- dxdz_: double (nullable = true)
 |    |    |-- dydz_: double (nullable = true)
 |    |    |-- emittanceX_: double (nullable = true)
 |    |    |-- emittanceY_: double (nullable = true)
 |    |    |-- betaStar_: double (nullable = true)
 |    |    |-- type_: integer (nullable = true)
 |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationAgainstElectron__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationAgainstElectron__RECO_obj: struct (nullable = true)
 |    |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationAgainstElectron__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::CaloTau> >,vector<float>,edm::Ref<vector<reco::CaloTau>,reco::CaloTau,edm::refhelper::FindUsingAdvance<vector<reco::CaloTau>,reco::CaloTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationAgainstElectron__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationAgainstMuon__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationAgainstMuon__RECO_obj: struct (nullable = true)
 |    |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationAgainstMuon__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::CaloTau> >,vector<float>,edm::Ref<vector<reco::CaloTau>,reco::CaloTau,edm::refhelper::FindUsingAdvance<vector<reco::CaloTau>,reco::CaloTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationAgainstMuon__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByECALIsolation__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByECALIsolation__RECO_obj: struct (nullable = true)
 |    |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByECALIsolation__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::CaloTau> >,vector<float>,edm::Ref<vector<reco::CaloTau>,reco::CaloTau,edm::refhelper::FindUsingAdvance<vector<reco::CaloTau>,reco::CaloTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByECALIsolation__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByIsolation__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByIsolation__RECO_obj: struct (nullable = true)
 |    |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByIsolation__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::CaloTau> >,vector<float>,edm::Ref<vector<reco::CaloTau>,reco::CaloTau,edm::refhelper::FindUsingAdvance<vector<reco::CaloTau>,reco::CaloTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByIsolation__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByLeadingTrackFinding__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByLeadingTrackFinding__RECO_obj: struct (nullable = true)
 |    |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByLeadingTrackFinding__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::CaloTau> >,vector<float>,edm::Ref<vector<reco::CaloTau>,reco::CaloTau,edm::refhelper::FindUsingAdvance<vector<reco::CaloTau>,reco::CaloTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByLeadingTrackFinding__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByLeadingTrackPtCut__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByLeadingTrackPtCut__RECO_obj: struct (nullable = true)
 |    |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByLeadingTrackPtCut__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::CaloTau> >,vector<float>,edm::Ref<vector<reco::CaloTau>,reco::CaloTau,edm::refhelper::FindUsingAdvance<vector<reco::CaloTau>,reco::CaloTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByLeadingTrackPtCut__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByTrackIsolation__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByTrackIsolation__RECO_obj: struct (nullable = true)
 |    |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByTrackIsolation__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::CaloTau> >,vector<float>,edm::Ref<vector<reco::CaloTau>,reco::CaloTau,edm::refhelper::FindUsingAdvance<vector<reco::CaloTau>,reco::CaloTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoCaloTauDiscriminator_caloRecoTauDiscriminationByTrackIsolation__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoGlobalHaloData_GlobalHaloData__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoGlobalHaloData_GlobalHaloData__RECO_obj: struct (nullable = true)
 |    |    |-- METOverSumEt_: float (nullable = true)
 |    |    |-- dMEx_: float (nullable = true)
 |    |    |-- dMEy_: float (nullable = true)
 |    |    |-- dSumEt_: float (nullable = true)
 |    |    |-- recoGlobalHaloData_GlobalHaloData__RECO_obj_HcalPhiWedges: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- energy_: float (nullable = true)
 |    |    |    |    |-- iphi_: integer (nullable = true)
 |    |    |    |    |-- constituents_: integer (nullable = true)
 |    |    |    |    |-- min_time_: float (nullable = true)
 |    |    |    |    |-- max_time_: float (nullable = true)
 |    |    |    |    |-- PlusZOriginConfidence_: float (nullable = true)
 |    |    |    |    |-- OverlappingCSCTracks_: integer (nullable = true)
 |    |    |    |    |-- OverlappingCSCSegments_: integer (nullable = true)
 |    |    |    |    |-- OverlappingCSCRecHits_: integer (nullable = true)
 |    |    |    |    |-- OverlappingCSCHaloTriggers_: integer (nullable = true)
 |    |    |-- recoGlobalHaloData_GlobalHaloData__RECO_obj_EcalPhiWedges: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- energy_: float (nullable = true)
 |    |    |    |    |-- iphi_: integer (nullable = true)
 |    |    |    |    |-- constituents_: integer (nullable = true)
 |    |    |    |    |-- min_time_: float (nullable = true)
 |    |    |    |    |-- max_time_: float (nullable = true)
 |    |    |    |    |-- PlusZOriginConfidence_: float (nullable = true)
 |    |    |    |    |-- OverlappingCSCTracks_: integer (nullable = true)
 |    |    |    |    |-- OverlappingCSCSegments_: integer (nullable = true)
 |    |    |    |    |-- OverlappingCSCRecHits_: integer (nullable = true)
 |    |    |    |    |-- OverlappingCSCHaloTriggers_: integer (nullable = true)
 |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByDecayModeFinding__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByDecayModeFinding__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByDecayModeFinding__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByDecayModeFinding__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseElectronRejection__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseElectronRejection__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseElectronRejection__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseElectronRejection__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseIsolation__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseIsolation__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseIsolation__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseIsolation__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseMuonRejection__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseMuonRejection__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseMuonRejection__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseMuonRejection__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumElectronRejection__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumElectronRejection__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumElectronRejection__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumElectronRejection__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumIsolation__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumIsolation__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumIsolation__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumIsolation__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByTightElectronRejection__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByTightElectronRejection__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByTightElectronRejection__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByTightElectronRejection__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByTightIsolation__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByTightIsolation__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByTightIsolation__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByTightIsolation__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByTightMuonRejection__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByTightMuonRejection__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByTightMuonRejection__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByTightMuonRejection__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByVLooseIsolation__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByVLooseIsolation__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByVLooseIsolation__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsPFTauDiscriminationByVLooseIsolation__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByDecayModeSelection__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByDecayModeSelection__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByDecayModeSelection__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByDecayModeSelection__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByFlightPath__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByFlightPath__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByFlightPath__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByFlightPath__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLeadingPionPtCut__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLeadingPionPtCut__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLeadingPionPtCut__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLeadingPionPtCut__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLeadingTrackFinding__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLeadingTrackFinding__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLeadingTrackFinding__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLeadingTrackFinding__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLeadingTrackPtCut__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLeadingTrackPtCut__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLeadingTrackPtCut__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLeadingTrackPtCut__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLooseElectronRejection__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLooseElectronRejection__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLooseElectronRejection__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLooseElectronRejection__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLooseIsolation__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLooseIsolation__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLooseIsolation__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLooseIsolation__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLooseMuonRejection__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLooseMuonRejection__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLooseMuonRejection__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByLooseMuonRejection__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByMediumElectronRejection__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByMediumElectronRejection__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByMediumElectronRejection__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByMediumElectronRejection__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByMediumIsolation__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByMediumIsolation__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByMediumIsolation__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByMediumIsolation__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTanc__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTanc__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTanc__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTanc__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancLoose__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancLoose__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancLoose__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancLoose__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancMedium__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancMedium__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancMedium__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancMedium__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancRaw__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancRaw__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancRaw__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancRaw__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancTight__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancTight__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancTight__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancTight__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancVLoose__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancVLoose__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancVLoose__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTancVLoose__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTightElectronRejection__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTightElectronRejection__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTightElectronRejection__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTightElectronRejection__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTightIsolation__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTightIsolation__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTightIsolation__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTightIsolation__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTightMuonRejection__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTightMuonRejection__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTightMuonRejection__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByTightMuonRejection__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByVLooseIsolation__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByVLooseIsolation__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByVLooseIsolation__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_hpsTancTausDiscriminationByVLooseIsolation__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationAgainstElectron__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationAgainstElectron__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationAgainstElectron__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationAgainstElectron__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationAgainstMuon__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationAgainstMuon__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationAgainstMuon__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationAgainstMuon__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByECALIsolation__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByECALIsolation__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByECALIsolation__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByECALIsolation__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByECALIsolationUsingLeadingPion__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByECALIsolationUsingLeadingPion__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByECALIsolationUsingLeadingPion__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByECALIsolationUsingLeadingPion__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByIsolation__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByIsolation__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByIsolation__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByIsolation__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByIsolationUsingLeadingPion__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByIsolationUsingLeadingPion__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByIsolationUsingLeadingPion__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByIsolationUsingLeadingPion__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByLeadingPionPtCut__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByLeadingPionPtCut__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByLeadingPionPtCut__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByLeadingPionPtCut__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByLeadingTrackFinding__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByLeadingTrackFinding__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByLeadingTrackFinding__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByLeadingTrackFinding__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByLeadingTrackPtCut__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByLeadingTrackPtCut__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByLeadingTrackPtCut__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByLeadingTrackPtCut__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNC__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNC__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNC__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNC__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNCfrHalfPercent__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNCfrHalfPercent__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNCfrHalfPercent__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNCfrHalfPercent__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNCfrOnePercent__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNCfrOnePercent__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNCfrOnePercent__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNCfrOnePercent__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNCfrQuarterPercent__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNCfrQuarterPercent__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNCfrQuarterPercent__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNCfrQuarterPercent__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNCfrTenthPercent__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNCfrTenthPercent__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNCfrTenthPercent__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTaNCfrTenthPercent__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTrackIsolation__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTrackIsolation__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTrackIsolation__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTrackIsolation__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTrackIsolationUsingLeadingPion__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTrackIsolationUsingLeadingPion__RECO_obj: struct (nullable = true)
 |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTrackIsolationUsingLeadingPion__RECO_obj_edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<float>,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>: struct (nullable = true)
 |    |    |    |-- recoPFTauDiscriminator_shrinkingConePFTauDiscriminationByTrackIsolationUsingLeadingPion__RECO_obj_data_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |-- BeamSpotOnlines_scalersRawToDigi__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- BeamSpotOnlines_scalersRawToDigi__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- trigType_: integer (nullable = true)
 |    |    |    |-- eventID_: integer (nullable = true)
 |    |    |    |-- sourceID_: integer (nullable = true)
 |    |    |    |-- bunchNumber_: integer (nullable = true)
 |    |    |    |-- version_: integer (nullable = true)
 |    |    |    |-- collectionTime_: struct (nullable = true)
 |    |    |    |    |-- tv_sec_: long (nullable = true)
 |    |    |    |    |-- tv_nsec_: long (nullable = true)
 |    |    |    |-- x_: float (nullable = true)
 |    |    |    |-- y_: float (nullable = true)
 |    |    |    |-- z_: float (nullable = true)
 |    |    |    |-- dxdz_: float (nullable = true)
 |    |    |    |-- dydz_: float (nullable = true)
 |    |    |    |-- err_x_: float (nullable = true)
 |    |    |    |-- err_y_: float (nullable = true)
 |    |    |    |-- err_z_: float (nullable = true)
 |    |    |    |-- err_dxdz_: float (nullable = true)
 |    |    |    |-- err_dydz_: float (nullable = true)
 |    |    |    |-- width_x_: float (nullable = true)
 |    |    |    |-- width_y_: float (nullable = true)
 |    |    |    |-- sigma_z_: float (nullable = true)
 |    |    |    |-- err_width_x_: float (nullable = true)
 |    |    |    |-- err_width_y_: float (nullable = true)
 |    |    |    |-- err_sigma_z_: float (nullable = true)
 |-- DcsStatuss_scalersRawToDigi__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- DcsStatuss_scalersRawToDigi__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- trigType_: integer (nullable = true)
 |    |    |    |-- eventID_: integer (nullable = true)
 |    |    |    |-- sourceID_: integer (nullable = true)
 |    |    |    |-- bunchNumber_: integer (nullable = true)
 |    |    |    |-- version_: integer (nullable = true)
 |    |    |    |-- collectionTime_: struct (nullable = true)
 |    |    |    |    |-- tv_sec_: long (nullable = true)
 |    |    |    |    |-- tv_nsec_: long (nullable = true)
 |    |    |    |-- ready_: integer (nullable = true)
 |    |    |    |-- magnetCurrent_: float (nullable = true)
 |    |    |    |-- magnetTemperature_: float (nullable = true)
 |-- L1AcceptBunchCrossings_scalersRawToDigi__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- L1AcceptBunchCrossings_scalersRawToDigi__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- l1AcceptOffset_: integer (nullable = true)
 |    |    |    |-- orbitNumber_: integer (nullable = true)
 |    |    |    |-- bunchCrossing_: integer (nullable = true)
 |    |    |    |-- eventType_: integer (nullable = true)
 |-- L1TriggerScalerss_scalersRawToDigi__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- L1TriggerScalerss_scalersRawToDigi__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- version_: integer (nullable = true)
 |    |    |    |-- trigType_: integer (nullable = true)
 |    |    |    |-- eventID_: integer (nullable = true)
 |    |    |    |-- sourceID_: integer (nullable = true)
 |    |    |    |-- bunchNumber_: integer (nullable = true)
 |    |    |    |-- collectionTimeSpecial_: struct (nullable = true)
 |    |    |    |    |-- tv_sec_: long (nullable = true)
 |    |    |    |    |-- tv_nsec_: long (nullable = true)
 |    |    |    |-- orbitNumber_: integer (nullable = true)
 |    |    |    |-- luminositySection_: integer (nullable = true)
 |    |    |    |-- bunchCrossingErrors_: short (nullable = true)
 |    |    |    |-- collectionTimeSummary_: struct (nullable = true)
 |    |    |    |    |-- tv_sec_: long (nullable = true)
 |    |    |    |    |-- tv_nsec_: long (nullable = true)
 |    |    |    |-- triggerNumber_: integer (nullable = true)
 |    |    |    |-- eventNumber_: integer (nullable = true)
 |    |    |    |-- finalTriggersDistributed_: integer (nullable = true)
 |    |    |    |-- calibrationTriggers_: integer (nullable = true)
 |    |    |    |-- randomTriggers_: integer (nullable = true)
 |    |    |    |-- totalTestTriggers_: integer (nullable = true)
 |    |    |    |-- finalTriggersGenerated_: integer (nullable = true)
 |    |    |    |-- finalTriggersInvalidBC_: integer (nullable = true)
 |    |    |    |-- deadTime_: long (nullable = true)
 |    |    |    |-- lostFinalTriggers_: long (nullable = true)
 |    |    |    |-- deadTimeActive_: long (nullable = true)
 |    |    |    |-- lostFinalTriggersActive_: long (nullable = true)
 |    |    |    |-- deadTimeActivePrivate_: long (nullable = true)
 |    |    |    |-- deadTimeActivePartition_: long (nullable = true)
 |    |    |    |-- deadTimeActiveThrottle_: long (nullable = true)
 |    |    |    |-- deadTimeActiveCalibration_: long (nullable = true)
 |    |    |    |-- deadTimeActiveTimeSlot_: long (nullable = true)
 |    |    |    |-- numberResets_: integer (nullable = true)
 |    |    |    |-- collectionTimeDetails_: struct (nullable = true)
 |    |    |    |    |-- tv_sec_: long (nullable = true)
 |    |    |    |    |-- tv_nsec_: long (nullable = true)
 |    |    |    |-- L1TriggerScalerss_scalersRawToDigi__RECO_obj_triggers_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- L1TriggerScalerss_scalersRawToDigi__RECO_obj_testTriggers_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |-- Level1TriggerScalerss_scalersRawToDigi__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- Level1TriggerScalerss_scalersRawToDigi__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- version_: integer (nullable = true)
 |    |    |    |-- trigType_: integer (nullable = true)
 |    |    |    |-- eventID_: integer (nullable = true)
 |    |    |    |-- sourceID_: integer (nullable = true)
 |    |    |    |-- bunchNumber_: integer (nullable = true)
 |    |    |    |-- collectionTime_: struct (nullable = true)
 |    |    |    |    |-- tv_sec_: long (nullable = true)
 |    |    |    |    |-- tv_nsec_: long (nullable = true)
 |    |    |    |-- lumiSegmentNr_: integer (nullable = true)
 |    |    |    |-- lumiSegmentOrbits_: integer (nullable = true)
 |    |    |    |-- orbitNr_: integer (nullable = true)
 |    |    |    |-- gtResets_: integer (nullable = true)
 |    |    |    |-- bunchCrossingErrors_: integer (nullable = true)
 |    |    |    |-- gtTriggers_: long (nullable = true)
 |    |    |    |-- gtEvents_: long (nullable = true)
 |    |    |    |-- gtTriggersRate_: float (nullable = true)
 |    |    |    |-- gtEventsRate_: float (nullable = true)
 |    |    |    |-- prescaleIndexAlgo_: integer (nullable = true)
 |    |    |    |-- prescaleIndexTech_: integer (nullable = true)
 |    |    |    |-- collectionTimeLumiSeg_: struct (nullable = true)
 |    |    |    |    |-- tv_sec_: long (nullable = true)
 |    |    |    |    |-- tv_nsec_: long (nullable = true)
 |    |    |    |-- lumiSegmentNrLumiSeg_: integer (nullable = true)
 |    |    |    |-- triggersPhysicsGeneratedFDL_: long (nullable = true)
 |    |    |    |-- triggersPhysicsLost_: long (nullable = true)
 |    |    |    |-- triggersPhysicsLostBeamActive_: long (nullable = true)
 |    |    |    |-- triggersPhysicsLostBeamInactive_: long (nullable = true)
 |    |    |    |-- l1AsPhysics_: long (nullable = true)
 |    |    |    |-- l1AsRandom_: long (nullable = true)
 |    |    |    |-- l1AsTest_: long (nullable = true)
 |    |    |    |-- l1AsCalibration_: long (nullable = true)
 |    |    |    |-- deadtime_: long (nullable = true)
 |    |    |    |-- deadtimeBeamActive_: long (nullable = true)
 |    |    |    |-- deadtimeBeamActiveTriggerRules_: long (nullable = true)
 |    |    |    |-- deadtimeBeamActiveCalibration_: long (nullable = true)
 |    |    |    |-- deadtimeBeamActivePrivateOrbit_: long (nullable = true)
 |    |    |    |-- deadtimeBeamActivePartitionController_: long (nullable = true)
 |    |    |    |-- deadtimeBeamActiveTimeSlot_: long (nullable = true)
 |    |    |    |-- Level1TriggerScalerss_scalersRawToDigi__RECO_obj_gtAlgoCounts_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- Level1TriggerScalerss_scalersRawToDigi__RECO_obj_gtTechCounts_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- lastOrbitCounter0_: integer (nullable = true)
 |    |    |    |-- lastTestEnable_: integer (nullable = true)
 |    |    |    |-- lastResync_: integer (nullable = true)
 |    |    |    |-- lastStart_: integer (nullable = true)
 |    |    |    |-- lastEventCounter0_: integer (nullable = true)
 |    |    |    |-- lastHardReset_: integer (nullable = true)
 |    |    |    |-- spare0_: long (nullable = true)
 |    |    |    |-- spare1_: long (nullable = true)
 |    |    |    |-- spare2_: long (nullable = true)
 |-- LumiScalerss_scalersRawToDigi__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- LumiScalerss_scalersRawToDigi__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- trigType_: integer (nullable = true)
 |    |    |    |-- eventID_: integer (nullable = true)
 |    |    |    |-- sourceID_: integer (nullable = true)
 |    |    |    |-- bunchNumber_: integer (nullable = true)
 |    |    |    |-- version_: integer (nullable = true)
 |    |    |    |-- collectionTime_: struct (nullable = true)
 |    |    |    |    |-- tv_sec_: long (nullable = true)
 |    |    |    |    |-- tv_nsec_: long (nullable = true)
 |    |    |    |-- normalization_: float (nullable = true)
 |    |    |    |-- deadTimeNormalization_: float (nullable = true)
 |    |    |    |-- lumiFill_: float (nullable = true)
 |    |    |    |-- lumiRun_: float (nullable = true)
 |    |    |    |-- liveLumiFill_: float (nullable = true)
 |    |    |    |-- liveLumiRun_: float (nullable = true)
 |    |    |    |-- instantLumi_: float (nullable = true)
 |    |    |    |-- instantLumiErr_: float (nullable = true)
 |    |    |    |-- instantLumiQlty_: byte (nullable = true)
 |    |    |    |-- lumiETFill_: float (nullable = true)
 |    |    |    |-- lumiETRun_: float (nullable = true)
 |    |    |    |-- liveLumiETFill_: float (nullable = true)
 |    |    |    |-- liveLumiETRun_: float (nullable = true)
 |    |    |    |-- instantETLumi_: float (nullable = true)
 |    |    |    |-- instantETLumiErr_: float (nullable = true)
 |    |    |    |-- instantETLumiQlty_: byte (nullable = true)
 |    |    |    |-- LumiScalerss_scalersRawToDigi__RECO_obj_lumiOccFill_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- LumiScalerss_scalersRawToDigi__RECO_obj_lumiOccRun_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- LumiScalerss_scalersRawToDigi__RECO_obj_liveLumiOccFill_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- LumiScalerss_scalersRawToDigi__RECO_obj_liveLumiOccRun_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- LumiScalerss_scalersRawToDigi__RECO_obj_instantOccLumi_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- LumiScalerss_scalersRawToDigi__RECO_obj_instantOccLumiErr_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- LumiScalerss_scalersRawToDigi__RECO_obj_instantOccLumiQlty_: array (nullable = true)
 |    |    |    |    |-- element: byte (containsNull = true)
 |    |    |    |-- LumiScalerss_scalersRawToDigi__RECO_obj_lumiNoise_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- sectionNumber_: integer (nullable = true)
 |    |    |    |-- startOrbit_: integer (nullable = true)
 |    |    |    |-- numOrbits_: integer (nullable = true)
 |-- doubles_ak5CaloJets_rhos_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_ak5CaloJets_rhos_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_ak5PFJets_rhos_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_ak5PFJets_rhos_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_ak5TrackJets_rhos_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_ak5TrackJets_rhos_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_ak7BasicJets_rhos_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_ak7BasicJets_rhos_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_ak7CaloJets_rhos_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_ak7CaloJets_rhos_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_ak7PFJets_rhos_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_ak7PFJets_rhos_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_kt4CaloJets_rhos_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_kt4CaloJets_rhos_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_kt4PFJets_rhos_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_kt4PFJets_rhos_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_kt6CaloJets_rhos_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_kt6CaloJets_rhos_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_kt6PFJets_rhos_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_kt6PFJets_rhos_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_ak5CaloJets_sigmas_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_ak5CaloJets_sigmas_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_ak5PFJets_sigmas_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_ak5PFJets_sigmas_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_ak5TrackJets_sigmas_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_ak5TrackJets_sigmas_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_ak7BasicJets_sigmas_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_ak7BasicJets_sigmas_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_ak7CaloJets_sigmas_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_ak7CaloJets_sigmas_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_ak7PFJets_sigmas_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_ak7PFJets_sigmas_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_kt4CaloJets_sigmas_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_kt4CaloJets_sigmas_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_kt4PFJets_sigmas_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_kt4PFJets_sigmas_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_kt6CaloJets_sigmas_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_kt6CaloJets_sigmas_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- doubles_kt6PFJets_sigmas_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- doubles_kt6PFJets_sigmas_RECO_obj: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- edmErrorSummaryEntrys_logErrorHarvester__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- edmErrorSummaryEntrys_logErrorHarvester__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- category: string (nullable = true)
 |    |    |    |-- module: string (nullable = true)
 |    |    |    |-- severity: struct (nullable = true)
 |    |    |    |    |-- myLevel: integer (nullable = true)
 |    |    |    |-- count: integer (nullable = true)
 |-- l1extraL1EmParticles_l1extraParticles_Isolated_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- l1extraL1EmParticles_l1extraParticles_Isolated_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- type_: integer (nullable = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- bx_: integer (nullable = true)
 |-- l1extraL1EmParticles_l1extraParticles_NonIsolated_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- l1extraL1EmParticles_l1extraParticles_NonIsolated_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- type_: integer (nullable = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- bx_: integer (nullable = true)
 |-- l1extraL1EtMissParticles_l1extraParticles_MET_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- l1extraL1EtMissParticles_l1extraParticles_MET_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- type_: integer (nullable = true)
 |    |    |    |-- etTot_: double (nullable = true)
 |    |    |    |-- etMissRef_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- etTotRef_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- htMissRef_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- etHadRef_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- bx_: integer (nullable = true)
 |-- l1extraL1EtMissParticles_l1extraParticles_MHT_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- l1extraL1EtMissParticles_l1extraParticles_MHT_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- type_: integer (nullable = true)
 |    |    |    |-- etTot_: double (nullable = true)
 |    |    |    |-- etMissRef_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- etTotRef_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- htMissRef_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- etHadRef_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- bx_: integer (nullable = true)
 |-- l1extraL1HFRingss_l1extraParticles__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- l1extraL1HFRingss_l1extraParticles__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- m_ringEtSums: array (nullable = true)
 |    |    |    |    |-- element: double (containsNull = true)
 |    |    |    |-- m_ringBitCounts: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- m_etSumsRef: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- m_bitCountsRef: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- m_bx: integer (nullable = true)
 |-- l1extraL1JetParticles_l1extraParticles_Central_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- l1extraL1JetParticles_l1extraParticles_Central_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- type_: integer (nullable = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- bx_: integer (nullable = true)
 |-- l1extraL1JetParticles_l1extraParticles_Forward_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- l1extraL1JetParticles_l1extraParticles_Forward_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- type_: integer (nullable = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- bx_: integer (nullable = true)
 |-- l1extraL1JetParticles_l1extraParticles_Tau_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- l1extraL1JetParticles_l1extraParticles_Tau_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- type_: integer (nullable = true)
 |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- bx_: integer (nullable = true)
 |-- l1extraL1MuonParticles_l1extraParticles__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- l1extraL1MuonParticles_l1extraParticles__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- isolated_: boolean (nullable = true)
 |    |    |    |-- mip_: boolean (nullable = true)
 |    |    |    |-- forward_: boolean (nullable = true)
 |    |    |    |-- rpc_: boolean (nullable = true)
 |    |    |    |-- cand_: struct (nullable = true)
 |    |    |    |    |-- L1MuGMTCand: struct (nullable = true)
 |    |    |    |    |    |-- m_name: string (nullable = true)
 |    |    |    |    |    |-- m_bx: integer (nullable = true)
 |    |    |    |    |    |-- m_dataWord: integer (nullable = true)
 |    |    |    |    |    |-- m_phiValue: float (nullable = true)
 |    |    |    |    |    |-- m_etaValue: float (nullable = true)
 |    |    |    |    |    |-- m_ptValue: float (nullable = true)
 |    |    |    |    |-- m_rank: integer (nullable = true)
 |    |    |    |-- bx_: integer (nullable = true)
 |-- recoBasicJets_ak7BasicJets__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoBasicJets_ak7BasicJets__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::Jet: struct (nullable = true)
 |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |-- recoBasicJets_ak7BasicJets__RECO_obj_dau: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |-- mJetArea: float (nullable = true)
 |    |    |    |    |-- mPileupEnergy: float (nullable = true)
 |    |    |    |    |-- mPassNumber: integer (nullable = true)
 |-- recoCaloClusters_hfEMClusters__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloClusters_hfEMClusters__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- caloID_: struct (nullable = true)
 |    |    |    |    |-- detectors_: integer (nullable = true)
 |    |    |    |-- recoCaloClusters_hfEMClusters__RECO_obj_hitsAndFractions_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |-- second: float (nullable = true)
 |    |    |    |-- algoID_: integer (nullable = true)
 |    |    |    |-- seedId_: struct (nullable = true)
 |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |-- flags_: integer (nullable = true)
 |-- recoCaloClusters_hybridSuperClusters_hybridBarrelBasicClusters_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloClusters_hybridSuperClusters_hybridBarrelBasicClusters_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- caloID_: struct (nullable = true)
 |    |    |    |    |-- detectors_: integer (nullable = true)
 |    |    |    |-- recoCaloClusters_hybridSuperClusters_hybridBarrelBasicClusters_RECO_obj_hitsAndFractions_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |-- second: float (nullable = true)
 |    |    |    |-- algoID_: integer (nullable = true)
 |    |    |    |-- seedId_: struct (nullable = true)
 |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |-- flags_: integer (nullable = true)
 |-- recoCaloClusters_multi5x5BasicClusters_multi5x5EndcapBasicClusters_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloClusters_multi5x5BasicClusters_multi5x5EndcapBasicClusters_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- caloID_: struct (nullable = true)
 |    |    |    |    |-- detectors_: integer (nullable = true)
 |    |    |    |-- recoCaloClusters_multi5x5BasicClusters_multi5x5EndcapBasicClusters_RECO_obj_hitsAndFractions_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |-- second: float (nullable = true)
 |    |    |    |-- algoID_: integer (nullable = true)
 |    |    |    |-- seedId_: struct (nullable = true)
 |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |-- flags_: integer (nullable = true)
 |-- recoCaloClusters_pfElectronTranslator_pf_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloClusters_pfElectronTranslator_pf_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- caloID_: struct (nullable = true)
 |    |    |    |    |-- detectors_: integer (nullable = true)
 |    |    |    |-- recoCaloClusters_pfElectronTranslator_pf_RECO_obj_hitsAndFractions_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |-- second: float (nullable = true)
 |    |    |    |-- algoID_: integer (nullable = true)
 |    |    |    |-- seedId_: struct (nullable = true)
 |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |-- flags_: integer (nullable = true)
 |-- recoCaloClusters_pfPhotonTranslator_pfphot_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloClusters_pfPhotonTranslator_pfphot_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- caloID_: struct (nullable = true)
 |    |    |    |    |-- detectors_: integer (nullable = true)
 |    |    |    |-- recoCaloClusters_pfPhotonTranslator_pfphot_RECO_obj_hitsAndFractions_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |-- second: float (nullable = true)
 |    |    |    |-- algoID_: integer (nullable = true)
 |    |    |    |-- seedId_: struct (nullable = true)
 |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |-- flags_: integer (nullable = true)
 |-- recoCaloClusters_hybridSuperClusters_uncleanOnlyHybridBarrelBasicClusters_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloClusters_hybridSuperClusters_uncleanOnlyHybridBarrelBasicClusters_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- caloID_: struct (nullable = true)
 |    |    |    |    |-- detectors_: integer (nullable = true)
 |    |    |    |-- recoCaloClusters_hybridSuperClusters_uncleanOnlyHybridBarrelBasicClusters_RECO_obj_hitsAndFractions_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |-- second: float (nullable = true)
 |    |    |    |-- algoID_: integer (nullable = true)
 |    |    |    |-- seedId_: struct (nullable = true)
 |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |-- flags_: integer (nullable = true)
 |-- recoCaloJets_ak5CaloJets__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloJets_ak5CaloJets__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::Jet: struct (nullable = true)
 |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |-- recoCaloJets_ak5CaloJets__RECO_obj_dau: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |-- mJetArea: float (nullable = true)
 |    |    |    |    |-- mPileupEnergy: float (nullable = true)
 |    |    |    |    |-- mPassNumber: integer (nullable = true)
 |    |    |    |-- m_specific: struct (nullable = true)
 |    |    |    |    |-- mMaxEInEmTowers: float (nullable = true)
 |    |    |    |    |-- mMaxEInHadTowers: float (nullable = true)
 |    |    |    |    |-- mHadEnergyInHO: float (nullable = true)
 |    |    |    |    |-- mHadEnergyInHB: float (nullable = true)
 |    |    |    |    |-- mHadEnergyInHF: float (nullable = true)
 |    |    |    |    |-- mHadEnergyInHE: float (nullable = true)
 |    |    |    |    |-- mEmEnergyInEB: float (nullable = true)
 |    |    |    |    |-- mEmEnergyInEE: float (nullable = true)
 |    |    |    |    |-- mEmEnergyInHF: float (nullable = true)
 |    |    |    |    |-- mEnergyFractionHadronic: float (nullable = true)
 |    |    |    |    |-- mEnergyFractionEm: float (nullable = true)
 |    |    |    |    |-- mTowersArea: float (nullable = true)
 |-- recoCaloJets_ak7CaloJets__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloJets_ak7CaloJets__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::Jet: struct (nullable = true)
 |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |-- recoCaloJets_ak7CaloJets__RECO_obj_dau: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |-- mJetArea: float (nullable = true)
 |    |    |    |    |-- mPileupEnergy: float (nullable = true)
 |    |    |    |    |-- mPassNumber: integer (nullable = true)
 |    |    |    |-- m_specific: struct (nullable = true)
 |    |    |    |    |-- mMaxEInEmTowers: float (nullable = true)
 |    |    |    |    |-- mMaxEInHadTowers: float (nullable = true)
 |    |    |    |    |-- mHadEnergyInHO: float (nullable = true)
 |    |    |    |    |-- mHadEnergyInHB: float (nullable = true)
 |    |    |    |    |-- mHadEnergyInHF: float (nullable = true)
 |    |    |    |    |-- mHadEnergyInHE: float (nullable = true)
 |    |    |    |    |-- mEmEnergyInEB: float (nullable = true)
 |    |    |    |    |-- mEmEnergyInEE: float (nullable = true)
 |    |    |    |    |-- mEmEnergyInHF: float (nullable = true)
 |    |    |    |    |-- mEnergyFractionHadronic: float (nullable = true)
 |    |    |    |    |-- mEnergyFractionEm: float (nullable = true)
 |    |    |    |    |-- mTowersArea: float (nullable = true)
 |-- recoCaloJets_kt4CaloJets__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloJets_kt4CaloJets__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::Jet: struct (nullable = true)
 |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |-- recoCaloJets_kt4CaloJets__RECO_obj_dau: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |-- mJetArea: float (nullable = true)
 |    |    |    |    |-- mPileupEnergy: float (nullable = true)
 |    |    |    |    |-- mPassNumber: integer (nullable = true)
 |    |    |    |-- m_specific: struct (nullable = true)
 |    |    |    |    |-- mMaxEInEmTowers: float (nullable = true)
 |    |    |    |    |-- mMaxEInHadTowers: float (nullable = true)
 |    |    |    |    |-- mHadEnergyInHO: float (nullable = true)
 |    |    |    |    |-- mHadEnergyInHB: float (nullable = true)
 |    |    |    |    |-- mHadEnergyInHF: float (nullable = true)
 |    |    |    |    |-- mHadEnergyInHE: float (nullable = true)
 |    |    |    |    |-- mEmEnergyInEB: float (nullable = true)
 |    |    |    |    |-- mEmEnergyInEE: float (nullable = true)
 |    |    |    |    |-- mEmEnergyInHF: float (nullable = true)
 |    |    |    |    |-- mEnergyFractionHadronic: float (nullable = true)
 |    |    |    |    |-- mEnergyFractionEm: float (nullable = true)
 |    |    |    |    |-- mTowersArea: float (nullable = true)
 |-- recoCaloJets_kt6CaloJets__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloJets_kt6CaloJets__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::Jet: struct (nullable = true)
 |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |-- recoCaloJets_kt6CaloJets__RECO_obj_dau: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |-- mJetArea: float (nullable = true)
 |    |    |    |    |-- mPileupEnergy: float (nullable = true)
 |    |    |    |    |-- mPassNumber: integer (nullable = true)
 |    |    |    |-- m_specific: struct (nullable = true)
 |    |    |    |    |-- mMaxEInEmTowers: float (nullable = true)
 |    |    |    |    |-- mMaxEInHadTowers: float (nullable = true)
 |    |    |    |    |-- mHadEnergyInHO: float (nullable = true)
 |    |    |    |    |-- mHadEnergyInHB: float (nullable = true)
 |    |    |    |    |-- mHadEnergyInHF: float (nullable = true)
 |    |    |    |    |-- mHadEnergyInHE: float (nullable = true)
 |    |    |    |    |-- mEmEnergyInEB: float (nullable = true)
 |    |    |    |    |-- mEmEnergyInEE: float (nullable = true)
 |    |    |    |    |-- mEmEnergyInHF: float (nullable = true)
 |    |    |    |    |-- mEnergyFractionHadronic: float (nullable = true)
 |    |    |    |    |-- mEnergyFractionEm: float (nullable = true)
 |    |    |    |    |-- mTowersArea: float (nullable = true)
 |-- recoCaloMETs_corMetGlobalMuons__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloMETs_corMetGlobalMuons__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::MET: struct (nullable = true)
 |    |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |-- elongit: double (nullable = true)
 |    |    |    |    |-- signif_dxx: double (nullable = true)
 |    |    |    |    |-- signif_dyy: double (nullable = true)
 |    |    |    |    |-- signif_dyx: double (nullable = true)
 |    |    |    |    |-- signif_dxy: double (nullable = true)
 |    |    |    |    |-- recoCaloMETs_corMetGlobalMuons__RECO_obj_corr: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- mex: double (nullable = true)
 |    |    |    |    |    |    |-- mey: double (nullable = true)
 |    |    |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |    |    |-- significance: double (nullable = true)
 |    |    |    |-- calo_data: struct (nullable = true)
 |    |    |    |    |-- MaxEtInEmTowers: double (nullable = true)
 |    |    |    |    |-- MaxEtInHadTowers: double (nullable = true)
 |    |    |    |    |-- HadEtInHO: double (nullable = true)
 |    |    |    |    |-- HadEtInHB: double (nullable = true)
 |    |    |    |    |-- HadEtInHF: double (nullable = true)
 |    |    |    |    |-- HadEtInHE: double (nullable = true)
 |    |    |    |    |-- EmEtInEB: double (nullable = true)
 |    |    |    |    |-- EmEtInEE: double (nullable = true)
 |    |    |    |    |-- EmEtInHF: double (nullable = true)
 |    |    |    |    |-- EtFractionHadronic: double (nullable = true)
 |    |    |    |    |-- EtFractionEm: double (nullable = true)
 |    |    |    |    |-- METSignificance: double (nullable = true)
 |    |    |    |    |-- CaloMETInpHF: double (nullable = true)
 |    |    |    |    |-- CaloMETInmHF: double (nullable = true)
 |    |    |    |    |-- CaloSETInpHF: double (nullable = true)
 |    |    |    |    |-- CaloSETInmHF: double (nullable = true)
 |    |    |    |    |-- CaloMETPhiInpHF: double (nullable = true)
 |    |    |    |    |-- CaloMETPhiInmHF: double (nullable = true)
 |-- recoCaloMETs_met__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloMETs_met__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::MET: struct (nullable = true)
 |    |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |-- elongit: double (nullable = true)
 |    |    |    |    |-- signif_dxx: double (nullable = true)
 |    |    |    |    |-- signif_dyy: double (nullable = true)
 |    |    |    |    |-- signif_dyx: double (nullable = true)
 |    |    |    |    |-- signif_dxy: double (nullable = true)
 |    |    |    |    |-- recoCaloMETs_met__RECO_obj_corr: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- mex: double (nullable = true)
 |    |    |    |    |    |    |-- mey: double (nullable = true)
 |    |    |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |    |    |-- significance: double (nullable = true)
 |    |    |    |-- calo_data: struct (nullable = true)
 |    |    |    |    |-- MaxEtInEmTowers: double (nullable = true)
 |    |    |    |    |-- MaxEtInHadTowers: double (nullable = true)
 |    |    |    |    |-- HadEtInHO: double (nullable = true)
 |    |    |    |    |-- HadEtInHB: double (nullable = true)
 |    |    |    |    |-- HadEtInHF: double (nullable = true)
 |    |    |    |    |-- HadEtInHE: double (nullable = true)
 |    |    |    |    |-- EmEtInEB: double (nullable = true)
 |    |    |    |    |-- EmEtInEE: double (nullable = true)
 |    |    |    |    |-- EmEtInHF: double (nullable = true)
 |    |    |    |    |-- EtFractionHadronic: double (nullable = true)
 |    |    |    |    |-- EtFractionEm: double (nullable = true)
 |    |    |    |    |-- METSignificance: double (nullable = true)
 |    |    |    |    |-- CaloMETInpHF: double (nullable = true)
 |    |    |    |    |-- CaloMETInmHF: double (nullable = true)
 |    |    |    |    |-- CaloSETInpHF: double (nullable = true)
 |    |    |    |    |-- CaloSETInmHF: double (nullable = true)
 |    |    |    |    |-- CaloMETPhiInpHF: double (nullable = true)
 |    |    |    |    |-- CaloMETPhiInmHF: double (nullable = true)
 |-- recoCaloMETs_metHO__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloMETs_metHO__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::MET: struct (nullable = true)
 |    |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |-- elongit: double (nullable = true)
 |    |    |    |    |-- signif_dxx: double (nullable = true)
 |    |    |    |    |-- signif_dyy: double (nullable = true)
 |    |    |    |    |-- signif_dyx: double (nullable = true)
 |    |    |    |    |-- signif_dxy: double (nullable = true)
 |    |    |    |    |-- recoCaloMETs_metHO__RECO_obj_corr: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- mex: double (nullable = true)
 |    |    |    |    |    |    |-- mey: double (nullable = true)
 |    |    |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |    |    |-- significance: double (nullable = true)
 |    |    |    |-- calo_data: struct (nullable = true)
 |    |    |    |    |-- MaxEtInEmTowers: double (nullable = true)
 |    |    |    |    |-- MaxEtInHadTowers: double (nullable = true)
 |    |    |    |    |-- HadEtInHO: double (nullable = true)
 |    |    |    |    |-- HadEtInHB: double (nullable = true)
 |    |    |    |    |-- HadEtInHF: double (nullable = true)
 |    |    |    |    |-- HadEtInHE: double (nullable = true)
 |    |    |    |    |-- EmEtInEB: double (nullable = true)
 |    |    |    |    |-- EmEtInEE: double (nullable = true)
 |    |    |    |    |-- EmEtInHF: double (nullable = true)
 |    |    |    |    |-- EtFractionHadronic: double (nullable = true)
 |    |    |    |    |-- EtFractionEm: double (nullable = true)
 |    |    |    |    |-- METSignificance: double (nullable = true)
 |    |    |    |    |-- CaloMETInpHF: double (nullable = true)
 |    |    |    |    |-- CaloMETInmHF: double (nullable = true)
 |    |    |    |    |-- CaloSETInpHF: double (nullable = true)
 |    |    |    |    |-- CaloSETInmHF: double (nullable = true)
 |    |    |    |    |-- CaloMETPhiInpHF: double (nullable = true)
 |    |    |    |    |-- CaloMETPhiInmHF: double (nullable = true)
 |-- recoCaloMETs_metNoHF__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloMETs_metNoHF__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::MET: struct (nullable = true)
 |    |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |-- elongit: double (nullable = true)
 |    |    |    |    |-- signif_dxx: double (nullable = true)
 |    |    |    |    |-- signif_dyy: double (nullable = true)
 |    |    |    |    |-- signif_dyx: double (nullable = true)
 |    |    |    |    |-- signif_dxy: double (nullable = true)
 |    |    |    |    |-- recoCaloMETs_metNoHF__RECO_obj_corr: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- mex: double (nullable = true)
 |    |    |    |    |    |    |-- mey: double (nullable = true)
 |    |    |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |    |    |-- significance: double (nullable = true)
 |    |    |    |-- calo_data: struct (nullable = true)
 |    |    |    |    |-- MaxEtInEmTowers: double (nullable = true)
 |    |    |    |    |-- MaxEtInHadTowers: double (nullable = true)
 |    |    |    |    |-- HadEtInHO: double (nullable = true)
 |    |    |    |    |-- HadEtInHB: double (nullable = true)
 |    |    |    |    |-- HadEtInHF: double (nullable = true)
 |    |    |    |    |-- HadEtInHE: double (nullable = true)
 |    |    |    |    |-- EmEtInEB: double (nullable = true)
 |    |    |    |    |-- EmEtInEE: double (nullable = true)
 |    |    |    |    |-- EmEtInHF: double (nullable = true)
 |    |    |    |    |-- EtFractionHadronic: double (nullable = true)
 |    |    |    |    |-- EtFractionEm: double (nullable = true)
 |    |    |    |    |-- METSignificance: double (nullable = true)
 |    |    |    |    |-- CaloMETInpHF: double (nullable = true)
 |    |    |    |    |-- CaloMETInmHF: double (nullable = true)
 |    |    |    |    |-- CaloSETInpHF: double (nullable = true)
 |    |    |    |    |-- CaloSETInmHF: double (nullable = true)
 |    |    |    |    |-- CaloMETPhiInpHF: double (nullable = true)
 |    |    |    |    |-- CaloMETPhiInmHF: double (nullable = true)
 |-- recoCaloTaus_caloRecoTauProducer__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloTaus_caloRecoTauProducer__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::BaseTau: struct (nullable = true)
 |    |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- alternatLorentzVect_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |    |    |-- fT: double (nullable = true)
 |    |    |    |    |-- leadTrack_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |-- signalTracks_: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoCaloTaus_caloRecoTauProducer__RECO_obj_signalTracks__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- isolationTracks_: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoCaloTaus_caloRecoTauProducer__RECO_obj_isolationTracks__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- CaloTauTagInfoRef_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- leadTracksignedSipt_: float (nullable = true)
 |    |    |    |-- leadTrackHCAL3x3hitsEtSum_: float (nullable = true)
 |    |    |    |-- leadTrackHCAL3x3hottesthitDEta_: float (nullable = true)
 |    |    |    |-- signalTracksInvariantMass_: float (nullable = true)
 |    |    |    |-- TracksInvariantMass_: float (nullable = true)
 |    |    |    |-- isolationTracksPtSum_: float (nullable = true)
 |    |    |    |-- isolationECALhitsEtSum_: float (nullable = true)
 |    |    |    |-- maximumHCALhitEt_: float (nullable = true)
 |-- recoCaloTauTagInfos_caloRecoTauTagInfoProducer__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCaloTauTagInfos_caloRecoTauTagInfoProducer__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::BaseTauTagInfo: struct (nullable = true)
 |    |    |    |    |-- Tracks_: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoCaloTauTagInfos_caloRecoTauTagInfoProducer__RECO_obj_Tracks__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- CaloJetRef_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- recoCaloTauTagInfos_caloRecoTauTagInfoProducer__RECO_obj_positionAndEnergyECALRecHits_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- : struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |    |-- : float (nullable = true)
 |    |    |    |-- recoCaloTauTagInfos_caloRecoTauTagInfoProducer__RECO_obj_neutralECALBasicClusters_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- JetRef_: struct (nullable = true)
 |    |    |    |    |-- holder_: struct (nullable = true)
 |-- recoCastorTowers_CastorTowerReco__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoCastorTowers_CastorTowerReco__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- emEnergy_: double (nullable = true)
 |    |    |    |-- hadEnergy_: double (nullable = true)
 |    |    |    |-- fem_: double (nullable = true)
 |    |    |    |-- depth_: double (nullable = true)
 |    |    |    |-- fhot_: double (nullable = true)
 |    |    |    |-- usedRecHits_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoCastorTowers_CastorTowerReco__RECO_obj_usedRecHits__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |-- recoConversions_allConversions__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoConversions_allConversions__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- caloCluster_: struct (nullable = true)
 |    |    |    |    |-- edm::PtrVectorBase: struct (nullable = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoConversions_allConversions__RECO_obj_caloCluster__indicies_: array (nullable = true)
 |    |    |    |    |    |    |-- element: long (containsNull = true)
 |    |    |    |-- recoConversions_allConversions__RECO_obj_tracks_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- recoConversions_allConversions__RECO_obj_trackToBaseRefs_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- holder_: struct (nullable = true)
 |    |    |    |-- recoConversions_allConversions__RECO_obj_thePositionAtEcal_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- theConversionVertex_: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- recoConversions_allConversions__RECO_obj_theConversionVertex__tracks_: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- holder_: struct (nullable = true)
 |    |    |    |    |-- recoConversions_allConversions__RECO_obj_theConversionVertex__refittedTracks_: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |-- recoConversions_allConversions__RECO_obj_theConversionVertex__weights_: array (nullable = true)
 |    |    |    |    |    |-- element: byte (containsNull = true)
 |    |    |    |    |-- validity_: boolean (nullable = true)
 |    |    |    |-- recoConversions_allConversions__RECO_obj_theMatchingBCs_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- theMinDistOfApproach_: float (nullable = true)
 |    |    |    |-- recoConversions_allConversions__RECO_obj_theTrackInnerPosition_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- recoConversions_allConversions__RECO_obj_theTrackPin_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- recoConversions_allConversions__RECO_obj_theTrackPout_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- recoConversions_allConversions__RECO_obj_nHitsBeforeVtx_: array (nullable = true)
 |    |    |    |    |-- element: byte (containsNull = true)
 |    |    |    |-- recoConversions_allConversions__RECO_obj_dlClosestHitToVtx_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- theValue: float (nullable = true)
 |    |    |    |    |    |-- theError: float (nullable = true)
 |    |    |    |-- nSharedHits_: byte (nullable = true)
 |    |    |    |-- theMVAout_: float (nullable = true)
 |    |    |    |-- recoConversions_allConversions__RECO_obj_theOneLegMVA_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |-- qualityMask_: short (nullable = true)
 |-- recoConversions_conversions__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoConversions_conversions__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- caloCluster_: struct (nullable = true)
 |    |    |    |    |-- edm::PtrVectorBase: struct (nullable = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoConversions_conversions__RECO_obj_caloCluster__indicies_: array (nullable = true)
 |    |    |    |    |    |    |-- element: long (containsNull = true)
 |    |    |    |-- recoConversions_conversions__RECO_obj_tracks_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- recoConversions_conversions__RECO_obj_trackToBaseRefs_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- holder_: struct (nullable = true)
 |    |    |    |-- recoConversions_conversions__RECO_obj_thePositionAtEcal_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- theConversionVertex_: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- recoConversions_conversions__RECO_obj_theConversionVertex__tracks_: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- holder_: struct (nullable = true)
 |    |    |    |    |-- recoConversions_conversions__RECO_obj_theConversionVertex__refittedTracks_: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |-- recoConversions_conversions__RECO_obj_theConversionVertex__weights_: array (nullable = true)
 |    |    |    |    |    |-- element: byte (containsNull = true)
 |    |    |    |    |-- validity_: boolean (nullable = true)
 |    |    |    |-- recoConversions_conversions__RECO_obj_theMatchingBCs_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- theMinDistOfApproach_: float (nullable = true)
 |    |    |    |-- recoConversions_conversions__RECO_obj_theTrackInnerPosition_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- recoConversions_conversions__RECO_obj_theTrackPin_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- recoConversions_conversions__RECO_obj_theTrackPout_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- recoConversions_conversions__RECO_obj_nHitsBeforeVtx_: array (nullable = true)
 |    |    |    |    |-- element: byte (containsNull = true)
 |    |    |    |-- recoConversions_conversions__RECO_obj_dlClosestHitToVtx_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- theValue: float (nullable = true)
 |    |    |    |    |    |-- theError: float (nullable = true)
 |    |    |    |-- nSharedHits_: byte (nullable = true)
 |    |    |    |-- theMVAout_: float (nullable = true)
 |    |    |    |-- recoConversions_conversions__RECO_obj_theOneLegMVA_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |-- qualityMask_: short (nullable = true)
 |-- recoGsfElectrons_gsfElectrons__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoGsfElectrons_gsfElectrons__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- chargeInfo_: struct (nullable = true)
 |    |    |    |    |-- scPixCharge: integer (nullable = true)
 |    |    |    |    |-- isGsfCtfScPixConsistent: boolean (nullable = true)
 |    |    |    |    |-- isGsfScPixConsistent: boolean (nullable = true)
 |    |    |    |    |-- isGsfCtfConsistent: boolean (nullable = true)
 |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- trackClusterMatching_: struct (nullable = true)
 |    |    |    |    |-- electronCluster: struct (nullable = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |-- eSuperClusterOverP: float (nullable = true)
 |    |    |    |    |-- eSeedClusterOverP: float (nullable = true)
 |    |    |    |    |-- eSeedClusterOverPout: float (nullable = true)
 |    |    |    |    |-- eEleClusterOverPout: float (nullable = true)
 |    |    |    |    |-- deltaEtaSuperClusterAtVtx: float (nullable = true)
 |    |    |    |    |-- deltaEtaSeedClusterAtCalo: float (nullable = true)
 |    |    |    |    |-- deltaEtaEleClusterAtCalo: float (nullable = true)
 |    |    |    |    |-- deltaPhiEleClusterAtCalo: float (nullable = true)
 |    |    |    |    |-- deltaPhiSuperClusterAtVtx: float (nullable = true)
 |    |    |    |    |-- deltaPhiSeedClusterAtCalo: float (nullable = true)
 |    |    |    |-- trackExtrapolations_: struct (nullable = true)
 |    |    |    |    |-- positionAtVtx: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- positionAtCalo: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentumAtVtx: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentumAtCalo: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentumOut: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentumAtEleClus: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentumAtVtxWithConstraint: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- fiducialFlags_: struct (nullable = true)
 |    |    |    |    |-- isEB: boolean (nullable = true)
 |    |    |    |    |-- isEE: boolean (nullable = true)
 |    |    |    |    |-- isEBEEGap: boolean (nullable = true)
 |    |    |    |    |-- isEBEtaGap: boolean (nullable = true)
 |    |    |    |    |-- isEBPhiGap: boolean (nullable = true)
 |    |    |    |    |-- isEEDeeGap: boolean (nullable = true)
 |    |    |    |    |-- isEERingGap: boolean (nullable = true)
 |    |    |    |-- showerShape_: struct (nullable = true)
 |    |    |    |    |-- sigmaEtaEta: float (nullable = true)
 |    |    |    |    |-- sigmaIetaIeta: float (nullable = true)
 |    |    |    |    |-- e1x5: float (nullable = true)
 |    |    |    |    |-- e2x5Max: float (nullable = true)
 |    |    |    |    |-- e5x5: float (nullable = true)
 |    |    |    |    |-- hcalDepth1OverEcal: float (nullable = true)
 |    |    |    |    |-- hcalDepth2OverEcal: float (nullable = true)
 |    |    |    |-- dr03_: struct (nullable = true)
 |    |    |    |    |-- tkSumPt: float (nullable = true)
 |    |    |    |    |-- ecalRecHitSumEt: float (nullable = true)
 |    |    |    |    |-- hcalDepth1TowerSumEt: float (nullable = true)
 |    |    |    |    |-- hcalDepth2TowerSumEt: float (nullable = true)
 |    |    |    |-- dr04_: struct (nullable = true)
 |    |    |    |    |-- tkSumPt: float (nullable = true)
 |    |    |    |    |-- ecalRecHitSumEt: float (nullable = true)
 |    |    |    |    |-- hcalDepth1TowerSumEt: float (nullable = true)
 |    |    |    |    |-- hcalDepth2TowerSumEt: float (nullable = true)
 |    |    |    |-- conversionRejection_: struct (nullable = true)
 |    |    |    |    |-- flags: integer (nullable = true)
 |    |    |    |    |-- partner: struct (nullable = true)
 |    |    |    |    |    |-- holder_: struct (nullable = true)
 |    |    |    |    |-- dist: float (nullable = true)
 |    |    |    |    |-- dcot: float (nullable = true)
 |    |    |    |    |-- radius: float (nullable = true)
 |    |    |    |-- pfShowerShape_: struct (nullable = true)
 |    |    |    |    |-- sigmaEtaEta: float (nullable = true)
 |    |    |    |    |-- sigmaIetaIeta: float (nullable = true)
 |    |    |    |    |-- e1x5: float (nullable = true)
 |    |    |    |    |-- e2x5Max: float (nullable = true)
 |    |    |    |    |-- e5x5: float (nullable = true)
 |    |    |    |    |-- hcalDepth1OverEcal: float (nullable = true)
 |    |    |    |    |-- hcalDepth2OverEcal: float (nullable = true)
 |    |    |    |-- pfIso_: struct (nullable = true)
 |    |    |    |    |-- chargedHadronIso: float (nullable = true)
 |    |    |    |    |-- neutralHadronIso: float (nullable = true)
 |    |    |    |    |-- photonIso: float (nullable = true)
 |    |    |    |-- mvaInput_: struct (nullable = true)
 |    |    |    |    |-- earlyBrem: integer (nullable = true)
 |    |    |    |    |-- lateBrem: integer (nullable = true)
 |    |    |    |    |-- sigmaEtaEta: float (nullable = true)
 |    |    |    |    |-- hadEnergy: float (nullable = true)
 |    |    |    |    |-- deltaEta: float (nullable = true)
 |    |    |    |-- mvaOutput_: struct (nullable = true)
 |    |    |    |    |-- status: integer (nullable = true)
 |    |    |    |    |-- mva: float (nullable = true)
 |    |    |    |-- passCutBasedPreselection_: boolean (nullable = true)
 |    |    |    |-- passMvaPreslection_: boolean (nullable = true)
 |    |    |    |-- ambiguous_: boolean (nullable = true)
 |    |    |    |-- ambiguousGsfTracks_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoGsfElectrons_gsfElectrons__RECO_obj_ambiguousGsfTracks__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- fbrem_: float (nullable = true)
 |    |    |    |-- class_: integer (nullable = true)
 |    |    |    |-- corrections_: struct (nullable = true)
 |    |    |    |    |-- isEcalEnergyCorrected: boolean (nullable = true)
 |    |    |    |    |-- ecalEnergy: float (nullable = true)
 |    |    |    |    |-- ecalEnergyError: float (nullable = true)
 |    |    |    |    |-- trackMomentumError: float (nullable = true)
 |    |    |    |    |-- fromSuperClusterP4: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |    |    |-- fT: double (nullable = true)
 |    |    |    |    |-- fromSuperClusterP4Error: float (nullable = true)
 |    |    |    |    |-- combinedP4: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |    |    |-- fT: double (nullable = true)
 |    |    |    |    |-- combinedP4Error: float (nullable = true)
 |    |    |    |    |-- pflowP4: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |    |    |-- fT: double (nullable = true)
 |    |    |    |    |-- pflowP4Error: float (nullable = true)
 |    |    |    |    |-- candidateP4Kind: integer (nullable = true)
 |-- recoGsfElectronCores_gsfElectronCores__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoGsfElectronCores_gsfElectronCores__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- gsfTrack_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- superCluster_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- pflowSuperCluster_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- closestCtfTrack_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- ctfGsfOverlap_: float (nullable = true)
 |    |    |    |-- isEcalDrivenSeed_: boolean (nullable = true)
 |    |    |    |-- isTrackerDrivenSeed_: boolean (nullable = true)
 |-- recoGsfTracks_electronGsfTracks__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoGsfTracks_electronGsfTracks__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::Track: struct (nullable = true)
 |    |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- gsfExtra_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- chargeMode_: byte (nullable = true)
 |    |    |    |-- momentumMode_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- covarianceMode_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |-- recoHFEMClusterShapes_hfEMClusters__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoHFEMClusterShapes_hfEMClusters__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- eLong1x1_: double (nullable = true)
 |    |    |    |-- eShort1x1_: double (nullable = true)
 |    |    |    |-- eLong3x3_: double (nullable = true)
 |    |    |    |-- eShort3x3_: double (nullable = true)
 |    |    |    |-- eLong5x5_: double (nullable = true)
 |    |    |    |-- eShort5x5_: double (nullable = true)
 |    |    |    |-- eLongCore_: double (nullable = true)
 |    |    |    |-- CellEta_: double (nullable = true)
 |    |    |    |-- CellPhi_: double (nullable = true)
 |    |    |    |-- seed_: struct (nullable = true)
 |    |    |    |    |-- id_: integer (nullable = true)
 |-- recoJPTJets_JetPlusTrackZSPCorJetAntiKt5__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJPTJets_JetPlusTrackZSPCorJetAntiKt5__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::Jet: struct (nullable = true)
 |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |-- recoJPTJets_JetPlusTrackZSPCorJetAntiKt5__RECO_obj_dau: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |-- mJetArea: float (nullable = true)
 |    |    |    |    |-- mPileupEnergy: float (nullable = true)
 |    |    |    |    |-- mPassNumber: integer (nullable = true)
 |    |    |    |-- mspecific: struct (nullable = true)
 |    |    |    |    |-- mZSPCor: float (nullable = true)
 |    |    |    |    |-- theCaloJetRef: struct (nullable = true)
 |    |    |    |    |    |-- holder_: struct (nullable = true)
 |    |    |    |    |-- pionsInVertexInCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_JetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_pionsInVertexInCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- pionsInVertexOutCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_JetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_pionsInVertexOutCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- pionsOutVertexInCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_JetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_pionsOutVertexInCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- muonsInVertexInCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_JetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_muonsInVertexInCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- muonsInVertexOutCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_JetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_muonsInVertexOutCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- muonsOutVertexInCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_JetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_muonsOutVertexInCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- elecsInVertexInCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_JetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_elecsInVertexInCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- elecsInVertexOutCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_JetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_elecsInVertexOutCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- elecsOutVertexInCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_JetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_elecsOutVertexInCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- mChargedHadronEnergy: float (nullable = true)
 |    |    |    |    |-- mNeutralHadronEnergy: float (nullable = true)
 |    |    |    |    |-- mChargedEmEnergy: float (nullable = true)
 |    |    |    |    |-- mNeutralEmEnergy: float (nullable = true)
 |    |    |    |    |-- mResponseOfChargedWithEff: float (nullable = true)
 |    |    |    |    |-- mResponseOfChargedWithoutEff: float (nullable = true)
 |    |    |    |    |-- mSumPtOfChargedWithEff: float (nullable = true)
 |    |    |    |    |-- mSumPtOfChargedWithoutEff: float (nullable = true)
 |    |    |    |    |-- mSumEnergyOfChargedWithEff: float (nullable = true)
 |    |    |    |    |-- mSumEnergyOfChargedWithoutEff: float (nullable = true)
 |    |    |    |    |-- R2momtr: float (nullable = true)
 |    |    |    |    |-- Eta2momtr: float (nullable = true)
 |    |    |    |    |-- Phi2momtr: float (nullable = true)
 |    |    |    |    |-- Pout: float (nullable = true)
 |    |    |    |    |-- Zch: float (nullable = true)
 |-- recoJPTJets_TCTauJetPlusTrackZSPCorJetAntiKt5__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoJPTJets_TCTauJetPlusTrackZSPCorJetAntiKt5__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::Jet: struct (nullable = true)
 |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |-- recoJPTJets_TCTauJetPlusTrackZSPCorJetAntiKt5__RECO_obj_dau: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |-- mJetArea: float (nullable = true)
 |    |    |    |    |-- mPileupEnergy: float (nullable = true)
 |    |    |    |    |-- mPassNumber: integer (nullable = true)
 |    |    |    |-- mspecific: struct (nullable = true)
 |    |    |    |    |-- mZSPCor: float (nullable = true)
 |    |    |    |    |-- theCaloJetRef: struct (nullable = true)
 |    |    |    |    |    |-- holder_: struct (nullable = true)
 |    |    |    |    |-- pionsInVertexInCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_TCTauJetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_pionsInVertexInCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- pionsInVertexOutCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_TCTauJetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_pionsInVertexOutCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- pionsOutVertexInCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_TCTauJetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_pionsOutVertexInCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- muonsInVertexInCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_TCTauJetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_muonsInVertexInCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- muonsInVertexOutCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_TCTauJetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_muonsInVertexOutCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- muonsOutVertexInCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_TCTauJetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_muonsOutVertexInCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- elecsInVertexInCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_TCTauJetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_elecsInVertexInCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- elecsInVertexOutCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_TCTauJetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_elecsInVertexOutCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- elecsOutVertexInCalo: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoJPTJets_TCTauJetPlusTrackZSPCorJetAntiKt5__RECO_obj_mspecific_elecsOutVertexInCalo_refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- mChargedHadronEnergy: float (nullable = true)
 |    |    |    |    |-- mNeutralHadronEnergy: float (nullable = true)
 |    |    |    |    |-- mChargedEmEnergy: float (nullable = true)
 |    |    |    |    |-- mNeutralEmEnergy: float (nullable = true)
 |    |    |    |    |-- mResponseOfChargedWithEff: float (nullable = true)
 |    |    |    |    |-- mResponseOfChargedWithoutEff: float (nullable = true)
 |    |    |    |    |-- mSumPtOfChargedWithEff: float (nullable = true)
 |    |    |    |    |-- mSumPtOfChargedWithoutEff: float (nullable = true)
 |    |    |    |    |-- mSumEnergyOfChargedWithEff: float (nullable = true)
 |    |    |    |    |-- mSumEnergyOfChargedWithoutEff: float (nullable = true)
 |    |    |    |    |-- R2momtr: float (nullable = true)
 |    |    |    |    |-- Eta2momtr: float (nullable = true)
 |    |    |    |    |-- Phi2momtr: float (nullable = true)
 |    |    |    |    |-- Pout: float (nullable = true)
 |    |    |    |    |-- Zch: float (nullable = true)
 |-- recoMETs_htMetAK5__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMETs_htMetAK5__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |-- elongit: double (nullable = true)
 |    |    |    |-- signif_dxx: double (nullable = true)
 |    |    |    |-- signif_dyy: double (nullable = true)
 |    |    |    |-- signif_dyx: double (nullable = true)
 |    |    |    |-- signif_dxy: double (nullable = true)
 |    |    |    |-- recoMETs_htMetAK5__RECO_obj_corr: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- mex: double (nullable = true)
 |    |    |    |    |    |-- mey: double (nullable = true)
 |    |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |    |-- significance: double (nullable = true)
 |-- recoMETs_htMetAK7__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMETs_htMetAK7__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |-- elongit: double (nullable = true)
 |    |    |    |-- signif_dxx: double (nullable = true)
 |    |    |    |-- signif_dyy: double (nullable = true)
 |    |    |    |-- signif_dyx: double (nullable = true)
 |    |    |    |-- signif_dxy: double (nullable = true)
 |    |    |    |-- recoMETs_htMetAK7__RECO_obj_corr: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- mex: double (nullable = true)
 |    |    |    |    |    |-- mey: double (nullable = true)
 |    |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |    |-- significance: double (nullable = true)
 |-- recoMETs_htMetIC5__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMETs_htMetIC5__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |-- elongit: double (nullable = true)
 |    |    |    |-- signif_dxx: double (nullable = true)
 |    |    |    |-- signif_dyy: double (nullable = true)
 |    |    |    |-- signif_dyx: double (nullable = true)
 |    |    |    |-- signif_dxy: double (nullable = true)
 |    |    |    |-- recoMETs_htMetIC5__RECO_obj_corr: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- mex: double (nullable = true)
 |    |    |    |    |    |-- mey: double (nullable = true)
 |    |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |    |-- significance: double (nullable = true)
 |-- recoMETs_htMetKT4__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMETs_htMetKT4__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |-- elongit: double (nullable = true)
 |    |    |    |-- signif_dxx: double (nullable = true)
 |    |    |    |-- signif_dyy: double (nullable = true)
 |    |    |    |-- signif_dyx: double (nullable = true)
 |    |    |    |-- signif_dxy: double (nullable = true)
 |    |    |    |-- recoMETs_htMetKT4__RECO_obj_corr: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- mex: double (nullable = true)
 |    |    |    |    |    |-- mey: double (nullable = true)
 |    |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |    |-- significance: double (nullable = true)
 |-- recoMETs_htMetKT6__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMETs_htMetKT6__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |-- elongit: double (nullable = true)
 |    |    |    |-- signif_dxx: double (nullable = true)
 |    |    |    |-- signif_dyy: double (nullable = true)
 |    |    |    |-- signif_dyx: double (nullable = true)
 |    |    |    |-- signif_dxy: double (nullable = true)
 |    |    |    |-- recoMETs_htMetKT6__RECO_obj_corr: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- mex: double (nullable = true)
 |    |    |    |    |    |-- mey: double (nullable = true)
 |    |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |    |-- significance: double (nullable = true)
 |-- recoMETs_tcMet__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMETs_tcMet__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |-- elongit: double (nullable = true)
 |    |    |    |-- signif_dxx: double (nullable = true)
 |    |    |    |-- signif_dyy: double (nullable = true)
 |    |    |    |-- signif_dyx: double (nullable = true)
 |    |    |    |-- signif_dxy: double (nullable = true)
 |    |    |    |-- recoMETs_tcMet__RECO_obj_corr: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- mex: double (nullable = true)
 |    |    |    |    |    |-- mey: double (nullable = true)
 |    |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |    |-- significance: double (nullable = true)
 |-- recoMETs_tcMetWithPFclusters__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMETs_tcMetWithPFclusters__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |-- elongit: double (nullable = true)
 |    |    |    |-- signif_dxx: double (nullable = true)
 |    |    |    |-- signif_dyy: double (nullable = true)
 |    |    |    |-- signif_dyx: double (nullable = true)
 |    |    |    |-- signif_dxy: double (nullable = true)
 |    |    |    |-- recoMETs_tcMetWithPFclusters__RECO_obj_corr: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- mex: double (nullable = true)
 |    |    |    |    |    |-- mey: double (nullable = true)
 |    |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |    |-- significance: double (nullable = true)
 |-- recoMuons_muons__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMuons_muons__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- innerTrack_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- outerTrack_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- globalTrack_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- calEnergy_: struct (nullable = true)
 |    |    |    |    |-- tower: float (nullable = true)
 |    |    |    |    |-- towerS9: float (nullable = true)
 |    |    |    |    |-- em: float (nullable = true)
 |    |    |    |    |-- emS9: float (nullable = true)
 |    |    |    |    |-- emS25: float (nullable = true)
 |    |    |    |    |-- emMax: float (nullable = true)
 |    |    |    |    |-- had: float (nullable = true)
 |    |    |    |    |-- hadS9: float (nullable = true)
 |    |    |    |    |-- hadMax: float (nullable = true)
 |    |    |    |    |-- ho: float (nullable = true)
 |    |    |    |    |-- hoS9: float (nullable = true)
 |    |    |    |    |-- ecal_time: float (nullable = true)
 |    |    |    |    |-- ecal_timeError: float (nullable = true)
 |    |    |    |    |-- hcal_time: float (nullable = true)
 |    |    |    |    |-- hcal_timeError: float (nullable = true)
 |    |    |    |    |-- ecal_position: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- hcal_position: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- ecal_id: struct (nullable = true)
 |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |-- hcal_id: struct (nullable = true)
 |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |-- combinedQuality_: struct (nullable = true)
 |    |    |    |    |-- updatedSta: boolean (nullable = true)
 |    |    |    |    |-- trkKink: float (nullable = true)
 |    |    |    |    |-- glbKink: float (nullable = true)
 |    |    |    |    |-- trkRelChi2: float (nullable = true)
 |    |    |    |    |-- staRelChi2: float (nullable = true)
 |    |    |    |    |-- chi2LocalPosition: float (nullable = true)
 |    |    |    |    |-- chi2LocalMomentum: float (nullable = true)
 |    |    |    |    |-- localDistance: float (nullable = true)
 |    |    |    |    |-- globalDeltaEtaPhi: float (nullable = true)
 |    |    |    |    |-- tightMatch: boolean (nullable = true)
 |    |    |    |    |-- glbTrackProbability: float (nullable = true)
 |    |    |    |    |-- tkKink_position: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |-- glbKink_position: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoMuons_muons__RECO_obj_muMatches_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- segmentMatches: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- x: float (nullable = true)
 |    |    |    |    |    |    |    |-- y: float (nullable = true)
 |    |    |    |    |    |    |    |-- xErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- yErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- dXdZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- dYdZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- dXdZErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- dYdZErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- mask: integer (nullable = true)
 |    |    |    |    |    |    |    |-- hasZed_: boolean (nullable = true)
 |    |    |    |    |    |    |    |-- hasPhi_: boolean (nullable = true)
 |    |    |    |    |    |    |    |-- t0: float (nullable = true)
 |    |    |    |    |    |    |    |-- dtSegmentRef: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- cscSegmentRef: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |    |-- truthMatches: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- x: float (nullable = true)
 |    |    |    |    |    |    |    |-- y: float (nullable = true)
 |    |    |    |    |    |    |    |-- xErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- yErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- dXdZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- dYdZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- dXdZErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- dYdZErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- mask: integer (nullable = true)
 |    |    |    |    |    |    |    |-- hasZed_: boolean (nullable = true)
 |    |    |    |    |    |    |    |-- hasPhi_: boolean (nullable = true)
 |    |    |    |    |    |    |    |-- t0: float (nullable = true)
 |    |    |    |    |    |    |    |-- dtSegmentRef: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- cscSegmentRef: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |    |-- edgeX: float (nullable = true)
 |    |    |    |    |    |-- edgeY: float (nullable = true)
 |    |    |    |    |    |-- x: float (nullable = true)
 |    |    |    |    |    |-- y: float (nullable = true)
 |    |    |    |    |    |-- xErr: float (nullable = true)
 |    |    |    |    |    |-- yErr: float (nullable = true)
 |    |    |    |    |    |-- dXdZ: float (nullable = true)
 |    |    |    |    |    |-- dYdZ: float (nullable = true)
 |    |    |    |    |    |-- dXdZErr: float (nullable = true)
 |    |    |    |    |    |-- dYdZErr: float (nullable = true)
 |    |    |    |    |    |-- id: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |-- time_: struct (nullable = true)
 |    |    |    |    |-- nDof: integer (nullable = true)
 |    |    |    |    |-- timeAtIpInOut: float (nullable = true)
 |    |    |    |    |-- timeAtIpInOutErr: float (nullable = true)
 |    |    |    |    |-- timeAtIpOutIn: float (nullable = true)
 |    |    |    |    |-- timeAtIpOutInErr: float (nullable = true)
 |    |    |    |-- energyValid_: boolean (nullable = true)
 |    |    |    |-- matchesValid_: boolean (nullable = true)
 |    |    |    |-- isolationValid_: boolean (nullable = true)
 |    |    |    |-- qualityValid_: boolean (nullable = true)
 |    |    |    |-- caloCompatibility_: float (nullable = true)
 |    |    |    |-- isolationR03_: struct (nullable = true)
 |    |    |    |    |-- sumPt: float (nullable = true)
 |    |    |    |    |-- emEt: float (nullable = true)
 |    |    |    |    |-- hadEt: float (nullable = true)
 |    |    |    |    |-- hoEt: float (nullable = true)
 |    |    |    |    |-- nTracks: integer (nullable = true)
 |    |    |    |    |-- nJets: integer (nullable = true)
 |    |    |    |    |-- trackerVetoPt: float (nullable = true)
 |    |    |    |    |-- emVetoEt: float (nullable = true)
 |    |    |    |    |-- hadVetoEt: float (nullable = true)
 |    |    |    |    |-- hoVetoEt: float (nullable = true)
 |    |    |    |-- isolationR05_: struct (nullable = true)
 |    |    |    |    |-- sumPt: float (nullable = true)
 |    |    |    |    |-- emEt: float (nullable = true)
 |    |    |    |    |-- hadEt: float (nullable = true)
 |    |    |    |    |-- hoEt: float (nullable = true)
 |    |    |    |    |-- nTracks: integer (nullable = true)
 |    |    |    |    |-- nJets: integer (nullable = true)
 |    |    |    |    |-- trackerVetoPt: float (nullable = true)
 |    |    |    |    |-- emVetoEt: float (nullable = true)
 |    |    |    |    |-- hadVetoEt: float (nullable = true)
 |    |    |    |    |-- hoVetoEt: float (nullable = true)
 |    |    |    |-- type_: integer (nullable = true)
 |-- recoMuons_muonsFromCosmics__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMuons_muonsFromCosmics__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- innerTrack_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- outerTrack_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- globalTrack_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- calEnergy_: struct (nullable = true)
 |    |    |    |    |-- tower: float (nullable = true)
 |    |    |    |    |-- towerS9: float (nullable = true)
 |    |    |    |    |-- em: float (nullable = true)
 |    |    |    |    |-- emS9: float (nullable = true)
 |    |    |    |    |-- emS25: float (nullable = true)
 |    |    |    |    |-- emMax: float (nullable = true)
 |    |    |    |    |-- had: float (nullable = true)
 |    |    |    |    |-- hadS9: float (nullable = true)
 |    |    |    |    |-- hadMax: float (nullable = true)
 |    |    |    |    |-- ho: float (nullable = true)
 |    |    |    |    |-- hoS9: float (nullable = true)
 |    |    |    |    |-- ecal_time: float (nullable = true)
 |    |    |    |    |-- ecal_timeError: float (nullable = true)
 |    |    |    |    |-- hcal_time: float (nullable = true)
 |    |    |    |    |-- hcal_timeError: float (nullable = true)
 |    |    |    |    |-- ecal_position: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- hcal_position: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- ecal_id: struct (nullable = true)
 |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |-- hcal_id: struct (nullable = true)
 |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |-- combinedQuality_: struct (nullable = true)
 |    |    |    |    |-- updatedSta: boolean (nullable = true)
 |    |    |    |    |-- trkKink: float (nullable = true)
 |    |    |    |    |-- glbKink: float (nullable = true)
 |    |    |    |    |-- trkRelChi2: float (nullable = true)
 |    |    |    |    |-- staRelChi2: float (nullable = true)
 |    |    |    |    |-- chi2LocalPosition: float (nullable = true)
 |    |    |    |    |-- chi2LocalMomentum: float (nullable = true)
 |    |    |    |    |-- localDistance: float (nullable = true)
 |    |    |    |    |-- globalDeltaEtaPhi: float (nullable = true)
 |    |    |    |    |-- tightMatch: boolean (nullable = true)
 |    |    |    |    |-- glbTrackProbability: float (nullable = true)
 |    |    |    |    |-- tkKink_position: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |-- glbKink_position: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoMuons_muonsFromCosmics__RECO_obj_muMatches_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- segmentMatches: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- x: float (nullable = true)
 |    |    |    |    |    |    |    |-- y: float (nullable = true)
 |    |    |    |    |    |    |    |-- xErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- yErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- dXdZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- dYdZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- dXdZErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- dYdZErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- mask: integer (nullable = true)
 |    |    |    |    |    |    |    |-- hasZed_: boolean (nullable = true)
 |    |    |    |    |    |    |    |-- hasPhi_: boolean (nullable = true)
 |    |    |    |    |    |    |    |-- t0: float (nullable = true)
 |    |    |    |    |    |    |    |-- dtSegmentRef: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- cscSegmentRef: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |    |-- truthMatches: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- x: float (nullable = true)
 |    |    |    |    |    |    |    |-- y: float (nullable = true)
 |    |    |    |    |    |    |    |-- xErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- yErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- dXdZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- dYdZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- dXdZErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- dYdZErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- mask: integer (nullable = true)
 |    |    |    |    |    |    |    |-- hasZed_: boolean (nullable = true)
 |    |    |    |    |    |    |    |-- hasPhi_: boolean (nullable = true)
 |    |    |    |    |    |    |    |-- t0: float (nullable = true)
 |    |    |    |    |    |    |    |-- dtSegmentRef: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- cscSegmentRef: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |    |-- edgeX: float (nullable = true)
 |    |    |    |    |    |-- edgeY: float (nullable = true)
 |    |    |    |    |    |-- x: float (nullable = true)
 |    |    |    |    |    |-- y: float (nullable = true)
 |    |    |    |    |    |-- xErr: float (nullable = true)
 |    |    |    |    |    |-- yErr: float (nullable = true)
 |    |    |    |    |    |-- dXdZ: float (nullable = true)
 |    |    |    |    |    |-- dYdZ: float (nullable = true)
 |    |    |    |    |    |-- dXdZErr: float (nullable = true)
 |    |    |    |    |    |-- dYdZErr: float (nullable = true)
 |    |    |    |    |    |-- id: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |-- time_: struct (nullable = true)
 |    |    |    |    |-- nDof: integer (nullable = true)
 |    |    |    |    |-- timeAtIpInOut: float (nullable = true)
 |    |    |    |    |-- timeAtIpInOutErr: float (nullable = true)
 |    |    |    |    |-- timeAtIpOutIn: float (nullable = true)
 |    |    |    |    |-- timeAtIpOutInErr: float (nullable = true)
 |    |    |    |-- energyValid_: boolean (nullable = true)
 |    |    |    |-- matchesValid_: boolean (nullable = true)
 |    |    |    |-- isolationValid_: boolean (nullable = true)
 |    |    |    |-- qualityValid_: boolean (nullable = true)
 |    |    |    |-- caloCompatibility_: float (nullable = true)
 |    |    |    |-- isolationR03_: struct (nullable = true)
 |    |    |    |    |-- sumPt: float (nullable = true)
 |    |    |    |    |-- emEt: float (nullable = true)
 |    |    |    |    |-- hadEt: float (nullable = true)
 |    |    |    |    |-- hoEt: float (nullable = true)
 |    |    |    |    |-- nTracks: integer (nullable = true)
 |    |    |    |    |-- nJets: integer (nullable = true)
 |    |    |    |    |-- trackerVetoPt: float (nullable = true)
 |    |    |    |    |-- emVetoEt: float (nullable = true)
 |    |    |    |    |-- hadVetoEt: float (nullable = true)
 |    |    |    |    |-- hoVetoEt: float (nullable = true)
 |    |    |    |-- isolationR05_: struct (nullable = true)
 |    |    |    |    |-- sumPt: float (nullable = true)
 |    |    |    |    |-- emEt: float (nullable = true)
 |    |    |    |    |-- hadEt: float (nullable = true)
 |    |    |    |    |-- hoEt: float (nullable = true)
 |    |    |    |    |-- nTracks: integer (nullable = true)
 |    |    |    |    |-- nJets: integer (nullable = true)
 |    |    |    |    |-- trackerVetoPt: float (nullable = true)
 |    |    |    |    |-- emVetoEt: float (nullable = true)
 |    |    |    |    |-- hadVetoEt: float (nullable = true)
 |    |    |    |    |-- hoVetoEt: float (nullable = true)
 |    |    |    |-- type_: integer (nullable = true)
 |-- recoMuons_muonsFromCosmics1Leg__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoMuons_muonsFromCosmics1Leg__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- innerTrack_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- outerTrack_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- globalTrack_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- calEnergy_: struct (nullable = true)
 |    |    |    |    |-- tower: float (nullable = true)
 |    |    |    |    |-- towerS9: float (nullable = true)
 |    |    |    |    |-- em: float (nullable = true)
 |    |    |    |    |-- emS9: float (nullable = true)
 |    |    |    |    |-- emS25: float (nullable = true)
 |    |    |    |    |-- emMax: float (nullable = true)
 |    |    |    |    |-- had: float (nullable = true)
 |    |    |    |    |-- hadS9: float (nullable = true)
 |    |    |    |    |-- hadMax: float (nullable = true)
 |    |    |    |    |-- ho: float (nullable = true)
 |    |    |    |    |-- hoS9: float (nullable = true)
 |    |    |    |    |-- ecal_time: float (nullable = true)
 |    |    |    |    |-- ecal_timeError: float (nullable = true)
 |    |    |    |    |-- hcal_time: float (nullable = true)
 |    |    |    |    |-- hcal_timeError: float (nullable = true)
 |    |    |    |    |-- ecal_position: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- hcal_position: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- ecal_id: struct (nullable = true)
 |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |-- hcal_id: struct (nullable = true)
 |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |-- combinedQuality_: struct (nullable = true)
 |    |    |    |    |-- updatedSta: boolean (nullable = true)
 |    |    |    |    |-- trkKink: float (nullable = true)
 |    |    |    |    |-- glbKink: float (nullable = true)
 |    |    |    |    |-- trkRelChi2: float (nullable = true)
 |    |    |    |    |-- staRelChi2: float (nullable = true)
 |    |    |    |    |-- chi2LocalPosition: float (nullable = true)
 |    |    |    |    |-- chi2LocalMomentum: float (nullable = true)
 |    |    |    |    |-- localDistance: float (nullable = true)
 |    |    |    |    |-- globalDeltaEtaPhi: float (nullable = true)
 |    |    |    |    |-- tightMatch: boolean (nullable = true)
 |    |    |    |    |-- glbTrackProbability: float (nullable = true)
 |    |    |    |    |-- tkKink_position: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |-- glbKink_position: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoMuons_muonsFromCosmics1Leg__RECO_obj_muMatches_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- segmentMatches: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- x: float (nullable = true)
 |    |    |    |    |    |    |    |-- y: float (nullable = true)
 |    |    |    |    |    |    |    |-- xErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- yErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- dXdZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- dYdZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- dXdZErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- dYdZErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- mask: integer (nullable = true)
 |    |    |    |    |    |    |    |-- hasZed_: boolean (nullable = true)
 |    |    |    |    |    |    |    |-- hasPhi_: boolean (nullable = true)
 |    |    |    |    |    |    |    |-- t0: float (nullable = true)
 |    |    |    |    |    |    |    |-- dtSegmentRef: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- cscSegmentRef: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |    |-- truthMatches: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- x: float (nullable = true)
 |    |    |    |    |    |    |    |-- y: float (nullable = true)
 |    |    |    |    |    |    |    |-- xErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- yErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- dXdZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- dYdZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- dXdZErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- dYdZErr: float (nullable = true)
 |    |    |    |    |    |    |    |-- mask: integer (nullable = true)
 |    |    |    |    |    |    |    |-- hasZed_: boolean (nullable = true)
 |    |    |    |    |    |    |    |-- hasPhi_: boolean (nullable = true)
 |    |    |    |    |    |    |    |-- t0: float (nullable = true)
 |    |    |    |    |    |    |    |-- dtSegmentRef: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- cscSegmentRef: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |    |-- edgeX: float (nullable = true)
 |    |    |    |    |    |-- edgeY: float (nullable = true)
 |    |    |    |    |    |-- x: float (nullable = true)
 |    |    |    |    |    |-- y: float (nullable = true)
 |    |    |    |    |    |-- xErr: float (nullable = true)
 |    |    |    |    |    |-- yErr: float (nullable = true)
 |    |    |    |    |    |-- dXdZ: float (nullable = true)
 |    |    |    |    |    |-- dYdZ: float (nullable = true)
 |    |    |    |    |    |-- dXdZErr: float (nullable = true)
 |    |    |    |    |    |-- dYdZErr: float (nullable = true)
 |    |    |    |    |    |-- id: struct (nullable = true)
 |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |-- time_: struct (nullable = true)
 |    |    |    |    |-- nDof: integer (nullable = true)
 |    |    |    |    |-- timeAtIpInOut: float (nullable = true)
 |    |    |    |    |-- timeAtIpInOutErr: float (nullable = true)
 |    |    |    |    |-- timeAtIpOutIn: float (nullable = true)
 |    |    |    |    |-- timeAtIpOutInErr: float (nullable = true)
 |    |    |    |-- energyValid_: boolean (nullable = true)
 |    |    |    |-- matchesValid_: boolean (nullable = true)
 |    |    |    |-- isolationValid_: boolean (nullable = true)
 |    |    |    |-- qualityValid_: boolean (nullable = true)
 |    |    |    |-- caloCompatibility_: float (nullable = true)
 |    |    |    |-- isolationR03_: struct (nullable = true)
 |    |    |    |    |-- sumPt: float (nullable = true)
 |    |    |    |    |-- emEt: float (nullable = true)
 |    |    |    |    |-- hadEt: float (nullable = true)
 |    |    |    |    |-- hoEt: float (nullable = true)
 |    |    |    |    |-- nTracks: integer (nullable = true)
 |    |    |    |    |-- nJets: integer (nullable = true)
 |    |    |    |    |-- trackerVetoPt: float (nullable = true)
 |    |    |    |    |-- emVetoEt: float (nullable = true)
 |    |    |    |    |-- hadVetoEt: float (nullable = true)
 |    |    |    |    |-- hoVetoEt: float (nullable = true)
 |    |    |    |-- isolationR05_: struct (nullable = true)
 |    |    |    |    |-- sumPt: float (nullable = true)
 |    |    |    |    |-- emEt: float (nullable = true)
 |    |    |    |    |-- hadEt: float (nullable = true)
 |    |    |    |    |-- hoEt: float (nullable = true)
 |    |    |    |    |-- nTracks: integer (nullable = true)
 |    |    |    |    |-- nJets: integer (nullable = true)
 |    |    |    |    |-- trackerVetoPt: float (nullable = true)
 |    |    |    |    |-- emVetoEt: float (nullable = true)
 |    |    |    |    |-- hadVetoEt: float (nullable = true)
 |    |    |    |    |-- hoVetoEt: float (nullable = true)
 |    |    |    |-- type_: integer (nullable = true)
 |-- recoPFCandidates_particleFlow__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFCandidates_particleFlow__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CompositeCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- dau: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow__RECO_obj_dau_data_: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fixup_: struct (nullable = true)
 |    |    |    |    |-- name_: string (nullable = true)
 |    |    |    |    |-- recoPFCandidates_particleFlow__RECO_obj_roles_: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- blocksStorage_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow__RECO_obj_blocksStorage__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFCandidates_particleFlow__RECO_obj_elementsStorage_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- sourcePtr_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- ecalERatio_: float (nullable = true)
 |    |    |    |-- hcalERatio_: float (nullable = true)
 |    |    |    |-- rawEcalEnergy_: float (nullable = true)
 |    |    |    |-- rawHcalEnergy_: float (nullable = true)
 |    |    |    |-- ps1Energy_: float (nullable = true)
 |    |    |    |-- ps2Energy_: float (nullable = true)
 |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- deltaP_: float (nullable = true)
 |    |    |    |-- vertexType_: integer (nullable = true)
 |    |    |    |-- mva_e_pi_: float (nullable = true)
 |    |    |    |-- mva_e_mu_: float (nullable = true)
 |    |    |    |-- mva_pi_mu_: float (nullable = true)
 |    |    |    |-- mva_nothing_gamma_: float (nullable = true)
 |    |    |    |-- mva_nothing_nh_: float (nullable = true)
 |    |    |    |-- mva_gamma_nh_: float (nullable = true)
 |    |    |    |-- positionAtECALEntrance_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- storedRefsBitPattern_: short (nullable = true)
 |    |    |    |-- recoPFCandidates_particleFlow__RECO_obj_refsInfo_: array (nullable = true)
 |    |    |    |    |-- element: long (containsNull = true)
 |-- recoPFCandidates_particleFlow_AddedMuonsAndHadrons_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFCandidates_particleFlow_AddedMuonsAndHadrons_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CompositeCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- dau: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow_AddedMuonsAndHadrons_RECO_obj_dau_data_: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fixup_: struct (nullable = true)
 |    |    |    |    |-- name_: string (nullable = true)
 |    |    |    |    |-- recoPFCandidates_particleFlow_AddedMuonsAndHadrons_RECO_obj_roles_: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- blocksStorage_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow_AddedMuonsAndHadrons_RECO_obj_blocksStorage__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFCandidates_particleFlow_AddedMuonsAndHadrons_RECO_obj_elementsStorage_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- sourcePtr_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- ecalERatio_: float (nullable = true)
 |    |    |    |-- hcalERatio_: float (nullable = true)
 |    |    |    |-- rawEcalEnergy_: float (nullable = true)
 |    |    |    |-- rawHcalEnergy_: float (nullable = true)
 |    |    |    |-- ps1Energy_: float (nullable = true)
 |    |    |    |-- ps2Energy_: float (nullable = true)
 |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- deltaP_: float (nullable = true)
 |    |    |    |-- vertexType_: integer (nullable = true)
 |    |    |    |-- mva_e_pi_: float (nullable = true)
 |    |    |    |-- mva_e_mu_: float (nullable = true)
 |    |    |    |-- mva_pi_mu_: float (nullable = true)
 |    |    |    |-- mva_nothing_gamma_: float (nullable = true)
 |    |    |    |-- mva_nothing_nh_: float (nullable = true)
 |    |    |    |-- mva_gamma_nh_: float (nullable = true)
 |    |    |    |-- positionAtECALEntrance_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- storedRefsBitPattern_: short (nullable = true)
 |    |    |    |-- recoPFCandidates_particleFlow_AddedMuonsAndHadrons_RECO_obj_refsInfo_: array (nullable = true)
 |    |    |    |    |-- element: long (containsNull = true)
 |-- recoPFCandidates_particleFlow_CleanedCosmicsMuons_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFCandidates_particleFlow_CleanedCosmicsMuons_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CompositeCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- dau: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedCosmicsMuons_RECO_obj_dau_data_: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fixup_: struct (nullable = true)
 |    |    |    |    |-- name_: string (nullable = true)
 |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedCosmicsMuons_RECO_obj_roles_: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- blocksStorage_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedCosmicsMuons_RECO_obj_blocksStorage__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFCandidates_particleFlow_CleanedCosmicsMuons_RECO_obj_elementsStorage_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- sourcePtr_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- ecalERatio_: float (nullable = true)
 |    |    |    |-- hcalERatio_: float (nullable = true)
 |    |    |    |-- rawEcalEnergy_: float (nullable = true)
 |    |    |    |-- rawHcalEnergy_: float (nullable = true)
 |    |    |    |-- ps1Energy_: float (nullable = true)
 |    |    |    |-- ps2Energy_: float (nullable = true)
 |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- deltaP_: float (nullable = true)
 |    |    |    |-- vertexType_: integer (nullable = true)
 |    |    |    |-- mva_e_pi_: float (nullable = true)
 |    |    |    |-- mva_e_mu_: float (nullable = true)
 |    |    |    |-- mva_pi_mu_: float (nullable = true)
 |    |    |    |-- mva_nothing_gamma_: float (nullable = true)
 |    |    |    |-- mva_nothing_nh_: float (nullable = true)
 |    |    |    |-- mva_gamma_nh_: float (nullable = true)
 |    |    |    |-- positionAtECALEntrance_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- storedRefsBitPattern_: short (nullable = true)
 |    |    |    |-- recoPFCandidates_particleFlow_CleanedCosmicsMuons_RECO_obj_refsInfo_: array (nullable = true)
 |    |    |    |    |-- element: long (containsNull = true)
 |-- recoPFCandidates_particleFlow_CleanedFakeMuons_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFCandidates_particleFlow_CleanedFakeMuons_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CompositeCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- dau: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedFakeMuons_RECO_obj_dau_data_: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fixup_: struct (nullable = true)
 |    |    |    |    |-- name_: string (nullable = true)
 |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedFakeMuons_RECO_obj_roles_: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- blocksStorage_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedFakeMuons_RECO_obj_blocksStorage__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFCandidates_particleFlow_CleanedFakeMuons_RECO_obj_elementsStorage_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- sourcePtr_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- ecalERatio_: float (nullable = true)
 |    |    |    |-- hcalERatio_: float (nullable = true)
 |    |    |    |-- rawEcalEnergy_: float (nullable = true)
 |    |    |    |-- rawHcalEnergy_: float (nullable = true)
 |    |    |    |-- ps1Energy_: float (nullable = true)
 |    |    |    |-- ps2Energy_: float (nullable = true)
 |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- deltaP_: float (nullable = true)
 |    |    |    |-- vertexType_: integer (nullable = true)
 |    |    |    |-- mva_e_pi_: float (nullable = true)
 |    |    |    |-- mva_e_mu_: float (nullable = true)
 |    |    |    |-- mva_pi_mu_: float (nullable = true)
 |    |    |    |-- mva_nothing_gamma_: float (nullable = true)
 |    |    |    |-- mva_nothing_nh_: float (nullable = true)
 |    |    |    |-- mva_gamma_nh_: float (nullable = true)
 |    |    |    |-- positionAtECALEntrance_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- storedRefsBitPattern_: short (nullable = true)
 |    |    |    |-- recoPFCandidates_particleFlow_CleanedFakeMuons_RECO_obj_refsInfo_: array (nullable = true)
 |    |    |    |    |-- element: long (containsNull = true)
 |-- recoPFCandidates_particleFlow_CleanedHF_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFCandidates_particleFlow_CleanedHF_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CompositeCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- dau: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedHF_RECO_obj_dau_data_: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fixup_: struct (nullable = true)
 |    |    |    |    |-- name_: string (nullable = true)
 |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedHF_RECO_obj_roles_: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- blocksStorage_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedHF_RECO_obj_blocksStorage__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFCandidates_particleFlow_CleanedHF_RECO_obj_elementsStorage_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- sourcePtr_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- ecalERatio_: float (nullable = true)
 |    |    |    |-- hcalERatio_: float (nullable = true)
 |    |    |    |-- rawEcalEnergy_: float (nullable = true)
 |    |    |    |-- rawHcalEnergy_: float (nullable = true)
 |    |    |    |-- ps1Energy_: float (nullable = true)
 |    |    |    |-- ps2Energy_: float (nullable = true)
 |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- deltaP_: float (nullable = true)
 |    |    |    |-- vertexType_: integer (nullable = true)
 |    |    |    |-- mva_e_pi_: float (nullable = true)
 |    |    |    |-- mva_e_mu_: float (nullable = true)
 |    |    |    |-- mva_pi_mu_: float (nullable = true)
 |    |    |    |-- mva_nothing_gamma_: float (nullable = true)
 |    |    |    |-- mva_nothing_nh_: float (nullable = true)
 |    |    |    |-- mva_gamma_nh_: float (nullable = true)
 |    |    |    |-- positionAtECALEntrance_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- storedRefsBitPattern_: short (nullable = true)
 |    |    |    |-- recoPFCandidates_particleFlow_CleanedHF_RECO_obj_refsInfo_: array (nullable = true)
 |    |    |    |    |-- element: long (containsNull = true)
 |-- recoPFCandidates_particleFlow_CleanedPunchThroughMuons_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFCandidates_particleFlow_CleanedPunchThroughMuons_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CompositeCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- dau: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedPunchThroughMuons_RECO_obj_dau_data_: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fixup_: struct (nullable = true)
 |    |    |    |    |-- name_: string (nullable = true)
 |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedPunchThroughMuons_RECO_obj_roles_: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- blocksStorage_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedPunchThroughMuons_RECO_obj_blocksStorage__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFCandidates_particleFlow_CleanedPunchThroughMuons_RECO_obj_elementsStorage_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- sourcePtr_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- ecalERatio_: float (nullable = true)
 |    |    |    |-- hcalERatio_: float (nullable = true)
 |    |    |    |-- rawEcalEnergy_: float (nullable = true)
 |    |    |    |-- rawHcalEnergy_: float (nullable = true)
 |    |    |    |-- ps1Energy_: float (nullable = true)
 |    |    |    |-- ps2Energy_: float (nullable = true)
 |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- deltaP_: float (nullable = true)
 |    |    |    |-- vertexType_: integer (nullable = true)
 |    |    |    |-- mva_e_pi_: float (nullable = true)
 |    |    |    |-- mva_e_mu_: float (nullable = true)
 |    |    |    |-- mva_pi_mu_: float (nullable = true)
 |    |    |    |-- mva_nothing_gamma_: float (nullable = true)
 |    |    |    |-- mva_nothing_nh_: float (nullable = true)
 |    |    |    |-- mva_gamma_nh_: float (nullable = true)
 |    |    |    |-- positionAtECALEntrance_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- storedRefsBitPattern_: short (nullable = true)
 |    |    |    |-- recoPFCandidates_particleFlow_CleanedPunchThroughMuons_RECO_obj_refsInfo_: array (nullable = true)
 |    |    |    |    |-- element: long (containsNull = true)
 |-- recoPFCandidates_particleFlow_CleanedPunchThroughNeutralHadrons_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFCandidates_particleFlow_CleanedPunchThroughNeutralHadrons_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CompositeCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- dau: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedPunchThroughNeutralHadrons_RECO_obj_dau_data_: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fixup_: struct (nullable = true)
 |    |    |    |    |-- name_: string (nullable = true)
 |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedPunchThroughNeutralHadrons_RECO_obj_roles_: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- blocksStorage_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedPunchThroughNeutralHadrons_RECO_obj_blocksStorage__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFCandidates_particleFlow_CleanedPunchThroughNeutralHadrons_RECO_obj_elementsStorage_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- sourcePtr_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- ecalERatio_: float (nullable = true)
 |    |    |    |-- hcalERatio_: float (nullable = true)
 |    |    |    |-- rawEcalEnergy_: float (nullable = true)
 |    |    |    |-- rawHcalEnergy_: float (nullable = true)
 |    |    |    |-- ps1Energy_: float (nullable = true)
 |    |    |    |-- ps2Energy_: float (nullable = true)
 |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- deltaP_: float (nullable = true)
 |    |    |    |-- vertexType_: integer (nullable = true)
 |    |    |    |-- mva_e_pi_: float (nullable = true)
 |    |    |    |-- mva_e_mu_: float (nullable = true)
 |    |    |    |-- mva_pi_mu_: float (nullable = true)
 |    |    |    |-- mva_nothing_gamma_: float (nullable = true)
 |    |    |    |-- mva_nothing_nh_: float (nullable = true)
 |    |    |    |-- mva_gamma_nh_: float (nullable = true)
 |    |    |    |-- positionAtECALEntrance_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- storedRefsBitPattern_: short (nullable = true)
 |    |    |    |-- recoPFCandidates_particleFlow_CleanedPunchThroughNeutralHadrons_RECO_obj_refsInfo_: array (nullable = true)
 |    |    |    |    |-- element: long (containsNull = true)
 |-- recoPFCandidates_particleFlow_CleanedTrackerAndGlobalMuons_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFCandidates_particleFlow_CleanedTrackerAndGlobalMuons_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CompositeCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- dau: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedTrackerAndGlobalMuons_RECO_obj_dau_data_: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fixup_: struct (nullable = true)
 |    |    |    |    |-- name_: string (nullable = true)
 |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedTrackerAndGlobalMuons_RECO_obj_roles_: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- blocksStorage_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow_CleanedTrackerAndGlobalMuons_RECO_obj_blocksStorage__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFCandidates_particleFlow_CleanedTrackerAndGlobalMuons_RECO_obj_elementsStorage_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- sourcePtr_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- ecalERatio_: float (nullable = true)
 |    |    |    |-- hcalERatio_: float (nullable = true)
 |    |    |    |-- rawEcalEnergy_: float (nullable = true)
 |    |    |    |-- rawHcalEnergy_: float (nullable = true)
 |    |    |    |-- ps1Energy_: float (nullable = true)
 |    |    |    |-- ps2Energy_: float (nullable = true)
 |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- deltaP_: float (nullable = true)
 |    |    |    |-- vertexType_: integer (nullable = true)
 |    |    |    |-- mva_e_pi_: float (nullable = true)
 |    |    |    |-- mva_e_mu_: float (nullable = true)
 |    |    |    |-- mva_pi_mu_: float (nullable = true)
 |    |    |    |-- mva_nothing_gamma_: float (nullable = true)
 |    |    |    |-- mva_nothing_nh_: float (nullable = true)
 |    |    |    |-- mva_gamma_nh_: float (nullable = true)
 |    |    |    |-- positionAtECALEntrance_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- storedRefsBitPattern_: short (nullable = true)
 |    |    |    |-- recoPFCandidates_particleFlow_CleanedTrackerAndGlobalMuons_RECO_obj_refsInfo_: array (nullable = true)
 |    |    |    |    |-- element: long (containsNull = true)
 |-- recoPFCandidates_particleFlow_electrons_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFCandidates_particleFlow_electrons_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CompositeCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- dau: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow_electrons_RECO_obj_dau_data_: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fixup_: struct (nullable = true)
 |    |    |    |    |-- name_: string (nullable = true)
 |    |    |    |    |-- recoPFCandidates_particleFlow_electrons_RECO_obj_roles_: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- blocksStorage_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFCandidates_particleFlow_electrons_RECO_obj_blocksStorage__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFCandidates_particleFlow_electrons_RECO_obj_elementsStorage_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- sourcePtr_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- ecalERatio_: float (nullable = true)
 |    |    |    |-- hcalERatio_: float (nullable = true)
 |    |    |    |-- rawEcalEnergy_: float (nullable = true)
 |    |    |    |-- rawHcalEnergy_: float (nullable = true)
 |    |    |    |-- ps1Energy_: float (nullable = true)
 |    |    |    |-- ps2Energy_: float (nullable = true)
 |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- deltaP_: float (nullable = true)
 |    |    |    |-- vertexType_: integer (nullable = true)
 |    |    |    |-- mva_e_pi_: float (nullable = true)
 |    |    |    |-- mva_e_mu_: float (nullable = true)
 |    |    |    |-- mva_pi_mu_: float (nullable = true)
 |    |    |    |-- mva_nothing_gamma_: float (nullable = true)
 |    |    |    |-- mva_nothing_nh_: float (nullable = true)
 |    |    |    |-- mva_gamma_nh_: float (nullable = true)
 |    |    |    |-- positionAtECALEntrance_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- storedRefsBitPattern_: short (nullable = true)
 |    |    |    |-- recoPFCandidates_particleFlow_electrons_RECO_obj_refsInfo_: array (nullable = true)
 |    |    |    |    |-- element: long (containsNull = true)
 |-- recoPFJets_ak5PFJets__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFJets_ak5PFJets__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::Jet: struct (nullable = true)
 |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFJets_ak5PFJets__RECO_obj_dau: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |-- mJetArea: float (nullable = true)
 |    |    |    |    |-- mPileupEnergy: float (nullable = true)
 |    |    |    |    |-- mPassNumber: integer (nullable = true)
 |    |    |    |-- m_specific: struct (nullable = true)
 |    |    |    |    |-- mChargedHadronEnergy: float (nullable = true)
 |    |    |    |    |-- mNeutralHadronEnergy: float (nullable = true)
 |    |    |    |    |-- mPhotonEnergy: float (nullable = true)
 |    |    |    |    |-- mElectronEnergy: float (nullable = true)
 |    |    |    |    |-- mMuonEnergy: float (nullable = true)
 |    |    |    |    |-- mHFHadronEnergy: float (nullable = true)
 |    |    |    |    |-- mHFEMEnergy: float (nullable = true)
 |    |    |    |    |-- mChargedHadronMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mNeutralHadronMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mPhotonMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mElectronMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mMuonMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mHFHadronMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mHFEMMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mChargedEmEnergy: float (nullable = true)
 |    |    |    |    |-- mChargedMuEnergy: float (nullable = true)
 |    |    |    |    |-- mNeutralEmEnergy: float (nullable = true)
 |    |    |    |    |-- mChargedMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mNeutralMultiplicity: integer (nullable = true)
 |-- recoPFJets_ak7PFJets__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFJets_ak7PFJets__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::Jet: struct (nullable = true)
 |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFJets_ak7PFJets__RECO_obj_dau: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |-- mJetArea: float (nullable = true)
 |    |    |    |    |-- mPileupEnergy: float (nullable = true)
 |    |    |    |    |-- mPassNumber: integer (nullable = true)
 |    |    |    |-- m_specific: struct (nullable = true)
 |    |    |    |    |-- mChargedHadronEnergy: float (nullable = true)
 |    |    |    |    |-- mNeutralHadronEnergy: float (nullable = true)
 |    |    |    |    |-- mPhotonEnergy: float (nullable = true)
 |    |    |    |    |-- mElectronEnergy: float (nullable = true)
 |    |    |    |    |-- mMuonEnergy: float (nullable = true)
 |    |    |    |    |-- mHFHadronEnergy: float (nullable = true)
 |    |    |    |    |-- mHFEMEnergy: float (nullable = true)
 |    |    |    |    |-- mChargedHadronMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mNeutralHadronMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mPhotonMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mElectronMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mMuonMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mHFHadronMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mHFEMMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mChargedEmEnergy: float (nullable = true)
 |    |    |    |    |-- mChargedMuEnergy: float (nullable = true)
 |    |    |    |    |-- mNeutralEmEnergy: float (nullable = true)
 |    |    |    |    |-- mChargedMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mNeutralMultiplicity: integer (nullable = true)
 |-- recoPFJets_kt4PFJets__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFJets_kt4PFJets__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::Jet: struct (nullable = true)
 |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFJets_kt4PFJets__RECO_obj_dau: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |-- mJetArea: float (nullable = true)
 |    |    |    |    |-- mPileupEnergy: float (nullable = true)
 |    |    |    |    |-- mPassNumber: integer (nullable = true)
 |    |    |    |-- m_specific: struct (nullable = true)
 |    |    |    |    |-- mChargedHadronEnergy: float (nullable = true)
 |    |    |    |    |-- mNeutralHadronEnergy: float (nullable = true)
 |    |    |    |    |-- mPhotonEnergy: float (nullable = true)
 |    |    |    |    |-- mElectronEnergy: float (nullable = true)
 |    |    |    |    |-- mMuonEnergy: float (nullable = true)
 |    |    |    |    |-- mHFHadronEnergy: float (nullable = true)
 |    |    |    |    |-- mHFEMEnergy: float (nullable = true)
 |    |    |    |    |-- mChargedHadronMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mNeutralHadronMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mPhotonMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mElectronMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mMuonMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mHFHadronMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mHFEMMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mChargedEmEnergy: float (nullable = true)
 |    |    |    |    |-- mChargedMuEnergy: float (nullable = true)
 |    |    |    |    |-- mNeutralEmEnergy: float (nullable = true)
 |    |    |    |    |-- mChargedMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mNeutralMultiplicity: integer (nullable = true)
 |-- recoPFJets_kt6PFJets__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFJets_kt6PFJets__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::Jet: struct (nullable = true)
 |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFJets_kt6PFJets__RECO_obj_dau: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |-- mJetArea: float (nullable = true)
 |    |    |    |    |-- mPileupEnergy: float (nullable = true)
 |    |    |    |    |-- mPassNumber: integer (nullable = true)
 |    |    |    |-- m_specific: struct (nullable = true)
 |    |    |    |    |-- mChargedHadronEnergy: float (nullable = true)
 |    |    |    |    |-- mNeutralHadronEnergy: float (nullable = true)
 |    |    |    |    |-- mPhotonEnergy: float (nullable = true)
 |    |    |    |    |-- mElectronEnergy: float (nullable = true)
 |    |    |    |    |-- mMuonEnergy: float (nullable = true)
 |    |    |    |    |-- mHFHadronEnergy: float (nullable = true)
 |    |    |    |    |-- mHFEMEnergy: float (nullable = true)
 |    |    |    |    |-- mChargedHadronMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mNeutralHadronMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mPhotonMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mElectronMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mMuonMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mHFHadronMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mHFEMMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mChargedEmEnergy: float (nullable = true)
 |    |    |    |    |-- mChargedMuEnergy: float (nullable = true)
 |    |    |    |    |-- mNeutralEmEnergy: float (nullable = true)
 |    |    |    |    |-- mChargedMultiplicity: integer (nullable = true)
 |    |    |    |    |-- mNeutralMultiplicity: integer (nullable = true)
 |-- recoPFMETs_pfMet__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFMETs_pfMet__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::MET: struct (nullable = true)
 |    |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |-- elongit: double (nullable = true)
 |    |    |    |    |-- signif_dxx: double (nullable = true)
 |    |    |    |    |-- signif_dyy: double (nullable = true)
 |    |    |    |    |-- signif_dyx: double (nullable = true)
 |    |    |    |    |-- signif_dxy: double (nullable = true)
 |    |    |    |    |-- recoPFMETs_pfMet__RECO_obj_corr: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- mex: double (nullable = true)
 |    |    |    |    |    |    |-- mey: double (nullable = true)
 |    |    |    |    |    |    |-- sumet: double (nullable = true)
 |    |    |    |    |    |    |-- significance: double (nullable = true)
 |    |    |    |-- pf_data: struct (nullable = true)
 |    |    |    |    |-- NeutralEMFraction: double (nullable = true)
 |    |    |    |    |-- NeutralHadFraction: double (nullable = true)
 |    |    |    |    |-- ChargedEMFraction: double (nullable = true)
 |    |    |    |    |-- ChargedHadFraction: double (nullable = true)
 |    |    |    |    |-- MuonFraction: double (nullable = true)
 |    |    |    |    |-- Type6Fraction: double (nullable = true)
 |    |    |    |    |-- Type7Fraction: double (nullable = true)
 |-- recoPFRecHits_particleFlowClusterECAL_Cleaned_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFRecHits_particleFlowClusterECAL_Cleaned_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- detId_: integer (nullable = true)
 |    |    |    |-- layer_: integer (nullable = true)
 |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |-- rescale_: double (nullable = true)
 |    |    |    |-- energyUp_: double (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- axisxyz_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterECAL_Cleaned_RECO_obj_cornersxyz_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterECAL_Cleaned_RECO_obj_neighbours4_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterECAL_Cleaned_RECO_obj_neighbours8_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterECAL_Cleaned_RECO_obj_neighboursIds4_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterECAL_Cleaned_RECO_obj_neighboursIds8_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |-- recoPFRecHits_particleFlowClusterHCAL_Cleaned_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFRecHits_particleFlowClusterHCAL_Cleaned_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- detId_: integer (nullable = true)
 |    |    |    |-- layer_: integer (nullable = true)
 |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |-- rescale_: double (nullable = true)
 |    |    |    |-- energyUp_: double (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- axisxyz_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterHCAL_Cleaned_RECO_obj_cornersxyz_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterHCAL_Cleaned_RECO_obj_neighbours4_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterHCAL_Cleaned_RECO_obj_neighbours8_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterHCAL_Cleaned_RECO_obj_neighboursIds4_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterHCAL_Cleaned_RECO_obj_neighboursIds8_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |-- recoPFRecHits_particleFlowClusterHFEM_Cleaned_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFRecHits_particleFlowClusterHFEM_Cleaned_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- detId_: integer (nullable = true)
 |    |    |    |-- layer_: integer (nullable = true)
 |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |-- rescale_: double (nullable = true)
 |    |    |    |-- energyUp_: double (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- axisxyz_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterHFEM_Cleaned_RECO_obj_cornersxyz_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterHFEM_Cleaned_RECO_obj_neighbours4_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterHFEM_Cleaned_RECO_obj_neighbours8_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterHFEM_Cleaned_RECO_obj_neighboursIds4_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterHFEM_Cleaned_RECO_obj_neighboursIds8_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |-- recoPFRecHits_particleFlowClusterHFHAD_Cleaned_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFRecHits_particleFlowClusterHFHAD_Cleaned_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- detId_: integer (nullable = true)
 |    |    |    |-- layer_: integer (nullable = true)
 |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |-- rescale_: double (nullable = true)
 |    |    |    |-- energyUp_: double (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- axisxyz_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterHFHAD_Cleaned_RECO_obj_cornersxyz_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterHFHAD_Cleaned_RECO_obj_neighbours4_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterHFHAD_Cleaned_RECO_obj_neighbours8_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterHFHAD_Cleaned_RECO_obj_neighboursIds4_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterHFHAD_Cleaned_RECO_obj_neighboursIds8_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |-- recoPFRecHits_particleFlowClusterPS_Cleaned_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFRecHits_particleFlowClusterPS_Cleaned_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- detId_: integer (nullable = true)
 |    |    |    |-- layer_: integer (nullable = true)
 |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |-- rescale_: double (nullable = true)
 |    |    |    |-- energyUp_: double (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- axisxyz_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterPS_Cleaned_RECO_obj_cornersxyz_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterPS_Cleaned_RECO_obj_neighbours4_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterPS_Cleaned_RECO_obj_neighbours8_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterPS_Cleaned_RECO_obj_neighboursIds4_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowClusterPS_Cleaned_RECO_obj_neighboursIds8_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |-- recoPFRecHits_particleFlowRecHitECAL_Cleaned_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFRecHits_particleFlowRecHitECAL_Cleaned_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- detId_: integer (nullable = true)
 |    |    |    |-- layer_: integer (nullable = true)
 |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |-- rescale_: double (nullable = true)
 |    |    |    |-- energyUp_: double (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- axisxyz_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoPFRecHits_particleFlowRecHitECAL_Cleaned_RECO_obj_cornersxyz_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoPFRecHits_particleFlowRecHitECAL_Cleaned_RECO_obj_neighbours4_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowRecHitECAL_Cleaned_RECO_obj_neighbours8_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowRecHitECAL_Cleaned_RECO_obj_neighboursIds4_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowRecHitECAL_Cleaned_RECO_obj_neighboursIds8_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |-- recoPFRecHits_particleFlowRecHitHCAL_Cleaned_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFRecHits_particleFlowRecHitHCAL_Cleaned_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- detId_: integer (nullable = true)
 |    |    |    |-- layer_: integer (nullable = true)
 |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |-- rescale_: double (nullable = true)
 |    |    |    |-- energyUp_: double (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- axisxyz_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoPFRecHits_particleFlowRecHitHCAL_Cleaned_RECO_obj_cornersxyz_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoPFRecHits_particleFlowRecHitHCAL_Cleaned_RECO_obj_neighbours4_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowRecHitHCAL_Cleaned_RECO_obj_neighbours8_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowRecHitHCAL_Cleaned_RECO_obj_neighboursIds4_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowRecHitHCAL_Cleaned_RECO_obj_neighboursIds8_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |-- recoPFRecHits_particleFlowRecHitPS_Cleaned_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFRecHits_particleFlowRecHitPS_Cleaned_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- detId_: integer (nullable = true)
 |    |    |    |-- layer_: integer (nullable = true)
 |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |-- rescale_: double (nullable = true)
 |    |    |    |-- energyUp_: double (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- axisxyz_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoPFRecHits_particleFlowRecHitPS_Cleaned_RECO_obj_cornersxyz_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoPFRecHits_particleFlowRecHitPS_Cleaned_RECO_obj_neighbours4_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowRecHitPS_Cleaned_RECO_obj_neighbours8_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowRecHitPS_Cleaned_RECO_obj_neighboursIds4_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- recoPFRecHits_particleFlowRecHitPS_Cleaned_RECO_obj_neighboursIds8_: array (nullable = true)
 |    |    |    |    |-- element: integer (containsNull = true)
 |-- recoPFTaus_hpsPFTauProducer__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTaus_hpsPFTauProducer__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::BaseTau: struct (nullable = true)
 |    |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- alternatLorentzVect_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |    |    |-- fT: double (nullable = true)
 |    |    |    |    |-- leadTrack_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |-- signalTracks_: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoPFTaus_hpsPFTauProducer__RECO_obj_signalTracks__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- isolationTracks_: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoPFTaus_hpsPFTauProducer__RECO_obj_isolationTracks__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- jetRef_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- PFTauTagInfoRef_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- leadPFChargedHadrCand_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- leadPFNeutralCand_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- leadPFCand_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- leadPFChargedHadrCandsignedSipt_: float (nullable = true)
 |    |    |    |-- selectedSignalPFCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_hpsPFTauProducer__RECO_obj_selectedSignalPFCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedSignalPFChargedHadrCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_hpsPFTauProducer__RECO_obj_selectedSignalPFChargedHadrCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedSignalPFNeutrHadrCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_hpsPFTauProducer__RECO_obj_selectedSignalPFNeutrHadrCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedSignalPFGammaCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_hpsPFTauProducer__RECO_obj_selectedSignalPFGammaCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedIsolationPFCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_hpsPFTauProducer__RECO_obj_selectedIsolationPFCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedIsolationPFChargedHadrCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_hpsPFTauProducer__RECO_obj_selectedIsolationPFChargedHadrCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedIsolationPFNeutrHadrCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_hpsPFTauProducer__RECO_obj_selectedIsolationPFNeutrHadrCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedIsolationPFGammaCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_hpsPFTauProducer__RECO_obj_selectedIsolationPFGammaCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- isolationPFChargedHadrCandsPtSum_: float (nullable = true)
 |    |    |    |-- isolationPFGammaCandsEtSum_: float (nullable = true)
 |    |    |    |-- maximumHCALPFClusterEt_: float (nullable = true)
 |    |    |    |-- emFraction_: float (nullable = true)
 |    |    |    |-- hcalTotOverPLead_: float (nullable = true)
 |    |    |    |-- hcalMaxOverPLead_: float (nullable = true)
 |    |    |    |-- hcal3x3OverPLead_: float (nullable = true)
 |    |    |    |-- ecalStripSumEOverPLead_: float (nullable = true)
 |    |    |    |-- bremsRecoveryEOverPLead_: float (nullable = true)
 |    |    |    |-- electronPreIDTrack_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- electronPreIDOutput_: float (nullable = true)
 |    |    |    |-- electronPreIDDecision_: boolean (nullable = true)
 |    |    |    |-- caloComp_: float (nullable = true)
 |    |    |    |-- segComp_: float (nullable = true)
 |    |    |    |-- muonDecision_: boolean (nullable = true)
 |    |    |    |-- recoPFTaus_hpsPFTauProducer__RECO_obj_signalPiZeroCandidates_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- dau: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |    |-- algoName_: integer (nullable = true)
 |    |    |    |-- recoPFTaus_hpsPFTauProducer__RECO_obj_isolationPiZeroCandidates_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- dau: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |    |-- algoName_: integer (nullable = true)
 |-- recoPFTaus_hpsTancTaus__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTaus_hpsTancTaus__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::BaseTau: struct (nullable = true)
 |    |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- alternatLorentzVect_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |    |    |-- fT: double (nullable = true)
 |    |    |    |    |-- leadTrack_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |-- signalTracks_: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoPFTaus_hpsTancTaus__RECO_obj_signalTracks__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- isolationTracks_: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoPFTaus_hpsTancTaus__RECO_obj_isolationTracks__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- jetRef_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- PFTauTagInfoRef_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- leadPFChargedHadrCand_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- leadPFNeutralCand_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- leadPFCand_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- leadPFChargedHadrCandsignedSipt_: float (nullable = true)
 |    |    |    |-- selectedSignalPFCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_hpsTancTaus__RECO_obj_selectedSignalPFCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedSignalPFChargedHadrCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_hpsTancTaus__RECO_obj_selectedSignalPFChargedHadrCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedSignalPFNeutrHadrCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_hpsTancTaus__RECO_obj_selectedSignalPFNeutrHadrCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedSignalPFGammaCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_hpsTancTaus__RECO_obj_selectedSignalPFGammaCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedIsolationPFCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_hpsTancTaus__RECO_obj_selectedIsolationPFCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedIsolationPFChargedHadrCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_hpsTancTaus__RECO_obj_selectedIsolationPFChargedHadrCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedIsolationPFNeutrHadrCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_hpsTancTaus__RECO_obj_selectedIsolationPFNeutrHadrCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedIsolationPFGammaCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_hpsTancTaus__RECO_obj_selectedIsolationPFGammaCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- isolationPFChargedHadrCandsPtSum_: float (nullable = true)
 |    |    |    |-- isolationPFGammaCandsEtSum_: float (nullable = true)
 |    |    |    |-- maximumHCALPFClusterEt_: float (nullable = true)
 |    |    |    |-- emFraction_: float (nullable = true)
 |    |    |    |-- hcalTotOverPLead_: float (nullable = true)
 |    |    |    |-- hcalMaxOverPLead_: float (nullable = true)
 |    |    |    |-- hcal3x3OverPLead_: float (nullable = true)
 |    |    |    |-- ecalStripSumEOverPLead_: float (nullable = true)
 |    |    |    |-- bremsRecoveryEOverPLead_: float (nullable = true)
 |    |    |    |-- electronPreIDTrack_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- electronPreIDOutput_: float (nullable = true)
 |    |    |    |-- electronPreIDDecision_: boolean (nullable = true)
 |    |    |    |-- caloComp_: float (nullable = true)
 |    |    |    |-- segComp_: float (nullable = true)
 |    |    |    |-- muonDecision_: boolean (nullable = true)
 |    |    |    |-- recoPFTaus_hpsTancTaus__RECO_obj_signalPiZeroCandidates_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- dau: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |    |-- algoName_: integer (nullable = true)
 |    |    |    |-- recoPFTaus_hpsTancTaus__RECO_obj_isolationPiZeroCandidates_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- dau: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |    |-- algoName_: integer (nullable = true)
 |-- recoPFTaus_shrinkingConePFTauProducer__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPFTaus_shrinkingConePFTauProducer__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::BaseTau: struct (nullable = true)
 |    |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- alternatLorentzVect_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |    |    |-- fT: double (nullable = true)
 |    |    |    |    |-- leadTrack_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |-- signalTracks_: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoPFTaus_shrinkingConePFTauProducer__RECO_obj_signalTracks__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- isolationTracks_: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoPFTaus_shrinkingConePFTauProducer__RECO_obj_isolationTracks__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- jetRef_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- PFTauTagInfoRef_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- leadPFChargedHadrCand_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- leadPFNeutralCand_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- leadPFCand_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- leadPFChargedHadrCandsignedSipt_: float (nullable = true)
 |    |    |    |-- selectedSignalPFCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_shrinkingConePFTauProducer__RECO_obj_selectedSignalPFCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedSignalPFChargedHadrCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_shrinkingConePFTauProducer__RECO_obj_selectedSignalPFChargedHadrCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedSignalPFNeutrHadrCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_shrinkingConePFTauProducer__RECO_obj_selectedSignalPFNeutrHadrCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedSignalPFGammaCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_shrinkingConePFTauProducer__RECO_obj_selectedSignalPFGammaCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedIsolationPFCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_shrinkingConePFTauProducer__RECO_obj_selectedIsolationPFCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedIsolationPFChargedHadrCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_shrinkingConePFTauProducer__RECO_obj_selectedIsolationPFChargedHadrCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedIsolationPFNeutrHadrCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_shrinkingConePFTauProducer__RECO_obj_selectedIsolationPFNeutrHadrCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- selectedIsolationPFGammaCands_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPFTaus_shrinkingConePFTauProducer__RECO_obj_selectedIsolationPFGammaCands__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- isolationPFChargedHadrCandsPtSum_: float (nullable = true)
 |    |    |    |-- isolationPFGammaCandsEtSum_: float (nullable = true)
 |    |    |    |-- maximumHCALPFClusterEt_: float (nullable = true)
 |    |    |    |-- emFraction_: float (nullable = true)
 |    |    |    |-- hcalTotOverPLead_: float (nullable = true)
 |    |    |    |-- hcalMaxOverPLead_: float (nullable = true)
 |    |    |    |-- hcal3x3OverPLead_: float (nullable = true)
 |    |    |    |-- ecalStripSumEOverPLead_: float (nullable = true)
 |    |    |    |-- bremsRecoveryEOverPLead_: float (nullable = true)
 |    |    |    |-- electronPreIDTrack_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- electronPreIDOutput_: float (nullable = true)
 |    |    |    |-- electronPreIDDecision_: boolean (nullable = true)
 |    |    |    |-- caloComp_: float (nullable = true)
 |    |    |    |-- segComp_: float (nullable = true)
 |    |    |    |-- muonDecision_: boolean (nullable = true)
 |    |    |    |-- recoPFTaus_shrinkingConePFTauProducer__RECO_obj_signalPiZeroCandidates_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- dau: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |    |-- algoName_: integer (nullable = true)
 |    |    |    |-- recoPFTaus_shrinkingConePFTauProducer__RECO_obj_isolationPiZeroCandidates_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- dau: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |    |-- algoName_: integer (nullable = true)
 |-- recoPhotons_photons__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPhotons_photons__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- caloPosition_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- photonCore_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- pixelSeed_: boolean (nullable = true)
 |    |    |    |-- fiducialFlagBlock_: struct (nullable = true)
 |    |    |    |    |-- isEB: boolean (nullable = true)
 |    |    |    |    |-- isEE: boolean (nullable = true)
 |    |    |    |    |-- isEBEtaGap: boolean (nullable = true)
 |    |    |    |    |-- isEBPhiGap: boolean (nullable = true)
 |    |    |    |    |-- isEERingGap: boolean (nullable = true)
 |    |    |    |    |-- isEEDeeGap: boolean (nullable = true)
 |    |    |    |    |-- isEBEEGap: boolean (nullable = true)
 |    |    |    |-- isolationR04_: struct (nullable = true)
 |    |    |    |    |-- ecalRecHitSumEt: float (nullable = true)
 |    |    |    |    |-- hcalTowerSumEt: float (nullable = true)
 |    |    |    |    |-- hcalDepth1TowerSumEt: float (nullable = true)
 |    |    |    |    |-- hcalDepth2TowerSumEt: float (nullable = true)
 |    |    |    |    |-- trkSumPtSolidCone: float (nullable = true)
 |    |    |    |    |-- trkSumPtHollowCone: float (nullable = true)
 |    |    |    |    |-- nTrkSolidCone: integer (nullable = true)
 |    |    |    |    |-- nTrkHollowCone: integer (nullable = true)
 |    |    |    |-- isolationR03_: struct (nullable = true)
 |    |    |    |    |-- ecalRecHitSumEt: float (nullable = true)
 |    |    |    |    |-- hcalTowerSumEt: float (nullable = true)
 |    |    |    |    |-- hcalDepth1TowerSumEt: float (nullable = true)
 |    |    |    |    |-- hcalDepth2TowerSumEt: float (nullable = true)
 |    |    |    |    |-- trkSumPtSolidCone: float (nullable = true)
 |    |    |    |    |-- trkSumPtHollowCone: float (nullable = true)
 |    |    |    |    |-- nTrkSolidCone: integer (nullable = true)
 |    |    |    |    |-- nTrkHollowCone: integer (nullable = true)
 |    |    |    |-- showerShapeBlock_: struct (nullable = true)
 |    |    |    |    |-- sigmaEtaEta: float (nullable = true)
 |    |    |    |    |-- sigmaIetaIeta: float (nullable = true)
 |    |    |    |    |-- e1x5: float (nullable = true)
 |    |    |    |    |-- e2x5: float (nullable = true)
 |    |    |    |    |-- e3x3: float (nullable = true)
 |    |    |    |    |-- e5x5: float (nullable = true)
 |    |    |    |    |-- maxEnergyXtal: float (nullable = true)
 |    |    |    |    |-- hcalDepth1OverEcal: float (nullable = true)
 |    |    |    |    |-- hcalDepth2OverEcal: float (nullable = true)
 |    |    |    |-- pfIsolation_: struct (nullable = true)
 |    |    |    |    |-- chargedHadronIso: float (nullable = true)
 |    |    |    |    |-- neutralHadronIso: float (nullable = true)
 |    |    |    |    |-- photonIso: float (nullable = true)
 |-- recoPhotons_pfPhotonTranslator_pfphot_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPhotons_pfPhotonTranslator_pfphot_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- caloPosition_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- photonCore_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- pixelSeed_: boolean (nullable = true)
 |    |    |    |-- fiducialFlagBlock_: struct (nullable = true)
 |    |    |    |    |-- isEB: boolean (nullable = true)
 |    |    |    |    |-- isEE: boolean (nullable = true)
 |    |    |    |    |-- isEBEtaGap: boolean (nullable = true)
 |    |    |    |    |-- isEBPhiGap: boolean (nullable = true)
 |    |    |    |    |-- isEERingGap: boolean (nullable = true)
 |    |    |    |    |-- isEEDeeGap: boolean (nullable = true)
 |    |    |    |    |-- isEBEEGap: boolean (nullable = true)
 |    |    |    |-- isolationR04_: struct (nullable = true)
 |    |    |    |    |-- ecalRecHitSumEt: float (nullable = true)
 |    |    |    |    |-- hcalTowerSumEt: float (nullable = true)
 |    |    |    |    |-- hcalDepth1TowerSumEt: float (nullable = true)
 |    |    |    |    |-- hcalDepth2TowerSumEt: float (nullable = true)
 |    |    |    |    |-- trkSumPtSolidCone: float (nullable = true)
 |    |    |    |    |-- trkSumPtHollowCone: float (nullable = true)
 |    |    |    |    |-- nTrkSolidCone: integer (nullable = true)
 |    |    |    |    |-- nTrkHollowCone: integer (nullable = true)
 |    |    |    |-- isolationR03_: struct (nullable = true)
 |    |    |    |    |-- ecalRecHitSumEt: float (nullable = true)
 |    |    |    |    |-- hcalTowerSumEt: float (nullable = true)
 |    |    |    |    |-- hcalDepth1TowerSumEt: float (nullable = true)
 |    |    |    |    |-- hcalDepth2TowerSumEt: float (nullable = true)
 |    |    |    |    |-- trkSumPtSolidCone: float (nullable = true)
 |    |    |    |    |-- trkSumPtHollowCone: float (nullable = true)
 |    |    |    |    |-- nTrkSolidCone: integer (nullable = true)
 |    |    |    |    |-- nTrkHollowCone: integer (nullable = true)
 |    |    |    |-- showerShapeBlock_: struct (nullable = true)
 |    |    |    |    |-- sigmaEtaEta: float (nullable = true)
 |    |    |    |    |-- sigmaIetaIeta: float (nullable = true)
 |    |    |    |    |-- e1x5: float (nullable = true)
 |    |    |    |    |-- e2x5: float (nullable = true)
 |    |    |    |    |-- e3x3: float (nullable = true)
 |    |    |    |    |-- e5x5: float (nullable = true)
 |    |    |    |    |-- maxEnergyXtal: float (nullable = true)
 |    |    |    |    |-- hcalDepth1OverEcal: float (nullable = true)
 |    |    |    |    |-- hcalDepth2OverEcal: float (nullable = true)
 |    |    |    |-- pfIsolation_: struct (nullable = true)
 |    |    |    |    |-- chargedHadronIso: float (nullable = true)
 |    |    |    |    |-- neutralHadronIso: float (nullable = true)
 |    |    |    |    |-- photonIso: float (nullable = true)
 |-- recoPhotonCores_photonCore__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPhotonCores_photonCore__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- superCluster_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- conversions_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPhotonCores_photonCore__RECO_obj_conversions__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- electronSeed_: struct (nullable = true)
 |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoPhotonCores_photonCore__RECO_obj_electronSeed__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- pfSuperCluster_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- isPFlowPhoton_: boolean (nullable = true)
 |    |    |    |-- isStandardPhoton_: boolean (nullable = true)
 |-- recoPreshowerClusters_pfElectronTranslator_pf_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPreshowerClusters_pfElectronTranslator_pf_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CaloCluster: struct (nullable = true)
 |    |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |-- caloID_: struct (nullable = true)
 |    |    |    |    |    |-- detectors_: integer (nullable = true)
 |    |    |    |    |-- hitsAndFractions_: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |    |-- second: float (nullable = true)
 |    |    |    |    |-- algoID_: integer (nullable = true)
 |    |    |    |    |-- seedId_: struct (nullable = true)
 |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- plane_: integer (nullable = true)
 |    |    |    |-- bc_ref_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |-- recoPreshowerClusters_pfPhotonTranslator_pfphot_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPreshowerClusters_pfPhotonTranslator_pfphot_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CaloCluster: struct (nullable = true)
 |    |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |-- caloID_: struct (nullable = true)
 |    |    |    |    |    |-- detectors_: integer (nullable = true)
 |    |    |    |    |-- hitsAndFractions_: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |    |-- second: float (nullable = true)
 |    |    |    |    |-- algoID_: integer (nullable = true)
 |    |    |    |    |-- seedId_: struct (nullable = true)
 |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- plane_: integer (nullable = true)
 |    |    |    |-- bc_ref_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |-- recoPreshowerClusters_multi5x5SuperClustersWithPreshower_preshowerXClusters_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPreshowerClusters_multi5x5SuperClustersWithPreshower_preshowerXClusters_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CaloCluster: struct (nullable = true)
 |    |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |-- caloID_: struct (nullable = true)
 |    |    |    |    |    |-- detectors_: integer (nullable = true)
 |    |    |    |    |-- hitsAndFractions_: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |    |-- second: float (nullable = true)
 |    |    |    |    |-- algoID_: integer (nullable = true)
 |    |    |    |    |-- seedId_: struct (nullable = true)
 |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- plane_: integer (nullable = true)
 |    |    |    |-- bc_ref_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |-- recoPreshowerClusters_multi5x5SuperClustersWithPreshower_preshowerYClusters_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPreshowerClusters_multi5x5SuperClustersWithPreshower_preshowerYClusters_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CaloCluster: struct (nullable = true)
 |    |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |-- caloID_: struct (nullable = true)
 |    |    |    |    |    |-- detectors_: integer (nullable = true)
 |    |    |    |    |-- hitsAndFractions_: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |    |-- second: float (nullable = true)
 |    |    |    |    |-- algoID_: integer (nullable = true)
 |    |    |    |    |-- seedId_: struct (nullable = true)
 |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- plane_: integer (nullable = true)
 |    |    |    |-- bc_ref_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |-- recoPreshowerClusterShapes_multi5x5PreshowerClusterShape_multi5x5PreshowerXClustersShape_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPreshowerClusterShapes_multi5x5PreshowerClusterShape_multi5x5PreshowerXClustersShape_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- plane_: integer (nullable = true)
 |    |    |    |-- sc_ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- stripEnergies_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |-- recoPreshowerClusterShapes_multi5x5PreshowerClusterShape_multi5x5PreshowerYClustersShape_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoPreshowerClusterShapes_multi5x5PreshowerClusterShape_multi5x5PreshowerYClustersShape_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- plane_: integer (nullable = true)
 |    |    |    |-- sc_ref_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- stripEnergies_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |-- recoRecoChargedRefCandidates_trackRefsForJets__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoRecoChargedRefCandidates_trackRefsForJets__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::LeafRefCandidateT<edm::Ref<vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<vector<reco::Track>,reco::Track> > >: struct (nullable = true)
 |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |-- ref_: struct (nullable = true)
 |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |    |-- mass_: float (nullable = true)
 |-- recoRecoEcalCandidates_hfRecoEcalCandidate__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoRecoEcalCandidates_hfRecoEcalCandidate__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::RecoCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |-- superCluster_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoSuperClusters_correctedHybridSuperClusters__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoSuperClusters_correctedHybridSuperClusters__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CaloCluster: struct (nullable = true)
 |    |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |-- caloID_: struct (nullable = true)
 |    |    |    |    |    |-- detectors_: integer (nullable = true)
 |    |    |    |    |-- recoSuperClusters_correctedHybridSuperClusters__RECO_obj_hitsAndFractions_: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |    |-- second: float (nullable = true)
 |    |    |    |    |-- algoID_: integer (nullable = true)
 |    |    |    |    |-- seedId_: struct (nullable = true)
 |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- seed_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- clusters_: struct (nullable = true)
 |    |    |    |    |-- edm::PtrVectorBase: struct (nullable = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoSuperClusters_correctedHybridSuperClusters__RECO_obj_clusters__indicies_: array (nullable = true)
 |    |    |    |    |    |    |-- element: long (containsNull = true)
 |    |    |    |-- preshowerClusters_: struct (nullable = true)
 |    |    |    |    |-- edm::PtrVectorBase: struct (nullable = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoSuperClusters_correctedHybridSuperClusters__RECO_obj_preshowerClusters__indicies_: array (nullable = true)
 |    |    |    |    |    |    |-- element: long (containsNull = true)
 |    |    |    |-- preshowerEnergy_: double (nullable = true)
 |    |    |    |-- rawEnergy_: double (nullable = true)
 |    |    |    |-- phiWidth_: double (nullable = true)
 |    |    |    |-- etaWidth_: double (nullable = true)
 |-- recoSuperClusters_correctedMulti5x5SuperClustersWithPreshower__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoSuperClusters_correctedMulti5x5SuperClustersWithPreshower__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CaloCluster: struct (nullable = true)
 |    |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |-- caloID_: struct (nullable = true)
 |    |    |    |    |    |-- detectors_: integer (nullable = true)
 |    |    |    |    |-- recoSuperClusters_correctedMulti5x5SuperClustersWithPreshower__RECO_obj_hitsAndFractions_: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |    |-- second: float (nullable = true)
 |    |    |    |    |-- algoID_: integer (nullable = true)
 |    |    |    |    |-- seedId_: struct (nullable = true)
 |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- seed_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- clusters_: struct (nullable = true)
 |    |    |    |    |-- edm::PtrVectorBase: struct (nullable = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoSuperClusters_correctedMulti5x5SuperClustersWithPreshower__RECO_obj_clusters__indicies_: array (nullable = true)
 |    |    |    |    |    |    |-- element: long (containsNull = true)
 |    |    |    |-- preshowerClusters_: struct (nullable = true)
 |    |    |    |    |-- edm::PtrVectorBase: struct (nullable = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoSuperClusters_correctedMulti5x5SuperClustersWithPreshower__RECO_obj_preshowerClusters__indicies_: array (nullable = true)
 |    |    |    |    |    |    |-- element: long (containsNull = true)
 |    |    |    |-- preshowerEnergy_: double (nullable = true)
 |    |    |    |-- rawEnergy_: double (nullable = true)
 |    |    |    |-- phiWidth_: double (nullable = true)
 |    |    |    |-- etaWidth_: double (nullable = true)
 |-- recoSuperClusters_hfEMClusters__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoSuperClusters_hfEMClusters__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CaloCluster: struct (nullable = true)
 |    |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |-- caloID_: struct (nullable = true)
 |    |    |    |    |    |-- detectors_: integer (nullable = true)
 |    |    |    |    |-- recoSuperClusters_hfEMClusters__RECO_obj_hitsAndFractions_: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |    |-- second: float (nullable = true)
 |    |    |    |    |-- algoID_: integer (nullable = true)
 |    |    |    |    |-- seedId_: struct (nullable = true)
 |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- seed_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- clusters_: struct (nullable = true)
 |    |    |    |    |-- edm::PtrVectorBase: struct (nullable = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoSuperClusters_hfEMClusters__RECO_obj_clusters__indicies_: array (nullable = true)
 |    |    |    |    |    |    |-- element: long (containsNull = true)
 |    |    |    |-- preshowerClusters_: struct (nullable = true)
 |    |    |    |    |-- edm::PtrVectorBase: struct (nullable = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoSuperClusters_hfEMClusters__RECO_obj_preshowerClusters__indicies_: array (nullable = true)
 |    |    |    |    |    |    |-- element: long (containsNull = true)
 |    |    |    |-- preshowerEnergy_: double (nullable = true)
 |    |    |    |-- rawEnergy_: double (nullable = true)
 |    |    |    |-- phiWidth_: double (nullable = true)
 |    |    |    |-- etaWidth_: double (nullable = true)
 |-- recoSuperClusters_pfElectronTranslator_pf_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoSuperClusters_pfElectronTranslator_pf_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CaloCluster: struct (nullable = true)
 |    |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |-- caloID_: struct (nullable = true)
 |    |    |    |    |    |-- detectors_: integer (nullable = true)
 |    |    |    |    |-- recoSuperClusters_pfElectronTranslator_pf_RECO_obj_hitsAndFractions_: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |    |-- second: float (nullable = true)
 |    |    |    |    |-- algoID_: integer (nullable = true)
 |    |    |    |    |-- seedId_: struct (nullable = true)
 |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- seed_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- clusters_: struct (nullable = true)
 |    |    |    |    |-- edm::PtrVectorBase: struct (nullable = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoSuperClusters_pfElectronTranslator_pf_RECO_obj_clusters__indicies_: array (nullable = true)
 |    |    |    |    |    |    |-- element: long (containsNull = true)
 |    |    |    |-- preshowerClusters_: struct (nullable = true)
 |    |    |    |    |-- edm::PtrVectorBase: struct (nullable = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoSuperClusters_pfElectronTranslator_pf_RECO_obj_preshowerClusters__indicies_: array (nullable = true)
 |    |    |    |    |    |    |-- element: long (containsNull = true)
 |    |    |    |-- preshowerEnergy_: double (nullable = true)
 |    |    |    |-- rawEnergy_: double (nullable = true)
 |    |    |    |-- phiWidth_: double (nullable = true)
 |    |    |    |-- etaWidth_: double (nullable = true)
 |-- recoSuperClusters_pfPhotonTranslator_pfphot_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoSuperClusters_pfPhotonTranslator_pfphot_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CaloCluster: struct (nullable = true)
 |    |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |-- caloID_: struct (nullable = true)
 |    |    |    |    |    |-- detectors_: integer (nullable = true)
 |    |    |    |    |-- recoSuperClusters_pfPhotonTranslator_pfphot_RECO_obj_hitsAndFractions_: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |    |-- second: float (nullable = true)
 |    |    |    |    |-- algoID_: integer (nullable = true)
 |    |    |    |    |-- seedId_: struct (nullable = true)
 |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- seed_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- clusters_: struct (nullable = true)
 |    |    |    |    |-- edm::PtrVectorBase: struct (nullable = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoSuperClusters_pfPhotonTranslator_pfphot_RECO_obj_clusters__indicies_: array (nullable = true)
 |    |    |    |    |    |    |-- element: long (containsNull = true)
 |    |    |    |-- preshowerClusters_: struct (nullable = true)
 |    |    |    |    |-- edm::PtrVectorBase: struct (nullable = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoSuperClusters_pfPhotonTranslator_pfphot_RECO_obj_preshowerClusters__indicies_: array (nullable = true)
 |    |    |    |    |    |    |-- element: long (containsNull = true)
 |    |    |    |-- preshowerEnergy_: double (nullable = true)
 |    |    |    |-- rawEnergy_: double (nullable = true)
 |    |    |    |-- phiWidth_: double (nullable = true)
 |    |    |    |-- etaWidth_: double (nullable = true)
 |-- recoSuperClusters_hybridSuperClusters_uncleanOnlyHybridSuperClusters_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoSuperClusters_hybridSuperClusters_uncleanOnlyHybridSuperClusters_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CaloCluster: struct (nullable = true)
 |    |    |    |    |-- energy_: double (nullable = true)
 |    |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |    |-- caloID_: struct (nullable = true)
 |    |    |    |    |    |-- detectors_: integer (nullable = true)
 |    |    |    |    |-- recoSuperClusters_hybridSuperClusters_uncleanOnlyHybridSuperClusters_RECO_obj_hitsAndFractions_: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- first: struct (nullable = true)
 |    |    |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |    |    |-- second: float (nullable = true)
 |    |    |    |    |-- algoID_: integer (nullable = true)
 |    |    |    |    |-- seedId_: struct (nullable = true)
 |    |    |    |    |    |-- id_: integer (nullable = true)
 |    |    |    |    |-- flags_: integer (nullable = true)
 |    |    |    |-- seed_: struct (nullable = true)
 |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |-- clusters_: struct (nullable = true)
 |    |    |    |    |-- edm::PtrVectorBase: struct (nullable = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoSuperClusters_hybridSuperClusters_uncleanOnlyHybridSuperClusters_RECO_obj_clusters__indicies_: array (nullable = true)
 |    |    |    |    |    |    |-- element: long (containsNull = true)
 |    |    |    |-- preshowerClusters_: struct (nullable = true)
 |    |    |    |    |-- edm::PtrVectorBase: struct (nullable = true)
 |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |-- recoSuperClusters_hybridSuperClusters_uncleanOnlyHybridSuperClusters_RECO_obj_preshowerClusters__indicies_: array (nullable = true)
 |    |    |    |    |    |    |-- element: long (containsNull = true)
 |    |    |    |-- preshowerEnergy_: double (nullable = true)
 |    |    |    |-- rawEnergy_: double (nullable = true)
 |    |    |    |-- phiWidth_: double (nullable = true)
 |    |    |    |-- etaWidth_: double (nullable = true)
 |-- recoTracks_ckfInOutTracksFromConversions__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracks_ckfInOutTracksFromConversions__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoTracks_ckfOutInTracksFromConversions__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracks_ckfOutInTracksFromConversions__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoTracks_cosmicMuons__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracks_cosmicMuons__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoTracks_cosmicMuons1Leg__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracks_cosmicMuons1Leg__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoTracks_generalTracks__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracks_generalTracks__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoTracks_globalCosmicMuons__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracks_globalCosmicMuons__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoTracks_globalCosmicMuons1Leg__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracks_globalCosmicMuons1Leg__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoTracks_globalMuons__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracks_globalMuons__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoTracks_regionalCosmicTracks__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracks_regionalCosmicTracks__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoTracks_standAloneMuons__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracks_standAloneMuons__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoTracks_standAloneMuons_UpdatedAtVtx_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracks_standAloneMuons_UpdatedAtVtx_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoTracks_tevMuons_default_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracks_tevMuons_default_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoTracks_tevMuons_dyt_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracks_tevMuons_dyt_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoTracks_tevMuons_firstHit_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracks_tevMuons_firstHit_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoTracks_tevMuons_picky_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTracks_tevMuons_picky_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoTrackExtras_globalMuons__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTrackExtras_globalMuons__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackExtraBase: struct (nullable = true)
 |    |    |    |    |-- recHits_: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoTrackExtras_globalMuons__RECO_obj_recHits__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- outerPosition_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- outerMomentum_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- outerOk_: boolean (nullable = true)
 |    |    |    |-- outerCovariance_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- outerDetId_: integer (nullable = true)
 |    |    |    |-- innerPosition_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- innerMomentum_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- innerOk_: boolean (nullable = true)
 |    |    |    |-- innerCovariance_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- innerDetId_: integer (nullable = true)
 |    |    |    |-- seedDir_: integer (nullable = true)
 |    |    |    |-- seedRef_: struct (nullable = true)
 |    |    |    |    |-- holder_: struct (nullable = true)
 |    |    |    |-- trackResiduals_: struct (nullable = true)
 |    |    |    |    |-- residuals_: array (nullable = true)
 |    |    |    |    |    |-- element: byte (containsNull = true)
 |    |    |    |    |-- residualType: byte (nullable = true)
 |-- recoTrackExtras_standAloneMuons__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTrackExtras_standAloneMuons__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackExtraBase: struct (nullable = true)
 |    |    |    |    |-- recHits_: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoTrackExtras_standAloneMuons__RECO_obj_recHits__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- outerPosition_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- outerMomentum_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- outerOk_: boolean (nullable = true)
 |    |    |    |-- outerCovariance_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- outerDetId_: integer (nullable = true)
 |    |    |    |-- innerPosition_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- innerMomentum_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- innerOk_: boolean (nullable = true)
 |    |    |    |-- innerCovariance_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- innerDetId_: integer (nullable = true)
 |    |    |    |-- seedDir_: integer (nullable = true)
 |    |    |    |-- seedRef_: struct (nullable = true)
 |    |    |    |    |-- holder_: struct (nullable = true)
 |    |    |    |-- trackResiduals_: struct (nullable = true)
 |    |    |    |    |-- residuals_: array (nullable = true)
 |    |    |    |    |    |-- element: byte (containsNull = true)
 |    |    |    |    |-- residualType: byte (nullable = true)
 |-- recoTrackExtras_tevMuons_default_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTrackExtras_tevMuons_default_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackExtraBase: struct (nullable = true)
 |    |    |    |    |-- recHits_: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoTrackExtras_tevMuons_default_RECO_obj_recHits__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- outerPosition_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- outerMomentum_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- outerOk_: boolean (nullable = true)
 |    |    |    |-- outerCovariance_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- outerDetId_: integer (nullable = true)
 |    |    |    |-- innerPosition_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- innerMomentum_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- innerOk_: boolean (nullable = true)
 |    |    |    |-- innerCovariance_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- innerDetId_: integer (nullable = true)
 |    |    |    |-- seedDir_: integer (nullable = true)
 |    |    |    |-- seedRef_: struct (nullable = true)
 |    |    |    |    |-- holder_: struct (nullable = true)
 |    |    |    |-- trackResiduals_: struct (nullable = true)
 |    |    |    |    |-- residuals_: array (nullable = true)
 |    |    |    |    |    |-- element: byte (containsNull = true)
 |    |    |    |    |-- residualType: byte (nullable = true)
 |-- recoTrackExtras_tevMuons_dyt_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTrackExtras_tevMuons_dyt_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackExtraBase: struct (nullable = true)
 |    |    |    |    |-- recHits_: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoTrackExtras_tevMuons_dyt_RECO_obj_recHits__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- outerPosition_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- outerMomentum_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- outerOk_: boolean (nullable = true)
 |    |    |    |-- outerCovariance_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- outerDetId_: integer (nullable = true)
 |    |    |    |-- innerPosition_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- innerMomentum_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- innerOk_: boolean (nullable = true)
 |    |    |    |-- innerCovariance_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- innerDetId_: integer (nullable = true)
 |    |    |    |-- seedDir_: integer (nullable = true)
 |    |    |    |-- seedRef_: struct (nullable = true)
 |    |    |    |    |-- holder_: struct (nullable = true)
 |    |    |    |-- trackResiduals_: struct (nullable = true)
 |    |    |    |    |-- residuals_: array (nullable = true)
 |    |    |    |    |    |-- element: byte (containsNull = true)
 |    |    |    |    |-- residualType: byte (nullable = true)
 |-- recoTrackExtras_tevMuons_firstHit_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTrackExtras_tevMuons_firstHit_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackExtraBase: struct (nullable = true)
 |    |    |    |    |-- recHits_: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoTrackExtras_tevMuons_firstHit_RECO_obj_recHits__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- outerPosition_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- outerMomentum_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- outerOk_: boolean (nullable = true)
 |    |    |    |-- outerCovariance_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- outerDetId_: integer (nullable = true)
 |    |    |    |-- innerPosition_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- innerMomentum_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- innerOk_: boolean (nullable = true)
 |    |    |    |-- innerCovariance_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- innerDetId_: integer (nullable = true)
 |    |    |    |-- seedDir_: integer (nullable = true)
 |    |    |    |-- seedRef_: struct (nullable = true)
 |    |    |    |    |-- holder_: struct (nullable = true)
 |    |    |    |-- trackResiduals_: struct (nullable = true)
 |    |    |    |    |-- residuals_: array (nullable = true)
 |    |    |    |    |    |-- element: byte (containsNull = true)
 |    |    |    |    |-- residualType: byte (nullable = true)
 |-- recoTrackExtras_tevMuons_picky_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTrackExtras_tevMuons_picky_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::TrackExtraBase: struct (nullable = true)
 |    |    |    |    |-- recHits_: struct (nullable = true)
 |    |    |    |    |    |-- refVector_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- recoTrackExtras_tevMuons_picky_RECO_obj_recHits__refVector__keys_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |-- outerPosition_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- outerMomentum_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- outerOk_: boolean (nullable = true)
 |    |    |    |-- outerCovariance_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- outerDetId_: integer (nullable = true)
 |    |    |    |-- innerPosition_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- innerMomentum_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |-- innerOk_: boolean (nullable = true)
 |    |    |    |-- innerCovariance_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- innerDetId_: integer (nullable = true)
 |    |    |    |-- seedDir_: integer (nullable = true)
 |    |    |    |-- seedRef_: struct (nullable = true)
 |    |    |    |    |-- holder_: struct (nullable = true)
 |    |    |    |-- trackResiduals_: struct (nullable = true)
 |    |    |    |    |-- residuals_: array (nullable = true)
 |    |    |    |    |    |-- element: byte (containsNull = true)
 |    |    |    |    |-- residualType: byte (nullable = true)
 |-- recoTrackExtrapolations_trackExtrapolator__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTrackExtrapolations_trackExtrapolator__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- track_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- recoTrackExtrapolations_trackExtrapolator__RECO_obj_pos_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- recoTrackExtrapolations_trackExtrapolator__RECO_obj_mom_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |    |-- fZ: double (nullable = true)
 |-- recoTrackJets_ak5TrackJets__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoTrackJets_ak5TrackJets__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::Jet: struct (nullable = true)
 |    |    |    |    |-- reco::CompositePtrCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |    |-- recoTrackJets_ak5TrackJets__RECO_obj_dau: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- core_: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- key_: long (nullable = true)
 |    |    |    |    |-- mJetArea: float (nullable = true)
 |    |    |    |    |-- mPileupEnergy: float (nullable = true)
 |    |    |    |    |-- mPassNumber: integer (nullable = true)
 |    |    |    |-- vtx_: struct (nullable = true)
 |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |-- index_: integer (nullable = true)
 |-- recoVertexs_offlinePrimaryVertices__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoVertexs_offlinePrimaryVertices__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- recoVertexs_offlinePrimaryVertices__RECO_obj_tracks_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- holder_: struct (nullable = true)
 |    |    |    |-- recoVertexs_offlinePrimaryVertices__RECO_obj_refittedTracks_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- recoVertexs_offlinePrimaryVertices__RECO_obj_weights_: array (nullable = true)
 |    |    |    |    |-- element: byte (containsNull = true)
 |    |    |    |-- validity_: boolean (nullable = true)
 |-- recoVertexs_offlinePrimaryVerticesWithBS__RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoVertexs_offlinePrimaryVerticesWithBS__RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |-- position_: struct (nullable = true)
 |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |-- fX: double (nullable = true)
 |    |    |    |    |    |-- fY: double (nullable = true)
 |    |    |    |    |    |-- fZ: double (nullable = true)
 |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |-- recoVertexs_offlinePrimaryVerticesWithBS__RECO_obj_tracks_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- holder_: struct (nullable = true)
 |    |    |    |-- recoVertexs_offlinePrimaryVerticesWithBS__RECO_obj_refittedTracks_: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- reco::TrackBase: struct (nullable = true)
 |    |    |    |    |    |    |-- chi2_: float (nullable = true)
 |    |    |    |    |    |    |-- ndof_: float (nullable = true)
 |    |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- momentum_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |    |-- charge_: byte (nullable = true)
 |    |    |    |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: float (containsNull = true)
 |    |    |    |    |    |    |-- hitPattern_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |    |    |-- trackerExpectedHitsInner_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |    |    |-- trackerExpectedHitsOuter_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- hitPattern_: array (nullable = true)
 |    |    |    |    |    |    |    |    |-- element: integer (containsNull = true)
 |    |    |    |    |    |    |-- algorithm_: byte (nullable = true)
 |    |    |    |    |    |    |-- quality_: byte (nullable = true)
 |    |    |    |    |    |-- extra_: struct (nullable = true)
 |    |    |    |    |    |    |-- product_: struct (nullable = true)
 |    |    |    |    |    |    |    |-- processIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- productIndex_: short (nullable = true)
 |    |    |    |    |    |    |    |-- transient_: struct (nullable = true)
 |    |    |    |    |    |    |-- index_: integer (nullable = true)
 |    |    |    |-- recoVertexs_offlinePrimaryVerticesWithBS__RECO_obj_weights_: array (nullable = true)
 |    |    |    |    |-- element: byte (containsNull = true)
 |    |    |    |-- validity_: boolean (nullable = true)
 |-- recoVertexCompositeCandidates_generalV0Candidates_Kshort_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoVertexCompositeCandidates_generalV0Candidates_Kshort_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CompositeCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- dau: struct (nullable = true)
 |    |    |    |    |    |-- recoVertexCompositeCandidates_generalV0Candidates_Kshort_RECO_obj_dau_data_: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fixup_: struct (nullable = true)
 |    |    |    |    |-- name_: string (nullable = true)
 |    |    |    |    |-- recoVertexCompositeCandidates_generalV0Candidates_Kshort_RECO_obj_roles_: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- chi2_: double (nullable = true)
 |    |    |    |-- ndof_: double (nullable = true)
 |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |-- element: double (containsNull = true)
 |-- recoVertexCompositeCandidates_generalV0Candidates_Lambda_RECO_: struct (nullable = true)
 |    |-- edm::EDProduct: struct (nullable = true)
 |    |-- present: boolean (nullable = true)
 |    |-- recoVertexCompositeCandidates_generalV0Candidates_Lambda_RECO_obj: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- reco::CompositeCandidate: struct (nullable = true)
 |    |    |    |    |-- reco::LeafCandidate: struct (nullable = true)
 |    |    |    |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |    |    |    |-- qx3_: integer (nullable = true)
 |    |    |    |    |    |-- pt_: float (nullable = true)
 |    |    |    |    |    |-- eta_: float (nullable = true)
 |    |    |    |    |    |-- phi_: float (nullable = true)
 |    |    |    |    |    |-- mass_: float (nullable = true)
 |    |    |    |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |    |    |    |-- pdgId_: integer (nullable = true)
 |    |    |    |    |    |-- status_: integer (nullable = true)
 |    |    |    |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |    |    |    |-- cacheCartesianFixed_: struct (nullable = true)
 |    |    |    |    |-- dau: struct (nullable = true)
 |    |    |    |    |    |-- recoVertexCompositeCandidates_generalV0Candidates_Lambda_RECO_obj_dau_data_: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- fixup_: struct (nullable = true)
 |    |    |    |    |-- name_: string (nullable = true)
 |    |    |    |    |-- recoVertexCompositeCandidates_generalV0Candidates_Lambda_RECO_obj_roles_: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- chi2_: double (nullable = true)
 |    |    |    |-- ndof_: double (nullable = true)
 |    |    |    |-- covariance_: array (nullable = true)
 |    |    |    |    |-- element: double (containsNull = true)


In [6]:
# Example 2: same as example 1 above, but this time is reads the root files stored in EOS into a Spark Dataframe
# This requires to have the Hadoop-XRootD connector installed on the driver and on the cluster

df2 = spark.read \
        .format("org.dianahep.sparkroot") \
        .option("tree", "Events") \
        .load("root://eospublic.cern.ch://eos/opendata/cms/Run2010B/MuOnia/AOD/Apr21ReReco-v1/0000/FEEFB039-0978-E011-BB60-E41F131815BC.root")
        
# Note, the example above reads only 1 file
# to read the entire folder, change it to: 
#   load("root://eospublic.cern.ch://eos/opendata/cms/Run2010B/MuOnia/AOD/Apr21ReReco-v1/0000/")

In [8]:
# This is an actions, it reads the file and counts the events
df2.count()


Out[8]:
13864

In [10]:
# Defines slimmedEvents Dataframe, a projection from the larger Dataframe df2
slimmedEvents = df2.select("recoMuons_muons__RECO_.recoMuons_muons__RECO_obj.reco::RecoCandidate.reco::LeafCandidate")
slimmedEvents.printSchema()


root
 |-- reco::LeafCandidate: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- reco::Candidate: struct (nullable = true)
 |    |    |-- qx3_: integer (nullable = true)
 |    |    |-- pt_: float (nullable = true)
 |    |    |-- eta_: float (nullable = true)
 |    |    |-- phi_: float (nullable = true)
 |    |    |-- mass_: float (nullable = true)
 |    |    |-- vertex_: struct (nullable = true)
 |    |    |    |-- fCoordinates: struct (nullable = true)
 |    |    |    |    |-- fX: float (nullable = true)
 |    |    |    |    |-- fY: float (nullable = true)
 |    |    |    |    |-- fZ: float (nullable = true)
 |    |    |-- pdgId_: integer (nullable = true)
 |    |    |-- status_: integer (nullable = true)
 |    |    |-- cachePolarFixed_: struct (nullable = true)
 |    |    |-- cacheCartesianFixed_: struct (nullable = true)


In [11]:
slimmedEvents.show(2,False)


+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|reco::LeafCandidate                                                                                                                                                                                                                                                                                                                                                                                       |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|[[[],-3,3.9549181,-2.0905867,1.8988928,0.10565837,[[0.10327518,0.020786405,1.3933582]],13,0,[],[]], [[],3,3.6483605,-1.8247818,2.6947074,0.10565837,[[0.09587232,0.018905425,1.3185146]],-13,0,[],[]]]                                                                                                                                                                                                    |
|[[[],3,5.3376083,-0.3611046,-1.8344687,0.10565837,[[0.089024656,0.019779205,4.927702]],-13,0,[],[]], [[],3,1.6039398,-1.5058509,2.1634934,0.10565837,[[0.12674046,0.038688194,4.915895]],-13,0,[],[]], [[],3,1.3777475,1.6512322,-1.6246574,0.10565837,[[0.09208778,0.018129904,4.924547]],-13,0,[],[]], [[],3,1.1282717,1.6673683,-1.6144724,0.10565837,[[1.2773751,-0.03384967,1.6209582]],-13,0,[],[]]]|
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
only showing top 2 rows

Example of computation and visualization


In [29]:
from math import *
import numpy
from pyspark.sql import Row

In [30]:
def invariantMass(muon1, muon2):
    pt1 = abs(muon1.pt_)
    phi1 = muon1.phi_
    theta1 = 2.0*atan(exp(-muon1.eta_))
    px1 = pt1 * cos(phi1)
    py1 = pt1 * sin(phi1)
    pz1 = pt1 / tan(theta1)
    E1 = sqrt(px1**2 + py1**2 + pz1**2 + 0.10565836727619171**2)
    #
    pt2 = abs(muon2.pt_)
    phi2 = muon2.phi_
    theta2 = 2.0*atan(exp(-muon2.eta_))
    px2 = pt2 * cos(phi2)
    py2 = pt2 * sin(phi2)
    pz2 = pt2 / tan(theta2)
    E2 = sqrt(px2**2 + py2**2 + pz2**2 + 0.10565836727619171**2)
    #
    return sqrt((E1 + E2)**2 - (px1 + px2)**2 - (py1 + py2)**2 - (pz1 + pz2)**2)

def handleEvent(event):
    # decreasing order of muon pT
    sortedMuons = sorted(event[0], key=lambda muon: -muon.pt_)
    if len(sortedMuons) < 2:
        return []
    else:
        muon1, muon2 = sortedMuons[:2]
        # return [Row(mass=invariantMass(muon1, muon2), pt1=muon1.pt_, phi1=muon1.phi_, eta1=muon1.eta_, pt2=muon2.pt_, phi2=muon2.phi_, eta2=muon2.eta_)]
        return [invariantMass(muon1, muon2)]

In [31]:
dimuon_masses = slimmedEvents.rdd.flatMap(handleEvent).map(lambda x: (x, )).toDF().persist()

In [32]:
# This is an action and can take a few seconds/minutes depending the data size and number of executors
dimuon_masses.count()


Out[32]:
10522

In [34]:
dimuon_masses.show(5)


+-------------------+
|                 _1|
+-------------------+
|  3.120470005927365|
| 6.3942295038213475|
| 3.4798255853479803|
|0.29452593437575375|
|  2.964514468092298|
+-------------------+
only showing top 5 rows


In [35]:
# Setup matpolotlib for plotting
%pylab inline
pylab.rcParams['figure.figsize'] = (12.0, 8.0)


Populating the interactive namespace from numpy and matplotlib
/opt/anaconda2/lib/python2.7/site-packages/IPython/core/magics/pylab.py:161: UserWarning: pylab import has clobbered these variables: ['fmod', 'sinh', 'trunc', 'tan', 'gamma', 'cosh', 'radians', 'sin', 'expm1', 'ldexp', 'exp', 'frexp', 'ceil', 'copysign', 'isnan', 'cos', 'degrees', 'pi', 'tanh', 'fabs', 'sqrt', 'hypot', 'log', 'log10', 'e', 'log1p', 'floor', 'modf', 'isinf']
`%matplotlib` prevents importing * from pylab and numpy
  "\n`%matplotlib` prevents importing * from pylab and numpy"

In [39]:
tmpdf = dimuon_masses.toDF("Invariant Mass").limit(1000000)

tmpdf.toPandas().plot.hist(bins=200, range=[0, 10])
xlabel('Bin value')
ylabel('Count');



In [ ]: