diff --git a/DeepDoubleX/102X/V02/BvL.h5 b/DeepDoubleX/102X/V02/BvL.h5 new file mode 100644 index 0000000..5d3988a Binary files /dev/null and b/DeepDoubleX/102X/V02/BvL.h5 differ diff --git a/DeepDoubleX/102X/V02/BvL.onnx b/DeepDoubleX/102X/V02/BvL.onnx new file mode 100644 index 0000000..13940a8 Binary files /dev/null and b/DeepDoubleX/102X/V02/BvL.onnx differ diff --git a/DeepDoubleX/102X/V02/CvB.h5 b/DeepDoubleX/102X/V02/CvB.h5 new file mode 100644 index 0000000..1fd1232 Binary files /dev/null and b/DeepDoubleX/102X/V02/CvB.h5 differ diff --git a/DeepDoubleX/102X/V02/CvB.onnx b/DeepDoubleX/102X/V02/CvB.onnx new file mode 100644 index 0000000..d3b42ef Binary files /dev/null and b/DeepDoubleX/102X/V02/CvB.onnx differ diff --git a/DeepDoubleX/102X/V02/CvL.h5 b/DeepDoubleX/102X/V02/CvL.h5 new file mode 100644 index 0000000..97e4804 Binary files /dev/null and b/DeepDoubleX/102X/V02/CvL.h5 differ diff --git a/DeepDoubleX/102X/V02/CvL.onnx b/DeepDoubleX/102X/V02/CvL.onnx new file mode 100644 index 0000000..e801f26 Binary files /dev/null and b/DeepDoubleX/102X/V02/CvL.onnx differ diff --git a/DeepDoubleX/102X/V02/model_info.txt b/DeepDoubleX/102X/V02/model_info.txt new file mode 100644 index 0000000..7051b37 --- /dev/null +++ b/DeepDoubleX/102X/V02/model_info.txt @@ -0,0 +1,30 @@ +Trained in 2017, Phase-1, 102X configuration + +Sample info: + QCD:120M + H multimass: 60M (equal parts Hbb/Hcc) + +Training info: + 100 epochs + weighted + +Training reqs: + Keras 2.2.4 + Keras-Applications 1.0.6 + Keras-Preprocessing 1.0.5 + protobuf 3.6.1 + tensorboard 1.9.0 + tensorflow-gpu 1.9.0 + +Model convert/export reqs: + Keras 2.3.1 + Keras-Applications 1.0.8 + Keras-Preprocessing 1.1.0 + keras2onnx 1.6.5 + onnx 1.6.0 + onnxconverter-common 1.6.5 + onnxmltools 1.6.0 + tensorboard 1.14.0 + tensorflow 1.14.0 + +~ diff --git a/HiggsInteractionNet/V00/IN.onnx b/HiggsInteractionNet/V00/IN.onnx new file mode 100644 index 0000000..7e77af0 Binary files /dev/null and b/HiggsInteractionNet/V00/IN.onnx differ diff --git a/HiggsInteractionNet/V00/IN.pth b/HiggsInteractionNet/V00/IN.pth new file mode 100644 index 0000000..a2b78e8 Binary files /dev/null and b/HiggsInteractionNet/V00/IN.pth differ diff --git a/ParticleNetAK4/CHS/V00/README.md b/ParticleNetAK4/CHS/V00/README.md new file mode 100644 index 0000000..1155968 --- /dev/null +++ b/ParticleNetAK4/CHS/V00/README.md @@ -0,0 +1,9 @@ +# ParticleNetAK4-CHS-V00 + +This folder contains the ONNX models for the `ParticleNetAK4` tagger designed for AK4 jet tagging (i.e., b-/c-tagging, q/g-tagging, PU jet ID). The model is trained on AK4CHS jets using `RunIISummer19UL18MiniAOD` the following samples: + - `/TTToSemiLeptonic_mtop171p5_TuneCP5_13TeV-powheg-pythia8/RunIISummer19UL18MiniAOD-106X_upgrade2018_realistic_v11_L1v1-v2/MINIAODSIM` (300 files) + - `/TTToSemiLeptonic_mtop173p5_TuneCP5_13TeV-powheg-pythia8/RunIISummer19UL18MiniAOD-106X_upgrade2018_realistic_v11_L1v1-v2/MINIAODSIM` (300 files) + - `/QCD_Pt_XtoY_TuneCP5_13TeV_pythia8/RunIISummer19UL18MiniAOD-PUForMUOVal_106X_upgrade2018_realistic_v11_L1v1-v3/MINIAODSIM` (min_X=30, maxY=1400, 50 files each) + - `/BulkGravitonToHHTo4Q_MX-600to6000_MH-15to250_part*_TuneCP5_13TeV-madgraph_pythia8/RunIISummer19UL18MiniAOD-multigridpack_106X_upgrade2018_realistic_v11_L1v1-v1/MINIAODSIM` (300 files each) + +The output classes of the DNN can be found in the `preprocess.json` file. diff --git a/ParticleNetAK4/CHS/V00/particle-net.onnx b/ParticleNetAK4/CHS/V00/particle-net.onnx new file mode 100644 index 0000000..f6b2e2b Binary files /dev/null and b/ParticleNetAK4/CHS/V00/particle-net.onnx differ diff --git a/ParticleNetAK4/CHS/V00/preprocess.json b/ParticleNetAK4/CHS/V00/preprocess.json new file mode 100644 index 0000000..fa432aa --- /dev/null +++ b/ParticleNetAK4/CHS/V00/preprocess.json @@ -0,0 +1,401 @@ +{ + "output_names": [ + "label_b", + "label_bb", + "label_c", + "label_cc", + "label_uds", + "label_g", + "label_undef", + "label_pu" + ], + "input_names": [ + "pf_points", + "pf_features", + "pf_mask", + "sv_points", + "sv_features", + "sv_mask" + ], + "pf_points": { + "var_names": [ + "pfcand_etarel", + "pfcand_phirel" + ], + "var_infos": { + "pfcand_etarel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_phirel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + } + }, + "min_length": 8, + "max_length": 50 + }, + "pf_features": { + "var_names": [ + "pfcand_pt_log_nopuppi", + "pfcand_e_log_nopuppi", + "pfcand_etarel", + "pfcand_phirel", + "pfcand_abseta", + "pfcand_charge", + "pfcand_VTX_ass", + "pfcand_lostInnerHits", + "pfcand_normchi2", + "pfcand_quality", + "pfcand_dz", + "pfcand_dzsig", + "pfcand_dxy", + "pfcand_dxysig", + "pfcand_btagEtaRel", + "pfcand_btagPtRatio", + "pfcand_btagPParRatio", + "pfcand_btagSip3dVal", + "pfcand_btagSip3dSig", + "pfcand_btagJetDistVal" + ], + "var_infos": { + "pfcand_pt_log_nopuppi": { + "median": 0.8, + "norm_factor": 0.7, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_e_log_nopuppi": { + "median": 1.2, + "norm_factor": 0.6, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_etarel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_phirel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_abseta": { + "median": 0.8, + "norm_factor": 1.2, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_charge": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_VTX_ass": { + "median": 4, + "norm_factor": 0.3, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_lostInnerHits": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_normchi2": { + "median": 5, + "norm_factor": 0.2, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_quality": { + "median": 0, + "norm_factor": 0.2, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_dz": { + "median": 0, + "norm_factor": 150, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_dzsig": { + "median": 0, + "norm_factor": 0.7, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_dxy": { + "median": 0, + "norm_factor": 270, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_dxysig": { + "median": 1.1, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagEtaRel": { + "median": 2.1, + "norm_factor": 0.5, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagPtRatio": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagPParRatio": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagSip3dVal": { + "median": 0, + "norm_factor": 90, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagSip3dSig": { + "median": 0, + "norm_factor": 0.5, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagJetDistVal": { + "median": 0, + "norm_factor": 50, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + } + }, + "min_length": 8, + "max_length": 50 + }, + "pf_mask": { + "var_names": [ + "pfcand_mask" + ], + "var_infos": { + "pfcand_mask": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + } + }, + "min_length": 8, + "max_length": 50 + }, + "sv_points": { + "var_names": [ + "sv_etarel", + "sv_phirel" + ], + "var_infos": { + "sv_etarel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "sv_phirel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + } + }, + "min_length": 1, + "max_length": 5 + }, + "sv_features": { + "var_names": [ + "sv_pt_log", + "sv_mass", + "sv_etarel", + "sv_phirel", + "sv_abseta", + "sv_ntracks", + "sv_normchi2", + "sv_dxy", + "sv_dxysig", + "sv_d3d", + "sv_d3dsig" + ], + "var_infos": { + "sv_pt_log": { + "median": 2.8, + "norm_factor": 0.8, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_mass": { + "median": 1.1, + "norm_factor": 0.6, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_etarel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "sv_phirel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "sv_abseta": { + "median": 0.8, + "norm_factor": 1.2, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_ntracks": { + "median": 3, + "norm_factor": 0.5, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_normchi2": { + "median": 0.7, + "norm_factor": 0.7, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_dxy": { + "median": 0.2, + "norm_factor": 0.6, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_dxysig": { + "median": 5, + "norm_factor": 0.03, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_d3d": { + "median": 0.35, + "norm_factor": 0.4, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_d3dsig": { + "median": 5, + "norm_factor": 0.03, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + } + }, + "min_length": 1, + "max_length": 5 + }, + "sv_mask": { + "var_names": [ + "sv_mask" + ], + "var_infos": { + "sv_mask": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + } + }, + "min_length": 1, + "max_length": 5 + } +} \ No newline at end of file diff --git a/ParticleNetAK8/General/V00/ParticleNet-0000.params b/ParticleNetAK8/General/V00/ParticleNet-0000.params new file mode 100644 index 0000000..7d1bbbc Binary files /dev/null and b/ParticleNetAK8/General/V00/ParticleNet-0000.params differ diff --git a/ParticleNetAK8/General/V00/ParticleNet-symbol.json b/ParticleNetAK8/General/V00/ParticleNet-symbol.json new file mode 100644 index 0000000..4f75711 --- /dev/null +++ b/ParticleNetAK8/General/V00/ParticleNet-symbol.json @@ -0,0 +1,2509 @@ +{ + "nodes": [ + { + "op": "null", + "name": "pf_features", + "attrs": {"__shape__": "(1, 25, 100)"}, + "inputs": [] + }, + { + "op": "null", + "name": "conv0_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(32, 25, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "conv0_fwd", + "attrs": { + "dilate": "(1,)", + "kernel": "(1,)", + "layout": "NCW", + "no_bias": "True", + "num_filter": "32", + "num_group": "1", + "pad": "(0,)", + "stride": "(1,)" + }, + "inputs": [[0, 0, 0], [1, 0, 0]] + }, + { + "op": "null", + "name": "batchnorm0_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "batchnorm0_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "batchnorm0_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "batchnorm0_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "batchnorm0_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[2, 0, 0], [3, 0, 0], [4, 0, 0], [5, 0, 1], [6, 0, 1]] + }, + { + "op": "Activation", + "name": "relu0_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[7, 0, 0]] + }, + { + "op": "null", + "name": "sv_features", + "attrs": {"__shape__": "(1, 12, 7)"}, + "inputs": [] + }, + { + "op": "null", + "name": "conv1_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(32, 12, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "conv1_fwd", + "attrs": { + "dilate": "(1,)", + "kernel": "(1,)", + "layout": "NCW", + "no_bias": "True", + "num_filter": "32", + "num_group": "1", + "pad": "(0,)", + "stride": "(1,)" + }, + "inputs": [[9, 0, 0], [10, 0, 0]] + }, + { + "op": "null", + "name": "batchnorm1_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "batchnorm1_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "batchnorm1_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "batchnorm1_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "batchnorm1_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[11, 0, 0], [12, 0, 0], [13, 0, 0], [14, 0, 1], [15, 0, 1]] + }, + { + "op": "Activation", + "name": "relu1_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[16, 0, 0]] + }, + { + "op": "Concat", + "name": "concat1", + "attrs": { + "dim": "-1", + "num_args": "2" + }, + "inputs": [[8, 0, 0], [17, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_batchnorm0_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_batchnorm0_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_batchnorm0_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_batchnorm0_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_batchnorm0_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[18, 0, 0], [19, 0, 0], [20, 0, 0], [21, 0, 1], [22, 0, 1]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_conv3_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(64, 0, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv0_conv3_fwd", + "attrs": { + "dilate": "(1,)", + "kernel": "(1,)", + "layout": "NCW", + "no_bias": "True", + "num_filter": "64", + "num_group": "1", + "pad": "(0,)", + "stride": "(1,)" + }, + "inputs": [[23, 0, 0], [24, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm3_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm3_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm3_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm3_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm3_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[25, 0, 0], [26, 0, 0], [27, 0, 0], [28, 0, 1], [29, 0, 1]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv0_expand_dims0", + "attrs": {"axis": "3"}, + "inputs": [[23, 0, 0]] + }, + { + "op": "tile", + "name": "ParticleNet_pfcand_edgeconv0_tile0", + "attrs": {"reps": "(1, 1, 1, 16)"}, + "inputs": [[31, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0_transpose0", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[23, 0, 0]] + }, + { + "op": "_arange", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0__arange0", + "attrs": { + "dtype": "float32", + "infer_range": "False", + "repeat": "1", + "start": "1", + "step": "1.0", + "stop": "None" + }, + "inputs": [] + }, + { + "op": "Reshape", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0_reshape0", + "attrs": {"shape": "(-1, 1, 1)"}, + "inputs": [[34, 0, 0]] + }, + { + "op": "tile", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0_tile0", + "attrs": {"reps": "(1, 107, 16)"}, + "inputs": [[35, 0, 0]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0_expand_dims0", + "attrs": {"axis": "0"}, + "inputs": [[36, 0, 0]] + }, + { + "op": "null", + "name": "pf_mask", + "attrs": {"__shape__": "(1, 1, 100)"}, + "inputs": [] + }, + { + "op": "null", + "name": "sv_mask", + "attrs": {"__shape__": "(1, 1, 7)"}, + "inputs": [] + }, + { + "op": "Concat", + "name": "concat2", + "attrs": { + "dim": "-1", + "num_args": "2" + }, + "inputs": [[38, 0, 0], [39, 0, 0]] + }, + { + "op": "_not_equal_scalar", + "name": "ParticleNet_pfcand__not_equal_scalar0", + "attrs": {"scalar": "0"}, + "inputs": [[40, 0, 0]] + }, + { + "op": "_equal_scalar", + "name": "ParticleNet_pfcand__equal_scalar0", + "attrs": {"scalar": "0"}, + "inputs": [[41, 0, 0]] + }, + { + "op": "_mul_scalar", + "name": "ParticleNet_pfcand__mulscalar0", + "attrs": {"scalar": "99.0"}, + "inputs": [[42, 0, 0]] + }, + { + "op": "null", + "name": "pf_points", + "attrs": {"__shape__": "(1, 2, 100)"}, + "inputs": [] + }, + { + "op": "null", + "name": "sv_points", + "attrs": {"__shape__": "(1, 2, 7)"}, + "inputs": [] + }, + { + "op": "Concat", + "name": "concat0", + "attrs": { + "dim": "-1", + "num_args": "2" + }, + "inputs": [[44, 0, 0], [45, 0, 0]] + }, + { + "op": "broadcast_add", + "name": "ParticleNet_pfcand_broadcast_add0", + "inputs": [[43, 0, 0], [46, 0, 0]] + }, + { + "op": "elemwise_mul", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0__mul0", + "inputs": [[47, 0, 0], [47, 0, 0]] + }, + { + "op": "sum", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0_sum0", + "attrs": { + "axis": "1", + "keepdims": "True" + }, + "inputs": [[48, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0_transpose1", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[49, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0_transpose0", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[47, 0, 0]] + }, + { + "op": "batch_dot", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0_batch_dot0", + "inputs": [[51, 0, 0], [47, 0, 0]] + }, + { + "op": "_mul_scalar", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0__mulscalar0", + "attrs": {"scalar": "2"}, + "inputs": [[52, 0, 0]] + }, + { + "op": "broadcast_sub", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0_broadcast_sub0", + "inputs": [[50, 0, 0], [53, 0, 0]] + }, + { + "op": "elemwise_mul", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0__mul1", + "inputs": [[47, 0, 0], [47, 0, 0]] + }, + { + "op": "sum", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0_sum1", + "attrs": { + "axis": "1", + "keepdims": "True" + }, + "inputs": [[55, 0, 0]] + }, + { + "op": "broadcast_add", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0_broadcast_add0", + "inputs": [[54, 0, 0], [56, 0, 0]] + }, + { + "op": "topk", + "name": "ParticleNet_pfcand_edgeconv0_topk0", + "attrs": { + "axis": "-1", + "dtype": "float32", + "is_ascend": "True", + "k": "17", + "ret_typ": "indices" + }, + "inputs": [[57, 0, 0]] + }, + { + "op": "slice_axis", + "name": "ParticleNet_pfcand_edgeconv0_slice_axis0", + "attrs": { + "axis": "-1", + "begin": "1", + "end": "None" + }, + "inputs": [[58, 0, 0]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0_expand_dims1", + "attrs": {"axis": "0"}, + "inputs": [[59, 0, 0]] + }, + { + "op": "Concat", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0_concat0", + "attrs": { + "dim": "0", + "num_args": "2" + }, + "inputs": [[37, 0, 0], [60, 0, 0]] + }, + { + "op": "gather_nd", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0_gather_nd0", + "inputs": [[33, 0, 0], [61, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0_transpose1", + "attrs": {"axes": "(0, 3, 1, 2)"}, + "inputs": [[62, 0, 0]] + }, + { + "op": "elemwise_sub", + "name": "ParticleNet_pfcand_edgeconv0__minus0", + "inputs": [[63, 0, 0], [32, 0, 0]] + }, + { + "op": "Concat", + "name": "ParticleNet_pfcand_edgeconv0_concat0", + "attrs": { + "dim": "1", + "num_args": "2" + }, + "inputs": [[32, 0, 0], [64, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_conv0_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(64, 0, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv0_conv0_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "64", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[65, 0, 0], [66, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm0_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm0_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm0_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm0_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm0_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[67, 0, 0], [68, 0, 0], [69, 0, 0], [70, 0, 1], [71, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv0_relu0_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[72, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_conv1_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(64, 64, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv0_conv1_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "64", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[73, 0, 0], [74, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm1_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm1_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm1_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm1_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm1_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[75, 0, 0], [76, 0, 0], [77, 0, 0], [78, 0, 1], [79, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv0_relu1_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[80, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_conv2_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(64, 64, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv0_conv2_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "64", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[81, 0, 0], [82, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm2_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm2_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm2_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm2_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm2_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[83, 0, 0], [84, 0, 0], [85, 0, 0], [86, 0, 1], [87, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv0_relu2_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[88, 0, 0]] + }, + { + "op": "mean", + "name": "ParticleNet_pfcand_edgeconv0_mean0", + "attrs": {"axis": "-1"}, + "inputs": [[89, 0, 0]] + }, + { + "op": "elemwise_add", + "name": "ParticleNet_pfcand_edgeconv0__plus0", + "inputs": [[30, 0, 0], [90, 0, 0]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv0_relu3_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[91, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_conv3_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(128, 64, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv1_conv3_fwd", + "attrs": { + "dilate": "(1,)", + "kernel": "(1,)", + "layout": "NCW", + "no_bias": "True", + "num_filter": "128", + "num_group": "1", + "pad": "(0,)", + "stride": "(1,)" + }, + "inputs": [[92, 0, 0], [93, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm3_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm3_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm3_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm3_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm3_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[94, 0, 0], [95, 0, 0], [96, 0, 0], [97, 0, 1], [98, 0, 1]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv1_expand_dims0", + "attrs": {"axis": "3"}, + "inputs": [[92, 0, 0]] + }, + { + "op": "tile", + "name": "ParticleNet_pfcand_edgeconv1_tile0", + "attrs": {"reps": "(1, 1, 1, 16)"}, + "inputs": [[100, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0_transpose0", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[92, 0, 0]] + }, + { + "op": "_arange", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0__arange0", + "attrs": { + "dtype": "float32", + "infer_range": "False", + "repeat": "1", + "start": "1", + "step": "1.0", + "stop": "None" + }, + "inputs": [] + }, + { + "op": "Reshape", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0_reshape0", + "attrs": {"shape": "(-1, 1, 1)"}, + "inputs": [[103, 0, 0]] + }, + { + "op": "tile", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0_tile0", + "attrs": {"reps": "(1, 107, 16)"}, + "inputs": [[104, 0, 0]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0_expand_dims0", + "attrs": {"axis": "0"}, + "inputs": [[105, 0, 0]] + }, + { + "op": "broadcast_add", + "name": "ParticleNet_pfcand_broadcast_add1", + "inputs": [[43, 0, 0], [92, 0, 0]] + }, + { + "op": "elemwise_mul", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0__mul0", + "inputs": [[107, 0, 0], [107, 0, 0]] + }, + { + "op": "sum", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0_sum0", + "attrs": { + "axis": "1", + "keepdims": "True" + }, + "inputs": [[108, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0_transpose1", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[109, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0_transpose0", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[107, 0, 0]] + }, + { + "op": "batch_dot", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0_batch_dot0", + "inputs": [[111, 0, 0], [107, 0, 0]] + }, + { + "op": "_mul_scalar", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0__mulscalar0", + "attrs": {"scalar": "2"}, + "inputs": [[112, 0, 0]] + }, + { + "op": "broadcast_sub", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0_broadcast_sub0", + "inputs": [[110, 0, 0], [113, 0, 0]] + }, + { + "op": "elemwise_mul", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0__mul1", + "inputs": [[107, 0, 0], [107, 0, 0]] + }, + { + "op": "sum", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0_sum1", + "attrs": { + "axis": "1", + "keepdims": "True" + }, + "inputs": [[115, 0, 0]] + }, + { + "op": "broadcast_add", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0_broadcast_add0", + "inputs": [[114, 0, 0], [116, 0, 0]] + }, + { + "op": "topk", + "name": "ParticleNet_pfcand_edgeconv1_topk0", + "attrs": { + "axis": "-1", + "dtype": "float32", + "is_ascend": "True", + "k": "17", + "ret_typ": "indices" + }, + "inputs": [[117, 0, 0]] + }, + { + "op": "slice_axis", + "name": "ParticleNet_pfcand_edgeconv1_slice_axis0", + "attrs": { + "axis": "-1", + "begin": "1", + "end": "None" + }, + "inputs": [[118, 0, 0]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0_expand_dims1", + "attrs": {"axis": "0"}, + "inputs": [[119, 0, 0]] + }, + { + "op": "Concat", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0_concat0", + "attrs": { + "dim": "0", + "num_args": "2" + }, + "inputs": [[106, 0, 0], [120, 0, 0]] + }, + { + "op": "gather_nd", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0_gather_nd0", + "inputs": [[102, 0, 0], [121, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0_transpose1", + "attrs": {"axes": "(0, 3, 1, 2)"}, + "inputs": [[122, 0, 0]] + }, + { + "op": "elemwise_sub", + "name": "ParticleNet_pfcand_edgeconv1__minus0", + "inputs": [[123, 0, 0], [101, 0, 0]] + }, + { + "op": "Concat", + "name": "ParticleNet_pfcand_edgeconv1_concat0", + "attrs": { + "dim": "1", + "num_args": "2" + }, + "inputs": [[101, 0, 0], [124, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_conv0_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(128, 128, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv1_conv0_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "128", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[125, 0, 0], [126, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm0_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm0_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm0_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm0_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm0_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[127, 0, 0], [128, 0, 0], [129, 0, 0], [130, 0, 1], [131, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv1_relu0_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[132, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_conv1_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(128, 128, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv1_conv1_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "128", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[133, 0, 0], [134, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm1_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm1_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm1_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm1_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm1_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[135, 0, 0], [136, 0, 0], [137, 0, 0], [138, 0, 1], [139, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv1_relu1_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[140, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_conv2_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(128, 128, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv1_conv2_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "128", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[141, 0, 0], [142, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm2_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm2_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm2_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm2_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm2_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[143, 0, 0], [144, 0, 0], [145, 0, 0], [146, 0, 1], [147, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv1_relu2_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[148, 0, 0]] + }, + { + "op": "mean", + "name": "ParticleNet_pfcand_edgeconv1_mean0", + "attrs": {"axis": "-1"}, + "inputs": [[149, 0, 0]] + }, + { + "op": "elemwise_add", + "name": "ParticleNet_pfcand_edgeconv1__plus0", + "inputs": [[99, 0, 0], [150, 0, 0]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv1_relu3_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[151, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_conv3_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(256, 128, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv2_conv3_fwd", + "attrs": { + "dilate": "(1,)", + "kernel": "(1,)", + "layout": "NCW", + "no_bias": "True", + "num_filter": "256", + "num_group": "1", + "pad": "(0,)", + "stride": "(1,)" + }, + "inputs": [[152, 0, 0], [153, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm3_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm3_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm3_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm3_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm3_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[154, 0, 0], [155, 0, 0], [156, 0, 0], [157, 0, 1], [158, 0, 1]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv2_expand_dims0", + "attrs": {"axis": "3"}, + "inputs": [[152, 0, 0]] + }, + { + "op": "tile", + "name": "ParticleNet_pfcand_edgeconv2_tile0", + "attrs": {"reps": "(1, 1, 1, 16)"}, + "inputs": [[160, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0_transpose0", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[152, 0, 0]] + }, + { + "op": "_arange", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0__arange0", + "attrs": { + "dtype": "float32", + "infer_range": "False", + "repeat": "1", + "start": "1", + "step": "1.0", + "stop": "None" + }, + "inputs": [] + }, + { + "op": "Reshape", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0_reshape0", + "attrs": {"shape": "(-1, 1, 1)"}, + "inputs": [[163, 0, 0]] + }, + { + "op": "tile", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0_tile0", + "attrs": {"reps": "(1, 107, 16)"}, + "inputs": [[164, 0, 0]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0_expand_dims0", + "attrs": {"axis": "0"}, + "inputs": [[165, 0, 0]] + }, + { + "op": "broadcast_add", + "name": "ParticleNet_pfcand_broadcast_add2", + "inputs": [[43, 0, 0], [152, 0, 0]] + }, + { + "op": "elemwise_mul", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0__mul0", + "inputs": [[167, 0, 0], [167, 0, 0]] + }, + { + "op": "sum", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0_sum0", + "attrs": { + "axis": "1", + "keepdims": "True" + }, + "inputs": [[168, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0_transpose1", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[169, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0_transpose0", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[167, 0, 0]] + }, + { + "op": "batch_dot", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0_batch_dot0", + "inputs": [[171, 0, 0], [167, 0, 0]] + }, + { + "op": "_mul_scalar", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0__mulscalar0", + "attrs": {"scalar": "2"}, + "inputs": [[172, 0, 0]] + }, + { + "op": "broadcast_sub", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0_broadcast_sub0", + "inputs": [[170, 0, 0], [173, 0, 0]] + }, + { + "op": "elemwise_mul", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0__mul1", + "inputs": [[167, 0, 0], [167, 0, 0]] + }, + { + "op": "sum", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0_sum1", + "attrs": { + "axis": "1", + "keepdims": "True" + }, + "inputs": [[175, 0, 0]] + }, + { + "op": "broadcast_add", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0_broadcast_add0", + "inputs": [[174, 0, 0], [176, 0, 0]] + }, + { + "op": "topk", + "name": "ParticleNet_pfcand_edgeconv2_topk0", + "attrs": { + "axis": "-1", + "dtype": "float32", + "is_ascend": "True", + "k": "17", + "ret_typ": "indices" + }, + "inputs": [[177, 0, 0]] + }, + { + "op": "slice_axis", + "name": "ParticleNet_pfcand_edgeconv2_slice_axis0", + "attrs": { + "axis": "-1", + "begin": "1", + "end": "None" + }, + "inputs": [[178, 0, 0]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0_expand_dims1", + "attrs": {"axis": "0"}, + "inputs": [[179, 0, 0]] + }, + { + "op": "Concat", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0_concat0", + "attrs": { + "dim": "0", + "num_args": "2" + }, + "inputs": [[166, 0, 0], [180, 0, 0]] + }, + { + "op": "gather_nd", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0_gather_nd0", + "inputs": [[162, 0, 0], [181, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0_transpose1", + "attrs": {"axes": "(0, 3, 1, 2)"}, + "inputs": [[182, 0, 0]] + }, + { + "op": "elemwise_sub", + "name": "ParticleNet_pfcand_edgeconv2__minus0", + "inputs": [[183, 0, 0], [161, 0, 0]] + }, + { + "op": "Concat", + "name": "ParticleNet_pfcand_edgeconv2_concat0", + "attrs": { + "dim": "1", + "num_args": "2" + }, + "inputs": [[161, 0, 0], [184, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_conv0_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(256, 256, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv2_conv0_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "256", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[185, 0, 0], [186, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm0_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm0_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm0_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm0_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm0_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[187, 0, 0], [188, 0, 0], [189, 0, 0], [190, 0, 1], [191, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv2_relu0_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[192, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_conv1_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(256, 256, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv2_conv1_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "256", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[193, 0, 0], [194, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm1_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm1_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm1_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm1_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm1_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[195, 0, 0], [196, 0, 0], [197, 0, 0], [198, 0, 1], [199, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv2_relu1_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[200, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_conv2_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(256, 256, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv2_conv2_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "256", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[201, 0, 0], [202, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm2_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm2_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm2_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm2_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm2_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[203, 0, 0], [204, 0, 0], [205, 0, 0], [206, 0, 1], [207, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv2_relu2_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[208, 0, 0]] + }, + { + "op": "mean", + "name": "ParticleNet_pfcand_edgeconv2_mean0", + "attrs": {"axis": "-1"}, + "inputs": [[209, 0, 0]] + }, + { + "op": "elemwise_add", + "name": "ParticleNet_pfcand_edgeconv2__plus0", + "inputs": [[159, 0, 0], [210, 0, 0]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv2_relu3_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[211, 0, 0]] + }, + { + "op": "broadcast_mul", + "name": "ParticleNet_pfcand_broadcast_mul0", + "inputs": [[212, 0, 0], [41, 0, 0]] + }, + { + "op": "mean", + "name": "ParticleNet_pfcand_mean0", + "attrs": {"axis": "-1"}, + "inputs": [[213, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_dense1_weight", + "attrs": { + "__dtype__": "0", + "__lr_mult__": "1.0", + "__shape__": "(256, 0)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_dense1_bias", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(256,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "FullyConnected", + "name": "ParticleNet_pfcand_dense1_fwd", + "attrs": { + "flatten": "False", + "no_bias": "False", + "num_hidden": "256" + }, + "inputs": [[214, 0, 0], [215, 0, 0], [216, 0, 0]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_relu0_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[217, 0, 0]] + }, + { + "op": "Dropout", + "name": "ParticleNet_pfcand_dropout0_fwd", + "attrs": { + "axes": "()", + "cudnn_off": "False", + "p": "0.1" + }, + "inputs": [[218, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_dense3_weight", + "attrs": { + "__dtype__": "0", + "__lr_mult__": "1.0", + "__shape__": "(20, 0)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_dense3_bias", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(20,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "FullyConnected", + "name": "ParticleNet_pfcand_dense3_fwd", + "attrs": { + "flatten": "False", + "no_bias": "False", + "num_hidden": "20" + }, + "inputs": [[219, 0, 0], [220, 0, 0], [221, 0, 0]] + }, + { + "op": "null", + "name": "softmax_label", + "inputs": [] + }, + { + "op": "SoftmaxOutput", + "name": "softmax", + "inputs": [[222, 0, 0], [223, 0, 0]] + } + ], + "arg_nodes": [ + 0, + 1, + 3, + 4, + 5, + 6, + 9, + 10, + 12, + 13, + 14, + 15, + 19, + 20, + 21, + 22, + 24, + 26, + 27, + 28, + 29, + 38, + 39, + 44, + 45, + 66, + 68, + 69, + 70, + 71, + 74, + 76, + 77, + 78, + 79, + 82, + 84, + 85, + 86, + 87, + 93, + 95, + 96, + 97, + 98, + 126, + 128, + 129, + 130, + 131, + 134, + 136, + 137, + 138, + 139, + 142, + 144, + 145, + 146, + 147, + 153, + 155, + 156, + 157, + 158, + 186, + 188, + 189, + 190, + 191, + 194, + 196, + 197, + 198, + 199, + 202, + 204, + 205, + 206, + 207, + 215, + 216, + 220, + 221, + 223 + ], + "node_row_ptr": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 251, + 252, + 253, + 254, + 255, + 256 + ], + "heads": [[224, 0, 0]], + "attrs": {"mxnet_version": ["int", 10500]} +} \ No newline at end of file diff --git a/ParticleNetAK8/General/V00/ParticleNet.onnx b/ParticleNetAK8/General/V00/ParticleNet.onnx new file mode 100644 index 0000000..31e5400 Binary files /dev/null and b/ParticleNetAK8/General/V00/ParticleNet.onnx differ diff --git a/ParticleNetAK8/General/V00/README.md b/ParticleNetAK8/General/V00/README.md new file mode 100644 index 0000000..e50f456 --- /dev/null +++ b/ParticleNetAK8/General/V00/README.md @@ -0,0 +1,26 @@ +# ParticleNetAK8-General-V00 + +This folder contains the MXNet models for the ParticleNet tagger designed for identifying Top/W/Z/H and their decay modes. No mass decorrelation is performed. The model is trained on AK8Puppi jets using `RunIIFall17MiniAODv2` samples. + +The output classes of the DNN are: + - probTbcq + - probTbqq + - probTbc + - probTbq + - probTbel + - probTbmu + - probTbta + - probWcq + - probWqq + - probZbb + - probZcc + - probZqq + - probHbb + - probHcc + - probHqqqq + - probQCDbb + - probQCDcc + - probQCDb + - probQCDc + - probQCDothers + diff --git a/ParticleNetAK8/General/V00/preprocess.json b/ParticleNetAK8/General/V00/preprocess.json new file mode 100644 index 0000000..7e8ea44 --- /dev/null +++ b/ParticleNetAK8/General/V00/preprocess.json @@ -0,0 +1,491 @@ +{ + "flav_names": [ + "probTbcq", + "probTbqq", + "probTbc", + "probTbq", + "probTbel", + "probTbmu", + "probTbta", + "probWcq", + "probWqq", + "probZbb", + "probZcc", + "probZqq", + "probHbb", + "probHcc", + "probHqqqq", + "probQCDbb", + "probQCDcc", + "probQCDb", + "probQCDc", + "probQCDothers" + ], + "input_names": [ + "pf_features", + "pf_mask", + "pf_points", + "sv_features", + "sv_mask", + "sv_points" + ], + "pf_features": { + "input_shape": [ + 1, + 25, + 100 + ], + "var_infos": { + "pfcand_VTX_ass": { + "lower_bound": -5, + "median": 7.0, + "norm_factor": 1.0, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_abseta": { + "lower_bound": -5, + "median": 0.5702078342437744, + "norm_factor": 1.650397941755878, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_btagEtaRel": { + "lower_bound": -5, + "median": 1.0216445922851562, + "norm_factor": 0.45049464765653174, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_btagJetDistVal": { + "lower_bound": -5, + "median": -8.01788191893138e-05, + "norm_factor": 172.90023485322902, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_btagPParRatio": { + "lower_bound": -5, + "median": 0.7776329517364502, + "norm_factor": 1.285953736614434, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_btagPtRatio": { + "lower_bound": -5, + "median": 0.00793754169717431, + "norm_factor": 4.417789653724297, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_btagSip3dSig": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 0.8715343291648558, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_btagSip3dVal": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 252.16555414799987, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_charge": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 1.0, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_dxy": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 473.799859237899, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_dxysig": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 1.6631890202427042, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_dz": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 297.4582326677144, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_dzsig": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 1.386900984493749, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_e_log_nopuppi": { + "lower_bound": -5, + "median": 1.4215530753135681, + "norm_factor": 0.5199271364891452, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_etarel": { + "lower_bound": -5, + "median": -0.0048187340144068, + "norm_factor": 4.447982755171238, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_isChargedHad": { + "lower_bound": -5, + "median": 1.0, + "norm_factor": 1.0, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_isEl": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 1.0, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_isGamma": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 1.0, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_isMu": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 1.0, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_isNeutralHad": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 1.0, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_lostInnerHits": { + "lower_bound": -5, + "median": -1.0, + "norm_factor": 1.0, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_normchi2": { + "lower_bound": -5, + "median": 3.0, + "norm_factor": 0.001004016064257028, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_phirel": { + "lower_bound": -5, + "median": -0.00010839945389307104, + "norm_factor": 4.3979230443753865, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_pt_log_nopuppi": { + "lower_bound": -5, + "median": 1.12241530418396, + "norm_factor": 0.5143548435556096, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_quality": { + "lower_bound": -5, + "median": 5.0, + "norm_factor": 0.2, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + } + }, + "var_length": 100, + "var_names": [ + "pfcand_pt_log_nopuppi", + "pfcand_e_log_nopuppi", + "pfcand_etarel", + "pfcand_phirel", + "pfcand_abseta", + "pfcand_charge", + "pfcand_isMu", + "pfcand_isEl", + "pfcand_isChargedHad", + "pfcand_isGamma", + "pfcand_isNeutralHad", + "pfcand_VTX_ass", + "pfcand_lostInnerHits", + "pfcand_normchi2", + "pfcand_quality", + "pfcand_dz", + "pfcand_dzsig", + "pfcand_dxy", + "pfcand_dxysig", + "pfcand_btagEtaRel", + "pfcand_btagPtRatio", + "pfcand_btagPParRatio", + "pfcand_btagSip3dVal", + "pfcand_btagSip3dSig", + "pfcand_btagJetDistVal" + ] + }, + "pf_mask": { + "input_shape": [ + 1, + 1, + 100 + ], + "var_infos": { + "pfcand_mask": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 1.0, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + } + }, + "var_length": 100, + "var_names": [ + "pfcand_mask" + ] + }, + "pf_points": { + "input_shape": [ + 1, + 2, + 100 + ], + "var_infos": { + "pfcand_etarel": { + "lower_bound": -5, + "median": -0.0048187340144068, + "norm_factor": 4.447982755171238, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_phirel": { + "lower_bound": -5, + "median": -0.00010839945389307104, + "norm_factor": 4.3979230443753865, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + } + }, + "var_length": 100, + "var_names": [ + "pfcand_etarel", + "pfcand_phirel" + ] + }, + "sv_features": { + "input_shape": [ + 1, + 12, + 7 + ], + "var_infos": { + "sv_abseta": { + "lower_bound": -5, + "median": 0.5491966009140015, + "norm_factor": 1.5939476880115426, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_costhetasvpv": { + "lower_bound": -5, + "median": 0.9997627139091492, + "norm_factor": 183.23339376597278, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_d3d": { + "lower_bound": -5, + "median": 0.5513421297073364, + "norm_factor": 0.22312815380609285, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_d3dsig": { + "lower_bound": -5, + "median": 8.356559753417969, + "norm_factor": 0.02389999546951837, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_dxy": { + "lower_bound": -5, + "median": 0.4215024411678314, + "norm_factor": 0.31221827708813427, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_dxysig": { + "lower_bound": -5, + "median": 8.344268798828125, + "norm_factor": 0.02390170557794748, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_etarel": { + "lower_bound": -5, + "median": -0.002474044682458043, + "norm_factor": 8.444601883624355, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_mass": { + "lower_bound": -5, + "median": 1.3346953392028809, + "norm_factor": 0.30923084883711116, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_normchi2": { + "lower_bound": -5, + "median": 0.8069154620170593, + "norm_factor": 0.7244960986579544, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_ntracks": { + "lower_bound": -5, + "median": 3.0, + "norm_factor": 0.5, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_phirel": { + "lower_bound": -5, + "median": 0.000502154347486794, + "norm_factor": 8.732433887710727, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_pt_log": { + "lower_bound": -5, + "median": 3.7832536697387695, + "norm_factor": 0.6925381441482783, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + } + }, + "var_length": 7, + "var_names": [ + "sv_pt_log", + "sv_mass", + "sv_phirel", + "sv_etarel", + "sv_abseta", + "sv_ntracks", + "sv_normchi2", + "sv_dxy", + "sv_dxysig", + "sv_d3d", + "sv_d3dsig", + "sv_costhetasvpv" + ] + }, + "sv_mask": { + "input_shape": [ + 1, + 1, + 7 + ], + "var_infos": { + "sv_mask": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 1.0, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + } + }, + "var_length": 7, + "var_names": [ + "sv_mask" + ] + }, + "sv_points": { + "input_shape": [ + 1, + 2, + 7 + ], + "var_infos": { + "sv_etarel": { + "lower_bound": -5, + "median": -0.002474044682458043, + "norm_factor": 8.444601883624355, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_phirel": { + "lower_bound": -5, + "median": 0.000502154347486794, + "norm_factor": 8.732433887710727, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + } + }, + "var_length": 7, + "var_names": [ + "sv_phirel", + "sv_etarel" + ] + } +} \ No newline at end of file diff --git a/ParticleNetAK8/General/V01/README.md b/ParticleNetAK8/General/V01/README.md new file mode 100644 index 0000000..1172a9f --- /dev/null +++ b/ParticleNetAK8/General/V01/README.md @@ -0,0 +1,5 @@ +# ParticleNetAK8-General-V01 + +This folder contains the ONNX models for the ParticleNet tagger designed for identifying Top/W/Z/H and their decay modes. No mass decorrelation is performed. The model is trained on AK8Puppi jets using `RunIISummer19UL17MiniAOD` and `RunIISummer19UL18MiniAOD` samples with Puppi tune `V14`. + +The output classes of the DNN can be found in the `preprocess.json` file. diff --git a/ParticleNetAK8/General/V01/particle-net.onnx b/ParticleNetAK8/General/V01/particle-net.onnx new file mode 100755 index 0000000..fd94d4b Binary files /dev/null and b/ParticleNetAK8/General/V01/particle-net.onnx differ diff --git a/ParticleNetAK8/General/V01/preprocess.json b/ParticleNetAK8/General/V01/preprocess.json new file mode 100755 index 0000000..7dc651e --- /dev/null +++ b/ParticleNetAK8/General/V01/preprocess.json @@ -0,0 +1,458 @@ +{ + "output_names": [ + "label_Top_bcq", + "label_Top_bqq", + "label_Top_bc", + "label_Top_bq", + "label_Top_bele", + "label_Top_bmu", + "label_Top_btau", + "label_W_cq", + "label_W_qq", + "label_Z_bb", + "label_Z_cc", + "label_Z_qq", + "label_H_bb", + "label_H_cc", + "label_H_qqqq", + "label_QCD_bb", + "label_QCD_cc", + "label_QCD_b", + "label_QCD_c", + "label_QCD_others" + ], + "input_names": [ + "pf_points", + "pf_features", + "pf_mask", + "sv_points", + "sv_features", + "sv_mask" + ], + "pf_points": { + "var_names": [ + "pfcand_etarel", + "pfcand_phirel" + ], + "var_infos": { + "pfcand_etarel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_phirel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + } + }, + "min_length": 16, + "max_length": 100 + }, + "pf_features": { + "var_names": [ + "pfcand_pt_log_nopuppi", + "pfcand_e_log_nopuppi", + "pfcand_etarel", + "pfcand_phirel", + "pfcand_abseta", + "pfcand_charge", + "pfcand_isEl", + "pfcand_isMu", + "pfcand_isGamma", + "pfcand_isChargedHad", + "pfcand_isNeutralHad", + "pfcand_VTX_ass", + "pfcand_lostInnerHits", + "pfcand_normchi2", + "pfcand_quality", + "pfcand_dz", + "pfcand_dzsig", + "pfcand_dxy", + "pfcand_dxysig", + "pfcand_btagEtaRel", + "pfcand_btagPtRatio", + "pfcand_btagPParRatio", + "pfcand_btagSip3dVal", + "pfcand_btagSip3dSig", + "pfcand_btagJetDistVal" + ], + "var_infos": { + "pfcand_pt_log_nopuppi": { + "median": 1, + "norm_factor": 0.5, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_e_log_nopuppi": { + "median": 1.3, + "norm_factor": 0.5, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_etarel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_phirel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_abseta": { + "median": 0.6, + "norm_factor": 1.6, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_charge": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_isEl": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_isMu": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_isGamma": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_isChargedHad": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_isNeutralHad": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_VTX_ass": { + "median": 4, + "norm_factor": 0.3, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_lostInnerHits": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_normchi2": { + "median": 5, + "norm_factor": 0.2, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_quality": { + "median": 0, + "norm_factor": 0.2, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_dz": { + "median": 0, + "norm_factor": 180, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_dzsig": { + "median": 0, + "norm_factor": 0.9, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_dxy": { + "median": 0.0, + "norm_factor": 300, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_dxysig": { + "median": 0, + "norm_factor": 1.0, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagEtaRel": { + "median": 1.5, + "norm_factor": 0.5, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagPtRatio": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagPParRatio": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagSip3dVal": { + "median": 0, + "norm_factor": 100, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagSip3dSig": { + "median": 0, + "norm_factor": 0.5, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagJetDistVal": { + "median": 0, + "norm_factor": 40, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + } + }, + "min_length": 16, + "max_length": 100 + }, + "pf_mask": { + "var_names": [ + "pfcand_mask" + ], + "var_infos": { + "pfcand_mask": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + } + }, + "min_length": 16, + "max_length": 100 + }, + "sv_points": { + "var_names": [ + "sv_etarel", + "sv_phirel" + ], + "var_infos": { + "sv_etarel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "sv_phirel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + } + }, + "min_length": 1, + "max_length": 10 + }, + "sv_features": { + "var_names": [ + "sv_pt_log", + "sv_mass", + "sv_etarel", + "sv_phirel", + "sv_abseta", + "sv_ntracks", + "sv_normchi2", + "sv_dxy", + "sv_dxysig", + "sv_d3d", + "sv_d3dsig" + ], + "var_infos": { + "sv_pt_log": { + "median": 4, + "norm_factor": 0.6, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_mass": { + "median": 1.2, + "norm_factor": 0.3, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_etarel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "sv_phirel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "sv_abseta": { + "median": 0.5, + "norm_factor": 1.6, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_ntracks": { + "median": 3, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_normchi2": { + "median": 0.8, + "norm_factor": 0.6, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_dxy": { + "median": 0.4, + "norm_factor": 0.25, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_dxysig": { + "median": 7, + "norm_factor": 0.02, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_d3d": { + "median": 0.5, + "norm_factor": 0.2, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_d3dsig": { + "median": 7, + "norm_factor": 0.02, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + } + }, + "min_length": 1, + "max_length": 10 + }, + "sv_mask": { + "var_names": [ + "sv_mask" + ], + "var_infos": { + "sv_mask": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + } + }, + "min_length": 1, + "max_length": 10 + } +} \ No newline at end of file diff --git a/ParticleNetAK8/MD-2prong/V00/ParticleNet-0000.params b/ParticleNetAK8/MD-2prong/V00/ParticleNet-0000.params new file mode 100644 index 0000000..9cc94b5 Binary files /dev/null and b/ParticleNetAK8/MD-2prong/V00/ParticleNet-0000.params differ diff --git a/ParticleNetAK8/MD-2prong/V00/ParticleNet-symbol.json b/ParticleNetAK8/MD-2prong/V00/ParticleNet-symbol.json new file mode 100644 index 0000000..b7440df --- /dev/null +++ b/ParticleNetAK8/MD-2prong/V00/ParticleNet-symbol.json @@ -0,0 +1,2642 @@ +{ + "nodes": [ + { + "op": "null", + "name": "pf_features", + "attrs": {"__shape__": "(1, 20, 100)"}, + "inputs": [] + }, + { + "op": "null", + "name": "conv0_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(32, 20, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "conv0_fwd", + "attrs": { + "dilate": "(1,)", + "kernel": "(1,)", + "layout": "NCW", + "no_bias": "True", + "num_filter": "32", + "num_group": "1", + "pad": "(0,)", + "stride": "(1,)" + }, + "inputs": [[0, 0, 0], [1, 0, 0]] + }, + { + "op": "null", + "name": "batchnorm0_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "batchnorm0_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "batchnorm0_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "batchnorm0_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "batchnorm0_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[2, 0, 0], [3, 0, 0], [4, 0, 0], [5, 0, 1], [6, 0, 1]] + }, + { + "op": "Activation", + "name": "relu0_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[7, 0, 0]] + }, + { + "op": "null", + "name": "sv_features", + "attrs": {"__shape__": "(1, 12, 7)"}, + "inputs": [] + }, + { + "op": "null", + "name": "conv1_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(32, 12, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "conv1_fwd", + "attrs": { + "dilate": "(1,)", + "kernel": "(1,)", + "layout": "NCW", + "no_bias": "True", + "num_filter": "32", + "num_group": "1", + "pad": "(0,)", + "stride": "(1,)" + }, + "inputs": [[9, 0, 0], [10, 0, 0]] + }, + { + "op": "null", + "name": "batchnorm1_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "batchnorm1_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "batchnorm1_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "batchnorm1_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "batchnorm1_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[11, 0, 0], [12, 0, 0], [13, 0, 0], [14, 0, 1], [15, 0, 1]] + }, + { + "op": "Activation", + "name": "relu1_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[16, 0, 0]] + }, + { + "op": "Concat", + "name": "concat1", + "attrs": { + "dim": "-1", + "num_args": "2" + }, + "inputs": [[8, 0, 0], [17, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_batchnorm0_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_batchnorm0_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_batchnorm0_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_batchnorm0_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_batchnorm0_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[18, 0, 0], [19, 0, 0], [20, 0, 0], [21, 0, 1], [22, 0, 1]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_conv3_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(64, 0, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv0_conv3_fwd", + "attrs": { + "dilate": "(1,)", + "kernel": "(1,)", + "layout": "NCW", + "no_bias": "True", + "num_filter": "64", + "num_group": "1", + "pad": "(0,)", + "stride": "(1,)" + }, + "inputs": [[23, 0, 0], [24, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm3_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm3_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm3_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm3_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm3_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[25, 0, 0], [26, 0, 0], [27, 0, 0], [28, 0, 1], [29, 0, 1]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv0_expand_dims0", + "attrs": {"axis": "3"}, + "inputs": [[23, 0, 0]] + }, + { + "op": "tile", + "name": "ParticleNet_pfcand_edgeconv0_tile0", + "attrs": {"reps": "(1, 1, 1, 16)"}, + "inputs": [[31, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0_transpose0", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[23, 0, 0]] + }, + { + "op": "_arange", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0__arange0", + "attrs": { + "dtype": "float32", + "infer_range": "False", + "repeat": "1", + "start": "1", + "step": "1.0", + "stop": "None" + }, + "inputs": [] + }, + { + "op": "Reshape", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0_reshape0", + "attrs": {"shape": "(-1, 1, 1)"}, + "inputs": [[34, 0, 0]] + }, + { + "op": "tile", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0_tile0", + "attrs": {"reps": "(1, 107, 16)"}, + "inputs": [[35, 0, 0]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0_expand_dims0", + "attrs": {"axis": "0"}, + "inputs": [[36, 0, 0]] + }, + { + "op": "null", + "name": "pf_mask", + "attrs": {"__shape__": "(1, 1, 100)"}, + "inputs": [] + }, + { + "op": "null", + "name": "sv_mask", + "attrs": {"__shape__": "(1, 1, 7)"}, + "inputs": [] + }, + { + "op": "Concat", + "name": "concat2", + "attrs": { + "dim": "-1", + "num_args": "2" + }, + "inputs": [[38, 0, 0], [39, 0, 0]] + }, + { + "op": "_not_equal_scalar", + "name": "ParticleNet_pfcand__not_equal_scalar0", + "attrs": {"scalar": "0"}, + "inputs": [[40, 0, 0]] + }, + { + "op": "_equal_scalar", + "name": "ParticleNet_pfcand__equal_scalar0", + "attrs": {"scalar": "0"}, + "inputs": [[41, 0, 0]] + }, + { + "op": "_mul_scalar", + "name": "ParticleNet_pfcand__mulscalar0", + "attrs": {"scalar": "99.0"}, + "inputs": [[42, 0, 0]] + }, + { + "op": "null", + "name": "pf_points", + "attrs": {"__shape__": "(1, 2, 100)"}, + "inputs": [] + }, + { + "op": "null", + "name": "sv_points", + "attrs": {"__shape__": "(1, 2, 7)"}, + "inputs": [] + }, + { + "op": "Concat", + "name": "concat0", + "attrs": { + "dim": "-1", + "num_args": "2" + }, + "inputs": [[44, 0, 0], [45, 0, 0]] + }, + { + "op": "broadcast_add", + "name": "ParticleNet_pfcand_broadcast_add0", + "inputs": [[43, 0, 0], [46, 0, 0]] + }, + { + "op": "elemwise_mul", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0__mul0", + "inputs": [[47, 0, 0], [47, 0, 0]] + }, + { + "op": "sum", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0_sum0", + "attrs": { + "axis": "1", + "keepdims": "True" + }, + "inputs": [[48, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0_transpose1", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[49, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0_transpose0", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[47, 0, 0]] + }, + { + "op": "batch_dot", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0_batch_dot0", + "inputs": [[51, 0, 0], [47, 0, 0]] + }, + { + "op": "_mul_scalar", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0__mulscalar0", + "attrs": {"scalar": "2"}, + "inputs": [[52, 0, 0]] + }, + { + "op": "broadcast_sub", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0_broadcast_sub0", + "inputs": [[50, 0, 0], [53, 0, 0]] + }, + { + "op": "elemwise_mul", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0__mul1", + "inputs": [[47, 0, 0], [47, 0, 0]] + }, + { + "op": "sum", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0_sum1", + "attrs": { + "axis": "1", + "keepdims": "True" + }, + "inputs": [[55, 0, 0]] + }, + { + "op": "broadcast_add", + "name": "ParticleNet_pfcand_edgeconv0_batchdistancematrix0_broadcast_add0", + "inputs": [[54, 0, 0], [56, 0, 0]] + }, + { + "op": "topk", + "name": "ParticleNet_pfcand_edgeconv0_topk0", + "attrs": { + "axis": "-1", + "dtype": "float32", + "is_ascend": "True", + "k": "17", + "ret_typ": "indices" + }, + "inputs": [[57, 0, 0]] + }, + { + "op": "slice_axis", + "name": "ParticleNet_pfcand_edgeconv0_slice_axis0", + "attrs": { + "axis": "-1", + "begin": "1", + "end": "None" + }, + "inputs": [[58, 0, 0]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0_expand_dims1", + "attrs": {"axis": "0"}, + "inputs": [[59, 0, 0]] + }, + { + "op": "Concat", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0_concat0", + "attrs": { + "dim": "0", + "num_args": "2" + }, + "inputs": [[37, 0, 0], [60, 0, 0]] + }, + { + "op": "gather_nd", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0_gather_nd0", + "inputs": [[33, 0, 0], [61, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv0_nearestneighborsfromindices0_transpose1", + "attrs": {"axes": "(0, 3, 1, 2)"}, + "inputs": [[62, 0, 0]] + }, + { + "op": "elemwise_sub", + "name": "ParticleNet_pfcand_edgeconv0__minus0", + "inputs": [[63, 0, 0], [32, 0, 0]] + }, + { + "op": "Concat", + "name": "ParticleNet_pfcand_edgeconv0_concat0", + "attrs": { + "dim": "1", + "num_args": "2" + }, + "inputs": [[32, 0, 0], [64, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_conv0_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(64, 0, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv0_conv0_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "64", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[65, 0, 0], [66, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm0_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm0_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm0_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm0_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm0_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[67, 0, 0], [68, 0, 0], [69, 0, 0], [70, 0, 1], [71, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv0_relu0_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[72, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_conv1_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(64, 64, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv0_conv1_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "64", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[73, 0, 0], [74, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm1_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm1_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm1_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm1_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm1_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[75, 0, 0], [76, 0, 0], [77, 0, 0], [78, 0, 1], [79, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv0_relu1_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[80, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_conv2_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(64, 64, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv0_conv2_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "64", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[81, 0, 0], [82, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm2_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm2_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm2_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm2_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv0_batchnorm2_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[83, 0, 0], [84, 0, 0], [85, 0, 0], [86, 0, 1], [87, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv0_relu2_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[88, 0, 0]] + }, + { + "op": "mean", + "name": "ParticleNet_pfcand_edgeconv0_mean0", + "attrs": {"axis": "-1"}, + "inputs": [[89, 0, 0]] + }, + { + "op": "elemwise_add", + "name": "ParticleNet_pfcand_edgeconv0__plus0", + "inputs": [[30, 0, 0], [90, 0, 0]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv0_relu3_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[91, 0, 0]] + }, + { + "op": "broadcast_mul", + "name": "ParticleNet_pfcand_broadcast_mul0", + "inputs": [[92, 0, 0], [41, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_conv3_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(128, 64, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv1_conv3_fwd", + "attrs": { + "dilate": "(1,)", + "kernel": "(1,)", + "layout": "NCW", + "no_bias": "True", + "num_filter": "128", + "num_group": "1", + "pad": "(0,)", + "stride": "(1,)" + }, + "inputs": [[93, 0, 0], [94, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm3_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm3_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm3_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm3_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm3_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[95, 0, 0], [96, 0, 0], [97, 0, 0], [98, 0, 1], [99, 0, 1]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv1_expand_dims0", + "attrs": {"axis": "3"}, + "inputs": [[93, 0, 0]] + }, + { + "op": "tile", + "name": "ParticleNet_pfcand_edgeconv1_tile0", + "attrs": {"reps": "(1, 1, 1, 16)"}, + "inputs": [[101, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0_transpose0", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[93, 0, 0]] + }, + { + "op": "_arange", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0__arange0", + "attrs": { + "dtype": "float32", + "infer_range": "False", + "repeat": "1", + "start": "1", + "step": "1.0", + "stop": "None" + }, + "inputs": [] + }, + { + "op": "Reshape", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0_reshape0", + "attrs": {"shape": "(-1, 1, 1)"}, + "inputs": [[104, 0, 0]] + }, + { + "op": "tile", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0_tile0", + "attrs": {"reps": "(1, 107, 16)"}, + "inputs": [[105, 0, 0]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0_expand_dims0", + "attrs": {"axis": "0"}, + "inputs": [[106, 0, 0]] + }, + { + "op": "broadcast_add", + "name": "ParticleNet_pfcand_broadcast_add1", + "inputs": [[43, 0, 0], [93, 0, 0]] + }, + { + "op": "elemwise_mul", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0__mul0", + "inputs": [[108, 0, 0], [108, 0, 0]] + }, + { + "op": "sum", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0_sum0", + "attrs": { + "axis": "1", + "keepdims": "True" + }, + "inputs": [[109, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0_transpose1", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[110, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0_transpose0", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[108, 0, 0]] + }, + { + "op": "batch_dot", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0_batch_dot0", + "inputs": [[112, 0, 0], [108, 0, 0]] + }, + { + "op": "_mul_scalar", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0__mulscalar0", + "attrs": {"scalar": "2"}, + "inputs": [[113, 0, 0]] + }, + { + "op": "broadcast_sub", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0_broadcast_sub0", + "inputs": [[111, 0, 0], [114, 0, 0]] + }, + { + "op": "elemwise_mul", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0__mul1", + "inputs": [[108, 0, 0], [108, 0, 0]] + }, + { + "op": "sum", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0_sum1", + "attrs": { + "axis": "1", + "keepdims": "True" + }, + "inputs": [[116, 0, 0]] + }, + { + "op": "broadcast_add", + "name": "ParticleNet_pfcand_edgeconv1_batchdistancematrix0_broadcast_add0", + "inputs": [[115, 0, 0], [117, 0, 0]] + }, + { + "op": "topk", + "name": "ParticleNet_pfcand_edgeconv1_topk0", + "attrs": { + "axis": "-1", + "dtype": "float32", + "is_ascend": "True", + "k": "17", + "ret_typ": "indices" + }, + "inputs": [[118, 0, 0]] + }, + { + "op": "slice_axis", + "name": "ParticleNet_pfcand_edgeconv1_slice_axis0", + "attrs": { + "axis": "-1", + "begin": "1", + "end": "None" + }, + "inputs": [[119, 0, 0]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0_expand_dims1", + "attrs": {"axis": "0"}, + "inputs": [[120, 0, 0]] + }, + { + "op": "Concat", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0_concat0", + "attrs": { + "dim": "0", + "num_args": "2" + }, + "inputs": [[107, 0, 0], [121, 0, 0]] + }, + { + "op": "gather_nd", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0_gather_nd0", + "inputs": [[103, 0, 0], [122, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv1_nearestneighborsfromindices0_transpose1", + "attrs": {"axes": "(0, 3, 1, 2)"}, + "inputs": [[123, 0, 0]] + }, + { + "op": "elemwise_sub", + "name": "ParticleNet_pfcand_edgeconv1__minus0", + "inputs": [[124, 0, 0], [102, 0, 0]] + }, + { + "op": "Concat", + "name": "ParticleNet_pfcand_edgeconv1_concat0", + "attrs": { + "dim": "1", + "num_args": "2" + }, + "inputs": [[102, 0, 0], [125, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_conv0_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(128, 128, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv1_conv0_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "128", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[126, 0, 0], [127, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm0_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm0_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm0_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm0_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm0_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[128, 0, 0], [129, 0, 0], [130, 0, 0], [131, 0, 1], [132, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv1_relu0_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[133, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_conv1_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(128, 128, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv1_conv1_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "128", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[134, 0, 0], [135, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm1_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm1_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm1_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm1_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm1_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[136, 0, 0], [137, 0, 0], [138, 0, 0], [139, 0, 1], [140, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv1_relu1_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[141, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_conv2_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(128, 128, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv1_conv2_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "128", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[142, 0, 0], [143, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm2_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm2_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm2_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm2_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv1_batchnorm2_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[144, 0, 0], [145, 0, 0], [146, 0, 0], [147, 0, 1], [148, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv1_relu2_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[149, 0, 0]] + }, + { + "op": "mean", + "name": "ParticleNet_pfcand_edgeconv1_mean0", + "attrs": {"axis": "-1"}, + "inputs": [[150, 0, 0]] + }, + { + "op": "elemwise_add", + "name": "ParticleNet_pfcand_edgeconv1__plus0", + "inputs": [[100, 0, 0], [151, 0, 0]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv1_relu3_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[152, 0, 0]] + }, + { + "op": "broadcast_mul", + "name": "ParticleNet_pfcand_broadcast_mul1", + "inputs": [[153, 0, 0], [41, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_conv3_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(256, 128, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv2_conv3_fwd", + "attrs": { + "dilate": "(1,)", + "kernel": "(1,)", + "layout": "NCW", + "no_bias": "True", + "num_filter": "256", + "num_group": "1", + "pad": "(0,)", + "stride": "(1,)" + }, + "inputs": [[154, 0, 0], [155, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm3_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm3_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm3_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm3_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm3_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[156, 0, 0], [157, 0, 0], [158, 0, 0], [159, 0, 1], [160, 0, 1]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv2_expand_dims0", + "attrs": {"axis": "3"}, + "inputs": [[154, 0, 0]] + }, + { + "op": "tile", + "name": "ParticleNet_pfcand_edgeconv2_tile0", + "attrs": {"reps": "(1, 1, 1, 16)"}, + "inputs": [[162, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0_transpose0", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[154, 0, 0]] + }, + { + "op": "_arange", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0__arange0", + "attrs": { + "dtype": "float32", + "infer_range": "False", + "repeat": "1", + "start": "1", + "step": "1.0", + "stop": "None" + }, + "inputs": [] + }, + { + "op": "Reshape", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0_reshape0", + "attrs": {"shape": "(-1, 1, 1)"}, + "inputs": [[165, 0, 0]] + }, + { + "op": "tile", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0_tile0", + "attrs": {"reps": "(1, 107, 16)"}, + "inputs": [[166, 0, 0]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0_expand_dims0", + "attrs": {"axis": "0"}, + "inputs": [[167, 0, 0]] + }, + { + "op": "broadcast_add", + "name": "ParticleNet_pfcand_broadcast_add2", + "inputs": [[43, 0, 0], [154, 0, 0]] + }, + { + "op": "elemwise_mul", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0__mul0", + "inputs": [[169, 0, 0], [169, 0, 0]] + }, + { + "op": "sum", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0_sum0", + "attrs": { + "axis": "1", + "keepdims": "True" + }, + "inputs": [[170, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0_transpose1", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[171, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0_transpose0", + "attrs": {"axes": "(0, 2, 1)"}, + "inputs": [[169, 0, 0]] + }, + { + "op": "batch_dot", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0_batch_dot0", + "inputs": [[173, 0, 0], [169, 0, 0]] + }, + { + "op": "_mul_scalar", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0__mulscalar0", + "attrs": {"scalar": "2"}, + "inputs": [[174, 0, 0]] + }, + { + "op": "broadcast_sub", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0_broadcast_sub0", + "inputs": [[172, 0, 0], [175, 0, 0]] + }, + { + "op": "elemwise_mul", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0__mul1", + "inputs": [[169, 0, 0], [169, 0, 0]] + }, + { + "op": "sum", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0_sum1", + "attrs": { + "axis": "1", + "keepdims": "True" + }, + "inputs": [[177, 0, 0]] + }, + { + "op": "broadcast_add", + "name": "ParticleNet_pfcand_edgeconv2_batchdistancematrix0_broadcast_add0", + "inputs": [[176, 0, 0], [178, 0, 0]] + }, + { + "op": "topk", + "name": "ParticleNet_pfcand_edgeconv2_topk0", + "attrs": { + "axis": "-1", + "dtype": "float32", + "is_ascend": "True", + "k": "17", + "ret_typ": "indices" + }, + "inputs": [[179, 0, 0]] + }, + { + "op": "slice_axis", + "name": "ParticleNet_pfcand_edgeconv2_slice_axis0", + "attrs": { + "axis": "-1", + "begin": "1", + "end": "None" + }, + "inputs": [[180, 0, 0]] + }, + { + "op": "expand_dims", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0_expand_dims1", + "attrs": {"axis": "0"}, + "inputs": [[181, 0, 0]] + }, + { + "op": "Concat", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0_concat0", + "attrs": { + "dim": "0", + "num_args": "2" + }, + "inputs": [[168, 0, 0], [182, 0, 0]] + }, + { + "op": "gather_nd", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0_gather_nd0", + "inputs": [[164, 0, 0], [183, 0, 0]] + }, + { + "op": "transpose", + "name": "ParticleNet_pfcand_edgeconv2_nearestneighborsfromindices0_transpose1", + "attrs": {"axes": "(0, 3, 1, 2)"}, + "inputs": [[184, 0, 0]] + }, + { + "op": "elemwise_sub", + "name": "ParticleNet_pfcand_edgeconv2__minus0", + "inputs": [[185, 0, 0], [163, 0, 0]] + }, + { + "op": "Concat", + "name": "ParticleNet_pfcand_edgeconv2_concat0", + "attrs": { + "dim": "1", + "num_args": "2" + }, + "inputs": [[163, 0, 0], [186, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_conv0_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(256, 256, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv2_conv0_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "256", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[187, 0, 0], [188, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm0_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm0_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm0_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm0_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm0_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[189, 0, 0], [190, 0, 0], [191, 0, 0], [192, 0, 1], [193, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv2_relu0_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[194, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_conv1_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(256, 256, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv2_conv1_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "256", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[195, 0, 0], [196, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm1_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm1_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm1_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm1_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm1_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[197, 0, 0], [198, 0, 0], [199, 0, 0], [200, 0, 1], [201, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv2_relu1_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[202, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_conv2_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(256, 256, 1, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_edgeconv2_conv2_fwd", + "attrs": { + "dilate": "(1, 1)", + "kernel": "(1, 1)", + "layout": "NCHW", + "no_bias": "True", + "num_filter": "256", + "num_group": "1", + "pad": "(0, 0)", + "stride": "(1, 1)" + }, + "inputs": [[203, 0, 0], [204, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm2_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm2_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm2_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm2_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_edgeconv2_batchnorm2_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[205, 0, 0], [206, 0, 0], [207, 0, 0], [208, 0, 1], [209, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv2_relu2_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[210, 0, 0]] + }, + { + "op": "mean", + "name": "ParticleNet_pfcand_edgeconv2_mean0", + "attrs": {"axis": "-1"}, + "inputs": [[211, 0, 0]] + }, + { + "op": "elemwise_add", + "name": "ParticleNet_pfcand_edgeconv2__plus0", + "inputs": [[161, 0, 0], [212, 0, 0]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_edgeconv2_relu3_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[213, 0, 0]] + }, + { + "op": "broadcast_mul", + "name": "ParticleNet_pfcand_broadcast_mul2", + "inputs": [[214, 0, 0], [41, 0, 0]] + }, + { + "op": "Concat", + "name": "ParticleNet_pfcand_concat0", + "attrs": { + "dim": "1", + "num_args": "3" + }, + "inputs": [[93, 0, 0], [154, 0, 0], [215, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_conv0_weight", + "attrs": { + "__dtype__": "0", + "__init__": "[\"xavier\", {\"rnd_type\": \"gaussian\", \"factor_type\": \"in\", \"magnitude\": 2}]", + "__lr_mult__": "1.0", + "__shape__": "(384, 448, 1)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "Convolution", + "name": "ParticleNet_pfcand_conv0_fwd", + "attrs": { + "dilate": "(1,)", + "kernel": "(1,)", + "layout": "NCW", + "no_bias": "True", + "num_filter": "384", + "num_group": "1", + "pad": "(0,)", + "stride": "(1,)" + }, + "inputs": [[216, 0, 0], [217, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_batchnorm1_gamma", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_batchnorm1_beta", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_batchnorm1_running_mean", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_batchnorm1_running_var", + "attrs": { + "__dtype__": "0", + "__init__": "ones", + "__lr_mult__": "1.0", + "__shape__": "(0,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "BatchNorm", + "name": "ParticleNet_pfcand_batchnorm1_fwd", + "attrs": { + "axis": "1", + "eps": "1e-05", + "fix_gamma": "False", + "momentum": "0.9", + "use_global_stats": "False" + }, + "inputs": [[218, 0, 0], [219, 0, 0], [220, 0, 0], [221, 0, 1], [222, 0, 1]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_relu0_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[223, 0, 0]] + }, + { + "op": "mean", + "name": "ParticleNet_pfcand_mean0", + "attrs": {"axis": "-1"}, + "inputs": [[224, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_dense1_weight", + "attrs": { + "__dtype__": "0", + "__lr_mult__": "1.0", + "__shape__": "(256, 0)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_dense1_bias", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(256,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "FullyConnected", + "name": "ParticleNet_pfcand_dense1_fwd", + "attrs": { + "flatten": "False", + "no_bias": "False", + "num_hidden": "256" + }, + "inputs": [[225, 0, 0], [226, 0, 0], [227, 0, 0]] + }, + { + "op": "Activation", + "name": "ParticleNet_pfcand_relu1_fwd", + "attrs": {"act_type": "relu"}, + "inputs": [[228, 0, 0]] + }, + { + "op": "Dropout", + "name": "ParticleNet_pfcand_dropout0_fwd", + "attrs": { + "axes": "()", + "cudnn_off": "False", + "p": "0.1" + }, + "inputs": [[229, 0, 0]] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_dense3_weight", + "attrs": { + "__dtype__": "0", + "__lr_mult__": "1.0", + "__shape__": "(8, 0)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "null", + "name": "ParticleNet_pfcand_dense3_bias", + "attrs": { + "__dtype__": "0", + "__init__": "zeros", + "__lr_mult__": "1.0", + "__shape__": "(8,)", + "__storage_type__": "0", + "__wd_mult__": "1.0" + }, + "inputs": [] + }, + { + "op": "FullyConnected", + "name": "ParticleNet_pfcand_dense3_fwd", + "attrs": { + "flatten": "False", + "no_bias": "False", + "num_hidden": "8" + }, + "inputs": [[230, 0, 0], [231, 0, 0], [232, 0, 0]] + }, + { + "op": "null", + "name": "softmax_label", + "inputs": [] + }, + { + "op": "SoftmaxOutput", + "name": "softmax", + "inputs": [[233, 0, 0], [234, 0, 0]] + } + ], + "arg_nodes": [ + 0, + 1, + 3, + 4, + 5, + 6, + 9, + 10, + 12, + 13, + 14, + 15, + 19, + 20, + 21, + 22, + 24, + 26, + 27, + 28, + 29, + 38, + 39, + 44, + 45, + 66, + 68, + 69, + 70, + 71, + 74, + 76, + 77, + 78, + 79, + 82, + 84, + 85, + 86, + 87, + 94, + 96, + 97, + 98, + 99, + 127, + 129, + 130, + 131, + 132, + 135, + 137, + 138, + 139, + 140, + 143, + 145, + 146, + 147, + 148, + 155, + 157, + 158, + 159, + 160, + 188, + 190, + 191, + 192, + 193, + 196, + 198, + 199, + 200, + 201, + 204, + 206, + 207, + 208, + 209, + 217, + 219, + 220, + 221, + 222, + 226, + 227, + 231, + 232, + 234 + ], + "node_row_ptr": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 264, + 265, + 266, + 267, + 268, + 269 + ], + "heads": [[235, 0, 0]], + "attrs": {"mxnet_version": ["int", 10500]} +} \ No newline at end of file diff --git a/ParticleNetAK8/MD-2prong/V00/ParticleNet.onnx b/ParticleNetAK8/MD-2prong/V00/ParticleNet.onnx new file mode 100644 index 0000000..8752b97 Binary files /dev/null and b/ParticleNetAK8/MD-2prong/V00/ParticleNet.onnx differ diff --git a/ParticleNetAK8/MD-2prong/V00/README.md b/ParticleNetAK8/MD-2prong/V00/README.md new file mode 100644 index 0000000..6d1defa --- /dev/null +++ b/ParticleNetAK8/MD-2prong/V00/README.md @@ -0,0 +1,14 @@ +# ParticleNetAK8-MD-2prong-V00 + +This folder contains the MXNet models for the ParticleNet tagger designed for mass-independent 2-prong jet tagging (i.e., X->bb, X->cc, X->qq). The mass decorrelation is achieved by using a dedicated signal sample w/ a flat mass distribution (`/BulkGravitonToHHTo4Q_MX-600to6000_MH-15to250_part*_TuneCP5_13TeV-madgraph_pythia8/RunIIFall17MiniAODv2-PU2017_12Apr2018_multigridpack_94X_mc2017_realistic_v14-v1/MINIAODSIM`). The model is trained on AK8Puppi jets using `RunIIFall17MiniAODv2` samples. + +The output classes of the DNN are: + - probXbb + - probXcc + - probXqq + - probQCDbb + - probQCDcc + - probQCDb + - probQCDc + - probQCDothers + diff --git a/ParticleNetAK8/MD-2prong/V00/preprocess.json b/ParticleNetAK8/MD-2prong/V00/preprocess.json new file mode 100644 index 0000000..f97faaa --- /dev/null +++ b/ParticleNetAK8/MD-2prong/V00/preprocess.json @@ -0,0 +1,434 @@ +{ + "flav_names": [ + "probXbb", + "probXcc", + "probXqq", + "probQCDbb", + "probQCDcc", + "probQCDb", + "probQCDc", + "probQCDothers" + ], + "input_names": [ + "pf_features", + "pf_mask", + "pf_points", + "sv_features", + "sv_mask", + "sv_points" + ], + "pf_features": { + "input_shape": [ + 1, + 20, + 100 + ], + "var_infos": { + "pfcand_VTX_ass": { + "lower_bound": -5, + "median": 7.0, + "norm_factor": 1.0, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_abseta": { + "lower_bound": -5, + "median": 0.5702078342437744, + "norm_factor": 1.650397941755878, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_btagEtaRel": { + "lower_bound": -5, + "median": 1.0216445922851562, + "norm_factor": 0.45049464765653174, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_btagJetDistVal": { + "lower_bound": -5, + "median": -8.01788191893138e-05, + "norm_factor": 172.90023485322902, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_btagPParRatio": { + "lower_bound": -5, + "median": 0.7776329517364502, + "norm_factor": 1.285953736614434, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_btagPtRatio": { + "lower_bound": -5, + "median": 0.00793754169717431, + "norm_factor": 4.417789653724297, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_btagSip3dSig": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 0.8715343291648558, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_btagSip3dVal": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 252.16555414799987, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_charge": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 1.0, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_dxy": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 473.799859237899, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_dxysig": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 1.6631890202427042, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_dz": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 297.4582326677144, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_dzsig": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 1.386900984493749, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_e_log_nopuppi": { + "lower_bound": -5, + "median": 1.4215530753135681, + "norm_factor": 0.5199271364891452, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_etarel": { + "lower_bound": -5, + "median": -0.0048187340144068, + "norm_factor": 4.447982755171238, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_lostInnerHits": { + "lower_bound": -5, + "median": -1.0, + "norm_factor": 1.0, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_normchi2": { + "lower_bound": -5, + "median": 3.0, + "norm_factor": 0.001004016064257028, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_phirel": { + "lower_bound": -5, + "median": -0.00010839945389307104, + "norm_factor": 4.3979230443753865, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_pt_log_nopuppi": { + "lower_bound": -5, + "median": 1.12241530418396, + "norm_factor": 0.5143548435556096, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_quality": { + "lower_bound": -5, + "median": 5.0, + "norm_factor": 0.2, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + } + }, + "var_length": 100, + "var_names": [ + "pfcand_pt_log_nopuppi", + "pfcand_e_log_nopuppi", + "pfcand_etarel", + "pfcand_phirel", + "pfcand_abseta", + "pfcand_charge", + "pfcand_VTX_ass", + "pfcand_lostInnerHits", + "pfcand_normchi2", + "pfcand_quality", + "pfcand_dz", + "pfcand_dzsig", + "pfcand_dxy", + "pfcand_dxysig", + "pfcand_btagEtaRel", + "pfcand_btagPtRatio", + "pfcand_btagPParRatio", + "pfcand_btagSip3dVal", + "pfcand_btagSip3dSig", + "pfcand_btagJetDistVal" + ] + }, + "pf_mask": { + "input_shape": [ + 1, + 1, + 100 + ], + "var_infos": { + "pfcand_mask": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 1.0, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + } + }, + "var_length": 100, + "var_names": [ + "pfcand_mask" + ] + }, + "pf_points": { + "input_shape": [ + 1, + 2, + 100 + ], + "var_infos": { + "pfcand_etarel": { + "lower_bound": -5, + "median": -0.0048187340144068, + "norm_factor": 4.447982755171238, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "pfcand_phirel": { + "lower_bound": -5, + "median": -0.00010839945389307104, + "norm_factor": 4.3979230443753865, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + } + }, + "var_length": 100, + "var_names": [ + "pfcand_etarel", + "pfcand_phirel" + ] + }, + "sv_features": { + "input_shape": [ + 1, + 12, + 7 + ], + "var_infos": { + "sv_abseta": { + "lower_bound": -5, + "median": 0.5491966009140015, + "norm_factor": 1.5939476880115426, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_costhetasvpv": { + "lower_bound": -5, + "median": 0.9997627139091492, + "norm_factor": 183.23339376597278, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_d3d": { + "lower_bound": -5, + "median": 0.5513421297073364, + "norm_factor": 0.22312815380609285, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_d3dsig": { + "lower_bound": -5, + "median": 8.356559753417969, + "norm_factor": 0.02389999546951837, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_dxy": { + "lower_bound": -5, + "median": 0.4215024411678314, + "norm_factor": 0.31221827708813427, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_dxysig": { + "lower_bound": -5, + "median": 8.344268798828125, + "norm_factor": 0.02390170557794748, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_etarel": { + "lower_bound": -5, + "median": -0.002474044682458043, + "norm_factor": 8.444601883624355, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_mass": { + "lower_bound": -5, + "median": 1.3346953392028809, + "norm_factor": 0.30923084883711116, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_normchi2": { + "lower_bound": -5, + "median": 0.8069154620170593, + "norm_factor": 0.7244960986579544, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_ntracks": { + "lower_bound": -5, + "median": 3.0, + "norm_factor": 0.5, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_phirel": { + "lower_bound": -5, + "median": 0.000502154347486794, + "norm_factor": 8.732433887710727, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_pt_log": { + "lower_bound": -5, + "median": 3.7832536697387695, + "norm_factor": 0.6925381441482783, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + } + }, + "var_length": 7, + "var_names": [ + "sv_pt_log", + "sv_mass", + "sv_phirel", + "sv_etarel", + "sv_abseta", + "sv_ntracks", + "sv_normchi2", + "sv_dxy", + "sv_dxysig", + "sv_d3d", + "sv_d3dsig", + "sv_costhetasvpv" + ] + }, + "sv_mask": { + "input_shape": [ + 1, + 1, + 7 + ], + "var_infos": { + "sv_mask": { + "lower_bound": -5, + "median": 0.0, + "norm_factor": 1.0, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + } + }, + "var_length": 7, + "var_names": [ + "sv_mask" + ] + }, + "sv_points": { + "input_shape": [ + 1, + 2, + 7 + ], + "var_infos": { + "sv_etarel": { + "lower_bound": -5, + "median": -0.002474044682458043, + "norm_factor": 8.444601883624355, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + }, + "sv_phirel": { + "lower_bound": -5, + "median": 0.000502154347486794, + "norm_factor": 8.732433887710727, + "pad": 0, + "replace_inf_value": 0, + "upper_bound": 5 + } + }, + "var_length": 7, + "var_names": [ + "sv_phirel", + "sv_etarel" + ] + } +} \ No newline at end of file diff --git a/ParticleNetAK8/MD-2prong/V01/README.md b/ParticleNetAK8/MD-2prong/V01/README.md new file mode 100644 index 0000000..e846f03 --- /dev/null +++ b/ParticleNetAK8/MD-2prong/V01/README.md @@ -0,0 +1,5 @@ +# ParticleNetAK8-MD-2prong-V01 + +This folder contains the ONNX models for the ParticleNet tagger designed for mass-independent 2-prong jet tagging (i.e., X->bb, X->cc, X->qq). The mass decorrelation is achieved by using a dedicated signal sample w/ a flat mass distribution (`BulkGravitonToHHTo4Q_MX-600to6000_MH-15to250_*`). The model is trained on AK8Puppi jets using `RunIISummer19UL17MiniAOD` and `RunIISummer19UL18MiniAOD` samples with Puppi tune `V14`. + +The output classes of the DNN can be found in the `preprocess.json` file. diff --git a/ParticleNetAK8/MD-2prong/V01/particle-net.onnx b/ParticleNetAK8/MD-2prong/V01/particle-net.onnx new file mode 100755 index 0000000..0edbf92 Binary files /dev/null and b/ParticleNetAK8/MD-2prong/V01/particle-net.onnx differ diff --git a/ParticleNetAK8/MD-2prong/V01/preprocess.json b/ParticleNetAK8/MD-2prong/V01/preprocess.json new file mode 100755 index 0000000..cfe4c57 --- /dev/null +++ b/ParticleNetAK8/MD-2prong/V01/preprocess.json @@ -0,0 +1,401 @@ +{ + "output_names": [ + "label_H_bb", + "label_H_cc", + "label_H_qq", + "label_QCD_bb", + "label_QCD_cc", + "label_QCD_b", + "label_QCD_c", + "label_QCD_others" + ], + "input_names": [ + "pf_points", + "pf_features", + "pf_mask", + "sv_points", + "sv_features", + "sv_mask" + ], + "pf_points": { + "var_names": [ + "pfcand_etarel", + "pfcand_phirel" + ], + "var_infos": { + "pfcand_etarel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_phirel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + } + }, + "min_length": 16, + "max_length": 100 + }, + "pf_features": { + "var_names": [ + "pfcand_pt_log_nopuppi", + "pfcand_e_log_nopuppi", + "pfcand_etarel", + "pfcand_phirel", + "pfcand_abseta", + "pfcand_charge", + "pfcand_VTX_ass", + "pfcand_lostInnerHits", + "pfcand_normchi2", + "pfcand_quality", + "pfcand_dz", + "pfcand_dzsig", + "pfcand_dxy", + "pfcand_dxysig", + "pfcand_btagEtaRel", + "pfcand_btagPtRatio", + "pfcand_btagPParRatio", + "pfcand_btagSip3dVal", + "pfcand_btagSip3dSig", + "pfcand_btagJetDistVal" + ], + "var_infos": { + "pfcand_pt_log_nopuppi": { + "median": 1, + "norm_factor": 0.5, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_e_log_nopuppi": { + "median": 1.3, + "norm_factor": 0.5, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_etarel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_phirel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_abseta": { + "median": 0.6, + "norm_factor": 1.6, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_charge": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_VTX_ass": { + "median": 4, + "norm_factor": 0.3, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_lostInnerHits": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "pfcand_normchi2": { + "median": 5, + "norm_factor": 0.2, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_quality": { + "median": 0, + "norm_factor": 0.2, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_dz": { + "median": 0, + "norm_factor": 180, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_dzsig": { + "median": 0, + "norm_factor": 0.9, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_dxy": { + "median": 0.0, + "norm_factor": 300, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_dxysig": { + "median": 0, + "norm_factor": 1.0, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagEtaRel": { + "median": 1.5, + "norm_factor": 0.5, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagPtRatio": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagPParRatio": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagSip3dVal": { + "median": 0, + "norm_factor": 100, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagSip3dSig": { + "median": 0, + "norm_factor": 0.5, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "pfcand_btagJetDistVal": { + "median": 0, + "norm_factor": 40, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + } + }, + "min_length": 16, + "max_length": 100 + }, + "pf_mask": { + "var_names": [ + "pfcand_mask" + ], + "var_infos": { + "pfcand_mask": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + } + }, + "min_length": 16, + "max_length": 100 + }, + "sv_points": { + "var_names": [ + "sv_etarel", + "sv_phirel" + ], + "var_infos": { + "sv_etarel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "sv_phirel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + } + }, + "min_length": 1, + "max_length": 10 + }, + "sv_features": { + "var_names": [ + "sv_pt_log", + "sv_mass", + "sv_etarel", + "sv_phirel", + "sv_abseta", + "sv_ntracks", + "sv_normchi2", + "sv_dxy", + "sv_dxysig", + "sv_d3d", + "sv_d3dsig" + ], + "var_infos": { + "sv_pt_log": { + "median": 4, + "norm_factor": 0.6, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_mass": { + "median": 1.2, + "norm_factor": 0.3, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_etarel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "sv_phirel": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + }, + "sv_abseta": { + "median": 0.5, + "norm_factor": 1.6, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_ntracks": { + "median": 3, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_normchi2": { + "median": 0.8, + "norm_factor": 0.6, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_dxy": { + "median": 0.4, + "norm_factor": 0.25, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_dxysig": { + "median": 7, + "norm_factor": 0.02, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_d3d": { + "median": 0.5, + "norm_factor": 0.2, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + }, + "sv_d3dsig": { + "median": 7, + "norm_factor": 0.02, + "replace_inf_value": 0, + "lower_bound": -5, + "upper_bound": 5, + "pad": 0 + } + }, + "min_length": 1, + "max_length": 10 + }, + "sv_mask": { + "var_names": [ + "sv_mask" + ], + "var_infos": { + "sv_mask": { + "median": 0, + "norm_factor": 1, + "replace_inf_value": 0, + "lower_bound": -1e+32, + "upper_bound": 1e+32, + "pad": 0 + } + }, + "min_length": 1, + "max_length": 10 + } +} diff --git a/README.md b/README.md index 6138d4a..8da9878 100644 --- a/README.md +++ b/README.md @@ -1 +1,3 @@ Repository for cmssw package RecoBTag/Combined data. + + diff --git a/TMVA_Btag_CsJets_PbPb2018_BDTG.weights.xml b/TMVA_Btag_CsJets_PbPb2018_BDTG.weights.xml new file mode 100644 index 0000000..b851e54 --- /dev/null +++ b/TMVA_Btag_CsJets_PbPb2018_BDTG.weights.xml @@ -0,0 +1,47140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +