diff --git a/MC/bin/o2dpg_sim_workflow.py b/MC/bin/o2dpg_sim_workflow.py index 01310510b..4805db9b5 100755 --- a/MC/bin/o2dpg_sim_workflow.py +++ b/MC/bin/o2dpg_sim_workflow.py @@ -30,6 +30,8 @@ parser.add_argument('-ptHatBin',help='pT hard bin number', default=-1) parser.add_argument('-ptHatMin',help='pT hard minimum when no bin requested', default=0) parser.add_argument('-ptHatMax',help='pT hard maximum when no bin requested', default=-1) +parser.add_argument('-weightPow',help='Flatten pT hard spectrum with power', default=-1) + parser.add_argument('-ptTrigMin',help='generated pT trigger minimum', default=0) parser.add_argument('-ptTrigMax',help='generated pT trigger maximum', default=-1) @@ -122,6 +124,9 @@ def getDPL_global_options(bigshm=False,nosmallrate=False): PTTRIGMIN=float(args.ptTrigMin) PTTRIGMAX=float(args.ptTrigMax) + ## Pt Hat productions + WEIGHTPOW=int(args.weightPow) + # Recover PTHATMIN and PTHATMAX from pre-defined array depending bin number PTHATBIN # or just the ones passed PTHATBIN=int(args.ptHatBin) @@ -185,7 +190,7 @@ def getDPL_global_options(bigshm=False,nosmallrate=False): SGN_CONFIG_task=createTask(name='gensgnconf_'+str(tf), tf=tf, cwd=timeframeworkdir) if GENERATOR == 'pythia8': SGN_CONFIG_task['cmd'] = '${O2DPG_ROOT}/MC/config/common/pythia8/utils/mkpy8cfg.py \ - --output=pythia8_'+ str(tf) +'.cfg \ + --output=pythia8.cfg \ --seed='+str(RNDSEED)+' \ --idA='+str(PDGA)+' \ --idB='+str(PDGB)+' \ @@ -193,6 +198,8 @@ def getDPL_global_options(bigshm=False,nosmallrate=False): --process='+str(PROCESS)+' \ --ptHatMin=' + str(PTHATMIN) + ' \ --ptHatMax=' + str(PTHATMAX) + if WEIGHTPOW > -1: + SGN_CONFIG_task['cmd'] = SGN_CONFIG_task['cmd'] + ' --weightPow=' + str(WEIGHTPOW) workflow['stages'].append(SGN_CONFIG_task) # elif GENERATOR == 'extgen': what do we do if generator is not pythia8? diff --git a/MC/config/PWGGAJE/ini/hook_jets.ini b/MC/config/PWGGAJE/ini/hook_jets.ini index 635067870..054922509 100644 --- a/MC/config/PWGGAJE/ini/hook_jets.ini +++ b/MC/config/PWGGAJE/ini/hook_jets.ini @@ -1,5 +1,5 @@ [GeneratorPythia8] -config=pythia8_jets.cfg +config=pythia8.cfg hooksFileName=${O2DPG_ROOT}/MC/config/PWGGAJE/hooks/jets_hook.C hooksFuncName=pythia8_userhooks_jets() diff --git a/MC/config/PWGGAJE/ini/hook_prompt_gamma.ini b/MC/config/PWGGAJE/ini/hook_prompt_gamma.ini index d7e8d1bac..fc65758a6 100644 --- a/MC/config/PWGGAJE/ini/hook_prompt_gamma.ini +++ b/MC/config/PWGGAJE/ini/hook_prompt_gamma.ini @@ -1,5 +1,5 @@ [GeneratorPythia8] -config=pythia8_dirgamma.cfg +config=pythia8.cfg hooksFileName=${O2DPG_ROOT}/MC/config/PWGGAJE/hooks/prompt_gamma_hook.C hooksFuncName=pythia8_userhooks_promptgamma() diff --git a/MC/config/PWGGAJE/ini/trigger_decay_gamma.ini b/MC/config/PWGGAJE/ini/trigger_decay_gamma.ini index d60e55e54..d235ed515 100644 --- a/MC/config/PWGGAJE/ini/trigger_decay_gamma.ini +++ b/MC/config/PWGGAJE/ini/trigger_decay_gamma.ini @@ -1,5 +1,5 @@ [GeneratorPythia8] -config=pythia8_jets.cfg +config=pythia8.cfg [TriggerExternal] fileName=${O2DPG_ROOT}/MC/config/PWGGAJE/trigger/decay_gamma_jets.C diff --git a/MC/config/PWGGAJE/ini/trigger_prompt_gamma.ini b/MC/config/PWGGAJE/ini/trigger_prompt_gamma.ini index f921ba276..535a54283 100644 --- a/MC/config/PWGGAJE/ini/trigger_prompt_gamma.ini +++ b/MC/config/PWGGAJE/ini/trigger_prompt_gamma.ini @@ -1,5 +1,5 @@ [GeneratorPythia8] -config=pythia8_dirgamma.cfg +config=pythia8.cfg [TriggerExternal] fileName=${O2DPG_ROOT}/MC/config/PWGGAJE/trigger/prompt_gamma.C diff --git a/MC/config/common/pythia8/utils/mkpy8cfg.py b/MC/config/common/pythia8/utils/mkpy8cfg.py index f02c196b8..25500bb53 100755 --- a/MC/config/common/pythia8/utils/mkpy8cfg.py +++ b/MC/config/common/pythia8/utils/mkpy8cfg.py @@ -29,6 +29,9 @@ parser.add_argument('--ptHatMax', type=float, help='The maximum invariant pT') +parser.add_argument('--weightPower', type=float, + help='Weight power to pT hard spectrum') + parser.add_argument('--output', default='pythia8.cfg', help='Where to write the configuration') @@ -103,6 +106,10 @@ fout.write('PhaseSpace:pTHatMin = %f \n' % (args.ptHatMin)) if args.ptHatMax is not None : fout.write('PhaseSpace:pTHatMax = %f \n' % (args.ptHatMax)) +if args.weightPower is not None : + fout.write('PhaseSpace:bias2Selection = on \n') + fout.write('PhaseSpace:bias2SelectionPow = %f" \n' % (args.weightPower)) + fout.write('\n') fout.write('### <-- generated by mkpy8cfg.py \n')