WIP: Adjust checks of NRR and PRR settings
Hello,
This is a WIP for simulation experts to comment on.
I was unable to run the following command in master:
Sim_tf.py --AMI=s3873 --inputEVNTFile=/data/hodgkinson/dataFiles/mc21_13p6TeV/EVNTFiles/mc21_13p6TeV.421450.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep_fct.merge.EVNT.e8445_e8447/EVNT.28680616._000063.pool.root.1 --preInclude="EVNTtoHITS:Campaigns/MC21SimulationMultiBeamSpot.py,SimulationJobOptions/preInclude.ExtraParticles.py,SimulationJobOptions/preInclude.G4ExtraProcesses.py,SimulationJobOptions/preInclude.CalHits.py,SimulationJobOptions/preInclude.ParticleID.py" --maxEvents=10 --jobNumber=1 --preExec 'EVNTtoHITS:simFlags.LArParameterization.set_Value_and_Lock(0);simFlags.ApplyPRR.set_Value_and_Lock(False);simFlags.ApplyNRR.set_Value_and_Lock(False)'
which fails due to:
raise NotImplementedError("Neutron Russian Roulette should not be used in Calibration Runs.")
The changes in this MR allow the job to run by checking the value of ApplyNRR and ApplyPRR, rather than checking StatusOn. I believe the latter only signifies the flag is in use and the correct thing is to check the value. Or if there is a reason to check StatusOn it needs to be in AND logic with the flags value in order that the setting of the value is taken into account?
Cheers,
Mark