Skip to content
Snippets Groups Projects
Commit d90fcada authored by Edward Moyse's avatar Edward Moyse
Browse files

Merge branch 'MetMonUpdate_dec2020' into 'master'

Met mon update dec2020

See merge request atlas/athena!38875
parents 66271500 49f746dd
No related branches found
No related tags found
No related merge requests found
...@@ -50,24 +50,79 @@ def TrigMETMonConfig(inputFlags): ...@@ -50,24 +50,79 @@ def TrigMETMonConfig(inputFlags):
# without filters, all events are processed. # without filters, all events are processed.
TrigMETMonChain1Alg.TriggerChain = 'HLT_xe65_cell_L1XE50' TrigMETMonChain1Alg.TriggerChain = 'HLT_xe65_cell_L1XE50'
### check Run2 or Run3 MT
mt_chains = True
if ( inputFlags.Trigger.EDMDecodingVersion < 3 ) :
mt_chains = False
### use the follwoing if you run on Run2 AOD ### container name selection
#TrigMETMonAlg.hlt_cell_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET' if mt_chains:
#TrigMETMonAlg.hlt_mt_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_mht' TrigMETMonAlg.hlt_pfsum_key = 'HLT_MET_pfsum'
#TrigMETMonAlg.hlt_tc_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl' else:
#TrigMETMonAlg.hlt_tcpufit_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl_PUC' TrigMETMonAlg.l1_jnc_key = 'LVL1EnergySumRoI'
TrigMETMonAlg.l1_jrho_key = 'LVL1EnergySumRoI'
TrigMETMonAlg.l1_gnc_key = 'LVL1EnergySumRoI'
TrigMETMonAlg.l1_grho_key = 'LVL1EnergySumRoI'
TrigMETMonAlg.l1_gjwoj_key = 'LVL1EnergySumRoI'
TrigMETMonAlg.l1_gpufit_key = 'LVL1EnergySumRoI'
TrigMETMonAlg.hlt_cell_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET'
TrigMETMonAlg.hlt_mt_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_mht'
TrigMETMonAlg.hlt_tc_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
TrigMETMonAlg.hlt_tc_em_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
TrigMETMonAlg.hlt_tcpufit_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl_PUC'
TrigMETMonAlg.hlt_trkmht_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
TrigMETMonAlg.hlt_pfsum_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
TrigMETMonAlg.hlt_pfsum_vssk_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
TrigMETMonAlg.hlt_pfsum_cssk_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
TrigMETMonAlg.hlt_pfopufit_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
TrigMETMonAlg.hlt_cvfpufit_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
TrigMETMonAlg.hlt_mhtpufit_pf_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
TrigMETMonAlg.hlt_mhtpufit_em_key = 'HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl'
### use the follwoing if you run on older Run3 AOD ### chain name selection
#TrigMETMonAlg.hlt_tcpufit_key = 'HLT_MET_tcPufit' ### these are default chains ######
#TrigMETMonAlg.hlt_trkmht_key = 'HLT_MET_mht' #TrigMETMonAlg.L1Chain02 = 'L1_XE50'
#TrigMETMonAlg.L1Chain02 = 'L1_jXENC50'
### set chain names #TrigMETMonAlg.L1Chain03 = 'L1_jXERHO50'
### These are the active chains as of 01 April 2020 for testing #TrigMETMonAlg.L1Chain04 = 'L1_gXENC50'
#TrigMETMonAlg.L1Chain1 = 'L1_XE10' #TrigMETMonAlg.L1Chain05 = 'L1_gXERHO50'
#TrigMETMonAlg.HLTChain1 = 'HLT_xe65_cell_L1XE50' #TrigMETMonAlg.L1Chain06 = 'L1_gXEJWOJ50'
#TrigMETMonAlg.HLTChain2 = 'HLT_xe100_tcpufit_L1XE50' #TrigMETMonAlg.L1Chain07 = 'L1_gXEPUFIT50'
TrigMETMonAlg.HLTChain2 = 'HLT_xe100_trkmht_L1XE50' #TrigMETMonAlg.HLTChain01 = 'HLT_xe65_cell_L1XE50'
#TrigMETMonAlg.HLTChain2 = 'HLT_xe100_pfsum_L1XE50' #TrigMETMonAlg.HLTChain02 = 'HLT_xe100_mht_L1XE50'
#TrigMETMonAlg.HLTChain03 = 'HLT_xe100_tcpufit_L1XE50'
#TrigMETMonAlg.HLTChain04 = 'HLT_xe100_trkmht_L1XE50'
#TrigMETMonAlg.HLTChain05 = 'HLT_xe100_pfsum_L1XE50'
#TrigMETMonAlg.HLTChain06 = 'HLT_xe100_pfopufit_L1XE50'
#TrigMETMonAlg.HLTChain07 = 'HLT_xe100_cvfpufit_L1XE50'
#TrigMETMonAlg.HLTChain08 = 'HLT_xe100_mhtpufit_em_subjesgscIS_L1XE50'
#TrigMETMonAlg.HLTChain09 = 'HLT_xe100_mhtpufit_pf_subjesgscIS_L1XE50'
#TrigMETMonAlg.HLTChain10 = 'HLT_xe100_pfsum_cssk_L1XE50'
#TrigMETMonAlg.HLTChain11 = 'HLT_xe100_pfsum_vssk_L1XE50'
#TrigMETMonAlg.HLTChain12 = 'HLT_xe65_cell_xe110_tcpuft_L1XE50'
#TrigMETMonAlg.HLTChain13 = 'HLT_xe100_trkmht_xe85_tcpufit_xe65_cell_L1XE50'
#TrigMETMonAlg.HLTChain14 = 'HLT_xe95_trkmht_xe90_tcpufit_xe75_cell_L1XE50'
if mt_chains:
TrigMETMonAlg.HLTChain02 = 'HLT_xe110_mht_L1XE50'
TrigMETMonAlg.HLTChain03 = 'HLT_xe110_tcpufit_L1XE50'
TrigMETMonAlg.HLTChain05 = 'HLT_xe110_pfsum_L1XE50'
TrigMETMonAlg.HLTChain10 = 'HLT_xe110_pfsum_cssk_L1XE50'
TrigMETMonAlg.HLTChain11 = 'HLT_xe110_pfsum_vssk_L1XE50'
else:
TrigMETMonAlg.L1Chain02 = 'L1_XE10'
TrigMETMonAlg.L1Chain03 = 'L1_XE30'
TrigMETMonAlg.L1Chain04 = 'L1_XE55'
TrigMETMonAlg.L1Chain05 = 'L1_XE60'
TrigMETMonAlg.L1Chain06 = 'L1_XE70'
TrigMETMonAlg.L1Chain07 = 'L1_XE75'
TrigMETMonAlg.HLTChain01 = 'HLT_xe70_mht_L1XE50'
TrigMETMonAlg.HLTChain02 = 'HLT_xe90_mht_L1XE50'
TrigMETMonAlg.HLTChain03 = 'HLT_xe110_mht_L1XE50'
TrigMETMonAlg.HLTChain04 = 'HLT_xe90_pufit_L1XE50'
TrigMETMonAlg.HLTChain05 = 'HLT_xe100_pufit_L1XE50'
TrigMETMonAlg.HLTChain06 = 'HLT_xe110_pufit_L1XE50'
TrigMETMonAlg.HLTChain07 = 'HLT_xe110_pufit_xe65_L1XE50'
TrigMETMonAlg.HLTChain08 = 'HLT_xe110_pufit_xe70_L1XE50'
### STEP 4 ### ### STEP 4 ###
...@@ -113,17 +168,19 @@ def TrigMETMonConfig(inputFlags): ...@@ -113,17 +168,19 @@ def TrigMETMonConfig(inputFlags):
sumet_bins_log=20 #sumEt_log sumet_bins_log=20 #sumEt_log
sumet_min_log=-1.875 sumet_min_log=-1.875
sumet_max_log=4.125 sumet_max_log=4.125
sume_bins=153 #sumE ## These bin settings are for future use.
sume_min=-27.0 ## commented to avoid compiler warning.
sume_max=24003.0 #sume_bins=153 #sumE
sume_bins_log=40 #sumE_log #sume_min=-27.0
sume_min_log=-1.875 #sume_max=24003.0
sume_max_log=6.125 #sume_bins_log=40 #sumE_log
#sume_min_log=-1.875
#sume_max_log=6.125
phi_bins=100 # phi phi_bins=100 # phi
phi_bins_2d=24 # phi phi_bins_2d=24 # phi
phi_min=-3.1416 phi_min=-3.1416
phi_max=3.1416 phi_max=3.1416
eta_bins=100 # eta #eta_bins=100 # eta
eta_bins_2d=24# eta eta_bins_2d=24# eta
eta_min=-4.8 eta_min=-4.8
eta_max=4.8 eta_max=4.8
...@@ -141,286 +198,67 @@ def TrigMETMonConfig(inputFlags): ...@@ -141,286 +198,67 @@ def TrigMETMonConfig(inputFlags):
metGroup.defineHistogram('offline_sumEt',title='Offline sumE_{T};sumE_{T} [GeV];Events', metGroup.defineHistogram('offline_sumEt',title='Offline sumE_{T};sumE_{T} [GeV];Events',
path='Expert/Offline',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max) path='Expert/Offline',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
## L1 ## L1
metGroup.defineHistogram('L1_Ex',title='L1 Missing E_{x};E_{x} [GeV];Events', algsL1 = ["roi", "jnc", "jrho", "gnc", "grho", "gjwoj", "gpufit"]
path='Shifter/L1',xbins=ec_bins,xmin=ec_min,xmax=ec_max) for alg in algsL1:
metGroup.defineHistogram('L1_Ey',title='L1 Missing E_{y};E_{y} [GeV];Events', metGroup.defineHistogram('L1_{}_Ex'.format(alg),title='L1_{} Missing Ex;Ex [GeV];Events'.format(alg),
path='Shifter/L1',xbins=ec_bins,xmin=ec_min,xmax=ec_max) path='Shifter/L1_{}'.format(alg),xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('L1_Et',title='L1 Missing E_{T};E_{T} [GeV];Events', metGroup.defineHistogram('L1_{}_Ey'.format(alg),title='L1_{} Missing Ey;Ey [GeV];Events'.format(alg),
path='Shifter/L1',xbins=et_bins,xmin=et_min,xmax=et_max) path='Shifter/L1_{}'.format(alg),xbins=ec_bins,xmin=ec_min,xmax=ec_max)
## HLT cell metGroup.defineHistogram('L1_{}_Et'.format(alg),title='L1_{} Missing Et;Et [GeV];Events'.format(alg),
metGroup.defineHistogram('cell_Ex',title='cell Missing E_{x};E_{x} [GeV];Events', path='Shifter/L1_{}'.format(alg),xbins=et_bins,xmin=et_min,xmax=et_max)
path='Shifter/cell',xbins=ec_bins,xmin=ec_min,xmax=ec_max) metGroup.defineHistogram('L1_{}_sumEt'.format(alg),title='L1_{} sumEt;sumEt [GeV];Events'.format(alg),
metGroup.defineHistogram('cell_Ex_log',title='cell Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events', path='Shifter/L1_{}'.format(alg),xbins=et_bins,xmin=et_min,xmax=et_max)
path='Shifter/cell',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log) ## HLT
metGroup.defineHistogram('cell_Ey',title='cell Missing E_{y};E_{y} [GeV];Events', algsHLT = ["cell", "tcpufit", "trkmht", "mht", "tc_em", "pfsum", "pfsum_cssk", "pfsum_vssk", "pfopufit", "cvfpufit", "mhtpufit_pf", "mhtpufit_em"]
path='Shifter/cell',xbins=ec_bins,xmin=ec_min,xmax=ec_max) for alg in algsHLT:
metGroup.defineHistogram('cell_Ey_log',title='cell Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events', metGroup.defineHistogram('{}_Ex'.format(alg),title='{} Missing Ex;Ex [GeV];Events'.format(alg),
path='Shifter/cell',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log) path='Shifter/{}'.format(alg),xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('cell_Et',title='cell Missing E_{T};E_{T} [GeV];Events', metGroup.defineHistogram('{}_Ex_log'.format(alg),title='{} Missing Ex log;sgn(Ex) log(Ex/GeV);Events'.format(alg),
path='Shifter/cell',xbins=et_bins,xmin=et_min,xmax=et_max) path='Shifter/{}'.format(alg),xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('cell_Et_log',title='cell Missing E_{T} log;log_{10}(E_{T}/GeV);Events', metGroup.defineHistogram('{}_Ey'.format(alg),title='{} Missing Ey;Ey [GeV];Events'.format(alg),
path='Shifter/cell',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log) path='Shifter/{}'.format(alg),xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('cell_sumEt',title='cell sumEt;sumEt [GeV];Events', metGroup.defineHistogram('{}_Ey_log',title='{} Missing Ey log;sgn(Ey) log(Ey/GeV);Events'.format(alg),
path='Shifter/cell',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max) path='Shifter/{}'.format(alg),xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('cell_sumEt_log',title='cell sumEt log;log_{10}(sumEt/GeV);Events', metGroup.defineHistogram('{}_Et'.format(alg),title='{} Missing Et;Et [GeV];Events'.format(alg),
path='Shifter/cell',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log) path='Shifter/{}'.format(alg),xbins=et_bins,xmin=et_min,xmax=et_max)
metGroup.defineHistogram('cell_phi',title='cell #phi;#phi;Events', metGroup.defineHistogram('{}_Et_log'.format(alg),title='{} Missing Et log;log(Et/GeV);Events'.format(alg),
path='Shifter/cell',xbins=phi_bins,xmin=phi_min,xmax=phi_max) path='Shifter/{}'.format(alg),xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
metGroup.defineHistogram('cell_phi;cell_phi_etweight', title='cell #phi (etweighted);#phi;E_{T} weighted events', metGroup.defineHistogram('{}_sumEt'.format(alg),title='{} sumEt;sumEt [GeV];Events'.format(alg),
weight='cell_Et', path='Shifter/{}'.format(alg),xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
path='Shifter/cell',xbins=phi_bins,xmin=phi_min,xmax=phi_max) metGroup.defineHistogram('{}_sumEt_log'.format(alg),title='{} sumEt log;log(sumEt/GeV);Events'.format(alg),
metGroup.defineHistogram('cell_eta,cell_phi;cell_eta_phi', type='TH2F', title='cell #eta - #phi;#eta;#phi', path='Shifter/{}'.format(alg),xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
path='Shifter/cell', metGroup.defineHistogram('{}_phi'.format(alg),title='{} #phi;#phi;Events'.format(alg),
xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max) path='Shifter/{}'.format(alg),xbins=phi_bins,xmin=phi_min,xmax=phi_max)
metGroup.defineHistogram('cell_eta,cell_phi;cell_eta_phi_etweight', type='TH2F', title='cell #eta - #phi (etweighted);#eta;#phi', metGroup.defineHistogram('{}_phi;{}_phi_etweight'.format(alg,alg), title='{} #phi (etweighted);#phi;Et weighted events'.format(alg),
weight='cell_Et', weight='{}_Et'.format(alg),
path='Shifter/cell', path='Shifter/{}'.format(alg),xbins=phi_bins,xmin=phi_min,xmax=phi_max)
xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
## HLT trkmht ## HLT 2d eta-phi histos
metGroup.defineHistogram('trkmht_Ex',title='trkmht Missing E_{x};E_{x} [GeV];Events', algsHLT2d = ["cell", "tcpufit"]
path='Shifter/trkmht',xbins=ec_bins,xmin=ec_min,xmax=ec_max) for alg in algsHLT2d:
metGroup.defineHistogram('trkmht_Ex_log',title='trkmht Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events', metGroup.defineHistogram('{}_eta,{}_phi;{}_eta_phi'.format(alg,alg,alg), type='TH2F', title='{} #eta - #phi;#eta;#phi'.format(alg),
path='Shifter/trkmht',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log) path='Shifter/{}'.format(alg),
metGroup.defineHistogram('trkmht_Ey',title='trkmht Missing E_{y};E_{y} [GeV];Events',
path='Shifter/trkmht',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('trkmht_Ey_log',title='trkmht Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events',
path='Shifter/trkmht',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('trkmht_Et',title='trkmht Missing E_{T};E_{T} [GeV];Events',
path='Shifter/trkmht',xbins=et_bins,xmin=et_min,xmax=et_max)
metGroup.defineHistogram('trkmht_Et_log',title='trkmht Missing E_{T} log;log_{10}(E_{T}/GeV);Events',
path='Shifter/trkmht',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
metGroup.defineHistogram('trkmht_sumEt',title='trkmht sumEt;sumEt [GeV];Events',
path='Shifter/trkmht',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
metGroup.defineHistogram('trkmht_sumEt_log',title='trkmht sumEt log;log_{10}(sumEt/GeV);Events',
path='Shifter/trkmht',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
metGroup.defineHistogram('trkmht_phi',title='trkmht #phi;#phi;Events',
path='Shifter/trkmht',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
metGroup.defineHistogram('trkmht_phi;trkmht_phi_etweight', title='trkmht #phi (etweighted);#phi;E_{T} weighted events',
weight='trkmht_Et',
path='Shifter/trkmht',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
## HLT tcpufit
metGroup.defineHistogram('tcpufit_Ex',title='tcpufit Missing E_{x};E_{x} [GeV];Events',
path='Shifter/tcpufit',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('tcpufit_Ex_log',title='tcpufit Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events',
path='Shifter/tcpufit',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('tcpufit_Ey',title='tcpufit Missing E_{y};E_{y} [GeV];Events',
path='Shifter/tcpufit',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('tcpufit_Ey_log',title='tcpufit Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events',
path='Shifter/tcpufit',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('tcpufit_Ez',title='tcpufit Missing E_{z};E_{z} [GeV];Events',
path='Shifter/tcpufit',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('tcpufit_Ez_log',title='tcpufit Missing E_{z} log;sgn(E_{z}) log_{10}(E_{x}/GeV);Events',
path='Shifter/tcpufit',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('tcpufit_Et',title='tcpufit Missing E_{T};E_{T} [GeV];Events',
path='Shifter/tcpufit',xbins=et_bins,xmin=et_min,xmax=et_max)
metGroup.defineHistogram('tcpufit_Et_log',title='tcpufit Missing E_{T} log;log_{10}(E_{T}/GeV);Events',
path='Shifter/tcpufit',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
metGroup.defineHistogram('tcpufit_sumEt',title='tcpufit sumEt;sumEt [GeV];Events',
path='Shifter/tcpufit',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
metGroup.defineHistogram('tcpufit_sumEt_log',title='tcpufit sumEt log;log_{10}(sumEt/GeV);Events',
path='Shifter/tcpufit',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
metGroup.defineHistogram('tcpufit_sumEt;tcpufit_sumEt_etweight',title='tcpufit sumEt (etweighted);sumEt [GeV];E_{T} weighted events',
weight='tcpufit_Et',
path='Shifter/tcpufit',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
metGroup.defineHistogram('tcpufit_sumE',title='tcpufit sumE;sumE [GeV];Events',
path='Shifter/tcpufit',xbins=sume_bins,xmin=sume_min,xmax=sume_max)
metGroup.defineHistogram('tcpufit_sumE_log',title='tcpufit sumE log;log_{10}(sumE/GeV);Events',
path='Shifter/tcpufit',xbins=sume_bins_log,xmin=sume_min_log,xmax=sume_max_log)
metGroup.defineHistogram('tcpufit_eta',title='tcpufit #eta;#eta;Events',
path='Shifter/tcpufit',xbins=eta_bins,xmin=eta_min,xmax=eta_max)
metGroup.defineHistogram('tcpufit_phi',title='tcpufit #phi;#phi;Events',
path='Shifter/tcpufit',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
metGroup.defineHistogram('tcpufit_phi;tcpufit_phi_etweight', title='tcpufit #phi (etweighted);#phi;E_{T} weighted events',
weight='tcpufit_Et',
path='Shifter/tcpufit',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
metGroup.defineHistogram('tcpufit_eta,tcpufit_phi;tcpufit_eta_phi', type='TH2F', title='tcpufit #eta - #phi;#eta;#phi',
path='Shifter/tcpufit',
xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max) xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
metGroup.defineHistogram('tcpufit_eta,tcpufit_phi;tcpufit_eta_phi_etweight', type='TH2F', title='tcpufit #eta - #phi (etweighted);#eta;#phi', metGroup.defineHistogram('{}_eta,{}_phi;{}_eta_phi_etweight'.format(alg,alg,alg), type='TH2F', title='{} #eta - #phi (etweighted);#eta;#phi'.format(alg),
weight='tcpufit_Et', weight='{}_Et'.format(alg),
path='Shifter/tcpufit', path='Shifter/{}'.format(alg),
xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max) xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
## Efficiency ## L1 efficiency
metGroup.defineHistogram('offline_Et,pass_L11;L11_eff', type='TProfile',title='L1 efficiency;offline E_{T} [GeV];Efficiency', effL1 = ["01", "02", "03", "04", "05", "06", "07"]
for eff in effL1:
metGroup.defineHistogram('offline_Et,pass_L1{};L1{}_eff'.format(eff,eff), type='TProfile',title='L1{} efficiency;offline Et [GeV];Efficiency'.format(eff),
path='Shifter/eff',xbins=eff_bins,xmin=eff_min,xmax=eff_max) path='Shifter/eff',xbins=eff_bins,xmin=eff_min,xmax=eff_max)
metGroup.defineHistogram('offline_Et,pass_HLT1;HLT1_eff', type='TProfile',title='HLT1 efficiency;offline E_{T} [GeV];Efficiency', ## HLT efficiency
effHLT = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14"]
for eff in effHLT:
metGroup.defineHistogram('offline_Et,pass_HLT{};HLT{}_eff'.format(eff,eff), type='TProfile',title='HLT{} efficiency;offline Et [GeV];Efficiency'.format(eff),
path='Shifter/eff',xbins=eff_bins,xmin=eff_min,xmax=eff_max) path='Shifter/eff',xbins=eff_bins,xmin=eff_min,xmax=eff_max)
metGroup.defineHistogram('offline_Et,pass_HLT2;HLT2_eff', type='TProfile',title='HLT2 efficiency;offline E_{T} [GeV];Efficiency', ## HLT tc (Expert)
path='Shifter/eff',xbins=eff_bins,xmin=eff_min,xmax=eff_max) metGroup.defineHistogram('tc_Ex',title='tc Missing Ex;Ex [GeV];Events',
## HLT mht
metGroup.defineHistogram('mht_Ex',title='mht Missing E_{x};E_{x} [GeV];Events',
path='Shifter/mht',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('mht_Ex_log',title='mht Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events',
path='Shifter/mht',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('mht_Ey',title='mht Missing E_{y};E_{y} [GeV];Events',
path='Shifter/mht',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('mht_Ey_log',title='mht Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events',
path='Shifter/mht',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('mht_Et', title='mht Missing E_{T};E_{T} [GeV];Events',
path='Shifter/mht',xbins=et_bins,xmin=et_min,xmax=et_max)
metGroup.defineHistogram('mht_Et_log',title='mht Missing E_{T} log;log_{10}(E_{T}/GeV);Events',
path='Shifter/mht',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
metGroup.defineHistogram('mht_sumEt',title='mht sumEt;sumEt [GeV];Events',
path='Shifter/mht',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
metGroup.defineHistogram('mht_sumEt_log',title='mht sumEt log;log_{10}(sumEt/GeV);Events',
path='Shifter/mht',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
metGroup.defineHistogram('mht_phi',title='mht #phi;#phi;Events',
path='Shifter/mht',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
metGroup.defineHistogram('mht_phi;mht_phi_etweight', title='mht #phi (etweighted);#phi;E_{T} weighted events',
weight='mht_Et',
path='Shifter/mht',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
metGroup.defineHistogram('mht_eta,cell_phi;mht_eta_phi', type='TH2F', title='mht #eta - #phi;#eta;#phi',
path='Shifter/mht',
xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
metGroup.defineHistogram('mht_eta,mht_phi;mht_eta_phi_etweight', type='TH2F', title='mht #eta - #phi (etweighted);#eta;#phi',
weight='mht_Et',
path='Shifter/mht',
xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
## HLT tc_em
metGroup.defineHistogram('tc_em_Ex',title='tc_em Missing E_{x};E_{x} [GeV];Events',
path='Shifter/tc_em',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('tc_em_Ex_log',title='tc_em Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events',
path='Shifter/tc_em',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('tc_em_Ey',title='tc_em Missing E_{y};E_{y} [GeV];Events',
path='Shifter/tc_em',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('tc_em_Ey_log',title='tc_em Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events',
path='Shifter/tc_em',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('tc_em_Et', title='tc_em Missing E_{T};E_{T} [GeV];Events',
path='Shifter/tc_em',xbins=et_bins,xmin=et_min,xmax=et_max)
metGroup.defineHistogram('tc_em_Et_log',title='tc_em Missing E_{T} log;log_{10}(E_{T}/GeV);Events',
path='Shifter/tc_em',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
metGroup.defineHistogram('tc_em_sumEt',title='tc_em sumEt;sumEt [GeV];Events',
path='Shifter/tc_em',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
metGroup.defineHistogram('tc_em_sumEt_log',title='tc_em sumEt log;log_{10}(sumEt/GeV);Events',
path='Shifter/tc_em',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
metGroup.defineHistogram('tc_em_phi',title='tc_em #phi;#phi;Events',
path='Shifter/tc_em',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
metGroup.defineHistogram('tc_em_phi;tc_em_phi_etweight', title='tc_em #phi (etweighted);#phi;E_{T} weighted events',
weight='tc_em_Et',
path='Shifter/tc_em',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
metGroup.defineHistogram('tc_em_eta,cell_phi;tc_em_eta_phi', type='TH2F', title='tc_em #eta - #phi;#eta;#phi',
path='Shifter/tc_em',
xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
metGroup.defineHistogram('tc_em_eta,tc_em_phi;tc_em_eta_phi_etweight', type='TH2F', title='tc_em #eta - #phi (etweighted);#eta;#phi',
weight='tc_em_Et',
path='Shifter/tc_em',
xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max)
## HLT pfsum
metGroup.defineHistogram('pfsum_Ex',title='pfsum Missing E_{x};E_{x} [GeV];Events',
path='Shifter/pfsum',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('pfsum_Ex_log',title='pfsum Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events',
path='Shifter/pfsum',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('pfsum_Ey',title='pfsum Missing E_{y};E_{y} [GeV];Events',
path='Shifter/pfsum',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('pfsum_Ey_log',title='pfsum Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events',
path='Shifter/pfsum',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('pfsum_Et', title='pfsum Missing E_{T};E_{T} [GeV];Events',
path='Shifter/pfsum',xbins=et_bins,xmin=et_min,xmax=et_max)
metGroup.defineHistogram('pfsum_Et_log',title='pfsum Missing E_{T} log;log_{10}(E_{T}/GeV);Events',
path='Shifter/pfsum',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
metGroup.defineHistogram('pfsum_sumEt',title='pfsum sumEt;sumEt [GeV];Events',
path='Shifter/pfsum',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
metGroup.defineHistogram('pfsum_sumEt_log',title='pfsum sumEt log;log_{10}(sumEt/GeV);Events',
path='Shifter/pfsum',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
metGroup.defineHistogram('pfsum_phi',title='pfsum #phi;#phi;Events',
path='Shifter/pfsum',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
metGroup.defineHistogram('pfsum_phi;pfsum_phi_etweight', title='pfsum #phi (etweighted);#phi;E_{T} weighted events',
weight='pfsum_Et',
path='Shifter/pfsum',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
## HLT pfopufit
metGroup.defineHistogram('pfopufit_Ex',title='pfopufit Missing E_{x};E_{x} [GeV];Events',
path='Shifter/pfopufit',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('pfopufit_Ex_log',title='pfopufit Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events',
path='Shifter/pfopufit',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('pfopufit_Ey',title='pfopufit Missing E_{y};E_{y} [GeV];Events',
path='Shifter/pfopufit',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('pfopufit_Ey_log',title='pfopufit Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events',
path='Shifter/pfopufit',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('pfopufit_Et', title='pfopufit Missing E_{T};E_{T} [GeV];Events',
path='Shifter/pfopufit',xbins=et_bins,xmin=et_min,xmax=et_max)
metGroup.defineHistogram('pfopufit_Et_log',title='pfopufit Missing E_{T} log;log_{10}(E_{T}/GeV);Events',
path='Shifter/pfopufit',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
metGroup.defineHistogram('pfopufit_sumEt',title='pfopufit sumEt;sumEt [GeV];Events',
path='Shifter/pfopufit',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
metGroup.defineHistogram('pfopufit_sumEt_log',title='pfopufit sumEt log;log_{10}(sumEt/GeV);Events',
path='Shifter/pfopufit',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
metGroup.defineHistogram('pfopufit_phi',title='pfopufit #phi;#phi;Events',
path='Shifter/pfopufit',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
metGroup.defineHistogram('pfopufit_phi;pfopufit_phi_etweight', title='pfopufit #phi (etweighted);#phi;E_{T} weighted events',
weight='pfopufit_Et',
path='Shifter/pfopufit',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
## cvfpufit
metGroup.defineHistogram('cvfpufit_Ex',title='cvfpufit Missing E_{x};E_{x} [GeV];Events',
path='Shifter/cvfpufit',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('cvfpufit_Ex_log',title='cvfpufit Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events',
path='Shifter/cvfpufit',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('cvfpufit_Ey',title='cvfpufit Missing E_{y};E_{y} [GeV];Events',
path='Shifter/cvfpufit',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('cvfpufit_Ey_log',title='cvfpufit Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events',
path='Shifter/cvfpufit',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('cvfpufit_Et', title='cvfpufit Missing E_{T};E_{T} [GeV];Events',
path='Shifter/cvfpufit',xbins=et_bins,xmin=et_min,xmax=et_max)
metGroup.defineHistogram('cvfpufit_Et_log',title='cvfpufit Missing E_{T} log;log_{10}(E_{T}/GeV);Events',
path='Shifter/cvfpufit',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
metGroup.defineHistogram('cvfpufit_sumEt',title='cvfpufit sumEt;sumEt [GeV];Events',
path='Shifter/cvfpufit',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
metGroup.defineHistogram('cvfpufit_sumEt_log',title='cvfpufit sumEt log;log_{10}(sumEt/GeV);Events',
path='Shifter/cvfpufit',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
metGroup.defineHistogram('cvfpufit_phi',title='cvfpufit #phi;#phi;Events',
path='Shifter/cvfpufit',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
metGroup.defineHistogram('cvfpufit_phi;cvfpufit_phi_etweight', title='cvfpufit #phi (etweighted);#phi;E_{T} weighted events',
weight='cvfpufit_Et',
path='Shifter/cvfpufit',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
## mhtpufit_pf
metGroup.defineHistogram('mhtpufit_pf_Ex',title='mhtpufit_pf Missing E_{x};E_{x} [GeV];Events',
path='Shifter/mhtpufit_pf',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('mhtpufit_pf_Ex_log',title='mhtpufit_pf Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events',
path='Shifter/mhtpufit_pf',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('mhtpufit_pf_Ey',title='mhtpufit_pf Missing E_{y};E_{y} [GeV];Events',
path='Shifter/mhtpufit_pf',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('mhtpufit_pf_Ey_log',title='mhtpufit_pf Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events',
path='Shifter/mhtpufit_pf',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('mhtpufit_pf_Et', title='mhtpufit_pf Missing E_{T};E_{T} [GeV];Events',
path='Shifter/mhtpufit_pf',xbins=et_bins,xmin=et_min,xmax=et_max)
metGroup.defineHistogram('mhtpufit_pf_Et_log',title='mhtpufit_pf Missing E_{T} log;log_{10}(E_{T}/GeV);Events',
path='Shifter/mhtpufit_pf',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
metGroup.defineHistogram('mhtpufit_pf_sumEt',title='mhtpufit_pf sumEt;sumEt [GeV];Events',
path='Shifter/mhtpufit_pf',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
metGroup.defineHistogram('mhtpufit_pf_sumEt_log',title='mhtpufit_pf sumEt log;log_{10}(sumEt/GeV);Events',
path='Shifter/mhtpufit_pf',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
metGroup.defineHistogram('mhtpufit_pf_phi',title='mhtpufit_pf #phi;#phi;Events',
path='Shifter/mhtpufit_pf',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
metGroup.defineHistogram('mhtpufit_pf_phi;mhtpufit_pf_phi_etweight', title='mhtpufit_pf #phi (etweighted);#phi;E_{T} weighted events',
weight='mhtpufit_pf_Et',
path='Shifter/mhtpufit_pf',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
## mhtpufit_em
metGroup.defineHistogram('mhtpufit_em_Ex',title='mhtpufit_em Missing E_{x};E_{x} [GeV];Events',
path='Shifter/mhtpufit_em',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('mhtpufit_em_Ex_log',title='mhtpufit_em Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events',
path='Shifter/mhtpufit_em',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('mhtpufit_em_Ey',title='mhtpufit_em Missing E_{y};E_{y} [GeV];Events',
path='Shifter/mhtpufit_em',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('mhtpufit_em_Ey_log',title='mhtpufit_em Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events',
path='Shifter/mhtpufit_em',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log)
metGroup.defineHistogram('mhtpufit_em_Et', title='mhtpufit_em Missing E_{T};E_{T} [GeV];Events',
path='Shifter/mhtpufit_em',xbins=et_bins,xmin=et_min,xmax=et_max)
metGroup.defineHistogram('mhtpufit_em_Et_log',title='mhtpufit_em Missing E_{T} log;log_{10}(E_{T}/GeV);Events',
path='Shifter/mhtpufit_em',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log)
metGroup.defineHistogram('mhtpufit_em_sumEt',title='mhtpufit_em sumEt;sumEt [GeV];Events',
path='Shifter/mhtpufit_em',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max)
metGroup.defineHistogram('mhtpufit_em_sumEt_log',title='mhtpufit_em sumEt log;log_{10}(sumEt/GeV);Events',
path='Shifter/mhtpufit_em',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log)
metGroup.defineHistogram('mhtpufit_em_phi',title='mhtpufit_em #phi;#phi;Events',
path='Shifter/mhtpufit_em',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
metGroup.defineHistogram('mhtpufit_em_phi;mhtpufit_em_phi_etweight', title='mhtpufit_em #phi (etweighted);#phi;E_{T} weighted events',
weight='mhtpufit_em_Et',
path='Shifter/mhtpufit_em',xbins=phi_bins,xmin=phi_min,xmax=phi_max)
## HLT tc
metGroup.defineHistogram('tc_Ex',title='tc Missing E_{x};E_{x} [GeV];Events',
path='Expert/tc',xbins=ec_bins,xmin=ec_min,xmax=ec_max) path='Expert/tc',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('tc_Ey',title='tc Missing E_{y};E_{y} [GeV];Events', metGroup.defineHistogram('tc_Ey',title='tc Missing Ey;Ey [GeV];Events',
path='Expert/tc',xbins=ec_bins,xmin=ec_min,xmax=ec_max) path='Expert/tc',xbins=ec_bins,xmin=ec_min,xmax=ec_max)
metGroup.defineHistogram('tc_Et', title='tc Missing E_{T};E_{T} [GeV];Events', metGroup.defineHistogram('tc_Et', title='tc Missing Et;Et [GeV];Events',
path='Expert/tc',xbins=et_bins,xmin=et_min,xmax=et_max) path='Expert/tc',xbins=et_bins,xmin=et_min,xmax=et_max)
## Chain specific ## Chain specific
metChain1Group.defineHistogram('cell_Ex',title='cell Missing E_{x};E_{x} [GeV];Events', metChain1Group.defineHistogram('cell_Ex',title='cell Missing E_{x};E_{x} [GeV];Events',
...@@ -466,8 +304,7 @@ if __name__=='__main__': ...@@ -466,8 +304,7 @@ if __name__=='__main__':
from AthenaConfiguration.AllConfigFlags import ConfigFlags from AthenaConfiguration.AllConfigFlags import ConfigFlags
nightly = '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CommonInputs/' nightly = '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CommonInputs/'
file = 'data16_13TeV.00311321.physics_Main.recon.AOD.r9264/AOD.11038520._000001.pool.root.1' file = 'data16_13TeV.00311321.physics_Main.recon.AOD.r9264/AOD.11038520._000001.pool.root.1'
#ConfigFlags.Input.Files = [nightly+file] ConfigFlags.Input.Files = [nightly+file]
ConfigFlags.Input.Files = ['/hep300/data/khamano/data18_athenaMT/fromElin/AOD_old.pool.root']
ConfigFlags.Input.isMC = True ConfigFlags.Input.isMC = True
ConfigFlags.Output.HISTFileName = 'TrigMETMonitorOutput.root' ConfigFlags.Output.HISTFileName = 'TrigMETMonitorOutput.root'
......
...@@ -9,6 +9,12 @@ TrigMETMonitorAlgorithm::TrigMETMonitorAlgorithm( const std::string& name, ISvcL ...@@ -9,6 +9,12 @@ TrigMETMonitorAlgorithm::TrigMETMonitorAlgorithm( const std::string& name, ISvcL
: AthMonitorAlgorithm(name,pSvcLocator) : AthMonitorAlgorithm(name,pSvcLocator)
, m_offline_met_key("MET_EMTopo") , m_offline_met_key("MET_EMTopo")
, m_lvl1_roi_key("LVL1EnergySumRoI") , m_lvl1_roi_key("LVL1EnergySumRoI")
, m_lvl1_jnc_key("jNOISECUT_MET")
, m_lvl1_jrho_key("jXERHO_MET")
, m_lvl1_gnc_key("gXENOISECUT_MET")
, m_lvl1_grho_key("gXERHO_MET")
, m_lvl1_gjwoj_key("gXEJWOJ_MET")
, m_lvl1_gpufit_key("gXEPUFIT_MET")
, m_hlt_cell_met_key("HLT_MET_cell") , m_hlt_cell_met_key("HLT_MET_cell")
, m_hlt_mht_met_key("HLT_MET_mht") , m_hlt_mht_met_key("HLT_MET_mht")
, m_hlt_tc_met_key("HLT_MET_tc") , m_hlt_tc_met_key("HLT_MET_tc")
...@@ -16,6 +22,8 @@ TrigMETMonitorAlgorithm::TrigMETMonitorAlgorithm( const std::string& name, ISvcL ...@@ -16,6 +22,8 @@ TrigMETMonitorAlgorithm::TrigMETMonitorAlgorithm( const std::string& name, ISvcL
, m_hlt_tcpufit_met_key("HLT_MET_tcpufit") , m_hlt_tcpufit_met_key("HLT_MET_tcpufit")
, m_hlt_trkmht_met_key("HLT_MET_trkmht") , m_hlt_trkmht_met_key("HLT_MET_trkmht")
, m_hlt_pfsum_met_key("HLT_MET_pfsum") , m_hlt_pfsum_met_key("HLT_MET_pfsum")
, m_hlt_pfsum_cssk_met_key("HLT_MET_pfsum_cssk")
, m_hlt_pfsum_vssk_met_key("HLT_MET_pfsum_vssk")
, m_hlt_pfopufit_met_key("HLT_MET_pfopufit") , m_hlt_pfopufit_met_key("HLT_MET_pfopufit")
, m_hlt_cvfpufit_met_key("HLT_MET_cvfpufit") , m_hlt_cvfpufit_met_key("HLT_MET_cvfpufit")
, m_hlt_mhtpufit_pf_met_key("HLT_MET_mhtpufit_pf_subjesgscIS") , m_hlt_mhtpufit_pf_met_key("HLT_MET_mhtpufit_pf_subjesgscIS")
...@@ -24,6 +32,12 @@ TrigMETMonitorAlgorithm::TrigMETMonitorAlgorithm( const std::string& name, ISvcL ...@@ -24,6 +32,12 @@ TrigMETMonitorAlgorithm::TrigMETMonitorAlgorithm( const std::string& name, ISvcL
{ {
declareProperty("offline_met_key", m_offline_met_key); declareProperty("offline_met_key", m_offline_met_key);
declareProperty("l1_roi_key", m_lvl1_roi_key); declareProperty("l1_roi_key", m_lvl1_roi_key);
declareProperty("l1_jnc_key", m_lvl1_jnc_key);
declareProperty("l1_jrho_key", m_lvl1_jrho_key);
declareProperty("l1_gnc_key", m_lvl1_gnc_key);
declareProperty("l1_grho_key", m_lvl1_grho_key);
declareProperty("l1_gjwoj_key", m_lvl1_gjwoj_key);
declareProperty("l1_gpufit_key", m_lvl1_gpufit_key);
declareProperty("hlt_cell_key", m_hlt_cell_met_key); declareProperty("hlt_cell_key", m_hlt_cell_met_key);
declareProperty("hlt_mht_key", m_hlt_mht_met_key); declareProperty("hlt_mht_key", m_hlt_mht_met_key);
declareProperty("hlt_tc_key", m_hlt_tc_met_key); declareProperty("hlt_tc_key", m_hlt_tc_met_key);
...@@ -31,14 +45,34 @@ TrigMETMonitorAlgorithm::TrigMETMonitorAlgorithm( const std::string& name, ISvcL ...@@ -31,14 +45,34 @@ TrigMETMonitorAlgorithm::TrigMETMonitorAlgorithm( const std::string& name, ISvcL
declareProperty("hlt_tcpufit_key", m_hlt_tcpufit_met_key); declareProperty("hlt_tcpufit_key", m_hlt_tcpufit_met_key);
declareProperty("hlt_trkmht_key", m_hlt_trkmht_met_key); declareProperty("hlt_trkmht_key", m_hlt_trkmht_met_key);
declareProperty("hlt_pfsum_key", m_hlt_pfsum_met_key); declareProperty("hlt_pfsum_key", m_hlt_pfsum_met_key);
declareProperty("hlt_pfsum_cssk_key", m_hlt_pfsum_cssk_met_key);
declareProperty("hlt_pfsum_vssk_key", m_hlt_pfsum_vssk_met_key);
declareProperty("hlt_pfopufit_key", m_hlt_pfopufit_met_key); declareProperty("hlt_pfopufit_key", m_hlt_pfopufit_met_key);
declareProperty("hlt_cvfpufit_key", m_hlt_cvfpufit_met_key); declareProperty("hlt_cvfpufit_key", m_hlt_cvfpufit_met_key);
declareProperty("hlt_mhtpufit_pf_key", m_hlt_mhtpufit_pf_met_key); declareProperty("hlt_mhtpufit_pf_key", m_hlt_mhtpufit_pf_met_key);
declareProperty("hlt_mhtpufit_em_key", m_hlt_mhtpufit_em_met_key); declareProperty("hlt_mhtpufit_em_key", m_hlt_mhtpufit_em_met_key);
declareProperty("L1Chain1", m_L1Chain1="L1_XE50"); declareProperty("L1Chain01", m_L1Chain01="L1_XE50");
declareProperty("HLTChain1", m_HLTChain1="HLT_xe65_cell_L1XE50"); declareProperty("L1Chain02", m_L1Chain02="L1_jXENC50");
declareProperty("HLTChain2", m_HLTChain2="HLT_xe100_tcpuft_L1XE50"); declareProperty("L1Chain03", m_L1Chain03="L1_jXERHO50");
declareProperty("L1Chain04", m_L1Chain04="L1_gXENC50");
declareProperty("L1Chain05", m_L1Chain05="L1_gXERHO50");
declareProperty("L1Chain06", m_L1Chain06="L1_gXEJWOJ50");
declareProperty("L1Chain01", m_L1Chain07="L1_gXEPUFIT50");
declareProperty("HLTChain01", m_HLTChain01="HLT_xe65_cell_L1XE50");
declareProperty("HLTChain02", m_HLTChain02="HLT_xe100_mht_L1XE50");
declareProperty("HLTChain03", m_HLTChain03="HLT_xe100_tcpufit_L1XE50");
declareProperty("HLTChain04", m_HLTChain04="HLT_xe100_trkmht_L1XE50");
declareProperty("HLTChain05", m_HLTChain05="HLT_xe100_pfsum_L1XE50");
declareProperty("HLTChain06", m_HLTChain06="HLT_xe100_pfopuft_L1XE50");
declareProperty("HLTChain07", m_HLTChain07="HLT_xe100_cvfpufit_L1XE50");
declareProperty("HLTChain08", m_HLTChain08="HLT_xe100_mhtpufit_em_subjesgscIS_L1XE50");
declareProperty("HLTChain09", m_HLTChain09="HLT_xe100_mhtpufit_pf_subjesgscIS_L1XE50");
declareProperty("HLTChain10", m_HLTChain10="HLT_xe100_pfsum_cssk_L1XE50");
declareProperty("HLTChain11", m_HLTChain11="HLT_xe100_pfsum_vssk_L1XE50");
declareProperty("HLTChain12", m_HLTChain12="HLT_xe65_cell_xe110_tcpuft_L1XE50");
declareProperty("HLTChain13", m_HLTChain13="HLT_xe100_trkmht_xe85_tcpufit_xe65_cell_L1XE50");
declareProperty("HLTChain14", m_HLTChain14="HLT_xe95_trkmht_xe90_tcpufit_xe75_cell_L1XE50");
} }
...@@ -48,6 +82,12 @@ TrigMETMonitorAlgorithm::~TrigMETMonitorAlgorithm() {} ...@@ -48,6 +82,12 @@ TrigMETMonitorAlgorithm::~TrigMETMonitorAlgorithm() {}
StatusCode TrigMETMonitorAlgorithm::initialize() { StatusCode TrigMETMonitorAlgorithm::initialize() {
ATH_CHECK( m_offline_met_key.initialize() ); ATH_CHECK( m_offline_met_key.initialize() );
ATH_CHECK( m_lvl1_roi_key.initialize() ); ATH_CHECK( m_lvl1_roi_key.initialize() );
ATH_CHECK( m_lvl1_jnc_key.initialize() );
ATH_CHECK( m_lvl1_jrho_key.initialize() );
ATH_CHECK( m_lvl1_gnc_key.initialize() );
ATH_CHECK( m_lvl1_grho_key.initialize() );
ATH_CHECK( m_lvl1_gjwoj_key.initialize() );
ATH_CHECK( m_lvl1_gpufit_key.initialize() );
ATH_CHECK( m_hlt_cell_met_key.initialize() ); ATH_CHECK( m_hlt_cell_met_key.initialize() );
ATH_CHECK( m_hlt_mht_met_key.initialize() ); ATH_CHECK( m_hlt_mht_met_key.initialize() );
ATH_CHECK( m_hlt_tc_met_key.initialize() ); ATH_CHECK( m_hlt_tc_met_key.initialize() );
...@@ -59,6 +99,8 @@ StatusCode TrigMETMonitorAlgorithm::initialize() { ...@@ -59,6 +99,8 @@ StatusCode TrigMETMonitorAlgorithm::initialize() {
ATH_CHECK( m_hlt_cvfpufit_met_key.initialize() ); ATH_CHECK( m_hlt_cvfpufit_met_key.initialize() );
ATH_CHECK( m_hlt_mhtpufit_pf_met_key.initialize() ); ATH_CHECK( m_hlt_mhtpufit_pf_met_key.initialize() );
ATH_CHECK( m_hlt_mhtpufit_em_met_key.initialize() ); ATH_CHECK( m_hlt_mhtpufit_em_met_key.initialize() );
ATH_CHECK( m_hlt_pfsum_cssk_met_key.initialize() );
ATH_CHECK( m_hlt_pfsum_vssk_met_key.initialize() );
ATH_CHECK( m_trigDecTool.retrieve() ); ATH_CHECK( m_trigDecTool.retrieve() );
...@@ -79,12 +121,42 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co ...@@ -79,12 +121,42 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
if (! l1_roi_cont.isValid() ) { if (! l1_roi_cont.isValid() ) {
ATH_MSG_DEBUG("Container "<< m_lvl1_roi_key << " does not exist or is empty"); ATH_MSG_DEBUG("Container "<< m_lvl1_roi_key << " does not exist or is empty");
} }
SG::ReadHandle<xAOD::EnergySumRoI> l1_jnc_cont(m_lvl1_jnc_key, ctx);
if (! l1_jnc_cont.isValid() ) {
ATH_MSG_DEBUG("Container "<< m_lvl1_jnc_key << " does not exist or is empty");
}
SG::ReadHandle<xAOD::EnergySumRoI> l1_jrho_cont(m_lvl1_jrho_key, ctx);
if (! l1_jrho_cont.isValid() ) {
ATH_MSG_DEBUG("Container "<< m_lvl1_jrho_key << " does not exist or is empty");
}
SG::ReadHandle<xAOD::EnergySumRoI> l1_gnc_cont(m_lvl1_gnc_key, ctx);
if (! l1_gnc_cont.isValid() ) {
ATH_MSG_DEBUG("Container "<< m_lvl1_gnc_key << " does not exist or is empty");
}
SG::ReadHandle<xAOD::EnergySumRoI> l1_grho_cont(m_lvl1_grho_key, ctx);
if (! l1_grho_cont.isValid() ) {
ATH_MSG_DEBUG("Container "<< m_lvl1_grho_key << " does not exist or is empty");
}
SG::ReadHandle<xAOD::EnergySumRoI> l1_gjwoj_cont(m_lvl1_gjwoj_key, ctx);
if (! l1_gjwoj_cont.isValid() ) {
ATH_MSG_DEBUG("Container "<< m_lvl1_gjwoj_key << " does not exist or is empty");
}
SG::ReadHandle<xAOD::EnergySumRoI> l1_gpufit_cont(m_lvl1_gpufit_key, ctx);
if (! l1_gpufit_cont.isValid() ) {
ATH_MSG_DEBUG("Container "<< m_lvl1_gpufit_key << " does not exist or is empty");
}
SG::ReadHandle<xAOD::TrigMissingETContainer> hlt_cell_met_cont(m_hlt_cell_met_key, ctx); SG::ReadHandle<xAOD::TrigMissingETContainer> hlt_cell_met_cont(m_hlt_cell_met_key, ctx);
if (! hlt_cell_met_cont.isValid() || hlt_cell_met_cont->size()==0 ) { if (! hlt_cell_met_cont.isValid() || hlt_cell_met_cont->size()==0 ) {
ATH_MSG_DEBUG("Container "<< m_hlt_cell_met_key << " does not exist or is empty"); ATH_MSG_DEBUG("Container "<< m_hlt_cell_met_key << " does not exist or is empty");
} }
SG::ReadHandle<xAOD::TrigMissingETContainer> hlt_mht_met_cont(m_hlt_mht_met_key, ctx); SG::ReadHandle<xAOD::TrigMissingETContainer> hlt_mht_met_cont(m_hlt_mht_met_key, ctx);
if (! hlt_mht_met_cont.isValid() || hlt_mht_met_cont->size()==0 ) { if (! hlt_mht_met_cont.isValid() || hlt_mht_met_cont->size()==0 ) {
ATH_MSG_DEBUG("Container "<< m_hlt_mht_met_key << " does not exist or is empty"); ATH_MSG_DEBUG("Container "<< m_hlt_mht_met_key << " does not exist or is empty");
...@@ -115,6 +187,16 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co ...@@ -115,6 +187,16 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
ATH_MSG_DEBUG("Container "<< m_hlt_pfsum_met_key << " does not exist or is empty"); ATH_MSG_DEBUG("Container "<< m_hlt_pfsum_met_key << " does not exist or is empty");
} }
SG::ReadHandle<xAOD::TrigMissingETContainer> hlt_pfsum_cssk_met_cont(m_hlt_pfsum_cssk_met_key, ctx);
if (! hlt_pfsum_cssk_met_cont.isValid() || hlt_pfsum_cssk_met_cont->size()==0 ) {
ATH_MSG_DEBUG("Container "<< m_hlt_pfsum_cssk_met_key << " does not exist or is empty");
}
SG::ReadHandle<xAOD::TrigMissingETContainer> hlt_pfsum_vssk_met_cont(m_hlt_pfsum_vssk_met_key, ctx);
if (! hlt_pfsum_vssk_met_cont.isValid() || hlt_pfsum_vssk_met_cont->size()==0 ) {
ATH_MSG_DEBUG("Container "<< m_hlt_pfsum_vssk_met_key << " does not exist or is empty");
}
SG::ReadHandle<xAOD::TrigMissingETContainer> hlt_pfopufit_met_cont(m_hlt_pfopufit_met_key, ctx); SG::ReadHandle<xAOD::TrigMissingETContainer> hlt_pfopufit_met_cont(m_hlt_pfopufit_met_key, ctx);
if (! hlt_pfopufit_met_cont.isValid() || hlt_pfopufit_met_cont->size()==0 ) { if (! hlt_pfopufit_met_cont.isValid() || hlt_pfopufit_met_cont->size()==0 ) {
ATH_MSG_DEBUG("Container "<< m_hlt_pfopufit_met_key << " does not exist or is empty"); ATH_MSG_DEBUG("Container "<< m_hlt_pfopufit_met_key << " does not exist or is empty");
...@@ -147,9 +229,34 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co ...@@ -147,9 +229,34 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
auto offline_Ey = Monitored::Scalar<float>("offline_Ey",0.0); auto offline_Ey = Monitored::Scalar<float>("offline_Ey",0.0);
auto offline_Et = Monitored::Scalar<float>("offline_Et",0.0); auto offline_Et = Monitored::Scalar<float>("offline_Et",0.0);
auto offline_sumEt = Monitored::Scalar<float>("offline_sumEt",0.0); auto offline_sumEt = Monitored::Scalar<float>("offline_sumEt",0.0);
auto L1_Ex = Monitored::Scalar<float>("L1_Ex",0.0); auto L1_roi_Ex = Monitored::Scalar<float>("L1_roi_Ex",0.0);
auto L1_Ey = Monitored::Scalar<float>("L1_Ey",0.0); auto L1_roi_Ey = Monitored::Scalar<float>("L1_roi_Ey",0.0);
auto L1_Et = Monitored::Scalar<float>("L1_Et",0.0); auto L1_roi_Et = Monitored::Scalar<float>("L1_roi_Et",0.0);
auto L1_roi_sumEt = Monitored::Scalar<float>("L1_roi_sumEt",0.0);
auto L1_jnc_Ex = Monitored::Scalar<float>("L1_jnc_Ex",0.0);
auto L1_jnc_Ey = Monitored::Scalar<float>("L1_jnc_Ey",0.0);
auto L1_jnc_Et = Monitored::Scalar<float>("L1_jnc_Et",0.0);
auto L1_jnc_sumEt = Monitored::Scalar<float>("L1_jnc_sumEt",0.0);
auto L1_jrho_Ex = Monitored::Scalar<float>("L1_jrho_Ex",0.0);
auto L1_jrho_Ey = Monitored::Scalar<float>("L1_jrho_Ey",0.0);
auto L1_jrho_Et = Monitored::Scalar<float>("L1_jrho_Et",0.0);
auto L1_jrho_sumEt = Monitored::Scalar<float>("L1_jrho_sumEt",0.0);
auto L1_gnc_Ex = Monitored::Scalar<float>("L1_gnc_Ex",0.0);
auto L1_gnc_Ey = Monitored::Scalar<float>("L1_gnc_Ey",0.0);
auto L1_gnc_Et = Monitored::Scalar<float>("L1_gnc_Et",0.0);
auto L1_gnc_sumEt = Monitored::Scalar<float>("L1_gnc_sumEt",0.0);
auto L1_grho_Ex = Monitored::Scalar<float>("L1_grho_Ex",0.0);
auto L1_grho_Ey = Monitored::Scalar<float>("L1_grho_Ey",0.0);
auto L1_grho_Et = Monitored::Scalar<float>("L1_grho_Et",0.0);
auto L1_grho_sumEt = Monitored::Scalar<float>("L1_grho_sumEt",0.0);
auto L1_gjwoj_Ex = Monitored::Scalar<float>("L1_gjwoj_Ex",0.0);
auto L1_gjwoj_Ey = Monitored::Scalar<float>("L1_gjwoj_Ey",0.0);
auto L1_gjwoj_Et = Monitored::Scalar<float>("L1_gjwoj_Et",0.0);
auto L1_gjwoj_sumEt = Monitored::Scalar<float>("L1_gjwoj_sumEt",0.0);
auto L1_gpufit_Ex = Monitored::Scalar<float>("L1_gpufit_Ex",0.0);
auto L1_gpufit_Ey = Monitored::Scalar<float>("L1_gpufit_Ey",0.0);
auto L1_gpufit_Et = Monitored::Scalar<float>("L1_gpufit_Et",0.0);
auto L1_gpufit_sumEt = Monitored::Scalar<float>("L1_gpufit_sumEt",0.0);
auto cell_Ex = Monitored::Scalar<float>("cell_Ex",0.0); auto cell_Ex = Monitored::Scalar<float>("cell_Ex",0.0);
auto cell_Ey = Monitored::Scalar<float>("cell_Ey",0.0); auto cell_Ey = Monitored::Scalar<float>("cell_Ey",0.0);
auto cell_Et = Monitored::Scalar<float>("cell_Et",0.0); auto cell_Et = Monitored::Scalar<float>("cell_Et",0.0);
...@@ -215,6 +322,24 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co ...@@ -215,6 +322,24 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
auto pfsum_Et_log = Monitored::Scalar<float>("pfsum_Et_log",0.0); auto pfsum_Et_log = Monitored::Scalar<float>("pfsum_Et_log",0.0);
auto pfsum_sumEt_log = Monitored::Scalar<float>("pfsum_sumEt_log",0.0); auto pfsum_sumEt_log = Monitored::Scalar<float>("pfsum_sumEt_log",0.0);
auto pfsum_phi = Monitored::Scalar<float>("pfsum_phi",0.0); auto pfsum_phi = Monitored::Scalar<float>("pfsum_phi",0.0);
auto pfsum_cssk_Ex = Monitored::Scalar<float>("pfsum_cssk_Ex",0.0);
auto pfsum_cssk_Ey = Monitored::Scalar<float>("pfsum_cssk_Ey",0.0);
auto pfsum_cssk_Et = Monitored::Scalar<float>("pfsum_cssk_Et",0.0);
auto pfsum_cssk_sumEt = Monitored::Scalar<float>("pfsum_cssk_sumEt",0.0);
auto pfsum_cssk_Ex_log = Monitored::Scalar<float>("pfsum_cssk_Ex_log",0.0);
auto pfsum_cssk_Ey_log = Monitored::Scalar<float>("pfsum_cssk_Ey_log",0.0);
auto pfsum_cssk_Et_log = Monitored::Scalar<float>("pfsum_cssk_Et_log",0.0);
auto pfsum_cssk_sumEt_log = Monitored::Scalar<float>("pfsum_cssk_sumEt_log",0.0);
auto pfsum_cssk_phi = Monitored::Scalar<float>("pfsum_cssk_phi",0.0);
auto pfsum_vssk_Ex = Monitored::Scalar<float>("pfsum_vssk_Ex",0.0);
auto pfsum_vssk_Ey = Monitored::Scalar<float>("pfsum_vssk_Ey",0.0);
auto pfsum_vssk_Et = Monitored::Scalar<float>("pfsum_vssk_Et",0.0);
auto pfsum_vssk_sumEt = Monitored::Scalar<float>("pfsum_vssk_sumEt",0.0);
auto pfsum_vssk_Ex_log = Monitored::Scalar<float>("pfsum_vssk_Ex_log",0.0);
auto pfsum_vssk_Ey_log = Monitored::Scalar<float>("pfsum_vssk_Ey_log",0.0);
auto pfsum_vssk_Et_log = Monitored::Scalar<float>("pfsum_vssk_Et_log",0.0);
auto pfsum_vssk_sumEt_log = Monitored::Scalar<float>("pfsum_vssk_sumEt_log",0.0);
auto pfsum_vssk_phi = Monitored::Scalar<float>("pfsum_vssk_phi",0.0);
auto pfopufit_Ex = Monitored::Scalar<float>("pfopufit_Ex",0.0); auto pfopufit_Ex = Monitored::Scalar<float>("pfopufit_Ex",0.0);
auto pfopufit_Ey = Monitored::Scalar<float>("pfopufit_Ey",0.0); auto pfopufit_Ey = Monitored::Scalar<float>("pfopufit_Ey",0.0);
auto pfopufit_Et = Monitored::Scalar<float>("pfopufit_Et",0.0); auto pfopufit_Et = Monitored::Scalar<float>("pfopufit_Et",0.0);
...@@ -251,9 +376,27 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co ...@@ -251,9 +376,27 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
auto mhtpufit_em_Et_log = Monitored::Scalar<float>("mhtpufit_em_Et_log",0.0); auto mhtpufit_em_Et_log = Monitored::Scalar<float>("mhtpufit_em_Et_log",0.0);
auto mhtpufit_em_sumEt_log = Monitored::Scalar<float>("mhtpufit_em_sumEt_log",0.0); auto mhtpufit_em_sumEt_log = Monitored::Scalar<float>("mhtpufit_em_sumEt_log",0.0);
auto mhtpufit_em_phi = Monitored::Scalar<float>("mhtpufit_em_phi",0.0); auto mhtpufit_em_phi = Monitored::Scalar<float>("mhtpufit_em_phi",0.0);
auto pass_L11 = Monitored::Scalar<float>("pass_L11",0.0); auto pass_L101 = Monitored::Scalar<float>("pass_L101",0.0);
auto pass_HLT1 = Monitored::Scalar<float>("pass_HLT1",0.0); auto pass_L102 = Monitored::Scalar<float>("pass_L102",0.0);
auto pass_HLT2 = Monitored::Scalar<float>("pass_HLT2",0.0); auto pass_L103 = Monitored::Scalar<float>("pass_L103",0.0);
auto pass_L104 = Monitored::Scalar<float>("pass_L104",0.0);
auto pass_L105 = Monitored::Scalar<float>("pass_L105",0.0);
auto pass_L106 = Monitored::Scalar<float>("pass_L106",0.0);
auto pass_L107 = Monitored::Scalar<float>("pass_L107",0.0);
auto pass_HLT01 = Monitored::Scalar<float>("pass_HLT01",0.0);
auto pass_HLT02 = Monitored::Scalar<float>("pass_HLT02",0.0);
auto pass_HLT03 = Monitored::Scalar<float>("pass_HLT03",0.0);
auto pass_HLT04 = Monitored::Scalar<float>("pass_HLT04",0.0);
auto pass_HLT05 = Monitored::Scalar<float>("pass_HLT05",0.0);
auto pass_HLT06 = Monitored::Scalar<float>("pass_HLT06",0.0);
auto pass_HLT07 = Monitored::Scalar<float>("pass_HLT07",0.0);
auto pass_HLT08 = Monitored::Scalar<float>("pass_HLT08",0.0);
auto pass_HLT09 = Monitored::Scalar<float>("pass_HLT09",0.0);
auto pass_HLT10 = Monitored::Scalar<float>("pass_HLT10",0.0);
auto pass_HLT11 = Monitored::Scalar<float>("pass_HLT11",0.0);
auto pass_HLT12 = Monitored::Scalar<float>("pass_HLT12",0.0);
auto pass_HLT13 = Monitored::Scalar<float>("pass_HLT13",0.0);
auto pass_HLT14 = Monitored::Scalar<float>("pass_HLT14",0.0);
// constant floor for log plots // constant floor for log plots
...@@ -268,15 +411,77 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co ...@@ -268,15 +411,77 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
offline_Et = std::sqrt(offline_Ex*offline_Ex + offline_Ey*offline_Ey); offline_Et = std::sqrt(offline_Ex*offline_Ex + offline_Ey*offline_Ey);
} }
// access L1 MET values // access L1 roi MET values
if ( l1_roi_cont.isValid() ) { if ( l1_roi_cont.isValid() ) {
if ((l1_roi_cont->energyX())>-9e12 && (l1_roi_cont->energyX())<9e12 && (l1_roi_cont->energyY())>-9e12 && (l1_roi_cont->energyY())<9e12) { if ((l1_roi_cont->energyX())>-9e12 && (l1_roi_cont->energyX())<9e12 && (l1_roi_cont->energyY())>-9e12 && (l1_roi_cont->energyY())<9e12) {
L1_Ex = - (l1_roi_cont->energyX())/1000.; L1_roi_Ex = - (l1_roi_cont->energyX())/1000.;
L1_Ey = - (l1_roi_cont->energyY())/1000.; L1_roi_Ey = - (l1_roi_cont->energyY())/1000.;
L1_Et = (l1_roi_cont->energyT())/1000.; L1_roi_Et = std::sqrt(L1_roi_Ex*L1_roi_Ex + L1_roi_Ey*L1_roi_Ey);
L1_roi_sumEt = (l1_roi_cont->energyT())/1000.;
}
}
// access L1 jnc MET values
if ( l1_jnc_cont.isValid() ) {
if ((l1_jnc_cont->energyX())>-9e12 && (l1_jnc_cont->energyX())<9e12 && (l1_jnc_cont->energyY())>-9e12 && (l1_jnc_cont->energyY())<9e12) {
L1_jnc_Ex = - (l1_jnc_cont->energyX())/1000.;
L1_jnc_Ey = - (l1_jnc_cont->energyY())/1000.;
L1_jnc_Et = std::sqrt(L1_jnc_Ex*L1_jnc_Ex + L1_jnc_Ey*L1_jnc_Ey);
L1_jnc_sumEt = (l1_jnc_cont->energyT())/1000.;
}
}
// access L1 jrho MET values
if ( l1_jrho_cont.isValid() ) {
if ((l1_jrho_cont->energyX())>-9e12 && (l1_jrho_cont->energyX())<9e12 && (l1_jrho_cont->energyY())>-9e12 && (l1_jrho_cont->energyY())<9e12) {
L1_jrho_Ex = - (l1_jrho_cont->energyX())/1000.;
L1_jrho_Ey = - (l1_jrho_cont->energyY())/1000.;
L1_jrho_Et = std::sqrt(L1_jrho_Ex*L1_jrho_Ex + L1_jrho_Ey*L1_jrho_Ey);
L1_jrho_sumEt = (l1_jrho_cont->energyT())/1000.;
}
}
// access L1 gnc MET values
if ( l1_gnc_cont.isValid() ) {
if ((l1_gnc_cont->energyX())>-9e12 && (l1_gnc_cont->energyX())<9e12 && (l1_gnc_cont->energyY())>-9e12 && (l1_gnc_cont->energyY())<9e12) {
L1_gnc_Ex = - (l1_gnc_cont->energyX())/1000.;
L1_gnc_Ey = - (l1_gnc_cont->energyY())/1000.;
L1_gnc_Et = std::sqrt(L1_gnc_Ex*L1_gnc_Ex + L1_gnc_Ey*L1_gnc_Ey);
L1_gnc_sumEt = (l1_gnc_cont->energyT())/1000.;
}
}
// access L1 grho MET values
if ( l1_grho_cont.isValid() ) {
if ((l1_grho_cont->energyX())>-9e12 && (l1_grho_cont->energyX())<9e12 && (l1_grho_cont->energyY())>-9e12 && (l1_grho_cont->energyY())<9e12) {
L1_grho_Ex = - (l1_grho_cont->energyX())/1000.;
L1_grho_Ey = - (l1_grho_cont->energyY())/1000.;
L1_grho_Et = std::sqrt(L1_grho_Ex*L1_grho_Ex + L1_grho_Ey*L1_grho_Ey);
L1_grho_sumEt = (l1_grho_cont->energyT())/1000.;
} }
} }
// access L1 gjwoj MET values
if ( l1_gjwoj_cont.isValid() ) {
if ((l1_gjwoj_cont->energyX())>-9e12 && (l1_gjwoj_cont->energyX())<9e12 && (l1_gjwoj_cont->energyY())>-9e12 && (l1_gjwoj_cont->energyY())<9e12) {
L1_gjwoj_Ex = - (l1_gjwoj_cont->energyX())/1000.;
L1_gjwoj_Ey = - (l1_gjwoj_cont->energyY())/1000.;
L1_gjwoj_Et = std::sqrt(L1_gjwoj_Ex*L1_gjwoj_Ex + L1_gjwoj_Ey*L1_gjwoj_Ey);
L1_gjwoj_sumEt = (l1_gjwoj_cont->energyT())/1000.;
}
}
// access L1 gpufit MET values
if ( l1_gpufit_cont.isValid() ) {
if ((l1_gpufit_cont->energyX())>-9e12 && (l1_gpufit_cont->energyX())<9e12 && (l1_gpufit_cont->energyY())>-9e12 && (l1_gpufit_cont->energyY())<9e12) {
L1_gpufit_Ex = - (l1_gpufit_cont->energyX())/1000.;
L1_gpufit_Ey = - (l1_gpufit_cont->energyY())/1000.;
L1_gpufit_Et = std::sqrt(L1_gpufit_Ex*L1_gpufit_Ex + L1_gpufit_Ey*L1_gpufit_Ey);
L1_gpufit_sumEt = (l1_gpufit_cont->energyT())/1000.;
}
}
// access HLT cell MET values // access HLT cell MET values
if ( hlt_cell_met_cont.isValid() && hlt_cell_met_cont->size() > 0 ) { if ( hlt_cell_met_cont.isValid() && hlt_cell_met_cont->size() > 0 ) {
hlt_met = hlt_cell_met_cont->at(0); hlt_met = hlt_cell_met_cont->at(0);
...@@ -401,6 +606,42 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co ...@@ -401,6 +606,42 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
} }
ATH_MSG_DEBUG("pfsum_Et = " <<pfsum_Et); ATH_MSG_DEBUG("pfsum_Et = " <<pfsum_Et);
// access HLT pfsum_cssk MET values
if ( hlt_pfsum_cssk_met_cont.isValid() && hlt_pfsum_cssk_met_cont->size() > 0 ) {
hlt_met = hlt_pfsum_cssk_met_cont->at(0);
pfsum_cssk_Ex = (hlt_met->ex())/1000.;
pfsum_cssk_Ey = (hlt_met->ey())/1000.;
float pfsum_cssk_Ez = (hlt_met->ez())/1000.;
pfsum_cssk_Et = std::sqrt(pfsum_cssk_Ex*pfsum_cssk_Ex + pfsum_cssk_Ey*pfsum_cssk_Ey);
pfsum_cssk_sumEt = (hlt_met->sumEt())/1000.;
pfsum_cssk_Ex_log = signed_log(pfsum_cssk_Ex, epsilon);
pfsum_cssk_Ey_log = signed_log(pfsum_cssk_Ey, epsilon);
pfsum_cssk_Et_log = signed_log(pfsum_cssk_Et, epsilon);
pfsum_cssk_sumEt_log = signed_log(pfsum_cssk_sumEt, epsilon);
TVector3 v(pfsum_cssk_Ex, pfsum_cssk_Ey, pfsum_cssk_Ez);
pfsum_cssk_phi = v.Phi();
}
ATH_MSG_DEBUG("pfsum_cssk_Et = " <<pfsum_cssk_Et);
// access HLT pfsum_vssk MET values
if ( hlt_pfsum_vssk_met_cont.isValid() && hlt_pfsum_vssk_met_cont->size() > 0 ) {
hlt_met = hlt_pfsum_vssk_met_cont->at(0);
pfsum_vssk_Ex = (hlt_met->ex())/1000.;
pfsum_vssk_Ey = (hlt_met->ey())/1000.;
float pfsum_vssk_Ez = (hlt_met->ez())/1000.;
pfsum_vssk_Et = std::sqrt(pfsum_vssk_Ex*pfsum_vssk_Ex + pfsum_vssk_Ey*pfsum_vssk_Ey);
pfsum_vssk_sumEt = (hlt_met->sumEt())/1000.;
pfsum_vssk_Ex_log = signed_log(pfsum_vssk_Ex, epsilon);
pfsum_vssk_Ey_log = signed_log(pfsum_vssk_Ey, epsilon);
pfsum_vssk_Et_log = signed_log(pfsum_vssk_Et, epsilon);
pfsum_vssk_sumEt_log = signed_log(pfsum_vssk_sumEt, epsilon);
TVector3 v(pfsum_vssk_Ex, pfsum_vssk_Ey, pfsum_vssk_Ez);
pfsum_vssk_phi = v.Phi();
}
ATH_MSG_DEBUG("pfsum_vssk_Et = " <<pfsum_vssk_Et);
// acccess HLT pfopufit MET values // acccess HLT pfopufit MET values
if ( hlt_pfopufit_met_cont.isValid() && hlt_pfopufit_met_cont->size() > 0 ) { if ( hlt_pfopufit_met_cont.isValid() && hlt_pfopufit_met_cont->size() > 0 ) {
hlt_met = hlt_pfopufit_met_cont->at(0); hlt_met = hlt_pfopufit_met_cont->at(0);
...@@ -474,12 +715,30 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co ...@@ -474,12 +715,30 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
ATH_MSG_DEBUG("mhtpufit_em_Et = " << mhtpufit_em_Et); ATH_MSG_DEBUG("mhtpufit_em_Et = " << mhtpufit_em_Et);
// efficiency plots // efficiency plots
if (m_trigDecTool->isPassed(m_L1Chain1)) pass_L11 = 1.0; if (m_trigDecTool->isPassed(m_L1Chain01)) pass_L101 = 1.0;
if (m_trigDecTool->isPassed(m_HLTChain1)) pass_HLT1 = 1.0; if (m_trigDecTool->isPassed(m_L1Chain02)) pass_L102 = 1.0;
if (m_trigDecTool->isPassed(m_HLTChain2)) pass_HLT2 = 1.0; if (m_trigDecTool->isPassed(m_L1Chain03)) pass_L103 = 1.0;
ATH_MSG_DEBUG("pass " << m_L1Chain1 << " = " << pass_L11); if (m_trigDecTool->isPassed(m_L1Chain04)) pass_L104 = 1.0;
ATH_MSG_DEBUG("pass " << m_HLTChain1 << " = " << pass_HLT1); if (m_trigDecTool->isPassed(m_L1Chain05)) pass_L105 = 1.0;
ATH_MSG_DEBUG("pass " << m_HLTChain2 << " = " << pass_HLT2); if (m_trigDecTool->isPassed(m_L1Chain06)) pass_L106 = 1.0;
if (m_trigDecTool->isPassed(m_L1Chain07)) pass_L107 = 1.0;
if (m_trigDecTool->isPassed(m_HLTChain01)) pass_HLT01 = 1.0;
if (m_trigDecTool->isPassed(m_HLTChain02)) pass_HLT02 = 1.0;
if (m_trigDecTool->isPassed(m_HLTChain03)) pass_HLT03 = 1.0;
if (m_trigDecTool->isPassed(m_HLTChain04)) pass_HLT04 = 1.0;
if (m_trigDecTool->isPassed(m_HLTChain05)) pass_HLT05 = 1.0;
if (m_trigDecTool->isPassed(m_HLTChain06)) pass_HLT06 = 1.0;
if (m_trigDecTool->isPassed(m_HLTChain07)) pass_HLT07 = 1.0;
if (m_trigDecTool->isPassed(m_HLTChain08)) pass_HLT08 = 1.0;
if (m_trigDecTool->isPassed(m_HLTChain09)) pass_HLT09 = 1.0;
if (m_trigDecTool->isPassed(m_HLTChain10)) pass_HLT10 = 1.0;
if (m_trigDecTool->isPassed(m_HLTChain11)) pass_HLT11 = 1.0;
if (m_trigDecTool->isPassed(m_HLTChain12)) pass_HLT12 = 1.0;
if (m_trigDecTool->isPassed(m_HLTChain13)) pass_HLT13 = 1.0;
if (m_trigDecTool->isPassed(m_HLTChain14)) pass_HLT14 = 1.0;
ATH_MSG_DEBUG("pass " << m_L1Chain01 << " = " << pass_L101);
ATH_MSG_DEBUG("pass " << m_HLTChain01 << " = " << pass_HLT01);
ATH_MSG_DEBUG("pass " << m_HLTChain02 << " = " << pass_HLT02);
// Fill. First argument is the tool (GMT) name as defined in the py file, // Fill. First argument is the tool (GMT) name as defined in the py file,
...@@ -488,8 +747,18 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co ...@@ -488,8 +747,18 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
// Alternative fill method. Get the group yourself, and pass it to the fill function. // Alternative fill method. Get the group yourself, and pass it to the fill function.
auto tool = getGroup("TrigMETMonitor"); auto tool = getGroup("TrigMETMonitor");
fill(tool,offline_Ex,offline_Ey,offline_Et,offline_sumEt, fill(tool,offline_Ex,offline_Ey,offline_Et,offline_sumEt,
L1_Ex,L1_Ey,L1_Et, L1_roi_Ex,L1_roi_Ey,L1_roi_Et,L1_roi_sumEt,
pass_L11,pass_HLT1,pass_HLT2); L1_jnc_Ex,L1_jnc_Ey,L1_jnc_Et,L1_jnc_sumEt,
L1_jrho_Ex,L1_jrho_Ey,L1_jrho_Et,L1_jrho_sumEt,
L1_gnc_Ex,L1_gnc_Ey,L1_gnc_Et,L1_gnc_sumEt,
L1_grho_Ex,L1_grho_Ey,L1_grho_Et,L1_grho_sumEt,
L1_gjwoj_Ex,L1_gjwoj_Ey,L1_gjwoj_Et,L1_gjwoj_sumEt,
L1_gpufit_Ex,L1_gpufit_Ey,L1_gpufit_Et,L1_gpufit_sumEt,
pass_L101,pass_L102,pass_L103,pass_L104,pass_L105,
pass_L106,pass_L107,
pass_HLT01,pass_HLT02,pass_HLT03,pass_HLT04,pass_HLT05,
pass_HLT05,pass_HLT06,pass_HLT07,pass_HLT08,pass_HLT09,
pass_HLT11,pass_HLT12,pass_HLT13,pass_HLT14);
if (hlt_cell_met_cont->size() > 0) { if (hlt_cell_met_cont->size() > 0) {
fill(tool,cell_Ex,cell_Ey,cell_Et,cell_sumEt, fill(tool,cell_Ex,cell_Ey,cell_Et,cell_sumEt,
cell_Ex_log,cell_Ey_log,cell_Et_log,cell_sumEt_log, cell_Ex_log,cell_Ey_log,cell_Et_log,cell_sumEt_log,
...@@ -507,6 +776,12 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co ...@@ -507,6 +776,12 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
pfsum_Ex,pfsum_Ey,pfsum_Et,pfsum_sumEt, pfsum_Ex,pfsum_Ey,pfsum_Et,pfsum_sumEt,
pfsum_Ex_log,pfsum_Ey_log,pfsum_Et_log,pfsum_sumEt_log, pfsum_Ex_log,pfsum_Ey_log,pfsum_Et_log,pfsum_sumEt_log,
pfsum_phi, pfsum_phi,
pfsum_cssk_Ex,pfsum_cssk_Ey,pfsum_cssk_Et,pfsum_cssk_sumEt,
pfsum_cssk_Ex_log,pfsum_cssk_Ey_log,pfsum_cssk_Et_log,pfsum_cssk_sumEt_log,
pfsum_cssk_phi,
pfsum_vssk_Ex,pfsum_vssk_Ey,pfsum_vssk_Et,pfsum_vssk_sumEt,
pfsum_vssk_Ex_log,pfsum_vssk_Ey_log,pfsum_vssk_Et_log,pfsum_vssk_sumEt_log,
pfsum_vssk_phi,
pfopufit_Ex,pfopufit_Ey,pfopufit_Et,pfopufit_sumEt, pfopufit_Ex,pfopufit_Ey,pfopufit_Et,pfopufit_sumEt,
pfopufit_Ex_log,pfopufit_Ey_log,pfopufit_Et_log,pfopufit_sumEt_log, pfopufit_Ex_log,pfopufit_Ey_log,pfopufit_Et_log,pfopufit_sumEt_log,
pfopufit_phi, pfopufit_phi,
......
...@@ -29,6 +29,12 @@ class TrigMETMonitorAlgorithm : public AthMonitorAlgorithm { ...@@ -29,6 +29,12 @@ class TrigMETMonitorAlgorithm : public AthMonitorAlgorithm {
SG::ReadHandleKey<xAOD::MissingETContainer> m_offline_met_key; SG::ReadHandleKey<xAOD::MissingETContainer> m_offline_met_key;
SG::ReadHandleKey<xAOD::EnergySumRoI> m_lvl1_roi_key; SG::ReadHandleKey<xAOD::EnergySumRoI> m_lvl1_roi_key;
SG::ReadHandleKey<xAOD::EnergySumRoI> m_lvl1_jnc_key;
SG::ReadHandleKey<xAOD::EnergySumRoI> m_lvl1_jrho_key;
SG::ReadHandleKey<xAOD::EnergySumRoI> m_lvl1_gnc_key;
SG::ReadHandleKey<xAOD::EnergySumRoI> m_lvl1_grho_key;
SG::ReadHandleKey<xAOD::EnergySumRoI> m_lvl1_gjwoj_key;
SG::ReadHandleKey<xAOD::EnergySumRoI> m_lvl1_gpufit_key;
SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_cell_met_key; SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_cell_met_key;
SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_mht_met_key; SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_mht_met_key;
...@@ -37,14 +43,34 @@ class TrigMETMonitorAlgorithm : public AthMonitorAlgorithm { ...@@ -37,14 +43,34 @@ class TrigMETMonitorAlgorithm : public AthMonitorAlgorithm {
SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_tcpufit_met_key; SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_tcpufit_met_key;
SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_trkmht_met_key; SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_trkmht_met_key;
SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_pfsum_met_key; SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_pfsum_met_key;
SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_pfsum_cssk_met_key;
SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_pfsum_vssk_met_key;
SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_pfopufit_met_key; SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_pfopufit_met_key;
SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_cvfpufit_met_key; SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_cvfpufit_met_key;
SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_mhtpufit_pf_met_key; SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_mhtpufit_pf_met_key;
SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_mhtpufit_em_met_key; SG::ReadHandleKey<xAOD::TrigMissingETContainer> m_hlt_mhtpufit_em_met_key;
std::string m_L1Chain1; std::string m_L1Chain01;
std::string m_HLTChain1; std::string m_L1Chain02;
std::string m_HLTChain2; std::string m_L1Chain03;
std::string m_L1Chain04;
std::string m_L1Chain05;
std::string m_L1Chain06;
std::string m_L1Chain07;
std::string m_HLTChain01;
std::string m_HLTChain02;
std::string m_HLTChain03;
std::string m_HLTChain04;
std::string m_HLTChain05;
std::string m_HLTChain06;
std::string m_HLTChain07;
std::string m_HLTChain08;
std::string m_HLTChain09;
std::string m_HLTChain10;
std::string m_HLTChain11;
std::string m_HLTChain12;
std::string m_HLTChain13;
std::string m_HLTChain14;
ToolHandle<Trig::ITrigDecisionTool> m_trigDecTool; ToolHandle<Trig::ITrigDecisionTool> m_trigDecTool;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment