From 85ee034276a84f552153fa5e2b2212774e3c8a00 Mon Sep 17 00:00:00 2001 From: Susan Dittmer Date: Thu, 17 Mar 2022 18:39:58 +0100 Subject: [PATCH] Adding option to scale RMS uncertainty --- ShapeAnalysis/python/ShapeFactoryMulti.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ShapeAnalysis/python/ShapeFactoryMulti.py b/ShapeAnalysis/python/ShapeFactoryMulti.py index 9732c7b95..62e6405a6 100644 --- a/ShapeAnalysis/python/ShapeFactoryMulti.py +++ b/ShapeAnalysis/python/ShapeFactoryMulti.py @@ -1493,8 +1493,12 @@ def postprocess_nuisance_variations(nuisance, samples, cuts, variables, outFile) elif nuisance['kind'].endswith('_rms'): arrnom = np.tile(vnominal.flat, (variations.shape[0], 1)) arrv = np.sqrt(np.mean(np.square(variations - arrnom), axis=0)) - arrup = vnominal.flat[:] + arrv - arrdown = vnominal.flat[:] - arrv + if 'scale' in nuisance and sampleName+slabel in nuisance['scale']: + arrup = vnominal.flat[:] + arrv*nuisance['scale'][sampleName+slabel][0] + arrdown = vnominal.flat[:] - arrv*nuisance['scale'][sampleName+slabel][1] + else: + arrup = vnominal.flat[:] + arrv + arrdown = vnominal.flat[:] - arrv arrup = arrup.reshape(vnominal.shape) arrdown = arrdown.reshape(vnominal.shape)