Fit Manager Rework

Kak W., 2018-09-28

Objective:

  • Rework FitManager
    • add double crystal ball
    • add draw function

Import Samples

  • path: /data/users/kakw/Resonances/LepGamma_elg_newblind_2018_09_23_beta
  • apply blinding to strict signal region:
    • MET>25 and
    • leading photon passing:
      • Pixel Veto, and
      • CSEV

Sample Pre-selection

  • Trigger: HLT_Ele27_eta2p1_WPTight_Gsf
  • Overlap removal with dR<0.4, in the preference of muon over electron over photon over jets
  • at least 1 photon object and only 1 electron object required
  • no muons in sample
  • cut-based working points
  • photon: medium, pT>20
  • electron: medium, pT>10 (will move to tight?)
  • muon: tight, pT> 25

Signal region cuts (e channel)

  • photon pT > 50
  • inverse Z mass cut (Width=15?)
  • photon passing electron veto (Pixel Seed?)
In [1]:
cd /home/kakw/efake/WG_Analysis/Plotting
/home/kakw/efake/WG_Analysis/Plotting
In [2]:
 %run interactiveStackTree.py --baseDir  /data/users/kakw/Resonances/LepGamma_elg_newblind_2018_09_23_beta \
--samplesConf Modules/Resonance.py --xsFile cross_sections/photon15.py \
--lumi 35900. --treeName UMDNTuple/EventTree --fileName tree.root --jupyt --quiet
Welcome to JupyROOT 6.10/05
-------------------------------------
 LOAD CROSS SECTION INFO
-------------------------------------
DYJetsToLL_M-50                xsec : 5.77e+03 pb Nevent : 49144274 lumi : 8.52e+03 scale :     4.21
ZGTo2LG                        xsec :      118 pb Nevent : 9321494  lumi : 7.91e+04 scale :    0.454
TTJets_DiLept                  xsec :     85.7 pb Nevent : 6094476  lumi : 7.11e+04 scale :    0.505
TTJets_SingleLeptFromT         xsec :      179 pb Nevent : 11957043 lumi : 6.69e+04 scale :    0.537
TTJets_SingleLeptFromTbar      xsec :      179 pb Nevent : 46455353 lumi :  2.6e+05 scale :    0.138
TTGJets                        xsec :      3.7 pb Nevent : 1577833  lumi : 4.27e+05 scale :   0.0841
WWTo2L2Nu                      xsec :     12.2 pb Nevent : 1        lumi :   0.0821 scale : 4.37e+05
WGToLNuG-amcatnloFXFX          xsec :      822 pb Nevent : 3235156  lumi : 3.94e+03 scale :     9.12
WGToLNuG-madgraphMLM           xsec :      405 pb Nevent : 6103817  lumi : 1.51e+04 scale :     2.38
WGToLNuG_PtG-130-amcatnloFXFX  xsec :     2.02 pb Nevent : 841701   lumi : 4.16e+05 scale :   0.0864
WGToLNuG_PtG-130-madgraphMLM   xsec :    0.795 pb Nevent : 1645059  lumi : 2.07e+06 scale :   0.0174
WGToLNuG_PtG-500-amcatnloFXFX  xsec :   0.0177 pb Nevent : 827560   lumi : 4.68e+07 scale : 0.000768
WGToLNuG_PtG-500-madgraphMLM   xsec :  0.00849 pb Nevent : 1393505  lumi : 1.64e+08 scale : 0.000219
WWG                            xsec :    0.215 pb Nevent : 827630   lumi : 3.85e+06 scale :  0.00931
WJetsToLNu-madgraphMLM         xsec : 6.15e+04 pb Nevent : 29705748 lumi :      483 scale :     74.4
WJetsToLNu-amcatnloFXFX        xsec : 6.15e+04 pb Nevent : 12965572 lumi :      211 scale :      170
WJetsToLNu_HT-100To200         xsec : 1.33e+03 pb Nevent : 10235198 lumi : 7.72e+03 scale :     4.65
WJetsToLNu_HT-200To400         xsec :      428 pb Nevent : 4950373  lumi : 1.16e+04 scale :      3.1
WJetsToLNu_HT-400To600         xsec :     63.9 pb Nevent : 1963464  lumi : 3.07e+04 scale :     1.17
WJetsToLNu_HT-600To800         xsec :     16.3 pb Nevent : 3779141  lumi : 2.32e+05 scale :    0.155
WJetsToLNu_HT-800To1200        xsec :     7.48 pb Nevent : 1544513  lumi : 2.06e+05 scale :    0.174
WJetsToLNu_HT-1200To2500       xsec :     1.79 pb Nevent : 244532   lumi : 1.36e+05 scale :    0.263
WJetsToLNu_HT-2500ToInf        xsec :   0.0404 pb Nevent : 253561   lumi : 6.28e+06 scale :  0.00572
WJetsToLNu_Pt-100To250         xsec :      676 pb Nevent : 3644567  lumi : 5.39e+03 scale :     6.66
GJets_HT-40To100               xsec : 2.07e+04 pb Nevent : 4467985  lumi :      216 scale :      167
GJets_HT-100To200              xsec : 9.23e+03 pb Nevent : 5131873  lumi :      556 scale :     64.5
GJets_HT-200To400              xsec :  2.3e+03 pb Nevent : 10036487 lumi : 4.36e+03 scale :     8.23
GJets_HT-400To600              xsec :      277 pb Nevent : 2529729  lumi : 9.12e+03 scale :     3.94
GJets_HT-600ToInf              xsec :     93.4 pb Nevent : 2463946  lumi : 2.64e+04 scale :     1.36
DiPhoton                       xsec :       84 pb Nevent : 19410854 lumi : 2.31e+05 scale :    0.155
ResonanceMass200               xsec :   0.0219 pb Nevent : 50000    lumi : 2.28e+05 scale :    0.157
ResonanceMass250               xsec :  0.00773 pb Nevent : 50000    lumi : 6.47e+05 scale :   0.0555
ResonanceMass300               xsec :  0.00307 pb Nevent : 50000    lumi : 1.63e+06 scale :   0.0221
ResonanceMass350               xsec :  0.00147 pb Nevent : 50000    lumi :  3.4e+06 scale :   0.0106
ResonanceMass400               xsec : 0.000679 pb Nevent : 50000    lumi : 7.36e+06 scale :  0.00488
ResonanceMass450               xsec :  0.00429 pb Nevent : 50000    lumi : 1.17e+06 scale :   0.0308
ResonanceMass500               xsec :  0.00242 pb Nevent : 50000    lumi : 2.07e+06 scale :   0.0174
ResonanceMass600               xsec :  0.00095 pb Nevent : 50000    lumi : 5.26e+06 scale :  0.00682
ResonanceMass700               xsec : 0.000472 pb Nevent : 50000    lumi : 1.06e+07 scale :  0.00339
ResonanceMass800               xsec :  0.00373 pb Nevent : 50000    lumi : 1.34e+06 scale :   0.0268
ResonanceMass900               xsec :  0.00113 pb Nevent : 50000    lumi : 4.42e+06 scale :  0.00812
ResonanceMass1000              xsec : 0.000748 pb Nevent : 50000    lumi : 6.69e+06 scale :  0.00537
ResonanceMass1200              xsec : 0.000262 pb Nevent : 50000    lumi : 1.91e+07 scale :  0.00188
ResonanceMass1400              xsec : 0.000117 pb Nevent : 50000    lumi : 4.27e+07 scale :  0.00084
ResonanceMass1600              xsec : 5.42e-05 pb Nevent : 50000    lumi : 9.22e+07 scale : 0.000389
ResonanceMass1800              xsec : 0.000252 pb Nevent : 50000    lumi : 1.98e+07 scale :  0.00181
ResonanceMass2000              xsec : 0.000172 pb Nevent : 50000    lumi :  2.9e+07 scale :  0.00124
ResonanceMass2200              xsec : 5.99e-05 pb Nevent : 50000    lumi : 8.34e+07 scale :  0.00043
ResonanceMass2400              xsec : 4.68e-05 pb Nevent : 50000    lumi : 1.07e+08 scale : 0.000336
ResonanceMass2600              xsec :  0.00023 pb Nevent : 50000    lumi : 2.17e+07 scale :  0.00165
ResonanceMass2800              xsec : 0.000136 pb Nevent : 50000    lumi : 3.69e+07 scale : 0.000974
ResonanceMass3000              xsec : 7.12e-05 pb Nevent : 50000    lumi : 7.02e+07 scale : 0.000511
ResonanceMass3500              xsec :  2.3e-05 pb Nevent : 50000    lumi : 2.17e+08 scale : 0.000165
ResonanceMass4000              xsec :  2.3e-05 pb Nevent : 50000    lumi : 2.17e+08 scale : 0.000165
-------------------------------------
BEGIN READING SAMPLES
-------------------------------------
AddSample: Reading SingleMuon                                [ Failed  ]
AddSample: Reading SingleElectron                            [ Success ]
AddSample: Reading DYJetsToLL_M-50_TuneCUETP8M1_13TeV-madgraphMLM-pythia8PhOlap  [ Success ]
AddSample: Reading ZGTo2LG_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8  [ Success ]
AddSample: Reading TTJets_DiLept_TuneCUETP8M1_13TeV-madgraphMLM-pythia8PhOlap  [ Success ]
AddSample: Reading TTJets_SingleLeptFromTbar_TuneCUETP8M1_13TeV-madgraphMLM-pythia8PhOlap  [ Success ]
AddSample: Reading TTJets_SingleLeptFromT_TuneCUETP8M1_13TeV-madgraphMLM-pythia8PhOlap  [ Success ]
AddSample: Reading TTGJets_TuneCUETP8M1_13TeV-amcatnloFXFX-madspin-pythia8  [ Success ]
AddSample: Reading WGToLNuG_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8  [ Success ]
AddSample: Reading WGToLNuG_TuneCUETP8M1_13TeV-madgraphMLM-pythia8  [ Success ]
AddSample: Reading WGToLNuG_PtG-130_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8  [ Success ]
AddSample: Reading WGToLNuG_PtG-130_TuneCUETP8M1_13TeV-madgraphMLM-pythia8  [ Success ]
AddSample: Reading WGToLNuG_PtG-500_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8  [ Success ]
AddSample: Reading WGToLNuG_PtG-500_TuneCUETP8M1_13TeV-madgraphMLM-pythia8  [ Success ]
AddSample: Reading WGToLNuG_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8PhCutMax  [ Success ]
AddSample: Reading WGToLNuG_PtG-130_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8PhCutMaxPhCutMin  [ Failed  ]
AddSample: Reading WGToLNuG_PtG-500_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8PhCutMin  [ Success ]
AddSample: Reading WGToLNuG_TuneCUETP8M1_13TeV-madgraphMLM-pythia8PhCutMax  [ Success ]
AddSample: Reading WGToLNuG_PtG-130_TuneCUETP8M1_13TeV-madgraphMLM-pythia8PhCutMaxPhCutMin  [ Failed  ]
AddSample: Reading WGToLNuG_PtG-500_TuneCUETP8M1_13TeV-madgraphMLM-pythia8PhCutMin  [ Success ]
AddSample: Reading WGToLNuG_TuneCUETP8M1_13TeV-madgraphMLM-pythia8  [ Success ]
AddSample: Reading WGToLNuG_PtG-130_TuneCUETP8M1_13TeV-madgraphMLM-pythia8  [ Success ]
AddSample: Reading WGToLNuG_PtG-500_TuneCUETP8M1_13TeV-madgraphMLM-pythia8  [ Success ]
AddSample: Reading WJetsToLNu_TuneCUETP8M1_13TeV-madgraphMLM-pythia8  [ Success ]
AddSample: Reading WWG_TuneCUETP8M1_13TeV-amcatnlo-pythia8   [ Failed  ]
AddSample: Reading DiPhotonJets_MGG-80toInf_13TeV_amcatnloFXFX_pythia8  [ Success ]
AddSample: Reading WJetsToLNu_TuneCUETP8M1_13TeV-madgraphMLM-pythia8TrueHTOlapPhOlap  [ Success ]
AddSample: Reading WJetsToLNu_HT-100To200_TuneCUETP8M1_13TeV-madgraphMLM-pythia8PhOlap  [ Success ]
AddSample: Reading WJetsToLNu_HT-200To400_TuneCUETP8M1_13TeV-madgraphMLM-pythia8PhOlap  [ Success ]
AddSample: Reading WJetsToLNu_HT-400To600_TuneCUETP8M1_13TeV-madgraphMLM-pythia8PhOlap  [ Success ]
AddSample: Reading WJetsToLNu_HT-600To800_TuneCUETP8M1_13TeV-madgraphMLM-pythia8PhOlap  [ Success ]
AddSample: Reading WJetsToLNu_HT-800To1200_TuneCUETP8M1_13TeV-madgraphMLM-pythia8PhOlap  [ Success ]
AddSample: Reading WJetsToLNu_HT-1200To2500_TuneCUETP8M1_13TeV-madgraphMLM-pythia8PhOlap  [ Success ]
AddSample: Reading WJetsToLNu_HT-2500ToInf_TuneCUETP8M1_13TeV-madgraphMLM-pythia8PhOlap  [ Success ]
AddSample: Reading GJets_HT-40To100_TuneCUETP8M1_13TeV-madgraphMLM-pythia8  [ Success ]
AddSample: Reading GJets_HT-100To200_TuneCUETP8M1_13TeV-madgraphMLM-pythia8  [ Success ]
AddSample: Reading GJets_HT-200To400_TuneCUETP8M1_13TeV-madgraphMLM-pythia8  [ Success ]
AddSample: Reading GJets_HT-400To600_TuneCUETP8M1_13TeV-madgraphMLM-pythia8  [ Success ]
AddSample: Reading GJets_HT-600ToInf_TuneCUETP8M1_13TeV-madgraphMLM-pythia8  [ Success ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M200_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M200_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M250_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M250_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M300_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M300_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M350_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M350_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M400_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M400_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M450_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M450_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M500_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M500_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M600_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M600_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M700_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M700_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M800_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M800_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M900_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M900_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M1000_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M1000_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M1200_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M1200_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M1400_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M1400_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M1600_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M1600_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M1800_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M1800_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M2000_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M2000_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M2200_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M2200_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M2400_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M2400_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M2600_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M2800_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M2800_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M3000_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M3500_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M3500_width5  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M4000_width0p01  [ Failed  ]
AddSample: Reading MadGraphChargedResonance_WGToLNu_M4000_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M200_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M200_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M250_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M250_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M300_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M300_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M350_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M350_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M400_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M400_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M450_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M450_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M500_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M500_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M600_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M600_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M700_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M700_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M800_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M800_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M900_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M900_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M1000_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M1000_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M1200_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M1200_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M1400_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M1400_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M1600_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M1600_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M1800_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M1800_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M2000_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M2000_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M2200_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M2200_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M2400_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M2400_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M2600_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M2800_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M2800_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M3000_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M3500_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M3500_width5  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M4000_width0p01  [ Failed  ]
AddSample: Reading PythiaChargedResonance_WGToLNu_M4000_width5  [ Failed  ]
WARNING - Child sample, SingleMuon, does not exist!
Grouping Data
WARNING - Child sample, WGToLNuG_PtG-130-amcatnloFXFXPhCut, does not exist!
Grouping Wgamma
Grouping Z+jets
Grouping Zgamma
Grouping WgammaLO
Grouping Wjets
Grouping TTG
Grouping GJets
Grouping GammaGamma
Grouping TTbar_DiLep
Grouping TTbar_SingleLep
Grouping AllTop
Grouping Others
Grouping MCBackground
Grouping MCBackgroundLO
Grouping JetBackground
Grouping EleFakeBackground
In [3]:
base = 'ph_n>=1 && el_n==1'
baseeta = base + ' && abs(ph_eta[0])<1.4'
base1 = 'ph_n==1 && el_n==1'
base1eta = base1 + ' && ph_IsEB[0]'
#a4 = '&& ph_hasPixSeed[0]==0'  #Pixel seed
#b4 = '&& ph_hasPixSeed[0]==1'
passpix = '&& ph_hasPixSeed[0]==0'  #Pixel seed
failpix = '&& ph_hasPixSeed[0]==1'
passcsev = '&& ph_passEleVeto[0]==1' #CSEV
failcsev = '&& ph_passEleVeto[0]==0' 
ltmet = '&&met_pt<25'
gtmet = '&&met_pt>25'
phpt50 = "&&ph_pt[0]>50"
unblind = "ph_hasPixSeed[0]==1 || met_pt<25"
weight = "PUWeight*NLOWeight"
In [4]:
ROOT.gStyle.SetOptStat(0)
ROOT.gStyle.SetOptFit(1)
#samples.change_stack_order("GammaGamma","Wjets") # not working :/
In [5]:
samples.deactivate_all_samples()
samples.activate_sample(["Z+jets","Zgamma"])
Activate sample Z+jets
Activate sample Zgamma

Prepare fit sample

  • e,g mass with barrel photons
  • dominated by Z -> ee events with one electron misidentified
In [6]:
samples.Draw("m_lep_ph",base1eta+gtmet + passpix,(200,0,200),
             {"xlabel":"m(e,#gamma) " , "weight": weight,"logy":1 })
m_lep_ph : ph_n==1 && el_n==1 && ph_IsEB[0]&&met_pt>25&& ph_hasPixSeed[0]==0
stack_sum 251074.368866
Out[6]:
Info in <TCanvas::Print>: png file /tmp/tmpH53qCJ.png has been created
In [7]:
samples.Draw("m_lep_ph",base1eta+gtmet+"&&ph_pt[0]>50&&ph_pt[0]<80",(200,0,200),
             {"xlabel":"m(e,#gamma) " , "weight": weight,'normalize':1,"logy":1 })
m_lep_ph : ph_n==1 && el_n==1 && ph_IsEB[0]&&met_pt>25&&ph_pt[0]>50&&ph_pt[0]<80
stack_sum 145243.605367
Out[7]:
Info in <TCanvas::Print>: png file /tmp/tmp43tlsV.png has been created
In [8]:
h1 = samples.get_samples(name='__AllStack__')[0].hist.Clone()
h1.Scale(1./h1.Integral())
In [9]:
cv = samples.Draw("m_lep_ph",base1eta+ltmet+"&&ph_pt[0]>100",(200,0,200),
             {"xlabel":"m(e,#gamma) " , "weight": weight,'normalize':1 })
h2 = samples.get_samples(name='__AllStack__')[0].hist.Clone()
h2.Scale(1./h2.Integral())
m_lep_ph : ph_n==1 && el_n==1 && ph_IsEB[0]&&met_pt<25&&ph_pt[0]>100
stack_sum 5636.03760013
In [10]:
h1.Draw()
h2.Draw("same")
h1.SetLineColor(2)
h1.SetLineWidth(2)
h2.SetLineWidth(2)
h2.SetLineColor(6)
h1.GetXaxis().SetRangeUser(20,160)
h1.GetYaxis().SetRangeUser(0,0.15)
samples.curr_canvases["top"]
Out[10]:
Info in <TCanvas::Print>: png file /tmp/tmpnzY5Mp.png has been created
In [11]:
#samples.CompareSelections("m_lep_ph",[base1eta+ltmet+"&&ph_pt[0]>100",base1eta+ltmet+"&&ph_pt[0]>50&&ph_pt[0]<60"],
#                          ["Z+jets"]*2,(200,0,400), {"xlabel":"m(e,#gamma) " , "weight": weight,'normalize':1 ,'logy':1,
#                          "doratio":1,'rlabel':"red/black", 'colors' : [ROOT.kBlack, ROOT.kRed]})
#samples.curr_canvases['top'].cd();samples.samples[-2].hist.GetYaxis().UnZoom();ROOT.gPad.Modified();ROOT.gPad.Update();
#samples.curr_canvases["base"]

Fitting

In [12]:
x = ROOT.RooRealVar("x","x",85,195)
x2 = ROOT.RooRealVar("x","reco mass [GeV]",0,200) #plot range
In [13]:
#import DrawConfig; reload(DrawConfig)
import FitManager; reload(FitManager);from FitManager import FitManager
In [14]:
fm = FitManager("cb",h1)
[#1] INFO:DataHandling -- RooDataHist::adjustBinning(datahist_): fit range of variable x expanded to nearest bin boundaries: [0,200] --> [0,200]
In [15]:
froo_cb = fm.setup_fit((85,195))

Crystal Ball function

  • gaussian fit to resonance peak
  • with power-law tail (in high end for us)

    $f(x;\alpha,n,x,\sigma) = \begin{cases} \text{exp}\left(-\frac{(x-x_{0})^{2}}{2\sigma^{2}}\right)&\text{for }x-x_{0}<\alpha\sigma \\ A\left(B-\frac{x-x_{0}}{\sigma}\right)&\text{for }x-x_{0}\geq\alpha\sigma\end{cases}$

  • With A and B fixed so that the pdf is continuous and differentiable at juncture

  • A "double" crystal ball is the version with two power tails

Crystal Ball: initiation

In [16]:
c=fm.draw("Fit of Z reco mass with electron fakes",(1e-4,1),logy=1)
[#1] INFO:Plotting -- RooAbsPdf::plotOn(cb_) p.d.f. curve is normalized using explicit choice of ranges 'myrange'
In [17]:
c.Draw()
In [18]:
froo_cb = fm.run_fit((85,155))
[#1] INFO:Eval -- RooRealVar::setRange(x) new range named 'fit' created with bounds [85,155]
[#1] INFO:Fitting -- RooAbsOptTestStatistic::ctor(nll_cb__datahist_) constructing test statistic for sub-range named fit
[#1] INFO:Eval -- RooRealVar::setRange(x) new range named 'NormalizationRangeForfit' created with bounds [0,200]
[#1] INFO:Eval -- RooRealVar::setRange(x) new range named 'fit_nll_cb__datahist_' created with bounds [85,155]
[#1] INFO:Fitting -- RooAbsOptTestStatistic::ctor(nll_cb__datahist_) fixing interpretation of coefficients of any RooAddPdf to full domain of observables 
[#1] INFO:Minization -- RooMinimizer::optimizeConst: activating const optimization
 **********
 **    1 **SET PRINT           1
 **********
 **********
 **    2 **SET NOGRAD
 **********
 PARAMETER DEFINITIONS:
    NO.   NAME         VALUE      STEP SIZE      LIMITS
     1 cb_alpha    -1.00000e+00  5.00000e-02   -1.00000e+01  1.00000e+01
     2 cb_mass      9.00000e+01  1.00000e+00    8.00000e+01  1.00000e+02
     3 cb_power     2.00000e+00  1.00000e+00    0.00000e+00  1.00000e+01
     4 cb_sigma     1.00000e+00  5.00000e-01    1.00000e-01  1.00000e+02
 **********
 **    3 **SET ERR         0.5
 **********
 **********
 **    4 **SET PRINT           1
 **********
 **********
 **    5 **MIGRAD        2000           1
 **********
 FIRST CALL TO USER FUNCTION AT NEW START POINT, WITH IFLAG=4.
 START MIGRAD MINIMIZATION.  STRATEGY  1.  CONVERGENCE WHEN EDM .LT. 1.00e-03
 FCN=3.35974 FROM MIGRAD    STATUS=INITIATE       16 CALLS          17 TOTAL
                     EDM= unknown      STRATEGY= 1      NO ERROR MATRIX       
  EXT PARAMETER               CURRENT GUESS       STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  cb_alpha    -1.00000e+00   5.00000e-02   5.02521e-03  -5.05087e+00
   2  cb_mass      9.00000e+01   1.00000e+00   1.00167e-01   1.74711e+00
   3  cb_power     2.00000e+00   1.00000e+00   2.57889e-01   8.31773e-01
   4  cb_sigma     1.00000e+00   5.00000e-01   5.53396e-02  -1.16144e+01
                               ERR DEF= 0.5
 MIGRAD MINIMIZATION HAS CONVERGED.
 MIGRAD WILL VERIFY CONVERGENCE AND ERROR MATRIX.
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=2.90011 FROM MIGRAD    STATUS=CONVERGED     177 CALLS         178 TOTAL
                     EDM=0.000219792    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                   STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  cb_alpha    -1.23559e+00   3.78521e+00   1.73733e-04   7.57500e-02
   2  cb_mass      9.07937e+01   4.42692e+00   4.75727e-04  -8.89326e-03
   3  cb_power     1.30459e+00   5.25704e+00   8.69223e-04  -1.21923e-02
   4  cb_sigma     2.69402e+00   4.65103e+00   2.89719e-04   5.49035e-02
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  4    ERR DEF=0.5
  1.508e+01 -8.926e+00  1.920e+01 -9.394e+00 
 -8.926e+00  2.104e+01 -9.767e+00  9.982e+00 
  1.920e+01 -9.767e+00  2.978e+01 -9.103e+00 
 -9.394e+00  9.982e+00 -9.103e+00  2.228e+01 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4
        1  0.93336   1.000 -0.501  0.906 -0.512
        2  0.56071  -0.501  1.000 -0.390  0.461
        3  0.91604   0.906 -0.390  1.000 -0.353
        4  0.60718  -0.512  0.461 -0.353  1.000
 **********
 **    6 **SET ERR         0.5
 **********
 **********
 **    7 **SET PRINT           1
 **********
 **********
 **    8 **HESSE        2000
 **********
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=2.90011 FROM HESSE     STATUS=OK             23 CALLS         201 TOTAL
                     EDM=0.000219875    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                INTERNAL      INTERNAL  
  NO.   NAME      VALUE            ERROR       STEP SIZE       VALUE   
   1  cb_alpha    -1.23559e+00   3.79698e+00   3.47465e-05  -1.23876e-01
   2  cb_mass      9.07937e+01   4.42799e+00   9.51454e-05   7.94558e-02
   3  cb_power     1.30459e+00   5.26696e+00   1.73845e-04  -8.31706e-01
   4  cb_sigma     2.69402e+00   4.65385e+00   5.79438e-05  -1.24710e+00
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  4    ERR DEF=0.5
  1.518e+01 -8.975e+00  1.934e+01 -9.460e+00 
 -8.975e+00  2.105e+01 -9.841e+00  9.991e+00 
  1.934e+01 -9.841e+00  2.997e+01 -9.201e+00 
 -9.460e+00  9.991e+00 -9.201e+00  2.231e+01 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4
        1  0.93381   1.000 -0.502  0.907 -0.514
        2  0.56103  -0.502  1.000 -0.392  0.461
        3  0.91660   0.907 -0.392  1.000 -0.356
        4  0.60783  -0.514  0.461 -0.356  1.000
[#1] INFO:Fitting -- RooAbsPdf::fitTo(cb_) Calculating sum-of-weights-squared correction matrix for covariance matrix
 **********
 **    9 **SET ERR         0.5
 **********
 **********
 **   10 **SET PRINT           1
 **********
 **********
 **   11 **HESSE        2000
 **********
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=8.72292e-05 FROM HESSE     STATUS=OK             31 CALLS         232 TOTAL
                     EDM=1.34832e-08    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                INTERNAL      INTERNAL  
  NO.   NAME      VALUE            ERROR       STEP SIZE       VALUE   
   1  cb_alpha    -1.23559e+00   1.13083e+01   7.08829e-04  -1.23876e-01
   2  cb_mass      9.07937e+01   1.52140e+01   1.94097e-03   7.94558e-02
   3  cb_power     1.30459e+00   8.42296e+00   3.54643e-03  -8.31706e-01
   4  cb_sigma     2.69402e+00   9.69808e+01   1.18205e-03  -1.24710e+00
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  4    ERR DEF=0.5
  4.741e+05 -2.869e+05  5.965e+05 -3.063e+05 
 -2.869e+05  6.945e+05 -3.088e+05  3.332e+05 
  5.965e+05 -3.088e+05  9.262e+05 -2.936e+05 
 -3.063e+05  3.332e+05 -2.936e+05  7.386e+05 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4
        1  0.92946   1.000 -0.500  0.900 -0.518
        2  0.56102  -0.500  1.000 -0.385  0.465
        3  0.91046   0.900 -0.385  1.000 -0.355
        4  0.60990  -0.518  0.465 -0.355  1.000
[#1] INFO:Minization -- RooMinimizer::optimizeConst: deactivating const optimization

Crystal Ball: Fit Result

In [19]:
fm.draw(" ",(1e-4,1),logy=1,layout=(0.55,0.9,0.82));
[#1] INFO:Plotting -- RooAbsPdf::plotOn(cb_) p.d.f was fitted in range and no explicit plot range was specified, using fit range as default
[#1] INFO:Plotting -- RooAbsPdf::plotOn(cb_) only plotting range 'fit_nll_cb__datahist_'
[#1] INFO:Plotting -- RooAbsPdf::plotOn(cb_) p.d.f. curve is normalized using explicit choice of ranges 'myrange'
In [20]:
#fm.func_pdf.paramOn(fm.frame,RooFit.Layout(0.65)).Draw()
In [21]:
fm.canvas.Draw()
In [22]:
fm.fitresult.Print()
  RooFitResult: minimized FCN value: 8.72292e-05, estimated distance to minimum: 1.34832e-08
                covariance matrix quality: Unknown, matrix was externally provided
                Status : MINIMIZE=0 HESSE=0 HESSE=0 

    Floating Parameter    FinalValue +/-  Error   
  --------------------  --------------------------
              cb_alpha   -1.2356e+00 +/-  2.21e-02
               cb_mass    9.0794e+01 +/-  2.53e-02
              cb_power    1.3046e+00 +/-  3.11e-02
              cb_sigma    2.6940e+00 +/-  2.60e-02

Crystal Ball: Fit Result in linear scale

In [23]:
fm.canvas.SetLogy(0); fm.frame.SetMaximum(0.15);fm.canvas.Draw()
In [24]:
fm.frame.chiSquare() # 70 is dof
Out[24]:
4.851167378233312

Double-sided Cystal Ball

For the generation of custom piece-wise function:

run in ROOT CINT interactive and edit evaluate()

RooClassFactory::makePdf("DoubleCB","m,m0,sigma,alpha1,n1,alpha2,n2")

Compiling source

in pyROOT: ROOT.gROOT.ProcessLineSync(".x DoubleCB.cxx+")

In [55]:
import FitManager; reload(FitManager);from FitManager import FitManager
In [56]:
fm = FitManager("dcb",h1, xvardata = (40,200,"GeV"))
[#1] INFO:DataHandling -- RooDataHist::adjustBinning(datahist_): fit range of variable x expanded to nearest bin boundaries: [40,200] --> [40,200]
In [57]:
froo_dcb = fm.setup_fit((60,195))
DoubleCB::pdf(x[60,195],dcb_mass[90,80,100],dcb_sigma[1,0.1,100],dcb_alpha1[1,0.01,10],dcb_power1[2,0.01,10],dcb_alpha2[1,0.01,10],dcb_power2[2,0.01,10])
(DoubleCB) Name:  Title: 
Info in <ACLiC>: unmodified script has already been compiled and loaded
In [58]:
c=fm.draw(" ",(1e-4,1),logy=1)
#fm.func_pdf.paramOn(fm.frame,RooFit.Layout(0.65,0.9,0.9)).Draw()
[#1] INFO:Plotting -- RooAbsPdf::plotOn(pdf) p.d.f. curve is normalized using explicit choice of ranges 'myrange'
[#1] INFO:NumericIntegration -- RooRealIntegral::init(pdf_Int[x]) using numeric integrator RooIntegrator1D to calculate Int(x)
[#1] INFO:NumericIntegration -- RooRealIntegral::init(pdf_Int[x|myrange]_Norm[x]) using numeric integrator RooIntegrator1D to calculate Int(x)

Before fitting

In [59]:
c.Draw()
In [65]:
froo_dcb = fm.run_fit((70,180))
[#1] INFO:Fitting -- RooAbsOptTestStatistic::ctor(nll_pdf_datahist_) constructing test statistic for sub-range named fit
[#1] INFO:Fitting -- RooAbsOptTestStatistic::ctor(nll_pdf_datahist_) fixing interpretation of coefficients of any RooAddPdf to full domain of observables 
[#1] INFO:NumericIntegration -- RooRealIntegral::init(pdf_Int[x]) using numeric integrator RooIntegrator1D to calculate Int(x)
[#1] INFO:Minization -- RooMinimizer::optimizeConst: activating const optimization
 **********
 **   67 **SET PRINT           1
 **********
 **********
 **   68 **SET NOGRAD
 **********
 PARAMETER DEFINITIONS:
    NO.   NAME         VALUE      STEP SIZE      LIMITS
     1 dcb_alpha1   1.07442e+00  3.28499e-02    1.00000e-02  1.00000e+01
     2 dcb_alpha2   1.14163e+00  3.19375e-02    1.00000e-02  1.00000e+01
     3 dcb_mass     9.08948e+01  1.42913e-02    8.00000e+01  1.00000e+02
     4 dcb_power1   7.74017e+00  1.22109e+00    1.00000e-02  1.00000e+01
     5 dcb_power2   1.42926e+00  5.11943e-02    1.00000e-02  1.00000e+01
     6 dcb_sigma    2.39516e+00  2.24939e-02    1.00000e-01  1.00000e+02
 **********
 **   69 **SET ERR         0.5
 **********
 **********
 **   70 **SET PRINT           1
 **********
 **********
 **   71 **MIGRAD        3000           1
 **********
 FIRST CALL TO USER FUNCTION AT NEW START POINT, WITH IFLAG=4.
 START MIGRAD MINIMIZATION.  STRATEGY  1.  CONVERGENCE WHEN EDM .LT. 1.00e-03
 FCN=3.28127 FROM MIGRAD    STATUS=INITIATE       24 CALLS          25 TOTAL
                     EDM= unknown      STRATEGY= 1      NO ERROR MATRIX       
  EXT PARAMETER               CURRENT GUESS       STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  dcb_alpha1   1.07442e+00   3.28499e-02   1.06588e-02  -8.02274e-03
   2  dcb_alpha2   1.14163e+00   3.19375e-02   1.00882e-02  -1.16492e-02
   3  dcb_mass     9.08948e+01   1.42913e-02   1.43489e-03  -1.31108e-02
   4  dcb_power1   7.74017e+00   1.22109e+00   3.03092e-01  -3.16077e-04
   5  dcb_power2   1.42926e+00   5.11943e-02   1.46807e-02  -5.06555e-03
   6  dcb_sigma    2.39516e+00   2.24939e-02   1.50289e-03   1.54459e-02
                               ERR DEF= 0.5
 MIGRAD MINIMIZATION HAS CONVERGED.
 MIGRAD WILL VERIFY CONVERGENCE AND ERROR MATRIX.
 EIGENVALUES OF SECOND-DERIVATIVE MATRIX:
        -5.6823e-01  1.7115e-01  7.9165e-01  1.4030e+00  1.9763e+00  2.2262e+00
 MINUIT WARNING IN HESSE   
 ============== MATRIX FORCED POS-DEF BY ADDING 0.570461 TO DIAGONAL.
 FCN=3.28124 FROM HESSE     STATUS=NOT POSDEF     48 CALLS          99 TOTAL
                     EDM=0.000532093    STRATEGY= 1      ERR MATRIX NOT POS-DEF
  EXT PARAMETER                APPROXIMATE        STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  dcb_alpha1   1.07879e+00   5.18626e+00   7.93108e-04   1.00475e-03
   2  dcb_alpha2   1.14451e+00   7.40687e+00   5.31193e-04  -4.49990e-03
   3  dcb_mass     9.09025e+01   1.51725e+01   4.65354e-04  -4.03826e-03
   4  dcb_power1   7.92186e+00   5.82587e+00   2.23001e-02  -1.47575e-05
   5  dcb_power2   1.43221e+00   5.49677e+00   7.72070e-04   2.43241e-04
   6  dcb_sigma    2.39056e+00   5.83382e+01   2.67486e-04  -1.16994e-02
                               ERR DEF= 0.5
 MIGRAD MINIMIZATION HAS CONVERGED.
 MIGRAD WILL VERIFY CONVERGENCE AND ERROR MATRIX.
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=3.28124 FROM MIGRAD    STATUS=CONVERGED     163 CALLS         164 TOTAL
                     EDM=1.19007e-05    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                   STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  dcb_alpha1   1.08056e+00   5.01085e+00   7.96405e-04   7.52587e-04
   2  dcb_alpha2   1.14875e+00   2.30310e+00   5.29270e-04  -1.90991e-03
   3  dcb_mass     9.09134e+01   3.70500e+00   4.69570e-04   4.21023e-03
   4  dcb_power1   7.95391e+00   6.01804e+00   8.92004e-03  -2.52844e-05
   5  dcb_power2   1.43014e+00   5.53194e+00   7.73624e-04   1.22835e-03
   6  dcb_sigma    2.40043e+00   4.25622e+00   2.69882e-04  -3.31878e-03
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  6    ERR DEF=0.5
  1.673e+01  1.527e+00 -4.325e+00 -4.508e+02  3.266e-01  7.470e+00 
  1.527e+00  6.640e+00  1.226e+00 -8.252e+00 -8.537e+00  2.295e+00 
 -4.325e+00  1.226e+00  1.441e+01  6.549e+01 -1.517e+00 -1.280e+00 
 -4.508e+02 -8.252e+00  6.549e+01  2.196e+04  3.644e+00  2.639e+01 
  3.266e-01 -8.537e+00 -1.517e+00  3.644e+00  1.603e+01  1.061e+00 
  7.470e+00  2.295e+00 -1.280e+00  2.639e+01  1.061e+00  1.862e+01 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4      5      6
        1  0.88962   1.000  0.145 -0.279 -0.744  0.020  0.423
        2  0.87417   0.145  1.000  0.125 -0.022 -0.827  0.206
        3  0.39816  -0.279  0.125  1.000  0.116 -0.100 -0.078
        4  0.85110  -0.744 -0.022  0.116  1.000  0.006  0.041
        5  0.86450   0.020 -0.827 -0.100  0.006  1.000  0.061
        6  0.71625   0.423  0.206 -0.078  0.041  0.061  1.000
 **********
 **   72 **SET ERR         0.5
 **********
 **********
 **   73 **SET PRINT           1
 **********
 **********
 **   74 **HESSE        3000
 **********
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=3.28124 FROM HESSE     STATUS=OK             40 CALLS         204 TOTAL
                     EDM=1.20148e-05    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                INTERNAL      INTERNAL  
  NO.   NAME      VALUE            ERROR       STEP SIZE       VALUE   
   1  dcb_alpha1   1.08056e+00   5.00906e+00   1.59281e-04  -9.03785e-01
   2  dcb_alpha2   1.14875e+00   2.30685e+00   1.05854e-04  -8.82015e-01
   3  dcb_mass     9.09134e+01   3.70703e+00   9.39140e-05   9.14666e-02
   4  dcb_power1   7.95391e+00   5.50979e+00   1.78401e-03   6.31521e-01
   5  dcb_power2   1.43014e+00   5.53016e+00   1.54725e-04  -7.97610e-01
   6  dcb_sigma    2.40043e+00   4.26186e+00   5.39765e-05  -1.26612e+00
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  6    ERR DEF=0.5
  1.722e+01  1.550e+00 -4.406e+00 -4.704e+02  3.187e-01  7.495e+00 
  1.550e+00  6.668e+00  1.232e+00 -8.768e+00 -8.574e+00  2.316e+00 
 -4.406e+00  1.232e+00  1.443e+01  6.860e+01 -1.533e+00 -1.295e+00 
 -4.704e+02 -8.768e+00  6.860e+01  2.275e+04  3.714e+00  2.675e+01 
  3.187e-01 -8.574e+00 -1.533e+00  3.714e+00  1.609e+01  1.043e+00 
  7.495e+00  2.316e+00 -1.295e+00  2.675e+01  1.043e+00  1.868e+01 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4      5      6
        1  0.89297   1.000  0.145 -0.280 -0.751  0.019  0.418
        2  0.87474   0.145  1.000  0.126 -0.023 -0.828  0.208
        3  0.39937  -0.280  0.126  1.000  0.120 -0.101 -0.079
        4  0.85666  -0.751 -0.023  0.120  1.000  0.006  0.041
        5  0.86499   0.019 -0.828 -0.101  0.006  1.000  0.060
        6  0.71718   0.418  0.208 -0.079  0.041  0.060  1.000
[#1] INFO:Fitting -- RooAbsPdf::fitTo(pdf) Calculating sum-of-weights-squared correction matrix for covariance matrix
 **********
 **   75 **SET ERR         0.5
 **********
 **********
 **   76 **SET PRINT           1
 **********
 **********
 **   77 **HESSE        3000
 **********
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=9.80741e-05 FROM HESSE     STATUS=OK             52 CALLS         256 TOTAL
                     EDM=1.04309e-08    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                INTERNAL      INTERNAL  
  NO.   NAME      VALUE            ERROR       STEP SIZE       VALUE   
   1  dcb_alpha1   1.08056e+00   5.97055e+00   3.24933e-03  -9.03785e-01
   2  dcb_alpha2   1.14875e+00   5.09193e+00   2.15942e-03  -8.82015e-01
   3  dcb_mass     9.09134e+01   1.13624e+01   1.91584e-03   9.14666e-02
   4  dcb_power1   7.95391e+00   8.90208e+00   3.63938e-02   6.31521e-01
   5  dcb_power2   1.43014e+00   9.27450e+00   3.15639e-03  -7.97610e-01
   6  dcb_sigma    2.40043e+00   6.94854e+01   1.10112e-03  -1.26612e+00
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  6    ERR DEF=0.5
  3.375e+05  4.744e+04 -1.096e+05 -4.804e+06  8.929e+03  2.542e+05 
  4.744e+04  2.147e+05  4.012e+04 -7.962e+04 -2.725e+05  7.979e+04 
 -1.096e+05  4.012e+04  4.699e+05  6.882e+05 -4.719e+04 -3.931e+04 
 -4.804e+06 -7.962e+04  6.882e+05  2.446e+08  1.572e+04  1.270e+05 
  8.929e+03 -2.725e+05 -4.719e+04  1.572e+04  5.117e+05  2.585e+04 
  2.542e+05  7.979e+04 -3.931e+04  1.270e+05  2.585e+04  6.064e+05 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4      5      6
        1  0.80882   1.000  0.176 -0.275 -0.529  0.021  0.562
        2  0.86972   0.176  1.000  0.126 -0.011 -0.822  0.221
        3  0.38487  -0.275  0.126  1.000  0.064 -0.096 -0.074
        4  0.66218  -0.529 -0.011  0.064  1.000  0.001  0.010
        5  0.85852   0.021 -0.822 -0.096  0.001  1.000  0.046
        6  0.70643   0.562  0.221 -0.074  0.010  0.046  1.000
[#1] INFO:Minization -- RooMinimizer::optimizeConst: deactivating const optimization
In [66]:
c=fm.draw(" ",(2e-5,1),logy=1,paramlayout=(0.55,0.9,0.82),subplot="pull")
[#1] INFO:Plotting -- RooAbsPdf::plotOn(pdf) only plotting range [70,180]
[#1] INFO:Plotting -- RooAbsPdf::plotOn(pdf) p.d.f. curve is normalized using explicit choice of ranges 'myrange'
[#1] INFO:NumericIntegration -- RooRealIntegral::init(pdf_Int[x]) using numeric integrator RooIntegrator1D to calculate Int(x)
[#1] INFO:NumericIntegration -- RooRealIntegral::init(pdf_Int[x|myrange]_Norm[x]) using numeric integrator RooIntegrator1D to calculate Int(x)
Warning in <TCanvas::Constructor>: Deleting canvas with same name: basecan

After fitting

In [67]:
#fm.func_pdf.paramOn(fm.frame,RooFit.Layout(0.65)).Draw()
In [68]:
%jsroot off
c.Draw()
In [63]:
fm.draw(" ",(2e-5,1),logy=1,paramlayout=0,subplot="pull").Draw()
[#1] INFO:Plotting -- RooAbsPdf::plotOn(pdf) only plotting range [70,180]
[#1] INFO:Plotting -- RooAbsPdf::plotOn(pdf) p.d.f. curve is normalized using explicit choice of ranges 'myrange'
[#1] INFO:NumericIntegration -- RooRealIntegral::init(pdf_Int[x]) using numeric integrator RooIntegrator1D to calculate Int(x)
[#1] INFO:NumericIntegration -- RooRealIntegral::init(pdf_Int[x|myrange]_Norm[x]) using numeric integrator RooIntegrator1D to calculate Int(x)
Warning in <TCanvas::Constructor>: Deleting canvas with same name: basecan
In [64]:
fm.fitresult.Print()
  RooFitResult: minimized FCN value: 9.80789e-05, estimated distance to minimum: 3.66849e-06
                covariance matrix quality: Unknown, matrix was externally provided
                Status : MINIMIZE=0 HESSE=0 HESSE=0 

    Floating Parameter    FinalValue +/-  Error   
  --------------------  --------------------------
            dcb_alpha1    1.0744e+00 +/-  3.28e-02
            dcb_alpha2    1.1416e+00 +/-  3.19e-02
              dcb_mass    9.0895e+01 +/-  1.43e-02
            dcb_power1    7.7402e+00 +/-  1.22e+00
            dcb_power2    1.4293e+00 +/-  5.12e-02
             dcb_sigma    2.3952e+00 +/-  2.25e-02

In [36]:
fm.frame.chiSquare(6)
Out[36]:
4.567096766750024
In [37]:
fm.defs["dcb_alpha2"].getVal()
Out[37]:
1.0
In [38]:
ROOT.RooArgSet(fm.xvarfit)
Out[38]:
<ROOT.RooArgSet object at 0x91f9fc4>
In [39]:
pm = fm.func_pdf.getParameters(ROOT.RooArgSet(fm.xvarfit))
In [40]:
pm.printLatex()
\begin{tabular}{lc}
$\verb+dcb_alpha1+ $ & $  1.07\pm 0.03$\\
$\verb+dcb_alpha2+ $ & $  1.14\pm 0.03$\\
$\verb+dcb_mass+ $ & $  90.89\pm 0.01$\\
$\verb+dcb_power1+ $ & $  8\pm 1$\\
$\verb+dcb_power2+ $ & $  1.43\pm 0.05$\\
$\verb+dcb_sigma+ $ & $  2.40\pm 0.02$\\
\end{tabular}

$\newcommand\T{\Rule{0pt}{1em}{.3em}} \begin{array}{lrl} \verb+fit range+& [75,&195]\\ \hline \verb+dcb_alpha1+ & 1.08&\pm 0.03\\ \verb+dcb_alpha2+ & 1.14&\pm 0.01\\ \verb+dcb_mass+ & 90.92&\pm 0.02\\ \verb+dcb_power1+ & 8&\pm 1\\ \verb+dcb_power2+ & 1.47&\pm 0.02\\ \verb+dcb_sigma+ & 2.40&\pm 0.03\\ \end{array}$

In [41]:
pm.printLatex()
\begin{tabular}{lc}
$\verb+dcb_alpha1+ $ & $  1.07\pm 0.03$\\
$\verb+dcb_alpha2+ $ & $  1.14\pm 0.03$\\
$\verb+dcb_mass+ $ & $  90.89\pm 0.01$\\
$\verb+dcb_power1+ $ & $  8\pm 1$\\
$\verb+dcb_power2+ $ & $  1.43\pm 0.05$\\
$\verb+dcb_sigma+ $ & $  2.40\pm 0.02$\\
\end{tabular}

$\newcommand\T{\Rule{0pt}{1em}{.3em}} \begin{array}{lc} \verb+fit range+& [75,155]\\ \hline \verb+dcb_alpha1+ & 1.10\pm 0.04\\ \verb+dcb_alpha2+ & 1.19\pm 0.02\\ \verb+dcb_mass+ & 90.89\pm 0.02\\ \verb+dcb_power1+ & 8\pm 2\\ \verb+dcb_power2+ & 1.32\pm 0.02\\ \verb+dcb_sigma+ & 2.42\pm 0.03\\ \end{array}$

In [42]:
froo_dcb = fm.run_fit((75,195))
[#1] INFO:Fitting -- RooAbsOptTestStatistic::ctor(nll_pdf_datahist_) constructing test statistic for sub-range named fit
[#1] INFO:Fitting -- RooAbsOptTestStatistic::ctor(nll_pdf_datahist_) fixing interpretation of coefficients of any RooAddPdf to full domain of observables 
[#1] INFO:NumericIntegration -- RooRealIntegral::init(pdf_Int[x]) using numeric integrator RooIntegrator1D to calculate Int(x)
[#1] INFO:Minization -- RooMinimizer::optimizeConst: activating const optimization
 **********
 **   12 **SET PRINT           1
 **********
 **********
 **   13 **SET NOGRAD
 **********
 PARAMETER DEFINITIONS:
    NO.   NAME         VALUE      STEP SIZE      LIMITS
     1 dcb_alpha1   1.07442e+00  3.28499e-02    1.00000e-02  1.00000e+01
     2 dcb_alpha2   1.14163e+00  3.19375e-02    1.00000e-02  1.00000e+01
     3 dcb_mass     9.08948e+01  1.42913e-02    8.00000e+01  1.00000e+02
     4 dcb_power1   7.74017e+00  1.22109e+00    1.00000e-02  1.00000e+01
     5 dcb_power2   1.42926e+00  5.11943e-02    1.00000e-02  1.00000e+01
     6 dcb_sigma    2.39516e+00  2.24939e-02    1.00000e-01  1.00000e+02
 **********
 **   14 **SET ERR         0.5
 **********
 **********
 **   15 **SET PRINT           1
 **********
 **********
 **   16 **MIGRAD        3000           1
 **********
 FIRST CALL TO USER FUNCTION AT NEW START POINT, WITH IFLAG=4.
 START MIGRAD MINIMIZATION.  STRATEGY  1.  CONVERGENCE WHEN EDM .LT. 1.00e-03
 FCN=3.28655 FROM MIGRAD    STATUS=INITIATE       24 CALLS          25 TOTAL
                     EDM= unknown      STRATEGY= 1      NO ERROR MATRIX       
  EXT PARAMETER               CURRENT GUESS       STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  dcb_alpha1   1.07442e+00   3.28499e-02   1.06588e-02  -8.63602e-03
   2  dcb_alpha2   1.14163e+00   3.19375e-02   1.00882e-02  -3.22145e-02
   3  dcb_mass     9.08948e+01   1.42913e-02   1.43489e-03  -1.33561e-02
   4  dcb_power1   7.74017e+00   1.22109e+00   3.03092e-01  -4.67481e-04
   5  dcb_power2   1.42926e+00   5.11943e-02   1.46807e-02  -3.37440e-02
   6  dcb_sigma    2.39516e+00   2.24939e-02   1.50289e-03   3.29954e-02
                               ERR DEF= 0.5
 MIGRAD MINIMIZATION HAS CONVERGED.
 MIGRAD WILL VERIFY CONVERGENCE AND ERROR MATRIX.
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=3.28631 FROM MIGRAD    STATUS=CONVERGED      92 CALLS          93 TOTAL
                     EDM=7.54856e-05    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                   STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  dcb_alpha1   1.07664e+00   5.10110e+00   8.67636e-04  -3.62549e-03
   2  dcb_alpha2   1.14711e+00   2.27998e+00   5.23756e-04   7.16476e-03
   3  dcb_mass     9.09201e+01   3.81254e+00   4.71922e-04   4.45392e-03
   4  dcb_power1   8.51286e+00   7.88780e+00   3.24145e-02  -1.88377e-04
   5  dcb_power2   1.46381e+00   5.59478e+00   7.40327e-04  -4.61705e-04
   6  dcb_sigma    2.41524e+00   4.54340e+00   2.74441e-04   8.35008e-03
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  6    ERR DEF=0.5
  1.509e+01  1.774e+00 -5.012e+00 -3.511e+02  5.269e-01  1.009e+01 
  1.774e+00  6.472e+00  1.124e+00 -7.666e+00 -8.074e+00  2.767e+00 
 -5.012e+00  1.124e+00  1.531e+01  5.508e+01 -1.685e+00 -2.539e+00 
 -3.511e+02 -7.666e+00  5.508e+01  2.141e+04 -2.782e-01 -9.661e+00 
  5.269e-01 -8.074e+00 -1.685e+00 -2.782e-01  1.510e+01  1.160e+00 
  1.009e+01  2.767e+00 -2.539e+00 -9.661e+00  1.160e+00  2.130e+01 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4      5      6
        1  0.85837   1.000  0.180 -0.330 -0.618  0.035  0.563
        2  0.87368   0.180  1.000  0.113 -0.021 -0.817  0.236
        3  0.43381  -0.330  0.113  1.000  0.096 -0.111 -0.141
        4  0.75401  -0.618 -0.021  0.096  1.000 -0.000 -0.014
        5  0.86200   0.035 -0.817 -0.111 -0.000  1.000  0.065
        6  0.74154   0.563  0.236 -0.141 -0.014  0.065  1.000
 **********
 **   17 **SET ERR         0.5
 **********
 **********
 **   18 **SET PRINT           1
 **********
 **********
 **   19 **HESSE        3000
 **********
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=3.28631 FROM HESSE     STATUS=OK             40 CALLS         133 TOTAL
                     EDM=7.66218e-05    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                INTERNAL      INTERNAL  
  NO.   NAME      VALUE            ERROR       STEP SIZE       VALUE   
   1  dcb_alpha1   1.07664e+00   5.05803e+00   1.73527e-04  -9.05055e-01
   2  dcb_alpha2   1.14711e+00   2.28398e+00   1.04751e-04  -8.82532e-01
   3  dcb_mass     9.09201e+01   3.81566e+00   9.43844e-05   9.21442e-02
   4  dcb_power1   8.51286e+00   5.21135e+00   6.48290e-03   7.78587e-01
   5  dcb_power2   1.46381e+00   5.59323e+00   1.48065e-04  -7.88004e-01
   6  dcb_sigma    2.41524e+00   4.55044e+00   5.48883e-05  -1.26514e+00
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  6    ERR DEF=0.5
  1.583e+01  1.806e+00 -5.140e+00 -3.844e+02  5.232e-01  1.018e+01 
  1.806e+00  6.501e+00  1.128e+00 -8.556e+00 -8.112e+00  2.793e+00 
 -5.140e+00  1.128e+00  1.533e+01  6.070e+01 -1.702e+00 -2.568e+00 
 -3.844e+02 -8.556e+00  6.070e+01  2.287e+04 -4.076e-01 -1.180e+01 
  5.232e-01 -8.112e+00 -1.702e+00 -4.076e-01  1.516e+01  1.142e+00 
  1.018e+01  2.793e+00 -2.568e+00 -1.180e+01  1.142e+00  2.137e+01 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4      5      6
        1  0.86543   1.000  0.178 -0.330 -0.639  0.034  0.554
        2  0.87429   0.178  1.000  0.113 -0.022 -0.817  0.237
        3  0.43542  -0.330  0.113  1.000  0.103 -0.112 -0.142
        4  0.77180  -0.639 -0.022  0.103  1.000 -0.001 -0.017
        5  0.86253   0.034 -0.817 -0.112 -0.001  1.000  0.063
        6  0.74251   0.554  0.237 -0.142 -0.017  0.063  1.000
[#1] INFO:Fitting -- RooAbsPdf::fitTo(pdf) Calculating sum-of-weights-squared correction matrix for covariance matrix
 **********
 **   20 **SET ERR         0.5
 **********
 **********
 **   21 **SET PRINT           1
 **********
 **********
 **   22 **HESSE        3000
 **********
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=9.82802e-05 FROM HESSE     STATUS=OK             52 CALLS         185 TOTAL
                     EDM=1.37351e-08    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                INTERNAL      INTERNAL  
  NO.   NAME      VALUE            ERROR       STEP SIZE       VALUE   
   1  dcb_alpha1   1.07664e+00   5.50446e+00   3.53996e-03  -9.05055e-01
   2  dcb_alpha2   1.14711e+00   5.56119e+00   2.13693e-03  -8.82532e-01
   3  dcb_mass     9.09201e+01   1.53293e+01   1.92544e-03   9.21442e-02
   4  dcb_power1   8.51286e+00   8.43477e+00   1.32251e-01   7.78587e-01
   5  dcb_power2   1.46381e+00   6.26765e+00   3.02053e-03  -7.88004e-01
   6  dcb_sigma    2.41524e+00   7.16361e+01   1.11972e-03  -1.26514e+00
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  6    ERR DEF=0.5
  3.641e+05  5.703e+04 -1.417e+05 -4.131e+06  1.237e+04  3.212e+05 
  5.703e+04  2.093e+05  3.647e+04 -8.947e+04 -2.576e+05  9.544e+04 
 -1.417e+05  3.647e+04  4.999e+05  6.407e+05 -5.170e+04 -7.660e+04 
 -4.131e+06 -8.947e+04  6.407e+05  2.797e+08 -1.326e+04 -2.207e+05 
  1.237e+04 -2.576e+05 -5.170e+04 -1.326e+04  4.813e+05  2.771e+04 
  3.212e+05  9.544e+04 -7.660e+04 -2.207e+05  2.771e+04  6.926e+05 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4      5      6
        1  0.79701   1.000  0.207 -0.332 -0.409  0.030  0.640
        2  0.86929   0.207  1.000  0.113 -0.012 -0.812  0.251
        3  0.42384  -0.332  0.113  1.000  0.054 -0.105 -0.130
        4  0.53869  -0.409 -0.012  0.054  1.000 -0.001 -0.016
        5  0.85569   0.030 -0.812 -0.105 -0.001  1.000  0.048
        6  0.73286   0.640  0.251 -0.130 -0.016  0.048  1.000
[#1] INFO:Minization -- RooMinimizer::optimizeConst: deactivating const optimization

Conclusion

  • sucessfully fitted crystal ball and double crystal ball
  • Functions incorporated into FitManager.py

documentation: http://hepcms-hn.umd.edu/~kakw/2018_09_28_FitManager_Rework.html

BACKUP

MET<25 MET>25, inv Z cut
pass eVeto A Signal
fail eVeto B D
In [69]:
!bash /home/kakw/forjupyter/jupyterconvert.sh /home/kakw/public_html/ 2018_09_28_FitManager_Rework.ipynb
**** Following environment variables are going to be unset.
       DBS_CLIENT_CONFIG
       DBSCMD_HOME
       PYTHON_VALGRIND_SUPP
[NbConvertApp] Converting notebook 2018_09_28_FitManager_Rework.ipynb to slides
[NbConvertApp] Writing 632411 bytes to 2018_09_28_FitManager_Rework.slides.html
[NbConvertApp] Converting notebook 2018_09_28_FitManager_Rework.ipynb to html
[NbConvertApp] Writing 642070 bytes to 2018_09_28_FitManager_Rework.html
Wed Oct 17 15:08:28 EDT 2018
In [44]:
display(Math(r"f(x;\alpha,n,x,\sigma) = \begin{cases}"
             r"\text{exp}\left(-\frac{(x-x_{0})^{2}}{2\sigma^{2}}\right)&\text{for  }x-x_{0}<\alpha\sigma \\"
             r"A\left(B-\frac{x-x_{0}}{\sigma}\right)&\text{for  }x-x_{0}\geq\alpha\sigma\end{cases}"))
$$f(x;\alpha,n,x,\sigma) = \begin{cases}\text{exp}\left(-\frac{(x-x_{0})^{2}}{2\sigma^{2}}\right)&\text{for }x-x_{0}<\alpha\sigma \\A\left(B-\frac{x-x_{0}}{\sigma}\right)&\text{for }x-x_{0}\geq\alpha\sigma\end{cases}$$